/* ═══════════════════════════════════════════════════════════════
   OLEANCE GROUP INTERNATIONAL — Rugged editorial
   Inter · tight tracking · hard borders · no shadows · no radius
   White header · dark maroon accent · bone paper
   ═══════════════════════════════════════════════════════════════ */

:root{
  --ink:#171717;
  --muted:#68706f;
  --line:#d9ddda;
  --paper:#f4f5f2;
  --paper-2:#e9ece7;
  --white:#fff;
  --dark:#111716;
  --dark-line:#39403e;
  --accent:#8b1e2d;
  --accent-2:#a83245;
  --accent-deep:#6b1622;
  --accent-pale:#f6eaec;
  --olive:#7f9e22;
  --serif:Georgia, "Times New Roman", serif;
  --sans:"Inter",system-ui,-apple-system,Arial,sans-serif;
  --max:1320px;
  --gutter:clamp(24px, 4vw, 48px);
  --section:clamp(80px, 10vw, 120px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.04em;line-height:1.05}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}

.skip-link{position:absolute;top:-100px;left:12px;background:var(--accent);color:#fff;padding:10px 16px;z-index:999;font-size:13px;font-weight:700}
.skip-link:focus{top:12px}

/* ─── Header / Nav — WHITE ─── */
.topline{height:4px;background:var(--ink)}
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.nav-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:auto;height:auto;max-height:52px;max-width:220px}
.nav-list{display:flex;gap:32px;font-size:13px;font-weight:600}
.nav-list a{position:relative}
.nav-list a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--ink);transition:width .3s ease}
.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{width:100%}
.nav-list a[aria-current="page"]{color:var(--accent)}
.nav-meta{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:0}
.dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;width:38px;height:38px}
.nav-toggle span{width:22px;height:2px;background:var(--ink);display:block;transition:transform .3s,opacity .3s;margin:0 auto}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:980px){
  .nav-toggle{display:flex}
  .nav-meta{display:none}
  .site-nav{
    position:fixed;top:86px;left:0;right:0;bottom:0;
    background:var(--paper);border-top:1px solid var(--line);
    padding:24px var(--gutter) 60px;overflow-y:auto;
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:opacity .3s ease,transform .3s ease;z-index:40;
  }
  .site-nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .nav-list{flex-direction:column;gap:0;font-size:22px;letter-spacing:-.02em;font-weight:700}
  .nav-list li{border-bottom:1px solid var(--line)}
  .nav-list a{display:block;padding:20px 0}
  .nav-list a::after{display:none}
}

/* ─── Type ─── */
.h3{font-size:22px;letter-spacing:-.035em;margin-bottom:16px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--muted);margin:0 0 20px}
.eyebrow--light{color:#aab3af}
.section-title{font-size:clamp(40px,5vw,76px);line-height:.95;letter-spacing:-.065em;margin:0;max-width:820px}
.section-title em{font-family:var(--serif);font-weight:400}
.section-title--light{color:#f4f5f2}
.section-head{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:70px}
.section-head__sub{font-size:15px;color:var(--muted);max-width:60ch;margin:20px 0 0}

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;gap:18px;padding:16px 22px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.btn--solid{background:var(--ink);color:#fff}
.btn--solid:hover{background:var(--accent)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn span{font-size:15px}

.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:4px;transition:gap .25s,color .25s}
.link-arrow:hover{gap:16px;color:var(--accent-deep)}

/* ─── Hero ─── */
.hero{
  position:relative;overflow:hidden;background:#1a1b1a;color:#fff;
  display:grid;grid-template-columns:1.45fr .55fr;align-items:end;
  min-height:calc(100vh - 86px);border-bottom:1px solid var(--line);
}
.hero__slides{position:absolute;inset:0;z-index:0}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroCycle 18s infinite;filter:saturate(.72)}
.hero__slide--1{animation-delay:0s}
.hero__slide--2{animation-delay:6s}
.hero__slide--3{animation-delay:12s}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,14,13,.9) 0%,rgba(10,14,13,.6) 48%,rgba(10,14,13,.25) 100%)}
@keyframes heroCycle{0%{opacity:0}4%{opacity:1}29%{opacity:1}33%{opacity:0}100%{opacity:0}}
.hero__inner{position:relative;z-index:2;padding:100px 0 82px}
.kicker{display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin:0 0 38px;color:rgba(255,255,255,.75)}
.kicker i{display:block;width:34px;height:1px;background:var(--accent-2)}
.hero__title{font-size:clamp(58px,8.2vw,136px);line-height:.87;letter-spacing:-.075em;margin:0;max-width:1000px;font-weight:700}
.hero__title em{font-family:var(--serif);font-weight:400;letter-spacing:-.07em}
.hero__bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:64px}
.hero__intro{max-width:560px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.82);margin:0}
.hero__aside{border-left:1px solid rgba(255,255,255,.18);position:relative;z-index:2;padding:0 0 82px 42px;align-self:stretch;display:flex;flex-direction:column;justify-content:end}
.hero__aside-inner{padding-bottom:6px}
.hero__aside-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:rgba(255,255,255,.65);margin:0 0 20px}
.hero__aside-value{font-size:56px;letter-spacing:-.06em;font-weight:700;line-height:1;margin:0}
.hero__aside-sub{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin:14px 0 0}
@media (prefers-reduced-motion:reduce){
  .hero__slide{animation:none;opacity:0}
  .hero__slide--1{opacity:1}
}
@media (max-width:960px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__inner{padding:80px 0 60px}
  .hero__bottom{flex-direction:column;align-items:flex-start;margin-top:44px;gap:28px}
  .hero__aside{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:32px var(--gutter) 40px;background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}
  .hero__aside-value{font-size:44px}
}
@media (max-width:560px){
  .hero__inner{padding:60px 0 44px}
  .hero__title{font-size:clamp(52px,15vw,84px)}
}

/* ─── Sector ticker (marquee) ─── */
.sector-ticker{background:var(--ink);color:#fff;padding:22px 0;overflow:hidden;border-bottom:1px solid var(--dark-line)}
.sector-ticker__track{display:flex;gap:0;white-space:nowrap;animation:tickerDrift 70s linear infinite;will-change:transform}
.sector-ticker:hover .sector-ticker__track{animation-play-state:paused}
.sector-ticker__item{display:inline-flex;align-items:baseline;gap:14px;padding-inline:28px;font-size:14px;font-weight:600}
.sector-ticker__numeral{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--accent-2)}
.sector-ticker__name{color:#e9ece7;letter-spacing:-.01em}
.sector-ticker__sep{color:rgba(255,255,255,.25);font-size:10px;margin-left:10px;align-self:center}
@keyframes tickerDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sector-ticker__track{animation:none}}

/* ─── Sections ─── */
.section{padding:var(--section) 0;border-bottom:1px solid var(--line)}
.section--dark{background:var(--dark);color:#f4f5f2;border-bottom-color:var(--dark-line)}
.section--tint{background:var(--paper-2)}
.section--white{background:#fff}

/* ─── 01 / About ─── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-left:calc(16.666% + 25px)}
.about-grid p{font-size:18px;line-height:1.75;color:#4c5552;margin:0}
.about-note{border-top:1px solid var(--line);margin-top:45px;padding-top:18px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
@media (max-width:900px){.about-grid{margin-left:0;grid-template-columns:1fr;gap:30px}}

/* ─── 02 / Records ─── */
.record-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}
.record{padding:42px 32px 46px;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line);min-height:190px}
.record .num{font-size:64px;line-height:.9;letter-spacing:-.07em;font-weight:700;color:#fff}
.record .unit{font-size:14px;color:#aeb6b3;margin-left:5px;font-weight:500}
.record p{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#aeb6b3;margin:24px 0 0;font-weight:600}
@media (max-width:780px){.record-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.record-grid{grid-template-columns:1fr}.record{min-height:150px}.record .num{font-size:52px}}

/* ─── 03 / Divisions ─── */
.division-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cbd0cc;border-left:1px solid #cbd0cc}
.division-card{min-height:255px;padding:28px 30px;border-right:1px solid #cbd0cc;border-bottom:1px solid #cbd0cc;position:relative;transition:background .3s,color .3s;background:var(--paper-2);display:block}
.division-card:hover{background:#fff}
.division-card__index{font-family:var(--serif);font-size:22px;color:#7d8581}
.division-card h3{font-size:clamp(20px,2vw,27px);letter-spacing:-.04em;margin:55px 0 8px;line-height:1.1}
.division-card p{font-size:14px;color:#66706c;max-width:420px;margin:0}
.division-card__arrow{position:absolute;right:28px;bottom:28px;width:38px;height:38px;border:1px solid #bcc3be;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:transform .3s,background .3s,color .3s,border-color .3s}
.division-card:hover .division-card__arrow{transform:rotate(-45deg);background:var(--accent);color:#fff;border-color:var(--accent)}
@media (max-width:780px){.division-grid{grid-template-columns:1fr}}

/* ─── 04 / Feature ─── */
.feature{display:grid;grid-template-columns:1fr 1fr;min-height:650px;border-bottom:1px solid var(--line)}
.feature__visual{background-size:cover;background-position:center;position:relative;overflow:hidden}
.feature__visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,17,.05),rgba(15,18,17,.55))}
.feature__visual-label{position:absolute;bottom:42px;left:42px;color:#fff;font-size:11px;letter-spacing:.16em;font-weight:700;margin:0;text-transform:uppercase}
.feature__copy{padding:78px 8%;display:flex;flex-direction:column;justify-content:center;background:#fff}
.feature__title{font-size:clamp(38px,4.4vw,68px);line-height:.94;letter-spacing:-.065em;margin:18px 0 28px}
.feature__copy p{font-size:16px;color:#56605c;line-height:1.7;max-width:530px;margin:0 0 1em}
.feature__list{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin:28px 0 40px;padding:0;list-style:none}
.feature__list li{font-size:12px;font-weight:700;padding-top:12px;border-top:1px solid var(--line);letter-spacing:.02em}
@media (max-width:880px){.feature{grid-template-columns:1fr}.feature__visual{min-height:420px}.feature__copy{padding:55px 6%}.feature__list{grid-template-columns:1fr}}

/* ─── 05 / Projects ─── */
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.project-grid--4up{grid-template-columns:repeat(4,1fr)}
.project{background:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}
.project__art{height:250px;background-size:cover;background-position:center;transition:transform .6s ease}
.project:hover .project__art{transform:scale(1.04)}
.project__copy{padding:25px}
.project__copy small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:800}
.project__copy h3{font-size:20px;letter-spacing:-.035em;margin:9px 0 5px}
.project__copy p{font-size:12px;color:var(--muted);margin:0}
.project-grid__more{margin-top:36px}
@media (max-width:900px){.project-grid,.project-grid--4up{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.project-grid,.project-grid--4up{grid-template-columns:1fr}}

/* ─── 06 / Method ─── */
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.method{padding:35px 28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px}
.method__index{font-family:var(--serif);font-size:22px;color:var(--accent)}
.method h3{font-size:20px;letter-spacing:-.03em;margin:75px 0 15px}
.method p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}
@media (max-width:900px){.method-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.method-grid{grid-template-columns:1fr}.method{min-height:auto}}

/* ─── 07 / FAQ ─── */
.faq-section{padding:var(--section) 0;border-bottom:1px solid var(--line)}
.faq-wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:80px}
.faq-head .section-title{font-size:clamp(34px,4vw,58px)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;padding:24px 0;font-size:17px;font-weight:700;display:flex;justify-content:space-between;gap:30px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item__icon{position:relative;width:14px;height:14px;flex-shrink:0}
.faq-item__icon::before,.faq-item__icon::after{content:"";position:absolute;background:var(--accent);transition:transform .3s}
.faq-item__icon::before{left:0;top:6px;width:14px;height:2px}
.faq-item__icon::after{left:6px;top:0;width:2px;height:14px}
.faq-item[open] .faq-item__icon::after{transform:rotate(90deg)}
.faq-item p{font-size:14px;line-height:1.75;color:var(--muted);max-width:700px;padding:0 0 25px;margin:0}
@media (max-width:800px){.faq-wrap{grid-template-columns:1fr;gap:36px}}

/* ─── 08 / Insights ─── */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.article-card{display:block}
.article-card__media{overflow:hidden;aspect-ratio:3/2;background:var(--dark)}
.article-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.article-card:hover .article-card__media img{transform:scale(1.04)}
.article-card__body{padding-top:22px}
.article-card__meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800;display:flex;gap:10px;align-items:center;margin:0 0 14px}
.article-card__title{font-size:21px;letter-spacing:-.035em;margin:0 0 12px;line-height:1.2}
.article-card__desc{font-size:14px;color:var(--muted);margin:0 0 16px;line-height:1.6}
.article-card__more{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px}
@media (max-width:900px){.article-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.article-grid{grid-template-columns:1fr}}

/* ─── CTA ─── */
.cta{background:var(--accent);color:#fff;padding:var(--section) 0}
.cta__inner{display:grid;grid-template-columns:1.5fr .5fr;align-items:end;gap:60px}
.cta__heading{font-size:clamp(48px,7vw,110px);line-height:.85;letter-spacing:-.075em;margin:16px 0 0}
.cta__heading em{font-family:var(--serif);font-weight:400}
.cta__body{font-size:15px;line-height:1.7;color:rgba(255,255,255,.82);max-width:52ch;margin:24px 0 0}
.cta__actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding-bottom:6px}
@media (max-width:800px){.cta__inner{grid-template-columns:1fr}.cta__actions{flex-direction:row;flex-wrap:wrap}}

/* ─── Footer ─── */
.site-footer{background:var(--ink);color:#fff;padding:70px 0 30px}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:60px;border-bottom:1px solid #2b3230}
.footer-brand__logo-wrap{display:inline-block;background:#fff;padding:14px 18px;margin-bottom:24px;line-height:0}
.footer-brand__logo{max-height:52px;width:auto;display:block}
.footer-brand__desc{color:#a1aaa6;font-size:13px;line-height:1.7;max-width:340px;margin:0 0 18px}
.footer-brand__reg{color:#6e7773;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:0}
.footer-h{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8b9490;margin:0 0 22px;font-weight:800;font-family:var(--sans)}
.footer-list li{margin:0 0 10px;font-size:13px}
.footer-list a{color:#d4d9d6;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.footer-list a:hover{border-bottom-color:var(--accent-2);color:#fff}
.footer-list strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8b9490;margin-bottom:6px;font-weight:800}
.footer-col--contact li{padding-top:4px;margin-bottom:22px}
.footer-base{border-top:0;padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#727b77;font-size:11px;letter-spacing:.04em}
.footer-credit{text-align:right}
.footer-credit a{color:#a1aaa6;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.footer-credit a:hover{border-bottom-color:var(--accent-2);color:#fff}
@media (max-width:960px){.footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .footer-top{grid-template-columns:1fr;gap:36px;padding-bottom:40px}
  .footer-base{flex-direction:column}
  .footer-credit{text-align:left}
}

/* ─── Page heroes ─── */
.page-hero{padding:clamp(70px,9vw,120px) 0 clamp(50px,6vw,70px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero--plain{background:var(--paper)}
.page-hero--dark{background:var(--dark);color:#f4f5f2;background-size:cover;background-position:center;background-blend-mode:multiply}
.page-hero--dark::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,13,.88),rgba(10,14,13,.55));z-index:0}
.page-hero--dark .page-hero__inner{position:relative;z-index:1}
.page-hero__title{font-size:clamp(42px,6vw,88px);line-height:.93;letter-spacing:-.06em;margin:0 0 22px;max-width:18ch}
.page-hero__lede{font-size:clamp(16px,1.3vw,18px);max-width:62ch;color:var(--muted);margin:0}
.page-hero--dark .page-hero__lede{color:rgba(244,245,242,.82)}

/* ─── Breadcrumbs ─── */
.crumbs{padding-top:22px;font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:600}
.crumbs ol{display:flex;flex-wrap:wrap;gap:10px}
.crumbs a{color:var(--muted);border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:currentColor}
.crumbs__sep{opacity:.5}

/* ─── Prose ─── */
.prose-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}
.prose-aside{position:sticky;top:120px}
.meta-list{font-size:14px;display:grid;gap:18px}
.meta-list > div{padding-bottom:18px;border-bottom:1px solid var(--line)}
.meta-list dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:800}
.meta-list dd{margin:0;font-size:15px;font-weight:600}
.prose-body h2{font-size:clamp(26px,3vw,40px);margin:48px 0 18px;letter-spacing:-.045em}
.prose-body h2:first-child{margin-top:0}
.prose-body p{font-size:16px;color:#4c5552;line-height:1.75;margin-bottom:1.1em}
@media (max-width:800px){.prose-grid{grid-template-columns:1fr}.prose-aside{position:static}}

/* ─── Locations ─── */
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.location{padding:36px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.location__label{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.location__address{font-size:16px;font-weight:600;margin:0 0 20px;line-height:1.5}
.location__line{font-size:13px;margin:0 0 6px;color:var(--muted)}
.location__line a{border-bottom:1px solid transparent}
.location__line a:hover{border-bottom-color:currentColor}
@media (max-width:800px){.location-grid{grid-template-columns:1fr}}

/* ─── Division index (rows) ─── */
.division-index__stack{display:grid;border-top:1px solid var(--line)}
.division-row{display:grid;grid-template-columns:100px 1.6fr 1fr;gap:40px;padding:56px 0;border-bottom:1px solid var(--line);align-items:start}
.division-row__roman{font-family:var(--serif);font-size:46px;font-style:italic;color:var(--accent);line-height:1}
.division-row__name{font-size:clamp(22px,2.4vw,32px);margin:0 0 8px;letter-spacing:-.04em}
.division-row__tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;font-weight:800}
.division-row__summary{font-size:15px;color:#4c5552;line-height:1.7;margin:0 0 1em}
.division-row__list{font-size:14px;color:var(--muted);margin:0}
.division-row__list li{padding-left:18px;position:relative;margin-bottom:8px}
.division-row__list li::before{content:"—";position:absolute;left:0;color:var(--accent)}
.division-row__figure{overflow:hidden;aspect-ratio:4/3}
.division-row__figure img{width:100%;height:100%;object-fit:cover}
@media (max-width:800px){.division-row{grid-template-columns:1fr;gap:22px;padding:40px 0}.division-row__roman{font-size:34px}}

/* ─── Table ─── */
.table-wrap{overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.data-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.data-table th,.data-table td{text-align:left;padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.data-table thead th{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink)}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:var(--accent-pale)}
.data-table td:last-child{font-weight:700;color:var(--accent);white-space:nowrap}

/* ─── Gallery ─── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.gallery-item{margin:0;overflow:hidden;background:var(--dark);aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.04)}
@media (max-width:780px){.gallery-grid{grid-template-columns:1fr 1fr}}

/* ─── Contact ─── */
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:start}
.contact-form-wrap__sub{font-size:13px;color:var(--muted);margin:0 0 30px}
.contact-form{display:grid;gap:20px}
.form-row{display:grid;gap:8px}
.form-row--two{grid-template-columns:1fr 1fr;gap:18px}
.form-row--two > div{display:grid;gap:8px}
.form-row label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:14px 16px;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid #cbd0cc;transition:border-color .2s,box-shadow .2s}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,30,45,.12)}
.form-row textarea{resize:vertical;min-height:140px}
.form-honeypot{position:absolute;left:-9999px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.form-actions__note{font-size:13px;color:var(--muted);margin:0}
.form-actions__note a{color:var(--accent);border-bottom:1px solid currentColor}
.form-notice{padding:14px 18px;border:1px solid;font-size:14px;margin-bottom:26px;display:flex;gap:12px;align-items:flex-start}
.form-notice--ok{border-color:var(--accent);background:var(--accent-pale);color:var(--ink)}
.form-notice--err{border-color:#8A3D22;background:rgba(138,61,34,.08);color:var(--ink)}
.contact-aside .h3{margin-bottom:22px}
.office{padding:22px 0;border-top:1px solid var(--line)}
.office:last-child{border-bottom:1px solid var(--line)}
.office__label{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.office__address{font-size:15px;font-weight:600;margin:0 0 16px;line-height:1.5}
.office__row{display:flex;gap:10px;align-items:baseline;font-size:13px;margin:0 0 8px;color:var(--muted)}
.office__row i{color:var(--accent);width:16px}
.office__row a:hover{border-bottom:1px solid currentColor}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr}.form-row--two{grid-template-columns:1fr}}

/* ─── Article ─── */
.article{padding-bottom:var(--section)}
.article__hero{padding:clamp(56px,7vw,90px) 0 0}
.article__hero-inner{max-width:900px;margin-inline:auto;padding-inline:var(--gutter)}
.article__title{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}
.article__lede{font-size:clamp(16px,1.4vw,19px);color:var(--muted);line-height:1.6}
.article__figure{margin:clamp(40px,5vw,64px) auto 0;max-width:var(--max);padding-inline:var(--gutter)}
.article__figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article__body{max-width:760px;margin-inline:auto;padding-top:clamp(40px,5vw,64px)}
.article__body h2{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.04em;margin:40px 0 16px}
.article__body p{font-size:17px;line-height:1.75;color:#4c5552;margin-bottom:1.15em}
.article__body ul{margin:0 0 1.2em}
.article__body ul li{padding-left:22px;position:relative;margin-bottom:10px;font-size:16px;color:#4c5552;line-height:1.7}
.article__body ul li::before{content:"—";position:absolute;left:0;color:var(--accent);font-weight:700}
.article__body a{color:var(--accent);border-bottom:1px solid currentColor;font-weight:600}

/* ─── 404 ─── */
.error-page{padding:clamp(80px,10vw,140px) 0}
.error-page__inner{max-width:720px}
.error-page__title{font-size:clamp(42px,6vw,80px);line-height:.95;letter-spacing:-.06em;margin:0 0 20px}
.error-page__body{font-size:17px;color:var(--muted);margin-bottom:40px}
.error-page__nav{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0 0 40px}
.error-page__nav a{font-size:16px;font-weight:600;border-bottom:1px solid transparent}
.error-page__nav a:hover{border-bottom-color:var(--accent);color:var(--accent)}

/* ─── Focus ─── */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ─── Reduced motion ─── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* ─── Reveal animation safety ─── */
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ─── Division row — extra sections ─── */
.division-row__sections{margin-top:32px;display:grid;gap:28px}
.division-row__section{border-top:1px solid var(--line);padding-top:16px}
.division-row__section-head{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.division-row__section-list{font-size:14px;color:var(--muted)}
.division-row__section-list li{padding-left:16px;position:relative;margin-bottom:6px}
.division-row__section-list li::before{content:"—";position:absolute;left:0;color:var(--accent)}

/* ─── Mission / objectives ─── */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:60px}
.mission__head{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}
.mission__statement{font-size:17px;color:#4c5552;line-height:1.7;margin:0 0 24px}
.mission__list{font-size:15px;color:#4c5552}
.mission__list li{padding-left:18px;position:relative;margin-bottom:10px}
.mission__list li::before{content:"—";position:absolute;left:0;color:var(--accent)}
.objectives{border-top:1px solid var(--line);padding-top:36px}
.objectives__head{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 24px}
.objectives__list{counter-reset:obj;display:grid;gap:20px;max-width:900px}
.objectives__list li{counter-increment:obj;padding-left:52px;position:relative;font-size:16px;line-height:1.7;color:#4c5552}
.objectives__list li::before{content:counter(obj, upper-roman);position:absolute;left:0;top:0;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--accent)}
@media (max-width:800px){.mission-grid{grid-template-columns:1fr;gap:40px}}

/* ─── Team grid ─── */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid var(--line);padding-top:36px}
.team-grid__head{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}
.tick-list--dark-text{font-size:15px;color:#4c5552}
.tick-list--dark-text li{display:flex;gap:12px;align-items:baseline;margin-bottom:10px}
.tick-list--dark-text i{color:var(--accent);font-size:12px}
@media (max-width:900px){.team-grid{grid-template-columns:1fr;gap:36px}}

/* ─── People grid (leadership) ─── */
.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.person{padding:32px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:200px;background:var(--paper)}
.person__role{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}
.person__name{font-size:20px;letter-spacing:-.035em;margin:0 0 12px;line-height:1.15}
.person__bio{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.people-grid--compact .person{min-height:160px}
@media (max-width:900px){.people-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.people-grid{grid-template-columns:1fr}}

/* ─── Certifications grid ─── */
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cert{padding:30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);min-height:200px;display:flex;flex-direction:column}
.cert__label{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.cert__name{font-size:15px;font-weight:600;line-height:1.4;margin:0 0 12px}
.cert__value{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0}
.cert__meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:auto 0 0;font-weight:600}
@media (max-width:900px){.cert-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cert-grid{grid-template-columns:1fr}}
/* Mobile text width fix */
@media (max-width: 640px) {
  .hero__intro,
  .division-card p,
  .feature__copy p,
  .footer-brand__desc,
  .faq-item p,
  .mission__statement,
  .objectives__list {
    max-width: 100%;
  }
}

/* Bigger nav click targets - 15px up and down */
.nav-list a{
  padding-top:15px;
  padding-bottom:15px;
  display:inline-block;
}
.nav-list a::after{
  bottom:7px;
}


/* ============================================================
   Mega menu - Divisions dropdown (desktop only)
   ============================================================ */
.has-mega { position: relative; }
.has-mega > a i.fa-chevron-down {
    font-size: 10px;
    margin-left: 5px;
    opacity: 0.6;
    transition: transform 0.2s ease;
    display: inline-block;
}
.has-mega:hover > a i.fa-chevron-down { transform: rotate(180deg); }

.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 12px;
    z-index: 900;
    width: 680px;
}
@media (min-width: 981px) {
    .has-mega:hover .mega-menu,
    .has-mega:focus-within .mega-menu { display: block; }
}

.mega-menu__panel {
    background: var(--white, #ffffff);
    border: 1px solid var(--line, #e5e5e5);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.14);
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
}
.mega-item {
    display: flex;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.15s ease;
    align-items: flex-start;
    color: inherit;
}
.mega-item:hover { background: rgba(0,0,0,0.035); }
.mega-item__icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    background: rgba(139,30,45,0.08);
    color: var(--accent, #8b1e2d);
    flex-shrink: 0;
    font-size: 14px;
    transition: background 0.15s ease, color 0.15s ease;
}
.mega-item:hover .mega-item__icon {
    background: var(--accent, #8b1e2d);
    color: #ffffff;
}
.mega-item__body { min-width: 0; display: block; }
.mega-item__title {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink, #111111);
    line-height: 1.3;
    margin-bottom: 3px;
}
.mega-item__desc {
    display: block;
    font-size: 11.5px;
    color: var(--muted, #777777);
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mega-menu__footer {
    grid-column: 1 / -1;
    margin-top: 6px;
    padding: 14px 4px 2px;
    border-top: 1px solid var(--line, #e5e5e5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
}
.mega-menu__footer span { color: var(--muted, #777777); }
.mega-menu__footer a {
    color: var(--accent, #8b1e2d);
    font-weight: 700;
    text-decoration: none;
}
.mega-menu__footer a:hover { text-decoration: underline; }

@media (max-width: 980px) {
    .mega-menu { display: none !important; }
    .has-mega > a i.fa-chevron-down { display: none; }
}


/* ============================================================
   PLATONYX-DESIGN-TOKENS
   Cherry-picked visual language from the new design.
   ============================================================ */
:root{
  --accent:#7b2523;
  --accent-strong:#5e1a18;
  --ink:#222324;
  --ink-soft:#282222;
  --muted:#66706c;
  --line:#e5e3e0;
  --paper:#fbfaf8;
  --paper-2:#f4f1ee;
  --white:#ffffff;
  --radius-sm:10px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px;
  --shadow-soft:0 4px 14px rgba(34,35,36,.06);
  --shadow-elegant:0 18px 40px rgba(34,35,36,.10);
  --shadow-deep:0 28px 60px rgba(34,35,36,.14);
}

.section{padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(72px,8vw,112px)}

.division-card,.article-card,.method,.record,.cert,.person,.location,
.contact-card,.division-row{
  border-radius:var(--radius-lg);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.division-card:hover,.article-card:hover,.method:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-elegant);
  border-color:rgba(123,37,35,.20);
}

.btn,.btn--solid,.btn--outline{
  border-radius:999px;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.btn--solid{background:var(--accent);color:#fff;box-shadow:var(--shadow-soft)}
.btn--solid:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-elegant)}
.btn--outline{border:1px solid var(--line);color:var(--ink)}
.btn--outline:hover{border-color:var(--accent);color:var(--accent)}

.section-head h2,.section-title{letter-spacing:-.02em}

/* Mega menu */
.has-mega{position:relative}
.has-mega>a i.fa-chevron-down{font-size:10px;margin-left:5px;opacity:.6;transition:transform .2s ease;display:inline-block}
.has-mega:hover>a i.fa-chevron-down{transform:rotate(180deg)}
.mega-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:12px;z-index:900;width:680px}
@media (min-width:981px){
  .has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu{display:block}
}
.mega-menu__panel{
  background:var(--white);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-deep);padding:16px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
}
.mega-item{display:flex;gap:12px;padding:12px;border-radius:10px;text-decoration:none;align-items:flex-start;color:inherit;transition:background .15s ease}
.mega-item:hover{background:rgba(123,37,35,.05)}
.mega-item__icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:rgba(123,37,35,.08);color:var(--accent);flex-shrink:0;font-size:14px;
  transition:background .15s ease,color .15s ease;
}
.mega-item:hover .mega-item__icon{background:var(--accent);color:#fff}
.mega-item__body{min-width:0;display:block}
.mega-item__title{display:block;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:3px}
.mega-item__desc{display:block;font-size:11.5px;color:var(--muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mega-menu__footer{
  grid-column:1 / -1;margin-top:6px;padding:14px 4px 2px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;font-size:12px;
}
.mega-menu__footer span{color:var(--muted)}
.mega-menu__footer a{color:var(--accent);font-weight:700;text-decoration:none}
.mega-menu__footer a:hover{text-decoration:underline}
@media (max-width:980px){
  .mega-menu{display:none !important}
  .has-mega>a i.fa-chevron-down{display:none}
}


/* ============================================================
   OLEANCE-AESTHETIC-V2
   Visual language aligned with new design direction.
   Fresh rules only — no markup assumptions.
   ============================================================ */

:root{
  --accent:#7b2523;
  --accent-strong:#5e1a18;
  --ink:#222324;
  --ink-soft:#282222;
  --muted:#66706c;
  --line:#e5e3e0;
  --paper:#fbfaf8;
  --paper-2:#f4f1ee;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:28px;
  --radius-pill:999px;
  --shadow-soft:0 4px 14px rgba(34,35,36,.06);
  --shadow-elegant:0 18px 40px rgba(34,35,36,.10);
  --shadow-deep:0 28px 60px rgba(34,35,36,.14);
}

/* ---- Section rhythm ---- */
.section{
  padding-top:clamp(72px,8vw,112px);
  padding-bottom:clamp(72px,8vw,112px);
}
.section + .section{border-top:1px solid var(--line)}

/* ---- Typography ---- */
h1,h2,h3,h4,.section-title,.hero__title,.page-hero__title{
  letter-spacing:-.02em;
}
.eyebrow{
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--accent);
}

/* ---- Cards ---- */
.division-card,
.article-card,
.method,
.record,
.cert,
.person,
.location,
.contact-card,
.division-row{
  border-radius:var(--radius-lg);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.division-card:hover,
.article-card:hover,
.method:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-elegant);
  border-color:rgba(123,37,35,.22);
}

/* ---- Buttons ---- */
.btn,.btn--solid,.btn--outline{
  border-radius:var(--radius-pill);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
  font-weight:600;
}
.btn--solid{
  background:var(--accent);
  color:#fff;
  box-shadow:var(--shadow-soft);
  border:1px solid var(--accent);
}
.btn--solid:hover{
  background:var(--accent-strong);
  border-color:var(--accent-strong);
  transform:translateY(-1px);
  box-shadow:var(--shadow-elegant);
}
.btn--outline{
  background:transparent;
  border:1px solid var(--line);
  color:var(--ink);
}
.btn--outline:hover{
  border-color:var(--accent);
  color:var(--accent);
}

/* ---- Links ---- */
a{color:var(--accent)}
a:hover{color:var(--accent-strong)}

/* ---- Hero ---- */
.hero,.page-hero{
  position:relative;
  overflow:hidden;
}
.hero__title,.page-hero__title{
  line-height:.95;
}
.page-hero__lede,.hero__intro{
  line-height:1.6;
}

/* ---- CTA section ---- */
.cta{
  padding-top:clamp(72px,8vw,112px);
  padding-bottom:clamp(72px,8vw,112px);
}
.cta__heading{
  letter-spacing:-.02em;
  line-height:1.02;
}

/* ---- Mega menu (Divisions dropdown) ---- */
.has-mega{position:relative}
.has-mega>a i.fa-chevron-down{
  font-size:10px;margin-left:5px;opacity:.6;
  transition:transform .2s ease;display:inline-block;
}
.has-mega:hover>a i.fa-chevron-down{transform:rotate(180deg)}

.mega-menu{
  display:none;position:absolute;top:100%;left:50%;
  transform:translateX(-50%);padding-top:12px;z-index:900;width:680px;
}
@media (min-width:981px){
  .has-mega:hover .mega-menu,
  .has-mega:focus-within .mega-menu{display:block}
}
.mega-menu__panel{
  background:#fff;border:1px solid var(--line);
  border-radius:18px;box-shadow:var(--shadow-deep);
  padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:2px;
}
.mega-item{
  display:flex;gap:12px;padding:12px;border-radius:10px;
  text-decoration:none;align-items:flex-start;
  color:inherit;transition:background .15s ease;
}
.mega-item:hover{background:rgba(123,37,35,.05)}
.mega-item__icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:rgba(123,37,35,.08);color:var(--accent);
  flex-shrink:0;font-size:14px;
  transition:background .15s ease,color .15s ease;
}
.mega-item:hover .mega-item__icon{background:var(--accent);color:#fff}
.mega-item__body{min-width:0;display:block}
.mega-item__title{
  display:block;font-size:13.5px;font-weight:700;
  color:var(--ink);line-height:1.3;margin-bottom:3px;
}
.mega-item__desc{
  display:block;font-size:11.5px;color:var(--muted);
  line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mega-menu__footer{
  grid-column:1 / -1;margin-top:6px;padding:14px 4px 2px;
  border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;font-size:12px;
}
.mega-menu__footer span{color:var(--muted)}
.mega-menu__footer a{color:var(--accent);font-weight:700;text-decoration:none}
.mega-menu__footer a:hover{text-decoration:underline}
@media (max-width:980px){
  .mega-menu{display:none !important}
  .has-mega>a i.fa-chevron-down{display:none}
}

/* ============================================================
   MULTI-PAGE DIVISIONS
   ============================================================ */
.division-hero{min-height:52vh;display:flex;align-items:center}

.division-stat-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.division-stat{
  padding:28px 22px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--paper);text-align:center;
  transition:border-color .2s ease,transform .2s ease;
}
.division-stat:hover{border-color:rgba(123,37,35,.3);transform:translateY(-2px)}
.division-stat__value{
  font-size:clamp(22px,2.4vw,30px);font-weight:800;color:var(--accent);
  letter-spacing:-.02em;line-height:1.1;margin-bottom:8px;
}
.division-stat__label{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:700;
}
@media (max-width:780px){.division-stat-row{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.division-stat-row{grid-template-columns:1fr}}

.prose-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:start}
.prose-main h2{margin:0 0 20px;letter-spacing:-.02em}
.prose-main p{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 1.1em}
.prose-aside{
  padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--paper-2);position:sticky;top:100px;
}
.prose-aside h3{margin:0 0 18px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.tick-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.tick-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;color:var(--ink)}
.tick-list li i{color:var(--accent);font-size:12px;margin-top:5px;flex-shrink:0}
@media (max-width:900px){
  .prose-grid{grid-template-columns:1fr;gap:36px}
  .prose-aside{position:static}
}

.capability-grid{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.capability-card{
  display:flex;gap:12px;align-items:flex-start;
  padding:18px 20px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-md);font-size:15px;line-height:1.5;color:var(--ink);
  transition:border-color .2s ease,transform .2s ease;
}
.capability-card:hover{border-color:rgba(123,37,35,.28);transform:translateY(-2px)}
.capability-card i{color:var(--accent);font-size:15px;margin-top:2px;flex-shrink:0}
@media (max-width:700px){.capability-grid{grid-template-columns:1fr}}

.division-sibling-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
.division-sibling{
  display:flex;flex-direction:column;gap:6px;
  padding:22px 20px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:#fff;text-decoration:none;color:inherit;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.division-sibling:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.division-sibling__numeral{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:800}
.division-sibling__name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.division-sibling__sector{font-size:11.5px;color:var(--muted);line-height:1.4}
@media (max-width:900px){.division-sibling-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.division-sibling-grid{grid-template-columns:1fr}}

.division-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px}
.division-card{
  display:flex;flex-direction:column;gap:10px;
  padding:30px 26px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:#fff;text-decoration:none;color:inherit;
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
  min-height:260px;position:relative;
}
.division-card:hover{
  border-color:rgba(123,37,35,.28);
  transform:translateY(-3px);
  box-shadow:var(--shadow-elegant);
}
.division-card__numeral{font-size:11px;letter-spacing:.22em;color:var(--accent);font-weight:800}
.division-card__name{font-size:18px;font-weight:800;color:var(--ink);line-height:1.25;margin:6px 0 0;letter-spacing:-.01em}
.division-card__tag{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0}
.division-card__desc{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 0;flex:1}
.division-card__more{
  font-size:12.5px;color:var(--accent);font-weight:700;
  display:inline-flex;align-items:center;gap:8px;margin-top:12px;
}
.division-card:hover .division-card__more i{transform:translateX(3px);transition:transform .2s ease}
@media (max-width:1100px){.division-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.division-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.division-grid{grid-template-columns:1fr}}


/* ============================================================
   DIV-PAGE-LAYOUT
   Layout for individual division pages
   ============================================================ */

/* Hero */
.div-hero{
  position:relative;
  min-height:46vh;
  display:grid;
  place-items:center;
  background-size:cover;
  background-position:center;
  color:#fff;
  overflow:hidden;
  text-align:center;
}
.div-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(123,37,35,.75) 0%,rgba(18,19,20,.85) 100%);
}
.div-hero__grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:60px 60px;
  opacity:.6;
}
.div-hero__inner{position:relative;z-index:2;padding:80px 0}
.div-hero__back{color:rgba(255,255,255,.75);text-decoration:none;letter-spacing:.28em;text-transform:uppercase;font-size:11px;font-weight:700}
.div-hero__back:hover{color:#fff;text-decoration:underline}
.div-hero__title{font-size:clamp(38px,6vw,72px);font-weight:800;letter-spacing:-.03em;line-height:.98;margin:14px 0 0;color:#fff}
.div-hero__lede{font-size:clamp(15px,1.4vw,18px);color:rgba(255,255,255,.8);max-width:640px;margin:18px auto 0;line-height:1.55}

/* Two-col layout */
.div-page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:48px;align-items:start;margin-top:12px}
@media (max-width:900px){.div-page-grid{grid-template-columns:1fr;gap:36px}}

.div-page-main{display:flex;flex-direction:column;gap:36px;min-width:0}
.div-page-aside{display:flex;flex-direction:column;gap:22px;position:sticky;top:100px}
@media (max-width:900px){.div-page-aside{position:static}}

/* Hero card image */
.div-hero-card{position:relative;border-radius:24px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow-elegant)}
.div-hero-card img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.div-hero-card__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(34,35,36,.8),transparent 55%)}
.div-hero-card__badge{
  position:absolute;bottom:22px;left:22px;
  background:var(--accent);color:#fff;
  padding:8px 16px;border-radius:999px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

/* Stats */
.div-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
}
.div-stat{
  padding:22px 16px;border:1px solid var(--line);border-radius:16px;
  background:#fff;text-align:center;
  transition:border-color .2s ease,transform .2s ease;
}
.div-stat:hover{border-color:rgba(123,37,35,.3);transform:translateY(-2px)}
.div-stat__value{
  font-size:clamp(18px,2vw,24px);font-weight:800;color:var(--accent);
  letter-spacing:-.02em;line-height:1.15;margin-bottom:8px;word-break:break-word;
}
.div-stat__label{
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:700;line-height:1.35;
}

/* Overview block */
.div-block{display:flex;flex-direction:column;gap:14px}
.div-pill{
  display:inline-block;align-self:flex-start;
  padding:6px 14px;border-radius:999px;
  background:rgba(123,37,35,.08);
  color:var(--accent);
  font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;
}
.div-block__title{font-size:clamp(24px,3vw,34px);letter-spacing:-.02em;line-height:1.15;margin:6px 0 4px;color:var(--ink);font-weight:800}
.div-accent{color:var(--accent)}
.div-prose p{font-size:16.5px;line-height:1.75;color:var(--muted);margin:0 0 1.1em}
.div-prose p:last-child{margin-bottom:0}

/* Capabilities card */
.div-capabilities{
  padding:32px;
  border-radius:20px;
  background:rgba(123,37,35,.05);
  border:1px solid rgba(123,37,35,.15);
}
.div-capabilities__head{
  display:flex;align-items:center;gap:10px;
  color:var(--accent);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:800;margin-bottom:12px;
}
.div-capabilities__title{font-size:clamp(19px,2.2vw,24px);font-weight:800;letter-spacing:-.01em;margin:0 0 20px;color:var(--ink)}
.div-capabilities__list{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
@media (max-width:700px){.div-capabilities__list{grid-template-columns:1fr}}
.div-capabilities__list li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--ink);font-weight:500}
.div-capabilities__list li i{color:var(--accent);font-size:14px;margin-top:4px;flex-shrink:0}

/* Section cards */
.div-section-card{
  padding:30px;border-radius:20px;background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.div-section-card__title{font-size:clamp(19px,2.2vw,24px);font-weight:800;letter-spacing:-.01em;margin:0 0 20px;color:var(--ink)}
.div-section-card__list{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
@media (max-width:700px){.div-section-card__list{grid-template-columns:1fr}}
.div-section-card__list li{
  display:flex;gap:11px;align-items:flex-start;
  padding:13px 15px;border-radius:12px;
  background:var(--paper,#fbfaf8);
  border:1px solid var(--line);
  font-size:14px;line-height:1.55;color:var(--ink);
}
.div-section-card__list li i{color:var(--accent);font-size:14px;margin-top:3px;flex-shrink:0}

/* Inquire block */
.div-inquire{
  padding:32px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong,#5e1a18) 100%);
  color:#fff;
  display:flex;flex-wrap:wrap;gap:24px;
  align-items:center;justify-content:space-between;
  box-shadow:var(--shadow-elegant);
}
.div-inquire__text{flex:1 1 260px;min-width:0}
.div-inquire__text h4{font-size:clamp(19px,2.2vw,24px);font-weight:800;letter-spacing:-.01em;margin:0 0 8px;color:#fff}
.div-inquire__text p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.82);margin:0;max-width:520px}
.div-inquire__actions{display:flex;flex-wrap:wrap;gap:10px}
.div-inquire__phone{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
  color:#fff;font-weight:600;font-size:14px;text-decoration:none;
  transition:background .2s ease;
}
.div-inquire__phone:hover{background:rgba(255,255,255,.24)}
.div-inquire__cta{
  display:inline-flex;align-items:center;
  padding:14px 26px;border-radius:999px;
  background:#fff;color:var(--accent);
  font-weight:700;font-size:14px;text-decoration:none;
  transition:transform .2s ease,background .2s ease,color .2s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.div-inquire__cta:hover{background:#fff;color:var(--accent-strong);transform:translateY(-1px)}

/* Sidebar cards */
.div-side-card{
  padding:26px;border-radius:20px;background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.div-side-card__kicker{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:8px}
.div-side-card__title{font-size:18px;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:var(--ink);line-height:1.25}
.div-side-card__desc{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.div-side-card__btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 18px;border-radius:14px;
  background:var(--ink);color:#fff;font-weight:700;font-size:13.5px;
  text-decoration:none;transition:background .2s ease;
}
.div-side-card__btn:hover{background:var(--accent)}
.div-side-card__btn i{color:var(--accent);transition:color .2s ease}
.div-side-card__btn:hover i{color:#fff}
.div-side-card__links{display:flex;flex-direction:column;gap:8px}
.div-side-card__links a{
  display:flex;align-items:center;gap:11px;
  padding:12px 14px;border-radius:12px;
  background:var(--paper,#fbfaf8);border:1px solid var(--line);
  color:var(--ink);font-size:13.5px;text-decoration:none;font-weight:500;
  transition:border-color .2s ease;
}
.div-side-card__links a:hover{border-color:var(--accent)}
.div-side-card__links a i{color:var(--accent);flex-shrink:0;font-size:14px}
.div-side-card__wa{
  background:var(--accent) !important;color:#fff !important;
  border-color:var(--accent) !important;justify-content:center;font-weight:700 !important;
}
.div-side-card__wa i{color:#fff !important}

/* Sibling list */
.div-sibling-list{display:flex;flex-direction:column;gap:2px}
.div-sibling{
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;border-radius:11px;
  color:var(--ink);text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.div-sibling:hover{background:rgba(123,37,35,.06);color:var(--accent)}
.div-sibling__numeral{
  font-size:10px;letter-spacing:.18em;font-weight:800;
  color:var(--accent);min-width:26px;
}
.div-sibling__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.div-sibling__name{font-size:13.5px;font-weight:700;color:inherit;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.div-sibling__sector{font-size:11px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.div-sibling i{color:var(--accent);font-size:11px;opacity:.4;transition:opacity .2s ease,transform .2s ease;flex-shrink:0}
.div-sibling:hover i{opacity:1;transform:translateX(2px)}

.div-side-card__viewall{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:14px;padding:14px;
  border-radius:14px;background:rgba(123,37,35,.08);
  color:var(--accent);font-weight:700;font-size:13px;
  text-decoration:none;transition:background .2s ease,color .2s ease;
}
.div-side-card__viewall:hover{background:var(--accent);color:#fff}
.div-side-card__viewall i{font-size:12px}


/* ============================================================
   HOME-LAYOUT-V2
   Homepage sections matched to division-page language.
   ============================================================ */

.section--compact{padding-top:60px;padding-bottom:60px}
.section--dark{
  background:var(--ink);color:#fff;
}
.section--dark .div-block__title{color:#fff}
.section--dark .div-accent{color:#e8b4b2}
.div-pill--light{
  background:rgba(255,255,255,.1);
  color:#e8b4b2;
}

.home-head{margin-bottom:40px;max-width:760px}
.home-head--light .div-block__title{color:#fff}

/* Split layout */
.home-split{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:60px;
  align-items:center;
}
.home-split--reverse{grid-template-columns:1fr 1fr}
@media (max-width:900px){
  .home-split,.home-split--reverse{grid-template-columns:1fr;gap:40px}
}

.home-split__copy{min-width:0}
.home-split__copy .div-block__title{margin-top:12px;margin-bottom:20px}
.home-split__cta{margin-top:28px}

.home-split__visual{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-elegant);
  aspect-ratio:4/3;
  background:var(--paper-2);
}
.home-split__visual img{width:100%;height:100%;object-fit:cover;display:block}
.home-split__visual--paper{
  aspect-ratio:auto;
  padding:50px 44px;
  background:var(--paper-2);
  border:1px solid var(--line);
  box-shadow:none;
  display:grid;
  place-items:center;
  min-height:340px;
}

.home-badge{
  position:absolute;left:24px;bottom:24px;
  background:#fff;border-radius:16px;
  padding:16px 22px;box-shadow:var(--shadow-deep);
  display:flex;flex-direction:column;gap:2px;min-width:150px;
}
.home-badge span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}
.home-badge strong{font-size:28px;font-weight:800;color:var(--ink);line-height:1.1;letter-spacing:-.02em}
.home-badge__sub{font-size:11.5px;color:var(--muted);letter-spacing:.05em;font-weight:600}

.home-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
  margin:30px 0 0;padding-top:26px;border-top:1px solid var(--line);
}
.home-facts strong{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:6px}
.home-facts span{display:block;font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.5}

/* Featured block */
.home-feature{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
@media (max-width:900px){.home-feature{grid-template-columns:1fr;gap:40px}}
.home-feature__media{
  border-radius:24px;overflow:hidden;
  box-shadow:var(--shadow-elegant);aspect-ratio:4/3;
}
.home-feature__media img{width:100%;height:100%;object-fit:cover;display:block}
.home-feature__copy .div-block__title{margin-top:12px;margin-bottom:18px}
.home-feature__list{
  list-style:none;padding:0;margin:24px 0 30px;
  display:grid;gap:12px;
}
.home-feature__list li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:15px;line-height:1.6;color:var(--ink);font-weight:500;
}
.home-feature__list i{color:var(--accent);font-size:14px;margin-top:4px;flex-shrink:0}

/* Methods */
.home-methods{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
@media (max-width:700px){.home-methods{grid-template-columns:1fr}}
.method{
  padding:32px 28px;border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.method:hover{transform:translateY(-3px);border-color:rgba(232,180,178,.35);background:rgba(255,255,255,.06)}
.method i{
  font-size:20px;color:#e8b4b2;margin-bottom:16px;display:block;
}
.method h3{
  font-size:19px;font-weight:800;letter-spacing:-.01em;
  margin:0 0 12px;color:#fff;line-height:1.3;
}
.method p{
  font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.78);margin:0;
}

/* FAQ */
.home-faq{display:grid;gap:10px;margin-top:24px}
.home-faq__item{
  border:1px solid var(--line);border-radius:14px;
  background:#fff;overflow:hidden;
  transition:border-color .2s ease;
}
.home-faq__item[open]{border-color:rgba(123,37,35,.3)}
.home-faq__item summary{
  list-style:none;cursor:pointer;
  padding:18px 22px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.4;
}
.home-faq__item summary::-webkit-details-marker{display:none}
.home-faq__item summary i{
  color:var(--accent);font-size:12px;
  transition:transform .25s ease;flex-shrink:0;
}
.home-faq__item[open] summary i{transform:rotate(180deg)}
.home-faq__body{padding:0 22px 20px;color:var(--muted);font-size:14.5px;line-height:1.75}
.home-faq__body p{margin:0}

.home-quote{
  text-align:center;max-width:420px;
}
.home-quote i{
  font-size:26px;color:var(--accent);opacity:.4;
  margin-bottom:16px;display:block;
}
.home-quote p{
  font-size:19px;line-height:1.55;color:var(--ink);
  font-weight:500;letter-spacing:-.01em;margin:0;
}

/* Articles */
.home-articles{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
@media (max-width:900px){.home-articles{grid-template-columns:1fr}}
.article-card{
  display:flex;flex-direction:column;gap:12px;
  padding:32px 28px;border-radius:20px;
  background:#fff;border:1px solid var(--line);
  text-decoration:none;color:inherit;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  min-height:240px;
}
.article-card:hover{
  transform:translateY(-3px);
  border-color:rgba(123,37,35,.25);
  box-shadow:var(--shadow-elegant);
}
.article-card__meta{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);font-weight:800;
}
.article-card__title{
  font-size:18px;font-weight:800;line-height:1.3;
  color:var(--ink);letter-spacing:-.01em;margin:0;
}
.article-card__desc{
  font-size:14px;line-height:1.65;color:var(--muted);
  margin:0;flex:1;
}
.article-card__more{
  font-size:13px;font-weight:700;color:var(--accent);
  display:inline-flex;align-items:center;gap:8px;margin-top:8px;
}
.article-card:hover .article-card__more i{transform:translateX(3px);transition:transform .2s ease}

@media (max-width:560px){
  .home-facts{grid-template-columns:1fr}
  .home-split__visual{aspect-ratio:5/4}
  .method{padding:26px 22px}
  .article-card{padding:26px 22px;min-height:auto}
}


/* ============================================================
   ROTATING-HERO-V1
   Crossfading background slides + content + dots
   ============================================================ */

.div-hero--rotating{
  min-height:78vh;
  padding:0;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:#0d0e10;
}

.div-hero__slides{
  position:absolute;inset:0;
  z-index:0;
  overflow:hidden;
}
.div-hero__slide{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  will-change:opacity, transform;
  animation:heroCrossfade 24s infinite;
  transform:scale(1.06);
}
.div-hero__slide:nth-child(1){animation-delay:0s}
.div-hero__slide:nth-child(2){animation-delay:8s}
.div-hero__slide:nth-child(3){animation-delay:16s}
.div-hero__slide:nth-child(4){animation-delay:24s}

@keyframes heroCrossfade{
  0%   {opacity:0; transform:scale(1.06)}
  5%   {opacity:1; transform:scale(1.02)}
  28%  {opacity:1; transform:scale(1.00)}
  33%  {opacity:0; transform:scale(1.02)}
  100% {opacity:0; transform:scale(1.06)}
}

/* Overlays sit above slides, below content */
.div-hero--rotating .div-hero__overlay{
  z-index:1;
  background:
    linear-gradient(180deg, rgba(13,14,16,.65) 0%, rgba(13,14,16,.35) 35%, rgba(13,14,16,.8) 100%),
    linear-gradient(135deg, rgba(123,37,35,.55) 0%, rgba(13,14,16,.35) 60%);
}
.div-hero--rotating .div-hero__grid-overlay{
  z-index:2;
  opacity:.35;
}

.div-hero--rotating .div-hero__inner{
  position:relative;
  z-index:3;
  padding:120px 0 100px;
  max-width:920px;
  margin:0 auto;
}
.div-hero--rotating .eyebrow{
  color:rgba(255,255,255,.75);
  letter-spacing:.32em;
  font-size:11px;
  margin:0 0 22px;
}
.div-hero--rotating .div-hero__title{
  font-size:clamp(44px,7.5vw,96px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:.98;
  margin:0;
  color:#fff;
}
.div-hero--rotating .div-hero__title em{
  font-style:italic;
  font-family:var(--serif,Georgia,serif);
  font-weight:400;
  color:#f0d4d2;
}
.div-hero--rotating .div-hero__lede{
  font-size:clamp(15px,1.35vw,18px);
  color:rgba(255,255,255,.82);
  max-width:720px;
  margin:24px auto 0;
  line-height:1.6;
}

/* Hero CTAs */
.div-hero__ctas{
  margin-top:38px;
  display:inline-flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
}
.div-hero__ctas .btn{font-size:14px;padding:15px 28px}
.div-hero__ctas .btn--outline{
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
.div-hero__ctas .btn--outline:hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
  color:#fff;
}

/* Slide indicator dots */
.div-hero__dots{
  position:absolute;
  bottom:34px;left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex;gap:10px;
}
.div-hero__dot{
  width:36px;height:3px;border-radius:2px;
  background:rgba(255,255,255,.22);
  position:relative;
  overflow:hidden;
  animation:heroDot 24s infinite;
}
.div-hero__dot::after{
  content:"";
  position:absolute;inset:0;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left;
  animation:heroDotFill 24s infinite;
  animation-delay:inherit;
}
.div-hero__dot:nth-child(1)::after{animation-delay:0s}
.div-hero__dot:nth-child(2)::after{animation-delay:8s}
.div-hero__dot:nth-child(3)::after{animation-delay:16s}
.div-hero__dot:nth-child(4)::after{animation-delay:24s}

@keyframes heroDotFill{
  0%   {transform:scaleX(0)}
  5%   {transform:scaleX(0)}
  28%  {transform:scaleX(1)}
  33%  {transform:scaleX(1); opacity:1}
  34%  {opacity:0}
  100% {transform:scaleX(0); opacity:0}
}

/* Reduced motion: stop rotation, show first slide */
@media (prefers-reduced-motion: reduce){
  .div-hero__slide{animation:none;opacity:0}
  .div-hero__slide:nth-child(1){opacity:1;transform:none}
  .div-hero__dot{animation:none}
  .div-hero__dot::after{animation:none;transform:scaleX(1)}
}

/* Mobile tweaks */
@media (max-width:640px){
  .div-hero--rotating{min-height:72vh}
  .div-hero--rotating .div-hero__inner{padding:80px 0 70px}
  .div-hero--rotating .div-hero__title{font-size:clamp(34px,10vw,48px)}
  .div-hero__dots{bottom:20px}
  .div-hero__dot{width:26px}
}


/* ============================================================
   OLEANCE-DIFF-V1 — visual differentiation pass
   Squared corners · offset accents · marquee · new sections
   ============================================================ */

/* ---- Squared corner system (kills the rounded Tailwind look) ---- */
:root{
  --corner-xs:2px;
  --corner-sm:4px;
  --corner-md:6px;
  --corner-lg:8px;
}

/* ---- Reframe cards: squared + offset accent border ---- */
.div-stat,
.division-card,
.article-card,
.div-section-card,
.div-side-card,
.div-hero-card,
.home-split__visual,
.home-feature__media{
  border-radius:var(--corner-md) !important;
}
.div-side-card__btn,
.div-side-card__links a,
.div-side-card__viewall,
.div-sibling,
.article-card__more,
.div-inquire,
.div-inquire__phone,
.div-inquire__cta,
.btn,
.btn--solid,
.btn--outline{
  border-radius:var(--corner-sm) !important;
}
.div-pill,
.home-faq__item,
.mega-menu__panel,
.mega-menu__footer a,
.div-side-card__kicker{
  border-radius:var(--corner-xs) !important;
}

/* Corner tick — squared accent that appears top-left of cards */
.div-stat::before,
.division-card::before,
.article-card::before,
.div-section-card::before{
  content:"";
  position:absolute;
  top:-1px;left:-1px;
  width:14px;height:14px;
  border-top:2px solid var(--accent);
  border-left:2px solid var(--accent);
  pointer-events:none;
  opacity:0;
  transition:opacity .25s ease;
}
.div-stat:hover::before,
.division-card:hover::before,
.article-card:hover::before,
.div-section-card:hover::before{
  opacity:1;
}
.div-stat,.division-card,.article-card,.div-section-card{position:relative;overflow:hidden}

/* ---- Offset section headings (accent rule to the LEFT of text) ---- */
.div-block__title,
.home-head .div-block__title{
  position:relative;
  padding-left:18px;
}
.div-block__title::before,
.home-head .div-block__title::before{
  content:"";
  position:absolute;
  left:0;top:.15em;bottom:.15em;
  width:3px;
  background:var(--accent);
}
.section--dark .div-block__title::before{background:#e8b4b2}

/* ---- Flip: About split is mirrored ---- */
.home-split{grid-template-columns:1fr 1.15fr}
.home-split--reverse{grid-template-columns:1.15fr 1fr}
.home-split__copy{order:2}
.home-split__visual{order:1}
.home-split--reverse .home-split__copy{order:1}
.home-split--reverse .home-split__visual{order:2}
@media (max-width:900px){
  .home-split__copy,.home-split__visual{order:revert}
}

/* ---- Sticky mini-nav (appears on scroll on home) ---- */
.home-sticky-nav{
  position:sticky;top:88px;z-index:20;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.home-sticky-nav__inner{
  display:flex;align-items:center;gap:24px;
  padding:14px 0;
  overflow-x:auto;scrollbar-width:none;
}
.home-sticky-nav__inner::-webkit-scrollbar{display:none}
.home-sticky-nav a{
  white-space:nowrap;
  font-size:12.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;
  padding:4px 0;border-bottom:2px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.home-sticky-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---- Marquee ticker (the return of the sector ticker) ---- */
.marquee{
  overflow:hidden;
  background:var(--ink);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:20px 0;
  position:relative;
}
.marquee::before,
.marquee::after{
  content:"";
  position:absolute;top:0;bottom:0;width:80px;
  z-index:2;pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(to right,var(--ink),transparent)}
.marquee::after{right:0;background:linear-gradient(to left,var(--ink),transparent)}
.marquee__track{
  display:flex;gap:44px;width:max-content;
  animation:marquee-scroll 40s linear infinite;
}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{
  display:flex;align-items:center;gap:14px;
  font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:800;color:rgba(255,255,255,.9);
  white-space:nowrap;
}
.marquee__item i{color:#e8b4b2;font-size:14px}
.marquee__sep{color:rgba(255,255,255,.25);font-size:18px;font-weight:300}
@keyframes marquee-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
}

/* ---- Milestones timeline (NEW section — Platonyx doesn't have this) ---- */
.milestones{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:2px solid var(--line);
  margin-top:48px;
}
@media (max-width:900px){.milestones{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.milestones{grid-template-columns:1fr}}
.milestone{
  position:relative;
  padding:32px 24px 28px;
  border-right:1px solid var(--line);
}
.milestone:last-child{border-right:none}
.milestone::before{
  content:"";
  position:absolute;top:-7px;left:24px;
  width:12px;height:12px;
  background:var(--accent);
  transform:rotate(45deg);
}
.milestone__year{
  font-size:12px;letter-spacing:.22em;font-weight:800;
  color:var(--accent);text-transform:uppercase;
  margin-bottom:14px;display:block;
}
.milestone__label{
  font-size:15.5px;font-weight:700;color:var(--ink);
  line-height:1.35;margin:0 0 10px;
}
.milestone__desc{
  font-size:13px;line-height:1.6;color:var(--muted);margin:0;
}

/* ---- Footprint strip (NEW section) ---- */
.footprint{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  background:var(--paper-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
@media (max-width:800px){.footprint{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footprint{grid-template-columns:1fr}}
.footprint__cell{
  padding:38px 32px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:10px;
  min-height:180px;justify-content:space-between;
}
.footprint__cell:last-child{border-right:none}
.footprint__flag{
  width:36px;height:4px;background:var(--accent);
  margin-bottom:4px;
}
.footprint__country{
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  font-weight:800;color:var(--accent);
}
.footprint__city{
  font-size:22px;font-weight:800;letter-spacing:-.02em;
  color:var(--ink);line-height:1.15;margin:0;
}
.footprint__role{
  font-size:12.5px;color:var(--muted);line-height:1.55;
}

/* ---- Operating standards (NEW numbered list with vertical rule) ---- */
.standards{
  display:grid;gap:0;
  border-left:2px solid var(--line);
  margin-top:40px;
}
.standard{
  position:relative;
  padding:26px 0 26px 32px;
  border-bottom:1px solid var(--line);
}
.standard:last-child{border-bottom:none}
.standard::before{
  content:"";
  position:absolute;left:-7px;top:34px;
  width:12px;height:12px;
  background:var(--accent);
  border-radius:50%;
  box-shadow:0 0 0 4px var(--paper);
}
.standard__num{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:800;color:var(--accent);margin-bottom:8px;display:block;
}
.standard__title{
  font-size:20px;font-weight:800;letter-spacing:-.01em;
  color:var(--ink);line-height:1.25;margin:0 0 10px;
}
.standard__desc{
  font-size:14.5px;line-height:1.7;color:var(--muted);margin:0;
  max-width:760px;
}

/* ---- Diagonal clip strip (adds edge character) ---- */
.angle-strip{
  height:60px;
  background:var(--ink);
  clip-path:polygon(0 0,100% 40%,100% 100%,0 60%);
  margin:0;
}
@media (max-width:700px){
  .angle-strip{height:32px}
}


/* ============================================================
   HOME-HERO-FINAL
   ============================================================ */
.home-hero{
  position:relative;
  min-height:min(88vh,880px);
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#111;
}
.home-hero__bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.home-hero__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(18,19,20,.92) 0%,rgba(18,19,20,.78) 45%,rgba(123,37,35,.55) 100%);
}
.home-hero__grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:70px 70px;
  pointer-events:none;
}
.home-hero__inner{
  position:relative;z-index:2;
  padding:clamp(80px,12vh,140px) 0 clamp(70px,10vh,120px);
  max-width:960px;
}
.home-hero__eyebrow{
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:700;
  color:#e8b4b2;
  margin:0 0 22px;
}
.home-hero__title{
  font-size:clamp(44px,7.5vw,104px);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:.96;
  margin:0 0 26px;
  color:#fff;
}
.home-hero__title em{
  font-style:normal;
  color:#e8b4b2;
}
.home-hero__lede{
  font-size:clamp(15px,1.35vw,19px);
  line-height:1.65;
  color:rgba(255,255,255,.78);
  max-width:680px;
  margin:0 0 38px;
}
.home-hero__actions{
  display:flex;flex-wrap:wrap;gap:14px;
  margin-bottom:64px;
}
.home-hero__actions .btn--outline{
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
}
.home-hero__actions .btn--outline:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.5);
  color:#fff;
}

.home-hero__meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:32px;
  max-width:820px;
}
.home-hero__meta-item{
  padding-right:26px;
  border-right:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;gap:6px;
}
.home-hero__meta-item:last-child{border-right:none}
.home-hero__meta-num{
  font-size:clamp(24px,2.4vw,34px);
  font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
  line-height:1.05;
}
.home-hero__meta-label{
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  font-weight:700;
}
@media (max-width:700px){
  .home-hero__meta{grid-template-columns:1fr 1fr;gap:20px;padding-top:26px}
  .home-hero__meta-item{padding-right:0;border-right:none}
  .home-hero__actions{margin-bottom:44px}
}
@media (max-width:420px){
  .home-hero__meta{grid-template-columns:1fr}
}

/* Hero content pinned to the left edge, not center-constrained */
.home-hero__inner.container,
.home-hero .container.home-hero__inner{
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 900px !important;
  padding-left: clamp(20px, 4vw, 72px) !important;
  padding-right: clamp(20px, 4vw, 72px) !important;
  text-align: left !important;
}
.home-hero__eyebrow,
.home-hero__title,
.home-hero__lede,
.home-hero__actions,
.home-hero__meta{text-align:left}
.home-hero__actions{justify-content:flex-start}


/* ============================================================
   ARTICLE-PAGE-V1
   ============================================================ */
.article-page__hero{
  position:relative;
  min-height:clamp(320px,46vh,520px);
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  color:#fff;
  padding-bottom:clamp(40px,7vh,80px);
  padding-top:clamp(80px,12vh,140px);
  overflow:hidden;
}
.article-page__hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(18,19,20,.94) 0%,rgba(18,19,20,.6) 45%,rgba(18,19,20,.35) 100%);
}
.article-page__hero-inner{position:relative;z-index:2;max-width:820px}
.article-page__meta{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:800;color:rgba(255,255,255,.72);
  margin:0 0 18px;
}
.article-page__cat{color:#e8b4b2}
.article-page__title{
  font-size:clamp(30px,4.4vw,54px);
  font-weight:800;line-height:1.08;
  letter-spacing:-.03em;color:#fff;
  margin:0 0 20px;
}
.article-page__lede{
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.65;color:rgba(255,255,255,.82);
  max-width:660px;margin:0;
}

.article-page__body{
  max-width:760px;
  margin:0 auto;
  padding:clamp(40px,6vw,72px) clamp(20px,4vw,32px) clamp(40px,5vw,64px);
}
.article-page__body h2{
  font-size:clamp(22px,2.6vw,30px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:2.4em 0 .8em;
  color:var(--ink);
  position:relative;
  padding-left:16px;
}
.article-page__body h2::before{
  content:"";
  position:absolute;
  left:0;top:.15em;bottom:.15em;
  width:3px;background:var(--accent);
}
.article-page__body h2:first-child{margin-top:0}
.article-page__body p{
  font-size:17px;
  line-height:1.8;
  color:#3a3f3c;
  margin:0 0 1.3em;
}
.article-page__body ul{
  list-style:none;
  padding:0;margin:0 0 1.6em;
  display:grid;gap:12px;
}
.article-page__body ul li{
  position:relative;
  padding-left:26px;
  font-size:16.5px;
  line-height:1.7;
  color:#3a3f3c;
}
.article-page__body ul li::before{
  content:"";
  position:absolute;
  left:0;top:.65em;
  width:10px;height:2px;
  background:var(--accent);
}
.article-page__body a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.article-page__body a:hover{color:var(--accent-strong,#5e1a18)}
.article-page__intro{
  font-size:19px !important;
  line-height:1.7 !important;
  color:var(--ink) !important;
  font-weight:500;
}
.article-page__end{
  padding-top:1.5em;
  border-top:1px solid var(--line);
  font-size:15.5px !important;
  color:var(--muted) !important;
}

@media (max-width:720px){
  .article-page__body p{font-size:16px}
  .article-page__body ul li{font-size:15.5px}
  .article-page__intro{font-size:17.5px !important}
}

/* Article cards on insights index */
.article-card__img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:var(--corner-md,6px) var(--corner-md,6px) 0 0;
  margin:-32px -28px 18px;
  width:calc(100% + 56px);
  display:block;
}
@media (max-width:560px){
  .article-card__img{
    margin:-26px -22px 16px;
    width:calc(100% + 44px);
  }
}

/* Breadcrumbs */
.crumbs{
  border-bottom:1px solid var(--line);
  background:var(--paper,#fbfaf8);
}
.crumbs ol{
  list-style:none;
  margin:0;padding:14px 0;
  display:flex;flex-wrap:wrap;gap:8px;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--muted);
}
.crumbs ol li{display:inline-flex;align-items:center;gap:8px}
.crumbs ol a{color:var(--muted);text-decoration:none}
.crumbs ol a:hover{color:var(--accent)}
.crumbs__sep{color:var(--line)}
.crumbs ol [aria-current="page"]{color:var(--ink);font-weight:600}


/* ============================================================
   ENHANCE-V1
   Reading progress, back-to-top, counters
   ============================================================ */

/* Reading progress bar (article pages) */
.reading-progress{
  position:fixed;
  top:0;left:0;right:0;
  height:3px;
  background:transparent;
  z-index:9999;
  pointer-events:none;
  opacity:0;
  transition:opacity .25s ease;
}
.reading-progress > span{
  display:block;
  height:100%;
  width:100%;
  background:var(--accent);
  transform-origin:left center;
  transform:scaleX(0);
  transition:transform .1s linear;
  box-shadow:0 0 12px rgba(123,37,35,.5);
}

/* Back to top button */
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  width:44px;
  height:44px;
  border-radius:var(--corner-sm,4px);
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:14px;
  cursor:pointer;
  z-index:900;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease,border-color .2s ease,color .2s ease;
  box-shadow:0 8px 24px rgba(34,35,36,.12);
  display:grid;
  place-items:center;
  padding:0;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  border-color:var(--accent);
  color:var(--accent);
  box-shadow:0 12px 30px rgba(34,35,36,.18);
}
.back-to-top:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
@media (max-width:600px){
  .back-to-top{right:14px;bottom:14px;width:40px;height:40px}
}

/* Slight buffering of stat values while they count */
.div-stat__value,
.home-hero__meta-num,
.division-stat__value{
  font-variant-numeric:tabular-nums;
}

/* Back-to-top on the left */
.back-to-top{
  right: auto !important;
  left: 22px !important;
}
@media (max-width:600px){
  .back-to-top{
    right: auto !important;
    left: 14px !important;
  }
}


/* ============================================================
   SEARCH-V1
   ============================================================ */
.site-search{
  position:fixed;inset:0;
  z-index:9998;
  pointer-events:none;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:clamp(40px,10vh,120px);
}
.site-search.is-open{pointer-events:auto}
.site-search__backdrop{
  position:absolute;inset:0;
  background:rgba(18,19,20,.55);
  backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .2s ease;
}
.site-search.is-open .site-search__backdrop{opacity:1}

.site-search__panel{
  position:relative;
  width:min(640px,92vw);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--corner-md,6px);
  box-shadow:0 32px 80px rgba(0,0,0,.28);
  overflow:hidden;
  transform:translateY(-8px) scale(.98);
  opacity:0;
  transition:transform .22s ease,opacity .22s ease;
}
.site-search.is-open .site-search__panel{
  transform:translateY(0) scale(1);
  opacity:1;
}

.site-search__input-wrap{
  display:flex;align-items:center;gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}
.site-search__input-wrap i{
  color:var(--accent);font-size:15px;flex-shrink:0;
}
.site-search__input{
  flex:1;
  border:none;outline:none;
  font-size:16px;
  font-family:inherit;
  background:transparent;
  color:var(--ink);
  padding:4px 0;
}
.site-search__input::placeholder{color:var(--muted)}
.site-search__close{
  background:transparent;border:none;cursor:pointer;
  color:var(--muted);font-size:14px;
  width:32px;height:32px;
  border-radius:var(--corner-xs,2px);
  display:grid;place-items:center;
  transition:color .15s ease,background .15s ease;
  flex-shrink:0;
}
.site-search__close:hover{color:var(--accent);background:rgba(123,37,35,.06)}

.site-search__results{
  max-height:min(60vh,480px);
  overflow-y:auto;
  padding:8px;
}
.site-search__item{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  gap:2px 14px;
  padding:12px 14px;
  border-radius:var(--corner-xs,2px);
  text-decoration:none;
  color:inherit;
  align-items:baseline;
  transition:background .12s ease;
}
.site-search__item:hover,
.site-search__item.is-active{
  background:rgba(123,37,35,.06);
}
.site-search__cat{
  grid-row:1;
  font-size:9.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--accent);
  padding-top:4px;
}
.site-search__title{
  grid-row:1;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
}
.site-search__desc{
  grid-column:2;
  grid-row:2;
  font-size:12.5px;
  color:var(--muted);
  line-height:1.5;
}
.site-search__empty{
  padding:36px 20px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}
.site-search__hint{
  padding:10px 16px;
  border-top:1px solid var(--line);
  background:var(--paper,#fbfaf8);
  font-size:11px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.site-search__hint kbd{
  background:#fff;
  border:1px solid var(--line);
  border-radius:3px;
  padding:1px 5px;
  font-family:inherit;
  font-size:10.5px;
  font-weight:700;
  color:var(--ink);
}

/* ============================================================
   CARD-SHUFFLE-V1 — subtle rotate + lift on card hover
   ============================================================ */
.division-card,
.article-card{
  transform-origin:center center;
}
.division-card:hover,
.article-card:hover{
  transform:translateY(-4px) rotate(-0.6deg);
}
.division-card:nth-child(even):hover,
.article-card:nth-child(even):hover{
  transform:translateY(-4px) rotate(0.6deg);
}
@media (prefers-reduced-motion:reduce){
  .division-card:hover,
  .article-card:hover,
  .division-card:nth-child(even):hover,
  .article-card:nth-child(even):hover{
    transform:translateY(-3px);
  }
}


/* ============================================================
   THEME-V1 — dark mode + header upgrades
   ============================================================ */

/* --- Dark theme tokens --- */
html[data-theme="dark"]{
  --ink:#eceae6;
  --ink-soft:#f1efeb;
  --muted:#a4a29d;
  --line:#2a2b2d;
  --paper:#151617;
  --paper-2:#1c1d1f;
  --white:#101112;
  --accent:#d88f8d;
  --accent-strong:#f0a7a5;
}
html[data-theme="dark"] body{
  background:#101112;
  color:#eceae6;
}
html[data-theme="dark"] .site-header{
  background:#161718 !important;
  border-bottom-color:#26282a !important;
}
html[data-theme="dark"] .brand img,
html[data-theme="dark"] .footer-brand__logo{
  filter:brightness(1.15) saturate(.9);
}
html[data-theme="dark"] .nav-list a{color:rgba(236,234,230,.85)}
html[data-theme="dark"] .nav-list a:hover,
html[data-theme="dark"] .nav-list a[aria-current="page"]{color:var(--accent)}
html[data-theme="dark"] .mega-menu__panel{
  background:#1c1d1f;border-color:#2a2b2d;
}
html[data-theme="dark"] .mega-item{color:#eceae6}
html[data-theme="dark"] .mega-item:hover{background:rgba(216,143,141,.1)}
html[data-theme="dark"] .mega-item__title{color:#eceae6}
html[data-theme="dark"] .mega-item__desc{color:#a4a29d}
html[data-theme="dark"] .mega-item__icon{
  background:rgba(216,143,141,.14);color:var(--accent);
}
html[data-theme="dark"] .mega-menu__footer{border-color:#2a2b2d}
html[data-theme="dark"] .mega-menu__footer span{color:#a4a29d}

html[data-theme="dark"] .div-stat,
html[data-theme="dark"] .div-section-card,
html[data-theme="dark"] .div-side-card,
html[data-theme="dark"] .division-card,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .method,
html[data-theme="dark"] .home-faq__item,
html[data-theme="dark"] .capability-card,
html[data-theme="dark"] .division-sibling{
  background:#1c1d1f;border-color:#2a2b2d;
}
html[data-theme="dark"] .div-block__title,
html[data-theme="dark"] .home-head .div-block__title,
html[data-theme="dark"] .division-card__name,
html[data-theme="dark"] .article-card__title,
html[data-theme="dark"] .div-section-card__title,
html[data-theme="dark"] .div-side-card__title,
html[data-theme="dark"] .standard__title,
html[data-theme="dark"] .milestone__label,
html[data-theme="dark"] .footprint__city,
html[data-theme="dark"] .person__name{color:#eceae6}

html[data-theme="dark"] .div-prose p,
html[data-theme="dark"] .article-page__body p,
html[data-theme="dark"] .article-page__body ul li,
html[data-theme="dark"] .div-section-card__list li span,
html[data-theme="dark"] .capability-card{color:#c9c7c3}

html[data-theme="dark"] .section--tint{background:#161718}
html[data-theme="dark"] .section--dark{background:#0a0b0c}
html[data-theme="dark"] .home-hero__bg{opacity:.7}
html[data-theme="dark"] .home-split__visual--paper{background:#1c1d1f;border-color:#2a2b2d}
html[data-theme="dark"] .home-badge{background:#1c1d1f;color:#eceae6}
html[data-theme="dark"] .home-badge strong{color:#eceae6}
html[data-theme="dark"] .home-faq__body{color:#c9c7c3}
html[data-theme="dark"] .angle-strip{background:#0a0b0c}
html[data-theme="dark"] .footprint{background:#161718;border-color:#2a2b2d}
html[data-theme="dark"] .footprint__cell{border-color:#2a2b2d}
html[data-theme="dark"] .milestones{border-color:#2a2b2d}
html[data-theme="dark"] .milestone{border-color:#2a2b2d}
html[data-theme="dark"] .back-to-top{background:#1c1d1f;border-color:#2a2b2d;color:#eceae6}
html[data-theme="dark"] .site-search__panel{background:#1c1d1f;border-color:#2a2b2d}
html[data-theme="dark"] .site-search__input{color:#eceae6}
html[data-theme="dark"] .site-search__item{color:#eceae6}
html[data-theme="dark"] .site-search__item:hover,
html[data-theme="dark"] .site-search__item.is-active{background:rgba(216,143,141,.1)}
html[data-theme="dark"] .site-search__title{color:#eceae6}
html[data-theme="dark"] .site-search__desc{color:#a4a29d}
html[data-theme="dark"] .site-search__hint{background:#161718;border-color:#2a2b2d}
html[data-theme="dark"] .site-search__hint kbd{background:#1c1d1f;border-color:#2a2b2d;color:#eceae6}
html[data-theme="dark"] .crumbs{background:#161718;border-color:#2a2b2d}
html[data-theme="dark"] .article-page__hero{filter:brightness(.9)}
html[data-theme="dark"] .home-sticky-nav{background:rgba(22,23,24,.9);border-color:#2a2b2d}
html[data-theme="dark"] .home-sticky-nav a{color:#a4a29d}
html[data-theme="dark"] .home-sticky-nav a:hover{color:var(--accent);border-color:var(--accent)}
html[data-theme="dark"] .div-hero-card{background:#0a0b0c}
html[data-theme="dark"] .div-hero-card__shade{background:linear-gradient(to top,rgba(10,11,12,.9),transparent 55%)}
html[data-theme="dark"] .div-inquire{background:linear-gradient(135deg,#5a1a19 0%,#2e0d0c 100%)}
html[data-theme="dark"] .mega-item.is-active{background:rgba(216,143,141,.12)}

/* Theme transition */
html, body, .site-header, .div-stat, .div-section-card, .div-side-card, .division-card, .article-card, .method, .home-faq__item, .site-search__panel, .home-sticky-nav {
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* --- Header upgrades --- */
.nav-inner{
  display:flex;
  align-items:center;
  gap:32px;
}
.site-header.is-scrolled{
  box-shadow:0 8px 24px rgba(20,20,20,.06);
}
html[data-theme="dark"] .site-header.is-scrolled{
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  flex-shrink:0;
}
.nav-search-btn,
.theme-toggle{
  width:40px;
  height:40px;
  border-radius:var(--corner-xs,2px);
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:14px;
  padding:0;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
.nav-search-btn:hover,
.theme-toggle:hover{
  border-color:var(--accent);
  color:var(--accent);
  transform:translateY(-1px);
}
.nav-search-btn:focus-visible,
.theme-toggle:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
html[data-theme="dark"] .nav-search-btn,
html[data-theme="dark"] .theme-toggle{
  border-color:#2a2b2d;
  color:#a4a29d;
}
html[data-theme="dark"] .nav-search-btn:hover,
html[data-theme="dark"] .theme-toggle:hover{
  color:var(--accent);
  border-color:var(--accent);
}

/* Header active nav state — accent bar under current link */
.nav-list a[aria-current="page"]{
  position:relative;
}
.nav-list a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:-8px;
  height:2px;
  background:var(--accent);
}

/* Tighten nav-link horizontal padding so actions have room */
@media (min-width:981px){
  .nav-list{gap:4px}
  .nav-list a{padding:10px 14px}
}

/* Mobile-only: shrink the action buttons and stack order */
@media (max-width:980px){
  .nav-actions{margin-left:auto;gap:6px}
  .nav-search-btn,
  .theme-toggle{width:36px;height:36px}
  .nav-meta{display:none}
}
@media (max-width:480px){
  .nav-search-btn,
  .theme-toggle{width:34px;height:34px;font-size:13px}
}

/* Fallback for browsers that don't support :focus-visible */
.nav-search-btn:focus,
.theme-toggle:focus{outline:none}

/* Tighter CTA — less vertical bulk on desktop */
.cta{
  padding-top: clamp(40px, 5vw, 64px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}
.cta__inner{
  gap: 40px !important;
}
.cta__heading{
  font-size: clamp(24px, 3vw, 40px) !important;
  line-height: 1.1 !important;
  margin: 0 0 12px !important;
}
.cta__body{
  font-size: 15px !important;
  line-height: 1.6 !important;
  max-width: 520px !important;
  margin: 0 !important;
}
.cta .eyebrow{
  margin-bottom: 12px !important;
}
.cta__actions{
  gap: 10px !important;
}
.cta .btn{
  padding: 12px 22px !important;
  font-size: 14px !important;
}

@media (max-width: 720px){
  .cta{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .cta__heading{
    font-size: 22px !important;
  }
}


/* ============================================================
   RICH-FOOTER-V1 — newsletter, hubs, social, dark-mode fix
   ============================================================ */

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* --- Newsletter signup --- */
.footer-news{
  padding:36px 0 44px;
  border-bottom:1px solid rgba(255,255,255,.1);
  margin-bottom:44px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:center;
}
@media (max-width:860px){
  .footer-news{grid-template-columns:1fr;gap:28px;padding:32px 0 36px;margin-bottom:32px}
}
.footer-news__kicker{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:800;
  color:#e8b4b2;
  margin-bottom:12px;
}
.footer-news__title{
  font-size:clamp(20px,2.4vw,28px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 10px;
  color:#fff;
}
.footer-news__desc{
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,.7);
  margin:0;
  max-width:520px;
}
.footer-news__form{display:flex;flex-direction:column;gap:10px}
.footer-news__fields{
  display:grid;
  grid-template-columns:1.4fr 1fr auto;
  gap:8px;
  align-items:stretch;
}
@media (max-width:640px){
  .footer-news__fields{grid-template-columns:1fr}
}
.footer-news__field{display:block;min-width:0}
.footer-news__field input,
.footer-news__field select{
  width:100%;
  height:48px;
  padding:0 16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:14px;
  font-family:inherit;
  border-radius:var(--corner-sm,4px);
  outline:none;
  transition:border-color .2s ease,background .2s ease;
}
.footer-news__field input::placeholder{color:rgba(255,255,255,.45)}
.footer-news__field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.5' d='M1 1l5 5 5-5'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
  color:rgba(255,255,255,.9);
}
.footer-news__field select option{background:#1c1d1f;color:#eceae6}
.footer-news__field input:focus,
.footer-news__field select:focus{
  border-color:#e8b4b2;
  background:rgba(255,255,255,.09);
}
.footer-news__form button{
  height:48px;
  padding:0 26px;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:var(--corner-sm,4px);
  font-weight:700;
  font-size:13.5px;
  font-family:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  transition:background .2s ease,transform .2s ease;
}
.footer-news__form button:hover{
  background:var(--accent-strong,#5e1a18);
  transform:translateY(-1px);
}
.footer-news__form button i{font-size:12px}
.footer-news__legal{
  font-size:11px;
  line-height:1.55;
  color:rgba(255,255,255,.4);
  margin:0;
}

/* --- Footer social row --- */
.footer-social{
  display:flex;
  gap:8px;
  margin-top:22px;
}
.footer-social a{
  width:36px;height:36px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--corner-sm,4px);
  color:rgba(255,255,255,.75);
  font-size:14px;
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}
.footer-social a:hover{
  color:#e8b4b2;
  border-color:rgba(232,180,178,.5);
  background:rgba(232,180,178,.06);
}


/* ============================================================
   FOOTER-CORRIDOR-V1 — horizontal operating corridor
   ============================================================ */

.footer-corridor{
  margin-top:56px;
  padding-top:38px;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-corridor__head{
  margin-bottom:36px;
}
.footer-corridor__kicker{
  display:block;
  font-size:10.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:800;
  color:#e8b4b2;
  margin-bottom:8px;
}
.footer-corridor__desc{
  font-size:13.5px;
  line-height:1.6;
  color:rgba(255,255,255,.6);
  margin:0;
  max-width:620px;
}

.footer-corridor__line{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  position:relative;
  isolation:isolate;
}
/* The continuous transit line behind the stops */
.footer-corridor__line::before{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  top:7px;
  height:1px;
  background:linear-gradient(
    to right,
    rgba(232,180,178,.15) 0%,
    rgba(232,180,178,.55) 50%,
    rgba(232,180,178,.15) 100%
  );
  z-index:0;
  pointer-events:none;
}

.corridor-stop{
  position:relative;
  padding-right:20px;
  padding-top:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  z-index:1;
}
.corridor-stop__dot{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#0d0e0f;
  border:2px solid #e8b4b2;
  display:block;
  position:relative;
  margin-bottom:18px;
  box-shadow:0 0 0 5px rgba(232,180,178,.08);
}
.corridor-stop:first-child .corridor-stop__dot{
  background:#e8b4b2;
  box-shadow:0 0 0 5px rgba(232,180,178,.22);
}
.corridor-stop:last-child .corridor-stop__dot{
  background:#e8b4b2;
  box-shadow:0 0 0 5px rgba(232,180,178,.22);
}
.corridor-stop__city{
  font-size:16px;
  font-weight:800;
  letter-spacing:-.015em;
  color:#fff;
  line-height:1.15;
}
.corridor-stop__role{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.42);
  line-height:1.4;
}

/* Mobile: stack the corridor vertically as a real route */
@media (max-width:820px){
  .footer-corridor__line{
    grid-template-columns:1fr;
    gap:0;
  }
  .footer-corridor__line::before{
    left:6px;
    right:auto;
    top:6px;
    bottom:24px;
    width:1px;
    height:auto;
    background:linear-gradient(
      to bottom,
      rgba(232,180,178,.15) 0%,
      rgba(232,180,178,.55) 50%,
      rgba(232,180,178,.15) 100%
    );
  }
  .corridor-stop{
    flex-direction:row;
    align-items:baseline;
    gap:14px;
    padding:10px 0;
    padding-right:0;
  }
  .corridor-stop__dot{
    flex-shrink:0;
    margin-bottom:0;
    margin-top:6px;
  }
  .corridor-stop__city{flex-shrink:0;min-width:110px}
  .corridor-stop__role{flex:1;text-align:left}
}
@media (max-width:520px){
  .corridor-stop__city{min-width:auto;font-size:15px}
  .corridor-stop__role{font-size:10px}
}

/* Dark-mode equivalents */
html[data-theme="dark"] .footer-corridor__kicker{color:#d88f8d}
html[data-theme="dark"] .corridor-stop__dot{
  border-color:#d88f8d;
  background:#08090a;
  box-shadow:0 0 0 5px rgba(216,143,141,.08);
}
html[data-theme="dark"] .corridor-stop:first-child .corridor-stop__dot,
html[data-theme="dark"] .corridor-stop:last-child .corridor-stop__dot{
  background:#d88f8d;
  box-shadow:0 0 0 5px rgba(216,143,141,.22);
}
html[data-theme="dark"] .footer-corridor__line::before{
  background:linear-gradient(
    to right,
    rgba(216,143,141,.15) 0%,
    rgba(216,143,141,.55) 50%,
    rgba(216,143,141,.15) 100%
  );
}
@media (max-width:820px){
  html[data-theme="dark"] .footer-corridor__line::before{
    background:linear-gradient(
      to bottom,
      rgba(216,143,141,.15) 0%,
      rgba(216,143,141,.55) 50%,
      rgba(216,143,141,.15) 100%
    );
  }
}

/* --- Footer bottom bar --- */
.footer-base{
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:20px;
  align-items:center;
  font-size:12.5px;
  color:rgba(255,255,255,.5);
}
@media (max-width:800px){
  .footer-base{grid-template-columns:1fr;text-align:center;gap:14px}
}
.footer-base p{margin:0}
.footer-legal{
  list-style:none;padding:0;margin:0;
  display:flex;gap:20px;
  justify-content:center;
}
.footer-legal a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
  transition:color .2s ease;
}
.footer-legal a:hover{color:#e8b4b2}
.footer-credit{
  text-align:right;
  font-size:12px;
}
.footer-credit a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
}
.footer-credit a:hover{color:#e8b4b2}
@media (max-width:800px){.footer-credit{text-align:center}}

/* Contact block in footer — stronger labels */
.footer-col--contact .footer-list li{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-col--contact .footer-list li:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}
.footer-col--contact strong{
  display:block;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:800;
  color:#e8b4b2;
  margin-bottom:6px;
}
.footer-col--contact span{
  display:block;
  font-size:12.5px;
  color:rgba(255,255,255,.55);
  margin-bottom:6px;
  line-height:1.5;
}
.footer-col--contact a{
  display:block;
  font-size:14px;
  color:rgba(255,255,255,.85);
  margin-bottom:3px;
}
.footer-col--contact a:hover{color:#e8b4b2}

/* ============================================================
   DARK MODE FIX — CTA + footer
   ============================================================ */

/* CTA in dark mode: distinct raised panel so it doesn't vanish */
html[data-theme="dark"] .cta{
  background:#1a1b1d !important;
  border-top:1px solid #2a2b2d;
  border-bottom:1px solid #2a2b2d;
}
html[data-theme="dark"] .cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 30%, rgba(216,143,141,.08) 0%, transparent 55%);
  pointer-events:none;
}
html[data-theme="dark"] .cta{position:relative;overflow:hidden}
html[data-theme="dark"] .cta__heading{color:#eceae6}
html[data-theme="dark"] .cta__body{color:#c9c7c3}
html[data-theme="dark"] .cta .eyebrow{color:#d88f8d}

/* Footer in dark mode: deeper black, all text visible */
html[data-theme="dark"] .site-footer{
  background:#08090a !important;
  color:#eceae6;
  border-top:1px solid #1e1f21;
}
html[data-theme="dark"] .footer-brand__desc{
  color:rgba(236,234,230,.7);
}
html[data-theme="dark"] .footer-brand__reg{
  color:rgba(236,234,230,.5);
}
html[data-theme="dark"] .footer-h{
  color:#d88f8d;
}
html[data-theme="dark"] .footer-list a{
  color:rgba(236,234,230,.8);
}
html[data-theme="dark"] .footer-list a:hover{
  color:#d88f8d;
}
html[data-theme="dark"] .footer-col--contact strong{color:#d88f8d}
html[data-theme="dark"] .footer-col--contact span{color:rgba(236,234,230,.5)}
html[data-theme="dark"] .footer-col--contact a{color:rgba(236,234,230,.85)}
html[data-theme="dark"] .footer-col--contact a:hover{color:#d88f8d}
html[data-theme="dark"] .footer-base{
  color:rgba(236,234,230,.5);
  border-color:rgba(255,255,255,.08);
}
html[data-theme="dark"] .footer-legal a{color:rgba(236,234,230,.55)}
html[data-theme="dark"] .footer-legal a:hover{color:#d88f8d}
html[data-theme="dark"] .footer-credit a{color:rgba(236,234,230,.55)}
html[data-theme="dark"] .footer-credit a:hover{color:#d88f8d}
html[data-theme="dark"] .footer-social a{
  color:rgba(236,234,230,.75);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .footer-social a:hover{
  color:#d88f8d;
  border-color:rgba(216,143,141,.5);
}
html[data-theme="dark"] .footer-brand__logo-wrap{
  background:#161718;
  border:1px solid #2a2b2d;
  border-radius:var(--corner-sm,4px);
  padding:8px 12px;
  display:inline-block;
}
html[data-theme="dark"] .footer-news__kicker{color:#d88f8d}
html[data-theme="dark"] .footer-hubs__kicker{color:#d88f8d}
html[data-theme="dark"] .footer-hub span{color:#d88f8d}
html[data-theme="dark"] .footer-news__form button{
  background:#d88f8d;
  color:#1a1b1d;
}
html[data-theme="dark"] .footer-news__form button:hover{
  background:#f0a7a5;
}


/* ============================================================
   NAV-CENTER-V1 — centered desktop menu, no meta label
   ============================================================ */
@media (min-width: 981px){
  .nav-inner{
    gap: 20px;
  }
  .site-nav{
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    min-width: 0;
  }
  .nav-list{
    margin: 0 auto;
  }
  .nav-actions{
    margin-left: 0;
  }
}

/* Mega menu footer with two links */
.mega-menu__footer-links{
  display: flex;
  align-items: center;
  gap: 18px;
}
.mega-menu__footer-links a{
  color: var(--accent);
  font-weight: 700;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
}
.mega-menu__footer-links a:hover{
  text-decoration: underline;
}
.mega-menu__footer-links a:first-child::after{
  content: "·";
  margin-left: 18px;
  color: var(--muted);
  font-weight: 400;
}

/* Ensure the header doesn't shift once nav-meta is removed */
.nav-inner{
  min-height: 74px;
}
@media (max-width: 980px){
  .nav-inner{ min-height: 64px; }
}


/* ============================================================
   PROJECTS-V1
   ============================================================ */
.filter-bar{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.filter-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: var(--corner-sm, 4px);
  color: var(--muted);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.filter-chip span{
  font-size: 10.5px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: .05em;
}
.filter-chip:hover{
  border-color: var(--accent);
  color: var(--accent);
}
.filter-chip.is-active{
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.filter-chip.is-active span{color: rgba(255,255,255,.75)}

.project-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1000px){ .project-grid{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 600px){ .project-grid{grid-template-columns: 1fr} }

.project-card{
  position: relative;
  overflow: hidden;
  border-radius: var(--corner-md, 6px);
  background: #fff;
  border: 1px solid var(--line);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.project-card::before{
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 16px; height: 16px;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent);
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 3;
  pointer-events: none;
}
.project-card:hover{
  transform: translateY(-4px) rotate(-0.4deg);
  box-shadow: var(--shadow-elegant);
  border-color: rgba(123,37,35,.28);
}
.project-card:hover::before{ opacity: 1; }
.project-card:nth-child(even):hover{
  transform: translateY(-4px) rotate(0.4deg);
}

.project-card__link{
  display: block;
  text-decoration: none;
  color: inherit;
}
.project-card__media{
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--paper-2, #f4f1ee);
}
.project-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.2,.6,.3,1);
}
.project-card:hover .project-card__media img{
  transform: scale(1.05);
}
.project-card__body{
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.project-card__cat{
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--accent);
}
.project-card__title{
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.25;
  color: var(--ink);
  margin: 0;
}
.project-card__meta{
  font-size: 12.5px;
  color: var(--muted);
  letter-spacing: .02em;
}

.project-empty{
  text-align: center;
  padding: 80px 20px;
  color: var(--muted);
}
.project-empty i{
  font-size: 28px;
  color: var(--accent);
  opacity: .4;
  margin-bottom: 16px;
  display: block;
}
.project-empty p{
  font-size: 15px;
  margin: 0;
}

/* Dark mode */
html[data-theme="dark"] .filter-chip{
  border-color: #2a2b2d;
  color: #a4a29d;
}
html[data-theme="dark"] .filter-chip:hover{
  border-color: var(--accent);
  color: var(--accent);
}
html[data-theme="dark"] .filter-chip.is-active{
  background: var(--accent);
  border-color: var(--accent);
  color: #101112;
}
html[data-theme="dark"] .filter-chip.is-active span{color: rgba(0,0,0,.55)}
html[data-theme="dark"] .filter-bar{border-color:#2a2b2d}
html[data-theme="dark"] .project-card{
  background: #1c1d1f;
  border-color: #2a2b2d;
}
html[data-theme="dark"] .project-card:hover{
  border-color: rgba(216,143,141,.4);
}
html[data-theme="dark"] .project-card__media{background:#161718}
html[data-theme="dark"] .project-card__title{color:#eceae6}
html[data-theme="dark"] .project-card__meta{color:#a4a29d}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .project-card:hover,
  .project-card:nth-child(even):hover{
    transform: translateY(-3px);
  }
  .project-card:hover .project-card__media img{transform:none}
}

/* Add Projects to footer nav — auto-injected link styling */
.footer-list a[href*="projects"]{
  position: relative;
}




/* ============================================================
   SVC-CARD-V2 — clean editorial division cards
   Content always visible. Image is the primary element.
   ============================================================ */
.svc-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 12px;
}
@media (max-width: 1000px){ .svc-grid{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 640px){ .svc-grid{grid-template-columns: 1fr} }

.svc-card{
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--corner-md, 6px);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.svc-card:hover{
  border-color: rgba(123,37,35,.3);
  box-shadow: var(--shadow-elegant);
  transform: translateY(-3px);
}
.svc-card:focus-visible{
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* Image block — 3:2, always colored, subtle zoom on hover */
.svc-card__media{
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--paper-2, #f4f1ee);
}
.svc-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.2,.6,.3,1);
}
.svc-card:hover .svc-card__media img{
  transform: scale(1.04);
}
.svc-card__media::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(18,19,20,.18));
  pointer-events: none;
}

/* Body — always visible content */
.svc-card__body{
  padding: 24px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.svc-card__numeral{
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  font-size: 13px;
  color: var(--accent);
  letter-spacing: .05em;
  margin-bottom: 6px;
  display: block;
}
.svc-card__title{
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.018em;
  line-height: 1.22;
  color: var(--ink);
  margin: 0;
  transition: color .2s ease;
}
.svc-card:hover .svc-card__title{ color: var(--accent); }
.svc-card__sector{
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}
.svc-card__desc{
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
  margin: 12px 0 0;
}
.svc-card__foot{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  margin-top: 18px;
}
.svc-card__stats{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.svc-card__stat{
  display: inline-block;
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--accent);
  background: rgba(123,37,35,.08);
  border-radius: var(--corner-xs, 2px);
  white-space: nowrap;
}
.svc-card__cta{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: gap .2s ease;
}
.svc-card:hover .svc-card__cta{ gap: 10px; }
.svc-card__cta i{ font-size: 10px; }

/* Dark mode */
html[data-theme="dark"] .svc-card{
  background: #1c1d1f;
  border-color: #2a2b2d;
}
html[data-theme="dark"] .svc-card:hover{
  border-color: rgba(216,143,141,.4);
}
html[data-theme="dark"] .svc-card__title{ color: #eceae6; }
html[data-theme="dark"] .svc-card:hover .svc-card__title{ color: var(--accent); }
html[data-theme="dark"] .svc-card__desc,
html[data-theme="dark"] .svc-card__sector{ color: #a4a29d; }
html[data-theme="dark"] .svc-card__stat{
  background: rgba(216,143,141,.12);
  color: var(--accent);
}
html[data-theme="dark"] .svc-card__foot{ border-color: #2a2b2d; }
html[data-theme="dark"] .svc-card__media{ background: #161718; }

@media (prefers-reduced-motion: reduce){
  .svc-card, .svc-card__media img, .svc-card__cta { transition: none !important; }
  .svc-card:hover .svc-card__media img{ transform: none; }
}


/* ============================================================
   ASIDE-WONDERWEB-V1 — editorial framed sidebar
   No floating cards. One frame, sections divided by rules.
   Roman numerals in serif italic. Wonderweb aesthetic.
   ============================================================ */
.aside-frame{
  border: 1px solid var(--line);
  background: #fff;
  border-radius: var(--corner-sm, 4px);
  overflow: hidden;
  position: sticky;
  top: 100px;
}
@media (max-width: 900px){
  .aside-frame{position: static; margin-top: 40px}
}

.aside-section{
  padding: 26px 26px 24px;
  border-bottom: 1px solid var(--line);
}
.aside-section--last{ border-bottom: none; }

.aside-kicker{
  display: block;
  font-size: 10px;
  letter-spacing: .26em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--accent);
  margin-bottom: 12px;
}
.aside-title{
  font-family: var(--serif, Georgia, serif);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 16px;
}
.aside-desc{
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--muted);
  margin: 0 0 16px;
}

/* Company profile button */
.aside-btn{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
  border-radius: var(--corner-xs, 2px);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.aside-btn:hover{
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.aside-btn i{
  font-size: 11px;
  transition: transform .25s ease;
}
.aside-btn:hover i{ transform: translateX(3px); }

/* Contact list */
.aside-contact{
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 4px;
}
.aside-contact li{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}
.aside-contact li + li{ border-top: 1px dotted var(--line); }
.aside-contact i{
  color: var(--accent);
  font-size: 13px;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}
.aside-contact a{
  font-size: 13.5px;
  color: var(--ink);
  text-decoration: none;
  font-weight: 500;
  transition: color .2s ease;
}
.aside-contact a:hover{ color: var(--accent); }

.aside-wa{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--ink);
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  border-radius: var(--corner-xs, 2px);
  transition: background .2s ease;
}
.aside-wa:hover{ background: var(--accent); }
.aside-wa i{ font-size: 15px; }

/* Other divisions list — editorial roman numerals */
.aside-div-list{
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
.aside-div-list li{ border-top: 1px solid var(--line); }
.aside-div-list li:first-child{ border-top: none; }
.aside-div-list a{
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding: 12px 0;
  text-decoration: none;
  color: inherit;
  transition: padding-left .2s ease;
}
.aside-div-list a:hover{ padding-left: 4px; }
.aside-div-numeral{
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  font-size: 15px;
  color: var(--accent);
  line-height: 1.3;
  letter-spacing: .02em;
}
.aside-div-body{ min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.aside-div-name{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
  transition: color .15s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aside-div-list a:hover .aside-div-name{ color: var(--accent); }
.aside-div-sector{
  font-size: 10.5px;
  letter-spacing: .04em;
  color: var(--muted);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aside-viewall{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0 4px;
  border-top: 1px solid var(--line);
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
}
.aside-viewall i{
  font-size: 11px;
  transition: transform .2s ease;
}
.aside-viewall:hover i{ transform: translateX(3px); }

/* Dark mode */
html[data-theme="dark"] .aside-frame{
  background: #1c1d1f;
  border-color: #2a2b2d;
}
html[data-theme="dark"] .aside-section{ border-color: #2a2b2d; }
html[data-theme="dark"] .aside-title{ color: #eceae6; }
html[data-theme="dark"] .aside-btn{
  border-color: #eceae6;
  color: #eceae6;
}
html[data-theme="dark"] .aside-btn:hover{
  background: #eceae6;
  color: #101112;
}
html[data-theme="dark"] .aside-contact li + li{ border-color: #2a2b2d; }
html[data-theme="dark"] .aside-contact a{ color: #eceae6; }
html[data-theme="dark"] .aside-contact a:hover{ color: var(--accent); }
html[data-theme="dark"] .aside-wa{ background: #2a2b2d; color: #eceae6; }
html[data-theme="dark"] .aside-wa:hover{ background: var(--accent); color: #101112; }
html[data-theme="dark"] .aside-div-list li{ border-color: #2a2b2d; }
html[data-theme="dark"] .aside-div-name{ color: #eceae6; }
html[data-theme="dark"] .aside-div-list a:hover .aside-div-name{ color: var(--accent); }
html[data-theme="dark"] .aside-div-sector{ color: #a4a29d; }
html[data-theme="dark"] .aside-viewall{ border-color: #2a2b2d; color: var(--accent); }


/* ============================================================
   MOBILE-RESPONSIVE-V1
   Full mobile sweep — one block, everything stacks.
   ============================================================ */

/* --- Global: prevent horizontal scroll --- */
html, body{max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%;height:auto}

/* --- Mobile header: brand left, actions + hamburger right on one row --- */
@media (max-width: 980px){
  .site-header .nav-inner{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    padding:12px 0 !important;
    min-height:64px;
  }
  .site-header .brand{
    flex:0 0 auto;
    order:1;
  }
  .site-header .site-nav{
    order:4;
    width:100%;
  }
  /* action buttons + hamburger cluster to the right */
  .site-header .nav-actions{
    order:2;
    margin-left:auto !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
  }
  .site-header .nav-toggle{
    order:3;
    display:flex !important;
    flex:0 0 auto;
    margin-left:0 !important;
  }
  .site-header .nav-meta{display:none !important}
  /* make the site-nav sit under the header row */
  .site-header .site-nav{
    flex-basis:100%;
  }
}

/* --- Mobile nav overlay: stacked links, accordion submenu --- */
@media (max-width: 980px){
  .site-nav{
    position:fixed !important;
    top:64px;
    left:0;right:0;bottom:0;
    background:#fff;
    border-top:1px solid var(--line);
    padding:12px 0 40px !important;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    z-index:80;
  }
  .site-nav.is-open{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .nav-list{
    display:block !important;
    padding:0 20px !important;
    margin:0 !important;
  }
  .nav-list > li{
    border-bottom:1px solid var(--line);
  }
  .nav-list > li > a{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    padding:18px 0 !important;
    font-size:16px !important;
    font-weight:600;
    color:var(--ink);
    text-decoration:none;
  }
  .nav-list > li > a[aria-current="page"]{
    color:var(--accent);
  }
  .nav-list > li > a[aria-current="page"]::after{display:none}

  /* Chevron inside mobile accordion */
  .nav-list > li > a .nav-chevron,
  .nav-list > li > a i.fa-chevron-down{
    font-size:12px;
    color:var(--muted);
    transition:transform .25s ease;
    margin-left:auto;
  }
  .has-mega.is-expanded > a .nav-chevron,
  .has-mega.is-expanded > a i.fa-chevron-down{
    transform:rotate(180deg);
    color:var(--accent);
  }

  /* Mega menu becomes a stacked accordion panel */
  .has-mega .mega-menu{
    position:static !important;
    display:block !important;
    width:100% !important;
    max-height:0;
    overflow:hidden;
    transform:none !important;
    padding:0 !important;
    transition:max-height .35s cubic-bezier(.2,.7,.2,1);
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .has-mega.is-expanded .mega-menu{
    max-height:1400px;
  }
  .mega-menu__panel{
    display:block !important;
    background:var(--paper,#fbfaf8) !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:6px 0 !important;
    margin:0 -20px !important;
  }
  .mega-item{
    padding:14px 24px !important;
    border-radius:0 !important;
    background:transparent !important;
    border-bottom:1px solid var(--line);
  }
  .mega-item:last-child{border-bottom:none}
  .mega-item__icon{
    width:34px;height:34px;
    font-size:13px;
  }
  .mega-item__title{font-size:14.5px}
  .mega-item__desc{font-size:11.5px;white-space:normal !important}
  .mega-menu__footer{
    display:block !important;
    padding:16px 24px !important;
    border-top:none !important;
    background:transparent !important;
  }
  .mega-menu__footer > span{display:none}
  .mega-menu__footer-links{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .mega-menu__footer-links a{
    font-size:13.5px;
    padding:10px 0;
  }
  .mega-menu__footer-links a:first-child::after{display:none}
}

/* Dark mode override for mobile nav */
html[data-theme="dark"] .site-nav{
  background:#161718 !important;
  border-color:#2a2b2d !important;
}
html[data-theme="dark"] .nav-list > li{border-color:#2a2b2d}
html[data-theme="dark"] .nav-list > li > a{color:#eceae6}
html[data-theme="dark"] .mega-menu__panel{background:#101112 !important}
html[data-theme="dark"] .mega-item{border-color:#2a2b2d}
html[data-theme="dark"] .mega-item__title{color:#eceae6}
html[data-theme="dark"] .mega-item__desc{color:#a4a29d}

/* --- Homepage: force single column on every split --- */
@media (max-width: 820px){
  .home-split,
  .home-split--reverse,
  .home-feature,
  .prose-grid,
  .div-page-grid{
    display:block !important;
    gap:32px !important;
  }
  .home-split__copy,
  .home-split__visual,
  .home-feature__copy,
  .home-feature__media,
  .prose-main,
  .prose-aside,
  .div-page-main,
  .div-page-aside{
    width:100% !important;
    max-width:100% !important;
    order:0 !important;
  }
  .home-split__visual{margin-top:0;margin-bottom:32px;aspect-ratio:16/10}
  .home-feature__media{margin-bottom:28px;aspect-ratio:4/3}
  .prose-aside{position:static;margin-top:32px}
  .div-page-aside{margin-top:40px}
}

/* --- All grids: collapse to 1 column on small screens --- */
@media (max-width: 700px){
  .svc-grid,
  .division-grid,
  .home-articles,
  .div-stat-grid,
  .division-stat-row,
  .capability-grid,
  .div-section-card__list,
  .div-capabilities__list,
  .mission-grid,
  .team-grid,
  .people-grid,
  .cert-grid,
  .location-grid,
  .division-sibling-grid,
  .footprint,
  .milestones,
  .project-grid,
  .contact-grid{
    grid-template-columns:1fr !important;
  }

  /* Homepage hero scaling */
  .home-hero{
    min-height:auto !important;
    padding:80px 0 50px !important;
  }
  .home-hero__inner{padding:20px 0 !important}
  .home-hero__title{font-size:clamp(30px, 9vw, 44px) !important}
  .home-hero__lede{font-size:15px !important;margin-bottom:28px}
  .home-hero__actions{gap:10px;margin-bottom:36px !important}
  .home-hero__actions .btn{width:100%;justify-content:center;padding:14px 20px}
  .home-hero__meta{
    grid-template-columns:1fr 1fr !important;
    gap:16px !important;
    padding-top:22px !important;
  }
  .home-hero__meta-item{
    padding-right:0 !important;
    border-right:none !important;
  }

  /* Division hero */
  .div-hero{
    min-height:auto !important;
    padding:70px 0 44px !important;
  }
  .div-hero__title{font-size:clamp(26px, 8vw, 40px) !important}
  .div-hero__lede{font-size:14.5px !important}

  /* Stats */
  .div-stat{padding:20px 16px !important}
  .div-stat__value{font-size:22px !important}

  /* Standards, milestones, footprint */
  .standards,
  .milestones{display:block !important}
  .standard{padding:22px 0 22px 28px !important}
  .milestone{padding:22px 16px !important}

  /* Section paddings on mobile */
  .section{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  .section--compact{
    padding-top:36px !important;
    padding-bottom:36px !important;
  }

  /* Section headings */
  .div-block__title,
  .home-head .div-block__title{
    font-size:clamp(22px, 7vw, 32px) !important;
    padding-left:14px !important;
  }
  .div-block__title::before{
    width:3px !important;
  }

  /* Sticky section nav scrolls horizontally */
  .home-sticky-nav{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .home-sticky-nav__inner{
    padding:10px 16px !important;
    gap:16px !important;
  }
  .home-sticky-nav a{
    font-size:11px !important;
    padding:4px 0 !important;
  }

  /* CTA section */
  .cta__inner{
    display:block !important;
    text-align:left;
  }
  .cta__actions{
    margin-top:22px;
    flex-direction:column;
    gap:10px !important;
  }
  .cta__actions .btn{width:100%;justify-content:center}

  /* Inquire block (division pages) */
  .div-inquire{
    display:block !important;
    padding:26px !important;
  }
  .div-inquire__actions{
    margin-top:18px;
    flex-direction:column;
    gap:10px !important;
  }
  .div-inquire__phone,
  .div-inquire__cta{
    width:100%;
    justify-content:center;
  }

  /* Filter bar wraps */
  .filter-bar{
    gap:6px !important;
    padding-bottom:16px !important;
    margin-bottom:24px !important;
  }
  .filter-chip{
    padding:8px 13px !important;
    font-size:12px !important;
  }
  .filter-chip span{font-size:10px !important}

  /* Service cards */
  .svc-card__body{padding:20px 20px !important}
  .svc-card__title{font-size:17px !important}
  .svc-card__foot{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding-top:16px;
  }

  /* Marquee */
  .marquee{padding:16px 0}
  .marquee__item{font-size:11.5px;gap:10px}
  .marquee__track{gap:28px}

  /* Project cards */
  .project-card__body{padding:16px 18px 20px !important}

  /* Article body */
  .article-page__body{
    padding:32px 20px 40px !important;
  }
  .article-page__body h2{font-size:22px !important}
  .article-page__body p{font-size:16px !important}
  .article-page__intro{font-size:17px !important}

  /* Footer newsletter form */
  .footer-news__fields{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .footer-news__form button{
    width:100%;
    justify-content:center;
  }
  .footer-news{padding:28px 0 32px !important;margin-bottom:32px !important}

  /* Footer columns */
  .footer-top{
    display:block !important;
  }
  .footer-brand,
  .footer-col{
    margin-bottom:32px;
  }
  .footer-col--contact .footer-list li{
    padding-bottom:14px;
    margin-bottom:14px;
  }

  /* Footer bottom bar */
  .footer-base{
    display:block !important;
    text-align:left !important;
  }
  .footer-legal{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:12px;
    margin:12px 0;
  }
  .footer-credit{text-align:left !important}

  /* Divisions sidebar */
  .aside-frame{position:static !important}
  .aside-section{padding:22px 20px !important}
  .aside-title{font-size:18px !important}

  /* Contact form */
  .contact-form .form-row--two{
    grid-template-columns:1fr !important;
  }

  /* Back-to-top reposition on small */
  .back-to-top{
    left:14px !important;
    bottom:14px !important;
    width:40px;
    height:40px;
  }
}

/* --- Small phones: extra tightening --- */
@media (max-width: 420px){
  .home-hero__title{font-size:28px !important}
  .div-block__title{font-size:22px !important}
  .svc-card__title{font-size:16px !important}
  .div-stat__value{font-size:20px !important}
  .home-articles .article-card__title{font-size:16px !important}
  .mega-item__desc{font-size:11px}
}

/* --- Tablets: 2-col, not forced single --- */
@media (min-width: 641px) and (max-width: 900px){
  .div-stat-grid{grid-template-columns:repeat(2,1fr) !important}
  .svc-grid{grid-template-columns:repeat(2,1fr) !important}
  .division-grid{grid-template-columns:repeat(2,1fr) !important}
  .home-articles{grid-template-columns:repeat(2,1fr) !important}
  .project-grid{grid-template-columns:repeat(2,1fr) !important}
}

/* --- Prevent overflow from any fixed widths --- */
@media (max-width: 640px){
  *[style*="width:"]:not(img):not(.no-max){
    max-width:100% !important;
  }
  .container,
  .container-px{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Tighter mobile gutters */
@media (max-width: 700px){
  .container,
  .container-px{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .nav-inner{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .nav-list{
    padding: 0 8px !important;
  }
  .mega-menu__panel{
    margin: 0 -8px !important;
  }
  .mega-item{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .mega-menu__footer{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .aside-section{
    padding: 22px 16px !important;
  }
  .svc-card__body{
    padding: 18px 16px !important;
  }
  .div-section-card,
  .div-side-card{
    padding: 20px 16px !important;
  }
  .article-page__body{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .filter-bar{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 420px){
  .container,
  .container-px,
  .nav-inner{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ============================================================
   MOBILE-FONTS-V1 — standard readable sizes on mobile
   ============================================================ */
@media (max-width: 700px){

  /* Base body */
  html{font-size:16px}
  body{font-size:16px;line-height:1.65}

  /* Paragraphs */
  p, li{font-size:16px;line-height:1.7}

  /* Headings */
  h1{font-size:30px;line-height:1.2}
  h2{font-size:24px;line-height:1.25}
  h3{font-size:20px;line-height:1.3}
  h4{font-size:17px;line-height:1.35}

  /* Section titles */
  .div-block__title,
  .home-head .div-block__title{
    font-size:26px !important;
  }

  /* Hero */
  .home-hero__title{font-size:34px !important}
  .home-hero__lede{font-size:16px !important;line-height:1.65 !important}
  .home-hero__eyebrow{font-size:11px !important}
  .home-hero__meta-num{font-size:26px !important}
  .home-hero__meta-label{font-size:11px !important}

  /* Division / page hero */
  .div-hero__title,
  .page-hero__title{font-size:32px !important;line-height:1.15 !important}
  .div-hero__lede,
  .page-hero__lede{font-size:16px !important;line-height:1.6 !important}

  /* Nav */
  .nav-list > li > a{
    font-size:17px !important;
    padding:18px 0 !important;
  }
  .mega-item__title{font-size:15.5px !important}
  .mega-item__desc{font-size:13px !important;line-height:1.5 !important}
  .mega-menu__footer-links a{font-size:14.5px !important}

  /* Stats */
  .div-stat__value{font-size:26px !important;line-height:1.15 !important}
  .div-stat__label{font-size:11.5px !important;letter-spacing:.14em !important}

  /* Prose text */
  .div-prose p{font-size:16px !important;line-height:1.75 !important}
  .home-split__copy p,
  .home-feature__copy p{font-size:16px !important;line-height:1.75 !important}

  /* Service cards */
  .svc-card__title{font-size:19px !important}
  .svc-card__sector{font-size:11.5px !important}
  .svc-card__desc{font-size:15px !important;line-height:1.6 !important}
  .svc-card__stat{font-size:11px !important;padding:5px 10px !important}
  .svc-card__cta{font-size:12.5px !important}
  .svc-card__numeral{font-size:14px !important}

  /* Division cards (grid on divisions index) */
  .division-card__name{font-size:19px !important}
  .division-card__desc{font-size:15px !important;line-height:1.6 !important}
  .division-card__tag{font-size:12px !important}

  /* Article cards */
  .article-card__title{font-size:18px !important}
  .article-card__desc{font-size:15px !important;line-height:1.65 !important}
  .article-card__meta{font-size:11.5px !important}

  /* Article body */
  .article-page__body p{font-size:17px !important;line-height:1.75 !important}
  .article-page__body h2{font-size:24px !important}
  .article-page__body ul li{font-size:16.5px !important}
  .article-page__intro{font-size:18px !important;line-height:1.7 !important}
  .article-page__lede{font-size:16px !important}
  .article-page__title{font-size:28px !important}
  .article-page__meta{font-size:11.5px !important}

  /* Section cards (features, capabilities) */
  .div-section-card__title{font-size:22px !important}
  .div-section-card__list li{font-size:15px !important;line-height:1.6 !important}
  .div-capabilities__title{font-size:22px !important}
  .div-capabilities__list li{font-size:15px !important;line-height:1.6 !important}

  /* Sidebar */
  .aside-title{font-size:20px !important}
  .aside-desc{font-size:14.5px !important;line-height:1.65 !important}
  .aside-contact a{font-size:15px !important}
  .aside-div-name{font-size:15px !important}
  .aside-div-sector{font-size:12px !important}
  .aside-div-numeral{font-size:16px !important}
  .aside-btn{font-size:14.5px !important;padding:15px 18px !important}
  .aside-wa{font-size:14px !important;padding:14px 16px !important}
  .aside-viewall{font-size:13px !important}
  .aside-kicker{font-size:11px !important}

  /* Standards / milestones */
  .standard__title{font-size:20px !important}
  .standard__desc{font-size:15.5px !important;line-height:1.7 !important}
  .standard__num{font-size:11px !important}
  .milestone__label{font-size:17px !important}
  .milestone__desc{font-size:14.5px !important;line-height:1.6 !important}
  .milestone__year{font-size:12px !important}

  /* Footprint */
  .footprint__city{font-size:22px !important}
  .footprint__country{font-size:11.5px !important}
  .footprint__role{font-size:14px !important;line-height:1.55 !important}

  /* Methods */
  .method h3{font-size:19px !important}
  .method p{font-size:15.5px !important;line-height:1.7 !important}

  /* FAQ */
  .home-faq__item summary{font-size:16.5px !important;padding:18px 20px !important}
  .home-faq__body{font-size:15.5px !important;line-height:1.75 !important}

  /* Buttons */
  .btn,
  .btn--solid,
  .btn--outline{font-size:15px !important;padding:14px 24px !important}

  /* CTA */
  .cta__heading{font-size:26px !important}
  .cta__body{font-size:15.5px !important;line-height:1.6 !important}
  .cta .eyebrow{font-size:11px !important}

  /* Inquire block (division pages) */
  .div-inquire__text h4{font-size:20px !important}
  .div-inquire__text p{font-size:15px !important;line-height:1.6 !important}
  .div-inquire__phone,
  .div-inquire__cta{font-size:14.5px !important}

  /* Filter chips */
  .filter-chip{font-size:13px !important;padding:10px 15px !important}
  .filter-chip span{font-size:11px !important}

  /* Project cards */
  .project-card__title{font-size:18px !important}
  .project-card__cat{font-size:11px !important}
  .project-card__meta{font-size:13px !important}

  /* Footer */
  .footer-news__title{font-size:22px !important}
  .footer-news__desc{font-size:14.5px !important;line-height:1.65 !important}
  .footer-news__kicker{font-size:11px !important}
  .footer-news__field input,
  .footer-news__field select{font-size:15px !important;height:50px !important}
  .footer-news__form button{font-size:15px !important;height:50px !important}
  .footer-news__legal{font-size:12px !important}

  .footer-h{font-size:13px !important}
  .footer-list a,
  .footer-list li{font-size:15px !important;line-height:1.65 !important}
  .footer-brand__desc{font-size:15px !important;line-height:1.7 !important}
  .footer-brand__reg{font-size:13px !important}
  .footer-col--contact strong{font-size:12px !important}
  .footer-col--contact span{font-size:14px !important}
  .footer-col--contact a{font-size:15px !important}
  .footer-base{font-size:13.5px !important}
  .footer-legal a,
  .footer-credit a{font-size:13.5px !important}

  /* Back to top */
  .back-to-top{width:44px !important;height:44px !important;font-size:16px !important}

  /* Breadcrumbs */
  .crumbs ol{font-size:13px !important;padding:12px 0 !important}

  /* Marquee */
  .marquee__item{font-size:12.5px !important}

  /* Homepage facts */
  .home-facts strong{font-size:11.5px !important}
  .home-facts span{font-size:15.5px !important}

  /* Feature list */
  .home-feature__list li{font-size:15.5px !important;line-height:1.65 !important}

  /* Sticky section nav */
  .home-sticky-nav a{font-size:12.5px !important}

  /* Records / methods home */
  .record__label{font-size:12px !important}

  /* Division row (single division pages) */
  .division-row__name{font-size:22px !important}
  .division-row__tag{font-size:15px !important}
  .division-row__summary{font-size:16px !important;line-height:1.7 !important}
  .division-row__list li{font-size:15.5px !important;line-height:1.65 !important}
  .division-row__section-head{font-size:12px !important}
  .division-row__section-list li{font-size:15px !important}
  .division-row__roman{font-size:30px !important}
}

/* Extra-small phones: don't shrink further */
@media (max-width: 420px){
  body{font-size:15.5px}
  .home-hero__title{font-size:30px !important}
  .div-hero__title,
  .page-hero__title{font-size:28px !important}
  .div-block__title{font-size:24px !important}
  .svc-card__title{font-size:18px !important}
  .article-page__body p{font-size:16.5px !important}
  .footer-list a,
  .footer-list li{font-size:14.5px !important}
}

/* ============================================================
   STANDARDS-HORIZONTAL-V1 — 4-column grid on desktop
   ============================================================ */

/* Override the old vertical rule-based layout */
.standards{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  border-left: none !important;
  border-top: 1px solid var(--line);
  margin-top: 48px !important;
}

.standard{
  padding: 32px 26px 30px !important;
  border-bottom: none !important;
  border-right: 1px solid var(--line) !important;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.standard:last-child{
  border-right: none !important;
}

/* Accent top bar on each standard */
.standard::before{
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: 26px !important;
  width: 36px !important;
  height: 3px !important;
  background: var(--accent) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.standard__num{
  font-size: 10.5px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: var(--accent) !important;
  margin: 0 !important;
  display: block !important;
}

.standard__title{
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  line-height: 1.25 !important;
  color: var(--ink) !important;
  margin: 0 !important;
}

.standard__desc{
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: var(--muted) !important;
  margin: 0 !important;
  max-width: none !important;
  flex: 1;
}

/* Tablet: 2x2 */
@media (max-width: 1000px) and (min-width: 641px){
  .standards{
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .standard:nth-child(2){
    border-right: none !important;
  }
  .standard:nth-child(1),
  .standard:nth-child(2){
    border-bottom: 1px solid var(--line) !important;
  }
  .standard:nth-child(3),
  .standard:nth-child(4){
    border-bottom: none !important;
  }
}

/* Mobile: single column */
@media (max-width: 640px){
  .standards{
    display: block !important;
    border-top: 1px solid var(--line) !important;
  }
  .standard{
    padding: 26px 20px 24px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .standard:last-child{
    border-bottom: none !important;
  }
  .standard::before{
    left: 20px !important;
    width: 32px !important;
  }
  .standard__title{font-size: 17px !important}
  .standard__desc{font-size: 15px !important;line-height: 1.7 !important}
}

/* Dark mode */
html[data-theme="dark"] .standards{
  border-color: #2a2b2d !important;
}
html[data-theme="dark"] .standard{
  border-color: #2a2b2d !important;
}
html[data-theme="dark"] .standard__title{
  color: #eceae6 !important;
}
html[data-theme="dark"] .standard__desc{
  color: #a4a29d !important;
}
html[data-theme="dark"] .standard::before{
  background: var(--accent) !important;
}

/* ============================================================
   FONT-SCALE-V2 — larger, readable typography everywhere
   Loaded last, so these override everything before it.
   ============================================================ */

/* ---------- Base ---------- */
html{font-size:17px !important}
body{
  font-size:16px !important;
  line-height:1.7 !important;
}
p, li, dd, dt{
  font-size:16px !important;
  line-height:1.75 !important;
}

/* ---------- Desktop body + prose ---------- */
.div-prose p,
.home-split__copy p,
.home-feature__copy p,
.mission__statement,
.mission__list li,
.prose-main p{
  font-size:17px !important;
  line-height:1.8 !important;
}

/* ---------- Headings — desktop ---------- */
h1, .hero__title, .page-hero__title, .home-hero__title, .div-hero__title{
  font-size:clamp(38px, 5.2vw, 84px) !important;
  line-height:1.02 !important;
}
h2, .div-block__title, .home-head .div-block__title, .section-title{
  font-size:clamp(28px, 3.2vw, 46px) !important;
  line-height:1.15 !important;
}
h3{
  font-size:clamp(22px, 2vw, 30px) !important;
  line-height:1.25 !important;
}
h4{
  font-size:clamp(18px, 1.4vw, 22px) !important;
  line-height:1.35 !important;
}

/* ---------- Nav (desktop) ---------- */
.nav-list a{
  font-size:15.5px !important;
  font-weight:600 !important;
}
.mega-item__title{font-size:15px !important}
.mega-item__desc{font-size:13px !important}
.mega-menu__footer,
.mega-menu__footer-links a{font-size:13.5px !important}

/* ---------- Hero lede ---------- */
.home-hero__lede,
.div-hero__lede,
.page-hero__lede,
.hero__intro{
  font-size:18px !important;
  line-height:1.7 !important;
}

/* ---------- Stats ---------- */
.div-stat__value,
.division-stat__value,
.record__value{
  font-size:clamp(26px, 2.6vw, 36px) !important;
  line-height:1.1 !important;
}
.div-stat__label,
.division-stat__label,
.record__label{
  font-size:12px !important;
  letter-spacing:.16em !important;
}
.home-hero__meta-num{font-size:34px !important}
.home-hero__meta-label{font-size:12px !important}

/* ---------- Cards ---------- */
.svc-card__title{font-size:20px !important;line-height:1.25 !important}
.svc-card__sector{font-size:12px !important}
.svc-card__desc{font-size:15px !important;line-height:1.65 !important}
.svc-card__stat{font-size:11.5px !important;padding:5px 11px !important}
.svc-card__cta{font-size:13px !important}

.division-card__name{font-size:20px !important}
.division-card__desc{font-size:15.5px !important;line-height:1.65 !important}
.division-card__tag{font-size:12px !important}
.division-card__more{font-size:13.5px !important}

.article-card__title{font-size:20px !important;line-height:1.3 !important}
.article-card__desc{font-size:15.5px !important;line-height:1.7 !important}
.article-card__meta{font-size:12px !important}
.article-card__more{font-size:13.5px !important}

.method h3{font-size:22px !important}
.method p{font-size:16px !important;line-height:1.75 !important}

/* ---------- Section cards ---------- */
.div-section-card__title{font-size:24px !important}
.div-section-card__list li{font-size:16px !important;line-height:1.65 !important}
.div-capabilities__title{font-size:24px !important}
.div-capabilities__list li{font-size:16px !important;line-height:1.65 !important}
.div-capabilities__head{font-size:12px !important}

/* ---------- Standards ---------- */
.standard__num{font-size:11.5px !important}
.standard__title{font-size:21px !important}
.standard__desc{font-size:15.5px !important;line-height:1.7 !important}

/* ---------- Milestones / footprint ---------- */
.milestone__year{font-size:12.5px !important}
.milestone__label{font-size:19px !important}
.milestone__desc{font-size:15px !important;line-height:1.65 !important}
.footprint__country{font-size:12px !important}
.footprint__city{font-size:24px !important}
.footprint__role{font-size:15px !important;line-height:1.6 !important}

/* ---------- FAQ ---------- */
.home-faq__item summary{font-size:17.5px !important;padding:20px 22px !important}
.home-faq__body{font-size:16px !important;line-height:1.75 !important}

/* ---------- Sidebar (division pages) ---------- */
.aside-kicker{font-size:11.5px !important}
.aside-title{font-size:22px !important}
.aside-desc{font-size:15px !important;line-height:1.7 !important}
.aside-contact a{font-size:15.5px !important}
.aside-div-name{font-size:15.5px !important}
.aside-div-sector{font-size:12.5px !important}
.aside-div-numeral{font-size:17px !important}
.aside-btn{font-size:15px !important;padding:16px 20px !important}
.aside-wa{font-size:14.5px !important;padding:15px 18px !important}
.aside-viewall{font-size:13.5px !important}

/* ---------- Buttons ---------- */
.btn,
.btn--solid,
.btn--outline{
  font-size:15.5px !important;
  padding:15px 28px !important;
}

/* ---------- CTA ---------- */
.cta__heading{font-size:clamp(28px, 3vw, 40px) !important}
.cta__body{font-size:16.5px !important;line-height:1.7 !important}
.cta .eyebrow{font-size:12px !important}

/* ---------- Inquire block ---------- */
.div-inquire__text h4{font-size:22px !important}
.div-inquire__text p{font-size:15.5px !important;line-height:1.7 !important}
.div-inquire__phone,
.div-inquire__cta{font-size:15px !important;padding:15px 26px !important}

/* ---------- Filter chips ---------- */
.filter-chip{font-size:14px !important;padding:11px 18px !important}
.filter-chip span{font-size:11.5px !important}

/* ---------- Project cards ---------- */
.project-card__title{font-size:19px !important}
.project-card__cat{font-size:11.5px !important}
.project-card__meta{font-size:13.5px !important}

/* ---------- Footer ---------- */
.footer-news__kicker{font-size:11.5px !important}
.footer-news__title{font-size:clamp(22px, 2.4vw, 28px) !important}
.footer-news__desc{font-size:15.5px !important;line-height:1.7 !important}
.footer-news__field input,
.footer-news__field select{font-size:15.5px !important;height:52px !important}
.footer-news__form button{font-size:15px !important;height:52px !important;padding:0 30px !important}
.footer-news__legal{font-size:12.5px !important}

.footer-brand__desc{font-size:15.5px !important;line-height:1.7 !important}
.footer-brand__reg{font-size:13.5px !important}
.footer-h{font-size:13.5px !important;letter-spacing:.18em !important}
.footer-list a,
.footer-list li{font-size:15.5px !important;line-height:1.7 !important}
.footer-col--contact strong{font-size:12.5px !important}
.footer-col--contact span{font-size:14.5px !important}
.footer-col--contact a{font-size:15.5px !important}
.footer-base{font-size:14px !important}
.footer-legal a,
.footer-credit a{font-size:14px !important}

/* ---------- Marquee ---------- */
.marquee__item{font-size:13.5px !important;letter-spacing:.18em !important}

/* ---------- Article body ---------- */
.article-page__title{font-size:clamp(32px, 4.4vw, 56px) !important;line-height:1.08 !important}
.article-page__lede{font-size:17.5px !important;line-height:1.7 !important}
.article-page__meta{font-size:12.5px !important}
.article-page__body{
  max-width:800px !important;
}
.article-page__body p{font-size:18px !important;line-height:1.85 !important}
.article-page__body h2{font-size:clamp(24px, 2.6vw, 32px) !important;line-height:1.25 !important}
.article-page__body ul li{font-size:17.5px !important;line-height:1.8 !important}
.article-page__intro{font-size:19.5px !important;line-height:1.75 !important}
.article-page__end{font-size:16.5px !important}

/* ---------- Breadcrumbs ---------- */
.crumbs ol{font-size:13.5px !important}

/* ---------- Homepage sticky nav ---------- */
.home-sticky-nav a{font-size:13px !important;letter-spacing:.14em !important}

/* ---------- Eyebrow / pill / kicker ---------- */
.eyebrow,
.div-pill,
.div-side-card__kicker,
.faq-head .eyebrow,
.aside-kicker{
  font-size:12px !important;
  letter-spacing:.24em !important;
}

/* ---------- Division row (divisions.php landing) ---------- */
.division-row__name{font-size:24px !important}
.division-row__tag{font-size:16px !important}
.division-row__summary{font-size:17px !important;line-height:1.75 !important}
.division-row__list li{font-size:16px !important;line-height:1.7 !important}
.division-row__section-head{font-size:12.5px !important}
.division-row__section-list li{font-size:15.5px !important}
.division-row__roman{font-size:34px !important}

/* ============================================================
   MOBILE — same sizes or bigger
   ============================================================ */
@media (max-width: 700px){

  html{font-size:16.5px !important}
  body{font-size:16.5px !important}

  p, li{font-size:16.5px !important;line-height:1.75 !important}

  .div-prose p,
  .home-split__copy p,
  .home-feature__copy p,
  .prose-main p{font-size:17px !important;line-height:1.78 !important}

  h1, .hero__title, .page-hero__title, .home-hero__title, .div-hero__title{
    font-size:clamp(32px, 9vw, 44px) !important;
    line-height:1.05 !important;
  }
  h2, .div-block__title, .home-head .div-block__title{
    font-size:clamp(26px, 7.5vw, 34px) !important;
  }
  h3{font-size:22px !important}
  h4{font-size:19px !important}

  /* Nav */
  .nav-list > li > a{font-size:18px !important;padding:20px 0 !important}
  .mega-item__title{font-size:16.5px !important}
  .mega-item__desc{font-size:14px !important;line-height:1.5 !important}
  .mega-menu__footer-links a{font-size:15.5px !important}

  /* Hero */
  .home-hero__title{font-size:36px !important}
  .home-hero__lede{font-size:17px !important;line-height:1.7 !important}
  .home-hero__eyebrow{font-size:12px !important}
  .home-hero__meta-num{font-size:28px !important}
  .home-hero__meta-label{font-size:12px !important}
  .div-hero__title,
  .page-hero__title{font-size:34px !important}
  .div-hero__lede,
  .page-hero__lede{font-size:17px !important}

  /* Stats */
  .div-stat__value{font-size:28px !important}
  .div-stat__label{font-size:12.5px !important}

  /* Cards */
  .svc-card__title{font-size:20px !important}
  .svc-card__sector{font-size:12.5px !important}
  .svc-card__desc{font-size:16px !important;line-height:1.7 !important}
  .svc-card__stat{font-size:12px !important}
  .svc-card__cta{font-size:13.5px !important}
  .division-card__name{font-size:20px !important}
  .division-card__desc{font-size:16px !important;line-height:1.7 !important}
  .article-card__title{font-size:19px !important}
  .article-card__desc{font-size:16px !important;line-height:1.7 !important}
  .method h3{font-size:21px !important}
  .method p{font-size:16.5px !important;line-height:1.75 !important}

  /* Section cards */
  .div-section-card__title{font-size:23px !important}
  .div-section-card__list li{font-size:16.5px !important;line-height:1.7 !important}
  .div-capabilities__title{font-size:23px !important}
  .div-capabilities__list li{font-size:16.5px !important;line-height:1.7 !important}
  .capability-card{font-size:16px !important;line-height:1.65 !important}

  /* Standards */
  .standard__title{font-size:20px !important}
  .standard__desc{font-size:16.5px !important;line-height:1.75 !important}

  /* Milestones / footprint */
  .milestone__label{font-size:19px !important}
  .milestone__desc{font-size:16px !important;line-height:1.7 !important}
  .footprint__city{font-size:24px !important}
  .footprint__role{font-size:16px !important}

  /* FAQ */
  .home-faq__item summary{font-size:18px !important;padding:20px 22px !important}
  .home-faq__body{font-size:16.5px !important;line-height:1.75 !important}

  /* Sidebar */
  .aside-title{font-size:22px !important}
  .aside-desc{font-size:16px !important;line-height:1.7 !important}
  .aside-contact a{font-size:16px !important}
  .aside-div-name{font-size:16px !important}
  .aside-div-sector{font-size:13px !important}
  .aside-div-numeral{font-size:17px !important}
  .aside-btn{font-size:16px !important;padding:17px 20px !important}
  .aside-wa{font-size:15.5px !important;padding:16px 18px !important}
  .aside-viewall{font-size:14.5px !important}
  .aside-kicker{font-size:12px !important}

  /* Buttons */
  .btn,
  .btn--solid,
  .btn--outline{
    font-size:16.5px !important;
    padding:16px 26px !important;
  }

  /* CTA */
  .cta__heading{font-size:30px !important}
  .cta__body{font-size:16.5px !important}

  /* Inquire */
  .div-inquire__text h4{font-size:22px !important}
  .div-inquire__text p{font-size:16.5px !important}
  .div-inquire__phone,
  .div-inquire__cta{font-size:16px !important;padding:16px 24px !important}

  /* Filter chips */
  .filter-chip{font-size:14.5px !important;padding:12px 17px !important}

  /* Project cards */
  .project-card__title{font-size:19px !important}
  .project-card__meta{font-size:14.5px !important}

  /* Article */
  .article-page__body{padding:32px 18px 40px !important}
  .article-page__body p{font-size:17.5px !important;line-height:1.8 !important}
  .article-page__body h2{font-size:26px !important}
  .article-page__body ul li{font-size:17px !important}
  .article-page__intro{font-size:19px !important;line-height:1.75 !important}
  .article-page__title{font-size:32px !important}

  /* Footer */
  .footer-news__title{font-size:24px !important}
  .footer-news__desc{font-size:16px !important;line-height:1.7 !important}
  .footer-news__field input,
  .footer-news__field select{font-size:16px !important;height:54px !important}
  .footer-news__form button{font-size:16px !important;height:54px !important}
  .footer-news__legal{font-size:13px !important}
  .footer-h{font-size:14px !important}
  .footer-list a,
  .footer-list li{font-size:16px !important;line-height:1.7 !important}
  .footer-brand__desc{font-size:16px !important;line-height:1.7 !important}
  .footer-brand__reg{font-size:14.5px !important}
  .footer-col--contact strong{font-size:13px !important}
  .footer-col--contact span{font-size:15.5px !important}
  .footer-col--contact a{font-size:16px !important}
  .footer-base{font-size:14.5px !important}
  .footer-legal a,
  .footer-credit a{font-size:14.5px !important}

  /* Eyebrow / pill / kicker */
  .eyebrow,
  .div-pill,
  .aside-kicker{
    font-size:12.5px !important;
  }

  /* Marquee */
  .marquee__item{font-size:13.5px !important}
}

/* ---------- Small phones: keep base ---------- */
@media (max-width: 420px){
  html{font-size:16px !important}
  body{font-size:16px !important}
  p, li{font-size:16px !important}
  .home-hero__title{font-size:32px !important}
  .div-hero__title,
  .page-hero__title{font-size:30px !important}
  .div-block__title{font-size:26px !important}
  .svc-card__title{font-size:19px !important}
  .article-page__body p{font-size:17px !important}
}
