:root{--red:#d52135;--dark:#070708;--charcoal:#111114;--cream:#f7f4f1;--text:#1a1a1c;--gold:#f5c46b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--dark);color:#fff;overflow-x:hidden}a{text-decoration:none}.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:6vw 5vw 72px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1);animation:heroBreath 16s ease-in-out infinite alternate;filter:saturate(1.04) contrast(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.32) 45%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.74),transparent 42%,rgba(0,0,0,.13))}.hero-glow{position:absolute;inset:-20%;background:radial-gradient(circle at 22% 30%,rgba(213,33,53,.23),transparent 32%),linear-gradient(105deg,transparent 36%,rgba(255,218,140,.14) 47%,transparent 58%);animation:sweep 8s ease-in-out infinite}.sparkles i{position:absolute;width:5px;height:5px;border-radius:99px;background:rgba(255,220,145,.85);box-shadow:0 0 18px rgba(255,220,145,.9);animation:float 8s ease-in-out infinite}.sparkles i:nth-child(1){left:10%;top:22%}.sparkles i:nth-child(2){left:29%;top:14%;animation-delay:1s}.sparkles i:nth-child(3){left:68%;top:20%;animation-delay:2s}.sparkles i:nth-child(4){left:78%;top:68%;animation-delay:3s}.sparkles i:nth-child(5){left:42%;top:82%;animation-delay:4s}.hero-copy{position:relative;z-index:3;width:min(690px,100%)}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,6.4vw,92px);letter-spacing:-.055em;line-height:.93;margin:0;text-shadow:0 18px 45px rgba(0,0,0,.62)}.hero h1 span{color:var(--red);font-family:Inter,sans-serif;font-weight:900;letter-spacing:-.07em}.hero-copy p{font-size:clamp(16px,1.55vw,21px);line-height:1.55;max-width:610px;font-weight:700;text-shadow:0 12px 25px rgba(0,0,0,.55)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.btn{display:inline-flex;align-items:center;gap:18px;border-radius:15px;padding:17px 24px;color:#fff;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.02em;transition:.28s}.btn:hover{transform:translateY(-5px)}.red{background:linear-gradient(135deg,#ee293e,#9b0918);box-shadow:0 17px 40px rgba(213,33,53,.35)}.clear{border:1px solid rgba(255,255,255,.34);background:rgba(15,15,18,.42);backdrop-filter:blur(12px)}.mini-stats{position:absolute;z-index:4;left:5vw;right:auto;bottom:24px;width:min(390px,36vw);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(13,14,18,.68);border:1px solid rgba(255,255,255,.2);border-radius:16px;backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.35);overflow:hidden}.mini-stats div{padding:8px 9px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mini-stats div:last-child{border-right:0}.mini-stats strong{font-size:19px;line-height:1;font-weight:900}.mini-stats small{text-transform:uppercase;letter-spacing:.05em;font-size:6.8px;font-weight:900;margin-top:5px;color:#eee}.section{padding:88px 5vw}.services{background:var(--cream);color:var(--text);border-radius:0 0 42px 42px}.section-title{text-align:center;max-width:850px;margin:0 auto 42px}.section-title p,.project-head p,.estimate-box p{margin:0 0 13px;color:var(--red);text-transform:uppercase;letter-spacing:.25em;font-weight:900;font-size:13px}.section-title h2,.project-head h2,.estimate-box h2{font-size:clamp(32px,5vw,62px);line-height:1;margin:0;font-weight:900;text-transform:uppercase;letter-spacing:-.045em}.section-title h2 span,.project-head h2 span{color:var(--red)}.section-title em,.project-head em{display:block;margin-top:12px;font-style:normal;color:#555;font-weight:650;font-size:18px}.project-head em{color:#d4d4d4}.service-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{min-height:310px;border-radius:20px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background-image:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.22)),var(--img);background-size:cover;background-position:center;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.2);transition:.35s}.photo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(213,33,53,.22));opacity:0;transition:.35s}.photo-card:hover{transform:translateY(-10px) scale(1.015)}.photo-card:hover:before{opacity:1}.photo-card h3,.photo-card p{position:relative;z-index:1;text-align:center}.photo-card h3{font-size:24px;margin:0 0 11px;text-transform:uppercase;line-height:1.12}.photo-card h3:after{content:"";display:block;width:62px;height:4px;background:var(--red);margin:11px auto 0}.photo-card p{font-size:15px;font-weight:800;margin:0;line-height:1.45}.roofing{--img:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=95')}.kitchen-remodel{--img:url('assets/premium-kitchen.jpg');background-position:center center}.bathroom{--img:url('https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=1800&q=95')}.outdoor{--img:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=95')}.flooring{--img:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1800&q=95')}.masonry{--img:url('https://images.unsplash.com/photo-1600566752355-35792bedcfea?auto=format&fit=crop&w=1800&q=95')}.addition{--img:url('https://images.unsplash.com/photo-1600210491892-03d54c0aaf87?auto=format&fit=crop&w=1800&q=95')}.center-btn{display:flex;margin:34px auto 0;width:max-content;background:var(--red);color:#fff;padding:16px 33px;border-radius:14px;font-weight:900;text-transform:uppercase;box-shadow:0 15px 40px rgba(213,33,53,.28)}.dark{background:#0c0c0f;color:#fff}.project-experience{background-image:radial-gradient(circle at 15% 10%,rgba(213,33,53,.25),transparent 35%)}.project-head{max-width:760px;margin-bottom:32px}.featured-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:285px;gap:20px}.feature-card{position:relative;overflow:hidden;border-radius:28px;background-image:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.16)),var(--img);background-size:cover;background-position:center;box-shadow:0 22px 65px rgba(0,0,0,.32);display:flex;align-items:flex-end;padding:28px;border:1px solid rgba(255,255,255,.14);transition:.35s}.feature-card.tall{grid-row:span 2}.feature-card:hover{transform:translateY(-8px)}.feature-card label{display:inline-block;background:var(--red);padding:8px 13px;border-radius:999px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.06em}.feature-card h3{font-size:clamp(25px,2.5vw,40px);margin:12px 0 6px}.feature-card p{margin:0;color:#eee;line-height:1.5;font-weight:700;font-size:16px}.exterior{--img:url('assets/hero-driveway-integrated-v2.jpeg')}.roof{--img:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=95')}.bath{--img:url('https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=1800&q=95')}.patio{--img:url('assets/featured-backyard-entertainment-spaces.jpg')}.kitchen{--img:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1800&q=95')}.before-after{background:var(--cream);color:var(--text)}.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ba-card{border-radius:28px;overflow:hidden;position:relative;box-shadow:0 22px 55px rgba(0,0,0,.15);min-height:360px;background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.18)),var(--img);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff}.ba-card b{position:absolute;left:18px;top:18px;background:var(--red);color:#fff;padding:9px 14px;border-radius:99px;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ba-card h3{font-size:28px;line-height:1.05;margin:0;max-width:420px}.roof-ba{--img:url('assets/transformation-roof-before-after.jpg');background-position:center center}.bath-ba{--img:url('assets/transformation-bathroom-before-after.jpg');background-position:center center}.outdoor-ba{--img:url('assets/transformation-outdoor-before-after.jpg');background-position:center center}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.why-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:26px;font-size:20px;font-weight:900;backdrop-filter:blur(10px)}.estimate{min-height:780px;position:relative;display:grid;place-items:center;padding:80px 20px;overflow:hidden}.estimate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.42)}.estimate-box{position:relative;z-index:2;background:rgba(255,255,255,.92);color:#111;border-radius:34px;width:min(760px,100%);padding:40px;box-shadow:0 40px 120px rgba(0,0,0,.5)}form{display:grid;gap:14px;margin-top:22px}input,select,textarea{width:100%;border:1px solid #ddd;border-radius:14px;padding:16px;font:inherit;background:#fff}textarea{min-height:120px}button{border:0;border-radius:14px;background:var(--red);color:#fff;padding:18px;font-weight:900;text-transform:uppercase;cursor:pointer}footer{text-align:center;padding:55px 20px;background:#050505}footer img{width:min(260px,64vw);filter:drop-shadow(0 10px 20px rgba(0,0,0,.45));opacity:.98}footer p{font-weight:800}.reveal{opacity:0;transform:translateY(34px);transition:1s cubic-bezier(.2,.8,.2,1)}.reveal.show{opacity:1;transform:none}@keyframes heroBreath{to{transform:scale(1.01)}}@keyframes sweep{0%,45%{transform:translateX(-35%);opacity:0}65%{opacity:1}100%{transform:translateX(35%);opacity:0}}@keyframes float{50%{transform:translateY(-42px);opacity:.35}}@media(max-width:1100px){.featured-grid{grid-template-columns:1fr 1fr}.feature-card.tall{grid-row:span 1}.hero{min-height:860px}.mini-stats{width:min(460px,56vw);left:5vw;right:auto}.driveway-logo{left:56%;bottom:96px}.driveway-logo img{width:min(300px,30vw)}}@media(max-width:760px){
  .hero{min-height:auto;padding:0 22px 26px;display:flex;flex-direction:column;align-items:stretch;background:#050507;overflow:hidden}
  .hero-photo{position:relative;inset:auto;width:calc(100% + 44px);height:auto;max-height:none;margin:0 -22px;object-fit:contain;object-position:center top;background:#050507;animation:none;transform:none;filter:saturate(1.04) contrast(1.02)}
  .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 42%,rgba(0,0,0,.58) 62%,#070708 78%,#070708 100%);pointer-events:none}
  .hero-glow{opacity:.55;inset:34% -20% -20%;}
  .sparkles{display:none}
  .driveway-logo{left:50%;top:clamp(270px,54vw,390px);bottom:auto;transform:translateX(-50%) perspective(680px) rotateX(60deg) rotateZ(-2deg) scaleY(.62);opacity:.72;mix-blend-mode:screen;z-index:5}
  .driveway-logo img{width:clamp(116px,32vw,158px);filter:drop-shadow(0 8px 12px rgba(0,0,0,.82))}
  .hero-copy{position:relative;z-index:6;margin-top:-8px;padding-top:0;width:100%}
  .hero h1{font-size:clamp(41px,12vw,54px);line-height:.94;letter-spacing:-.06em;margin:0 0 18px}
  .hero h1 span{display:block;font-family:Inter,sans-serif;letter-spacing:-.07em}
  .hero-copy p{font-size:16px;line-height:1.48;margin:0;max-width:94%;font-weight:800}
  .actions{gap:11px;margin-top:20px;display:grid;grid-template-columns:1fr}
  .btn{justify-content:center;padding:16px 16px;font-size:12px;border-radius:18px;width:100%}
  .mini-stats{position:relative;width:100%;left:auto;right:auto;bottom:auto;margin-top:15px;border-radius:16px;grid-template-columns:repeat(4,1fr);z-index:6;transform:none}
  .mini-stats div{padding:9px 4px}
  .mini-stats strong{font-size:18px}
  .mini-stats small{font-size:6.4px;line-height:1.08}
  .section{padding:68px 22px}
  .service-row,.featured-grid,.ba-grid,.why-grid{grid-template-columns:1fr}
  .photo-card{min-height:265px;border-radius:22px;background-size:cover;background-position:center;box-shadow:0 18px 38px rgba(0,0,0,.18)}
  .photo-card h3{font-size:23px}.photo-card p{font-size:14px}
  .featured-grid{grid-auto-rows:310px}
  .feature-card{padding:24px;border-radius:26px;background-position:center}
  .section-title h2,.project-head h2,.estimate-box h2{font-size:34px}
  .section-title em,.project-head em{font-size:16px}
  .estimate-box{padding:28px}
  .services{border-radius:0 0 28px 28px}
  .ba-card{min-height:315px}
}

/* Final logo + mobile polish */
@media(max-width:760px){footer{padding:44px 20px 70px} footer img{width:240px}.estimate{min-height:720px}.estimate-box{margin-top:0}.services{padding-top:64px}.section-title{margin-bottom:32px}.photo-card{background-position:center center}.roofing{background-position:center top}.bathroom{background-position:center}.outdoor{background-position:center}.flooring{background-position:center}.masonry{background-position:center}.addition{background-position:center}}

/* Integrated hero image update */
.driveway-logo{display:none!important}
footer img{border-radius:0;max-width:320px;object-fit:contain}


/* FINAL HERO IMAGE PATCH - 2026-06-06 */
.hero-photo{content:url('assets/hero-driveway-integrated-v2.jpeg');}
@media(max-width:760px){
  .hero{padding-bottom:26px;}
  .hero-photo{content:url('assets/hero-driveway-integrated-v2.jpeg');display:block;width:calc(100% + 44px);height:auto;margin:0 -22px 0;object-fit:contain;object-position:center top;}
  .hero-copy{margin-top:0;}
  .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 46%,rgba(0,0,0,.68) 66%,#050507 86%);}
}

/* RIDA HERO POSITION + STATS MOTION PATCH */
.hero-copy{animation:heroTextIn 1s cubic-bezier(.2,.85,.2,1) both;}
.hero h1 span{display:inline-block;animation:redHit .9s ease both .25s;}
.mini-stats{animation:statsLift .9s cubic-bezier(.2,.85,.2,1) both .45s;}
.mini-stats div{animation:statPop .7s cubic-bezier(.2,.85,.2,1) both;}
.mini-stats div:nth-child(1){animation-delay:.58s}.mini-stats div:nth-child(2){animation-delay:.72s}.mini-stats div:nth-child(3){animation-delay:.86s}.mini-stats div:nth-child(4){animation-delay:1s}
.mini-stats strong{display:block;animation:numberGlow 2.4s ease-in-out infinite;}
.mini-stats div:nth-child(2) strong{animation-delay:.35s}.mini-stats div:nth-child(3) strong{animation-delay:.7s}.mini-stats div:nth-child(4) strong{animation-delay:1.05s}
@keyframes heroTextIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes redHit{0%{opacity:.35;transform:translateY(12px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes statsLift{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes statPop{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
@keyframes numberGlow{0%,100%{text-shadow:none;transform:translateY(0)}50%{text-shadow:0 0 18px rgba(213,33,53,.45);transform:translateY(-1px)}}

@media(min-width:761px){
  .hero{align-items:flex-end;padding:0 5vw 48px;}
  .hero-copy{margin-bottom:92px;max-width:650px;}
  .mini-stats{bottom:30px;}
}

@media(max-width:760px){
  .hero{padding:0 20px 24px;}
  .hero-photo{width:calc(100% + 40px);margin:0 -20px;}
  .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 43%,rgba(0,0,0,.52) 62%,#050507 76%,#050507 100%);}
  .hero-copy{margin-top:-88px;background:linear-gradient(180deg,rgba(5,5,7,.03),#050507 26%);padding-top:30px;}
  .hero h1{font-size:clamp(42px,11.5vw,52px);max-width:92%;}
  .hero-copy p{max-width:100%;font-size:15.5px;line-height:1.45;}
  .actions{margin-top:18px;}
  .mini-stats{margin-top:14px;box-shadow:0 15px 48px rgba(0,0,0,.4);}
}

@media(max-width:430px){
  .hero-copy{margin-top:-72px;}
  .hero h1{font-size:43px;}
  .hero-copy p{font-size:15px;}
  .mini-stats strong{font-size:17px}.mini-stats small{font-size:5.9px;}
}

/* FINAL FOOTER LOGO REPLACEMENT */
footer{
  background:#050505;
  text-align:center;
  padding:52px 20px 72px;
}
footer img{
  width:min(330px,78vw)!important;
  height:auto!important;
  display:block;
  margin:0 auto 20px;
  filter:none!important;
  opacity:1!important;
  border-radius:0!important;
  mix-blend-mode:normal!important;
}
footer p{
  margin:0 auto 18px;
  max-width:680px;
  color:#fff;
  font-weight:900;
  line-height:1.35;
}
footer small{
  color:rgba(255,255,255,.86);
  font-size:15px;
}


/* WHY HOMEOWNERS FLY-IN CARD ANIMATION */
.why{position:relative;overflow:hidden;background-image:radial-gradient(circle at 15% 10%,rgba(213,33,53,.18),transparent 35%),radial-gradient(circle at 85% 70%,rgba(255,255,255,.07),transparent 32%)}
.why-grid.fly-stack{perspective:1200px}
.why-card.fly-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;min-height:96px;box-shadow:0 18px 45px rgba(0,0,0,.22);transition:transform .38s ease, box-shadow .38s ease, border-color .38s ease, background .38s ease;will-change:transform,opacity}
.why-card.fly-card span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,#ef2a42,#8c0714);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(213,33,53,.32);flex:0 0 auto;animation:iconPulse 2.8s ease-in-out infinite}
.why-card.fly-card::after{content:"";position:absolute;inset:-40% -80%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.18) 48%,transparent 58%);transform:translateX(-120%);pointer-events:none}
.why-card.fly-card.show::after{animation:cardShimmer 1.25s ease .9s both}
.why-card.fly-card.from-left{transform:translateX(-110px) translateY(24px) rotateY(-13deg);opacity:0}
.why-card.fly-card.from-right{transform:translateX(110px) translateY(24px) rotateY(13deg);opacity:0}
.why-card.fly-card.show{animation:whyFlyIn .95s cubic-bezier(.17,.85,.24,1.08) both}
.why-card.fly-card:nth-child(1).show{animation-delay:.05s}.why-card.fly-card:nth-child(2).show{animation-delay:.15s}.why-card.fly-card:nth-child(3).show{animation-delay:.25s}.why-card.fly-card:nth-child(4).show{animation-delay:.35s}.why-card.fly-card:nth-child(5).show{animation-delay:.45s}.why-card.fly-card:nth-child(6).show{animation-delay:.55s}
.why-card.fly-card:hover{transform:translateY(-8px) scale(1.025)!important;border-color:rgba(213,33,53,.55);background:rgba(255,255,255,.105);box-shadow:0 26px 70px rgba(213,33,53,.18),0 18px 42px rgba(0,0,0,.28)}
@keyframes whyFlyIn{0%{opacity:0;filter:blur(6px)}70%{opacity:1;filter:blur(0);transform:translateX(0) translateY(-5px) rotateY(0) scale(1.015)}100%{opacity:1;filter:blur(0);transform:translateX(0) translateY(0) rotateY(0) scale(1)}}
@keyframes cardShimmer{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes iconPulse{0%,100%{transform:scale(1);box-shadow:0 10px 24px rgba(213,33,53,.32)}50%{transform:scale(1.08);box-shadow:0 15px 34px rgba(213,33,53,.48)}}
@media(max-width:760px){.why-card.fly-card{min-height:84px;padding:22px;font-size:18px}.why-card.fly-card.from-left{transform:translateX(-70px) translateY(20px)}.why-card.fly-card.from-right{transform:translateX(70px) translateY(20px)}}

/* RIDA FINAL HERO CENTER + STATS + PREMIUM SERVICES ANIMATION PATCH */
@media(min-width:761px){
  .hero{align-items:flex-end;justify-content:center;text-align:center;padding:0 5vw 54px;}
  .hero-copy{margin:0 auto 74px;max-width:820px;width:min(820px,100%);}
  .hero h1{margin-left:auto;margin-right:auto;}
  .hero-copy p{margin:18px auto 0;max-width:700px;}
  .actions{justify-content:center;margin-top:22px;}
  .mini-stats{left:50%;right:auto;bottom:22px;transform:translateX(-50%);width:min(520px,72vw);}
}
@media(max-width:760px){
  .hero-copy{text-align:center;margin-top:-38px;padding-top:38px;}
  .hero h1{max-width:100%;margin-left:auto;margin-right:auto;}
  .hero-copy p{margin-left:auto;margin-right:auto;}
  .actions{justify-content:center;}
}

/* Stronger stat-box motion */
.mini-stats{overflow:hidden;isolation:isolate;}
.mini-stats::before{content:"";position:absolute;inset:-40% -55%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 60%);transform:translateX(-120%);animation:statsShine 3.8s ease-in-out infinite 1.3s;z-index:-1;}
.mini-stats.show,.mini-stats{animation:statsBoxEntrance 1s cubic-bezier(.18,.85,.22,1.08) both .35s, statsSoftPulse 3.6s ease-in-out infinite 1.5s;}
.mini-stats div{opacity:0;transform:translateY(18px) scale(.88);animation:statTileIn .75s cubic-bezier(.18,.85,.22,1.08) forwards;}
.mini-stats div:nth-child(1){animation-delay:.65s}.mini-stats div:nth-child(2){animation-delay:.82s}.mini-stats div:nth-child(3){animation-delay:.99s}.mini-stats div:nth-child(4){animation-delay:1.16s}
.mini-stats strong{letter-spacing:-.04em;}
.mini-stats div:nth-child(4) strong{animation:twentyFourPulse 1.75s ease-in-out infinite;}
@keyframes statsBoxEntrance{from{opacity:0;filter:blur(8px);transform:translateX(-50%) translateY(24px) scale(.92)}to{opacity:1;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes statTileIn{to{opacity:1;transform:none}}
@keyframes statsSoftPulse{0%,100%{box-shadow:0 22px 70px rgba(0,0,0,.35),0 0 0 rgba(213,33,53,0)}50%{box-shadow:0 24px 78px rgba(0,0,0,.42),0 0 34px rgba(213,33,53,.20)}}
@keyframes statsShine{0%,48%{transform:translateX(-120%)}72%,100%{transform:translateX(120%)}}
@keyframes twentyFourPulse{0%,100%{transform:scale(1);text-shadow:none}50%{transform:scale(1.08);text-shadow:0 0 18px rgba(213,33,53,.62)}}
@media(max-width:760px){
  .mini-stats.show,.mini-stats{animation:mobileStatsEntrance .9s cubic-bezier(.18,.85,.22,1.08) both .35s, statsSoftPulse 3.6s ease-in-out infinite 1.5s;}
  @keyframes mobileStatsEntrance{from{opacity:0;filter:blur(8px);transform:translateY(22px) scale(.92)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
}

/* Premium Services fly-in animation */
.services{position:relative;overflow:hidden;}
.services::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(213,33,53,.10),transparent 32%),radial-gradient(circle at 86% 78%,rgba(0,0,0,.06),transparent 30%);pointer-events:none;}
.service-row{position:relative;z-index:1;perspective:1200px;}
.photo-card.reveal{opacity:0;filter:blur(7px);transform:translateY(44px) scale(.94);will-change:transform,opacity,filter;}
.photo-card.reveal:nth-child(odd){transform:translateX(-80px) translateY(42px) rotateY(-10deg) scale(.94);}
.photo-card.reveal:nth-child(even){transform:translateX(80px) translateY(42px) rotateY(10deg) scale(.94);}
.photo-card.reveal.show{animation:serviceCardFlyIn .95s cubic-bezier(.18,.85,.22,1.08) both;}
.photo-card.reveal:nth-child(1).show{animation-delay:.05s}.photo-card.reveal:nth-child(2).show{animation-delay:.16s}.photo-card.reveal:nth-child(3).show{animation-delay:.27s}.photo-card.reveal:nth-child(4).show{animation-delay:.38s}.photo-card.reveal:nth-child(5).show{animation-delay:.49s}.photo-card.reveal:nth-child(6).show{animation-delay:.60s}.photo-card.reveal:nth-child(7).show{animation-delay:.71s}
.photo-card h3{animation:none;}
.photo-card.show h3{animation:serviceTitleLift .7s ease both .42s;}
.photo-card.show p{animation:serviceTextFade .75s ease both .52s;}
.photo-card::after{content:"";position:absolute;inset:-50% -80%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.18) 49%,transparent 60%);transform:translateX(-125%);pointer-events:none;}
.photo-card.show::after{animation:serviceShimmer 1.25s ease .85s both;}
@keyframes serviceCardFlyIn{0%{opacity:0;filter:blur(7px)}72%{opacity:1;filter:blur(0);transform:translateX(0) translateY(-8px) rotateY(0) scale(1.018)}100%{opacity:1;filter:blur(0);transform:translateX(0) translateY(0) rotateY(0) scale(1)}}
@keyframes serviceTitleLift{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes serviceTextFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes serviceShimmer{from{transform:translateX(-125%)}to{transform:translateX(125%)}}
@media(max-width:760px){
  .photo-card.reveal:nth-child(odd){transform:translateX(-48px) translateY(34px) scale(.95)}
  .photo-card.reveal:nth-child(even){transform:translateX(48px) translateY(34px) scale(.95)}
}


/* NEXT LEVEL EXPERIENCE PASS — RAS / PRISTINE */
.hero-copy h1{animation:heroTitleDrop 1.05s cubic-bezier(.18,.85,.22,1.08) both .25s;}
.hero-copy p{animation:heroTextFade .9s ease both .65s;}
.actions .btn{animation:heroButtonUp .75s ease both .95s;}
.actions .btn:nth-child(2){animation-delay:1.08s;}
@keyframes heroTitleDrop{from{opacity:0;transform:translateY(-18px) scale(.96);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroTextFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes heroButtonUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* sharpen service visuals + stronger matching */
.photo-card{background-size:cover!important;filter:none!important;isolation:isolate;}
.photo-card p::after{content:"  →";display:inline-block;margin-left:5px;transition:.3s;}
.photo-card:hover p::after{transform:translateX(6px)}
.roofing{--img:url('https://images.unsplash.com/photo-1600585154526-990dced4db0d?auto=format&fit=crop&w=1800&q=95');background-position:center 33%;}
.bathroom{--img:url('https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=1800&q=95');background-position:center 45%;}
.outdoor{--img:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=95');background-position:center 52%;}
.masonry{--img:url('assets/hero-driveway-integrated-v2.jpeg');background-position:center 68%;}
.flooring{--img:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1800&q=95');background-position:center 55%;}
.addition{--img:url('https://images.unsplash.com/photo-1600210491892-03d54c0aaf87?auto=format&fit=crop&w=1800&q=95');background-position:center 55%;}

/* Featured Project V2 */
.feature-card::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.12),transparent 60%);transform:translateX(-120%);transition:.65s;}
.feature-card:hover::after{transform:translateX(120%)}
.feature-card div{position:relative;z-index:2;}

/* Review Wall */
.reviews{overflow:hidden;background:#09090b;background-image:radial-gradient(circle at 12% 18%,rgba(213,33,53,.18),transparent 30%)}
.review-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.review-track{display:flex;gap:18px;width:max-content;animation:reviewScroll 28s linear infinite;}
.review-track article{width:330px;min-height:190px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:24px;box-shadow:0 22px 55px rgba(0,0,0,.28);color:#ffd76b;font-weight:900;}
.review-track b{display:block;color:#fff;font-size:21px;line-height:1.15;margin:16px 0 10px;}
.review-track span{display:block;color:#d9d9d9;font-weight:650;line-height:1.5;}
@keyframes reviewScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Emergency Banner */
.emergency-band{display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(135deg,#e3293e,#8e0713);padding:36px 5vw;color:#fff;box-shadow:0 -15px 65px rgba(213,33,53,.16),0 18px 65px rgba(0,0,0,.28);}
.emergency-band p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:#ffd3d7}
.emergency-band h2{margin:0 0 8px;font-size:clamp(28px,4.5vw,54px);line-height:1;font-weight:900;letter-spacing:-.05em}
.emergency-band span{font-weight:700;color:#fff;opacity:.92}
.emergency-band a{color:#111;background:#fff;border-radius:999px;padding:17px 24px;font-weight:900;text-transform:uppercase;white-space:nowrap;box-shadow:0 20px 45px rgba(0,0,0,.22);animation:pulseHelp 1.8s ease-in-out infinite}
@keyframes pulseHelp{50%{transform:scale(1.04);box-shadow:0 22px 60px rgba(0,0,0,.32)}}

/* Service Area Pins */
.areas{background:#f7f4f1;color:#151518;}
.area-map{position:relative;min-height:420px;border-radius:38px;background:linear-gradient(135deg,#111114,#2a1216);overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 28px 75px rgba(0,0,0,.16);}
.area-map::before{content:"SC";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(110px,22vw,250px);font-weight:900;color:rgba(255,255,255,.06);letter-spacing:-.08em}
.map-glow{position:absolute;inset:10%;background:radial-gradient(circle,rgba(213,33,53,.32),transparent 55%);animation:mapPulse 3.5s ease-in-out infinite}
.area-map span{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:#fff;color:#111;border-radius:999px;padding:11px 15px;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.25);opacity:0;animation:pinDrop .7s cubic-bezier(.18,.85,.22,1.08) forwards;}
.area-map span::before{content:"📍";margin-right:5px}.area-map.show span:nth-of-type(1){animation-delay:.12s}.area-map.show span:nth-of-type(2){animation-delay:.24s}.area-map.show span:nth-of-type(3){animation-delay:.36s}.area-map.show span:nth-of-type(4){animation-delay:.48s}.area-map.show span:nth-of-type(5){animation-delay:.60s}.area-map.show span:nth-of-type(6){animation-delay:.72s}
@keyframes mapPulse{50%{transform:scale(1.08);opacity:.7}}
@keyframes pinDrop{from{opacity:0;transform:translate(-50%,-80%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Final CTA glow */
.estimate-box{border:1px solid rgba(255,255,255,.55);animation:estimateFloat 4.5s ease-in-out infinite;}
@keyframes estimateFloat{50%{transform:translateY(-8px)}}

@media(max-width:760px){
  .emergency-band{display:block;text-align:center;padding:34px 22px}.emergency-band a{display:inline-flex;margin-top:22px}.review-track article{width:290px}.area-map{min-height:500px}.area-map span{font-size:13px}.service-row{gap:16px}.photo-card{min-height:300px}
}

/* FINAL PREMIUM SERVICES PHOTO SWAP — correct local luxury visuals + keep animations */
.roofing{--img:url('assets/premium-roofing.jpg')!important;background-position:center center!important;}
.bathroom{--img:url('assets/premium-bathroom.jpg')!important;background-position:center center!important;}
.outdoor{--img:url('assets/premium-outdoor.jpg')!important;background-position:center center!important;}
.flooring{--img:url('assets/premium-flooring.jpg')!important;background-position:center center!important;}
.masonry{--img:url('assets/premium-masonry.jpg')!important;background-position:center center!important;}
.addition{--img:url('assets/premium-addition.jpg')!important;background-position:center center!important;}
.services .photo-card{min-height:340px;background-size:cover!important;}
.services .photo-card h3,.services .photo-card p{text-shadow:0 8px 20px rgba(0,0,0,.85)}
.services .photo-card:hover{box-shadow:0 25px 75px rgba(213,33,53,.25),0 22px 55px rgba(0,0,0,.28)}
@media(max-width:760px){.services .photo-card{min-height:330px}.services .photo-card h3{font-size:25px}.services .photo-card p{font-size:15px}}

/* Final Premium Services image placement - user supplied photos */
.masonry{--img:url('assets/premium-masonry.jpg')!important;background-position:center center!important;}
.addition{--img:url('assets/premium-addition.jpg')!important;background-position:center center!important;}

/* FEATURED PROJECT EXPERIENCE PHOTO UPDATE — Luxury Porch Additions */
.featured-grid .feature-card.exterior{
  --img:url('assets/featured-luxury-porch-additions.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
}
@media(max-width:760px){
  .featured-grid .feature-card.exterior{
    background-position:center center!important;
  }
}


/* FEATURED PROJECT EXPERIENCE PHOTO UPDATE — LUXURY Spa Bathroom Transformations */
.featured-grid .feature-card.bath{
  --img:url('assets/featured-luxury-spa-bathroom.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
}
@media(max-width:760px){
  .featured-grid .feature-card.bath{background-position:center center!important;}
}

/* Flooring card sizing fix — keep current flooring image, remove bottom white line/gap */
.services .photo-card{
  background-repeat:no-repeat !important;
  background-color:#050505 !important;
  background-size:cover !important;
}
.services .photo-card.flooring{
  --img:url('assets/premium-flooring.jpg') !important;
  background-size:cover !important;
  background-position:center 62% !important;
}
.services .photo-card.flooring::before{
  background:linear-gradient(0deg,rgba(0,0,0,.83),rgba(0,0,0,.12)) !important;
}
@media(max-width:760px){
  .services .photo-card.flooring{
    background-size:cover !important;
    background-position:center center !important;
  }
}

/* RAS FINAL IMAGE LOCK — ensures EVERY requested photo card uses the approved uploaded asset */
/* Premium Services — Complete Solutions For Your Home */
.services .photo-card.roofing{--img:url('assets/premium-roofing.jpg')!important;background-position:center center!important;}
.services .photo-card.kitchen-remodel{--img:url('assets/premium-kitchen.jpg')!important;background-position:center center!important;}
.services .photo-card.bathroom{--img:url('assets/premium-bathroom.jpg')!important;background-position:center center!important;}
.services .photo-card.outdoor{--img:url('assets/premium-outdoor.jpg')!important;background-position:center center!important;}
.services .photo-card.flooring{--img:url('assets/premium-flooring.jpg')!important;background-position:center center!important;}
.services .photo-card.masonry{--img:url('assets/premium-masonry.jpg')!important;background-position:center center!important;}
.services .photo-card.addition{--img:url('assets/premium-addition.jpg')!important;background-position:center center!important;}
.services .photo-card{background-size:cover!important;background-repeat:no-repeat!important;}

/* Featured Project Experience — See The Difference Quality Makes */
.feature-card.exterior{--img:url('assets/featured-luxury-porch-additions.jpg')!important;background-position:center center!important;}
.feature-card.roof{--img:url('assets/premium-roofing.jpg')!important;background-position:center center!important;}
.feature-card.bath{--img:url('assets/featured-luxury-spa-bathroom.jpg')!important;background-position:center center!important;}
.feature-card.patio{--img:url('assets/featured-backyard-entertainment-spaces.jpg')!important;background-position:center center!important;}
.feature-card.kitchen{--img:url('assets/premium-flooring.jpg')!important;background-position:center center!important;}

/* Transformation Showcase — Before. After. Pristine. */
.ba-card.roof-ba{--img:url('assets/transformation-roof-before-after.jpg')!important;background-position:center center!important;}
.ba-card.bath-ba{--img:url('assets/transformation-bathroom-before-after.jpg')!important;background-position:center center!important;}
.ba-card.outdoor-ba{--img:url('assets/transformation-outdoor-before-after.jpg')!important;background-position:center center!important;}


/* FINAL POLISH — brighten Featured Project + Transformation cards, remove bottom white hairlines, preserve animations */
.project-experience .feature-card{
  background-image:linear-gradient(0deg,rgba(0,0,0,.30),rgba(0,0,0,.04)),var(--img)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#050505!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
  overflow:hidden!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
.project-experience .feature-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(0,0,0,.18),transparent 44%);
}
.project-experience .feature-card::after{z-index:3;}
.project-experience .feature-card div{position:relative;z-index:4;}
.project-experience .feature-card.exterior,
.project-experience .feature-card.roof,
.project-experience .feature-card.bath,
.project-experience .feature-card.patio,
.project-experience .feature-card.kitchen{
  background-size:102% 102%!important;
  background-position:center center!important;
}
.project-experience .feature-card:hover{
  filter:brightness(1.08) contrast(1.03) saturate(1.05);
}

.before-after .ba-card{
  background-image:linear-gradient(0deg,rgba(0,0,0,.24),rgba(0,0,0,.03)),var(--img)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#050505!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
  overflow:hidden!important;
  border:1px solid rgba(0,0,0,.08);
}
.before-after .ba-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(0deg,rgba(0,0,0,.16),transparent 48%);
  pointer-events:none;
  z-index:1;
}
.before-after .ba-card b,
.before-after .ba-card h3{position:relative;z-index:2;}
.before-after .ba-card.roof-ba,
.before-after .ba-card.bath-ba,
.before-after .ba-card.outdoor-ba{
  background-size:102% 102%!important;
  background-position:center center!important;
}
.before-after .ba-card:hover{filter:brightness(1.07) contrast(1.03) saturate(1.05);}

.review-track article strong{
  display:block;
  margin-top:12px;
  color:#fff;
  font-size:17px;
  font-weight:900;
  letter-spacing:.02em;
}
.review-track article strong::after{
  content:" • Verified Homeowner";
  color:#d7d7d7;
  font-size:12px;
  font-weight:800;
}

@media(max-width:760px){
  .project-experience .feature-card,
  .before-after .ba-card{
    background-size:cover!important;
    background-position:center center!important;
  }
  .project-experience .feature-card::before{background:linear-gradient(0deg,rgba(0,0,0,.20),transparent 48%)}
  .before-after .ba-card::after{background:linear-gradient(0deg,rgba(0,0,0,.14),transparent 50%)}
}

/* FINAL PASS: Brighten Premium Services cards + hard shake CTA */
.services .photo-card{
  background-image:linear-gradient(0deg,rgba(0,0,0,.46),rgba(0,0,0,.06)),var(--img)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.08) contrast(1.06) brightness(1.08)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.18)!important;
}
.services .photo-card h3,
.services .photo-card p{
  text-shadow:0 8px 22px rgba(0,0,0,.78)!important;
}
.services .photo-card:hover{
  filter:saturate(1.14) contrast(1.08) brightness(1.13)!important;
  box-shadow:0 28px 82px rgba(213,33,53,.28),0 22px 55px rgba(0,0,0,.28)!important;
}
.services .center-btn{
  animation:hardShakeServices 1.65s cubic-bezier(.36,.07,.19,.97) infinite;
  transform-origin:center;
  will-change:transform;
}
.services .center-btn:hover{
  animation:none;
  transform:translateY(-5px) scale(1.04);
  box-shadow:0 22px 60px rgba(213,33,53,.42);
}
@keyframes hardShakeServices{
  0%,100%{transform:translateX(0) rotate(0)}
  6%{transform:translateX(-6px) rotate(-2deg)}
  12%{transform:translateX(7px) rotate(2deg)}
  18%{transform:translateX(-8px) rotate(-2.5deg)}
  24%{transform:translateX(8px) rotate(2.5deg)}
  30%{transform:translateX(-5px) rotate(-1.5deg)}
  36%{transform:translateX(5px) rotate(1.5deg)}
  42%,88%{transform:translateX(0) rotate(0)}
}
@media(max-width:760px){
  .services .photo-card{
    background-image:linear-gradient(0deg,rgba(0,0,0,.52),rgba(0,0,0,.08)),var(--img)!important;
    filter:saturate(1.06) contrast(1.04) brightness(1.08)!important;
  }
  .services .center-btn{animation:hardShakeServices 1.9s cubic-bezier(.36,.07,.19,.97) infinite;}
}

/* Luxury statewide service area rebuild */
.areas{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(213,33,53,.10),transparent 28%),
    linear-gradient(180deg,#fbfaf7,#f1eee9)!important;
}
.areas::before{
  content:"";
  position:absolute;
  inset:auto -10% -30% -10%;
  height:420px;
  background:radial-gradient(circle,rgba(213,33,53,.16),transparent 58%);
  pointer-events:none;
}
.sc-service-card{
  position:relative;
  display:grid;
  grid-template-columns:.9fr 1.35fr;
  gap:28px;
  max-width:1180px;
  margin:0 auto;
  padding:24px;
  border-radius:38px;
  background:linear-gradient(135deg,rgba(10,10,12,.96),rgba(45,13,18,.94));
  color:#fff;
  box-shadow:0 34px 95px rgba(0,0,0,.22);
  border:1px solid rgba(213,33,53,.18);
  overflow:hidden;
}
.sc-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.08) 45%,transparent 62%);
  transform:translateX(-120%);
  animation:serviceAreaSweep 5.8s ease-in-out infinite;
  pointer-events:none;
}
.sc-map-panel{
  min-height:430px;
  border-radius:30px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(213,33,53,.35),transparent 34%),
    linear-gradient(145deg,#09090b,#210b0f);
  border:1px solid rgba(255,255,255,.10);
}
.sc-outline{
  font-size:clamp(120px,18vw,240px);
  font-weight:950;
  letter-spacing:-.09em;
  color:rgba(255,255,255,.08);
  text-shadow:0 0 45px rgba(213,33,53,.35);
  animation:scFloat 4.8s ease-in-out infinite;
}
.state-badge{
  position:absolute;
  top:24px;
  left:24px;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:12px 18px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.state-badge::before{content:"📍";margin-right:8px}
.pulse-ring{
  position:absolute;
  width:130px;
  height:130px;
  border:1px solid rgba(213,33,53,.55);
  border-radius:999px;
  animation:areaPulse 3.2s ease-out infinite;
}
.pulse-ring.one{left:35%;top:39%}
.pulse-ring.two{right:24%;top:27%;animation-delay:.75s}
.pulse-ring.three{left:28%;bottom:22%;animation-delay:1.45s}
.sc-area-content{position:relative;z-index:2;padding:18px 10px 10px;align-self:center}
.sc-area-content .eyebrow{
  margin:0 0 12px;
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  font-weight:950;
}
.sc-area-content h3{
  margin:0;
  font-size:clamp(34px,4.2vw,62px);
  line-height:.96;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.area-copy{
  font-size:18px;
  line-height:1.6;
  color:#e7e0dd;
  max-width:680px;
  font-weight:650;
}
.region-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
}
.region-grid div{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:18px;
  transform:translateY(24px);
  opacity:0;
}
.sc-service-card.show .region-grid div{animation:regionIn .75s cubic-bezier(.18,.85,.22,1.08) forwards}
.sc-service-card.show .region-grid div:nth-child(2){animation-delay:.12s}
.sc-service-card.show .region-grid div:nth-child(3){animation-delay:.24s}
.sc-service-card.show .region-grid div:nth-child(4){animation-delay:.36s}
.region-grid strong{display:block;font-size:18px;color:#fff;margin-bottom:6px}
.region-grid span{display:block;color:#d7d0ce;line-height:1.45;font-weight:700;font-size:14px}
.county-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.county-strip span{
  background:rgba(255,255,255,.96);
  color:#151518;
  border-radius:999px;
  padding:10px 14px;
  font-weight:950;
  font-size:13px;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  transition:.28s;
}
.county-strip span:hover{background:var(--red);color:#fff;transform:translateY(-4px) scale(1.03)}
@keyframes serviceAreaSweep{0%,52%{transform:translateX(-120%);opacity:0}68%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes scFloat{50%{transform:translateY(-10px) scale(1.015)}}
@keyframes areaPulse{0%{transform:scale(.55);opacity:.75}100%{transform:scale(2.2);opacity:0}}
@keyframes regionIn{to{opacity:1;transform:none}}
@media(max-width:900px){
  .sc-service-card{grid-template-columns:1fr;padding:18px;border-radius:32px;gap:18px}
  .sc-map-panel{min-height:280px;border-radius:26px}
  .state-badge{top:18px;left:18px;font-size:12px;padding:10px 14px}
  .region-grid{grid-template-columns:1fr}
  .sc-area-content{padding:10px 4px 4px}
  .area-copy{font-size:16px}
  .county-strip span{font-size:12px;padding:9px 12px}
}

/* SERVICE AREA V2 — compact animated pop-up */
.areas{
  padding-top:76px!important;
  padding-bottom:76px!important;
  background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.10),transparent 30%),linear-gradient(180deg,#fbfaf7,#f2eee8)!important;
}
.sc-service-popup{
  position:relative;
  max-width:980px;
  margin:0 auto;
  padding:34px 28px 30px;
  border-radius:34px;
  overflow:hidden;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(213,33,53,.34),transparent 31%),
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.10),transparent 24%),
    linear-gradient(145deg,#09090b,#2a0d13 62%,#10080a);
  border:1px solid rgba(213,33,53,.28);
  box-shadow:0 38px 100px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.10);
  transform:scale(.92) translateY(28px);
  opacity:0;
}
.sc-service-popup.show{animation:areaPop .78s cubic-bezier(.17,.9,.2,1.18) forwards;}
.sc-service-popup::before{
  content:"SC";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:clamp(150px,30vw,340px);
  font-weight:1000;
  letter-spacing:-.12em;
  color:rgba(255,255,255,.045);
  pointer-events:none;
}
.sc-service-popup::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:conic-gradient(from 180deg,transparent,rgba(213,33,53,.20),transparent 35%);
  animation:areaSpin 7s linear infinite;
  pointer-events:none;
}
.sc-service-popup > *{position:relative;z-index:2;}
.popup-topline{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.popup-topline span,.popup-topline b{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:10px 16px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.popup-topline span{background:#fff;color:#111;box-shadow:0 14px 32px rgba(0,0,0,.22)}
.popup-topline b{background:rgba(213,33,53,.18);color:#fff;border:1px solid rgba(213,33,53,.35)}
.sc-service-popup h3{
  margin:0 auto 10px;
  max-width:780px;
  font-size:clamp(32px,5vw,66px);
  line-height:.94;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.sc-service-popup p{
  margin:0 auto 22px;
  max-width:730px;
  color:#f0e8e6;
  font-weight:760;
  font-size:clamp(15px,2vw,20px);
  line-height:1.5;
}
.city-fly-cloud{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  max-width:860px;
  margin:0 auto;
}
.city-fly-cloud span{
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:11px 16px;
  font-weight:950;
  box-shadow:0 16px 34px rgba(0,0,0,.24);
  opacity:0;
  transform:translateY(34px) scale(.72) rotate(-4deg);
}
.sc-service-popup.show .city-fly-cloud span{animation:cityFly .58s cubic-bezier(.18,.95,.22,1.16) forwards;}
.sc-service-popup.show .city-fly-cloud span:nth-child(1){animation-delay:.06s}.sc-service-popup.show .city-fly-cloud span:nth-child(2){animation-delay:.10s}.sc-service-popup.show .city-fly-cloud span:nth-child(3){animation-delay:.14s}.sc-service-popup.show .city-fly-cloud span:nth-child(4){animation-delay:.18s}.sc-service-popup.show .city-fly-cloud span:nth-child(5){animation-delay:.22s}.sc-service-popup.show .city-fly-cloud span:nth-child(6){animation-delay:.26s}.sc-service-popup.show .city-fly-cloud span:nth-child(7){animation-delay:.30s}.sc-service-popup.show .city-fly-cloud span:nth-child(8){animation-delay:.34s}.sc-service-popup.show .city-fly-cloud span:nth-child(9){animation-delay:.38s}.sc-service-popup.show .city-fly-cloud span:nth-child(10){animation-delay:.42s}.sc-service-popup.show .city-fly-cloud span:nth-child(11){animation-delay:.46s}.sc-service-popup.show .city-fly-cloud span:nth-child(12){animation-delay:.50s}.sc-service-popup.show .city-fly-cloud span:nth-child(13){animation-delay:.54s}.sc-service-popup.show .city-fly-cloud span:nth-child(14){animation-delay:.58s}.sc-service-popup.show .city-fly-cloud span:nth-child(15){animation-delay:.62s}.sc-service-popup.show .city-fly-cloud span:nth-child(16){animation-delay:.66s}.sc-service-popup.show .city-fly-cloud span:nth-child(17){animation-delay:.70s}.sc-service-popup.show .city-fly-cloud span:nth-child(18){animation-delay:.74s}.sc-service-popup.show .city-fly-cloud span:nth-child(19){animation-delay:.78s}
.city-fly-cloud span:hover{background:var(--red);color:#fff;transform:translateY(-5px) scale(1.05)!important;}
.service-area-note{
  margin:22px auto 0;
  width:max-content;
  max-width:100%;
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:12px 18px;
}
@keyframes areaPop{to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes cityFly{to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes areaSpin{to{transform:rotate(360deg)}}

/* Emergency CTA faster pulse + stronger glow */
.emergency-band a{
  animation:urgentHelpPulse .82s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(255,255,255,.58),0 0 32px rgba(255,255,255,.42),0 18px 55px rgba(0,0,0,.35)!important;
}
@keyframes urgentHelpPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.68),0 0 28px rgba(255,255,255,.38),0 18px 55px rgba(0,0,0,.35)}
  50%{transform:scale(1.105);box-shadow:0 0 0 14px rgba(255,255,255,0),0 0 55px rgba(255,255,255,.92),0 24px 75px rgba(0,0,0,.46)}
}
@media(max-width:760px){
  .areas{padding-top:54px!important;padding-bottom:58px!important;}
  .sc-service-popup{padding:28px 18px 24px;border-radius:30px;}
  .city-fly-cloud{gap:9px;}
  .city-fly-cloud span{font-size:13px;padding:10px 13px;}
  .service-area-note{font-size:11px;line-height:1.4;border-radius:22px;}
}

/* Final footer branding updates */
.site-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:48px 20px;background:#050505;}
.site-footer .footer-logo{width:180px;max-width:55%;height:auto;opacity:.98;filter:drop-shadow(0 0 8px rgba(220,38,38,.35)) drop-shadow(0 0 18px rgba(220,38,38,.20));animation:footerGlow 3s ease-in-out infinite;}
.site-footer .ras-logo-link{display:inline-flex;align-items:center;justify-content:center;margin-top:2px;}
.site-footer .ras-logo{width:112px;max-width:32vw;height:auto;filter:drop-shadow(0 0 8px rgba(255,215,0,.25));animation:rasGlow 4s ease-in-out infinite;transition:transform .28s ease, filter .28s ease;}
.site-footer .ras-logo-link:hover .ras-logo{transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 0 16px rgba(255,215,0,.62)) drop-shadow(0 0 30px rgba(255,215,0,.35));}
.site-footer .ras-footer-link{display:inline-block;color:#fff;text-decoration:none;padding:8px 12px;font-weight:700;transition:all .3s ease;}
.site-footer .ras-footer-link:hover{color:#e11d48;text-shadow:0 0 10px rgba(225,29,72,.6),0 0 20px rgba(225,29,72,.35);}
@keyframes footerGlow{0%,100%{filter:drop-shadow(0 0 8px rgba(220,38,38,.35)) drop-shadow(0 0 18px rgba(220,38,38,.20));}50%{filter:drop-shadow(0 0 14px rgba(220,38,38,.65)) drop-shadow(0 0 30px rgba(220,38,38,.40));}}
@keyframes rasGlow{0%,100%{filter:drop-shadow(0 0 8px rgba(255,215,0,.25));}50%{filter:drop-shadow(0 0 16px rgba(255,215,0,.55)) drop-shadow(0 0 28px rgba(255,215,0,.35));}}
@media(min-width:900px){.site-footer .footer-logo{width:200px}.site-footer .ras-logo{width:138px}}

/* FINAL REQUEST PASS — service area like premium Pristine Land Clearing style */
.areas{
  padding:70px 5vw!important;
  background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.09),transparent 32%),linear-gradient(180deg,#fbfaf7,#f0ece6)!important;
}
.sc-service-popup{display:none!important;}
.sc-map-showcase{
  position:relative;
  max-width:1120px;
  margin:0 auto;
  min-height:470px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:24px;
  align-items:stretch;
  padding:22px;
  border-radius:36px;
  color:#fff;
  background:linear-gradient(135deg,#09090b,#211015 55%,#3a1018);
  border:1px solid rgba(213,33,53,.28);
  box-shadow:0 34px 100px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.10);
  overflow:hidden;
}
.sc-map-showcase.show{animation:servicePopIn .75s cubic-bezier(.18,.9,.18,1.14) forwards;}
.sc-map-showcase:before{
  content:"";
  position:absolute;
  inset:-35%;
  background:conic-gradient(from 220deg,transparent,rgba(213,33,53,.18),transparent 32%);
  animation:areaSpin 8s linear infinite;
  pointer-events:none;
}
.sc-map-showcase>*{position:relative;z-index:2;}
.sc-map-copy{
  padding:34px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
}
.map-badge{
  width:max-content;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:12px 17px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  box-shadow:0 16px 36px rgba(0,0,0,.25);
}
.sc-map-copy h3{
  margin:22px 0 14px;
  font-size:clamp(36px,5.2vw,74px);
  line-height:.9;
  letter-spacing:-.065em;
  text-transform:uppercase;
}
.sc-map-copy h3 strong{color:var(--red);font-weight:1000;}
.sc-map-copy p{
  margin:0;
  color:#eee5e2;
  font-size:clamp(16px,2vw,21px);
  line-height:1.55;
  font-weight:750;
}
.region-line{
  margin-top:24px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  font-size:12px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#fff;
}
.sc-fly-map{
  min-height:420px;
  border-radius:30px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 46% 46%,rgba(213,33,53,.36),transparent 30%),
    radial-gradient(circle at 80% 18%,rgba(255,255,255,.08),transparent 24%),
    linear-gradient(145deg,#050507,#210b0f 65%,#08080a);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 70px rgba(213,33,53,.08);
}
.sc-watermark{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:clamp(150px,24vw,300px);
  line-height:1;
  font-weight:1000;
  letter-spacing:-.12em;
  color:rgba(255,255,255,.055);
  text-shadow:0 0 42px rgba(213,33,53,.45);
  animation:scFloat 4.5s ease-in-out infinite;
}
.sc-fly-map span{
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%) scale(.35) rotate(-7deg);
  opacity:0;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:10px 13px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 14px 32px rgba(0,0,0,.32);
}
.sc-map-showcase.show .sc-fly-map span{animation:cityPinPop .6s cubic-bezier(.18,.95,.22,1.18) forwards;}
.sc-map-showcase.show .sc-fly-map span:nth-of-type(1){animation-delay:.05s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(2){animation-delay:.10s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(3){animation-delay:.15s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(4){animation-delay:.20s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(5){animation-delay:.25s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(6){animation-delay:.30s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(7){animation-delay:.35s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(8){animation-delay:.40s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(9){animation-delay:.45s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(10){animation-delay:.50s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(11){animation-delay:.55s}.sc-map-showcase.show .sc-fly-map span:nth-of-type(12){animation-delay:.60s}
.sc-fly-map span:hover{background:var(--red);color:#fff;transform:translate(-50%,-55%) scale(1.06)!important;}
@keyframes servicePopIn{from{opacity:0;transform:translateY(28px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cityPinPop{0%{opacity:0;transform:translate(-50%,-50%) translateY(36px) scale(.35) rotate(-8deg)}75%{opacity:1;transform:translate(-50%,-50%) translateY(-6px) scale(1.08) rotate(1deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@media(max-width:860px){
  .sc-map-showcase{grid-template-columns:1fr;gap:16px;min-height:auto;padding:16px;border-radius:30px;}
  .sc-map-copy{text-align:center;align-items:center;padding:20px 12px 10px;}
  .sc-map-copy h3{font-size:clamp(34px,10vw,58px);}
  .region-line{font-size:10px;line-height:1.45;border-radius:16px;}
  .sc-fly-map{min-height:330px;border-radius:26px;}
  .sc-fly-map span{font-size:10.5px;padding:8px 10px;}
}

/* Transformation Showcase: move red labels above the photos, not on top of images */
.before-after .ba-grid{padding-top:48px;}
.before-after .ba-card{
  overflow:visible!important;
  margin-top:34px;
  border-radius:28px;
  background-image:linear-gradient(0deg,rgba(0,0,0,.18),rgba(0,0,0,.02)),var(--img)!important;
}
.before-after .ba-card b{
  position:absolute!important;
  top:-48px!important;
  left:0!important;
  z-index:4!important;
  background:var(--red)!important;
  color:#fff!important;
  padding:11px 18px!important;
  border-radius:999px!important;
  box-shadow:0 16px 34px rgba(213,33,53,.26);
}
.before-after .ba-card h3{
  background:linear-gradient(0deg,rgba(0,0,0,.52),rgba(0,0,0,.18));
  margin:-26px;
  padding:78px 26px 26px;
  border-radius:0 0 28px 28px;
  text-shadow:0 12px 25px rgba(0,0,0,.72);
}
.before-after .ba-card::after{display:none!important;}

/* Reviews: add leave review button */
.leave-review-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  padding:14px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#ee293e,#9b0918);
  color:#fff;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
  box-shadow:0 18px 45px rgba(213,33,53,.34);
  animation:reviewPulse 2s ease-in-out infinite;
}
.leave-review-btn:hover{transform:translateY(-4px) scale(1.04);animation:none;}
@keyframes reviewPulse{0%,100%{box-shadow:0 18px 45px rgba(213,33,53,.26)}50%{box-shadow:0 0 28px rgba(213,33,53,.62),0 18px 60px rgba(213,33,53,.36)}}

/* Footer: smaller tighter logos + less empty space */
.site-footer{
  padding:30px 20px 34px!important;
  gap:8px!important;
}
.site-footer .footer-logo{
  width:125px!important;
  max-width:42%!important;
  margin:0 auto!important;
}
.site-footer p{
  margin:6px auto 8px!important;
  font-size:14px!important;
  line-height:1.35!important;
  max-width:360px!important;
}
.site-footer .ras-logo-link{margin-top:0!important;}
.site-footer .ras-logo{
  width:76px!important;
  max-width:23vw!important;
}
.site-footer .ras-footer-link{
  font-size:14px!important;
  padding:5px 10px!important;
  margin-top:8px!important;
}
@media(min-width:900px){
  .site-footer{padding:34px 20px 38px!important;}
  .site-footer .footer-logo{width:145px!important;}
  .site-footer .ras-logo{width:88px!important;}
}

/* FINAL POLISH PASS — service area, transformation cards, footer */
.areas{
  padding:64px 5vw 70px!important;
  background:radial-gradient(circle at 50% -10%,rgba(213,33,53,.08),transparent 34%),linear-gradient(180deg,#fbfaf7,#eee9e1)!important;
}
.areas .section-title{margin-bottom:28px!important;}
.sc-map-showcase{
  position:relative!important;
  max-width:1080px!important;
  margin:0 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:.9fr 1.1fr!important;
  gap:24px!important;
  padding:22px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 72% 40%,rgba(213,33,53,.22),transparent 32%),
    linear-gradient(135deg,#070709,#1a0a0e 58%,#070709)!important;
  border:1px solid rgba(213,33,53,.26)!important;
  box-shadow:0 34px 95px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.sc-map-showcase::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:conic-gradient(from 140deg,transparent,rgba(213,33,53,.12),transparent 30%);
  animation:areaSpin 9s linear infinite;
  pointer-events:none;
}
.sc-map-showcase>*{position:relative;z-index:2;}
.sc-map-copy{
  padding:26px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  text-align:left!important;
}
.map-badge{
  width:max-content;
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 14px 32px rgba(0,0,0,.26);
}
.sc-map-copy h3{
  margin:18px 0 12px!important;
  font-size:clamp(34px,5vw,64px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  text-transform:uppercase!important;
  color:#fff!important;
}
.sc-map-copy h3 strong{color:var(--red)!important;}
.sc-map-copy p{
  margin:0!important;
  color:#f0e7e3!important;
  font-size:clamp(15px,1.7vw,20px)!important;
  line-height:1.5!important;
  font-weight:760!important;
}
.region-line{
  margin-top:18px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:11px 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
}
.sc-fly-map{
  min-height:360px!important;
  border-radius:28px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(213,33,53,.26),transparent 30%),
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.07),transparent 25%),
    linear-gradient(145deg,#030305,#14080b 66%,#070707)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 0 80px rgba(213,33,53,.09)!important;
}
.sc-fly-map::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:64%;
  height:72%;
  transform:translate(-50%,-50%) rotate(-8deg);
  background:linear-gradient(135deg,rgba(213,33,53,.26),rgba(213,33,53,.06));
  clip-path:polygon(18% 12%,65% 6%,91% 26%,76% 48%,88% 67%,62% 90%,31% 78%,10% 51%,5% 28%);
  border:2px solid rgba(255,255,255,.12);
  filter:drop-shadow(0 0 28px rgba(213,33,53,.45));
  animation:scPulse 2.8s ease-in-out infinite;
}
.sc-watermark{
  font-size:clamp(80px,15vw,160px)!important;
  color:rgba(255,255,255,.045)!important;
  letter-spacing:-.10em!important;
  z-index:0!important;
}
.sc-fly-map span{
  position:absolute!important;
  left:var(--x)!important;
  top:var(--y)!important;
  transform:translate(-50%,-50%) translateY(30px) scale(.7) rotate(-5deg)!important;
  opacity:0;
  background:#fff!important;
  color:#111!important;
  border-radius:999px!important;
  padding:9px 12px!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:0 14px 28px rgba(0,0,0,.30),0 0 0 0 rgba(213,33,53,.35)!important;
}
.sc-fly-map span::before{content:"📍 ";}
.sc-map-showcase.show .sc-fly-map span{animation:cityPinPop .55s cubic-bezier(.18,.95,.22,1.18) forwards, pinGlow 2.2s ease-in-out infinite;}
@keyframes scPulse{0%,100%{opacity:.72;filter:drop-shadow(0 0 22px rgba(213,33,53,.32));}50%{opacity:1;filter:drop-shadow(0 0 38px rgba(213,33,53,.55));}}
@keyframes pinGlow{0%,100%{box-shadow:0 14px 28px rgba(0,0,0,.30),0 0 0 0 rgba(213,33,53,.22)}50%{box-shadow:0 14px 28px rgba(0,0,0,.30),0 0 0 8px rgba(213,33,53,0)}}

/* Transformation Showcase: clean title block above every photo */
.before-after .ba-grid{padding-top:100px!important;gap:28px!important;}
.before-after .ba-card{
  overflow:visible!important;
  margin-top:44px!important;
  padding:0!important;
  min-height:340px!important;
  border-radius:28px!important;
  background-image:linear-gradient(0deg,rgba(0,0,0,.06),rgba(0,0,0,0)),var(--img)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 20px 52px rgba(0,0,0,.16)!important;
}
.before-after .ba-card b{
  position:absolute!important;
  top:-84px!important;
  left:0!important;
  z-index:5!important;
  background:var(--red)!important;
  color:#fff!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  box-shadow:0 15px 32px rgba(213,33,53,.28)!important;
}
.before-after .ba-card h3{
  position:absolute!important;
  top:-46px!important;
  left:0!important;
  right:0!important;
  z-index:5!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#111!important;
  text-shadow:none!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:900!important;
  max-width:none!important;
}
.before-after .ba-card::after{display:none!important;}
.before-after .ba-card:hover{filter:brightness(1.08) contrast(1.03) saturate(1.04)!important;transform:translateY(-7px)!important;}

/* Footer: compact luxury brand footer */
.site-footer{
  padding:24px 18px 28px!important;
  gap:6px!important;
  background:#050505!important;
}
.site-footer .footer-logo{
  width:112px!important;
  max-width:34%!important;
  height:auto!important;
  margin:0 auto!important;
  filter:drop-shadow(0 0 7px rgba(220,38,38,.38)) drop-shadow(0 0 15px rgba(220,38,38,.20))!important;
}
.site-footer p{
  margin:4px auto 6px!important;
  font-size:13px!important;
  line-height:1.3!important;
  max-width:310px!important;
}
.site-footer .ras-logo{width:62px!important;max-width:20vw!important;}
.site-footer .ras-footer-link{font-size:13px!important;padding:4px 8px!important;margin-top:5px!important;}
@media(min-width:900px){
  .site-footer{padding:28px 20px 32px!important;}
  .site-footer .footer-logo{width:128px!important;}
  .site-footer .ras-logo{width:72px!important;}
}
@media(max-width:860px){
  .sc-map-showcase{grid-template-columns:1fr!important;padding:16px!important;border-radius:30px!important;gap:14px!important;}
  .sc-map-copy{text-align:center!important;align-items:center!important;padding:18px 8px 4px!important;}
  .region-line{width:auto!important;}
  .sc-fly-map{min-height:310px!important;border-radius:25px!important;}
  .sc-fly-map::before{width:72%;height:68%;}
  .sc-fly-map span{font-size:9.5px!important;padding:7px 9px!important;}
  .before-after .ba-grid{padding-top:78px!important;}
  .before-after .ba-card{min-height:300px!important;margin-top:58px!important;}
  .before-after .ba-card b{top:-74px!important;}
  .before-after .ba-card h3{top:-39px!important;font-size:15px!important;}
}


/* RAS FINAL REQUEST — move service area up handled in HTML + tighten footer spacing */
.site-footer{
  padding:18px 18px 20px!important;
  gap:2px!important;
}
.site-footer .footer-logo{
  width:98px!important;
  max-width:30%!important;
  margin:0 auto 2px!important;
}
.site-footer p{
  margin:2px auto 4px!important;
  font-size:12.5px!important;
  line-height:1.22!important;
}
.site-footer .ras-logo-link{
  margin:0!important;
  line-height:0!important;
  padding:0!important;
}
.site-footer .ras-logo{
  width:54px!important;
  max-width:16vw!important;
  display:block!important;
  margin:0 auto!important;
}
.site-footer .ras-footer-link{
  margin-top:0!important;
  padding:1px 8px 0!important;
  line-height:1.15!important;
  font-size:12.5px!important;
}
@media(min-width:900px){
  .site-footer{padding:20px 20px 24px!important;}
  .site-footer .footer-logo{width:112px!important;}
  .site-footer .ras-logo{width:60px!important;}
}

/* FINAL POLISH — popup service area + centered transformation titles */
.compact-service-section{
  padding-top:52px!important;
  padding-bottom:58px!important;
  background:linear-gradient(180deg,#f8f5f0 0%,#fff 100%)!important;
}
.compact-service-section .section-title{margin-bottom:24px!important;}
.statewide-popup-card{
  width:min(760px,92vw);
  margin:0 auto!important;
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:34px 22px 30px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 18%,rgba(213,33,53,.34),transparent 34%),
    linear-gradient(145deg,#09090b,#1b080c 68%,#080608);
  border:1px solid rgba(213,33,53,.36);
  box-shadow:0 28px 80px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.08);
  transform:translateY(34px) scale(.9);
  opacity:0;
}
.statewide-popup-card.show{animation:statePopFinal .78s cubic-bezier(.16,.95,.2,1.18) forwards;}
.statewide-popup-card > *{position:relative;z-index:2;}
.state-glow-orbit{position:absolute;inset:18px;border-radius:28px;background:radial-gradient(circle,transparent 38%,rgba(213,33,53,.15) 39%,transparent 41%,transparent 57%,rgba(213,33,53,.12) 58%,transparent 60%);animation:areaSpin 9s linear infinite;opacity:.75;}
.sc-popup-mark{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:clamp(110px,28vw,220px);font-weight:950;letter-spacing:-.12em;color:rgba(255,255,255,.045);z-index:1!important;line-height:.75;}
.popup-pill{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#111;border-radius:999px;padding:11px 24px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 14px 32px rgba(0,0,0,.35);}
.main-pill{margin-bottom:18px;animation:pillFloat 2.8s ease-in-out infinite;}
.statewide-popup-card h3{margin:0 auto 14px;color:#fff;text-transform:uppercase;font-size:clamp(34px,6vw,66px);line-height:.95;letter-spacing:-.055em;font-weight:950;max-width:660px;}
.statewide-popup-card h3 strong{color:#fff;}
.statewide-popup-card p{margin:0 auto 22px;color:rgba(255,255,255,.88);font-size:clamp(16px,2vw,21px);line-height:1.45;font-weight:800;max-width:620px;}
.popup-region-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:8px auto 0;max-width:640px;}
.popup-region-chips span{opacity:0;transform:translateY(28px) scale(.72) rotate(-4deg);display:inline-flex;background:rgba(255,255,255,.94);color:#111;border-radius:999px;padding:11px 17px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 16px 32px rgba(0,0,0,.28);}
.statewide-popup-card.show .popup-region-chips span{animation:regionChipPop .56s cubic-bezier(.18,.95,.22,1.16) forwards;}
.statewide-popup-card.show .popup-region-chips span:nth-child(1){animation-delay:.12s}.statewide-popup-card.show .popup-region-chips span:nth-child(2){animation-delay:.22s}.statewide-popup-card.show .popup-region-chips span:nth-child(3){animation-delay:.32s}.statewide-popup-card.show .popup-region-chips span:nth-child(4){animation-delay:.42s}.statewide-popup-card.show .popup-region-chips span:nth-child(5){animation-delay:.52s}
.popup-region-chips span:hover{background:var(--red);color:#fff;transform:translateY(-5px) scale(1.05)!important;}
@keyframes statePopFinal{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes regionChipPop{70%{opacity:1;transform:translateY(-5px) scale(1.07) rotate(1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes pillFloat{50%{transform:translateY(-5px);box-shadow:0 18px 45px rgba(0,0,0,.42)}}

.before-after .section-title{text-align:center!important;}
.before-after .ba-grid{padding-top:92px!important;gap:32px!important;}
.before-after .ba-card{
  margin-top:64px!important;
  overflow:visible!important;
  background-image:linear-gradient(0deg,rgba(0,0,0,.03),rgba(0,0,0,0)),var(--img)!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.04)!important;
  transform:translateY(28px) scale(.96)!important;
  opacity:0;
  animation:none;
}
.before-after .ba-card.show{animation:showcaseCardPop .78s cubic-bezier(.18,.9,.2,1.12) forwards!important;}
.before-after .ba-card b{
  position:absolute!important;
  left:50%!important;
  top:-72px!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:92%!important;
  text-align:center!important;
  background:transparent!important;
  color:var(--red)!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:clamp(18px,2.3vw,28px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
}
.before-after .ba-card h3{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:-38px!important;
  transform:translateX(-50%)!important;
  width:min(96%,430px)!important;
  color:#111!important;
  font-size:clamp(13px,1.35vw,17px)!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-align:center!important;
  max-width:430px!important;
}
.before-after .ba-card::after{display:none!important;}
.before-after .ba-card:hover{transform:translateY(-7px) scale(1)!important;filter:brightness(1.12) contrast(1.05) saturate(1.06)!important;}
@keyframes showcaseCardPop{to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
  .compact-service-section{padding-top:44px!important;padding-bottom:48px!important;}
  .statewide-popup-card{padding:28px 16px 24px;border-radius:30px;width:min(90vw,560px);}
  .popup-region-chips{gap:9px;}
  .popup-region-chips span{padding:9px 13px;font-size:12px;}
  .before-after .ba-grid{padding-top:70px!important;gap:24px!important;}
  .before-after .ba-card{margin-top:58px!important;min-height:300px!important;}
  .before-after .ba-card b{top:-64px!important;font-size:18px!important;}
  .before-after .ba-card h3{top:-34px!important;font-size:13px!important;}
}


/* SERVICE AREA FINAL FORCE UPDATE */
.compact-service-section#service-area{
  padding:42px 18px 50px!important;
  background:radial-gradient(circle at 50% 30%,rgba(213,33,53,.08),transparent 32%),linear-gradient(180deg,#f8f5f0 0%,#fff 100%)!important;
}
.compact-service-section#service-area .statewide-popup-card{
  width:min(720px,94vw)!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:30px 20px 28px!important;
  border-radius:34px!important;
  text-align:center!important;
  transform:translateY(0) scale(1)!important;
  opacity:1!important;
  animation:servicePopVisible .85s cubic-bezier(.16,.95,.2,1.18) both!important;
}
.force-show-service .popup-region-chips span{animation:regionChipPop .56s cubic-bezier(.18,.95,.22,1.16) forwards!important;}
.force-show-service .popup-region-chips span:nth-child(1){animation-delay:.16s!important}.force-show-service .popup-region-chips span:nth-child(2){animation-delay:.28s!important}.force-show-service .popup-region-chips span:nth-child(3){animation-delay:.40s!important}.force-show-service .popup-region-chips span:nth-child(4){animation-delay:.52s!important}.force-show-service .popup-region-chips span:nth-child(5){animation-delay:.64s!important}
@keyframes servicePopVisible{0%{opacity:0;transform:translateY(34px) scale(.88)}70%{opacity:1;transform:translateY(-6px) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.compact-service-section#service-area{padding:30px 12px 36px!important}.compact-service-section#service-area .statewide-popup-card{padding:26px 14px 22px!important;border-radius:28px!important}.statewide-popup-card h3{font-size:clamp(30px,10vw,48px)!important}.statewide-popup-card p{font-size:15px!important}.popup-region-chips{gap:8px!important}.popup-region-chips span{font-size:11px!important;padding:8px 10px!important}}

/* FINAL REQUEST PASS — featured labels, interactive statewide popup, showcase spacing, pulsing review button */
.project-experience .feature-card{
  filter:brightness(1.13) contrast(1.06) saturate(1.06)!important;
  background-size:cover!important;
  overflow:hidden!important;
}
.project-experience .feature-card label{
  position:absolute!important;
  top:16px!important;
  left:16px!important;
  z-index:6!important;
  background:linear-gradient(135deg,#f03a4f,#a70819)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(213,33,53,.34)!important;
  animation:labelCornerPop .95s cubic-bezier(.16,.95,.2,1.18) both!important;
}
.project-experience .feature-card div{
  width:100%!important;
  padding-top:42px!important;
}
@keyframes labelCornerPop{
  0%{opacity:0;transform:translate(-22px,-18px) scale(.72)}
  70%{opacity:1;transform:translate(3px,2px) scale(1.05)}
  100%{opacity:1;transform:translate(0,0) scale(1)}
}

/* Rebuild statewide service as interactive popup, not flat */
.compact-service-section#service-area{
  padding:34px 14px 42px!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(213,33,53,.13),transparent 34%),
    linear-gradient(180deg,#f8f5f0 0%,#fff 100%)!important;
  perspective:1200px!important;
}
.compact-service-section#service-area .statewide-popup-card{
  width:min(680px,92vw)!important;
  padding:28px 18px 24px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.12),transparent 26%),
    radial-gradient(circle at 18% 76%,rgba(213,33,53,.32),transparent 28%),
    linear-gradient(145deg,#08080a,#1c080d 62%,#070507)!important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.32),
    0 0 0 1px rgba(213,33,53,.28),
    inset 0 0 42px rgba(255,255,255,.055)!important;
  transform-style:preserve-3d!important;
  animation:serviceInteractivePop 1s cubic-bezier(.16,.95,.2,1.18) both, serviceFloat3d 5s ease-in-out 1.2s infinite!important;
}
.compact-service-section#service-area .statewide-popup-card::before{
  content:"";position:absolute;inset:12px;border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 35px rgba(213,33,53,.15);
  pointer-events:none;z-index:1;
}
.compact-service-section#service-area .statewide-popup-card::after{
  content:"";position:absolute;inset:-50%;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.16),transparent 58%);
  animation:serviceCardSweep 4.5s ease-in-out infinite;
  z-index:1;pointer-events:none;
}
.service-city-cloud{
  position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:16px auto 0;max-width:560px;
}
.service-city-cloud span{
  opacity:0;transform:translateY(32px) scale(.72);
  background:rgba(255,255,255,.105);color:#fff;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;padding:8px 12px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;
  backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.force-show-service .service-city-cloud span{animation:cityFlyIn .56s cubic-bezier(.18,.95,.22,1.16) forwards;}
.force-show-service .service-city-cloud span:nth-child(1){animation-delay:.18s}.force-show-service .service-city-cloud span:nth-child(2){animation-delay:.25s}.force-show-service .service-city-cloud span:nth-child(3){animation-delay:.32s}.force-show-service .service-city-cloud span:nth-child(4){animation-delay:.39s}.force-show-service .service-city-cloud span:nth-child(5){animation-delay:.46s}.force-show-service .service-city-cloud span:nth-child(6){animation-delay:.53s}.force-show-service .service-city-cloud span:nth-child(7){animation-delay:.60s}.force-show-service .service-city-cloud span:nth-child(8){animation-delay:.67s}
.service-city-cloud span:hover,.popup-region-chips span:hover{background:var(--red)!important;color:#fff!important;transform:translateY(-6px) scale(1.06)!important;box-shadow:0 18px 40px rgba(213,33,53,.35)!important;}
@keyframes serviceInteractivePop{0%{opacity:0;transform:rotateX(12deg) translateY(44px) scale(.84)}70%{opacity:1;transform:rotateX(-2deg) translateY(-7px) scale(1.025)}100%{opacity:1;transform:rotateX(0) translateY(0) scale(1)}}
@keyframes serviceFloat3d{50%{transform:translateY(-8px) rotateX(1.4deg)}}
@keyframes serviceCardSweep{0%,45%{transform:translateX(-35%) rotate(8deg);opacity:0}60%{opacity:1}100%{transform:translateX(35%) rotate(8deg);opacity:0}}
@keyframes cityFlyIn{72%{opacity:1;transform:translateY(-5px) scale(1.07)}100%{opacity:1;transform:translateY(0) scale(1)}}
.compact-service-section#service-area .statewide-popup-card h3{font-size:clamp(30px,5vw,54px)!important;}
.compact-service-section#service-area .statewide-popup-card p{max-width:560px!important;}

/* Transformation showcase title spacing cleanup */
.before-after .ba-grid{padding-top:58px!important;gap:30px!important;}
.before-after .ba-card{
  margin-top:44px!important;
  overflow:visible!important;
  background-size:cover!important;
  background-position:center!important;
}
.before-after .ba-card b{
  top:-52px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  text-align:center!important;
}
.before-after .ba-card h3{
  top:-22px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  text-align:center!important;
}
.before-after .ba-card.roof-ba{margin-top:28px!important;}
.before-after .ba-card.roof-ba b{top:-40px!important;}
.before-after .ba-card.roof-ba h3{top:-13px!important;}
.before-after .ba-card.bath-ba h3,
.before-after .ba-card.outdoor-ba h3{top:-16px!important;}

/* Leave review button strong pulse */
.leave-review-btn{
  animation:leaveReviewPulse 1.15s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(213,33,53,.62),0 14px 34px rgba(213,33,53,.32)!important;
}
@keyframes leaveReviewPulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,33,53,.62),0 14px 34px rgba(213,33,53,.32)}
  55%{transform:scale(1.045);box-shadow:0 0 0 13px rgba(213,33,53,0),0 0 26px rgba(213,33,53,.58)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,33,53,0),0 14px 34px rgba(213,33,53,.32)}
}
@media(max-width:760px){
  .project-experience .feature-card label{top:13px!important;left:13px!important;font-size:10px!important;padding:7px 10px!important;}
  .project-experience .feature-card div{padding-top:36px!important;}
  .before-after .ba-grid{padding-top:50px!important;}
  .before-after .ba-card{margin-top:44px!important;min-height:295px!important;}
  .before-after .ba-card.roof-ba{margin-top:28px!important;}
  .before-after .ba-card b{top:-50px!important;font-size:16px!important;}
  .before-after .ba-card h3{top:-21px!important;font-size:12.5px!important;}
  .before-after .ba-card.roof-ba b{top:-38px!important;}
  .before-after .ba-card.roof-ba h3{top:-12px!important;}
  .service-city-cloud{gap:7px;margin-top:12px;}
  .service-city-cloud span{font-size:9.5px;padding:7px 9px;}
}

/* HARD FIX PASS — requested visible changes */
.project-experience .feature-card{
  position:relative!important;
  align-items:flex-end!important;
  padding:24px!important;
  filter:brightness(1.16) contrast(1.06) saturate(1.06)!important;
}
.project-experience .feature-card label{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:20!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:calc(100% - 28px)!important;
  background:linear-gradient(135deg,#ed3348,#930815)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 12px 30px rgba(213,33,53,.42)!important;
}
.project-experience .feature-card div{
  position:relative!important;
  z-index:8!important;
  width:100%!important;
  padding-top:48px!important;
}

/* Transformation Showcase: true title-above-card layout */
.before-after .ba-clean-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:24px!important;
  padding-top:0!important;
  align-items:start!important;
}
.before-after .ba-item{
  opacity:0;
  transform:translateY(34px);
  transition:1s cubic-bezier(.2,.8,.2,1);
}
.before-after .ba-item.show{opacity:1;transform:none;}
.before-after .ba-copy{
  text-align:center!important;
  margin:0 0 18px!important;
  min-height:104px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.before-after .ba-copy b{
  position:static!important;
  transform:none!important;
  display:block!important;
  background:transparent!important;
  color:#d52135!important;
  padding:0!important;
  border-radius:0!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  font-size:clamp(18px,2vw,26px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  margin:0 0 13px!important;
}
.before-after .ba-copy h3{
  position:static!important;
  transform:none!important;
  color:#171719!important;
  font-size:clamp(14px,1.3vw,17px)!important;
  line-height:1.45!important;
  font-weight:850!important;
  margin:0!important;
  max-width:310px!important;
}
.before-after .ba-card{
  margin-top:0!important;
  min-height:360px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background-size:cover!important;
  background-position:center center!important;
  filter:brightness(1.09) contrast(1.04) saturate(1.04)!important;
}
.before-after .ba-card b,.before-after .ba-card h3{display:none!important;}
.before-after .ba-card::before{content:none!important;display:none!important;}

/* Interactive statewide service — more like a visual pop-up/map, not flat */
.interactive-statewide{
  padding:44px 5vw 50px!important;
  background:
    radial-gradient(circle at 50% 30%,rgba(213,33,53,.12),transparent 34%),
    linear-gradient(180deg,#faf7f2,#fff)!important;
}
.statewide-stage{
  width:min(980px,100%)!important;
  min-height:360px!important;
  margin:0 auto!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:.9fr 1.1fr!important;
  align-items:center!important;
  gap:22px!important;
  perspective:1000px!important;
}
.state-map-card{
  min-height:315px!important;
  border-radius:38px!important;
  position:relative!important;
  background:linear-gradient(145deg,#070708,#16080c 64%,#070708)!important;
  box-shadow:0 30px 85px rgba(0,0,0,.28), inset 0 0 45px rgba(213,33,53,.1)!important;
  overflow:hidden!important;
  border:1px solid rgba(213,33,53,.22)!important;
  animation:mapPop .9s cubic-bezier(.16,.95,.2,1.18) both!important;
}
.sc-map-shape{
  position:absolute!important;
  inset:28px!important;
  display:grid!important;
  place-items:center!important;
  font-size:clamp(100px,18vw,210px)!important;
  font-weight:950!important;
  letter-spacing:-.12em!important;
  color:rgba(255,255,255,.08)!important;
  text-shadow:0 0 35px rgba(213,33,53,.16)!important;
}
.map-pin{
  position:absolute!important;
  background:#fff!important;
  color:#111!important;
  border-radius:999px!important;
  padding:8px 11px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  box-shadow:0 0 0 0 rgba(213,33,53,.58),0 12px 28px rgba(0,0,0,.32)!important;
  opacity:0;
  animation:pinPop .65s cubic-bezier(.18,.95,.22,1.16) forwards, pinPulse 1.2s ease-in-out infinite!important;
}
.p1{left:44%;top:47%;animation-delay:.1s,.8s!important}.p2{left:20%;top:23%;animation-delay:.22s,1s!important}.p3{right:13%;bottom:25%;animation-delay:.34s,1.1s!important}.p4{right:10%;top:34%;animation-delay:.46s,1.2s!important}.p5{left:30%;top:34%;animation-delay:.58s,1.3s!important}
.statewide-float-card{
  width:100%!important;
  max-width:560px!important;
  padding:34px 26px 28px!important;
  animation:serviceInteractivePop 1s cubic-bezier(.16,.95,.2,1.18) both, serviceFloat3d 4s ease-in-out 1.1s infinite!important;
}
@keyframes mapPop{0%{opacity:0;transform:translateX(-40px) scale(.88) rotateY(-12deg)}100%{opacity:1;transform:none}}
@keyframes pinPop{0%{opacity:0;transform:translateY(22px) scale(.5)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pinPulse{50%{box-shadow:0 0 0 10px rgba(213,33,53,0),0 0 28px rgba(213,33,53,.58)}}

/* Leave review button visibly pulsates */
.leave-review-btn{
  animation:leaveReviewPulseHard .85s ease-in-out infinite!important;
}
@keyframes leaveReviewPulseHard{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,33,53,.7),0 14px 34px rgba(213,33,53,.34)}
  50%{transform:scale(1.065);box-shadow:0 0 0 16px rgba(213,33,53,0),0 0 34px rgba(213,33,53,.75)}
}

@media(max-width:900px){
  .statewide-stage{grid-template-columns:1fr!important;min-height:auto!important;gap:14px!important;}
  .state-map-card{min-height:250px!important;}
  .before-after .ba-clean-grid{grid-template-columns:1fr!important;gap:30px!important;}
  .before-after .ba-copy{min-height:auto!important;margin-bottom:14px!important;}
  .before-after .ba-card{min-height:300px!important;}
}

/* === FINAL USER FIX: Transformation images visible + statewide popup + pulsing estimate button === */
.before-after .ba-clean-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  padding-top:0!important;
  align-items:start!important;
}
.before-after .ba-item{
  opacity:0;
  transform:translateY(34px);
  transition:1s cubic-bezier(.2,.8,.2,1);
}
.before-after .ba-item.show{opacity:1;transform:none;}
.before-after .ba-copy{
  text-align:center!important;
  margin:0 0 18px!important;
  min-height:104px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.before-after .ba-copy b{
  color:#d52135!important;
  background:transparent!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  font-size:clamp(18px,2vw,26px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  margin:0 0 14px!important;
  display:block!important;
  position:static!important;
  transform:none!important;
}
.before-after .ba-copy h3{
  color:#171719!important;
  font-size:clamp(14px,1.3vw,17px)!important;
  line-height:1.5!important;
  font-weight:850!important;
  margin:0!important;
  max-width:330px!important;
  position:static!important;
  transform:none!important;
  background:transparent!important;
  text-shadow:none!important;
}
.ba-photo-card{
  margin:0!important;
  min-height:360px!important;
  height:360px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 20px 52px rgba(0,0,0,.16)!important;
  background:#09090b!important;
  border:1px solid rgba(0,0,0,.08)!important;
  transition:.35s ease!important;
}
.ba-photo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.08) contrast(1.04) saturate(1.04)!important;
  transition:transform .6s ease, filter .35s ease!important;
}
.ba-photo-card:hover{transform:translateY(-7px)!important;box-shadow:0 26px 70px rgba(0,0,0,.22)!important;}
.ba-photo-card:hover img{transform:scale(1.045)!important;filter:brightness(1.12) contrast(1.05) saturate(1.06)!important;}

/* Hide old service area structures and use one interactive popup card */
.state-map-card,.statewide-popup-card,.sc-map-showcase,.sc-service-popup{display:none!important;}
.statewide-service-v3{
  padding:62px 5vw 68px!important;
  background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.10),transparent 35%),linear-gradient(180deg,#fbf8f3,#fff)!important;
  overflow:hidden!important;
}
.statewide-service-v3 .section-title{margin-bottom:28px!important;}
.sc-popup-experience{
  width:min(1060px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:.92fr 1.08fr!important;
  gap:0!important;
  border-radius:38px!important;
  overflow:hidden!important;
  position:relative!important;
  color:#fff!important;
  background:linear-gradient(135deg,#070709,#19070c 58%,#2b0b12)!important;
  border:1px solid rgba(213,33,53,.28)!important;
  box-shadow:0 35px 100px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08)!important;
  transform:translateY(34px) scale(.93)!important;
  opacity:0;
}
.sc-popup-experience.show{animation:serviceAreaPopFinal .85s cubic-bezier(.16,.95,.2,1.18) forwards!important;}
.sc-popup-experience::after{
  content:"";position:absolute;inset:-45%;
  background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.13),transparent 58%);
  animation:serviceSweepFinal 5s ease-in-out infinite;pointer-events:none;
}
.sc-popup-map{
  min-height:390px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 48% 48%,rgba(213,33,53,.36),transparent 34%),
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.07),transparent 28%),
    linear-gradient(145deg,#040405,#17080b 68%,#050506)!important;
  display:block!important;
}
.sc-popup-map::before{
  content:"";position:absolute;left:50%;top:50%;width:68%;height:72%;
  transform:translate(-50%,-50%) rotate(-8deg);
  background:linear-gradient(145deg,rgba(213,33,53,.28),rgba(213,33,53,.05));
  clip-path:polygon(18% 10%,66% 5%,91% 27%,76% 48%,88% 68%,61% 92%,31% 79%,10% 52%,5% 28%);
  border:2px solid rgba(255,255,255,.12);
  filter:drop-shadow(0 0 34px rgba(213,33,53,.5));
  animation:scPulse 2.8s ease-in-out infinite;
}
.sc-outline-v3{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:clamp(130px,24vw,260px);font-weight:1000;letter-spacing:-.12em;
  color:rgba(255,255,255,.055);text-shadow:0 0 48px rgba(213,33,53,.36);
  animation:scFloat 4.8s ease-in-out infinite;
}
.sc-popup-map .pin{
  position:absolute;left:var(--x);top:var(--y);z-index:3;
  transform:translate(-50%,-50%) translateY(30px) scale(.65) rotate(-5deg);
  opacity:0;background:#fff;color:#111;border-radius:999px;padding:9px 12px;
  font-size:11px;font-weight:950;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 14px 28px rgba(0,0,0,.32),0 0 0 0 rgba(213,33,53,.45);
}
.sc-popup-map .pin::before{content:"📍 ";}
.sc-popup-experience.show .pin{animation:cityPinPop .58s cubic-bezier(.18,.95,.22,1.18) forwards, pinGlow 2.2s ease-in-out infinite;}
.pin.columbia{--x:50%;--y:51%;animation-delay:.12s,.8s!important}.pin.greenville{--x:26%;--y:25%;animation-delay:.22s,1s!important}.pin.charleston{--x:70%;--y:70%;animation-delay:.32s,1.1s!important}.pin.myrtle{--x:76%;--y:43%;animation-delay:.42s,1.2s!important}.pin.rockhill{--x:39%;--y:33%;animation-delay:.52s,1.3s!important}.pin.beaufort{--x:58%;--y:80%;animation-delay:.62s,1.4s!important}
.sc-popup-content{
  position:relative;z-index:3;padding:38px 30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;
}
.sc-popup-content .main-pill{display:inline-flex;margin:0 0 18px!important;padding:11px 20px!important;background:#fff!important;color:#111!important;border-radius:999px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.06em!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important;animation:pillFloat 2.8s ease-in-out infinite!important;}
.sc-popup-content h3{margin:0 0 14px!important;font-size:clamp(34px,5.2vw,66px)!important;line-height:.92!important;letter-spacing:-.06em!important;text-transform:uppercase!important;color:#fff!important;font-weight:1000!important;}
.sc-popup-content h3 strong{color:#d52135!important;}
.sc-popup-content p{margin:0 0 22px!important;color:#f2e9e6!important;font-size:clamp(16px,1.8vw,20px)!important;line-height:1.5!important;font-weight:760!important;}
.region-pop-row{display:flex;flex-wrap:wrap;gap:9px;max-width:520px;}
.region-pop-row span{opacity:0;transform:translateY(28px) scale(.72);background:rgba(255,255,255,.96);color:#111;border-radius:999px;padding:10px 13px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 14px 30px rgba(0,0,0,.22);}
.sc-popup-experience.show .region-pop-row span{animation:regionChipPop .55s cubic-bezier(.18,.95,.22,1.16) forwards;}
.sc-popup-experience.show .region-pop-row span:nth-child(1){animation-delay:.20s}.sc-popup-experience.show .region-pop-row span:nth-child(2){animation-delay:.30s}.sc-popup-experience.show .region-pop-row span:nth-child(3){animation-delay:.40s}.sc-popup-experience.show .region-pop-row span:nth-child(4){animation-delay:.50s}.sc-popup-experience.show .region-pop-row span:nth-child(5){animation-delay:.60s}
@keyframes serviceAreaPopFinal{0%{opacity:0;transform:rotateX(10deg) translateY(40px) scale(.86)}70%{opacity:1;transform:rotateX(-1deg) translateY(-8px) scale(1.02)}100%{opacity:1;transform:rotateX(0) translateY(0) scale(1)}}
@keyframes serviceSweepFinal{0%,45%{transform:translateX(-40%) rotate(8deg);opacity:0}62%{opacity:1}100%{transform:translateX(40%) rotate(8deg);opacity:0}}
@keyframes scPulse{0%,100%{opacity:.7;filter:drop-shadow(0 0 24px rgba(213,33,53,.35))}50%{opacity:1;filter:drop-shadow(0 0 42px rgba(213,33,53,.58))}}
@keyframes cityPinPop{0%{opacity:0;transform:translate(-50%,-50%) translateY(34px) scale(.45) rotate(-8deg)}75%{opacity:1;transform:translate(-50%,-50%) translateY(-5px) scale(1.08) rotate(1deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes pinGlow{50%{box-shadow:0 14px 28px rgba(0,0,0,.32),0 0 0 9px rgba(213,33,53,0)}}

/* Estimate form button: shake + pulse */
.estimate-submit, .estimate-box form button{
  animation:estimatePulseShake 1.15s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(213,33,53,.68),0 16px 44px rgba(213,33,53,.30)!important;
}
.estimate-submit:hover, .estimate-box form button:hover{animation:none!important;transform:translateY(-4px) scale(1.035)!important;box-shadow:0 0 34px rgba(213,33,53,.68),0 22px 60px rgba(213,33,53,.40)!important;}
@keyframes estimatePulseShake{
  0%,100%{transform:translateX(0) scale(1);box-shadow:0 0 0 0 rgba(213,33,53,.68),0 16px 44px rgba(213,33,53,.30)}
  12%{transform:translateX(-3px) rotate(-.7deg) scale(1.015)}
  24%{transform:translateX(3px) rotate(.7deg) scale(1.025)}
  36%{transform:translateX(-2px) rotate(-.45deg) scale(1.035)}
  48%{transform:translateX(2px) rotate(.45deg) scale(1.045);box-shadow:0 0 0 13px rgba(213,33,53,0),0 0 35px rgba(213,33,53,.70)}
  60%{transform:translateX(0) scale(1.02)}
}
@media(max-width:900px){
  .sc-popup-experience{grid-template-columns:1fr!important;border-radius:32px!important;}
  .sc-popup-map{min-height:285px!important;order:2;}
  .sc-popup-content{order:1;text-align:center!important;align-items:center!important;padding:30px 18px 24px!important;}
  .region-pop-row{justify-content:center;}
  .sc-popup-map .pin{font-size:9.5px;padding:7px 9px;}
  .before-after .ba-clean-grid{grid-template-columns:1fr!important;gap:32px!important;}
  .before-after .ba-copy{min-height:auto!important;margin-bottom:14px!important;}
  .ba-photo-card{height:315px!important;min-height:315px!important;}
}

/* === FINAL NEXT-LEVEL STATEWIDE SERVICE + FORM CTA PATCH === */
.sc-nextlevel-service{
  background:linear-gradient(180deg,#f7f4f1 0%,#fff 100%)!important;
  padding:70px 5vw 82px!important;
  overflow:hidden!important;
}
.sc-nextlevel-service .section-title{margin-bottom:30px!important;}
.sc-nextlevel-wrap{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:stretch;
  opacity:0;
  transform:translateY(35px) scale(.97);
}
.sc-nextlevel-wrap.show{animation:serviceStageIn .72s cubic-bezier(.18,.9,.2,1.15) forwards!important;}
@keyframes serviceStageIn{to{opacity:1;transform:translateY(0) scale(1)}}
.sc-nextlevel-map,
.sc-nextlevel-popup{
  min-height:430px;
  border-radius:38px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(213,33,53,.25);
  box-shadow:0 28px 80px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18);
}
.sc-nextlevel-map{
  background:
    radial-gradient(circle at 50% 50%,rgba(213,33,53,.38),transparent 34%),
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.08),transparent 22%),
    linear-gradient(135deg,#09090b,#21070d 55%,#09090b);
}
.sc-nextlevel-map::after{
  content:"";
  position:absolute;inset:12px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.sc-outline-shape{
  position:absolute;
  inset:46px;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.05);
  font-weight:1000;
  letter-spacing:-.14em;
  font-size:clamp(130px,25vw,300px);
  text-shadow:0 0 60px rgba(213,33,53,.22);
}
.sc-outline-shape::before,
.sc-outline-shape::after{
  content:"";
  position:absolute;
  width:58%;height:58%;border-radius:999px;
  border:1px solid rgba(213,33,53,.22);
  animation:mapPulse 3.2s ease-in-out infinite;
}
.sc-outline-shape::after{width:78%;height:78%;animation-delay:.8s;opacity:.7}
@keyframes mapPulse{0%,100%{transform:scale(.92);opacity:.38}50%{transform:scale(1.08);opacity:.85}}
.sc-pin{
  position:absolute;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:10px 14px;
  font-size:12px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.01em;
  box-shadow:0 16px 35px rgba(0,0,0,.24),0 0 0 0 rgba(213,33,53,.55);
  opacity:0;
  transform:translateY(18px) scale(.72);
}
.sc-pin::before{content:"📍";font-size:12px;}
.sc-nextlevel-wrap.show .sc-pin{animation:pinPopFinal .55s cubic-bezier(.18,.95,.22,1.16) forwards, pinBreath 2.4s ease-in-out infinite;}
@keyframes pinPopFinal{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pinBreath{0%,100%{box-shadow:0 16px 35px rgba(0,0,0,.24),0 0 0 0 rgba(213,33,53,.0)}50%{box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 8px rgba(213,33,53,.12)}}
.pin-columbia{left:48%;top:48%;animation-delay:.12s!important}.pin-lexington{left:30%;top:56%;animation-delay:.2s!important}.pin-greenville{left:18%;top:26%;animation-delay:.28s!important}.pin-charleston{right:12%;bottom:25%;animation-delay:.36s!important}.pin-myrtle{right:8%;top:30%;animation-delay:.44s!important}.pin-rockhill{left:34%;top:36%;animation-delay:.52s!important}.pin-beaufort{right:24%;bottom:13%;animation-delay:.60s!important}
.sc-nextlevel-popup{
  padding:42px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  background:
    radial-gradient(circle at 20% 80%,rgba(213,33,53,.34),transparent 30%),
    linear-gradient(145deg,#13070a,#250911 48%,#080809);
}
.sc-nextlevel-popup::before{
  content:"SC";
  position:absolute;
  right:-18px;
  bottom:-10px;
  font-size:180px;
  font-weight:1000;
  letter-spacing:-.16em;
  color:rgba(255,255,255,.035);
  line-height:.7;
}
.state-chip{
  align-self:flex-start;
  display:inline-flex;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:12px 18px;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  margin-bottom:24px;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.sc-nextlevel-popup h3{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  font-size:clamp(34px,5vw,64px);
  letter-spacing:-.055em;
  line-height:.94;
  font-weight:1000;
}
.sc-nextlevel-popup h3 strong{color:var(--red)}
.sc-nextlevel-popup p{
  margin:20px 0 26px;
  color:rgba(255,255,255,.9);
  font-size:clamp(16px,1.6vw,21px);
  line-height:1.5;
  font-weight:800;
}
.sc-region-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.sc-region-bar span{
  background:rgba(255,255,255,.92);
  color:#111;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(12px) scale(.86);
}
.sc-nextlevel-wrap.show .sc-region-bar span{animation:regionPopFinal .45s cubic-bezier(.18,.95,.22,1.16) forwards;}
.sc-nextlevel-wrap.show .sc-region-bar span:nth-child(1){animation-delay:.2s}.sc-nextlevel-wrap.show .sc-region-bar span:nth-child(2){animation-delay:.3s}.sc-nextlevel-wrap.show .sc-region-bar span:nth-child(3){animation-delay:.4s}.sc-nextlevel-wrap.show .sc-region-bar span:nth-child(4){animation-delay:.5s}.sc-nextlevel-wrap.show .sc-region-bar span:nth-child(5){animation-delay:.6s}
@keyframes regionPopFinal{to{opacity:1;transform:translateY(0) scale(1)}}
.estimate-submit,
button.estimate-submit{
  animation:estimateShakePulse 1.15s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(213,33,53,.42),0 18px 48px rgba(213,33,53,.36)!important;
}
@keyframes estimateShakePulse{
  0%,100%{transform:translateX(0) scale(1);box-shadow:0 0 0 0 rgba(213,33,53,.34),0 18px 48px rgba(213,33,53,.32)}
  10%{transform:translateX(-3px) scale(1.01)}
  20%{transform:translateX(3px) scale(1.02)}
  30%{transform:translateX(-3px) scale(1.02)}
  40%{transform:translateX(3px) scale(1.01)}
  55%{transform:translateX(0) scale(1.04);box-shadow:0 0 0 12px rgba(213,33,53,.0),0 22px 60px rgba(213,33,53,.55)}
}
/* Ensure Transformation Showcase photos stay visible and clean */
.ba-photo-card{display:block!important;overflow:hidden!important;background:#000!important;border-radius:24px!important;box-shadow:0 22px 60px rgba(0,0,0,.18)!important;}
.ba-photo-card img{display:block!important;width:100%!important;height:100%!important;min-height:260px!important;object-fit:cover!important;object-position:center!important;filter:brightness(1.08) contrast(1.04) saturate(1.05)!important;}
.ba-copy{text-align:center!important;margin-bottom:18px!important;}
.ba-copy b{display:block!important;margin-bottom:12px!important;color:var(--red)!important;letter-spacing:.05em!important;text-transform:uppercase!important;}
.ba-copy h3{margin:0 auto!important;max-width:620px!important;line-height:1.25!important;}
@media(max-width:800px){
  .sc-nextlevel-service{padding:58px 5vw 62px!important;}
  .sc-nextlevel-wrap{grid-template-columns:1fr;gap:18px;}
  .sc-nextlevel-map{min-height:280px;border-radius:30px;}
  .sc-nextlevel-popup{min-height:auto;border-radius:30px;padding:30px 18px;text-align:center;align-items:center;}
  .state-chip{align-self:center;margin-bottom:18px;}
  .sc-nextlevel-popup p{font-size:15px;}
  .sc-region-bar{justify-content:center;}
  .sc-pin{font-size:9.5px;padding:8px 9px;}
  .pin-greenville{left:12%;top:22%}.pin-rockhill{left:28%;top:38%}.pin-columbia{left:44%;top:50%}.pin-myrtle{right:7%;top:34%}.pin-charleston{right:10%;bottom:25%}.pin-lexington{left:24%;top:61%}.pin-beaufort{right:25%;bottom:12%}
}


/* === FINAL RADIAL POP-UP STATEWIDE SERVICE SECTION === */
#service-area.service-area-radial{
  position:relative!important;
  padding:56px 5vw 76px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 8%, rgba(213,33,53,.13), transparent 34%),
    linear-gradient(180deg,#fbf7f2 0%,#fff 100%)!important;
}
#service-area.service-area-radial::before{
  content:"";
  position:absolute;
  left:50%;top:54%;
  width:520px;height:520px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(213,33,53,.12),transparent 68%);
  filter:blur(8px);
  pointer-events:none;
}
.service-radial-title{
  max-width:920px!important;
  margin:0 auto 28px!important;
  text-align:center!important;
}
.radial-service-popup{
  width:min(980px,100%)!important;
  min-height:560px!important;
  margin:0 auto!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:42px!important;
  background:
    radial-gradient(circle at 50% 48%, rgba(213,33,53,.44), transparent 23%),
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.07), transparent 20%),
    linear-gradient(145deg,#080809 0%,#1a060b 50%,#070707 100%)!important;
  border:1px solid rgba(213,33,53,.35)!important;
  box-shadow:0 38px 100px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08)!important;
  opacity:0;
  transform:translateY(36px) scale(.9);
  perspective:1000px;
}
.radial-service-popup.show{
  animation:radialPopupIn .9s cubic-bezier(.16,.95,.2,1.18) forwards!important;
}
.radial-service-popup::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:conic-gradient(from 0deg, transparent, rgba(213,33,53,.18), transparent 30%, rgba(255,255,255,.09), transparent 64%);
  animation:radialSpin 12s linear infinite;
  opacity:.9;
}
.radial-service-popup::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(118deg,transparent 38%,rgba(255,255,255,.12),transparent 58%);
  transform:translateX(-120%);
  animation:radialSweep 4.8s ease-in-out infinite;
  pointer-events:none;
}
.radial-rings{
  position:absolute;
  width:min(68vw,620px);
  height:min(68vw,620px);
  border-radius:50%;
  border:1px solid rgba(213,33,53,.26);
  box-shadow:
    0 0 0 58px rgba(213,33,53,.055),
    0 0 0 118px rgba(213,33,53,.035),
    inset 0 0 44px rgba(213,33,53,.24);
  animation:ringBreath 3.8s ease-in-out infinite;
  z-index:1;
}
.radial-map-core{
  position:absolute;
  width:210px;height:210px;
  border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle,rgba(213,33,53,.34),rgba(213,33,53,.08) 58%,transparent 70%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 0 55px rgba(213,33,53,.32);
  z-index:2;
  animation:corePulse 2.8s ease-in-out infinite;
}
.radial-map-core span{
  font-size:92px;
  font-weight:1000;
  letter-spacing:-.16em;
  color:rgba(255,255,255,.12);
  text-shadow:0 0 30px rgba(213,33,53,.65);
  transform:translateX(-6px);
}
.radial-content{
  position:relative;
  z-index:5;
  max-width:620px;
  text-align:center;
  padding:38px 24px;
}
.radial-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border-radius:999px;
  background:#fff;
  color:#111;
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.07em;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  margin-bottom:22px;
  animation:badgeFloat 2.8s ease-in-out infinite;
}
.radial-content h3{
  margin:0 auto 18px!important;
  color:#fff!important;
  font-size:clamp(36px,6.4vw,72px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  text-shadow:0 10px 38px rgba(0,0,0,.45)!important;
}
.radial-content h3 strong{color:#d52135!important;display:inline-block!important;}
.radial-content p{
  margin:0 auto!important;
  color:rgba(255,255,255,.9)!important;
  font-size:clamp(16px,1.8vw,21px)!important;
  line-height:1.45!important;
  font-weight:800!important;
  max-width:600px!important;
}
.radial-city{
  position:absolute;
  z-index:6;
  left:var(--x); top:var(--y);
  transform:translate(-50%,-50%) scale(.45) translateY(40px);
  opacity:0;
  padding:11px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#111;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.035em;
  white-space:nowrap;
  box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 0 0 rgba(213,33,53,.45);
}
.radial-city::before{content:"📍 ";}
.radial-service-popup.show .radial-city{
  animation:cityRadialFly .68s cubic-bezier(.18,.95,.22,1.18) forwards, cityRadialPulse 2.6s ease-in-out infinite;
}
.city-midlands{--x:18%;--y:31%;animation-delay:.10s,.9s!important;}
.city-upstate{--x:29%;--y:18%;animation-delay:.18s,1s!important;}
.city-lowcountry{--x:79%;--y:33%;animation-delay:.26s,1.1s!important;}
.city-peedee{--x:82%;--y:61%;animation-delay:.34s,1.2s!important;}
.city-coastal{--x:64%;--y:82%;animation-delay:.42s,1.3s!important;}
.city-columbia{--x:50%;--y:19%;animation-delay:.50s,1.4s!important;}
.city-charleston{--x:20%;--y:68%;animation-delay:.58s,1.5s!important;}
.city-greenville{--x:35%;--y:82%;animation-delay:.66s,1.6s!important;}
.city-myrtle{--x:75%;--y:18%;animation-delay:.74s,1.7s!important;}
@keyframes radialPopupIn{0%{opacity:0;transform:translateY(44px) scale(.82) rotateX(10deg)}70%{opacity:1;transform:translateY(-8px) scale(1.025) rotateX(-1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}
@keyframes radialSpin{to{transform:rotate(360deg)}}
@keyframes radialSweep{0%,45%{transform:translateX(-120%);opacity:0}60%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes ringBreath{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.05);opacity:1}}
@keyframes corePulse{50%{transform:scale(1.06);box-shadow:0 0 80px rgba(213,33,53,.54)}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cityRadialFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.42) translateY(50px) rotate(-8deg)}72%{opacity:1;transform:translate(-50%,-50%) scale(1.09) translateY(-6px) rotate(1deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0) rotate(0)}}
@keyframes cityRadialPulse{50%{box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 0 10px rgba(213,33,53,0)}}
@media(max-width:760px){
  #service-area.service-area-radial{padding:46px 5vw 56px!important;}
  .radial-service-popup{min-height:560px!important;border-radius:34px!important;width:min(94vw,560px)!important;}
  .radial-rings{width:360px;height:360px;box-shadow:0 0 0 38px rgba(213,33,53,.055),0 0 0 78px rgba(213,33,53,.035),inset 0 0 36px rgba(213,33,53,.22);}
  .radial-map-core{width:150px;height:150px;}
  .radial-map-core span{font-size:68px;}
  .radial-content{padding:34px 18px;}
  .radial-badge{font-size:11px;padding:11px 16px;margin-bottom:18px;}
  .radial-content h3{font-size:clamp(32px,10.5vw,48px)!important;}
  .radial-content p{font-size:15px!important;line-height:1.42!important;}
  .radial-city{font-size:9.5px;padding:8px 10px;}
  .city-midlands{--x:17%;--y:29%;}.city-upstate{--x:35%;--y:16%;}.city-lowcountry{--x:78%;--y:31%;}.city-peedee{--x:80%;--y:66%;}.city-coastal{--x:58%;--y:86%;}.city-columbia{--x:51%;--y:22%;}.city-charleston{--x:22%;--y:72%;}.city-greenville{--x:34%;--y:86%;}.city-myrtle{--x:76%;--y:16%;}
}

/* === SEO-POLISHED STATEWIDE RADIAL SECTION === */
.radial-content h3{
  max-width:760px!important;
  margin-bottom:20px!important;
}
.radial-content h3 strong{
  color:#ff3048!important;
  text-shadow:0 0 26px rgba(213,33,53,.62)!important;
}
.radial-content p{
  max-width:690px!important;
  font-size:clamp(15px,1.6vw,19px)!important;
  line-height:1.52!important;
}
.radial-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  width:min(620px,100%);
  margin:24px auto 0;
}
.radial-stats span{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:74px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  transform:translateY(18px) scale(.94);
  opacity:0;
}
.radial-service-popup.show .radial-stats span{
  animation:radialStatPop .58s cubic-bezier(.18,.95,.22,1.12) forwards;
}
.radial-service-popup.show .radial-stats span:nth-child(1){animation-delay:.82s}
.radial-service-popup.show .radial-stats span:nth-child(2){animation-delay:.94s}
.radial-service-popup.show .radial-stats span:nth-child(3){animation-delay:1.06s}
.radial-service-popup.show .radial-stats span:nth-child(4){animation-delay:1.18s}
.radial-stats strong{
  color:#fff;
  font-size:clamp(18px,2.2vw,27px);
  line-height:1;
  font-weight:1000;
  text-shadow:0 0 18px rgba(213,33,53,.35);
}
.radial-stats small{
  color:rgba(255,255,255,.76);
  margin-top:6px;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.city-columbia{
  background:linear-gradient(135deg,#fff,#ffe9ec)!important;
  color:#9c0716!important;
  box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 0 8px rgba(213,33,53,.18),0 0 40px rgba(213,33,53,.6)!important;
}
@keyframes radialStatPop{
  0%{opacity:0;transform:translateY(22px) scale(.88)}
  70%{opacity:1;transform:translateY(-5px) scale(1.04)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:760px){
  .radial-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;}
  .radial-stats span{min-height:60px;border-radius:14px;}
  .radial-stats strong{font-size:20px;}
  .radial-stats small{font-size:9px;}
}

/* === FINAL CLEAN STATEWIDE SERVICE SECTION — NO OVERLAP === */
.service-area-nextlevel{
  position:relative!important;
  padding:64px 5vw 78px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fbf7f2 0%,#fff 100%)!important;
}
.service-clean-title{max-width:930px!important;margin:0 auto 30px!important;text-align:center!important;}
.service-clean-title h2{line-height:.92!important;}
.sc-service-card{
  width:min(1080px,100%)!important;
  margin:0 auto!important;
  min-height:520px!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:44px!important;
  background:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,.09), transparent 24%),
    radial-gradient(circle at 68% 42%, rgba(213,33,53,.34), transparent 30%),
    linear-gradient(140deg,#09090a 0%,#170509 58%,#070707 100%)!important;
  border:1px solid rgba(213,33,53,.34)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08)!important;
  display:grid!important;
  grid-template-columns:.92fr 1.08fr!important;
  align-items:center!important;
  gap:18px!important;
  padding:34px!important;
  opacity:0;
  transform:translateY(28px) scale(.97);
}
.sc-service-card.show{animation:scCardIn .8s cubic-bezier(.16,.95,.2,1.08) forwards!important;}
.sc-service-card::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.11),transparent 58%);
  transform:translateX(-130%); animation:radialSweep 5.5s ease-in-out infinite;
}
.sc-glow{position:absolute;inset:auto auto 8% 50%;width:420px;height:420px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(213,33,53,.34),transparent 62%);filter:blur(8px);opacity:.85;}
.sc-outline{
  position:relative!important; z-index:2!important;
  min-height:420px!important; border-radius:34px!important;
  display:grid!important; place-items:center!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 0 52px rgba(213,33,53,.12)!important;
}
.sc-letter{font-size:clamp(90px,14vw,180px)!important;line-height:1!important;font-weight:1000!important;color:rgba(255,255,255,.10)!important;letter-spacing:-.14em!important;transform:translateX(-8px);text-shadow:0 0 42px rgba(213,33,53,.42)!important;}
.map-dot{position:absolute!important;z-index:4!important;display:flex!important;align-items:center!important;gap:7px!important;padding:9px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.96)!important;color:#111!important;font-size:11px!important;font-weight:1000!important;text-transform:uppercase!important;box-shadow:0 15px 36px rgba(0,0,0,.28),0 0 0 0 rgba(213,33,53,.42)!important;opacity:0;transform:translateY(18px) scale(.85);}
.map-dot::before{content:"";width:10px;height:10px;border-radius:999px;background:#d52135;box-shadow:0 0 0 6px rgba(213,33,53,.18),0 0 22px rgba(213,33,53,.65);}
.sc-service-card.show .map-dot{animation:markerPop .55s cubic-bezier(.16,.95,.2,1.12) forwards, markerPulse 2.4s ease-in-out infinite;}
.dot-columbia{left:47%;top:49%;background:linear-gradient(135deg,#fff,#ffe8ec)!important;color:#9b0716!important;transform:translateY(18px) scale(.95);}
.dot-greenville{left:19%;top:25%;animation-delay:.18s,1s!important;}
.dot-rockhill{left:42%;top:22%;animation-delay:.28s,1.1s!important;}
.dot-charleston{left:61%;top:70%;animation-delay:.38s,1.2s!important;}
.dot-myrtle{left:69%;top:38%;animation-delay:.48s,1.3s!important;}
.dot-columbia{animation-delay:.08s,.85s!important;}
.sc-content{position:relative!important;z-index:5!important;text-align:left!important;padding:18px 12px!important;}
.sc-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:11px 18px!important;border-radius:999px!important;background:#fff!important;color:#111!important;text-transform:uppercase!important;font-size:12px!important;font-weight:1000!important;letter-spacing:.08em!important;box-shadow:0 18px 44px rgba(0,0,0,.26)!important;margin-bottom:18px!important;animation:badgeFloat 3s ease-in-out infinite!important;}
.sc-content h3{margin:0 0 14px!important;color:#fff!important;font-size:clamp(32px,5vw,62px)!important;line-height:.94!important;letter-spacing:-.055em!important;text-transform:uppercase!important;font-weight:1000!important;text-shadow:0 12px 38px rgba(0,0,0,.44)!important;}
.sc-content h3 strong{color:#ff3048!important;text-shadow:0 0 26px rgba(213,33,53,.58)!important;}
.sc-content p{margin:0!important;color:rgba(255,255,255,.88)!important;font-size:clamp(15px,1.5vw,19px)!important;line-height:1.52!important;font-weight:800!important;max-width:600px!important;}
.region-badges{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:22px 0 0!important;}
.region-badges span{display:inline-flex!important;padding:10px 14px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#111!important;font-size:12px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.05em!important;box-shadow:0 12px 30px rgba(0,0,0,.2)!important;animation:regionFloat 3.8s ease-in-out infinite!important;}
.region-badges span:nth-child(2){animation-delay:.2s}.region-badges span:nth-child(3){animation-delay:.4s}.region-badges span:nth-child(4){animation-delay:.6s}.region-badges span:nth-child(5){animation-delay:.8s}
.clean-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin-top:24px!important;max-width:620px!important;}
.clean-stats span{min-height:70px!important;border-radius:18px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.15)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.22)!important;backdrop-filter:blur(14px)!important;opacity:0;transform:translateY(18px) scale(.94);}
.sc-service-card.show .clean-stats span{animation:radialStatPop .58s cubic-bezier(.18,.95,.22,1.12) forwards;}
.sc-service-card.show .clean-stats span:nth-child(1){animation-delay:.55s}.sc-service-card.show .clean-stats span:nth-child(2){animation-delay:.68s}.sc-service-card.show .clean-stats span:nth-child(3){animation-delay:.81s}.sc-service-card.show .clean-stats span:nth-child(4){animation-delay:.94s}
.clean-stats strong{color:#fff!important;font-size:clamp(20px,2.4vw,30px)!important;line-height:1!important;font-weight:1000!important;text-shadow:0 0 18px rgba(213,33,53,.36)!important;}
.clean-stats small{color:rgba(255,255,255,.76)!important;margin-top:6px!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.11em!important;text-transform:uppercase!important;}
@keyframes scCardIn{0%{opacity:0;transform:translateY(35px) scale(.94)}70%{opacity:1;transform:translateY(-6px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes markerPop{0%{opacity:0;transform:translateY(20px) scale(.76)}70%{opacity:1;transform:translateY(-5px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes markerPulse{50%{box-shadow:0 15px 36px rgba(0,0,0,.28),0 0 0 8px rgba(213,33,53,0)}}
@keyframes regionFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:820px){
  .service-area-nextlevel{padding:48px 5vw 60px!important;}
  .sc-service-card{grid-template-columns:1fr!important;min-height:auto!important;border-radius:34px!important;padding:22px!important;gap:18px!important;width:min(94vw,620px)!important;}
  .sc-outline{min-height:245px!important;border-radius:28px!important;}
  .sc-letter{font-size:112px!important;}
  .map-dot{font-size:9px!important;padding:7px 9px!important;gap:5px!important;}
  .map-dot::before{width:8px;height:8px;box-shadow:0 0 0 5px rgba(213,33,53,.18),0 0 16px rgba(213,33,53,.55)}
  .dot-greenville{left:25%;top:25%;}.dot-rockhill{left:47%;top:21%;}.dot-columbia{left:49%;top:48%;}.dot-charleston{left:60%;top:73%;}.dot-myrtle{left:74%;top:42%;}
  .sc-content{text-align:center!important;padding:0!important;}
  .sc-badge{font-size:11px!important;padding:10px 15px!important;margin-bottom:16px!important;}
  .sc-content h3{font-size:clamp(30px,9.5vw,45px)!important;}
  .sc-content p{font-size:14.5px!important;line-height:1.44!important;}
  .region-badges{justify-content:center!important;gap:8px!important;margin-top:18px!important;}
  .region-badges span{font-size:10px!important;padding:8px 11px!important;}
  .clean-stats{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-top:18px!important;}
  .clean-stats span{min-height:58px!important;border-radius:14px!important;}
  .clean-stats strong{font-size:20px!important;}
  .clean-stats small{font-size:8.5px!important;}
}

/* === ADDY BOSS-UP: clean premium statewide coverage section === */
.sc-boss-area{
  padding:68px 5vw 82px!important;
  background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.09),transparent 32%),linear-gradient(180deg,#fbf7f2 0%,#fff 100%)!important;
  overflow:hidden!important;
}
.sc-boss-area .section-title{max-width:920px!important;margin:0 auto 30px!important;text-align:center!important;}
.sc-boss-area .section-title h2{font-size:clamp(38px,8vw,82px)!important;line-height:.92!important;letter-spacing:-.065em!important;text-transform:uppercase!important;}
.sc-boss-area .section-title em{max-width:760px!important;margin:14px auto 0!important;display:block!important;}
.boss-state-card{
  width:min(1120px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:.95fr 1.05fr!important;
  gap:0!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:42px!important;
  min-height:520px!important;
  background:linear-gradient(135deg,#070708 0%,#18070b 48%,#2b0b13 100%)!important;
  border:1px solid rgba(213,33,53,.35)!important;
  box-shadow:0 36px 100px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.08)!important;
  transform:translateY(34px) scale(.96)!important;
  opacity:0;
}
.boss-state-card.show{animation:bossCardPop .75s cubic-bezier(.18,.95,.22,1.12) forwards!important;}
.boss-state-card::before{
  content:"";position:absolute;inset:-35%;pointer-events:none;
  background:conic-gradient(from 40deg,transparent,rgba(213,33,53,.16),transparent 32%,rgba(255,255,255,.07),transparent 55%);
  animation:bossRadialSpin 10s linear infinite!important;
}
.boss-state-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,transparent 42%,rgba(255,255,255,.12) 49%,transparent 58%,transparent 100%);
  transform:translateX(-120%);animation:bossLightSweep 5.5s ease-in-out infinite!important;
}
.boss-map-side,.boss-copy-side{position:relative;z-index:2;}
.boss-map-side{
  min-height:520px!important;
  display:block!important;
  background:radial-gradient(circle at 50% 50%,rgba(213,33,53,.34),transparent 35%),linear-gradient(145deg,#050506,#12080a 70%,#050506)!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
}
.boss-map-side::before{
  content:"";position:absolute;left:50%;top:50%;width:72%;height:72%;transform:translate(-50%,-50%) rotate(-10deg);
  background:linear-gradient(145deg,rgba(213,33,53,.34),rgba(213,33,53,.06));
  clip-path:polygon(18% 9%,66% 5%,92% 28%,78% 50%,88% 70%,61% 93%,31% 79%,9% 52%,5% 28%);
  border:2px solid rgba(255,255,255,.12);filter:drop-shadow(0 0 36px rgba(213,33,53,.56));
  animation:bossScGlow 3s ease-in-out infinite!important;
}
.boss-sc-shape{
  position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.055);
  font-size:clamp(150px,25vw,310px);font-weight:1000;letter-spacing:-.14em;text-shadow:0 0 60px rgba(213,33,53,.35);
  animation:bossFloat 5s ease-in-out infinite!important;
}
.boss-sc-shape::before,.boss-sc-shape::after{
  content:"";position:absolute;border-radius:999px;border:1px solid rgba(213,33,53,.24);
  width:52%;height:52%;animation:bossPulseRing 3s ease-in-out infinite!important;
}
.boss-sc-shape::after{width:76%;height:76%;animation-delay:.7s!important;opacity:.7;}
.boss-dot{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) scale(.7);opacity:0;
  width:18px;height:18px;border-radius:50%;background:#d52135;border:4px solid #fff;
  box-shadow:0 0 0 0 rgba(213,33,53,.55),0 12px 24px rgba(0,0,0,.35);z-index:5;
}
.boss-dot b{
  position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);
  background:rgba(255,255,255,.95);color:#101010;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:950;text-transform:uppercase;white-space:nowrap;box-shadow:0 12px 24px rgba(0,0,0,.25);
}
.boss-state-card.show .boss-dot{animation:bossDotPop .5s cubic-bezier(.2,.95,.2,1.15) forwards, bossDotPulse 2.1s ease-in-out infinite!important;}
.boss-columbia{--x:51%;--y:52%;animation-delay:.15s,.9s!important}.boss-columbia{width:23px;height:23px;background:#fff;border-color:#d52135}.boss-columbia b{background:#d52135;color:white;}
.boss-greenville{--x:28%;--y:27%;animation-delay:.28s,1s!important}.boss-rockhill{--x:43%;--y:33%;animation-delay:.38s,1.1s!important}.boss-charleston{--x:71%;--y:72%;animation-delay:.48s,1.2s!important}.boss-myrtle{--x:78%;--y:43%;animation-delay:.58s,1.3s!important}
.boss-copy-side{padding:48px 42px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;}
.boss-service-pill{display:inline-flex!important;align-items:center!important;gap:8px!important;background:#fff!important;color:#111!important;border-radius:999px!important;padding:12px 20px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.05em!important;box-shadow:0 16px 34px rgba(0,0,0,.26)!important;margin:0 0 20px!important;animation:bossPillFloat 2.8s ease-in-out infinite!important;}
.boss-copy-side h3{margin:0 0 16px!important;color:#fff!important;text-transform:uppercase!important;font-size:clamp(34px,5vw,66px)!important;line-height:.92!important;letter-spacing:-.06em!important;font-weight:1000!important;}
.boss-copy-side h3 span{color:#d52135!important;}
.boss-copy-side p{margin:0 0 22px!important;color:rgba(255,255,255,.88)!important;font-size:clamp(16px,1.75vw,20px)!important;line-height:1.48!important;font-weight:760!important;}
.boss-region-strip{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-bottom:22px!important;}
.boss-region-strip span{background:#fff!important;color:#111!important;border-radius:999px!important;padding:9px 13px!important;font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;opacity:0;transform:translateY(18px) scale(.8);}
.boss-state-card.show .boss-region-strip span{animation:bossChipIn .45s cubic-bezier(.18,.95,.22,1.16) forwards!important;}
.boss-state-card.show .boss-region-strip span:nth-child(1){animation-delay:.20s!important}.boss-state-card.show .boss-region-strip span:nth-child(2){animation-delay:.28s!important}.boss-state-card.show .boss-region-strip span:nth-child(3){animation-delay:.36s!important}.boss-state-card.show .boss-region-strip span:nth-child(4){animation-delay:.44s!important}.boss-state-card.show .boss-region-strip span:nth-child(5){animation-delay:.52s!important}
.boss-area-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;width:100%!important;margin-bottom:22px!important;}
.boss-area-stats div{border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.075)!important;border-radius:20px!important;padding:15px 10px!important;text-align:center!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;}
.boss-area-stats strong{display:block!important;color:#fff!important;font-size:30px!important;font-weight:1000!important;line-height:1!important;}
.boss-area-stats small{display:block!important;margin-top:6px!important;color:rgba(255,255,255,.72)!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-size:10px!important;font-weight:900!important;}
.boss-area-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#ef233c,#a90f1e)!important;color:#fff!important;text-decoration:none!important;border-radius:999px!important;padding:15px 22px!important;text-transform:uppercase!important;font-weight:950!important;letter-spacing:.04em!important;box-shadow:0 18px 46px rgba(213,33,53,.34)!important;animation:bossButtonPulse 1.4s ease-in-out infinite!important;}
@keyframes bossCardPop{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bossRadialSpin{to{transform:rotate(360deg)}}
@keyframes bossLightSweep{0%,45%{transform:translateX(-120%);opacity:0}58%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes bossScGlow{50%{filter:drop-shadow(0 0 54px rgba(213,33,53,.72));opacity:1}}
@keyframes bossFloat{50%{transform:translateY(-8px)}}
@keyframes bossPulseRing{0%,100%{transform:scale(.92);opacity:.25}50%{transform:scale(1.08);opacity:.8}}
@keyframes bossDotPop{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes bossDotPulse{50%{box-shadow:0 0 0 12px rgba(213,33,53,0),0 0 26px rgba(213,33,53,.6)}}
@keyframes bossPillFloat{50%{transform:translateY(-5px)}}
@keyframes bossChipIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bossButtonPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 18px 46px rgba(213,33,53,.34)}50%{transform:translateY(-2px) scale(1.035);box-shadow:0 0 30px rgba(213,33,53,.75),0 22px 58px rgba(213,33,53,.48)}}
@media(max-width:900px){
  .sc-boss-area{padding:42px 12px 54px!important;}
  .boss-state-card{grid-template-columns:1fr!important;border-radius:34px!important;min-height:0!important;}
  .boss-map-side{min-height:300px!important;order:1!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
  .boss-copy-side{order:2!important;text-align:center!important;align-items:center!important;padding:30px 18px 28px!important;}
  .boss-copy-side h3{font-size:clamp(34px,10vw,56px)!important;}
  .boss-copy-side p{font-size:15px!important;}
  .boss-region-strip{justify-content:center!important;}
  .boss-area-stats{grid-template-columns:repeat(2,1fr)!important;}
  .boss-dot b{font-size:8px!important;padding:5px 7px!important;}
  .boss-dot{width:15px!important;height:15px!important;border-width:3px!important;}
  .boss-columbia{width:19px!important;height:19px!important;}
  .boss-greenville{--x:30%;--y:26%;}.boss-rockhill{--x:42%;--y:34%;}.boss-myrtle{--x:75%;--y:42%;}.boss-charleston{--x:69%;--y:70%;}
}

/* FINAL: Statewide Service popup experience */
.sc-popup-teaser{
  padding:54px 18px 68px!important;
  background:radial-gradient(circle at 50% 20%,rgba(225,29,72,.13),transparent 36%),linear-gradient(180deg,#fff7f5,#f7f3ef)!important;
}
.statewide-pop-card{
  position:relative;max-width:980px;margin:0 auto!important;text-align:center!important;overflow:hidden;
  border-radius:34px;padding:42px 22px 44px!important;
  background:linear-gradient(145deg,rgba(15,15,18,.96),rgba(52,8,15,.94));
  border:1px solid rgba(225,29,72,.45);box-shadow:0 28px 80px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.08);
}
.statewide-pop-card::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(225,29,72,.34),transparent 34%);animation:serviceRadial 7s ease-in-out infinite;opacity:.8;}
.statewide-pop-card > *{position:relative;z-index:2}.service-kicker{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;background:#fff;color:#111;padding:12px 24px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 12px 34px rgba(0,0,0,.22)}
.statewide-pop-card h2{font-size:clamp(36px,9vw,86px)!important;line-height:.88!important;letter-spacing:-.06em!important;text-transform:uppercase!important;color:#fff!important;margin:28px auto 18px!important;max-width:900px}.statewide-pop-card h2 span{color:#ef3344!important}.statewide-pop-card p{max-width:760px;margin:0 auto 28px!important;color:rgba(255,255,255,.88)!important;font-weight:800!important;font-size:clamp(17px,3.8vw,24px)!important;line-height:1.45!important}.areas-popup-btn{border:0;border-radius:999px;background:linear-gradient(135deg,#ef3344,#a70f1f);color:white;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;font-size:16px;padding:18px 30px;box-shadow:0 18px 45px rgba(225,29,72,.35);animation:hardPulse 1.35s ease-in-out infinite;cursor:pointer}.areas-popup-btn:hover{transform:translateY(-3px)}.teaser-glow-map{position:absolute;inset:15%;z-index:1;opacity:.5}.map-dot{position:absolute;width:14px;height:14px;border-radius:999px;background:#ef3344;box-shadow:0 0 0 12px rgba(225,29,72,.12),0 0 24px rgba(225,29,72,.7);animation:pinPulse 1.9s infinite}.dot-columbia{left:50%;top:50%}.dot-greenville{left:34%;top:28%;animation-delay:.2s}.dot-charleston{left:67%;top:67%;animation-delay:.4s}.dot-myrtle{left:72%;top:40%;animation-delay:.6s}
.areas-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .25s ease}.areas-modal.open{opacity:1;pointer-events:auto}.areas-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.areas-dialog{position:relative;width:min(980px,96vw);max-height:92vh;overflow:auto;text-align:center;border-radius:34px;padding:28px 20px 26px;background:radial-gradient(circle at 50% 18%,rgba(225,29,72,.22),transparent 32%),linear-gradient(145deg,#121216,#3b0812);border:1px solid rgba(225,29,72,.55);box-shadow:0 34px 120px rgba(0,0,0,.55),0 0 50px rgba(225,29,72,.18);transform:scale(.86) translateY(30px);transition:transform .35s cubic-bezier(.18,.95,.22,1.18)}.areas-modal.open .areas-dialog{transform:scale(1) translateY(0)}.areas-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer}.areas-dialog h3{font-size:clamp(34px,8vw,78px);line-height:.9;margin:24px 0 14px;color:#fff;text-transform:uppercase;letter-spacing:-.06em}.areas-dialog h3 span{color:#ef3344}.areas-dialog p{max-width:790px;margin:0 auto 18px;color:rgba(255,255,255,.86);font-size:clamp(16px,3.4vw,22px);font-weight:800;line-height:1.42}.areas-map-pop{position:relative;height:260px;margin:16px auto 18px;border-radius:28px;background:radial-gradient(circle at 50% 50%,rgba(225,29,72,.28),rgba(0,0,0,.28) 48%,rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);overflow:hidden}.sc-watermark{position:absolute;inset:0;display:grid;place-items:center;font-size:160px;font-weight:1000;color:rgba(255,255,255,.08);letter-spacing:-.08em}.area-pin{position:absolute;display:inline-flex;padding:9px 14px;border-radius:999px;background:white;color:#111;font-weight:1000;text-transform:uppercase;font-size:12px;box-shadow:0 12px 26px rgba(0,0,0,.28);transform:scale(.2);opacity:0;animation:areaPinPop .45s cubic-bezier(.18,.95,.22,1.18) forwards}.pin-columbia{left:45%;top:45%;color:#ef3344;animation-delay:.08s}.pin-greenville{left:20%;top:22%;animation-delay:.16s}.pin-rockhill{left:35%;top:30%;animation-delay:.24s}.pin-charleston{left:63%;top:62%;animation-delay:.32s}.pin-myrtle{left:68%;top:35%;animation-delay:.40s}.pin-beaufort{left:47%;top:72%;animation-delay:.48s}.areas-regions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:12px auto 18px}.areas-regions span{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}.areas-modal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:760px;margin:0 auto 18px}.areas-modal-stats div{border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:14px 8px}.areas-modal-stats strong{display:block;color:#fff;font-size:30px}.areas-modal-stats small{color:rgba(255,255,255,.72);font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.areas-estimate{display:inline-flex;border-radius:999px;background:#ef3344;color:#fff;text-decoration:none;font-weight:1000;text-transform:uppercase;padding:15px 24px;box-shadow:0 0 28px rgba(225,29,72,.35)}
@keyframes serviceRadial{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(5%,-4%) scale(1.12)}}@keyframes pinPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}@keyframes areaPinPop{to{opacity:1;transform:scale(1)}}@keyframes hardPulse{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.55),0 18px 45px rgba(225,29,72,.35);transform:scale(1)}50%{box-shadow:0 0 0 12px rgba(225,29,72,0),0 24px 58px rgba(225,29,72,.55);transform:scale(1.035)}}
@media(max-width:720px){.sc-popup-teaser{padding:38px 12px 46px!important}.statewide-pop-card{border-radius:28px;padding:34px 14px 36px!important}.areas-popup-btn{width:100%;max-width:330px}.areas-dialog{border-radius:28px;padding:24px 14px}.areas-map-pop{height:230px}.area-pin{font-size:10px;padding:8px 10px}.areas-modal-stats{grid-template-columns:repeat(2,1fr)}.areas-modal-stats strong{font-size:26px}}

/* ADDY HARD FIX — Service Area is now a compact teaser with an actual popup. No flat map/cards on page. */
#service-area.service-area-popup-teaser{
  padding:70px 5vw!important;
  background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.10),transparent 36%),linear-gradient(180deg,#fbfaf7,#f1ece6)!important;
}
#service-area .service-teaser-card{
  max-width:860px!important;
  margin:0 auto!important;
  text-align:center!important;
  padding:44px 24px!important;
  border-radius:34px!important;
  color:#fff!important;
  background:radial-gradient(circle at 50% 10%,rgba(213,33,53,.32),transparent 32%),linear-gradient(145deg,#08080a,#240b11 62%,#09090b)!important;
  border:1px solid rgba(213,33,53,.38)!important;
  box-shadow:0 34px 95px rgba(0,0,0,.24),0 0 45px rgba(213,33,53,.12),inset 0 1px 0 rgba(255,255,255,.10)!important;
  position:relative!important;
  overflow:hidden!important;
}
#service-area .service-teaser-card:before{
  content:"SC";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(130px,28vw,280px);font-weight:1000;letter-spacing:-.12em;color:rgba(255,255,255,.045);pointer-events:none;
}
#service-area .service-teaser-card:after{
  content:"";position:absolute;inset:-45%;background:conic-gradient(from 210deg,transparent,rgba(213,33,53,.24),transparent 34%);animation:areaSpin 8s linear infinite;pointer-events:none;
}
#service-area .service-teaser-card>*{position:relative;z-index:2}
#service-area .service-kicker,
.areas-dialog .service-kicker{
  display:inline-flex!important;align-items:center;gap:8px;border-radius:999px;background:#fff!important;color:#111!important;padding:12px 20px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:13px!important;box-shadow:0 15px 34px rgba(0,0,0,.26)!important;
}
#service-area h2{margin:24px auto 16px!important;max-width:760px!important;font-size:clamp(42px,8vw,82px)!important;line-height:.92!important;letter-spacing:-.065em!important;text-transform:uppercase!important;color:#fff!important;}
#service-area h2 span{color:#ef3344!important;text-shadow:0 0 26px rgba(239,51,68,.32)!important;}
#service-area p{max-width:690px!important;margin:0 auto 26px!important;color:rgba(255,255,255,.86)!important;font-size:clamp(16px,2.4vw,21px)!important;font-weight:800!important;line-height:1.5!important;}
.areas-popup-btn{
  border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#ef3344,#9b0918)!important;color:#fff!important;padding:18px 26px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.05em!important;box-shadow:0 0 0 0 rgba(239,51,68,.55),0 18px 45px rgba(213,33,53,.34)!important;animation:serviceButtonPulse 1.3s ease-in-out infinite!important;cursor:pointer!important;
}
.areas-popup-btn:hover{transform:translateY(-4px) scale(1.03)!important;}
@keyframes serviceButtonPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,51,68,.55),0 18px 45px rgba(213,33,53,.34);transform:scale(1)}50%{box-shadow:0 0 0 13px rgba(239,51,68,0),0 0 42px rgba(239,51,68,.62);transform:scale(1.035)}}

/* Hide every older statewide layout that was causing clutter */
.sc-map-showcase,.sc-service-popup,.state-map-card,.statewide-popup-card,.area-map,.city-fly-cloud,.service-area-note,.teaser-glow-map{display:none!important;}

/* Premium modal */
.areas-modal{position:fixed!important;inset:0!important;z-index:99999!important;display:grid!important;place-items:center!important;padding:18px!important;opacity:0!important;pointer-events:none!important;transition:opacity .25s ease!important;}
.areas-modal.open{opacity:1!important;pointer-events:auto!important;}
.areas-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.74)!important;backdrop-filter:blur(10px)!important;}
.areas-dialog{position:relative!important;width:min(980px,96vw)!important;max-height:92vh!important;overflow:auto!important;text-align:center!important;border-radius:34px!important;padding:30px 22px 28px!important;background:radial-gradient(circle at 50% 18%,rgba(225,29,72,.28),transparent 34%),linear-gradient(145deg,#0b0b0e,#3b0812 72%)!important;border:1px solid rgba(225,29,72,.58)!important;box-shadow:0 34px 120px rgba(0,0,0,.58),0 0 58px rgba(225,29,72,.22)!important;transform:scale(.86) translateY(34px)!important;transition:transform .35s cubic-bezier(.18,.95,.22,1.18)!important;color:#fff!important;}
.areas-modal.open .areas-dialog{transform:scale(1) translateY(0)!important;}
.areas-close{position:absolute!important;right:14px!important;top:12px!important;width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.24)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;font-size:30px!important;line-height:1!important;cursor:pointer!important;z-index:5!important;}
.areas-dialog h3{font-size:clamp(36px,8vw,78px)!important;line-height:.9!important;margin:24px 0 14px!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:-.06em!important;}
.areas-dialog h3 span{color:#ef3344!important;}
.areas-dialog p{max-width:790px!important;margin:0 auto 18px!important;color:rgba(255,255,255,.86)!important;font-size:clamp(16px,3.4vw,22px)!important;font-weight:800!important;line-height:1.42!important;}
.areas-map-pop{position:relative!important;height:300px!important;margin:16px auto 18px!important;border-radius:28px!important;background:radial-gradient(circle at 50% 50%,rgba(225,29,72,.33),rgba(0,0,0,.28) 48%,rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.12)!important;overflow:hidden!important;display:block!important;}
.areas-map-pop:before{content:"";position:absolute;inset:28px 36%;border:3px solid rgba(255,255,255,.18);border-radius:42% 54% 48% 44%;transform:rotate(-12deg);filter:drop-shadow(0 0 24px rgba(239,51,68,.45));}
.sc-watermark{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;font-size:170px!important;font-weight:1000!important;color:rgba(255,255,255,.075)!important;letter-spacing:-.08em!important;}
.area-pin{position:absolute!important;display:inline-flex!important;padding:9px 14px!important;border-radius:999px!important;background:white!important;color:#111!important;font-weight:1000!important;text-transform:uppercase!important;font-size:12px!important;box-shadow:0 12px 26px rgba(0,0,0,.28)!important;transform:scale(.2)!important;opacity:0!important;animation:areaPinPop .45s cubic-bezier(.18,.95,.22,1.18) forwards!important;}
.pin-columbia{left:45%!important;top:45%!important;color:#ef3344!important;animation-delay:.08s!important}.pin-greenville{left:22%!important;top:24%!important;animation-delay:.16s!important}.pin-rockhill{left:35%!important;top:31%!important;animation-delay:.24s!important}.pin-charleston{left:63%!important;top:62%!important;animation-delay:.32s!important}.pin-myrtle{left:70%!important;top:36%!important;animation-delay:.40s!important}.pin-beaufort{left:47%!important;top:73%!important;animation-delay:.48s!important}.pin-sumter{left:55%!important;top:54%!important;animation-delay:.56s!important}.pin-florence{left:62%!important;top:43%!important;animation-delay:.64s!important}
.areas-regions{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;margin:12px auto 18px!important;}
.areas-regions span{padding:10px 16px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.areas-modal-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;max-width:760px!important;margin:0 auto 18px!important;}
.areas-modal-stats div{border-radius:18px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;padding:14px 8px!important;}
.areas-modal-stats strong{display:block!important;color:#fff!important;font-size:30px!important;}
.areas-modal-stats small{color:rgba(255,255,255,.72)!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
.areas-estimate{display:inline-flex!important;border-radius:999px!important;background:#ef3344!important;color:#fff!important;text-decoration:none!important;font-weight:1000!important;text-transform:uppercase!important;padding:15px 24px!important;box-shadow:0 0 28px rgba(225,29,72,.35)!important;}
@keyframes areaPinPop{0%{opacity:0;transform:scale(.2) translateY(20px)}80%{opacity:1;transform:scale(1.08) translateY(-3px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:720px){#service-area.service-area-popup-teaser{padding:44px 12px 52px!important}#service-area .service-teaser-card{border-radius:28px!important;padding:36px 16px!important}.areas-popup-btn{width:100%!important;max-width:330px!important}.areas-dialog{border-radius:28px!important;padding:24px 14px!important}.areas-map-pop{height:245px!important}.area-pin{font-size:10px!important;padding:8px 10px!important}.areas-modal-stats{grid-template-columns:repeat(2,1fr)!important}.areas-modal-stats strong{font-size:26px!important}}

/* RIDA FINAL SERVICE AREA FIX — clean teaser + real popup modal */
.service-area-clean{
  background:linear-gradient(180deg,#f8f5f0 0%,#fff 100%)!important;
  padding:70px 5vw!important;
}
.service-area-clean .clean-teaser{
  width:min(760px,94vw)!important;
  margin:0 auto!important;
  text-align:center!important;
  border-radius:34px!important;
  padding:42px 22px 44px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 100%,rgba(213,33,53,.30),transparent 40%),
    linear-gradient(145deg,#0b0b0d,#1a070b 72%,#060607)!important;
  border:1px solid rgba(213,33,53,.38)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
.clean-teaser::before{
  content:"";
  position:absolute;
  inset:auto -20% -55% -20%;
  height:70%;
  background:radial-gradient(circle,rgba(213,33,53,.28),transparent 58%);
  animation:cleanPulse 3.5s ease-in-out infinite;
}
.clean-teaser > *{position:relative;z-index:2;}
.clean-teaser .service-kicker,
.modal-kicker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  color:#111!important;
  border-radius:999px!important;
  padding:12px 24px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  box-shadow:0 15px 34px rgba(0,0,0,.28)!important;
}
.clean-teaser h2{
  color:#fff!important;
  text-transform:uppercase!important;
  font-size:clamp(34px,7vw,76px)!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
  margin:24px auto 18px!important;
  max-width:720px!important;
  font-weight:950!important;
}
.clean-teaser h2 span{color:#ef3648!important;text-shadow:0 0 28px rgba(213,33,53,.35)!important;}
.clean-teaser p{
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(16px,2vw,21px)!important;
  line-height:1.45!important;
  font-weight:800!important;
  max-width:640px!important;
  margin:0 auto 26px!important;
}
.see-areas-btn{
  border:none!important;
  cursor:pointer!important;
  background:linear-gradient(135deg,#f22f45,#a50a19)!important;
  color:#fff!important;
  border-radius:18px!important;
  padding:18px 28px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  box-shadow:0 0 0 rgba(213,33,53,0),0 18px 45px rgba(213,33,53,.35)!important;
  animation:reviewPulse 1.7s ease-in-out infinite!important;
}

.clean-areas-modal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:18px!important;
}
.clean-areas-modal.open{display:flex!important;}
.clean-areas-modal .areas-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.76)!important;
  backdrop-filter:blur(12px)!important;
}
.clean-areas-dialog{
  position:relative!important;
  z-index:2!important;
  width:min(900px,96vw)!important;
  max-height:86svh!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  border-radius:34px 34px 24px 24px!important;
  padding:30px 22px 24px!important;
  text-align:center!important;
  background:
    radial-gradient(circle at 50% 20%,rgba(213,33,53,.28),transparent 38%),
    linear-gradient(145deg,#09090b,#1a080c 70%,#050506)!important;
  border:1px solid rgba(213,33,53,.48)!important;
  box-shadow:0 -20px 90px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.08)!important;
  transform:translateY(38px) scale(.96)!important;
  opacity:0!important;
  animation:none!important;
}
.clean-areas-modal.open .clean-areas-dialog{
  animation:modalSlideUp .42s cubic-bezier(.18,.9,.2,1.08) forwards!important;
}
.clean-areas-dialog .areas-close{
  position:sticky!important;
  top:0!important;
  float:right!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
  z-index:5!important;
}
.clean-areas-dialog h3{
  color:#fff!important;
  text-transform:uppercase!important;
  font-size:clamp(36px,7vw,74px)!important;
  line-height:.92!important;
  margin:18px auto 12px!important;
  letter-spacing:-.055em!important;
  font-weight:950!important;
}
.clean-areas-dialog h3 span{color:#ef3648!important;}
.areas-intro{
  max-width:680px!important;
  margin:0 auto 22px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(15px,2vw,20px)!important;
  font-weight:800!important;
  line-height:1.45!important;
}
.clean-map-card{
  position:relative!important;
  width:min(560px,100%)!important;
  height:205px!important;
  margin:18px auto 22px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 50% 50%,rgba(213,33,53,.28),rgba(255,255,255,.055) 58%,rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)!important;
}
.sc-outline{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.08)!important;
  font-size:clamp(120px,26vw,210px)!important;
  letter-spacing:-.12em!important;
  font-weight:950!important;
  line-height:.8!important;
}
.clean-map-card .dot{
  position:absolute!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#ef3648!important;
  box-shadow:0 0 0 8px rgba(239,54,72,.16),0 0 24px rgba(239,54,72,.75)!important;
  opacity:0!important;
  transform:scale(.35)!important;
}
.clean-areas-modal.open .dot{animation:dotPop .55s cubic-bezier(.18,.9,.2,1.2) forwards!important;}
.dot-columbia{left:50%;top:53%;animation-delay:.15s!important;}
.dot-greenville{left:35%;top:32%;animation-delay:.25s!important;}
.dot-rockhill{left:47%;top:37%;animation-delay:.35s!important;}
.dot-charleston{left:66%;top:65%;animation-delay:.45s!important;}
.dot-myrtle{left:72%;top:47%;animation-delay:.55s!important;}
.service-region-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 auto 18px!important;
  max-width:740px!important;
}
.service-region-grid article{
  background:rgba(255,255,255,.085)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:22px!important;
  padding:15px 14px!important;
  text-align:left!important;
  transform:translateY(20px)!important;
  opacity:0!important;
}
.clean-areas-modal.open .service-region-grid article{animation:regionRise .45s ease forwards!important;}
.clean-areas-modal.open .service-region-grid article:nth-child(2){animation-delay:.08s!important}.clean-areas-modal.open .service-region-grid article:nth-child(3){animation-delay:.16s!important}.clean-areas-modal.open .service-region-grid article:nth-child(4){animation-delay:.24s!important}.clean-areas-modal.open .service-region-grid article:nth-child(5){animation-delay:.32s!important}
.service-region-grid strong{display:block!important;color:#fff!important;text-transform:uppercase!important;font-size:16px!important;letter-spacing:.04em!important;margin-bottom:6px!important;}
.service-region-grid small{display:block!important;color:rgba(255,255,255,.72)!important;font-weight:800!important;line-height:1.45!important;}
.clean-modal-stats{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
  margin:12px auto 18px!important;
  max-width:640px!important;
}
.clean-modal-stats div{
  border-radius:18px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  padding:13px 10px!important;
}
.clean-modal-stats strong{display:block!important;font-size:26px!important;color:#fff!important;font-weight:950!important;}
.clean-modal-stats small{display:block!important;color:rgba(255,255,255,.72)!important;text-transform:uppercase!important;font-weight:900!important;font-size:11px!important;letter-spacing:.08em!important;}
.clean-areas-dialog .areas-estimate{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#ef3648,#a00716)!important;
  color:#fff!important;
  border-radius:16px!important;
  padding:16px 24px!important;
  text-transform:uppercase!important;
  font-weight:950!important;
  box-shadow:0 16px 46px rgba(213,33,53,.35)!important;
}
@keyframes modalSlideUp{to{opacity:1!important;transform:translateY(0) scale(1)!important;}}
@keyframes dotPop{70%{opacity:1!important;transform:scale(1.18)!important}100%{opacity:1!important;transform:scale(1)!important}}
@keyframes regionRise{to{opacity:1!important;transform:translateY(0)!important}}
@keyframes cleanPulse{50%{opacity:.65;transform:scale(1.08)}}
@media(max-width:760px){
  .service-area-clean{padding:54px 5vw!important;}
  .service-area-clean .clean-teaser{padding:34px 18px 36px!important;border-radius:30px!important;}
  .clean-teaser h2{font-size:clamp(38px,11vw,58px)!important;}
  .clean-areas-modal{padding:12px!important;align-items:flex-end!important;}
  .clean-areas-dialog{max-height:84svh!important;padding:24px 16px 20px!important;border-radius:30px 30px 20px 20px!important;}
  .clean-map-card{height:155px!important;border-radius:22px!important;margin:14px auto 16px!important;}
  .service-region-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .service-region-grid article{text-align:center!important;padding:13px!important;border-radius:18px!important;}
  .clean-modal-stats{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;}
  .clean-modal-stats strong{font-size:22px!important;}
  .clean-modal-stats small{font-size:9px!important;}
}


/* === FINAL FIX: Transformation Showcase photos fit perfectly, no crop/no white lines === */
.before-after .ba-grid,
.before-after .ba-clean-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
}
.before-after .ba-item{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
.before-after .ba-copy{min-height:0!important;margin:0 0 18px!important;text-align:center!important;display:block!important;}
.before-after .ba-copy b{display:block!important;margin:0 0 14px!important;color:#d52135!important;background:transparent!important;padding:0!important;position:static!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:950!important;font-size:clamp(20px,2.2vw,28px)!important;line-height:1.05!important;}
.before-after .ba-copy h3{display:block!important;margin:0 auto!important;color:#171719!important;max-width:520px!important;font-size:clamp(15px,1.35vw,18px)!important;line-height:1.45!important;font-weight:850!important;}
.before-after .ba-photo-card{
  margin:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#070708!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.18)!important;
  transition:transform .35s ease, box-shadow .35s ease!important;
}
.before-after .ba-photo-card img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.06) contrast(1.03) saturate(1.04)!important;
  transition:transform .6s ease, filter .35s ease!important;
}
.before-after .ba-photo-card:hover{transform:translateY(-7px)!important;box-shadow:0 26px 70px rgba(0,0,0,.24)!important;}
.before-after .ba-photo-card:hover img{transform:scale(1.025)!important;filter:brightness(1.10) contrast(1.04) saturate(1.06)!important;}
@media(max-width:900px){
  .before-after .ba-grid,
  .before-after .ba-clean-grid{grid-template-columns:1fr!important;gap:34px!important;}
  .before-after .ba-photo-card{border-radius:22px!important;}
}


/* === ADDY FINAL HARD FIX: Service Area popup that actually opens on mobile === */
.addy-service-clean{padding:70px 5vw!important;background:linear-gradient(180deg,#fbfaf7,#f2ede6)!important;}
.addy-service-card{max-width:840px!important;margin:0 auto!important;text-align:center!important;border-radius:34px!important;padding:46px 22px!important;position:relative!important;overflow:hidden!important;color:#fff!important;background:radial-gradient(circle at 50% 100%,rgba(239,51,68,.34),transparent 45%),linear-gradient(145deg,#070708,#26070d 64%,#050506)!important;border:1px solid rgba(239,51,68,.42)!important;box-shadow:0 35px 90px rgba(0,0,0,.24),0 0 42px rgba(239,51,68,.12)!important;}
.addy-service-card:before{content:"SC";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(125px,28vw,260px);font-weight:1000;letter-spacing:-.12em;color:rgba(255,255,255,.045);pointer-events:none;}
.addy-service-card:after{content:"";position:absolute;inset:-45%;background:conic-gradient(from 230deg,transparent,rgba(239,51,68,.24),transparent 38%);animation:addySpin 9s linear infinite;pointer-events:none;}
.addy-service-card>*{position:relative;z-index:2;}
.addy-kicker{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:#fff!important;color:#111!important;border-radius:999px!important;padding:12px 22px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.07em!important;box-shadow:0 16px 35px rgba(0,0,0,.28)!important;}
.addy-service-card h2{margin:24px auto 16px!important;max-width:780px!important;color:#fff!important;text-transform:uppercase!important;font-size:clamp(40px,8.5vw,82px)!important;line-height:.9!important;letter-spacing:-.065em!important;font-weight:1000!important;}
.addy-service-card h2 span{color:#ef3344!important;text-shadow:0 0 28px rgba(239,51,68,.35)!important;}
.addy-service-card p{max-width:690px!important;margin:0 auto 27px!important;color:rgba(255,255,255,.9)!important;font-weight:850!important;font-size:clamp(16px,2.5vw,21px)!important;line-height:1.5!important;}
.addy-areas-btn{border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#ef3344,#980916)!important;color:#fff!important;padding:18px 28px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.055em!important;box-shadow:0 0 0 0 rgba(239,51,68,.55),0 18px 45px rgba(239,51,68,.35)!important;animation:addyPulse 1.25s ease-in-out infinite!important;cursor:pointer!important;}
.addy-areas-btn:active{transform:scale(.97)!important;}
.addy-areas-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none!important;align-items:center!important;justify-content:center!important;padding:14px!important;}
.addy-areas-modal.open{display:flex!important;}
.addy-areas-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.78)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;}
.addy-areas-panel{position:relative!important;z-index:2!important;width:min(900px,96vw)!important;max-height:88svh!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;text-align:center!important;border-radius:34px!important;padding:30px 20px 24px!important;color:#fff!important;background:radial-gradient(circle at 50% 18%,rgba(239,51,68,.30),transparent 34%),linear-gradient(145deg,#08080a,#26070d 70%,#050506)!important;border:1px solid rgba(239,51,68,.55)!important;box-shadow:0 35px 110px rgba(0,0,0,.7),0 0 60px rgba(239,51,68,.22)!important;animation:addyModalIn .34s cubic-bezier(.18,.9,.2,1.1) both!important;}
.addy-areas-close{position:absolute!important;right:12px!important;top:10px!important;width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:30px!important;line-height:1!important;z-index:5!important;}
.addy-areas-panel h3{margin:18px auto 10px!important;color:#fff!important;text-transform:uppercase!important;font-size:clamp(38px,8vw,78px)!important;line-height:.9!important;letter-spacing:-.06em!important;font-weight:1000!important;}
.addy-areas-panel h3 span{color:#ef3344!important;}
.addy-areas-panel p{max-width:700px!important;margin:0 auto 18px!important;color:rgba(255,255,255,.88)!important;font-weight:850!important;font-size:clamp(15px,2.4vw,20px)!important;line-height:1.45!important;}
.addy-map-stage{position:relative!important;height:220px!important;margin:16px auto 18px!important;border-radius:28px!important;overflow:hidden!important;background:radial-gradient(circle at 50% 50%,rgba(239,51,68,.26),rgba(255,255,255,.05) 56%,rgba(0,0,0,.12))!important;border:1px solid rgba(255,255,255,.14)!important;}
.addy-sc-glow{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;font-size:clamp(130px,28vw,220px)!important;font-weight:1000!important;letter-spacing:-.12em!important;color:rgba(255,255,255,.08)!important;text-shadow:0 0 35px rgba(239,51,68,.30)!important;}
.addy-pin{position:absolute!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 12px!important;border-radius:999px!important;background:#fff!important;color:#111!important;font-weight:1000!important;text-transform:uppercase!important;font-size:11px!important;box-shadow:0 12px 26px rgba(0,0,0,.30)!important;opacity:0;transform:scale(.3);animation:addyPinPop .42s cubic-bezier(.18,.9,.2,1.15) forwards!important;}
.addy-pin:before{content:"📍";margin-right:4px;}
.pin1{left:43%;top:48%;color:#ef3344!important;animation-delay:.05s!important}.pin2{left:18%;top:21%;animation-delay:.12s!important}.pin3{left:34%;top:30%;animation-delay:.19s!important}.pin4{left:60%;top:60%;animation-delay:.26s!important}.pin5{left:66%;top:36%;animation-delay:.33s!important}.pin6{left:45%;top:72%;animation-delay:.40s!important}
.addy-region-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:740px!important;margin:0 auto 18px!important;}
.addy-region-cards article{border-radius:20px!important;background:rgba(255,255,255,.085)!important;border:1px solid rgba(255,255,255,.14)!important;padding:14px!important;text-align:left!important;}
.addy-region-cards strong{display:block!important;color:#fff!important;font-size:16px!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:5px!important;}
.addy-region-cards small{display:block!important;color:rgba(255,255,255,.74)!important;font-weight:800!important;line-height:1.42!important;}
.addy-modal-estimate{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;background:linear-gradient(135deg,#ef3344,#990916)!important;color:#fff!important;border-radius:16px!important;padding:16px 24px!important;font-weight:1000!important;text-transform:uppercase!important;box-shadow:0 0 36px rgba(239,51,68,.38)!important;}
@keyframes addySpin{to{transform:rotate(360deg)}}@keyframes addyPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,51,68,.55),0 18px 45px rgba(239,51,68,.35);transform:scale(1)}50%{box-shadow:0 0 0 14px rgba(239,51,68,0),0 0 45px rgba(239,51,68,.62);transform:scale(1.035)}}@keyframes addyModalIn{from{opacity:0;transform:translateY(32px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes addyPinPop{75%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.addy-service-clean{padding:52px 5vw!important}.addy-service-card{padding:36px 16px!important;border-radius:30px!important}.addy-service-card h2{font-size:clamp(38px,11vw,60px)!important}.addy-areas-modal{align-items:flex-end!important;padding:10px!important}.addy-areas-panel{border-radius:30px 30px 20px 20px!important;padding:24px 14px 18px!important;max-height:86svh!important}.addy-map-stage{height:170px!important;border-radius:22px!important}.addy-pin{font-size:9px!important;padding:7px 9px!important}.addy-region-cards{grid-template-columns:1fr!important}.addy-region-cards article{text-align:center!important;padding:12px!important}.addy-modal-estimate{width:100%!important}.pin4{left:58%!important}.pin5{left:57%!important;top:31%!important}.pin6{left:42%!important;top:72%!important}}

/* ADDY FINAL POLISH — popup close button, hero CTA motion, transparent estimate form */
.addy-areas-close{
  right:16px!important;
  top:16px!important;
  width:52px!important;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  font-size:34px!important;
  line-height:0!important;
  font-weight:900!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 12px 34px rgba(0,0,0,.35),0 0 24px rgba(213,33,53,.28)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.addy-areas-close:hover{transform:scale(1.06)!important;background:rgba(213,33,53,.68)!important;}

.hero .actions .btn.red{
  animation:heroCtaPulse 1.45s ease-in-out infinite, heroButtonUp .75s ease both .95s!important;
}
.hero .actions .btn.clear{
  animation:heroProjectShake 2.15s cubic-bezier(.36,.07,.19,.97) infinite, heroButtonUp .75s ease both 1.08s!important;
}
@keyframes heroCtaPulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 17px 40px rgba(213,33,53,.35),0 0 0 0 rgba(239,51,68,.45)}
  50%{transform:translateY(-2px) scale(1.035);box-shadow:0 22px 56px rgba(213,33,53,.58),0 0 0 12px rgba(239,51,68,0)}
}
@keyframes heroProjectShake{
  0%,88%,100%{transform:translateX(0)}
  90%{transform:translateX(-5px)}
  92%{transform:translateX(5px)}
  94%{transform:translateX(-4px)}
  96%{transform:translateX(4px)}
  98%{transform:translateX(0)}
}

.estimate::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);z-index:1;pointer-events:none;}
.estimate-box{
  position:relative!important;
  z-index:2!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.50)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.35)!important;
  backdrop-filter:blur(20px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.15)!important;
}
.estimate-box input,.estimate-box select,.estimate-box textarea{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
}
.estimate-submit{
  animation:estimateButtonPulse .92s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(213,33,53,.60),0 18px 48px rgba(213,33,53,.38)!important;
}
@keyframes estimateButtonPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,33,53,.60),0 18px 48px rgba(213,33,53,.38)}
  50%{transform:scale(1.045);box-shadow:0 0 0 13px rgba(213,33,53,0),0 24px 72px rgba(213,33,53,.68)}
}
@media(max-width:760px){
  .addy-areas-close{right:12px!important;top:12px!important;width:48px!important;height:48px!important;font-size:32px!important;}
  .estimate-box{background:rgba(255,255,255,.18)!important;}
}


/* ADDY FINAL BRANDING + REVIEW LANDING UPDATES */
.footer-logo{
  width:clamp(105px,30vw,150px)!important;
  max-width:48%!important;
  height:auto!important;
  margin:0 auto 12px!important;
  display:block;
  filter:drop-shadow(0 0 8px rgba(213,33,53,.42)) drop-shadow(0 0 18px rgba(213,33,53,.24))!important;
  animation:footerRedPulse 2.8s ease-in-out infinite;
}
.ras-logo{
  width:clamp(62px,20vw,90px)!important;
  max-width:32%!important;
  height:auto!important;
  margin:8px auto 8px!important;
  display:block;
  filter:drop-shadow(0 0 8px rgba(245,196,107,.45)) drop-shadow(0 0 18px rgba(245,196,107,.25))!important;
  animation:footerGoldPulse 3.2s ease-in-out infinite;
}
.site-footer{padding:30px 20px 24px!important;}
.site-footer p{margin:10px 0 10px!important;font-size:clamp(14px,3.8vw,18px)!important;}
.ras-footer-link{display:inline-block;color:#fff;text-decoration:none;font-weight:800;transition:.3s ease;padding:6px 8px;margin-top:0!important;}
.ras-footer-link:hover{color:var(--gold);text-shadow:0 0 12px rgba(245,196,107,.65),0 0 24px rgba(245,196,107,.35);transform:translateY(-2px)}
@keyframes footerRedPulse{
  0%,100%{filter:drop-shadow(0 0 7px rgba(213,33,53,.35)) drop-shadow(0 0 16px rgba(213,33,53,.18));}
  50%{filter:drop-shadow(0 0 16px rgba(213,33,53,.75)) drop-shadow(0 0 32px rgba(213,33,53,.42));}
}
@keyframes footerGoldPulse{
  0%,100%{filter:drop-shadow(0 0 7px rgba(245,196,107,.35)) drop-shadow(0 0 16px rgba(245,196,107,.18));}
  50%{filter:drop-shadow(0 0 16px rgba(245,196,107,.8)) drop-shadow(0 0 32px rgba(245,196,107,.45));}
}
.hero .btn.red,.hero .btn.clear{animation:heroButtonGlow 2.4s ease-in-out infinite;}
.hero .btn.clear{animation-delay:.45s;}
@keyframes heroButtonGlow{
  0%,100%{transform:translateY(0);box-shadow:0 12px 34px rgba(213,33,53,.22)}
  50%{transform:translateY(-4px) scale(1.015);box-shadow:0 20px 55px rgba(213,33,53,.45),0 0 18px rgba(255,255,255,.12)}
}
.leave-review-btn{animation:reviewPulse 1.55s ease-in-out infinite!important;box-shadow:0 0 0 rgba(213,33,53,.0)}
@keyframes reviewPulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 12px 35px rgba(213,33,53,.25)}
  50%{transform:translateY(-3px) scale(1.045);box-shadow:0 18px 55px rgba(213,33,53,.55),0 0 22px rgba(213,33,53,.35)}
}
.review-page{min-height:100svh;background:radial-gradient(circle at 50% 0%,rgba(213,33,53,.26),transparent 35%),#070708;color:#fff;padding:42px 5vw;display:grid;place-items:center;}
.review-card{width:min(860px,100%);border-radius:34px;padding:clamp(28px,5vw,54px);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 32px 110px rgba(0,0,0,.55);text-align:center;position:relative;overflow:hidden;}
.review-card::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle,rgba(213,33,53,.22),transparent 45%);animation:reviewCardGlow 5s ease-in-out infinite;}
.review-card>*{position:relative;z-index:1}
.review-card .review-logo{width:min(240px,70%);height:auto;margin:0 auto 22px;display:block;filter:drop-shadow(0 0 16px rgba(213,33,53,.35));}
.review-card h1{font-size:clamp(36px,8vw,74px);line-height:.96;margin:0 0 16px;font-weight:900;letter-spacing:-.06em;text-transform:uppercase;}
.review-card h1 span{color:var(--red)}
.review-card p{font-size:clamp(16px,3.8vw,22px);line-height:1.55;color:#e8e8e8;font-weight:750;max-width:720px;margin:0 auto 24px;}
.review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px auto 22px;max-width:680px}
.review-action{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:16px;font-weight:900;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);transition:.28s ease;}
.review-action.primary{background:linear-gradient(135deg,#ef2b40,#960815);box-shadow:0 18px 52px rgba(213,33,53,.34);animation:reviewPulse 1.55s ease-in-out infinite;}
.review-action:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(213,33,53,.24)}
.review-back{display:inline-flex;margin-top:14px;color:#fff;font-weight:900;opacity:.84}
.review-note{font-size:13px!important;opacity:.75;margin-top:18px!important;}
@keyframes reviewCardGlow{50%{transform:scale(1.08);opacity:.65}}
@media(max-width:640px){.review-actions{grid-template-columns:1fr}.site-footer{padding:24px 14px 22px!important}}

/* FINAL FEATURED KITCHEN + TRANSFORMATION KITCHEN PATCH */
.featured-grid .feature-card.kitchen-luxury{
  --img:url('assets/featured-luxury-kitchen-remodels.jpg')!important;
  background-image:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,.04)),var(--img)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.project-experience .feature-card.kitchen-luxury label{
  position:absolute!important;top:16px!important;left:16px!important;z-index:5!important;
  background:linear-gradient(135deg,#ef233c,#b10017)!important;color:#fff!important;
}
.project-experience .feature-card.kitchen-luxury div{position:relative!important;z-index:4!important;}
@media(max-width:760px){
  .featured-grid .feature-card.kitchen-luxury{background-position:center center!important;}
}

.before-after .ba-grid.ba-clean-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:26px!important;
}
.before-after .ba-item.kitchen-transform .ba-photo-card img{
  object-fit:contain!important;
  object-position:center!important;
  background:#101010!important;
  padding:0!important;
}
.before-after .ba-item.kitchen-transform .ba-photo-card{
  background:#101010!important;
}
.before-after .ba-item.kitchen-transform .ba-copy b{
  text-transform:uppercase!important;
}
@media(max-width:900px){
  .before-after .ba-grid.ba-clean-grid{grid-template-columns:1fr!important;}
}

/* HEAVY ANIMATED TRANSFORMATION SHOWCASE FINAL PASS */
.before-after{
  position:relative!important;
  overflow:hidden!important;
}
.before-after::before{
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 16%,rgba(213,33,53,.18),transparent 26%),
    radial-gradient(circle at 82% 70%,rgba(213,33,53,.12),transparent 30%);
  animation:showcaseAura 7s ease-in-out infinite alternate;
}
.before-after .section-title{
  position:relative!important;
  z-index:2!important;
}
.before-after .section-title h2{
  position:relative!important;
  animation:showcaseTitleLift .9s cubic-bezier(.18,.9,.2,1.08) both;
}
.before-after .section-title h2::after{
  content:"";
  display:block;
  width:min(360px,70vw);
  height:3px;
  margin:18px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--red),#ff7b7b,var(--red),transparent);
  box-shadow:0 0 24px rgba(213,33,53,.45);
  animation:showcaseShimmer 2.7s ease-in-out infinite;
}
.before-after .ba-grid.ba-clean-grid{
  position:relative!important;
  z-index:2!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:34px!important;
  align-items:start!important;
}
.before-after .ba-item{
  opacity:0;
  transform:translateY(72px) scale(.96);
  transition:opacity .9s ease, transform .9s cubic-bezier(.18,.9,.2,1.08)!important;
}
.before-after .ba-item.show{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.before-after .ba-item:nth-child(2){transition-delay:.16s!important;}
.before-after .ba-item:nth-child(3){transition-delay:.32s!important;}
.before-after .ba-item:nth-child(4){transition-delay:.48s!important;}
.before-after .ba-copy{
  text-align:center!important;
  margin-bottom:18px!important;
  min-height:auto!important;
}
.before-after .ba-copy b{
  display:block!important;
  font-size:clamp(18px,2vw,27px)!important;
  line-height:1.05!important;
  color:var(--red)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin:0 0 15px!important;
  text-shadow:0 0 18px rgba(213,33,53,.28);
  animation:letterSettle .9s ease both;
}
.before-after .ba-copy h3{
  margin:0 auto!important;
  max-width:640px!important;
  font-size:clamp(15px,1.35vw,20px)!important;
  line-height:1.45!important;
  color:#333!important;
  font-weight:850!important;
}
.before-after .ba-photo-card{
  height:clamp(305px,32vw,470px)!important;
  min-height:clamp(305px,32vw,470px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  border:1px solid rgba(213,33,53,.28)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.2),0 0 0 rgba(213,33,53,0)!important;
  background:#070708!important;
  transition:transform .45s cubic-bezier(.18,.9,.2,1),box-shadow .45s ease!important;
}
.before-after .ba-photo-card img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.11) contrast(1.05) saturate(1.06)!important;
  transform:scale(1.015);
  animation:luxuryShowcaseZoom 18s ease-in-out infinite alternate;
  transition:transform .7s ease, filter .5s ease!important;
}
.before-after .ba-item.kitchen-transform .ba-photo-card img{
  object-fit:contain!important;
  object-position:center!important;
  background:#080808!important;
  transform:scale(1)!important;
}
.before-after .ba-photo-card:hover{
  transform:translateY(-12px) scale(1.018)!important;
  box-shadow:0 34px 85px rgba(0,0,0,.28),0 0 45px rgba(213,33,53,.30)!important;
}
.before-after .ba-photo-card:hover img{
  transform:scale(1.07)!important;
  filter:brightness(1.18) contrast(1.07) saturate(1.08)!important;
}
.before-after .ba-item.kitchen-transform .ba-photo-card:hover img{
  transform:scale(1.025)!important;
}
.before-after .ba-photo-card::before,
.before-after .ba-photo-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.before-after .ba-photo-card::after{
  inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14),transparent 56%);
  transform:translateX(-120%);
  animation:cardSweep 4.2s ease-in-out infinite;
}
@keyframes showcaseAura{to{transform:scale(1.05) translateY(-12px);opacity:.8}}
@keyframes showcaseShimmer{50%{filter:brightness(1.5);box-shadow:0 0 34px rgba(213,33,53,.65)}}
@keyframes showcaseTitleLift{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes letterSettle{from{opacity:0;letter-spacing:.18em;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes luxuryShowcaseZoom{to{transform:scale(1.06)}}
@keyframes cardSweep{0%,55%{transform:translateX(-125%);opacity:0}70%{opacity:1}100%{transform:translateX(125%);opacity:0}}
@media(max-width:900px){
  .before-after .ba-grid.ba-clean-grid{grid-template-columns:1fr!important;gap:38px!important;}
  .before-after .ba-photo-card{height:330px!important;min-height:330px!important;border-radius:24px!important;}
  .before-after .ba-copy{margin-bottom:16px!important;}
  .before-after .ba-copy b{font-size:20px!important;margin-bottom:12px!important;}
  .before-after .ba-copy h3{font-size:15px!important;}
}

/* ADDY FINAL TRANSFORMATION FIT FIX — show full BEFORE/AFTER images, no dead space */
.before-after .ba-grid.ba-clean-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:42px!important;
  align-items:start!important;
}
.before-after .ba-item{
  position:relative!important;
  opacity:0;
  transform:translateY(86px) scale(.94) rotateX(4deg);
  transition:opacity .95s ease, transform .95s cubic-bezier(.18,.9,.2,1.08)!important;
  will-change:transform,opacity;
}
.before-after .ba-item.show{
  opacity:1!important;
  transform:translateY(0) scale(1) rotateX(0)!important;
}
.before-after .ba-item:nth-child(1){transition-delay:.05s!important;}
.before-after .ba-item:nth-child(2){transition-delay:.20s!important;}
.before-after .ba-item:nth-child(3){transition-delay:.35s!important;}
.before-after .ba-item:nth-child(4){transition-delay:.50s!important;}
.before-after .ba-copy{
  text-align:center!important;
  margin:0 auto 18px!important;
  padding:0 10px!important;
}
.before-after .ba-copy b{
  display:block!important;
  color:var(--red)!important;
  font-size:clamp(20px,2.35vw,32px)!important;
  line-height:1.04!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  margin-bottom:14px!important;
  text-shadow:0 0 22px rgba(213,33,53,.28);
  animation:letterSettle .9s ease both, titlePulse 3.8s ease-in-out infinite;
}
.before-after .ba-copy h3{
  margin:0 auto!important;
  max-width:620px!important;
  color:#28282b!important;
  font-size:clamp(15px,1.45vw,20px)!important;
  line-height:1.45!important;
  font-weight:900!important;
}
.before-after .ba-photo-card{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:var(--ba-aspect,1.25)!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#080808!important;
  border:1.5px solid rgba(213,33,53,.45)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.20),0 0 0 rgba(213,33,53,0)!important;
  transition:transform .45s cubic-bezier(.18,.9,.2,1),box-shadow .45s ease,border-color .45s ease!important;
}
.before-after .roof-transform .ba-photo-card{--ba-aspect:1.5;}
.before-after .kitchen-transform .ba-photo-card{--ba-aspect:1.2495;}
.before-after .bath-transform .ba-photo-card{--ba-aspect:1.2495;}
.before-after .outdoor-transform .ba-photo-card{--ba-aspect:1.227;}
.before-after .ba-photo-card img,
.before-after .ba-item.kitchen-transform .ba-photo-card img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  background:#080808!important;
  filter:brightness(1.12) contrast(1.055) saturate(1.05)!important;
  transform:scale(1.002)!important;
  animation:luxuryShowcaseZoomSoft 18s ease-in-out infinite alternate!important;
  transition:transform .7s ease,filter .5s ease!important;
}
.before-after .ba-photo-card:hover{
  transform:translateY(-14px) scale(1.018)!important;
  border-color:rgba(213,33,53,.75)!important;
  box-shadow:0 38px 95px rgba(0,0,0,.28),0 0 52px rgba(213,33,53,.32)!important;
}
.before-after .ba-photo-card:hover img,
.before-after .ba-item.kitchen-transform .ba-photo-card:hover img{
  transform:scale(1.055)!important;
  filter:brightness(1.2) contrast(1.08) saturate(1.08)!important;
}
.before-after .ba-photo-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.16),transparent 58%)!important;
  transform:translateX(-125%);
  animation:cardSweep 4s ease-in-out infinite!important;
}
@keyframes luxuryShowcaseZoomSoft{to{transform:scale(1.035)}}
@keyframes titlePulse{50%{text-shadow:0 0 30px rgba(213,33,53,.45);letter-spacing:.095em}}
@media(max-width:900px){
  .before-after .ba-grid.ba-clean-grid{grid-template-columns:1fr!important;gap:44px!important;}
  .before-after .ba-photo-card{border-radius:24px!important;}
  .before-after .ba-copy{margin-bottom:16px!important;}
  .before-after .ba-copy b{font-size:clamp(24px,7vw,34px)!important;}
  .before-after .ba-copy h3{font-size:clamp(16px,4.4vw,20px)!important;}
}

/* FINAL QUOTE FORM MOTION BOOST — faster, obvious bounce + glow */
.estimate-submit,
.estimate-box button,
form button[type="submit"],
form button{
  animation: quoteButtonBounce 1.05s cubic-bezier(.2,.9,.25,1.25) infinite, quoteButtonGlow 1.05s ease-in-out infinite !important;
  transform-origin:center;
  will-change:transform, box-shadow;
  box-shadow:0 0 0 rgba(213,33,53,0), 0 18px 42px rgba(213,33,53,.34) !important;
}

.estimate-submit:hover,
.estimate-box button:hover,
form button:hover{
  transform:translateY(-7px) scale(1.05) !important;
  box-shadow:0 0 22px rgba(213,33,53,.65), 0 22px 58px rgba(213,33,53,.45) !important;
}

@keyframes quoteButtonBounce{
  0%,100%{transform:translateY(0) scale(1)}
  18%{transform:translateY(-8px) scale(1.035)}
  34%{transform:translateY(2px) scale(.995)}
  50%{transform:translateY(-5px) scale(1.025)}
  68%{transform:translateY(0) scale(1)}
}

@keyframes quoteButtonGlow{
  0%,100%{box-shadow:0 0 0 rgba(213,33,53,0), 0 18px 42px rgba(213,33,53,.34)}
  50%{box-shadow:0 0 24px rgba(213,33,53,.75), 0 0 58px rgba(213,33,53,.45)}
}

/* FINAL FORM MOTION BOOST — bounce the entire quote form, not only the button */
.estimate-box{
  animation: quoteFormFullBounce .95s cubic-bezier(.22,.9,.28,1.25) infinite, quoteFormFullGlow .95s ease-in-out infinite !important;
  transform-origin:center center !important;
  will-change:transform, box-shadow !important;
}

.estimate-box:hover{
  animation-play-state:paused !important;
  transform:translateY(-6px) scale(1.015) !important;
}

@keyframes quoteFormFullBounce{
  0%,100%{transform:translateY(0) scale(1)}
  14%{transform:translateY(-14px) scale(1.018)}
  28%{transform:translateY(5px) scale(.995)}
  44%{transform:translateY(-10px) scale(1.012)}
  62%{transform:translateY(2px) scale(1.002)}
  78%{transform:translateY(-5px) scale(1.006)}
}

@keyframes quoteFormFullGlow{
  0%,100%{box-shadow:0 40px 120px rgba(0,0,0,.5),0 0 0 rgba(213,33,53,0)}
  50%{box-shadow:0 46px 135px rgba(0,0,0,.58),0 0 38px rgba(213,33,53,.55),0 0 80px rgba(213,33,53,.22)}
}

@media(max-width:760px){
  .estimate-box{
    animation: quoteFormMobileBounce .9s cubic-bezier(.22,.9,.28,1.25) infinite, quoteFormFullGlow .9s ease-in-out infinite !important;
  }
  @keyframes quoteFormMobileBounce{
    0%,100%{transform:translateY(0) scale(1)}
    16%{transform:translateY(-10px) scale(1.012)}
    32%{transform:translateY(4px) scale(.997)}
    50%{transform:translateY(-7px) scale(1.008)}
    70%{transform:translateY(1px) scale(1.002)}
  }
}

/* Expanded review wall with South Carolina city trust signals */
.review-track{animation-duration:48s!important;}
.review-marquee:hover .review-track{animation-play-state:paused;}
.review-track article{min-height:245px!important;position:relative;overflow:hidden;transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;}
.review-track article:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 28px 75px rgba(213,33,53,.28),0 22px 55px rgba(0,0,0,.38)!important;border-color:rgba(255,78,92,.42)!important;}
.review-track article small{display:block;margin-top:6px;color:#ff4b5e;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px;}
.review-track article b{margin-top:14px!important;}
.review-track article strong{font-size:20px!important;margin-top:14px!important;}
.review-track article strong::after{content:""!important;}
.review-trust-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px auto 18px;max-width:980px;}
.review-trust-row span{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);border-radius:999px;padding:10px 14px;font-weight:900;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.22);}
@media(max-width:700px){.review-track article{width:300px!important;min-height:260px!important}.review-trust-row span{font-size:12px;padding:9px 11px}}

/* FINAL DESKTOP HERO LOGO VISIBILITY FIX
   Keep mobile hero centered, but move desktop copy/buttons/stats left so the driveway logo stays visible. */
@media (min-width: 901px){
  .hero{
    justify-content:flex-start !important;
    align-items:center !important;
    text-align:left !important;
    padding:0 7vw 74px !important;
  }
  .hero-copy{
    margin:0 !important;
    width:min(620px,46vw) !important;
    max-width:620px !important;
    text-align:left !important;
    transform:translateY(28px);
  }
  .hero h1{
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:620px !important;
    font-size:clamp(54px,5.1vw,86px) !important;
  }
  .hero-copy p{
    margin:18px 0 0 !important;
    max-width:590px !important;
  }
  .actions{
    justify-content:flex-start !important;
  }
  .mini-stats{
    left:7vw !important;
    right:auto !important;
    bottom:26px !important;
    transform:none !important;
    width:min(500px,42vw) !important;
  }
  @keyframes statsBoxEntrance{
    from{opacity:0;filter:blur(8px);transform:translateY(24px) scale(.92)}
    to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
  }
}


/* SEO service page + clickable Premium Services cards */
.service-link{display:block;color:inherit;text-decoration:none;border-radius:20px;outline:none;}
.service-link .photo-card{height:100%;}
.service-click-tag{position:absolute;top:18px;right:18px;z-index:2;background:rgba(213,33,53,.92);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 12px 28px rgba(0,0,0,.35);transform:translateY(-4px);opacity:.92;}
.service-link:hover .service-click-tag{animation:serviceTagPulse .8s ease-in-out infinite alternate;}
@keyframes serviceTagPulse{to{transform:translateY(-4px) scale(1.06);box-shadow:0 0 25px rgba(213,33,53,.65)}}
.service-page{background:#08080a;color:#fff;}
.service-nav{position:fixed;z-index:20;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;pointer-events:none;}
.service-nav a{pointer-events:auto;color:#fff;background:rgba(8,8,10,.55);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);padding:12px 16px;border-radius:999px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.service-nav a:hover{background:rgba(213,33,53,.85);box-shadow:0 0 22px rgba(213,33,53,.45)}
.service-hero{min-height:84svh;display:grid;place-items:end start;position:relative;overflow:hidden;padding:120px 5vw 70px;}
.service-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.38) 55%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.84),transparent 48%),var(--hero-img);background-size:cover;background-position:center;animation:serviceHeroZoom 18s ease-in-out infinite alternate;}
.service-hero:after{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 35%,rgba(213,33,53,.28),transparent 33%),linear-gradient(105deg,transparent 36%,rgba(255,218,140,.12) 47%,transparent 60%);animation:sweep 9s ease-in-out infinite;}
.service-hero-copy{position:relative;z-index:2;max-width:920px;}
.service-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(213,33,53,.18);border:1px solid rgba(213,33,53,.55);color:#fff;border-radius:999px;padding:10px 15px;text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:900;margin-bottom:18px;}
.service-hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,7vw,104px);line-height:.9;letter-spacing:-.06em;margin:0 0 18px;text-shadow:0 18px 48px rgba(0,0,0,.66);}
.service-hero h1 span{color:var(--red);font-family:Inter,sans-serif;font-weight:900;}
.service-hero p{font-size:clamp(17px,1.6vw,23px);font-weight:750;line-height:1.55;max-width:760px;text-shadow:0 10px 26px rgba(0,0,0,.7);}
.service-page .service-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.service-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;max-width:820px;}
.service-stats div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px;text-align:center;backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(0,0,0,.22);}
.service-stats strong{display:block;color:#fff;font-size:26px;font-weight:900}.service-stats small{text-transform:uppercase;color:#ddd;font-size:11px;font-weight:900;letter-spacing:.08em}
.seo-section{padding:86px 5vw;background:#0d0d10;position:relative;overflow:hidden;}.seo-section.light{background:var(--cream);color:#171719}.seo-section:before{content:"";position:absolute;inset:auto -15% -45% auto;width:430px;height:430px;background:radial-gradient(circle,rgba(213,33,53,.20),transparent 62%);pointer-events:none;}
.seo-wrap{position:relative;z-index:1;max-width:1180px;margin:auto;}.seo-title{text-align:center;max-width:870px;margin:0 auto 38px}.seo-title p{color:var(--red);text-transform:uppercase;font-weight:900;letter-spacing:.22em;margin:0 0 12px}.seo-title h2{font-size:clamp(32px,5vw,60px);line-height:1;letter-spacing:-.05em;text-transform:uppercase;margin:0}.seo-title em{display:block;margin-top:14px;font-style:normal;font-weight:700;color:inherit;opacity:.78;font-size:18px;line-height:1.5}
.service-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-feature{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px;min-height:180px;box-shadow:0 20px 55px rgba(0,0,0,.23);transition:.35s}.light .service-feature{background:#fff;border-color:#eee;box-shadow:0 18px 38px rgba(0,0,0,.08)}.service-feature:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(213,33,53,.18)}.service-feature span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--red);font-size:22px;margin-bottom:18px}.service-feature h3{text-transform:uppercase;font-size:21px;margin:0 0 10px}.service-feature p{margin:0;line-height:1.55;font-weight:700;opacity:.82}
.before-after-wide{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.before-after-wide img{width:100%;border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);background:#111;object-fit:contain}.before-after-wide .copy{padding:20px}.before-after-wide h2{font-size:clamp(34px,5vw,64px);line-height:.96;text-transform:uppercase;margin:0 0 16px}.before-after-wide p{font-size:18px;line-height:1.65;font-weight:700;color:#ddd}.light .before-after-wide p{color:#4a4a4d}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.faq-item{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:24px;border-radius:20px}.faq-item h3{margin:0 0 10px;text-transform:uppercase}.faq-item p{margin:0;line-height:1.55;color:#ddd;font-weight:700}.service-cta{padding:90px 5vw;background:linear-gradient(135deg,#131316,#050505);text-align:center}.service-cta h2{font-size:clamp(36px,6vw,72px);line-height:.95;margin:0 0 16px;text-transform:uppercase}.service-cta p{font-size:19px;font-weight:750;color:#ddd;max-width:720px;margin:0 auto 26px;line-height:1.55}
@keyframes serviceHeroZoom{to{transform:scale(1.045)}}
@media(max-width:860px){.service-hero{min-height:790px;padding-top:100px}.service-stats,.service-feature-grid,.before-after-wide,.faq-grid{grid-template-columns:1fr}.service-stats{grid-template-columns:repeat(2,1fr)}.service-nav{top:12px;left:12px;right:12px}.service-nav a{font-size:11px;padding:10px 12px}.service-feature{min-height:auto}}

/* FINAL LANDING PAGE BEFORE / AFTER PILL FIX */
.service-page .before-after-wide .service-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:max-content!important;
  margin:0 0 18px!important;
  padding:12px 22px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(9,9,11,.96),rgba(38,10,14,.94))!important;
  border:1.5px solid rgba(213,33,53,.75)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20),0 0 24px rgba(213,33,53,.20),inset 0 1px 0 rgba(255,255,255,.18)!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-align:center!important;
  animation:beforeAfterPillGlow 3.2s ease-in-out infinite!important;
}
.service-page .before-after-wide .service-eyebrow::before{
  content:"✦";
  color:var(--red);
  margin-right:10px;
  font-size:11px;
  filter:drop-shadow(0 0 8px rgba(213,33,53,.65));
}
.service-page .before-after-wide .copy{
  text-align:left!important;
}
@keyframes beforeAfterPillGlow{
  0%,100%{box-shadow:0 12px 30px rgba(0,0,0,.20),0 0 20px rgba(213,33,53,.18),inset 0 1px 0 rgba(255,255,255,.18);transform:translateY(0)}
  50%{box-shadow:0 16px 44px rgba(0,0,0,.24),0 0 34px rgba(213,33,53,.34),inset 0 1px 0 rgba(255,255,255,.24);transform:translateY(-2px)}
}
@media(max-width:860px){
  .service-page .before-after-wide .copy{text-align:center!important;}
  .service-page .before-after-wide .service-eyebrow{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:92vw!important;
    font-size:11px!important;
    letter-spacing:.12em!important;
    padding:12px 18px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
}

/* Water Damage Restoration card */
.services .photo-card.water-damage{--img:url('assets/premium-water-damage.jpg')!important;background-position:center center!important;}
.water-damage{--img:url('assets/premium-water-damage.jpg')!important;background-position:center center!important;}
@media(max-width:760px){.services .photo-card.water-damage{background-position:center center!important;}}

.photo-card.reveal:nth-child(8).show{animation-delay:.82s}


/* Featured Project Experience - Water Damage Restoration Card */
.feature-card.water-damage{
  --img:url('assets/featured-water-damage-restoration.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.project-experience .feature-card.water-damage label{
  position:absolute!important;
  top:18px!important;
  left:18px!important;
  z-index:5!important;
  background:linear-gradient(135deg,#f02d43,#b80f1e)!important;
  box-shadow:0 10px 28px rgba(213,33,53,.35)!important;
}
.project-experience .feature-card.water-damage div{position:relative!important;z-index:4!important;}
@media(max-width:760px){
  .project-experience .feature-card.water-damage label{top:13px!important;left:13px!important;font-size:10px!important;padding:7px 10px!important;}
}


/* Final featured card fit polish */
.project-experience .feature-card{
  background-size:cover!important;
  overflow:hidden!important;
}
.project-experience .featured-grid{
  align-items:stretch;
}


/* Transformation Showcase - Water Damage Before/After */
.before-after .water-transform .ba-photo-card{--ba-aspect:1.5;}
.before-after .water-transform .ba-photo-card img{object-fit:cover!important;object-position:center center!important;}
.before-after .ba-item:nth-child(5){transition-delay:.65s!important;}
.before-after .water-transform .ba-copy b{color:var(--red)!important;text-shadow:0 0 18px rgba(213,33,53,.28)!important;}
@media(max-width:760px){
  .before-after .water-transform .ba-photo-card{height:330px!important;min-height:330px!important;}
}


/* Luxury porch transformation card added */
.porch-transform .ba-photo-card img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center center!important;
  background:#090909;
  display:block;
}
.porch-transform .ba-photo-card{
  background:#090909;
  overflow:hidden;
}
.porch-transform{
  animation:showcaseCardPop .9s cubic-bezier(.18,.85,.22,1.08) both;
}


/* Final added Flooring + Interior Finishes transformation card */
.before-after .flooring-transform .ba-photo-card{--ba-aspect:1.5;}
.before-after .flooring-transform .ba-photo-card img{object-fit:cover!important;object-position:center center!important;}
.before-after .ba-item:nth-child(7){transition-delay:.95s!important;}
@media(max-width:760px){
  .before-after .flooring-transform .ba-photo-card{height:330px!important;min-height:330px!important;}
  .before-after .flooring-transform .ba-photo-card img{object-fit:cover!important;object-position:center center!important;}
}

/* Masonry & Brick Restoration transformation card */
.before-after .masonry-transform .ba-photo-card{--ba-aspect:1.5;}
.before-after .masonry-transform .ba-photo-card img{object-fit:cover!important;object-position:center center!important;}
.before-after .ba-item:nth-child(8){transition-delay:1.1s!important;}
@media(max-width:760px){
  .before-after .masonry-transform .ba-photo-card{height:330px!important;min-height:330px!important;}
  .before-after .masonry-transform .ba-photo-card img{object-fit:cover!important;object-position:center center!important;}
}

/* Added masonry & brickwork featured project card */
.feature-card.masonry-feature{
  --img:url('assets/featured-masonry-brickwork.jpg')!important;
  background-position:center center!important;
}
.project-experience .feature-card.masonry-feature label{
  position:absolute!important;
  top:18px!important;
  left:18px!important;
  z-index:5!important;
  background:linear-gradient(135deg,#e1273d,#9f0b18)!important;
  box-shadow:0 10px 26px rgba(213,33,53,.35)!important;
}
.project-experience .feature-card.masonry-feature div{position:relative!important;z-index:4!important;}
@media(max-width:760px){
  .project-experience .feature-card.masonry-feature label{top:13px!important;left:13px!important;font-size:10px!important;padding:7px 10px!important;}
}

/* Animated water background for Emergency Response section */
.emergency-band{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.18), transparent 26%),
    linear-gradient(135deg, rgba(227,41,62,.94), rgba(77,5,14,.98));
}
.emergency-band::before{
  content:"";
  position:absolute;
  inset:-45% -18%;
  z-index:-2;
  opacity:.42;
  background:
    radial-gradient(ellipse at 20% 35%, rgba(255,255,255,.38) 0 1.5px, transparent 2px),
    radial-gradient(ellipse at 70% 62%, rgba(255,255,255,.28) 0 1.5px, transparent 2px),
    repeating-radial-gradient(ellipse at center, rgba(255,255,255,.22) 0 2px, transparent 3px 24px);
  transform:rotate(-8deg) scale(1.05);
  animation:waterRippleMove 9s linear infinite;
}
.emergency-band::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.30;
  background:
    linear-gradient(115deg, transparent 0 28%, rgba(255,255,255,.22) 34%, transparent 42% 100%),
    linear-gradient(25deg, transparent 0 40%, rgba(255,255,255,.10) 46%, transparent 54% 100%),
    repeating-linear-gradient(100deg, transparent 0 34px, rgba(255,255,255,.10) 36px, transparent 44px);
  background-size:260% 260%, 220% 220%, 180px 180px;
  animation:waterWaveSweep 5.5s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}
.emergency-band .water-drops{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.32) 0 3px, transparent 4px),
    radial-gradient(circle at 82% 32%, rgba(255,255,255,.25) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 74%, rgba(255,255,255,.22) 0 2px, transparent 3px),
    radial-gradient(circle at 62% 18%, rgba(255,255,255,.18) 0 2px, transparent 3px);
  animation:waterDropsFloat 4.2s ease-in-out infinite;
}
@keyframes waterRippleMove{
  0%{transform:translate3d(-2%,0,0) rotate(-8deg) scale(1.05)}
  100%{transform:translate3d(2%,6%,0) rotate(-8deg) scale(1.12)}
}
@keyframes waterWaveSweep{
  0%{background-position:0% 50%, 100% 50%, 0 0; filter:blur(0px)}
  100%{background-position:100% 50%, 0% 50%, 120px 60px; filter:blur(.2px)}
}
@keyframes waterDropsFloat{
  0%,100%{transform:translateY(0);opacity:.62}
  50%{transform:translateY(-10px);opacity:1}
}
@media(max-width:760px){
  .emergency-band::before{opacity:.34;inset:-65% -55%;}
  .emergency-band::after{opacity:.24;}
}

/* === ADDY FINAL POLISH: real animated water droplets + mobile showcase width fix === */
.emergency-band{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:linear-gradient(135deg,#b90f20 0%,#7b0711 48%,#190306 100%)!important;
}
.emergency-band:before{
  content:""!important;
  position:absolute!important;
  inset:-10% 0!important;
  z-index:-2!important;
  opacity:.58!important;
  background-image:
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.50) 0 2px, rgba(255,255,255,.16) 3px, transparent 7px),
    radial-gradient(circle at 18% 68%, rgba(255,255,255,.42) 0 2px, rgba(255,255,255,.13) 3px, transparent 8px),
    radial-gradient(circle at 31% 28%, rgba(255,255,255,.48) 0 2px, rgba(255,255,255,.12) 3px, transparent 7px),
    radial-gradient(circle at 43% 82%, rgba(255,255,255,.34) 0 2px, rgba(255,255,255,.10) 3px, transparent 8px),
    radial-gradient(circle at 58% 18%, rgba(255,255,255,.46) 0 2px, rgba(255,255,255,.12) 3px, transparent 7px),
    radial-gradient(circle at 71% 62%, rgba(255,255,255,.38) 0 2px, rgba(255,255,255,.10) 3px, transparent 8px),
    radial-gradient(circle at 85% 35%, rgba(255,255,255,.46) 0 2px, rgba(255,255,255,.12) 3px, transparent 7px),
    radial-gradient(circle at 94% 82%, rgba(255,255,255,.34) 0 2px, rgba(255,255,255,.09) 3px, transparent 8px);
  background-size:220px 180px,260px 220px,240px 200px,300px 260px,230px 190px,280px 230px,250px 210px,310px 270px!important;
  animation:emergencyRainDrops 3.8s linear infinite!important;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.22))!important;
}
.emergency-band:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  opacity:.42!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), transparent 28%, rgba(255,255,255,.07) 55%, transparent),
    repeating-linear-gradient(110deg, transparent 0 22px, rgba(255,255,255,.13) 24px, transparent 27px 54px)!important;
  background-size:100% 100%,170px 170px!important;
  animation:emergencyWaterStreaks 2.2s linear infinite!important;
  mix-blend-mode:screen!important;
}
.emergency-band .water-drops{
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:.55!important;
  background-image:
    radial-gradient(ellipse at 22% 16%, rgba(255,255,255,.42) 0 4px, transparent 9px),
    radial-gradient(ellipse at 78% 28%, rgba(255,255,255,.34) 0 3px, transparent 8px),
    radial-gradient(ellipse at 52% 78%, rgba(255,255,255,.32) 0 3px, transparent 8px),
    radial-gradient(ellipse at 36% 48%, rgba(255,255,255,.26) 0 3px, transparent 8px)!important;
  background-size:260px 220px!important;
  animation:emergencyDropletFloat 2.9s ease-in-out infinite!important;
}
@keyframes emergencyRainDrops{
  from{background-position:0 -220px,20px -260px,40px -240px,0 -300px,80px -230px,30px -280px,60px -250px,10px -310px;}
  to{background-position:0 220px,20px 260px,40px 240px,0 300px,80px 230px,30px 280px,60px 250px,10px 310px;}
}
@keyframes emergencyWaterStreaks{
  from{background-position:0 0,0 0;}
  to{background-position:0 0,170px 170px;}
}
@keyframes emergencyDropletFloat{
  0%,100%{transform:translateY(0) scale(1);opacity:.45;}
  50%{transform:translateY(-8px) scale(1.03);opacity:.82;}
}

.before-after{
  overflow:hidden!important;
  width:100%!important;
  max-width:100%!important;
  padding-left:clamp(16px,5vw,72px)!important;
  padding-right:clamp(16px,5vw,72px)!important;
}
.before-after .section-title,
.before-after .ba-clean-grid{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.before-after .ba-copy,
.before-after .ba-copy b,
.before-after .ba-copy h3{
  text-align:center!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.before-after .ba-photo-card{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.before-after .ba-photo-card img{
  width:100%!important;
  max-width:100%!important;
  display:block!important;
}
@media(max-width:760px){
  .before-after{
    padding:64px 16px!important;
  }
  .before-after .section-title h2{
    font-size:clamp(34px,12vw,52px)!important;
    line-height:.98!important;
  }
  .before-after .section-title em{
    font-size:18px!important;
    line-height:1.35!important;
    max-width:330px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .before-after .ba-clean-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:48px!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .before-after .ba-item{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .before-after .ba-copy{margin:0 auto 18px!important;padding:0 2px!important;}
  .before-after .ba-copy b{
    font-size:clamp(26px,9vw,38px)!important;
    line-height:1.05!important;
    letter-spacing:.045em!important;
    white-space:normal!important;
  }
  .before-after .ba-copy h3{
    font-size:clamp(17px,5vw,22px)!important;
    line-height:1.35!important;
    white-space:normal!important;
    padding:0 4px!important;
  }
  .before-after .ba-photo-card{
    width:100%!important;
    max-width:calc(100vw - 32px)!important;
    border-radius:22px!important;
  }
  .before-after .ba-photo-card img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* === FINAL PATCH: remove black dead-space from Transformation Showcase media === */
.before-after .ba-photo-card{
  height:auto!important;
  min-height:0!important;
  background:#fff!important;
  display:block!important;
}
.before-after .ba-photo-card img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
}
.before-after .water-transform .ba-photo-card,
.before-after .masonry-transform .ba-photo-card{
  aspect-ratio:3 / 2!important;
}
.before-after .flooring-transform .ba-photo-card{
  aspect-ratio:1402 / 1122!important;
}
@media(max-width:760px){
  .before-after .water-transform .ba-photo-card,
  .before-after .masonry-transform .ba-photo-card{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3 / 2!important;
  }
  .before-after .flooring-transform .ba-photo-card{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1402 / 1122!important;
  }
  .before-after .water-transform .ba-photo-card img,
  .before-after .flooring-transform .ba-photo-card img,
  .before-after .masonry-transform .ba-photo-card img{
    height:100%!important;
    object-fit:cover!important;
  }
}

/* === FINAL: Emergency Response water-restoration style + water damage page mimic === */
.emergency-water-card{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  gap:28px!important;
  align-items:center!important;
  padding:38px 5vw!important;
  background:#f8fbff!important;
  color:#10131a!important;
  border-top:1px solid rgba(0,89,145,.12)!important;
  border-bottom:1px solid rgba(0,89,145,.12)!important;
  box-shadow:0 20px 70px rgba(6,40,70,.10)!important;
}
.emergency-water-card:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  opacity:.72!important;
  background:
    radial-gradient(circle at 7% 9%, rgba(12,122,201,.23) 0 4px, transparent 5px),
    radial-gradient(circle at 15% 72%, rgba(12,122,201,.18) 0 3px, transparent 5px),
    radial-gradient(circle at 88% 22%, rgba(12,122,201,.20) 0 3px, transparent 5px),
    radial-gradient(circle at 94% 82%, rgba(12,122,201,.16) 0 5px, transparent 7px),
    linear-gradient(90deg, rgba(9,132,215,.16), transparent 18%, transparent 82%, rgba(9,132,215,.16));
  background-size:210px 180px,280px 220px,240px 210px,310px 260px,100% 100%!important;
  animation:cleanDropletDrift 5s linear infinite!important;
}
.emergency-water-card:after{
  content:""!important;
  position:absolute!important;
  inset:-15% -8%!important;
  z-index:-1!important;
  opacity:.45!important;
  background:
    radial-gradient(ellipse at 0% 48%, transparent 0 28%, rgba(0,117,188,.24) 29%, transparent 31%),
    radial-gradient(ellipse at 100% 42%, transparent 0 26%, rgba(0,117,188,.22) 27%, transparent 30%);
  animation:cleanWaterSweep 4.5s ease-in-out infinite alternate!important;
}
.emergency-water-card .water-drops{
  position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;opacity:.75!important;
  background-image:
    radial-gradient(circle at 4% 40%, rgba(0,124,201,.32) 0 5px, transparent 7px),
    radial-gradient(circle at 96% 56%, rgba(0,124,201,.28) 0 4px, transparent 6px),
    radial-gradient(circle at 11% 19%, rgba(0,124,201,.18) 0 3px, transparent 5px),
    radial-gradient(circle at 90% 12%, rgba(0,124,201,.17) 0 3px, transparent 5px)!important;
  animation:cleanDropsFloat 2.8s ease-in-out infinite!important;
}
.emergency-protect-icon{width:92px;height:92px;border:4px solid #111;border-radius:26px;display:grid;place-items:center;position:relative;background:#fff;box-shadow:0 16px 35px rgba(0,0,0,.10);transform:rotate(45deg);animation:shieldPop 2.4s ease-in-out infinite;}
.emergency-protect-icon span{font-size:42px;color:#d81f32;transform:rotate(-45deg);font-weight:900;line-height:1;}
.emergency-protect-icon b{position:absolute;right:-13px;bottom:-8px;width:38px;height:38px;border-radius:50%;background:#d81f32;color:#fff;display:grid;place-items:center;font-size:24px;transform:rotate(-45deg);box-shadow:0 0 24px rgba(216,31,50,.45);}
.emergency-copy p{margin:0 0 8px!important;color:#d81f32!important;text-transform:uppercase!important;letter-spacing:.26em!important;font-weight:900!important;}
.emergency-copy h2{margin:0 0 10px!important;color:#111!important;font-size:clamp(28px,4.2vw,54px)!important;letter-spacing:-.04em!important;line-height:1!important;}
.emergency-copy > span{display:block!important;color:#24272d!important;font-size:clamp(16px,2vw,22px)!important;font-weight:700!important;max-width:760px!important;opacity:.92!important;}
.emergency-ribbon{display:inline-block;margin:22px 0 14px;padding:13px 28px;background:linear-gradient(90deg,#d91e32,#a90617);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.06em;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%);box-shadow:0 12px 24px rgba(217,30,50,.24);}
.emergency-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 24px;}
.emergency-checks li{position:relative;padding-left:38px;color:#111;font-weight:900;text-transform:uppercase;letter-spacing:.01em;}
.emergency-checks li:before{content:"✓";position:absolute;left:0;top:50%;transform:translateY(-50%);width:25px;height:25px;border-radius:50%;background:#d91e32;color:#fff;display:grid;place-items:center;font-size:16px;box-shadow:0 0 16px rgba(217,30,50,.32);}
.emergency-help-btn{align-self:center!important;background:#d91e32!important;color:#fff!important;border-radius:999px!important;padding:18px 26px!important;font-weight:900!important;text-decoration:none!important;text-transform:uppercase!important;white-space:nowrap!important;box-shadow:0 0 0 0 rgba(217,30,50,.48),0 22px 50px rgba(217,30,50,.30)!important;animation:emergencyButtonPulse 1.15s ease-in-out infinite!important;}
.water-landing-services{margin:0!important;padding:54px 5vw!important;}
@keyframes cleanDropletDrift{from{background-position:0 -120px,0 -160px,0 -130px,0 -190px,0 0}to{background-position:0 120px,0 160px,0 130px,0 190px,0 0}}
@keyframes cleanWaterSweep{from{transform:translateX(-1.5%)}to{transform:translateX(1.5%)}}
@keyframes cleanDropsFloat{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(-9px);opacity:1}}
@keyframes shieldPop{0%,100%{transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.05)}}
@keyframes emergencyButtonPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(217,30,50,.45),0 22px 50px rgba(217,30,50,.30)}50%{transform:scale(1.06);box-shadow:0 0 0 15px rgba(217,30,50,0),0 30px 70px rgba(217,30,50,.46)}}
@media(max-width:860px){
  .emergency-water-card{grid-template-columns:1fr!important;text-align:center!important;padding:38px 22px!important;}
  .emergency-protect-icon{margin:0 auto;width:82px;height:82px;}
  .emergency-checks{grid-template-columns:1fr;text-align:left;max-width:420px;margin:0 auto;}
  .emergency-ribbon{font-size:13px;padding:12px 20px;}
  .emergency-help-btn{justify-self:center!important;}
}
