/*
Theme Name: Coastal Roofing Contractors
Theme URI: https://digitalbusinesssolutions.co.uk/
Author: Digital Business Solutions
Description: Premium responsive roofing contractor theme based on the Coastal Roofing Contractors approved design direction.
Version: 3.6.0
Text Domain: coastal-roofing
*/
:root{--navy:#062c46;--navy2:#031f33;--blue:#08a9e0;--sky:#dff5ff;--orange:#ff7a1a;--text:#102638;--muted:#667785;--white:#fff;--light:#f5f9fc;--radius:18px;--shadow:0 12px 34px rgba(4,40,66,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:var(--navy2);color:#fff;font-size:13px;padding:8px 0}.topbar .wrap,.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.trust{display:flex;gap:25px;flex-wrap:wrap}.trust span:before{content:'✓';color:var(--blue);font-weight:800;margin-right:7px}.header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 2px 14px rgba(0,0,0,.06)}.brand img{width:150px;display:block}.nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:650}.nav a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff!important;padding:14px 22px;border-radius:999px;font-weight:800;box-shadow:0 8px 22px rgba(255,122,26,.22)}.btn.alt{background:transparent;border:1px solid #fff;box-shadow:none}.hero{min-height:590px;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(2,32,52,.94) 0%,rgba(2,32,52,.72) 45%,rgba(2,32,52,.16) 72%),linear-gradient(135deg,#0a4c70 0%,#0b7ea4 45%,#f49a49 100%);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-5%;bottom:-12%;width:62%;height:70%;background:linear-gradient(145deg,transparent 0 37%,#1b2b36 38% 46%,#e9edf0 47% 55%,#25343d 56% 63%,transparent 64%);opacity:.75}.hero .wrap{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;margin:15px 0 20px;max-width:760px}.hero h1 span{color:#18b9ef}.hero p{font-size:18px;max-width:640px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.hero-badges{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px}.hero-badges div{display:flex;align-items:center;gap:10px;font-weight:700}.icon{width:46px;height:46px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:21px}.section{padding:78px 0}.section.light{background:var(--light)}.section.dark{background:var(--navy);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}.section h2{font-size:clamp(34px,4vw,50px);line-height:1.05;margin:8px 0}.section-head p{max-width:520px;color:var(--muted)}.dark .section-head p{color:#c9d8e1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card-art{height:170px;background:linear-gradient(145deg,#bfeaff,#0879a7 55%,#0a2d45);position:relative}.card-art:after{content:'';position:absolute;left:12%;right:12%;bottom:25px;height:55px;background:#e9edf0;clip-path:polygon(0 70%,50% 0,100% 70%,88% 70%,50% 25%,12% 70%)}.card-body{padding:22px}.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-copy{padding:70px max(5vw,30px);background:var(--navy);color:#fff}.split-visual{background:linear-gradient(140deg,#76c8e8,#e7f7ff 42%,#f7a357);position:relative}.split-visual:after{content:'COASTAL';position:absolute;right:7%;bottom:8%;font-size:52px;font-weight:900;color:rgba(255,255,255,.7)}.checks{columns:2;list-style:none;padding:0}.checks li{margin:12px 0}.checks li:before{content:'✓';color:var(--blue);font-weight:900;margin-right:9px}.features{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;text-align:center}.feature .icon{margin:0 auto 12px}.feature h4{margin:6px 0}.feature p{font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery div{aspect-ratio:4/3;border-radius:14px;background:linear-gradient(145deg,#bce6f5,#49798c 50%,#192f3a);position:relative;overflow:hidden}.gallery div:after{content:'';position:absolute;left:8%;right:8%;bottom:15%;height:45%;background:#d9dee1;clip-path:polygon(0 70%,50% 5%,100% 70%,88% 70%,50% 30%,12% 70%)}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review{background:#fff;padding:28px;border-radius:16px;box-shadow:var(--shadow)}.stars{color:#f6a900;font-size:20px}.areas{background:linear-gradient(90deg,rgba(3,31,51,.96),rgba(3,31,51,.72)),linear-gradient(135deg,#0b7aa4,#f0a25a);color:#fff}.areas-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.area-box{background:rgba(0,42,68,.9);padding:30px;border-radius:18px}.area-box ul{columns:2}.cta{background:linear-gradient(90deg,#052f4b,#0b5f82);color:#fff;padding:48px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer{background:#fff;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer img{width:170px}.footer h4{margin-top:0}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0;color:var(--muted)}.copyright{border-top:1px solid #e4edf2;margin-top:35px;padding-top:18px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between}.page-hero{padding:110px 0 75px;background:linear-gradient(120deg,var(--navy),#087da6);color:#fff}.content{padding:70px 0}.content h1,.content h2{color:var(--navy)}.mobile-toggle{display:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:15px;border:1px solid #d7e2e8;border-radius:10px;font:inherit}.contact-form textarea{grid-column:1/-1;min-height:140px}.contact-form button{border:0;cursor:pointer}@media(max-width:900px){.topbar{display:none}.mobile-toggle{display:block;font-size:28px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px;flex-direction:column;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav.open{display:flex}.header .btn{display:none}.brand img{width:125px}.hero{min-height:540px}.hero:after{opacity:.25}.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split-visual{min-height:360px}.features{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:1fr 1fr}.reviews{grid-template-columns:1fr}.areas-grid,.footer-grid{grid-template-columns:1fr}.cta .wrap,.section-head{align-items:flex-start;flex-direction:column}.copyright{flex-direction:column;gap:8px}}@media(max-width:560px){.cards,.features,.contact-form{grid-template-columns:1fr}.hero h1{font-size:45px}.hero-badges{gap:16px}.checks{columns:1}.gallery{grid-template-columns:1fr 1fr}.section{padding:58px 0}.contact-form textarea{grid-column:auto}}

/* v1.1 premium header + hero */
.header{min-height:92px;display:flex;align-items:center}.header-inner{min-height:92px}.brand{display:flex;align-items:center;align-self:stretch}.brand img{width:164px;max-height:82px;object-fit:contain}.header-quote{padding:13px 20px;white-space:nowrap}.top-location{font-weight:600}.nav{gap:22px}.nav li{position:relative}.nav a{padding:34px 0 31px;display:block}.nav .current-menu-item>a,.nav a:hover{color:var(--blue)}.nav .current-menu-item>a:after{content:'';position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--blue);border-radius:2px}
.hero-premium{min-height:650px;background:linear-gradient(90deg,#032942 0%,#06486a 47%,#397b91 68%,#f19a56 100%);isolation:isolate}.hero-premium:after{display:none}.hero-sky{position:absolute;inset:0;background:radial-gradient(circle at 84% 23%,rgba(255,185,92,.96) 0 4%,rgba(255,159,69,.48) 5% 15%,transparent 34%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 55%);z-index:-5}.hero-sea{position:absolute;left:42%;right:0;bottom:0;height:55%;background:linear-gradient(180deg,rgba(33,135,166,.55),rgba(3,62,88,.92)),repeating-linear-gradient(175deg,transparent 0 17px,rgba(255,255,255,.11) 18px 20px);clip-path:polygon(0 34%,100% 8%,100% 100%,0 100%);z-index:-4}.hero-cliffs{position:absolute;right:0;top:30%;width:47%;height:33%;background:linear-gradient(145deg,#263b46,#5c6d70 48%,#1d3541);clip-path:polygon(12% 42%,24% 27%,33% 31%,43% 12%,55% 30%,66% 19%,77% 28%,100% 2%,100% 100%,0 100%);opacity:.72;z-index:-3}.hero-house{position:absolute;right:-3%;bottom:-3px;width:49%;height:58%;background:linear-gradient(145deg,#f7f7f3,#dfe5e7);clip-path:polygon(22% 35%,56% 7%,100% 40%,100% 100%,9% 100%,9% 52%);z-index:-1;filter:drop-shadow(-20px 20px 35px rgba(0,0,0,.28))}.hero-house .roof{position:absolute;background:#172c37;height:22%;transform:rotate(26deg);transform-origin:left center}.hero-house .roof-a{width:74%;left:18%;top:27%}.hero-house .roof-b{width:45%;left:52%;top:24%;transform:rotate(34deg)}.hero-house .chimney{position:absolute;width:7%;height:28%;right:25%;top:8%;background:#e9eceb;border:5px solid #243640;border-bottom:0}.hero-house .window{position:absolute;width:15%;height:23%;right:19%;top:49%;background:#31546a;border:7px solid #dbe3e5;transform:skewY(-5deg);box-shadow:inset 0 0 0 2px #102c3b}.hero-layout{display:grid;grid-template-columns:minmax(0,700px) 1fr;align-items:center;min-height:650px}.hero-content{padding:58px 0 72px}.hero-eyebrow{display:inline-flex;align-items:center;gap:12px}.hero-eyebrow:before{content:'';width:38px;height:2px;background:var(--blue)}.hero h1{font-size:clamp(52px,5.4vw,78px);letter-spacing:-.045em;line-height:.98;margin:18px 0 22px;max-width:760px}.hero h1 span{background:linear-gradient(90deg,#19c5f5,#0aa5e5);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:650px;font-size:18px;line-height:1.62;color:#e9f3f7}.hero-primary{padding:16px 25px}.hero-primary b,.hero-secondary b{font-size:24px;line-height:0}.hero-secondary{padding:15px 24px;border-color:rgba(255,255,255,.72);background:rgba(0,30,48,.2);backdrop-filter:blur(6px)}.hero-secondary:hover{background:#fff;color:var(--navy)!important}.hero-badges{gap:36px;margin-top:42px}.hero-badges>div{min-width:150px}.hero-badges .icon{width:52px;height:52px;background:rgba(2,45,69,.35);border:1.5px solid #18b9ef;flex:0 0 auto}.hero-badges span:last-child{display:flex;flex-direction:column}.hero-badges strong{font-size:14px}.hero-badges small{font-size:13px;color:#d3e3eb;font-weight:500}.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:22px;background:#fff;clip-path:polygon(0 55%,7% 40%,15% 60%,24% 35%,34% 58%,44% 37%,55% 60%,67% 36%,78% 58%,89% 39%,100% 55%,100% 100%,0 100%)}
@media(max-width:1050px){.nav{gap:14px;font-size:13px}.brand img{width:142px}.header-quote{padding:12px 15px}.hero-house{width:54%;opacity:.85}.hero-layout{grid-template-columns:minmax(0,650px) 1fr}}
@media(max-width:900px){.header,.header-inner{min-height:78px}.brand img{width:132px;max-height:70px}.hero-premium,.hero-layout{min-height:610px}.hero-content{padding:65px 0 90px}.hero-house{width:72%;height:47%;opacity:.34}.hero-sea{left:20%}.hero-cliffs{width:70%;opacity:.4}.hero p{max-width:600px}.hero-badges{gap:18px}.nav a{padding:10px 0}.nav .current-menu-item>a:after{display:none}}
@media(max-width:560px){.hero-premium,.hero-layout{min-height:670px}.hero-content{padding:58px 0 80px}.hero h1{font-size:46px}.hero p{font-size:16px}.hero-house{width:95%;height:40%;opacity:.24}.hero-badges{display:grid;grid-template-columns:1fr 1fr}.hero-badges>div{min-width:0}.hero-badges>div:last-child{grid-column:1/-1}.hero-badges .icon{width:44px;height:44px}.actions .btn{width:100%}}

/* v1.2 Roofing Services dropdown */
.nav .menu-item-has-children{position:relative}.nav .menu-arrow{font-size:13px;margin-left:4px;color:var(--blue)}.nav .sub-menu{position:absolute;top:calc(100% - 12px);left:-22px;min-width:275px;margin:0;padding:10px;background:#fff;border-radius:14px;box-shadow:0 18px 45px rgba(3,31,51,.16);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;border:1px solid #e6eef3;z-index:100}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav .sub-menu:before{content:'';position:absolute;top:-7px;left:38px;width:14px;height:14px;background:#fff;border-left:1px solid #e6eef3;border-top:1px solid #e6eef3;transform:rotate(45deg)}.nav .sub-menu li{width:100%}.nav .sub-menu a{padding:10px 13px;display:block;border-radius:8px;color:var(--navy);font-size:13px;line-height:1.25;white-space:nowrap}.nav .sub-menu a:hover{background:#eef9fd;color:var(--blue)}
@media(max-width:900px){.nav .menu-item-has-children{width:100%;text-align:center}.nav .sub-menu{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-radius:10px;background:#f5f9fc;padding:6px;margin-top:2px;opacity:1;visibility:visible;transform:none}.nav .sub-menu:before{display:none}.nav .sub-menu a{padding:9px 12px;white-space:normal}.nav .menu-arrow{display:none}}

/* v1.5 photography upgrade */
.hero-premium{background:linear-gradient(90deg,rgba(2,27,46,.95),rgba(2,37,58,.78) 52%,rgba(2,37,58,.23)),url("assets/images/roofing-home.webp") center 46%/cover no-repeat!important}.hero-premium .hero-layout{position:relative;z-index:2}.card-art{display:none}.card-image{display:block;overflow:hidden;aspect-ratio:16/10;background:#d9e7ed}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.card:hover .card-image img{transform:scale(1.045)}.service-link{display:inline-block;margin-top:15px;color:var(--navy);font-weight:750}.split-visual{background:url("assets/images/new-roofs.webp") center/cover no-repeat!important}.split-visual:after{display:none}.gallery .gallery-item{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#e7eef2}.gallery .gallery-item:after{display:none}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.photo-disclaimer{font-size:13px;color:#697b86;margin-top:18px}.approach-features{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-page-hero{background:linear-gradient(90deg,rgba(3,31,51,.95),rgba(3,31,51,.45)),var(--photo-url) center/cover no-repeat}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:0 0 35px}.service-feature img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-gallery-grid figure{margin:0}.photo-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.photo-gallery-grid figcaption{font-size:13px;color:#617381;margin-top:6px}@media(max-width:900px){.service-feature{grid-template-columns:1fr}.photo-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.photo-gallery-grid,.approach-features{grid-template-columns:1fr}.hero-premium{background-position:58% center!important}}

/* v1.7 premium About Us page */
.coastal-about{overflow:hidden}.coastal-about h1,.coastal-about h2,.coastal-about h3{letter-spacing:-.035em}.about-hero{position:relative;min-height:565px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(2,27,45,.97) 0%,rgba(2,32,53,.86) 45%,rgba(2,32,53,.2) 100%),url('assets/images/roofing-home.webp') center/cover no-repeat}.about-hero-inner{position:relative;z-index:1;padding:90px 0 100px}.about-kicker,.about-section-kicker{font-size:12px;letter-spacing:.17em;font-weight:800;color:#13b8ed}.about-kicker{display:flex;align-items:center;gap:13px;color:#8cdef8}.about-line{display:inline-block;width:33px;height:2px;background:#17bce9}.about-hero h1{font-size:clamp(43px,5.3vw,75px);line-height:1.07;margin:24px 0;max-width:850px}.about-hero h1 em{font-style:normal;color:#4ccaf2}.about-hero p{max-width:600px;color:#dceaf2;font-size:18px;line-height:1.7}.about-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:30px}.about-text-link{font-weight:750;color:#fff;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:7px}.about-photo-label{position:absolute;right:3%;bottom:15px;color:#d7e2e9;font-size:11px;z-index:1}.about-intro-section{padding:105px 0}.about-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,105px);align-items:center}.about-intro-photo{position:relative}.about-intro-photo img{display:block;width:100%;height:540px;object-fit:cover;border-radius:6px 80px 6px 6px}.about-intro-photo>span{position:absolute;left:-15px;bottom:25px;background:#07324f;color:#fff;padding:17px 24px;font-size:12px;letter-spacing:.12em;font-weight:800}.about-intro-copy h2,.about-values h2,.about-services-section h2{font-size:clamp(35px,4vw,56px);line-height:1.1;margin:16px 0 24px;color:#082c45}.about-intro-copy h2 span,.about-values h2 span,.about-services-section h2 span{color:#1299c6}.about-intro-copy p{font-size:16px;line-height:1.8;color:#5b6b76}.about-intro-copy .about-lead{font-size:19px;color:#263e4e;font-weight:600}.about-inline-link{display:inline-flex;gap:14px;align-items:center;color:#07324f;font-weight:800;border-bottom:2px solid #11a5d5;padding-bottom:9px;margin-top:18px}.about-values{padding:95px 0;background:#f2f7fa}.about-values-head,.about-services-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.about-values-head>p{max-width:365px;color:#657987;line-height:1.8}.about-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-value-card{background:#fff;padding:34px 30px 38px;border-radius:12px;border:1px solid #e2ecf1}.about-value-number{font-size:13px;font-weight:800;color:#13a6d3}.about-value-symbol{font-size:35px;color:#0b769b;margin:30px 0 20px}.about-value-card h3{font-size:23px;color:#0a3049;margin:0 0 10px}.about-value-card p{color:#657783;margin:0;line-height:1.75}.about-services-section{padding:100px 0}.about-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.about-service-tile{position:relative;display:block;min-height:240px;overflow:hidden;border-radius:12px;color:#fff}.about-service-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s ease}.about-service-tile:hover img{transform:scale(1.05)}.about-service-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,27,43,.86),rgba(3,27,43,.05) 75%)}.about-service-tile strong{position:absolute;left:24px;bottom:24px;font-size:22px;line-height:1.2;max-width:70%}.about-service-arrow{position:absolute;right:22px;bottom:21px;font-size:25px}.about-imagery-note{font-size:12px;color:#687c87;margin-top:18px}.about-cta{background:linear-gradient(100deg,#062c46,#0b6685);padding:65px 0;color:#fff}.about-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.about-cta h2{font-size:clamp(32px,3.5vw,48px);margin:12px 0}.about-cta p{color:#d7e9f1;margin:0}.about-cta .about-section-kicker{color:#6dd8f6}.about-custom-content{border-left:3px solid #14addc;padding-left:18px;margin:20px 0}@media(max-width:900px){.about-intro-grid{gap:35px}.about-intro-photo img{height:450px}.about-service-tile{min-height:195px}.about-service-tile strong{font-size:19px}}@media(max-width:720px){.about-hero{min-height:520px;background-position:62% center}.about-hero-inner{padding:75px 0}.about-hero h1{font-size:clamp(39px,9vw,56px)}.about-hero p{font-size:16px}.about-intro-section,.about-values,.about-services-section{padding:65px 0}.about-intro-grid{grid-template-columns:1fr}.about-intro-photo img{height:350px}.about-intro-photo>span{left:0}.about-values-head,.about-services-heading,.about-cta-inner{align-items:flex-start;flex-direction:column}.about-value-grid{grid-template-columns:1fr}.about-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-service-tile{min-height:200px}.about-cta{padding:55px 0}}@media(max-width:480px){.about-hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.about-services-grid{grid-template-columns:1fr}.about-service-tile{min-height:235px}.about-hero h1{font-size:40px}.about-intro-photo img{height:290px}}

/* Coastal Roofing Contractors v1.8 — Roofing Services landing page */
.coastal-services-page{overflow:hidden;color:#152a3c}.coastal-services-page *{box-sizing:border-box}.services-premium-hero{position:relative;min-height:610px;background:linear-gradient(90deg,rgba(8,27,45,.94) 0%,rgba(8,27,45,.83) 42%,rgba(8,27,45,.22) 100%),url('assets/images/roofing-home.webp') center 48%/cover no-repeat;color:#fff;display:flex;align-items:center}.services-premium-hero-inner{position:relative;z-index:1;padding-top:100px;padding-bottom:110px}.services-eyebrow,.services-section-label{font-size:12px;letter-spacing:.2em;font-weight:750;text-transform:uppercase}.services-eyebrow{display:flex;align-items:center;gap:12px;color:#dceaf2}.services-eyebrow span{width:29px;height:2px;background:#f39b55}.services-premium-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.08;letter-spacing:-.045em;max-width:950px;margin:25px 0 22px;color:#fff;font-weight:760}.services-premium-hero h1 em{font-style:normal;color:#a8d5e9}.services-premium-hero p{font-size:clamp(17px,1.7vw,20px);line-height:1.65;max-width:610px;color:#e1eaf0}.services-hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:32px}.services-quiet-link{color:#fff;text-decoration:none;font-weight:650}.services-quiet-link span{margin-left:8px}.services-hero-note{position:absolute;right:28px;bottom:22px;color:#e8edf0;font-size:11px;letter-spacing:.05em}.services-intro{padding:90px 0;background:#fff}.services-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.services-section-label{color:#cf7435;margin-bottom:17px}.services-intro h2,.services-list-heading h2,.services-process h2,.services-bottom-cta h2{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:0;font-weight:760}.services-intro h2 span{color:#4183a6}.services-intro-grid p{font-size:17px;line-height:1.8;color:#52616e;margin:0 0 18px}.services-list-section{background:#f2f6f8;padding:95px 0 105px}.services-list-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.services-list-heading h2 span{color:#dc8a51}.services-list-heading>p{color:#657381;margin:0 0 6px}.services-premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.services-premium-card{display:block;text-decoration:none!important;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px rgba(13,42,61,.06);color:#152a3c!important;transition:transform .25s,box-shadow .25s}.services-premium-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(13,42,61,.13)}.services-card-image{position:relative;aspect-ratio:1.48;overflow:hidden;background:#d5e1e8}.services-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.services-premium-card:hover img{transform:scale(1.045)}.services-card-index{position:absolute;left:18px;top:18px;background:rgba(12,38,58,.88);color:#fff;font-size:12px;letter-spacing:.08em;padding:9px 11px;border-radius:5px}.services-card-content{padding:26px 26px 28px}.services-card-content h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0 0 11px;color:#172e42}.services-card-content p{color:#62717d;line-height:1.7;font-size:15px;margin:0 0 22px;min-height:76px}.services-card-more{border-top:1px solid #e7edf0;padding-top:16px;display:flex;justify-content:space-between;align-items:center;color:#276f95;font-weight:750;font-size:14px}.services-card-more span{font-size:20px}.services-image-disclaimer{margin:25px 0 0;color:#74828b;font-size:12px}.services-process{padding:95px 0;background:#fff}.services-process h2{margin-bottom:38px}.services-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.services-process-grid>div{border-top:2px solid #dbe6eb;padding:24px 20px 10px 0}.services-process-grid span{font-size:14px;color:#ce7a41;font-weight:750}.services-process-grid h3{font-size:22px;margin:17px 0 10px}.services-process-grid p{color:#60717c;line-height:1.7;margin:0}.services-bottom-cta{background:#102e46;color:#fff;padding:75px 0}.services-bottom-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.services-bottom-cta h2{color:#fff}.services-bottom-cta p{color:#d1e0e9;font-size:17px;line-height:1.6}.services-bottom-cta .services-section-label{color:#efab7a}@media(max-width:900px){.services-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-premium-hero{min-height:540px}.services-intro-grid{gap:6%}}@media(max-width:640px){.services-premium-hero{min-height:510px;background-position:58% center}.services-premium-hero-inner{padding-top:82px;padding-bottom:95px}.services-premium-hero h1{font-size:clamp(38px,10vw,51px)}.services-intro,.services-list-section,.services-process{padding:65px 0}.services-intro-grid,.services-premium-grid,.services-process-grid{grid-template-columns:1fr}.services-list-heading,.services-bottom-cta-inner{display:block}.services-list-heading>p{margin-top:15px}.services-premium-grid{gap:20px}.services-card-content p{min-height:0}.services-bottom-cta{padding:60px 0}.services-bottom-cta .btn{display:inline-block;margin-top:16px}.services-hero-note{right:15px;bottom:14px}}

/* v1.9 New Roofs dedicated page */
.coastal-new-roofs{overflow:hidden}.coastal-new-roofs *{box-sizing:border-box}.nr-hero{position:relative;min-height:610px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,31,51,.96) 0%,rgba(4,31,51,.83) 42%,rgba(4,31,51,.24) 100%),url('assets/images/new-roofs.webp') center/cover no-repeat;color:white}.nr-hero-content{position:relative;z-index:1;padding:95px 0}.nr-kicker,.nr-label{font-size:12px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.nr-kicker{color:#9ce0f5}.nr-kicker span{color:#e9f0f4}.nr-hero h1{font-size:clamp(43px,6vw,79px);letter-spacing:-.045em;line-height:1.04;margin:22px 0;color:#fff}.nr-hero h1 em{font-style:normal;color:#8fd7f0}.nr-hero p{font-size:18px;line-height:1.7;max-width:590px;color:#e2edf2}.nr-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}.nr-text-link{color:#fff;font-weight:700;border-bottom:1px solid #8fd7f0;padding-bottom:7px}.nr-photo-credit{position:absolute;bottom:15px;right:25px;font-size:11px;color:#d9e4eb}.nr-label{color:#ce763e;margin-bottom:18px}.nr-intro{padding:105px 0}.nr-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.nr-intro h2,.nr-options h2,.nr-process h2,.nr-related h2,.nr-cta h2{font-size:clamp(34px,4.1vw,55px);line-height:1.13;letter-spacing:-.04em;margin:0 0 25px;color:#092e48}.nr-intro h2 span{color:#1596c3}.nr-intro p{color:#5b6d7b;line-height:1.85;font-size:16px}.nr-intro .nr-lead{font-size:19px;color:#203c50;font-weight:600}.nr-inline-link{display:inline-flex;justify-content:space-between;gap:35px;border-bottom:2px solid #1ca5d0;padding-bottom:10px;margin-top:20px;font-weight:800;color:#0b3854}.nr-intro-image{margin:0;position:relative}.nr-intro-image img{width:100%;height:500px;object-fit:cover;border-radius:10px 75px 10px 10px;display:block}.nr-intro-image figcaption{position:absolute;bottom:18px;left:18px;background:#062d47;color:#fff;font-size:11px;padding:9px 12px}.nr-options{padding:100px 0;background:#f3f7f9}.nr-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.nr-section-heading p{max-width:400px;color:#627583;line-height:1.75}.nr-options h2 span{color:#db8c54}.nr-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nr-options-grid article{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 26px rgba(10,48,73,.06)}.nr-options-grid img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.nr-options-grid article>div{padding:26px}.nr-options-grid article span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#bd743e}.nr-options-grid h3{font-size:24px;color:#103650;margin:14px 0 10px}.nr-options-grid p{color:#637480;line-height:1.7;margin:0}.nr-disclaimer{font-size:12px;color:#6d7d86;margin:22px 0 0}.nr-process{padding:100px 0}.nr-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:42px}.nr-steps>div{border-top:2px solid #d9e6ec;padding-top:22px}.nr-steps span{color:#c87943;font-weight:800;font-size:14px}.nr-steps h3{font-size:23px;margin:20px 0 10px;color:#103650}.nr-steps p{color:#647582;line-height:1.7}.nr-related{padding:90px 0;background:#f3f7f9}.nr-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nr-related-grid a{position:relative;min-height:235px;overflow:hidden;border-radius:10px;display:flex;align-items:end;padding:23px;color:#fff;background:#092f48}.nr-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,24,40,.85),transparent 85%)}.nr-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.nr-related-grid a:hover img{transform:scale(1.05)}.nr-related-grid strong,.nr-related-grid span{position:relative;z-index:1}.nr-related-grid strong{font-size:22px}.nr-related-grid span{margin-left:auto;font-size:25px}.nr-cta{padding:72px 0;background:#082e49;color:#fff}.nr-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.nr-cta .nr-label{color:#f1b48c}.nr-cta h2{color:#fff;margin-bottom:10px}.nr-cta p{color:#d5e3eb;font-size:17px}@media(max-width:900px){.nr-intro-grid{gap:5%}.nr-intro-image img{height:420px}.nr-options-grid{gap:14px}.nr-options-grid article>div{padding:20px}}@media(max-width:700px){.nr-hero{min-height:530px;background-position:60% center}.nr-hero-content{padding:75px 0}.nr-hero h1{font-size:clamp(40px,10vw,56px)}.nr-intro,.nr-options,.nr-process,.nr-related{padding:65px 0}.nr-intro-grid,.nr-options-grid,.nr-steps,.nr-related-grid{grid-template-columns:1fr}.nr-intro-image img{height:330px}.nr-section-heading,.nr-cta-inner{display:block}.nr-section-heading p{margin:10px 0 0}.nr-options-grid{gap:20px}.nr-steps{gap:18px}.nr-related-grid a{min-height:220px}.nr-cta{padding:60px 0}.nr-cta .btn{margin-top:15px}.nr-photo-credit{right:12px;bottom:10px}.nr-actions{gap:20px}}


.coastal-roof-repairs{overflow:hidden}.rr-hero{min-height:600px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(3,29,48,.96),rgba(3,29,48,.76) 50%,rgba(3,29,48,.25)),url('assets/images/roof-repairs.webp') center/cover;color:#fff}.rr-hero-inner{padding:100px 0}.rr-kicker,.rr-label{font-size:12px;letter-spacing:.18em;font-weight:800;text-transform:uppercase;color:#d17b42}.rr-kicker{color:#a2dff1}.rr-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.05;letter-spacing:-.04em;color:#fff;margin:25px 0}.rr-hero h1 em{font-style:normal;color:#93d8f0}.rr-hero p{font-size:18px;line-height:1.75;max-width:620px;color:#e1ebf1}.rr-hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.rr-link-light{color:white;border-bottom:1px solid #93d8f0;padding-bottom:6px}.rr-hero-caption{position:absolute;right:25px;bottom:16px;font-size:11px;color:#e1ebf1}.rr-intro,.rr-feature,.rr-process,.rr-related{padding:95px 0}.rr-intro-grid,.rr-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.rr-intro h2,.rr-issues h2,.rr-feature h2,.rr-process h2,.rr-related h2,.rr-cta h2{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-.04em;color:#092e48;margin:12px 0 24px}.rr-intro h2 span,.rr-feature h2 span{color:#1598c5}.rr-intro p,.rr-feature p{font-size:16px;line-height:1.8;color:#61717e}.rr-intro .rr-lead{font-size:19px;font-weight:650;color:#294357}.rr-inline-link{display:inline-block;border-bottom:2px solid #1da6d2;padding:10px 0;color:#0b3b56;font-weight:800}.rr-intro figure,.rr-feature figure{margin:0;position:relative}.rr-intro figure img,.rr-feature figure img{width:100%;height:480px;object-fit:cover;border-radius:12px 65px 12px 12px;display:block}.rr-intro figcaption,.rr-feature figcaption{position:absolute;bottom:15px;left:15px;background:#082f49;color:white;padding:9px 12px;font-size:11px}.rr-issues,.rr-process{background:#f3f7f9;padding:95px 0}.rr-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.rr-section-head p{max-width:390px;line-height:1.7;color:#627480}.rr-issue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rr-issue-grid article{background:#fff;border-top:3px solid #159fcf;padding:30px 26px;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.rr-issue-grid article span{font-size:11px;color:#bd7544;font-weight:800;letter-spacing:.1em}.rr-issue-grid h3{font-size:23px;color:#103650;margin:16px 0 10px}.rr-issue-grid p{color:#637583;line-height:1.7}.rr-feature ul{padding:0;list-style:none;margin:20px 0 30px}.rr-feature li{border-bottom:1px solid #e1e9ef;padding:10px 0}.rr-feature li:before{content:'✓';color:#0aa0ce;font-weight:900;margin-right:10px}.rr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.rr-steps>div{border-top:2px solid #d8e5ec;padding-top:20px}.rr-steps span{font-weight:800;color:#c57942}.rr-steps h3{font-size:23px;color:#103650}.rr-steps p{color:#657683;line-height:1.7}.rr-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr-related-grid a{min-height:230px;display:flex;align-items:end;padding:22px;position:relative;overflow:hidden;border-radius:12px;color:white;background:#103650}.rr-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,29,48,.9),transparent)}.rr-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rr-related-grid strong,.rr-related-grid span{z-index:1;position:relative}.rr-related-grid strong{font-size:21px}.rr-related-grid span{margin-left:auto}.rr-photo-note{font-size:12px;color:#657785;margin-top:20px}.rr-cta{padding:70px 0;background:#092e48;color:#fff}.rr-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.rr-cta h2{color:#fff}.rr-cta p{color:#d5e4eb;font-size:17px}
@media(max-width:900px){.rr-issue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.rr-hero{min-height:520px;background-position:60% center}.rr-hero-inner{padding:75px 0}.rr-intro,.rr-issues,.rr-feature,.rr-process,.rr-related{padding:60px 0}.rr-intro-grid,.rr-feature-grid,.rr-issue-grid,.rr-steps,.rr-related-grid{grid-template-columns:1fr}.rr-section-head,.rr-cta-grid{display:block}.rr-intro figure img,.rr-feature figure img{height:320px}.rr-cta .btn{margin-top:15px}.rr-cta{padding:55px 0}}


/* v2.1 Roof Repairs conversion and content refinements */
.rr-quickbar{background:#e8f5f9;border-bottom:1px solid #c9e4ee}.rr-quickbar-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:19px 0}.rr-quickbar-inner>div{display:flex;gap:15px;align-items:baseline}.rr-quickbar strong{color:#0a344f;font-size:18px}.rr-quickbar span{color:#4d6979}.rr-quickbar a{font-weight:800;color:#08678d;white-space:nowrap}.rr-alert{background:#0b344e;color:#fff;padding:80px 0}.rr-alert-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;align-items:center}.rr-alert h2{font-size:clamp(32px,4vw,50px);line-height:1.1;color:#fff;letter-spacing:-.035em}.rr-alert p{color:#d8e7ef;line-height:1.75}.rr-alert-list{display:grid;gap:12px}.rr-alert-list>div{display:flex;gap:20px;align-items:start;background:rgba(255,255,255,.07);padding:15px 22px;border:1px solid rgba(255,255,255,.12);border-radius:12px}.rr-alert-list b{color:#ffae73;font-size:18px}.rr-alert-list p{margin:0}.rr-faq{padding:95px 0;background:#f2f7f9}.rr-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.rr-faq h2,.rr-proof h2{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.035em;color:#092e48}.rr-faq-grid>div>p,.rr-proof p{color:#617481;line-height:1.8}.rr-faq-items details{border-bottom:1px solid #cddce5;padding:20px 0}.rr-faq-items summary{cursor:pointer;list-style:none;color:#0b344f;font-size:18px;font-weight:750;position:relative;padding-right:35px}.rr-faq-items summary::-webkit-details-marker{display:none}.rr-faq-items summary:after{content:'+';position:absolute;right:0;top:-3px;color:#139dca;font-size:28px}.rr-faq-items details[open] summary:after{content:'−'}.rr-faq-items details p{color:#607684;line-height:1.75;margin:14px 0 0}.rr-proof{padding:90px 0}.rr-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.rr-proof img{width:100%;height:380px;object-fit:cover;border-radius:12px 60px 12px 12px}.rr-hero .btn,.rr-cta .btn{transition:transform .2s,box-shadow .2s}.rr-hero .btn:hover,.rr-cta .btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,122,26,.35)}.rr-issue-grid article{transition:transform .2s,box-shadow .2s}.rr-issue-grid article:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(10,48,73,.1)}
@media(max-width:750px){.rr-quickbar-inner,.rr-quickbar-inner>div{display:block}.rr-quickbar-inner a{display:inline-block;margin-top:8px}.rr-alert,.rr-faq,.rr-proof{padding:60px 0}.rr-alert-grid,.rr-faq-grid,.rr-proof-grid{grid-template-columns:1fr;gap:25px}.rr-proof img{height:300px}.rr-faq-items summary{font-size:17px}}
/* v2.2 Flat Roofing landing page */
.flat-landing{overflow:hidden}.flat-landing *{box-sizing:border-box}.flat-hero{position:relative;display:flex;align-items:center;min-height:600px;color:#fff;background:linear-gradient(90deg,rgba(3,29,48,.96),rgba(3,29,48,.78) 52%,rgba(3,29,48,.22)),url('assets/images/flat-roofing.webp') center/cover}.flat-hero-body{padding:100px 0}.flat-eyebrow{font-size:12px;letter-spacing:.17em;font-weight:800;text-transform:uppercase;color:#c77742}.flat-hero .flat-eyebrow{color:#a5dff1}.flat-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.06;letter-spacing:-.045em;color:#fff;margin:25px 0}.flat-hero h1 em{font-style:normal;color:#95d8ef}.flat-hero p{max-width:620px;font-size:18px;line-height:1.75;color:#e2edf3}.flat-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}.flat-actions>a:not(.btn){color:white;border-bottom:1px solid #9ad9ed;padding-bottom:6px}.flat-caption{position:absolute;right:20px;bottom:16px;font-size:11px;color:#e5eef4}.flat-intro,.flat-materials,.flat-related{padding:95px 0}.flat-two{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.flat-landing h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;line-height:1.13;color:#092e48;margin:14px 0 24px}.flat-landing h2 span{color:#1598c5}.flat-intro p,.flat-materials p,.flat-faq p{line-height:1.85;color:#637482;font-size:16px}.flat-intro .flat-lead{font-size:19px;font-weight:650;color:#2a4558}.flat-inline{display:inline-block;color:#0b3c56;border-bottom:2px solid #14a1ce;padding:9px 0;font-weight:800}.flat-two figure{margin:0;position:relative}.flat-two figure img{width:100%;height:470px;object-fit:cover;display:block;border-radius:12px 65px 12px 12px}.flat-two figcaption{position:absolute;bottom:14px;left:14px;background:#092e48;color:white;padding:9px 12px;font-size:11px}.flat-solutions,.flat-steps,.flat-faq{background:#f2f7f9;padding:95px 0}.flat-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.flat-heading p{max-width:380px;line-height:1.7;color:#647581}.flat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.flat-cards article{background:white;border-top:3px solid #159fcf;border-radius:12px;padding:30px 26px;box-shadow:0 8px 26px rgba(0,0,0,.04)}.flat-cards article span{font-size:11px;color:#b97546;letter-spacing:.1em;font-weight:800}.flat-cards h3{font-size:23px;color:#103650;margin:17px 0 12px}.flat-cards p,.flat-step-grid p{color:#657683;line-height:1.75}.flat-materials ul{list-style:none;margin:20px 0 30px;padding:0}.flat-materials li{border-bottom:1px solid #e1e9ee;padding:10px 0;color:#344e5e}.flat-materials li:before{content:'✓';font-weight:900;color:#159bc5;margin-right:10px}.flat-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.flat-step-grid>div{border-top:2px solid #d6e5ed;padding-top:20px}.flat-step-grid span{font-weight:800;color:#bd7544}.flat-step-grid h3{font-size:23px;color:#103650}.flat-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.flat-faq details{background:white;margin-bottom:12px;padding:21px 24px;border-radius:10px}.flat-faq summary{font-weight:800;color:#103650;cursor:pointer}.flat-faq details p{margin:15px 0 0}.flat-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.flat-related-grid a{position:relative;min-height:225px;border-radius:12px;overflow:hidden;display:flex;align-items:end;padding:22px;color:white;background:#092e48}.flat-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,29,48,.9),transparent)}.flat-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.flat-related-grid strong{position:relative;z-index:1;font-size:21px}.flat-disclaimer{font-size:12px;color:#697c88;margin-top:20px}.flat-cta{padding:70px 0;background:#092e48;color:white}.flat-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.flat-cta h2{color:white}.flat-cta p{color:#d5e5ed;font-size:17px}
@media(max-width:900px){.flat-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.flat-hero{min-height:530px;background-position:60% center}.flat-hero-body{padding:75px 0}.flat-intro,.flat-materials,.flat-related,.flat-solutions,.flat-steps,.flat-faq{padding:60px 0}.flat-two,.flat-cards,.flat-step-grid,.flat-faq-grid,.flat-related-grid{grid-template-columns:1fr}.flat-two figure img{height:315px}.flat-heading,.flat-cta-inner{display:block}.flat-cta{padding:55px 0}.flat-cta .btn{margin-top:18px}}


.em-landing{overflow:hidden}.em-hero{min-height:620px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.8) 52%,rgba(4,28,46,.27)),url('assets/images/roof-repairs.webp') center/cover;color:#fff}.em-hero-body{padding:100px 0}.em-eyebrow{font-size:12px;letter-spacing:.17em;font-weight:800;color:#ce824c;text-transform:uppercase}.em-hero .em-eyebrow{color:#9eddf2}.em-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.05;letter-spacing:-.045em;color:#fff;margin:25px 0}.em-hero h1 em{font-style:normal;color:#95d9ee}.em-hero p{font-size:18px;line-height:1.7;color:#e3edf3;max-width:610px}.em-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin:28px 0}.em-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9eddf2;padding-bottom:5px}.em-hero .em-small{font-size:12px;color:#d4e2ea}.em-caption{position:absolute;bottom:14px;right:20px;font-size:11px;color:#dce9ef}.em-alert{background:#fff4e9;border-bottom:1px solid #f2dfcc}.em-alert-inner{display:flex;align-items:center;gap:30px;padding:24px 0}.em-alert strong{color:#9b4b21;font-size:20px;min-width:245px}.em-alert p{margin:0;color:#5b4b40;line-height:1.6}.em-intro,.em-safety,.em-related{padding:95px 0}.em-two{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.em-landing h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0b3149;margin:16px 0 23px}.em-landing h2 span{color:#1798c6}.em-intro p,.em-safety p{color:#607381;line-height:1.8}.em-intro .em-lead{font-size:19px;color:#2e4a5b;font-weight:650}.em-inline{font-weight:800;display:inline-block;border-bottom:2px solid #1a9fcb;padding:10px 0;color:#0b3851}.em-two figure{position:relative;margin:0}.em-two figure img{width:100%;height:465px;object-fit:cover;display:block;border-radius:14px 65px 14px 14px}.em-two figcaption{position:absolute;bottom:15px;left:15px;background:#0a344c;color:#fff;padding:8px 12px;font-size:11px}.em-problems,.em-steps,.em-faq{padding:95px 0;background:#f3f7f9}.em-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.em-grid article{background:#fff;border-top:3px solid #159dca;border-radius:12px;padding:29px 25px}.em-grid article span,.em-step-grid span{font-size:13px;font-weight:800;color:#bf7441}.em-grid h3,.em-step-grid h3{font-size:23px;color:#0c344e;margin:15px 0}.em-grid p,.em-step-grid p{color:#647583;line-height:1.7}.em-safety ul{list-style:none;padding:0;margin:22px 0 30px}.em-safety li{border-bottom:1px solid #e0e9ee;padding:11px 0;color:#435c6c;line-height:1.6}.em-safety li:before{content:'✓';color:#119dc9;font-weight:900;margin-right:11px}.em-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.em-step-grid>div{border-top:2px solid #d2e3eb;padding-top:22px}.em-faq{background:#fff}.em-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.em-faq-grid p{color:#667884;line-height:1.7}.em-faq details{border-bottom:1px solid #dce6eb;padding:20px 0}.em-faq summary{cursor:pointer;font-weight:750;color:#0d3850}.em-faq details p{margin:14px 0 0}.em-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.em-related-grid a{display:flex;align-items:end;position:relative;overflow:hidden;min-height:220px;padding:22px;border-radius:12px;background:#0b3149;color:white}.em-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,46,.9),transparent)}.em-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.em-related-grid strong{position:relative;z-index:1;font-size:21px}.em-disclaimer{font-size:12px;color:#687987;margin-top:20px}.em-cta{background:#092e48;padding:70px 0;color:white}.em-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.em-cta h2{color:white}.em-cta p{color:#d5e4eb;font-size:17px}
@media(max-width:900px){.em-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.em-hero{min-height:540px;background-position:60% center}.em-hero-body{padding:70px 0}.em-alert-inner,.em-cta-inner{display:block}.em-alert strong{display:block;margin-bottom:10px}.em-intro,.em-problems,.em-safety,.em-steps,.em-faq,.em-related{padding:62px 0}.em-two,.em-grid,.em-step-grid,.em-faq-grid,.em-related-grid{grid-template-columns:1fr}.em-two figure img{height:320px}.em-cta .btn{margin-top:15px}}


/* v2.4 chimney repairs */
.cr-chimney{overflow:hidden}.cr-chimney .cr-eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#c67b47}.cr-hero{min-height:610px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.83) 52%,rgba(4,28,46,.22)),url('assets/images/chimney-repairs.webp') center/cover}.cr-hero-inner{padding:100px 0}.cr-hero .cr-eyebrow{color:#99d9ef}.cr-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-.045em;color:#fff;max-width:800px;margin:25px 0}.cr-hero h1 span{color:#93d8ee}.cr-hero-copy{max-width:620px;font-size:18px;line-height:1.75;color:#e3edf3}.cr-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.cr-ghost{color:white;border-bottom:1px solid #93d8ee;padding-bottom:6px}.cr-photo-credit{position:absolute;right:22px;bottom:14px;color:#e2edf3;font-size:11px}.cr-intro,.cr-detail,.cr-related{padding:95px 0}.cr-two{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.cr-chimney h2{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-.04em;color:#0b3149;margin:15px 0 24px}.cr-chimney h2 span{color:#149ac7}.cr-intro p,.cr-detail p{color:#617481;line-height:1.8}.cr-intro .cr-lead{font-size:19px;font-weight:650;color:#29485b}.cr-text-link{display:inline-block;color:#0c3a55;font-weight:800;border-bottom:2px solid #1aa4d2;padding:10px 0}.cr-two figure{position:relative;margin:0}.cr-two figure img{display:block;width:100%;height:475px;object-fit:cover;border-radius:12px 65px 12px 12px}.cr-two figcaption{position:absolute;bottom:15px;left:15px;background:#092f48;color:white;font-size:11px;padding:9px 12px}.cr-services,.cr-steps{background:#f3f7f9;padding:95px 0}.cr-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.cr-heading p{max-width:390px;color:#667987;line-height:1.7}.cr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.cr-grid article{background:#fff;padding:30px 26px;border-radius:12px;border-top:3px solid #159cc9;box-shadow:0 7px 25px rgba(0,0,0,.04)}.cr-grid article span,.cr-step-grid span{color:#bd7848;font-size:12px;font-weight:800;letter-spacing:.08em}.cr-grid h3,.cr-step-grid h3{font-size:23px;color:#10364f;margin:15px 0 10px}.cr-grid p,.cr-step-grid p{color:#627684;line-height:1.75}.cr-detail ul{padding:0;list-style:none;margin:24px 0 30px}.cr-detail li{padding:11px 0;border-bottom:1px solid #e1eaf0;color:#415c6c}.cr-detail li:before{content:'✓';color:#129dc8;font-weight:900;margin-right:11px}.cr-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.cr-step-grid>div{border-top:2px solid #d2e2ea;padding-top:22px}.cr-faq{padding:95px 0}.cr-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.cr-faq-grid>div>p{color:#647785;line-height:1.7}.cr-faq details{padding:20px 0;border-bottom:1px solid #dce6ec}.cr-faq summary{font-weight:800;cursor:pointer;color:#103650}.cr-faq details p{color:#627684;line-height:1.7}.cr-related{background:#f3f7f9}.cr-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cr-related-grid a{position:relative;display:flex;align-items:end;min-height:220px;border-radius:12px;overflow:hidden;padding:22px;color:#fff;background:#103650}.cr-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,46,.9),transparent)}.cr-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cr-related-grid strong{position:relative;z-index:1;font-size:21px}.cr-disclaimer{font-size:12px;color:#687d8b;margin-top:20px}.cr-cta{background:#092e48;padding:75px 0;color:#fff}.cr-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cr-cta h2{color:#fff}.cr-cta p{color:#d7e5ec}
@media(max-width:900px){.cr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.cr-hero{min-height:540px;background-position:62% center}.cr-hero-inner{padding:75px 0}.cr-intro,.cr-detail,.cr-services,.cr-steps,.cr-faq,.cr-related{padding:62px 0}.cr-two,.cr-grid,.cr-step-grid,.cr-faq-grid,.cr-related-grid{grid-template-columns:1fr}.cr-heading,.cr-cta-inner{display:block}.cr-two figure img{height:330px}.cr-cta .btn{margin-top:18px}}
\n
/* v2.5 Leadwork & Flashing */
.lf-page{overflow:hidden}.lf-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#c57c49}.lf-hero{min-height:620px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(3,28,47,.96),rgba(3,28,47,.81) 53%,rgba(3,28,47,.25)),url('assets/images/leadwork-flashing.webp') center/cover;color:#fff}.lf-hero-inner{padding:100px 0}.lf-hero .lf-kicker{color:#a2dced}.lf-hero h1{color:#fff;font-size:clamp(42px,5.9vw,76px);line-height:1.05;letter-spacing:-.045em;max-width:950px;margin:24px 0}.lf-hero h1 span{color:#96d8ed}.lf-hero p{max-width:630px;color:#e3eef3;line-height:1.75;font-size:18px}.lf-hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}.lf-hero-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9bdbea;padding-bottom:6px}.lf-photo-label{position:absolute;right:20px;bottom:15px;color:#dceaf0;font-size:11px}.lf-intro,.lf-feature,.lf-related{padding:95px 0}.lf-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.lf-page h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0a324b;margin:15px 0 25px}.lf-page h2 em{font-style:normal;color:#1798c5}.lf-intro p,.lf-feature p{color:#607481;line-height:1.8}.lf-intro .lf-lead{font-size:19px;color:#28465b;font-weight:650}.lf-text-link{display:inline-block;border-bottom:2px solid #16a2d1;padding:10px 0;color:#0c3852;font-weight:800}.lf-split figure{margin:0;position:relative}.lf-split figure img{display:block;width:100%;height:470px;object-fit:cover;border-radius:12px 65px 12px 12px}.lf-split figcaption{position:absolute;bottom:15px;left:15px;background:#0a324b;color:#fff;padding:9px 12px;font-size:11px}.lf-services,.lf-process{background:#f3f7f9;padding:95px 0}.lf-section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.lf-section-top p{max-width:390px;color:#617685;line-height:1.7}.lf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.lf-cards article{background:#fff;border-radius:12px;border-top:3px solid #139cc9;padding:30px 26px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.lf-cards article span,.lf-steps span{font-size:12px;color:#bd7848;font-weight:800;letter-spacing:.08em}.lf-cards h3,.lf-steps h3{font-size:23px;color:#0c344d;margin:16px 0 10px}.lf-cards p,.lf-steps p{color:#657784;line-height:1.7}.lf-feature ul{list-style:none;padding:0;margin:22px 0 30px}.lf-feature li{border-bottom:1px solid #e0e9ef;padding:11px 0;color:#405c6c}.lf-feature li:before{content:'✓';color:#0c9fcf;font-weight:900;margin-right:10px}.lf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}.lf-steps>div{border-top:2px solid #d4e2ea;padding-top:22px}.lf-faq{padding:95px 0}.lf-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.lf-faq-grid>div>p{color:#617582;line-height:1.7}.lf-faq details{padding:20px 0;border-bottom:1px solid #dce6ec}.lf-faq summary{font-weight:800;cursor:pointer;color:#0c344d}.lf-faq details p{color:#647784;line-height:1.7}.lf-related{background:#f3f7f9}.lf-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lf-related-grid a{min-height:225px;position:relative;display:flex;align-items:end;overflow:hidden;padding:22px;border-radius:12px;color:#fff;background:#0b344d}.lf-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,28,47,.9),transparent)}.lf-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lf-related-grid strong{position:relative;z-index:1;font-size:21px}.lf-note{font-size:12px;color:#647a89;margin-top:20px}.lf-cta{background:#092e48;color:#fff;padding:75px 0}.lf-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.lf-cta h2{color:#fff}.lf-cta p{color:#d6e5ec}
@media(max-width:900px){.lf-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.lf-hero{min-height:540px;background-position:60% center}.lf-hero-inner{padding:75px 0}.lf-intro,.lf-feature,.lf-services,.lf-process,.lf-faq,.lf-related{padding:62px 0}.lf-split,.lf-cards,.lf-steps,.lf-faq-grid,.lf-related-grid{grid-template-columns:1fr}.lf-section-top,.lf-cta-inner{display:block}.lf-split figure img{height:325px}.lf-cta .btn{margin-top:18px}}


/* v2.6 Fascias, Soffits & Guttering */
.fs-page{overflow:hidden}.fs-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#c47c49}.fs-hero{min-height:620px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(3,28,47,.97),rgba(3,28,47,.82) 53%,rgba(3,28,47,.25)),url('assets/images/guttering.webp') center/cover;color:#fff}.fs-hero-inner{padding:100px 0}.fs-hero .fs-kicker{color:#a2dced}.fs-hero h1{color:#fff;font-size:clamp(42px,6vw,78px);line-height:1.05;letter-spacing:-.045em;margin:24px 0}.fs-hero h1 span{color:#96d8ed}.fs-hero p:not(.fs-kicker){max-width:620px;color:#e3eef3;line-height:1.75;font-size:18px}.fs-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}.fs-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9bdbea;padding-bottom:6px}.fs-photo-label{position:absolute;right:20px;bottom:15px;color:#dceaf0;font-size:11px}.fs-intro,.fs-feature,.fs-related{padding:95px 0}.fs-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.fs-page h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0a324b;margin:15px 0 25px}.fs-page h2 em{font-style:normal;color:#1798c5}.fs-intro p,.fs-feature p{color:#607481;line-height:1.8}.fs-intro .fs-lead{font-size:19px;color:#28465b;font-weight:650}.fs-inline{display:inline-block;border-bottom:2px solid #16a2d1;padding:10px 0;color:#0c3852;font-weight:800}.fs-split figure{margin:0;position:relative}.fs-split figure img{display:block;width:100%;height:470px;object-fit:cover;border-radius:12px 65px 12px 12px}.fs-split figcaption{position:absolute;bottom:15px;left:15px;background:#0a324b;color:#fff;padding:9px 12px;font-size:11px}.fs-services,.fs-process{background:#f3f7f9;padding:95px 0}.fs-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.fs-heading p{max-width:390px;color:#617685;line-height:1.7}.fs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.fs-cards article{background:#fff;border-radius:12px;border-top:3px solid #139cc9;padding:30px 26px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.fs-cards article span,.fs-steps span{font-size:12px;color:#bd7848;font-weight:800;letter-spacing:.08em}.fs-cards h3,.fs-steps h3{font-size:23px;color:#0c344d;margin:16px 0 10px}.fs-cards p,.fs-steps p{color:#657784;line-height:1.7}.fs-feature ul{list-style:none;padding:0;margin:22px 0 30px}.fs-feature li{border-bottom:1px solid #e0e9ef;padding:11px 0;color:#405c6c}.fs-feature li:before{content:'✓';color:#0c9fcf;font-weight:900;margin-right:10px}.fs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}.fs-steps>div{border-top:2px solid #d4e2ea;padding-top:22px}.fs-faq{padding:95px 0}.fs-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.fs-faq-grid>div>p{color:#617582;line-height:1.7}.fs-faq details{padding:20px 0;border-bottom:1px solid #dce6ec}.fs-faq summary{font-weight:800;cursor:pointer;color:#0c344d}.fs-faq details p{color:#647784;line-height:1.7}.fs-related{background:#f3f7f9}.fs-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fs-related-grid a{min-height:225px;position:relative;display:flex;align-items:end;overflow:hidden;padding:22px;border-radius:12px;color:#fff;background:#0b344d}.fs-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,28,47,.9),transparent)}.fs-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fs-related-grid strong{position:relative;z-index:1;font-size:21px}.fs-note{font-size:12px;color:#647a89;margin-top:20px}.fs-cta{background:#092e48;color:#fff;padding:75px 0}.fs-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.fs-cta h2{color:#fff}.fs-cta p{color:#d6e5ec}
@media(max-width:900px){.fs-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.fs-hero{min-height:540px;background-position:60% center}.fs-hero-inner{padding:75px 0}.fs-intro,.fs-feature,.fs-services,.fs-process,.fs-faq,.fs-related{padding:62px 0}.fs-split,.fs-cards,.fs-steps,.fs-faq-grid,.fs-related-grid{grid-template-columns:1fr}.fs-heading,.fs-cta-inner{display:block}.fs-split figure img{height:325px}.fs-cta .btn{margin-top:18px}}


/* v2.7 roof inspections */
.ri-page{overflow:hidden}.ri-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#bf7949}.ri-hero{min-height:615px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(3,29,47,.97),rgba(3,29,47,.82) 53%,rgba(3,29,47,.23)),url('assets/images/roof-inspections.webp') center/cover;color:#fff}.ri-hero-inner{padding:95px 0}.ri-hero .ri-eyebrow{color:#9cdbed}.ri-hero h1{color:#fff;font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-.045em;margin:23px 0}.ri-hero h1 span{color:#95d8ec}.ri-hero p:not(.ri-eyebrow){max-width:630px;color:#e1edf2;font-size:18px;line-height:1.75}.ri-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}.ri-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9bdbe9;padding-bottom:6px}.ri-image-note{position:absolute;bottom:14px;right:20px;font-size:11px;color:#e0ebf0}.ri-intro,.ri-when,.ri-related{padding:95px 0}.ri-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.ri-page h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0c334b;margin:15px 0 24px}.ri-page h2 em{font-style:normal;color:#149ac7}.ri-intro p,.ri-when p{color:#607481;line-height:1.8}.ri-intro .ri-lead{font-size:19px;color:#294b5d;font-weight:650}.ri-link{display:inline-block;padding:10px 0;border-bottom:2px solid #139ecb;font-weight:800;color:#0c3750}.ri-split figure{margin:0;position:relative}.ri-split figure img{display:block;width:100%;height:470px;object-fit:cover;border-radius:12px 65px 12px 12px}.ri-split figcaption{position:absolute;left:15px;bottom:15px;background:#0a324b;color:#fff;padding:9px 12px;font-size:11px}.ri-checks,.ri-process{padding:95px 0;background:#f3f7f9}.ri-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.ri-section-heading p{max-width:390px;color:#617584;line-height:1.7}.ri-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.ri-grid article{background:#fff;padding:30px 26px;border-radius:12px;border-top:3px solid #139bc9;box-shadow:0 8px 25px rgba(0,0,0,.04)}.ri-grid article span,.ri-steps span{color:#bb784b;font-size:12px;font-weight:800;letter-spacing:.07em}.ri-grid h3,.ri-steps h3{font-size:23px;color:#0e364e;margin:16px 0 10px}.ri-grid p,.ri-steps p{color:#627785;line-height:1.7}.ri-when ul{list-style:none;padding:0;margin:20px 0}.ri-when li{padding:10px 0;border-bottom:1px solid #e1eaf0;color:#435e6d}.ri-when li:before{content:'✓';color:#129dca;font-weight:900;margin-right:11px}.ri-when .ri-safety{font-size:13px;color:#647684}.ri-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}.ri-steps>div{border-top:2px solid #d2e2e9;padding-top:22px}.ri-faq{padding:95px 0}.ri-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.ri-faq-grid>div>p{color:#647785;line-height:1.7}.ri-faq details{padding:20px 0;border-bottom:1px solid #dce6ec}.ri-faq summary{font-weight:800;cursor:pointer;color:#0e364f}.ri-faq details p{color:#637685;line-height:1.7}.ri-related{background:#f3f7f9}.ri-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ri-related-grid a{position:relative;min-height:225px;display:flex;align-items:end;overflow:hidden;border-radius:12px;padding:22px;color:#fff;background:#0c344c}.ri-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,28,47,.91),transparent)}.ri-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ri-related-grid strong{position:relative;z-index:1;font-size:21px}.ri-disclaimer{font-size:12px;color:#677b89;margin-top:20px}.ri-cta{background:#092e48;padding:75px 0;color:#fff}.ri-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ri-cta h2{color:#fff}.ri-cta p{color:#d6e5ec}
@media(max-width:900px){.ri-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.ri-hero{min-height:530px;background-position:60% center}.ri-hero-inner{padding:75px 0}.ri-intro,.ri-when,.ri-related,.ri-checks,.ri-process,.ri-faq{padding:62px 0}.ri-split,.ri-grid,.ri-steps,.ri-faq-grid,.ri-related-grid{grid-template-columns:1fr}.ri-section-heading,.ri-cta-inner{display:block}.ri-split figure img{height:320px}.ri-cta .btn{margin-top:18px}}


/* v2.8 Jet Washing */
.jw-page{overflow:hidden}.jw-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#bf7847}.jw-hero{min-height:620px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.8) 55%,rgba(4,28,46,.2)),url('assets/images/jet-washing.webp') center/cover;color:white}.jw-hero-inner{padding:100px 0}.jw-hero .jw-kicker{color:#9bdced}.jw-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.05;letter-spacing:-.045em;color:#fff;max-width:900px;margin:25px 0}.jw-hero h1 span{color:#99daed}.jw-hero p{font-size:18px;color:#e1edf3;line-height:1.75;max-width:630px}.jw-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}.jw-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9bdced;padding-bottom:6px}.jw-image-note{position:absolute;right:20px;bottom:15px;color:#e1edf3;font-size:11px}.jw-intro,.jw-feature,.jw-related{padding:95px 0}.jw-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.jw-page h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0b3149;margin:15px 0 25px}.jw-page h2 em{font-style:normal;color:#1799c6}.jw-intro p,.jw-feature p{color:#617582;line-height:1.8}.jw-intro .jw-lead{font-size:19px;font-weight:650;color:#2b4a5d}.jw-text-link{display:inline-block;border-bottom:2px solid #14a2d0;color:#0b3852;font-weight:800;padding:10px 0}.jw-split figure{position:relative;margin:0}.jw-split figure img{display:block;width:100%;height:470px;object-fit:cover;border-radius:12px 65px 12px 12px}.jw-split figcaption{position:absolute;left:15px;bottom:15px;background:#0a344d;color:#fff;padding:9px 12px;font-size:11px}.jw-services,.jw-steps{background:#f3f7f9;padding:95px 0}.jw-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.jw-section-head p{max-width:400px;color:#647986;line-height:1.7}.jw-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.jw-cards article{padding:30px 26px;background:white;border-radius:12px;border-top:3px solid #149fca;box-shadow:0 8px 25px rgba(0,0,0,.04)}.jw-cards span,.jw-step-grid span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#be7848}.jw-cards h3,.jw-step-grid h3{font-size:23px;color:#0c354d;margin:16px 0 10px}.jw-cards p,.jw-step-grid p{color:#657987;line-height:1.7}.jw-feature ul{list-style:none;padding:0;margin:22px 0 30px}.jw-feature li{padding:11px 0;border-bottom:1px solid #e0e9ef;color:#425d6c}.jw-feature li:before{content:'✓';color:#129dcc;font-weight:900;margin-right:11px}.jw-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.jw-step-grid>div{border-top:2px solid #d2e3eb;padding-top:22px}.jw-faq{padding:95px 0}.jw-faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.jw-faq-grid>div>p{color:#667987;line-height:1.7}.jw-faq details{padding:20px 0;border-bottom:1px solid #dce6ec}.jw-faq summary{cursor:pointer;font-weight:800;color:#0c354d}.jw-faq details p{color:#647785;line-height:1.7}.jw-related{background:#f3f7f9}.jw-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.jw-related-grid a{position:relative;display:flex;align-items:end;min-height:225px;padding:22px;border-radius:12px;overflow:hidden;background:#0c344d;color:white}.jw-related-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,46,.9),transparent)}.jw-related-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.jw-related-grid strong{position:relative;z-index:1;font-size:21px}.jw-disclaimer{font-size:12px;color:#687b88;margin-top:20px}.jw-cta{background:#092e48;color:white;padding:75px 0}.jw-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.jw-cta h2{color:#fff}.jw-cta p{color:#d6e5ec}
@media(max-width:900px){.jw-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.jw-hero{min-height:540px;background-position:60% center}.jw-hero-inner{padding:75px 0}.jw-intro,.jw-feature,.jw-services,.jw-steps,.jw-faq,.jw-related{padding:62px 0}.jw-split,.jw-cards,.jw-step-grid,.jw-faq-grid,.jw-related-grid{grid-template-columns:1fr}.jw-section-head,.jw-cta-inner{display:block}.jw-split figure img{height:325px}.jw-cta .btn{margin-top:18px}}


/* v2.9 Gallery */
.cg-page{overflow:hidden}.cg-eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#c17c4b;text-transform:uppercase}.cg-hero{background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.83) 55%,rgba(4,28,46,.35)),url('assets/images/roofing-home.webp') center/cover;min-height:510px;display:flex;align-items:center;color:white}.cg-hero-inner{padding:100px 0}.cg-hero .cg-eyebrow{color:#9edbed}.cg-hero h1{font-size:clamp(43px,6vw,77px);line-height:1.07;letter-spacing:-.045em;color:white;max-width:850px;margin:23px 0}.cg-hero h1 span{color:#9bd9ed}.cg-hero p{color:#e1edf2;line-height:1.75;font-size:18px;max-width:680px;margin-bottom:28px}.cg-intro{padding:72px 0;background:white}.cg-intro-inner{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8%}.cg-page h2{font-size:clamp(33px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0b3149;margin:14px 0}.cg-intro-inner>p{color:#607583;line-height:1.75}.cg-main{background:#f3f7f9;padding:85px 0}.cg-filter-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}.cg-filters{display:flex;gap:8px;flex-wrap:wrap}.cg-filter{border:1px solid #cbdce5;background:white;color:#244b60;border-radius:99px;padding:11px 17px;font-weight:700;cursor:pointer;font:inherit;font-size:13px}.cg-filter.is-active,.cg-filter:hover{background:#0b344d;color:white;border-color:#0b344d}.cg-filter:focus-visible{outline:3px solid #e59c57;outline-offset:2px}.cg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.cg-item{background:white;border-radius:13px;overflow:hidden;box-shadow:0 9px 28px rgba(12,49,72,.07)}.cg-item[hidden]{display:none!important}.cg-photo{position:relative;display:block;overflow:hidden;aspect-ratio:1.35;background:#153a50}.cg-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.cg-photo:hover img{transform:scale(1.055)}.cg-view{position:absolute;bottom:14px;right:14px;padding:10px 14px;background:#fff;color:#0c3b55;border-radius:6px;font-size:12px;font-weight:800}.cg-item-bottom{padding:20px 21px 23px}.cg-item-bottom h3{font-size:21px;color:#0a334d;margin:0 0 6px}.cg-item-bottom span{font-size:12px;color:#748592}.cg-honesty{margin-top:38px;padding:23px 28px;border-left:3px solid #d18c53;background:#fff}.cg-honesty strong{color:#0c344d}.cg-honesty p{color:#657885;line-height:1.7;margin:7px 0 0}.cg-why{padding:90px 0}.cg-why-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.cg-why p{color:#627582;line-height:1.75}.cg-why .btn{margin-top:16px}.cg-why img{width:100%;height:390px;object-fit:cover;border-radius:14px 65px 14px 14px}.cg-cta{background:#092e48;color:white;padding:72px 0}.cg-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cg-cta h2{color:#fff}.cg-cta p{color:#d6e5eb}
@media(max-width:950px){.cg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-filter-head{display:block}.cg-filters{margin-top:18px}}
@media(max-width:650px){.cg-hero{min-height:480px}.cg-hero-inner{padding:75px 0}.cg-intro,.cg-main,.cg-why{padding:58px 0}.cg-intro-inner,.cg-grid,.cg-why-inner{grid-template-columns:1fr}.cg-why img{height:300px}.cg-cta-inner{display:block}.cg-cta .btn{margin-top:18px}.cg-filter{padding:10px 12px}}


/* v3.0 Areas We Cover */
.ca-page{overflow:hidden}.ca-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#bd794b}.ca-hero{min-height:580px;display:flex;align-items:center;position:relative;color:#fff;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.81) 55%,rgba(4,28,46,.28)),url('assets/images/roofing-home.webp') center/cover}.ca-hero-inner{padding:90px 0}.ca-hero .ca-kicker{color:#a2dcec}.ca-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-.045em;color:#fff;max-width:870px;margin:24px 0}.ca-hero h1 span{color:#9bd9ed}.ca-hero p{font-size:18px;color:#e0edf3;line-height:1.75;max-width:670px}.ca-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}.ca-actions>a:not(.btn){color:#fff;border-bottom:1px solid #9bd9ed;padding-bottom:6px}.ca-caption{position:absolute;right:20px;bottom:15px;color:#dce9ef;font-size:11px}.ca-page h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.04em;color:#0b3149;margin:15px 0 25px}.ca-intro{padding:75px 0}.ca-intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.ca-intro-inner>p{color:#617481;line-height:1.75}.ca-locations{background:#f3f7f9;padding:90px 0}.ca-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.ca-location{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(10,48,72,.06)}.ca-location-image{height:280px;position:relative;background:#123b54}.ca-location-image img{width:100%;height:100%;object-fit:cover;display:block}.ca-location-image span{position:absolute;left:20px;top:20px;background:#092f48;color:#fff;font-size:12px;letter-spacing:.09em;padding:10px 14px}.ca-location-body{padding:30px}.ca-location-body h3{font-size:32px;color:#0b344d;margin:0 0 15px}.ca-location-body p{color:#617683;line-height:1.75}.ca-location-body a{display:inline-block;margin-top:12px;font-weight:800;color:#0b3b54;border-bottom:2px solid #1ba1cd;padding-bottom:7px}.ca-location-note{font-size:12px;color:#6b7d89;margin-top:23px}.ca-services{padding:90px 0}.ca-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ca-services-grid a{display:flex;flex-direction:column;gap:12px;background:#f3f7f9;border-radius:12px;border-top:3px solid #1a9fcb;padding:25px}.ca-services-grid strong{color:#0b344d;font-size:21px}.ca-services-grid span{color:#607888;font-size:14px}.ca-process{background:#f3f7f9;padding:90px 0}.ca-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.ca-steps>div{border-top:2px solid #cfdee6;padding-top:22px}.ca-steps span{color:#bd794b;font-size:13px;font-weight:800}.ca-steps h3{color:#0b344d;font-size:22px;margin:15px 0}.ca-steps p{color:#617583;line-height:1.7}.ca-faq{padding:90px 0}.ca-faq-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.ca-faq details{padding:20px 0;border-bottom:1px solid #dbe6ec}.ca-faq summary{font-weight:800;color:#0b344d;cursor:pointer}.ca-faq details p{color:#647784;line-height:1.7}.ca-cta{background:#092e48;color:#fff;padding:75px 0}.ca-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ca-cta h2{color:#fff}.ca-cta p{color:#d4e4ec}
@media(max-width:850px){.ca-services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.ca-hero{min-height:520px}.ca-hero-inner{padding:75px 0}.ca-intro,.ca-locations,.ca-services,.ca-process,.ca-faq{padding:60px 0}.ca-intro-inner,.ca-location-grid,.ca-services-grid,.ca-steps,.ca-faq-inner{grid-template-columns:1fr}.ca-cta-inner{display:block}.ca-cta .btn{margin-top:18px}.ca-location-image{height:220px}}

/* v3.1 nearby towns on Areas We Cover */
.ca-nearby{padding:90px 0;background:#fff}.ca-nearby h2{max-width:850px}.ca-nearby-intro{color:#637886;line-height:1.75;max-width:770px}.ca-nearby-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:34px 0}.ca-nearby-group{background:#f3f7f9;border-top:4px solid #159ecb;padding:30px;border-radius:12px}.ca-nearby-group h3{color:#0b344d;font-size:25px;margin:0 0 22px}.ca-nearby-group ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.ca-nearby-group li{color:#345468;font-size:15px;line-height:1.4;padding-left:16px;position:relative}.ca-nearby-group li:before{content:'•';position:absolute;left:0;color:#149fca}.ca-nearby-foot{background:#0b344d;border-radius:12px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.ca-nearby-foot p{margin:0;color:#e2edf2;line-height:1.65}.ca-nearby-foot strong{color:#fff}.ca-nearby-foot .btn{white-space:nowrap}
@media(max-width:700px){.ca-nearby{padding:60px 0}.ca-nearby-columns{grid-template-columns:1fr}.ca-nearby-group{padding:24px}.ca-nearby-foot{display:block}.ca-nearby-foot .btn{margin-top:18px}}


/* v3.2 dedicated FAQ page */
.fq-page{overflow:hidden}.fq-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#c17b48}.fq-hero{min-height:540px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.84) 55%,rgba(4,28,46,.28)),url('assets/images/roofing-home.webp') center/cover;color:#fff}.fq-hero-inner{padding:95px 0}.fq-hero .fq-kicker{color:#9fdbea}.fq-hero h1{font-size:clamp(43px,6vw,76px);line-height:1.06;letter-spacing:-.045em;color:white;margin:25px 0}.fq-hero h1 span{color:#9edbed}.fq-hero p:not(.fq-kicker){font-size:18px;line-height:1.75;color:#e2edf3;max-width:620px;margin-bottom:28px}.fq-photo-note{position:absolute;right:20px;bottom:15px;color:#e0ebf1;font-size:11px}.fq-page h2{font-size:clamp(32px,4vw,50px);line-height:1.14;letter-spacing:-.04em;color:#0b3149;margin:14px 0}.fq-page h2 em{font-style:normal;color:#1698c7}.fq-intro{padding:75px 0}.fq-intro-inner{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8%}.fq-intro-inner>p{color:#617684;line-height:1.8}.fq-content{background:#f3f7f9;padding:40px 0 90px;scroll-margin-top:100px}.fq-nav{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 35px;border-bottom:1px solid #dce6ed}.fq-nav a{background:#fff;border:1px solid #d4e3eb;border-radius:99px;padding:11px 18px;color:#19465e;font-size:13px;font-weight:750}.fq-nav a:hover,.fq-nav a:focus-visible{background:#0b344d;color:white}.fq-group{display:grid;grid-template-columns:.85fr 1.5fr;gap:8%;padding:45px 0;border-bottom:1px solid #d9e5eb;scroll-margin-top:100px}.fq-group-heading{position:relative}.fq-group-heading span{font-size:13px;color:#c07a46;font-weight:800}.fq-group-heading h2{font-size:clamp(28px,3vw,39px)}.fq-questions details{background:#fff;border-radius:9px;margin-bottom:10px;border:1px solid #e3ebef;overflow:hidden}.fq-questions summary{list-style:none;cursor:pointer;position:relative;padding:20px 48px 20px 23px;font-weight:750;color:#0d354e;line-height:1.5}.fq-questions summary::-webkit-details-marker{display:none}.fq-questions summary:after{content:'+';position:absolute;right:20px;top:17px;font-size:24px;color:#129bca}.fq-questions details[open] summary:after{content:'−'}.fq-questions details[open]{border-color:#c6e2ed}.fq-answer{padding:0 23px 20px}.fq-answer p{margin:0;color:#607583;line-height:1.75}.fq-advice{margin-top:42px;background:#0c344d;color:white;border-radius:12px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.fq-advice strong{font-size:23px}.fq-advice p{color:#d9e7ed;margin:9px 0 0}.fq-links{padding:85px 0}.fq-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:30px}.fq-service-grid a{display:flex;flex-direction:column;gap:12px;justify-content:space-between;background:#f2f7f9;border-radius:10px;padding:26px 20px;min-height:140px;border-top:3px solid #139bc7}.fq-service-grid strong{color:#0c344d;font-size:20px}.fq-service-grid span{color:#537286;font-size:13px}.fq-cta{background:#092e48;color:white;padding:75px 0}.fq-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.fq-cta h2{color:white}.fq-cta p{color:#d9e5ed}
@media(max-width:900px){.fq-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.fq-hero{min-height:490px}.fq-hero-inner{padding:75px 0}.fq-intro,.fq-links{padding:60px 0}.fq-intro-inner,.fq-group{grid-template-columns:1fr;gap:15px}.fq-group{padding:35px 0}.fq-content{padding-bottom:60px}.fq-advice,.fq-cta-inner{display:block}.fq-advice .btn,.fq-cta .btn{margin-top:20px}.fq-service-grid{grid-template-columns:1fr}}


/* v3.3 Contact page */
.ct-page{overflow:hidden}.ct-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#c27b48}.ct-hero{min-height:530px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(4,28,46,.97),rgba(4,28,46,.83) 54%,rgba(4,28,46,.26)),url('assets/images/roofing-home.webp') center/cover;color:#fff}.ct-hero-inner{padding:95px 0}.ct-hero .ct-kicker{color:#9bdbea}.ct-hero h1{font-size:clamp(44px,6vw,77px);letter-spacing:-.045em;line-height:1.07;color:#fff;margin:25px 0}.ct-hero h1 span{color:#9ddbea}.ct-hero p{font-size:18px;line-height:1.75;color:#e2edf3;max-width:640px;margin-bottom:28px}.ct-img-caption{position:absolute;bottom:15px;right:20px;color:#e2edf3;font-size:11px}.ct-page h2{font-size:clamp(33px,4vw,51px);line-height:1.13;letter-spacing:-.04em;color:#0b3149;margin:14px 0 22px}.ct-content{padding:95px 0;background:#f3f7f9;scroll-margin-top:90px}.ct-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.85fr);gap:35px;align-items:start}.ct-form-panel{padding:40px;background:#fff;border-radius:15px;box-shadow:0 14px 35px rgba(6,45,67,.06)}.ct-form-lead{color:#627683;line-height:1.7;margin-bottom:30px}.ct-form{display:grid;gap:19px}.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ct-form label{display:flex;flex-direction:column;gap:9px;font-weight:750;font-size:14px;color:#173d55}.ct-form input:not([type=checkbox]),.ct-form select,.ct-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfdee6;background:#fbfdfe;border-radius:8px;padding:14px 15px;font:inherit;font-weight:400;color:#173d55;min-height:49px}.ct-form textarea{resize:vertical;min-height:145px}.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:2px solid #169dcc;outline-offset:1px}.ct-form .ct-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-weight:500;color:#536c7a;line-height:1.6}.ct-consent input{margin-top:5px;accent-color:#0b8db8}.ct-form .btn{cursor:pointer;justify-self:start}.ct-form-note{font-size:12px;color:#718491;line-height:1.6;margin:0}.ct-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ct-notice{padding:16px 20px;border-radius:8px;margin:15px 0 25px;line-height:1.6}.ct-success{background:#e9f5ed;color:#17582d}.ct-error{background:#fff0eb;color:#923f26}.ct-side{display:grid;gap:22px}.ct-side-photo{position:relative;border-radius:14px;overflow:hidden}.ct-side-photo img{display:block;width:100%;height:265px;object-fit:cover}.ct-side-photo span{position:absolute;bottom:12px;left:12px;padding:8px 10px;background:#0b344d;color:#fff;font-size:11px}.ct-side-card{padding:29px;background:#fff;border-radius:12px;border-top:3px solid #159bc9}.ct-side-card h3{font-size:25px;line-height:1.2;color:#0b344d;margin:14px 0}.ct-side-card p{color:#617582;line-height:1.75}.ct-side-card a{font-weight:800;color:#0b6e96}.ct-side-card.ct-help{background:#0b344d}.ct-help h3{color:#fff}.ct-help p{color:#d9e6ec}.ct-help a{color:#9bdbea}.ct-steps{padding:90px 0}.ct-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:35px}.ct-step-grid>div{border-top:2px solid #d5e3ea;padding-top:22px}.ct-step-grid span{color:#bf7b49;font-weight:800}.ct-step-grid h3{font-size:23px;color:#0b344d;margin:14px 0 10px}.ct-step-grid p{color:#627784;line-height:1.7}.ct-faq{padding:90px 0;background:#f3f7f9}.ct-faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.ct-faq-layout>div>p{color:#627582;line-height:1.7}.ct-faq details{padding:20px 0;border-bottom:1px solid #d7e4ea}.ct-faq summary{cursor:pointer;color:#0b344d;font-weight:800}.ct-faq details p{color:#607583;line-height:1.7}.ct-cta{background:#092e48;padding:75px 0;color:white}.ct-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ct-cta h2{color:white}.ct-cta p{color:#d6e6ed}
@media(max-width:900px){.ct-layout{grid-template-columns:1fr}.ct-side{grid-template-columns:repeat(2,1fr)}.ct-side-photo{grid-column:1/-1}}
@media(max-width:700px){.ct-hero{min-height:480px}.ct-hero-inner{padding:75px 0}.ct-content,.ct-steps,.ct-faq{padding:60px 0}.ct-form-panel{padding:24px}.ct-form-row,.ct-step-grid,.ct-faq-layout,.ct-side{grid-template-columns:1fr}.ct-side-photo{grid-column:auto}.ct-cta-inner{display:block}.ct-cta .btn{margin-top:18px}}


/* v3.4: improved header and tap-to-call actions */
.topbar .wrap{gap:18px}.topbar-phone{color:#fff;font-size:13px;white-space:nowrap}.topbar-phone strong{color:#9edced;font-size:14px;letter-spacing:.02em}.topbar-phone:hover{text-decoration:underline}.header .header-inner{gap:18px}.header-actions{display:flex;align-items:center;gap:13px;flex-shrink:0}.header-phone{display:flex;align-items:center;gap:9px;color:#092e48;border-right:1px solid #dbe7ee;padding-right:14px}.header-phone:hover strong{color:#0a96c3}.header-phone-icon{display:grid;place-items:center;width:37px;height:37px;background:#e8f7fc;color:#087eab;border-radius:50%;font-size:17px}.header-phone-copy{display:flex;flex-direction:column;line-height:1.2;gap:3px}.header-phone-copy small{font-size:11px;color:#647c8c;font-weight:600}.header-phone-copy strong{font-size:17px;letter-spacing:-.02em;white-space:nowrap}.header .header-quote{padding:12px 16px;font-size:13px}.mobile-call{display:none}.header .nav{gap:15px}.header .nav a{font-size:13px}.header .brand img{width:145px}
@media(max-width:1100px){.header .header-quote{display:none}.header-phone{border-right:0;padding-right:0}.header .nav{gap:11px}.header .nav a{font-size:12px}}
@media(max-width:900px){.header .header-inner{gap:12px;min-height:78px}.header .brand img{width:133px;max-height:72px}.header-actions{display:none}.mobile-call{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border-radius:999px;background:#eaf7fb;color:#075a7b;padding:10px 14px;font-weight:800;font-size:14px}.mobile-toggle{background:transparent;border:1px solid #dce8ed;border-radius:8px;line-height:1;padding:9px 12px;color:#0b344d;cursor:pointer}.header .nav a{font-size:15px}}
@media(max-width:380px){.header .brand img{width:110px}.mobile-call{padding:9px 11px;font-size:13px}.mobile-toggle{padding:8px 10px}}

/* v3.5: remove native list bullets and theme/plugin list markers from navigation */
.header ul.nav,.header ul.nav ul,.header .nav,.header .nav .sub-menu{list-style:none!important;list-style-type:none!important;margin:0;padding-left:0;}
.header ul.nav>li,.header .nav li,.header .nav .sub-menu li{list-style:none!important;list-style-type:none!important;}
.header ul.nav li::marker,.header .nav li::marker{content:''!important;font-size:0!important;}
.header ul.nav li::before,.header .nav li::before{content:none!important;display:none!important;}
.header .nav>li{margin:0;padding:0;}
@media(min-width:901px){.header ul.nav{display:flex;align-items:center;gap:15px;}}
@media(max-width:900px){.header ul.nav{padding:22px;}.header ul.nav:not(.open){display:none;}.header ul.nav.open{display:flex;}}


/* v3.6 premium global footer */
.cf-prefooter{background:linear-gradient(110deg,#073a58 0%,#0b6485 100%);color:#fff;padding:70px 0}.cf-prefooter-inner{display:flex;align-items:center;justify-content:space-between;gap:55px}.cf-overline{display:block;color:#91def3;letter-spacing:.15em;font-size:12px;font-weight:800}.cf-prefooter h2{color:#fff;font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-.035em;margin:14px 0}.cf-prefooter p{max-width:650px;color:#d5eaf2;line-height:1.75;margin:0}.cf-prefooter-actions{display:grid;gap:14px;min-width:235px;text-align:center}.cf-prefooter-actions .btn{white-space:nowrap}.cf-call-cta{border:1px solid rgba(255,255,255,.6);padding:13px 18px;border-radius:99px;color:#fff;font-weight:800}.cf-call-cta:hover{background:#fff;color:#073a58}.cf-footer{background:#061f33;color:#e4eef3;padding:75px 0 0}.cf-main{display:grid;grid-template-columns:1.5fr .8fr 1.05fr 1.15fr;gap:38px}.cf-footer .cf-logo{width:185px;max-height:110px;object-fit:contain;object-position:left center}.cf-brand-col p,.cf-area-col p{color:#aec4d0;font-size:14px;line-height:1.8;margin:19px 0}.cf-brand-phone{display:inline-flex;align-items:center;color:#fff;font-size:19px;font-weight:800;margin-top:9px}.cf-footer h3{font-size:16px;color:#fff;margin:10px 0 22px;font-weight:800}.cf-footer ul{list-style:none!important;margin:0!important;padding:0!important}.cf-footer li{margin:0 0 12px!important;padding:0!important;list-style:none!important}.cf-footer li::before,.cf-footer li::marker{content:none!important;display:none!important}.cf-footer li a,.cf-area-link{color:#bdd1dc;font-size:14px;line-height:1.6}.cf-footer a:hover{color:#65d2f4}.cf-area-link{color:#7cdbf6;font-weight:800}.cf-contact-block{border-top:1px solid rgba(255,255,255,.16);margin-top:22px;padding-top:21px;display:flex;flex-direction:column;gap:8px}.cf-contact-block span{font-size:12px;color:#a5bdcb}.cf-contact-block a{color:#e8f3f7;font-size:14px}.cf-contact-block a:first-of-type{font-size:19px;font-weight:800}.cf-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:60px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#a8c0cd;font-size:12px}.cf-bottom a{color:#fff;font-weight:700}
@media(max-width:1050px){.cf-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.cf-prefooter-inner{gap:30px}}
@media(max-width:700px){.cf-prefooter{padding:55px 0}.cf-prefooter-inner{display:block}.cf-prefooter-actions{margin-top:28px;max-width:320px}.cf-footer{padding-top:55px}.cf-main{grid-template-columns:1fr 1fr;gap:35px 20px}.cf-brand-col,.cf-area-col{grid-column:1/-1}.cf-bottom{display:flex;flex-direction:column;align-items:flex-start;margin-top:40px}.cf-footer h3{margin-top:0}}
@media(max-width:400px){.cf-main{grid-template-columns:1fr}.cf-brand-col,.cf-area-col{grid-column:auto}}
