/* Clear visual rhythm between consecutive GEO sections */
.intro-grid,.guide-lead{background:#edf0ea}
.image-break,.diagnostic,.story-section{background:#080d0e}
.split-cards article:first-child,.local-ledger>div:first-child,.audiences article:first-child{background:#f8f8f4}
.split-cards article:last-child,.local-ledger>div:last-child,.audiences article:last-child{background:#17211e;color:#fff}
.split-cards article,.local-ledger>div,.audiences article{border-top:1px solid #aeb6b1;border-bottom:1px solid #aeb6b1}
.split-cards article{padding-top:48px;padding-bottom:48px}
.split-cards article>img:first-child{height:330px;margin:-48px 0 34px;object-fit:cover}
.split-cards .card-fill-image{height:330px;margin:34px 0 -48px;object-fit:cover}
.service-index{background:#fff;border-top:1px solid #c8ceca;border-bottom:1px solid #c8ceca}
.price-panel{box-shadow:0 20px 0 #111817}
.pest-router,.situation-grid{background:#e7ebe5;border-bottom:1px solid #aeb6b1}
.diagnostic+section,.story-section+section{border-top:8px solid var(--yellow)}
.steps{background:#f8f8f4;border-bottom:1px solid #b9c0bc}
.business-band,.home-business{border:12px solid #dce2dc}
.guide-nav{border-top:1px solid #afb7b2;border-bottom:1px solid #afb7b2}
.guide-chapter{background:#fff;border-bottom:1px solid #aeb6b1}
.guide-chapter.reverse{background:#111a18}
.pricing-table{border-top:10px solid #dce2dd}
.urgent{background:#dfe5df;border-top:1px solid #aab3ad;border-bottom:1px solid #aab3ad}
.answers{background:#fafbf8}
.nearby{background:#18231f;border-top:8px solid var(--yellow)}
.geo-cta{background:#fff;border-top:1px solid #bec5c1}
.nearby .geo-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nearby .geo-link-grid a{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:14px;min-height:78px;padding:16px 18px;border:1px solid #65726d;background:rgba(255,255,255,.025)}
.nearby .geo-link-grid a:hover{background:var(--yellow);color:#080c0d;border-color:var(--yellow)}
.nearby .geo-link-grid span,.nearby .geo-link-grid small{font:700 10px 'Barlow Condensed';letter-spacing:.1em}.nearby .geo-link-grid b{font:700 22px 'Barlow Condensed'}
.intro-grid,.guide-lead{padding-top:72px;padding-bottom:72px}
.service-index,.pest-router,.situation-grid,.answers{padding-top:72px;padding-bottom:72px}
.urgent,.nearby{padding-top:56px;padding-bottom:56px}
.geo-cta{padding-top:72px;padding-bottom:72px}

/* Pattern A hero corrections: keep long local headings below the fixed nav,
   replace the oversized billboard scale, and remove the redundant yellow rail. */
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) main{padding-top:76px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .geo-hero{height:min(680px,76vh);min-height:610px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content{top:50%;width:min(690px,54vw)}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content h1{font-size:clamp(36px,3.35vw,58px);line-height:.94;letter-spacing:-.014em;margin-bottom:16px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content strong{font-size:clamp(17px,1.45vw,22px);max-width:610px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content ul{padding:14px 0;gap:18px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content>a{margin-top:18px;padding:16px 24px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .geo-hero aside{right:var(--pad);bottom:34px;width:245px;padding:22px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .geo-hero aside b{font-size:22px;line-height:1.08;margin:20px 0;overflow-wrap:anywhere}
.pattern-a .geo-strip{display:none}

/* Families retain their own colour character while alternating section values. */
.pattern-a .intro-grid{background:#edf0ea}.pattern-a .service-index{background:#fffdf5}.pattern-a .urgent{background:#dfe6df}
.pattern-b .pest-router{background:#f3f0e5}.pattern-b .local-ledger>div:first-child{background:#fff}.pattern-b .local-ledger>div:last-child{background:#202824}.pattern-b .service-index{background:#eef1ec}
.pattern-c .situation-grid{background:#e6ebe5}.pattern-c .steps{background:#fff}.pattern-c .service-index{background:#f0f2ed}.pattern-c .home-business{background:#111917}
.pattern-d .guide-lead{background:#e7ebe6}.pattern-d .guide-chapter{background:#fffdf6;color:#090d0e}.pattern-d .guide-chapter.reverse{background:#111a18;color:#fff}.pattern-d .audiences article:first-child{background:#e9eee8}.pattern-d .service-index{background:#fff}

@media(max-width:900px){
  .business-band,.home-business{border-width:6px}
  .price-panel{box-shadow:none}
  .split-cards article>img:first-child,.split-cards .card-fill-image{height:240px}
  .nearby .geo-link-grid{grid-template-columns:1fr}.nearby .geo-link-grid a{grid-template-columns:55px 1fr}
  .nearby .geo-link-grid small{display:none}
  :is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) main{padding-top:70px}
  :is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .geo-hero{height:auto;min-height:650px}
  :is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content{width:calc(100vw - 44px)}
  :is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content h1{font-size:clamp(34px,9vw,44px)}
}


/* Final GEO typography and hero scale */
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) :is(h1,h2,h3),
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .service-index a b,
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .pest-router b,
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .situation-grid article span{font-family:Inter,Arial,sans-serif!important;font-stretch:normal;font-weight:800;letter-spacing:-.035em}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content h1{font-size:clamp(34px,3vw,52px)!important;line-height:1!important;letter-spacing:-.035em!important;max-width:680px}
:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .answers h3{font-size:22px;line-height:1.2;letter-spacing:-.025em}
@media(max-width:900px){:is(.pattern-a,.pattern-b,.pattern-c,.pattern-d) .hero-content h1{font-size:clamp(30px,8vw,40px)!important}}


/* GEO final typography: live templates do not carry pattern-* classes */
.besafe-live .geo-hero .hero-content h1{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(36px,2.7vw,50px)!important;line-height:1.05!important;letter-spacing:-.035em!important;max-width:680px!important}
.besafe-live main h2,.besafe-live main h3,.besafe-live .service-index a b,.besafe-live .pest-router b,.besafe-live .situation-grid article span{font-family:Arial,Helvetica,sans-serif!important;font-stretch:normal!important;letter-spacing:-.025em!important}
.besafe-live .answers h3{font-size:20px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:-.02em!important}
@media(max-width:900px){.besafe-live .geo-hero .hero-content h1{font-size:clamp(30px,7.5vw,40px)!important;max-width:100%!important}}

@media(min-width:901px){.besafe-live .geo-hero .hero-content{transform:translateY(calc(-50% + 38px))!important}}
