/* The /closing design system, lifted verbatim.
 *
 * closing.html carries this same block inline. It is copied here rather than
 * extracted out of closing.html because closing.html is a live product page
 * selling a $59 report, and turning its inline styles into a link is a
 * refactor with a blast radius, undertaken to tidy a second page.
 *
 * Verbatim is the point. tests/contractor-design.test.js compares this file
 * against the block inside closing.html character for character, so the two
 * pages cannot drift: a palette change on closing fails the build until this
 * file is updated, which is the only way "matches /closing" survives contact
 * with the next person to edit either page.
 *
 * It therefore also carries rules /contractor does not use — the scorecard
 * panels, the fix rows. Those are the cost of the guarantee and are cheaper
 * than the guarantee being untrue.
 *
 * Anything specific to /contractor goes in that page's own <style> block, after
 * this file, never in here.
 */

:root{
  --ink:#1B2A3A; --ink-soft:#5B6570; --paper:#FBFAF7; --panel:#FFFFFF;
  --rule:#D8DAD5; --rule-soft:#E9EAE6;
  --flag:#B01F12; --flag-tint:#FBEEEC;
  --ok:#2C6A57; --ok-tint:#EDF3F0;
  --hold:#8A6A16; --hold-tint:#FAF3E2;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.col{max-width:780px}
h1,h2,h3{font-family:"Newsreader",Georgia,serif;font-weight:500;letter-spacing:-0.01em;margin:0}
h1{font-size:clamp(2.2rem,5vw,3.3rem);line-height:1.09}
h2{font-size:clamp(1.55rem,3.1vw,2.05rem);line-height:1.18;margin-bottom:14px}
h3{font-size:1.1rem;line-height:1.35;font-weight:600}
p{margin:0 0 16px}
a{color:inherit}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}

header.nav{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:20}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:62px}
.brand{font-family:"Newsreader",serif;font-size:1.12rem;font-weight:600;text-decoration:none}
.brand span{color:var(--ink-soft);font-weight:400}
.nav-links{display:flex;gap:24px;font-size:.93rem}
.nav-links a{color:var(--ink-soft);text-decoration:none}
.nav-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){.nav-links{display:none}}

.hero{padding:62px 0 52px;border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:start}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:36px}}
.notice{display:inline-block;font-size:.82rem;color:var(--ink-soft);border:1px solid var(--rule);border-radius:2px;padding:5px 10px;margin-bottom:20px}
.lede{font-size:1.08rem;color:var(--ink-soft);max-width:58ch}

.ledger{background:var(--panel);border:1px solid var(--ink);box-shadow:5px 5px 0 rgba(27,42,58,.08)}
.ledger-head{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px;border-bottom:1px solid var(--ink);font-size:.8rem;color:var(--ink-soft)}
.ledger-head b{color:var(--ink);font-weight:600;font-size:.86rem}
.row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:10px 16px;border-bottom:1px solid var(--rule-soft);font-size:.89rem}
.row .lbl{color:var(--ink-soft)}
.row .amt{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.row.hit{background:var(--flag-tint)}
.row.hit .lbl{color:var(--ink);font-weight:500}
.row.hit .amt{color:var(--flag);font-weight:500}
.note{padding:11px 16px;background:var(--flag-tint);border-bottom:1px solid var(--rule-soft);font-size:.83rem;line-height:1.5}
.note b{color:var(--flag)}
.src{padding:10px 16px;font-size:.76rem;color:var(--ink-soft);border-bottom:1px solid var(--rule-soft)}
.ledger-foot{padding:11px 16px;font-size:.79rem;color:var(--ink-soft)}

.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font-size:1rem;font-weight:500;padding:14px 26px;border:1px solid var(--ink);border-radius:2px;cursor:pointer;font-family:inherit}
.btn:hover{background:#12202E}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:#F1EFEA}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--flag);outline-offset:2px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}
.btn-note{font-size:.85rem;color:var(--ink-soft)}

section{padding:60px 0;border-bottom:1px solid var(--rule)}
.sec-intro{max-width:64ch;color:var(--ink-soft);margin-bottom:32px}

.steps{list-style:none;margin:0;padding:0;counter-reset:s;max-width:780px}
.steps li{counter-increment:s;display:grid;grid-template-columns:38px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--rule-soft)}
.steps li:first-child{border-top:1px solid var(--rule)}
.steps li::before{content:counter(s);font-family:"IBM Plex Mono",monospace;font-size:.95rem;color:var(--flag);padding-top:3px;grid-column:1;grid-row:1}
.steps li h3{grid-column:2;grid-row:1;line-height:1.25}
.steps li p{grid-column:2;grid-row:2;margin:1px 0 0;color:var(--ink-soft);font-size:.95rem;line-height:1.5;max-width:62ch}
.free-tag{display:inline-block;font-size:.74rem;color:var(--ok);background:var(--ok-tint);border:1px solid #CADED6;border-radius:2px;padding:2px 7px;margin-left:9px;vertical-align:2px}

.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
@media(max-width:860px){.checks{grid-template-columns:1fr}}
.chk{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--rule-soft);font-size:.93rem;line-height:1.45}
.chk .n{font-family:"IBM Plex Mono",monospace;font-size:.82rem;color:var(--ink-soft);padding-top:2px}
.group-h{margin:34px 0 3px;font-size:1.02rem;font-weight:600}
.group-h:first-of-type{margin-top:0}
.group-sub{color:var(--ink-soft);font-size:.9rem;margin:0 0 8px;max-width:66ch}
.tag{display:inline-block;font-size:.72rem;border-radius:2px;padding:2px 7px;margin-left:8px;vertical-align:2px;border:1px solid}
.tag.p{background:#F1F0EC;border-color:var(--rule);color:var(--ink-soft)}
.tag.r{background:#F1F0EC;border-color:var(--rule);color:var(--ink-soft)}

.legend{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}
.pill{font-size:.82rem;padding:5px 11px;border-radius:2px;border:1px solid}
.pill.a{background:var(--ok-tint);border-color:#CADED6;color:var(--ok)}
.pill.b{background:var(--hold-tint);border-color:#E7D9AE;color:var(--hold)}
.pill.c{background:var(--flag-tint);border-color:#EED4CF;color:var(--flag)}

.sample{background:var(--panel);border:1px solid var(--rule);padding:26px 28px;max-width:780px}
.finding{border-top:1px solid var(--rule-soft);padding:18px 0}
.finding:first-of-type{border-top:none;padding-top:4px}
.finding-h{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap}
.finding-h .amt{font-family:"IBM Plex Mono",monospace;color:var(--flag);font-weight:500}
.finding p{font-size:.92rem;color:var(--ink-soft);margin:7px 0 0;max-width:66ch}
.finding .basis{font-size:.85rem;color:var(--ink-soft);margin-top:7px;padding-left:13px;border-left:2px solid var(--rule)}
.finding .cite{font-size:.79rem;color:var(--ink-soft);margin-top:7px}

.price-card{background:var(--panel);border:1px solid var(--ink);padding:32px;max-width:780px}
.price-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:18px;margin-bottom:20px}
.fig{font-family:"Newsreader",serif;font-size:2.5rem;line-height:1}
.fig small{font-size:.95rem;color:var(--ink-soft);font-family:"IBM Plex Sans",sans-serif;margin-left:8px}
.incl{list-style:none;margin:0;padding:0}
.incl li{padding:8px 0 8px 22px;position:relative;font-size:.95rem;border-top:1px solid var(--rule-soft)}
.incl li:first-child{border-top:none}
.incl li::before{content:"";position:absolute;left:0;top:15px;width:9px;height:9px;border:1px solid var(--ok);background:var(--ok-tint)}

.form{margin-top:26px;border-top:1px solid var(--rule);padding-top:24px}
label{display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}
.hint{font-size:.85rem;color:var(--ink-soft);margin:0 0 12px}
input[type=email],select{width:100%;padding:12px 13px;border:1px solid var(--rule);border-radius:2px;font-family:inherit;font-size:.97rem;background:var(--panel);color:var(--ink)}
.drop{border:1px dashed #B9BDB6;border-radius:2px;background:#FDFDFB;padding:26px 20px;text-align:center;cursor:pointer}
.drop:hover{background:#F7F7F3;border-color:var(--ink-soft)}
.drop strong{display:block;font-weight:500;margin-bottom:5px}
.drop span{font-size:.85rem;color:var(--ink-soft)}
.field{margin-bottom:20px}
.filelist{list-style:none;margin:12px 0 0;padding:0;font-size:.88rem}
.filelist li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rule-soft)}
.filelist .sz{font-family:"IBM Plex Mono",monospace;color:var(--ink-soft)}
.err{color:var(--flag);font-size:.88rem;margin-top:10px}
.seg{display:flex;gap:0;border:1px solid var(--rule);border-radius:2px;overflow:hidden;max-width:420px}
.seg button{flex:1;background:var(--panel);border:none;border-right:1px solid var(--rule);padding:12px 10px;font:inherit;font-size:.94rem;cursor:pointer;color:var(--ink-soft)}
.seg button:last-child{border-right:none}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}

details{border-top:1px solid var(--rule-soft)}
details:first-of-type{border-top:1px solid var(--rule)}
summary{padding:16px 0;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:"IBM Plex Mono",monospace;color:var(--ink-soft)}
details[open] summary::after{content:"–"}
details .body{padding:0 0 18px;color:var(--ink-soft);font-size:.95rem;max-width:68ch}

.limits{background:#F4F2ED;border:1px solid var(--rule);padding:26px 28px;max-width:780px}
.limits ul{margin:0;padding-left:20px}
.limits li{margin-bottom:10px;font-size:.95rem;color:var(--ink-soft)}
.limits li:last-child{margin-bottom:0}

footer{padding:42px 0 56px;font-size:.87rem;color:var(--ink-soft)}
.disc{max-width:74ch;margin-bottom:20px}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- bridge: names the transplanted components expect, mapped to this page's palette ---- */
:root{
  --bg:var(--paper); --bg-alt:#F4F2ED; --surface:var(--panel); --surface-2:#F4F2ED;
  --text:var(--ink); --text-dim:var(--ink-soft); --text-dimmer:#636D77;
  --border:var(--rule); --border-strong:#BFC3BC;
  --accent:#FFFFFF; --accent-deep:var(--flag); --accent-2:var(--ok); --accent-2-deep:#22513F;
  --accent-3:var(--flag); --accent-3-deep:var(--flag); --yellow:var(--hold-tint);
  --gradient:var(--ink); --gradient-text:none; --gradient-warm:var(--ink);
  --radius:3px; --radius-sm:2px;
  --shadow-hard:5px 5px 0 rgba(27,42,58,.10);
  --shadow-hard-sm:4px 4px 0 rgba(27,42,58,.09);
  --shadow-hard-xs:3px 3px 0 rgba(27,42,58,.08);
  --shadow-soft:0 24px 60px -32px rgba(27,42,58,.16);
  --shadow-glow:0 0 0 1px rgba(27,42,58,.14);
}

/* ---- component rules lifted from navigator-shared.css ---- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:10px 20px; border-radius:999px; font-weight:700; font-size:14px;
    border:2px solid var(--ink); cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
    white-space:nowrap;}
.btn:active{transform:translate(3px,3px); box-shadow:none !important;}
.btn-primary{background:var(--accent); color:var(--ink); font-weight:800;
    box-shadow:var(--shadow-hard-sm);}
.btn-primary:hover{box-shadow:2px 2px 0 var(--ink); transform:translate(2px,2px);}
.btn-ghost{background:var(--surface); color:var(--text); border-color:var(--ink);
    box-shadow:var(--shadow-hard-xs);}
.btn-ghost:hover{background:var(--surface-2); box-shadow:2px 2px 0 var(--ink); transform:translate(1px,1px);}
.btn-sm{padding:8px 16px; font-size:13px;}
.app-side .side-item .ico{width:16px; height:16px; border-radius:4px; background:rgba(31,27,22,0.08); flex-shrink:0;}
.search-row .ico{width:16px;height:16px; color:var(--text-dimmer); flex-shrink:0;}
.check-list .tick{width:30px; height:30px; border-radius:9px; background:var(--status-active); color:var(--surface); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; font-size:16px; font-weight:800;}
.price-card{background:var(--surface); border:2px solid var(--border-strong); border-radius:var(--radius); padding:32px 28px;
    display:flex; flex-direction:column;}
.price-card.featured{border-color:var(--ink); background:linear-gradient(180deg, rgba(255,255,255,0.6), var(--surface) 40%);
    position:relative; box-shadow:var(--shadow-hard);}
.price-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--yellow); color:var(--ink); font-size:11.5px; font-weight:800; padding:5px 14px; border-radius:999px; border:2px solid var(--ink);}
.price-card h3{font-size:19px; margin-bottom:6px;}
.price-card .desc{font-size:13.5px; color:var(--text-dimmer); margin-bottom:20px;}
.price-amount{font-size:2.5rem; font-family:'Sora',sans-serif; font-weight:800; margin-bottom:4px;}
.price-amount span{font-size:15px; color:var(--text-dimmer); font-weight:500; font-family:'Inter',sans-serif;}
.price-period{font-size:13px; color:var(--text-dimmer); margin-bottom:24px;}
.price-feats{list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:28px; flex:1;}
.price-feats li{font-size:14px; color:var(--text-dim); display:flex; gap:10px; align-items:flex-start;}
.price-feats .tick{color:var(--status-active-deep); flex-shrink:0; font-weight:800;}
.price-card .btn{width:100%;}
.price-secure{text-align:center; font-size:11.5px; color:var(--text-dimmer); margin-top:10px; font-weight:600;}
.pricing-footnote{text-align:center; font-size:13px; color:var(--text-dimmer); max-width:560px; margin:40px auto 0;}
.toast.show{transform:translateX(-50%) translateY(0); opacity:1; pointer-events:auto;}
.toast .ico{color:var(--status-active-deep);}
.field-block > label{display:block; font-size:12.5px; font-weight:700; letter-spacing:0.03em; color:var(--text-dim); text-transform:uppercase; margin-bottom:10px;}
.field-block input[type="text"], .field-block input[type="email"], .field-block textarea{width:100%; padding:12px 16px; border-radius:10px; border:1.5px solid var(--border-strong);
  background:var(--surface); color:var(--text); font-size:14.5px; font-family:inherit; outline:none;}
.field-block input:focus, .field-block textarea:focus{border-color:var(--accent-deep);}
.field-block textarea{min-height:96px; resize:vertical;}
.field-hint{font-size:12px; color:var(--text-dimmer); margin-top:6px;}
.upload-zone:hover, .upload-zone.drag{border-color:var(--accent-deep); background:var(--surface-2);}
.upload-zone.has-files{border-style:solid; border-color:var(--ink);}
.upload-zone .upload-ico{font-size:30px; margin-bottom:10px;}
.upload-zone .upload-cta{font-weight:700; color:var(--text); font-size:14.5px; margin-bottom:4px;}
.upload-zone .upload-sub{font-size:12.5px; color:var(--text-dimmer);}
.upload-file-list{display:flex; flex-direction:column; gap:8px; margin-top:14px; text-align:left;}
.single-price-wrap .price-card{max-width:400px; width:100%;}

/* Free scorecard panel + Step 2 questions */
.scorecard-alert{border:3px solid #b3261e;border-radius:12px;padding:20px 22px;margin:0 0 18px;background:rgba(179,38,30,.07);}
.scorecard-alert h3{font-size:21px;line-height:1.25;margin:0 0 10px;color:#8c1d18;}
.scorecard-alert p{font-size:15px;line-height:1.55;margin:0 0 10px;}
.mismatch-rows{list-style:none;padding:0;margin:14px 0;}
.mismatch-rows li{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-top:1px solid rgba(140,29,24,.25);}
.mismatch-rows li > span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.75;}
.mismatch-rows li > b{font-size:17px;}
.mismatch-rows li > em{font-size:12px;font-style:normal;opacity:.7;margin-bottom:4px;}
.mismatch-why{font-size:13px!important;opacity:.9;}
.scorecard-panel{border:2px solid var(--ink);border-radius:10px;padding:18px 20px;margin-bottom:8px;}
.scorecard-head{font-size:15px;margin-bottom:12px;}
.scorecard-rows{list-style:none;padding:0;margin:0 0 12px;}
.scorecard-rows li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:15px;}
.scorecard-rows li:last-child{border-bottom:0;}
.scorecard-rows b{font-size:19px;white-space:nowrap;}
.scorecard-warn{font-size:13px;line-height:1.5;margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--ink);background:rgba(0,0,0,.05);}
.scorecard-note{font-size:15px;line-height:1.55;margin:12px 0 0;opacity:.85;}
.clean-result{max-width:62ch;margin:0 auto 30px;padding:18px 20px;border:1px solid var(--rule);background:var(--panel);}
.clean-result h3{font-size:19px;margin:0 0 10px;}
.clean-result p{font-size:15.5px;line-height:1.6;margin:0 0 10px;color:var(--ink-soft);}
.clean-result p:last-child{margin-bottom:0;color:var(--ink);}
.scorecard-verified{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule,rgba(31,27,22,.14));}
.scorecard-verified ul{margin:8px 0 0;padding-left:18px;font-size:.9rem;line-height:1.6;}
.scorecard-verified li{margin-bottom:6px;}
/* Everything below the scorecard box. Same size as the rows above it, because
   this is what the customer is deciding on. */
.sc-panel{margin:16px 0 0;padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.035);}
.sc-panel + .sc-panel{margin-top:12px;}
.sc-panel-accent{background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.10);}
.sc-h{font-size:17px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em;}
.sc-lead{font-size:16px;line-height:1.55;margin:0 0 10px;}
.sc-list{list-style:none;padding:0;margin:0;font-size:16px;line-height:1.5;}
.sc-list li{position:relative;padding:6px 0 6px 18px;}
.sc-list li:before{content:"";position:absolute;left:2px;top:14px;width:5px;height:5px;
  border-radius:50%;background:currentColor;opacity:.55;}
.sc-list li b,.sc-list li strong{font-weight:700;}
.sc-sub{font-size:15px;line-height:1.5;opacity:.9;margin:8px 0 0;}
.sc-details{margin:12px 0 0;font-size:16px;}
.sc-details > summary{cursor:pointer;font-weight:700;padding:10px 0;list-style:none;
  border-top:1px solid rgba(0,0,0,.10);}
.sc-details > summary::-webkit-details-marker{display:none;}
.sc-details > summary:before{content:"\25B8  ";display:inline-block;transition:transform .15s;}
.sc-details[open] > summary:before{transform:rotate(90deg);}
.sc-details .sc-list li{padding-left:18px;}
@media (max-width:520px){
  .sc-panel{padding:12px 13px;}
  .sc-h,.sc-lead,.sc-list,.sc-details{font-size:16px;}
}
.inline-error{border:2px solid #b3261e;border-radius:10px;padding:14px 16px;margin:0 0 14px;background:rgba(179,38,30,.06);font-size:14px;line-height:1.55;}
.inline-error strong{display:block;margin-bottom:4px;}
.upload-checklist{list-style:none;padding:0;margin:0 0 10px;font-size:14px;line-height:1.5;}
.upload-checklist li{padding:6px 0 6px 20px;position:relative;border-bottom:1px solid rgba(0,0,0,.06);}
.upload-checklist li:last-child{border-bottom:0;}
.upload-checklist li:before{content:"•";position:absolute;left:4px;}
.upload-note{font-size:13px;margin:0 0 12px;opacity:.85;}
.fix-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:13px;}
.fix-row em{opacity:.7;font-style:normal;}
.fix-row input{width:130px;padding:8px 10px;border:2px solid var(--ink);border-radius:8px;font:inherit;font-size:14px;}
#fix-fields{margin-top:12px;}
.fix-note{font-size:12px;opacity:.75;margin:8px 0 0;}
#fix-status{font-size:13px;margin:8px 0 0;}
#stage-2 select{width:100%;padding:12px;font:inherit;font-size:15px;border:2px solid var(--ink);border-radius:8px;background:#fff;}


/* ---- transplanted intake + scorecard, restyled ---- */
.single-price-wrap{ display:block; max-width:780px; }
.price-card{ background:var(--panel); border:1px solid var(--ink); border-radius:3px; padding:32px; box-shadow:none; }
.price-badge{ display:inline-block; font-size:.74rem; color:var(--ok); background:var(--ok-tint);
  border:1px solid #CADED6; border-radius:2px; padding:3px 9px; margin-bottom:14px; letter-spacing:0; text-transform:none; font-weight:500; }
.price-card h3{ font-family:"Newsreader",Georgia,serif; font-weight:500; font-size:1.35rem; margin:0 0 6px; }
.price-card .desc{ color:var(--ink-soft); font-size:.93rem; margin:0 0 18px; max-width:62ch; }
.price-amount{ font-family:"Newsreader",Georgia,serif; font-weight:500; font-size:2.5rem; line-height:1; margin:0; }
.price-period{ color:var(--ink-soft); font-size:.88rem; margin:6px 0 20px; }
.price-feats{ list-style:none; margin:0 0 24px; padding:0; display:block; }
.price-feats li{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; border-top:1px solid var(--rule-soft); padding:10px 0; }
.price-feats li:first-child{ border-top:none; }
.tick{ color:var(--ok); flex:0 0 auto; }
.price-secure,.pricing-footnote{ font-size:.85rem; color:var(--ink-soft); }
.upload-zone{ border:1px dashed #B9BDB6; border-radius:2px; background:#FDFDFB; padding:26px 20px; text-align:center; cursor:pointer; }
.upload-zone:hover{ background:#F7F7F3; border-color:var(--ink-soft); }
.upload-cta{ font-weight:500; }
.upload-sub,.upload-note,.field-hint{ font-size:.85rem; color:var(--ink-soft); }
.upload-checklist{ font-size:.9rem; color:var(--ink-soft); }
.field-block{ margin:18px 0; }
.field-block label{ display:block; font-size:.9rem; font-weight:500; margin-bottom:6px; }
#stage-2 select,.field-block select,.field-block input,input[type=email]{
  width:100%; padding:12px 13px; border:1px solid var(--rule); border-radius:2px;
  font-family:inherit; font-size:.97rem; background:var(--panel); color:var(--ink); }
.inline-error{ border:1px solid #EED4CF; background:var(--flag-tint); color:var(--ink); padding:12px 14px; border-radius:2px; font-size:.9rem; margin:14px 0; }
.inline-error strong{ display:block; color:var(--flag); margin-bottom:3px; }
.btn{ display:inline-block; border-radius:2px; font-weight:500; font-family:inherit; padding:14px 26px; text-decoration:none; cursor:pointer; border:1px solid var(--ink); }
.btn-primary{ background:var(--ink); color:var(--paper); box-shadow:none; }
.btn-primary:hover{ background:#12202E; }
.btn-ghost{ background:transparent; color:var(--ink); }
.btn-sm{ padding:10px 18px; font-size:.9rem; }
.scorecard-panel{ margin:4px 0 18px; }
.scorecard-head{ font-family:"Newsreader",Georgia,serif; font-size:1.2rem; font-weight:500; margin:0 0 8px; }
.scorecard-rows,.mismatch-rows{ list-style:none; margin:12px 0; padding:0; }
.scorecard-rows li,.mismatch-rows li{ border-top:1px solid var(--rule-soft); padding:9px 0; font-size:.92rem; }
.scorecard-note,.mismatch-why,.sc-sub,.fix-note{ font-size:.88rem; color:var(--ink-soft); margin:8px 0 0; }
.scorecard-alert,.scorecard-warn{ border:1px solid #EED4CF; background:var(--flag-tint); padding:12px 14px; border-radius:2px; font-size:.9rem; margin:12px 0; }
.sc-panel{ border:1px solid var(--rule); background:#F7F6F2; padding:18px 20px; border-radius:2px; margin:14px 0; }
.sc-panel-accent{ border-color:var(--ink); }
.sc-h{ font-family:"Newsreader",Georgia,serif; font-size:1.15rem; font-weight:500; margin:0 0 4px; }
.sc-lead{ font-size:.95rem; margin:0 0 8px; }
.sc-list{ list-style:none; margin:10px 0 0; padding:0; }
.sc-list li{ border-top:1px solid var(--rule-soft); padding:8px 0; font-size:.9rem; }
.sc-details{ font-size:.9rem; }
.fix-row{ display:flex; gap:12px; align-items:center; margin:10px 0; font-size:.88rem; }
.fix-row input{ width:130px; padding:8px 10px; border:1px solid var(--rule); border-radius:2px; font:inherit; }
.toast{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%); background:var(--ink); color:var(--paper); padding:12px 18px; border-radius:2px; font-size:.9rem; display:none; z-index:60; }
.toast.show{ display:block; }

/* ---- intake card: type sized to fill the box ---- */
.price-card .desc{ font-size:1.02rem; line-height:1.55; max-width:none; }
.price-card h3{ font-size:1.55rem; }
.price-amount{ font-size:3rem; }
.price-period{ font-size:.98rem; }
.field-block label{ font-size:1.02rem; font-weight:600; margin-bottom:8px; }
.upload-checklist{ font-size:.99rem; line-height:1.55; }
.upload-checklist li{ padding:7px 0 7px 18px; }
.upload-note{ font-size:.97rem; opacity:1; color:var(--ink-soft); margin:0 0 14px; }
.upload-cta{ font-size:1.05rem; }
.upload-sub{ font-size:.93rem; }
.field-hint{ font-size:.95rem; line-height:1.5; }
#stage-2 select, .field-block select, .field-block input, input[type=email]{
  font-size:1.02rem; padding:13px 14px; }
.price-feats li{ font-size:1rem; padding:12px 0; }
.price-secure, .pricing-footnote{ font-size:.93rem; }
.sc-h{ font-size:1.3rem; }
.sc-sub, .scorecard-note{ font-size:.95rem; }
.scorecard-rows li, .sc-list li{ font-size:1rem; }
