@font-face{font-family:FontAwesome;src:url('fontawesome-webfont.woff2') format('woff2')}
:root{--orange:#f15b08;--orange-dark:#bd3c00;--green:#92a52b;--black:#050505;--panel:#121212;--white:#f1f1ed;--gray:#c7c7c7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#030303;color:var(--white);font-family:Arial,Helvetica,sans-serif;background-image:linear-gradient(#0008,#0008),url('dark-texture.jpg');background-attachment:fixed;background-size:cover}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font:inherit}
.fa{font-family:FontAwesome!important}
.site-header{background:#030303;border-bottom:1px solid #6b2c0d;position:relative;z-index:50}
.header-main{height:118px;max-width:1600px;margin:auto;padding:0 38px;display:flex;align-items:center;gap:40px}
.approved-logo{width:285px;min-width:245px}
.approved-logo img{width:100%;height:auto}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:33px}
.primary-nav>a,.nav-trigger{font-family:Impact,'Arial Narrow',sans-serif;color:#eee;font-size:17px;letter-spacing:.5px;background:none;border:0;padding:38px 0;cursor:pointer}
.primary-nav a:hover,.nav-trigger:hover{color:var(--orange)}
.nav-item{position:relative}
.dropdown{position:absolute;left:-18px;top:82px;min-width:245px;background:#0b0b0b;border:1px solid #77350f;box-shadow:0 16px 35px #000d;padding:9px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:11px 13px;border-bottom:1px solid #282828;font-size:14px;color:#ddd}
.dropdown a:last-child{border:0}
.dropdown a:hover{background:#1a1a1a;color:var(--orange)}
.emergency-phone{display:flex;align-items:center;gap:12px;padding-left:26px;border-left:1px solid #303030;min-width:310px}
.phone-icon{font-family:FontAwesome;font-size:33px;color:#fff}
.phone-copy{display:flex;flex-direction:column}
.phone-copy small,.phone-copy em{font-family:Impact,'Arial Narrow',sans-serif;font-style:normal;letter-spacing:.7px}
.phone-copy small{font-size:12px}
.phone-copy strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:33px;color:var(--orange);line-height:1.03}
.phone-copy em{font-size:10px;color:#ccc}
.mobile-menu-button{display:none;background:none;border:0;color:#fff;font-size:28px}
.social-row{height:48px;border-top:1px solid #191919;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 max(40px,calc((100vw - 1500px)/2));background:#070707}
.social-row>span{font-family:Impact,'Arial Narrow',sans-serif;font-size:14px;letter-spacing:.8px}
.social-icons{display:flex;gap:10px}
.social-icons a{width:33px;height:33px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;color:#fff;background:#101010;font-size:14px}
.social-icons a:hover{border-color:var(--orange);color:var(--orange)}
.brand-x,.brand-tiktok{font-family:Arial,Helvetica,sans-serif;font-weight:900}
.hero{min-height:695px;background:url('truck-hero.jpg') center 48%/cover no-repeat;position:relative;overflow:hidden;border-bottom:1px solid #6e3211}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000e 0%,#0009 28%,#0001 63%,#0008 100%),linear-gradient(0deg,#000a,transparent 36%)}
.hero-content{max-width:1600px;min-height:695px;margin:auto;position:relative;padding:50px 48px 30px}
.hero-copy{width:540px;position:relative;z-index:5}
.hero h1{margin:0;font-family:Impact,'Arial Narrow',sans-serif;font-size:105px;line-height:.84;letter-spacing:-1px;text-shadow:4px 5px 0 #000,0 0 18px #000}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 span{color:#eee}.hero h1 strong{color:var(--orange)}
.green-brush{display:inline-block;margin:15px 0 23px;background:linear-gradient(90deg,#68751c,#9ba52a,#707d20);padding:8px 20px 5px;font-family:Impact,'Arial Narrow',sans-serif;font-size:27px;letter-spacing:.8px;transform:skew(-4deg);box-shadow:10px 0 #6f7d20,-10px 0 #6f7d20}
.hero-copy p{font-size:18px;line-height:1.35;margin:0 0 22px;text-shadow:2px 2px 4px #000}
.hero-copy p em{font-style:normal;color:var(--orange)}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}
.button{padding:14px 23px;border-radius:3px;font-family:Impact,'Arial Narrow',sans-serif;font-size:17px;letter-spacing:.5px;border:1px solid #aaa;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.button.orange{background:linear-gradient(#fb7015,#cf4100);border-color:#ff8f46}
.button.black{background:linear-gradient(#202020,#060606)}
.button:hover{filter:brightness(1.13);transform:translateY(-2px)}
.mascot{position:absolute;width:430px;right:315px;bottom:0;z-index:3;filter:drop-shadow(12px 18px 10px #000c)}
.booking-phone{position:absolute;width:330px;right:30px;bottom:-80px;z-index:4;filter:drop-shadow(15px 20px 18px #000);transform:rotate(1.8deg)}
.service-menu{background:#030303;padding:0 18px;position:relative;z-index:8}
.service-menu img{width:100%;max-width:1600px;margin:-34px auto 0;max-height:210px;object-fit:contain}
.homepage-cards{max-width:1555px;margin:0 auto;padding:12px 18px 15px;display:grid;grid-template-columns:1.02fr .9fr 1fr 1.18fr;gap:10px}
.home-card{background:linear-gradient(145deg,#191919,#090909);border:1px solid #75401e;padding:18px;min-height:300px;box-shadow:inset 0 0 28px #000;position:relative;overflow:hidden}
.home-card h2{font-family:Impact,'Arial Narrow',sans-serif;margin:0 0 12px;font-size:24px;line-height:1.05}
.home-card h2 span{color:var(--orange)}
.home-card p,.home-card blockquote,.home-card li{color:#d0d0d0;font-size:14px;line-height:1.38}
.home-card>a{position:absolute;left:18px;bottom:16px;background:linear-gradient(#ef6911,#ca4100);border:1px solid #ff8b43;padding:9px 14px;font-family:Impact,'Arial Narrow',sans-serif;font-size:13px}
.family-card img{height:150px;width:100%;object-fit:cover;border:7px solid #d8c7a4;margin-bottom:7px}
.reviews-card{text-align:center}.stars{color:var(--orange);letter-spacing:4px;font-size:25px}.reviews-card blockquote{margin:18px 4px}
.finance-seal{width:95px;height:95px;border-radius:50%;border:9px double #8d9b30;display:grid;place-items:center;font:52px Georgia,serif;margin:10px auto;background:#1c2212}
.financing-card ul,.areas-card ul{list-style:none;padding:0;margin:7px 0}
.financing-card li:before,.areas-card li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:8px}
.county-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.areas-card li{margin:8px 0;font-family:Impact,'Arial Narrow',sans-serif;font-size:14px;color:#eee}
.booking-band{max-width:1555px;margin:0 auto 16px;border:1px solid #74401e;background:linear-gradient(90deg,#131313,#080808);min-height:132px;display:grid;grid-template-columns:270px 1fr 45px 1fr 45px 1fr 290px;align-items:center;gap:15px;padding:0 20px}
.booking-title{display:flex;flex-direction:column}.booking-title strong{font:44px/1 Impact,'Arial Narrow',sans-serif}.booking-title span{font:28px/1 Impact,'Arial Narrow',sans-serif;color:#9daa32}
.booking-step{display:flex;gap:13px;align-items:center}.booking-step>b{width:58px;height:58px;border-radius:50%;border:4px solid #bbb;display:grid;place-items:center;font:28px Impact,'Arial Narrow',sans-serif}.booking-step div{display:flex;flex-direction:column}.booking-step strong{font:17px Impact,'Arial Narrow',sans-serif}.booking-step span{color:#ccc;font-size:13px}
.booking-arrow{font-size:30px;color:#bbb}
.booking-cta{height:100%;margin-right:-20px;background:linear-gradient(145deg,#ef6512,#bd3500);display:flex;flex-direction:column;align-items:center;justify-content:center;font:31px Impact,'Arial Narrow',sans-serif;text-align:center}.booking-cta small{font-size:13px}
.short-reviews{max-width:1555px;margin:0 auto 18px;padding:28px 35px;border:1px solid #74401e;background:#101010;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:30px}.short-reviews h2{font:32px Impact,'Arial Narrow',sans-serif;margin:4px 0}.short-reviews p{color:#ccc}
footer{border-top:3px solid var(--orange);background:#030303;padding:45px 35px 86px}.footer-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr .9fr 1fr;gap:45px}.footer-logo{width:280px}.footer-grid h3{font:20px Impact,'Arial Narrow',sans-serif;color:var(--orange)}.footer-grid>div>a{display:block;color:#bbb;margin:7px 0;font-size:14px}.footer-grid p{color:#aaa}.footer-social{display:flex;flex-wrap:wrap;gap:13px}.footer-social a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;box-shadow:0 0 0 2px #ffffff2b}.fb{background:#1877f2}.yt{background:#ff0000}.ig{background:linear-gradient(135deg,#feda75,#d62976,#4f5bd5)}.x{background:#111}.tt{background:#111;text-shadow:2px 0 #25f4ee,-2px 0 #fe2c55}.pin{background:#bd081c}.disclosure{max-width:1500px;margin:34px auto 0;border-top:1px solid #222;padding-top:18px;color:#777;font-size:11px}
.mobile-callbar{display:none}




.nav-item.open .dropdown{opacity:1;visibility:visible;transform:none}


/* Full-width responsive service menu */
.service-menu{
  width:100%;
  max-width:1600px;
  margin:-28px auto 0;
  padding:0 18px 10px;
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  background:transparent;
}
.service-item{
  display:block;
  min-width:0;
  transition:transform .18s ease, filter .18s ease;
}
.service-item img{
  width:100%;
  height:auto;
  display:block;
}
.service-item:hover{
  transform:translateY(-4px);
  filter:brightness(1.08);
}






/* Official Avalanche logo */
.approved-logo{
  width:300px;
  min-width:260px;
  display:flex;
  align-items:center;
}
.approved-logo img{
  width:100%;
  height:auto;
  max-height:104px;
  object-fit:contain;
}
.footer-logo{
  width:300px;
  height:auto;
}

/* Desktop: service bar fills the content width and remains one row */
@media(min-width:981px){
  .service-menu{
    width:min(100%,1600px);
    grid-template-columns:repeat(6,minmax(0,1fr));
    padding-left:18px;
    padding-right:18px;
  }
  .service-item img{
    width:100%;
    height:auto;
  }
}

/* Tablet: 3 across for a balanced, readable layout */


/* Phone: 2 across; each panel stays large enough to read and tap */


/* Very narrow phones: one full-width service panel per row */



/* Requested spacing and stability updates */
.logo-block{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.logo-tagline{
  margin-top:4px;
  font-family:Impact,'Arial Narrow',sans-serif;
  color:#f15b08;
  font-size:14px;
  letter-spacing:1.8px;
  line-height:1;
  text-align:center;
}
.footer-logo-block{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
}
.footer-tagline{
  font-size:15px;
  margin-top:7px;
}

.phone-copy small{
  font-size:15px !important;
  line-height:1.05;
}
.phone-copy .big-247{
  font-size:26px;
  color:#fff;
  margin-right:4px;
}
.phone-copy em{
  font-size:14px !important;
  margin-top:5px;
  letter-spacing:.9px;
}

.service-item,
.service-item:hover,
.button,
.button:hover{
  transform:none !important;
}
.service-item:hover{
  filter:brightness(1.07);
}

/* More breathing room between homepage sections */
.hero{
  margin-bottom:28px;
}
.service-menu{
  margin-top:0 !important;
  margin-bottom:36px !important;
}
.homepage-cards{
  padding-top:24px !important;
  padding-bottom:38px !important;
  gap:18px !important;
}
.booking-band{
  margin-top:14px !important;
  margin-bottom:38px !important;
}
.short-reviews{
  margin-top:8px !important;
  margin-bottom:44px !important;
}
footer{
  margin-top:20px;
}

/* Slightly more inner spacing inside cards */
.home-card{
  padding:23px !important;
}
.home-card h2{
  margin-bottom:16px !important;
}




/* Larger header logo and more phone visibility */
.header-main{
  gap:32px !important;
}
.approved-logo{
  width:360px !important;
  min-width:320px !important;
}
.approved-logo img{
  max-height:118px !important;
}
.logo-tagline{
  margin-top:6px !important;
  font-size:16px !important;
}

/* Move the service bar lower so more of the phone is visible above it */
.service-menu{
  margin-top:22px !important;
  margin-bottom:42px !important;
}
.booking-phone{
  right:28px !important;
  bottom:-44px !important;
  width:345px !important;
}
.hero{
  margin-bottom:8px !important;
}

/* Areas card map */
.areas-card{
  display:flex;
  flex-direction:column;
}
.areas-map-image{
  width:100%;
  margin:14px 0 56px;
  border:1px solid #7a401d;
  border-radius:10px;
  box-shadow:inset 0 0 20px #000;
}

/* Keep the service bar stable */
.service-item,
.service-item:hover,
.button,
.button:hover{
  transform:none !important;
}








/* Final approved service-area map on homepage */
.areas-map-image{
  width:100%;
  height:245px;
  object-fit:contain;
  object-position:center;
  padding:5px;
  margin:12px 0 54px;
  background:#090909;
  border:1px solid #78401d;
  border-radius:8px;
}





/* Final header logo update */
.header-main{
  min-height:138px !important;
  height:138px !important;
  padding-left:24px !important;
  padding-right:34px !important;
  align-items:center !important;
}

.approved-logo.logo-block{
  width:425px !important;
  min-width:385px !important;
  max-width:425px !important;
  align-items:flex-start !important;
  justify-content:center !important;
  margin-left:0 !important;
}

.approved-logo.logo-block img{
  width:100% !important;
  max-height:128px !important;
  object-fit:contain !important;
  object-position:left center !important;
}








/* Header logo treatment with framed green trust line */
.header-main{
  min-height:126px !important;
  height:126px !important;
  gap:28px !important;
  align-items:center !important;
}

.approved-logo.logo-block{
  width:345px !important;
  min-width:320px !important;
  max-width:345px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:8px !important;
}

.approved-logo.logo-block img{
  width:100% !important;
  max-height:98px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.header-trust-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 12px 5px;
  background:linear-gradient(180deg,#8ea330,#6f8124);
  color:#fff;
  border:1px solid #bfc78e;
  box-shadow:0 0 0 1px #4a5317 inset;
  border-radius:4px;
  font-family:Impact,'Arial Narrow',sans-serif;
  font-size:12px;
  letter-spacing:.9px;
  line-height:1;
  white-space:nowrap;
  text-align:center;
}










/* Clearer typography for the header badge and four homepage feature boxes */
.header-trust-badge{
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:14px !important;
  letter-spacing:.45px !important;
  line-height:1.15 !important;
  padding:8px 14px 7px !important;
  min-height:34px !important;
  text-shadow:0 1px 1px #0008;
}

/* Main headings inside the four homepage cards */
.home-card h2{
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-.3px !important;
  margin-bottom:17px !important;
  color:#fff !important;
  text-shadow:0 2px 2px #000;
}

.home-card h2 span{
  color:var(--orange) !important;
}

/* Make supporting text easier to read */
.home-card p,
.home-card blockquote,
.home-card li{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

.home-card>a{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}

/* Specific spacing so the headings do not feel cramped */
.family-card h2,
.reviews-card h2,
.financing-card h2,
.areas-card h2{
  min-height:64px;
  display:flex;
  align-items:flex-start;
}

/* Reviews heading and quote clarity */
.reviews-card blockquote{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

/* County names clearer */
.areas-card li{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

/* Financing bullets clearer */
.financing-card li{
  font-size:15px !important;
  font-weight:700 !important;
  margin:7px 0 !important;
}






/* Real Google review styling */
.reviews-card{
  text-align:left !important;
}
.reviews-card .stars{
  text-align:left;
  margin:4px 0 10px;
}
.reviews-card blockquote{
  margin:8px 0 12px !important;
  padding:0 !important;
  quotes:none;
  color:#f0f0f0 !important;
}
.reviewer-name{
  font-weight:900;
  font-size:15px;
  color:#fff;
  margin-top:8px;
}
.review-source{
  font-size:12px;
  color:#aaa;
  text-transform:uppercase;
  letter-spacing:.7px;
  margin-top:2px;
}


/* Removed lower NEPA trust strip; keep footer spacing clean */
footer{
  margin-top:34px !important;
}


/* Homepage rotating review carousel */
.review-carousel-card{
  text-align:left !important;
  padding-bottom:62px !important;
}
.review-carousel{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  min-height:230px;
}
.review-slides{
  position:relative;
  min-height:220px;
}
.review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  transition:opacity .35s ease, transform .35s ease;
}
.review-slide.active{
  position:relative;
  opacity:1;
  visibility:visible;
  transform:none;
}
.review-slide .stars{
  text-align:left;
  margin:0 0 10px;
}
.review-slide blockquote{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#f0f0f0 !important;
  font-size:15px !important;
  line-height:1.48 !important;
  font-weight:600 !important;
}
.review-nav{
  width:32px;
  height:52px;
  border:1px solid #5d5d5d;
  background:#090909;
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
}
.review-nav:hover{
  border-color:var(--orange);
  color:var(--orange);
}
.review-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:8px 0 0;
}
.review-dots button{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  padding:0;
  background:#666;
  cursor:pointer;
}
.review-dots button.active{
  background:var(--orange);
}
.review-carousel-card>a{
  left:23px !important;
  bottom:18px !important;
}





/* Featured Synchrony financing homepage panel */
.financing-featured{
  border:2px solid #d9aa24 !important;
  background:
    radial-gradient(circle at 78% 20%,rgba(216,170,36,.17),transparent 35%),
    linear-gradient(145deg,#22232d,#0a0a0d 68%) !important;
  box-shadow:
    inset 0 0 34px #000,
    0 0 18px rgba(217,170,36,.18) !important;
  padding:24px 22px 20px !important;
  min-height:390px !important;
}

.financing-ribbon{
  display:inline-block;
  margin:-3px 0 13px;
  padding:7px 13px 6px;
  border-radius:3px;
  background:linear-gradient(#f8ca3b,#d99c0a);
  color:#20212a;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.8px;
  box-shadow:0 3px 10px #0008;
}

.financing-featured h2{
  min-height:auto !important;
  margin:0 0 13px !important;
  font-size:27px !important;
  line-height:1.08 !important;
}
.financing-featured h2 span{
  color:#f4bd22 !important;
}

.synchrony-logo-wrap{
  width:100%;
  height:86px;
  margin:2px 0 12px;
  border:1px solid #d5a51f;
  border-radius:6px;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.synchrony-logo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 15%;
}

.financing-intro{
  margin:0 0 15px !important;
  color:#f0f0f0 !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.financing-buttons{
  display:grid;
  gap:8px;
  margin-top:auto;
}
.financing-featured .financing-buttons a{
  position:static !important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:40px;
  padding:10px 12px;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  text-align:center;
  border-radius:4px;
}
.finance-primary{
  background:linear-gradient(#f9cb3d,#d99c0a) !important;
  border:1px solid #ffe57b !important;
  color:#20212a !important;
}
.finance-secondary{
  background:#11131a !important;
  border:1px solid #8d8f98 !important;
  color:#fff !important;
}
.finance-note{
  display:block;
  margin-top:9px;
  color:#9f9f9f;
  font-size:10px;
  line-height:1.25;
  text-align:center;
}





/* Make the Synchrony image fill the entire financing frame */
.synchrony-logo-wrap{
  width:100% !important;
  height:118px !important;
  padding:0 !important;
  margin:4px 0 14px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.synchrony-logo{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}








/* Financing panel matched to Avalanche black, orange, green, and white theme */
.financing-featured{
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 80% 20%,rgba(145,164,43,.22),transparent 38%),
    linear-gradient(145deg,#191919,#070707 70%) !important;
  box-shadow:
    inset 0 0 34px #000,
    0 0 20px rgba(241,91,8,.22) !important;
}

.financing-ribbon{
  background:linear-gradient(#a0b535,#738723) !important;
  color:#fff !important;
  border:1px solid #cbd792 !important;
  box-shadow:
    inset 0 0 0 1px #4e5b18,
    0 4px 12px #0008 !important;
  text-shadow:0 1px 2px #0008;
}

.financing-featured h2{
  color:#fff !important;
}
.financing-featured h2 span{
  color:var(--orange) !important;
}

.synchrony-logo-wrap{
  border:2px solid var(--orange) !important;
  background:#0b0b0b !important;
  box-shadow:inset 0 0 18px #000 !important;
}

.synchrony-logo{
  filter:saturate(.85) contrast(1.05) brightness(.95);
}

.finance-primary{
  background:linear-gradient(#fa7217,#cf4200) !important;
  border:1px solid #ff9a55 !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,66,0,.28) !important;
}

.finance-secondary{
  background:linear-gradient(#879a2a,#65751f) !important;
  border:1px solid #bbc77c !important;
  color:#fff !important;
}

.finance-note{
  color:#bdbdbd !important;
}

.financing-featured .financing-buttons a:hover{
  filter:brightness(1.1);
}


/* Family card layout refinement requested by user */
.family-card{
  text-align:center !important;
}
.family-heading-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin:0 0 14px;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.08 !important;
  letter-spacing:-.3px !important;
  text-shadow:0 2px 2px #000;
}
.family-card img{
  margin:0 auto 12px !important;
}
.family-results-line{
  margin:2px 0 12px;
  color:var(--orange);
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.08 !important;
  letter-spacing:-.3px !important;
  text-shadow:0 2px 2px #000;
}
.family-card p{
  text-align:center !important;
  margin:0 auto 16px !important;
  max-width:90%;
}
.family-card a{
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:18px !important;
  white-space:nowrap;
}
.family-card a:hover{
  transform:translateX(-50%) !important;
}





/* Center the family-card content in the box and make the main text larger */
.family-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding-top:26px !important;
  padding-bottom:82px !important; /* leave room for bottom button */
}

.family-heading-top{
  width:100%;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin:0 0 16px !important;
  font-size:33px !important;
  line-height:1.06 !important;
}

.family-card img{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 14px !important;
}

.family-results-line{
  width:100%;
  text-align:center !important;
  margin:2px 0 14px !important;
  font-size:33px !important;
  line-height:1.06 !important;
}

.family-card p{
  max-width:92% !important;
  margin:0 auto 18px !important;
  text-align:center !important;
}

.family-card a{
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:20px !important;
}

.family-card a:hover{
  transform:translateX(-50%) !important;
}






/* Expanded family and employee message */
.family-card p{
  max-width:94% !important;
  font-size:15px !important;
  line-height:1.52 !important;
  font-weight:600 !important;
  color:#e1e1e1 !important;
}


/* Replace 4-box review card with an emergency service card */
.emergency-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:300px;
}
.emergency-mini-badge{
  display:inline-block;
  margin:0 0 12px;
  padding:7px 12px 6px;
  background:linear-gradient(#9eb434,#748621);
  color:#fff;
  border:1px solid #c4d08e;
  border-radius:4px;
  box-shadow:inset 0 0 0 1px #4f5d18;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:13px;
  letter-spacing:.4px;
}
.emergency-card h2{
  margin:0 0 14px !important;
}
.emergency-card h2 span{
  color:var(--orange) !important;
}
.emergency-points{
  list-style:none;
  padding:0;
  margin:6px 0 0;
}
.emergency-points li{
  margin:8px 0;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  color:#eee;
}
.emergency-points li:before{
  content:"✓";
  color:var(--orange);
  font-weight:900;
  margin-right:8px;
}

/* Full-width homepage review carousel section */
.homepage-review-section{
  max-width:1555px;
  margin:0 auto 36px;
  padding:0 18px;
}
.homepage-review-inner{
  border:1px solid #74401e;
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
  padding:30px 28px 28px;
}
.review-section-head{
  text-align:center;
  margin-bottom:20px;
}
.review-kicker{
  color:var(--orange);
  letter-spacing:5px;
  font-size:24px;
  margin-bottom:6px;
}
.review-section-head h2{
  margin:0 0 8px;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:34px;
  line-height:1.08;
}
.review-section-head p{
  margin:0;
  color:#d2d2d2;
  font-size:15px;
}

.homepage-review-carousel{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:16px;
  align-items:center;
}
.homepage-review-carousel .review-slides{
  position:relative;
  min-height:235px;
}
.homepage-review-carousel .review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  transition:opacity .35s ease, transform .35s ease;
  text-align:center;
}
.homepage-review-carousel .review-slide.active{
  position:relative;
  opacity:1;
  visibility:visible;
  transform:none;
}
.homepage-review-carousel .review-slide .stars{
  text-align:center;
  margin:0 0 10px;
}
.homepage-review-carousel .review-slide blockquote{
  margin:0 auto 14px !important;
  max-width:980px;
  color:#f0f0f0 !important;
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
  padding:0 !important;
}
.homepage-review-carousel .reviewer-name{
  font-size:17px;
  text-align:center;
}
.homepage-review-carousel .review-source{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#aaa;
  text-align:center;
}
.homepage-review-section .review-dots{
  display:flex;
  justify-content:center;
  gap:9px;
  margin:14px 0 18px;
}
.homepage-review-section .review-dots button{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  padding:0;
  background:#666;
  cursor:pointer;
}
.homepage-review-section .review-dots button.active{
  background:var(--orange);
}
.review-section-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.review-section-actions .button{
  min-width:210px;
}
.review-nav{
  width:40px;
  height:58px;
  border:1px solid #5c5c5c;
  background:#090909;
  color:#fff;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
}
.review-nav:hover{
  border-color:var(--orange);
  color:var(--orange);
}






/* Mailing-list monthly giveaway section */
.mailing-giveaway{
  max-width:1555px;
  margin:0 auto 36px;
  padding:0 18px;
}
.mailing-giveaway-inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:34px;
  align-items:center;
  padding:30px 34px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 10% 20%,rgba(145,164,43,.22),transparent 35%),
    linear-gradient(145deg,#171717,#070707 70%);
  box-shadow:inset 0 0 30px #000,0 8px 24px #0008;
}
.mailing-badge{
  display:inline-block;
  padding:7px 13px 6px;
  margin-bottom:12px;
  border:1px solid #c6d190;
  border-radius:4px;
  background:linear-gradient(#9fb536,#728522);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.7px;
}
.mailing-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  font-weight:900;
  line-height:1.08;
}
.mailing-copy p{
  margin:0;
  max-width:620px;
  color:#d8d8d8;
  font-size:16px;
  line-height:1.5;
}
.mailing-form{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.mailing-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mailing-form label>span{
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
}
.mailing-form input[type="text"],
.mailing-form input[type="email"]{
  height:46px;
  padding:0 13px;
  border:1px solid #6f6f6f;
  border-radius:4px;
  background:#0a0a0a;
  color:#fff;
  font-size:15px;
  outline:none;
}
.mailing-form input:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 2px rgba(241,91,8,.18);
}
.mailing-form button{
  height:46px;
  padding:0 18px;
  border:1px solid #ff9a55;
  border-radius:4px;
  background:linear-gradient(#fa7217,#cf4200);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.mailing-form button:hover{
  filter:brightness(1.1);
}
.mailing-consent{
  grid-column:1/-1;
  display:grid !important;
  grid-template-columns:18px 1fr;
  gap:8px !important;
  align-items:start;
  color:#cfcfcf;
}
.mailing-consent input{
  margin-top:2px;
}
.mailing-consent span{
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  line-height:1.4;
}
.mailing-form small{
  grid-column:1/-1;
  color:#909090;
  font-size:10px;
  line-height:1.35;
}
.mailing-form small a{
  color:#c8d47d;
  text-decoration:underline;
}





/* Make the mailing-list giveaway box smaller and more compact */
.mailing-giveaway{
  max-width:1180px !important;
  margin:0 auto 30px !important;
  padding:0 18px !important;
}
.mailing-giveaway-inner{
  max-width:1180px !important;
  margin:0 auto !important;
  grid-template-columns:.95fr 1.05fr !important;
  gap:24px !important;
  padding:22px 24px !important;
}
.mailing-copy h2{
  font-size:29px !important;
}
.mailing-copy p{
  font-size:15px !important;
  max-width:500px !important;
}
.mailing-form{
  gap:10px !important;
}
.mailing-form input[type="text"],
.mailing-form input[type="email"],
.mailing-form button{
  height:42px !important;
}
.mailing-form button{
  padding:0 16px !important;
  font-size:12px !important;
}





/* Reviews + mailing list side-by-side row under the 4 boxes */
.reviews-mailing-row{
  max-width:1555px;
  margin:0 auto 32px;
  padding:0 18px;
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
  align-items:stretch;
}

.reviews-mailing-row .homepage-review-section,
.reviews-mailing-row .mailing-giveaway{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  height:100%;
}

.reviews-mailing-row .homepage-review-inner{
  border:1px solid #74401e;
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
  padding:26px 24px 22px;
}

.reviews-mailing-row .mailing-giveaway-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 22px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 10% 20%,rgba(145,164,43,.22),transparent 35%),
    linear-gradient(145deg,#171717,#070707 70%);
  box-shadow:inset 0 0 30px #000,0 8px 24px #0008;
}

.reviews-mailing-row .review-section-head{
  margin-bottom:16px;
}
.reviews-mailing-row .review-section-head h2{
  font-size:30px;
}
.reviews-mailing-row .homepage-review-carousel{
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:12px;
}
.reviews-mailing-row .homepage-review-carousel .review-slides{
  min-height:260px;
}
.reviews-mailing-row .homepage-review-carousel .review-slide blockquote{
  max-width:100%;
  font-size:16px !important;
  line-height:1.55 !important;
}
.reviews-mailing-row .review-section-actions{
  margin-top:10px;
}
.reviews-mailing-row .review-section-actions .button{
  min-width:220px;
}

.reviews-mailing-row .mailing-copy h2{
  font-size:30px !important;
}
.reviews-mailing-row .mailing-copy p{
  font-size:15px !important;
  max-width:none !important;
}
.reviews-mailing-row .mailing-form{
  grid-template-columns:1fr;
  gap:10px !important;
  margin-top:16px;
}
.reviews-mailing-row .mailing-form input[type="text"],
.reviews-mailing-row .mailing-form input[type="email"],
.reviews-mailing-row .mailing-form button{
  height:44px !important;
}
.reviews-mailing-row .mailing-form button{
  margin-top:2px;
}
.reviews-mailing-row .mailing-consent,
.reviews-mailing-row .mailing-form small{
  grid-column:1;
}





/* OPTION ONE — full-box septic financing redesign */
.financing-option-one{
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:space-between !important;
  min-height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  text-align:center !important;
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 50% 24%,rgba(145,164,43,.18),transparent 34%),
    linear-gradient(150deg,#1e1e1e 0%,#090909 62%,#020202 100%) !important;
  box-shadow:
    inset 0 0 44px rgba(0,0,0,.92),
    0 0 22px rgba(241,91,8,.22) !important;
}

.financing-option-one:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.2;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent 0,
      transparent 16px,
      rgba(255,255,255,.035) 17px,
      rgba(255,255,255,.035) 18px
    );
}

.financing-topline{
  position:relative;
  z-index:1;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
  text-shadow:0 1px 2px #0008;
}

.financing-message{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:16px 18px 13px;
}

.financing-icon{
  position:relative;
  width:68px;
  height:68px;
  margin:0 auto 10px;
  border:2px solid #9aad38;
  border-radius:50%;
  background:linear-gradient(145deg,#252b12,#0b0d06);
  box-shadow:
    inset 0 0 16px #000,
    0 0 14px rgba(145,164,43,.2);
}

.financing-dollar{
  position:absolute;
  left:17px;
  top:8px;
  color:var(--orange);
  font-family:Arial,Helvetica,sans-serif;
  font-size:38px;
  font-weight:900;
  line-height:1;
}

.financing-roof{
  position:absolute;
  right:8px;
  bottom:7px;
  color:#fff;
  font-size:27px;
  font-weight:900;
  line-height:1;
}

.financing-option-one h2{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  min-height:0 !important;
  margin:0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  line-height:.98 !important;
  letter-spacing:-1.1px !important;
  text-align:center !important;
  text-shadow:0 3px 3px #000;
}

.finance-line-white{
  display:block;
  color:#fff !important;
  font-size:28px;
}

.finance-line-orange{
  display:block;
  margin-top:2px;
  color:var(--orange) !important;
  font-size:34px;
}

.finance-divider{
  width:72%;
  height:2px;
  margin:13px auto 11px;
  background:linear-gradient(90deg,transparent,#96aa35 18%,#96aa35 82%,transparent);
}

.financing-option-one h3{
  margin:0 0 10px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:25px;
  font-weight:900;
  line-height:1.03;
  letter-spacing:-.4px;
  text-align:center;
}

.financing-option-one p{
  max-width:94%;
  margin:0 auto !important;
  color:#dedede !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  text-align:center !important;
}

.finance-main-cta{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  z-index:1;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:calc(100% - 34px) !important;
  min-height:48px;
  margin:0 17px 11px !important;
  padding:11px 14px !important;
  transform:none !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,65,0,.3);
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  text-decoration:none;
}

.finance-main-cta:hover{
  transform:none !important;
  filter:brightness(1.1);
}

.finance-main-cta b{
  font-size:22px;
  line-height:1;
}

.finance-provider{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 10px 7px;
  color:#b9b9b9;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.7px;
}

.finance-provider strong{
  color:#fff;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.3px;
}

.financing-option-one .finance-note{
  position:relative;
  z-index:1;
  display:block;
  margin:0 0 11px;
  padding:0 10px;
  color:#888 !important;
  font-size:9px;
  line-height:1.2;
  text-align:center;
}








/* Financing box refinement: question above icon, larger icon, fuller layout */
.financing-option-one{
  min-height:430px !important;
}

.financing-message{
  padding:14px 18px 10px !important;
  gap:0 !important;
}

.financing-main-question{
  margin:0 0 12px !important;
}

.finance-line-white{
  font-size:31px !important;
}

.finance-line-orange{
  font-size:40px !important;
  margin-top:3px !important;
}

.financing-icon{
  width:106px !important;
  height:106px !important;
  margin:2px auto 14px !important;
  border-width:3px !important;
}

.financing-dollar{
  left:27px !important;
  top:12px !important;
  font-size:58px !important;
}

.financing-roof{
  right:14px !important;
  bottom:11px !important;
  font-size:33px !important;
}

.finance-divider{
  width:80% !important;
  margin:14px auto 13px !important;
}

.financing-option-one h3{
  font-size:27px !important;
  margin:0 0 12px !important;
}

.financing-option-one p{
  max-width:96% !important;
  font-size:15px !important;
  line-height:1.48 !important;
  margin:0 auto 6px !important;
}

.finance-main-cta{
  min-height:52px !important;
  margin:4px 17px 11px !important;
}

.finance-provider{
  padding-bottom:8px !important;
}






/* Center the financing box content more cleanly */
.financing-option-one{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

.financing-message{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  padding:18px 22px 12px !important;
}

.financing-main-question,
.financing-option-one h3,
.financing-option-one p{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.financing-main-question{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 14px !important;
}

.finance-line-white,
.finance-line-orange{
  width:100% !important;
  text-align:center !important;
}

.financing-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:4px auto 16px !important;
}

.finance-divider{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.financing-option-one h3{
  margin:0 0 12px !important;
}

.financing-option-one p{
  max-width:88% !important;
  margin:0 auto 10px !important;
}

.finance-main-cta{
  width:calc(100% - 36px) !important;
  margin:8px auto 12px !important;
}

.finance-provider,
.financing-option-one .finance-note{
  width:100% !important;
  text-align:center !important;
  justify-content:center !important;
}




/* Final alignment pass — center and balance all six homepage information boxes */

/* Four upper cards */
.home-cards,
.home-card-grid,
.cards-grid,
.homepage-cards{
  align-items:stretch !important;
}

.home-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.home-card > *{
  max-width:100%;
}

.home-card h2,
.home-card h3,
.home-card p,
.home-card ul,
.home-card .family-heading-top,
.home-card .family-results-line{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.home-card img{
  display:block;
  margin-left:auto !important;
  margin-right:auto !important;
}

.home-card ul{
  padding-left:0 !important;
}

.home-card li{
  text-align:center !important;
}

/* Family card */
.family-card{
  justify-content:center !important;
}
.family-heading-top,
.family-results-line{
  align-items:center !important;
  justify-content:center !important;
}
.family-card p{
  max-width:92% !important;
}

/* Emergency card */
.emergency-card{
  justify-content:center !important;
  padding-left:22px !important;
  padding-right:22px !important;
}
.emergency-mini-badge{
  margin-left:auto !important;
  margin-right:auto !important;
}
.emergency-points{
  width:auto !important;
  display:inline-block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.emergency-points li{
  text-align:left !important;
}

/* Financing card */
.financing-option-one{
  align-items:center !important;
  justify-content:space-between !important;
}
.financing-topline{
  text-align:center !important;
}
.financing-message{
  flex:1 !important;
  align-items:center !important;
  justify-content:center !important;
}
.financing-main-question,
.finance-line-white,
.finance-line-orange,
.financing-option-one h3,
.financing-option-one p{
  text-align:center !important;
}
.financing-icon,
.finance-divider,
.finance-main-cta{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Service-area card */
.service-area-card,
.service-areas-card{
  justify-content:center !important;
}
.service-area-card img,
.service-areas-card img{
  margin-left:auto !important;
  margin-right:auto !important;
}
.service-area-card p,
.service-areas-card p{
  max-width:92% !important;
}

/* Lower review and mailing-list boxes */
.reviews-mailing-row{
  align-items:stretch !important;
}

.reviews-mailing-row > *{
  display:flex !important;
  height:100% !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.review-section-head,
.review-section-head h2,
.review-section-head p,
.homepage-review-carousel,
.review-slide,
.review-slide blockquote,
.reviewer-name,
.review-source{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.review-section-actions{
  width:100%;
  justify-content:center !important;
}

.mailing-copy,
.mailing-copy h2,
.mailing-copy p{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mailing-badge{
  margin-left:auto !important;
  margin-right:auto !important;
}

.reviews-mailing-row .mailing-form{
  width:100% !important;
  max-width:460px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.reviews-mailing-row .mailing-form label > span{
  text-align:left !important;
}

.reviews-mailing-row .mailing-consent span,
.reviews-mailing-row .mailing-form small{
  text-align:left !important;
}

/* Keep all upper cards visually balanced */
@media(min-width:981px){
  .home-card{
    min-height:430px !important;
  }
}




/* Center requested action buttons */
.emergency-card > a,
.service-area-card > a,
.service-areas-card > a{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:210px !important;
  margin:18px auto 0 !important;
  transform:none !important;
  text-align:center !important;
}

.emergency-card > a:hover,
.service-area-card > a:hover,
.service-areas-card > a:hover{
  transform:none !important;
}


/* 24/7 emergency box redesign */
.emergency-card-pop{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(241,91,8,.22), transparent 26%),
    radial-gradient(circle at 50% 72%, rgba(145,164,43,.10), transparent 42%),
    linear-gradient(150deg,#1a1a1a 0%,#090909 62%,#020202 100%) !important;
  box-shadow:
    inset 0 0 38px rgba(0,0,0,.92),
    0 0 24px rgba(241,91,8,.20) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  text-align:center !important;
}

.emergency-card-pop:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent 0,
      transparent 16px,
      rgba(255,255,255,.03) 17px,
      rgba(255,255,255,.03) 18px
    );
}

.emergency-top-ribbon{
  position:relative;
  z-index:1;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.1px;
  text-shadow:0 1px 2px #0008;
  text-align:center;
}

.emergency-body{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  padding:15px 18px 12px;
}

.emergency-icon-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:88px;
  height:88px;
  margin:0 auto 12px;
  border:3px solid #9aad38;
  border-radius:50%;
  background:linear-gradient(145deg,#262c13,#0b0d06);
  box-shadow:
    inset 0 0 16px #000,
    0 0 14px rgba(241,91,8,.22);
}

.emergency-siren{
  color:var(--orange);
  font-size:42px;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 12px rgba(241,91,8,.35);
}

.emergency-card-pop h2{
  width:100%;
  min-height:0 !important;
  margin:0 0 10px !important;
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:center !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.02 !important;
  letter-spacing:-.6px !important;
  text-shadow:0 3px 3px #000;
}

.emergency-card-pop h2 .orange-line{
  color:var(--orange) !important;
}

.emergency-mini-tag{
  display:inline-block;
  margin:2px auto 12px;
  padding:7px 12px 6px;
  border:1px solid #c4d08e;
  border-radius:4px;
  background:linear-gradient(#9eb434,#748621);
  color:#fff;
  box-shadow:inset 0 0 0 1px #4f5d18;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.65px;
}

.emergency-card-pop p{
  width:100%;
  max-width:92%;
  margin:0 auto 13px !important;
  color:#dedede !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  text-align:center !important;
}

.emergency-keywords{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 auto 13px;
}
.emergency-keywords span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #585858;
  border-radius:4px;
  background:#101010;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.5px;
}

.emergency-callout{
  margin:0 auto 8px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:21px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:.2px;
  text-align:center;
}

.emergency-card-pop > a{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  z-index:1;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:calc(100% - 34px) !important;
  min-height:48px;
  margin:0 auto 16px !important;
  padding:11px 14px !important;
  transform:none !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,65,0,.30);
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  text-align:center !important;
}

.emergency-card-pop > a:hover{
  transform:none !important;
  filter:brightness(1.08);
}








/* Match all six boxes with the same top ribbon treatment as financing */
.box-top-ribbon{
  position:relative;
  z-index:2;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.1px;
  text-shadow:0 1px 2px #0008;
  text-align:center;
}

/* Upper four cards */
.family-card,
.emergency-card-pop,
.financing-option-one,
.areas-card{
  padding-top:0 !important;
  overflow:hidden !important;
}

.family-card .family-heading-top,
.family-card img,
.family-card .family-results-line,
.family-card p{
  position:relative;
  z-index:1;
}
.family-card{
  border:2px solid var(--orange) !important;
  box-shadow:inset 0 0 34px #000, 0 0 18px rgba(241,91,8,.16) !important;
}
.family-card img{
  margin-top:4px !important;
}

.areas-card{
  border:2px solid var(--orange) !important;
  box-shadow:inset 0 0 34px #000, 0 0 18px rgba(241,91,8,.16) !important;
}
.areas-card h2{
  margin-top:14px !important;
}
.areas-map-image{
  margin-top:12px !important;
}

/* Lower two boxes */
.homepage-review-inner,
.mailing-giveaway-inner{
  padding-top:0 !important;
  overflow:hidden !important;
  border:2px solid var(--orange) !important;
}

.homepage-review-inner .review-section-head{
  margin-top:16px !important;
}
.mailing-giveaway-inner .mailing-copy{
  margin-top:18px !important;
}
.mailing-giveaway-inner .mailing-form{
  margin-top:14px !important;
}




/* Make the top banners on the upper 4 boxes run the full width of each box */
.family-card,
.emergency-card-pop,
.financing-option-one,
.areas-card{
  padding-left:0 !important;
  padding-right:0 !important;
}

.family-card > .box-top-ribbon,
.emergency-card-pop > .emergency-top-ribbon,
.financing-option-one > .financing-topline,
.areas-card > .box-top-ribbon{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
}

/* Re-add inner spacing so the content still sits nicely inside each box */
.family-card .family-heading-top,
.family-card img,
.family-card .family-results-line,
.family-card p,
.family-card a{
  margin-left:22px !important;
  margin-right:22px !important;
}

.areas-card h2,
.areas-card .county-columns,
.areas-card .areas-map-image,
.areas-card a{
  margin-left:22px !important;
  margin-right:22px !important;
}

.emergency-card-pop .emergency-body,
.financing-option-one .financing-message{
  padding-left:22px !important;
  padding-right:22px !important;
}

.emergency-card-pop > a,
.financing-option-one .finance-main-cta{
  margin-left:auto !important;
  margin-right:auto !important;
}




/* Move FAMILY RUN BUSINESS banner flush to the very top of that box */
.family-card{
  padding-top:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}

.family-card > .box-top-ribbon{
  order:0 !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 12px 9px !important;
  border-radius:0 !important;
}

.family-card .family-heading-top{
  margin-top:18px !important;
}

.family-card img{
  margin-top:0 !important;
}




/* Bottom centered buttons for Family and Service Areas boxes */
.family-card,
.areas-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

.family-bottom-button,
.service-areas-bottom-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 44px) !important;
  min-height:48px !important;
  margin:18px auto 20px !important;
  padding:12px 16px !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px !important;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.3px !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 5px 14px rgba(207,65,0,.28) !important;
}

.family-bottom-button:hover,
.service-areas-bottom-button:hover{
  filter:brightness(1.08);
}

/* Keep family card content balanced above the new button */
.family-card p{
  margin-bottom:4px !important;
}
.family-card .family-bottom-button{
  margin-top:auto !important;
}

/* Keep service area content balanced above the new button */
.areas-card .service-areas-bottom-button{
  margin-top:auto !important;
}

/* Google review logo at the top of the review box */
.google-review-logo-wrap{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px 8px;
}

.google-review-logo{
  display:block;
  width:min(100%, 320px);
  height:auto;
}

/* Make sure mailing giveaway uses the same full orange bar across top */
.mailing-giveaway-inner{
  padding-top:0 !important;
  overflow:hidden !important;
}

.mailing-giveaway-inner > .box-top-ribbon{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
}

.mailing-giveaway-inner .mailing-copy{
  margin-top:16px !important;
}




/* =========================================================
   REVIEW SECTION REDESIGN
   Long, thin full-width review strip on desktop
   Stacked responsive layout on phone
   ========================================================= */

.reviews-mailing-row{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
  align-items:stretch !important;
}

.reviews-mailing-row .homepage-review-section{
  width:100% !important;
  max-width:none !important;
  flex:none !important;
}

.reviews-mailing-row .homepage-review-inner{
  width:100% !important;
  border:2px solid var(--orange) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(145,164,43,.08), transparent 25%),
    linear-gradient(145deg,#171717 0%,#0d0d0d 65%,#060606 100%) !important;
  box-shadow:
    inset 0 0 30px rgba(0,0,0,.92),
    0 0 16px rgba(241,91,8,.14) !important;
  display:grid !important;
  grid-template-columns: 250px minmax(0,1fr) 210px !important;
  grid-template-rows:auto auto auto auto !important;
  align-items:center !important;
  column-gap:18px !important;
  row-gap:0 !important;
  padding:0 18px 18px !important;
}

.reviews-mailing-row .homepage-review-inner > .box-top-ribbon{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  margin:0 -18px 0 !important;
  width:auto !important;
}

.google-review-logo-wrap{
  grid-column:1 !important;
  grid-row:2 / span 3 !important;
  align-self:center !important;
  justify-self:center !important;
  width:100% !important;
  padding:10px 10px 0 !important;
}

.google-review-logo{
  width:100% !important;
  max-width:220px !important;
  height:auto !important;
}

.review-section-head{
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:end !important;
  text-align:left !important;
  width:100% !important;
  padding-top:14px !important;
  margin:0 !important;
}

.review-section-head .review-kicker{
  margin:0 0 5px !important;
  font-size:16px !important;
  letter-spacing:1px !important;
}

.review-section-head h2{
  margin:0 !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  text-align:left !important;
}

.review-section-head p{
  margin:6px 0 0 !important;
  color:#c8c8c8 !important;
  font-size:13px !important;
  text-align:left !important;
}

.homepage-review-carousel{
  grid-column:2 !important;
  grid-row:3 !important;
  width:100% !important;
  min-height:0 !important;
  margin:8px 0 0 !important;
  padding:0 44px !important;
  position:relative !important;
}

.homepage-review-carousel .review-slides{
  width:100% !important;
}

.homepage-review-carousel .review-slide{
  text-align:left !important;
  padding:0 !important;
  min-height:0 !important;
}

.homepage-review-carousel .review-slide .stars{
  margin:0 0 8px !important;
  font-size:15px !important;
  text-align:left !important;
}

.homepage-review-carousel .review-slide blockquote{
  margin:0 !important;
  color:#ededed !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-align:left !important;
  max-width:100% !important;
}

.homepage-review-carousel .reviewer-name{
  margin:8px 0 0 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-align:left !important;
}

.homepage-review-carousel .review-source{
  margin:2px 0 0 !important;
  color:#a9a9a9 !important;
  font-size:12px !important;
  text-align:left !important;
}

.review-nav{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:34px !important;
  height:34px !important;
  font-size:26px !important;
  line-height:1 !important;
}

.review-prev{ left:0 !important; }
.review-next{ right:0 !important; }

.review-dots{
  grid-column:2 !important;
  grid-row:4 !important;
  width:100% !important;
  justify-content:flex-start !important;
  margin:10px 0 0 !important;
}

.review-section-actions{
  grid-column:3 !important;
  grid-row:2 / span 3 !important;
  align-self:center !important;
  justify-self:center !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}

.review-section-actions .button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  text-align:center !important;
}

/* Mailing list sits below and stays clean */
.reviews-mailing-row .mailing-giveaway{
  width:100% !important;
  max-width:840px !important;
  margin:0 auto !important;
}

.reviews-mailing-row .mailing-giveaway-inner{
  border:2px solid var(--orange) !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

/* Tablet */


/* Phone / small tablet */



/* Restore Google Reviews and Monthly Giveaway side by side */
.reviews-mailing-row{
  display:grid !important;
  grid-template-columns:1.35fr .95fr !important;
  gap:18px !important;
  align-items:stretch !important;
}

.reviews-mailing-row .homepage-review-section,
.reviews-mailing-row .mailing-giveaway{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  height:100% !important;
  min-height:100% !important;
}

/* Review box back to compact card layout */
.reviews-mailing-row .homepage-review-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 22px 22px !important;
  border-radius:10px !important;
}

.reviews-mailing-row .homepage-review-inner > .box-top-ribbon{
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
}

.google-review-logo-wrap{
  width:100% !important;
  padding:16px 10px 4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.google-review-logo{
  max-width:250px !important;
}

.review-section-head{
  width:100% !important;
  text-align:center !important;
  padding-top:6px !important;
  margin:0 0 12px !important;
}

.review-section-head .review-kicker,
.review-section-head h2,
.review-section-head p{
  text-align:center !important;
}

.review-section-head h2{
  font-size:28px !important;
}

.homepage-review-carousel{
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 40px !important;
  position:relative !important;
}

.homepage-review-carousel .review-slide,
.homepage-review-carousel .review-slide .stars,
.homepage-review-carousel .review-slide blockquote,
.homepage-review-carousel .reviewer-name,
.homepage-review-carousel .review-source{
  text-align:center !important;
}

.homepage-review-carousel .review-slide blockquote{
  font-size:15px !important;
  line-height:1.5 !important;
}

.review-dots{
  width:100% !important;
  justify-content:center !important;
  margin:12px 0 0 !important;
}

.review-section-actions{
  width:100% !important;
  justify-content:center !important;
  margin-top:14px !important;
}

.review-section-actions .button{
  width:auto !important;
  min-width:220px !important;
}

/* Mailing box compact beside reviews */
.reviews-mailing-row .mailing-giveaway-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 22px 22px !important;
  border-radius:10px !important;
}

.reviews-mailing-row .mailing-giveaway-inner > .box-top-ribbon{
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
}

.reviews-mailing-row .mailing-copy{
  width:100% !important;
  margin-top:18px !important;
  text-align:center !important;
}

.reviews-mailing-row .mailing-copy h2,
.reviews-mailing-row .mailing-copy p{
  text-align:center !important;
}

.reviews-mailing-row .mailing-form{
  width:100% !important;
  max-width:460px !important;
  margin:16px auto 0 !important;
}

/* Stack cleanly on phones */





/* Keep MONTHLY GIVEAWAY banner flush at the very top of its box */
.reviews-mailing-row .mailing-giveaway-inner{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding-top:0 !important;
  overflow:hidden !important;
}

.reviews-mailing-row .mailing-giveaway-inner > .box-top-ribbon{
  order:-1 !important;
  position:relative !important;
  top:0 !important;
  display:block !important;
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
  padding:10px 12px 9px !important;
  border-radius:0 !important;
  flex:none !important;
}

.reviews-mailing-row .mailing-copy{
  margin-top:18px !important;
}




/* Force-center the two requested buttons */
.family-bottom-button,
.service-areas-bottom-button{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin-top:18px !important;
  margin-bottom:20px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
}

.family-bottom-button:hover,
.service-areas-bottom-button:hover{
  transform:translateX(-50%) !important;
}

.family-card,
.areas-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.family-card .family-bottom-button{
  margin-top:auto !important;
}

.areas-card .service-areas-bottom-button{
  margin-top:auto !important;
}




/* Final placement: center both buttons at the bottom of their boxes */
.family-card,
.areas-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:100% !important;
}

.family-card .family-bottom-button,
.areas-card .service-areas-bottom-button{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  align-self:center !important;
  margin-top:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:20px !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.family-card .family-bottom-button:hover,
.areas-card .service-areas-bottom-button:hover{
  transform:none !important;
}




/* Reliable bottom-center placement for Family and Service Areas buttons */
.family-card,
.areas-card{
  position:relative !important;
  display:block !important;
  height:100% !important;
  padding-bottom:86px !important;
  text-align:center !important;
}

.family-card .family-bottom-button,
.areas-card .service-areas-bottom-button{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:18px !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:11px 16px !important;
  text-align:center !important;
  white-space:nowrap !important;
  z-index:5 !important;
}

.family-card .family-bottom-button:hover,
.areas-card .service-areas-bottom-button:hover{
  transform:translateX(-50%) !important;
}




/* Center REAL RESULTS and family description within the family box */
.family-card .family-results-line{
  width:100% !important;
  max-width:92% !important;
  margin:14px auto 10px !important;
  text-align:center !important;
  align-self:center !important;
}

.family-card p{
  width:100% !important;
  max-width:88% !important;
  margin:0 auto 18px !important;
  text-align:center !important;
  align-self:center !important;
  line-height:1.5 !important;
}

.family-card{
  text-align:center !important;
}




/* Align CALL NOW evenly with REQUEST A QUOTE in the hero */
.hero-buttons{
  display:flex !important;
  align-items:stretch !important;
}

.hero-buttons .button{
  min-height:50px !important;
  margin:0 !important;
  align-self:stretch !important;
}

.hero-buttons .button.black{
  width:190px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}




/* Definitive hero button alignment: keep all three buttons on one row */
.hero-copy{
  width:650px !important;
  max-width:calc(100vw - 96px) !important;
}

.hero-buttons{
  display:grid !important;
  grid-template-columns:1.25fr 1fr 1fr !important;
  gap:12px !important;
  width:620px !important;
  max-width:100% !important;
  align-items:stretch !important;
}

.hero-buttons .button,
.hero-buttons .button.black,
.hero-buttons .button.orange{
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.hero-buttons .button .fa{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  margin:0 2px 0 0 !important;
}






/* Hero refinement: enlarge supporting text and move CTA buttons lower */
.hero-copy .green-brush{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  margin-top:14px !important;
  padding:8px 22px 7px !important;
  font-size:25px !important;
  line-height:1 !important;
  letter-spacing:.2px !important;
  text-align:center !important;
}

.hero-copy > p{
  margin:18px 0 0 !important;
  font-size:21px !important;
  line-height:1.38 !important;
  letter-spacing:.1px !important;
}

.hero-copy > p b{
  font-size:24px !important;
  line-height:1.22 !important;
}

.hero-copy > p em{
  font-style:normal !important;
  color:var(--orange) !important;
}

.hero-buttons{
  margin-top:34px !important;
}

.hero-buttons .button{
  min-height:52px !important;
  font-size:14px !important;
}








/* Keep all footer social icons, including Pinterest, on one line */
.footer-social{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
}

.footer-social a{
  flex:0 0 48px !important;
  width:48px !important;
  height:48px !important;
}






/* Move hero CTA buttons lower and make them slightly larger */
.hero-buttons{
  margin-top:46px !important;
  width:650px !important;
  max-width:100% !important;
  gap:14px !important;
}

.hero-buttons .button,
.hero-buttons .button.orange,
.hero-buttons .button.black{
  min-height:58px !important;
  padding:15px 18px !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}






/* Make the 3 hero button labels sharper and clearer */
.hero-buttons .button,
.hero-buttons .button.orange,
.hero-buttons .button.black{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  letter-spacing: 0.1px !important;
  line-height: 1 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: geometricPrecision !important;
}

.hero-buttons .button span,
.hero-buttons .button.orange span,
.hero-buttons .button.black span{
  text-shadow: none !important;
  filter: none !important;
}

.hero-buttons .button .fa,
.hero-buttons .button.orange .fa,
.hero-buttons .button.black .fa{
  font-size: 14px !important;
  line-height: 1 !important;
  text-shadow: none !important;
}




/* FINAL RESPONSIVE SERVICE MENU
   Desktop: 6 across
   Tablet: 3 across
   Phone: 2 across
*/
.service-menu{
  width:min(100%,1600px) !important;
  max-width:1600px !important;
  margin:22px auto 42px !important;
  padding:0 18px 10px !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

.service-menu .service-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#070707 !important;
  border:1px solid #2c2c2c !important;
  border-radius:0 !important;
  transform:none !important;
}

.service-menu .service-item img{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:contain !important;
}

.service-menu .service-item:hover{
  transform:none !important;
  filter:brightness(1.07) !important;
}

/* Tablet: 3 across */


/* Phone: 2 across */


/* Keep 2 across even on very narrow phones */



/* Center the family photo precisely inside the FAMILY RUN BUSINESS box */
.family-card img{
  display:block !important;
  width:calc(100% - 44px) !important;
  max-width:420px !important;
  height:auto !important;
  margin:0 auto 14px !important;
  align-self:center !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.family-card .family-heading-top{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}




/* Updated main mascot with hose */
.hero-mascot img,
.hero-mascot-image,
img[src*="mascot-sheriff-the-turd-hose"]{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* If the homepage uses a positioned mascot, keep it strong and centered */
.hero-mascot,
.mascot-wrap,
.hero-character{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

@media (min-width: 981px){
  .hero-mascot img,
  .hero-mascot-image,
  img[src*="mascot-sheriff-the-turd-hose"]{
    max-height:420px !important;
  }
}






/* User-approved main mascot/logo */
.hero-mascot img,
.mascot-wrap img,
.hero-character img,
img[src*="main-mascot-logo.png"]{
  display:block !important;
  width:100% !important;
  max-width:520px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}

@media (min-width: 981px){
  .hero-mascot img,
  .mascot-wrap img,
  .hero-character img,
  img[src*="main-mascot-logo.png"]{
    max-height:500px !important;
  }
}






/* Approved mascot without wording underneath */
img[src*="main-mascot-logo-no-text.png"]{
  display:block !important;
  width:100% !important;
  max-width:500px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}






/* Corrected service panel crops — no divider line through Septic Pumping */
.service-menu .service-item{
  background:#000 !important;
}

.service-menu .service-item img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border:0 !important;
  outline:0 !important;
}

.service-menu .service-item:first-child,
.service-menu .service-item:first-child img{
  border-left:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   CLEAN MOBILE HEADER + WORKING DROPDOWN MENU
   ========================================================= */





/* =========================================================
   FINAL PHONE LAYOUT FIX
   Prevents overlapping content and makes hamburger functional
   ========================================================= */





/* MOBILE CLEANUP: less orange, larger phone-first bottom bar */





/* FINAL HAMBURGER CLICK FIX */



/* MOBILE COUNTY LIST SPACING FIX */



/* GLOBAL HEADER LOGO ENLARGEMENT — all pages */
@media(min-width:981px){
  .approved-logo{
    width:360px !important;
    max-width:360px !important;
  }

  .approved-logo img{
    width:100% !important;
    max-width:360px !important;
    height:auto !important;
    max-height:92px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
}



/* Reusable internal-page structure */
.internal-page-hero{
  position:relative;
  min-height:430px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  align-items:center;
  gap:28px;
  padding:58px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:2px solid var(--orange);
  background:
    linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.58)),
    url("truck-hero.jpg") center/cover no-repeat;
}

.internal-page-hero-copy{
  position:relative;
  z-index:2;
  max-width:820px;
}

.internal-page-kicker{
  display:inline-block;
  margin-bottom:14px;
  padding:8px 14px 7px;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font:900 13px Arial,Helvetica,sans-serif;
  letter-spacing:1px;
}

.internal-page-hero h1{
  margin:0 0 16px;
  color:#fff;
  font:900 clamp(42px,5.5vw,78px)/.95 Arial,Helvetica,sans-serif;
  letter-spacing:-1.4px;
  text-transform:uppercase;
  text-shadow:0 4px 5px #000;
}

.internal-page-hero h1 span{
  color:var(--orange);
}

.internal-page-hero p{
  max-width:760px;
  margin:0 0 26px;
  color:#f1f1f1;
  font-size:19px;
  line-height:1.5;
}

.internal-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.internal-page-actions a{
  min-width:210px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:4px;
  color:#fff;
  font:900 14px Arial,Helvetica,sans-serif;
  text-align:center;
  text-decoration:none;
}

.internal-page-actions .primary{
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
}

.internal-page-actions .secondary{
  background:#0c0c0c;
  border:1px solid #757575;
}

.internal-page-mascot{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.internal-page-mascot img{
  width:min(100%,430px);
  max-height:390px;
  object-fit:contain;
}

.internal-main{
  max-width:1480px;
  margin:0 auto;
  padding:42px 22px 58px;
}

.internal-content-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:24px;
  align-items:start;
}

.internal-panel{
  padding:28px;
  border:1px solid #4a3427;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}

.internal-panel h2{
  margin:0 0 14px;
  color:#fff;
  font:900 32px/1.05 Arial,Helvetica,sans-serif;
}

.internal-panel h2 span{
  color:var(--orange);
}

.internal-panel p,
.internal-panel li{
  color:#ddd;
  font-size:16px;
  line-height:1.58;
}

.internal-panel ul{
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.internal-panel li{
  margin:10px 0;
}

.internal-panel li:before{
  content:"✓";
  margin-right:9px;
  color:var(--orange);
  font-weight:900;
}

.internal-placeholder{
  display:grid;
  gap:18px;
}

.internal-cta-band{
  margin-top:24px;
  padding:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 85% 30%,rgba(145,164,43,.18),transparent 35%),
    linear-gradient(145deg,#171717,#060606);
}

.internal-cta-band h2{
  margin:0 0 8px;
  color:#fff;
  font:900 30px/1.05 Arial,Helvetica,sans-serif;
}

.internal-cta-band p{
  margin:0;
  color:#d7d7d7;
}

.internal-cta-band a{
  flex:0 0 auto;
  min-width:220px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
  border-radius:4px;
  color:#fff;
  font:900 14px Arial,Helvetica,sans-serif;
  text-decoration:none;
}






/* County location and bottom SEO section */
.county-location-footer{
  margin-top:24px;
  border:1px solid #4a3427;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}

.county-location-inner{
  padding:30px;
}

.county-location-kicker{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 12px 6px;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font:900 12px Arial,Helvetica,sans-serif;
  letter-spacing:.8px;
}

.county-location-footer h2{
  margin:0 0 12px;
  color:#fff;
  font:900 32px/1.08 Arial,Helvetica,sans-serif;
}

.county-location-footer h2 span{
  color:var(--orange);
}

.county-location-intro{
  margin:0 0 20px;
  color:#ddd;
  font-size:16px;
  line-height:1.55;
}

.county-town-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.county-town-grid span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #494949;
  border-radius:4px;
  background:#0c0c0c;
  color:#f1f1f1;
  font:700 13px Arial,Helvetica,sans-serif;
}

.county-seo-copy{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #343434;
}

.county-seo-copy h3{
  margin:0 0 10px;
  color:#fff;
  font:900 23px/1.12 Arial,Helvetica,sans-serif;
}

.county-seo-copy p{
  margin:8px 0;
  color:#d6d6d6;
  font-size:15px;
  line-height:1.55;
}

.county-seo-copy a{
  color:var(--orange);
  font-weight:900;
}

.county-repeat-list{
  font-size:13px !important;
  color:#aaa !important;
}




/* SEPTIC PUMPING PAGE */
.pumping-hero{position:relative;min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("avalanche-septic-pumping-truck.jpg") center 56%/cover no-repeat}
.pumping-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 45%,rgba(0,0,0,.34) 100%)}
.pumping-hero-copy{position:relative;z-index:2;max-width:850px}
.pumping-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.pumping-hero h1 span,.pumping-main h2 span{color:var(--orange)}
.pumping-hero p{max-width:760px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.pumping-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.pumping-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.pumping-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.section-label{display:inline-block;margin-bottom:10px;color:var(--orange);font:900 13px Arial,Helvetica,sans-serif;letter-spacing:1px}
.pumping-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.pumping-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.pumping-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.pumping-intro-copy,.pumping-feature-photo,.pumping-dark-panel,.pumping-service-area,.pumping-faq,.pumping-gallery-section,.pumping-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.pumping-intro-copy{padding:30px}
.pumping-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.pumping-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.pumping-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.pumping-feature-photo{margin:0;overflow:hidden}
.pumping-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.pumping-feature-photo figcaption,.pumping-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.pumping-process,.pumping-gallery-section,.pumping-faq{margin-top:26px;padding:30px}
.section-heading{text-align:center;margin-bottom:22px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.process-grid p{margin:0;font-size:14px}
.pumping-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pumping-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.pumping-gallery .gallery-wide{grid-column:span 2}
.pumping-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.pumping-gallery .gallery-wide img{height:360px}
.pumping-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.pumping-dark-panel{padding:30px}
.pumping-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.pumping-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.pumping-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.panel-call-button{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.pumping-service-area{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.pumping-service-area img{width:100%;max-height:440px;object-fit:contain}
.county-link-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.county-link-grid a{padding:9px 12px;border:1px solid #444;background:#0a0a0a;color:#fff;font-weight:800;text-decoration:none}
.pumping-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.pumping-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.pumping-faq details p{margin:0;padding:0 18px 18px}
.pumping-final-cta{margin-top:26px}





/* =========================================================
   SEPTIC INSTALLATION PAGE
   ========================================================= */
.installation-hero{
  position:relative;
  min-height:620px;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  align-items:center;
  gap:24px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:3px solid var(--orange);
  background:url("septic-system-installation-site.jpg") center 48%/cover no-repeat;
}
.installation-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.85) 46%,rgba(0,0,0,.38) 100%);
}
.installation-hero-copy{position:relative;z-index:2;max-width:880px}
.installation-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.7vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.installation-hero h1 span,.installation-main h2 span{color:var(--orange)}
.installation-hero p{max-width:780px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.installation-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.installation-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.installation-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.installation-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.installation-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.installation-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
.installation-intro-copy,.installation-feature-photo,.installation-dark-panel,.installation-service-area,.installation-faq,.installation-gallery-section,.installation-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.installation-intro-copy{padding:30px}
.installation-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.installation-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.installation-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.installation-feature-photo{margin:0;overflow:hidden}
.installation-feature-photo img{width:100%;height:100%;min-height:455px;object-fit:cover}
.installation-feature-photo figcaption,.installation-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.installation-process,.installation-gallery-section,.installation-faq{margin-top:26px;padding:30px}
.installation-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.installation-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.installation-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.installation-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.installation-process-grid p{margin:0;font-size:14px}
.installation-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.installation-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.installation-gallery .gallery-large{grid-column:span 2}
.installation-gallery .gallery-wide{grid-column:span 2}
.installation-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.installation-gallery .gallery-large img{height:370px}
.installation-gallery .gallery-wide img{height:350px}
.installation-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.installation-dark-panel{padding:30px}
.installation-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.installation-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.installation-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.financing-panel{background:radial-gradient(circle at 90% 20%,rgba(145,164,43,.2),transparent 34%),linear-gradient(145deg,#171717,#070707)}
.installation-finance-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.installation-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.installation-service-area img{width:100%;max-height:440px;object-fit:contain}
.installation-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.installation-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.installation-faq details p{margin:0;padding:0 18px 18px}
.installation-final-cta{margin-top:26px}





/* =========================================================
   INSPECTIONS & TESTING PAGE
   ========================================================= */
.inspection-hero{
  position:relative;
  min-height:600px;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  align-items:center;
  gap:24px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:3px solid var(--orange);
  background:url("inspection-septic-access.jpg") center 45%/cover no-repeat;
}
.inspection-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 47%,rgba(0,0,0,.38) 100%)}
.inspection-hero-copy{position:relative;z-index:2;max-width:880px}
.inspection-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.7vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.inspection-hero h1 span,.inspection-main h2 span{color:var(--orange)}
.inspection-hero p{max-width:780px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.inspection-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.inspection-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.inspection-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.inspection-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.inspection-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.inspection-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
.inspection-intro-copy,.inspection-feature-photo,.inspection-dark-panel,.inspection-service-area,.inspection-faq,.inspection-gallery-section,.inspection-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.inspection-intro-copy{padding:30px}
.inspection-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.inspection-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.inspection-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.inspection-feature-photo{margin:0;overflow:hidden}
.inspection-feature-photo img{width:100%;height:100%;min-height:450px;object-fit:cover}
.inspection-feature-photo figcaption,.inspection-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.inspection-process,.inspection-gallery-section,.inspection-faq{margin-top:26px;padding:30px}
.inspection-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.inspection-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.inspection-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.inspection-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.inspection-process-grid p{margin:0;font-size:14px}
.inspection-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.inspection-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.inspection-gallery-wide{grid-column:span 2}
.inspection-gallery img{width:100%;height:320px;object-fit:cover;display:block}
.inspection-gallery-wide img{height:370px}
.inspection-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.inspection-dark-panel{padding:30px}
.inspection-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.inspection-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.inspection-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.inspection-call-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.inspection-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.inspection-service-area img{width:100%;max-height:440px;object-fit:contain}
.inspection-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.inspection-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.inspection-faq details p{margin:0;padding:0 18px 18px}
.inspection-final-cta{margin-top:26px}





/* 24/7 EMERGENCY SERVICE PAGE */
.emergency-page-hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:4px solid #ff4b00;background:url("septic-tank-pumping-in-progress.jpg") center/cover no-repeat}
.emergency-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.84) 48%,rgba(0,0,0,.42))}
.emergency-page-copy{position:relative;z-index:2;max-width:880px}
.emergency-alert{display:inline-block;margin-bottom:14px;padding:9px 14px;background:#b51f00;border:1px solid #ff6b31;color:#fff;font:900 14px Arial,Helvetica,sans-serif;letter-spacing:.8px}
.emergency-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,90px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.emergency-page-hero h1 span,.emergency-page-main h2 span{color:#ff4b00}
.emergency-page-hero p{max-width:780px;margin:0 0 26px;color:#f4f4f4;font-size:20px;line-height:1.55}
.emergency-call-actions{display:flex;flex-wrap:wrap;gap:12px}
.emergency-call-actions a{min-height:58px;display:flex;align-items:center;justify-content:center;padding:13px 20px;color:#fff;font-weight:900;text-decoration:none}
.emergency-call-primary{background:linear-gradient(#ff661b,#c42f00);border:1px solid #ff9a65;font-size:17px}
.emergency-call-secondary{background:#0b0b0b;border:1px solid #777}
.emergency-response-strip{margin-top:20px;color:#d9e078;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.emergency-page-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.emergency-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.emergency-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.emergency-page-main p,.emergency-page-main li{color:#ddd;font-size:16px;line-height:1.62}
.emergency-page-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.emergency-page-panel,.emergency-feature-photo,.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{border:1px solid #523225;border-top:6px solid #ff4b00;background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.emergency-page-panel,.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{padding:30px}
.emergency-feature-photo{margin:0;overflow:hidden}
.emergency-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.emergency-feature-photo figcaption,.emergency-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.emergency-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.emergency-check-grid div{padding:12px 14px;border:1px solid #3b3b3b;background:#0a0a0a;color:#fff;font-weight:800}
.emergency-check-grid div:before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#ff4b00;color:#fff}
.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{margin-top:26px}
.emergency-warning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.emergency-warning-grid article{padding:22px 18px;border:1px solid #3a3a3a;background:#0a0a0a}
.emergency-warning-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.emergency-steps{margin:18px 0 0;padding-left:22px}
.emergency-steps li{margin:14px 0}
.emergency-inline-call{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;background:linear-gradient(#ff661b,#c42f00);border:1px solid #ff9a65;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.emergency-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.emergency-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.emergency-gallery img{width:100%;height:290px;object-fit:cover;display:block}
.emergency-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.emergency-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.emergency-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.emergency-faq details p{margin:0;padding:0 18px 18px}
.emergency-final-call{margin-top:26px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:3px solid #ff4b00;background:linear-gradient(135deg,#331000,#080808)}
.emergency-final-call span{color:#ff7a3d;font-weight:900;letter-spacing:1px}
.emergency-final-call h2{margin:4px 0 0}
.emergency-final-call a{min-width:260px;min-height:64px;display:flex;align-items:center;justify-content:center;background:#ff4b00;color:#fff;font:900 20px Arial,Helvetica,sans-serif;text-decoration:none}

/* FIXED SEPTIC REPAIRS PAGE */
.repairs-fix-hero{position:relative;min-height:530px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:55px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("inspection-existing-system.jpg") center/cover no-repeat}
.repairs-fix-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.83) 48%,rgba(0,0,0,.38))}
.repairs-fix-copy{position:relative;z-index:2}
.repairs-fix-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(52px,6vw,90px)/.9 Arial,Helvetica,sans-serif}
.repairs-fix-hero h1 span,.repairs-fix-main h2 span{color:var(--orange)}
.repairs-fix-hero p{max-width:760px;color:#eee;font-size:20px;line-height:1.55}
.repairs-fix-mascot img{width:min(100%,430px)}
.repairs-fix-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.repairs-fix-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.repairs-fix-panel,.repairs-fix-photo{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}
.repairs-fix-panel{padding:30px}
.repairs-fix-panel h2{margin:0 0 14px;color:#fff;font:900 40px/1 Arial,Helvetica,sans-serif}
.repairs-fix-panel p,.repairs-fix-panel li{color:#ddd;font-size:16px;line-height:1.6}
.repairs-fix-panel ul{list-style:none;padding:0}
.repairs-fix-panel li{margin:11px 0}
.repairs-fix-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.repairs-fix-photo{margin:0;overflow:hidden}
.repairs-fix-photo img{width:100%;height:100%;min-height:430px;object-fit:cover}
.repairs-fix-photo figcaption{padding:10px 12px;background:#080808;color:#ccc}
.repairs-fix-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.repairs-fix-cards article{padding:22px;border:1px solid #393939;background:#0a0a0a}
.repairs-fix-cards h3{margin:0 0 8px;color:var(--orange)}
.repairs-fix-cards p{color:#ddd;line-height:1.55}
.repairs-fix-cta{margin-top:24px}





/* ROOTER / CAMERA PAGE */
.rooter-page-hero{position:relative;min-height:590px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:58px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-installation-pipe-trench.jpg") center 55%/cover no-repeat}
.rooter-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.85) 48%,rgba(0,0,0,.38))}
.rooter-page-copy{position:relative;z-index:2;max-width:870px}
.rooter-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(54px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.rooter-page-hero h1 span,.rooter-page-main h2 span{color:var(--orange)}
.rooter-page-hero p{max-width:770px;margin:0 0 26px;color:#f1f1f1;font-size:20px;line-height:1.55}
.rooter-page-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px}
.rooter-page-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.rooter-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.rooter-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.rooter-page-main p,.rooter-page-main li{color:#ddd;font-size:16px;line-height:1.62}
.rooter-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.rooter-panel,.rooter-feature-photo,.rooter-process-section,.rooter-photo-section,.rooter-service-area,.rooter-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.rooter-panel,.rooter-process-section,.rooter-photo-section,.rooter-service-area,.rooter-faq{padding:30px}
.rooter-feature-photo{margin:0;overflow:hidden}
.rooter-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.rooter-feature-photo figcaption,.rooter-photo-grid figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.rooter-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.rooter-check-grid div{padding:12px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800}
.rooter-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.rooter-process-section,.rooter-photo-section,.rooter-faq{margin-top:26px}
.rooter-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rooter-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0a0a0a;text-align:center}
.rooter-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.rooter-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.rooter-process-grid p{margin:0;font-size:14px}
.rooter-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rooter-photo-grid figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.rooter-photo-grid .rooter-wide{grid-column:span 2}
.rooter-photo-grid img{width:100%;height:315px;object-fit:cover;display:block}
.rooter-photo-grid .rooter-wide img{height:360px}
.rooter-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.rooter-panel ul{list-style:none;margin:18px 0 0;padding:0}
.rooter-panel li{margin:12px 0}
.rooter-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.rooter-call-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.rooter-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px}
.rooter-service-area img{width:100%;max-height:440px;object-fit:contain}
.rooter-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.rooter-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.rooter-faq details p{margin:0;padding:0 18px 18px}
.rooter-final-cta{margin-top:26px}




/* =========================================================
   SEPTIC REPAIRS PAGE
   ========================================================= */
.repairs-hero{position:relative;min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-repair-excavation.jpg") center 52%/cover no-repeat}
.repairs-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 46%,rgba(0,0,0,.36) 100%)}
.repairs-hero-copy{position:relative;z-index:2;max-width:850px}
.repairs-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.repairs-hero h1 span,.repairs-main h2 span{color:var(--orange)}
.repairs-hero p{max-width:760px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.repairs-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.repairs-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.repairs-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.repairs-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.repairs-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.repairs-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.repairs-intro-copy,.repairs-feature-photo,.repairs-dark-panel,.repairs-service-area,.repairs-faq,.repairs-gallery-section,.repairs-process,.repairs-emergency-banner{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.repairs-intro-copy{padding:30px}
.repairs-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.repairs-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.repairs-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.repairs-feature-photo{margin:0;overflow:hidden}
.repairs-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.repairs-feature-photo figcaption,.repairs-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.repairs-process,.repairs-gallery-section,.repairs-faq{margin-top:26px;padding:30px}
.repairs-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.repairs-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.repairs-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.repairs-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.repairs-process-grid p{margin:0;font-size:14px}
.repairs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.repairs-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.repairs-gallery .gallery-wide{grid-column:span 2}
.repairs-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.repairs-gallery .gallery-wide img{height:360px}
.repairs-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.repairs-dark-panel{padding:30px}
.repairs-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.repairs-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.repairs-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.repairs-button-stack{display:grid;gap:10px;margin-top:20px}
.panel-finance-button{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 16px;border:1px solid #777;background:#0a0a0a;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.repairs-emergency-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:30px}
.repairs-emergency-banner a{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:240px;min-height:54px;padding:12px 18px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none}
.repairs-service-area{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.repairs-service-area img{width:100%;max-height:440px;object-fit:contain}
.repairs-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.repairs-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.repairs-faq details p{margin:0;padding:0 18px 18px}
.repairs-final-cta{margin-top:26px}





/* COMPLETE COUNTY PAGES */
.county-complete-hero{position:relative;min-height:570px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:58px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("avalanche-septic-pumping-truck.jpg") center/cover no-repeat}
.county-complete-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.85) 48%,rgba(0,0,0,.4))}
.county-complete-copy{position:relative;z-index:2;max-width:900px}
.county-complete-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.8vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.county-complete-hero h1 span,.county-complete-main h2 span{color:var(--orange)}
.county-complete-hero p{max-width:780px;margin:0 0 26px;color:#f1f1f1;font-size:20px;line-height:1.55}
.county-complete-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px}
.county-complete-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.county-complete-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.county-complete-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.county-complete-main p,.county-complete-main li{color:#ddd;font-size:16px;line-height:1.62}
.county-complete-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.county-complete-panel,.county-complete-map,.county-complete-gallery-section,.county-complete-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.county-complete-panel,.county-complete-map,.county-complete-gallery-section,.county-complete-faq{padding:30px}
.county-complete-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.county-complete-checks a{padding:13px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800;text-decoration:none}
.county-complete-checks a:before{content:"✓";margin-right:9px;color:var(--orange)}
.county-complete-map{text-align:center}
.county-complete-map img{width:100%;max-height:360px;object-fit:contain}
.county-complete-map h3{margin:10px 0 5px;color:var(--orange);font:900 22px Arial,Helvetica,sans-serif}
.county-complete-gallery-section,.county-complete-faq{margin-top:26px}
.county-complete-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.county-complete-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.county-complete-gallery img{width:100%;height:330px;object-fit:cover;display:block}
.county-complete-gallery figcaption{padding:11px 12px;background:#080808;color:#ccc;font-size:13px}
.county-complete-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.county-complete-panel ul{list-style:none;margin:18px 0 0;padding:0}
.county-complete-panel li{margin:12px 0}
.county-complete-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.county-finance-panel{background:radial-gradient(circle at 90% 20%,rgba(145,164,43,.2),transparent 34%),linear-gradient(145deg,#171717,#070707)}
.county-finance-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.county-complete-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.county-complete-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.county-complete-faq details p{margin:0;padding:0 18px 18px}
.county-complete-cta{margin-top:26px}
.county-post-footer-seo{background:#050505;border-top:1px solid #2c2c2c;padding:18px 20px 88px}
.county-post-footer-inner{max-width:1480px;margin:0 auto}
.county-post-footer-seo h2{margin:0 0 8px;color:#f37a22;font:900 clamp(18px,2vw,25px)/1.15 Arial,Helvetica,sans-serif}
.county-post-footer-seo p{margin:5px 0;color:#8f8f8f;font-size:12px;line-height:1.45}
.county-post-footer-repeat{opacity:.78}




/* SEPTIC FINANCING PAGE */
.finance-page-hero{position:relative;min-height:650px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:4px solid var(--orange);background:url("septic-system-installation-site.jpg") center 50%/cover no-repeat}
.finance-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.86) 50%,rgba(0,0,0,.42))}
.finance-page-copy{position:relative;z-index:2;max-width:930px}
.finance-kicker{display:inline-block;margin-bottom:14px;padding:9px 14px;background:#788718;border:1px solid #c8d85a;color:#fff;font:900 14px Arial,Helvetica,sans-serif;letter-spacing:.8px}
.finance-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.8vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.finance-page-hero h1 span,.finance-page-main h2 span{color:var(--orange)}
.finance-page-hero p{max-width:800px;margin:0 0 26px;color:#f2f2f2;font-size:20px;line-height:1.55}
.finance-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.finance-hero-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:13px 22px;color:#fff;font-weight:900;text-decoration:none}
.finance-primary{background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55}
.finance-secondary{background:#0b0b0b;border:1px solid #777}
.finance-hero-trust{margin-top:20px;color:#d9e078;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px;line-height:1.5}
.finance-hero-mascot{position:relative;z-index:2;text-align:center}
.finance-hero-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.finance-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.finance-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.finance-page-main p,.finance-page-main li{color:#ddd;font-size:16px;line-height:1.64}
.finance-intro-grid,.finance-calculator-section{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.finance-panel,.finance-feature-photo,.finance-secondary-photo,.finance-how-section,.finance-uses-section,.finance-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.finance-panel,.finance-how-section,.finance-uses-section,.finance-faq{padding:30px}
.finance-feature-photo,.finance-secondary-photo{margin:0;overflow:hidden}
.finance-feature-photo img,.finance-secondary-photo img{width:100%;height:100%;min-height:450px;object-fit:cover}
.finance-feature-photo figcaption,.finance-secondary-photo figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.finance-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.finance-benefit-grid div{padding:12px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800}
.finance-benefit-grid div:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.finance-how-section,.finance-uses-section,.finance-faq{margin-top:26px}
.finance-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.finance-how-grid article{padding:24px 20px;border:1px solid #393939;background:#0a0a0a;text-align:center}
.finance-how-grid b{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--orange);color:#fff;font-size:24px}
.finance-how-grid h3{margin:0 0 8px;color:#fff;font:900 19px Arial,Helvetica,sans-serif}
.finance-center-button{text-align:center;margin-top:22px}
.finance-center-button a,.finance-call-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:13px 22px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.finance-uses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.finance-uses-grid a{display:block;overflow:hidden;border:1px solid #393939;background:#080808;color:#fff;text-decoration:none}
.finance-uses-grid img{width:100%;height:220px;object-fit:cover;display:block}
.finance-uses-grid div{padding:17px}
.finance-uses-grid h3{margin:0 0 7px;color:var(--orange);font:900 18px Arial,Helvetica,sans-serif}
.finance-uses-grid p{margin:0;font-size:14px}
.finance-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.finance-panel ul{list-style:none;margin:18px 0 0;padding:0}
.finance-panel li{margin:12px 0}
.finance-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.finance-warning-panel{background:radial-gradient(circle at 90% 15%,rgba(145,164,43,.2),transparent 35%),linear-gradient(145deg,#171717,#070707)}
.finance-calculator-section{margin-top:26px}
.finance-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.finance-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.finance-faq details p{margin:0;padding:0 18px 18px}
.finance-big-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:32px;border:3px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}
.finance-big-cta span{color:#cfd879;font-weight:900;letter-spacing:1px}
.finance-big-cta h2{margin:5px 0 8px}
.finance-big-cta p{margin:0}
.finance-big-cta-actions{display:grid;gap:10px;min-width:275px}
.finance-big-cta-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 18px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.finance-big-cta-actions a:last-child{background:#0a0a0a;border-color:#777}





/* HOMEPAGE HERO COPY AND BUTTON LAYOUT UPDATE */
.hero-supporting-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  margin-top:18px !important;
}

.hero-supporting-copy .hero-fast-line,
.hero-supporting-copy .hero-legendary-line,
.hero-supporting-copy .hero-service-line{
  display:block !important;
  width:100% !important;
}

.hero-supporting-copy .hero-fast-line{
  color:#fff !important;
  font-style:normal !important;
}

.hero-supporting-copy .hero-legendary-line{
  color:var(--orange) !important;
  font-style:normal !important;
  font-weight:900 !important;
  font-size:24px !important;
  line-height:1.22 !important;
}

.hero-supporting-copy .hero-service-line{
  color:#fff !important;
  font-size:21px !important;
  line-height:1.38 !important;
}

.hero-buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:600px !important;
  max-width:100% !important;
  margin-top:30px !important;
  justify-content:center !important;
  align-items:stretch !important;
}

.hero-buttons .button{
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hero-buttons .button:nth-child(3){
  grid-column:1 / -1 !important;
  width:280px !important;
  max-width:100% !important;
  justify-self:center !important;
}








/* DETAILED COUNTY PAGE */
.county-detail-hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-installation-multiple-risers.jpg") center/cover no-repeat}
.county-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.86) 50%,rgba(0,0,0,.42))}
.county-detail-copy{position:relative;z-index:2;max-width:930px}
.county-detail-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(45px,5.4vw,82px)/.92 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.county-detail-hero h1 span,.county-detail-main h2 span{color:var(--orange)}
.county-detail-hero p{max-width:800px;margin:0 0 26px;color:#f2f2f2;font-size:20px;line-height:1.55}
.county-detail-tagline{margin-top:20px;color:#d9e078;font:900 15px Arial,Helvetica,sans-serif;letter-spacing:.7px}
.county-detail-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.county-detail-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.county-detail-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.county-detail-main p,.county-detail-main li{color:#ddd;font-size:16px;line-height:1.64}
.county-detail-intro-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.county-detail-panel,.county-detail-feature-photo,.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.county-detail-panel,.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{padding:30px}
.county-detail-feature-photo{margin:0;overflow:hidden}
.county-detail-feature-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}
.county-detail-feature-photo figcaption,.county-detail-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{margin-top:26px}
.county-town-chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.county-town-chip-grid span{padding:10px 13px;border:1px solid #454545;background:#0a0a0a;color:#fff;font-weight:800}
.county-detail-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.county-detail-panel ul{list-style:none;margin:18px 0 0;padding:0}
.county-detail-panel li{margin:12px 0}
.county-detail-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.county-detail-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.county-detail-service-grid a{padding:22px;border:1px solid #393939;background:#0a0a0a;color:#fff;text-decoration:none}
.county-detail-service-grid h3{margin:0 0 8px;color:var(--orange);font:900 18px Arial,Helvetica,sans-serif}
.county-detail-service-grid p{margin:0;font-size:14px}
.county-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.county-detail-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.county-detail-gallery img{width:100%;height:320px;object-fit:cover;display:block}
.county-detail-financing{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:30px;border:3px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}
.county-detail-financing a{min-width:250px;display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 18px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.county-detail-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.county-detail-why-grid div{padding:16px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800;text-align:center}
.county-detail-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.county-detail-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.county-detail-faq details p{margin:0;padding:0 18px 18px}
.county-detail-cta{margin-top:26px}




/* CARBON COUNTY DETAILED PAGE */
.carbon-detail-hero{
  background-image:url("septic-tank-installation-hillside.jpg");
}


/* LUZERNE COUNTY DETAILED PAGE */
.luzerne-detail-hero{
  background-image:url("inspection-septic-access.jpg");
}


/* LACKAWANNA COUNTY DETAILED PAGE */
.lackawanna-detail-hero{
  background-image:url("inspection-service-truck.jpg");
}


/* MONROE COUNTY DETAILED PAGE */
.monroe-detail-hero{
  background-image:url("avalanche-septic-pumping-truck.jpg");
}


/* PIKE COUNTY DETAILED PAGE */
.pike-detail-hero{
  background-image:url("septic-system-installation-site.jpg");
}
.county-detail-about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:26px;
}
.county-detail-pumping-guide{
  margin-top:26px;
}
.county-detail-frequency-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:20px 0;
}
.county-detail-frequency-grid div{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px;
  border:1px solid #3b3b3b;
  background:#0a0a0a;
  text-align:center;
}
.county-detail-frequency-grid strong{
  color:var(--orange);
  font:900 22px Arial,Helvetica,sans-serif;
}
.county-detail-frequency-grid span{
  color:#ddd;
  line-height:1.4;
}




/* EXPANDED MONROE COUNTY PAGE */
.monroe-expanded-hero{
  background-image:url("avalanche-septic-pumping-truck.jpg");
}
.county-detail-attractions{
  margin-top:26px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}
.county-detail-attraction-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:20px 0;
}
.county-detail-attraction-grid div{
  padding:16px;
  border:1px solid #393939;
  background:#0a0a0a;
  color:#fff;
  font-weight:800;
  text-align:center;
}
.county-place-heading{
  margin:24px 0 10px;
  color:var(--orange);
  font:900 19px Arial,Helvetica,sans-serif;
  letter-spacing:.4px;
}
.monroe-service-grid{
  grid-template-columns:repeat(3,1fr);
}




/* ABOUT US FAMILY AND TEAM PAGE */
.about-family-hero{position:relative;min-height:590px;display:flex;align-items:center;padding:70px clamp(24px,6vw,90px);overflow:hidden;border-bottom:4px solid var(--orange);background:url("turd-herd-family-about.png") center right/cover no-repeat}.about-family-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.92) 40%,rgba(0,0,0,.48) 72%,rgba(0,0,0,.14) 100%)}.about-family-copy{position:relative;z-index:2;max-width:760px}.about-family-copy h1{margin:0 0 20px;color:#fff;font:900 clamp(46px,5.3vw,80px)/.94 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 9px #000}.about-family-copy h1 span,.about-family-main h2 span{color:var(--orange)}.about-family-copy p{max-width:720px;color:#f0f0f0;font-size:20px;line-height:1.55}.about-family-tagline{margin-top:20px;color:#d9e078;font-weight:900;letter-spacing:.7px}.about-family-main{max-width:1480px;margin:0 auto;padding:44px 22px 64px}.about-family-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,46px)/1 Arial,Helvetica,sans-serif}.about-family-main p{color:#ddd;font-size:16px;line-height:1.65}.about-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}.about-story-copy,.about-family-art,.about-mascot-family,.about-team-section,.about-promise-section{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 30px #000}.about-story-copy{padding:32px}.about-family-art{margin:0;overflow:hidden}.about-family-art img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block}.about-family-art figcaption,.about-team-photo figcaption{padding:13px 16px;background:#080808;color:#ccc;font-size:13px;line-height:1.45}.about-family-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.about-family-values div{display:flex;flex-direction:column;gap:5px;padding:17px;border:1px solid #393939;background:#090909}.about-family-values strong{color:var(--orange);font-size:15px}.about-family-values span{color:#ccc;line-height:1.4}.about-mascot-family,.about-team-section,.about-promise-section{margin-top:28px;padding:32px}.about-section-lead{max-width:1050px;margin-bottom:24px}.about-mascot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.about-mascot-grid article,.about-promise-grid article{padding:22px 18px;border:1px solid #3a3a3a;background:#090909}.about-mascot-grid h3,.about-promise-grid h3,.about-placeholder-grid h3{margin:0 0 9px;color:var(--orange);font:900 19px Arial,Helvetica,sans-serif}.about-mascot-grid p,.about-promise-grid p{margin:0;font-size:14px}.about-team-photo{margin:0;overflow:hidden;border:1px solid #404040;background:#080808}.about-team-photo img{width:100%;max-height:760px;object-fit:contain;display:block;background:#111}.about-team-future{margin-top:26px;padding:26px;border:1px solid #3e3e3e;background:#0a0a0a}.about-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.about-placeholder-grid article{min-height:220px;padding:18px;border:1px dashed #555;background:linear-gradient(145deg,#161616,#080808);text-align:center}.about-placeholder-grid article span{display:flex;align-items:center;justify-content:center;height:110px;margin-bottom:16px;border:1px solid #414141;background:#111;color:#777;font-weight:900;letter-spacing:1px}.about-placeholder-grid p{margin:0;font-size:14px}.about-promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.about-family-cta{margin-top:28px}


/* ABOUT FAMILY PHOTO FULL-VIEW FIX */
.about-family-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#111,#050505);
}
.about-family-hero-image{
  position:relative;
  z-index:2;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 20px 20px 0;
}
.about-family-hero-image img{
  width:100%;
  height:auto;
  max-height:570px;
  object-fit:contain;
  display:block;
}
.about-family-art img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  background:#111;
}



/* COMPLETE SERVICE AREAS PAGE */
.service-areas-hero{
  position:relative;
  min-height:590px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:30px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:4px solid var(--orange);
  background:url("dark-texture.jpg") center/cover;
}
.service-areas-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.74));
}
.service-areas-hero-copy,.service-areas-hero-map{
  position:relative;
  z-index:2;
}
.service-areas-hero h1{
  margin:0 0 20px;
  color:#fff;
  font:900 clamp(46px,5.2vw,78px)/.94 Arial,Helvetica,sans-serif;
  letter-spacing:-2px;
}
.service-areas-hero h1 span,.service-areas-main h2 span{
  color:var(--orange);
}
.service-areas-hero p{
  max-width:790px;
  color:#eee;
  font-size:20px;
  line-height:1.55;
}
.service-areas-hero-map{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border:1px solid #493326;
  background:rgba(0,0,0,.48);
}
.service-areas-hero-map img{
  width:100%;
  max-height:490px;
  object-fit:contain;
}
.service-areas-main{
  max-width:1480px;
  margin:0 auto;
  padding:44px 22px 64px;
}
.service-areas-main h2{
  margin:0 0 16px;
  color:#fff;
  font:900 clamp(31px,3vw,46px)/1 Arial,Helvetica,sans-serif;
}
.service-areas-main p{
  color:#ddd;
  font-size:16px;
  line-height:1.65;
}
.service-areas-intro{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:24px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
}
.service-areas-intro aside{
  padding:24px;
  border:2px solid var(--orange);
  background:linear-gradient(135deg,#321200,#070707);
}
.service-areas-intro aside h3{
  margin:0 0 10px;
  color:#fff;
  font:900 24px Arial,Helvetica,sans-serif;
}
.service-areas-intro aside a,
.service-areas-financing>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  margin-top:10px;
  padding:10px 20px;
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.service-county-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:26px;
}
.service-county-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border:1px solid #403126;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#181818,#070707);
  box-shadow:inset 0 0 25px #000;
}
.service-county-number{
  position:absolute;
  right:16px;
  top:8px;
  color:rgba(255,105,0,.16);
  font:900 72px Arial,Helvetica,sans-serif;
}
.service-county-card h2{
  position:relative;
  margin-right:80px;
}
.service-county-towns{
  color:#fff!important;
  font-weight:800;
}
.service-county-card>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  margin-top:10px;
  padding:10px 18px;
  border:1px solid var(--orange);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.service-county-card>a:hover{
  background:var(--orange);
}
.service-areas-services{
  margin-top:28px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
}
.service-areas-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.service-areas-service-grid a{
  padding:22px 18px;
  border:1px solid #393939;
  background:#090909;
  color:#fff;
  text-decoration:none;
}
.service-areas-service-grid h3{
  margin:0 0 8px;
  color:var(--orange);
  font:900 18px Arial,Helvetica,sans-serif;
}
.service-areas-service-grid p{
  margin:0;
  font-size:14px;
}
.service-areas-financing{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding:30px;
  border:3px solid var(--orange);
  background:linear-gradient(135deg,#321200,#070707);
}
.service-areas-cta{
  margin-top:28px;
}




/* MOBILE MENU FUNCTIONALITY FIX — DESKTOP UNCHANGED */



/* IOS SAFARI MOBILE BOTTOM BAR FIX
   Mobile-only. Desktop website remains unchanged. */


@supports(padding:max(0px)){
  
}


/* FOOTER LINK PAGES: SERVICES, REVIEWS, FAQ, CONTACT, BLOG */
.info-page-hero{position:relative;min-height:480px;display:flex;align-items:center;padding:60px clamp(24px,6vw,90px);border-bottom:4px solid var(--orange);background:linear-gradient(135deg,#111,#020202);overflow:hidden}.info-page-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(255,105,0,.18),transparent 35%),linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.62))}.info-page-hero-copy{position:relative;z-index:2;max-width:980px}.info-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(45px,5.7vw,82px)/.94 Arial,Helvetica,sans-serif;letter-spacing:-2px}.info-page-hero h1 span,.info-page-main h2 span{color:var(--orange)}.info-page-hero p{max-width:800px;color:#eee;font-size:20px;line-height:1.55}.info-page-main{max-width:1450px;margin:0 auto;padding:44px 22px 64px}.info-page-intro,.info-page-callout,.contact-page-form-panel,.contact-social-panel{padding:30px;border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.info-page-main h2{margin:0 0 14px;color:#fff;font:900 clamp(30px,3vw,46px)/1 Arial,Helvetica,sans-serif}.info-page-main p{color:#ddd;font-size:16px;line-height:1.65}.services-page-grid,.reviews-page-grid,.contact-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.services-page-grid article,.reviews-page-grid article,.contact-page-card{padding:26px;border:1px solid #3d3128;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.services-page-grid article h2,.contact-page-card h2{font-size:27px}.services-page-grid a,.contact-page-card a,.info-page-button,.info-page-callout>a,.blog-coming-soon>a,.contact-page-direct>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:10px;padding:10px 19px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none}.info-page-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.info-page-feature-row>div{padding:28px;border:1px solid #493326;background:#090909}.review-stars{margin-bottom:12px;color:var(--orange);font-size:24px;letter-spacing:3px}.reviews-page-grid h3{margin:16px 0 0;color:#fff}.info-page-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.faq-page-list{display:grid;gap:12px}.faq-page-list details{border:1px solid #493326;border-left:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.faq-page-list summary{padding:22px 24px;color:#fff;cursor:pointer;font:900 20px Arial,Helvetica,sans-serif}.faq-page-list details p{margin:0;padding:0 24px 22px}.contact-page-grid{grid-template-columns:repeat(3,1fr)}.contact-address-note{color:#aaa!important;font-size:14px!important}.contact-page-form-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:24px}.contact-page-direct{padding:24px;border:2px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}.contact-page-direct h3{margin:0;color:#fff;font:900 25px Arial,Helvetica,sans-serif}.contact-social-panel{margin-top:24px}.contact-social-links{display:flex;flex-wrap:wrap;gap:12px}.contact-social-links a{padding:12px 16px;border:1px solid var(--orange);color:#fff;font-weight:900;text-decoration:none}.blog-coming-soon{max-width:1050px;margin:0 auto;padding:45px;text-align:center;border:1px solid #493326;border-top:8px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.blog-coming-icon{display:inline-flex;align-items:center;justify-content:center;width:110px;height:110px;margin-bottom:18px;border:4px solid var(--orange);border-radius:50%;color:#fff;font:900 24px Arial,Helvetica,sans-serif}.blog-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.blog-topic-grid span{padding:16px;border:1px solid #3d3128;background:#090909;color:#fff;font-weight:800}


/* CONTACT PAGE FORM PLACEHOLDER REMOVAL */
.contact-page-form-panel.contact-page-help-only{grid-template-columns:1fr;}


/* CJ PRESIDENT EMPLOYEE PROFILE */
.about-employee-profile{
  min-height:0!important;
  padding:18px!important;
  text-align:left!important;
  border-style:solid!important;
}
.about-employee-profile img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  margin-bottom:16px;
  border:1px solid #414141;
  background:#fff;
}
.about-employee-profile strong{
  display:block;
  margin:-3px 0 10px;
  color:#fff;
  font-size:14px;
  letter-spacing:1px;
}
.about-employee-profile p{
  margin:0;
}


/* PEYTON EMPLOYEE PROFILE SPACING */
.about-employee-profile p + p{
  margin-top:12px;
}


/* WORKING NETLIFY FORMS */
.netlify-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.approved-service-form-section{
  padding:38px clamp(16px,4vw,56px);
  border-top:6px solid var(--orange);
  border-bottom:1px solid #453126;
  background:linear-gradient(145deg,#171717,#050505);
}
.approved-service-form-heading{
  max-width:1100px;
  margin:0 auto 24px;
  text-align:center;
}
.approved-service-form-heading h2{
  margin:4px 0 12px;
  color:#fff;
  font:900 clamp(31px,4vw,52px)/1 Arial,Helvetica,sans-serif;
}
.approved-service-form-heading h2 span,
.contact-form-wrap h2{
  color:var(--orange);
}
.approved-service-form-heading p{
  color:#ddd;
  line-height:1.6;
}
.approved-service-form-heading a{
  color:var(--orange);
  font-weight:900;
}
.approved-service-form{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:28px;
  border:1px solid #4a3426;
  background:#090909;
}
.approved-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.approved-form-wide{
  grid-column:1/-1;
}
.approved-service-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.5px;
}
.approved-service-form input,
.approved-service-form select,
.approved-service-form textarea,
.mailing-form select{
  width:100%;
  min-height:50px;
  padding:12px 13px;
  border:1px solid #5a5a5a;
  border-radius:0;
  background:#fff;
  color:#111;
  font:600 16px Arial,Helvetica,sans-serif;
  box-sizing:border-box;
}
.approved-service-form textarea{
  min-height:145px;
  resize:vertical;
}
.approved-form-checks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.approved-form-checks label,
.approved-form-consent{
  flex-direction:row!important;
  align-items:flex-start;
  padding:13px;
  border:1px solid #3c3c3c;
  background:#141414;
  font-weight:700!important;
  line-height:1.45;
}
.approved-form-checks input,
.approved-form-consent input{
  width:18px!important;
  min-height:18px!important;
  height:18px!important;
  flex:0 0 18px;
  margin-top:1px;
}
.approved-form-message{
  margin-bottom:16px;
}
.approved-service-form button{
  width:100%;
  min-height:58px;
  margin-top:18px;
  border:1px solid #ff9a55;
  background:linear-gradient(#fa741c,#cd4100);
  color:#fff;
  font:900 18px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.approved-form-note{
  margin:12px 0 0;
  color:#aaa;
  font-size:13px;
  text-align:center;
}
.live-contact-form-panel{
  grid-template-columns:minmax(0,1fr) 320px!important;
  align-items:start;
}
.contact-form-wrap h2{
  margin:5px 0 10px;
}
.contact-approved-form{
  margin-top:20px;
  padding:22px;
}
.mailing-form select{
  min-width:0;
}
.form-response-page,
.giveaway-rules-page{
  min-height:65vh;
  padding:60px 18px 100px;
  background:linear-gradient(145deg,#171717,#050505);
}
.form-response-card,
.giveaway-rules-page>section{
  max-width:900px;
  margin:0 auto;
  padding:42px;
  border:1px solid #493326;
  border-top:7px solid var(--orange);
  background:#090909;
}
.form-response-card{
  text-align:center;
}
.form-response-card h1,
.giveaway-rules-page h1{
  margin:8px 0 18px;
  color:#fff;
  font:900 clamp(34px,5vw,58px)/1 Arial,Helvetica,sans-serif;
}
.form-response-card p,
.giveaway-rules-page p{
  color:#ddd;
  font-size:17px;
  line-height:1.65;
}
.form-response-card>a{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  padding:10px 22px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.form-response-emergency a{
  color:var(--orange)!important;
  font-weight:900;
}
.giveaway-rules-page h2{
  margin:28px 0 8px;
  color:var(--orange);
  font:900 22px Arial,Helvetica,sans-serif;
}



/* FINAL IPHONE + ANDROID MOBILE EXPERIENCE
   These rules affect phones/tablets only. Desktop remains unchanged. */

/* =========================================================
   CLEAN MOBILE CSS REBUILD — IPHONE + ANDROID
   Desktop CSS above is unchanged. All former max-width
   mobile patches were removed and replaced by this section.
   ========================================================= */

@media (max-width: 1100px) {
  html {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    overflow-x: hidden;
    font-size: 17px;
    line-height: 1.6;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  /* Header and hamburger */
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #050505;
  }

  .header-main {
    min-height: 78px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .approved-logo {
    flex: 1 1 auto;
    min-width: 0;
  }

  .approved-logo img {
    display: block;
    width: auto;
    max-width: 220px;
    height: 54px;
    object-fit: contain;
    object-position: left center;
  }

  .approved-logo .header-trust-badge,
  .emergency-phone,
  .social-row {
    display: none;
  }

  .mobile-menu-button {
    display: flex;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid #555;
    border-radius: 6px;
    background: #111;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    touch-action: manipulation;
  }

  .mobile-menu-button span {
    display: block;
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    transition: transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-button.open span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }

  .mobile-menu-button.open span:nth-child(2) {
    opacity: 0;
  }

  .mobile-menu-button.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  #main-navigation.primary-nav {
    position: fixed;
    top: 78px;
    right: 0;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    left: 0;
    z-index: 999;
    display: block;
    width: 100%;
    max-height: none;
    padding: 0 0 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #070707;
    border-top: 1px solid #60300f;
    border-bottom: 3px solid var(--orange);
    box-shadow: 0 18px 36px rgba(0,0,0,.8);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  #main-navigation.primary-nav.mobile-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  #main-navigation.primary-nav > a,
  #main-navigation.primary-nav .nav-trigger {
    display: flex;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 15px 20px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid #292929;
    background: #090909;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
  }

  #main-navigation .nav-item {
    width: 100%;
  }

  #main-navigation .nav-item .dropdown {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    visibility: visible;
    opacity: 1;
    transform: none;
    border: 0;
    box-shadow: none;
    background: #151515;
    transition: max-height .25s ease;
  }

  #main-navigation .nav-item.open .dropdown {
    max-height: 900px;
  }

  #main-navigation .dropdown a {
    display: flex;
    min-height: 52px;
    padding: 13px 20px 13px 38px;
    align-items: center;
    border-bottom: 1px solid #2c2c2c;
    background: #151515;
    color: #eee;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
  }

  #main-navigation .nav-trigger span {
    font-size: 22px;
    transition: transform .2s ease;
  }

  #main-navigation .nav-item.open .nav-trigger span {
    transform: rotate(180deg);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  /* Standard readable type */
  main p,
  main li,
  main blockquote,
  main figcaption,
  main details p {
    font-size: 17px;
    line-height: 1.62;
  }

  main h1 {
    overflow-wrap: anywhere;
  }

  main h2 {
    font-size: clamp(30px, 6vw, 42px);
    line-height: 1.08;
  }

  main h3 {
    font-size: 22px;
    line-height: 1.2;
  }

  .section-label,
  .internal-page-kicker {
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: .7px;
  }

  /* Consistent page spacing */
  .info-page-main,
  .about-family-main,
  .service-areas-main,
  .county-detail-main,
  .county-complete-main,
  .pumping-main,
  .repairs-main,
  .installation-main,
  .inspection-main,
  .emergency-main,
  .rooter-main,
  .financing-main {
    width: 100%;
    max-width: 100%;
    padding: 30px 18px 48px;
  }

  /* Interior page heroes */
  .info-page-hero,
  .about-family-hero,
  .service-areas-hero,
  .county-detail-hero,
  .county-complete-hero,
  .pumping-hero,
  .repairs-hero,
  .installation-hero,
  .inspection-hero,
  .emergency-page-hero,
  .rooter-page-hero,
  .finance-page-hero {
    min-height: 0;
    padding: 36px 18px 28px;
  }

  .info-page-hero h1,
  .about-family-copy h1,
  .service-areas-hero h1,
  .county-detail-hero h1,
  .county-complete-hero h1,
  .pumping-hero h1,
  .repairs-hero h1,
  .installation-hero h1,
  .inspection-hero h1,
  .emergency-page-hero h1,
  .rooter-page-hero h1,
  .finance-page-hero h1 {
    font-size: clamp(38px, 8vw, 56px);
    line-height: 1;
    letter-spacing: -.6px;
  }

  .info-page-hero p,
  .about-family-copy p,
  .service-areas-hero p,
  .county-detail-hero p,
  .county-complete-hero p,
  .pumping-hero p,
  .repairs-hero p,
  .installation-hero p,
  .inspection-hero p,
  .emergency-page-hero p,
  .rooter-page-hero p,
  .finance-page-hero p {
    font-size: 18px;
    line-height: 1.55;
  }

  /* Stack desktop grids */
  .services-page-grid,
  .reviews-page-grid,
  .contact-page-grid,
  .info-page-feature-row,
  .contact-page-form-panel,
  .blog-topic-grid,
  .about-story-grid,
  .about-family-values,
  .about-mascot-grid,
  .about-placeholder-grid,
  .about-promise-grid,
  .service-areas-intro,
  .service-county-grid,
  .service-areas-service-grid,
  .county-detail-intro-grid,
  .county-detail-two-column,
  .county-detail-service-grid,
  .county-detail-why-grid,
  .county-complete-intro,
  .county-complete-two-column,
  .pumping-intro,
  .pumping-two-column,
  .repairs-intro,
  .repairs-two-column,
  .installation-intro,
  .installation-two-column,
  .inspection-intro,
  .inspection-two-column,
  .emergency-intro,
  .emergency-two-column,
  .rooter-intro,
  .rooter-two-column,
  .rooter-service-area,
  .financing-options,
  .approved-form-grid,
  .approved-form-checks,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  /* Panels */
  .services-page-grid article,
  .reviews-page-grid article,
  .contact-page-card,
  .info-page-intro,
  .info-page-callout,
  .contact-page-form-panel,
  .contact-social-panel,
  .blog-coming-soon,
  .about-story-copy,
  .about-mascot-family,
  .about-team-section,
  .about-promise-section,
  .service-areas-intro,
  .service-areas-services,
  .service-county-card,
  .county-detail-dark-panel,
  .county-complete-dark-panel,
  .pumping-dark-panel,
  .repairs-dark-panel,
  .installation-dark-panel,
  .inspection-dark-panel,
  .emergency-dark-panel,
  .rooter-dark-panel,
  .approved-service-form {
    padding: 22px 18px;
  }

  /* Buttons and forms */
  .internal-page-actions,
  .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }

  .internal-page-actions a,
  .hero-buttons a {
    width: 100%;
    min-height: 52px;
    padding: 13px 16px;
    font-size: 17px;
    line-height: 1.25;
    white-space: normal;
  }

  .approved-service-form label {
    font-size: 16px;
    line-height: 1.35;
  }

  .approved-service-form input,
  .approved-service-form select,
  .approved-service-form textarea,
  .mailing-form input,
  .mailing-form select {
    width: 100%;
    min-height: 52px;
    padding: 12px 13px;
    font-size: 17px;
  }

  .approved-service-form textarea {
    min-height: 145px;
  }

  .approved-service-form button,
  .mailing-form button {
    min-height: 52px;
    font-size: 17px;
  }

  /* FAQ */
  details summary,
  .faq-page-list summary {
    min-height: 56px;
    padding: 16px;
    font-size: 18px;
    line-height: 1.35;
  }

  /* Images and galleries */
  figure img {
    width: 100%;
  }

  .rooter-photo-grid,
  .county-detail-gallery,
  .county-complete-gallery,
  .pumping-gallery,
  .repairs-gallery,
  .installation-gallery,
  .inspection-gallery,
  .emergency-gallery {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .rooter-photo-grid .rooter-wide,
  .county-detail-gallery .gallery-wide,
  .county-complete-gallery .gallery-wide,
  .pumping-gallery .gallery-wide,
  .repairs-gallery .gallery-wide,
  .installation-gallery .gallery-wide,
  .inspection-gallery .gallery-wide,
  .emergency-gallery .gallery-wide {
    grid-column: 1 / -1;
  }

  /* Footer */
  footer {
    padding: 38px 20px calc(102px + env(safe-area-inset-bottom, 0px));
  }

  .footer-grid {
    gap: 26px;
  }

  .footer-grid h3 {
    font-size: 22px;
  }

  .footer-grid p,
  .footer-grid a {
    font-size: 17px;
    line-height: 1.55;
  }

  /* Fixed bottom action bar */
  .mobile-callbar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1100;
    display: grid;
    grid-template-columns: .9fr 1.2fr .9fr;
    width: 100%;
    min-height: 72px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #060606;
    border-top: 2px solid var(--orange);
    box-shadow: 0 -5px 16px rgba(0,0,0,.55);
  }

  .mobile-callbar a {
    min-width: 0;
    min-height: 72px;
    margin: 0;
    padding: 7px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-left: 1px solid #333;
    font-size: 13px;
    line-height: 1.15;
    text-align: center;
  }

  .mobile-callbar .mobile-call-main {
    background: linear-gradient(#fb7116, #cd4100);
    font-size: 15px;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 18px;
  }

  .header-main {
    min-height: 74px;
    padding: 8px 12px;
  }

  .approved-logo img {
    max-width: 190px;
    height: 49px;
  }

  #main-navigation.primary-nav {
    top: 74px;
  }

  main p,
  main li,
  main blockquote,
  main figcaption,
  main details p {
    font-size: 18px;
    line-height: 1.62;
  }

  main h2 {
    font-size: clamp(29px, 9vw, 38px);
  }

  .info-page-main,
  .about-family-main,
  .service-areas-main,
  .county-detail-main,
  .county-complete-main,
  .pumping-main,
  .repairs-main,
  .installation-main,
  .inspection-main,
  .emergency-main,
  .rooter-main,
  .financing-main {
    padding-right: 14px;
    padding-left: 14px;
  }

  .info-page-hero,
  .about-family-hero,
  .service-areas-hero,
  .county-detail-hero,
  .county-complete-hero,
  .pumping-hero,
  .repairs-hero,
  .installation-hero,
  .inspection-hero,
  .emergency-page-hero,
  .rooter-page-hero,
  .finance-page-hero {
    padding: 32px 15px 25px;
  }

  .info-page-hero h1,
  .about-family-copy h1,
  .service-areas-hero h1,
  .county-detail-hero h1,
  .county-complete-hero h1,
  .pumping-hero h1,
  .repairs-hero h1,
  .installation-hero h1,
  .inspection-hero h1,
  .emergency-page-hero h1,
  .rooter-page-hero h1,
  .finance-page-hero h1 {
    font-size: clamp(36px, 11vw, 48px);
  }

  /* Homepage */
  .hero {
    min-height: auto;
  }

  .hero-content {
    min-height: 0;
    padding: 38px 15px 28px;
  }

  .hero h1 {
    font-size: clamp(46px, 14vw, 62px);
    line-height: .92;
  }

  .green-brush {
    font-size: 18px;
    line-height: 1.18;
  }

  .hero-copy p {
    font-size: 18px;
    line-height: 1.55;
  }

  .service-menu {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    overflow: visible;
  }

  .service-item img {
    width: 100%;
    min-width: 0;
  }

  .home-card {
    min-height: 0;
    padding: 22px 17px 76px;
  }

  .home-card h2 {
    font-size: 28px;
  }

  .home-card p,
  .home-card li,
  .home-card blockquote {
    font-size: 18px;
    line-height: 1.58;
  }

  /* One image per row on small phones */
  .rooter-photo-grid,
  .county-detail-gallery,
  .county-complete-gallery,
  .pumping-gallery,
  .repairs-gallery,
  .installation-gallery,
  .inspection-gallery,
  .emergency-gallery {
    grid-template-columns: 1fr;
  }

  .rooter-photo-grid .rooter-wide,
  .county-detail-gallery .gallery-wide,
  .county-complete-gallery .gallery-wide,
  .pumping-gallery .gallery-wide,
  .repairs-gallery .gallery-wide,
  .installation-gallery .gallery-wide,
  .inspection-gallery .gallery-wide,
  .emergency-gallery .gallery-wide {
    grid-column: auto;
  }

  .about-employee-profile img {
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }
}

@media (max-width: 360px) {
  .approved-logo img {
    max-width: 165px;
  }

  .mobile-menu-button {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  .hero h1 {
    font-size: 44px;
  }

  .service-menu {
    grid-template-columns: 1fr;
  }
}

/* HOMEPAGE PHONE LAYOUT CORRECTION
   Corrects desktop !important rules that were overriding phone layout. */
@media (max-width: 640px) {

  /* Larger centered header logo with hamburger kept accessible */
  .header-main {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 94px !important;
    min-height: 94px !important;
    padding: 8px 72px 8px 14px !important;
    gap: 0 !important;
  }

  .approved-logo,
  .approved-logo.logo-block {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 300px !important;
    height: 78px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .approved-logo img,
  .approved-logo.logo-block img {
    display: block !important;
    width: 100% !important;
    max-width: 285px !important;
    height: 72px !important;
    max-height: 72px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .mobile-menu-button {
    position: absolute !important;
    top: 21px !important;
    right: 12px !important;
    z-index: 1002 !important;
  }

  #main-navigation.primary-nav {
    top: 94px !important;
  }

  /* Clean homepage hero — no overlapping phone mockup or mascot */
  .hero {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    background-position: 62% center !important;
  }

  .hero-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 42px 18px 34px !important;
  }

  .hero-copy {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    text-align: left !important;
  }

  .hero h1 {
    margin: 0 0 16px !important;
    font-size: clamp(48px, 15vw, 66px) !important;
    line-height: .9 !important;
    letter-spacing: -1px !important;
  }

  .green-brush {
    display: block !important;
    width: calc(100% - 14px) !important;
    max-width: 520px !important;
    margin: 14px auto 22px !important;
    padding: 10px 13px 8px !important;
    font-size: clamp(21px, 6.5vw, 29px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
    transform: none !important;
    box-shadow: none !important;
  }

  .hero-supporting-copy {
    margin: 0 0 22px !important;
  }

  .hero-fast-line,
  .hero-legendary-line,
  .hero-service-line {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px !important;
    font-size: clamp(21px, 6vw, 29px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .hero-service-line {
    font-size: clamp(20px, 5.8vw, 27px) !important;
  }

  .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .hero-buttons .button,
  .hero-buttons .button.orange,
  .hero-buttons .button.black {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 15px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    transform: none !important;
  }

  .mascot,
  .booking-phone {
    display: none !important;
  }

  /* Service tiles */
  .service-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 12px 22px !important;
  }

  .service-menu .service-item {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .service-menu .service-item img,
  .service-menu img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  /* Four homepage information boxes must stack vertically */
  .homepage-cards {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 12px 30px !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  .homepage-cards > .home-card,
  .home-card,
  .family-card,
  .emergency-card,
  .financing-card,
  .areas-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 22px 17px 24px !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  .home-card > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .box-top-ribbon,
  .emergency-top-ribbon,
  .financing-topline {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: calc(100% + 34px) !important;
    min-height: 0 !important;
    margin: -22px -17px 20px !important;
    padding: 13px 10px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .home-card h2,
  .home-card h3,
  .family-heading-top,
  .family-results-line,
  .financing-main-question,
  .financing-option-one h3 {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 15px !important;
    font-size: clamp(27px, 8vw, 36px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .family-heading-top > div,
  .finance-line-white,
  .finance-line-orange {
    white-space: normal !important;
    word-break: normal !important;
  }

  .home-card p,
  .home-card li,
  .home-card blockquote,
  .financing-option-one p {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .home-card ul,
  .county-columns {
    width: 100% !important;
    min-width: 0 !important;
  }

  .county-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .family-card img {
    width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    margin: 0 auto 14px !important;
    object-fit: cover !important;
  }

  .areas-map-image {
    width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    margin: 12px auto 18px !important;
    object-fit: contain !important;
  }

  .home-card > a,
  .family-bottom-button,
  .finance-main-cta,
  .service-areas-bottom-button {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 18px 0 0 !important;
    padding: 13px 15px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .finance-main-cta {
    width: 100% !important;
  }

  .emergency-body,
  .financing-message,
  .finance-provider,
  .financing-option-one .finance-note {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Prevent bottom bar from covering the last content */
  main {
    padding-bottom: 14px !important;
  }
}

@media (max-width: 360px) {
  .header-main {
    padding-right: 64px !important;
  }

  .approved-logo,
  .approved-logo.logo-block {
    max-width: 245px !important;
  }

  .approved-logo img,
  .approved-logo.logo-block img {
    max-width: 235px !important;
  }

  .hero h1 {
    font-size: 46px !important;
  }

  .service-menu {
    grid-template-columns: 1fr !important;
  }
}


/* FINAL MOBILE HOMEPAGE — FORMS HIDDEN + REVIEWS ORGANIZED
   Desktop is untouched. These rules apply only to phones/tablets. */
@media (max-width: 767px) {

  /* Keep both homepage forms in the HTML for Netlify, but hide them on phones. */
  body .mailing-giveaway,
  body #mailing-list,
  body .approved-service-form-section,
  body #booking.approved-service-form-section {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  /* Force the four homepage feature cards into one full-width column. */
  body .homepage-cards {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 14px 28px !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  body .homepage-cards > article,
  body .homepage-cards > .home-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Reviews become one clean full-width card. */
  body .reviews-mailing-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 14px 30px !important;
    overflow: visible !important;
  }

  body .reviews-mailing-row .homepage-review-section,
  body .homepage-review-section.compact-review-panel {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 2px solid var(--orange) !important;
    border-radius: 10px !important;
    background: rgba(8,8,8,.96) !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-inner {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 16px 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-inner > .box-top-ribbon {
    position: static !important;
    display: block !important;
    width: calc(100% + 32px) !important;
    max-width: none !important;
    margin: 0 -16px 18px !important;
    padding: 13px 10px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body .google-review-logo-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto 12px !important;
  }

  body .google-review-logo {
    display: block !important;
    width: auto !important;
    max-width: 185px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  body .review-section-head {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body .review-section-head h2 {
    margin: 6px 0 8px !important;
    font-size: 29px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  body .review-section-head p {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  body .homepage-review-carousel {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 36px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-carousel .review-slides,
  body .review-slides {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body .homepage-review-carousel .review-slide,
  body .review-slide {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 8px 18px !important;
    opacity: 1 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-carousel .review-slide.active,
  body .review-slide.active {
    display: block !important;
  }

  body .review-slide blockquote {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body .reviewer-name,
  body .review-source,
  body .stars {
    width: 100% !important;
    text-align: center !important;
  }

  body .review-nav {
    position: absolute !important;
    top: 50% !important;
    width: 34px !important;
    height: 48px !important;
    min-width: 34px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }

  body .review-prev {
    left: 0 !important;
  }

  body .review-next {
    right: 0 !important;
  }

  body .review-dots {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 12px 0 4px !important;
  }

  body .review-section-actions {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
  }

  body .review-section-actions .button {
    width: 100% !important;
    max-width: 300px !important;
    min-height: 52px !important;
  }

  /* Larger, centered logo. */
  body .header-main {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 96px !important;
    height: 96px !important;
    padding: 8px 70px 8px 14px !important;
  }

  body .approved-logo,
  body .approved-logo.logo-block {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 315px !important;
    height: 80px !important;
    margin: 0 auto !important;
  }

  body .approved-logo img,
  body .approved-logo.logo-block img {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: 74px !important;
    max-height: 74px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body .mobile-menu-button {
    position: absolute !important;
    top: 23px !important;
    right: 12px !important;
  }

  body #main-navigation.primary-nav {
    top: 96px !important;
  }
}
@font-face{font-family:FontAwesome;src:url('fontawesome-webfont.woff2') format('woff2')}
:root{--orange:#f15b08;--orange-dark:#bd3c00;--green:#92a52b;--black:#050505;--panel:#121212;--white:#f1f1ed;--gray:#c7c7c7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#030303;color:var(--white);font-family:Arial,Helvetica,sans-serif;background-image:linear-gradient(#0008,#0008),url('dark-texture.jpg');background-attachment:fixed;background-size:cover}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font:inherit}
.fa{font-family:FontAwesome!important}
.site-header{background:#030303;border-bottom:1px solid #6b2c0d;position:relative;z-index:50}
.header-main{height:118px;max-width:1600px;margin:auto;padding:0 38px;display:flex;align-items:center;gap:40px}
.approved-logo{width:285px;min-width:245px}
.approved-logo img{width:100%;height:auto}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:33px}
.primary-nav>a,.nav-trigger{font-family:Impact,'Arial Narrow',sans-serif;color:#eee;font-size:17px;letter-spacing:.5px;background:none;border:0;padding:38px 0;cursor:pointer}
.primary-nav a:hover,.nav-trigger:hover{color:var(--orange)}
.nav-item{position:relative}
.dropdown{position:absolute;left:-18px;top:82px;min-width:245px;background:#0b0b0b;border:1px solid #77350f;box-shadow:0 16px 35px #000d;padding:9px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:11px 13px;border-bottom:1px solid #282828;font-size:14px;color:#ddd}
.dropdown a:last-child{border:0}
.dropdown a:hover{background:#1a1a1a;color:var(--orange)}
.emergency-phone{display:flex;align-items:center;gap:12px;padding-left:26px;border-left:1px solid #303030;min-width:310px}
.phone-icon{font-family:FontAwesome;font-size:33px;color:#fff}
.phone-copy{display:flex;flex-direction:column}
.phone-copy small,.phone-copy em{font-family:Impact,'Arial Narrow',sans-serif;font-style:normal;letter-spacing:.7px}
.phone-copy small{font-size:12px}
.phone-copy strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:33px;color:var(--orange);line-height:1.03}
.phone-copy em{font-size:10px;color:#ccc}
.mobile-menu-button{display:none;background:none;border:0;color:#fff;font-size:28px}
.social-row{height:48px;border-top:1px solid #191919;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 max(40px,calc((100vw - 1500px)/2));background:#070707}
.social-row>span{font-family:Impact,'Arial Narrow',sans-serif;font-size:14px;letter-spacing:.8px}
.social-icons{display:flex;gap:10px}
.social-icons a{width:33px;height:33px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;color:#fff;background:#101010;font-size:14px}
.social-icons a:hover{border-color:var(--orange);color:var(--orange)}
.brand-x,.brand-tiktok{font-family:Arial,Helvetica,sans-serif;font-weight:900}
.hero{min-height:695px;background:url('truck-hero.jpg') center 48%/cover no-repeat;position:relative;overflow:hidden;border-bottom:1px solid #6e3211}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000e 0%,#0009 28%,#0001 63%,#0008 100%),linear-gradient(0deg,#000a,transparent 36%)}
.hero-content{max-width:1600px;min-height:695px;margin:auto;position:relative;padding:50px 48px 30px}
.hero-copy{width:540px;position:relative;z-index:5}
.hero h1{margin:0;font-family:Impact,'Arial Narrow',sans-serif;font-size:105px;line-height:.84;letter-spacing:-1px;text-shadow:4px 5px 0 #000,0 0 18px #000}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 span{color:#eee}.hero h1 strong{color:var(--orange)}
.green-brush{display:inline-block;margin:15px 0 23px;background:linear-gradient(90deg,#68751c,#9ba52a,#707d20);padding:8px 20px 5px;font-family:Impact,'Arial Narrow',sans-serif;font-size:27px;letter-spacing:.8px;transform:skew(-4deg);box-shadow:10px 0 #6f7d20,-10px 0 #6f7d20}
.hero-copy p{font-size:18px;line-height:1.35;margin:0 0 22px;text-shadow:2px 2px 4px #000}
.hero-copy p em{font-style:normal;color:var(--orange)}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}
.button{padding:14px 23px;border-radius:3px;font-family:Impact,'Arial Narrow',sans-serif;font-size:17px;letter-spacing:.5px;border:1px solid #aaa;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.button.orange{background:linear-gradient(#fb7015,#cf4100);border-color:#ff8f46}
.button.black{background:linear-gradient(#202020,#060606)}
.button:hover{filter:brightness(1.13);transform:translateY(-2px)}
.mascot{position:absolute;width:430px;right:315px;bottom:0;z-index:3;filter:drop-shadow(12px 18px 10px #000c)}
.booking-phone{position:absolute;width:330px;right:30px;bottom:-80px;z-index:4;filter:drop-shadow(15px 20px 18px #000);transform:rotate(1.8deg)}
.service-menu{background:#030303;padding:0 18px;position:relative;z-index:8}
.service-menu img{width:100%;max-width:1600px;margin:-34px auto 0;max-height:210px;object-fit:contain}
.homepage-cards{max-width:1555px;margin:0 auto;padding:12px 18px 15px;display:grid;grid-template-columns:1.02fr .9fr 1fr 1.18fr;gap:10px}
.home-card{background:linear-gradient(145deg,#191919,#090909);border:1px solid #75401e;padding:18px;min-height:300px;box-shadow:inset 0 0 28px #000;position:relative;overflow:hidden}
.home-card h2{font-family:Impact,'Arial Narrow',sans-serif;margin:0 0 12px;font-size:24px;line-height:1.05}
.home-card h2 span{color:var(--orange)}
.home-card p,.home-card blockquote,.home-card li{color:#d0d0d0;font-size:14px;line-height:1.38}
.home-card>a{position:absolute;left:18px;bottom:16px;background:linear-gradient(#ef6911,#ca4100);border:1px solid #ff8b43;padding:9px 14px;font-family:Impact,'Arial Narrow',sans-serif;font-size:13px}
.family-card img{height:150px;width:100%;object-fit:cover;border:7px solid #d8c7a4;margin-bottom:7px}
.reviews-card{text-align:center}.stars{color:var(--orange);letter-spacing:4px;font-size:25px}.reviews-card blockquote{margin:18px 4px}
.finance-seal{width:95px;height:95px;border-radius:50%;border:9px double #8d9b30;display:grid;place-items:center;font:52px Georgia,serif;margin:10px auto;background:#1c2212}
.financing-card ul,.areas-card ul{list-style:none;padding:0;margin:7px 0}
.financing-card li:before,.areas-card li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:8px}
.county-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.areas-card li{margin:8px 0;font-family:Impact,'Arial Narrow',sans-serif;font-size:14px;color:#eee}
.booking-band{max-width:1555px;margin:0 auto 16px;border:1px solid #74401e;background:linear-gradient(90deg,#131313,#080808);min-height:132px;display:grid;grid-template-columns:270px 1fr 45px 1fr 45px 1fr 290px;align-items:center;gap:15px;padding:0 20px}
.booking-title{display:flex;flex-direction:column}.booking-title strong{font:44px/1 Impact,'Arial Narrow',sans-serif}.booking-title span{font:28px/1 Impact,'Arial Narrow',sans-serif;color:#9daa32}
.booking-step{display:flex;gap:13px;align-items:center}.booking-step>b{width:58px;height:58px;border-radius:50%;border:4px solid #bbb;display:grid;place-items:center;font:28px Impact,'Arial Narrow',sans-serif}.booking-step div{display:flex;flex-direction:column}.booking-step strong{font:17px Impact,'Arial Narrow',sans-serif}.booking-step span{color:#ccc;font-size:13px}
.booking-arrow{font-size:30px;color:#bbb}
.booking-cta{height:100%;margin-right:-20px;background:linear-gradient(145deg,#ef6512,#bd3500);display:flex;flex-direction:column;align-items:center;justify-content:center;font:31px Impact,'Arial Narrow',sans-serif;text-align:center}.booking-cta small{font-size:13px}
.short-reviews{max-width:1555px;margin:0 auto 18px;padding:28px 35px;border:1px solid #74401e;background:#101010;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:30px}.short-reviews h2{font:32px Impact,'Arial Narrow',sans-serif;margin:4px 0}.short-reviews p{color:#ccc}
footer{border-top:3px solid var(--orange);background:#030303;padding:45px 35px 86px}.footer-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr .9fr 1fr;gap:45px}.footer-logo{width:280px}.footer-grid h3{font:20px Impact,'Arial Narrow',sans-serif;color:var(--orange)}.footer-grid>div>a{display:block;color:#bbb;margin:7px 0;font-size:14px}.footer-grid p{color:#aaa}.footer-social{display:flex;flex-wrap:wrap;gap:13px}.footer-social a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;box-shadow:0 0 0 2px #ffffff2b}.fb{background:#1877f2}.yt{background:#ff0000}.ig{background:linear-gradient(135deg,#feda75,#d62976,#4f5bd5)}.x{background:#111}.tt{background:#111;text-shadow:2px 0 #25f4ee,-2px 0 #fe2c55}.pin{background:#bd081c}.disclosure{max-width:1500px;margin:34px auto 0;border-top:1px solid #222;padding-top:18px;color:#777;font-size:11px}
.mobile-callbar{display:none}




.nav-item.open .dropdown{opacity:1;visibility:visible;transform:none}


/* Full-width responsive service menu */
.service-menu{
  width:100%;
  max-width:1600px;
  margin:-28px auto 0;
  padding:0 18px 10px;
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  background:transparent;
}
.service-item{
  display:block;
  min-width:0;
  transition:transform .18s ease, filter .18s ease;
}
.service-item img{
  width:100%;
  height:auto;
  display:block;
}
.service-item:hover{
  transform:translateY(-4px);
  filter:brightness(1.08);
}






/* Official Avalanche logo */
.approved-logo{
  width:300px;
  min-width:260px;
  display:flex;
  align-items:center;
}
.approved-logo img{
  width:100%;
  height:auto;
  max-height:104px;
  object-fit:contain;
}
.footer-logo{
  width:300px;
  height:auto;
}

/* Desktop: service bar fills the content width and remains one row */
@media(min-width:981px){
  .service-menu{
    width:min(100%,1600px);
    grid-template-columns:repeat(6,minmax(0,1fr));
    padding-left:18px;
    padding-right:18px;
  }
  .service-item img{
    width:100%;
    height:auto;
  }
}

/* Tablet: 3 across for a balanced, readable layout */


/* Phone: 2 across; each panel stays large enough to read and tap */


/* Very narrow phones: one full-width service panel per row */



/* Requested spacing and stability updates */
.logo-block{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.logo-tagline{
  margin-top:4px;
  font-family:Impact,'Arial Narrow',sans-serif;
  color:#f15b08;
  font-size:14px;
  letter-spacing:1.8px;
  line-height:1;
  text-align:center;
}
.footer-logo-block{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
}
.footer-tagline{
  font-size:15px;
  margin-top:7px;
}

.phone-copy small{
  font-size:15px !important;
  line-height:1.05;
}
.phone-copy .big-247{
  font-size:26px;
  color:#fff;
  margin-right:4px;
}
.phone-copy em{
  font-size:14px !important;
  margin-top:5px;
  letter-spacing:.9px;
}

.service-item,
.service-item:hover,
.button,
.button:hover{
  transform:none !important;
}
.service-item:hover{
  filter:brightness(1.07);
}

/* More breathing room between homepage sections */
.hero{
  margin-bottom:28px;
}
.service-menu{
  margin-top:0 !important;
  margin-bottom:36px !important;
}
.homepage-cards{
  padding-top:24px !important;
  padding-bottom:38px !important;
  gap:18px !important;
}
.booking-band{
  margin-top:14px !important;
  margin-bottom:38px !important;
}
.short-reviews{
  margin-top:8px !important;
  margin-bottom:44px !important;
}
footer{
  margin-top:20px;
}

/* Slightly more inner spacing inside cards */
.home-card{
  padding:23px !important;
}
.home-card h2{
  margin-bottom:16px !important;
}




/* Larger header logo and more phone visibility */
.header-main{
  gap:32px !important;
}
.approved-logo{
  width:360px !important;
  min-width:320px !important;
}
.approved-logo img{
  max-height:118px !important;
}
.logo-tagline{
  margin-top:6px !important;
  font-size:16px !important;
}

/* Move the service bar lower so more of the phone is visible above it */
.service-menu{
  margin-top:22px !important;
  margin-bottom:42px !important;
}
.booking-phone{
  right:28px !important;
  bottom:-44px !important;
  width:345px !important;
}
.hero{
  margin-bottom:8px !important;
}

/* Areas card map */
.areas-card{
  display:flex;
  flex-direction:column;
}
.areas-map-image{
  width:100%;
  margin:14px 0 56px;
  border:1px solid #7a401d;
  border-radius:10px;
  box-shadow:inset 0 0 20px #000;
}

/* Keep the service bar stable */
.service-item,
.service-item:hover,
.button,
.button:hover{
  transform:none !important;
}








/* Final approved service-area map on homepage */
.areas-map-image{
  width:100%;
  height:245px;
  object-fit:contain;
  object-position:center;
  padding:5px;
  margin:12px 0 54px;
  background:#090909;
  border:1px solid #78401d;
  border-radius:8px;
}





/* Final header logo update */
.header-main{
  min-height:138px !important;
  height:138px !important;
  padding-left:24px !important;
  padding-right:34px !important;
  align-items:center !important;
}

.approved-logo.logo-block{
  width:425px !important;
  min-width:385px !important;
  max-width:425px !important;
  align-items:flex-start !important;
  justify-content:center !important;
  margin-left:0 !important;
}

.approved-logo.logo-block img{
  width:100% !important;
  max-height:128px !important;
  object-fit:contain !important;
  object-position:left center !important;
}








/* Header logo treatment with framed green trust line */
.header-main{
  min-height:126px !important;
  height:126px !important;
  gap:28px !important;
  align-items:center !important;
}

.approved-logo.logo-block{
  width:345px !important;
  min-width:320px !important;
  max-width:345px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:8px !important;
}

.approved-logo.logo-block img{
  width:100% !important;
  max-height:98px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.header-trust-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 12px 5px;
  background:linear-gradient(180deg,#8ea330,#6f8124);
  color:#fff;
  border:1px solid #bfc78e;
  box-shadow:0 0 0 1px #4a5317 inset;
  border-radius:4px;
  font-family:Impact,'Arial Narrow',sans-serif;
  font-size:12px;
  letter-spacing:.9px;
  line-height:1;
  white-space:nowrap;
  text-align:center;
}










/* Clearer typography for the header badge and four homepage feature boxes */
.header-trust-badge{
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:14px !important;
  letter-spacing:.45px !important;
  line-height:1.15 !important;
  padding:8px 14px 7px !important;
  min-height:34px !important;
  text-shadow:0 1px 1px #0008;
}

/* Main headings inside the four homepage cards */
.home-card h2{
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-.3px !important;
  margin-bottom:17px !important;
  color:#fff !important;
  text-shadow:0 2px 2px #000;
}

.home-card h2 span{
  color:var(--orange) !important;
}

/* Make supporting text easier to read */
.home-card p,
.home-card blockquote,
.home-card li{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

.home-card>a{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}

/* Specific spacing so the headings do not feel cramped */
.family-card h2,
.reviews-card h2,
.financing-card h2,
.areas-card h2{
  min-height:64px;
  display:flex;
  align-items:flex-start;
}

/* Reviews heading and quote clarity */
.reviews-card blockquote{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}

/* County names clearer */
.areas-card li{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

/* Financing bullets clearer */
.financing-card li{
  font-size:15px !important;
  font-weight:700 !important;
  margin:7px 0 !important;
}






/* Real Google review styling */
.reviews-card{
  text-align:left !important;
}
.reviews-card .stars{
  text-align:left;
  margin:4px 0 10px;
}
.reviews-card blockquote{
  margin:8px 0 12px !important;
  padding:0 !important;
  quotes:none;
  color:#f0f0f0 !important;
}
.reviewer-name{
  font-weight:900;
  font-size:15px;
  color:#fff;
  margin-top:8px;
}
.review-source{
  font-size:12px;
  color:#aaa;
  text-transform:uppercase;
  letter-spacing:.7px;
  margin-top:2px;
}


/* Removed lower NEPA trust strip; keep footer spacing clean */
footer{
  margin-top:34px !important;
}


/* Homepage rotating review carousel */
.review-carousel-card{
  text-align:left !important;
  padding-bottom:62px !important;
}
.review-carousel{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  min-height:230px;
}
.review-slides{
  position:relative;
  min-height:220px;
}
.review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  transition:opacity .35s ease, transform .35s ease;
}
.review-slide.active{
  position:relative;
  opacity:1;
  visibility:visible;
  transform:none;
}
.review-slide .stars{
  text-align:left;
  margin:0 0 10px;
}
.review-slide blockquote{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#f0f0f0 !important;
  font-size:15px !important;
  line-height:1.48 !important;
  font-weight:600 !important;
}
.review-nav{
  width:32px;
  height:52px;
  border:1px solid #5d5d5d;
  background:#090909;
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
}
.review-nav:hover{
  border-color:var(--orange);
  color:var(--orange);
}
.review-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:8px 0 0;
}
.review-dots button{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  padding:0;
  background:#666;
  cursor:pointer;
}
.review-dots button.active{
  background:var(--orange);
}
.review-carousel-card>a{
  left:23px !important;
  bottom:18px !important;
}





/* Featured Synchrony financing homepage panel */
.financing-featured{
  border:2px solid #d9aa24 !important;
  background:
    radial-gradient(circle at 78% 20%,rgba(216,170,36,.17),transparent 35%),
    linear-gradient(145deg,#22232d,#0a0a0d 68%) !important;
  box-shadow:
    inset 0 0 34px #000,
    0 0 18px rgba(217,170,36,.18) !important;
  padding:24px 22px 20px !important;
  min-height:390px !important;
}

.financing-ribbon{
  display:inline-block;
  margin:-3px 0 13px;
  padding:7px 13px 6px;
  border-radius:3px;
  background:linear-gradient(#f8ca3b,#d99c0a);
  color:#20212a;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.8px;
  box-shadow:0 3px 10px #0008;
}

.financing-featured h2{
  min-height:auto !important;
  margin:0 0 13px !important;
  font-size:27px !important;
  line-height:1.08 !important;
}
.financing-featured h2 span{
  color:#f4bd22 !important;
}

.synchrony-logo-wrap{
  width:100%;
  height:86px;
  margin:2px 0 12px;
  border:1px solid #d5a51f;
  border-radius:6px;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.synchrony-logo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 15%;
}

.financing-intro{
  margin:0 0 15px !important;
  color:#f0f0f0 !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.financing-buttons{
  display:grid;
  gap:8px;
  margin-top:auto;
}
.financing-featured .financing-buttons a{
  position:static !important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:40px;
  padding:10px 12px;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  text-align:center;
  border-radius:4px;
}
.finance-primary{
  background:linear-gradient(#f9cb3d,#d99c0a) !important;
  border:1px solid #ffe57b !important;
  color:#20212a !important;
}
.finance-secondary{
  background:#11131a !important;
  border:1px solid #8d8f98 !important;
  color:#fff !important;
}
.finance-note{
  display:block;
  margin-top:9px;
  color:#9f9f9f;
  font-size:10px;
  line-height:1.25;
  text-align:center;
}





/* Make the Synchrony image fill the entire financing frame */
.synchrony-logo-wrap{
  width:100% !important;
  height:118px !important;
  padding:0 !important;
  margin:4px 0 14px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.synchrony-logo{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}








/* Financing panel matched to Avalanche black, orange, green, and white theme */
.financing-featured{
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 80% 20%,rgba(145,164,43,.22),transparent 38%),
    linear-gradient(145deg,#191919,#070707 70%) !important;
  box-shadow:
    inset 0 0 34px #000,
    0 0 20px rgba(241,91,8,.22) !important;
}

.financing-ribbon{
  background:linear-gradient(#a0b535,#738723) !important;
  color:#fff !important;
  border:1px solid #cbd792 !important;
  box-shadow:
    inset 0 0 0 1px #4e5b18,
    0 4px 12px #0008 !important;
  text-shadow:0 1px 2px #0008;
}

.financing-featured h2{
  color:#fff !important;
}
.financing-featured h2 span{
  color:var(--orange) !important;
}

.synchrony-logo-wrap{
  border:2px solid var(--orange) !important;
  background:#0b0b0b !important;
  box-shadow:inset 0 0 18px #000 !important;
}

.synchrony-logo{
  filter:saturate(.85) contrast(1.05) brightness(.95);
}

.finance-primary{
  background:linear-gradient(#fa7217,#cf4200) !important;
  border:1px solid #ff9a55 !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,66,0,.28) !important;
}

.finance-secondary{
  background:linear-gradient(#879a2a,#65751f) !important;
  border:1px solid #bbc77c !important;
  color:#fff !important;
}

.finance-note{
  color:#bdbdbd !important;
}

.financing-featured .financing-buttons a:hover{
  filter:brightness(1.1);
}


/* Family card layout refinement requested by user */
.family-card{
  text-align:center !important;
}
.family-heading-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin:0 0 14px;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.08 !important;
  letter-spacing:-.3px !important;
  text-shadow:0 2px 2px #000;
}
.family-card img{
  margin:0 auto 12px !important;
}
.family-results-line{
  margin:2px 0 12px;
  color:var(--orange);
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.08 !important;
  letter-spacing:-.3px !important;
  text-shadow:0 2px 2px #000;
}
.family-card p{
  text-align:center !important;
  margin:0 auto 16px !important;
  max-width:90%;
}
.family-card a{
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:18px !important;
  white-space:nowrap;
}
.family-card a:hover{
  transform:translateX(-50%) !important;
}





/* Center the family-card content in the box and make the main text larger */
.family-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding-top:26px !important;
  padding-bottom:82px !important; /* leave room for bottom button */
}

.family-heading-top{
  width:100%;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin:0 0 16px !important;
  font-size:33px !important;
  line-height:1.06 !important;
}

.family-card img{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 14px !important;
}

.family-results-line{
  width:100%;
  text-align:center !important;
  margin:2px 0 14px !important;
  font-size:33px !important;
  line-height:1.06 !important;
}

.family-card p{
  max-width:92% !important;
  margin:0 auto 18px !important;
  text-align:center !important;
}

.family-card a{
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:20px !important;
}

.family-card a:hover{
  transform:translateX(-50%) !important;
}






/* Expanded family and employee message */
.family-card p{
  max-width:94% !important;
  font-size:15px !important;
  line-height:1.52 !important;
  font-weight:600 !important;
  color:#e1e1e1 !important;
}


/* Replace 4-box review card with an emergency service card */
.emergency-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:300px;
}
.emergency-mini-badge{
  display:inline-block;
  margin:0 0 12px;
  padding:7px 12px 6px;
  background:linear-gradient(#9eb434,#748621);
  color:#fff;
  border:1px solid #c4d08e;
  border-radius:4px;
  box-shadow:inset 0 0 0 1px #4f5d18;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:13px;
  letter-spacing:.4px;
}
.emergency-card h2{
  margin:0 0 14px !important;
}
.emergency-card h2 span{
  color:var(--orange) !important;
}
.emergency-points{
  list-style:none;
  padding:0;
  margin:6px 0 0;
}
.emergency-points li{
  margin:8px 0;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  color:#eee;
}
.emergency-points li:before{
  content:"✓";
  color:var(--orange);
  font-weight:900;
  margin-right:8px;
}

/* Full-width homepage review carousel section */
.homepage-review-section{
  max-width:1555px;
  margin:0 auto 36px;
  padding:0 18px;
}
.homepage-review-inner{
  border:1px solid #74401e;
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
  padding:30px 28px 28px;
}
.review-section-head{
  text-align:center;
  margin-bottom:20px;
}
.review-kicker{
  color:var(--orange);
  letter-spacing:5px;
  font-size:24px;
  margin-bottom:6px;
}
.review-section-head h2{
  margin:0 0 8px;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:34px;
  line-height:1.08;
}
.review-section-head p{
  margin:0;
  color:#d2d2d2;
  font-size:15px;
}

.homepage-review-carousel{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:16px;
  align-items:center;
}
.homepage-review-carousel .review-slides{
  position:relative;
  min-height:235px;
}
.homepage-review-carousel .review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  transition:opacity .35s ease, transform .35s ease;
  text-align:center;
}
.homepage-review-carousel .review-slide.active{
  position:relative;
  opacity:1;
  visibility:visible;
  transform:none;
}
.homepage-review-carousel .review-slide .stars{
  text-align:center;
  margin:0 0 10px;
}
.homepage-review-carousel .review-slide blockquote{
  margin:0 auto 14px !important;
  max-width:980px;
  color:#f0f0f0 !important;
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
  padding:0 !important;
}
.homepage-review-carousel .reviewer-name{
  font-size:17px;
  text-align:center;
}
.homepage-review-carousel .review-source{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#aaa;
  text-align:center;
}
.homepage-review-section .review-dots{
  display:flex;
  justify-content:center;
  gap:9px;
  margin:14px 0 18px;
}
.homepage-review-section .review-dots button{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  padding:0;
  background:#666;
  cursor:pointer;
}
.homepage-review-section .review-dots button.active{
  background:var(--orange);
}
.review-section-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.review-section-actions .button{
  min-width:210px;
}
.review-nav{
  width:40px;
  height:58px;
  border:1px solid #5c5c5c;
  background:#090909;
  color:#fff;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
}
.review-nav:hover{
  border-color:var(--orange);
  color:var(--orange);
}






/* Mailing-list monthly giveaway section */
.mailing-giveaway{
  max-width:1555px;
  margin:0 auto 36px;
  padding:0 18px;
}
.mailing-giveaway-inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:34px;
  align-items:center;
  padding:30px 34px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 10% 20%,rgba(145,164,43,.22),transparent 35%),
    linear-gradient(145deg,#171717,#070707 70%);
  box-shadow:inset 0 0 30px #000,0 8px 24px #0008;
}
.mailing-badge{
  display:inline-block;
  padding:7px 13px 6px;
  margin-bottom:12px;
  border:1px solid #c6d190;
  border-radius:4px;
  background:linear-gradient(#9fb536,#728522);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.7px;
}
.mailing-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  font-weight:900;
  line-height:1.08;
}
.mailing-copy p{
  margin:0;
  max-width:620px;
  color:#d8d8d8;
  font-size:16px;
  line-height:1.5;
}
.mailing-form{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.mailing-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mailing-form label>span{
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
}
.mailing-form input[type="text"],
.mailing-form input[type="email"]{
  height:46px;
  padding:0 13px;
  border:1px solid #6f6f6f;
  border-radius:4px;
  background:#0a0a0a;
  color:#fff;
  font-size:15px;
  outline:none;
}
.mailing-form input:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 2px rgba(241,91,8,.18);
}
.mailing-form button{
  height:46px;
  padding:0 18px;
  border:1px solid #ff9a55;
  border-radius:4px;
  background:linear-gradient(#fa7217,#cf4200);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.mailing-form button:hover{
  filter:brightness(1.1);
}
.mailing-consent{
  grid-column:1/-1;
  display:grid !important;
  grid-template-columns:18px 1fr;
  gap:8px !important;
  align-items:start;
  color:#cfcfcf;
}
.mailing-consent input{
  margin-top:2px;
}
.mailing-consent span{
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  line-height:1.4;
}
.mailing-form small{
  grid-column:1/-1;
  color:#909090;
  font-size:10px;
  line-height:1.35;
}
.mailing-form small a{
  color:#c8d47d;
  text-decoration:underline;
}





/* Make the mailing-list giveaway box smaller and more compact */
.mailing-giveaway{
  max-width:1180px !important;
  margin:0 auto 30px !important;
  padding:0 18px !important;
}
.mailing-giveaway-inner{
  max-width:1180px !important;
  margin:0 auto !important;
  grid-template-columns:.95fr 1.05fr !important;
  gap:24px !important;
  padding:22px 24px !important;
}
.mailing-copy h2{
  font-size:29px !important;
}
.mailing-copy p{
  font-size:15px !important;
  max-width:500px !important;
}
.mailing-form{
  gap:10px !important;
}
.mailing-form input[type="text"],
.mailing-form input[type="email"],
.mailing-form button{
  height:42px !important;
}
.mailing-form button{
  padding:0 16px !important;
  font-size:12px !important;
}





/* Reviews + mailing list side-by-side row under the 4 boxes */
.reviews-mailing-row{
  max-width:1555px;
  margin:0 auto 32px;
  padding:0 18px;
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
  align-items:stretch;
}

.reviews-mailing-row .homepage-review-section,
.reviews-mailing-row .mailing-giveaway{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  height:100%;
}

.reviews-mailing-row .homepage-review-inner{
  border:1px solid #74401e;
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
  padding:26px 24px 22px;
}

.reviews-mailing-row .mailing-giveaway-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 22px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 10% 20%,rgba(145,164,43,.22),transparent 35%),
    linear-gradient(145deg,#171717,#070707 70%);
  box-shadow:inset 0 0 30px #000,0 8px 24px #0008;
}

.reviews-mailing-row .review-section-head{
  margin-bottom:16px;
}
.reviews-mailing-row .review-section-head h2{
  font-size:30px;
}
.reviews-mailing-row .homepage-review-carousel{
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:12px;
}
.reviews-mailing-row .homepage-review-carousel .review-slides{
  min-height:260px;
}
.reviews-mailing-row .homepage-review-carousel .review-slide blockquote{
  max-width:100%;
  font-size:16px !important;
  line-height:1.55 !important;
}
.reviews-mailing-row .review-section-actions{
  margin-top:10px;
}
.reviews-mailing-row .review-section-actions .button{
  min-width:220px;
}

.reviews-mailing-row .mailing-copy h2{
  font-size:30px !important;
}
.reviews-mailing-row .mailing-copy p{
  font-size:15px !important;
  max-width:none !important;
}
.reviews-mailing-row .mailing-form{
  grid-template-columns:1fr;
  gap:10px !important;
  margin-top:16px;
}
.reviews-mailing-row .mailing-form input[type="text"],
.reviews-mailing-row .mailing-form input[type="email"],
.reviews-mailing-row .mailing-form button{
  height:44px !important;
}
.reviews-mailing-row .mailing-form button{
  margin-top:2px;
}
.reviews-mailing-row .mailing-consent,
.reviews-mailing-row .mailing-form small{
  grid-column:1;
}





/* OPTION ONE — full-box septic financing redesign */
.financing-option-one{
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:space-between !important;
  min-height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  text-align:center !important;
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 50% 24%,rgba(145,164,43,.18),transparent 34%),
    linear-gradient(150deg,#1e1e1e 0%,#090909 62%,#020202 100%) !important;
  box-shadow:
    inset 0 0 44px rgba(0,0,0,.92),
    0 0 22px rgba(241,91,8,.22) !important;
}

.financing-option-one:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.2;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent 0,
      transparent 16px,
      rgba(255,255,255,.035) 17px,
      rgba(255,255,255,.035) 18px
    );
}

.financing-topline{
  position:relative;
  z-index:1;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
  text-shadow:0 1px 2px #0008;
}

.financing-message{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:16px 18px 13px;
}

.financing-icon{
  position:relative;
  width:68px;
  height:68px;
  margin:0 auto 10px;
  border:2px solid #9aad38;
  border-radius:50%;
  background:linear-gradient(145deg,#252b12,#0b0d06);
  box-shadow:
    inset 0 0 16px #000,
    0 0 14px rgba(145,164,43,.2);
}

.financing-dollar{
  position:absolute;
  left:17px;
  top:8px;
  color:var(--orange);
  font-family:Arial,Helvetica,sans-serif;
  font-size:38px;
  font-weight:900;
  line-height:1;
}

.financing-roof{
  position:absolute;
  right:8px;
  bottom:7px;
  color:#fff;
  font-size:27px;
  font-weight:900;
  line-height:1;
}

.financing-option-one h2{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  min-height:0 !important;
  margin:0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  line-height:.98 !important;
  letter-spacing:-1.1px !important;
  text-align:center !important;
  text-shadow:0 3px 3px #000;
}

.finance-line-white{
  display:block;
  color:#fff !important;
  font-size:28px;
}

.finance-line-orange{
  display:block;
  margin-top:2px;
  color:var(--orange) !important;
  font-size:34px;
}

.finance-divider{
  width:72%;
  height:2px;
  margin:13px auto 11px;
  background:linear-gradient(90deg,transparent,#96aa35 18%,#96aa35 82%,transparent);
}

.financing-option-one h3{
  margin:0 0 10px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:25px;
  font-weight:900;
  line-height:1.03;
  letter-spacing:-.4px;
  text-align:center;
}

.financing-option-one p{
  max-width:94%;
  margin:0 auto !important;
  color:#dedede !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  text-align:center !important;
}

.finance-main-cta{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  z-index:1;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:calc(100% - 34px) !important;
  min-height:48px;
  margin:0 17px 11px !important;
  padding:11px 14px !important;
  transform:none !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,65,0,.3);
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  text-decoration:none;
}

.finance-main-cta:hover{
  transform:none !important;
  filter:brightness(1.1);
}

.finance-main-cta b{
  font-size:22px;
  line-height:1;
}

.finance-provider{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 10px 7px;
  color:#b9b9b9;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.7px;
}

.finance-provider strong{
  color:#fff;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.3px;
}

.financing-option-one .finance-note{
  position:relative;
  z-index:1;
  display:block;
  margin:0 0 11px;
  padding:0 10px;
  color:#888 !important;
  font-size:9px;
  line-height:1.2;
  text-align:center;
}








/* Financing box refinement: question above icon, larger icon, fuller layout */
.financing-option-one{
  min-height:430px !important;
}

.financing-message{
  padding:14px 18px 10px !important;
  gap:0 !important;
}

.financing-main-question{
  margin:0 0 12px !important;
}

.finance-line-white{
  font-size:31px !important;
}

.finance-line-orange{
  font-size:40px !important;
  margin-top:3px !important;
}

.financing-icon{
  width:106px !important;
  height:106px !important;
  margin:2px auto 14px !important;
  border-width:3px !important;
}

.financing-dollar{
  left:27px !important;
  top:12px !important;
  font-size:58px !important;
}

.financing-roof{
  right:14px !important;
  bottom:11px !important;
  font-size:33px !important;
}

.finance-divider{
  width:80% !important;
  margin:14px auto 13px !important;
}

.financing-option-one h3{
  font-size:27px !important;
  margin:0 0 12px !important;
}

.financing-option-one p{
  max-width:96% !important;
  font-size:15px !important;
  line-height:1.48 !important;
  margin:0 auto 6px !important;
}

.finance-main-cta{
  min-height:52px !important;
  margin:4px 17px 11px !important;
}

.finance-provider{
  padding-bottom:8px !important;
}






/* Center the financing box content more cleanly */
.financing-option-one{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

.financing-message{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  padding:18px 22px 12px !important;
}

.financing-main-question,
.financing-option-one h3,
.financing-option-one p{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.financing-main-question{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 14px !important;
}

.finance-line-white,
.finance-line-orange{
  width:100% !important;
  text-align:center !important;
}

.financing-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:4px auto 16px !important;
}

.finance-divider{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.financing-option-one h3{
  margin:0 0 12px !important;
}

.financing-option-one p{
  max-width:88% !important;
  margin:0 auto 10px !important;
}

.finance-main-cta{
  width:calc(100% - 36px) !important;
  margin:8px auto 12px !important;
}

.finance-provider,
.financing-option-one .finance-note{
  width:100% !important;
  text-align:center !important;
  justify-content:center !important;
}




/* Final alignment pass — center and balance all six homepage information boxes */

/* Four upper cards */
.home-cards,
.home-card-grid,
.cards-grid,
.homepage-cards{
  align-items:stretch !important;
}

.home-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.home-card > *{
  max-width:100%;
}

.home-card h2,
.home-card h3,
.home-card p,
.home-card ul,
.home-card .family-heading-top,
.home-card .family-results-line{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.home-card img{
  display:block;
  margin-left:auto !important;
  margin-right:auto !important;
}

.home-card ul{
  padding-left:0 !important;
}

.home-card li{
  text-align:center !important;
}

/* Family card */
.family-card{
  justify-content:center !important;
}
.family-heading-top,
.family-results-line{
  align-items:center !important;
  justify-content:center !important;
}
.family-card p{
  max-width:92% !important;
}

/* Emergency card */
.emergency-card{
  justify-content:center !important;
  padding-left:22px !important;
  padding-right:22px !important;
}
.emergency-mini-badge{
  margin-left:auto !important;
  margin-right:auto !important;
}
.emergency-points{
  width:auto !important;
  display:inline-block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.emergency-points li{
  text-align:left !important;
}

/* Financing card */
.financing-option-one{
  align-items:center !important;
  justify-content:space-between !important;
}
.financing-topline{
  text-align:center !important;
}
.financing-message{
  flex:1 !important;
  align-items:center !important;
  justify-content:center !important;
}
.financing-main-question,
.finance-line-white,
.finance-line-orange,
.financing-option-one h3,
.financing-option-one p{
  text-align:center !important;
}
.financing-icon,
.finance-divider,
.finance-main-cta{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Service-area card */
.service-area-card,
.service-areas-card{
  justify-content:center !important;
}
.service-area-card img,
.service-areas-card img{
  margin-left:auto !important;
  margin-right:auto !important;
}
.service-area-card p,
.service-areas-card p{
  max-width:92% !important;
}

/* Lower review and mailing-list boxes */
.reviews-mailing-row{
  align-items:stretch !important;
}

.reviews-mailing-row > *{
  display:flex !important;
  height:100% !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.review-section-head,
.review-section-head h2,
.review-section-head p,
.homepage-review-carousel,
.review-slide,
.review-slide blockquote,
.reviewer-name,
.review-source{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.review-section-actions{
  width:100%;
  justify-content:center !important;
}

.mailing-copy,
.mailing-copy h2,
.mailing-copy p{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mailing-badge{
  margin-left:auto !important;
  margin-right:auto !important;
}

.reviews-mailing-row .mailing-form{
  width:100% !important;
  max-width:460px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.reviews-mailing-row .mailing-form label > span{
  text-align:left !important;
}

.reviews-mailing-row .mailing-consent span,
.reviews-mailing-row .mailing-form small{
  text-align:left !important;
}

/* Keep all upper cards visually balanced */
@media(min-width:981px){
  .home-card{
    min-height:430px !important;
  }
}




/* Center requested action buttons */
.emergency-card > a,
.service-area-card > a,
.service-areas-card > a{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:210px !important;
  margin:18px auto 0 !important;
  transform:none !important;
  text-align:center !important;
}

.emergency-card > a:hover,
.service-area-card > a:hover,
.service-areas-card > a:hover{
  transform:none !important;
}


/* 24/7 emergency box redesign */
.emergency-card-pop{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  border:2px solid var(--orange) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(241,91,8,.22), transparent 26%),
    radial-gradient(circle at 50% 72%, rgba(145,164,43,.10), transparent 42%),
    linear-gradient(150deg,#1a1a1a 0%,#090909 62%,#020202 100%) !important;
  box-shadow:
    inset 0 0 38px rgba(0,0,0,.92),
    0 0 24px rgba(241,91,8,.20) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  text-align:center !important;
}

.emergency-card-pop:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent 0,
      transparent 16px,
      rgba(255,255,255,.03) 17px,
      rgba(255,255,255,.03) 18px
    );
}

.emergency-top-ribbon{
  position:relative;
  z-index:1;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.1px;
  text-shadow:0 1px 2px #0008;
  text-align:center;
}

.emergency-body{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  padding:15px 18px 12px;
}

.emergency-icon-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:88px;
  height:88px;
  margin:0 auto 12px;
  border:3px solid #9aad38;
  border-radius:50%;
  background:linear-gradient(145deg,#262c13,#0b0d06);
  box-shadow:
    inset 0 0 16px #000,
    0 0 14px rgba(241,91,8,.22);
}

.emergency-siren{
  color:var(--orange);
  font-size:42px;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 12px rgba(241,91,8,.35);
}

.emergency-card-pop h2{
  width:100%;
  min-height:0 !important;
  margin:0 0 10px !important;
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:center !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-size:29px !important;
  line-height:1.02 !important;
  letter-spacing:-.6px !important;
  text-shadow:0 3px 3px #000;
}

.emergency-card-pop h2 .orange-line{
  color:var(--orange) !important;
}

.emergency-mini-tag{
  display:inline-block;
  margin:2px auto 12px;
  padding:7px 12px 6px;
  border:1px solid #c4d08e;
  border-radius:4px;
  background:linear-gradient(#9eb434,#748621);
  color:#fff;
  box-shadow:inset 0 0 0 1px #4f5d18;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.65px;
}

.emergency-card-pop p{
  width:100%;
  max-width:92%;
  margin:0 auto 13px !important;
  color:#dedede !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  text-align:center !important;
}

.emergency-keywords{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 auto 13px;
}
.emergency-keywords span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #585858;
  border-radius:4px;
  background:#101010;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.5px;
}

.emergency-callout{
  margin:0 auto 8px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:21px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:.2px;
  text-align:center;
}

.emergency-card-pop > a{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  z-index:1;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:calc(100% - 34px) !important;
  min-height:48px;
  margin:0 auto 16px !important;
  padding:11px 14px !important;
  transform:none !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(207,65,0,.30);
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  text-align:center !important;
}

.emergency-card-pop > a:hover{
  transform:none !important;
  filter:brightness(1.08);
}








/* Match all six boxes with the same top ribbon treatment as financing */
.box-top-ribbon{
  position:relative;
  z-index:2;
  width:100%;
  padding:10px 12px 9px;
  border-bottom:1px solid #b64008;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.1px;
  text-shadow:0 1px 2px #0008;
  text-align:center;
}

/* Upper four cards */
.family-card,
.emergency-card-pop,
.financing-option-one,
.areas-card{
  padding-top:0 !important;
  overflow:hidden !important;
}

.family-card .family-heading-top,
.family-card img,
.family-card .family-results-line,
.family-card p{
  position:relative;
  z-index:1;
}
.family-card{
  border:2px solid var(--orange) !important;
  box-shadow:inset 0 0 34px #000, 0 0 18px rgba(241,91,8,.16) !important;
}
.family-card img{
  margin-top:4px !important;
}

.areas-card{
  border:2px solid var(--orange) !important;
  box-shadow:inset 0 0 34px #000, 0 0 18px rgba(241,91,8,.16) !important;
}
.areas-card h2{
  margin-top:14px !important;
}
.areas-map-image{
  margin-top:12px !important;
}

/* Lower two boxes */
.homepage-review-inner,
.mailing-giveaway-inner{
  padding-top:0 !important;
  overflow:hidden !important;
  border:2px solid var(--orange) !important;
}

.homepage-review-inner .review-section-head{
  margin-top:16px !important;
}
.mailing-giveaway-inner .mailing-copy{
  margin-top:18px !important;
}
.mailing-giveaway-inner .mailing-form{
  margin-top:14px !important;
}




/* Make the top banners on the upper 4 boxes run the full width of each box */
.family-card,
.emergency-card-pop,
.financing-option-one,
.areas-card{
  padding-left:0 !important;
  padding-right:0 !important;
}

.family-card > .box-top-ribbon,
.emergency-card-pop > .emergency-top-ribbon,
.financing-option-one > .financing-topline,
.areas-card > .box-top-ribbon{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
}

/* Re-add inner spacing so the content still sits nicely inside each box */
.family-card .family-heading-top,
.family-card img,
.family-card .family-results-line,
.family-card p,
.family-card a{
  margin-left:22px !important;
  margin-right:22px !important;
}

.areas-card h2,
.areas-card .county-columns,
.areas-card .areas-map-image,
.areas-card a{
  margin-left:22px !important;
  margin-right:22px !important;
}

.emergency-card-pop .emergency-body,
.financing-option-one .financing-message{
  padding-left:22px !important;
  padding-right:22px !important;
}

.emergency-card-pop > a,
.financing-option-one .finance-main-cta{
  margin-left:auto !important;
  margin-right:auto !important;
}




/* Move FAMILY RUN BUSINESS banner flush to the very top of that box */
.family-card{
  padding-top:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}

.family-card > .box-top-ribbon{
  order:0 !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 12px 9px !important;
  border-radius:0 !important;
}

.family-card .family-heading-top{
  margin-top:18px !important;
}

.family-card img{
  margin-top:0 !important;
}




/* Bottom centered buttons for Family and Service Areas boxes */
.family-card,
.areas-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

.family-bottom-button,
.service-areas-bottom-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 44px) !important;
  min-height:48px !important;
  margin:18px auto 20px !important;
  padding:12px 16px !important;
  border:1px solid #ff9a55 !important;
  border-radius:4px !important;
  background:linear-gradient(#fa741c,#cd4100) !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.3px !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 5px 14px rgba(207,65,0,.28) !important;
}

.family-bottom-button:hover,
.service-areas-bottom-button:hover{
  filter:brightness(1.08);
}

/* Keep family card content balanced above the new button */
.family-card p{
  margin-bottom:4px !important;
}
.family-card .family-bottom-button{
  margin-top:auto !important;
}

/* Keep service area content balanced above the new button */
.areas-card .service-areas-bottom-button{
  margin-top:auto !important;
}

/* Google review logo at the top of the review box */
.google-review-logo-wrap{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px 8px;
}

.google-review-logo{
  display:block;
  width:min(100%, 320px);
  height:auto;
}

/* Make sure mailing giveaway uses the same full orange bar across top */
.mailing-giveaway-inner{
  padding-top:0 !important;
  overflow:hidden !important;
}

.mailing-giveaway-inner > .box-top-ribbon{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
}

.mailing-giveaway-inner .mailing-copy{
  margin-top:16px !important;
}




/* =========================================================
   REVIEW SECTION REDESIGN
   Long, thin full-width review strip on desktop
   Stacked responsive layout on phone
   ========================================================= */

.reviews-mailing-row{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
  align-items:stretch !important;
}

.reviews-mailing-row .homepage-review-section{
  width:100% !important;
  max-width:none !important;
  flex:none !important;
}

.reviews-mailing-row .homepage-review-inner{
  width:100% !important;
  border:2px solid var(--orange) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(145,164,43,.08), transparent 25%),
    linear-gradient(145deg,#171717 0%,#0d0d0d 65%,#060606 100%) !important;
  box-shadow:
    inset 0 0 30px rgba(0,0,0,.92),
    0 0 16px rgba(241,91,8,.14) !important;
  display:grid !important;
  grid-template-columns: 250px minmax(0,1fr) 210px !important;
  grid-template-rows:auto auto auto auto !important;
  align-items:center !important;
  column-gap:18px !important;
  row-gap:0 !important;
  padding:0 18px 18px !important;
}

.reviews-mailing-row .homepage-review-inner > .box-top-ribbon{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  margin:0 -18px 0 !important;
  width:auto !important;
}

.google-review-logo-wrap{
  grid-column:1 !important;
  grid-row:2 / span 3 !important;
  align-self:center !important;
  justify-self:center !important;
  width:100% !important;
  padding:10px 10px 0 !important;
}

.google-review-logo{
  width:100% !important;
  max-width:220px !important;
  height:auto !important;
}

.review-section-head{
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:end !important;
  text-align:left !important;
  width:100% !important;
  padding-top:14px !important;
  margin:0 !important;
}

.review-section-head .review-kicker{
  margin:0 0 5px !important;
  font-size:16px !important;
  letter-spacing:1px !important;
}

.review-section-head h2{
  margin:0 !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  text-align:left !important;
}

.review-section-head p{
  margin:6px 0 0 !important;
  color:#c8c8c8 !important;
  font-size:13px !important;
  text-align:left !important;
}

.homepage-review-carousel{
  grid-column:2 !important;
  grid-row:3 !important;
  width:100% !important;
  min-height:0 !important;
  margin:8px 0 0 !important;
  padding:0 44px !important;
  position:relative !important;
}

.homepage-review-carousel .review-slides{
  width:100% !important;
}

.homepage-review-carousel .review-slide{
  text-align:left !important;
  padding:0 !important;
  min-height:0 !important;
}

.homepage-review-carousel .review-slide .stars{
  margin:0 0 8px !important;
  font-size:15px !important;
  text-align:left !important;
}

.homepage-review-carousel .review-slide blockquote{
  margin:0 !important;
  color:#ededed !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-align:left !important;
  max-width:100% !important;
}

.homepage-review-carousel .reviewer-name{
  margin:8px 0 0 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-align:left !important;
}

.homepage-review-carousel .review-source{
  margin:2px 0 0 !important;
  color:#a9a9a9 !important;
  font-size:12px !important;
  text-align:left !important;
}

.review-nav{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:34px !important;
  height:34px !important;
  font-size:26px !important;
  line-height:1 !important;
}

.review-prev{ left:0 !important; }
.review-next{ right:0 !important; }

.review-dots{
  grid-column:2 !important;
  grid-row:4 !important;
  width:100% !important;
  justify-content:flex-start !important;
  margin:10px 0 0 !important;
}

.review-section-actions{
  grid-column:3 !important;
  grid-row:2 / span 3 !important;
  align-self:center !important;
  justify-self:center !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}

.review-section-actions .button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  text-align:center !important;
}

/* Mailing list sits below and stays clean */
.reviews-mailing-row .mailing-giveaway{
  width:100% !important;
  max-width:840px !important;
  margin:0 auto !important;
}

.reviews-mailing-row .mailing-giveaway-inner{
  border:2px solid var(--orange) !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

/* Tablet */


/* Phone / small tablet */



/* Restore Google Reviews and Monthly Giveaway side by side */
.reviews-mailing-row{
  display:grid !important;
  grid-template-columns:1.35fr .95fr !important;
  gap:18px !important;
  align-items:stretch !important;
}

.reviews-mailing-row .homepage-review-section,
.reviews-mailing-row .mailing-giveaway{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.reviews-mailing-row .homepage-review-inner,
.reviews-mailing-row .mailing-giveaway-inner{
  height:100% !important;
  min-height:100% !important;
}

/* Review box back to compact card layout */
.reviews-mailing-row .homepage-review-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 22px 22px !important;
  border-radius:10px !important;
}

.reviews-mailing-row .homepage-review-inner > .box-top-ribbon{
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
}

.google-review-logo-wrap{
  width:100% !important;
  padding:16px 10px 4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.google-review-logo{
  max-width:250px !important;
}

.review-section-head{
  width:100% !important;
  text-align:center !important;
  padding-top:6px !important;
  margin:0 0 12px !important;
}

.review-section-head .review-kicker,
.review-section-head h2,
.review-section-head p{
  text-align:center !important;
}

.review-section-head h2{
  font-size:28px !important;
}

.homepage-review-carousel{
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 40px !important;
  position:relative !important;
}

.homepage-review-carousel .review-slide,
.homepage-review-carousel .review-slide .stars,
.homepage-review-carousel .review-slide blockquote,
.homepage-review-carousel .reviewer-name,
.homepage-review-carousel .review-source{
  text-align:center !important;
}

.homepage-review-carousel .review-slide blockquote{
  font-size:15px !important;
  line-height:1.5 !important;
}

.review-dots{
  width:100% !important;
  justify-content:center !important;
  margin:12px 0 0 !important;
}

.review-section-actions{
  width:100% !important;
  justify-content:center !important;
  margin-top:14px !important;
}

.review-section-actions .button{
  width:auto !important;
  min-width:220px !important;
}

/* Mailing box compact beside reviews */
.reviews-mailing-row .mailing-giveaway-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 22px 22px !important;
  border-radius:10px !important;
}

.reviews-mailing-row .mailing-giveaway-inner > .box-top-ribbon{
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
}

.reviews-mailing-row .mailing-copy{
  width:100% !important;
  margin-top:18px !important;
  text-align:center !important;
}

.reviews-mailing-row .mailing-copy h2,
.reviews-mailing-row .mailing-copy p{
  text-align:center !important;
}

.reviews-mailing-row .mailing-form{
  width:100% !important;
  max-width:460px !important;
  margin:16px auto 0 !important;
}

/* Stack cleanly on phones */





/* Keep MONTHLY GIVEAWAY banner flush at the very top of its box */
.reviews-mailing-row .mailing-giveaway-inner{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding-top:0 !important;
  overflow:hidden !important;
}

.reviews-mailing-row .mailing-giveaway-inner > .box-top-ribbon{
  order:-1 !important;
  position:relative !important;
  top:0 !important;
  display:block !important;
  width:calc(100% + 44px) !important;
  margin:0 -22px 0 !important;
  padding:10px 12px 9px !important;
  border-radius:0 !important;
  flex:none !important;
}

.reviews-mailing-row .mailing-copy{
  margin-top:18px !important;
}




/* Force-center the two requested buttons */
.family-bottom-button,
.service-areas-bottom-button{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin-top:18px !important;
  margin-bottom:20px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
}

.family-bottom-button:hover,
.service-areas-bottom-button:hover{
  transform:translateX(-50%) !important;
}

.family-card,
.areas-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.family-card .family-bottom-button{
  margin-top:auto !important;
}

.areas-card .service-areas-bottom-button{
  margin-top:auto !important;
}




/* Final placement: center both buttons at the bottom of their boxes */
.family-card,
.areas-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:100% !important;
}

.family-card .family-bottom-button,
.areas-card .service-areas-bottom-button{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  align-self:center !important;
  margin-top:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:20px !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.family-card .family-bottom-button:hover,
.areas-card .service-areas-bottom-button:hover{
  transform:none !important;
}




/* Reliable bottom-center placement for Family and Service Areas buttons */
.family-card,
.areas-card{
  position:relative !important;
  display:block !important;
  height:100% !important;
  padding-bottom:86px !important;
  text-align:center !important;
}

.family-card .family-bottom-button,
.areas-card .service-areas-bottom-button{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:18px !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 44px) !important;
  max-width:320px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:11px 16px !important;
  text-align:center !important;
  white-space:nowrap !important;
  z-index:5 !important;
}

.family-card .family-bottom-button:hover,
.areas-card .service-areas-bottom-button:hover{
  transform:translateX(-50%) !important;
}




/* Center REAL RESULTS and family description within the family box */
.family-card .family-results-line{
  width:100% !important;
  max-width:92% !important;
  margin:14px auto 10px !important;
  text-align:center !important;
  align-self:center !important;
}

.family-card p{
  width:100% !important;
  max-width:88% !important;
  margin:0 auto 18px !important;
  text-align:center !important;
  align-self:center !important;
  line-height:1.5 !important;
}

.family-card{
  text-align:center !important;
}




/* Align CALL NOW evenly with REQUEST A QUOTE in the hero */
.hero-buttons{
  display:flex !important;
  align-items:stretch !important;
}

.hero-buttons .button{
  min-height:50px !important;
  margin:0 !important;
  align-self:stretch !important;
}

.hero-buttons .button.black{
  width:190px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}




/* Definitive hero button alignment: keep all three buttons on one row */
.hero-copy{
  width:650px !important;
  max-width:calc(100vw - 96px) !important;
}

.hero-buttons{
  display:grid !important;
  grid-template-columns:1.25fr 1fr 1fr !important;
  gap:12px !important;
  width:620px !important;
  max-width:100% !important;
  align-items:stretch !important;
}

.hero-buttons .button,
.hero-buttons .button.black,
.hero-buttons .button.orange{
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.hero-buttons .button .fa{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  margin:0 2px 0 0 !important;
}






/* Hero refinement: enlarge supporting text and move CTA buttons lower */
.hero-copy .green-brush{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  margin-top:14px !important;
  padding:8px 22px 7px !important;
  font-size:25px !important;
  line-height:1 !important;
  letter-spacing:.2px !important;
  text-align:center !important;
}

.hero-copy > p{
  margin:18px 0 0 !important;
  font-size:21px !important;
  line-height:1.38 !important;
  letter-spacing:.1px !important;
}

.hero-copy > p b{
  font-size:24px !important;
  line-height:1.22 !important;
}

.hero-copy > p em{
  font-style:normal !important;
  color:var(--orange) !important;
}

.hero-buttons{
  margin-top:34px !important;
}

.hero-buttons .button{
  min-height:52px !important;
  font-size:14px !important;
}








/* Keep all footer social icons, including Pinterest, on one line */
.footer-social{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
}

.footer-social a{
  flex:0 0 48px !important;
  width:48px !important;
  height:48px !important;
}






/* Move hero CTA buttons lower and make them slightly larger */
.hero-buttons{
  margin-top:46px !important;
  width:650px !important;
  max-width:100% !important;
  gap:14px !important;
}

.hero-buttons .button,
.hero-buttons .button.orange,
.hero-buttons .button.black{
  min-height:58px !important;
  padding:15px 18px !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}






/* Make the 3 hero button labels sharper and clearer */
.hero-buttons .button,
.hero-buttons .button.orange,
.hero-buttons .button.black{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  letter-spacing: 0.1px !important;
  line-height: 1 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: geometricPrecision !important;
}

.hero-buttons .button span,
.hero-buttons .button.orange span,
.hero-buttons .button.black span{
  text-shadow: none !important;
  filter: none !important;
}

.hero-buttons .button .fa,
.hero-buttons .button.orange .fa,
.hero-buttons .button.black .fa{
  font-size: 14px !important;
  line-height: 1 !important;
  text-shadow: none !important;
}




/* FINAL RESPONSIVE SERVICE MENU
   Desktop: 6 across
   Tablet: 3 across
   Phone: 2 across
*/
.service-menu{
  width:min(100%,1600px) !important;
  max-width:1600px !important;
  margin:22px auto 42px !important;
  padding:0 18px 10px !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

.service-menu .service-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#070707 !important;
  border:1px solid #2c2c2c !important;
  border-radius:0 !important;
  transform:none !important;
}

.service-menu .service-item img{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:contain !important;
}

.service-menu .service-item:hover{
  transform:none !important;
  filter:brightness(1.07) !important;
}

/* Tablet: 3 across */


/* Phone: 2 across */


/* Keep 2 across even on very narrow phones */



/* Center the family photo precisely inside the FAMILY RUN BUSINESS box */
.family-card img{
  display:block !important;
  width:calc(100% - 44px) !important;
  max-width:420px !important;
  height:auto !important;
  margin:0 auto 14px !important;
  align-self:center !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.family-card .family-heading-top{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}




/* Updated main mascot with hose */
.hero-mascot img,
.hero-mascot-image,
img[src*="mascot-sheriff-the-turd-hose"]{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* If the homepage uses a positioned mascot, keep it strong and centered */
.hero-mascot,
.mascot-wrap,
.hero-character{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

@media (min-width: 981px){
  .hero-mascot img,
  .hero-mascot-image,
  img[src*="mascot-sheriff-the-turd-hose"]{
    max-height:420px !important;
  }
}






/* User-approved main mascot/logo */
.hero-mascot img,
.mascot-wrap img,
.hero-character img,
img[src*="main-mascot-logo.png"]{
  display:block !important;
  width:100% !important;
  max-width:520px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}

@media (min-width: 981px){
  .hero-mascot img,
  .mascot-wrap img,
  .hero-character img,
  img[src*="main-mascot-logo.png"]{
    max-height:500px !important;
  }
}






/* Approved mascot without wording underneath */
img[src*="main-mascot-logo-no-text.png"]{
  display:block !important;
  width:100% !important;
  max-width:500px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}






/* Corrected service panel crops — no divider line through Septic Pumping */
.service-menu .service-item{
  background:#000 !important;
}

.service-menu .service-item img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border:0 !important;
  outline:0 !important;
}

.service-menu .service-item:first-child,
.service-menu .service-item:first-child img{
  border-left:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   CLEAN MOBILE HEADER + WORKING DROPDOWN MENU
   ========================================================= */





/* =========================================================
   FINAL PHONE LAYOUT FIX
   Prevents overlapping content and makes hamburger functional
   ========================================================= */





/* MOBILE CLEANUP: less orange, larger phone-first bottom bar */





/* FINAL HAMBURGER CLICK FIX */



/* MOBILE COUNTY LIST SPACING FIX */



/* GLOBAL HEADER LOGO ENLARGEMENT — all pages */
@media(min-width:981px){
  .approved-logo{
    width:360px !important;
    max-width:360px !important;
  }

  .approved-logo img{
    width:100% !important;
    max-width:360px !important;
    height:auto !important;
    max-height:92px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
}



/* Reusable internal-page structure */
.internal-page-hero{
  position:relative;
  min-height:430px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  align-items:center;
  gap:28px;
  padding:58px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:2px solid var(--orange);
  background:
    linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.58)),
    url("truck-hero.jpg") center/cover no-repeat;
}

.internal-page-hero-copy{
  position:relative;
  z-index:2;
  max-width:820px;
}

.internal-page-kicker{
  display:inline-block;
  margin-bottom:14px;
  padding:8px 14px 7px;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font:900 13px Arial,Helvetica,sans-serif;
  letter-spacing:1px;
}

.internal-page-hero h1{
  margin:0 0 16px;
  color:#fff;
  font:900 clamp(42px,5.5vw,78px)/.95 Arial,Helvetica,sans-serif;
  letter-spacing:-1.4px;
  text-transform:uppercase;
  text-shadow:0 4px 5px #000;
}

.internal-page-hero h1 span{
  color:var(--orange);
}

.internal-page-hero p{
  max-width:760px;
  margin:0 0 26px;
  color:#f1f1f1;
  font-size:19px;
  line-height:1.5;
}

.internal-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.internal-page-actions a{
  min-width:210px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:4px;
  color:#fff;
  font:900 14px Arial,Helvetica,sans-serif;
  text-align:center;
  text-decoration:none;
}

.internal-page-actions .primary{
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
}

.internal-page-actions .secondary{
  background:#0c0c0c;
  border:1px solid #757575;
}

.internal-page-mascot{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.internal-page-mascot img{
  width:min(100%,430px);
  max-height:390px;
  object-fit:contain;
}

.internal-main{
  max-width:1480px;
  margin:0 auto;
  padding:42px 22px 58px;
}

.internal-content-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:24px;
  align-items:start;
}

.internal-panel{
  padding:28px;
  border:1px solid #4a3427;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}

.internal-panel h2{
  margin:0 0 14px;
  color:#fff;
  font:900 32px/1.05 Arial,Helvetica,sans-serif;
}

.internal-panel h2 span{
  color:var(--orange);
}

.internal-panel p,
.internal-panel li{
  color:#ddd;
  font-size:16px;
  line-height:1.58;
}

.internal-panel ul{
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.internal-panel li{
  margin:10px 0;
}

.internal-panel li:before{
  content:"✓";
  margin-right:9px;
  color:var(--orange);
  font-weight:900;
}

.internal-placeholder{
  display:grid;
  gap:18px;
}

.internal-cta-band{
  margin-top:24px;
  padding:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:2px solid var(--orange);
  background:
    radial-gradient(circle at 85% 30%,rgba(145,164,43,.18),transparent 35%),
    linear-gradient(145deg,#171717,#060606);
}

.internal-cta-band h2{
  margin:0 0 8px;
  color:#fff;
  font:900 30px/1.05 Arial,Helvetica,sans-serif;
}

.internal-cta-band p{
  margin:0;
  color:#d7d7d7;
}

.internal-cta-band a{
  flex:0 0 auto;
  min-width:220px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
  border-radius:4px;
  color:#fff;
  font:900 14px Arial,Helvetica,sans-serif;
  text-decoration:none;
}






/* County location and bottom SEO section */
.county-location-footer{
  margin-top:24px;
  border:1px solid #4a3427;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}

.county-location-inner{
  padding:30px;
}

.county-location-kicker{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 12px 6px;
  background:linear-gradient(#f47722,#c94100);
  color:#fff;
  font:900 12px Arial,Helvetica,sans-serif;
  letter-spacing:.8px;
}

.county-location-footer h2{
  margin:0 0 12px;
  color:#fff;
  font:900 32px/1.08 Arial,Helvetica,sans-serif;
}

.county-location-footer h2 span{
  color:var(--orange);
}

.county-location-intro{
  margin:0 0 20px;
  color:#ddd;
  font-size:16px;
  line-height:1.55;
}

.county-town-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.county-town-grid span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #494949;
  border-radius:4px;
  background:#0c0c0c;
  color:#f1f1f1;
  font:700 13px Arial,Helvetica,sans-serif;
}

.county-seo-copy{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #343434;
}

.county-seo-copy h3{
  margin:0 0 10px;
  color:#fff;
  font:900 23px/1.12 Arial,Helvetica,sans-serif;
}

.county-seo-copy p{
  margin:8px 0;
  color:#d6d6d6;
  font-size:15px;
  line-height:1.55;
}

.county-seo-copy a{
  color:var(--orange);
  font-weight:900;
}

.county-repeat-list{
  font-size:13px !important;
  color:#aaa !important;
}




/* SEPTIC PUMPING PAGE */
.pumping-hero{position:relative;min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("avalanche-septic-pumping-truck.jpg") center 56%/cover no-repeat}
.pumping-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 45%,rgba(0,0,0,.34) 100%)}
.pumping-hero-copy{position:relative;z-index:2;max-width:850px}
.pumping-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.pumping-hero h1 span,.pumping-main h2 span{color:var(--orange)}
.pumping-hero p{max-width:760px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.pumping-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.pumping-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.pumping-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.section-label{display:inline-block;margin-bottom:10px;color:var(--orange);font:900 13px Arial,Helvetica,sans-serif;letter-spacing:1px}
.pumping-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.pumping-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.pumping-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.pumping-intro-copy,.pumping-feature-photo,.pumping-dark-panel,.pumping-service-area,.pumping-faq,.pumping-gallery-section,.pumping-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.pumping-intro-copy{padding:30px}
.pumping-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.pumping-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.pumping-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.pumping-feature-photo{margin:0;overflow:hidden}
.pumping-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.pumping-feature-photo figcaption,.pumping-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.pumping-process,.pumping-gallery-section,.pumping-faq{margin-top:26px;padding:30px}
.section-heading{text-align:center;margin-bottom:22px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.process-grid p{margin:0;font-size:14px}
.pumping-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pumping-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.pumping-gallery .gallery-wide{grid-column:span 2}
.pumping-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.pumping-gallery .gallery-wide img{height:360px}
.pumping-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.pumping-dark-panel{padding:30px}
.pumping-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.pumping-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.pumping-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.panel-call-button{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.pumping-service-area{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.pumping-service-area img{width:100%;max-height:440px;object-fit:contain}
.county-link-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.county-link-grid a{padding:9px 12px;border:1px solid #444;background:#0a0a0a;color:#fff;font-weight:800;text-decoration:none}
.pumping-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.pumping-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.pumping-faq details p{margin:0;padding:0 18px 18px}
.pumping-final-cta{margin-top:26px}





/* =========================================================
   SEPTIC INSTALLATION PAGE
   ========================================================= */
.installation-hero{
  position:relative;
  min-height:620px;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  align-items:center;
  gap:24px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:3px solid var(--orange);
  background:url("septic-system-installation-site.jpg") center 48%/cover no-repeat;
}
.installation-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.85) 46%,rgba(0,0,0,.38) 100%);
}
.installation-hero-copy{position:relative;z-index:2;max-width:880px}
.installation-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.7vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.installation-hero h1 span,.installation-main h2 span{color:var(--orange)}
.installation-hero p{max-width:780px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.installation-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.installation-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.installation-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.installation-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.installation-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.installation-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
.installation-intro-copy,.installation-feature-photo,.installation-dark-panel,.installation-service-area,.installation-faq,.installation-gallery-section,.installation-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.installation-intro-copy{padding:30px}
.installation-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.installation-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.installation-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.installation-feature-photo{margin:0;overflow:hidden}
.installation-feature-photo img{width:100%;height:100%;min-height:455px;object-fit:cover}
.installation-feature-photo figcaption,.installation-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.installation-process,.installation-gallery-section,.installation-faq{margin-top:26px;padding:30px}
.installation-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.installation-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.installation-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.installation-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.installation-process-grid p{margin:0;font-size:14px}
.installation-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.installation-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.installation-gallery .gallery-large{grid-column:span 2}
.installation-gallery .gallery-wide{grid-column:span 2}
.installation-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.installation-gallery .gallery-large img{height:370px}
.installation-gallery .gallery-wide img{height:350px}
.installation-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.installation-dark-panel{padding:30px}
.installation-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.installation-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.installation-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.financing-panel{background:radial-gradient(circle at 90% 20%,rgba(145,164,43,.2),transparent 34%),linear-gradient(145deg,#171717,#070707)}
.installation-finance-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.installation-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.installation-service-area img{width:100%;max-height:440px;object-fit:contain}
.installation-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.installation-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.installation-faq details p{margin:0;padding:0 18px 18px}
.installation-final-cta{margin-top:26px}





/* =========================================================
   INSPECTIONS & TESTING PAGE
   ========================================================= */
.inspection-hero{
  position:relative;
  min-height:600px;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  align-items:center;
  gap:24px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:3px solid var(--orange);
  background:url("inspection-septic-access.jpg") center 45%/cover no-repeat;
}
.inspection-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 47%,rgba(0,0,0,.38) 100%)}
.inspection-hero-copy{position:relative;z-index:2;max-width:880px}
.inspection-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.7vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.inspection-hero h1 span,.inspection-main h2 span{color:var(--orange)}
.inspection-hero p{max-width:780px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.inspection-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.inspection-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.inspection-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.inspection-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.inspection-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.inspection-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
.inspection-intro-copy,.inspection-feature-photo,.inspection-dark-panel,.inspection-service-area,.inspection-faq,.inspection-gallery-section,.inspection-process{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.inspection-intro-copy{padding:30px}
.inspection-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.inspection-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.inspection-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.inspection-feature-photo{margin:0;overflow:hidden}
.inspection-feature-photo img{width:100%;height:100%;min-height:450px;object-fit:cover}
.inspection-feature-photo figcaption,.inspection-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.inspection-process,.inspection-gallery-section,.inspection-faq{margin-top:26px;padding:30px}
.inspection-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.inspection-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.inspection-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.inspection-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.inspection-process-grid p{margin:0;font-size:14px}
.inspection-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.inspection-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.inspection-gallery-wide{grid-column:span 2}
.inspection-gallery img{width:100%;height:320px;object-fit:cover;display:block}
.inspection-gallery-wide img{height:370px}
.inspection-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.inspection-dark-panel{padding:30px}
.inspection-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.inspection-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.inspection-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.inspection-call-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.inspection-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.inspection-service-area img{width:100%;max-height:440px;object-fit:contain}
.inspection-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.inspection-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.inspection-faq details p{margin:0;padding:0 18px 18px}
.inspection-final-cta{margin-top:26px}





/* 24/7 EMERGENCY SERVICE PAGE */
.emergency-page-hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:4px solid #ff4b00;background:url("septic-tank-pumping-in-progress.jpg") center/cover no-repeat}
.emergency-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.84) 48%,rgba(0,0,0,.42))}
.emergency-page-copy{position:relative;z-index:2;max-width:880px}
.emergency-alert{display:inline-block;margin-bottom:14px;padding:9px 14px;background:#b51f00;border:1px solid #ff6b31;color:#fff;font:900 14px Arial,Helvetica,sans-serif;letter-spacing:.8px}
.emergency-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,90px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.emergency-page-hero h1 span,.emergency-page-main h2 span{color:#ff4b00}
.emergency-page-hero p{max-width:780px;margin:0 0 26px;color:#f4f4f4;font-size:20px;line-height:1.55}
.emergency-call-actions{display:flex;flex-wrap:wrap;gap:12px}
.emergency-call-actions a{min-height:58px;display:flex;align-items:center;justify-content:center;padding:13px 20px;color:#fff;font-weight:900;text-decoration:none}
.emergency-call-primary{background:linear-gradient(#ff661b,#c42f00);border:1px solid #ff9a65;font-size:17px}
.emergency-call-secondary{background:#0b0b0b;border:1px solid #777}
.emergency-response-strip{margin-top:20px;color:#d9e078;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.emergency-page-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.emergency-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.emergency-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.emergency-page-main p,.emergency-page-main li{color:#ddd;font-size:16px;line-height:1.62}
.emergency-page-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.emergency-page-panel,.emergency-feature-photo,.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{border:1px solid #523225;border-top:6px solid #ff4b00;background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.emergency-page-panel,.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{padding:30px}
.emergency-feature-photo{margin:0;overflow:hidden}
.emergency-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.emergency-feature-photo figcaption,.emergency-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.emergency-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.emergency-check-grid div{padding:12px 14px;border:1px solid #3b3b3b;background:#0a0a0a;color:#fff;font-weight:800}
.emergency-check-grid div:before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#ff4b00;color:#fff}
.emergency-warning-section,.emergency-steps-section,.emergency-gallery-section,.emergency-faq{margin-top:26px}
.emergency-warning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.emergency-warning-grid article{padding:22px 18px;border:1px solid #3a3a3a;background:#0a0a0a}
.emergency-warning-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.emergency-steps{margin:18px 0 0;padding-left:22px}
.emergency-steps li{margin:14px 0}
.emergency-inline-call{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;background:linear-gradient(#ff661b,#c42f00);border:1px solid #ff9a65;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.emergency-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.emergency-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.emergency-gallery img{width:100%;height:290px;object-fit:cover;display:block}
.emergency-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.emergency-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.emergency-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.emergency-faq details p{margin:0;padding:0 18px 18px}
.emergency-final-call{margin-top:26px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:3px solid #ff4b00;background:linear-gradient(135deg,#331000,#080808)}
.emergency-final-call span{color:#ff7a3d;font-weight:900;letter-spacing:1px}
.emergency-final-call h2{margin:4px 0 0}
.emergency-final-call a{min-width:260px;min-height:64px;display:flex;align-items:center;justify-content:center;background:#ff4b00;color:#fff;font:900 20px Arial,Helvetica,sans-serif;text-decoration:none}

/* FIXED SEPTIC REPAIRS PAGE */
.repairs-fix-hero{position:relative;min-height:530px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:55px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("inspection-existing-system.jpg") center/cover no-repeat}
.repairs-fix-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.83) 48%,rgba(0,0,0,.38))}
.repairs-fix-copy{position:relative;z-index:2}
.repairs-fix-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(52px,6vw,90px)/.9 Arial,Helvetica,sans-serif}
.repairs-fix-hero h1 span,.repairs-fix-main h2 span{color:var(--orange)}
.repairs-fix-hero p{max-width:760px;color:#eee;font-size:20px;line-height:1.55}
.repairs-fix-mascot img{width:min(100%,430px)}
.repairs-fix-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.repairs-fix-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.repairs-fix-panel,.repairs-fix-photo{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}
.repairs-fix-panel{padding:30px}
.repairs-fix-panel h2{margin:0 0 14px;color:#fff;font:900 40px/1 Arial,Helvetica,sans-serif}
.repairs-fix-panel p,.repairs-fix-panel li{color:#ddd;font-size:16px;line-height:1.6}
.repairs-fix-panel ul{list-style:none;padding:0}
.repairs-fix-panel li{margin:11px 0}
.repairs-fix-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.repairs-fix-photo{margin:0;overflow:hidden}
.repairs-fix-photo img{width:100%;height:100%;min-height:430px;object-fit:cover}
.repairs-fix-photo figcaption{padding:10px 12px;background:#080808;color:#ccc}
.repairs-fix-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.repairs-fix-cards article{padding:22px;border:1px solid #393939;background:#0a0a0a}
.repairs-fix-cards h3{margin:0 0 8px;color:var(--orange)}
.repairs-fix-cards p{color:#ddd;line-height:1.55}
.repairs-fix-cta{margin-top:24px}





/* ROOTER / CAMERA PAGE */
.rooter-page-hero{position:relative;min-height:590px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:58px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-installation-pipe-trench.jpg") center 55%/cover no-repeat}
.rooter-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.85) 48%,rgba(0,0,0,.38))}
.rooter-page-copy{position:relative;z-index:2;max-width:870px}
.rooter-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(54px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.rooter-page-hero h1 span,.rooter-page-main h2 span{color:var(--orange)}
.rooter-page-hero p{max-width:770px;margin:0 0 26px;color:#f1f1f1;font-size:20px;line-height:1.55}
.rooter-page-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px}
.rooter-page-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.rooter-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.rooter-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.rooter-page-main p,.rooter-page-main li{color:#ddd;font-size:16px;line-height:1.62}
.rooter-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.rooter-panel,.rooter-feature-photo,.rooter-process-section,.rooter-photo-section,.rooter-service-area,.rooter-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.rooter-panel,.rooter-process-section,.rooter-photo-section,.rooter-service-area,.rooter-faq{padding:30px}
.rooter-feature-photo{margin:0;overflow:hidden}
.rooter-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.rooter-feature-photo figcaption,.rooter-photo-grid figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.rooter-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.rooter-check-grid div{padding:12px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800}
.rooter-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.rooter-process-section,.rooter-photo-section,.rooter-faq{margin-top:26px}
.rooter-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rooter-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0a0a0a;text-align:center}
.rooter-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.rooter-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.rooter-process-grid p{margin:0;font-size:14px}
.rooter-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rooter-photo-grid figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.rooter-photo-grid .rooter-wide{grid-column:span 2}
.rooter-photo-grid img{width:100%;height:315px;object-fit:cover;display:block}
.rooter-photo-grid .rooter-wide img{height:360px}
.rooter-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.rooter-panel ul{list-style:none;margin:18px 0 0;padding:0}
.rooter-panel li{margin:12px 0}
.rooter-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.rooter-call-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.rooter-service-area{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:center;margin-top:26px}
.rooter-service-area img{width:100%;max-height:440px;object-fit:contain}
.rooter-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.rooter-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.rooter-faq details p{margin:0;padding:0 18px 18px}
.rooter-final-cta{margin-top:26px}




/* =========================================================
   SEPTIC REPAIRS PAGE
   ========================================================= */
.repairs-hero{position:relative;min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-repair-excavation.jpg") center 52%/cover no-repeat}
.repairs-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 46%,rgba(0,0,0,.36) 100%)}
.repairs-hero-copy{position:relative;z-index:2;max-width:850px}
.repairs-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(50px,6vw,92px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 5px 7px #000}
.repairs-hero h1 span,.repairs-main h2 span{color:var(--orange)}
.repairs-hero p{max-width:760px;margin:0 0 26px;color:#f0f0f0;font-size:20px;line-height:1.55}
.repairs-hero-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.5px}
.repairs-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.repairs-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.repairs-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.repairs-main p{color:#d9d9d9;font-size:16px;line-height:1.65}
.repairs-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.repairs-intro-copy,.repairs-feature-photo,.repairs-dark-panel,.repairs-service-area,.repairs-faq,.repairs-gallery-section,.repairs-process,.repairs-emergency-banner{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.repairs-intro-copy{padding:30px}
.repairs-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.repairs-check-grid div{padding:12px 14px;border:1px solid #383838;background:#0b0b0b;color:#eee;font-weight:800}
.repairs-check-grid div:before{content:"✓";margin-right:9px;color:var(--orange)}
.repairs-feature-photo{margin:0;overflow:hidden}
.repairs-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.repairs-feature-photo figcaption,.repairs-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.repairs-process,.repairs-gallery-section,.repairs-faq{margin-top:26px;padding:30px}
.repairs-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.repairs-process-grid article{padding:22px 18px;border:1px solid #393939;background:#0b0b0b;text-align:center}
.repairs-process-grid b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--orange);color:#fff;font-size:23px}
.repairs-process-grid h3{margin:0 0 8px;color:#fff;font:900 18px Arial,Helvetica,sans-serif}
.repairs-process-grid p{margin:0;font-size:14px}
.repairs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.repairs-gallery figure{margin:0;overflow:hidden;border:1px solid #383838;background:#080808}
.repairs-gallery .gallery-wide{grid-column:span 2}
.repairs-gallery img{width:100%;height:315px;object-fit:cover;display:block}
.repairs-gallery .gallery-wide img{height:360px}
.repairs-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.repairs-dark-panel{padding:30px}
.repairs-dark-panel ul{list-style:none;margin:18px 0 0;padding:0}
.repairs-dark-panel li{margin:12px 0;color:#ddd;font-size:16px}
.repairs-dark-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.repairs-button-stack{display:grid;gap:10px;margin-top:20px}
.panel-finance-button{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 16px;border:1px solid #777;background:#0a0a0a;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.repairs-emergency-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:30px}
.repairs-emergency-banner a{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:240px;min-height:54px;padding:12px 18px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none}
.repairs-service-area{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;margin-top:26px;padding:30px}
.repairs-service-area img{width:100%;max-height:440px;object-fit:contain}
.repairs-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0b0b0b}
.repairs-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.repairs-faq details p{margin:0;padding:0 18px 18px}
.repairs-final-cta{margin-top:26px}





/* COMPLETE COUNTY PAGES */
.county-complete-hero{position:relative;min-height:570px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:58px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("avalanche-septic-pumping-truck.jpg") center/cover no-repeat}
.county-complete-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.85) 48%,rgba(0,0,0,.4))}
.county-complete-copy{position:relative;z-index:2;max-width:900px}
.county-complete-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.8vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.county-complete-hero h1 span,.county-complete-main h2 span{color:var(--orange)}
.county-complete-hero p{max-width:780px;margin:0 0 26px;color:#f1f1f1;font-size:20px;line-height:1.55}
.county-complete-trust{margin-top:20px;color:#cfd879;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px}
.county-complete-mascot img{width:min(100%,440px);filter:drop-shadow(0 8px 8px #000)}
.county-complete-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.county-complete-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.county-complete-main p,.county-complete-main li{color:#ddd;font-size:16px;line-height:1.62}
.county-complete-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.county-complete-panel,.county-complete-map,.county-complete-gallery-section,.county-complete-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.county-complete-panel,.county-complete-map,.county-complete-gallery-section,.county-complete-faq{padding:30px}
.county-complete-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.county-complete-checks a{padding:13px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800;text-decoration:none}
.county-complete-checks a:before{content:"✓";margin-right:9px;color:var(--orange)}
.county-complete-map{text-align:center}
.county-complete-map img{width:100%;max-height:360px;object-fit:contain}
.county-complete-map h3{margin:10px 0 5px;color:var(--orange);font:900 22px Arial,Helvetica,sans-serif}
.county-complete-gallery-section,.county-complete-faq{margin-top:26px}
.county-complete-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.county-complete-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.county-complete-gallery img{width:100%;height:330px;object-fit:cover;display:block}
.county-complete-gallery figcaption{padding:11px 12px;background:#080808;color:#ccc;font-size:13px}
.county-complete-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.county-complete-panel ul{list-style:none;margin:18px 0 0;padding:0}
.county-complete-panel li{margin:12px 0}
.county-complete-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.county-finance-panel{background:radial-gradient(circle at 90% 20%,rgba(145,164,43,.2),transparent 34%),linear-gradient(145deg,#171717,#070707)}
.county-finance-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:20px;padding:12px 16px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none;text-align:center}
.county-complete-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.county-complete-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.county-complete-faq details p{margin:0;padding:0 18px 18px}
.county-complete-cta{margin-top:26px}
.county-post-footer-seo{background:#050505;border-top:1px solid #2c2c2c;padding:18px 20px 88px}
.county-post-footer-inner{max-width:1480px;margin:0 auto}
.county-post-footer-seo h2{margin:0 0 8px;color:#f37a22;font:900 clamp(18px,2vw,25px)/1.15 Arial,Helvetica,sans-serif}
.county-post-footer-seo p{margin:5px 0;color:#8f8f8f;font-size:12px;line-height:1.45}
.county-post-footer-repeat{opacity:.78}




/* SEPTIC FINANCING PAGE */
.finance-page-hero{position:relative;min-height:650px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:4px solid var(--orange);background:url("septic-system-installation-site.jpg") center 50%/cover no-repeat}
.finance-page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.86) 50%,rgba(0,0,0,.42))}
.finance-page-copy{position:relative;z-index:2;max-width:930px}
.finance-kicker{display:inline-block;margin-bottom:14px;padding:9px 14px;background:#788718;border:1px solid #c8d85a;color:#fff;font:900 14px Arial,Helvetica,sans-serif;letter-spacing:.8px}
.finance-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(48px,5.8vw,88px)/.91 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.finance-page-hero h1 span,.finance-page-main h2 span{color:var(--orange)}
.finance-page-hero p{max-width:800px;margin:0 0 26px;color:#f2f2f2;font-size:20px;line-height:1.55}
.finance-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.finance-hero-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:13px 22px;color:#fff;font-weight:900;text-decoration:none}
.finance-primary{background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55}
.finance-secondary{background:#0b0b0b;border:1px solid #777}
.finance-hero-trust{margin-top:20px;color:#d9e078;font:900 13px Arial,Helvetica,sans-serif;letter-spacing:.45px;line-height:1.5}
.finance-hero-mascot{position:relative;z-index:2;text-align:center}
.finance-hero-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.finance-page-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.finance-page-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.finance-page-main p,.finance-page-main li{color:#ddd;font-size:16px;line-height:1.64}
.finance-intro-grid,.finance-calculator-section{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.finance-panel,.finance-feature-photo,.finance-secondary-photo,.finance-how-section,.finance-uses-section,.finance-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.finance-panel,.finance-how-section,.finance-uses-section,.finance-faq{padding:30px}
.finance-feature-photo,.finance-secondary-photo{margin:0;overflow:hidden}
.finance-feature-photo img,.finance-secondary-photo img{width:100%;height:100%;min-height:450px;object-fit:cover}
.finance-feature-photo figcaption,.finance-secondary-photo figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.finance-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.finance-benefit-grid div{padding:12px 14px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800}
.finance-benefit-grid div:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.finance-how-section,.finance-uses-section,.finance-faq{margin-top:26px}
.finance-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.finance-how-grid article{padding:24px 20px;border:1px solid #393939;background:#0a0a0a;text-align:center}
.finance-how-grid b{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--orange);color:#fff;font-size:24px}
.finance-how-grid h3{margin:0 0 8px;color:#fff;font:900 19px Arial,Helvetica,sans-serif}
.finance-center-button{text-align:center;margin-top:22px}
.finance-center-button a,.finance-call-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:13px 22px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.finance-uses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.finance-uses-grid a{display:block;overflow:hidden;border:1px solid #393939;background:#080808;color:#fff;text-decoration:none}
.finance-uses-grid img{width:100%;height:220px;object-fit:cover;display:block}
.finance-uses-grid div{padding:17px}
.finance-uses-grid h3{margin:0 0 7px;color:var(--orange);font:900 18px Arial,Helvetica,sans-serif}
.finance-uses-grid p{margin:0;font-size:14px}
.finance-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.finance-panel ul{list-style:none;margin:18px 0 0;padding:0}
.finance-panel li{margin:12px 0}
.finance-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.finance-warning-panel{background:radial-gradient(circle at 90% 15%,rgba(145,164,43,.2),transparent 35%),linear-gradient(145deg,#171717,#070707)}
.finance-calculator-section{margin-top:26px}
.finance-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.finance-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.finance-faq details p{margin:0;padding:0 18px 18px}
.finance-big-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:32px;border:3px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}
.finance-big-cta span{color:#cfd879;font-weight:900;letter-spacing:1px}
.finance-big-cta h2{margin:5px 0 8px}
.finance-big-cta p{margin:0}
.finance-big-cta-actions{display:grid;gap:10px;min-width:275px}
.finance-big-cta-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 18px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.finance-big-cta-actions a:last-child{background:#0a0a0a;border-color:#777}





/* HOMEPAGE HERO COPY AND BUTTON LAYOUT UPDATE */
.hero-supporting-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  margin-top:18px !important;
}

.hero-supporting-copy .hero-fast-line,
.hero-supporting-copy .hero-legendary-line,
.hero-supporting-copy .hero-service-line{
  display:block !important;
  width:100% !important;
}

.hero-supporting-copy .hero-fast-line{
  color:#fff !important;
  font-style:normal !important;
}

.hero-supporting-copy .hero-legendary-line{
  color:var(--orange) !important;
  font-style:normal !important;
  font-weight:900 !important;
  font-size:24px !important;
  line-height:1.22 !important;
}

.hero-supporting-copy .hero-service-line{
  color:#fff !important;
  font-size:21px !important;
  line-height:1.38 !important;
}

.hero-buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:600px !important;
  max-width:100% !important;
  margin-top:30px !important;
  justify-content:center !important;
  align-items:stretch !important;
}

.hero-buttons .button{
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hero-buttons .button:nth-child(3){
  grid-column:1 / -1 !important;
  width:280px !important;
  max-width:100% !important;
  justify-self:center !important;
}








/* DETAILED COUNTY PAGE */
.county-detail-hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:24px;padding:60px clamp(24px,5vw,78px);overflow:hidden;border-bottom:3px solid var(--orange);background:url("septic-installation-multiple-risers.jpg") center/cover no-repeat}
.county-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.86) 50%,rgba(0,0,0,.42))}
.county-detail-copy{position:relative;z-index:2;max-width:930px}
.county-detail-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(45px,5.4vw,82px)/.92 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 7px #000}
.county-detail-hero h1 span,.county-detail-main h2 span{color:var(--orange)}
.county-detail-hero p{max-width:800px;margin:0 0 26px;color:#f2f2f2;font-size:20px;line-height:1.55}
.county-detail-tagline{margin-top:20px;color:#d9e078;font:900 15px Arial,Helvetica,sans-serif;letter-spacing:.7px}
.county-detail-mascot img{width:min(100%,450px);filter:drop-shadow(0 8px 8px #000)}
.county-detail-main{max-width:1480px;margin:0 auto;padding:42px 22px 60px}
.county-detail-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,45px)/1 Arial,Helvetica,sans-serif}
.county-detail-main p,.county-detail-main li{color:#ddd;font-size:16px;line-height:1.64}
.county-detail-intro-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}
.county-detail-panel,.county-detail-feature-photo,.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 28px #000}
.county-detail-panel,.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{padding:30px}
.county-detail-feature-photo{margin:0;overflow:hidden}
.county-detail-feature-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}
.county-detail-feature-photo figcaption,.county-detail-gallery figcaption{padding:10px 12px;background:#080808;color:#ccc;font-size:13px}
.county-detail-communities,.county-detail-services,.county-detail-regulations,.county-detail-why,.county-detail-faq{margin-top:26px}
.county-town-chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.county-town-chip-grid span{padding:10px 13px;border:1px solid #454545;background:#0a0a0a;color:#fff;font-weight:800}
.county-detail-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.county-detail-panel ul{list-style:none;margin:18px 0 0;padding:0}
.county-detail-panel li{margin:12px 0}
.county-detail-panel li:before{content:"✓";margin-right:9px;color:var(--orange);font-weight:900}
.county-detail-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.county-detail-service-grid a{padding:22px;border:1px solid #393939;background:#0a0a0a;color:#fff;text-decoration:none}
.county-detail-service-grid h3{margin:0 0 8px;color:var(--orange);font:900 18px Arial,Helvetica,sans-serif}
.county-detail-service-grid p{margin:0;font-size:14px}
.county-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.county-detail-gallery figure{margin:0;overflow:hidden;border:1px solid #393939;background:#080808}
.county-detail-gallery img{width:100%;height:320px;object-fit:cover;display:block}
.county-detail-financing{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:30px;border:3px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}
.county-detail-financing a{min-width:250px;display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 18px;background:linear-gradient(#fa741c,#cd4100);border:1px solid #ff9a55;color:#fff;font-weight:900;text-decoration:none;text-align:center}
.county-detail-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.county-detail-why-grid div{padding:16px;border:1px solid #393939;background:#0a0a0a;color:#fff;font-weight:800;text-align:center}
.county-detail-faq details{margin:10px 0;border:1px solid #3b3b3b;background:#0a0a0a}
.county-detail-faq summary{cursor:pointer;padding:16px 18px;color:#fff;font-weight:900}
.county-detail-faq details p{margin:0;padding:0 18px 18px}
.county-detail-cta{margin-top:26px}




/* CARBON COUNTY DETAILED PAGE */
.carbon-detail-hero{
  background-image:url("septic-tank-installation-hillside.jpg");
}


/* LUZERNE COUNTY DETAILED PAGE */
.luzerne-detail-hero{
  background-image:url("inspection-septic-access.jpg");
}


/* LACKAWANNA COUNTY DETAILED PAGE */
.lackawanna-detail-hero{
  background-image:url("inspection-service-truck.jpg");
}


/* MONROE COUNTY DETAILED PAGE */
.monroe-detail-hero{
  background-image:url("avalanche-septic-pumping-truck.jpg");
}


/* PIKE COUNTY DETAILED PAGE */
.pike-detail-hero{
  background-image:url("septic-system-installation-site.jpg");
}
.county-detail-about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:26px;
}
.county-detail-pumping-guide{
  margin-top:26px;
}
.county-detail-frequency-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:20px 0;
}
.county-detail-frequency-grid div{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px;
  border:1px solid #3b3b3b;
  background:#0a0a0a;
  text-align:center;
}
.county-detail-frequency-grid strong{
  color:var(--orange);
  font:900 22px Arial,Helvetica,sans-serif;
}
.county-detail-frequency-grid span{
  color:#ddd;
  line-height:1.4;
}




/* EXPANDED MONROE COUNTY PAGE */
.monroe-expanded-hero{
  background-image:url("avalanche-septic-pumping-truck.jpg");
}
.county-detail-attractions{
  margin-top:26px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
  box-shadow:inset 0 0 28px #000;
}
.county-detail-attraction-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:20px 0;
}
.county-detail-attraction-grid div{
  padding:16px;
  border:1px solid #393939;
  background:#0a0a0a;
  color:#fff;
  font-weight:800;
  text-align:center;
}
.county-place-heading{
  margin:24px 0 10px;
  color:var(--orange);
  font:900 19px Arial,Helvetica,sans-serif;
  letter-spacing:.4px;
}
.monroe-service-grid{
  grid-template-columns:repeat(3,1fr);
}




/* ABOUT US FAMILY AND TEAM PAGE */
.about-family-hero{position:relative;min-height:590px;display:flex;align-items:center;padding:70px clamp(24px,6vw,90px);overflow:hidden;border-bottom:4px solid var(--orange);background:url("turd-herd-family-about.png") center right/cover no-repeat}.about-family-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.92) 40%,rgba(0,0,0,.48) 72%,rgba(0,0,0,.14) 100%)}.about-family-copy{position:relative;z-index:2;max-width:760px}.about-family-copy h1{margin:0 0 20px;color:#fff;font:900 clamp(46px,5.3vw,80px)/.94 Arial,Helvetica,sans-serif;letter-spacing:-2px;text-shadow:0 5px 9px #000}.about-family-copy h1 span,.about-family-main h2 span{color:var(--orange)}.about-family-copy p{max-width:720px;color:#f0f0f0;font-size:20px;line-height:1.55}.about-family-tagline{margin-top:20px;color:#d9e078;font-weight:900;letter-spacing:.7px}.about-family-main{max-width:1480px;margin:0 auto;padding:44px 22px 64px}.about-family-main h2{margin:0 0 16px;color:#fff;font:900 clamp(31px,3vw,46px)/1 Arial,Helvetica,sans-serif}.about-family-main p{color:#ddd;font-size:16px;line-height:1.65}.about-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}.about-story-copy,.about-family-art,.about-mascot-family,.about-team-section,.about-promise-section{border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707);box-shadow:inset 0 0 30px #000}.about-story-copy{padding:32px}.about-family-art{margin:0;overflow:hidden}.about-family-art img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block}.about-family-art figcaption,.about-team-photo figcaption{padding:13px 16px;background:#080808;color:#ccc;font-size:13px;line-height:1.45}.about-family-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.about-family-values div{display:flex;flex-direction:column;gap:5px;padding:17px;border:1px solid #393939;background:#090909}.about-family-values strong{color:var(--orange);font-size:15px}.about-family-values span{color:#ccc;line-height:1.4}.about-mascot-family,.about-team-section,.about-promise-section{margin-top:28px;padding:32px}.about-section-lead{max-width:1050px;margin-bottom:24px}.about-mascot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.about-mascot-grid article,.about-promise-grid article{padding:22px 18px;border:1px solid #3a3a3a;background:#090909}.about-mascot-grid h3,.about-promise-grid h3,.about-placeholder-grid h3{margin:0 0 9px;color:var(--orange);font:900 19px Arial,Helvetica,sans-serif}.about-mascot-grid p,.about-promise-grid p{margin:0;font-size:14px}.about-team-photo{margin:0;overflow:hidden;border:1px solid #404040;background:#080808}.about-team-photo img{width:100%;max-height:760px;object-fit:contain;display:block;background:#111}.about-team-future{margin-top:26px;padding:26px;border:1px solid #3e3e3e;background:#0a0a0a}.about-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.about-placeholder-grid article{min-height:220px;padding:18px;border:1px dashed #555;background:linear-gradient(145deg,#161616,#080808);text-align:center}.about-placeholder-grid article span{display:flex;align-items:center;justify-content:center;height:110px;margin-bottom:16px;border:1px solid #414141;background:#111;color:#777;font-weight:900;letter-spacing:1px}.about-placeholder-grid p{margin:0;font-size:14px}.about-promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.about-family-cta{margin-top:28px}


/* ABOUT FAMILY PHOTO FULL-VIEW FIX */
.about-family-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#111,#050505);
}
.about-family-hero-image{
  position:relative;
  z-index:2;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 20px 20px 0;
}
.about-family-hero-image img{
  width:100%;
  height:auto;
  max-height:570px;
  object-fit:contain;
  display:block;
}
.about-family-art img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  background:#111;
}



/* COMPLETE SERVICE AREAS PAGE */
.service-areas-hero{
  position:relative;
  min-height:590px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:30px;
  padding:60px clamp(24px,5vw,78px);
  overflow:hidden;
  border-bottom:4px solid var(--orange);
  background:url("dark-texture.jpg") center/cover;
}
.service-areas-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.74));
}
.service-areas-hero-copy,.service-areas-hero-map{
  position:relative;
  z-index:2;
}
.service-areas-hero h1{
  margin:0 0 20px;
  color:#fff;
  font:900 clamp(46px,5.2vw,78px)/.94 Arial,Helvetica,sans-serif;
  letter-spacing:-2px;
}
.service-areas-hero h1 span,.service-areas-main h2 span{
  color:var(--orange);
}
.service-areas-hero p{
  max-width:790px;
  color:#eee;
  font-size:20px;
  line-height:1.55;
}
.service-areas-hero-map{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border:1px solid #493326;
  background:rgba(0,0,0,.48);
}
.service-areas-hero-map img{
  width:100%;
  max-height:490px;
  object-fit:contain;
}
.service-areas-main{
  max-width:1480px;
  margin:0 auto;
  padding:44px 22px 64px;
}
.service-areas-main h2{
  margin:0 0 16px;
  color:#fff;
  font:900 clamp(31px,3vw,46px)/1 Arial,Helvetica,sans-serif;
}
.service-areas-main p{
  color:#ddd;
  font-size:16px;
  line-height:1.65;
}
.service-areas-intro{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:24px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
}
.service-areas-intro aside{
  padding:24px;
  border:2px solid var(--orange);
  background:linear-gradient(135deg,#321200,#070707);
}
.service-areas-intro aside h3{
  margin:0 0 10px;
  color:#fff;
  font:900 24px Arial,Helvetica,sans-serif;
}
.service-areas-intro aside a,
.service-areas-financing>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  margin-top:10px;
  padding:10px 20px;
  background:linear-gradient(#fa741c,#cd4100);
  border:1px solid #ff9a55;
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.service-county-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:26px;
}
.service-county-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border:1px solid #403126;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#181818,#070707);
  box-shadow:inset 0 0 25px #000;
}
.service-county-number{
  position:absolute;
  right:16px;
  top:8px;
  color:rgba(255,105,0,.16);
  font:900 72px Arial,Helvetica,sans-serif;
}
.service-county-card h2{
  position:relative;
  margin-right:80px;
}
.service-county-towns{
  color:#fff!important;
  font-weight:800;
}
.service-county-card>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  margin-top:10px;
  padding:10px 18px;
  border:1px solid var(--orange);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.service-county-card>a:hover{
  background:var(--orange);
}
.service-areas-services{
  margin-top:28px;
  padding:30px;
  border:1px solid #493326;
  border-top:6px solid var(--orange);
  background:linear-gradient(145deg,#171717,#070707);
}
.service-areas-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.service-areas-service-grid a{
  padding:22px 18px;
  border:1px solid #393939;
  background:#090909;
  color:#fff;
  text-decoration:none;
}
.service-areas-service-grid h3{
  margin:0 0 8px;
  color:var(--orange);
  font:900 18px Arial,Helvetica,sans-serif;
}
.service-areas-service-grid p{
  margin:0;
  font-size:14px;
}
.service-areas-financing{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding:30px;
  border:3px solid var(--orange);
  background:linear-gradient(135deg,#321200,#070707);
}
.service-areas-cta{
  margin-top:28px;
}




/* MOBILE MENU FUNCTIONALITY FIX — DESKTOP UNCHANGED */



/* IOS SAFARI MOBILE BOTTOM BAR FIX
   Mobile-only. Desktop website remains unchanged. */


@supports(padding:max(0px)){
  
}


/* FOOTER LINK PAGES: SERVICES, REVIEWS, FAQ, CONTACT, BLOG */
.info-page-hero{position:relative;min-height:480px;display:flex;align-items:center;padding:60px clamp(24px,6vw,90px);border-bottom:4px solid var(--orange);background:linear-gradient(135deg,#111,#020202);overflow:hidden}.info-page-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(255,105,0,.18),transparent 35%),linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.62))}.info-page-hero-copy{position:relative;z-index:2;max-width:980px}.info-page-hero h1{margin:0 0 18px;color:#fff;font:900 clamp(45px,5.7vw,82px)/.94 Arial,Helvetica,sans-serif;letter-spacing:-2px}.info-page-hero h1 span,.info-page-main h2 span{color:var(--orange)}.info-page-hero p{max-width:800px;color:#eee;font-size:20px;line-height:1.55}.info-page-main{max-width:1450px;margin:0 auto;padding:44px 22px 64px}.info-page-intro,.info-page-callout,.contact-page-form-panel,.contact-social-panel{padding:30px;border:1px solid #493326;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.info-page-main h2{margin:0 0 14px;color:#fff;font:900 clamp(30px,3vw,46px)/1 Arial,Helvetica,sans-serif}.info-page-main p{color:#ddd;font-size:16px;line-height:1.65}.services-page-grid,.reviews-page-grid,.contact-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.services-page-grid article,.reviews-page-grid article,.contact-page-card{padding:26px;border:1px solid #3d3128;border-top:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.services-page-grid article h2,.contact-page-card h2{font-size:27px}.services-page-grid a,.contact-page-card a,.info-page-button,.info-page-callout>a,.blog-coming-soon>a,.contact-page-direct>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:10px;padding:10px 19px;border:1px solid #ff9a55;background:linear-gradient(#fa741c,#cd4100);color:#fff;font-weight:900;text-decoration:none}.info-page-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.info-page-feature-row>div{padding:28px;border:1px solid #493326;background:#090909}.review-stars{margin-bottom:12px;color:var(--orange);font-size:24px;letter-spacing:3px}.reviews-page-grid h3{margin:16px 0 0;color:#fff}.info-page-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.faq-page-list{display:grid;gap:12px}.faq-page-list details{border:1px solid #493326;border-left:6px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.faq-page-list summary{padding:22px 24px;color:#fff;cursor:pointer;font:900 20px Arial,Helvetica,sans-serif}.faq-page-list details p{margin:0;padding:0 24px 22px}.contact-page-grid{grid-template-columns:repeat(3,1fr)}.contact-address-note{color:#aaa!important;font-size:14px!important}.contact-page-form-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:24px}.contact-page-direct{padding:24px;border:2px solid var(--orange);background:linear-gradient(135deg,#321200,#070707)}.contact-page-direct h3{margin:0;color:#fff;font:900 25px Arial,Helvetica,sans-serif}.contact-social-panel{margin-top:24px}.contact-social-links{display:flex;flex-wrap:wrap;gap:12px}.contact-social-links a{padding:12px 16px;border:1px solid var(--orange);color:#fff;font-weight:900;text-decoration:none}.blog-coming-soon{max-width:1050px;margin:0 auto;padding:45px;text-align:center;border:1px solid #493326;border-top:8px solid var(--orange);background:linear-gradient(145deg,#171717,#070707)}.blog-coming-icon{display:inline-flex;align-items:center;justify-content:center;width:110px;height:110px;margin-bottom:18px;border:4px solid var(--orange);border-radius:50%;color:#fff;font:900 24px Arial,Helvetica,sans-serif}.blog-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.blog-topic-grid span{padding:16px;border:1px solid #3d3128;background:#090909;color:#fff;font-weight:800}


/* CONTACT PAGE FORM PLACEHOLDER REMOVAL */
.contact-page-form-panel.contact-page-help-only{grid-template-columns:1fr;}


/* CJ PRESIDENT EMPLOYEE PROFILE */
.about-employee-profile{
  min-height:0!important;
  padding:18px!important;
  text-align:left!important;
  border-style:solid!important;
}
.about-employee-profile img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  margin-bottom:16px;
  border:1px solid #414141;
  background:#fff;
}
.about-employee-profile strong{
  display:block;
  margin:-3px 0 10px;
  color:#fff;
  font-size:14px;
  letter-spacing:1px;
}
.about-employee-profile p{
  margin:0;
}


/* PEYTON EMPLOYEE PROFILE SPACING */
.about-employee-profile p + p{
  margin-top:12px;
}


/* WORKING NETLIFY FORMS */
.netlify-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.approved-service-form-section{
  padding:38px clamp(16px,4vw,56px);
  border-top:6px solid var(--orange);
  border-bottom:1px solid #453126;
  background:linear-gradient(145deg,#171717,#050505);
}
.approved-service-form-heading{
  max-width:1100px;
  margin:0 auto 24px;
  text-align:center;
}
.approved-service-form-heading h2{
  margin:4px 0 12px;
  color:#fff;
  font:900 clamp(31px,4vw,52px)/1 Arial,Helvetica,sans-serif;
}
.approved-service-form-heading h2 span,
.contact-form-wrap h2{
  color:var(--orange);
}
.approved-service-form-heading p{
  color:#ddd;
  line-height:1.6;
}
.approved-service-form-heading a{
  color:var(--orange);
  font-weight:900;
}
.approved-service-form{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:28px;
  border:1px solid #4a3426;
  background:#090909;
}
.approved-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.approved-form-wide{
  grid-column:1/-1;
}
.approved-service-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.5px;
}
.approved-service-form input,
.approved-service-form select,
.approved-service-form textarea,
.mailing-form select{
  width:100%;
  min-height:50px;
  padding:12px 13px;
  border:1px solid #5a5a5a;
  border-radius:0;
  background:#fff;
  color:#111;
  font:600 16px Arial,Helvetica,sans-serif;
  box-sizing:border-box;
}
.approved-service-form textarea{
  min-height:145px;
  resize:vertical;
}
.approved-form-checks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.approved-form-checks label,
.approved-form-consent{
  flex-direction:row!important;
  align-items:flex-start;
  padding:13px;
  border:1px solid #3c3c3c;
  background:#141414;
  font-weight:700!important;
  line-height:1.45;
}
.approved-form-checks input,
.approved-form-consent input{
  width:18px!important;
  min-height:18px!important;
  height:18px!important;
  flex:0 0 18px;
  margin-top:1px;
}
.approved-form-message{
  margin-bottom:16px;
}
.approved-service-form button{
  width:100%;
  min-height:58px;
  margin-top:18px;
  border:1px solid #ff9a55;
  background:linear-gradient(#fa741c,#cd4100);
  color:#fff;
  font:900 18px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.approved-form-note{
  margin:12px 0 0;
  color:#aaa;
  font-size:13px;
  text-align:center;
}
.live-contact-form-panel{
  grid-template-columns:minmax(0,1fr) 320px!important;
  align-items:start;
}
.contact-form-wrap h2{
  margin:5px 0 10px;
}
.contact-approved-form{
  margin-top:20px;
  padding:22px;
}
.mailing-form select{
  min-width:0;
}
.form-response-page,
.giveaway-rules-page{
  min-height:65vh;
  padding:60px 18px 100px;
  background:linear-gradient(145deg,#171717,#050505);
}
.form-response-card,
.giveaway-rules-page>section{
  max-width:900px;
  margin:0 auto;
  padding:42px;
  border:1px solid #493326;
  border-top:7px solid var(--orange);
  background:#090909;
}
.form-response-card{
  text-align:center;
}
.form-response-card h1,
.giveaway-rules-page h1{
  margin:8px 0 18px;
  color:#fff;
  font:900 clamp(34px,5vw,58px)/1 Arial,Helvetica,sans-serif;
}
.form-response-card p,
.giveaway-rules-page p{
  color:#ddd;
  font-size:17px;
  line-height:1.65;
}
.form-response-card>a{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  padding:10px 22px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.form-response-emergency a{
  color:var(--orange)!important;
  font-weight:900;
}
.giveaway-rules-page h2{
  margin:28px 0 8px;
  color:var(--orange);
  font:900 22px Arial,Helvetica,sans-serif;
}



/* FINAL IPHONE + ANDROID MOBILE EXPERIENCE
   These rules affect phones/tablets only. Desktop remains unchanged. */

/* =========================================================
   CLEAN MOBILE CSS REBUILD — IPHONE + ANDROID
   Desktop CSS above is unchanged. All former max-width
   mobile patches were removed and replaced by this section.
   ========================================================= */

@media (max-width: 1100px) {
  html {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    overflow-x: hidden;
    font-size: 17px;
    line-height: 1.6;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  /* Header and hamburger */
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #050505;
  }

  .header-main {
    min-height: 78px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .approved-logo {
    flex: 1 1 auto;
    min-width: 0;
  }

  .approved-logo img {
    display: block;
    width: auto;
    max-width: 220px;
    height: 54px;
    object-fit: contain;
    object-position: left center;
  }

  .approved-logo .header-trust-badge,
  .emergency-phone,
  .social-row {
    display: none;
  }

  .mobile-menu-button {
    display: flex;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid #555;
    border-radius: 6px;
    background: #111;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    touch-action: manipulation;
  }

  .mobile-menu-button span {
    display: block;
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    transition: transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-button.open span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }

  .mobile-menu-button.open span:nth-child(2) {
    opacity: 0;
  }

  .mobile-menu-button.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  #main-navigation.primary-nav {
    position: fixed;
    top: 78px;
    right: 0;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    left: 0;
    z-index: 999;
    display: block;
    width: 100%;
    max-height: none;
    padding: 0 0 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #070707;
    border-top: 1px solid #60300f;
    border-bottom: 3px solid var(--orange);
    box-shadow: 0 18px 36px rgba(0,0,0,.8);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  #main-navigation.primary-nav.mobile-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  #main-navigation.primary-nav > a,
  #main-navigation.primary-nav .nav-trigger {
    display: flex;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 15px 20px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid #292929;
    background: #090909;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
  }

  #main-navigation .nav-item {
    width: 100%;
  }

  #main-navigation .nav-item .dropdown {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    visibility: visible;
    opacity: 1;
    transform: none;
    border: 0;
    box-shadow: none;
    background: #151515;
    transition: max-height .25s ease;
  }

  #main-navigation .nav-item.open .dropdown {
    max-height: 900px;
  }

  #main-navigation .dropdown a {
    display: flex;
    min-height: 52px;
    padding: 13px 20px 13px 38px;
    align-items: center;
    border-bottom: 1px solid #2c2c2c;
    background: #151515;
    color: #eee;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
  }

  #main-navigation .nav-trigger span {
    font-size: 22px;
    transition: transform .2s ease;
  }

  #main-navigation .nav-item.open .nav-trigger span {
    transform: rotate(180deg);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  /* Standard readable type */
  main p,
  main li,
  main blockquote,
  main figcaption,
  main details p {
    font-size: 17px;
    line-height: 1.62;
  }

  main h1 {
    overflow-wrap: anywhere;
  }

  main h2 {
    font-size: clamp(30px, 6vw, 42px);
    line-height: 1.08;
  }

  main h3 {
    font-size: 22px;
    line-height: 1.2;
  }

  .section-label,
  .internal-page-kicker {
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: .7px;
  }

  /* Consistent page spacing */
  .info-page-main,
  .about-family-main,
  .service-areas-main,
  .county-detail-main,
  .county-complete-main,
  .pumping-main,
  .repairs-main,
  .installation-main,
  .inspection-main,
  .emergency-main,
  .rooter-main,
  .financing-main {
    width: 100%;
    max-width: 100%;
    padding: 30px 18px 48px;
  }

  /* Interior page heroes */
  .info-page-hero,
  .about-family-hero,
  .service-areas-hero,
  .county-detail-hero,
  .county-complete-hero,
  .pumping-hero,
  .repairs-hero,
  .installation-hero,
  .inspection-hero,
  .emergency-page-hero,
  .rooter-page-hero,
  .finance-page-hero {
    min-height: 0;
    padding: 36px 18px 28px;
  }

  .info-page-hero h1,
  .about-family-copy h1,
  .service-areas-hero h1,
  .county-detail-hero h1,
  .county-complete-hero h1,
  .pumping-hero h1,
  .repairs-hero h1,
  .installation-hero h1,
  .inspection-hero h1,
  .emergency-page-hero h1,
  .rooter-page-hero h1,
  .finance-page-hero h1 {
    font-size: clamp(38px, 8vw, 56px);
    line-height: 1;
    letter-spacing: -.6px;
  }

  .info-page-hero p,
  .about-family-copy p,
  .service-areas-hero p,
  .county-detail-hero p,
  .county-complete-hero p,
  .pumping-hero p,
  .repairs-hero p,
  .installation-hero p,
  .inspection-hero p,
  .emergency-page-hero p,
  .rooter-page-hero p,
  .finance-page-hero p {
    font-size: 18px;
    line-height: 1.55;
  }

  /* Stack desktop grids */
  .services-page-grid,
  .reviews-page-grid,
  .contact-page-grid,
  .info-page-feature-row,
  .contact-page-form-panel,
  .blog-topic-grid,
  .about-story-grid,
  .about-family-values,
  .about-mascot-grid,
  .about-placeholder-grid,
  .about-promise-grid,
  .service-areas-intro,
  .service-county-grid,
  .service-areas-service-grid,
  .county-detail-intro-grid,
  .county-detail-two-column,
  .county-detail-service-grid,
  .county-detail-why-grid,
  .county-complete-intro,
  .county-complete-two-column,
  .pumping-intro,
  .pumping-two-column,
  .repairs-intro,
  .repairs-two-column,
  .installation-intro,
  .installation-two-column,
  .inspection-intro,
  .inspection-two-column,
  .emergency-intro,
  .emergency-two-column,
  .rooter-intro,
  .rooter-two-column,
  .rooter-service-area,
  .financing-options,
  .approved-form-grid,
  .approved-form-checks,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  /* Panels */
  .services-page-grid article,
  .reviews-page-grid article,
  .contact-page-card,
  .info-page-intro,
  .info-page-callout,
  .contact-page-form-panel,
  .contact-social-panel,
  .blog-coming-soon,
  .about-story-copy,
  .about-mascot-family,
  .about-team-section,
  .about-promise-section,
  .service-areas-intro,
  .service-areas-services,
  .service-county-card,
  .county-detail-dark-panel,
  .county-complete-dark-panel,
  .pumping-dark-panel,
  .repairs-dark-panel,
  .installation-dark-panel,
  .inspection-dark-panel,
  .emergency-dark-panel,
  .rooter-dark-panel,
  .approved-service-form {
    padding: 22px 18px;
  }

  /* Buttons and forms */
  .internal-page-actions,
  .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }

  .internal-page-actions a,
  .hero-buttons a {
    width: 100%;
    min-height: 52px;
    padding: 13px 16px;
    font-size: 17px;
    line-height: 1.25;
    white-space: normal;
  }

  .approved-service-form label {
    font-size: 16px;
    line-height: 1.35;
  }

  .approved-service-form input,
  .approved-service-form select,
  .approved-service-form textarea,
  .mailing-form input,
  .mailing-form select {
    width: 100%;
    min-height: 52px;
    padding: 12px 13px;
    font-size: 17px;
  }

  .approved-service-form textarea {
    min-height: 145px;
  }

  .approved-service-form button,
  .mailing-form button {
    min-height: 52px;
    font-size: 17px;
  }

  /* FAQ */
  details summary,
  .faq-page-list summary {
    min-height: 56px;
    padding: 16px;
    font-size: 18px;
    line-height: 1.35;
  }

  /* Images and galleries */
  figure img {
    width: 100%;
  }

  .rooter-photo-grid,
  .county-detail-gallery,
  .county-complete-gallery,
  .pumping-gallery,
  .repairs-gallery,
  .installation-gallery,
  .inspection-gallery,
  .emergency-gallery {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .rooter-photo-grid .rooter-wide,
  .county-detail-gallery .gallery-wide,
  .county-complete-gallery .gallery-wide,
  .pumping-gallery .gallery-wide,
  .repairs-gallery .gallery-wide,
  .installation-gallery .gallery-wide,
  .inspection-gallery .gallery-wide,
  .emergency-gallery .gallery-wide {
    grid-column: 1 / -1;
  }

  /* Footer */
  footer {
    padding: 38px 20px calc(102px + env(safe-area-inset-bottom, 0px));
  }

  .footer-grid {
    gap: 26px;
  }

  .footer-grid h3 {
    font-size: 22px;
  }

  .footer-grid p,
  .footer-grid a {
    font-size: 17px;
    line-height: 1.55;
  }

  /* Fixed bottom action bar */
  .mobile-callbar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1100;
    display: grid;
    grid-template-columns: .9fr 1.2fr .9fr;
    width: 100%;
    min-height: 72px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #060606;
    border-top: 2px solid var(--orange);
    box-shadow: 0 -5px 16px rgba(0,0,0,.55);
  }

  .mobile-callbar a {
    min-width: 0;
    min-height: 72px;
    margin: 0;
    padding: 7px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-left: 1px solid #333;
    font-size: 13px;
    line-height: 1.15;
    text-align: center;
  }

  .mobile-callbar .mobile-call-main {
    background: linear-gradient(#fb7116, #cd4100);
    font-size: 15px;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 18px;
  }

  .header-main {
    min-height: 74px;
    padding: 8px 12px;
  }

  .approved-logo img {
    max-width: 190px;
    height: 49px;
  }

  #main-navigation.primary-nav {
    top: 74px;
  }

  main p,
  main li,
  main blockquote,
  main figcaption,
  main details p {
    font-size: 18px;
    line-height: 1.62;
  }

  main h2 {
    font-size: clamp(29px, 9vw, 38px);
  }

  .info-page-main,
  .about-family-main,
  .service-areas-main,
  .county-detail-main,
  .county-complete-main,
  .pumping-main,
  .repairs-main,
  .installation-main,
  .inspection-main,
  .emergency-main,
  .rooter-main,
  .financing-main {
    padding-right: 14px;
    padding-left: 14px;
  }

  .info-page-hero,
  .about-family-hero,
  .service-areas-hero,
  .county-detail-hero,
  .county-complete-hero,
  .pumping-hero,
  .repairs-hero,
  .installation-hero,
  .inspection-hero,
  .emergency-page-hero,
  .rooter-page-hero,
  .finance-page-hero {
    padding: 32px 15px 25px;
  }

  .info-page-hero h1,
  .about-family-copy h1,
  .service-areas-hero h1,
  .county-detail-hero h1,
  .county-complete-hero h1,
  .pumping-hero h1,
  .repairs-hero h1,
  .installation-hero h1,
  .inspection-hero h1,
  .emergency-page-hero h1,
  .rooter-page-hero h1,
  .finance-page-hero h1 {
    font-size: clamp(36px, 11vw, 48px);
  }

  /* Homepage */
  .hero {
    min-height: auto;
  }

  .hero-content {
    min-height: 0;
    padding: 38px 15px 28px;
  }

  .hero h1 {
    font-size: clamp(46px, 14vw, 62px);
    line-height: .92;
  }

  .green-brush {
    font-size: 18px;
    line-height: 1.18;
  }

  .hero-copy p {
    font-size: 18px;
    line-height: 1.55;
  }

  .service-menu {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    overflow: visible;
  }

  .service-item img {
    width: 100%;
    min-width: 0;
  }

  .home-card {
    min-height: 0;
    padding: 22px 17px 76px;
  }

  .home-card h2 {
    font-size: 28px;
  }

  .home-card p,
  .home-card li,
  .home-card blockquote {
    font-size: 18px;
    line-height: 1.58;
  }

  /* One image per row on small phones */
  .rooter-photo-grid,
  .county-detail-gallery,
  .county-complete-gallery,
  .pumping-gallery,
  .repairs-gallery,
  .installation-gallery,
  .inspection-gallery,
  .emergency-gallery {
    grid-template-columns: 1fr;
  }

  .rooter-photo-grid .rooter-wide,
  .county-detail-gallery .gallery-wide,
  .county-complete-gallery .gallery-wide,
  .pumping-gallery .gallery-wide,
  .repairs-gallery .gallery-wide,
  .installation-gallery .gallery-wide,
  .inspection-gallery .gallery-wide,
  .emergency-gallery .gallery-wide {
    grid-column: auto;
  }

  .about-employee-profile img {
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }
}

@media (max-width: 360px) {
  .approved-logo img {
    max-width: 165px;
  }

  .mobile-menu-button {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  .hero h1 {
    font-size: 44px;
  }

  .service-menu {
    grid-template-columns: 1fr;
  }
}

/* HOMEPAGE PHONE LAYOUT CORRECTION
   Corrects desktop !important rules that were overriding phone layout. */
@media (max-width: 640px) {

  /* Larger centered header logo with hamburger kept accessible */
  .header-main {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 94px !important;
    min-height: 94px !important;
    padding: 8px 72px 8px 14px !important;
    gap: 0 !important;
  }

  .approved-logo,
  .approved-logo.logo-block {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 300px !important;
    height: 78px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .approved-logo img,
  .approved-logo.logo-block img {
    display: block !important;
    width: 100% !important;
    max-width: 285px !important;
    height: 72px !important;
    max-height: 72px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .mobile-menu-button {
    position: absolute !important;
    top: 21px !important;
    right: 12px !important;
    z-index: 1002 !important;
  }

  #main-navigation.primary-nav {
    top: 94px !important;
  }

  /* Clean homepage hero — no overlapping phone mockup or mascot */
  .hero {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    background-position: 62% center !important;
  }

  .hero-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 42px 18px 34px !important;
  }

  .hero-copy {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    text-align: left !important;
  }

  .hero h1 {
    margin: 0 0 16px !important;
    font-size: clamp(48px, 15vw, 66px) !important;
    line-height: .9 !important;
    letter-spacing: -1px !important;
  }

  .green-brush {
    display: block !important;
    width: calc(100% - 14px) !important;
    max-width: 520px !important;
    margin: 14px auto 22px !important;
    padding: 10px 13px 8px !important;
    font-size: clamp(21px, 6.5vw, 29px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
    transform: none !important;
    box-shadow: none !important;
  }

  .hero-supporting-copy {
    margin: 0 0 22px !important;
  }

  .hero-fast-line,
  .hero-legendary-line,
  .hero-service-line {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px !important;
    font-size: clamp(21px, 6vw, 29px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .hero-service-line {
    font-size: clamp(20px, 5.8vw, 27px) !important;
  }

  .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .hero-buttons .button,
  .hero-buttons .button.orange,
  .hero-buttons .button.black {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 15px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    transform: none !important;
  }

  .mascot,
  .booking-phone {
    display: none !important;
  }

  /* Service tiles */
  .service-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 12px 22px !important;
  }

  .service-menu .service-item {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .service-menu .service-item img,
  .service-menu img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  /* Four homepage information boxes must stack vertically */
  .homepage-cards {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 12px 30px !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  .homepage-cards > .home-card,
  .home-card,
  .family-card,
  .emergency-card,
  .financing-card,
  .areas-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 22px 17px 24px !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  .home-card > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .box-top-ribbon,
  .emergency-top-ribbon,
  .financing-topline {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: calc(100% + 34px) !important;
    min-height: 0 !important;
    margin: -22px -17px 20px !important;
    padding: 13px 10px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .home-card h2,
  .home-card h3,
  .family-heading-top,
  .family-results-line,
  .financing-main-question,
  .financing-option-one h3 {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 15px !important;
    font-size: clamp(27px, 8vw, 36px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .family-heading-top > div,
  .finance-line-white,
  .finance-line-orange {
    white-space: normal !important;
    word-break: normal !important;
  }

  .home-card p,
  .home-card li,
  .home-card blockquote,
  .financing-option-one p {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .home-card ul,
  .county-columns {
    width: 100% !important;
    min-width: 0 !important;
  }

  .county-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .family-card img {
    width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    margin: 0 auto 14px !important;
    object-fit: cover !important;
  }

  .areas-map-image {
    width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    margin: 12px auto 18px !important;
    object-fit: contain !important;
  }

  .home-card > a,
  .family-bottom-button,
  .finance-main-cta,
  .service-areas-bottom-button {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 18px 0 0 !important;
    padding: 13px 15px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .finance-main-cta {
    width: 100% !important;
  }

  .emergency-body,
  .financing-message,
  .finance-provider,
  .financing-option-one .finance-note {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Prevent bottom bar from covering the last content */
  main {
    padding-bottom: 14px !important;
  }
}

@media (max-width: 360px) {
  .header-main {
    padding-right: 64px !important;
  }

  .approved-logo,
  .approved-logo.logo-block {
    max-width: 245px !important;
  }

  .approved-logo img,
  .approved-logo.logo-block img {
    max-width: 235px !important;
  }

  .hero h1 {
    font-size: 46px !important;
  }

  .service-menu {
    grid-template-columns: 1fr !important;
  }
}


/* FINAL MOBILE HOMEPAGE — FORMS HIDDEN + REVIEWS ORGANIZED
   Desktop is untouched. These rules apply only to phones/tablets. */
@media (max-width: 767px) {

  /* Keep both homepage forms in the HTML for Netlify, but hide them on phones. */
  body .mailing-giveaway,
  body #mailing-list,
  body .approved-service-form-section,
  body #booking.approved-service-form-section {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  /* Force the four homepage feature cards into one full-width column. */
  body .homepage-cards {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 14px 28px !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  body .homepage-cards > article,
  body .homepage-cards > .home-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Reviews become one clean full-width card. */
  body .reviews-mailing-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 14px 30px !important;
    overflow: visible !important;
  }

  body .reviews-mailing-row .homepage-review-section,
  body .homepage-review-section.compact-review-panel {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 2px solid var(--orange) !important;
    border-radius: 10px !important;
    background: rgba(8,8,8,.96) !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-inner {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 16px 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-inner > .box-top-ribbon {
    position: static !important;
    display: block !important;
    width: calc(100% + 32px) !important;
    max-width: none !important;
    margin: 0 -16px 18px !important;
    padding: 13px 10px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body .google-review-logo-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto 12px !important;
  }

  body .google-review-logo {
    display: block !important;
    width: auto !important;
    max-width: 185px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  body .review-section-head {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body .review-section-head h2 {
    margin: 6px 0 8px !important;
    font-size: 29px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  body .review-section-head p {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  body .homepage-review-carousel {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 36px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-carousel .review-slides,
  body .review-slides {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body .homepage-review-carousel .review-slide,
  body .review-slide {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 8px 18px !important;
    opacity: 1 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body .homepage-review-carousel .review-slide.active,
  body .review-slide.active {
    display: block !important;
  }

  body .review-slide blockquote {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body .reviewer-name,
  body .review-source,
  body .stars {
    width: 100% !important;
    text-align: center !important;
  }

  body .review-nav {
    position: absolute !important;
    top: 50% !important;
    width: 34px !important;
    height: 48px !important;
    min-width: 34px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }

  body .review-prev {
    left: 0 !important;
  }

  body .review-next {
    right: 0 !important;
  }

  body .review-dots {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 12px 0 4px !important;
  }

  body .review-section-actions {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
  }

  body .review-section-actions .button {
    width: 100% !important;
    max-width: 300px !important;
    min-height: 52px !important;
  }

  /* Larger, centered logo. */
  body .header-main {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 96px !important;
    height: 96px !important;
    padding: 8px 70px 8px 14px !important;
  }

  body .approved-logo,
  body .approved-logo.logo-block {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 315px !important;
    height: 80px !important;
    margin: 0 auto !important;
  }

  body .approved-logo img,
  body .approved-logo.logo-block img {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: 74px !important;
    max-height: 74px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body .mobile-menu-button {
    position: absolute !important;
    top: 23px !important;
    right: 12px !important;
  }

  body #main-navigation.primary-nav {
    top: 96px !important;
  }
}


/* FINAL SERVICES + SERVICE AREAS PHONE CORRECTION
   Applies only to inside service/county pages. Homepage and desktop are untouched. */
@media (max-width: 767px) {

  /* Stop all inside pages from extending past the phone screen. */
  .pumping-main,
  .installation-main,
  .inspection-main,
  .emergency-page-main,
  .repairs-main,
  .rooter-page-main,
  .service-areas-main,
  .county-detail-main,
  .county-complete-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .pumping-main *,
  .installation-main *,
  .inspection-main *,
  .emergency-page-main *,
  .repairs-main *,
  .rooter-page-main *,
  .service-areas-main *,
  .county-detail-main *,
  .county-complete-main * {
    box-sizing: border-box !important;
    max-width: 100%;
  }

  /* Force every problem desktop grid into a clean vertical phone layout. */
  .pumping-main [class*="grid"],
  .installation-main [class*="grid"],
  .inspection-main [class*="grid"],
  .emergency-page-main [class*="grid"],
  .repairs-main [class*="grid"],
  .rooter-page-main [class*="grid"],
  .service-areas-main [class*="grid"],
  .county-detail-main [class*="grid"],
  .county-complete-main [class*="grid"],
  .pumping-two-column,
  .installation-two-column,
  .inspection-two-column,
  .emergency-two-column,
  .repairs-two-column,
  .rooter-two-column,
  .county-detail-two-column,
  .county-complete-two-column,
  .county-detail-intro-grid,
  .county-complete-intro,
  .emergency-page-intro,
  .inspection-intro,
  .pumping-intro,
  .installation-intro,
  .repairs-intro,
  .rooter-intro,
  .service-areas-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* Cards must be full width, never fixed-width columns. */
  .pumping-main article,
  .installation-main article,
  .inspection-main article,
  .emergency-page-main article,
  .repairs-main article,
  .rooter-page-main article,
  .service-areas-main article,
  .county-detail-main article,
  .county-complete-main article,
  .pumping-main section > div,
  .installation-main section > div,
  .inspection-main section > div,
  .emergency-page-main section > div,
  .repairs-main section > div,
  .rooter-page-main section > div,
  .service-areas-main section > div,
  .county-detail-main section > div,
  .county-complete-main section > div {
    min-width: 0 !important;
  }

  /* Emergency warning cards shown one at a time vertically. */
  .emergency-warning-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .emergency-warning-grid article {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px 18px !important;
  }

  .emergency-warning-grid article h3 {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  .emergency-warning-grid article p {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  /* County information and service cards. */
  .county-detail-service-grid,
  .county-detail-why-grid,
  .county-town-chip-grid,
  .county-link-grid,
  .service-county-grid,
  .service-areas-service-grid,
  .county-complete-service-grid,
  .county-complete-why-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .county-town-chip-grid span,
  .county-detail-service-grid a,
  .county-detail-why-grid div,
  .county-link-grid a {
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  /* Photos become one full-width image per row. */
  .pumping-gallery,
  .installation-gallery,
  .inspection-gallery,
  .emergency-gallery,
  .repairs-gallery,
  .rooter-photo-grid,
  .county-detail-gallery,
  .county-complete-gallery {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .pumping-gallery figure,
  .installation-gallery figure,
  .inspection-gallery figure,
  .emergency-gallery figure,
  .repairs-gallery figure,
  .rooter-photo-grid figure,
  .county-detail-gallery figure,
  .county-complete-gallery figure {
    grid-column: auto !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .pumping-gallery img,
  .installation-gallery img,
  .inspection-gallery img,
  .emergency-gallery img,
  .repairs-gallery img,
  .rooter-photo-grid img,
  .county-detail-gallery img,
  .county-complete-gallery img,
  .county-detail-feature-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  /* Fix every large call-to-action band and keep the button inside the box. */
  .internal-cta-band,
  .emergency-final-call,
  .county-detail-financing,
  .county-complete-financing,
  .pumping-final-call,
  .installation-final-call,
  .repairs-final-call,
  .rooter-final-call {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 24px 18px !important;
    gap: 18px !important;
    overflow: hidden !important;
  }

  .internal-cta-band > div,
  .emergency-final-call > div,
  .county-detail-financing > div,
  .county-complete-financing > div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .internal-cta-band h2,
  .emergency-final-call h2,
  .county-detail-financing h2,
  .county-complete-financing h2 {
    width: 100% !important;
    margin: 0 0 12px !important;
    font-size: clamp(31px, 9vw, 42px) !important;
    line-height: 1.02 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .internal-cta-band p,
  .emergency-final-call p,
  .county-detail-financing p,
  .county-complete-financing p {
    width: 100% !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .internal-cta-band > a,
  .emergency-final-call > a,
  .county-detail-financing > a,
  .county-complete-financing > a,
  .pumping-final-call > a,
  .installation-final-call > a,
  .repairs-final-call > a,
  .rooter-final-call > a {
    position: static !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 13px !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Specific emergency call button shown in screenshot. */
  .emergency-final-call {
    border: 3px solid var(--orange) !important;
  }

  .emergency-final-call > a {
    background: linear-gradient(#ff650d, #d84400) !important;
  }

  /* Sections and panels need normal phone padding. */
  .emergency-warning-section,
  .emergency-steps-section,
  .emergency-gallery-section,
  .emergency-faq,
  .county-detail-panel,
  .county-detail-communities,
  .county-detail-services,
  .county-detail-regulations,
  .county-detail-why,
  .county-detail-faq,
  .county-complete-panel,
  .county-complete-services,
  .county-complete-why,
  .county-complete-faq,
  .pumping-page-panel,
  .installation-page-panel,
  .inspection-page-panel,
  .emergency-page-panel,
  .repairs-page-panel,
  .rooter-page-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 22px 17px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* FAQ questions always fit inside the phone. */
  .pumping-main details,
  .installation-main details,
  .inspection-main details,
  .emergency-page-main details,
  .repairs-main details,
  .rooter-page-main details,
  .county-detail-main details,
  .county-complete-main details {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .pumping-main summary,
  .installation-main summary,
  .inspection-main summary,
  .emergency-page-main summary,
  .repairs-main summary,
  .rooter-page-main summary,
  .county-detail-main summary,
  .county-complete-main summary {
    width: 100% !important;
    padding: 16px 14px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  /* Keep long headings readable, not cut into narrow strips. */
  .pumping-main h2,
  .installation-main h2,
  .inspection-main h2,
  .emergency-page-main h2,
  .repairs-main h2,
  .rooter-page-main h2,
  .service-areas-main h2,
  .county-detail-main h2,
  .county-complete-main h2 {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}


/* FINANCING + ABOUT PHONE FIX
   Phone-only correction. Homepage and desktop layouts are unchanged. */
@media (max-width: 767px) {

  /* =========================
     FINANCING PAGE
     ========================= */

  .finance-page-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px 14px 48px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .finance-page-main * {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  .finance-page-hero {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 36px 16px 30px !important;
    overflow: hidden !important;
    background-position: center center !important;
  }

  .finance-page-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  .finance-page-hero h1 {
    width: 100% !important;
    margin: 0 0 17px !important;
    font-size: clamp(39px, 11vw, 52px) !important;
    line-height: .98 !important;
    letter-spacing: -1px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .finance-page-hero p {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .finance-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .finance-hero-actions a {
    position: static !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    transform: none !important;
    font-size: 17px !important;
    white-space: normal !important;
  }

  .finance-hero-trust {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .finance-hero-mascot {
    display: none !important;
  }

  .finance-intro-grid,
  .finance-how-grid,
  .finance-uses-grid,
  .finance-two-column,
  .finance-calculator-section,
  .finance-benefit-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 15px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .finance-panel,
  .finance-feature-photo,
  .finance-secondary-photo,
  .finance-how-section,
  .finance-uses-section,
  .finance-faq,
  .finance-big-cta {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow: hidden !important;
  }

  .finance-panel,
  .finance-how-section,
  .finance-uses-section,
  .finance-faq {
    padding: 22px 17px !important;
  }

  .finance-page-main h2 {
    width: 100% !important;
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .finance-page-main p,
  .finance-page-main li {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  .finance-feature-photo img,
  .finance-secondary-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 430px !important;
    object-fit: cover !important;
  }

  .finance-how-grid article,
  .finance-uses-grid a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .finance-how-grid article {
    padding: 22px 18px !important;
  }

  .finance-uses-grid img {
    width: 100% !important;
    height: auto !important;
    max-height: 300px !important;
    object-fit: cover !important;
  }

  .finance-center-button,
  .finance-center-button a,
  .finance-call-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .finance-center-button a,
  .finance-call-button {
    display: flex !important;
    min-height: 54px !important;
    padding: 13px 14px !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .finance-big-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
    padding: 24px 18px !important;
  }

  .finance-big-cta > div,
  .finance-big-cta-actions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .finance-big-cta-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .finance-big-cta-actions a {
    position: static !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    transform: none !important;
    font-size: 17px !important;
    white-space: normal !important;
  }

  /* =========================
     ABOUT US — TOP SECTION
     ========================= */

  .about-family-hero {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 38px 16px 34px !important;
    overflow: hidden !important;
    background-image: url("turd-herd-family-about.png") !important;
    background-position: 66% center !important;
    background-size: cover !important;
  }

  .about-family-overlay {
    background: linear-gradient(
      90deg,
      rgba(0,0,0,.97) 0%,
      rgba(0,0,0,.92) 58%,
      rgba(0,0,0,.62) 100%
    ) !important;
  }

  .about-family-copy {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .about-family-copy .internal-page-kicker {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 11px 13px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .about-family-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: .96 !important;
    letter-spacing: -1px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .about-family-copy p {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    font-size: 18px !important;
    line-height: 1.58 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .about-family-copy .internal-page-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .about-family-copy .internal-page-actions a {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    transform: none !important;
    font-size: 17px !important;
    white-space: normal !important;
  }

  .about-family-tagline {
    width: 100% !important;
    margin-top: 20px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  /* The hero already uses the family artwork as its background on phones.
     Hide the second copy so it cannot squeeze the text into a narrow column. */
  .about-family-hero-image {
    display: none !important;
  }
}


/* MOBILE CONTACT NAV + OFFICE ADDRESS */
.mobile-contact-nav {
  display: none;
}

.contact-office-address {
  margin: 22px 0;
  padding: 22px 20px;
  border: 2px solid var(--orange);
  background: rgba(8, 8, 8, .94);
  text-align: center;
}

.contact-office-address h3 {
  margin: 0 0 12px;
}

.contact-office-address p {
  margin: 6px 0;
}

@media (max-width: 767px) {
  #main-navigation.primary-nav .mobile-contact-nav {
    display: flex !important;
  }

  .contact-office-address {
    width: 100%;
    max-width: 100%;
    margin: 18px 0;
    padding: 20px 16px;
    box-sizing: border-box;
  }

  .contact-office-address h3 {
    font-size: 24px !important;
  }

  .contact-office-address p {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }
}


/* FINAL CONTACT PAGE PHONE FIX
   Contact page only on phones. Desktop and all other pages remain unchanged. */
@media (max-width: 767px) {

  /* Keep the complete Contact page inside the phone viewport. */
  body:has(.contact-approved-form) .info-page-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 26px 14px 46px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body:has(.contact-approved-form) .info-page-main *,
  body:has(.contact-approved-form) .info-page-main *::before,
  body:has(.contact-approved-form) .info-page-main *::after {
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  /* Top contact cards stack one at a time. */
  body:has(.contact-approved-form) .contact-page-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body:has(.contact-approved-form) .contact-page-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 21px 17px !important;
  }

  body:has(.contact-approved-form) .contact-page-card h2 {
    font-size: 26px !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.contact-approved-form) .contact-page-card a {
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 12px !important;
  }

  /* The old placeholder address note is no longer needed on phones. */
  body:has(.contact-approved-form) .contact-address-note {
    display: none !important;
  }

  body:has(.contact-approved-form) .contact-office-address {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 !important;
    padding: 20px 16px !important;
  }

  /* Form and urgent-call box stack vertically at full width. */
  body:has(.contact-approved-form) .contact-page-form-panel,
  body:has(.contact-approved-form) .live-contact-form-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 21px 16px !important;
    overflow: visible !important;
  }

  body:has(.contact-approved-form) .contact-form-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.contact-approved-form) .contact-form-wrap > h2 {
    width: 100% !important;
    margin: 8px 0 12px !important;
    font-size: 32px !important;
    line-height: 1.06 !important;
    white-space: normal !important;
  }

  body:has(.contact-approved-form) .contact-form-wrap > p {
    width: 100% !important;
    margin: 0 0 18px !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  /* One full-width form field per row. */
  body:has(.contact-approved-form) .approved-service-form,
  body:has(.contact-approved-form) .contact-approved-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:has(.contact-approved-form) .approved-form-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.contact-approved-form) .approved-form-grid > label,
  body:has(.contact-approved-form) .approved-form-wide,
  body:has(.contact-approved-form) .approved-form-message {
    display: block !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body:has(.contact-approved-form) .approved-service-form label > span {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  body:has(.contact-approved-form) .approved-service-form input:not([type="checkbox"]),
  body:has(.contact-approved-form) .approved-service-form select,
  body:has(.contact-approved-form) .approved-service-form textarea {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 13px !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  body:has(.contact-approved-form) .approved-service-form textarea {
    min-height: 150px !important;
    resize: vertical !important;
  }

  /* Checkboxes use a clean horizontal row, not a skinny text column. */
  body:has(.contact-approved-form) .approved-form-checks {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 16px 0 !important;
  }

  body:has(.contact-approved-form) .approved-form-checks label,
  body:has(.contact-approved-form) .approved-form-consent {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 11px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  body:has(.contact-approved-form) .approved-form-checks input[type="checkbox"],
  body:has(.contact-approved-form) .approved-form-consent input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 1px 0 0 !important;
  }

  body:has(.contact-approved-form) .approved-form-consent > span {
    width: auto !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body:has(.contact-approved-form) .approved-service-form button {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 56px !important;
    margin: 16px 0 0 !important;
    padding: 14px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  body:has(.contact-approved-form) .approved-form-note {
    width: 100% !important;
    margin: 14px 0 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* Urgent help box stays below the form and fits the screen. */
  body:has(.contact-approved-form) .contact-page-direct {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 22px 17px !important;
    transform: none !important;
  }

  body:has(.contact-approved-form) .contact-page-direct h3 {
    font-size: 27px !important;
    line-height: 1.1 !important;
  }

  body:has(.contact-approved-form) .contact-page-direct p {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  body:has(.contact-approved-form) .contact-page-direct a {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 14px 0 0 !important;
    padding: 13px !important;
    transform: none !important;
    font-size: 17px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Social buttons stay organized in two columns. */
  body:has(.contact-approved-form) .contact-social-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 22px 17px !important;
  }

  body:has(.contact-approved-form) .contact-social-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body:has(.contact-approved-form) .contact-social-links a {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 12px 8px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  body:has(.contact-approved-form) .contact-social-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
