/* Growth pass (Oct 9, 2026): the film hero on Home, Why this exists, Council Watch, Voices, Write to Council,
   Block captains, The Ledger. Same navy and gold as app.css and v1.css. Big type, generous space, one action per block.
   Mobile first at 390px: one column, no sideways scroll. */

/* ---------- Home: the overview (first screen), the strip, the ask box ---------- */
.ov{position:relative;isolation:isolate;border-bottom:1px solid var(--line);background:radial-gradient(90% 70% at 100% 0%,rgba(214,178,110,.12),transparent 60%),radial-gradient(60% 50% at 0% 100%,rgba(43,61,94,.35),transparent 60%),var(--bg2)}
.ov-in{display:grid;gap:16px;padding-block:clamp(26px,4vh,44px) clamp(22px,3vh,32px);max-width:1180px;justify-items:start}
.ov-in > *{min-width:0;max-width:100%}
.ov-h1{margin:0;font:300 clamp(36px,4.6vw,62px)/1.03 var(--display);letter-spacing:-.014em;max-width:16ch;text-wrap:balance}
.ov-sub{margin:0;max-width:62ch;font-size:clamp(16.5px,1.5vw,19.5px);line-height:1.55;color:var(--fg);opacity:.9}
.ov-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;margin-top:6px}
.ov-tile{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"i t" "i l";gap:2px 10px;align-content:start;padding:12px 14px 12px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 50%),var(--panel);color:var(--fg);text-decoration:none;min-width:0;transition:border-color .2s,transform .2s var(--ease)}
.ov-tile:hover{border-color:var(--acc-line);color:var(--fg);transform:translateY(-2px)}
.ov-tile.acc{border-color:rgba(214,178,110,.55);background:radial-gradient(120% 100% at 0% 0%,rgba(214,178,110,.18),transparent 60%),var(--panel)}
.ov-ti{grid-area:i;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--acc-dim);color:var(--acc)}
.ov-ti .ic{width:18px;height:18px}
.ov-tt{grid-area:t;font:400 17px/1.2 var(--display);letter-spacing:.01em}
.ov-tl{grid-area:l;font-size:12.5px;line-height:1.4;color:var(--muted)}
.ov-door{max-width:820px;width:100%;margin-top:4px}
.ov-door .fd-box{box-shadow:0 0 0 1px rgba(236,211,149,.06) inset,0 0 50px rgba(214,178,110,.12),0 24px 60px rgba(2,6,15,.45)}
.ov-videos{padding-block:30px 10px;border-top:0}
.ov-acts{padding-block:22px 6px;border-top:0}
.ov-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ov-btns .btn{width:100%;justify-content:center;min-height:56px;font-size:16.5px}
.ov-foot{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:8px auto 36px;font-size:14.5px}
.ov-foot a{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:var(--muted);text-decoration:none}
.ov-foot a:hover{color:var(--acc)}
.ov-foot a .ic{width:16px;height:16px;color:var(--acc)}
.fd-start{border-top:0}
@media (max-width:1023px){
  /* Home on a phone: the overview is the first thing on the screen, so the wrapping sub-tab block stays off this one page (the strip and the bottom tabs reach every page). */
  body[data-page="home"] #ia-subnav{display:none}
  .ov-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ov-btns{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ov-in{gap:12px;padding-block:22px 22px}
  .ov-h1{font-size:clamp(32px,9.2vw,40px)}
  .ov-sub{font-size:15.5px;line-height:1.5}
  .ov-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:2px}
  .ov-tile{padding:9px 10px;gap:0 8px}
  .ov-ti{width:28px;height:28px}
  .ov-ti .ic{width:15px;height:15px}
  .ov-tt{font-size:15.5px}
  .ov-tl{font-size:11.5px;line-height:1.3}
  .ov-btns{grid-template-columns:minmax(0,1fr);gap:8px}
  .ov-btns .btn{min-height:52px}
  .ov-foot{flex-direction:column;align-items:center;gap:2px}
}

/* ---------- the two videos, playing in place (Home and the Guide) ---------- */
.hv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hv-one{grid-template-columns:minmax(0,1fr);max-width:980px}
.hv-card{display:grid;gap:10px;margin:0;min-width:0}
.hv-label{display:grid;gap:2px;margin:0}
.hv-eyebrow{font:500 12.5px/1.5 var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--acc)}
.hv-title{font:300 clamp(20px,1.8vw,24px)/1.2 var(--display);color:var(--fg)}
.hv-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid rgba(214,178,110,.28);background:#000;box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(214,178,110,.1),0 0 50px rgba(214,178,110,.07);isolation:isolate}
.hv-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hv-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(6,12,24,.1),rgba(6,12,24,.08) 55%,rgba(6,12,24,.55))}
.hv-card.playing .hv-stage::after{display:none}
.hv-play{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:10px;width:100%;height:100%;border:0;background:transparent;color:var(--fg);font:inherit;cursor:pointer}
.hv-play > span:last-child{font:500 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.8)}
.hv-ring{display:grid;place-items:center;width:clamp(68px,6.5vw,92px);height:clamp(68px,6.5vw,92px);border-radius:50%;background:var(--grad-gold);color:var(--acc-ink);box-shadow:0 0 0 8px rgba(214,178,110,.14),0 0 60px rgba(214,178,110,.32),0 20px 50px rgba(0,0,0,.6);transition:box-shadow .3s,transform .25s var(--ease)}
.hv-ring svg{width:46%;height:46%;fill:currentColor;margin-left:5%}
.hv-play:hover .hv-ring{transform:scale(1.05);box-shadow:0 0 0 12px rgba(214,178,110,.12),0 0 80px rgba(214,178,110,.42),0 20px 50px rgba(0,0,0,.6)}
.hv-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.hv-close{position:absolute;top:10px;right:10px;z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px 0 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(6,12,24,.7);color:var(--fg);font:600 13px/1 var(--body);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hv-close .ic{width:16px;height:16px}
.hv-close:hover{border-color:var(--acc)}
.hv-line{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.hv-after{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;border:1px solid var(--acc-line);border-radius:var(--r);background:var(--panel)}
.hv-after > span{font:300 clamp(17px,1.4vw,20px)/1.3 var(--display);color:var(--fg);flex:1 1 220px}
@media (max-width:760px){.hv{grid-template-columns:minmax(0,1fr);gap:22px}.hv-stage{border-radius:12px}.hv-after > span{flex-basis:100%}}

/* ---------- the rail: one line under the open section; the Guide's What's where ---------- */
.rail-desc{display:block;margin:-2px 0 4px 46px;font-size:12px;line-height:1.4;color:var(--dim)}
.ww{display:grid;gap:18px}
.ww-tabs{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);font-size:14.5px;line-height:1.55;color:var(--muted)}
.ww-tabs .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--acc)}
.ww-tabs b{color:var(--fg)}
.ww-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ww-sec{display:grid;gap:6px;align-content:start;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);min-width:0}
.ww-sec h3{display:flex;align-items:center;gap:8px;font:400 20px/1.2 var(--display)}
.ww-sec h3 .ic{width:18px;height:18px;color:var(--acc)}
.ww-n{font:300 16px/1 var(--display);color:var(--acc);letter-spacing:.04em}
.ww-line{font-size:13px;color:var(--acc-hi);margin-bottom:4px}
.ww-sec ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ww-sec li{display:grid;gap:1px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--muted)}
.ww-sec li a,.ww-sec li button.link{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:var(--fg);text-decoration:none;min-height:0}
.ww-sec li a .ic,.ww-sec li button.link .ic{width:14px;height:14px;color:var(--acc)}
.ww-sec li a:hover,.ww-sec li button.link:hover{color:var(--acc)}
.ww-tablist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ww-tablist li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02);font-size:12.5px;line-height:1.4;color:var(--muted)}
.ww-tablist b{font:500 11px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--fg)}
@media (max-width:1023px){.ww-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ww-tablist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.ww-grid{grid-template-columns:minmax(0,1fr)}.ww-tablist{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Why this exists (Home and About) ---------- */
.v2-why{background:radial-gradient(80% 100% at 0% 0%,rgba(214,178,110,.07),transparent 60%)}
.v2-why-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px 64px;align-items:start}
.v2-why-lead .v1-p-strong{margin-top:22px;color:var(--acc-hi)}
.v2-facts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}
.v2-facts li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--muted)}
.v2-facts li:first-child{border-top-color:var(--acc-line)}
.v2-facts b{display:block;font:400 20px/1.25 var(--display);color:var(--fg);margin-bottom:2px}
.v2-fact-mark{display:grid;place-items:center;width:26px;height:26px;margin-top:2px;border-radius:50%;background:var(--grad-gold);color:var(--acc-ink)}
.v2-fact-mark .ic{width:15px;height:15px}
.v2-who{display:flex;gap:10px;align-items:flex-start;margin:34px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.02);font-size:14.5px;line-height:1.55;color:var(--muted);max-width:900px}
.v2-who .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--acc)}
.v2-who b{color:var(--fg)}
.v2-who-about{padding-top:0}
@media (max-width:900px){.v2-why-grid{grid-template-columns:minmax(0,1fr);gap:28px}}

/* ---------- shared: page hero for the new pages, share row ---------- */
.v2-hero .wrap{max-width:1180px}
.v2-acts{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.v2-acts .btn-lg{min-width:min(100%,220px)}
.v2-note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);font-size:14.5px;line-height:1.55;color:var(--muted);max-width:860px}
.v2-note .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--acc)}
.v2-note b{color:var(--fg)}
.v2-count{display:inline-flex;align-items:baseline;gap:8px;font-size:14.5px;color:var(--muted)}
.v2-count b{font:300 30px/1 var(--display);color:var(--acc-hi);font-variant-numeric:tabular-nums}
.v2-big{font:300 clamp(40px,5vw,64px)/1 var(--display);color:var(--acc-hi);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.v2-form{display:grid;gap:16px;max-width:720px}
.v2-form .field{display:grid;gap:6px}
.v2-form label{font-size:14px;font-weight:600;color:var(--fg)}
.v2-form .hint{font-size:13px;color:var(--dim)}
.v2-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v2-out{margin-top:18px;padding:clamp(18px,2.4vw,26px);border:1px solid var(--line2);border-radius:var(--r);background:var(--panel)}
.v2-out textarea{width:100%;min-height:260px;line-height:1.6;font-size:15.5px;resize:vertical}
.v2-out .row{margin-top:12px}
.v2-src{margin-top:16px;font-size:13px;color:var(--dim);line-height:1.6}
.v2-src a{color:var(--dim);text-decoration:underline;text-underline-offset:3px}
.v2-src a:hover{color:var(--fg)}
@media (max-width:640px){.v2-two{grid-template-columns:minmax(0,1fr)}.v2-acts .btn-lg{width:100%}}

/* ---------- Council Watch ---------- */
.cw-next{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px 48px;align-items:start}
.cw-date{display:grid;gap:4px}
.cw-date .d{font:300 clamp(64px,9vw,120px)/1 var(--display);color:var(--acc-hi);letter-spacing:-.02em}
.cw-date .m{font:300 clamp(22px,2.4vw,30px)/1.15 var(--display);color:var(--fg)}
.cw-date .s{font-size:15px;color:var(--muted);line-height:1.5}
.cw-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 0;max-width:520px}
.cw-count > div{display:grid;gap:4px;justify-items:center;padding:14px 6px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02)}
.cw-count b{font:300 clamp(28px,3vw,40px)/1 var(--display);color:var(--fg);font-variant-numeric:tabular-nums}
.cw-count span{font:500 11px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cw-count.live b{color:var(--acc-hi)}
.cw-status{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}
.cw-status .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--acc)}
.cw-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0;font-size:15px;line-height:1.5}
.cw-kv dt{font:500 11.5px/1.5 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);padding-top:3px}
.cw-kv dd{margin:0;color:var(--fg)}
.cw-going{display:grid;gap:14px;padding:clamp(18px,2.4vw,26px);border:1px solid var(--acc-line);border-radius:var(--r);background:radial-gradient(120% 120% at 100% 0%,rgba(214,178,110,.12),transparent 55%),var(--panel)}
.cw-going h3{font:300 clamp(24px,2.4vw,30px)/1.15 var(--display)}
.cw-going .row{gap:10px}
.cw-meet{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:15px;color:var(--fg);line-height:1.5}
.cw-meet .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--acc)}
.cw-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cw-way{display:grid;gap:10px;align-content:start;padding:clamp(18px,2.2vw,24px);border:1px solid var(--line);border-radius:var(--r);background:var(--panel);min-width:0}
.cw-way .n{font:500 11.5px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.cw-way h3{font:400 22px/1.2 var(--display)}
.cw-way p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.cw-way .mono{font-size:14px;color:var(--fg);overflow-wrap:anywhere}
.cw-way .dl{display:inline-block;margin-top:2px;padding:4px 10px;border-radius:999px;background:var(--acc-dim);color:var(--acc-hi);font-size:12.5px;font-weight:600}
.cw-gen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px 40px;align-items:start}
.cw-gen .v2-out{margin-top:0}
.cw-rel{display:grid;gap:8px}
.cw-rel .shift{align-items:start}
/* the ladder: four rungs, City at the bottom */
.cw-ladder{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0;position:relative}
.cw-ladder::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:linear-gradient(180deg,var(--acc) 0%,rgba(214,178,110,.25) 100%)}
.cw-rung{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:22px 0 26px;border-top:1px solid var(--line)}
.cw-rung:first-child{border-top:0}
.cw-rn{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--acc);background:var(--bg);color:var(--acc);font:400 15px/1 var(--display);letter-spacing:.02em}
.cw-rung.on .cw-rn{background:var(--grad-gold);color:var(--acc-ink);border-color:transparent}
.cw-rb{display:grid;gap:12px;min-width:0}
.cw-rb h3{font:300 clamp(24px,2.6vw,34px)/1.1 var(--display)}
.cw-rb h3 small{display:block;margin-top:4px;font:500 12px/1.5 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cw-grid4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cw-cell{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02);min-width:0}
.cw-cell .k{font:500 11px/1.5 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.cw-cell p{font-size:14.5px;line-height:1.55;color:var(--fg);overflow-wrap:anywhere}
.cw-cell.na p{color:var(--dim)}
.cw-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cw-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.cw-steps li b{color:var(--fg);font-weight:600}
.cw-steps .sn{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--acc-line);font:400 12px/1 var(--display);color:var(--acc)}
.cw-doors{display:grid;gap:8px;margin-top:6px}
.cw-doors li{font-size:14px;line-height:1.5;color:var(--muted)}
.cw-doors b{color:var(--fg);font-weight:600}
.cw-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cw-offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cw-office{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);min-width:0}
.cw-office b{font-size:15.5px;line-height:1.35}
.cw-office .body{font:500 11px/1.5 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.cw-office .row{gap:6px 10px}
.cw-office .act{font-size:13.5px}
.cw-src{margin-top:16px;font-size:13px;color:var(--dim);line-height:1.6}
.cw-src a{color:var(--dim);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1023px){.cw-ways{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .cw-next,.cw-gen,.cw-ways,.cw-offices,.cw-grid4{grid-template-columns:minmax(0,1fr)}
  .cw-count{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .cw-count > div{padding:10px 4px 8px}
  .cw-rung{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .cw-rn{width:44px;height:44px;font-size:13px}
  .cw-ladder::before{left:21px}
}

/* ---------- Voices ---------- */
.vo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vo-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden;min-width:0}
.vo-card:hover{border-color:var(--line2)}
.vo-media{position:relative;aspect-ratio:16/9;background:radial-gradient(120% 100% at 50% 100%,rgba(214,178,110,.22),transparent 60%),linear-gradient(180deg,#0f1b30,#060c18);display:grid;place-items:center;overflow:hidden}
.vo-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vo-play{display:grid;justify-items:center;gap:10px;width:100%;height:100%;padding:16px;border:0;background:transparent;color:var(--fg);font:inherit;cursor:pointer}
.vo-play:hover .vo-ring{box-shadow:0 0 0 8px rgba(214,178,110,.14),0 0 50px rgba(214,178,110,.4)}
.vo-ring{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--grad-gold);color:var(--acc-ink);box-shadow:0 0 0 6px rgba(214,178,110,.12),0 0 40px rgba(214,178,110,.3);transition:box-shadow .3s}
.vo-ring svg{width:28px;height:28px;fill:currentColor;margin-left:3px}
.vo-play span{font:500 11.5px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.vo-open{display:grid;place-items:center;gap:8px;width:100%;height:100%;padding:16px;color:var(--fg);text-decoration:none}
.vo-open .ic{width:30px;height:30px;color:var(--acc)}
.vo-open span{font:500 11.5px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.vo-kind{position:absolute;top:10px;left:10px;padding:4px 9px;border-radius:999px;background:rgba(6,12,24,.7);color:var(--acc-hi);font:500 10.5px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(6px)}
.vo-body{display:grid;gap:8px;align-content:start;padding:16px 18px 18px}
.vo-body h3{font:400 20px/1.25 var(--display)}
.vo-body p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.vo-why{font-size:13.5px;line-height:1.5;color:var(--fg);padding:10px 12px;border-left:2px solid var(--acc);background:rgba(255,255,255,.02)}
.vo-credit{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.vo-credit a{display:inline-flex;align-items:center;gap:4px;color:var(--acc);text-decoration:none;font-weight:600}
.vo-credit a .ic{width:13px;height:13px}
@media (max-width:1023px){.vo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.vo-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Block captains ---------- */
.bc-missions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bc-missions li{display:grid;gap:8px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);min-width:0}
.bc-missions .n{font:300 34px/1 var(--display);color:var(--acc)}
.bc-missions b{font:400 19px/1.25 var(--display);color:var(--fg)}
.bc-missions p{font-size:14px;line-height:1.5;color:var(--muted)}
.bc-cover{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bc-hood{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02);min-width:0}
.bc-hood b{font:300 30px/1 var(--display);color:var(--acc-hi);font-variant-numeric:tabular-nums}
.bc-hood span{font-size:14px;color:var(--fg)}
.bc-hood small{font-size:12.5px;color:var(--dim)}
@media (max-width:1023px){.bc-missions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bc-missions,.bc-cover{grid-template-columns:minmax(0,1fr)}.bc-cover{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- The Ledger ---------- */
.lg-q{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:q}
.lg-q li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.lg-q li:first-child{border-top-color:var(--acc-line)}
.lg-q .n{font:300 34px/1 var(--display);color:var(--acc)}
.lg-q b{display:block;font:300 clamp(20px,2vw,26px)/1.25 var(--display);color:var(--fg)}
.lg-q p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--muted)}
.lg-wait{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:13.5px;color:var(--acc-hi)}
.lg-wait .ic{width:16px;height:16px;flex:none;margin-top:2px}
.lg-srcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lg-src{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--fg);text-decoration:none;min-width:0}
.lg-src:hover{border-color:var(--acc-line);color:var(--fg)}
.lg-src b{font-size:15.5px}
.lg-src span{font-size:13.5px;color:var(--muted);line-height:1.5}
.lg-src .ic{width:16px;height:16px;color:var(--acc)}
.lg-log .tw{margin-top:4px}
.lg-log td,.lg-log th{vertical-align:top}
@media (max-width:760px){.lg-srcs{grid-template-columns:minmax(0,1fr)}}

/* ---------- rail: the Blueprint and the tour, one tap from anywhere ---------- */
.rail-sub-mini{margin:-2px 0 6px 12px}
.rail-sub-mini a{font-size:13.5px}
.ia-rail-tour .ic{color:var(--acc)}

/* ---------- The plan: Blueprint band and the cracks ---------- */
.tp-bp{background:radial-gradient(120% 140% at 0% 100%,rgba(214,178,110,.12),transparent 55%),var(--panel)}
.tp-gaps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}
.tp-gap{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:8px}
.tp-gap:first-child{border-top-color:var(--acc-line)}
.tp-gap h3{font:300 clamp(21px,2.2vw,27px)/1.2 var(--display)}
.tp-gap p{font-size:15.5px;line-height:1.6;color:var(--muted)}
.tp-gap p b{color:var(--fg);font-weight:600}
.tp-gap-src{display:flex;flex-wrap:wrap;gap:6px 14px}
.tp-gap-list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:15px;line-height:1.55;color:var(--muted)}
button.v1-read{background:none;border:0;padding:0;font:inherit;font-size:14.5px;font-weight:600;color:var(--acc);cursor:pointer}

/* the tour pill (rail, Me tab) */
.fh-pill{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 20px 0 14px;border:1px solid var(--acc-line);border-radius:999px;background:var(--acc-dim);color:var(--fg);font:500 15px/1.2 var(--body);cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.fh-pill .ic{width:20px;height:20px;color:var(--acc)}
.fh-pill b{font-weight:500;color:var(--acc-hi)}
.fh-pill:hover{border-color:var(--acc);background:rgba(214,178,110,.2)}
