/* Brookwood prototype: three versions (data-v a|b|c), five palettes (data-p 1-5), four type pairings (data-f 1-4) */
:root{--ease:cubic-bezier(.2,.7,.1,1);--wrap:1320px;--r:18px;--pad:clamp(20px,4vw,56px)}
/* palettes: 1 and 2 are Brookwood's own brand (navy #103B56, sand #DECBB8, sage #778B7A) */
[data-p="1"]{--bg:#FFFFFF;--bg2:#F5F1EB;--card:#FFFFFF;--ink:#0E2433;--ink2:#26394A;--mute:#5E6B76;--line:rgba(16,59,86,.13);--acc:#103B56;--acc2:#C9AD8E;--acc-ink:#FFFFFF;--deep:#0C2D42;--deep-ink:#FFFFFF;--deep-mute:#A9B8C4;--dark:0}
[data-p="2"]{--bg:#0A1A26;--bg2:#0F2333;--card:#132A3C;--ink:#F3EEE7;--ink2:#D9D2C8;--mute:#93A3B1;--line:rgba(243,238,231,.12);--acc:#DECBB8;--acc2:#E9DCCD;--acc-ink:#0A1A26;--deep:#06121C;--deep-ink:#F3EEE7;--deep-mute:#93A3B1;--dark:1}
[data-p="3"]{--bg:#070B12;--bg2:#0C121D;--card:#111926;--ink:#F2EEE6;--ink2:#D8D2C6;--mute:#8F98A8;--line:rgba(242,238,230,.12);--acc:#C9A46A;--acc2:#E2C58F;--acc-ink:#0A0D12;--deep:#04070C;--deep-ink:#F2EEE6;--deep-mute:#8F98A8;--dark:1}
[data-p="4"]{--bg:#F5F0E7;--bg2:#ECE4D6;--card:#FBF8F2;--ink:#18202A;--ink2:#2C3540;--mute:#6C6A64;--line:rgba(24,32,42,.13);--acc:#9C5B32;--acc2:#C2834F;--acc-ink:#FFFFFF;--deep:#16202B;--deep-ink:#F5F0E7;--deep-mute:#A9A49A;--dark:0}
[data-p="5"]{--bg:#0A1513;--bg2:#10201C;--card:#152824;--ink:#EDF2EE;--ink2:#D2DDD7;--mute:#93A8A0;--line:rgba(237,242,238,.12);--acc:#D3B57C;--acc2:#E8D3A6;--acc-ink:#0A1513;--deep:#060E0C;--deep-ink:#EDF2EE;--deep-mute:#93A8A0;--dark:1}
[data-p="6"]{--bg:#FFFFFF;--bg2:#F1F4F8;--card:#FFFFFF;--ink:#0A1B2C;--ink2:#22374C;--mute:#5A6878;--line:rgba(10,27,44,.11);--acc:#003A63;--acc2:#3F86C7;--acc-ink:#FFFFFF;--deep:#002846;--deep-ink:#FFFFFF;--deep-mute:#9FB5CA;--dark:0}
/* type pairings: 1 is Brookwood's own (Libre Caslon Text + Roboto). --ds scales display sizes so wide faces never overflow */
[data-f="1"]{--fd:"Libre Caslon Text",Georgia,serif;--fb:"Roboto",system-ui,sans-serif;--dw:400;--dls:-.02em;--dem:italic;--ds:.8}
[data-f="2"]{--fd:"Instrument Serif",Georgia,serif;--fb:"Inter Tight",system-ui,sans-serif;--dw:400;--dls:-.015em;--dem:italic;--ds:1}
[data-f="3"]{--fd:"Manrope",system-ui,sans-serif;--fb:"Manrope",system-ui,sans-serif;--dw:600;--dls:-.035em;--dem:normal;--ds:.84}
[data-f="4"]{--fd:"Fraunces",Georgia,serif;--fb:"Inter Tight",system-ui,sans-serif;--dw:400;--dls:-.025em;--dem:italic;--ds:.9}
[data-f="1"] h1,[data-f="1"] h2,[data-f="1"] .h2{line-height:1.08}
[data-f="3"] h1,[data-f="3"] h2{line-height:1.02}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .5s,color .5s}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--fd);font-weight:var(--dw);letter-spacing:var(--dls);line-height:1.02;margin:0}
h1 em,h2 em,h3 em,.d em{font-style:var(--dem);color:var(--acc2)}
[data-p="1"] h1 em,[data-p="1"] h2 em,[data-p="4"] h1 em,[data-p="4"] h2 em{color:var(--acc)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--fb);letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
[data-dark="1"] .eyebrow{color:var(--acc2)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--ink2);max-width:640px}
.mute{color:var(--mute)}
.sec{padding:clamp(80px,11vw,150px) 0}
.sec--tight{padding:clamp(56px,7vw,96px) 0}
.h2{font-size:calc(var(--ds,1)*clamp(40px,5.4vw,84px))}
.h3{font-size:calc(var(--ds,1)*clamp(28px,3vw,44px))}
.vx{display:none}
[data-v="a"] .vx-a,[data-v="b"] .vx-b,[data-v="c"] .vx-c{display:block}
.fn{font-size:12px;line-height:1.5;color:var(--mute);max-width:820px}
.deep{background:var(--deep);color:var(--deep-ink)}
.deep .mute,.deep .fn{color:var(--deep-mute)}
.deep .lead{color:color-mix(in srgb,var(--deep-ink) 82%,transparent)}
.deep .eyebrow{color:var(--acc2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 26px;border-radius:999px;font:600 15px/1 var(--fb);letter-spacing:.01em;background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc);transition:background .3s,color .3s,border-color .3s;cursor:pointer}
.btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn:hover{background:var(--acc2);border-color:var(--acc2)}
.btn--ghost{background:transparent;color:inherit;border-color:color-mix(in srgb,currentColor 35%,transparent)}
.btn--ghost:hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:currentColor}
.btn--light{background:#fff;color:#0A1B2C;border-color:#fff}
.btn--light:hover{background:var(--acc2);border-color:var(--acc2);color:var(--acc-ink)}
.tl{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent);padding-bottom:4px;transition:border-color .3s}
.tl:hover{border-color:currentColor}
.tl svg{width:14px;height:14px;transition:transform .35s var(--ease)}
.tl:hover svg{transform:translateX(4px)}
[data-v="a"] .btn,[data-v="c"] .btn{border-radius:2px}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:transform .45s var(--ease),background .4s,border-color .4s,color .4s;border-bottom:1px solid transparent}
.hdr.hide{transform:translateY(-100%)}
.hdr__in{display:flex;align-items:center;gap:28px;height:84px;max-width:1480px;margin:0 auto;padding:0 var(--pad)}
.logo{display:block;height:34px;flex:none}
.logo img{height:100%;width:auto}
.logo .lw{display:none}
.nav{display:flex;gap:30px;margin-left:auto;font:500 14.5px/1 var(--fb)}
.nav a{position:relative;padding:8px 0;opacity:.88;transition:opacity .2s}
.nav a:hover,.nav a.on{opacity:1}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.hdr__act{display:flex;align-items:center;gap:14px}
.hdr__login{font:500 14px/1 var(--fb);display:flex;align-items:center;gap:8px;opacity:.88}
.hdr__login svg{width:15px;height:15px}
.hdr .btn{height:44px;padding:0 20px;font-size:14px}
.burger{display:none;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer}
.burger span{display:block;width:22px;height:1.5px;background:currentColor;margin:5px auto;transition:transform .3s}
/* over a dark hero: light text until scrolled */
.hdr--over{color:#fff}
.hdr--over .logo .lw{display:block}.hdr--over .logo .lc{display:none}
.hdr.solid{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line);color:var(--ink)}
.hdr.solid .logo .lw{display:none}.hdr.solid .logo .lc{display:block}
[data-dark="1"] .hdr.solid .logo .lw{display:block}[data-dark="1"] .hdr.solid .logo .lc{display:none}
[data-dark="1"] .logo .lw{display:block}[data-dark="1"] .logo .lc{display:none}
/* version B: floating pill header */
[data-v="b"] .hdr{top:14px;padding:0 14px}
[data-v="b"] .hdr__in{height:68px;border-radius:999px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 10px 40px -20px rgba(0,20,40,.25);max-width:1360px;color:var(--ink)}
[data-v="b"] .hdr.solid{background:none;border-color:transparent;backdrop-filter:none}
[data-v="b"] .hdr--over .logo .lw{display:none}[data-v="b"] .hdr--over .logo .lc{display:block}
[data-v="b"][data-dark="1"] .hdr .logo .lw{display:block}[data-v="b"][data-dark="1"] .hdr .logo .lc{display:none}
[data-v="b"] .hdr .btn{border-radius:999px}
/* version C: centered masthead */
[data-v="c"] .hdr__in{display:grid;grid-template-columns:1fr auto 1fr;height:92px}
[data-v="c"] .logo{grid-column:2;grid-row:1;height:36px}
[data-v="c"] .nav{grid-column:1;grid-row:1;margin:0;gap:24px;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}
[data-v="c"] .hdr__act{grid-column:3;grid-row:1;justify-content:flex-end}

/* footer */
.ftr{background:var(--deep);color:var(--deep-ink);padding:96px 0 40px}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.12)}
.ftr__top img{height:38px;width:auto;margin-bottom:26px}
.ftr h5{font:600 12px/1 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--acc2);margin:6px 0 20px}
[data-p="1"] .ftr h5{color:var(--deep-mute)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:15px}
.ftr ul a{opacity:.8}.ftr ul a:hover{opacity:1}
.ftr__addr{font-size:15px;line-height:1.7;color:var(--deep-mute)}
.ftr__big{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(56px,11vw,190px));letter-spacing:-.04em;line-height:.9;margin:64px 0 28px;color:color-mix(in srgb,var(--deep-ink) 92%,transparent)}
.ftr__big em{font-style:var(--dem);color:var(--acc2)}
.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;color:var(--deep-mute)}
.ftr__bot p{max-width:900px}

/* motion */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-d1{transition-delay:.1s}.js .rv-d2{transition-delay:.2s}.js .rv-d3{transition-delay:.3s}
.js .lines .ln{display:block;overflow:hidden}
.js .lines .ln>span{display:block;transform:translateY(105%);transition:transform 1.3s var(--ease)}
.js .lines.in .ln>span{transform:none}
.js .lines.in .ln:nth-child(2)>span{transition-delay:.12s}.js .lines.in .ln:nth-child(3)>span{transition-delay:.24s}
.qa .rv,.qa .lines .ln>span{opacity:1!important;transform:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.js .rv,.js .lines .ln>span{opacity:1;transform:none;transition:none}}

/* media helpers */
.media{position:relative;overflow:hidden;background:var(--bg2)}
.media img,.media video{width:100%;height:100%;object-fit:cover}
.shade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,12,.55) 0%,rgba(4,7,12,.15) 35%,rgba(4,7,12,.35) 65%,rgba(4,7,12,.92) 100%);pointer-events:none}

/* =========================  HOME A: Contrarian  ========================= */
.ha{position:relative;min-height:max(100svh,720px);padding-top:150px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#04070C}
.ha__bg{position:absolute;inset:0}
.ha__bg video,.ha__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:haZoom 22s ease-out forwards}
@keyframes haZoom{to{transform:scale(1)}}
.ha__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,12,.82) 0%,rgba(4,7,12,.45) 45%,rgba(4,7,12,.15) 100%),linear-gradient(0deg,rgba(4,7,12,.95) 0%,rgba(4,7,12,0) 40%)}
.ha__in{position:relative;width:100%;max-width:1480px;margin:0 auto;padding:0 var(--pad) 0}
.ha h1{font-size:calc(var(--ds,1)*clamp(54px,8.6vw,148px));line-height:.95;max-width:1200px;margin:22px 0 30px}
.ha h1 .rot{display:inline-grid;vertical-align:bottom;overflow:hidden;height:1.02em}
.ha h1 .rot span{grid-area:1/1;font-style:var(--dem);color:var(--acc2);transform:translateY(105%);transition:transform .9s var(--ease)}
.ha h1 .rot span.on{transform:none}
.ha h1 .rot span.out{transform:translateY(-105%)}
.ha__sub{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px}
.ha__sub .lead{color:rgba(255,255,255,.82);max-width:560px}
.ha__ctas{display:flex;gap:14px;flex-wrap:wrap}
.ha .btn--ghost{color:#fff}
.rail{position:relative;margin-top:56px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(4,1fr)}
.rail>div{padding:26px 0 30px;border-right:1px solid rgba(255,255,255,.12);padding-left:28px}
.rail>div:first-child{padding-left:0}.rail>div:last-child{border-right:0}
.rail b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(34px,3.6vw,58px));letter-spacing:-.02em;line-height:1}
.rail span{display:block;margin-top:10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ha .fn{color:rgba(255,255,255,.45);padding:0 0 22px}
.scrollcue{position:absolute;right:var(--pad);bottom:150px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:14px}
.scrollcue::after{content:"";width:1px;height:70px;background:linear-gradient(rgba(255,255,255,.7),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* manifesto: words light up with scroll */
.mani{padding:clamp(110px,15vw,220px) 0}
.mani p{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(34px,4.6vw,76px));line-height:1.08;letter-spacing:var(--dls);max-width:1240px}
.mani p span{color:color-mix(in srgb,var(--ink) 18%,transparent);transition:color .4s}
.mani p span.lit{color:var(--ink)}
.mani p span.a.lit{color:var(--acc2);font-style:var(--dem)}
[data-p="1"] .mani p span.a.lit,[data-p="4"] .mani p span.a.lit{color:var(--acc)}
.qa .mani p span{color:var(--ink)}
.mani__sig{display:flex;align-items:center;gap:18px;margin-top:56px}
.mani__sig img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.mani__sig b{display:block;font-size:16px}.mani__sig span{font-size:14px;color:var(--mute)}

/* pinned horizontal timeline */
.hz{position:relative;background:var(--deep);color:var(--deep-ink)}
.hz__pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hz__bg{position:absolute;inset:0;opacity:.28}
.hz__bg video{width:100%;height:100%;object-fit:cover}
.hz__head{position:relative;max-width:1480px;margin:0 auto 6vh;padding:0 var(--pad);width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.hz__head h2{font-size:calc(var(--ds,1)*clamp(40px,5vw,80px))}
.hz__bar{width:220px;height:2px;background:rgba(255,255,255,.15);position:relative}
.hz__bar i{position:absolute;inset:0;background:var(--acc2);transform-origin:left;transform:scaleX(var(--p,0))}
.hz__track{position:relative;display:flex;gap:28px;padding:0 var(--pad);will-change:transform}
.hzc{flex:none;width:min(480px,78vw);min-height:380px;padding:34px;border:1px solid rgba(255,255,255,.14);background:rgba(10,14,22,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column}
.hzc__y{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(64px,7vw,112px));line-height:.9;color:var(--acc2);letter-spacing:-.03em}
.hzc h3{font-family:var(--fb);font-weight:600;font-size:21px;letter-spacing:0;line-height:1.3;margin:auto 0 12px}
.hzc p{color:var(--deep-mute);font-size:16px}
.hzc--img{padding:0;overflow:hidden;position:relative;justify-content:flex-end}
.hzc--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hzc--img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(4,7,12,.92))}
.hzc--img div{position:relative;z-index:1;padding:34px}

/* engines */
.eng{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px);margin-top:64px}
.engc{position:relative;min-height:640px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,3vw,48px)}
.engc .media{position:absolute;inset:0}
.engc .media img,.engc .media video{transition:transform 1.6s var(--ease)}
.engc:hover .media img,.engc:hover .media video{transform:scale(1.05)}
.engc .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,12,.1),rgba(4,7,12,.88))}
.engc>*:not(.media){position:relative;z-index:1}
.engc small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.engc h3{font-size:calc(var(--ds,1)*clamp(34px,3.4vw,54px));margin:14px 0 14px}
.engc p{color:rgba(255,255,255,.8);max-width:460px}
.engc__n{display:flex;gap:40px;margin:26px 0 28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.engc__n b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:44px;line-height:1}
.engc__n span{font-size:13px;color:rgba(255,255,255,.65)}
.engc .tl{color:#fff;align-self:flex-start}

/* full-bleed feature (Yesway) */
.feat{position:relative;min-height:100svh;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#04070C}
.feat .media{position:absolute;inset:0;background:#04070C}
.feat .media img{transform:scale(1.12);transition:transform .2s linear;will-change:transform}
.feat .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,12,.88),rgba(4,7,12,.35) 60%,rgba(4,7,12,.2)),linear-gradient(0deg,rgba(4,7,12,.9),transparent 50%)}
.feat__in{position:relative;width:100%;max-width:1480px;margin:0 auto;padding:0 var(--pad) clamp(56px,8vw,110px)}
.feat h2{font-size:calc(var(--ds,1)*clamp(46px,6.4vw,110px));max-width:1000px;margin:20px 0 24px}
.feat .lead{color:rgba(255,255,255,.82)}
.feat__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:52px 0 40px;max-width:1100px}
.feat__stats b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(40px,4.4vw,70px));line-height:1;letter-spacing:-.02em}
.feat__stats span{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.62);letter-spacing:.04em}
.ticker{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font:600 13px/1 var(--fb);letter-spacing:.1em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(255,255,255,.06)}
.ticker i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* map */
.map{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:clamp(24px,3vw,48px);align-items:start;margin-top:48px}
.map__svg{position:relative}
.map__svg svg{width:100%;height:auto;overflow:visible}
.map__svg .nat{fill:color-mix(in srgb,var(--ink) 6%,transparent);stroke:color-mix(in srgb,var(--ink) 22%,transparent);stroke-width:.8}
.map__svg .st{fill:none;stroke:color-mix(in srgb,var(--ink) 12%,transparent);stroke-width:.6}
.deep .map__svg .nat{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.25)}
.deep .map__svg .st{stroke:rgba(255,255,255,.1)}
.dot{cursor:pointer;transition:opacity .4s,transform .4s}
.dot circle.c{fill:var(--acc);stroke:var(--bg);stroke-width:1.4;transition:r .3s}
.deep .dot circle.c{fill:var(--acc2);stroke:var(--deep)}
.dot circle.h{fill:var(--acc);opacity:.18}
.deep .dot circle.h{fill:var(--acc2)}
.dot.off{opacity:.08;pointer-events:none}
.dot.on circle.c,.dot:hover circle.c{r:7}
.dot--hq circle.c{fill:#fff!important;stroke:var(--acc)!important;stroke-width:3}
.js .dot{opacity:0}.js .map.in .dot{opacity:1;transition-delay:calc(var(--i)*25ms)}
.js .map.in .dot.off{opacity:.08}
.qa .dot{opacity:1!important}
.map__tip{position:absolute;pointer-events:none;width:260px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px -24px rgba(0,0,0,.45);transform:translate(-50%,calc(-100% - 18px));opacity:0;transition:opacity .25s;z-index:5}
.deep .map__tip{background:#0F1622;color:#F2EEE6;border-color:rgba(255,255,255,.14)}
.map__tip.show{opacity:1}
.map__tip img{width:100%;height:140px;object-fit:cover}
.map__tip div{padding:14px 16px}
.map__tip b{display:block;font-size:15px;line-height:1.3}
.map__tip span{font-size:13px;color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;font:500 14px/1 var(--fb);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.deep .chip{border-color:rgba(255,255,255,.18)}
.chip:hover{border-color:var(--acc)}
.chip.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.deep .chip.on{background:var(--acc2);border-color:var(--acc2);color:#0A0D12}
.chip em{font-style:normal;opacity:.6;margin-left:6px}
.maplist{margin-top:26px;max-height:470px;overflow:auto;border-top:1px solid var(--line);scrollbar-width:thin}
.deep .maplist{border-color:rgba(255,255,255,.12)}
.maplist button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;width:100%;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s}
.deep .maplist button{border-color:rgba(255,255,255,.1)}
.maplist button:hover,.maplist button.on{background:color-mix(in srgb,var(--acc) 8%,transparent)}
.maplist button[hidden]{display:none}
.maplist img{width:56px;height:42px;object-fit:cover}
.maplist b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.maplist span{font-size:12.5px;color:var(--mute)}
.deep .maplist span{color:var(--deep-mute)}

/* global + clocks */
.glob{position:relative;min-height:90svh;color:#fff;display:flex;align-items:center;overflow:hidden;background:#04070C}
.glob .media{position:absolute;inset:0;background:#04070C}
.glob .media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(4,7,12,.82),rgba(4,7,12,.35))}
.glob__in{position:relative;width:100%;max-width:1480px;margin:0 auto;padding:0 var(--pad)}
.glob h2{font-size:calc(var(--ds,1)*clamp(50px,7vw,120px));max-width:900px;margin:20px 0 26px}
.glob .lead{color:rgba(255,255,255,.8)}
.clocks{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
.clock{min-width:220px;padding:22px 24px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.clock small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.clock b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:46px;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums}
.clock span{font-size:13px;color:rgba(255,255,255,.62)}

/* quote */
.quote{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(32px,5vw,90px);align-items:center}
.quote__img{aspect-ratio:4/5;overflow:hidden}
.quote__img img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.quote blockquote{margin:0;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(28px,3.2vw,50px));line-height:1.18;letter-spacing:var(--dls)}
.quote blockquote::before{content:"\201C";display:block;font-size:2.4em;line-height:.6;color:var(--acc)}
.quote cite{display:block;margin-top:30px;font:500 15px/1.5 var(--fb);font-style:normal}
.quote cite span{display:block;color:var(--mute)}

/* doors */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);margin-top:56px}
.door{position:relative;display:flex;flex-direction:column;min-height:420px;padding:clamp(26px,2.6vw,40px);border:1px solid var(--line);background:var(--card);overflow:hidden;transition:border-color .4s,transform .6s var(--ease)}
.door:hover{border-color:var(--acc);transform:translateY(-6px)}
.door__n{font-family:var(--fd);font-weight:var(--dw);font-size:20px;color:var(--acc)}
.door h3{font-size:calc(var(--ds,1)*clamp(30px,2.6vw,42px));margin:auto 0 16px}
.door p{color:var(--mute);margin-bottom:26px}
.door .tl{align-self:flex-start}
.door__bg{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.door__bg img{width:100%;height:100%;object-fit:cover}
.door__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,12,.5),rgba(4,7,12,.92))}
.door>*:not(.door__bg){position:relative;z-index:1;transition:color .4s}
.door:hover .door__bg{opacity:1}
.door:hover,.door:hover p{color:#fff}
.door:hover .door__n{color:var(--acc2)}

/* =========================  HOME B: Institutional  ========================= */
.hb{padding:130px 0 0}
.hb__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(20px,2.4vw,36px);align-items:stretch}
.hb__txt{display:flex;flex-direction:column;justify-content:center;padding:40px 0}
.hb h1{font-size:calc(var(--ds,1)*clamp(56px,7.4vw,124px));line-height:.95;margin:26px 0 30px}
.hb__ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.hb .btn{border-radius:999px}
.hb__vid{position:relative;border-radius:28px;overflow:hidden;min-height:620px;background:var(--bg2)}
.hb__vid video,.hb__vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hb__vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,20,40,.65))}
.hb__chip{position:absolute;left:22px;bottom:22px;z-index:2;display:flex;gap:10px;flex-wrap:wrap}
.hb__chip span{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:600}
.bento{display:grid;grid-template-columns:1.1fr 1.3fr 1fr 1fr;gap:clamp(12px,1.4vw,20px);margin-top:clamp(12px,1.4vw,20px)}
.bc{position:relative;border-radius:24px;padding:28px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.bc small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.bc b{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(48px,4.6vw,78px));letter-spacing:-.04em;line-height:1}
.bc p{font-size:14px;color:var(--mute);line-height:1.45}
.bc--acc{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.bc--acc small,.bc--acc p{color:color-mix(in srgb,var(--acc-ink) 72%,transparent)}
.bc--img{color:#fff;border:0;background:#04070C}
.bc--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.bc--img:hover img{transform:scale(1.05)}
.bc--img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,10,25,.85))}
.bc--img>*:not(img){position:relative;z-index:1}
.bc--img small{color:rgba(255,255,255,.75)}
.bc--img h3{font-family:var(--fb);font-weight:700;font-size:22px;letter-spacing:-.01em;line-height:1.25}
.bc--img .ticker{align-self:flex-start}
.bc__clk{display:grid;gap:14px}
.bc__clk div{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px}
.bc__clk span{font-size:14px;color:var(--mute)}
.bc__clk b{font-family:var(--fb);font-weight:600;font-size:28px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.marq{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;margin-top:clamp(56px,7vw,96px);white-space:nowrap}
.marq__t{display:inline-flex;gap:56px;animation:marq 60s linear infinite;font-family:var(--fd);font-weight:var(--dw);font-size:clamp(22px,2vw,30px);letter-spacing:-.01em;color:var(--mute)}
.marq__t span{display:inline-flex;align-items:center;gap:56px}
.marq__t span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}
@keyframes marq{to{transform:translateX(-50%)}}
.qa .marq__t{animation:none}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.shead .lead{max-width:520px}
.eng2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.e2{border-radius:28px;overflow:hidden;background:var(--bg2);border:1px solid var(--line);display:flex;flex-direction:column}
.e2__m{aspect-ratio:16/10;overflow:hidden}
.e2__m img,.e2__m video{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.e2:hover .e2__m img,.e2:hover .e2__m video{transform:scale(1.04)}
.e2__b{padding:34px;display:grid;gap:14px}
.e2__b h3{font-size:calc(var(--ds,1)*clamp(30px,2.8vw,44px))}
.e2__b p{color:var(--mute)}
.e2__n{display:flex;gap:36px;padding-top:18px;border-top:1px solid var(--line);margin-top:8px}
.e2__n b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:40px;letter-spacing:-.03em;line-height:1}
.e2__n span{font-size:13px;color:var(--mute)}
.mapcard{border-radius:28px;background:var(--bg2);border:1px solid var(--line);padding:clamp(22px,3vw,44px);margin-top:48px}
.mapcard .map{margin-top:0}
.prin{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line)}
.prin div{padding:30px 26px 10px 0;border-right:1px solid var(--line);margin-right:26px}
.prin div:last-child{border-right:0;margin-right:0}
.prin b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:15px;color:var(--acc);margin-bottom:46px}
.prin h3{font-family:var(--fb);font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px;line-height:1.25}
.prin p{font-size:15px;color:var(--mute)}
.yband{border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--deep-ink)}
.yband__m{min-height:560px;position:relative}
.yband__m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yband__b{padding:clamp(30px,4vw,64px);display:flex;flex-direction:column;gap:22px;justify-content:center}
.yband h2{font-size:calc(var(--ds,1)*clamp(38px,4vw,64px))}
.ytl{display:grid;gap:0;margin-top:10px}
.ytl div{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14);font-size:15px}
.ytl b{color:var(--acc2);font-weight:700}
[data-p="1"] .ytl b{color:#DECBB8}
.ytl span{color:color-mix(in srgb,var(--deep-ink) 82%,transparent)}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.nc{display:flex;flex-direction:column;border-radius:22px;border:1px solid var(--line);overflow:hidden;background:var(--card);transition:transform .5s var(--ease),box-shadow .5s}
.nc:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,20,40,.3)}
.nc__m{aspect-ratio:16/10;overflow:hidden}
.nc__m img{width:100%;height:100%;object-fit:cover}
.nc__b{padding:24px;display:grid;gap:10px}
.nc__b small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
[data-dark="1"] .nc__b small{color:var(--acc2)}
.nc__b h3{font-family:var(--fb);font-size:19px;font-weight:650;letter-spacing:-.01em;line-height:1.35}
.team4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.pc{display:block}
.pc__m{aspect-ratio:4/5;overflow:hidden;background:var(--bg2);border-radius:20px}
[data-v="a"] .pc__m,[data-v="c"] .pc__m{border-radius:0}
.pc__m img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:grayscale(1);transition:filter .7s,transform 1.2s var(--ease)}
.pc:hover .pc__m img{filter:none;transform:scale(1.03)}
.pc b{display:block;margin-top:16px;font-size:17px;font-weight:650}
.pc span{display:block;font-size:14px;color:var(--mute);line-height:1.45;margin-top:4px}
.pc--init .pc__m{display:grid;place-items:center;background:linear-gradient(140deg,var(--deep),color-mix(in srgb,var(--deep) 70%,var(--acc)))}
.pc--init .pc__m em{font-family:var(--fd);font-weight:var(--dw);font-style:normal;font-size:64px;color:var(--deep-ink);letter-spacing:-.02em}
.cta-b{border-radius:32px;background:var(--acc);color:var(--acc-ink);padding:clamp(36px,6vw,90px);display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;position:relative;overflow:hidden}
.cta-b h2{font-size:calc(var(--ds,1)*clamp(42px,5vw,84px))}
.cta-b p{color:color-mix(in srgb,var(--acc-ink) 78%,transparent)}
.cta-b .btn{background:var(--acc-ink);color:var(--acc);border-color:var(--acc-ink)}
.cta-b .btn--ghost{background:transparent;color:var(--acc-ink);border-color:color-mix(in srgb,var(--acc-ink) 40%,transparent)}
.cta-b__a{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* =========================  HOME C: Chapters  ========================= */
.hc{padding:150px 0 0;text-align:center}
.aud{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:14px}
.aud__l{padding:0 10px 0 14px;align-self:center;color:var(--mute);font-weight:500}
.aud button{height:38px;padding:0 16px;border-radius:999px;border:0;background:transparent;color:var(--ink2);font:500 14px/1 var(--fb);cursor:pointer;transition:background .3s,color .3s}
.aud button.on{background:var(--ink);color:var(--bg)}
.hc h1{font-size:calc(var(--ds,1)*clamp(60px,10.5vw,190px));line-height:.92;margin:48px auto 30px;max-width:1400px}
.hc__msg{min-height:3.3em}
.hc .lead{margin:0 auto;text-align:center}
.hc__ctas{display:flex;justify-content:center;gap:12px;margin-top:34px;flex-wrap:wrap}
.hc__frame{position:relative;margin:clamp(56px,7vw,96px) auto 0;width:calc(100% - var(--inset,18%));max-width:none;aspect-ratio:16/8;overflow:hidden;border-radius:calc(var(--round,1) * 26px);transition:width .1s linear;background:var(--deep)}
.hc__frame video,.hc__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc__cap{position:absolute;left:0;right:0;bottom:0;padding:28px 34px;display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.intro{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(30px,6vw,110px);align-items:start}
.intro h2{font-size:calc(var(--ds,1)*clamp(40px,4.4vw,70px))}
.intro__cols{columns:2;column-gap:44px;font-size:18px;line-height:1.7;color:var(--ink2)}
.intro__cols p{margin-bottom:1.1em;break-inside:avoid}
.intro__cols p:first-child::first-letter{float:left;font-family:var(--fd);font-weight:var(--dw);font-size:5.1em;line-height:.82;padding:6px 12px 0 0;color:var(--acc)}
.chap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px)}
.chap__stick{position:sticky;top:110px;height:calc(100svh - 150px);min-height:520px}
.chap__imgs{position:relative;height:100%;overflow:hidden;background:var(--bg2)}
.chap__imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 1.6s var(--ease)}
.chap__imgs img.on{opacity:1;transform:none}
.chap__imgs figcaption{position:absolute;left:0;bottom:0;padding:18px 22px;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.5));right:0}
.chap__list{padding:10vh 0 20vh}
.ch{min-height:78svh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .6s}
.ch.on,.qa .ch{opacity:1}
.ch__n{font-family:var(--fd);font-weight:var(--dw);font-style:var(--dem);font-size:22px;color:var(--acc)}
.ch__y{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:6px}
.ch h3{font-size:calc(var(--ds,1)*clamp(40px,4.4vw,72px));margin:22px 0 22px}
.ch p{font-size:18px;color:var(--ink2);max-width:520px}
.ch__k{display:flex;gap:40px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.ch__k b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:44px;line-height:1;letter-spacing:-.02em}
.ch__k span{font-size:13px;color:var(--mute)}
.sstats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.sstats div{padding:34px 24px 6px 0;border-right:1px solid var(--line);margin-right:24px}
.sstats div:last-child{border:0;margin:0}
.sstats b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(54px,6.4vw,108px));letter-spacing:-.04em;line-height:.95}
.sstats span{display:block;margin-top:14px;font-size:14px;color:var(--mute);max-width:220px}
.gal{margin-top:48px;overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:none;padding-bottom:10px}
.gal::-webkit-scrollbar{display:none}
.gal.drag{cursor:grabbing}
.gal__t{display:flex;gap:22px;padding:0 var(--pad);width:max-content}
.gc{width:clamp(280px,30vw,440px);flex:none;user-select:none}
.gc__m{aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}
.gc__m img{width:100%;height:100%;object-fit:cover;pointer-events:none;transition:transform 1.2s var(--ease)}
.gc:hover .gc__m img{transform:scale(1.04)}
.gc small{display:block;margin-top:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.gc b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:28px;letter-spacing:-.01em;line-height:1.15;margin-top:6px}
.gc span{display:block;font-size:14px;color:var(--mute);margin-top:4px}
.galbar{display:flex;align-items:center;gap:22px;margin-top:30px}
.galbar__t{flex:1;height:1px;background:var(--line);position:relative}
.galbar__t i{position:absolute;left:0;top:-1px;height:3px;background:var(--ink);width:20%;transform:translateX(calc(var(--g,0) * 400%))}
.team6{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:48px}
.room{position:relative;min-height:88svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,16,.92),rgba(10,12,16,.1) 70%)}
.room__in{position:relative;z-index:1;max-width:1480px;margin:0 auto;width:100%;padding:0 var(--pad) clamp(50px,7vw,100px)}
.room blockquote{margin:0;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(34px,4.4vw,74px));line-height:1.08;letter-spacing:var(--dls);max-width:1150px}
.room cite{display:block;margin-top:28px;font:500 15px/1.5 var(--fb);font-style:normal;color:rgba(255,255,255,.75)}
.doors--c .door{background:transparent;border:0;border-top:1px solid var(--ink);padding:30px 0 0;min-height:300px}
.doors--c .door:hover{transform:none;color:inherit}
.doors--c .door:hover p{color:var(--mute)}
.doors--c .door__bg{display:none}
.doors--c .door h3{margin:40px 0 14px}

/* =========================  INNER PAGES  ========================= */
.ph{position:relative}
.ph__media{overflow:hidden;background:var(--deep)}
.ph__media img,.ph__media video{width:100%;height:100%;object-fit:cover}
.ph h1{font-size:calc(var(--ds,1)*clamp(52px,7.6vw,132px));line-height:.95}
.ph .lead{margin-top:28px}
.ph__crumb{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px;opacity:.75}
/* A: full-bleed dark */
[data-v="a"] .ph{min-height:84svh;display:flex;align-items:flex-end;color:#fff;background:#04070C}
[data-v="a"] .ph__media{position:absolute;inset:0}
[data-v="a"] .ph__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,12,.85),rgba(4,7,12,.3)),linear-gradient(0deg,rgba(4,7,12,.9),transparent 55%)}
[data-v="a"] .ph__text{position:relative;z-index:1;max-width:1480px;margin:0 auto;width:100%;padding:0 var(--pad) clamp(56px,7vw,96px)}
[data-v="a"] .ph .lead{color:rgba(255,255,255,.82)}
/* B: split card */
[data-v="b"] .ph{padding:128px var(--pad) 0;max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
[data-v="b"] .ph__text{order:0;display:flex;flex-direction:column;justify-content:center;padding:40px 0}
[data-v="b"] .ph__media{order:1;border-radius:28px;min-height:520px;position:relative}
[data-v="b"] .ph__media img,[data-v="b"] .ph__media video{position:absolute;inset:0}
[data-v="b"] .ph__crumb{color:var(--acc);opacity:1;font-weight:600}
/* C: centered title, wide image below */
[data-v="c"] .ph{padding:160px 0 0;text-align:center}
[data-v="c"] .ph__text{max-width:1100px;margin:0 auto;padding:0 var(--pad)}
[data-v="c"] .ph .lead{margin:28px auto 0}
[data-v="c"] .ph__crumb{color:var(--acc);opacity:1}
[data-v="c"] .ph__media{margin:clamp(50px,6vw,90px) var(--pad) 0;aspect-ratio:21/9}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,110px);align-items:start}
.split h2{font-size:calc(var(--ds,1)*clamp(38px,4.2vw,66px))}
.prose{font-size:18px;line-height:1.75;color:var(--ink2);display:grid;gap:1.1em}
.diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.diffs div{background:var(--bg);padding:34px 28px 38px}
.diffs b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:18px;color:var(--acc);margin-bottom:60px}
[data-dark="1"] .diffs b{color:var(--acc2)}
.diffs h3{font-family:var(--fb);font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-bottom:12px}
.diffs p{font-size:15px;color:var(--mute)}
[data-v="b"] .diffs{background:none;border:0;gap:16px}
[data-v="b"] .diffs div{border-radius:22px;background:var(--bg2);border:1px solid var(--line)}
.teamg{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px;margin-top:56px}
.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.offices div{background:var(--bg);padding:26px 24px}
.offices h4{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
[data-dark="1"] .offices h4{color:var(--acc2)}
.offices p{font-size:14.5px;line-height:1.55;color:var(--ink2);margin-bottom:12px}
.offices p b{display:block;color:var(--ink);font-weight:650}
.give{columns:3;column-gap:40px;font-size:15px;color:var(--ink2);margin-top:30px}
.give li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line);list-style:none}
.give{padding:0}
.vtl{position:relative;margin-top:56px}
.vtl::before{content:"";position:absolute;left:150px;top:0;bottom:0;width:1px;background:var(--line)}
.vtl__i{display:grid;grid-template-columns:150px 1fr;gap:48px;padding:0 0 64px}
.vtl__y{font-family:var(--fd);font-weight:var(--dw);font-size:34px;line-height:1;color:var(--acc);letter-spacing:-.02em}
[data-dark="1"] .vtl__y{color:var(--acc2)}
.vtl__b{position:relative;padding-left:0}
.vtl__b::before{content:"";position:absolute;left:-54px;top:10px;width:11px;height:11px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 6px var(--bg)}
.vtl__b h3{font-size:calc(var(--ds,1)*clamp(28px,2.6vw,40px));margin-bottom:12px}
.vtl__b p{color:var(--ink2);max-width:640px}
.ystats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ystats div{background:var(--bg);padding:34px 24px}
.ystats b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(40px,4vw,66px));letter-spacing:-.03em;line-height:1}
.ystats span{display:block;margin-top:12px;font-size:14px;color:var(--mute)}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:12px;margin-top:48px}
.mosaic figure{margin:0;overflow:hidden;background:var(--bg2)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic .m1{grid-column:span 7;grid-row:span 4}.mosaic .m2{grid-column:span 5;grid-row:span 2}.mosaic .m3{grid-column:span 5;grid-row:span 2}
.mosaic .m4{grid-column:span 4;grid-row:span 3}.mosaic .m5{grid-column:span 4;grid-row:span 3}.mosaic .m6{grid-column:span 4;grid-row:span 3}
[data-v="b"] .mosaic figure{border-radius:18px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 22px;margin-top:40px}
.pgc{display:block}
.pgc[hidden]{display:none}
.pgc__m{aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
[data-v="b"] .pgc__m{border-radius:20px}
.pgc__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pgc:hover .pgc__m img{transform:scale(1.04)}
.pgc small{display:block;margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
[data-dark="1"] .pgc small{color:var(--acc2)}
.pgc b{display:block;font-size:19px;font-weight:650;margin-top:6px;line-height:1.3}
.pgc span{display:block;font-size:14px;color:var(--mute);margin-top:4px}
.ops{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--line);overflow:hidden}
[data-v="b"] .ops{border-radius:28px}
.ops__m{min-height:460px;position:relative}
.ops__m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ops__b{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center;gap:18px;background:var(--bg2)}
.ops__b h3{font-size:calc(var(--ds,1)*clamp(34px,3.4vw,54px))}
.newsl{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.nrow{display:grid;grid-template-columns:150px 120px 1fr 40px;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.nrow[hidden]{display:none}
.nrow:hover{padding-left:12px}
.nrow time{font-size:14px;color:var(--mute)}
.nrow small{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
[data-dark="1"] .nrow small{color:var(--acc2)}
.nrow b{font-family:var(--fd);font-weight:var(--dw);font-size:clamp(22px,2vw,30px);letter-spacing:-.01em;line-height:1.2}
.nrow svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.nrow:hover svg{transform:translate(4px,-4px)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink2)}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{width:100%;height:54px;padding:0 16px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:400 16px/1.4 var(--fb);border-radius:0;transition:border-color .2s}
[data-v="b"] .form input,[data-v="b"] .form select,[data-v="b"] .form textarea{border-radius:14px}
.form textarea{height:130px;padding:14px 16px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--acc)}
.form .chk{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:14px;letter-spacing:0;color:var(--mute)}
.form .chk input{width:18px;height:18px;margin-top:2px;flex:none}
.form__msg{grid-column:1/-1;font-size:14px;padding:14px 16px;background:color-mix(in srgb,var(--acc) 10%,transparent);display:none}
.form__msg.show{display:block}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.tabp{display:none}.tabp.on{display:block}
.invest{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,5vw,90px);align-items:start}
.invest__aside{position:sticky;top:120px;display:grid;gap:22px}
.invest__aside .card{padding:28px;border:1px solid var(--line);background:var(--bg2)}
[data-v="b"] .invest__aside .card{border-radius:22px}
.invest__aside h3{font-family:var(--fb);font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px}
.invest__aside p{font-size:15px;color:var(--mute)}
.invest__aside ul{margin:10px 0 0;padding-left:18px;font-size:15px;color:var(--ink2);display:grid;gap:6px}

/* =========================  DESIGN PANEL  ========================= */
.dp-tab{position:fixed;right:0;top:50%;z-index:90;transform:translateY(-50%);writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;padding:18px 12px;border:0;border-radius:12px 0 0 12px;background:#C9A46A;color:#0A0D12;font:700 13px/1 "Inter Tight",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:-8px 0 30px rgba(0,0,0,.25);transition:right .45s var(--ease)}
.dp-tab svg{width:18px;height:18px;transform:rotate(90deg)}
.dp-open .dp-tab{right:380px}
.dp{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:89;background:#0B0F16;color:#EDE9E1;transform:translateX(100%);transition:transform .45s var(--ease);overflow-y:auto;font-family:"Inter Tight",system-ui,sans-serif;visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
.dp-open .dp{transform:none;visibility:visible;transition:transform .45s var(--ease);box-shadow:-30px 0 60px rgba(0,0,0,.35)}
.dp__in{padding:28px 26px 40px;display:grid;gap:12px}
.dp__head small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C9A46A}
.dp__head b{display:block;font-size:22px;font-weight:600;margin-top:6px}
.dp__note{font-size:13.5px;line-height:1.55;color:#A7ADB8}
.dp h5{margin:16px 0 4px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7E8696;font-weight:600}
.dp-vers{display:grid;gap:8px}
.dp-ver{all:unset;box-sizing:border-box;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}
.dp-ver em{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font:700 15px/1 "Inter Tight",sans-serif;font-style:normal;background:rgba(255,255,255,.07)}
.dp-ver b{display:block;font-size:15px;font-weight:600}
.dp-ver span{display:block;font-size:12.5px;color:#9097A5;margin-top:2px}
.dp-ver:hover{border-color:rgba(201,164,106,.5)}
.dp-ver.on{border-color:#C9A46A;background:rgba(201,164,106,.08)}
.dp-ver.on em{background:#C9A46A;color:#0A0D12}
.dp-pals{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dp-pal{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;font-size:13px}
.dp-pal i{display:flex;border-radius:6px;overflow:hidden;flex:none}
.dp-pal i s{display:block;width:12px;height:26px}
.dp-pal.on{border-color:#C9A46A;background:rgba(201,164,106,.08)}
.dp-typs{display:grid;gap:8px}
.dp-typ{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer}
.dp-typ b{font-size:21px;font-weight:400}
.dp-typ span{font-size:12px;color:#9097A5}
.dp-typ.on{border-color:#C9A46A;background:rgba(201,164,106,.08)}
.dp-save{margin-top:14px;padding:18px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);display:grid;gap:10px}
.dp-save b{font-size:15px}
.dp-save p{font-size:13px;color:#9097A5;line-height:1.5}
.dp-save input,.dp-save textarea{all:unset;box-sizing:border-box;width:100%;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:14px;color:#EDE9E1}
.dp-save textarea{min-height:70px}
.dp-save button{all:unset;box-sizing:border-box;text-align:center;padding:14px;border-radius:10px;background:#C9A46A;color:#0A0D12;font-weight:700;font-size:14px;cursor:pointer}
.dp-msg{font-size:13px;color:#9097A5}.dp-msg.ok{color:#7ee2b0}.dp-msg.err{color:#ff9b8f}
.dp-hp{position:absolute;left:-9999px}
.toast{position:fixed;left:50%;bottom:28px;z-index:95;transform:translate(-50%,30px);opacity:0;padding:12px 20px;border-radius:999px;background:#0B0F16;color:#EDE9E1;font:600 14px/1 "Inter Tight",sans-serif;transition:opacity .3s,transform .4s var(--ease);pointer-events:none;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* =========================  RESPONSIVE  ========================= */
@media (max-width:1100px){
  .nav{display:none}
  .burger{display:block}
  [data-v="c"] .hdr__in{grid-template-columns:auto 1fr;}
  [data-v="c"] .logo{grid-column:1}
  [data-v="c"] .hdr__act{grid-column:2}
  .hdr__login span{display:none}
  .nav-open .nav{display:flex;position:fixed;inset:84px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);color:var(--ink);padding:10px var(--pad) 30px;border-bottom:1px solid var(--line);font-size:20px}
  .nav-open .nav a{padding:16px 0;border-bottom:1px solid var(--line)}
  .rail,.feat__stats,.sstats{grid-template-columns:repeat(2,1fr)}
  .rail>div:nth-child(3){padding-left:0}
  .bento{grid-template-columns:1fr 1fr}
  .hb__grid,.map,.quote,.yband,.intro,.chap,.split,.invest,.ops,.cta-b{grid-template-columns:1fr}
  .chap__stick{position:relative;top:0;height:60svh}
  .prin{grid-template-columns:1fr 1fr}
  .team6{grid-template-columns:repeat(3,1fr)}
  .teamg,.team4{grid-template-columns:repeat(3,1fr)}
  .diffs,.offices{grid-template-columns:1fr 1fr}
  .ystats{grid-template-columns:repeat(3,1fr)}
  [data-v="b"] .ph{grid-template-columns:1fr}
  .invest__aside{position:relative;top:0}
  .cta-b__a{justify-content:flex-start}
}
@media (max-width:720px){
  body{font-size:16px}
  .eng,.eng2,.doors,.news,.pgrid{grid-template-columns:1fr}
  .engc{min-height:520px}
  .bento,.teamg,.team4,.team6{grid-template-columns:1fr 1fr}
  .prin,.diffs,.offices,.ystats{grid-template-columns:1fr}
  .prin div{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}
  .intro__cols{columns:1}
  .give{columns:1}
  .ftr__top{grid-template-columns:1fr 1fr}
  .ftr__top>div:first-child{grid-column:1/-1}
  .nrow{grid-template-columns:1fr;gap:6px}
  .nrow svg{display:none}
  .hb__vid{min-height:420px}
  .hc__frame{aspect-ratio:4/5}
  .aud__l{display:none}
  .form{grid-template-columns:1fr}
  .mosaic{grid-auto-rows:80px}
  .mosaic .m1,.mosaic .m2,.mosaic .m3,.mosaic .m4,.mosaic .m5,.mosaic .m6{grid-column:span 12;grid-row:span 3}
  .vtl::before{left:0}.vtl__i{grid-template-columns:1fr;gap:12px;padding-left:28px}.vtl__b::before{left:-33px}
  .hdr .btn{display:none}
  .dp{width:100%}.dp-open .dp-tab{right:calc(100% - 46px)}
  .scrollcue{display:none}
  .ha h1 .rot{display:inline-grid}
  .hz__head{flex-direction:column;align-items:flex-start}
}

.qa .hz{height:auto!important}.qa .hz__pin{position:relative;height:auto;padding:110px 0}.qa .hz__track{flex-wrap:wrap;transform:none!important}
/* accent words on surfaces that are always dark */
.deep h1 em,.deep h2 em,.deep h3 em,.yband h2 em,.ha h1 em,.ha .rot span,.feat h2 em,.glob h2 em,.room em,.hz h2 em,.engc em,.ftr em,[data-v="a"] .ph h1 em{color:var(--acc2)!important}
[data-p="1"] .deep h2 em,[data-p="1"] .yband h2 em,[data-p="1"] .feat h2 em,[data-p="1"] .glob h2 em,[data-p="1"] .ha h1 em,[data-p="1"] .ha .rot span,[data-p="1"] .hz h2 em,[data-p="1"][data-v="a"] .ph h1 em,[data-p="1"] .ftr em{color:#DECBB8!important}
/* mobile fixes */
.hb__grid,.map,.quote,.yband,.intro,.chap,.split,.invest,.ops,.cta-b{min-width:0}
.hb__grid>*,.map>*,.split>*,.invest>*{min-width:0}
@media (max-width:1100px){.hb__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){
  .ha{height:auto;min-height:100svh;padding-top:120px}
  .ha h1{font-size:calc(var(--ds,1)*clamp(46px,13vw,64px))}
  .hc h1{font-size:calc(var(--ds,1)*clamp(44px,12.5vw,64px));margin-top:34px}
  .hc{padding-top:120px}
  .aud{border-radius:22px}
  .bento{grid-template-columns:1fr 1fr}
  .bc{min-height:200px;padding:20px}
  .bc b{font-size:40px}
  .bento .bc:nth-child(n+3){grid-column:1/-1}
  .bc--img h3{font-size:18px}
  .hb h1{font-size:calc(var(--ds,1)*clamp(48px,14vw,70px))}
  .dp-tab{padding:12px 8px;font-size:11px}
  .feat__stats{gap:28px 16px}
  .glob{min-height:auto;padding:110px 0}
  .ph h1{font-size:calc(var(--ds,1)*clamp(44px,12vw,64px))}
  [data-v="a"] .ph{min-height:auto;padding-top:150px}
  .room{min-height:70svh}
  .ftr__big{font-size:calc(var(--ds,1)*clamp(46px,13vw,80px))}
}
/* light palettes: labels and primary buttons sitting on dark photos/video use the light accent */
.ha .eyebrow,.feat .eyebrow,.glob .eyebrow,.room .eyebrow,.hz .eyebrow,.yband .eyebrow,[data-v="a"] .ph__crumb{color:var(--acc2)}
[data-p="1"] .ha .eyebrow,[data-p="1"] .feat .eyebrow,[data-p="1"] .glob .eyebrow,[data-p="1"] .hz .eyebrow,[data-p="1"] .yband .eyebrow,[data-p="1"] .deep .eyebrow,[data-p="1"][data-v="a"] .ph__crumb{color:#DECBB8}
[data-p="1"] .ha .btn:not(.btn--ghost),[data-p="1"] .feat .btn--light{background:#DECBB8;border-color:#DECBB8;color:#0C2D42}
[data-p="1"] .ha .btn:not(.btn--ghost):hover{background:#fff;border-color:#fff}
[data-p="1"] .deep .chip.on{background:#DECBB8;border-color:#DECBB8;color:#0C2D42}

/* palette 6 (Navy & Sky): same light-palette rules as palette 1, sky accents */
[data-p="6"] h1 em,[data-p="6"] h2 em,[data-p="4"] h1 em,[data-p="4"] h2 em{color:var(--acc)}
[data-p="6"] .ftr h5{color:var(--deep-mute)}
[data-p="6"] .mani p span.a.lit,[data-p="4"] .mani p span.a.lit{color:var(--acc)}
[data-p="6"] .ytl b{color:#8FC1EE}
[data-p="6"] .deep h2 em,[data-p="6"] .yband h2 em,[data-p="6"] .feat h2 em,[data-p="6"] .glob h2 em,[data-p="6"] .ha h1 em,[data-p="6"] .ha .rot span,[data-p="6"] .hz h2 em,[data-p="6"][data-v="a"] .ph h1 em,[data-p="6"] .ftr em{color:#8FC1EE!important}
[data-p="6"] .ha .eyebrow,[data-p="6"] .feat .eyebrow,[data-p="6"] .glob .eyebrow,[data-p="6"] .hz .eyebrow,[data-p="6"] .yband .eyebrow,[data-p="6"] .deep .eyebrow,[data-p="6"][data-v="a"] .ph__crumb{color:#8FC1EE}
[data-p="6"] .ha .btn:not(.btn--ghost),[data-p="6"] .feat .btn--light{background:#8FC1EE;border-color:#8FC1EE;color:#002846}
[data-p="6"] .ha .btn:not(.btn--ghost):hover{background:#fff;border-color:#fff}
[data-p="6"] .deep .chip.on{background:#8FC1EE;border-color:#8FC1EE;color:#002846}
