:root{
  --navy:#071a2f;
  --navy2:#0b2a4f;
  --blue:#0f7db8;
  --blue2:#1597e5;
  --sky:#eaf6fd;
  --ink:#14202b;
  --muted:#5c6873;
  --light:#f6f8fa;
  --white:#fff;
  --line:#dfe5ea;
  --shadow:0 14px 40px rgba(4,25,45,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit}
.wrap{width:min(1180px,92%);margin:auto}
.topbar{background:#061728;color:#fff;font-size:.93rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0}
.topbar a{font-weight:800;text-decoration:none}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.02em}
.brand img{width:42px;height:42px}
.brand strong{font-size:1.07rem}.brand span{color:var(--blue)}
nav{display:flex;gap:22px;align-items:center}
nav a{text-decoration:none;font-weight:700;font-size:.95rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:10px;background:var(--blue);color:#fff;text-decoration:none;font-weight:900;border:2px solid var(--blue);transition:.15s ease;cursor:pointer}
.btn:hover{transform:translateY(-1px);filter:brightness(.96)}
.btn.alt{background:#fff;color:var(--navy);border-color:#fff}
.btn.outline{background:transparent;border-color:#fff;color:#fff}
.phone-btn{white-space:nowrap}
.hero{position:relative;min-height:620px;background-image:linear-gradient(90deg,rgba(4,18,34,.18),rgba(4,18,34,.03)),url('assets/hero-home.png');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero-copy{width:min(610px,58%);padding:66px 0 78px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900;color:#98d9ff;margin-bottom:12px}
h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:.1em 0 .25em}
.hero p{font-size:1.12rem;max-width:580px;color:#eef6fb}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 14px}
.offer-pill{display:inline-block;background:#fff;color:var(--navy);padding:8px 12px;border-radius:999px;font-weight:900;font-size:.9rem}
.trust-strip{background:var(--navy);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:22px 18px;border-right:1px solid rgba(255,255,255,.15)}
.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:1rem}.trust-item span{font-size:.88rem;color:#c5d6e4}
section{padding:74px 0}.section-head{max-width:760px;margin:0 auto 36px;text-align:center}.section-head h2{font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.035em;margin:0 0 10px}.section-head p{color:var(--muted);font-size:1.05rem;margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 8px 24px rgba(4,25,45,.06)}.card h3{margin:11px 0 8px;font-size:1.28rem}.card p{color:var(--muted);margin:0 0 14px}.icon{width:46px;height:46px;border-radius:12px;background:var(--sky);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:1.45rem;font-weight:900}
.soft{background:var(--light)}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}.step{position:relative;padding:28px;background:#fff;border-radius:var(--radius);border:1px solid var(--line)}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:42px;height:42px;background:var(--blue);color:#fff;border-radius:50%;font-weight:900;margin-bottom:16px}.step h3{margin:0 0 8px}.step p{color:var(--muted);margin:0}
.band{background:linear-gradient(125deg,var(--navy),var(--navy2));color:#fff}.band-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}.band h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.03;margin:0 0 12px}.band p{color:#d6e5ef;font-size:1.08rem}.checks{display:grid;gap:12px;margin-top:20px}.check{display:flex;gap:10px;align-items:flex-start}.check b{color:#91d6ff}
.offer-section{background:var(--sky)}.offer-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;background:#fff;border:2px solid #b8dff5;border-radius:22px;padding:34px 38px;box-shadow:var(--shadow)}.offer-box h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em}.offer-box p{margin:6px 0 0;color:var(--muted)}.price{font-size:4rem;font-weight:950;line-height:.9;color:var(--blue);letter-spacing:-.06em}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.stars{letter-spacing:.12em;color:#e0a500;font-size:1.1rem}.review p{font-size:1rem}.review small{color:var(--muted);font-weight:700}
.area{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.area-list{display:flex;flex-wrap:wrap;gap:10px}.tag{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-weight:800;font-size:.92rem}
.final-cta{text-align:center;background:var(--navy);color:#fff}.final-cta h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:0 0 10px}.final-cta p{color:#d8e6ef;margin:0 auto 22px;max-width:650px}
footer{background:#04111f;color:#b9c9d5;padding:34px 0 90px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-grid h4{color:#fff;margin:0 0 10px}.footer-grid a{display:block;text-decoration:none;margin:6px 0}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:18px;font-size:.86rem}
.mobile-call{display:none;position:fixed;bottom:0;left:0;right:0;z-index:80;background:#fff;border-top:1px solid var(--line);padding:9px 12px;box-shadow:0 -8px 22px rgba(0,0,0,.12)}.mobile-call .btn{width:100%}
.service-hero{min-height:470px;background:linear-gradient(90deg,rgba(4,18,34,.9),rgba(4,18,34,.35)),url('assets/hero-home.png') center/cover;color:#fff;display:flex;align-items:center}.service-hero.drain{background-image:linear-gradient(90deg,rgba(4,18,34,.9),rgba(4,18,34,.32)),url('assets/hero-drain-v17.webp')}.service-hero .hero-copy{padding:54px 0;width:min(660px,70%)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-row{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.service-row h3{margin:0 0 6px}.service-row p{margin:0;color:var(--muted)}
.notice{font-size:.82rem;color:var(--muted);margin-top:12px}
@media (max-width:900px){nav{display:none}.hero{min-height:560px;background-position:62% center}.hero-copy{width:64%}.trust-grid{grid-template-columns:repeat(2,1fr)}.grid,.reviews,.how{grid-template-columns:1fr}.band-grid,.area,.offer-box{grid-template-columns:1fr}.offer-box{text-align:center}.footer-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}}
@media (max-width:640px){.topbar .wrap{justify-content:center}.topbar .wrap span{display:none}.hero{min-height:620px;background-position:70% center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,27,.92) 0%,rgba(2,14,27,.78) 58%,rgba(2,14,27,.38) 100%)}.hero-copy,.service-hero .hero-copy{width:100%;padding:70px 0}.hero p{font-size:1rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{border-bottom:1px solid rgba(255,255,255,.12)}section{padding:56px 0}.mobile-call{display:block}footer{padding-bottom:105px}.brand strong{font-size:.98rem}.btn{width:100%}.hero-actions{display:grid}.service-hero{min-height:520px}.price{font-size:3.4rem}}

/* Chesaning location-page hero: clean photo crop without embedded ad copy */
.chesaning-hero{background-image:linear-gradient(90deg,rgba(4,18,34,.96) 0%,rgba(4,18,34,.88) 40%,rgba(4,18,34,.38) 72%,rgba(4,18,34,.12) 100%),url('assets/hero-chesaning.jpg');background-position:center right;min-height:520px}
.chesaning-hero .hero-copy{width:min(680px,58%);padding:72px 0}
.chesaning-hero h1{max-width:650px}
.btn-light{background:#fff;color:var(--navy);border:2px solid #fff}
.btn-light:hover{filter:brightness(.94)}
.hero-offer{display:inline-block;margin:0;padding:9px 13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:8px;font-size:.9rem!important}
@media(max-width:900px){.chesaning-hero{background-position:64% center}.chesaning-hero .hero-copy{width:68%}}
@media(max-width:640px){.chesaning-hero{min-height:600px;background-image:linear-gradient(90deg,rgba(4,18,34,.96) 0%,rgba(4,18,34,.86) 62%,rgba(4,18,34,.5) 100%),url('assets/hero-chesaning.jpg');background-position:62% center}.chesaning-hero .hero-copy{width:100%;padding:64px 0}.hero-offer{display:block;text-align:center}}

/* Water heater one-day replacement guarantee */
.water-heater-hero .hero-guarantee{display:inline-block;margin-top:2px;padding:9px 13px;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:rgba(255,255,255,.1);font-size:.92rem;font-weight:800;color:#fff}
.guarantee-section{padding:42px 0;background:linear-gradient(135deg,#eaf6fd 0%,#fff 62%)}
.guarantee-card{display:grid;grid-template-columns:1fr 230px;gap:34px;align-items:center;background:#fff;border:2px solid #b8dff5;border-radius:24px;padding:38px 42px;box-shadow:var(--shadow)}
.guarantee-kicker{display:block;color:var(--blue);font-size:.78rem;letter-spacing:.14em;font-weight:900;margin-bottom:8px}
.guarantee-copy h2{font-size:clamp(2.25rem,4.6vw,4rem);line-height:1;letter-spacing:-.045em;margin:0 0 16px;color:var(--navy)}
.guarantee-copy h2 span{color:var(--blue)}
.guarantee-lead{font-size:1.08rem;color:var(--muted);max-width:790px;margin:0 0 22px}
.guarantee-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.guarantee-points div{padding:15px;border-radius:12px;background:var(--light);border:1px solid var(--line)}
.guarantee-points strong,.guarantee-points span{display:block}.guarantee-points strong{color:var(--navy);font-size:1.02rem}.guarantee-points span{color:var(--muted);font-size:.84rem;margin-top:3px}
.guarantee-badge{width:210px;height:210px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,var(--blue2),var(--navy2));color:#fff;border:9px solid #dff3ff;box-shadow:0 16px 36px rgba(4,25,45,.2);transform:rotate(-3deg)}
.guarantee-badge strong{font-size:3.4rem;line-height:1;margin:4px 0}.guarantee-badge span{font-weight:900;font-size:.78rem;letter-spacing:.08em}
.guarantee-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.guarantee-terms{background:var(--light)}
.eyebrow.dark{color:var(--blue)}
.terms-box{max-width:980px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 34px;box-shadow:0 8px 24px rgba(4,25,45,.05)}
.terms-box ol{margin:0;padding-left:22px}.terms-box li{margin:0 0 14px;color:#35424e}.terms-box li strong{color:var(--navy)}
.terms-note{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted);font-weight:700}
@media(max-width:900px){.guarantee-card{grid-template-columns:1fr}.guarantee-badge{margin:auto}.guarantee-points{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.guarantee-card{padding:28px 22px}.guarantee-points{grid-template-columns:1fr}.guarantee-badge{width:180px;height:180px}.guarantee-badge strong{font-size:3rem}.terms-box{padding:22px 20px}}

/* =========================================================
   Production responsive fixes — Sept. 17, 2026
   Goals: clean hero image, iPad/tablet layout, phone layout,
   tap-friendly CTAs, no horizontal overflow, correct logo.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}
.btn{min-height:48px}
.brand{min-width:0;flex:0 1 auto}
.brand img{width:46px;height:46px;object-fit:contain;flex:0 0 46px}
.brand strong{line-height:1.08;white-space:nowrap}
.offer-pill{max-width:100%;white-space:normal;line-height:1.3}
.hero:after{display:none}

/* Homepage: use only the clean technician crop, never the ad artwork. */
.hero{
  min-height:590px;
  background-color:var(--navy);
  background-image:
    linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.93) 38%,rgba(3,17,31,.70) 58%,rgba(3,17,31,.26) 78%,rgba(3,17,31,.08) 100%),
    url('assets/hero-clean.jpg');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.hero-copy{width:min(600px,56%);padding:62px 0 70px}
.hero h1{max-width:590px}

/* Interior/location pages that previously reused the artwork hero. */
.service-hero:not(.drain),
.chesaning-hero{
  background-color:var(--navy);
  background-image:
    linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.92) 43%,rgba(3,17,31,.62) 65%,rgba(3,17,31,.14) 100%),
    url('assets/hero-clean.jpg');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.chesaning-hero .hero-copy{width:min(660px,58%)}

/* The supplied black/blue mark gets a white tile in the dark footer. */
footer .brand img{background:#fff;border-radius:8px;padding:4px}

/* Hide full nav before it can collide on iPad landscape/small laptops. */
@media (max-width:1100px){
  nav{display:none}
  .nav{gap:16px}
  .hero{min-height:570px}
  .hero-copy{width:min(570px,62%);padding:58px 0 64px}
  .service-hero .hero-copy,.chesaning-hero .hero-copy{width:min(610px,65%)}
}

/* iPad / tablet portrait */
@media (max-width:820px){
  .wrap{width:min(94%,1180px)}
  .topbar{font-size:.86rem}
  .topbar .wrap{padding:7px 0}
  .nav{padding:9px 0}
  .brand{gap:8px}
  .brand img{width:40px;height:40px;flex-basis:40px}
  .brand strong{font-size:.92rem}
  .phone-btn{padding:10px 15px;min-height:44px}

  .hero{
    min-height:560px;
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.99) 0%,rgba(3,17,31,.94) 44%,rgba(3,17,31,.72) 66%,rgba(3,17,31,.28) 100%),
      url('assets/hero-clean.jpg');
    background-size:cover,auto 100%;
    background-position:center,right center;
  }
  .hero-copy{width:min(540px,68%);padding:54px 0 62px}
  h1{font-size:clamp(2.7rem,7.2vw,4.2rem)}
  .hero p{font-size:1.04rem}
  .hero-actions{gap:10px;margin:20px 0 13px}
  .hero-actions .btn{padding:12px 16px}

  .service-hero:not(.drain),.chesaning-hero{
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.99) 0%,rgba(3,17,31,.94) 48%,rgba(3,17,31,.70) 70%,rgba(3,17,31,.26) 100%),
      url('assets/hero-clean.jpg');
    background-size:cover,auto 100%;
    background-position:center,right center;
  }
  .service-hero .hero-copy,.chesaning-hero .hero-copy{width:min(560px,72%);padding:56px 0}

  section{padding:58px 0}
  .trust-item{padding:20px 16px}
  .offer-box{padding:30px 26px}
  .guarantee-points{grid-template-columns:1fr 1fr}
}

/* Phones */
@media (max-width:640px){
  .wrap{width:92%}
  .topbar .wrap{justify-content:center}
  .topbar .wrap span{display:none}
  .topbar a{font-size:.88rem}

  .nav{gap:9px;padding:8px 0}
  .brand img{width:38px;height:38px;flex-basis:38px}
  .brand strong{font-size:.82rem;letter-spacing:-.025em}
  .nav .phone-btn{width:auto;min-width:86px;padding:9px 12px;font-size:.9rem}

  .hero{
    min-height:560px;
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.94) 62%,rgba(3,17,31,.76) 100%),
      url('assets/hero-clean.jpg');
    background-size:cover,auto 100%;
    background-position:center,68% center;
  }
  .hero-copy{width:100%;padding:50px 0 58px}
  h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:1.01}
  .hero p{font-size:1rem;max-width:34rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:20px 0 13px}
  .hero-actions .btn{width:100%;min-height:50px}
  .offer-pill{display:block;text-align:center;padding:9px 11px;border-radius:12px;font-size:.84rem}

  .service-hero:not(.drain),.chesaning-hero{
    min-height:530px;
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(3,17,31,.94) 64%,rgba(3,17,31,.77) 100%),
      url('assets/hero-clean.jpg');
    background-size:cover,auto 100%;
    background-position:center,68% center;
  }
  .service-hero .hero-copy,.chesaning-hero .hero-copy{width:100%;padding:50px 0 58px}
  .service-hero.drain .hero-copy{width:100%}

  section{padding:50px 0}
  .section-head{margin-bottom:28px}
  .section-head h2{font-size:clamp(1.95rem,9vw,2.65rem)}
  .card,.step,.review{padding:22px}
  .offer-box{padding:26px 20px}
  .price{font-size:3.1rem}
  .guarantee-points{grid-template-columns:1fr}
  .mobile-call{display:block;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  footer{padding-bottom:112px}
}

/* Very small phones: avoid header collisions; persistent bottom CTA remains. */
@media (max-width:420px){
  .nav .phone-btn{display:none}
  .brand{margin:auto}
  .brand strong{font-size:.86rem}
  .trust-grid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .trust-item:last-child{border-bottom:0}
}

/* =========================================================
   Google Ads General Plumbing landing page — Sept. 18, 2026
   ========================================================= */
.ads-landing-page .ad-nav{min-height:72px}
.ad-header-proof{display:flex;flex-direction:column;text-align:right;margin-left:auto;margin-right:8px;line-height:1.15}
.ad-header-proof strong{font-size:.9rem;color:var(--navy)}
.ad-header-proof span{font-size:.77rem;color:var(--muted);margin-top:4px}
.ads-landing-hero{
  min-height:610px;
  background-color:var(--navy);
  background-image:
    linear-gradient(90deg,rgba(3,17,31,.99) 0%,rgba(3,17,31,.94) 39%,rgba(3,17,31,.68) 58%,rgba(3,17,31,.22) 77%,rgba(3,17,31,.06) 100%),
    url('assets/hero-clean.jpg');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.ads-landing-hero .hero-copy{width:min(650px,58%);padding:76px 0 82px}
.ads-landing-hero h1{max-width:650px;font-size:clamp(3rem,5.4vw,5.1rem);line-height:.98}
.ads-landing-hero p{font-size:1.08rem;max-width:610px}
.ads-service-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){
  .ads-landing-hero{min-height:580px}
  .ads-landing-hero .hero-copy{width:min(610px,65%);padding:64px 0 70px}
}
@media(max-width:820px){
  .ad-header-proof{display:none}
  .ads-landing-hero{
    min-height:570px;
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.99) 0%,rgba(3,17,31,.95) 47%,rgba(3,17,31,.74) 69%,rgba(3,17,31,.30) 100%),
      url('assets/hero-clean.jpg');
    background-position:center,69% center;
  }
  .ads-landing-hero .hero-copy{width:min(560px,73%);padding:58px 0 64px}
  .ads-service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ads-landing-page .brand strong{font-size:.78rem}
  .ads-landing-hero{
    min-height:590px;
    background-image:
      linear-gradient(90deg,rgba(3,17,31,.99) 0%,rgba(3,17,31,.95) 65%,rgba(3,17,31,.80) 100%),
      url('assets/hero-clean.jpg');
    background-size:cover,auto 100%;
    background-position:center,68% center;
  }
  .ads-landing-hero .hero-copy{width:100%;padding:54px 0 62px}
  .ads-landing-hero h1{font-size:clamp(2.5rem,12vw,3.5rem)}
  .ads-service-grid{grid-template-columns:1fr}
}


/* Correct Titan Edge brand logo supplied by owner */
header .brand .brand-full-logo{
  width:220px;
  height:auto;
  max-height:64px;
  object-fit:contain;
  flex:0 1 auto;
}
@media (max-width:900px){
  header .brand .brand-full-logo{width:190px;max-height:58px}
}
@media (max-width:640px){
  header .brand .brand-full-logo{width:160px;max-height:52px}
  .ads-landing-page header .brand .brand-full-logo{width:150px}
}


/* =========================================================
   Final pre-deploy visual system — Sept. 18, 2026
   Uses the approved naturally branded technician hero.
   ========================================================= */
.hero{
  min-height:620px;
  background-color:#061728;
  background-image:
    linear-gradient(90deg,rgba(2,14,27,.98) 0%,rgba(2,14,27,.92) 33%,rgba(2,14,27,.68) 51%,rgba(2,14,27,.20) 72%,rgba(2,14,27,.04) 100%),
    url('assets/hero-branded-natural.png');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.hero-copy{width:min(620px,54%);padding:72px 0 82px}
.hero h1{max-width:600px;font-size:clamp(3.1rem,5.5vw,5.15rem)}
.hero p{max-width:590px;font-size:1.08rem;line-height:1.55}
.home-trust{background:#fff;color:var(--navy);border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(4,25,45,.06)}
.home-trust .trust-item{border-right:1px solid var(--line)}
.home-trust .trust-item:last-child{border-right:0}
.home-trust .trust-item span{color:var(--muted)}
.home-trust .trust-item strong{color:var(--navy)}

.service-hero:not(.drain):not(.chesaning-hero){
  background-color:#061728;
  background-image:
    linear-gradient(90deg,rgba(2,14,27,.98) 0%,rgba(2,14,27,.92) 38%,rgba(2,14,27,.60) 58%,rgba(2,14,27,.16) 80%,rgba(2,14,27,.03) 100%),
    url('assets/hero-branded-natural.png');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.ads-landing-hero{
  min-height:610px;
  background-color:#061728;
  background-image:
    linear-gradient(90deg,rgba(2,14,27,.99) 0%,rgba(2,14,27,.94) 40%,rgba(2,14,27,.63) 58%,rgba(2,14,27,.18) 79%,rgba(2,14,27,.03) 100%),
    url('assets/hero-branded-natural.png');
  background-repeat:no-repeat;
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.ads-landing-hero .hero-copy{width:min(650px,57%);padding:76px 0 82px}

@media(max-width:900px){
  .hero,.service-hero:not(.drain):not(.chesaning-hero),.ads-landing-hero{
    background-size:cover,auto 100%;
    background-position:center,72% center;
  }
  .hero-copy,.ads-landing-hero .hero-copy{width:min(590px,68%)}
  .home-trust .trust-item:nth-child(2){border-right:0}
}
@media(max-width:640px){
  .hero,.service-hero:not(.drain):not(.chesaning-hero),.ads-landing-hero{
    min-height:610px;
    background-image:
      linear-gradient(90deg,rgba(2,14,27,.98) 0%,rgba(2,14,27,.93) 62%,rgba(2,14,27,.73) 100%),
      url('assets/hero-branded-natural.png');
    background-size:cover,auto 100%;
    background-position:center,66% center;
  }
  .hero-copy,.ads-landing-hero .hero-copy{width:100%;padding:62px 0 70px}
  .hero h1,.ads-landing-hero h1{font-size:clamp(2.7rem,12vw,3.7rem);max-width:520px}
  .home-trust .trust-item{border-right:0;border-bottom:1px solid var(--line)}
  .home-trust .trust-item:last-child{border-bottom:0}
}

/* =========================================================
   Water Heater Replacement SEO service page — Sept. 21, 2026
   ========================================================= */
.water-heater-page .wh-seo-hero{min-height:590px}
.water-heater-page .wh-seo-hero .hero-copy{width:min(680px,62%);padding:72px 0 78px}
.water-heater-page .wh-seo-hero h1{max-width:700px;font-size:clamp(3rem,5.1vw,4.9rem)}
.water-heater-page .wh-symptom-grid{grid-template-columns:repeat(3,1fr)}
.water-heater-page .wh-process{grid-template-columns:repeat(3,1fr)}
.wh-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px;margin:auto}
.wh-compare-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 8px 24px rgba(4,25,45,.05)}
.wh-compare-card h3{margin:0 0 16px;color:var(--navy);font-size:1.35rem}
.wh-compare-card ul{margin:0;padding-left:20px;color:var(--muted)}
.wh-compare-card li{margin:0 0 10px}
.wh-compare-accent{border:2px solid #b8dff5;background:linear-gradient(145deg,#fff,#f4fbff)}
.wh-callout{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:28px}
.wh-callout strong{display:block;font-size:1.45rem;margin-bottom:8px}
.wh-callout p{font-size:1rem;margin-top:0}
.wh-local-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 8px 24px rgba(4,25,45,.06)}
.wh-local-card h3{font-size:1.45rem;margin:0 0 10px;color:var(--navy)}
.wh-local-card p{color:var(--muted);margin:0 0 18px}
.wh-local-card .btn{margin-bottom:14px}
.text-link{display:block;color:var(--blue);font-weight:900;text-decoration:none;margin-top:4px}
.wh-area-list{margin-top:20px}
.wh-faq-list{display:grid;gap:12px;max-width:940px;margin:auto}
.wh-faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px;box-shadow:0 5px 16px rgba(4,25,45,.04)}
.wh-faq-list summary{cursor:pointer;list-style:none;font-weight:900;color:var(--navy);padding:18px 28px 18px 0;position:relative}
.wh-faq-list summary::-webkit-details-marker{display:none}
.wh-faq-list summary:after{content:'+';position:absolute;right:0;top:15px;font-size:1.35rem;color:var(--blue)}
.wh-faq-list details[open] summary:after{content:'–'}
.wh-faq-list details p{color:var(--muted);margin:0;padding:0 0 20px;max-width:820px}
@media(max-width:900px){
  .water-heater-page .wh-symptom-grid,.water-heater-page .wh-process{grid-template-columns:1fr}
  .wh-compare{grid-template-columns:1fr}
  .water-heater-page .wh-seo-hero .hero-copy{width:min(610px,70%)}
}
@media(max-width:640px){
  .water-heater-page .wh-seo-hero{min-height:600px}
  .water-heater-page .wh-seo-hero .hero-copy{width:100%;padding:54px 0 62px}
  .water-heater-page .wh-seo-hero h1{font-size:clamp(2.45rem,11vw,3.45rem)}
  .wh-compare-card,.wh-local-card,.wh-callout{padding:22px}
}


/* =========================================================
   Google Ads same-day offer conversion update — Sept. 29, 2026
   ========================================================= */
.ads-landing-hero h1{
  max-width:720px;
  font-size:clamp(2.85rem,4.8vw,4.6rem);
  line-height:1.01;
}
.hero-offer-line{color:#9edcff}
.hero-proof-line{
  color:#d7e9f5;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
  margin:2px 0 12px;
}
.ads-landing-page .offer-pill{
  background:#fff;
  color:var(--navy);
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.ads-landing-page .offer-section{scroll-margin-top:88px}
.ads-landing-page .offer-box{grid-template-columns:minmax(0,1fr) auto}
.ads-landing-page .offer-box .price{
  white-space:nowrap;
  text-align:center;
}
.ads-landing-page .offer-box .price span{
  display:block;
  font-size:1rem;
  letter-spacing:.12em;
  margin-top:8px;
  color:var(--navy);
}
.offer-terms{
  font-size:.78rem;
  line-height:1.45;
  color:#6c7780 !important;
  max-width:760px;
  margin-top:12px !important;
}
@media(max-width:900px){
  .ads-landing-page .offer-box{grid-template-columns:1fr;text-align:center}
  .ads-landing-page .offer-box .price{margin-top:4px}
}
@media(max-width:640px){
  .ads-landing-hero h1{font-size:clamp(2.35rem,10.8vw,3.25rem);line-height:1.02}
  .hero-proof-line{font-size:.82rem;line-height:1.45}
  .ads-landing-page .offer-pill{font-size:.79rem;line-height:1.35;border-radius:14px}
}

/* Smaller drain hero for narrow screens; versioned assets can be cached safely. */
@media(max-width:640px){.service-hero.drain{background-image:linear-gradient(90deg,rgba(4,18,34,.9),rgba(4,18,34,.32)),url('assets/hero-drain-mobile-v17.webp')}}
