:root{color-scheme:light;--ink:#17211b;--muted:#5f6963;--line:#dfe5e0;--paper:#fff;--wash:#f3f6f3;--accent:#176b46;--accent-soft:#e8f3ed;--warn:#8a4b00;--warn-soft:#fff6e8;--radius:18px}
*{box-sizing:border-box}
html,body{margin:0;max-width:100%;overflow-x:clip}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--wash);color:var(--ink);line-height:1.55}
button,input,select{font:inherit}
button{touch-action:manipulation}
.wrap{width:min(100% - 24px,960px);margin:auto;padding:28px 0 56px;min-width:0}
.hero{padding:22px 4px 12px}
.eyebrow,.step-label{margin:0 0 6px;color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.04em}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{max-width:720px;margin:0;font-size:clamp(2rem,7vw,3.6rem);line-height:1.1;letter-spacing:-.045em}
h2{margin:0 0 8px;font-size:clamp(1.35rem,4.5vw,1.8rem);letter-spacing:-.025em}
h3{margin:0;font-size:1.08rem}
.lead{max-width:720px;margin:18px 0 10px;font-size:1.05rem;color:#39433d}
.text-link,.text-button{color:var(--accent);font-weight:750}
.intent-links{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:18px}
.intent-links .text-link{display:inline-block}
.text-button{padding:8px 0;border:0;background:none;text-decoration:underline;cursor:pointer}
.card{min-width:0;margin:14px 0;padding:clamp(16px,4vw,26px);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 4px 18px rgba(23,33,27,.035)}
.muted{margin:4px 0 16px;color:var(--muted);font-size:.9rem}
.quote-cards,.result-cards,.question-groups{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}
.quote-card,.result-card,.question-group{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.field{display:grid;gap:6px;margin-top:12px;font-weight:700}
input,select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #aeb8b1;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,button:focus-visible{outline:3px solid rgba(23,107,70,.22);outline-offset:2px}
.money-field{position:relative}
.money-field input{padding-right:38px}
.money-field span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted)}
.error{min-height:1.2em;margin:4px 0 0;color:#a22a22;font-size:.84rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.actions.split{justify-content:space-between}
.button{min-height:46px;padding:11px 16px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}
.button.secondary{background:#fff;color:var(--accent)}
.button:disabled{cursor:not-allowed;opacity:.45}
.demo-banner{margin:14px 0;padding:14px 16px;border:1px solid #d59b48;border-radius:14px;background:var(--warn-soft)}
.demo-banner span{display:block;margin:4px 0 10px;color:#624217}
.step-head,.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start}
.progress{padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.scope-item{min-width:0;padding:18px;border-radius:14px;background:var(--wash)}
.item-help{margin:6px 0 16px;color:var(--muted);font-size:.9rem}
.scope-responses{display:grid;gap:12px}
.scope-response{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.choice-help{margin:7px 0 0;color:var(--muted);font-size:.82rem}
.separate-amount[hidden]{display:none}
.result-summary{margin:12px 0 18px;padding:15px;border-radius:12px;background:var(--accent-soft);font-weight:750}
.result-summary.needs-check{background:var(--warn-soft);color:#5f3c0e}
.result-card.incomplete{background:#f5f5f5;color:var(--muted)}
.badge{display:inline-block;margin:8px 0;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:800}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.big{margin:4px 0;font-size:1.45rem;font-weight:850}
.formula{margin:0;color:var(--muted);font-size:.84rem}
.unresolved{margin:12px 0 0;color:var(--warn);font-weight:700}
.unresolved-list{margin:5px 0 0;padding-left:20px;font-size:.9rem}
.questions[hidden]{display:none}
.print-actions{margin-top:0}
.question-group h3{margin-bottom:4px}
.question-total{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.check-list label{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start}
.check-list input{width:20px;min-height:20px;margin:2px 0 0}
.guide{line-height:1.75}
.guide h3{margin-top:18px}
.guide p{margin:5px 0}
.guide li+li{margin-top:8px}
@media(min-width:720px){.quote-cards,.result-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-cards.three,.result-cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.question-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.wrap{width:min(100% - 16px,960px);padding-top:14px}.card{padding:15px}.actions .button{flex:1 1 100%}.print-actions{width:100%}.scope-item{padding:12px}.scope-response{padding:12px}}
@media print{body{background:#fff}.hero,.card:not(.questions),.demo-banner,.print-actions,.questions>.muted{display:none!important}.wrap{width:100%;padding:0}.questions{display:block!important;border:0;box-shadow:none;padding:0}.question-groups{display:block}.question-group{break-inside:avoid;margin-bottom:18px}.check-list input{appearance:none;border:1px solid #111;border-radius:2px}}

