:root{--navy:#071a31;--navy2:#0b2542;--steel:#5f89b2;--steel2:#79a8d4;--white:#fff;--ink:#102036;--muted:#657384;--line:#dde4eb;--pale:#f5f7f9;--shadow:0 18px 50px rgba(7,25,44,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Montserrat',sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.topbar{height:34px;background:#06172a;color:#d8e5f1;font-size:11px}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;gap:24px;align-items:center}.topbar-actions a{font-weight:700;color:#fff}.topbar-quote{color:#8fc2f1!important}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,29,52,.97);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.06)}.nav-wrap{height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;width:275px;height:86px;overflow:visible}.brand img{width:270px;height:auto;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,.18))}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:14px;color:#eef5fb;letter-spacing:.25px;position:relative;padding:36px 0 33px}.nav-links a:not(.nav-quote)::after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:2px;background:var(--steel2);transition:.2s}.nav-links a:hover::after,.nav-links a.active::after{right:0}.nav-quote{padding:12px 16px!important;background:var(--steel);border:1px solid #84acd1;color:#fff!important}.menu-toggle{display:none;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:9px 13px;font:700 14px 'Barlow Condensed';text-transform:uppercase}.hero{position:relative;min-height:630px;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/hero-house.png') center right/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,45,.99) 0%,rgba(6,24,45,.93) 38%,rgba(6,24,45,.55) 66%,rgba(6,24,45,.18) 100%)}.hero-inner{position:relative;z-index:2;min-height:630px;display:flex;align-items:center}.hero-copy{max-width:650px;padding:60px 0}.eyebrow,.section-kicker{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1.7px;color:#78a9d8}.hero h1,.section h2,.storm-copy h2,.confidence h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:.94;margin:16px 0 22px}.hero h1{font-size:clamp(66px,7.2vw,102px);color:#fff;letter-spacing:.4px}.hero p{max-width:600px;color:#d9e3ec;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.5px;border:1px solid transparent;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#6e9fcd,#4d7eac);color:#fff;box-shadow:0 10px 28px rgba(55,100,146,.28)}.btn-quote{min-width:218px;font-size:18px}.btn-ghost{border-color:#9fb4c7;color:#fff;background:rgba(7,26,49,.45)}.hero-mini-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px;color:#9eb9d1;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}.hero-mini-proof span:before{content:"✓";color:#83b5e3;margin-right:7px}.trust-band{background:#0a223d;color:#fff;border-top:1px solid rgba(125,169,211,.26);border-bottom:1px solid rgba(125,169,211,.22)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:24px 20px;border-right:1px solid rgba(125,169,211,.24);align-items:start}.trust-item:last-child{border-right:0}.trust-icon{width:39px;height:39px;border:1px solid #b8ccdd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.trust-item strong{display:block;color:#82b1dd;text-transform:uppercase;font:700 18px/1.1 'Barlow Condensed'}.trust-item span{display:block;color:#d5e0ea;font-size:11px;margin-top:6px;line-height:1.45}.section{padding:82px 0}.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.section h2{font-size:clamp(44px,5vw,64px);margin:6px 0;color:#102036}.section-title-row p{margin:0;color:var(--muted)}.text-link{color:#244e79;font-weight:700;font-size:13px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);box-shadow:0 5px 18px rgba(16,32,54,.06);overflow:hidden;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card>img{width:100%;height:190px;object-fit:cover;display:block}.service-body{position:relative;padding:30px 20px 24px}.service-icon{position:absolute;top:-25px;left:20px;width:50px;height:50px;border-radius:50%;background:#0a2441;color:#fff;border:4px solid #fff;display:flex;align-items:center;justify-content:center;font-size:21px}.service-body h3{font-family:'Barlow Condensed';text-transform:uppercase;font-size:28px;margin:4px 0 8px}.service-body p{color:#596574;font-size:13px;min-height:120px;line-height:1.65}.service-body a{color:#1d4f7e;font-weight:700;font-size:12px}.storm-section{padding:82px 0;background:linear-gradient(115deg,#071a31,#0b2b4b);color:#fff}.storm-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.storm-photo{position:relative}.storm-photo:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(121,168,212,.45)}.storm-photo img{display:block;width:100%;height:475px;object-fit:cover;position:relative;z-index:1}.section-kicker.light{color:#82b2de}.storm-copy h2{font-size:clamp(48px,5.6vw,72px);color:#fff}.storm-copy>p{color:#ccdae6;line-height:1.75}.storm-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.storm-points>div{border-top:1px solid rgba(255,255,255,.2);padding-top:16px}.storm-points span{font:700 28px 'Barlow Condensed';color:#6f9fc9}.storm-points strong{display:block;text-transform:uppercase;font:700 18px 'Barlow Condensed';margin:4px 0 6px}.storm-points p{font-size:11px;color:#c8d5e0;line-height:1.55}.storm-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.inline-phone{color:#b9d2e9;font-weight:700;font-size:13px}.confidence{background:#f7f9fb;padding:65px 0;border-bottom:1px solid #e3e8ed}.confidence-grid{display:grid;grid-template-columns:.85fr 2.15fr;gap:58px;align-items:center}.confidence h2{font-size:52px;color:#102036;margin:8px 0 0}.confidence-points{display:grid;grid-template-columns:repeat(4,1fr)}.confidence-points>div{padding:7px 22px;border-left:1px solid #d7e0e8}.confidence-points>div:first-child{border-left:0}.confidence-points span{font-size:28px;color:#5f8bb4}.confidence-points strong{display:block;color:#315f88;text-transform:uppercase;font-family:'Barlow Condensed';font-size:19px}.confidence-points p{font-size:11px;color:#667687;margin-bottom:0;line-height:1.55}.projects{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project{margin:0;background:#fff;box-shadow:0 5px 18px rgba(16,32,54,.08);overflow:hidden}.project img{display:block;width:100%;height:220px;object-fit:cover;transition:.35s}.project:hover img{transform:scale(1.03)}.project figcaption{padding:14px 16px;display:flex;justify-content:space-between;gap:10px}.project figcaption strong{font-size:13px}.project figcaption span{font-size:11px;color:#7b8693}.territory{background:#f4f6f8;border-top:1px solid rgba(9,27,47,.08);border-bottom:1px solid rgba(9,27,47,.08)}.territory-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.territory h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,5.4vw,70px);line-height:.96;margin:14px 0 20px;color:#0b1d33}.territory-copy p{line-height:1.75;color:#536172;margin-bottom:26px}.territory-cities{display:grid;grid-template-columns:1fr 1fr;background:#fff;padding:30px;box-shadow:0 18px 50px rgba(7,25,44,.08);border-top:4px solid #567b9a;gap:2px}.territory-cities>div{padding:18px;border:1px solid #edf0f3}.territory-cities strong{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:#0b1d33}.territory-cities p{margin:7px 0 0;font-size:12px;line-height:1.7;color:#647181}.process{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe5eb}.steps>div{background:#f8fafc;padding:30px}.steps span{font-family:'Barlow Condensed';font-size:44px;color:#98a7b7}.steps h3{font-family:'Barlow Condensed';font-size:23px;text-transform:uppercase;margin:5px 0}.steps p{color:#677382;font-size:13px;margin-bottom:0;line-height:1.55}.cta-band{background:linear-gradient(90deg,#0a2541,#0c3357);color:#fff}.cta-band-inner{min-height:102px;display:flex;align-items:center;gap:18px}.phone-bubble{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4d85b9;font-size:20px}.cta-band strong{display:block;text-transform:uppercase;font-family:'Barlow Condensed';font-size:24px}.cta-band span{display:block;color:#d4dfe9;font-size:12px}.cta-band .btn{margin-left:auto}.estimate{background:#071a31;color:#fff}.estimate-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:68px;align-items:start}.estimate h2{font-size:66px;color:#fff}.estimate-copy>p{color:#c9d5e1;line-height:1.75}.big-phone{font-family:'Barlow Condensed';font-size:46px;font-weight:700;color:#fff;display:block;margin:24px 0 18px}.areas{font-size:12px;color:#9fb0c2;line-height:1.8}.estimate-form{background:#fff;color:#12233a;padding:32px;box-shadow:0 20px 48px rgba(0,0,0,.22);border-top:5px solid #6493bf}.form-heading{margin-bottom:22px}.form-heading span{display:block;color:#5e82a5;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.form-heading strong{display:block;font-family:'Barlow Condensed';text-transform:uppercase;font-size:27px;margin-top:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.estimate-form label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:13px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;display:block;margin-top:7px;padding:13px;border:1px solid #d7dee6;background:#f8fafb;font:inherit;font-size:13px;outline:none}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:#6191bf;box-shadow:0 0 0 3px rgba(97,145,191,.12)}.full{width:100%}.form-note,.form-status{font-size:10px;color:#738191;margin:9px 0 0;line-height:1.5}.site-footer{background:#f7f8fa;color:#2b3a4d;padding:46px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:42px}.footer-brand img{width:245px;height:auto;display:block;margin-bottom:10px}.footer-brand p{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3c4e61}.footer-brand p span{color:#6a7b8c}.footer-grid h4{font-family:'Barlow Condensed';text-transform:uppercase;font-size:18px;margin:6px 0 12px}.footer-grid a,.footer-grid span{display:block;font-size:11px;margin:6px 0;color:#4c5c6d}.footer-bottom{border-top:1px solid #dfe4e9;margin-top:32px;padding-top:16px;display:flex;justify-content:space-between;color:#7c8794;font-size:10px}.mobile-action-bar{display:none}.reveal{opacity:0;transform:translateY(18px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.15s}.delay-3{transition-delay:.22s}
@media(max-width:1080px){.nav-links{gap:16px}.nav-links a{font-size:12px}.brand{width:235px}.brand img{width:230px}.service-cards,.project-grid{grid-template-columns:repeat(2,1fr)}.confidence-grid{grid-template-columns:1fr}.confidence-points{margin-top:10px}.storm-grid{grid-template-columns:1fr 1fr}.territory-grid{grid-template-columns:1fr}.territory-cities{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar-inner>span{display:none}.topbar-inner{justify-content:flex-end}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:20px;right:20px;top:85px;background:#081a31;padding:18px;flex-direction:column;align-items:stretch;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px rgba(0,0,0,.25)}.nav-links.open{display:flex}.nav-links a{padding:10px 0;font-size:15px}.nav-links a::after{display:none}.nav-quote{text-align:center}.brand{width:215px}.brand img{width:210px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(8,26,49,.98),rgba(8,26,49,.76))}.hero-copy{max-width:620px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(125,169,211,.24)}.storm-grid{grid-template-columns:1fr;gap:38px}.storm-photo img{height:390px}.confidence-points{grid-template-columns:repeat(2,1fr);gap:20px}.confidence-points>div:nth-child(3){border-left:0}.estimate-grid{grid-template-columns:1fr;gap:36px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.topbar{display:none}.site-header{top:0}.nav-wrap{height:78px}.brand{width:185px;height:72px}.brand img{width:182px}.hero{min-height:600px}.hero-inner{min-height:600px}.hero-copy{padding:50px 0}.hero h1{font-size:62px}.hero p{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.hero-mini-proof{gap:10px;flex-direction:column}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(125,169,211,.24)}.trust-item:last-child{border-bottom:0}.section{padding:60px 0}.section-title-row{align-items:flex-start;flex-direction:column}.service-cards,.project-grid,.confidence-points,.steps,.footer-grid,.field-row,.territory-cities{grid-template-columns:1fr}.service-card>img{height:210px}.service-body p{min-height:auto}.storm-section{padding:62px 0}.storm-photo:before{display:none}.storm-photo img{height:260px}.storm-points{grid-template-columns:1fr}.storm-actions{align-items:stretch}.inline-phone{text-align:center;padding:12px}.confidence-points>div{border-left:0;border-top:1px solid #d8e1e9;padding:18px 0}.confidence-points>div:first-child{border-top:0}.project img{height:230px}.territory-cities{padding:18px}.territory-cities>div{padding:14px}.cta-band-inner{padding:24px 0;align-items:flex-start;flex-wrap:wrap}.cta-band .btn{margin-left:0}.estimate h2{font-size:52px}.estimate-form{padding:24px 18px}.footer-bottom{flex-direction:column;gap:6px}.mobile-action-bar{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -5px 20px rgba(0,0,0,.2)}.mobile-action-bar a{padding:14px 10px;text-align:center;text-transform:uppercase;font:700 17px 'Barlow Condensed';background:#0a2441;color:#fff}.mobile-action-bar a:last-child{background:#5f8fbc}.site-footer{padding-bottom:70px}}


/* Commercial roofing expansion */
.service-cards-five{grid-template-columns:repeat(5,1fr);gap:14px}
.service-cards-five .service-card>img{height:165px}
.service-cards-five .service-body{padding:28px 16px 22px}
.service-cards-five .service-body h3{font-size:24px}
.service-cards-five .service-body p{font-size:12px;min-height:135px}
.commercial-section{padding:78px 0;background:linear-gradient(115deg,#06172b,#0b2d4f);color:#fff;overflow:hidden}
.commercial-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.commercial-copy h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,5.2vw,68px);line-height:.96;margin:12px 0 20px;color:#fff}
.commercial-copy>p{color:#cdd9e4;line-height:1.75;margin:0 0 24px}
.commercial-lists{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:20px 0 30px}
.commercial-lists ul{list-style:none;padding:0;margin:0}
.commercial-lists li{position:relative;padding:8px 0 8px 22px;color:#e2eaf1;font-size:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.commercial-lists li:before{content:'✓';position:absolute;left:0;color:#83b5e3;font-weight:700}
.commercial-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.commercial-visual{position:relative;min-height:390px}
.commercial-visual>img{width:100%;height:390px;object-fit:cover;display:block;box-shadow:0 22px 50px rgba(0,0,0,.25)}
.commercial-types{position:absolute;right:-16px;bottom:-22px;width:min(300px,82%);background:#0a223d;border:1px solid rgba(121,168,212,.35);padding:20px 22px;box-shadow:0 18px 40px rgba(0,0,0,.3);display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.commercial-types strong{grid-column:1/-1;text-transform:uppercase;font:700 18px 'Barlow Condensed';color:#fff;margin-bottom:4px}
.commercial-types span{font-size:11px;color:#cdd9e4}
@media(max-width:1180px){.service-cards-five{grid-template-columns:repeat(3,1fr)}.service-cards-five .service-card>img{height:185px}.service-cards-five .service-body p{min-height:115px}}
@media(max-width:850px){.service-cards-five{grid-template-columns:repeat(2,1fr)}.commercial-grid{grid-template-columns:1fr}.commercial-visual{margin-top:8px}.commercial-types{right:12px}.commercial-section{padding:64px 0}}
@media(max-width:600px){.service-cards-five{grid-template-columns:1fr}.service-cards-five .service-card>img{height:210px}.service-cards-five .service-body p{min-height:auto}.commercial-lists{grid-template-columns:1fr;gap:0}.commercial-actions{align-items:stretch}.commercial-visual{min-height:auto}.commercial-visual>img{height:260px}.commercial-types{position:static;width:100%;grid-template-columns:1fr 1fr;margin-top:0;box-shadow:none}.commercial-copy h2{font-size:48px}}





/* v5 smooth sticky header: one logo only, always contained */
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(9,29,52,.985);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.site-header .nav-wrap{
  height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  transition:height .28s cubic-bezier(.2,.7,.2,1);
}
.site-header .brand{
  width:192px;
  height:102px;
  flex:0 0 192px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:relative;
  transition:width .28s cubic-bezier(.2,.7,.2,1), flex-basis .28s cubic-bezier(.2,.7,.2,1), height .28s cubic-bezier(.2,.7,.2,1);
}
.site-header .brand-logo{
  display:block;
  width:188px!important;
  height:auto!important;
  max-width:none!important;
  transform-origin:left center;
  transform:scale(1);
  filter:drop-shadow(0 5px 13px rgba(0,0,0,.20));
  transition:transform .28s cubic-bezier(.2,.7,.2,1);
}
.site-header.scrolled .nav-wrap{height:74px}
.site-header.scrolled .brand{width:132px;height:68px;flex-basis:132px}
.site-header.scrolled .brand-logo{transform:scale(.69)}
.site-header .nav-links a{transition:padding .28s cubic-bezier(.2,.7,.2,1)}
.site-header.scrolled .nav-links a{padding:26px 0 23px}
.site-header.scrolled .nav-links a:not(.nav-quote)::after{bottom:16px}

@media(max-width:1080px){
  .site-header .nav-wrap{height:98px;gap:18px}
  .site-header .brand{width:166px;height:92px;flex-basis:166px}
  .site-header .brand-logo{width:162px!important}
  .site-header.scrolled .nav-wrap{height:72px}
  .site-header.scrolled .brand{width:118px;height:64px;flex-basis:118px}
  .site-header.scrolled .brand-logo{transform:scale(.72)}
}
@media(max-width:850px){
  .site-header .nav-wrap{height:82px}
  .site-header .brand{width:145px;height:76px;flex-basis:145px}
  .site-header .brand-logo{width:142px!important}
  .site-header.scrolled .nav-wrap{height:66px}
  .site-header.scrolled .brand{width:112px;height:58px;flex-basis:112px}
  .site-header.scrolled .brand-logo{transform:scale(.78)}
  .site-header .nav-links{top:80px}
  .site-header.scrolled .nav-links{top:64px}
}
@media(max-width:600px){
  .site-header .nav-wrap{height:76px}
  .site-header .brand{width:132px;height:70px;flex-basis:132px}
  .site-header .brand-logo{width:130px!important}
  .site-header.scrolled .nav-wrap{height:62px}
  .site-header.scrolled .brand{width:104px;height:54px;flex-basis:104px}
  .site-header.scrolled .brand-logo{transform:scale(.79)}
  .site-header .nav-links{top:74px}
  .site-header.scrolled .nav-links{top:60px}
}


/* v7 image, footer, and accessibility improvements */
html:focus-within{scroll-behavior:smooth}
body{line-height:1.5}
.skip-link{position:absolute;left:16px;top:-48px;z-index:1000;background:#ffffff;color:#071a31;padding:12px 16px;border-radius:10px;font-weight:700;box-shadow:0 10px 26px rgba(0,0,0,.18);transition:top .2s ease}
.skip-link:focus{top:16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9cc9ff;outline-offset:3px;border-radius:4px}
.text-link:focus-visible,.nav-links a:focus-visible,.footer-grid a:focus-visible{outline-offset:4px}
.btn-primary{background:linear-gradient(135deg,#5e91c3,#436f99)}
.topbar{font-size:12px}
.hero-photo{background-position:center center}
.service-card>img,.project img,.commercial-visual>img,.storm-photo img{image-rendering:auto}
.site-footer{background:linear-gradient(180deg,#0a223d 0%,#08192f 100%);color:#e6eef7;padding:56px 0 20px}
.footer-grid{align-items:start;grid-template-columns:1.3fr 1fr 1fr 1.05fr;gap:44px}
.footer-brand img{width:220px;max-width:100%;margin-bottom:14px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.24))}
.footer-brand p{font-size:14px;line-height:1.8;color:#d6e3ef;letter-spacing:.08em}
.footer-brand p span{color:#91b1cf}
.footer-grid h4{color:#ffffff;font-size:26px;letter-spacing:.03em;margin-bottom:14px}
.footer-grid a,.footer-grid span{font-size:15px;line-height:1.8;color:#dbe5ee;margin:2px 0}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);color:#b8c6d4;font-size:13px;margin-top:36px;padding-top:18px}
.field-group{display:flex;flex-direction:column}
.estimate-form label{display:block;font-size:13px;font-weight:700;color:#153150;margin:0 0 8px}
.estimate-form input,.estimate-form select,.estimate-form textarea{min-height:50px;font-size:14px}
.estimate-form textarea{min-height:130px}
.estimate-form .field-row{align-items:start}
.estimate-form .field-row .field-group{width:100%}
.estimate-form .form-note,.estimate-form .form-status{font-size:12px;line-height:1.6}
@media(max-width:850px){
  .site-footer{padding:48px 0 18px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:600px){
  .skip-link{left:10px}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid h4{font-size:24px}
  .footer-grid a,.footer-grid span,.footer-brand p{font-size:14px}
  .footer-brand img{width:190px}
  .footer-bottom{font-size:12px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* v8 footer logo refinement */
.footer-brand img{width:250px;max-width:100%;height:auto;object-fit:contain;display:block;margin:0 0 14px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.20))}
@media(max-width:600px){.footer-brand img{width:220px}}


/* v9 contact details and locked-logo refinements */
.estimate-email{display:inline-block;margin:-6px 0 22px;color:#9fc6ea;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.estimate-form .form-note a{color:#315f88;text-decoration:underline;text-underline-offset:2px}
.footer-brand img{width:220px;max-width:100%;height:auto;object-fit:contain;display:block}
@media(max-width:600px){.estimate-email{font-size:13px}.footer-brand img{width:190px}}


/* v10 WCAG 2.2 AA accessibility audit fixes */
html{scroll-padding-top:122px}
#main-content:focus{outline:none}
section[id],article[id]{scroll-margin-top:122px}

/* Contrast: normal-size text is at least 4.5:1 against its intended background. */
.section-kicker{color:#315f88}
.storm-section .section-kicker.light,.commercial-section .section-kicker.light,.estimate .section-kicker.light{color:#82b2de}
.confidence .section-kicker.light{color:#315f88}
.confidence-points p{color:#536172}
.project figcaption span{color:#596574}
.steps span{color:#657384}
.form-heading span{color:#315f88}
.form-note,.form-status{color:#596574}

/* White button text maintains AA contrast across the full gradient. */
.btn-primary{background:linear-gradient(135deg,#3b74a6,#315f88)}
@media(max-width:600px){.mobile-action-bar a:last-child{background:#315f88}}

/* Strong focus indicator that remains visible on light and dark surfaces. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #ffffff;
  outline-offset:2px;
  box-shadow:0 0 0 6px #0b5d96;
}
.skip-link:focus-visible{outline:3px solid #071a31;box-shadow:0 0 0 6px #ffffff,0 0 0 9px #0b5d96}

/* WCAG 2.2 target-size support for standalone text controls. */
.topbar-actions a,.text-link,.service-body a,.inline-phone,.estimate-email{min-height:28px;min-width:24px;display:inline-flex;align-items:center}
.footer-grid a{min-height:28px;min-width:24px;display:flex;align-items:center;width:fit-content}

/* Form clarity and readable supporting text. */
.form-required{margin:-10px 0 16px;color:#536172;font-size:12px;line-height:1.5}
.required-mark{color:#9b1c31;font-weight:800}
.estimate-form label{font-size:13px}
.estimate-form input,.estimate-form select,.estimate-form textarea{font-size:16px}
.estimate-form .form-note,.estimate-form .form-status{font-size:13px}

/* Small supporting copy remains readable without changing the visual hierarchy. */
.trust-item span,.storm-points p,.confidence-points p,.commercial-types span{font-size:12px}
.service-cards-five .service-body p{font-size:13px}

/* Semantic footer headings use h2 without changing appearance. */
.footer-heading{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:26px;line-height:1.1;color:#fff;margin:6px 0 12px}
.footer-accessibility-link{color:#dbe5ee;text-decoration:underline;text-underline-offset:3px}

@media(max-width:850px){html{scroll-padding-top:92px}section[id],article[id]{scroll-margin-top:92px}}
@media(max-width:600px){html{scroll-padding-top:74px}section[id],article[id]{scroll-margin-top:74px}.footer-heading{font-size:24px}}

/* Windows forced-colors / high-contrast support. */
@media(forced-colors:active){
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid Highlight;box-shadow:none}
  .btn,.nav-quote,.service-icon,.trust-icon,.phone-bubble{forced-color-adjust:auto;border:1px solid ButtonText}
}


/* Accessibility statement page */
.legal-page{background:#f7f9fb;color:#102036}
.legal-header{background:#0a223d;border-bottom:1px solid rgba(255,255,255,.12)}
.legal-header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-header img{display:block;width:190px;height:auto}
.legal-main{min-height:65vh}
.legal-content{max-width:820px;padding-top:72px;padding-bottom:72px}
.legal-content h1,.legal-content h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;color:#102036}
.legal-content h1{font-size:clamp(48px,6vw,72px);line-height:1;margin:10px 0 24px}
.legal-content h2{font-size:32px;margin:36px 0 10px}
.legal-content p{font-size:17px;line-height:1.75;color:#455568}
.legal-content a{color:#244e79;text-decoration:underline;text-underline-offset:3px}
.legal-reviewed{font-size:14px!important;color:#596574!important}
.legal-footer{padding-top:18px}
@media(max-width:600px){.legal-header-inner{min-height:82px}.legal-header img{width:140px}.legal-header .btn{width:auto;padding:0 14px;font-size:15px}.legal-content{padding-top:50px;padding-bottom:50px}}


/* v11 stable sticky header — transform-only logo shrink to prevent scroll threshold oscillation */
.site-header .nav-wrap{
  height:108px !important;
  transition:none !important;
}
.site-header .brand{
  width:192px !important;
  height:102px !important;
  flex:0 0 192px !important;
  overflow:hidden !important;
  transition:none !important;
}
.site-header .brand-logo{
  width:188px !important;
  height:auto !important;
  transform:scale(1);
  transform-origin:left center;
  will-change:transform;
  transition:transform .32s cubic-bezier(.2,.7,.2,1) !important;
}
.site-header.scrolled .brand-logo{
  transform:scale(.78) !important;
}
.site-header.scrolled .nav-links a,
.site-header .nav-links a{
  padding:36px 0 33px !important;
  transition:none !important;
}
.site-header.scrolled .nav-links a:not(.nav-quote)::after,
.site-header .nav-links a:not(.nav-quote)::after{
  bottom:25px !important;
}
@media(max-width:1080px){
  .site-header .nav-wrap{height:98px !important;gap:18px}
  .site-header .brand{width:166px !important;height:92px !important;flex-basis:166px !important}
  .site-header .brand-logo{width:162px !important}
  .site-header.scrolled .brand-logo{transform:scale(.82) !important}
}
@media(max-width:850px){
  .site-header .nav-wrap{height:82px !important}
  .site-header .brand{width:145px !important;height:76px !important;flex-basis:145px !important}
  .site-header .brand-logo{width:142px !important}
  .site-header.scrolled .brand-logo{transform:scale(.86) !important}
  .site-header .nav-links,.site-header.scrolled .nav-links{top:80px !important}
}
@media(max-width:600px){
  .site-header .nav-wrap{height:76px !important}
  .site-header .brand{width:132px !important;height:70px !important;flex-basis:132px !important}
  .site-header .brand-logo{width:130px !important}
  .site-header.scrolled .brand-logo{transform:scale(.88) !important}
  .site-header .nav-links,.site-header.scrolled .nav-links{top:74px !important}
}
@media (prefers-reduced-motion: reduce){
  .site-header .brand-logo{transition:none !important}
}

/* v12 live estimate form */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.estimate-form button[disabled]{cursor:wait;opacity:.72;transform:none}
.form-status.form-success{color:#1f6b3a;font-weight:700}
.form-status.form-error{color:#9b2c2c;font-weight:700}
