[hidden]:not([hidden=until-found i]){display:none!important}

.d7{
  --bg:#f4f4f2;
  --ink:#191918;
  --soft:#4a4946;
  --muted:#8a8780;
  --fill:#e2e2df;
  --line:#d3d2ce;
  --panel:#fbfbfa;
  --signal:#a3321f;
  --signal-tint:rgba(163,50,31,.10);
  --stage:#f4f4f2;
  --sans:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
/* Page sits inside the site shell: header/footer come from screen.css; everything here is scoped to .d7 */
.d7{
  --pad:22px;
  max-width:var(--max,1080px);margin:0 auto;padding-inline:var(--pad);width:100%;
  color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  font-feature-settings:"cv11","ss01";
}
.d7 *{box-sizing:border-box}
body.car-60000-page .d7-sitehead,body.car-60000-page .d7-sitefoot{max-width:var(--max,1080px)!important;width:100%}
body.car-60000-page .d7-sitehead header{max-width:none!important;width:100%!important;margin-inline:0!important}
body.car-60000-page .d7-sitehead{min-height:0!important;padding-bottom:0!important}
body.car-60000-page .d7-sitefoot{min-height:0!important;padding-top:0!important}
body.car-60000-page .theme-toggle{display:none!important}
body.car-60000-page .d7 button{border-radius:0!important}
.num{font-variant-numeric:tabular-nums}

.d7 .eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.d7 h1,.d7 h2,.d7 h3{text-wrap:balance;margin:0;font-weight:600;letter-spacing:-.022em}

/* Hero */
.d7-hero{padding-block:clamp(40px,7vh,80px) clamp(36px,6vh,64px);display:grid;grid-template-columns:minmax(0,1fr);gap:28px;border-bottom:1px solid var(--line)}
.d7-hero h1{font-size:clamp(34px,4.8vw,64px);line-height:1.02;letter-spacing:-.035em;max-width:14em}
.d7-hero .dek{font-size:clamp(19px,1.6vw,22px);line-height:1.45;color:var(--soft);max-width:33em;margin:0}
.d7-hero .d7-meta{display:flex;gap:28px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.d7-hero .d7-meta b{color:var(--ink);font-weight:600}
.status{margin:0;font-size:13px;color:var(--muted);max-width:44em;border-left:1.5px solid var(--line);padding-left:12px}

/* Scrolly */
.scrolly{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:72px;align-items:start}
.steps{padding-block:12vh 20vh}
.step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;gap:18px;max-width:30em;opacity:.28;transition:opacity .35s ease}
.step.is-active{opacity:1}
.step h2{font-size:clamp(28px,2.9vw,38px);line-height:1.12}
.step p{margin:0;color:var(--soft)}
.step p strong{color:var(--ink);font-weight:600}
.stepno{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;gap:10px;align-items:center}
.stepno::before{content:"";width:22px;height:1.5px;background:currentColor}

.stage{position:sticky;top:calc(env(safe-area-inset-top,0px) + 32px);padding-block:32px}
.caption{display:grid;grid-template-columns:auto 1fr;gap:0 16px;align-items:baseline;min-height:3.2em;margin-bottom:10px}
.caption .count{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums}
.caption .say{font-size:16px;font-weight:600;line-height:1.35;text-wrap:balance}

/* Map */
svg.map{width:100%;height:auto;display:block;overflow:visible}
.map text{font-family:var(--sans)}
.map .wn{font-size:12.5px;font-weight:700;letter-spacing:.14em;fill:var(--ink)}
.map .wc{font-size:12px;fill:var(--soft)}
.map .bt{font-size:13px;font-weight:600;fill:var(--ink)}
.map .bs{font-size:11.5px;fill:var(--soft)}
.map .an{font-size:12px;fill:var(--soft)}
.map .box{fill:none;stroke:var(--ink);stroke-width:1.6}
.map .dash{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-dasharray:5 4}
.map .prod{fill:var(--fill);stroke:var(--ink);stroke-width:1.4}
.map .cash{fill:var(--panel);stroke:transparent;stroke-width:1.4;transition:stroke .3s}
.map.split .cash{stroke:var(--ink)}
.map .frame{fill:none;stroke:var(--ink);stroke-width:1.4;transition:opacity .3s}
.map.split .frame,.map.split #frameLbl{opacity:0}
.map .partlbl{opacity:0;transition:opacity .3s}
.map.split .partlbl{opacity:1}
.map .lossr{fill:url(#hatch);stroke:var(--ink);stroke-width:1.2;stroke-dasharray:5 4}
.map .taxr{fill:var(--signal-tint);stroke:var(--signal);stroke-width:1.4}
.map .taxt{fill:var(--signal);font-size:13px;font-weight:600}
.map .hm{fill:none;stroke:var(--signal);stroke-width:1.2;stroke-dasharray:5 4}
.map .hml{font-size:11px;font-weight:700;letter-spacing:.14em;fill:var(--signal)}
.map .mk circle{fill:var(--ink)}
.map .mk text{fill:var(--bg);font-size:12px;font-weight:700}
.mv{transition:transform .95s cubic-bezier(.65,0,.25,1),opacity .55s ease}
.fade{transition:opacity .5s ease}
#arc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.25,1) .35s}
#arc.on{stroke-dashoffset:0}

/* Ledger */
.ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 0 0;border-top:1.5px solid var(--ink)}
.ledger div{padding:10px 12px 0 0}
.ledger div+div{padding-left:12px;border-left:1px solid var(--line)}
.ledger dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.ledger dd{margin:5px 0 0;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.01em;transition:color .3s}
.ledger dd.bad{color:var(--signal)}

/* Choice */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fact{border-top:1.5px solid var(--ink);padding-top:10px;font-size:14.5px;line-height:1.5}
.fact h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.fact ul{margin:0;padding:0;list-style:none;color:var(--soft)}
.fact li+li{margin-top:3px}
.choices{display:flex;gap:10px;flex-wrap:wrap}
.d7-btn{
  font:600 15px var(--sans);color:var(--ink);background:transparent;cursor:pointer;
  border:1.5px solid var(--ink);padding:13px 18px;border-radius:0;transition:background .2s,color .2s;
}
.d7-btn:hover,.d7-btn[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.link{font:500 15px var(--sans);color:var(--ink);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.d7 button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.result{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.calc{display:grid;grid-template-columns:1fr auto;gap:5px 20px;font-variant-numeric:tabular-nums;font-size:15.5px;max-width:23em;color:var(--ink)}
.calc .neg{color:var(--signal)}
.calc .tot{border-top:1.5px solid var(--ink);padding-top:7px;font-weight:700}
.note{font-size:14px;color:var(--muted)!important;line-height:1.55;border-left:1.5px solid var(--line);padding-left:14px}
.note b{color:var(--ink);font-weight:600}
.statement{font-size:clamp(30px,3.4vw,44px);line-height:1.1;font-weight:600;letter-spacing:-.028em;text-wrap:balance;margin:0;color:var(--ink)!important}

.effects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.effects li{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:28px 1fr;gap:0 12px}
.effects .n{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:2px}
.effects b{display:block;font-weight:600}
.effects span{color:var(--soft);font-size:15px}

/* Payoff: one column, one reading order */
.payoff{padding-block:88px 24px;margin-top:72px;border-top:1px solid var(--line);max-width:760px}
.payoff-intro{display:flex;flex-direction:column;gap:16px}
.statement.small{font-size:clamp(24px,2.4vw,32px)}
.payoff .statement{max-width:none}
.payoff .lede{color:var(--soft);margin:0;font-size:17px}
.outcome{margin-top:36px;padding-block:18px;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line)}
.outcome-lbl{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.outcome-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:8px;font-weight:600;letter-spacing:-.015em}
.outcome-row .o-from{font-size:clamp(24px,2.6vw,32px);color:var(--soft)}
.outcome-row .o-arrow{font-size:22px;color:var(--muted)}
.outcome-row .o-to{font-size:clamp(24px,2.6vw,32px)}
.outcome-row .o-gain{font-size:15px;font-weight:600;padding:3px 9px;border:1.5px solid var(--ink);letter-spacing:0;align-self:center}
.outcome-note{margin:10px 0 0;font-size:14px;color:var(--soft)}
.payoff-panel{margin-top:28px;padding:28px;background:var(--panel);border:1px solid var(--line)}
.controls{display:flex;flex-wrap:wrap;gap:20px 40px}
.ctl{border:none;margin:0;padding:0;min-width:0}
.ctl legend{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:10px}
.seg{display:inline-flex}
.seg button{font:600 14px var(--sans);color:var(--ink);background:transparent;border:1.5px solid var(--ink);padding:10px 15px;cursor:pointer}
.seg button+button{border-left:none}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.verdict{margin:32px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:clamp(22px,2.2vw,28px);line-height:1.25;font-weight:600;letter-spacing:-.015em;text-wrap:balance}
.verdict .pos{border-bottom:2px solid var(--ink)}
.verdict .neg{color:var(--signal);border-bottom:2px solid var(--signal)}
.bars{margin-top:28px;display:flex;flex-direction:column;gap:20px}
.bar .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:14.5px;color:var(--soft);margin-bottom:8px}
.bar .row b{font-variant-numeric:tabular-nums;font-size:19px;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.track{height:22px;position:relative;border-bottom:1px solid var(--line)}
.fillbar{position:absolute;inset:0 auto 0 0;background:var(--fill);border:1.4px solid var(--ink);transition:width .7s cubic-bezier(.65,0,.25,1)}
.fillbar.ink{background:var(--ink)}
.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.matrix{margin-top:48px;border-top:1.5px solid var(--ink)}
.matrix h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-block:12px;color:var(--muted);font-weight:600}
.grid2{display:grid;grid-template-columns:8em 1fr 1fr;font-size:14px;font-variant-numeric:tabular-nums}
.grid2>div{padding:12px;border-bottom:1px solid var(--line)}
.grid2 .ch{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-block:8px}
.grid2 [role=rowheader]{font-weight:600;color:var(--soft)}
.grid2 .cell{font-size:17px;font-weight:600;transition:background .25s,color .25s}
.grid2 .cell.neg{color:var(--signal)}
.grid2 .cell.on{background:var(--ink);color:var(--bg)}
.grid2 .cell.on.neg{background:var(--signal);color:var(--bg)}
.matrix p{font-size:13px;color:var(--muted);margin:12px 0 0}
.workings{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.workings h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;padding-top:12px;border-top:1.5px solid var(--ink);font-weight:600}
.workings .calc{max-width:none;font-size:14.5px;gap:7px 0}
.workings .calc span:nth-child(even){text-align:right;padding-left:16px}
.why{margin-top:40px}

/* Close */
.close{padding-block:96px 72px;border-top:1px solid var(--line);margin-top:24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}
.close .statement{max-width:15em}
.close p{color:var(--soft);margin:0}
.d7 details{border-top:1.5px solid var(--ink);margin-top:72px;max-width:52em}
.d7 summary{cursor:pointer;padding-block:16px;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.d7 summary::-webkit-details-marker{display:none}
.d7 summary::after{content:"+";font-weight:400}
.d7 details[open] summary::after{content:"–"}
.d7 details dl{margin:0 0 24px;display:grid;grid-template-columns:12em 1fr;gap:14px 28px}
.d7 details dt{font-weight:600;font-size:14.5px}
.d7 details dd{margin:0;color:var(--soft);font-size:14.5px}
.d7-foot{padding-block:40px 48px;color:var(--muted);font-size:12.5px;max-width:52em;border-top:1px solid var(--line);margin-top:48px}

@media (max-width:900px){
  .d7{font-size:16px}
  .scrolly{display:flex;flex-direction:column}
  .stage{order:-1;position:sticky;top:env(safe-area-inset-top,0px);background:var(--stage);z-index:5;padding-block:10px 8px;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);border-bottom:1px solid var(--line)}
  .caption{min-height:0;margin-bottom:4px}
  .caption .say{font-size:13.5px}
  svg.map{max-height:30vh;width:auto;max-width:100%;margin-inline:auto}
  .d7-hero{gap:20px}
  .d7-hero .dek{font-size:17px}
  .ledger{margin-top:6px}
  .ledger div{padding:6px 6px 0 0}
  .ledger div+div{padding-left:6px}
  .ledger dt{font-size:9px;letter-spacing:.04em}
  .ledger dd{font-size:13px}
  .steps{padding-block:4vh 30vh}
  .step{min-height:72vh;opacity:1}
  .facts,.workings,.close{grid-template-columns:1fr}
  .payoff{padding-top:64px;margin-top:48px}
  .payoff-panel{padding:20px var(--pad);margin-inline:calc(-1 * var(--pad));border-inline:none}
  .grid2{grid-template-columns:5.5em 1fr 1fr}
  .grid2>div{padding:10px 8px}
  .d7 details dl{grid-template-columns:1fr;gap:4px}
  .d7 details dd{margin-bottom:12px}
}
@media (max-width:640px){
  .d7{--pad:24px}
}
@media (prefers-reduced-motion:reduce){
  .mv,#arc,.fade,.fillbar,.step,.btn,.map .cash,.map .frame,.map .partlbl{transition:none!important}
}
