:root{--ink:#1c2422;--muted:#606b63;--paper:#f5f3ed;--line:#d5d4cb;--accent:#967658}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b69874;outline-offset:3px}.topbar{height:80px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{width:112px;height:58px;object-fit:contain;filter:brightness(.25)}.back-home{font-size:13px;text-decoration:none}.shell{width:min(100% - 48px,1040px);margin:0 auto;padding:72px 0 80px}.intro{max-width:690px}.eyebrow,.step-kicker{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em}.intro h1{font:500 clamp(48px,6vw,82px)/1.04 Manrope,Arial,sans-serif;letter-spacing:-.065em;margin:15px 0 22px}.intro h1 em{font:400 1em Georgia,serif}.intro>p:not(.eyebrow){color:var(--muted);max-width:600px;line-height:1.7}.test-notice{margin:26px 0 32px;padding:13px 17px;background:#eae4d7;border-left:3px solid var(--accent);font-size:13px}.test-notice strong{font-size:11px;letter-spacing:.1em;margin-right:8px}.form-card{background:#fff;border:1px solid #dddcd4;box-shadow:0 18px 60px #252b2910}.progress{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.progress span{padding:18px 25px;color:#849088;font-size:12px;letter-spacing:.04em;border-bottom:3px solid transparent}.progress span.current{color:var(--ink);border-color:var(--accent);font-weight:700}.progress span.done{color:#495c4e}.panel{padding:40px 46px 22px}.panel[hidden]{display:none}.panel h2{font:500 clamp(30px,3.7vw,48px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:8px 0 8px}.hint{color:var(--muted);margin:0 0 27px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.choice{border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;padding:6px 6px 17px;position:relative}.choice:has(input:checked){border:2px solid var(--ink);padding:5px 5px 16px;box-shadow:0 8px 24px #1c242217}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice-image{display:block;height:150px;background:#ddd center/cover}.choice-image.new{background-image:url('../assets/project-3.avif')}.choice-image.replace{background-image:url('../assets/project-4.avif')}.choice-image.repair{background-image:url('../assets/project-3.avif');filter:saturate(.65)}.choice-title{font:600 18px Manrope,Arial,sans-serif;letter-spacing:-.035em;padding:16px 12px 5px}.choice small{font-size:13px;color:var(--muted);padding:0 12px}.field-error{color:#9b4036;font-size:13px;margin:12px 0 0}.upload{display:flex;flex-direction:column;gap:5px;border:1px dashed #9d9c92;padding:20px;margin-bottom:6px;cursor:pointer;color:var(--muted);font-size:13px}.upload-title{color:var(--ink);font-weight:700;font-size:15px}.upload input{margin-top:10px;width:100%;font-size:13px}.photo-list{color:var(--muted);font-size:12px;margin:4px 0 28px}.optional{font-weight:400;color:var(--muted)}.measure-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.measure-grid label,.contact-grid label,.description{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.measure-grid input,.contact-grid input,.description textarea{width:100%;min-height:47px;border:1px solid #bfc3bc;border-radius:0;background:#fbfaf7;padding:11px 13px;color:var(--ink)}.measure-grid input:disabled{opacity:.5}.check{display:flex;align-items:center;gap:10px;margin:20px 0 25px;font-size:14px}.check input{width:18px;height:18px;accent-color:#2a3931}.description textarea{resize:vertical;min-height:125px}.review{background:#f5f3ed;padding:22px;margin-top:28px}.review-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.review h3{font:500 23px Manrope,Arial,sans-serif;margin:0}.review button{border:0;background:none;text-decoration:underline;color:var(--ink);font-size:12px}.review dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin:16px 0 0;font-size:13px}.review dt{color:var(--muted)}.review dd{margin:0;font-weight:600;overflow-wrap:anywhere}.small-print{font-size:12px;color:var(--muted);margin:23px 0 0}.actions{display:flex;gap:10px;justify-content:flex-end;padding:26px 46px 37px}.actions button{min-height:50px;padding:0 22px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.back{border:1px solid var(--ink);background:#fff;color:var(--ink);margin-right:auto}.next{border:1px solid var(--ink);background:var(--ink);color:#fff}.next span{padding-left:16px}.status{min-height:0;margin:0 46px 26px;font-size:13px}.status.error{color:#9b4036}.status.success{color:#1d6b4a}.other-services{color:var(--muted);font-size:13px;line-height:2;margin-top:28px}.other-services a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.topbar{height:68px}.brand img{width:82px;height:48px}.shell{width:min(100% - 28px,620px);padding:42px 0 65px}.intro h1{font-size:clamp(42px,11vw,60px)}.test-notice{margin-bottom:24px}.progress span{padding:13px 7px;text-align:center;font-size:10px}.panel{padding:27px 20px 10px}.panel h2{font-size:35px}.choice-grid{grid-template-columns:1fr;gap:9px}.choice{display:grid;grid-template-columns:96px 1fr;grid-template-rows:auto auto;align-items:center;padding:5px}.choice:has(input:checked){padding:4px}.choice-image{grid-row:span 2;height:79px}.choice-title{padding:0 12px;align-self:end;font-size:16px}.choice small{align-self:start}.measure-grid,.contact-grid{grid-template-columns:1fr}.actions{padding:23px 20px 27px}.actions button{padding:0 17px}.review{padding:17px}.review dl{grid-template-columns:1fr;gap:2px}.review dd{margin-bottom:10px}.status{margin:0 20px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.choice-image.new{background-image:url('../assets/projects/pool-gable-wide-card.webp')}
.choice-image.replace{background-image:url('../assets/projects/pool-dark-corner-card.webp')}
.choice-image.repair{background-image:url('../assets/projects/repair-screen-card.webp');filter:none}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}.topbar .language-switch{margin-left:auto;margin-right:28px}@media(max-width:700px){.topbar .language-switch{margin-right:8px;font-size:10px}.back-home{font-size:11px}}
