.roofing-page{--roof-text:#c0c8c9;--roof-border:#303b3d}.roofing-page .nav-wrap{position:relative}.roofing-page .nav-links a[aria-current=page]{color:var(--sun2)}.roofing-page a:focus-visible,.roofing-page summary:focus-visible,.roofing-page button:focus-visible{outline:3px solid var(--sun2);outline-offset:5px}.roofing-page .nav-links a,.roofing-page .nav-menu summary,.roofing-page .call{font-size:.875rem}.roofing-page .nav{gap:16px}.roofing-page .nav-links{gap:12px}.roofing-page .nav .brand{width:185px}.roofing-page .menu{min-height:44px;min-width:64px;font-size:1rem}.roofing-page p{overflow-wrap:break-word}.roofing-page h1,.roofing-page h2,.roofing-page h3{font-family:'Manrope',sans-serif}.roofing-page h2{font-size:clamp(2rem,4vw,3.75rem);line-height:1.13;letter-spacing:-.045em;margin:0 0 24px}.roofing-page h3{line-height:1.35;letter-spacing:-.025em}.roof-kicker{color:var(--sun2);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;line-height:1.6;margin:0 0 24px}.roof-hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:725px}.roof-hero-copy{padding:38px 44px 58px max(28px,calc((100vw - 1250px)/2));align-self:center}.roof-breadcrumb{display:flex;gap:12px;color:#9ba8a9;font-size:.875rem;margin-bottom:42px}.roof-breadcrumb a{color:inherit;text-decoration:none}.roof-hero h1{font-size:clamp(3rem,4.9vw,4.9rem);line-height:1.06;letter-spacing:-.06em;margin:0 0 28px}.roof-hero h1 span{color:var(--sun2);display:block}.roof-hero-lead{font-size:1.2rem;line-height:1.6;color:#eff3ef;margin:0 0 18px}.roof-hero-text{max-width:510px;color:var(--roof-text);margin:0}.roof-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.roof-actions .button{font-size:1rem;line-height:1.4;text-align:center;padding:17px 21px}.roof-call{color:#f1f6ed;text-decoration:none;font-weight:700;padding:12px 0;min-height:44px}.roof-call span{color:var(--sun2);margin-left:8px}.roof-welcome{font-size:.9375rem;color:var(--sun2);padding-left:14px;border-left:2px solid var(--sun);margin:28px 0 0}.roof-hero-visual{margin:28px 28px 28px 0;position:relative;min-height:610px;overflow:hidden;background:#171e1d}.roof-hero-visual:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,transparent 40%,rgba(4,8,7,.9));pointer-events:none}.roof-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:57% center;position:absolute;inset:0}.roof-hero-visual figcaption{position:absolute;z-index:1;left:32px;right:32px;bottom:34px;border-left:3px solid var(--sun);padding-left:22px}.roof-hero-visual figcaption span{display:block;font-size:.875rem;color:#d1dece;letter-spacing:.08em;margin-bottom:12px}.roof-hero-visual figcaption strong{font:700 clamp(1.45rem,2.2vw,2rem)/1.25 'Manrope',sans-serif}.roof-promise{display:grid;grid-template-columns:repeat(3,1fr);max-width:1384px;margin:0 auto;background:var(--sun);color:#10160a}.roof-promise>div{display:flex;align-items:center;gap:20px;padding:23px 30px;border-right:1px solid #668f2f}.roof-promise>div:last-child{border:0}.roof-promise span{font-size:.875rem;font-weight:700;opacity:.8}.roof-promise strong{font-size:1rem;line-height:1.5}.roof-jump{max-width:1240px;padding:25px 28px;display:flex;gap:35px;flex-wrap:wrap;margin:auto;border-bottom:1px solid var(--roof-border)}.roof-jump a{font-size:.9375rem;color:#c5cdcc;text-underline-offset:6px;text-decoration-color:#526546;padding:8px 0}.roof-jump a:hover{color:var(--sun2)}.roof-section{max-width:1240px;margin:0 auto;padding:95px 28px;scroll-margin-top:24px}.roof-section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:end;margin-bottom:40px}.roof-section-heading h2{margin-bottom:0}.roof-section-heading>p{color:var(--roof-text);font-size:1.0625rem;margin:0 0 3px}.roof-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--roof-border);border-left:1px solid var(--roof-border);margin-top:45px}.roof-service-grid article{padding:32px;border-right:1px solid var(--roof-border);border-bottom:1px solid var(--roof-border);background:linear-gradient(125deg,#151c1b,#101415)}.roof-service-grid article:hover{background:#17201a}.roof-index{display:block;font-size:.875rem;font-weight:600;letter-spacing:.04em;color:var(--sun2);margin-bottom:30px}.roof-service-grid h3{font-size:1.45rem;margin:0 0 18px}.roof-service-grid p{color:var(--roof-text);margin:0}.roof-materials{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;padding:40px;margin-top:34px;background:#eff3ea;color:#172218}.roof-materials .roof-kicker{color:#45631f;margin-bottom:14px}.roof-materials h3{font-size:1.55rem;margin:0}.roof-materials p{margin-top:0}.roof-materials p:last-of-type{color:#3d4d40}.roof-text-link{font-weight:700;color:var(--sun2);text-underline-offset:5px}.roof-materials .roof-text-link{color:#34591a}.roof-plan-band{background:#131b1a;border-block:1px solid var(--roof-border)}.roof-steps{list-style:none;padding:0;margin:50px 0 0}.roof-steps li{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:28px 0;border-top:1px solid #38413d}.roof-steps li>span{font:600 1.75rem 'Manrope',sans-serif;color:var(--sun2)}.roof-steps li>div{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:start}.roof-steps h3{font-size:1.35rem;margin:0}.roof-steps p{color:var(--roof-text);margin:0}.roof-detail-strip{padding:28px 32px;border:1px solid #51683a;margin-top:24px}.roof-detail-strip h3{font-size:1.05rem;margin:0 0 12px}.roof-detail-strip p{color:#c0cbb9;margin:0}.roof-detail-strip span{color:var(--sun);padding:0 8px}.roof-solar-section{display:grid;grid-template-columns:1fr 1.05fr;gap:68px;align-items:center}.roof-solar-section>div>p:not(.roof-kicker){color:var(--roof-text)}.roof-solar-visual{position:relative;min-width:0}.roof-solar-visual img{width:100%;height:auto;display:block}.roof-solar-visual>a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px;background:#17201a;color:var(--sun2);text-decoration:none;font-weight:700;border:1px solid #394831;font-size:1rem}.roof-checklist{padding:0;list-style:none;margin:28px 0}.roof-checklist li{padding:12px 0 12px 24px;border-top:1px solid var(--roof-border);position:relative}.roof-checklist li:before{content:'✓';position:absolute;left:0;color:var(--sun2)}.roof-assurance-band{background:#eff3ea;color:#142014}.roof-assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.roof-assurance-grid .roof-kicker{color:#486425}.roof-assurance-grid .roof-text-link{color:#31511c}.roof-assurance-grid>div>p:not(.roof-kicker){color:#3c4a3c}.roof-assurance-card{padding:38px;border:1px solid #c0ceb8;box-shadow:9px 9px 0 #dce7d3}.roof-assurance-card h3{font-size:2rem;line-height:1.2;margin:0 0 25px}.roof-faq-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:start}.roof-faq-group>h3{font-size:1.125rem;padding-bottom:22px;border-bottom:2px solid var(--sun);margin:15px 0 0;color:var(--sun2)}.roof-faq-group details{border-bottom:1px solid var(--roof-border)}.roof-faq-group summary{position:relative;padding:23px 30px 23px 0;list-style:none;cursor:pointer;font-weight:600;font-size:1rem;line-height:1.55;min-height:64px}.roof-faq-group summary::-webkit-details-marker{display:none}.roof-faq-group summary:after{content:'+';position:absolute;right:2px;top:20px;color:var(--sun2);font-size:1.5rem;font-weight:400}.roof-faq-group details[open] summary:after{content:'−'}.roof-faq-group details[open] summary{color:var(--sun2)}.roof-faq-group details p{color:var(--roof-text);margin:0;padding:0 0 25px;font-size:1rem;line-height:1.7}.roof-resource-note{margin:34px 0 0;padding-top:25px;color:#abb5b3;font-size:.875rem;border-top:1px solid var(--roof-border)}.roof-resource-note a{color:#bfd4a8;text-underline-offset:3px}.roof-estimate-band{background:linear-gradient(110deg,#172218,#111917);border-block:1px solid #35462c;scroll-margin-top:20px}.roof-estimate-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:75px;align-items:start}.roof-estimate-grid>div>p:not(.roof-kicker){color:var(--roof-text);max-width:620px}.roof-email-note{font-size:.875rem;margin-top:22px}.roof-email-note a{color:var(--sun2);overflow-wrap:anywhere}.roof-contact-card{padding:32px;border:1px solid #435039;background:#0d130e}.roof-contact-card h3{font-size:1.2rem;margin:0 0 20px}.roof-contact-card ul{padding-left:20px;color:var(--roof-text);margin:0 0 28px}.roof-contact-card li{margin:9px 0}.roof-regional{border-top:1px solid #394532;padding-top:20px;display:grid;gap:16px}.roof-regional p{margin:0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.roof-regional span{font-size:.875rem;color:#c4cfbd}.roof-regional a{color:var(--sun2);font-weight:700;font-size:1rem;text-decoration:none}.roofing-page footer{gap:28px;flex-wrap:wrap;font-size:.875rem}.roofing-page footer .brand{flex-shrink:0}.roofing-page footer p{margin:0}
@media(min-width:1441px){.roof-hero-copy{padding-left:70px}}@media(max-width:1380px){.roofing-page .nav{height:72px;padding-inline:16px;gap:12px}.roofing-page .nav .brand{width:174px}.roofing-page .menu{display:block;margin-left:auto}.roofing-page .nav-links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;background:#080b0c;padding:22px 28px;border-bottom:1px solid var(--sun);max-height:calc(100dvh - 72px);overflow-y:auto}.roofing-page .nav-links.open{display:flex}.roofing-page .call{display:none}.roofing-page .nav-menu{width:100%}.roofing-page .nav-menu summary{padding:8px 0;font-size:1rem}.roofing-page .nav-links a{font-size:1rem;padding-block:8px}.roofing-page .nav-submenu{position:static;transform:none;min-width:0;margin-top:12px;grid-template-columns:1fr 1fr;gap:1px;padding:1px;background:#2d3531;border-top:2px solid var(--sun);box-shadow:none}.roofing-page .nav-submenu a{background:#101512;border:0;padding:11px 12px}}
@media(max-width:1000px){.roof-hero{grid-template-columns:1fr 1fr;min-height:650px}.roof-hero-copy{padding:28px 28px 45px}.roof-hero-visual{margin:20px 20px 20px 0;min-height:580px}.roof-hero h1{font-size:clamp(2.8rem,5vw,3.6rem)}.roof-promise>div{padding:22px;gap:12px}.roof-section-heading{gap:35px}.roof-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-materials{gap:36px;padding:30px}.roof-solar-section,.roof-assurance-grid,.roof-estimate-grid{gap:38px}.roof-steps li>div{gap:35px}.roof-faq-columns{grid-template-columns:1fr 1fr}.roof-faq-group:last-child{grid-column:1/-1}}
@media(max-width:740px){.roof-hero{grid-template-columns:1fr;min-height:0}.roof-hero-copy{padding:25px 22px 36px}.roof-breadcrumb{margin-bottom:30px}.roof-hero h1{font-size:clamp(2.8rem,9vw,4.6rem);max-width:590px}.roof-hero-lead{font-size:1.125rem}.roof-hero-text{max-width:590px}.roof-hero-visual{height:340px;min-height:0;margin:0 22px 22px}.roof-hero-visual img{object-position:center 57%}.roof-hero-visual figcaption{left:24px;bottom:26px;right:24px}.roof-promise{grid-template-columns:1fr;margin:0 22px}.roof-promise>div{padding:17px 20px;border-right:0;border-bottom:1px solid #688f34}.roof-promise strong{font-size:.9375rem}.roof-jump{padding:18px 22px;gap:8px 24px}.roof-section{padding:64px 22px}.roof-section-heading,.roof-materials,.roof-solar-section,.roof-assurance-grid,.roof-estimate-grid{grid-template-columns:1fr;gap:26px}.roof-section-heading{margin-bottom:28px}.roofing-page h2{font-size:clamp(2rem,6.9vw,3rem)}.roof-service-grid{margin-top:30px}.roof-service-grid article{padding:25px}.roof-service-grid h3{font-size:1.3rem}.roof-index{margin-bottom:20px}.roof-materials{padding:28px}.roof-steps{margin-top:35px}.roof-steps li{grid-template-columns:42px 1fr;gap:14px;padding:24px 0}.roof-steps li>span{font-size:1.5rem}.roof-steps li>div{grid-template-columns:1fr;gap:12px}.roof-detail-strip{padding:24px}.roof-solar-section>div:last-child{padding-top:12px}.roof-assurance-card{padding:28px;margin-right:8px}.roof-faq-columns{grid-template-columns:1fr;gap:28px}.roof-faq-group:last-child{grid-column:auto}.roof-contact-card{padding:26px}.roofing-page footer{padding:30px 22px;gap:22px}.roofing-page footer .brand{width:180px}.roof-kicker{margin-bottom:18px;letter-spacing:.08em}}
@media(max-width:480px){.roof-service-grid{grid-template-columns:1fr}.roof-hero-visual{height:290px}.roof-hero h1{letter-spacing:-.05em}.roof-actions{align-items:stretch;flex-direction:column;gap:10px}.roof-call{width:fit-content}.roof-jump{gap:4px 20px}.roofing-page .nav-submenu{grid-template-columns:1fr}.roof-hero-visual figcaption span{font-size:.8125rem}.roof-hero-visual figcaption strong{font-size:1.4rem}.roof-regional p{display:grid;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
