/* 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 VisionFirst's own brand (navy #003349, ocean #004F71, gold #F1BE48) */
[data-p="1"]{--em:#004F71;--bg:#FFFFFF;--bg2:#F2F6F8;--card:#FFFFFF;--ink:#0B2230;--ink2:#22404F;--mute:#5B6E78;--line:rgba(0,51,73,.12);--acc:#003349;--acc2:#F1BE48;--acc3:#004F71;--acc-ink:#FFFFFF;--deep:#003349;--deep-ink:#FFFFFF;--deep-mute:#A8C3CF;--dark:0}
[data-p="2"]{--em:#F1BE48;--bg:#06202D;--bg2:#0A2A3A;--card:#0F3346;--ink:#F4F7F8;--ink2:#D6E2E8;--mute:#93AEBB;--line:rgba(244,247,248,.12);--acc:#F1BE48;--acc2:#F6D27F;--acc3:#4FA3C7;--acc-ink:#06202D;--deep:#041620;--deep-ink:#F4F7F8;--deep-mute:#93AEBB;--dark:1}
[data-p="3"]{--em:#C8643B;--bg:#F6F1E9;--bg2:#EDE5D8;--card:#FBF8F3;--ink:#16292B;--ink2:#2B3E40;--mute:#6B6B64;--line:rgba(22,41,43,.13);--acc:#0E4F52;--acc2:#C8643B;--acc3:#0E4F52;--acc-ink:#FFFFFF;--deep:#0E3739;--deep-ink:#F6F1E9;--deep-mute:#A7B5B2;--dark:0}
[data-p="4"]{--em:#4FD1E8;--bg:#05080F;--bg2:#0A0F1A;--card:#0F1624;--ink:#EEF3F8;--ink2:#CDD7E2;--mute:#8A97A8;--line:rgba(238,243,248,.11);--acc:#4FD1E8;--acc2:#F1BE48;--acc3:#4FD1E8;--acc-ink:#05080F;--deep:#03050A;--deep-ink:#EEF3F8;--deep-mute:#8A97A8;--dark:1}
[data-p="5"]{--em:#3E6B5A;--bg:#F3F6F2;--bg2:#E7EDE6;--card:#FFFFFF;--ink:#17261F;--ink2:#2B3B33;--mute:#62716A;--line:rgba(23,38,31,.12);--acc:#3E6B5A;--acc2:#E0A458;--acc3:#3E6B5A;--acc-ink:#FFFFFF;--deep:#20382F;--deep-ink:#F3F6F2;--deep-mute:#A9BBB2;--dark:0}
/* type pairings: 1 is VisionFirst's own (Montserrat). --ds scales display sizes so wide faces never overflow */
[data-f="1"]{--fd:"Montserrat",system-ui,sans-serif;--fb:"Montserrat",system-ui,sans-serif;--dw:700;--dls:-.03em;--dem:normal;--ds:.8}
[data-f="2"]{--fd:"Fraunces",Georgia,serif;--fb:"DM Sans",system-ui,sans-serif;--dw:400;--dls:-.025em;--dem:italic;--ds:.92}
[data-f="3"]{--fd:"Space Grotesk",system-ui,sans-serif;--fb:"Inter",system-ui,sans-serif;--dw:500;--dls:-.04em;--dem:normal;--ds:.9}
[data-f="4"]{--fd:"Plus Jakarta Sans",system-ui,sans-serif;--fb:"Plus Jakarta Sans",system-ui,sans-serif;--dw:700;--dls:-.035em;--dem:normal;--ds:.84}
[data-f="1"] h1,[data-f="1"] h2,[data-f="4"] h1,[data-f="4"] h2{line-height:1.04}
*,*::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(--em)}
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="c"] .btn,[data-v="b"] .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="a"] .hdr{top:14px;padding:0 14px}
[data-v="a"] .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="a"] .hdr.solid{background:none;border-color:transparent;backdrop-filter:none}
[data-v="a"] .hdr--over .logo .lw{display:none}[data-v="a"] .hdr--over .logo .lc{display:block}
[data-v="a"][data-dark="1"] .hdr .logo .lw{display:block}[data-v="a"][data-dark="1"] .hdr .logo .lc{display:none}
[data-v="a"] .hdr .btn{border-radius:999px}
/* version C: centered masthead */
[data-v="b"] .hdr__in{display:grid;grid-template-columns:1fr auto 1fr;height:92px}
[data-v="b"] .logo{grid-column:2;grid-row:1;height:36px}
[data-v="b"] .nav{grid-column:1;grid-row:1;margin:0;gap:24px;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}
[data-v="b"] .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:#F1BE48}
.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(--em);font-style:var(--dem)}
.mani p span.a.lit{color:var(--em)}
.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:#F1BE48}
.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="c"] .pc__m,[data-v="b"] .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="c"] .ph{min-height:84svh;display:flex;align-items:flex-end;color:#fff;background:#04070C}
[data-v="c"] .ph__media{position:absolute;inset:0}
[data-v="c"] .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="c"] .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="c"] .ph .lead{color:rgba(255,255,255,.82)}
/* B: split card */
[data-v="a"] .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="a"] .ph__text{order:0;display:flex;flex-direction:column;justify-content:center;padding:40px 0}
[data-v="a"] .ph__media{order:1;border-radius:28px;min-height:520px;position:relative}
[data-v="a"] .ph__media img,[data-v="a"] .ph__media video{position:absolute;inset:0}
[data-v="a"] .ph__crumb{color:var(--acc);opacity:1;font-weight:600}
/* C: centered title, wide image below */
[data-v="b"] .ph{padding:160px 0 0;text-align:center}
[data-v="b"] .ph__text{max-width:1100px;margin:0 auto;padding:0 var(--pad)}
[data-v="b"] .ph .lead{margin:28px auto 0}
[data-v="b"] .ph__crumb{color:var(--acc);opacity:1}
[data-v="b"] .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="a"] .diffs{background:none;border:0;gap:16px}
[data-v="a"] .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="a"] .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="a"] .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="a"] .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="a"] .form input,[data-v="a"] .form select,[data-v="a"] .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="a"] .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="b"] .hdr__in{grid-template-columns:auto 1fr;}
  [data-v="b"] .logo{grid-column:1}
  [data-v="b"] .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="a"] .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="c"] .ph h1 em{color:var(--acc2)!important}
.ha .eyebrow,.feat .eyebrow,.glob .eyebrow,.room .eyebrow,.hz .eyebrow,.yband .eyebrow,.deep .eyebrow{color:var(--acc2)}

/* =========================  VISIONFIRST  ========================= */
[data-p="1"] .btn:not(.btn--ghost):not(.btn--light){background:#F1BE48;border-color:#F1BE48;color:#003349}
[data-p="1"] .btn:not(.btn--ghost):not(.btn--light):hover{background:#003349;border-color:#003349;color:#fff}
.hdr__tel{font:600 14px/1 var(--fb);display:flex;align-items:center;gap:8px;opacity:.9;white-space:nowrap}
.hdr__tel svg{width:15px;height:15px}
/* booking widget */
.bk{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 30px 70px -40px rgba(0,30,50,.45);display:grid;gap:16px}
[data-v="a"] .bk,[data-v="c"] .bk{border-radius:14px}
.bk h3{font-family:var(--fb);font-size:15px;font-weight:700;letter-spacing:.02em;margin:0}
.bk__svc{display:flex;flex-wrap:wrap;gap:8px}
.bk__svc button{height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;font:600 13.5px/1 var(--fb);cursor:pointer;transition:all .25s}
.bk__svc button.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.bk__row{display:grid;grid-template-columns:1fr auto;gap:10px}
.bk select{height:54px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);padding:0 14px;font:500 15px/1 var(--fb);width:100%}
.bk .btn{height:54px;border-radius:12px}
.bk__note{font-size:12.5px;color:var(--mute);display:flex;gap:14px;flex-wrap:wrap}
.bk__note span::before{content:"\2713";color:var(--acc3);font-weight:800;margin-right:6px}
.bk--bar{grid-template-columns:auto 1fr 1fr auto;align-items:center;border-radius:999px;padding:10px 10px 10px 26px;max-width:980px;margin:0 auto;text-align:left}
.bk--bar h3{white-space:nowrap}
.bk--bar select{border-radius:999px;height:50px}
.bk--bar .btn{border-radius:999px;height:50px}
/* hero A: split with booking */
.va{padding:120px 0 0}
.va__grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(24px,3vw,48px);align-items:stretch}
.va__txt{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:30px 0}
.va h1{font-size:calc(var(--ds,1)*clamp(52px,6.6vw,108px));line-height:1}
.va__vid{position:relative;border-radius:28px;overflow:hidden;min-height:640px;background:var(--deep)}
.va__vid video,.va__vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.va__chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.92);color:#0B2230;font:600 13.5px/1.3 var(--fb);box-shadow:0 20px 40px -20px rgba(0,0,0,.4);backdrop-filter:blur(8px)}
.va__chip b{font-size:22px;color:#003349;font-weight:800}
.va__chip--1{left:22px;bottom:22px}.va__chip--2{right:22px;top:22px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--deep);color:var(--deep-ink);border-radius:28px;margin-top:clamp(16px,2vw,24px);overflow:hidden}
[data-v="c"] .stats{border-radius:0}
.stats div{padding:34px 30px;border-right:1px solid rgba(255,255,255,.1)}
.stats div:last-child{border:0}
.stats b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(44px,4.6vw,74px));letter-spacing:-.03em;line-height:1;color:var(--deep-ink)}
.stats b i{font-style:normal;color:#F1BE48}
.stats span{display:block;margin-top:10px;font-size:14px;color:var(--deep-mute)}
/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.sv{position:relative;display:flex;flex-direction:column;min-height:300px;padding:28px;border-radius:24px;border:1px solid var(--line);background:var(--card);overflow:hidden;transition:transform .6s var(--ease),border-color .4s}
[data-v="c"] .sv{border-radius:4px}
.sv:hover{transform:translateY(-6px);border-color:var(--acc)}
.sv__i{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc3) 12%,transparent);color:var(--acc3)}
.sv__i svg{width:26px;height:26px}
.sv h3{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*28px);letter-spacing:-.02em;margin:auto 0 10px;line-height:1.15}
.sv p{font-size:15px;color:var(--mute)}
.sv small{display:block;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc3)}
[data-dark="1"] .sv small{color:var(--acc)}
.sv--img{color:#fff;border:0;background:#0B2230}
.sv--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.sv--img:hover img{transform:scale(1.05)}
.sv--img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,30,.1),rgba(0,20,30,.88))}
.sv--img>*:not(img){position:relative;z-index:1}
.sv--img p{color:rgba(255,255,255,.82)}.sv--img small{color:#F1BE48!important}
/* own: employee-owned band */
.own{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.own__img{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/3}
[data-v="c"] .own__img{border-radius:0}
.own__img img{width:100%;height:100%;object-fit:cover}
.own__badge{position:absolute;right:20px;bottom:20px;width:150px;height:150px;border-radius:50%;background:#F1BE48;color:#003349;display:grid;place-items:center;text-align:center;font:800 13px/1.25 var(--fb);letter-spacing:.06em;text-transform:uppercase;padding:18px;box-shadow:0 20px 40px -18px rgba(0,0,0,.45)}
.own__badge b{display:block;font-size:34px;letter-spacing:-.02em}
.own h2{font-size:calc(var(--ds,1)*clamp(40px,4.6vw,72px))}
.own ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.own li{display:flex;gap:12px;font-size:16.5px;color:var(--ink2)}
.own li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:color-mix(in srgb,var(--acc3) 14%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F71' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/13px no-repeat}
/* location finder */
.lf{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:clamp(20px,3vw,40px);margin-top:44px;align-items:start}
.lf__map{position:relative;border-radius:28px;background:var(--bg2);border:1px solid var(--line);overflow:hidden}
[data-v="c"] .lf__map{border-radius:4px}
.lf__map svg{display:block;width:100%;height:auto}
.lf__map .st{fill:color-mix(in srgb,var(--ink) 4%,transparent);stroke:color-mix(in srgb,var(--ink) 18%,transparent);stroke-width:1}
.lf__map .st--on{fill:color-mix(in srgb,var(--acc3) 9%,transparent);stroke:color-mix(in srgb,var(--acc3) 45%,transparent)}
.lf__map text.sl{font:700 13px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;fill:color-mix(in srgb,var(--ink) 35%,transparent)}
.of{cursor:pointer}
.of circle.h{fill:var(--acc3);opacity:.16;transition:r .3s}
.of circle.c{fill:var(--acc);stroke:var(--bg2);stroke-width:2.5;transition:r .3s}
[data-p="1"] .of circle.c{fill:#003349}
.of.on circle.c,.of:hover circle.c{r:9}.of.on circle.h{r:22}
.lf__tip{position:absolute;pointer-events:none;width:250px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -24px rgba(0,0,0,.45);transform:translate(-50%,calc(-100% - 16px));opacity:0;transition:opacity .25s;z-index:5}
.lf__tip.show{opacity:1}
.lf__tip img{width:100%;height:120px;object-fit:cover}
.lf__tip div{padding:12px 14px}.lf__tip b{display:block;font-size:15px}.lf__tip span{font-size:13px;color:var(--mute)}
.lf__side{display:grid;gap:14px}
.lf__search{display:flex;gap:8px}
.lf__search input{flex:1;height:52px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 16px;font:500 15px/1 var(--fb)}
.lf__list{max-height:560px;overflow:auto;display:grid;gap:10px;padding-right:4px;scrollbar-width:thin}
.oc{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--card);transition:border-color .25s,background .25s}
.oc[hidden]{display:none}
.oc.on,.oc:hover{border-color:var(--acc3);background:color-mix(in srgb,var(--acc3) 5%,var(--card))}
.oc img{width:86px;height:70px;object-fit:cover;border-radius:10px}
.oc b{display:block;font-size:15.5px;line-height:1.25}
.oc span{display:block;font-size:13px;color:var(--mute);line-height:1.4}
.oc__a{display:flex;gap:12px;margin-top:6px;font-size:13px;font-weight:700}
.oc__a a{color:var(--acc3)}[data-dark="1"] .oc__a a{color:var(--acc)}
.oc__d{font-size:12px;color:var(--mute);margin-top:2px}
/* doctors rail */
.drail{margin-top:44px;overflow-x:auto;scrollbar-width:none;cursor:grab}
.drail::-webkit-scrollbar{display:none}
.drail__t{display:flex;gap:16px;padding:0 var(--pad);width:max-content}
.dc{width:190px;flex:none;user-select:none}
.dc__m{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--bg2)}
[data-v="c"] .dc__m{border-radius:4px}
.dc__m img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;pointer-events:none;transition:transform 1s var(--ease)}
.dc:hover .dc__m img{transform:scale(1.04)}
.dc b{display:block;margin-top:12px;font-size:15px}
.dc span{display:block;font-size:13px;color:var(--mute)}
.dgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 16px;margin-top:40px}
.dgrid .dc{width:auto}
.dgrid--lead{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:40px;align-items:center;margin-top:48px}
.dgrid--lead .dc__m{aspect-ratio:4/5}
/* eyewear */
.ew{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.ewc{position:relative;border-radius:28px;overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,3vw,40px);color:#fff;background:#0B2230}
[data-v="c"] .ewc{border-radius:4px}
.ewc>img,.ewc>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ewc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,15,25,.85))}
.ewc>*:not(img):not(video){position:relative;z-index:1}
.ewc h3{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(32px,3vw,48px));margin:10px 0 10px;letter-spacing:-.02em}
.ewc p{color:rgba(255,255,255,.85);max-width:440px}
.ewc small{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F1BE48}
.ewc .tl{color:#fff;margin-top:20px;align-self:flex-start}
.brands{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(18px,3vw,44px);margin-top:40px;padding:26px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.brands img{height:34px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.8;transition:all .3s}
.brands img:hover{filter:none;opacity:1}
.pk{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.pkc{border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--card)}
[data-v="c"] .pkc{border-radius:4px}
.pkc b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*60px);letter-spacing:-.03em;color:var(--acc3);line-height:1}
[data-dark="1"] .pkc b{color:var(--acc)}
.pkc h3{font-family:var(--fb);font-size:18px;font-weight:700;margin:6px 0 14px}
.pkc ul{margin:0;padding-left:18px;color:var(--ink2);font-size:15px;display:grid;gap:6px}
/* steps (B) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.stp__m{aspect-ratio:4/5;overflow:hidden;border-radius:200px 200px 20px 20px;background:var(--bg2)}
.stp__m img,.stp__m video{width:100%;height:100%;object-fit:cover}
.stp b{display:block;margin-top:20px;font-family:var(--fd);font-weight:var(--dw);font-style:var(--dem);font-size:20px;color:var(--acc2)}
.stp h3{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*34px);margin:6px 0 8px;letter-spacing:-.02em}
.stp p{color:var(--mute)}
.towns{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:44px}
.tw{display:block;position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;color:#fff;background:#0B2230}
.tw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tw:hover img{transform:scale(1.06)}
.tw::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75))}
.tw span{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-weight:700;font-size:15px;line-height:1.2}
.tw span small{display:block;font-weight:500;font-size:12px;opacity:.8}
/* conditions explorer (C) */
.cx{display:grid;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,64px);margin-top:48px;align-items:start}
.cx__tabs{display:grid;gap:8px}
.cx__tabs button{all:unset;box-sizing:border-box;cursor:pointer;padding:18px 20px;border-radius:12px;border:1px solid var(--line);font:600 16px/1.2 var(--fb);display:flex;justify-content:space-between;align-items:center;transition:all .3s}
.cx__tabs button::after{content:"\2192";opacity:.4;transition:transform .3s}
.cx__tabs button.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.cx__tabs button.on::after{opacity:1;transform:translateX(4px)}
.cx__p{display:none;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.cx__p.on{display:grid}
.cx__p .media{aspect-ratio:4/3;border-radius:16px}
.cx__p h3{font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*clamp(32px,3vw,46px));margin-bottom:14px;letter-spacing:-.02em}
.cx__p p{color:var(--ink2);margin-bottom:12px}
.cx__p dl{display:grid;gap:10px;margin:18px 0 24px}
.cx__p dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.cx__p dd{margin:0;color:var(--mute);font-size:15px}
.tech{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.tech__v{border-radius:24px;overflow:hidden;aspect-ratio:16/11;position:relative}
.tech__v video{width:100%;height:100%;object-fit:cover}
.tech__v::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border-radius:inherit}
.tech__l{display:grid;gap:0}
.tech__l div{padding:22px 0;border-top:1px solid var(--line)}
.tech__l b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(var(--ds,1)*28px);letter-spacing:-.02em;margin-bottom:8px}
.tech__l b i{font-style:normal;color:var(--acc);margin-right:10px;font-size:.6em;vertical-align:.3em}
.tech__l p{color:var(--mute);font-size:15.5px}
/* booking page */
.bp{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,4vw,64px);align-items:start}
.bp__steps{display:grid;gap:22px}
.bp__s{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--card)}
[data-v="c"] .bp__s{border-radius:6px}
.bp__s h3{font-family:var(--fb);font-size:17px;font-weight:700;margin-bottom:14px;display:flex;gap:12px;align-items:center}
.bp__s h3 i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:var(--acc-ink);font-size:14px}
.bp__offs{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:380px;overflow:auto}
.bp__offs button{all:unset;box-sizing:border-box;cursor:pointer;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-size:14px;line-height:1.3}
.bp__offs button small{display:block;color:var(--mute);font-size:12px}
.bp__offs button.on{border-color:var(--acc3);background:color-mix(in srgb,var(--acc3) 8%,transparent)}
.bp__go{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.bp__sum{font-size:15px;color:var(--ink2)}
@media (max-width:1100px){
  .va__grid,.own,.lf,.cx,.tech,.bp,.ew{grid-template-columns:1fr}
  .va__vid{min-height:440px}
  .svc{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stats div:nth-child(2){border-right:0}
  .towns{grid-template-columns:repeat(3,1fr)}
  .dgrid{grid-template-columns:repeat(4,1fr)}
  .bk--bar{grid-template-columns:1fr;border-radius:22px;padding:18px}
  .bk--bar select,.bk--bar .btn{border-radius:12px}
  .cx__p{grid-template-columns:1fr}
}
@media (max-width:720px){
  .va{padding-top:104px}
  .va h1{font-size:calc(var(--ds,1)*clamp(44px,12.5vw,64px))}
  .svc,.steps,.pk{grid-template-columns:1fr}
  .towns{grid-template-columns:1fr 1fr}
  .dgrid{grid-template-columns:repeat(2,1fr)}
  .bk__row{grid-template-columns:1fr}
  .stats div{padding:24px 18px}
  .bp__offs{grid-template-columns:1fr}
  .dgrid--lead{grid-template-columns:1fr}
  .own__badge{width:118px;height:118px;font-size:11px}.own__badge b{font-size:26px}
  .va__chip--2{display:none}
  .ewc{min-height:420px}
}
.brands img{height:58px;filter:none;opacity:1}
.team6 .dc,.dgrid .dc{width:auto;min-width:0}
