:root{
  --bg:#f7f3ea; --card:#fffdf8; --ink:#1e2923; --muted:#6d756f;
  --green:#2f5d46; --green2:#3f7558; --line:#e4dfd4; --soft:#edf3ee;
  --danger:#8b3d35; --radius:18px; --shadow:0 10px 35px rgba(35,48,39,.06);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:38px 0 48px}
.hero{padding:10px 4px 30px}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--green);margin-bottom:8px}
h1{font-size:clamp(32px,7vw,54px);line-height:1.03;letter-spacing:-.04em;margin:0 0 14px}
h2{font-size:22px;margin:0;letter-spacing:-.02em}
.hero p{max-width:680px;color:var(--muted);font-size:16px;margin:0}
.card,.results{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:18px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}
.section-heading>div{display:flex;align-items:center;gap:12px}.section-heading p{margin:0;color:var(--muted);font-size:13px}
.step{font-size:11px;font-weight:800;color:var(--green);background:var(--soft);border-radius:999px;padding:6px 8px}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label{display:block}.grid label>span,label>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
label em{font-style:normal;color:var(--muted);font-weight:500}
input,select{width:100%;height:46px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 12px;color:var(--ink);font:inherit;outline:none}
input:focus,select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(63,117,88,.1)}
small{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.checkline{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf9f4}
.checkline input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}
.checkline strong{font-size:13px}.checkline small{margin-top:3px}
.custom-scale{margin:18px 0;padding:16px;background:#faf9f4;border:1px solid var(--line);border-radius:13px}
.subheading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px}.subheading span{color:var(--muted)}
.custom-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}
button{font:inherit;border:0;cursor:pointer}.primary{width:100%;height:52px;border-radius:13px;background:var(--green);color:#fff;font-weight:800;font-size:15px;margin:2px 0 18px}
.primary:hover{background:#274e3a}.secondary{height:43px;padding:0 15px;border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--green);font-weight:700}
.secondary.small{height:36px;font-size:12px}.text-button{background:none;color:var(--green);font-weight:800}
.course-head,.course-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 42px;gap:9px;align-items:center}
.course-head{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:0 4px 7px}
.course-row{margin-bottom:9px}.course-row button{height:42px;background:#f5f1e8;color:var(--danger);border-radius:10px;font-weight:800}
.optional-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.optional-details summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--green)}.optional-details p{font-size:12px;color:var(--muted)}
.error{color:var(--danger);background:#f8e9e6;border:1px solid #edc7c1;border-radius:11px;padding:11px 13px;font-size:13px}
.hidden{display:none!important}
.result-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.metric{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}
.metric span{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:5px}.metric strong{font-size:24px;letter-spacing:-.03em}.metric.featured{background:var(--soft);border-color:#d8e5dc}.metric.featured strong{color:var(--green);font-size:32px}
.summary-card{margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.summary-row{display:flex;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--line);font-size:14px}.summary-row:last-child{border-bottom:0}.summary-row span{color:var(--muted)}
.message{margin-top:12px;padding:15px;border-radius:13px;background:var(--soft);font-size:13px}.message strong{display:block;margin-bottom:3px}
.note{margin-top:12px;padding:15px;border-left:3px solid var(--green);background:#faf9f4}.note strong{font-size:13px}.note p{margin:4px 0 0;color:var(--muted);font-size:12px}
footer{display:flex;justify-content:space-between;gap:12px;padding:16px 4px;color:var(--muted);font-size:11px}
@media(max-width:680px){
 .shell{padding-top:24px}.card,.results{padding:18px}.section-heading{display:block}.section-heading p{margin-top:7px}
 .grid.two{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}
 .course-head,.course-row{grid-template-columns:minmax(0,1fr) 72px 38px}
 .course-head{font-size:9px}.course-row input,.course-row select{padding:0 8px}
 footer{display:block}footer span{display:block;margin-top:5px}
}

/* Lead-magnet result layer */
.hero-lede{font-size:20px!important;color:var(--ink)!important;font-weight:750;margin-bottom:5px!important;letter-spacing:-.02em}
.target-result.success{background:#edf6ef;border-color:#cfe1d3}
.target-result.limit{background:#fbefec;border-color:#ebd0c9}
.target-result.limit strong{color:#7b3d35}
.target-result span{display:block}
.assumption{margin-top:10px!important;color:var(--muted);line-height:1.5}
.next-step{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.next-step h3{font-size:25px;line-height:1.15;letter-spacing:-.03em;margin:0 0 7px}
.next-step>p{margin:0 0 18px;color:var(--muted);font-size:14px}
.struggle-box{padding:17px;border:1px solid var(--line);border-radius:15px;background:#faf9f4}
.struggle-box>strong{display:block;font-size:13px;margin-bottom:12px}
.struggle-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.struggle-options button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;color:var(--ink);font-weight:650;font-size:12px;line-height:1.35}
.struggle-options button:hover{border-color:var(--green2);color:var(--green)}
.product-recommendation{display:grid;grid-template-columns:auto 1fr;gap:15px;margin-top:12px;padding:18px;border:1px solid #d7e5db;border-radius:15px;background:var(--soft)}
.product-icon{font-size:27px}.product-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:var(--green);letter-spacing:.08em;font-weight:800}
.product-meta strong{font-size:14px;letter-spacing:0;color:var(--ink)}
.product-copy h4{font-size:21px;margin:4px 0 7px;letter-spacing:-.02em}.product-copy p{font-size:12px;color:var(--muted);margin:5px 0}.product-copy p strong{color:var(--ink)}
.product-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;min-height:42px;padding:0 15px;border-radius:10px;background:var(--green);color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.product-cta:hover{background:#274e3a}.product-cta.disabled{opacity:.55;cursor:not-allowed}
.hub-callout{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}
.hub-callout h4{font-size:20px;margin:3px 0 5px}.hub-callout p{font-size:12px;color:var(--muted);margin:0 0 7px;max-width:580px}.hub-cta{white-space:nowrap}
@media(max-width:680px){.struggle-options{grid-template-columns:1fr}.product-recommendation{grid-template-columns:1fr}.hub-callout{grid-template-columns:1fr}.hub-cta{width:100%}}

.grade-targets{margin-top:12px;background:#fffdf8;border:1px solid #d7e5db}.grade-target-header strong{display:block;color:var(--green);font-size:12px;letter-spacing:.04em;margin-bottom:4px}.grade-target-header span{display:block;color:var(--muted);font-size:12px}.grade-combinations{display:grid;gap:9px;margin-top:12px}.grade-combination{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.combination-title{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--green);font-weight:800;margin-bottom:8px}.combination-title strong{color:var(--ink)}.combination-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.combination-courses span{font-size:11px;color:var(--muted);padding:7px 8px;background:#faf9f4;border-radius:8px}.combination-courses b{color:var(--green);font-size:13px}@media(max-width:680px){.combination-courses{grid-template-columns:1fr}}
