/* Tradewind Free Zone: full-bleed photography, overlaid type, generous darkness. */
@view-transition { navigation: auto; }
:root{
  --ground:#0E0F11; --surface:#17191D; --surface2:#1F2227; --ink:#F3EFE8; --primary:#F28C28; --accent:#D9C3A0; --muted:#9EA3AB;
  --paper:#F4F1EC; --paper-ink:#15171A; --paper-muted:#5E636B; --deep:#A9500A; --line:rgba(243,239,232,.12); --pline:rgba(21,23,26,.14);
  --good:#7FD3A0; --warn:#F2C14E; --bad:#F08A7E;
  --h:'Hanken Grotesk',system-ui,sans-serif; --b:'Barlow',system-ui,sans-serif;
  --max:1280px; --gut:clamp(16px,4vw,40px); --r:4px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:140px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1rem/1.6 var(--b);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--h);font-weight:700;line-height:1.06;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,7.4vw,6.4rem);font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,4.4vw,3.6rem);font-weight:800}
h3{font-size:clamp(1.15rem,1.7vw,1.45rem)}
p{margin:0 0 1em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100000;background:var(--primary);color:#111214;padding:12px 18px;font-weight:700;border-radius:var(--r)}
.skip:focus{top:60px}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.kicker{font:600 .78rem/1.2 var(--h);letter-spacing:.18em;text-transform:uppercase;color:var(--primary);margin:0 0 1.1rem;display:flex;gap:.7rem;align-items:center}
.kicker::before{content:"";width:28px;height:2px;background:currentColor}
.lede{font-size:clamp(1.08rem,1.5vw,1.3rem);color:#D6D2CA;max-width:62ch}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.num{font-family:var(--h);font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:0 1.4rem;border-radius:var(--r);font:600 1rem/1 var(--h);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .25s}
.btn-primary{background:var(--primary);color:#111214}
.btn-primary:hover{background:#FFA14A}
.btn-ghost{border-color:rgba(243,239,232,.4);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--ink);background:rgba(243,239,232,.06)}
.light .btn-ghost{border-color:rgba(21,23,26,.35);color:var(--paper-ink)}
.btn-s{min-height:44px;padding:0 1rem;font-size:.92rem}
.btn svg{width:18px;height:18px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.link{color:var(--primary);font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.light .link{color:var(--deep)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,height .3s}
.hdr-in{max-width:1440px;margin:0 auto;padding:0 var(--gut);height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;transition:height .3s}
.hdr.solid{background:rgba(14,15,17,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.hdr.solid .hdr-in{height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:38px;height:38px;flex:none}
.brand-t{font:800 1rem/1 var(--h);letter-spacing:.12em;text-transform:uppercase}
.brand-t small{display:block;font-weight:500;font-size:.66rem;letter-spacing:.32em;color:var(--accent);margin-top:4px}
.nav{display:flex;justify-content:center;gap:4px}
.nav a{font:500 .95rem/1 var(--h);text-decoration:none;padding:12px 14px;border-radius:var(--r);color:#E6E2DA}
.nav a:hover,.nav a[aria-current=page]{color:var(--primary)}
.hdr-r{display:flex;gap:10px;align-items:center}
.icon-btn{width:46px;height:46px;display:inline-grid;place-items:center;border-radius:var(--r);border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;position:relative}
.icon-btn svg{width:20px;height:20px}
.icon-btn .badge{position:absolute;top:-6px;right:-6px;background:var(--primary);color:#111;font:700 .7rem/18px var(--h);min-width:18px;height:18px;border-radius:9px;text-align:center}
.menu-btn{display:none}
@media (max-width:1080px){.nav{display:none}.menu-btn{display:inline-grid}.hdr-in{grid-template-columns:1fr auto}.hdr-cta{display:none}}
@media (max-width:560px){.hdr-in{height:68px}.hdr .acct-btn,.hdr .lang-mini{display:none}.brand-t{font-size:.9rem}}

/* overlay menu */
.menu{position:fixed;inset:0;z-index:60;background:rgba(14,15,17,.98);overflow:auto;padding:110px var(--gut) 120px}
.menu-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.menu-close{position:fixed;top:64px;right:var(--gut)}
.menu nav a{display:block;font:700 clamp(1.6rem,4vw,2.6rem)/1.15 var(--h);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
.menu nav a:hover{color:var(--primary)}
.menu-side a{display:block;padding:10px 0;color:#D6D2CA;text-decoration:none;font-size:1.05rem}
@media (max-width:760px){.menu-in{grid-template-columns:1fr}}
body.menu-open,body.modal-open{overflow:hidden}

/* bottom bar on phones */
.bbar{display:none}
@media (max-width:760px){
  .bbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(14,15,17,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bbar a,.bbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;font:600 .72rem/1 var(--h);color:#DCD7CE;text-decoration:none;background:none;border:0;cursor:pointer}
  .bbar svg{width:22px;height:22px;color:var(--primary)}
  body{padding-bottom:62px}
}

/* live strip */
.live{background:var(--primary);color:#111214;font:600 .9rem/1.3 var(--h)}
.live .wrap{display:flex;gap:14px;align-items:center;min-height:52px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.live-dot{width:9px;height:9px;border-radius:50%;background:#111214;box-shadow:0 0 0 0 rgba(17,18,20,.6);animation:pulse 2s infinite}
html:not(.motion) .live-dot{animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(17,18,20,.5)}70%{box-shadow:0 0 0 10px rgba(17,18,20,0)}100%{box-shadow:0 0 0 0 rgba(17,18,20,0)}}
.live-item{transition:opacity .25s,transform .25s;flex:1;min-width:200px}
.live-item.swap{opacity:0;transform:translateY(6px)}
.live small{font-weight:500;opacity:.85}

/* photo boxes */
.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,#2A2D33,#1A1C20)}
.ph img{width:100%;height:100%;object-fit:cover;color:transparent;font-size:0}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none}
.r169{aspect-ratio:16/9}.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r11{aspect-ratio:1}.r219{aspect-ratio:21/9}

/* inner page hero: full-bleed photo with overlaid type */
.phero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#1B1D21}
.phero .ph{position:absolute;inset:-6% 0;z-index:-2}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,15,17,.55) 0%,rgba(14,15,17,.2) 35%,rgba(14,15,17,.88) 82%,var(--ground) 100%)}
.phero-in{padding:180px var(--gut) clamp(40px,6vw,80px);max-width:var(--max);margin:0 auto;width:100%;view-transition-name:page-hero}
.phero h1{max-width:16ch}
.phero .lede{color:#E2DED6}
.crumbs{font:500 .85rem/1 var(--h);color:#CFCAC1;margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none;color:var(--accent)}
.phero-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:28px;font:500 .95rem/1.3 var(--h);color:#E2DED6}
.phero-meta b{display:block;font-size:1.5rem;color:var(--ink)}

/* sections */
.sec{padding:clamp(72px,10vw,140px) 0;position:relative}
.sec.tight{padding:clamp(48px,6vw,80px) 0}
.sec.alt{background:var(--surface)}
.light{background:var(--paper);color:var(--paper-ink)}
.light .lede{color:#3A3E44}.light .muted{color:var(--paper-muted)}.light .kicker{color:var(--deep)}
.sec-h{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-h h2{margin:0}
.sec-h .lede{margin:0}
@media (max-width:860px){.sec-h{grid-template-columns:1fr;gap:16px}}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
@media (max-width:980px){.g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* full-bleed band */
.band{position:relative;min-height:min(92vh,880px);display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#1B1D21}
.band .ph{position:absolute;inset:-8% 0;z-index:-2}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,15,17,.94) 0%,rgba(14,15,17,.72) 45%,rgba(14,15,17,.25) 100%)}
.band.r::before{background:linear-gradient(270deg,rgba(14,15,17,.94) 0%,rgba(14,15,17,.72) 45%,rgba(14,15,17,.25) 100%)}
.band.r .band-in{margin-left:auto}
.band-wrap{max-width:var(--max);margin:0 auto;padding:clamp(80px,10vw,140px) var(--gut);width:100%}
.band-in{max-width:620px}
.band h2{font-size:clamp(2.2rem,5.6vw,4.8rem)}
@media (max-width:700px){.band::before,.band.r::before{background:linear-gradient(180deg,rgba(14,15,17,.5),rgba(14,15,17,.92) 60%)}.band{align-items:flex-end}}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,32px);position:relative;transition:transform .3s,border-color .3s}
.light .card{background:#fff;border-color:var(--pline)}
.card:hover{border-color:rgba(242,140,40,.5)}
.card h3{margin-top:.2em}
.card .ico{width:44px;height:44px;color:var(--primary);margin-bottom:18px}
.light .card .ico{color:var(--deep)}
.card-link{text-decoration:none;display:block}
.pcard{display:block;text-decoration:none;position:relative;overflow:hidden;border-radius:var(--r);isolation:isolate;min-height:420px;background:#1B1D21}
.pcard .ph{position:absolute;inset:0;z-index:-2;transition:transform .8s}
.pcard:hover .ph{transform:scale(1.05)}
.pcard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,15,17,.1) 20%,rgba(14,15,17,.92) 85%)}
.pcard-in{position:absolute;left:0;right:0;bottom:0;padding:28px}
.pcard .tag{font:600 .75rem/1 var(--h);letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.pcard h3{font-size:clamp(1.4rem,2.2vw,2rem);margin:.4em 0 .3em}
.pcard p{color:#D6D2CA;margin:0}

/* sector triptych */
.trip{display:grid;grid-template-columns:repeat(3,1fr);height:min(86vh,820px);gap:2px}
.trip .pcard{border-radius:0;min-height:100%}
.trip .pcard-in{padding:clamp(24px,3vw,44px)}
@media (max-width:860px){.trip{grid-template-columns:1fr;height:auto}.trip .pcard{min-height:460px}}

/* numbered list */
.nlist{list-style:none;margin:0;padding:0;counter-reset:n;border-top:1px solid var(--line)}
.light .nlist{border-color:var(--pline)}
.nlist li{counter-increment:n;display:grid;grid-template-columns:90px 1fr 1.2fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.light .nlist li{border-color:var(--pline)}
.nlist li::before{content:counter(n,decimal-leading-zero);font:800 2.2rem/1 var(--h);color:var(--primary)}
.light .nlist li::before{color:var(--deep)}
.nlist h3{margin:0}
.nlist p{margin:0;color:#CFCAC1}
.light .nlist p{color:#3A3E44}
@media (max-width:760px){.nlist li{grid-template-columns:56px 1fr;gap:10px 16px}.nlist li p{grid-column:2}.nlist li::before{font-size:1.6rem}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{padding:clamp(28px,4vw,48px) clamp(12px,2vw,28px);border-right:1px solid var(--line)}
.stats>div:last-child{border-right:0}
.stat-n{font:800 clamp(2.4rem,5vw,4.2rem)/1 var(--h);letter-spacing:-.03em;color:var(--ink);display:block}
.stat-n em{font-style:normal;color:var(--primary)}
.stats p{margin:.6em 0 0;color:var(--muted)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* timeline */
.tline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:0;position:relative}
.tline::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--line)}
.tline li{position:relative;padding:44px 20px 0 0}
.tline li::before{content:"";position:absolute;top:8px;left:0;width:16px;height:16px;border-radius:50%;background:var(--ground);border:3px solid var(--primary)}
.light .tline li::before{background:var(--paper);border-color:var(--deep)}
.tline b{display:block;font:700 1.1rem/1.2 var(--h);margin-bottom:6px}
.tline span{display:block;font:600 .8rem/1 var(--h);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.light .tline span{color:var(--deep)}
.tline p{color:#CFCAC1;margin:0;font-size:.96rem}
.light .tline p{color:#3A3E44}
@media (max-width:860px){.tline{grid-template-columns:1fr}.tline::before{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto}.tline li{padding:0 0 28px 40px}.tline li::before{top:4px}}

/* quote */
.quote{font:600 clamp(1.5rem,3.2vw,2.6rem)/1.2 var(--h);letter-spacing:-.02em;max-width:24ch;margin:0 0 24px}
.quote-by{color:var(--accent);font:500 1rem/1.4 var(--h)}

/* table */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
.light .tbl-wrap{border-color:var(--pline);background:#fff}
table{border-collapse:collapse;width:100%;min-width:620px;font-size:.96rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.light th,.light td{border-color:var(--pline)}
th{font:600 .8rem/1.2 var(--h);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.light th{color:var(--paper-muted)}
td.y{color:var(--good)}
.light td.y{color:#1E7A45}

/* pills */
.pill{display:inline-flex;align-items:center;gap:6px;font:600 .78rem/1 var(--h);padding:7px 11px;border-radius:999px;white-space:nowrap;background:rgba(243,239,232,.1);color:var(--ink)}
.pill.good{background:rgba(127,211,160,.16);color:var(--good)}
.pill.warn{background:rgba(242,193,78,.16);color:var(--warn)}
.pill.info{background:rgba(242,140,40,.16);color:var(--primary)}
.pill.off{background:rgba(158,163,171,.16);color:#C3C7CD}
.light .pill.good{color:#1E7A45;background:#DDF2E5}.light .pill.warn{color:#7A5300;background:#FBEFC9}.light .pill.info{color:var(--deep);background:#FBE3CB}.light .pill.off{color:#4B5058;background:#E5E3DF}

/* forms */
.form{display:grid;gap:18px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label,.lab{font:600 .92rem/1.2 var(--h)}
input,select,textarea{font:400 1rem/1.4 var(--b);color:var(--ink);background:var(--surface2);border:1.5px solid rgba(243,239,232,.22);border-radius:var(--r);padding:12px 14px;min-height:50px;width:100%}
textarea{min-height:120px;resize:vertical}
.light input,.light select,.light textarea{background:#fff;color:var(--paper-ink);border-color:rgba(21,23,26,.3)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(242,140,40,.3)}
[aria-invalid=true]{border-color:var(--bad)!important}
.err{color:var(--bad);font-size:.88rem;margin:0}
.err:empty{display:none}
.light .err{color:#B3261E}
.hint{font-size:.86rem;color:var(--muted);margin:0}
.light .hint{color:var(--paper-muted)}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.checks label{display:flex;gap:10px;align-items:center;font-weight:500;padding:10px 14px;border:1.5px solid rgba(243,239,232,.22);border-radius:var(--r);min-height:48px;cursor:pointer}
.light .checks label{border-color:rgba(21,23,26,.25)}
.checks input{width:20px;height:20px;min-height:0;accent-color:var(--primary)}
.form-panel{background:var(--surface);border:1px solid var(--line);padding:clamp(22px,3.6vw,44px);border-radius:var(--r)}
.light .form-panel{background:#fff;border-color:var(--pline)}
.thanks{background:var(--surface);border:1px solid rgba(242,140,40,.45);border-left:4px solid var(--primary);padding:clamp(24px,3.6vw,40px);border-radius:var(--r)}
.light .thanks{background:#fff}
.thanks-k{font:600 .78rem/1 var(--h);letter-spacing:.18em;text-transform:uppercase;color:var(--primary)}
.light .thanks-k{color:var(--deep)}
.thanks-small{font-size:.88rem;color:var(--muted);margin:0}
.wiz-prog{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:8px;counter-reset:w}
.wiz-prog li{flex:1;counter-increment:w;font:600 .8rem/1.2 var(--h);color:var(--muted);border-top:3px solid var(--line);padding-top:10px}
.wiz-prog li::before{content:counter(w) ". "}
.wiz-prog li.on{border-color:var(--primary);color:var(--ink)}
.light .wiz-prog li.on{color:var(--paper-ink);border-color:var(--deep)}
.light .wiz-prog li{border-color:var(--pline)}
@media (max-width:560px){.wiz-prog li{font-size:0}.wiz-prog li::before{font-size:.8rem}}
.step{border:0;padding:0;margin:0;display:grid;gap:18px}
.step legend{font:700 1.4rem/1.2 var(--h);margin-bottom:6px;padding:0}
.step-nav{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:8px}
.summary{background:rgba(242,140,40,.08);border:1px dashed rgba(242,140,40,.5);padding:18px;border-radius:var(--r)}
.summary dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.summary dt{color:var(--muted)}
.summary dd{margin:0;font-weight:600;text-align:right}

/* calendar */
.cal{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.light .cal{background:#fff;border-color:var(--pline)}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:var(--h)}
.cal-nav{width:44px;height:44px;border-radius:var(--r);background:transparent;border:1.5px solid var(--line);color:inherit;font-size:1.4rem;cursor:pointer}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-wd{font:600 .72rem/1 var(--h);text-align:center;color:var(--muted);padding:6px 0}
.cal-d{min-height:44px;border-radius:var(--r);border:1px solid transparent;background:rgba(127,211,160,.12);color:inherit;font:600 .95rem/1 var(--h);cursor:pointer}
.cal-d.few{background:rgba(242,193,78,.18)}
.cal-d.full{background:transparent;color:var(--muted);text-decoration:line-through;cursor:not-allowed}
.cal-d.off{background:transparent;color:rgba(158,163,171,.5);cursor:not-allowed}
.cal-d[aria-pressed=true]{background:var(--primary);color:#111214}
.light .cal-d{background:#E3F3E9}.light .cal-d.few{background:#FBEFC9}.light .cal-d.full,.light .cal-d.off{background:transparent;color:#80858C}
.cal-key{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin:12px 0 0;align-items:center}
.cal-key .k{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.k.open{background:rgba(127,211,160,.5)}.k.few{background:rgba(242,193,78,.6)}.k.full{border:1px solid var(--muted)}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.slots-h{width:100%;margin:0;font:600 .9rem/1.2 var(--h)}
.slot{min-height:44px;padding:0 16px;border-radius:var(--r);border:1.5px solid rgba(243,239,232,.25);background:transparent;color:inherit;font:600 .9rem/1 var(--h);cursor:pointer}
.light .slot{border-color:rgba(21,23,26,.3)}
.slot[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#111214}
.slot:disabled{opacity:.45;cursor:not-allowed}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:24px}
.light .filters{background:#fff;border-color:var(--pline)}
.filters .field{min-width:150px;flex:1}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(243,239,232,.25);background:transparent;color:inherit;font:600 .9rem/1 var(--h);cursor:pointer}
.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.light .chip{border-color:rgba(21,23,26,.3)}.light .chip[aria-pressed=true]{background:var(--paper-ink);color:var(--paper)}
.fcount{font:600 .9rem/1 var(--h);color:var(--muted)}

/* the zone map (signature) */
.zmap-wrap{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
@media (max-width:1020px){.zmap-wrap{grid-template-columns:1fr}}
.zmap{background:#121417;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative}
.zmap-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.zmap svg{display:block;width:100%;min-width:720px;height:auto}
.zmap .plot{cursor:pointer;transition:opacity .25s,stroke-width .2s}
.zmap .plot:focus{outline:none}
.zmap .plot:focus-visible rect,.zmap .plot:hover rect{stroke:#fff;stroke-width:3}
.zmap .plot.dim{opacity:.18}
.zmap .plot.sel rect{stroke:#fff;stroke-width:4}
.zmap-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 16px;border-top:1px solid var(--line);font-size:.88rem;color:#CFCAC1}
.zmap-legend i{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:6px;vertical-align:-2px}
.zpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:sticky;top:150px}
.zpanel h3{font-size:1.8rem;margin:.1em 0 .2em}
.zpanel dl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:16px 0;font-size:.96rem}
.zpanel dt{color:var(--muted)}.zpanel dd{margin:0;font-weight:600;text-align:right}
.zpanel ul{padding-left:1.1em;margin:0 0 16px;color:#CFCAC1}
.zpanel .row .btn{flex:1 1 100%}
.inc-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}

/* 3D story hero */
.story{position:relative;background:#0B0C0E}
.story-stage{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden}
html.motion .story{height:420vh}
html.motion .story-stage{position:sticky;top:0}
.story-still{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.story-still svg{width:min(150vw,1700px);height:auto;transform:perspective(1400px) rotateX(52deg) rotateZ(-28deg) translateY(4%);transform-origin:50% 55%;opacity:.95}
.story canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s}
.story.ready canvas{opacity:1}
.story.ready .story-still{opacity:0;transition:opacity 1.2s}
.story-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 80% 40%,rgba(11,12,14,0) 30%,rgba(11,12,14,.55) 70%),linear-gradient(180deg,rgba(11,12,14,.8) 0%,rgba(11,12,14,0) 30%,rgba(11,12,14,0) 60%,rgba(11,12,14,.92) 100%)}
.story-copy{position:absolute;left:0;right:0;bottom:0;padding:0 var(--gut) clamp(40px,8vh,90px);max-width:1440px;margin:0 auto;pointer-events:none}
.story-copy .btn,.story-copy a{pointer-events:auto}
.story h1{max-width:15ch;margin-bottom:.25em;font-size:clamp(2.6rem,5.4vw,5.2rem);text-shadow:0 2px 40px rgba(0,0,0,.5)}
.story .lede{color:#E2DED6;max-width:52ch;text-shadow:0 1px 18px rgba(0,0,0,.85)}
.chap{max-width:560px}
html.motion .chap{position:absolute;left:var(--gut);bottom:clamp(40px,8vh,90px);opacity:0;transform:translateY(30px);transition:opacity .6s,transform .6s;pointer-events:none}
html.motion .chap.on{opacity:1;transform:translateY(0px);pointer-events:auto}
.chap-n{font:700 .8rem/1 var(--h);letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin-bottom:14px;display:block}
html:not(.motion) .story-stage{height:auto;min-height:0}
html:not(.motion) .story-copy{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:42vh var(--gut) 64px;max-width:var(--max)}
html:not(.motion) .chap{background:rgba(23,25,29,.92);padding:22px;border-radius:var(--r);border:1px solid var(--line)}
html:not(.motion) .chap[data-c="0"]{grid-column:1/-1;background:none;border:0;padding:0 0 24px}
html:not(.motion) .chap h2{font-size:1.5rem}
@media (max-width:860px){html:not(.motion) .story-copy{grid-template-columns:1fr;padding-top:34vh}}
.chap h2{font-size:clamp(1.9rem,4vw,3.4rem)}
.chap p{color:#E2DED6}
.story-rail{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:3}
.story-rail span{width:3px;height:40px;background:rgba(243,239,232,.25);border-radius:2px;overflow:hidden;position:relative}
.story-rail span i{position:absolute;inset:0;background:var(--primary);transform:scaleY(0);transform-origin:top}
html:not(.motion) .story-rail{display:none}
.plot-tip{position:absolute;z-index:4;background:rgba(14,15,17,.94);border:1px solid rgba(242,140,40,.6);border-radius:var(--r);padding:14px 16px;min-width:220px;font-size:.92rem;pointer-events:auto;transform:translate(-50%,calc(-100% - 16px))}
.plot-tip b{font:800 1.3rem/1 var(--h);display:block;margin-bottom:4px}
.plot-tip a{color:var(--primary);font-weight:600}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font:600 .75rem/1 var(--h);letter-spacing:.2em;text-transform:uppercase;color:#CFCAC1;z-index:3}
html:not(.motion) .scroll-cue{display:none}
@media (max-width:700px){.story-rail{display:none}.story-copy{padding-bottom:110px}.story h1{font-size:clamp(2.4rem,11vw,3.4rem)}}

/* phone card */
.callcard{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:linear-gradient(120deg,#1F2227,#17191D);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,36px)}
.callcard .wave{width:64px;height:64px;color:var(--primary)}
.callcard h3{margin:0 0 6px;font-size:clamp(1.3rem,2.2vw,1.8rem)}
.callcard p{margin:0;color:#CFCAC1}
.callcard .tel{font:800 clamp(1.2rem,2.4vw,1.8rem)/1 var(--h);color:var(--primary);text-decoration:none;white-space:nowrap}
@media (max-width:760px){.callcard{grid-template-columns:1fr;gap:14px}}

/* gallery */
.gal{columns:3 280px;column-gap:14px}
.gal a{display:block;margin-bottom:14px;break-inside:avoid;position:relative;border-radius:var(--r);overflow:hidden}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(0deg,rgba(14,15,17,.9),transparent);font-size:.88rem}
.lb{position:fixed;inset:0;z-index:2000;background:rgba(8,9,10,.96);display:grid;place-items:center;padding:60px 16px}
.lb-box{width:min(1200px,100%)}
.lb-img{background:#1B1D21;aspect-ratio:3/2;max-height:76vh;margin:0 auto}
.lb-img img{width:100%;height:100%;object-fit:contain}
.lb figure{margin:0}
.lb figcaption{padding:14px 0;color:#CFCAC1;display:flex;justify-content:space-between;gap:12px}
.lb-b{position:fixed;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(243,239,232,.4);background:rgba(14,15,17,.7);color:var(--ink);font-size:1.6rem;cursor:pointer}
.lb-p{left:16px;top:50%}.lb-nx{right:16px;top:50%}.lb-x{right:16px;top:64px}

/* drawer */
.drawer{position:fixed;inset:0;z-index:1500}
.dr-back{position:absolute;inset:0;background:rgba(8,9,10,.6)}
.dr-box{position:absolute;right:0;top:0;bottom:0;width:min(440px,100%);background:var(--surface);border-left:1px solid var(--line);padding:70px 24px 24px;display:flex;flex-direction:column;gap:16px;overflow:auto}
.dr-x{position:absolute;top:60px;right:16px}
.dr-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dr-list li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--r)}
.dr-list li span{display:block;color:var(--muted);font-size:.86rem}
.dr-list .dr-empty{display:block;color:var(--muted)}
.dr-rm{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--line);background:none;color:inherit;font-size:1.2rem;cursor:pointer}
.dr-p{font-weight:700;font-family:var(--h)}
.dr-sum{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:6px}
.dr-sum div{display:flex;justify-content:space-between}

/* Receivly modal */
.rcv{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:16px}
.rcv-back{position:absolute;inset:0;background:rgba(8,9,10,.72)}
.rcv-box{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#FBFAF7;color:#15171A;border-radius:12px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.5);font-family:var(--b)}
.rcv-top{display:flex;gap:12px;align-items:center}
.rcv-logo{width:40px;height:40px;border-radius:10px;background:#1C3D5A;color:#fff;display:grid;place-items:center;font:800 1.2rem/1 var(--h)}
.rcv-brand{margin:0;font:600 .78rem/1.2 var(--h);letter-spacing:.12em;text-transform:uppercase;color:#4A5560}
.rcv-item{margin:2px 0 0;font-size:1.05rem;color:#15171A;letter-spacing:0}
.rcv-x{margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid #D5D2CC;background:#fff;font-size:1.4rem;cursor:pointer;color:#15171A}
.rcv-amt{font:800 2.4rem/1 var(--h);margin:20px 0 16px;letter-spacing:-.02em}
.rcv-tabs{display:grid;grid-template-columns:1fr 1fr;background:#ECEAE5;border-radius:8px;padding:4px;margin-bottom:14px}
.rcv-tabs button{min-height:44px;border:0;background:transparent;border-radius:6px;font:600 .95rem/1 var(--h);cursor:pointer;color:#3A3E44}
.rcv-tabs [aria-selected=true]{background:#fff;color:#15171A;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.rcv-card{background:linear-gradient(135deg,#1C3D5A,#2F6B8F);color:#fff;border-radius:10px;padding:18px;display:grid;gap:8px;font-family:var(--h)}
.rcv-card span{font-size:.8rem;opacity:.85}.rcv-card b{font-size:1.25rem;letter-spacing:.08em}.rcv-card small{opacity:.85}
.rcv-note{font-size:.86rem;color:#4A5058;margin:12px 0}
.rcv-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:.95rem}
.rcv-dl dt{color:#5A6068}.rcv-dl dd{margin:0;font-weight:600;text-align:right;word-break:break-word}
.rcv-go{width:100%;margin-top:6px;background:#1C3D5A;color:#fff}
.rcv-go:hover{background:#244E73}
.rcv-safe{font-size:.8rem;color:#5A6068;text-align:center;margin:12px 0 0}
.rcv-done{text-align:left}
.rcv-done h3{margin:10px 0 14px;font-size:1.4rem}
.rcv-tick{width:56px;height:56px;border-radius:50%;background:#DDF2E5;color:#1E7A45;display:grid;place-items:center;font-size:1.8rem;margin-top:16px}
.rcv-actions{display:flex;gap:10px;flex-wrap:wrap}
.rcv-actions .btn-ghost{color:#15171A;border-color:#B9B5AE}
.rcv-actions .btn-primary{background:#1C3D5A;color:#fff}

/* Vablus chat */
.vb-launch{position:fixed;right:18px;bottom:18px;z-index:1200;min-height:54px;padding:0 20px 0 16px;border-radius:999px;border:0;background:var(--ink);color:var(--ground);font:700 .95rem/1 var(--h);display:flex;align-items:center;gap:10px;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.vb-dot{width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px rgba(242,140,40,.25)}
.vb{position:fixed;right:18px;bottom:84px;z-index:1201;width:min(390px,calc(100vw - 24px));height:min(600px,calc(100vh - 170px));background:#14161A;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.vb-h{display:flex;gap:12px;align-items:center;padding:14px 14px 14px 16px;border-bottom:1px solid var(--line);background:#1A1C21}
.vb-h b{display:block;font:700 .95rem/1.2 var(--h)}.vb-h small{color:var(--muted)}
.vb-av{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#111;display:grid;place-items:center;font:800 1rem/1 var(--h)}
.vb-x{margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:1.3rem;cursor:pointer}
.vb-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.vb-m{max-width:86%;padding:11px 14px;border-radius:14px;font-size:.95rem;line-height:1.45;background:#22252B}
.vb-m.me{align-self:flex-end;background:var(--primary);color:#111214;border-bottom-right-radius:4px}
.vb-m.bot{border-bottom-left-radius:4px}
.vb-m.typing{display:flex;gap:4px}.vb-m.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}
.vb-m.typing i:nth-child(2){animation-delay:.15s}.vb-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
.vb-m a{color:var(--primary)}
.vb-rc{margin-top:10px;background:#FBFAF7;color:#15171A;border-radius:10px;padding:12px;display:grid;gap:3px;font-size:.88rem}
.vb-rc a{color:#1C3D5A;font-weight:700}
.vb-q{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:8px 0 0}
.vb-q dt{color:var(--muted)}.vb-q dd{margin:0;text-align:right;font-weight:600}
.vb-chips{display:flex;gap:8px;overflow-x:auto;padding:10px 12px;border-top:1px solid var(--line);flex-wrap:wrap;max-height:150px;overflow-y:auto}
.vb-chip{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(242,140,40,.5);background:transparent;color:var(--ink);font:600 .86rem/1 var(--h);cursor:pointer;white-space:nowrap}
.vb-chip:hover{background:rgba(242,140,40,.14)}
.vb-f{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.vb-f input{min-height:46px}
.vb-send{width:48px;height:46px;border-radius:var(--r);border:0;background:var(--primary);color:#111;font-size:1.1rem;cursor:pointer;flex:none}
@media (max-width:760px){.vb-launch{bottom:78px;right:12px}.vb-launch .vb-lt{display:none}.vb-launch{padding:0 16px}.vb{right:12px;bottom:140px;height:min(560px,calc(100vh - 230px))}}

/* account */
.acc-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}
@media (max-width:980px){.acc-grid{grid-template-columns:1fr}}
.acc-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:16px}
.acc-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.acc-item h3{margin:4px 0 8px}
.acc-k{font:600 .78rem/1.2 var(--h);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.acc-item>p{color:#CFCAC1}
.tl{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:0}
.tl li{position:relative;padding:0 0 14px 28px;font-size:.94rem}
.tl li::before{content:"";position:absolute;left:5px;top:6px;width:10px;height:10px;border-radius:50%;border:2px solid var(--muted);background:var(--surface)}
.tl li::after{content:"";position:absolute;left:10px;top:18px;bottom:0;width:2px;background:var(--line)}
.tl li:last-child::after{display:none}
.tl li.done::before{background:var(--primary);border-color:var(--primary)}
.tl b{display:block;font-family:var(--h)}.tl span{color:var(--muted)}
.inv{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.inv li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.inv li span{display:block;color:var(--muted);font-size:.86rem}
.inv-a{font:700 1rem/1 var(--h);color:var(--ink)!important}
@media (max-width:560px){.inv li{grid-template-columns:1fr auto}.inv li .btn,.inv li .pill{grid-column:1/-1;justify-self:start}}
.msgs{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px}
.msgs li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;max-width:92%}
.msgs li.me{margin-left:auto;background:rgba(242,140,40,.12);border-color:rgba(242,140,40,.35)}
.msgs p{margin:6px 0}.msgs time{font-size:.8rem;color:var(--muted)}
.dash-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.dash-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.dash-tiles div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.dash-tiles b{display:block;font:800 1.8rem/1 var(--h);margin-bottom:6px}
.dash-tiles span{color:var(--muted);font-size:.9rem}
@media (max-width:760px){.dash-tiles{grid-template-columns:1fr 1fr}}

/* charts */
.chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.chart svg{width:100%;height:auto;display:block}
.chart h3{margin:0 0 4px}
.chart .muted{margin:0 0 14px;font-size:.9rem}

/* receipt page */
.receipt{background:#fff;color:#15171A;max-width:720px;margin:0 auto;border-radius:8px;padding:clamp(24px,5vw,56px);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.receipt dl{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:24px 0;border-top:1px solid #E2DFD9;padding-top:24px}
.receipt dt{color:#5A6068}.receipt dd{margin:0;font-weight:600;text-align:right}
.receipt h2{color:#15171A}
@media print{.hdr,.ftr,.bbar,.vb-launch,.vb,#covorn-ribbon,#covorn-ribbon-space,.live,.no-print{display:none!important}body{background:#fff}.receipt{box-shadow:none}}

/* footer */
.ftr{background:#08090A;border-top:1px solid var(--line);padding:clamp(64px,8vw,110px) 0 40px;font-size:.96rem}
.ftr-big{font:800 clamp(2.6rem,8vw,7.6rem)/.9 var(--h);letter-spacing:-.04em;margin:0 0 56px;color:var(--ink)}
.ftr-big span{color:var(--primary)}
.ftr-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.ftr h3{font:700 .8rem/1 var(--h);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ftr a{text-decoration:none;color:#D6D2CA;display:inline-block;padding:7px 0}
.ftr a:hover{color:var(--primary)}
.ftr-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:56px;padding-top:24px;color:var(--muted);font-size:.88rem;align-items:center}
.toggles{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tog{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:#D6D2CA;font:600 .85rem/1 var(--h);cursor:pointer}
.tog[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}
.lang{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.lang-note{font-size:.8rem;color:var(--muted);width:100%}
@media (max-width:900px){.ftr-g{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr-g{grid-template-columns:1fr}}

/* misc blocks */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.light .faq details{border-color:var(--pline)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font:600 1.12rem/1.35 var(--h);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--primary);flex:none}
.light .faq summary::after{color:var(--deep)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:#CFCAC1;max-width:70ch;padding-bottom:16px;margin:0}
.light .faq details p{color:#3A3E44}
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.spec>div{background:var(--surface);padding:20px}
.spec b{display:block;font:800 1.5rem/1.1 var(--h);margin-top:4px}
.spec span{color:var(--muted);font-size:.86rem}
@media (max-width:760px){.spec{grid-template-columns:1fr 1fr}}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bento>*{grid-column:span 2}
.bento>.w3{grid-column:span 3}.bento>.w4{grid-column:span 4}.bento>.w6{grid-column:span 6}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento>*,.bento>.w3,.bento>.w4{grid-column:span 1}.bento>.w6,.bento>.w4{grid-column:1/-1}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento>*{grid-column:1/-1!important}}
.marq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;white-space:nowrap}
.marq-t{display:inline-flex;gap:48px;font:800 clamp(1.6rem,3.4vw,2.8rem)/1 var(--h);letter-spacing:-.02em;color:#3B3F46;animation:marq 38s linear infinite}
.marq-t span::after{content:"\25C6";color:var(--primary);margin-left:48px;font-size:.5em;vertical-align:middle}
html:not(.motion) .marq-t{animation:none;white-space:normal;flex-wrap:wrap}
@keyframes marq{from{transform:translateX(0px)}to{transform:translateX(-50%)}}
.cta-band{position:relative;isolation:isolate;overflow:hidden;background:#1B1D21;padding:clamp(90px,12vw,170px) 0}
.cta-band .ph{position:absolute;inset:0;z-index:-2}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(14,15,17,.8)}
.cta-band h2{font-size:clamp(2.4rem,6.4vw,5.4rem);max-width:15ch}
.news-card{display:block;text-decoration:none}
.news-card .ph{border-radius:var(--r);margin-bottom:16px}
.news-card time{font:600 .8rem/1 var(--h);letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}
.news-card h3{margin:.5em 0}
.news-card:hover h3{color:var(--primary)}
.prose{max-width:720px;margin:0 auto;font-size:1.1rem}
.prose h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-top:1.6em}
.prose p{color:#D6D2CA}
.prose blockquote{margin:2em 0;padding-left:24px;border-left:3px solid var(--primary);font:600 1.4rem/1.35 var(--h);color:var(--ink)}
.note{font-size:.88rem;color:var(--muted)}
.ico-row{display:flex;gap:10px;align-items:center}
.ico-row svg{width:22px;height:22px;color:var(--primary);flex:none}
.map-ph{aspect-ratio:16/10;background:#17191D;border:1px solid var(--line);border-radius:var(--r);position:relative;overflow:hidden}
.map-ph svg{width:100%;height:100%}
.calc-out{background:var(--ground);border:1px solid rgba(242,140,40,.45);border-radius:var(--r);padding:24px}
.light .calc-out{background:var(--paper-ink);color:var(--ink)}
.calc-out .big{font:800 clamp(2rem,4vw,3rem)/1 var(--h);color:var(--primary);display:block;margin:6px 0 14px}
.calc-out dl{display:grid;grid-template-columns:1fr auto;gap:8px 14px;margin:0 0 16px}
.calc-out dt{color:var(--muted)}.calc-out dd{margin:0;font-weight:600;text-align:right}
.range-row{display:grid;grid-template-columns:1fr 110px;gap:12px;align-items:center}
input[type=range]{padding:0;min-height:44px;background:transparent;border:0;accent-color:var(--primary)}
.light input[type=range]{accent-color:var(--deep);background:transparent}
.unit{display:grid;grid-template-columns:200px 1fr auto;gap:20px;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.unit .ph{border-radius:var(--r)}
.unit h3{margin:.2em 0}
@media (max-width:760px){.unit{grid-template-columns:1fr}}
.inc-res{display:grid;gap:10px}
.inc-res li{list-style:none}
.inc-ok{padding:16px;border:1px solid var(--line);border-left:4px solid var(--good);border-radius:var(--r);background:var(--surface)}
.inc-no{padding:16px;border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:var(--r);opacity:.75}

/* reveals (content visible unless JS turns motion on) */
html.motion .rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
html.motion .rv.in{opacity:1;transform:translateY(0px)}
html.motion .stg>*{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.motion .stg.in>*{opacity:1;transform:translateY(0px)}
html.motion .mask{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
html.motion .mask.in{clip-path:inset(0 0 0% 0)}
.progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--primary);transform-origin:0 50%;transform:scaleX(0);z-index:51}
html:not(.motion) .progress{display:none}
.tilt{transition:transform .35s ease-out}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
::view-transition-old(page-hero),::view-transition-new(page-hero){animation-duration:.45s}
