/* RichardBarkley — brand layer over v2.css + v3.css.
   Palette (color psychology): Deep Teal #0B2A31 = trust, composure, authority; Copper #C8743A = decisive action, warmth,
   the built world (used for calls to action and the data-date line only); Limestone #F4F1EA = permanence, calm, premium paper;
   Sky #9CC3C9 = clarity, foresight (secondary accent on dark plates).
   Type: Newsreader (display serif, italic payoffs), Hanken Grotesk (text/UI), DM Mono (data labels). */

:root,html[data-theme]{
  --deep:#0B2A31; --deep2:#123A43; --deep3:#07222A; --copper:#C8743A; --copper2:#A65A25; --copperL:#E7A877; --sky:#9CC3C9; --sky2:#CFE3E5; --stone:#F4F1EA; --stone2:#EAE4D8;
  /* v3 tokens re-pointed */
  --red:var(--copper); --red2:var(--copper2); --wine:#6B3412; --navy:var(--deep); --navy2:var(--deep2); --steel:#4F7F87; --steel2:#C7D9DB; --mist:var(--stone);
  --acc:var(--copper); --acc2:var(--sky); --accA:rgba(200,116,58,.16); --on-acc:#fff;
  --disp:'Newsreader',Georgia,'Times New Roman',serif; --sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'DM Mono',ui-monospace,Consolas,monospace; --logo:var(--disp);
  --bg:#FBFAF7; --bg2:#F4F1EA; --bg3:#EAE4D8; --card:#fff;
  --ink:#0B2A31; --ink2:#2E4B52; --mute:#5B6F74; --line:rgba(11,42,49,.12); --line2:rgba(11,42,49,.24);
  --inv:#0B2A31; --inv-ink:#F4F1EA; --inv-mute:#9CC3C9; --inv-line:rgba(244,241,234,.16);
  --hd:112px; --r:6px;
  color-scheme:light;
}
body{background:var(--bg);color:var(--ink);font:400 17px/1.66 var(--sans)}
::selection{background:var(--copper);color:#fff}

/* ---------- type ---------- */
.display,.h1,.h2,.h3,.statement,.gx__h,.gp__h,.gs__h,.gk__h,.gi__h,.gj__h,.gft__h,.quote blockquote{font-family:var(--disp);font-optical-sizing:auto}
.display{font-weight:400;font-size:clamp(3rem,6.6vw,6.6rem);line-height:1;letter-spacing:-.025em}
.h1{font-weight:400;font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:1.02;letter-spacing:-.022em}
.h2{font-weight:400;font-size:clamp(2.1rem,3.8vw,3.7rem);line-height:1.08;letter-spacing:-.018em}
.h3{font-weight:500;letter-spacing:-.012em;line-height:1.14}
.h4{font-family:var(--sans);font-weight:700;letter-spacing:-.005em}
.statement{font-weight:400;letter-spacing:-.015em;line-height:1.2}
.display em,.h1 em,.h2 em,.h3 em,.h4 em,.statement em,.lede em,.quote blockquote em{font-style:italic;color:var(--copper2);background:none}
.kicker{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper2);display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";display:block;width:18px;height:1px;background:currentColor}
.lede{color:var(--ink2);font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.62}
.mono{font-family:var(--mono);letter-spacing:.08em}
/* dark surfaces flip emphasis to light copper */
.sec--paper em,.ph--dark em,.cta em,.gft em,.gk--deep em,.gx em,.mm__feat em{color:var(--copperL)}
.sec--paper .kicker,.cta .kicker,.gk--deep .kicker,.gft .kicker{color:var(--copperL)}

/* ---------- buttons ---------- */
.btn{--bh:54px;border-radius:var(--r);padding:0 24px;gap:12px;font:600 15px/1 var(--sans);letter-spacing:.005em;text-transform:none}
.btn--gold{background:var(--copper);border:1.5px solid var(--copper);color:#fff}
.btn--gold:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn--ghost{border:1.5px solid var(--line2);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn--line{border:1.5px solid currentColor}
.btn--line:hover{background:#fff;border-color:#fff;color:var(--deep)}
.btn--glass{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn--glass:hover{background:#fff;color:var(--deep);border-color:#fff}
.btn--sm{--bh:44px;padding:0 18px;font-size:14px}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.link{font-weight:600;background-image:linear-gradient(var(--copper),var(--copper))}
.link:hover{color:var(--copper2)}

/* ---------- brand mark ---------- */
.mk{display:block;width:44px;height:44px;flex:none}
.mk__t{fill:var(--deep)}
.mk__l{fill:var(--stone);font:500 23px var(--disp)}
.mk__d{stroke:var(--copper);stroke-width:2;fill:none}
.mk__m{fill:var(--copper)}
.brand{display:flex;flex-direction:row;align-items:center;gap:12px;color:inherit}
.brand__t{display:flex;flex-direction:column;gap:5px}
.brand__w{font:500 27px/1 var(--disp);letter-spacing:-.018em;white-space:nowrap}
.brand__w b{font-weight:500;font-style:italic;color:var(--copper)}
.brand .brand__d{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.88;white-space:nowrap}
.quote .mk,.quote svg.mk{width:56px;height:56px}

/* ---------- header ---------- */
.hd{height:var(--hd);color:var(--ink);background:rgba(251,250,247,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hd.is-solid,.hd.is-open{background:rgba(251,250,247,.96);color:var(--ink)}
.pg-home .hd:not(.is-solid):not(.is-open){background:transparent;border-bottom-color:rgba(255,255,255,.18);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.pg-home .hd:not(.is-solid)::before{background:linear-gradient(rgba(5,22,27,.62),rgba(5,22,27,0))}
.pg-home .hd:not(.is-solid):not(.is-open) .mk__t{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.55);stroke-width:1}
.hd__in{gap:28px}
.hd__r{gap:10px}
.hd__row{display:flex;align-items:center;gap:26px}
.util a,.util button{color:inherit;font:500 13.5px/1.2 var(--sans);opacity:.78;border-left-color:currentColor;border-left-width:0;padding:4px 0 4px 22px}
.util a:hover,.util button:hover,.util a[aria-current]{opacity:1;text-decoration:none;color:var(--copper)}
.pg-home .hd:not(.is-solid) .util a:hover,.pg-home .hd:not(.is-solid) .util button:hover{color:#fff}
.nav__a{color:inherit;font:600 15.5px/1.2 var(--sans);letter-spacing:0;text-transform:none;padding:8px 0 8px 26px}
.nav__i:hover .nav__a,.nav__i.is-open .nav__a{color:inherit}
.nav__a::after{left:26px;background:var(--copper);height:2px}
.nav__a[aria-current]{color:var(--copper2)}
.pg-home .hd:not(.is-solid) .nav__a[aria-current]{color:#fff}
.hd .burger{color:inherit;border-color:currentColor}
.hd__cta{--bh:42px}
.pg-home .hd:not(.is-solid):not(.is-open) .hd__cta{background:#fff;border-color:#fff;color:var(--deep)}
.pg-home .hd:not(.is-solid):not(.is-open) .hd__cta:hover{background:var(--copper);border-color:var(--copper);color:#fff}
/* mega menus */
.mm{background:var(--bg);border-top:3px solid var(--copper);box-shadow:0 40px 80px -30px rgba(11,42,49,.38)}
.mm__h .mono{font-family:var(--mono);font-weight:500;color:var(--copper2)}
.mm__h .h2{font-weight:400}
.mm__col h4{font:500 11px var(--mono);letter-spacing:.14em;color:var(--mute);border-bottom:1.5px solid var(--deep)}
.mm__col a{font-family:var(--sans);font-weight:600;font-size:15.5px}
.mm__col a small,.pp li a small,.prl button small{font-family:var(--mono);color:var(--copper2);font-weight:500}
.mm__feat div{background:var(--deep);color:#fff}
.mm__feat .mono{color:var(--copperL)}
.mm__feat img{object-position:center 22%}
.prl button.is-on,.prl a,.mm__col a:hover,.pp li a:hover{color:var(--copper2)}
.dw{background:var(--bg)}
.dw .brand{color:var(--ink)}
.dacc>button,.dacc>a{font-family:var(--disp);font-weight:400;font-size:26px}
.dacc>button small,.dacc>a small{font-family:var(--mono);color:var(--copper2)}
.srch{background:rgba(7,34,42,.6)}
.srch__box{border-top:3px solid var(--copper)}
.srch__res a.is-on,.srch__res a:hover{background:var(--deep)}

/* ---------- shared components ---------- */
.sec--deep{background:var(--bg2)}
.sec--paper{background:var(--deep);color:var(--stone);--ink:#F4F1EA;--ink2:rgba(244,241,234,.86);--mute:#9CC3C9;--line:rgba(244,241,234,.16);--line2:rgba(244,241,234,.3)}
.shead{gap:30px 60px;margin-bottom:clamp(40px,5vw,64px)}
.card{border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(11,42,49,.35)}
.card__img{margin:0;border-radius:0}
.tile,.cap,.val,.out,.relc,.spec>div,.panel{border-radius:var(--r)}
.panel{border-top:3px solid var(--copper);box-shadow:0 30px 70px -34px rgba(11,42,49,.35)}
.field label{color:var(--deep);font-weight:700}
.field input,.field select,.field textarea{border-radius:var(--r)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px var(--accA)}
.filters button{border-radius:var(--r);border:1.5px solid var(--line2);font-weight:600}
.filters button:first-child{border-left:1.5px solid var(--line2)}
.filters button.is-on{background:var(--deep);border-color:var(--deep);color:#fff}
.faq{border-top:1.5px solid var(--deep)}
.faq summary{font-family:var(--disp);font-weight:400;font-size:clamp(1.2rem,1.6vw,1.45rem)}
.faq details[open] summary i{background:var(--copper);border-color:var(--copper)}
.quote blockquote{font-weight:400;letter-spacing:-.02em;line-height:1.14}
.marquee{background:var(--deep);border-color:var(--deep);color:var(--stone)}
.marquee a:hover{color:var(--copperL)}
.chips a,.chips span{border-radius:999px}
.chips a:hover{background:var(--copper);border-color:var(--copper);color:#fff}
.tbc{display:none}
.totop{background:var(--copper);border-color:#fff}
.totop:hover{background:var(--deep)}

/* ---------- inner hero: limestone page, image under an arch, copper data-date line ---------- */
.ph{background:var(--bg2);color:var(--ink);min-height:min(740px,88svh);--ink:#0B2A31;--ink2:#2E4B52;--mute:#5B6F74;--line:rgba(11,42,49,.12);--line2:rgba(11,42,49,.24)}
.ph::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(11,42,49,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,42,49,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(90deg,#000 0,transparent 60%);mask-image:linear-gradient(90deg,#000 0,transparent 60%)}
.ph .crumbs{color:var(--mute)}
.ph .crumbs a:hover{color:var(--copper2)}
.ph .kicker{color:var(--copper2)}
.ph .h1{color:var(--ink);max-width:min(14ch,54%)}
.ph .h1 em{color:var(--copper2)}
.ph .lede{color:var(--ink2)}
.ph .fig{top:calc(var(--hd) + 34px);bottom:54px;right:var(--gut);width:min(40%,620px);clip-path:none;border-radius:400px 400px var(--r) var(--r);overflow:hidden;background:var(--bg3);box-shadow:0 40px 80px -40px rgba(11,42,49,.45)}
.ph .imgrev::after{background:var(--bg3)}
.ph::after{right:auto;left:calc(100% - var(--gut) - min(40%,620px) - 28px);top:calc(var(--hd) + 34px);bottom:54px;width:1.5px;height:auto;aspect-ratio:auto;border-radius:0;background:var(--copper)}
.ph .btn--ghost{border-color:var(--line2);color:var(--ink)}
.ph .btn--ghost:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.bh .kicker{color:var(--copperL)}
.bh .h1 em{color:var(--copperL)}

/* ---------- closing CTA: deep teal plate, image under an arch ---------- */
.cta{background:var(--deep);color:var(--stone)}
.cta__bg{top:clamp(50px,6vw,90px);bottom:0;right:var(--gut);width:min(36%,560px);clip-path:none;border-radius:400px 400px 0 0;overflow:hidden}
.cta .display{color:#fff;font-weight:400}
.cta .display em{color:var(--copperL)}
.cta .lede{color:rgba(244,241,234,.86)}
.cta .btn--gold{background:var(--copper);border-color:var(--copper);color:#fff}
.cta .btn--gold:hover{background:#fff;border-color:#fff;color:var(--deep)}
.cta .btn--ghost{border-color:rgba(244,241,234,.5);color:#fff}
.cta .btn--ghost:hover{background:#fff;color:var(--deep);border-color:#fff}

/* ---------- footer ---------- */
.gft{background:var(--deep3);color:var(--stone)}
.gft__img{right:var(--gut);top:clamp(90px,10vw,150px);width:min(32%,480px);height:540px;clip-path:none;border-radius:400px 400px var(--r) var(--r);overflow:hidden}
.gft__img::after{display:none}
.brand--ft{color:#fff}
.brand--ft .mk{width:52px;height:52px}
.brand--ft .mk__t{fill:var(--deep2)}
.brand--ft .brand__w{font-size:32px}
.gft__h{font-weight:400}
.gft__h em{font-style:italic;color:var(--copperL)}
.gft__mail{margin:22px 0 0;font-size:15px;color:rgba(244,241,234,.75)}
.gft__mail a{color:#fff;border-bottom:1px solid var(--copper)}
.gft__nav a{font:400 24px/1.2 var(--disp)}
.gft__nav a:hover,.gft__cols a:hover{color:var(--copperL)}
.gft__cols h4,.gft__news h4{font:500 11px var(--mono);letter-spacing:.14em;color:var(--copperL)}
.gft__news{background:var(--deep);border-radius:var(--r)}
.gft__news form{border-radius:var(--r)}
.gft__news button{background:var(--copper);font:700 12px var(--sans)}
.gft__word{font:400 clamp(4rem,15.5vw,15rem)/.82 var(--disp);letter-spacing:-.045em;white-space:nowrap;text-align:center;color:rgba(244,241,234,.07);margin-top:70px;overflow:hidden;user-select:none}
.gft__word b{font-weight:400;font-style:italic;color:rgba(200,116,58,.22)}
.gft__b{margin-top:0}

/* =====================================================================
   HOME
   ===================================================================== */
/* hero */
.rh{align-items:stretch;min-height:700px;background:var(--deep3)}
.rh .gx__veil{background:linear-gradient(90deg,rgba(5,22,27,.78) 0%,rgba(5,22,27,.38) 55%,rgba(5,22,27,.15)),linear-gradient(rgba(5,22,27,0) 50%,rgba(5,22,27,.7))}
.rh__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:end;gap:40px 60px;padding-top:calc(var(--hd) + 40px);padding-bottom:110px;width:100%}
.rh__eb{display:inline-flex;align-items:center;gap:12px;font:500 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.rh__eb i{width:9px;height:9px;background:var(--copper);transform:rotate(45deg)}
.rh__h{font:400 clamp(3.4rem,8.4vw,8.6rem)/.94 var(--disp);letter-spacing:-.035em;margin:26px 0 0;max-width:9ch;color:#fff}
.rh__h em{color:var(--copperL)}
.rh__sub{font-size:clamp(1.05rem,1.35vw,1.28rem);line-height:1.6;color:rgba(255,255,255,.88);max-width:52ch;margin:28px 0 0}
.rh__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.rq{background:rgba(7,34,42,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:22px;color:#fff}
.rq__q{font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copperL);margin:0 0 10px}
.rq__o{display:grid;grid-template-columns:30px 1fr 18px;gap:12px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.14);transition:padding .35s var(--ease)}
.rq__o small{font:500 11px var(--mono);color:rgba(255,255,255,.55)}
.rq__o span{display:flex;flex-direction:column;font-size:14px;color:rgba(255,255,255,.72);line-height:1.4}
.rq__o b{font:500 21px/1.15 var(--disp);color:#fff;margin-bottom:2px}
.rq__o .ar{width:18px;color:var(--copperL);transition:transform .35s var(--ease)}
.rq__o:hover{padding-left:8px}
.rq__o:hover .ar{transform:translateX(4px)}
.rt{position:absolute;left:0;right:0;bottom:0;height:46px;overflow:hidden;border-top:1px solid rgba(255,255,255,.16);background:rgba(5,22,27,.45);display:flex;align-items:center}
.rt__t{display:flex;gap:56px;white-space:nowrap;animation:rtRun 46s linear infinite;padding-left:56px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.rt__t span{display:inline-flex;align-items:center;gap:56px}
.rt__t span::after{content:"";width:6px;height:6px;background:var(--copper);transform:rotate(45deg)}
.rt__t b{color:#fff;font-weight:500;margin-left:8px}
@keyframes rtRun{to{transform:translateX(-50%)}}
.rh .gx__pause{bottom:66px;right:var(--gut)}
@media (prefers-reduced-motion:reduce){.rt__t{animation:none}}

/* see / decide / finish — expanding panels (hover widens, no scroll effects) */
.rs__row{display:flex;gap:14px;height:clamp(460px,44vw,600px)}
.rs__p{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:10px;color:#fff;isolation:isolate;transition:flex .7s var(--ease)}
.rs__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.rs__p::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(7,34,42,.05) 25%,rgba(7,34,42,.88))}
.rs__p:hover{flex:1.7}
.rs__p:hover img{transform:scale(1.04)}
.rs__n{position:absolute;top:22px;left:24px;font:500 12px var(--mono);letter-spacing:.14em;padding:7px 10px;border:1px solid rgba(255,255,255,.4);border-radius:4px}
.rs__b{position:absolute;left:0;right:0;bottom:0;padding:28px}
.rs__b small{display:block;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copperL);margin-bottom:12px}
.rs__b .h3{color:#fff;font-size:clamp(1.6rem,2.3vw,2.2rem);max-width:15ch}
.rs__b .h3 em{color:var(--copperL)}
.rs__b p{color:rgba(255,255,255,.86);font-size:15.5px;line-height:1.6;margin:14px 0 18px;max-width:42ch}
.rs__b .link{color:#fff}

/* S-curve stats */
.rk .sc{background:var(--card);border:1px solid var(--line);border-radius:10px}
.rk .sc__pt b{font-family:var(--disp);font-weight:400;letter-spacing:-.02em}
.sc .ev{stroke:var(--copper)}
.sc .pv{stroke:var(--sky)}

/* practice network */
.net__map svg .nd rect{rx:6px}
.net__panel{border-radius:10px}

/* projects carousel on deep teal */
.gk--deep{background:var(--deep);color:var(--stone);--eb:var(--copperL);--ln:rgba(244,241,234,.16)}
.gk--deep .gk__h{color:#fff;font-weight:400;margin-top:18px}
.gk--deep .gk__h span{color:var(--copperL);font-style:italic}
.gk--deep .gk__btn{color:var(--deep)}
.gk--deep .gc__go{background:var(--copper);color:#fff}
.gk--deep .gk__prog.hs__prog i{background:var(--copper)}
.gc__t{font-family:var(--disp);font-weight:400}
.gc__m{border-radius:6px}

/* CEO */
.ceo{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.ceo__img{position:relative;margin:0;aspect-ratio:4/5;border-radius:400px 400px 10px 10px;overflow:hidden;background:var(--bg3);box-shadow:0 50px 90px -50px rgba(11,42,49,.55)}
.ceo__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.ceo__img figcaption{position:absolute;left:18px;bottom:18px;background:rgba(251,250,247,.94);backdrop-filter:blur(8px);padding:12px 16px;border-radius:6px;font-size:13px;color:var(--mute);display:flex;flex-direction:column;border-left:3px solid var(--copper)}
.ceo__img figcaption b{font:500 18px var(--disp);color:var(--ink)}
.ceo__q{font:400 clamp(1.8rem,3vw,2.9rem)/1.18 var(--disp);letter-spacing:-.015em;margin:24px 0 26px;color:var(--ink)}
.ceo__q em{color:var(--copper2)}
.ceo__sig{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.ceo__sig span{font:italic 400 30px var(--disp);color:var(--deep)}
.ceo__copy h2{margin:18px 0 6px}
.ceo__copy .ceo__title,.ceo__copy>p:first-of-type{color:var(--mute)}
.ceo__copy p{color:var(--ink2)}

/* program health check */
.hc__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:clamp(30px,5vw,70px);align-items:center}
.hc__qs{list-style:none;margin:0;padding:0;counter-reset:q;border-top:1px solid var(--line)}
.hc__q{counter-increment:q;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.hc__q::before{content:"0" counter(q);font:500 12px var(--mono);color:var(--copper2)}
.hc__q p{margin:0;font-size:16px;line-height:1.5;color:var(--ink2)}
.hc__q p b{color:var(--ink);font-weight:700}
.hc__a{display:flex;border:1.5px solid var(--line2);border-radius:var(--r);overflow:hidden}
.hc__a button{padding:10px 14px;font:600 13.5px var(--sans);color:var(--ink2);border-left:1px solid var(--line);transition:background .2s,color .2s}
.hc__a button:first-child{border-left:0}
.hc__a button:hover{background:var(--bg3)}
.hc__a button.is-on{background:var(--deep);color:#fff}
.hc__r{background:var(--deep);color:var(--stone);border-radius:12px;padding:clamp(28px,3vw,40px);text-align:center;display:flex;flex-direction:column;align-items:center}
.hc__g{position:relative;width:170px;height:170px}
.hc__g svg{width:100%;height:100%;transform:rotate(-90deg)}
.hc__g circle{fill:none;stroke:rgba(244,241,234,.14);stroke-width:8}
.hc__g .hc__arc{stroke:var(--copper);stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease),stroke .4s}
[data-band="ok"] .hc__arc{stroke:#6FC2A5}
[data-band="bad"] .hc__arc{stroke:#E0795A}
.hc__s{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hc__s b{font:400 56px/1 var(--disp);color:#fff}
.hc__s small{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.hc__band{font:400 28px/1.1 var(--disp);color:#fff;margin:22px 0 10px}
.hc__txt{font-size:15px;line-height:1.6;color:rgba(244,241,234,.82);margin:0 0 14px;min-height:4.8em}
.hc__n{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin:0 0 22px}

/* careers card */
.gj{background:var(--bg);padding:clamp(90px,10vw,140px) 0}
.gj__card{background:var(--bg2);padding:14px;border-radius:12px;border:1px solid var(--line)}
.gj__img{border-radius:8px}
.gj__h{color:var(--ink);font-weight:400;margin:18px 0 18px}
.gj__h span{color:var(--copper2);font-style:italic}
.gj__p{color:var(--ink2);margin:0 0 30px;max-width:46ch}
.gj .btn--line{color:var(--ink);border-color:var(--line2)}
.gj .btn--line:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.pg-home .gft{padding-top:clamp(100px,11vw,160px)}

/* ---------- responsive ---------- */
@media (max-width:1280px){
  .nav__a{padding-left:18px;font-size:14.5px}
  .nav__a::after{left:18px}
  .hd__row{gap:18px}
}
@media (max-width:1100px){
  :root,html[data-theme]{--hd:76px}
  .brand__w{font-size:23px}
  .mk{width:40px;height:40px}
  .rh__in{grid-template-columns:1fr;align-items:end}
  .rq{max-width:520px}
  .hc__grid{grid-template-columns:1fr}
  .ceo{grid-template-columns:1fr}
  .ceo__img{max-width:460px}
}
@media (max-width:900px){
  .ph .fig{position:relative;top:auto;bottom:auto;right:auto;width:auto;aspect-ratio:4/3.4;margin:40px 0 0;border-radius:300px 300px var(--r) var(--r)}
  .ph .h1{max-width:none}
  .ph{padding-bottom:50px}
  .ph::after{display:none}
  .cta__bg{display:none}
  .gft__img{display:none}
  .rs__row{flex-direction:column;height:auto}
  .rs__p{min-height:420px}
  .rs__p:hover{flex:1}
  .rs__p::after{background:linear-gradient(rgba(7,34,42,.2),rgba(7,34,42,.94) 48%)}
}
@media (max-width:620px){
  .brand .brand__d{display:none}
  .brand__w{font-size:21px}
  .rh__h{font-size:clamp(3rem,15vw,4.2rem)}
  .rh__in{padding-bottom:84px}
  .rq{padding:16px}
  .rh .gx__pause{display:none}
  .rt{display:none}
  .rh__in{padding-bottom:40px}
  .rh__eb{font-size:10.5px;letter-spacing:.12em}
  .rk .sc__pt b{font-size:30px}
  .rk .sc__pt span{font-size:9px;letter-spacing:.04em}
  .rk .sc__pt:last-child{margin-left:-34px}
  .hc__q{grid-template-columns:30px minmax(0,1fr)}
  .hc__a{grid-column:2}
  .gft__word{font-size:22vw}
}

/* ---------- tighter vertical rhythm (2026-10-26) ---------- */
.sec{padding:clamp(56px,6.5vw,100px) 0}
.sec--tight{padding:clamp(42px,4.6vw,72px) 0}
.sec:not([class*="sec--"])+.sec:not([class*="sec--"]),.sec--deep+.sec--deep,.sec--paper+.sec--paper{padding-top:0}
.shead{margin-bottom:clamp(28px,3.4vw,50px)}
.ph{min-height:min(620px,76svh);padding-bottom:clamp(40px,4.5vw,64px)}
.ph .fig{bottom:40px}
.ph::after{bottom:40px}
.cta{padding:clamp(64px,7.5vw,116px) 0}
.gk{padding:clamp(60px,6.5vw,100px) 0}
.gj{padding:clamp(56px,6.5vw,96px) 0}
.gft,.pg-home .gft{padding-top:clamp(64px,7vw,104px)}
.gft__nav{margin-top:36px}
.gft__cols{margin-top:48px}
.gft__news{margin-top:40px}
.gft__word{margin-top:40px}
.rs__row{height:clamp(420px,38vw,540px)}

.sec--paper .h2 em,.sec--paper .h3 em,.sec--paper .statement em,.sec--paper .lede em{color:var(--copperL)}
.sec--paper .lede{color:rgba(244,241,234,.86)}

/* ---------- round 2 spacing (2026-10-26 doc feedback) ---------- */
/* hero grows with its content, so the buttons never sit under the ticker on short screens */
.rh{height:auto;min-height:min(100svh,900px)}
.rh__in{padding-top:calc(var(--hd) + clamp(20px,3vh,40px));padding-bottom:calc(46px + clamp(28px,4vh,48px))}
.rh__h{font-size:clamp(3.2rem,min(8vw,13.5svh),8.2rem);margin-top:18px}
.rh__sub{margin-top:20px}
.rh__btns{margin-top:26px;position:relative;z-index:2}
.rh .gx__pause{bottom:62px}
.rh+.sec{padding-top:clamp(40px,4.5vw,64px)}
/* approach: phases side by side as one compact Gantt row */
.ag{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
.ag__scale{grid-column:1/-1}
.ag__row{display:contents}
.ag__bar{margin:12px 8px 14px;margin-top:calc(12px + var(--i) * 18px);align-self:start}
.ag__bar b{font-size:1.15rem}
/* related cards, faq, deliverables */
.relc{min-height:0;gap:20px;padding:22px}
.faq summary{padding:16px 0}
.spec>div{padding:16px 0}
.bos a{padding:14px 0}
.cap,.val{padding:22px 22px 24px}
.onpage{margin-top:26px}
/* slimmer footer */
.gft__img{height:400px;width:min(28%,400px)}
.gft__h{margin:32px 0 22px}
.gft__nav{flex-direction:row;flex-wrap:wrap;gap:4px 28px;margin-top:30px}
.gft__nav a{font-size:20px;padding:6px 0}
.gft__cols{margin-top:40px;padding-top:32px}
.gft__news{margin-top:32px}
.gft__word{font-size:clamp(3.4rem,11vw,10rem);margin-top:28px}
.gft__b{padding-top:22px;padding-bottom:28px}
@media (max-width:900px){
  .ag{grid-template-columns:1fr}
  .ag__scale{display:none}
  .ag__bar{grid-column:1 !important;margin:8px 10px}
}
.rh+.sec{padding-top:clamp(32px,3.5vw,48px)}
