:root{--ink:#173d40;--green:#17685f;--muted:#60766d;--line:#d9e3dc;--paper:#f7f9f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}header{display:flex;align-items:center;justify-content:space-between;background:#14343b;color:white;padding:24px max(6%,24px)}a{color:var(--green);text-underline-offset:4px}header a{color:white;text-decoration:none}.brand{font-size:14px;letter-spacing:2px;font-weight:700}nav{display:flex;gap:24px}main{max-width:1050px;margin:58px auto;padding:0 24px}.intro{max-width:780px;margin-bottom:36px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--green)}h1{font-size:clamp(38px,6vw,65px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:20px 0}.lede{font-size:19px;max-width:650px;color:var(--muted)}#questionnaire{background:white;border:1px solid var(--line);border-radius:14px;padding:32px;max-width:800px}.progress{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);gap:10px}progress{width:100%;height:7px;accent-color:var(--green);margin:16px 0 28px}fieldset{border:0;padding:0;margin:0}legend{font-size:27px;letter-spacing:-.5px;font-weight:600;line-height:1.3}label{display:block;font-size:14px;font-weight:600;margin:22px 0 8px}input[type=number],select{border:1px solid #b4c6ba;border-radius:6px;padding:13px;width:100%;color:var(--ink);background:white;font:inherit;min-height:48px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #cfad66;outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hint{color:var(--muted);font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}button,.button{border:1px solid var(--green);background:var(--green);color:white;padding:13px 20px;min-height:48px;border-radius:6px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:white;color:var(--green)}.note,.summary,.budget-preview{padding:20px 24px;background:#eaf1e8;border-radius:8px;margin:24px 0;font-size:14px}.summary h3{margin-top:0}.summary dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.summary dt{font-size:12px;color:var(--muted)}.summary dd{margin:0;font-weight:600}.error{color:#a63128}.equipment label{font-weight:400;margin:10px 0}.equipment input{width:19px;height:19px;vertical-align:middle;accent-color:var(--green);margin-right:8px}.result-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.result-top h2{font-size:33px;line-height:1.2;font-weight:500;letter-spacing:-1px}.match{background:white;border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:28px;break-inside:avoid}.match h3{font-size:25px;margin:0 0 10px;font-weight:600}.tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--green);font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats span{display:block;font-size:12px;color:var(--muted)}.stats strong{font-size:16px}.match ul{padding-left:22px}.match p{color:var(--muted)}.match-links{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}.next-steps{border-top:1px solid var(--line);padding:24px 0;font-size:14px}.next-steps h2{font-size:27px}.next-steps li{margin-bottom:10px}footer{padding:30px 24px;text-align:center;font-size:13px;color:var(--muted)}.print-only{display:none}[hidden]{display:none!important}@media(max-width:600px){main{margin-top:32px;padding:0 18px}header{padding:20px 18px;gap:16px}.brand{font-size:11px}nav{gap:14px;font-size:13px}#questionnaire{padding:24px 20px}.fields,.summary dl{grid-template-columns:1fr}.result-top{display:block}.stats{grid-template-columns:1fr 1fr}.match{padding:22px}.progress{font-size:11px}}
@media print{@page{margin:16mm}body{background:white;color:black;font-size:10pt}header,footer,.intro,#questionnaire,.result-top .actions,.match-links,.next-steps .button{display:none!important}main{margin:0;max-width:none;padding:0}#results{display:block!important}.result-top h2{font-size:22pt}.match{border:1px solid #aaa;padding:15px;margin:14px 0;box-shadow:none}.match h3{font-size:17pt}.summary,.note{background:white;border:1px solid #aaa;margin:12px 0;padding:12px}.stats{grid-template-columns:repeat(3,1fr)}.print-only{display:block}.next-steps{break-inside:avoid}a{color:black}.source-url{overflow-wrap:anywhere;font-size:8pt}}
