:root{
  --ink:#171310; --paper:#FBFAF7; --wash:#EFEBE4; --card:#FFFFFF;
  --accent:#6B2737; --accent-lift:#8F3A4C; --accent-wash:#F3E7E9;
  --rule:#D9D3C8; --rule-firm:#B0A797; --muted:#5B544A;
  color-scheme:light dark;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#F0ECE4; --paper:#14120F; --wash:#1D1A16; --card:#1A1713;
    --accent:#DD93A2; --accent-lift:#EBAFBB; --accent-wash:#2A1D20;
    --rule:#2E2A24; --rule-firm:#4A443A; --muted:#9E968A;
  }
}
:root[data-theme="dark"]{
  --ink:#F0ECE4; --paper:#14120F; --wash:#1D1A16; --card:#1A1713;
  --accent:#DD93A2; --accent-lift:#EBAFBB; --accent-wash:#2A1D20;
  --rule:#2E2A24; --rule-firm:#4A443A; --muted:#9E968A;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Literata,Georgia,"Times New Roman",serif;
  font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased;
  font-optical-sizing:auto}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:880px;margin:0 auto;padding-inline:22px}
h1,h2,h3{margin:0;text-wrap:balance;
  font-family:Fraunces,Georgia,serif;font-weight:600;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 72;
  letter-spacing:-.018em;line-height:1.05}
p{margin:0}
.fig{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
a{color:var(--accent)}

/* masthead */
nav{display:flex;gap:26px;align-items:baseline;flex-wrap:wrap;
  padding-block:26px 22px;border-bottom:1px solid var(--rule)}
.brand{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:21px;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 40;
  letter-spacing:-.02em;margin-right:auto;color:var(--ink);text-decoration:none}
nav a:not(.brand){font-family:Literata,Georgia,serif;font-size:15px;color:var(--muted);
  text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
nav a:not(.brand):hover,nav a:not(.brand):focus-visible{color:var(--ink);border-bottom-color:var(--rule-firm)}
nav a.here{color:var(--ink);border-bottom-color:var(--accent)}

.hero{padding-block:54px 50px}
h1{font-size:clamp(40px,7.4vw,70px);margin-bottom:24px}
.standfirst{font-size:20.5px;color:var(--muted);max-width:53ch;line-height:1.55}
.eyebrow{font-family:"JetBrains Mono",monospace;font-size:12px;
  color:var(--accent);margin-bottom:22px;letter-spacing:.02em}
.eyebrow::before{content:"— "}

/* full-bleed evidence band */
.band{background:var(--wash);margin-inline:calc(50% - 50vw);padding-block:56px;
  border-block:1px solid var(--rule)}
.band .inner{max-width:880px;margin:0 auto;padding-inline:22px}
.spread{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;margin-bottom:34px}
.pole{display:flex;flex-direction:column;gap:8px}
.pole.hi{text-align:right}
.pole-fig{font-family:Fraunces,Georgia,serif;font-weight:600;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 144;
  font-size:clamp(50px,11vw,104px);line-height:.85;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums}
.pole.hi .pole-fig{color:var(--accent)}
.pole-cap{font-size:14.5px;color:var(--muted);line-height:1.4}
.versus{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted);
  white-space:nowrap;letter-spacing:.06em}
/* rate card bars */
.rates{margin:38px 0 34px;display:flex;flex-direction:column;gap:11px}
.rate{display:grid;grid-template-columns:minmax(0,15.5ch) 1fr 5.5ch;gap:16px;align-items:center}
.rate-k{font-size:14.5px;color:var(--muted);line-height:1.25}
.rate-track{height:14px;background:var(--rule);position:relative}
.rate-f{height:100%;background:var(--rule-firm);min-width:2px;display:block}
.rate.hi .rate-k{color:var(--ink)}
.rate.hi .rate-f{background:var(--accent)}
.rate-v{font-family:"JetBrains Mono",monospace;font-size:14px;text-align:right;
  font-variant-numeric:tabular-nums}
.rate.hi .rate-v{color:var(--accent)}
.rates-cap{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--muted);
  padding-bottom:16px;border-bottom:1px solid var(--rule-firm);letter-spacing:.02em}

.band-read{font-size:18.5px;max-width:56ch;line-height:1.58}
.band-read strong{font-weight:600;color:var(--accent)}

section{padding-block:50px;border-top:1px solid var(--rule)}
h2{font-size:clamp(29px,4.6vw,40px);margin-bottom:16px}
h3{font-size:21px;font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 36}
.lede{font-size:18.5px;color:var(--muted);max-width:58ch;margin-bottom:32px;line-height:1.55}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:30px}
.note{font-size:15px;color:var(--muted);line-height:1.55;max-width:62ch}
.stamp{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:12px;
  color:var(--accent)}
.byline{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin-top:26px;
  padding-top:20px;border-top:1px solid var(--rule)}
.byline-t{font-size:15.5px;color:var(--muted);line-height:1.5;max-width:58ch}
.byline-t b{color:var(--ink);font-weight:600}
.mailout{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule-firm)}
.mailout a{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:13.5px}
.mailout .sub{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.45}
.stack{display:flex;flex-direction:column;gap:16px;max-width:62ch}

/* rules-based data table */
.ledger{width:100%;border-collapse:collapse;margin-block:6px 20px}
.ledger caption{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted);
  text-align:left;padding-bottom:14px;letter-spacing:.01em}
.ledger td{padding-block:13px;border-bottom:1px solid var(--rule);font-size:16.5px}
.ledger td:last-child{text-align:right;font-family:"JetBrains Mono",monospace;
  font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}
.ledger tr.top td{font-weight:600}
.ledger tr.top td:last-child{color:var(--accent)}

/* offer pieces */
.piece{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;
  padding:24px 0;border-bottom:1px solid var(--rule)}
.piece:first-of-type{border-top:1px solid var(--rule)}
.piece-fmt{font-family:"JetBrains Mono",monospace;font-size:11.5px;
  color:var(--accent);border:1px solid var(--accent);padding:4px 9px;
  white-space:nowrap;margin-top:5px}
.piece-name{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:21px;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 36;
  letter-spacing:-.015em;margin-bottom:8px}
.piece-desc{font-size:16.5px;color:var(--muted);line-height:1.58;max-width:62ch}

/* price tiers */
.offer{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:2px;margin-top:6px}
.tier{border:1px solid var(--rule-firm);padding:30px 28px;display:flex;flex-direction:column;gap:11px;
  background:var(--card)}
.tier.main{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tier-name{font-family:"JetBrains Mono",monospace;font-size:12px;opacity:.7}
.tier-fig{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:54px;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 96;
  line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.tier-sub{font-size:15px;opacity:.72}
.tier ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:9px}
.tier li{font-size:15.5px;line-height:1.45;padding-left:20px;position:relative}
.tier li::before{content:"\2022";position:absolute;left:4px;opacity:.45}

/* comparison */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:8px}
.compare{width:100%;border-collapse:collapse;font-size:16px;min-width:440px}
.compare th{text-align:left;padding:14px 12px 14px 0;border-bottom:2px solid var(--ink);
  font-family:Fraunces,Georgia,serif;font-weight:600;font-size:17px;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 24;vertical-align:bottom}
.compare th:not(:first-child){text-align:center;padding-inline:12px}
.compare td{padding:13px 12px 13px 0;border-bottom:1px solid var(--rule);color:var(--muted)}
.compare td:not(:first-child){text-align:center;padding-inline:12px;color:var(--ink)}
.compare td:first-child{color:var(--ink)}
.compare tr.top td{border-bottom:none;padding-top:18px;font-weight:600;color:var(--ink)}
.compare tr.top td:not(:first-child){font-family:"JetBrains Mono",monospace;
  font-size:15px;color:var(--accent)}
.yes{color:var(--accent);font-weight:600}
.no{opacity:.32}

/* plain-speaking block */
.plain{background:var(--wash);padding:32px 30px;border-left:3px solid var(--accent)}
.plain h3{margin-bottom:16px}
.plain p{font-size:16.5px;color:var(--muted);line-height:1.62;max-width:62ch}
.plain p+p{margin-top:14px}

/* faq */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding-block:20px;list-style:none;
  font-family:Fraunces,Georgia,serif;font-weight:600;font-size:18.5px;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 30;
  letter-spacing:-.01em;display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"JetBrains Mono",monospace;font-size:19px;
  color:var(--accent);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.faq .answer{padding-bottom:22px;font-size:16.5px;color:var(--muted);line-height:1.62;max-width:64ch}
.faq .answer p+p{margin-top:12px}

.close{padding-block:60px;border-top:1px solid var(--rule)}
.close h2{margin-bottom:16px;max-width:20ch}
.close p{font-size:17.5px;color:var(--muted);max-width:52ch;margin-bottom:30px;line-height:1.55}
.btn{display:inline-block;font-family:Literata,Georgia,serif;font-size:16px;font-weight:600;
  background:var(--accent);color:#FFFFFF;text-decoration:none;padding:15px 30px;border:none;cursor:pointer}
.btn:hover,.btn:focus-visible{background:var(--accent-lift)}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.btn.ghost:hover{background:var(--accent);color:#FFFFFF}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}

footer{padding-block:32px 52px;font-size:14px;color:var(--muted);line-height:1.62;
  border-top:1px solid var(--rule)}
footer a{color:var(--muted)}
.foot-nav{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.foot-nav a{font-size:15px;text-decoration:none}
.foot-nav a:hover{color:var(--ink)}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:44px;align-items:start}
.fields{display:flex;flex-direction:column;gap:19px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-family:Literata,Georgia,serif;font-size:15px;font-weight:600}
.field .hint{font-size:13px;color:var(--muted);line-height:1.45}
.field input{font-family:"JetBrains Mono",monospace;font-size:16px;font-variant-numeric:tabular-nums;
  padding:10px 12px;border:1px solid var(--rule-firm);background:var(--card);color:var(--ink);width:100%}
.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.group-label{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted);
  margin-top:10px;padding-bottom:9px;border-bottom:1px solid var(--rule)}

.result{background:var(--wash);padding:32px 30px;position:sticky;top:20px;
  border:1px solid var(--rule)}
.headline-fig{font-family:Fraunces,Georgia,serif;font-weight:600;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 144;
  font-size:clamp(46px,8vw,68px);line-height:.94;letter-spacing:-.035em;
  color:var(--accent);font-variant-numeric:tabular-nums}
.headline-cap{font-size:15.5px;color:var(--muted);margin-top:10px;line-height:1.4;max-width:30ch}
.tab{font-variant-numeric:tabular-nums}

/* allotment meter */
.meter{margin-top:26px;height:8px;background:var(--rule);position:relative;overflow:hidden}
.meter-fill{height:100%;background:var(--accent);width:0;transition:width .25s ease}
.meter-cap{display:flex;justify-content:space-between;margin-top:8px;
  font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--muted)}

.chart{margin-top:26px}
.chart svg{display:block;width:100%;height:auto}
.chart-cap{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--muted);
  margin-top:8px;display:flex;justify-content:space-between}
.rows{margin-top:24px;border-top:1px solid var(--rule-firm)}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding-block:12px;border-bottom:1px solid var(--rule)}
.row-k{font-size:15.5px;color:var(--muted)}
.row-v{font-family:"JetBrains Mono",monospace;font-size:16px;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.row-v.alarm{color:var(--accent);font-weight:500}
.verdict{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule-firm);
  font-size:16.5px;line-height:1.55}

@media (max-width:860px){
  .calc{grid-template-columns:1fr;gap:34px}
  .result{position:static}
}
@media (max-width:620px){
  .spread{grid-template-columns:1fr;gap:20px}
  .pole.hi{text-align:left}
  .versus{display:none}
  .compare{font-size:14.5px}
  .compare th,.compare td{padding-inline:6px}
}
@media (max-width:480px){
  .piece{grid-template-columns:1fr}
  .piece-fmt{justify-self:start}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
