:root{--ink:#101820;--muted:#5d6872;--line:#d8dee5;--paper:#f6f7f9;--white:#fff;--accent:#256d85;--accent-dark:#164a5c;--gold:#f5d06d;--good:#15803d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}header{border-bottom:1px solid var(--line);z-index:10;background:#fffffff5;position:sticky;top:0}.nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;width:min(1120px,100% - 32px);min-height:68px;margin:0 auto;padding:8px 0;display:flex}.brand{white-space:nowrap;font-size:clamp(17px,3vw,23px);font-weight:900}.brand span{color:var(--accent)}.nav-links{flex-wrap:wrap;align-items:center;gap:18px;font-size:15px;font-weight:700;display:flex}.nav-links a:hover{color:var(--accent)}.nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--ink);white-space:nowrap;cursor:pointer;background:var(--white);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:11px 16px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--white)}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{color:var(--white);background:0 0;border-color:#ffffff80}.icon{flex:none;width:18px;height:18px}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.hero{background:var(--paper);align-items:center;min-height:calc(100vh - 85px);display:grid;position:relative;overflow:hidden}.hero-media{background-image:linear-gradient(90deg,#101820ed 0%,#101820bd 45%,#10182024 100%),url(/demo-roofing-asset.png);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-inner{width:min(1120px,100% - 32px);color:var(--white);margin:0 auto;padding:72px 0;position:relative}.kicker{color:#f5d06d;text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;font-size:12px;font-weight:900}h1{letter-spacing:0;max-width:780px;margin:0 0 22px;font-size:clamp(38px,7vw,66px);line-height:1.03}.hero-copy{color:#ffffffe0;max-width:650px;margin:0 0 28px;font-size:clamp(18px,2.4vw,24px)}.hero-row{flex-wrap:wrap;gap:12px;margin:0 0 24px;display:flex}.pill{background:#ffffff1a;border:1px solid #ffffff47;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800}main section{padding:72px 0}.wrap{width:min(1120px,100% - 32px);margin:0 auto}.section-head{max-width:760px;margin-bottom:32px}.section-head h2{margin:0 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.05}.section-head p{color:var(--muted);margin:0;font-size:18px}.badge-note{color:#7a5b13;background:#fff7e6;border:1px solid #efd7a3;border-radius:999px;margin-bottom:14px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);background:var(--white);border-radius:10px;padding:24px}.card strong{margin-bottom:8px;font-size:18px;display:block}.card p{color:var(--muted);margin:0}.service-icon{width:40px;height:40px;color:var(--accent);margin-bottom:14px}.band{background:var(--ink);color:var(--white)}.band .section-head p,.band .card p{color:#ffffffb8}.band .card{background:#ffffff0f;border-color:#ffffff2e}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.step{border-left:4px solid var(--accent);padding:4px 0 4px 18px}.step h3{margin:0 0 8px;font-size:20px}.step p{color:var(--muted);margin:0}.stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;font-size:18px}.review-card p.quote{color:var(--ink);font-style:italic}.review-name{color:var(--ink);margin-top:12px;font-size:14px;font-weight:800;display:block}.review-role{color:var(--muted);font-size:13px}.cta-band{background:var(--accent);color:var(--white);text-align:center}.cta-band h2{margin:0 0 10px;font-size:clamp(26px,4vw,40px)}.cta-band p{color:#ffffffe6;margin:0 0 24px;font-size:18px}.cta-phone{color:var(--white);align-items:center;gap:10px;margin-bottom:18px;font-size:clamp(24px,4vw,34px);font-weight:900;text-decoration:none;display:inline-flex}.contact-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:32px;display:grid}form.quote-form{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:14px;padding:24px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}label{margin-bottom:6px;font-size:14px;font-weight:700;display:block}input,select,textarea{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:8px;padding:11px 12px;font-family:inherit;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.form-success{color:var(--good);background:#ecfdf3;border:1px solid #86efac;border-radius:8px;padding:16px;font-weight:700}.info-card{border:1px solid var(--line);border-radius:10px;padding:24px}.info-row{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.info-row .icon{color:var(--accent);margin-top:2px}.info-row strong{font-size:14px;display:block}.info-row span{color:var(--muted);font-size:14px}footer{background:var(--paper);color:var(--muted);border-top:1px solid var(--line);padding:40px 0 30px}footer strong{color:var(--ink)}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.footer-nav{flex-wrap:wrap;gap:16px;font-weight:700;display:flex}.footer-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:13px}.mobile-cta{display:none}@media (width<=900px){.grid,.steps,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{background-image:linear-gradient(90deg,#101820f2,#101820b8),url(/demo-roofing-asset.png)}}@media (width<=560px){.nav{flex-direction:column;align-items:flex-start;padding:12px 0}.nav-links{display:none}.nav-actions{justify-content:stretch;width:100%}.nav-actions .btn{width:100%}main section{padding:52px 0}.form-row{grid-template-columns:1fr}body{padding-bottom:64px}.mobile-cta{z-index:20;background:var(--white);border-top:1px solid var(--line);padding:10px 14px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-cta .btn{width:100%}}
