/* tokens */

:root{
  --navy:#152A4D;
  --navy-deep:#0B1830;
  --navy-mid:#1D3760;
  --brass:#C0972D;
  --brass-bright:#E0B252;
  --brass-ink:#7A5F1C;
  --hall:#F2F1EC;
  --stone:#E3E1D8;
  --paper:#FBFAF7;
  --ink:#101A2B;
  --ink-muted:#4E5D73;
  --on-navy:#EDEFF3;
  --on-navy-muted:#A9B6C9;
  --up:#256B4C;
  --down:#A63A28;
  --display:"Prata",Georgia,"Times New Roman",serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --maxw:1240px;
  --pad:clamp(20px,4vw,44px);
  --lintel-h:80px;
  --lintel-h-stuck:66px;
}

/* reset */

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--hall);color:var(--ink);
  font-family:var(--body);font-size:1rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:400;letter-spacing:-0.01em;line-height:1.12;color:var(--ink);}
p{margin:0;}
a{color:inherit;text-decoration:none;text-underline-offset:3px;}
img{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
table{border-collapse:collapse;}
::selection{background:var(--brass);color:var(--navy-deep);}
input,select,textarea{caret-color:var(--brass-ink);font:inherit;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px;}
html{scrollbar-color:var(--brass) var(--navy-deep);}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--navy-deep);}
::-webkit-scrollbar-thumb{background:var(--brass);border:3px solid var(--navy-deep);border-radius:8px;}

[id]{scroll-margin-top:calc(var(--lintel-h-stuck) + 38px);}

/* utilities */

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
.skip{position:fixed;left:12px;top:12px;z-index:200;background:var(--brass);color:var(--navy-deep);padding:12px 22px;font-weight:600;transform:translateY(-180%);transition:transform .2s var(--ease);}
.skip:focus{transform:none;}

/* street */
/* @probe .street */

.street{background:var(--hall);color:var(--ink-muted);font-size:.78rem;border-bottom:1px solid rgba(16,26,43,.1);}
.street .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap;padding-block:6px;}
.street__facts{display:flex;gap:20px;flex-wrap:wrap;}
.street__facts span{letter-spacing:.02em;}
.street__tools{display:flex;align-items:center;gap:12px;}
.street__tools a{padding:4px 2px;}
.street__tools a:hover{color:var(--brass-ink);text-decoration:underline;}
.street__tools a[aria-current]{color:var(--navy);font-weight:600;}
.street__tools .na{padding:4px 2px;color:rgba(78,93,115,.45);cursor:not-allowed;}
.street__facts a{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--ink);}
.street__facts a:hover{color:var(--brass-ink);text-decoration:underline;}
.street__sep{width:1px;height:12px;background:rgba(16,26,43,.22);}

@media (max-width:820px){
  .street__facts span:nth-child(2){display:none;}
}

/* lintel */
/* @probe .lintel */

.lintel{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--stone);transition:box-shadow .3s var(--ease),background .3s var(--ease);}
.lintel.is-stuck{box-shadow:0 10px 30px -18px rgba(11,24,48,.45);background:var(--hall);}
.lintel .wrap{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2vw,28px);min-height:var(--lintel-h);}
.lintel.is-stuck .wrap{min-height:var(--lintel-h-stuck);}
.brand{flex:none;}
.brand img{height:44px;width:auto;display:block;}
.lintel.is-stuck .brand img{height:36px;}
.menu{display:flex;gap:clamp(11px,1.35vw,20px);}
.menu a{position:relative;font-size:.855rem;font-weight:500;padding:10px 1px;color:var(--ink);}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease);}
.menu a:hover::after,.menu a:focus-visible::after{transform:scaleX(1);}
.lintel__cta{display:flex;align-items:center;gap:12px;}
.burger{display:none;width:48px;height:48px;position:relative;}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--navy);transition:transform .3s var(--ease),opacity .2s;}
.burger span:nth-child(1){top:17px;}
.burger span:nth-child(2){top:23px;}
.burger span:nth-child(3){top:29px;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.drawer{display:none;}

/* keys & ghosts */
/* @probe .key .ghost .link-arrow */

.key,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;font-size:.9rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s,border-color .2s,color .2s;}
.key{background:var(--brass);color:var(--navy-deep);box-shadow:0 10px 22px -12px rgba(192,151,45,.75),inset 0 1px 0 rgba(255,255,255,.35);}
.key:hover{background:var(--brass-bright);transform:translateY(-2px);box-shadow:0 16px 28px -14px rgba(192,151,45,.85),inset 0 1px 0 rgba(255,255,255,.4);}
.key:active{transform:translateY(0);}
.ghost{border:1px solid var(--stone);color:var(--ink);background:transparent;}
.ghost:hover{border-color:var(--brass);color:var(--brass-ink);}
.ghost--lit{border-color:rgba(237,239,243,.35);color:var(--on-navy);}
.ghost--lit:hover{border-color:var(--brass-bright);color:var(--brass-bright);}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--brass-ink);}
.link-arrow svg{transition:transform .25s var(--ease);}
.link-arrow:hover svg{transform:translateX(5px);}

/* shared legal + source lines */
/* @probe .source .legal-line .sheet-legal */

.source{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.7rem;letter-spacing:.02em;color:var(--ink-muted);line-height:1.6;margin:0;}
.legal-line{font-size:.76rem;line-height:1.65;color:var(--ink-muted);margin:0;max-width:78ch;}
.sheet-legal{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(122,95,28,.4);margin-top:clamp(24px,3vw,36px);padding-top:16px;}

/* sections */
/* Deliberately unprobed, and the only migrated module that is: the first
   declaration below is a bare element selector. A sub-page that opens on a
   titled page head and then carries one plain <section> band would match neither
   .section-head nor .rule, so probing on them would silently drop the padding
   from every band on that page. Comments are stripped before declarations are
   compared, so removing this line changes nothing split-verify.mjs measures. */

section{padding:clamp(72px,10vh,120px) 0;}
.section-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,6vh,68px);}
.section-head h2{font-size:clamp(1.85rem,3.2vw,2.75rem);line-height:1.16;max-width:22ch;}
.section-head p{color:var(--ink-muted);max-width:44ch;font-size:.98rem;}
.rule{height:1px;background:var(--brass);transform-origin:left;}
.js .rule-draw{transform:scaleX(0);}
.js .rule-draw.in{transform:scaleX(1);transition:transform 1.1s var(--ease);}

@media (max-width:820px){
  .section-head{grid-template-columns:1fr;}
}

/* reveal */
/* @probe .rise */

.js .rise{opacity:0;transform:translateY(16px);clip-path:inset(0 0 100% 0);}
.js .rise.in{opacity:1;transform:none;clip-path:inset(-16% -10%);transition:opacity .7s var(--ease),transform .85s var(--ease),clip-path .95s var(--ease);transition-delay:calc(var(--i,0) * 70ms);}

/* hall */
/* @probe .hall */

.hall{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);background:var(--stone);}
.hall__field{position:relative;overflow:hidden;min-height:clamp(560px,86vh,880px);background:linear-gradient(180deg,var(--hall) 0%,var(--stone) 100%);}
.hall__field svg.elevation{position:absolute;inset:auto 0 0 0;width:100%;height:auto;}
.louver{position:absolute;inset:0;pointer-events:none;}
.louver i{position:absolute;left:-6%;right:-6%;height:2px;background:linear-gradient(90deg,transparent,rgba(192,151,45,.24) 18%,rgba(192,151,45,.44) 50%,rgba(192,151,45,.24) 82%,transparent);transform:translate3d(0,calc(var(--scroll,0px) * var(--k,0)),0);will-change:transform;}
.hall__caption{position:absolute;left:var(--pad);bottom:calc(var(--pad) * .8);z-index:2;max-width:36ch;color:var(--ink-muted);font-size:.78rem;line-height:1.65;letter-spacing:.06em;background:rgba(251,250,247,.92);border:1px solid rgba(16,26,43,.12);border-top:2px solid var(--brass);padding:10px 14px;}
.hall__caption b{color:var(--brass-ink);font-weight:600;}
.hall__counter{position:relative;background:linear-gradient(rgba(251,250,247,.94),rgba(242,241,236,.96)),url("../assets/textures/terrazzo.webp") center/420px repeat;padding:clamp(48px,7vh,84px) clamp(28px,3.4vw,56px);border-left:1px solid var(--brass);display:flex;flex-direction:column;justify-content:center;gap:26px;}
.hall__counter::before{content:"";position:absolute;inset:14px;border:1px solid rgba(122,95,28,.35);pointer-events:none;}
.hall__counter h1{font-size:clamp(2.7rem,4.6vw,4.6rem);line-height:1.04;letter-spacing:-0.02em;}
.hall__counter h1 em{font-style:normal;color:var(--brass-ink);}
.lede{color:var(--ink-muted);font-size:1.02rem;line-height:1.7;max-width:46ch;}
.cta-stack{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.cta-stack .key{width:100%;max-width:340px;}

.hall{padding:0;}

@media (max-width:1080px){
  .hall{grid-template-columns:1fr;}
  .hall__field{min-height:340px;}
  .hall__counter{border-left:0;border-top:1px solid var(--brass);}
}

/* board */
/* @probe .board */

.board{background:var(--brass);color:var(--navy-deep);border-block:1px solid var(--brass-ink);}
.board .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,44px);align-items:center;padding-block:18px;}
.board__head{display:flex;flex-direction:column;gap:4px;}
.board__title{font-family:var(--display);font-size:1.05rem;letter-spacing:.01em;}
.board__live{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.board__live i{width:7px;height:7px;border-radius:50%;background:var(--navy-deep);animation:pulse 2.2s var(--ease) infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.8);}}
.board__rows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2.4vw,34px);}
.quote{display:flex;flex-direction:column;gap:2px;border-left:1px solid rgba(11,24,48,.28);padding-left:14px;}
.quote__name{font-weight:700;font-size:.86rem;letter-spacing:.02em;}
.quote__sub{font-size:.7rem;opacity:.78;}
.quote__val{display:flex;align-items:baseline;gap:10px;margin-top:4px;}
.quote__nav{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:1.02rem;}
.quote__chg{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:500;}
.quote__chg.is-flash{animation:flash .9s var(--ease);}
@keyframes flash{0%{background:rgba(251,250,247,.85);}100%{background:transparent;}}
.board__foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:8px 28px;flex-wrap:wrap;border-top:1px solid rgba(11,24,48,.26);margin-top:4px;padding-top:10px;}
.board__foot p{margin:0;font-size:.74rem;line-height:1.6;max-width:62ch;color:rgba(11,24,48,.86);}
.board .source{color:rgba(11,24,48,.8);}

.board{padding:0;}

@media (max-width:1080px){
  .board .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
  .board__rows{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
  .board__foot{width:100%;flex-direction:column;align-items:flex-start;gap:6px;}
}

@media (max-width:560px){
  .board__rows{grid-template-columns:1fr;}
  .quote{border-left:0;border-top:1px solid rgba(11,24,48,.28);padding:12px 0 0;}
  .quote:first-child{border-top:0;padding-top:0;}
}

/* threshold */
/* @probe .threshold */

.threshold{background:var(--stone);border-bottom:1px solid rgba(16,26,43,.12);}
.threshold .wrap{display:flex;align-items:center;gap:clamp(18px,3.4vw,48px);padding-block:26px;flex-wrap:wrap;}
.threshold__label{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink);}
.threshold__names{display:flex;gap:clamp(16px,2.8vw,40px);flex-wrap:wrap;align-items:center;}
.threshold__names span{font-family:var(--display);font-size:clamp(.98rem,1.4vw,1.18rem);color:var(--ink);letter-spacing:.01em;position:relative;}
.threshold__names span + span::before{content:"";position:absolute;left:calc(clamp(16px,2.8vw,40px) / -2);top:50%;width:1px;height:14px;background:rgba(16,26,43,.28);transform:translate(-50%,-50%);}

/* plinth */
/* @probe .plinth */

.plinth{position:relative;overflow:hidden;background:var(--navy);color:var(--on-navy);}
.plinth::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 80% at 12% 0%,rgba(192,151,45,.2),transparent 58%);pointer-events:none;}
.plinth .wrap{position:relative;}
.plinth__head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,68px);align-items:end;}
.plinth__statement{font-family:var(--display);font-size:clamp(1.6rem,2.7vw,2.4rem);line-height:1.2;letter-spacing:-0.01em;margin:0;color:var(--on-navy);}
.plinth__statement em{font-style:normal;color:var(--brass-bright);}
.plinth__note{color:var(--on-navy-muted);font-size:.96rem;line-height:1.75;margin:0;max-width:44ch;}
.plinth__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(38px,5.4vh,60px) 0 0;border-top:1px solid rgba(224,178,82,.42);}
.plinth__stats > div{padding:20px clamp(16px,2vw,26px) 22px 0;border-bottom:1px solid rgba(224,178,82,.24);}
.plinth__stats > div + div{padding-left:clamp(16px,2vw,26px);border-left:1px solid rgba(224,178,82,.24);}
.plinth__stats dt{font-family:var(--display);font-size:clamp(2rem,3.4vw,3rem);line-height:1;color:var(--brass-bright);font-variant-numeric:tabular-nums;}
.plinth__stats dd{margin:12px 0 0;font-size:.82rem;line-height:1.6;color:var(--on-navy-muted);max-width:24ch;}
.plinth__funds{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3vw,48px);margin:clamp(26px,3.6vh,40px) 0 0;padding:0;}
.plinth__funds li{display:flex;align-items:baseline;gap:12px;border-top:1px solid rgba(224,178,82,.24);padding:13px 0;}
.plinth__funds b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700;letter-spacing:.04em;color:var(--brass-bright);}
.plinth__funds span{font-size:.84rem;color:var(--on-navy-muted);}
.plinth__base{margin-top:clamp(40px,6vh,64px);}
.plinth__base i{display:block;height:1px;background:rgba(224,178,82,.3);}
.plinth__base i + i{margin-top:7px;}
.plinth__base i:nth-child(2){margin-inline:7%;}
.plinth__base i:nth-child(3){margin-inline:15%;}
.plinth .source{color:var(--on-navy-muted);margin-top:20px;}

@media (max-width:1080px){
  .plinth__head{grid-template-columns:1fr;gap:22px;align-items:start;}
  .plinth__stats{grid-template-columns:1fr;}
  .plinth__stats > div + div{padding-left:0;border-left:0;}
}

@media (max-width:560px){
  .plinth__funds{grid-template-columns:1fr;}
}

/* arcade */
/* @probe .arcade .bay */

.arcade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.28fr) minmax(0,1fr);gap:clamp(18px,2.6vw,34px);align-items:end;}
.bay{position:relative;background:var(--paper);border:1px solid var(--stone);padding:clamp(30px,3vw,44px) clamp(24px,2.4vw,36px) clamp(28px,2.6vw,38px);display:flex;flex-direction:column;gap:16px;transition:transform .3s var(--ease),box-shadow .35s var(--ease),border-color .3s;}
.bay:hover{transform:translateY(-6px);box-shadow:0 26px 46px -30px rgba(11,24,48,.4);border-color:rgba(192,151,45,.55);}
.bay__arch{position:absolute;top:-1px;left:12%;right:12%;height:34px;border:1px solid rgba(192,151,45,.45);border-bottom:0;border-radius:200px 200px 0 0;background:none;}
.bay__arch::after{content:"";position:absolute;top:-6px;left:50%;width:15px;height:11px;transform:translateX(-50%);background:var(--brass);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);}
.bay--flagship{background:var(--stone);border-color:rgba(16,26,43,.12);color:var(--ink);padding-block:clamp(46px,4.4vw,64px);}
.bay--flagship .bay__arch{border-color:var(--brass);}
.bay h3{font-size:clamp(1.3rem,1.9vw,1.7rem);}
.bay p{font-size:.94rem;line-height:1.7;color:var(--ink-muted);}
.bay__list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.bay__list li{display:flex;align-items:baseline;gap:12px;font-size:.9rem;color:var(--ink-muted);border-top:1px solid rgba(122,95,28,.4);padding-top:10px;}
.bay__list li b{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--brass-ink);font-weight:500;font-size:.8rem;}
.keystone{width:52px;height:40px;color:var(--brass);}

@media (max-width:1080px){
  .arcade{grid-template-columns:1fr;}
  .bay--flagship{order:-1;}
}

/* showcase */
/* @probe .showcase */

.showcase{position:relative;overflow:hidden;background:var(--navy);color:var(--on-navy);}
.showcase::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 88% 8%,rgba(192,151,45,.22),transparent 62%);pointer-events:none;}
.showcase .wrap{position:relative;}
.showcase__arch{position:relative;border:1px solid rgba(224,178,82,.45);border-bottom:0;border-radius:220px 220px 0 0;height:44px;margin:0 14%;}
.showcase__arch::after{content:"";position:absolute;top:-7px;left:50%;width:17px;height:13px;transform:translateX(-50%);background:var(--brass-bright);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);}
.showcase__panel{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,4.6vw,74px);align-items:start;border:1px solid rgba(224,178,82,.3);border-top:2px solid var(--brass-bright);padding:clamp(28px,3.6vw,54px);}
.showcase__ticker{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-bright);}
.showcase__ticker span{font-family:var(--body);letter-spacing:.06em;color:var(--on-navy-muted);text-transform:none;font-size:.76rem;}
.showcase h3{font-family:var(--display);font-size:clamp(1.5rem,2.5vw,2.15rem);line-height:1.2;margin:16px 0 0;color:var(--on-navy);}
.showcase__lede{color:var(--on-navy-muted);font-size:.96rem;line-height:1.78;margin:16px 0 0;max-width:52ch;}
.showcase .link-arrow{margin-top:24px;color:var(--brass-bright);}
.showcase .link-arrow svg{stroke:currentColor;}
.showcase__legal{margin-top:22px;padding-top:14px;border-top:1px solid rgba(224,178,82,.24);}
.showcase__legal .legal-line{color:var(--on-navy-muted);}
.funnel{display:flex;flex-direction:column;align-items:center;gap:9px;}
.funnel__cap{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:5px;text-align:center;}
.funnel i{display:flex;align-items:center;justify-content:center;height:52px;background:var(--navy-mid);border:1px solid rgba(224,178,82,.26);font-style:normal;font-size:.8rem;color:var(--on-navy);text-align:center;padding:0 12px;width:100%;}
.funnel i:nth-of-type(2){width:93%;}
.funnel i:nth-of-type(3){width:84%;}
.funnel i:nth-of-type(4){width:73%;background:rgba(192,151,45,.18);border-color:rgba(224,178,82,.5);color:var(--brass-bright);}
.funnel__note{font-size:.74rem;line-height:1.6;color:var(--on-navy-muted);margin:5px 0 0;text-align:center;max-width:40ch;}

@media (max-width:1080px){
  .showcase__panel{grid-template-columns:1fr;gap:34px;}
}

@media (max-width:560px){
  .showcase__arch{margin:0;border-radius:120px 120px 0 0;height:32px;}
}

/* insights */
/* @probe .reading .dispatch */

.reading{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(36px,5vw,84px);align-items:start;}
.reading__stage{position:sticky;top:calc(var(--lintel-h-stuck) + 46px);}
.reading__plates{position:relative;aspect-ratio:4/3;max-height:56vh;background:var(--navy-deep);}
.reading__plate{position:absolute;inset:0;overflow:hidden;isolation:isolate;opacity:0;transform:scale(1.035);transition:opacity .9s var(--ease),transform 1.2s var(--ease);}
.reading__plate.is-on{opacity:1;transform:none;}
.reading__plate img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.06) brightness(1.1);}
.reading__plate::before{content:"";position:absolute;inset:0;background:var(--navy);mix-blend-mode:screen;pointer-events:none;z-index:1;}
.reading__plate::after{content:"";position:absolute;inset:0;background:var(--brass-bright);mix-blend-mode:multiply;opacity:.58;pointer-events:none;z-index:2;}
.reading__cap{display:flex;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(16,26,43,.16);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--brass-ink);}
.reading__cap.swap{animation:capIn .5s var(--ease) both;}
@keyframes capIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.reading__cap .idx{font-family:var(--mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.04em;}
.reading__cap .dot{width:3px;height:3px;border-radius:50%;background:var(--brass-ink);}
.reading__cap time{color:var(--ink-muted);font-weight:500;letter-spacing:.04em;}
.reading__flow{display:flex;flex-direction:column;}
.dispatch{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:clamp(320px,52vh,460px);padding:clamp(26px,4vh,44px) 0 clamp(26px,4vh,44px) 28px;border-top:1px solid rgba(16,26,43,.16);}
.dispatch:first-child{border-top:0;}
.dispatch::before{content:"";position:absolute;left:0;top:clamp(26px,4vh,44px);bottom:clamp(26px,4vh,44px);width:2px;background:var(--brass);transform:scaleY(0);transform-origin:50% 0;transition:transform .6s var(--ease);}
.dispatch.is-on::before{transform:scaleY(1);}
.dispatch__body{display:flex;flex-direction:column;align-items:flex-start;color:inherit;}
.dispatch__meta{display:flex;align-items:center;gap:10px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--brass-ink);}
.dispatch__meta .idx{font-family:var(--mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.04em;color:var(--ink-muted);transition:color .4s var(--ease);}
.dispatch.is-on .dispatch__meta .idx{color:var(--brass-ink);}
.dispatch__meta .dot{width:3px;height:3px;border-radius:50%;background:var(--brass-ink);}
.dispatch__meta time{color:var(--ink-muted);font-weight:500;letter-spacing:.04em;}
.dispatch h3{font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.25;margin-top:14px;}
.dispatch__excerpt{color:var(--ink-muted);font-size:.94rem;margin-top:10px;max-width:52ch;}
.insights__legal{display:flex;flex-direction:column;gap:8px;margin-top:clamp(22px,3vw,34px);}
.insights__note{font-size:.78rem;color:var(--ink-muted);letter-spacing:.02em;margin:0;}

@media (max-width:1080px){
  .reading{grid-template-columns:1fr;gap:0;}
  .reading__stage{top:var(--lintel-h-stuck);z-index:4;background:var(--stone);padding-top:14px;padding-bottom:14px;border-bottom:1px solid rgba(16,26,43,.12);}
  .reading__cap{margin-top:12px;padding-top:10px;border-top:0;}
  .reading__plates{aspect-ratio:16/9;max-height:44vh;}
  .reading__flow{margin-top:clamp(18px,3vh,30px);}
  .dispatch{min-height:clamp(260px,44vh,380px);}
}

@media (max-width:560px){
  .reading__plates{max-height:38vh;}
  .dispatch{min-height:clamp(240px,40vh,340px);}
}

/* night */
/* @probe .night */

.night{background:var(--navy-deep);color:var(--on-navy-muted);padding:clamp(56px,8vh,88px) 0 0;}
.night__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,44px);padding-bottom:52px;border-bottom:1px solid rgba(237,239,243,.14);}
.night__brand img{height:50px;width:auto;margin-bottom:18px;}
.night__brand p{font-size:.86rem;line-height:1.75;max-width:30ch;}
.night h4{font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:16px;}
.night__col a{display:block;font-size:.88rem;padding:5px 0;color:var(--on-navy-muted);}
.night__col a:hover{color:var(--on-navy);text-decoration:underline;}
.night__disclosure{padding:30px 0;font-size:.78rem;line-height:1.75;max-width:96ch;}
.night__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0 30px;font-size:.78rem;}
.night__col .na{display:block;font-size:.88rem;padding:5px 0;color:rgba(169,182,201,.5);cursor:not-allowed;}
.night__demo{margin-top:18px;font-size:.76rem;line-height:1.7;color:rgba(169,182,201,.8);max-width:40ch;}
.night__social{display:flex;gap:12px;}
.night__social a,.night__social span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(237,239,243,.22);color:var(--on-navy-muted);transition:border-color .25s,color .25s;}
.night__social a:hover{border-color:var(--brass-bright);color:var(--brass-bright);}
.night__social span{border-style:dashed;border-color:rgba(237,239,243,.16);color:rgba(169,182,201,.42);cursor:not-allowed;}
.night__social svg{width:17px;height:17px;}
.night__terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding:30px 0;border-top:1px solid rgba(237,239,243,.14);border-bottom:1px solid rgba(237,239,243,.14);}
.night__terms h3{font-family:var(--body);font-size:.9rem;font-weight:600;color:var(--on-navy);margin-bottom:10px;}
.night__terms p{font-size:.78rem;line-height:1.75;margin:0;color:rgba(169,182,201,.9);max-width:64ch;}

.night__legal{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.night__legal a + a{border-left:1px solid rgba(237,239,243,.2);padding-left:14px;}
.night__legal a:hover{color:var(--brass-bright);}

@media (max-width:1080px){
  .night__grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:820px){
  .night__terms{grid-template-columns:1fr;}
}

@media (max-width:560px){
  .night__grid{grid-template-columns:1fr;}
}

/* nav current */
/* @probe .lintel */

/* The seven lintel links became seven routes, so "which room am I in" is a fact
   the nav can state instead of a scroll position it has to infer. Both treatments
   reuse vocabulary the building already has rather than inventing a badge:

   · On the paper lintel the current link holds open the same 2px brass underline
     that hover and focus draw from the left — the bar is simply never retracted,
     and the label takes the navy-at-600 the street rail gives its current
     language. Flat-At-Rest governs shadows, and this casts none; a persistent
     state marker at rest is exactly what `.street__tools a[aria-current]` already
     is, so the building has one grammar for "you are here", not two.
   · Inside the navy drawer the current link takes brass-bright at 600 over a 2px
     brass-bright left edge, hung the way the fold drawer and the reading room's
     active chapter hang theirs. The edge is what keeps this off colour alone:
     brass-bright against on-navy is a real contrast step, but Never-Colour-Alone
     asks for a shape that survives monochrome and a weight that survives
     blindness, and `aria-current="page"` supplies the announced half.

   The edge is drawn inside the link's own box (negative margin, matching
   padding-left) so the label stays on the column every other row uses.

   The homepage is the one route where nothing here fires: its `section` is "home",
   which matches none of the seven, and `{{home}}` resolves to `#main` there for
   the same reason — on the front door, "go home" is not a destination. */

.menu a[aria-current]{color:var(--navy);font-weight:600;}
.menu a[aria-current]::after{transform:scaleX(1);}
.drawer a[aria-current]{color:var(--brass-bright);font-weight:600;border-left:2px solid var(--brass-bright);padding-left:14px;margin-left:-16px;}

/* band link */
/* @probe .band-link */

/* A .link-arrow standing alone at the foot of a band. It needs the same gap the
   band's own legal block uses above itself, so the two do not fight when a band
   carries both. It is a plain block wrapper rather than a flex item on purpose:
   .link-arrow is inline-flex, and inside any flex or grid parent it would
   stretch to the full measure, giving a full-width hit area with the label
   pinned to its left edge. As a block child it shrinks to the link. */

.band-link{margin:clamp(22px,3vw,34px) 0 0;}

/* night headings */
/* @probe .night */

/* The footer's six group labels were <h4> (nav columns) and <h3> (legal blocks)
   in the single-file page, where they only cleared the heading-order check
   because that document happened to contain an <h3> in its body. A shared footer
   cannot know how deep the page above it went, so all six are now <h2> — the one
   level every document can reach straight after its <h1>.

   These are the pinned 24-night.css declarations with the tag swapped, so the
   footer renders exactly as it did. `.night__terms h2` must come second: it now
   also matches `.night h2`, and has to undo the uppercase and tracked-out
   letter-spacing that rule brings with it. Both rules die with the retired
   `.night h4` / `.night__terms h3` selectors once the single-file page goes. */

.night h2{font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:16px;}
.night__terms h2{font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:-0.01em;text-transform:none;color:var(--on-navy);margin-bottom:10px;}

/* band surfaces */
/* @probe .band-paper .band-stone */

.band-paper{background:var(--paper);}
.band-stone{background:var(--stone);}

/* nav mode switch */

@media (max-width:1200px){
  .menu,.lintel__cta{display:none;}
  .burger{display:block;}
  .drawer{display:block;position:fixed;inset:0 0 auto 0;top:0;z-index:55;background:var(--navy-deep);color:var(--on-navy);padding:calc(var(--lintel-h) + 16px) var(--pad) 40px;transform:translateY(-102%);transition:transform .45s var(--ease);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);}
  .drawer.is-open{transform:none;}
  .drawer a{display:block;padding:14px 0;font-size:1.05rem;border-bottom:1px solid rgba(237,239,243,.12);}
  .drawer .drawer__cta{display:flex;flex-direction:column;gap:12px;margin-top:26px;border:0;}
}

/* reduced motion */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  .js .rise{opacity:1;transform:none;clip-path:none;}
  .js .rule-draw{transform:scaleX(1);}
  .louver i{transform:none!important;}
}
