/* Scoped roofing refresh. Shared site styles and tracking stay unchanged. */
body.roofing-page{
  --roof-ink:#23352e;--roof-muted:#526158;--roof-bg:#f8f7f3;--roof-surface:#fff;
  --roof-soft:#edece5;--roof-accent:#f18b3e;--roof-accent-hover:#e77b29;--roof-line:rgba(35,53,46,.18);
  --roof-xs:.8rem;--roof-sm:.9rem;--roof-base:1rem;--roof-lg:clamp(1.125rem,1rem + .3vw,1.3rem);
  --roof-title:clamp(1.65rem,1.2rem + 1.6vw,2.4rem);--roof-hero:clamp(2.4rem,1.8rem + 2.4vw,3.5rem);
  --r1:.25rem;--r2:.5rem;--r3:.75rem;--r4:1rem;--r6:1.5rem;--r8:2rem;--r12:3rem;--r16:4rem;
  background:var(--roof-bg);color:var(--roof-ink);
}
.roofing-page .announce-strip,.roofing-page .utility-bar{display:none}
.roofing-page .site-header{position:sticky;top:0;background:var(--roof-bg);z-index:100;border-bottom:1px solid var(--roof-line)}
.roofing-page .site-header .wrap{min-height:88px}
.roofing-page .header-cta .btn-primary{background:transparent;color:var(--roof-ink);border-color:var(--roof-ink);border-radius:6px}
.roofing-page .header-cta .btn-quote{background:var(--roof-accent);color:#202c25;border-color:var(--roof-accent);border-radius:6px}
.roofing-page h1,.roofing-page h2,.roofing-page h3{color:var(--roof-ink);font-family:'Open Sans',sans-serif;letter-spacing:-.04em;line-height:1.12}
.roofing-page main h2{font-size:var(--roof-title);margin:0 0 var(--r6)}
.roofing-page main h3{font-size:var(--roof-lg);letter-spacing:-.02em;margin:0 0 var(--r3)}
.roofing-page main p{font-size:var(--roof-base);line-height:1.7;color:var(--roof-muted)}
.roofing-page main .roof-kicker{font-size:var(--roof-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 var(--r4);color:var(--roof-muted)}
.roofing-page .roof-primary{background:var(--roof-accent);border:1px solid var(--roof-accent);color:#202c25;border-radius:6px;font-size:var(--roof-sm);min-height:52px;gap:var(--r6);padding:var(--r4) var(--r6);font-weight:800;box-shadow:none}
.roofing-page .roof-primary:hover{background:var(--roof-accent-hover);border-color:var(--roof-accent-hover);transform:none}
.roofing-page a:focus-visible,.roofing-page button:focus-visible,.roofing-page summary:focus-visible{outline:3px solid #a44d16;outline-offset:4px}
.roofing-page main .roof-small{font-size:var(--roof-xs);margin:var(--r3) 0 0}
.roof-hero{padding-top:clamp(var(--r8),4vw,var(--r16))}
.roof-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(var(--r8),5vw,5rem);align-items:center}
.roof-intro h1{font-size:var(--roof-hero);font-weight:800;margin:0 0 var(--r6);max-width:12ch}
.roof-intro .roof-lead{max-width:48ch;margin:0 0 var(--r6)}
.roof-video{min-width:0;background:var(--roof-soft);padding:var(--r4);border-radius:8px}
.roof-video[id]{scroll-margin-top:150px}
.roof-video-label,.roof-video-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--r3);font-size:var(--roof-xs)}
.roof-video-label{padding:var(--r2) var(--r1) var(--r4)}
.roof-video-label strong{font-size:var(--roof-base)}
.roof-video-frame{aspect-ratio:16/9;background:#24372d}
.roof-video-frame iframe{border:0;width:100%;height:100%;display:block}
.roof-video-footer{padding-top:var(--r3);flex-wrap:wrap}
.roof-video-footer a{font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}
.roof-proof{display:flex;justify-content:space-between;gap:var(--r4);border-top:1px solid var(--roof-line);border-bottom:1px solid var(--roof-line);padding-top:var(--r6);padding-bottom:var(--r6);margin-top:var(--r12);font-size:var(--roof-sm);font-weight:600}
.roof-proof a{text-decoration:underline;text-underline-offset:4px}
.roof-overview{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(var(--r8),5vw,5rem);align-items:center;padding-top:var(--r16);padding-bottom:var(--r16)}
.roof-photo{margin:0}
.roof-photo img{width:100%;height:400px;object-fit:cover;border-radius:5px}
.roof-checklist{list-style:none;padding:0;margin:var(--r6) 0}
.roof-checklist li{border-top:1px solid var(--roof-line);padding:var(--r3) 0;font-size:var(--roof-sm)}
.roof-checklist li::before{content:"✓";margin-right:var(--r3);font-weight:700}
.roof-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--roof-sm);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.roof-process{background:var(--roof-soft);padding:var(--r12) 0 var(--r16)}
.roof-section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--r8);margin-bottom:var(--r8)}
.roof-section-head h2{margin-bottom:0!important}
.roof-steps{padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--r8);list-style:none}
.roof-steps li{border-top:1px solid var(--roof-line);padding-top:var(--r6)}
.roof-steps li>span{display:block;font-size:var(--roof-sm);margin-bottom:var(--r8);font-variant-numeric:tabular-nums;color:var(--roof-muted)}
.roofing-page .roof-steps p{font-size:var(--roof-sm);margin:0}
.roof-details{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(var(--r8),8vw,7rem);padding-top:var(--r16);padding-bottom:var(--r16)}
.roof-details-intro>p{max-width:39ch}
.roof-detail-list article{padding:var(--r6) 0;border-top:1px solid var(--roof-line)}
.roof-detail-list article:last-child{border-bottom:1px solid var(--roof-line)}
.roof-detail-list p{margin:0}
.roof-solar{display:grid;grid-template-columns:1fr 1fr;gap:var(--r12);padding:var(--r8);align-items:center;background:var(--roof-soft);border-radius:6px}
.roof-solar img{width:100%;height:280px;object-fit:cover;border-radius:4px}
.roof-faq{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--r12);padding-top:var(--r16);padding-bottom:var(--r12)}
.roof-faq-list details{border-top:1px solid var(--roof-line)}
.roof-faq-list details:last-child{border-bottom:1px solid var(--roof-line)}
.roofing-page summary{cursor:pointer;font-size:var(--roof-base);font-weight:700;padding:var(--r6) var(--r6) var(--r6) 0;line-height:1.5}
.roof-faq-list p{margin:0;padding-bottom:var(--r6)}
.roof-areas{padding-bottom:var(--r12)}
.roof-areas details{border-top:1px solid var(--roof-line);border-bottom:1px solid var(--roof-line)}
.roof-areas .link-cloud{padding-bottom:var(--r6)}
.roof-areas .link-cloud a{min-height:44px;display:inline-flex;align-items:center}
.roof-final{background:var(--roof-ink);padding:var(--r12) 0 var(--r16)}
.roofing-page .roof-final h2{color:#fff;font-size:var(--roof-hero);margin-bottom:var(--r4)}
.roofing-page .roof-final p,.roofing-page .roof-final .roof-kicker{color:#dce5dc}
.roof-final-actions{display:flex;align-items:center;gap:var(--r8);margin-top:var(--r6)}
.roof-final-actions>a:not(.btn){color:#fff;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.roofing-page .footer-social a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1000px){.roof-section-head{align-items:flex-start;flex-direction:column}.roof-steps{gap:var(--r6)}.roof-video-footer{font-size:.75rem}}
@media(max-width:760px){
  .roof-hero-grid,.roof-overview,.roof-details,.roof-solar,.roof-faq{grid-template-columns:1fr;gap:var(--r8)}
  .roofing-page .site-header .wrap{min-height:0}.roof-hero{padding-top:var(--r8)}
  .roof-intro h1{max-width:100%;font-size:clamp(2.2rem,8.5vw,3.1rem);line-height:1.06;margin-bottom:var(--r4)}
  .roof-intro h1 br:nth-child(2){display:none}.roof-intro .roof-lead{font-size:.95rem;line-height:1.6;margin-bottom:var(--r4)}
  .roof-video{padding:var(--r3)}.roof-proof{flex-wrap:wrap;justify-content:flex-start;font-size:var(--roof-xs);margin-top:var(--r8);padding-top:var(--r4);padding-bottom:var(--r4)}
  .roof-overview,.roof-details,.roof-faq{padding-top:var(--r12);padding-bottom:var(--r12)}
  .roof-photo img{height:290px}.roof-steps{grid-template-columns:1fr 1fr;gap:var(--r8) var(--r6)}
  .roof-steps li>span{margin-bottom:var(--r4)}.roof-process{padding:var(--r12) 0}
  .roof-solar{width:calc(100% - 40px);padding:var(--r6)}.roof-solar img{height:220px}
  .roof-final-actions{align-items:flex-start;flex-direction:column;gap:var(--r4)}
  .roof-section-head>.btn{display:none}
}
@media(max-width:380px){.roofing-page .header-cta .btn{font-size:.75rem;padding:.55rem}.roof-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.roofing-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
