.planner{--planner-line:var(--line-2,#d6d5d1);--planner-muted:var(--graphite,#50535a);--planner-accent:var(--signal-ink,#214c57);max-width:1120px;margin-inline:auto;color:var(--ink,#15191d)}
.planner [hidden]{display:none!important}
.planner p,.planner li{font-size:1rem;line-height:1.65}
.planner p+p{margin-top:12px}
.planner-intro{max-width:78ch;margin-bottom:36px}
.planner-privacy{color:var(--planner-muted)}
.planner fieldset{min-width:0}
.planner-section{border:0;border-top:1px solid var(--planner-line);margin:0;padding:32px 0 44px}
.planner-section legend{float:left;display:flex;align-items:center;gap:16px;width:100%;padding:0;margin:0 0 24px;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:500;line-height:1.2;letter-spacing:-.025em}
.planner-section legend+*{clear:both}
.planner-step{font-family:var(--font-mono,monospace);font-size:.8rem;letter-spacing:0;color:var(--planner-muted)}
.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.planner-field{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.planner label{display:block;margin-bottom:10px;font-size:1rem;font-weight:500;line-height:1.5}
.planner input,.planner select{width:100%;max-width:100%;min-height:52px;padding:12px 14px;border:1px solid #90989c;border-radius:0;background:#fff;color:#15191d;font:inherit;font-size:1rem;box-shadow:none}
.planner input:focus,.planner select:focus{border-color:var(--planner-accent)}
.planner :focus-visible{outline:3px solid var(--planner-accent);outline-offset:4px}
.planner input[aria-invalid=true],.planner select[aria-invalid=true]{border:2px solid #a52d22}
.planner .planner-help,.planner .planner-optional{font-size:.875rem;color:var(--planner-muted);line-height:1.6}
.planner .planner-help{margin-top:8px}
.planner .planner-field-error{display:block;font-size:.875rem;line-height:1.5;color:#a52d22;margin-top:6px}
.planner-section-note{max-width:70ch;margin-bottom:20px;color:var(--planner-muted)}
.planner-question{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(190px,1fr);gap:24px;align-items:start;padding:22px 0;border-top:1px solid var(--planner-line)}
.planner-question label{margin-bottom:0}
.planner-notice{padding:18px 20px;border-left:3px solid var(--planner-accent);background:var(--paper-2,#f0f2f0);margin-bottom:28px}
.planner-method{margin-top:24px;border-block:1px solid var(--planner-line);padding:18px 0}
.planner-method summary{cursor:pointer;font-weight:500;line-height:1.5;padding:3px 0}
.planner-method[open] summary{margin-bottom:16px}
.planner-method p{max-width:82ch;color:var(--planner-muted)}
.planner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.planner-button{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;min-height:52px;padding:14px 20px;font:inherit;font-size:1rem;font-weight:500;line-height:1.4;text-decoration:none;cursor:pointer;border:1px solid var(--planner-accent);border-radius:0}
.planner-button-primary{background:var(--planner-accent);color:#fff}
.planner-button-primary:hover{background:#173a42}
.planner-button-secondary{background:transparent;color:var(--planner-accent)}
.planner-button-secondary:hover{background:#e8eded}
.planner-button:disabled{opacity:.5;cursor:not-allowed}
.planner-errors{border:2px solid #a52d22;padding:20px;margin-bottom:24px;color:#741e17}
.planner-errors p{font-weight:500}
.planner-errors ul,.planner-readiness ul{padding-left:22px;margin-top:12px;list-style:disc}
.planner-errors a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.planner-status{color:var(--planner-muted);margin-block:12px 24px;min-height:1.5em}
.planner-results{scroll-margin-top:110px;padding:clamp(22px,4vw,44px);border:1px solid var(--planner-line);background:var(--paper-2,#f5f5f1)}
.planner-result-head{max-width:72ch;margin-bottom:28px}
.planner-results h2{font-size:clamp(1.75rem,3.5vw,2.7rem);line-height:1.15;letter-spacing:-.035em;margin:8px 0 16px}
.planner-results h3{font-size:1.6rem;line-height:1.2;margin:8px 0 16px}
.planner .planner-kicker{font-size:.8rem;font-family:var(--font-mono,monospace);letter-spacing:.04em;color:var(--planner-muted)}
.planner-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:24px 0}
.planner-metrics>div{padding:22px 20px 22px 0;border-top:1px solid var(--planner-line);min-width:0}
.planner-metrics dt{font-size:.875rem;line-height:1.5;color:var(--planner-muted);margin-bottom:8px}
.planner-metrics dd{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.planner .planner-breakdown,.planner .planner-value-note{color:var(--planner-muted)}
.planner-readiness{padding-top:28px;margin-top:28px;border-top:1px solid var(--planner-line)}
.planner-readiness li+li{margin-top:10px}
@media(max-width:650px){.planner-grid,.planner-question{grid-template-columns:1fr}.planner-question{gap:12px}.planner-section{padding-bottom:32px}.planner-actions{align-items:stretch;flex-direction:column}.planner-button{width:100%}.planner-metrics{gap:0 16px}.planner-metrics>div{padding-right:0}.planner .planner-notice{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.planner *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
