/* Ledger edition · hero visuals (receipt / ledger / graph) + polish */
:root{--hp:#FFFDF8;--hink:#121A22}
.hv{position:relative;width:100%;max-width:560px;justify-self:end}
.hv-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5C6670}
.hv-dots{display:inline-flex;gap:6px}.hv-dots i{width:22px;height:3px;background:rgba(18,26,34,.2);transition:background .3s}.hv-dots i.on{background:#121A22}
/* shared chips */
.rc-chip{font-style:normal;display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1px solid;border-radius:3px;background:#fff;white-space:nowrap}
.rc-chip.v-permit{color:#0B8F76;border-color:#0B8F76}.rc-chip.v-scope{color:#2467C9;border-color:#2467C9}.rc-chip.v-step{color:#8F4A00;border-color:#8F4A00}.rc-chip.v-defer{color:#4D6073;border-color:#4D6073}.rc-chip.v-deny{color:#C73A4A;border-color:#C73A4A}

/* ── A · RECEIPT ── */
.rcp{position:relative;background:var(--hp);border:1px solid var(--hink);box-shadow:8px 8px 0 var(--hink);padding:0;transition:opacity .38s,transform .38s}
.hv-receipt.sw .rcp{opacity:0;transform:translateY(6px)}
.rc-h{display:flex;justify-content:space-between;padding:16px 26px;border-bottom:1px solid var(--hink);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#121A22;background:#F1EADB}
.rc-b{margin:0;padding:8px 26px 4px}
.rc-b>div{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:13px 0;border-bottom:1px dashed rgba(18,26,34,.3)}
.rc-b dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#5C6670;padding-top:3px}
.rc-b dd{margin:0;font-size:15.5px;line-height:1.4;color:#121A22;min-height:44px}
.rc-v{display:flex;align-items:center;gap:16px;padding:22px 26px 6px}
.rc-v b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,32px);line-height:1.1;letter-spacing:-.01em;color:#121A22}
.rc-why{padding:8px 26px 22px;margin:0;font-size:14.5px;line-height:1.55;color:#3B4651;min-height:78px}
.rc-f{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:14px 26px;white-space:nowrap;border-top:1px dashed rgba(18,26,34,.45);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#5C6670}
.rcp::after{content:"";position:absolute;left:-1px;right:-1px;bottom:-9px;height:9px;background:conic-gradient(from -45deg at 50% 100%,transparent 90deg,var(--hp) 0) 0 0/16px 9px repeat-x;border-left:1px solid var(--hink);border-right:1px solid var(--hink)}

/* ── B · LEDGER ── */
.lg{background:var(--hp);border:1px solid var(--hink);box-shadow:8px 8px 0 var(--hink);overflow:hidden}
.lg-h{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-bottom:1px solid var(--hink);background:#F1EADB}
.lg-h b{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em}
.lg-h span{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#5C6670}
.lg-h i{width:7px;height:7px;border-radius:50%;background:#0B8F76;animation:lgp 1.6s infinite}@keyframes lgp{50%{opacity:.25}}
.lg-c,.lg-r{display:grid;grid-template-columns:72px 1.1fr 1.35fr 106px;gap:12px;align-items:center;padding:0 22px}
.lg-c{padding-top:10px;padding-bottom:10px;border-bottom:1px solid rgba(18,26,34,.3);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#5C6670}
.lg-rows{height:350px;overflow:hidden}
.lg-r{height:50px;border-bottom:1px dashed rgba(18,26,34,.22);font-size:13px;line-height:1.3;color:#121A22}
.lg-r .mono{font-size:11px;color:#5C6670;letter-spacing:.02em}
.lg-r em{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#8F4A00;margin-bottom:1px}
.lg-r .rc-chip{font-size:9.5px;padding:4px 7px}
.lg-r.new{animation:lgin .55s cubic-bezier(.2,.8,.2,1);background:rgba(224,138,43,.1)}@keyframes lgin{from{transform:translateY(-50px);opacity:0}to{transform:none;opacity:1}}
.lg-f{display:flex;justify-content:space-between;padding:13px 22px;border-top:1px solid var(--hink);background:#F1EADB;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#3B4651}

/* ── C · GRAPH ── */
.hv-graph svg{width:100%;height:auto;overflow:visible;display:block}
.hv-graph text{font-family:var(--body)}
.g-lab{font-family:var(--mono)!important;font-size:11px;letter-spacing:.18em;text-transform:uppercase;fill:#5C6670}
.g-in rect,.g-core>rect,.g-rcpt rect{fill:#FFFDF8;stroke:#121A22;stroke-width:1.2}
.g-core>rect{fill:#FFFDF8;filter:drop-shadow(6px 6px 0 #121A22)}
.g-rcpt rect{stroke-dasharray:4 3;fill:#F1EADB}
.g-row rect{fill:#F6F1E7;stroke:rgba(18,26,34,.35);stroke-width:1}.g-row.hot rect{fill:#121A22;stroke:#121A22}
.g-row.hot .g-t,.g-row.hot .g-s,.g-row.hot .g-n{fill:#FFFDF8}.g-row.hot .g-n{fill:#FFB43B}
.g-t{font-size:14px;font-weight:600;fill:#121A22}.g-s{font-family:var(--mono)!important;font-size:10.5px;letter-spacing:.04em;fill:#5C6670}
.g-n{font-family:var(--mono)!important;font-size:11px;fill:#8F4A00;letter-spacing:.08em}
.g-h{font-family:var(--serif)!important;font-size:22px;fill:#121A22}.g-h2{font-family:var(--serif)!important;font-size:18px;fill:#121A22}
.g-ln{fill:none;stroke:#121A22;stroke-width:1.2;opacity:.75}.g-ln.dash{stroke-dasharray:4 3}
.gv rect{fill:#FFFDF8;stroke-width:1.3}.gv text{font-family:var(--mono)!important;font-size:12.5px;letter-spacing:.14em;font-weight:500}
.gv.v-permit rect{stroke:#0B8F76}.gv.v-permit text{fill:#0B8F76}.gv.v-scope rect{stroke:#2467C9}.gv.v-scope text{fill:#2467C9}.gv.v-step rect{stroke:#8F4A00}.gv.v-step text{fill:#8F4A00}.gv.v-defer rect{stroke:#4D6073}.gv.v-defer text{fill:#4D6073}.gv.v-deny rect{stroke:#C73A4A}.gv.v-deny text{fill:#C73A4A}
.pk{fill:#121A22}.pk.o{fill:#E08A2B}

/* ── polish ── */
.lb .hx .grid{align-items:center}
.lb .hx .trust{max-width:none}
.lb .hx h1{max-width:14.5ch}
/* "Pick your seat": three tabs on one row, never wrap */
.tile .th .rtabs{display:grid;grid-template-columns:repeat(3,auto);width:100%;justify-content:stretch;gap:2px;flex-wrap:nowrap}
.tile .rtabs button{white-space:nowrap;padding:10px 6px;font-size:12px;text-align:center}
.tile{grid-template-columns:minmax(320px,.8fr) minmax(0,2fr)}
/* closer / footer: a clean seam, not a smear */
.lb .navy{padding-bottom:clamp(72px,8vw,112px)}
.lb footer.ft{border-top:1px solid rgba(246,241,231,.22)}
.lb .navy .ctas{justify-content:center}
@media(max-width:1040px){.hv{justify-self:stretch;max-width:560px;margin:8px auto 0}.tile{grid-template-columns:1fr}}
@media(max-width:640px){.lg-c,.lg-r{grid-template-columns:58px 1fr 92px}.lg-c span:nth-child(3),.lg-r span:nth-child(3){display:none}.lg-rows{height:300px}.rc-b>div{grid-template-columns:78px 1fr}.rc-h,.rc-b,.rc-v,.rc-why,.rc-f{padding-left:18px;padding-right:18px}.rcp{box-shadow:5px 5px 0 var(--hink)}.tile .rtabs button{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.lg-r.new,.lg-h i{animation:none}.rcp{transition:none}}
h1,h2,h3{text-wrap:balance}.lede,.sh .lede{text-wrap:pretty}
.lb .sh h2{max-width:20ch}
