/* The v4 pages: /sprint, /teardowns, /scorecard, /registry, /newsletter.
   base.css owns the tokens, the header and footer and the v- components; this
   file only lays out what is particular to each page. */

/* Page heroes share one shape: a claim on the left, a working object on the right. */
.p-hero{padding-block:clamp(56px,8vw,120px) clamp(48px,6vw,88px);border-top:0;
  background-image:radial-gradient(ellipse 1200px 720px at 10% 0%,rgba(74,58,29,.95) 0%,rgba(62,47,23,.66) 22%,rgba(43,32,15,.36) 48%,rgba(21,16,10,0) 80%)}
.p-hero .v-wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,80px);align-items:end}
.p-hero .copy{display:grid;gap:22px}
.p-hero .v-lede{font-size:clamp(18px,1.6vw,21px)}
@media(max-width:960px){.p-hero .v-wrap{grid-template-columns:1fr;align-items:start}}

/* /sprint */
.sp-card{display:grid;gap:16px}
.sp-card .v-price b{font-size:clamp(56px,6vw,84px)}
.sp-card .ctarow{margin-top:4px}
.sp-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-card .row2 div{border-top:1px solid var(--rule);padding-top:10px}
.sp-card .row2 b{display:block;font-family:var(--serif);font-weight:400;font-size:22px}
.sp-card .row2 span{font-size:13px;color:var(--muted)}
.exit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 28px;align-items:start;padding:clamp(24px,3vw,40px);border:1px solid rgba(225,188,98,.45);border-radius:4px;background:rgba(225,188,98,.06)}
.exit .big{font-family:var(--serif);font-weight:300;font-size:clamp(64px,8vw,120px);line-height:.9;color:var(--accent);letter-spacing:-.03em}
.exit h3{font-size:clamp(24px,2.4vw,34px);font-weight:300}
.exit p{color:var(--cream);max-width:44em}
@media(max-width:640px){.exit{grid-template-columns:1fr}}
.fitlist{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fitlist ul{list-style:none;display:grid;gap:10px;border-top:1px solid var(--rule);padding-top:16px}
.fitlist li{padding-left:26px;position:relative;color:var(--cream);font-size:15.5px}
.fitlist .yes li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.fitlist .no li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:1px;background:var(--muted)}
.fitlist .no li{color:var(--muted)}
.fitlist h3{font-size:20px;margin-bottom:6px}
@media(max-width:720px){.fitlist{grid-template-columns:1fr}}
.apply{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px)}
.apply .fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.apply .fields .wide{grid-column:1/-1}
@media(max-width:900px){.apply{grid-template-columns:1fr}}
@media(max-width:560px){.apply .fields{grid-template-columns:1fr}}

/* /teardowns */
.td-when{display:grid;gap:10px;padding:clamp(22px,2.6vw,34px);border:1px solid var(--rule);border-radius:4px;background:var(--well)}
.td-when b{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.4vw,50px);line-height:1.05}
.td-when p{color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin-top:6px}
.cal span{height:30px;border-radius:2px;background:rgba(243,236,221,.06);position:relative}
.cal span.on{background:rgba(225,188,98,.22)}
.cal span.dot::after{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.cal-key{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.flow5{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:f}
.flow5 li{border-top:2px solid var(--accent);padding-top:14px;display:grid;gap:8px;align-content:start;counter-increment:f}
.flow5 li::before{content:"0" counter(f);font-family:var(--mono);font-size:12px;color:var(--accent)}
.flow5 b{font-family:var(--serif);font-weight:400;font-size:22px}
.flow5 p{color:var(--muted);font-size:15px}
@media(max-width:1000px){.flow5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.flow5{grid-template-columns:1fr}}

/* /scorecard */
.sc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:960px){.sc{grid-template-columns:1fr}}
.sc-q{list-style:none;display:grid;gap:0;border-top:1px solid var(--rule);counter-reset:q}
.sc-q li{padding:20px 0;border-bottom:1px solid var(--hair);display:grid;gap:12px;counter-increment:q}
.sc-q .qt{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px}
.sc-q .qt::before{content:counter(q,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:5px}
.sc-q .qt b{font-weight:500;font-size:17px;color:var(--cream)}
.sc-q .qt small{grid-column:2;color:var(--muted);font-size:14px}
.sc-q fieldset{border:0;display:flex;gap:8px;flex-wrap:wrap;padding-left:52px}
.sc-q legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sc-q label{display:inline-flex;align-items:center;cursor:pointer}
.sc-q input{position:absolute;opacity:0;pointer-events:none}
.sc-q label span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--edge);border-radius:999px;color:var(--muted);transition:all var(--m-state) ease}
.sc-q input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.sc-q input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:520px){.sc-q fieldset{padding-left:0}}
.sc-out{position:sticky;top:96px;display:grid;gap:16px;padding:clamp(22px,2.4vw,32px);border:1px solid var(--rule);border-radius:4px;background:var(--well)}
@media(max-width:960px){.sc-out{position:static}}
.sc-score{display:flex;align-items:baseline;gap:10px}
.sc-score b{font-family:var(--serif);font-weight:300;font-size:clamp(64px,7vw,96px);line-height:1;letter-spacing:-.03em}
.sc-score span{font-family:var(--mono);font-size:13px;color:var(--muted)}
.sc-bar{height:6px;background:rgba(243,236,221,.08);border-radius:3px;overflow:hidden}
.sc-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width var(--m-move) var(--e-move)}
.sc-verdict{font-family:var(--serif);font-size:22px;font-weight:400}
.sc-gaps{list-style:none;display:grid;gap:8px;font-size:14.5px;color:var(--muted)}
.sc-gaps li{padding-left:18px;position:relative}
.sc-gaps li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:1px;background:var(--accent)}
.sc-count{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* /registry */
.reg-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.reg-fields{grid-template-columns:1fr}}
.reg-table{border:1px solid var(--rule);border-radius:4px;overflow-x:auto}
.reg-table table{width:100%;border-collapse:collapse;min-width:720px;font-size:14.5px}
.reg-table th,.reg-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--hair);vertical-align:top}
.reg-table th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.reg-table td.empty{color:var(--muted);font-style:italic}
.reg-table .slot td{color:var(--muted)}
.reg-table .slot b{color:var(--cream);font-weight:500}

/* /newsletter */
.nl-issue{display:grid;gap:14px;padding:clamp(22px,2.6vw,34px);border:1px solid var(--rule);border-radius:4px;background:var(--well)}
.nl-issue .hd{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hair);padding-bottom:10px}
.nl-issue .part{display:grid;gap:4px}
.nl-issue .part b{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500}
.nl-issue .part p{color:var(--cream);font-size:15.5px}
