:root{--pink:#FF589F;--navy:#133246;--gray:#6b7785;--light:#F2F6F9;--ink:#1d2430;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff;font-size:18px;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--pink);}
.container{max-width:1080px;margin:0 auto;}
main{max-width:none;margin:0;}
/* full-bleed bands: background spans full width, content centers at 1080 via gutter padding */
section{padding:64px max(28px, calc((100% - 1080px) / 2));}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:12px max(28px, calc((100% - 1080px) / 2));border-bottom:3px solid var(--pink);position:sticky;top:0;background:var(--navy);z-index:10;}
.logo{font-weight:900;font-size:26px;letter-spacing:1px;color:var(--navy);text-decoration:none;display:flex;align-items:center;}
.logo span{color:var(--pink);}
.logo img,.site-header .custom-logo{height:80px;width:auto;max-width:300px;object-fit:contain;display:block;}
.logo .custom-logo-link{display:block;line-height:0;}
.site-nav{display:flex;gap:6px;flex-wrap:wrap;}
.site-nav a,.nav-list a{color:#fff;text-decoration:none;font-size:16px;font-weight:bold;margin:0 10px;}
.nav-list{display:flex;list-style:none;gap:6px;}
.callbtn{background:var(--pink);color:#fff;padding:11px 20px;border-radius:6px;font-weight:bold;font-size:16px;text-decoration:none;white-space:nowrap;}

/* hero */
.hero{background:linear-gradient(120deg,var(--navy),#1a4060);color:#fff;padding:72px max(28px, calc((100% - 1080px) / 2)) 22px;display:flex;gap:48px;align-items:center;flex-wrap:wrap;}
.hero-txt{flex:1.6 1 380px;min-width:320px;}
.eyebrow{color:var(--pink);font-weight:bold;text-transform:uppercase;letter-spacing:1.5px;font-size:14px;}
.hero h1,.hero h2.hero-tagline{font-size:46px;line-height:1.12;margin:12px 0 16px;}
.hero h1 em,.hero h2.hero-tagline em{color:var(--pink);font-style:normal;}
.hero .lead{font-size:19px;color:#d7e0e8;max-width:560px;}
.cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
.btn-pink{background:var(--pink);color:#fff;padding:16px 28px;border-radius:7px;font-weight:bold;text-decoration:none;font-size:17px;}
.btn-ghost{border:2px solid #fff;color:#fff;padding:14px 26px;border-radius:7px;font-weight:bold;text-decoration:none;font-size:17px;}
.btn-white{background:#fff;color:var(--pink);padding:16px 32px;border-radius:7px;font-weight:bold;text-decoration:none;font-size:19px;}
.hero-visual{flex:1 1 340px;max-width:440px;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.25);}
.hero-visual img{width:100%;height:100%;max-height:360px;object-fit:cover;display:block;}
/* hero inline quote form */
.hero-form{flex:1 1 340px;max-width:420px;background:#fff;border-radius:14px;padding:26px 26px 22px;box-shadow:0 14px 34px rgba(0,0,0,.28);}
.hero-form h3{color:var(--navy);font-size:23px;margin-bottom:4px;}
.hero-form .sub{color:var(--gray);font-size:14px;margin-bottom:10px;}
.hero-form label{display:block;font-size:13px;font-weight:bold;color:var(--navy);margin:10px 0 4px;}
.hero-form input{width:100%;padding:12px;border:1px solid #cdd8e2;border-radius:7px;font-size:16px;font-family:inherit;}
.hero-form button{width:100%;margin-top:16px;background:var(--pink);color:#fff;border:0;border-radius:7px;padding:15px;font-size:17px;font-weight:bold;cursor:pointer;}
.hero-form button:hover{background:#e84890;}
.hero-form .callalt{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--gray);}
.hero-form .callalt a{color:var(--navy);font-weight:bold;text-decoration:none;}
/* reviews widget */
.reviews-widget{max-width:1080px;margin:0 auto;min-height:200px;}

/* trust strip */
.trust{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;background:var(--navy);padding:24px max(20px, calc((100% - 1120px) / 2));margin-top:0;border-top:1px solid rgba(255,255,255,.10);}
.chip{background:#fff;border:1px solid #d4dde6;border-radius:30px;padding:8px 14px;font-size:14px;font-weight:bold;color:var(--navy);white-space:nowrap;}

/* section headings */
.sec-h{text-align:center;margin-bottom:34px;}
.sec-h h2{color:var(--navy);font-size:36px;margin-top:6px;line-height:1.15;}
.sec-h p{color:var(--gray);max-width:640px;margin:12px auto 0;font-size:18px;}

/* spotlight */
.spotlight{background:linear-gradient(135deg,var(--navy),#1d4a66);color:#fff;border-radius:16px;padding:52px 48px;text-align:center;box-shadow:0 18px 44px rgba(19,50,70,.22);border:1px solid rgba(255,255,255,.06);}
.spotlight .badge{background:var(--pink);color:#fff;font-size:13px;font-weight:bold;padding:7px 16px;border-radius:20px;display:inline-block;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;}
.spotlight h3{font-size:36px;margin-bottom:14px;line-height:1.12;}
.spotlight p{color:#cdd8e2;max-width:640px;margin:0 auto 22px;font-size:18px;}
.spotlight .spot-link{color:#fff;font-weight:bold;text-decoration:none;font-size:17px;border:2px solid var(--pink);padding:12px 26px;border-radius:8px;display:inline-block;}
.spotlight .spot-link:hover{background:var(--pink);}
.video-facade{position:relative;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:10px;cursor:pointer;}
.video-facade .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(255,88,159,.92);color:#fff;border-radius:50%;font-size:24px;padding-left:5px;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:.15s;}
.video-facade:hover .play-btn{background:var(--pink);transform:translate(-50%,-50%) scale(1.08);}

/* grids */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc{display:block;border:1px solid #e0e6ec;border-radius:10px;padding:26px;text-decoration:none;color:inherit;transition:.15s;}
a.svc:hover{border-color:var(--pink);box-shadow:0 6px 18px rgba(255,88,159,.15);transform:translateY(-2px);}
.svc h4{color:var(--navy);font-size:19px;}
.svc p{color:var(--gray);font-size:15px;margin-top:7px;}
.svc .arrow{color:var(--pink);font-weight:bold;font-size:15px;display:inline-block;margin-top:10px;}
.svc-feature{background:linear-gradient(135deg,var(--navy),#1d4a66);border-color:transparent!important;color:#fff;position:relative;box-shadow:0 10px 28px rgba(19,50,70,.18);}
a.svc-feature:hover{border-color:transparent!important;box-shadow:0 14px 34px rgba(19,50,70,.30);}
.svc-feature h4{color:#fff;}
.svc-feature p{color:#cdd8e2;}
.svc-feature .arrow{color:#fff;}
.svc-badge{position:absolute;top:14px;right:14px;background:var(--pink);color:#fff;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:20px;}
.archive-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;max-width:1100px;margin:14px auto 34px;}
.archive-trust .chip{font-size:13px;padding:6px 13px;}
.trust .chip,.archive-trust .chip{border-top:3px solid var(--pink);}
.svccard{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.svccard .svc-thumb{position:relative;aspect-ratio:16/10;background:#eef3f7;overflow:hidden;}
.svccard .svc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.svccard .svc-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--navy),#1d4a66);}
.svccard .svc-ph svg{width:42px;height:42px;stroke:var(--pink);}
.svccard .svc-ph em{font-style:normal;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.6);}
.svccard .svc-badge{top:12px;left:12px;right:auto;}
.svccard .svc-body{padding:24px;}
.founder{display:flex;gap:44px;align-items:center;flex-wrap:wrap;}
.founder-photo{flex:0 0 360px;max-width:380px;}
.founder-photo img{width:100%;height:380px;object-fit:cover;object-position:center 18%;border-radius:14px;display:block;box-shadow:0 14px 34px rgba(0,0,0,.16);}
.founder-bio{flex:1 1 380px;}
.founder-bio p{color:#444;font-size:17px;line-height:1.65;margin-bottom:14px;}
.about-portrait{max-width:400px;float:right;margin:4px 0 20px 32px;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.14);}
.about-portrait img{width:100%;height:auto;display:block;}
@media(max-width:680px){.about-portrait{float:none;max-width:none;margin:0 0 20px;}}
.entry ul.area-links{list-style:none;margin:14px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.entry ul.area-links li{margin:0;padding:0;}
.entry ul.area-links li::before{display:none;}
.entry ul.area-links a{display:inline-flex;align-items:center;gap:7px;background:var(--light);border:1px solid #dbe4ec;border-radius:30px;padding:9px 16px;color:var(--navy);font-weight:bold;text-decoration:none;font-size:15px;transition:.15s;}
.entry ul.area-links a:hover{border-color:var(--pink);color:var(--pink);}
.entry ul.area-links svg{width:16px;height:16px;fill:var(--pink);flex:none;}
@media(max-width:760px){.founder-photo{flex:1 1 100%;max-width:none;}.founder-photo img{height:300px;}}
.why{background:var(--light);}
.why-card{background:#fff;border-radius:10px;padding:28px;border-top:4px solid var(--pink);}
.why-card h4{color:var(--navy);font-size:19px;margin-bottom:8px;}
.why-card p{color:var(--gray);font-size:15px;}

/* reviews */
.rev{border:1px solid #e0e6ec;border-radius:10px;padding:24px;}
.stars{color:var(--pink);letter-spacing:2px;font-size:18px;}
.rev p{font-size:15px;color:#444;margin:10px 0;}
.rev .who{font-size:13px;color:var(--gray);font-weight:bold;}
.rev-note{text-align:center;color:var(--gray);font-size:14px;margin-top:22px;}

/* blog teaser */
.post-card{display:block;border:1px solid #e0e6ec;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:.15s;}
.post-card:hover{border-color:var(--pink);box-shadow:0 6px 18px rgba(255,88,159,.15);}
.post-card .card-img{display:block;width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;}
.post-card .card-body{display:block;padding:18px 20px;}
.post-card h4{color:var(--navy);font-size:18px;}
.post-card p{color:var(--gray);font-size:15px;margin:6px 0 10px;}
.post-card .read{color:var(--pink);font-weight:bold;font-size:15px;}

/* cta band */
.cta-band{background:linear-gradient(120deg,var(--pink),#ff7eb3);color:#fff;text-align:center;}
.cta-band h2{font-size:34px;}
.cta-band p{margin:10px 0 22px;font-size:18px;}
.cta-band .hero-form{max-width:460px;margin:0 auto;text-align:left;box-shadow:0 16px 40px rgba(0,0,0,.20);}
.cta-band .callalt{display:block;text-align:center;margin-top:12px;color:#fff;font-size:14px;}
.cta-band .callalt a{color:#fff;font-weight:bold;}
.btn-navy-outline{display:inline-block;border:2px solid var(--navy);color:var(--navy);padding:12px 26px;border-radius:8px;font-weight:bold;text-decoration:none;margin-top:4px;}
.btn-navy-outline:hover{background:var(--navy);color:#fff;}

/* archive (Services / Areas listing) */
.archive-head{text-align:center;padding:56px max(28px, calc((100% - 1080px) / 2)) 8px;}
.archive-head .eyebrow{display:block;}
.archive-head h1{color:var(--navy);font-size:38px;line-height:1.15;margin:8px 0 10px;}
.archive-head p{color:var(--gray);max-width:640px;margin:0 auto;font-size:18px;}

/* video lightbox */
.lightbox{position:fixed;inset:0;background:rgba(10,20,30,.85);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;}
.lightbox[hidden]{display:none;}
.lightbox-inner{position:relative;width:100%;max-width:920px;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-inner video,.lightbox-inner iframe{width:100%;height:100%;border:0;display:block;}
.lightbox-close{position:absolute;top:-14px;right:-14px;width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;border:3px solid #fff;font-size:22px;line-height:1;cursor:pointer;z-index:2;}
@media(max-width:600px){.lightbox-close{top:8px;right:8px;}}

/* generic page / single (About, Contact, service hubs, blog posts) */
.singular{max-width:820px;margin:0 auto;}
.singular-head{padding:40px 28px 6px;}
.singular-head h1{color:var(--navy);font-size:32px;line-height:1.15;}
.singular-hero{margin:14px 28px;border-radius:12px;overflow:hidden;}
.singular-hero img{width:100%;height:auto;display:block;}
.singular .entry{padding:8px 28px 36px;}
.singular .entry h2{color:var(--pink);font-size:21px;margin:22px 0 8px;}
.singular .entry p{margin-bottom:14px;}
.singular .entry ul{margin:0 0 16px 22px;}
.singular .entry li{margin-bottom:6px;}
.singular .cta-band{border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
#estimate{scroll-margin-top:88px;}
.svc-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:linear-gradient(135deg,var(--navy),#1d4a66);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:52px max(28px, calc((100vw - 1080px) / 2));}
.svc-hero-media{max-height:380px;}
.svc-hero .eyebrow{color:var(--pink);}
.svc-hero h1{color:#fff;font-size:36px;line-height:1.12;margin:8px 0 14px;}
.svc-hero-sub{color:rgba(255,255,255,.85);font-size:17px;line-height:1.5;margin-bottom:18px;max-width:48ch;}
.svc-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.svc-hero-chips .chip{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);}
.svc-hero-media{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0f2636;box-shadow:0 18px 44px rgba(0,0,0,.28);}
.svc-hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-hero-media .svc-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.svc-hero-media .svc-ph svg{width:46px;height:46px;stroke:var(--pink);}
.svc-hero-media .svc-ph em{font-style:normal;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);}
@media(max-width:760px){.svc-hero{grid-template-columns:1fr;gap:24px;}.svc-hero-media{order:-1;}.svc-hero h1{font-size:30px;}}
.related-svc{padding:40px 28px;border-top:1px solid #e0e6ec;}
.related-svc h2{color:var(--navy);text-align:center;font-size:24px;margin-bottom:22px;}
.related-svc .svc{padding:22px 24px;}
.svc-proof{padding:38px 28px 8px;}
.svc-proof h2{color:var(--navy);text-align:center;font-size:24px;margin-bottom:20px;}
.proof-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.proof-card{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eef3f7;margin:0;border:1px solid #e0e6ec;}
.proof-card img{width:100%;height:100%;object-fit:cover;display:block;}
.proof-card .proof-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gray);}
.proof-card .proof-ph svg{width:38px;height:38px;stroke:var(--navy);opacity:.45;}
.proof-card .proof-ph em{font-style:normal;font-size:11px;letter-spacing:1px;text-transform:uppercase;}
.proof-tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--navy);color:#fff;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.5px;padding:4px 11px;border-radius:20px;}
.proof-tag.proof-after{background:var(--pink);}
.proof-note{text-align:center;color:var(--gray);font-size:14px;margin-top:14px;}
@media(max-width:600px){.proof-pair{grid-template-columns:1fr;}}
.singular.is-post{max-width:1120px;}
.singular.is-post .post-meta{color:var(--gray);font-size:14px;margin-top:8px;}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;padding:14px 28px 40px;align-items:start;}
.post-layout .entry{padding:0;}
.post-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.toc{border:1px solid #e0e6ec;border-radius:10px;padding:18px 20px;}
.toc-h{display:block;color:var(--navy);font-weight:bold;font-size:13px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;}
#toc-nav{display:flex;flex-direction:column;gap:9px;}
#toc-nav a{color:var(--gray);font-size:14px;line-height:1.35;text-decoration:none;border-left:2px solid #e0e6ec;padding-left:12px;transition:.15s;}
#toc-nav a:hover{color:var(--pink);border-left-color:var(--pink);}
.sidebar-cta{background:linear-gradient(135deg,var(--navy),#1d4a66);color:#fff;border-radius:12px;padding:22px;}
.sidebar-cta-h{display:block;font-size:18px;font-weight:bold;margin-bottom:6px;}
.sidebar-cta p{color:rgba(255,255,255,.85);font-size:14px;margin-bottom:16px;line-height:1.45;}
.sidebar-cta .btn-pink{display:block;text-align:center;margin-bottom:10px;}
.sidebar-cta .btn-navy-outline{display:block;text-align:center;border-color:rgba(255,255,255,.5);color:#fff;margin:0;}
.sidebar-cta .btn-navy-outline:hover{background:#fff;color:var(--navy);}
.is-post .entry h2{scroll-margin-top:96px;}
.author-bio{display:flex;gap:18px;align-items:flex-start;border-top:1px solid #e0e6ec;margin-top:34px;padding-top:24px;}
.author-bio-img{width:72px;height:72px;border-radius:50%;flex:none;}
.author-bio-name{display:block;color:var(--navy);font-weight:bold;margin-bottom:5px;}
.author-bio-text p{color:var(--gray);font-size:14px;line-height:1.55;margin:0;}
@media(max-width:820px){.post-layout{grid-template-columns:1fr;gap:26px;}.post-sidebar{position:static;}}

/* service-area page */
/* NOTE: these inner sections are width-capped, so they must NOT use the full-bleed
   gutter padding from the base `section` rule (calc((100% - 1080px)/2) becomes huge on
   wide screens and crushes the 780px box to zero). Force a fixed gutter instead. */
.sa .body{max-width:780px;margin:0 auto;padding-left:28px;padding-right:28px;}
.sa .body p{margin-bottom:14px;}
.sa .zips{background:var(--light);border-left:4px solid var(--pink);padding:12px 16px;border-radius:0 6px 6px 0;}
.sa .faq{max-width:780px;margin:0 auto;padding-left:28px;padding-right:28px;}
.sa .faq h2{color:var(--navy);margin-bottom:16px;}
.qa{margin-bottom:16px;}
.qa h3{color:var(--navy);font-size:16px;}
.qa p{color:var(--gray);font-size:14px;}

/* homepage: benefit strip */
.benefits{background:var(--light);}
.benefits .grid,.feature-benefits .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.feature-benefits{flex:0 0 100%;width:100%;margin-top:8px;}
.fb-label{text-align:center;color:var(--gray);font-weight:bold;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;}
.benefit{background:#fff;border-radius:12px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border:1px solid #e6edf3;}
.benefit svg{width:34px;height:34px;flex:none;fill:var(--pink);}
.benefit h4{color:var(--navy);font-size:15px;line-height:1.25;}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.step{text-align:center;}
.step .num{width:54px;height:54px;border-radius:50%;background:var(--navy);color:#fff;font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.step h4{color:var(--navy);font-size:17px;margin-bottom:5px;}
.step p{color:var(--gray);font-size:14px;}

/* why-reinsulate feature (2-col) */
.feature{display:flex;gap:44px;align-items:center;flex-wrap:wrap;}
.feature .sec-h{flex:0 0 100%;width:100%;}
.feature .ftxt{flex:1.1 1 360px;}
.feature .fcol{flex:1 1 340px;max-width:480px;display:flex;flex-direction:column;gap:18px;}
.feature .fimg{border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.12);}
.feature .fimg img{width:100%;height:100%;max-height:380px;object-fit:cover;display:block;}
.feature .fcol .btn-pink{align-self:center;}
.feature p{color:#444;font-size:17px;margin-bottom:12px;}
.feature ul{margin:0 0 8px 20px;color:#444;font-size:16px;}
.feature li{margin-bottom:7px;}

/* service card icon */
.svc .svc-ic{width:40px;height:40px;fill:var(--pink);margin-bottom:10px;display:block;}

/* recent projects gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gallery .ph{aspect-ratio:4/3;border-radius:10px;background:var(--light) center/cover no-repeat;border:1px solid #e6edf3;position:relative;}
.gallery .ph span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(19,50,70,.82));color:#fff;font-size:13px;font-weight:bold;padding:18px 12px 10px;border-radius:0 0 10px 10px;}
.gallery-note{text-align:center;color:var(--gray);font-size:14px;margin-top:18px;}

/* homepage FAQ */
.home-faq{max-width:820px;margin:0 auto;}
.home-faq .qa{border-bottom:1px solid #e6edf3;margin-bottom:0;}
.home-faq .qa:first-child{border-top:1px solid #e6edf3;}
.home-faq summary{list-style:none;cursor:pointer;padding:18px 2px;font-weight:bold;color:var(--navy);font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:18px;}
.home-faq summary::-webkit-details-marker{display:none;}
.home-faq summary::after{content:'+';color:var(--pink);font-size:26px;font-weight:bold;line-height:1;transition:transform .2s;}
.home-faq .qa[open] summary::after{transform:rotate(45deg);}
.home-faq p{color:var(--gray);font-size:15.5px;line-height:1.6;padding:0 2px 18px;margin:0;max-width:780px;}

@media(max-width:980px){ .benefits .grid,.feature-benefits .grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:760px){
  .benefits .grid,.feature-benefits .grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr 1fr;}
}

/* footer */
.site-footer{background:var(--navy);color:#aebccb;padding:44px max(28px, calc((100% - 1080px) / 2)) 36px;font-size:15px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;}
.site-footer .logo{color:#fff;font-weight:900;font-size:22px;}
.site-footer .logo span{color:var(--pink);}
.site-footer .logo img,.site-footer .custom-logo{height:82px;width:auto;max-width:330px;object-fit:contain;margin-bottom:12px;display:block;}
.site-footer .custom-logo-link{display:inline-block;line-height:0;}
.site-footer strong,.site-footer a{color:#fff;}
.site-footer a{text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.footer-social{margin-top:14px;display:flex;gap:12px;}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);transition:.15s;}
.footer-social a:hover{background:var(--pink);}
.footer-social svg{width:20px;height:20px;fill:#fff;}
.site-footer{align-items:flex-start;}
.foot-brand{flex:1.4 1 280px;}
.foot-col{flex:1 1 190px;}
.foot-h{display:block;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;}
.foot-links{list-style:none;margin:0;padding:0;}
.foot-links li{margin-bottom:9px;}
.foot-links a{color:#aebccb;}
.foot-links a:hover{color:#fff;}
.foot-brand p{max-width:300px;line-height:1.6;margin-top:6px;}
.foot-contact{line-height:1.9;margin:0;}
html{scroll-behavior:smooth;}
#why,#reviews{scroll-margin-top:88px;}
/* bottom bar */
.site-footer-bottom{background:#0d2536;color:#8fa3b5;font-size:13px;padding:16px max(28px, calc((100% - 1080px) / 2));display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;}
.site-footer-bottom nav a{color:#8fa3b5;text-decoration:none;margin-left:18px;}
.site-footer-bottom nav a:hover{color:#fff;}

/* responsive */
@media(max-width:760px){
  body{font-size:17px;}
  .hero h1,.hero h2.hero-tagline{font-size:34px;}
  .sec-h h2{font-size:29px;}
  .spotlight h3{font-size:27px;}
  .grid-3{grid-template-columns:1fr;}
  .site-nav{display:none;}
  .site-footer-bottom{flex-direction:column;align-items:flex-start;}
  .site-footer-bottom nav a{margin:0 18px 0 0;}
}


/* Footer map embed + reviews widget reserve space */
.footer-map{margin-top:16px}
.footer-map iframe{width:100%;height:200px;border:0;border-radius:10px;display:block}
.reviews-widget{min-height:600px}
@media(max-width:820px){.footer-map iframe{height:170px}}


/* Homepage: Attic Blown-In centered with services around it (Daniel's hub layout) */
.home .grid-3:has(.svc-feature){grid-template-columns:repeat(3,1fr);grid-template-areas:"l1 atc r1" "l2 atc r2" "l3 atc r3";align-items:stretch}
.home .grid-3:has(.svc-feature) .svc-feature{grid-area:atc;text-align:center;align-items:center;justify-content:flex-start;border:2px solid var(--pink);background:#133246;color:#fff;border-radius:14px;padding:30px 26px}
.home .svc-feature h4,.home .svc-feature p{color:#fff}
.home .grid-3:has(.svc-feature) .svc-feature .svc-ic{width:64px;height:64px}
.home .grid-3:has(.svc-feature) .svc-feature h4{font-size:1.6rem}
.home .grid-3:has(.svc-feature) .svc:nth-child(2){grid-area:l1}
.home .grid-3:has(.svc-feature) .svc:nth-child(3){grid-area:l2}
.home .grid-3:has(.svc-feature) .svc:nth-child(4){grid-area:l3}
.home .grid-3:has(.svc-feature) .svc:nth-child(5){grid-area:r1}
.home .grid-3:has(.svc-feature) .svc:nth-child(6){grid-area:r2}
.home .grid-3:has(.svc-feature) .svc:nth-child(7){grid-area:r3}
.home .svc-cta{background:linear-gradient(135deg,var(--pink),#ff7ab0);border:none}
.home .svc-cta h4,.home .svc-cta p,.home .svc-cta .arrow{color:#fff}
.home .svc-cta .svc-ic{stroke:#fff}
@media(max-width:820px){.home .grid-3:has(.svc-feature){grid-template-columns:1fr;grid-template-areas:none}.home .grid-3:has(.svc-feature) .svc{grid-area:auto!important}}


/* Center feature card content (image, checkmarks, button) */
.home .svc-feature{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px}
.home .svc-feature-img{width:100%;border-radius:10px;margin:2px 0;aspect-ratio:16/10;object-fit:cover}
.home .svc-feature-points{list-style:none;padding:0;margin:2px auto;text-align:left;display:inline-block}
.home .svc-feature-points li{position:relative;padding-left:26px;margin:7px 0;color:#fff;font-weight:600}
.home .svc-feature-points li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--pink);font-weight:700}
.home .svc-feature .btn-pink{margin-top:auto;align-self:center}
.home .svc-feature-link{display:block;color:rgba(255,255,255,.8);font-size:.82rem;margin-top:6px;text-decoration:underline}


/* Blog page: search + category filter */
.blog-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto 30px;padding:0 20px}
.blog-search{display:flex;flex:1 1 260px;max-width:430px}
.blog-search input{flex:1;padding:11px 14px;border:1px solid #d9e2ea;border-right:none;border-radius:8px 0 0 8px;font-size:1rem;min-width:0}
.blog-search button{background:var(--pink);border:none;color:#fff;padding:0 18px;border-radius:0 8px 8px 0;cursor:pointer;font-size:1.05rem}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px}
.blog-cat{display:inline-block;padding:7px 15px;border-radius:999px;background:var(--light);color:#133246;font-size:.9rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:.15s}
.blog-cat:hover{border-color:var(--pink)}
.blog-cat.is-active{background:#133246;color:#fff}
@media(max-width:680px){.blog-tools{flex-direction:column;align-items:stretch}.blog-search{max-width:none}}


/* Contact page form styling (matches hero form) */
.contact-form-wrap .lead-form{max-width:430px}
.contact-form-wrap .lead-form label{display:block;font-size:13px;font-weight:bold;color:var(--navy);margin:10px 0 4px}
.contact-form-wrap .lead-form input{width:100%;padding:12px;border:1px solid #cdd8e2;border-radius:7px;font-size:16px;font-family:inherit}
.contact-form-wrap .lead-form button{width:100%;margin-top:16px;background:var(--pink);color:#fff;border:0;border-radius:7px;padding:15px;font-size:17px;font-weight:bold;cursor:pointer}
.contact-form-wrap .lead-form button:hover{background:#e84890}


/* Contact form card */
.contact-form-wrap{background:#fff;border:1px solid #e3eaf0;border-radius:14px;padding:26px 28px 30px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.contact-form-wrap > h2{margin-top:0}
.contact-form-wrap .lead-form{max-width:none}


/* Contact side card */
.contact-side{background:#fff;border:1px solid #e3eaf0;border-radius:14px;padding:26px 28px 30px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.contact-side > h2{margin-top:0}


/* Homepage hero: keyword H1 kicker (tagline kept as H2) */
.hero .hero-seo-h1{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin:0 0 6px;}
