:root{--ink:#07111f;--blue:#21b7ff;--white:#fff;--muted:#64748b;--line:#dbe4ee;--bg:#f5f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
/* Desktop hero: show the ENTIRE approved artwork inside the first viewport. */
.visual-hero{position:relative;width:100%;height:100vh;min-height:560px;background-color:#02070b;background-image:url('hero-home.png');background-repeat:no-repeat;background-position:center center;background-size:contain;overflow:hidden}
.hotspot{position:absolute;display:block;z-index:5}.hs-home{left:37.5%;top:2%;width:5%;height:7%}.hs-estimate-nav{left:42.5%;top:2%;width:9%;height:7%}.hs-process-nav{left:51.5%;top:2%;width:9%;height:7%}.hs-faq-nav{left:60.5%;top:2%;width:5%;height:7%}.hs-contact-nav{left:65.5%;top:2%;width:7%;height:7%}.hs-estimate-top{right:9%;top:1.5%;width:15%;height:8%}.hs-estimate-main{left:4.5%;top:77%;width:20%;height:10%}.hs-process-main{left:25%;top:77%;width:16%;height:10%}.scroll-cue{position:absolute;left:50%;bottom:.5rem;transform:translateX(-50%);z-index:6;color:#2bbcff;text-decoration:none;font-size:3rem;line-height:1;text-shadow:0 0 18px #000}.requirements,.process-section,.policy-section{padding:80px 0}.process-section{background:#050b11;color:#fff}.process-section .step{background:#0a141d;border-color:#16364a;color:#fff}.process-section .step p{color:#cbd5e1}.section-title{text-align:center;margin-bottom:34px}.section-title.left{text-align:left}.section-title span{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:900;color:var(--blue)}.section-title h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em;margin:8px auto;max-width:800px}.cards{display:grid;gap:18px}.three-up{grid-template-columns:repeat(3,1fr)}.card,.policy-card,.estimate-form,.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 8px 30px rgba(15,23,42,.04)}.card h3,.policy-card h3,.step h3{margin-top:0}.card ul{padding-left:20px}.estimate-section{padding:80px 0;background:#07111f;color:#fff}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.muted{color:#b7c6d7}.estimate-form{display:grid;gap:18px;background:#0b1724;border-color:#1b3a50}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}label{display:grid;gap:7px;font-weight:800}input,select,textarea{width:100%;border:1px solid #385167;border-radius:9px;padding:12px 13px;font:inherit;background:#111f2c;color:#fff}input:focus,select:focus,textarea:focus{outline:3px solid rgba(33,183,255,.22);border-color:#21b7ff}small{color:#aebdcb;font-weight:500}.check{display:flex;gap:10px;align-items:flex-start;font-weight:600}.check input{width:auto;margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:10px;text-decoration:none;border:0;font:inherit;font-weight:900;cursor:pointer}.btn-primary{background:linear-gradient(#4fcaff,#149ce6);color:#04111c}.wide{width:100%}.form-message{margin:0;font-weight:800}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#21b7ff;color:#00111d;font-weight:900;margin-bottom:16px}.policy-section{padding-top:70px}.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.site-footer{background:#03070d;color:#cbd5e1;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-grid p{margin-bottom:0}
@media(max-width:900px){.visual-hero{height:auto;min-height:0;aspect-ratio:16/9;background-size:100% 100%;background-position:center}.form-layout{grid-template-columns:1fr}.three-up,.timeline{grid-template-columns:1fr}.policy-grid,.grid.two{grid-template-columns:1fr}}
/* Portrait phones: show the WHOLE hero, letterboxed rather than cropping the left/right sides. */
@media(max-width:600px) and (orientation:portrait){.visual-hero{height:auto;min-height:0;aspect-ratio:16/9;background-size:contain;background-position:center top;background-color:#02070b}.hotspot{display:block}.scroll-cue{font-size:2rem;bottom:.1rem}.requirements,.process-section,.estimate-section,.policy-section{padding:56px 0}.wrap{width:min(100% - 24px,1180px)}}
@media(max-width:600px) and (orientation:landscape){.visual-hero{height:100svh;min-height:0;aspect-ratio:auto;background-size:contain;background-position:center}.hotspot{display:block}}
