:root{--ink:#17312e;--muted:#526660;--paper:#f6f4ef;--brand:#145c50;--line:#cdd8d1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,sans-serif}main{max-width:1080px;margin:auto;padding:40px 28px 60px}h1{font:normal clamp(34px,5vw,58px)/1.12 Georgia,serif;max-width:840px;margin:16px 0 24px}h2{font:normal 28px/1.3 Georgia,serif;margin:0 0 14px}p{margin:0 0 18px}.eyebrow{font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}.intro{max-width:720px;font-size:20px}.notice{padding:20px;background:#e5eeea;border-left:4px solid var(--brand);margin:28px 0 40px}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 38px}label{display:block;font-weight:600;font-size:16px}small{display:block;font-weight:400;font-size:14px;color:var(--muted);margin-top:6px}input,select{display:block;width:100%;min-width:0;min-height:48px;background:white;color:var(--ink);border:1px solid var(--muted);border-radius:6px;font:16px system-ui;padding:10px;margin-top:7px}button,.cta{display:inline-block;min-height:48px;padding:12px 20px;border:1px solid var(--brand);border-radius:6px;font:600 16px system-ui;color:var(--brand);background:white;cursor:pointer}a{color:var(--brand);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.cost-row{border-top:1px solid var(--line);padding:20px 0}.cost-row h3{font-size:19px;margin:0 0 12px}.fields{display:grid;grid-template-columns:2fr 1.3fr 1.3fr;gap:18px}.row-state{margin-top:8px;color:var(--muted);font-size:14px}.error{color:#a12c30}.summary{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;margin:36px 0}.total{font-size:28px;font-variant-numeric:tabular-nums;margin:0 0 8px}.summary>p{font-size:15px}.questions{max-width:780px}li{margin:10px 0}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:30px;max-width:820px}.skip{position:absolute;top:10px;left:10px;transform:translateY(-180%);background:white;padding:10px}.skip:focus{transform:none}@media(max-width:600px){main{padding:24px 18px}.metadata,.fields{grid-template-columns:1fr}.metadata{gap:18px}.fields{gap:12px}.summary{padding:20px}.total{font-size:24px}h2{font-size:25px}}
