:root{--ink:#19313e;--muted:#52636a;--red:#a52e29;--cream:#f5f3ec;--line:#dce1dc;--gold:#d9ad63;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.65;background:#fff}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}img{max-width:100%;height:auto;display:block}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;margin:0 0 22px}h1{font-size:clamp(42px,5.5vw,78px)}h2{font-size:clamp(30px,3.3vw,48px)}h3{font-size:25px;letter-spacing:-.025em}p{margin:0 0 22px}ul{padding-left:22px}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:20px;color:var(--red)}.utility{background:var(--ink);color:white;font-size:12px;padding:8px 0;letter-spacing:.04em}.utility .wrap{display:flex;justify-content:space-between;gap:20px}.utility a{color:white}.site-header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;gap:30px;min-height:92px}.brand img{width:176px;height:auto}.main-nav{display:flex;gap:26px;align-items:center;margin-left:auto}.main-nav a{font-size:14px;text-decoration:none;font-weight:700}.header-call{border-left:1px solid var(--line);padding-left:24px;line-height:1.4;text-decoration:none;font-size:22px;font-weight:700;white-space:nowrap}.header-call small{display:block;color:var(--red);font-size:10px;letter-spacing:.14em}.menu-toggle{display:none}.btn{display:inline-flex;justify-content:center;align-items:center;padding:16px 24px;background:var(--red);color:white;border:1px solid var(--red);border-radius:3px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;line-height:1.4;min-height:52px}.btn:hover{background:#81221f;color:white}.btn-outline{background:transparent;border-color:#9aa9ac;color:var(--ink)}.btn-outline:hover{background:var(--ink);color:white}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero{background:var(--cream);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.hero-copy{padding:66px 46px 64px 0}.hero h1 span{display:block;font-family:Georgia,serif;font-weight:400;font-style:italic;color:var(--red);font-size:.86em;margin-top:12px}.hero .lead{max-width:540px;font-size:18px}.hero-image{position:relative;min-height:540px}.hero-image>img{width:calc(100% + 80px);max-width:none;height:100%;object-fit:cover;object-position:48% center;position:absolute}.photo-label{position:absolute;bottom:22px;left:24px;background:rgba(25,49,62,.9);color:white;padding:8px 13px;font-size:11px;letter-spacing:.06em}.hero-proof{margin-top:28px;font-size:12px;display:flex;gap:16px;align-items:center}.hero-proof img{width:116px;background:white;padding:8px}.hero-proof strong{display:block;font-size:14px}.trust-strip{border-bottom:1px solid var(--line);background:white}.trust-items{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;gap:22px}.trust-items strong{display:block;font-size:16px}.trust-items span{font-size:12px;color:var(--muted)}.section{padding:84px 0}.section-soft{background:var(--cream)}.section-dark{background:var(--ink);color:white}.section-dark .eyebrow{color:var(--gold)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-intro h2{max-width:650px;margin-bottom:0}.section-intro p{max-width:400px;color:var(--muted);margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:44px}.service-card{background:white;border:1px solid var(--line);padding:30px;position:relative;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:var(--red)}.service-card .num{display:block;color:var(--red);font-size:13px;letter-spacing:.1em;margin-bottom:26px}.service-card h3 a{text-decoration:none}.service-card p{color:var(--muted);font-size:15px}.text-link{font-size:14px;font-weight:700}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card figcaption{padding:18px 0;color:var(--muted);font-size:14px}figure{margin:0}.cert-grid{display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:center}.cert-image{background:white;padding:26px;border-radius:3px}.cert-copy{max-width:750px}.cert-copy p{color:#e2e7e9}.cert-copy a{color:white}.small{font-size:13px}.intro-form{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.call-large{font-size:clamp(28px,3vw,42px);font-weight:700;text-decoration:none;display:inline-block;letter-spacing:-.04em;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{font-weight:700;font-size:13px;display:block;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #b5c0c2;background:white;border-radius:3px;padding:11px 12px;color:var(--ink);font-size:16px}.field textarea{resize:vertical;min-height:90px}.full{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);margin:14px 0 0}.trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.notice{padding:18px;border-left:4px solid var(--red);background:#fff0ec;margin-bottom:20px}.success{border-color:#386444;background:#eaf4ec}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;font-size:15px;min-width:610px}th,td{text-align:left;padding:20px;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--ink);color:white}tbody tr:nth-child(even){background:var(--cream)}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:steps}.steps li{border-top:2px solid var(--gold);padding-top:20px}.steps li:before{counter-increment:steps;content:'0' counter(steps);display:block;font-size:32px;color:var(--red);margin-bottom:14px}.steps h3{font-size:21px}.steps p{font-size:14px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:700;list-style-position:outside;margin-left:22px}details p{padding:18px 0 0 22px;margin:0;color:var(--muted)}.faq{max-width:850px}.planner{padding:36px;background:var(--cream);border:1px solid var(--line);border-radius:4px}.planner select{width:100%;padding:14px;margin:12px 0 22px;background:white;border:1px solid #9cabad}.planner-result{border-left:3px solid var(--red);padding-left:22px}.planner-result h3{font-size:24px}.chips{display:flex;gap:10px;flex-wrap:wrap}.chips a{padding:8px 15px;border:1px solid var(--line);border-radius:2px;text-decoration:none;font-size:14px;background:white}.breadcrumbs{font-size:12px;padding:24px 0;color:var(--muted)}.page-hero{background:var(--cream);padding:16px 0 64px}.page-hero h1{font-size:clamp(38px,4.6vw,62px);max-width:920px}.page-hero .lead{max-width:810px;font-size:20px}.article-grid{display:grid;grid-template-columns:minmax(0,800px) 290px;gap:72px;align-items:start}.article h2{font-size:34px;margin-top:50px}.article h2:first-child{margin-top:0}.article h3{font-size:23px;margin-top:28px}.article p,.article li{color:#3c515a}.article li{margin-bottom:10px}.sidebar{position:sticky;top:126px;background:var(--cream);padding:28px}.sidebar h2{font-size:23px}.sidebar a{display:block;margin:12px 0;font-size:14px}.sidebar .btn{color:white}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related a{display:block;border:1px solid var(--line);padding:22px;font-weight:700;text-decoration:none}.cta-band{background:var(--red);color:white;padding:54px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:36px;max-width:700px;margin-bottom:12px}.cta-band .btn{background:white;color:var(--red);border-color:white;white-space:nowrap}.site-footer{background:#102732;color:#dfe6e8;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.site-footer h3{font-size:17px;color:white;letter-spacing:0}.site-footer a{display:block;font-size:14px;margin:9px 0;text-decoration:none}.site-footer a:hover{color:var(--gold)}.site-footer p{font-size:13px}.footer-bottom{border-top:1px solid #40525b;margin-top:40px;padding-top:22px;font-size:11px;display:flex;justify-content:space-between;gap:20px}.mobile-bar{display:none}.skip-link{position:fixed;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #d4902c;outline-offset:4px}.reveal{animation:enter .65s ease-out both}@keyframes enter{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}.legend{font-size:12px;color:var(--muted);margin-top:16px}.checklist{list-style:none;padding:0}.checklist li{border-bottom:1px solid var(--line);padding:13px 0}.checklist label{display:flex;align-items:start;gap:12px}.checklist input{width:20px;height:20px;accent-color:var(--red);flex-shrink:0;margin-top:4px}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.roof-diagram{background:var(--cream);padding:30px;border:1px solid var(--line);margin:30px 0}.roof-diagram .layer{padding:12px 18px;margin:5px 0;border-left:5px solid var(--red);background:white;display:flex;justify-content:space-between;gap:15px;font-size:14px}.roof-diagram .layer:nth-child(2){margin-left:12px}.roof-diagram .layer:nth-child(3){margin-left:24px}.roof-diagram .layer:nth-child(4){margin-left:36px}.roof-diagram .layer:nth-child(5){margin-left:48px}.roof-diagram small{color:var(--muted)}
@media(min-width:1550px){.hero-image>img{width:calc(100% + (100vw - 1240px)/2)}}@media(max-width:1050px){.main-nav{gap:15px}.header-call{font-size:18px;padding-left:16px}.nav-row{gap:15px}.brand img{width:150px}.article-grid{gap:35px;grid-template-columns:minmax(0,1fr) 250px}.intro-form{gap:35px}.hero-copy{padding-right:26px}}@media(max-width:800px){.wrap{width:calc(100% - 36px)}.utility .wrap span:last-child{display:none}.nav-row{min-height:78px}.header-call{margin-left:auto;border:0;font-size:17px;padding:0}.brand img{width:130px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:9px;font-size:13px}.main-nav{display:none;position:absolute;top:78px;left:0;width:100%;background:white;padding:24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:20px}.main-nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:44px 0 36px}.hero h1{font-size:54px}.hero-image{min-height:320px;margin:0 -18px}.hero-image>img{width:100%;position:absolute}.trust-items{grid-template-columns:1fr 1fr;gap:18px}.section{padding:54px 0}.grid-3{grid-template-columns:1fr}.grid-2,.intro-form{grid-template-columns:1fr;gap:30px}.section-intro{display:block}.section-intro p{margin-top:20px}.cert-grid{grid-template-columns:1fr;gap:28px}.cert-image{width:210px}.steps{grid-template-columns:1fr 1fr;gap:20px}.article-grid{display:block}.sidebar{position:static;margin-top:40px}.related{grid-template-columns:1fr}.cta-band .wrap{display:block}.cta-band .btn{margin-top:15px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.mobile-bar{display:grid;grid-template-columns:1.3fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.mobile-bar a{text-align:center;text-decoration:none;background:var(--red);color:white;padding:8px;font-size:15px;font-weight:700;line-height:1.3}.mobile-bar a+ a{background:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px}.mobile-bar small{display:block;font-size:9px;letter-spacing:.09em}body{padding-bottom:85px}.page-hero{padding-bottom:42px}.planner{padding:24px}.photo-card img{aspect-ratio:4/3}.article h2{font-size:29px}}@media(max-width:430px){.header-call small{font-size:8px}.brand img{width:108px}.header-call{font-size:15px}.nav-row{gap:10px}.hero h1{font-size:46px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.actions .btn{width:100%}.trust-items strong{font-size:14px}.hero-proof{gap:12px}.hero-proof img{width:100px}.roof-diagram{padding:16px}.roof-diagram .layer{display:block}.roof-diagram small{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.site-header,.utility,.mobile-bar,.site-footer,.cta-band,.sidebar,.estimate-form{display:none}body{padding:0;font-size:12pt}.wrap{width:100%}.article-grid{display:block}.section{padding:20px 0}a{text-decoration:none}}
.brand img{width:120px}.nav-row{min-height:96px}@media(max-width:800px){.brand img{width:85px}.nav-row{min-height:78px}}.chips span{border:1px solid var(--line);padding:8px 14px;font-size:14px;background:var(--cream)}
.hero-copy{padding-top:48px;padding-bottom:46px}.hero h1{font-size:clamp(42px,4.8vw,68px)}.hero-slogan{font:italic 46px/1.08 Georgia,serif;color:var(--red);letter-spacing:-.04em;margin-bottom:24px}@media(max-width:800px){.hero-copy{padding-top:38px;padding-bottom:34px}.hero h1{font-size:46px}.hero-slogan{font-size:38px}}
