:root{--navy:#1a2540;--navy2:#24345a;--gold:#33ceb4;--ink:#1b2430;--bg:#F4F6F9;--line:#d4dbe4}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,legend,.range,button{font-family:Barlow,system-ui,sans-serif}
.top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--navy);position:sticky;top:0;z-index:5;box-shadow:0 2px 8px #0003}
.logo img{display:block;height:34px;width:auto}
.call{background:var(--gold);color:var(--navy);padding:9px 14px;border-radius:999px;font-weight:700;text-decoration:none;white-space:nowrap}
.hero{background:linear-gradient(135deg,#1a2540ee,#1a2540bb),url(assets/svc_roof_nextstar.webp) center/cover;color:#fff;margin:-16px -16px 16px;padding:28px 20px 56px}
.eyebrow{color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin:0}
main{max-width:640px;margin:auto;padding:16px}.hero h1{font-size:1.9rem;margin:.3em 0 .2em;line-height:1.2}.hero p{opacity:.9}
.card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 6px 24px #0e2a4714;margin-bottom:16px}#calc{margin-top:-48px;position:relative;border-top:4px solid var(--gold)}
fieldset{border:0;padding:0;margin:0}legend{font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:8px}
.step{display:none}.step.active{display:block}label{display:block;margin:12px 0 4px;font-weight:600}
input,select{width:100%;padding:12px;font:inherit;border:1px solid var(--line);border-radius:8px}input:focus,select:focus{outline:3px solid #33ceb455;border-color:var(--gold)}
.chk{display:flex;gap:8px;align-items:flex-start;font-weight:400}.chk input{width:auto;margin-top:4px}.consent{font-size:.85rem}
.nav{display:flex;gap:8px;margin-top:16px}button{flex:1;padding:14px;font-size:1rem;border-radius:999px;border:2px solid var(--navy);background:#fff;color:var(--navy);font-weight:700;cursor:pointer}
.cta{background:var(--gold);border-color:var(--gold);font-weight:800}
.progress{height:6px;background:#e3e8ef;border-radius:3px;margin-bottom:16px}#bar{height:100%;background:var(--gold);border-radius:3px;width:20%;transition:width .3s}
.range{font-size:2.1rem;font-weight:800;color:var(--navy)}table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.9rem}td{padding:6px;border-bottom:1px solid #eee}
.disc{font-size:.85rem;color:#5a6472}.err{color:#b00020}.fin{font-size:.85rem}
.why h2{color:var(--navy)}.why li{margin:4px 0}.why li::marker{content:"★  ";color:var(--gold)}
footer{text-align:center;padding:20px 16px;font-size:.85rem;background:var(--navy);color:#cfd8e3}footer .disc{color:#9fb0c3}
@media(min-width:900px){main{max-width:760px}.hero h1{font-size:2.5rem}}
footer a{color:#33ceb4}

.work h2{color:var(--navy);margin-bottom:4px}.work .sub{color:#555;margin:4px 0 12px}.work .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.work figure{margin:0;border-radius:10px;overflow:hidden;background:#f4f6f9}.work img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.work figcaption{padding:8px 10px;font-size:14px}
.req{color:#c0392b}
