/* McCloud Gutter v2.1.0 consolidated shared template
   Header, sticky marquee, heroes, section palette, readability, service cards and footer.
   The approved section colors are defined here as the active template—not in a later patch. */
/* McCloud Gutter v2.0.1 shared site template
   One header, sticky proof marquee, hero shell, background system, and footer across every public page. */
:root{
  --mg-header-height:78px;
  --mg-proof-height:36px;
  --mg-navy:#081a36;
  --mg-blue:#0b2b5c;
  --mg-blue-2:#0c63b7;
  --mg-gold:#d69b2d;
  --mg-red:#e9282f;
  /* Shared page-background controls. These are intentionally more colorful than v2.0.0. */
  --mg-page-bg-a:#a7bccb;
  --mg-page-bg-b:#c8d6e1;
  --mg-page-bg-c:#92a9ba;
  --mg-section-a:#c8d6e1;
  --mg-section-b:#92a9ba;
  --mg-section-c:#ddd1bb;
  --mg-section-alt-a:#a7bccb;
  --mg-section-alt-b:#92a9ba;
  --mg-section-photo-opacity:.24;
  --mg-section-photo-overlay:rgba(18,54,91,.46);
}
html{scroll-padding-top:calc(var(--mg-header-height) + var(--mg-proof-height) + 14px)}
body.site-template-v200{
  margin:0!important;
  color:#182d43;
  background:
    radial-gradient(circle at 8% 7%,rgba(12,99,183,.34),transparent 25rem),
    radial-gradient(circle at 93% 16%,rgba(214,155,45,.22),transparent 23rem),
    repeating-linear-gradient(135deg,rgba(8,26,54,.055) 0,rgba(8,26,54,.055) 1px,transparent 1px,transparent 22px),
    linear-gradient(135deg,var(--mg-page-bg-a) 0%,var(--mg-page-bg-b) 50%,var(--mg-page-bg-c) 100%)!important;
}
body.site-template-v200 main{
  position:relative;
  z-index:1;
  margin:0!important;
  background:
    radial-gradient(circle at 7% 12%,rgba(12,99,183,.25),transparent 29rem),
    radial-gradient(circle at 94% 18%,rgba(214,155,45,.18),transparent 24rem),
    repeating-linear-gradient(135deg,rgba(8,26,54,.052) 0,rgba(8,26,54,.052) 1px,transparent 1px,transparent 20px),
    linear-gradient(135deg,#a7bccb 0%,#c8d6e1 52%,#92a9ba 100%)!important;
}
/* Shared top shell */
body.site-template-v200 .topbar{
  position:relative!important;
  z-index:1002!important;
  margin:0!important;
  background:var(--mg-navy)!important;
  color:#fff!important;
}
body.site-template-v200 .site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(11,43,92,.22)!important;
  background:
    radial-gradient(circle at 10% 15%,rgba(12,99,183,.24),transparent 22rem),
    radial-gradient(circle at 90% 20%,rgba(214,155,45,.20),transparent 19rem),
    repeating-linear-gradient(135deg,rgba(255,255,255,.30) 0,rgba(255,255,255,.30) 1px,transparent 1px,transparent 18px),
    linear-gradient(135deg,#cfe2f4 0%,#eaf3fa 48%,#dce7f1 100%)!important;
  box-shadow:0 5px 18px rgba(11,43,92,.15)!important;
}
body.site-template-v200 .site-header .header-inner{background:transparent!important}
body.site-template-v200 .site-header .brand img{filter:drop-shadow(0 8px 14px rgba(11,43,92,.14))!important}
/* Sticky marquee directly beneath the measured header. */
body.site-template-v200 .site-award-strip{
  position:sticky!important;
  top:var(--mg-header-height)!important;
  z-index:999!important;
  display:block!important;
  width:100%!important;
  height:var(--mg-proof-height)!important;
  min-height:var(--mg-proof-height)!important;
  max-height:var(--mg-proof-height)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:#fff!important;
  background:var(--mg-navy)!important;
  border:0!important;
  border-bottom:3px solid var(--mg-gold)!important;
  box-shadow:0 4px 12px rgba(8,26,54,.20)!important;
  white-space:nowrap!important;
}
body.site-template-v200 .site-award-strip::before,
body.site-template-v200 .site-award-strip::after{display:none!important;content:none!important}
body.site-template-v200 .award-css-marquee{display:block!important;width:100%!important;height:33px!important;overflow:hidden!important;white-space:nowrap!important}
body.site-template-v200 .award-css-track{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  height:33px!important;
  padding:0!important;
  animation:none!important;
  transform:translate3d(0,0,0);
  will-change:transform!important;
}
body.site-template-v200 .award-css-group,
body.site-template-v200 .award-css-group[aria-hidden="true"]{
  display:flex!important;
  flex:0 0 auto!important;
  min-width:100vw!important;
  height:33px!important;
  align-items:center!important;
  justify-content:space-around!important;
  flex-wrap:nowrap!important;
  gap:clamp(1.15rem,3vw,3.2rem)!important;
  padding:0 clamp(.85rem,2vw,1.6rem)!important;
  color:#fff!important;
  white-space:nowrap!important;
}
body.site-template-v200 .award-css-group span{display:inline-flex!important;align-items:center!important;color:#fff!important;font-weight:900!important;font-size:clamp(.75rem,1.05vw,.88rem)!important;line-height:33px!important}
body.site-template-v200 .award-css-group .dot{color:var(--mg-gold)!important}
body.site-template-v200 .site-award-strip+main{margin-top:0!important;padding-top:0!important}
/* One hero shell. Page wording and page-specific animation remain unique. */
body.site-template-v200 main>.site-page-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:100%!important;
  margin:0!important;
  padding:clamp(3.2rem,6vw,5rem) 0!important;
  border:0!important;
  border-top:0!important;
  border-bottom:1px solid rgba(8,26,54,.32)!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 9% 17%,rgba(63,144,218,.34),transparent 28rem),
    radial-gradient(circle at 92% 12%,rgba(214,155,45,.24),transparent 24rem),
    repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 20px),
    linear-gradient(135deg,#081a36 0%,#0b2b5c 44%,#0c63b7 100%)!important;
  box-shadow:inset 0 -18px 38px rgba(8,26,54,.16)!important;
}
body.site-template-v200 main>.site-page-hero>.container{position:relative!important;z-index:30!important}
body.site-template-v200 main>.site-page-hero h1,
body.site-template-v200 main>.site-page-hero h2,
body.site-template-v200 main>.site-page-hero p,
body.site-template-v200 main>.site-page-hero .lead{color:#fff!important}
body.site-template-v200 main>.site-page-hero .crumbs,
body.site-template-v200 main>.site-page-hero .local-breadcrumb,
body.site-template-v200 main>.site-page-hero .product-breadcrumb{color:#dbeafe!important}
body.site-template-v200 main>.site-page-hero a:not(.btn){color:#fff!important}
body.site-template-v200 main>.site-page-hero .mg-hero-build-overlay{display:block!important;opacity:.52!important;z-index:1!important}
/* Remove the repeated white top strips that looked like unexplained bars. */
body.site-template-v200 .mg-fascia-strip,
body.site-template-v200 .mg-attachment-line,
body.site-template-v200 .mg-scene-sky{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
  content:none!important;
}
/* Optional future project-photo background. Add class mg-section-photo and set
   style="--mg-section-photo:url('/assets/images/...webp')" on the section. */
body.site-template-v200 .section.mg-section-photo{overflow:hidden;--mg-section-photo:none}
body.site-template-v200 .section.mg-section-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:linear-gradient(var(--mg-section-photo-overlay),var(--mg-section-photo-overlay)),var(--mg-section-photo);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--mg-section-photo-opacity);
}
body.site-template-v200 .section.mg-section-photo>.container{position:relative;z-index:1}
body.site-template-v200 .card,
body.site-template-v200 .local-card,
body.site-template-v200 .seo-info-card,
body.site-template-v200 .county-map-card{background:rgba(255,255,255,.94)!important}
/* Shared service-card and gutter-product components retained from the approved guard layout. */
body.site-template-v200 .service-decision-grid.visual-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem!important}
body.site-template-v200 .service-choice.service-choice--visual{position:relative!important;overflow:hidden!important;isolation:isolate!important;min-height:255px!important;padding:0!important;border:1px solid #c8d8e6!important;border-radius:22px!important;color:#0b2b5c!important;box-shadow:0 12px 30px rgba(11,43,92,.12)!important}
body.site-template-v200 .service-choice--visual::before{content:"";position:absolute;left:0;right:0;top:0;z-index:8;height:5px;background:linear-gradient(90deg,#d69b2d,#e9282f,#0c63b7)}
body.site-template-v200 .service-choice-rotator-v196{position:absolute;inset:0;z-index:0;overflow:hidden;background:#e5eef6;pointer-events:none}
body.site-template-v200 .service-choice-bg-layer{position:absolute;inset:-2%;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.025);transition:opacity 900ms ease,transform 5.2s linear;will-change:opacity}
body.site-template-v200 .service-choice-bg-layer.is-active{transform:scale(1.055)}
body.site-template-v200 .service-choice--product-rotator .service-choice-bg-layer{inset:5%;background-size:contain;background-color:transparent}
body.site-template-v200 .service-choice-rotator-v196::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none}
body.site-template-v200 .service-choice-image-label{position:absolute;right:.85rem;top:.85rem;z-index:4;max-width:74%;padding:.35rem .62rem;border-radius:999px;border:1px solid rgba(11,43,92,.16);color:#0b2b5c;font-size:.7rem;font-weight:900;letter-spacing:.02em;box-shadow:0 3px 12px rgba(11,43,92,.10)}
body.site-template-v200 .service-choice--visual .service-choice-content{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;min-height:255px;padding:1.25rem!important}
body.site-template-v200 .service-choice--visual .kicker{color:#8c2529!important;text-shadow:none!important}
body.site-template-v200 .service-choice--visual h3{color:#0b2b5c!important;font-size:1.42rem!important;margin:.1rem 0 .4rem!important;text-shadow:none!important}
body.site-template-v200 .service-choice--visual p{color:#273a50!important;margin:.35rem 0 .75rem!important;text-shadow:none!important}
body.site-template-v200 .service-choice--visual .card-link-label{color:#0c63b7!important;font-weight:950!important}
body.site-template-v200 .service-choice--visual:hover .service-choice-bg-layer.is-active{transform:scale(1.075)}
body.site-template-v200 .guard-showcase-section{padding-top:2.4rem!important}
body.site-template-v200 .guard-product-grid-v195{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:1.35rem}
body.site-template-v200 .guard-product-tile{display:flex;flex-direction:column;background:#fff;border:1px solid #d0dce8;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(11,43,92,.11);color:inherit!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
body.site-template-v200 .guard-product-tile:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(11,43,92,.18);text-decoration:none!important}
body.site-template-v200 .guard-product-tile img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:.55rem}
body.site-template-v200 .guard-product-tile-copy{padding:1rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
body.site-template-v200 .guard-product-tile .guard-product-kicker{color:#a12a2f;font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
body.site-template-v200 .guard-product-tile h3{margin:.15rem 0;color:#0b2b5c;font-size:1.2rem}
body.site-template-v200 .guard-product-tile p{margin:.15rem 0;color:#40506a;font-size:.92rem}
body.site-template-v200 .guard-product-tile .internal-link{margin-top:auto;padding-top:.6rem;color:#0c63b7;font-weight:950}
body.site-template-v200 .product-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:1.4rem;align-items:center}
body.site-template-v200 .product-page-hero-image{background:#fff;border-radius:24px;padding:.65rem;box-shadow:0 20px 50px rgba(0,0,0,.20)}
body.site-template-v200 .product-page-hero-image img{width:100%;max-height:440px;object-fit:contain;border-radius:18px;background:#fff}
body.site-template-v200 .product-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
body.site-template-v200 .product-fact{background:#fff;border:1px solid #d0dce8;border-radius:18px;padding:1.15rem;box-shadow:0 8px 24px rgba(11,43,92,.09)}
body.site-template-v200 .product-fact h3{margin:.05rem 0 .35rem;color:#0b2b5c}
body.site-template-v200 .product-fit-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:start}
body.site-template-v200 .product-local-photo img{border-radius:20px;width:100%;max-height:520px;object-fit:cover}
body.site-template-v200 .product-sibling-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem}
body.site-template-v200 .product-sibling-nav a{display:inline-flex;padding:.55rem .8rem;border-radius:999px;background:#eef6ff;border:1px solid #bfdbfe;font-weight:850}
body.site-template-v200 .product-note{border-left:5px solid #d69b2d;background:#fff8e7;padding:1rem 1.1rem;border-radius:0 14px 14px 0}
body.site-template-v200 .guard-illustration-caption{font-size:.82rem;color:#64748b;text-align:center;margin:.45rem 0 0}
/* Service-card rotators: recognizable watermark strength without becoming heavy. */
body.site-template-v200 .service-choice.service-choice--visual{background:#e5eef6!important}
body.site-template-v200 .service-choice-bg-layer{opacity:0!important;filter:saturate(1.08) contrast(1.10)!important}
body.site-template-v200 .service-choice-bg-layer.is-active{opacity:.58!important}
body.site-template-v200 .service-choice--product-rotator .service-choice-bg-layer.is-active{opacity:.70!important}
body.site-template-v200 .service-choice-rotator-v196::after{
  background:linear-gradient(115deg,rgba(255,255,255,.48),rgba(255,255,255,.30) 55%,rgba(205,222,236,.45))!important;
}
body.site-template-v200 .service-choice-image-label{background:rgba(255,255,255,.90)!important}
/* Footer is part of the same shared shell. */
body.site-template-v200 .footer{margin:0!important;background:var(--mg-navy)!important;color:#dbeafe!important}
@media(max-width:1100px){body.site-template-v200 .guard-product-grid-v195{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  :root{--mg-header-height:96px}
  body.site-template-v200 .service-decision-grid.visual-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.site-template-v200 .product-page-hero-grid,body.site-template-v200 .product-fit-panel{grid-template-columns:1fr}
  body.site-template-v200 .product-facts-grid{grid-template-columns:1fr}
  body.site-template-v200 .site-header .header-inner{align-items:center!important}
  body.site-template-v200 main>.site-page-hero{padding:3rem 0!important}
  body.site-template-v200 main>.site-page-hero .mg-hero-build-overlay{opacity:.34!important}
}
@media(max-width:700px){body.site-template-v200 .guard-product-grid-v195{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  :root{--mg-header-height:86px;--mg-proof-height:35px}
  body.site-template-v200 .service-decision-grid.visual-service-grid{grid-template-columns:1fr}
  body.site-template-v200 .service-choice.service-choice--visual,body.site-template-v200 .service-choice--visual .service-choice-content{min-height:230px!important}
  body.site-template-v200 .topbar .container{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:.15rem!important}
  body.site-template-v200 .site-header .header-inner{flex-direction:row!important;align-items:center!important}
  body.site-template-v200 .site-header .brand{min-width:0!important;flex:1 1 auto!important}
  body.site-template-v200 .site-header .brand img{max-height:55px!important;max-width:100%!important}
  body.site-template-v200 main>.site-page-hero{padding:2.65rem 0!important}
  body.site-template-v200 .award-css-group span{font-size:.72rem!important}
  body.site-template-v200 .service-choice-bg-layer.is-active{opacity:.62!important}
  body.site-template-v200 .service-choice--product-rotator .service-choice-bg-layer.is-active{opacity:.72!important}
}
@media(max-width:480px){body.site-template-v200 .guard-product-grid-v195{grid-template-columns:1fr}}


/* The service-area hero must never show the old full-width animated gutter strip. */
body.site-template-v200.local-seo-page main>.site-page-hero .mg-hero-build-overlay{display:none!important}
body.site-template-v200.local-seo-page main>.site-page-hero{
  box-shadow:inset 0 -18px 38px rgba(8,26,54,.22)!important;
}

/* Rotating service cards: retain the approved image strength and make copy unmistakable. */
body.site-template-v200 .service-choice.service-choice--visual{
  border-color:rgba(8,26,54,.38)!important;
  box-shadow:0 14px 34px rgba(8,26,54,.24)!important;
}
body.site-template-v200 .service-choice--visual .service-choice-content{
  padding:1.35rem!important;
  background:linear-gradient(180deg,rgba(232,241,248,.08) 0%,rgba(232,241,248,.76) 35%,rgba(232,241,248,.97) 66%,rgba(232,241,248,.99) 100%)!important;
}
body.site-template-v200 .service-choice--visual .kicker{
  font-weight:950!important;
  color:#7d1f28!important;
}
body.site-template-v200 .service-choice--visual h3{
  color:#081a36!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.88)!important;
}
body.site-template-v200 .service-choice--visual p{
  color:#102a43!important;
  font-weight:720!important;
  line-height:1.48!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72)!important;
}
body.site-template-v200 .service-choice--visual .card-link-label{
  color:#083f79!important;
  font-weight:950!important;
}
body.site-template-v200 .service-choice-bg-layer.is-active{opacity:.60!important}
body.site-template-v200 .service-choice--product-rotator .service-choice-bg-layer.is-active{opacity:.70!important}
body.site-template-v200 .service-choice-rotator-v196::after{
  background:linear-gradient(115deg,rgba(255,255,255,.34),rgba(255,255,255,.20) 55%,rgba(185,207,224,.36))!important;
}

/* Team-page action bar: solid, readable blue with no washed-out text. */
body.site-template-v200 main>.section.homepage-action-bar,
body.site-template-v200 main>.section.team-cta-fixed{
  color:#fff!important;
  background:
    radial-gradient(circle at 88% 15%,rgba(214,155,45,.28),transparent 23rem),
    repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0,rgba(255,255,255,.055) 1px,transparent 1px,transparent 22px),
    linear-gradient(135deg,#081a36 0%,#0b2b5c 52%,#0b5aa6 100%)!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:3px solid var(--mg-gold)!important;
}
body.site-template-v200 main>.section.homepage-action-bar h2,
body.site-template-v200 main>.section.homepage-action-bar p,
body.site-template-v200 main>.section.homepage-action-bar .lead,
body.site-template-v200 main>.section.team-cta-fixed h2,
body.site-template-v200 main>.section.team-cta-fixed p,
body.site-template-v200 main>.section.team-cta-fixed .lead{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 8px rgba(0,0,0,.28)!important;
}

/* Lightweight scrolling customer-review reel. */
body.site-template-v200 .home-review-reel-section{overflow:hidden!important}
body.site-template-v200 .home-review-reel-shell{
  margin-top:1.35rem;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(8,26,54,.34);
  box-shadow:0 16px 38px rgba(8,26,54,.20);
  background:rgba(232,241,248,.48);
}
body.site-template-v200 .home-review-reel-track{
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
}
body.site-template-v200 .home-review-reel-group{
  display:flex;
  flex:0 0 auto;
  gap:1rem;
  padding:1rem .5rem;
}
body.site-template-v200 .home-review-reel-card{
  flex:0 0 clamp(290px,31vw,390px);
  min-height:205px;
  padding:1.15rem 1.2rem;
  border-radius:18px;
  border:1px solid rgba(8,26,54,.16);
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(8,26,54,.13);
}
body.site-template-v200 .home-review-reel-card .google-stars{
  margin:0 0 .35rem;
  color:#b7790b!important;
  font-weight:950;
  letter-spacing:.08em;
}
body.site-template-v200 .home-review-reel-card blockquote{
  margin:.25rem 0 .75rem;
  color:#102a43;
  font-size:1rem;
  line-height:1.5;
  font-weight:650;
}
body.site-template-v200 .home-review-reel-card cite{
  color:#0b2b5c;
  font-style:normal;
  font-weight:900;
}
@media(max-width:620px){
  body.site-template-v200 .home-review-reel-card{flex-basis:82vw;min-height:220px}
}
/* Disable the legacy static-card overlay so the actual rotating image layers remain visible. */
body.site-template-v200 .service-decision-grid.visual-service-grid .service-choice.service-choice--visual::after{
  display:none!important;
  content:none!important;
  background:none!important;
  opacity:0!important;
}
body.site-template-v200 main>.section.homepage-action-bar .btn-secondary,
body.site-template-v200 main>.section.team-cta-fixed .btn-secondary{
  display:inline-flex!important;
  align-items:center!important;
  background:#fff!important;
  color:#0b2b5c!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.18)!important;
}
body.site-template-v200 main>.section.homepage-action-bar .btn-primary,
body.site-template-v200 main>.section.team-cta-fixed .btn-primary{
  display:inline-flex!important;
  align-items:center!important;
  background:#e9282f!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.20)!important;
}


/* Canonical approved section palette and readability rules. */
/* McCloud Gutter v2.0.6 section rhythm update
   Purpose:
   - increase contrast between page sections so the site feels more intentionally structured
   - keep text readable with dark navy copy on all standard sections
   - introduce a restrained warm accent occasionally to break up the all-blue feel
   - leave service-card image clarity/rotation settings unchanged
*/

/* Shared copy colors for normal sections */
html body.site-template-v200 {
  --visual-copy-strong:#071b31;
  --visual-copy-body:#123551;
  --visual-eyebrow:#7a2027;
}

/* Base section treatment: default to the lighter blue tone. */
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) {
  color:var(--visual-copy-strong) !important;
  background-color:#c8d6e1 !important;
  background-image:
    radial-gradient(circle at 12% 14%,rgba(26,88,148,.15),transparent 24rem),
    radial-gradient(circle at 90% 18%,rgba(214,155,45,.07),transparent 21rem),
    repeating-linear-gradient(135deg,rgba(7,27,49,.055) 0,rgba(7,27,49,.055) 1px,transparent 1px,transparent 24px),
    linear-gradient(135deg,#c8d6e1 0%,#d5e0e8 54%,#bccddd 100%) !important;
}

/* 4-step rhythm for stronger separation down long pages.
   1 = light blue, 2 = darker slate blue, 3 = warm sand accent, 4 = cool medium blue. */
html body.site-template-v200 main > section.section:nth-of-type(4n+1):not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) {
  color:var(--visual-copy-strong) !important;
  background-color:#c8d6e1 !important;
  background-image:
    radial-gradient(circle at 12% 14%,rgba(26,88,148,.15),transparent 24rem),
    radial-gradient(circle at 90% 18%,rgba(214,155,45,.07),transparent 21rem),
    repeating-linear-gradient(135deg,rgba(7,27,49,.055) 0,rgba(7,27,49,.055) 1px,transparent 1px,transparent 24px),
    linear-gradient(135deg,#c8d6e1 0%,#d5e0e8 54%,#bccddd 100%) !important;
}
html body.site-template-v200 main > section.section:nth-of-type(4n+2):not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) {
  color:var(--visual-copy-strong) !important;
  background-color:#92a9ba !important;
  background-image:
    radial-gradient(circle at 88% 15%,rgba(16,88,161,.16),transparent 23rem),
    radial-gradient(circle at 10% 88%,rgba(214,155,45,.055),transparent 18rem),
    repeating-linear-gradient(135deg,rgba(7,27,49,.07) 0,rgba(7,27,49,.07) 1px,transparent 1px,transparent 23px),
    linear-gradient(135deg,#92a9ba 0%,#a3b8c7 52%,#879fb1 100%) !important;
}
html body.site-template-v200 main > section.section:nth-of-type(4n+3):not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) {
  color:var(--visual-copy-strong) !important;
  background-color:#ddd1bb !important;
  background-image:
    radial-gradient(circle at 14% 18%,rgba(199,152,70,.14),transparent 21rem),
    radial-gradient(circle at 86% 78%,rgba(43,93,145,.085),transparent 18rem),
    repeating-linear-gradient(135deg,rgba(7,27,49,.05) 0,rgba(7,27,49,.05) 1px,transparent 1px,transparent 24px),
    linear-gradient(135deg,#ddd1bb 0%,#e8decb 55%,#d4c7af 100%) !important;
}
html body.site-template-v200 main > section.section:nth-of-type(4n):not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) {
  color:var(--visual-copy-strong) !important;
  background-color:#a7bccb !important;
  background-image:
    radial-gradient(circle at 84% 14%,rgba(20,90,160,.13),transparent 24rem),
    radial-gradient(circle at 15% 85%,rgba(214,155,45,.06),transparent 20rem),
    repeating-linear-gradient(135deg,rgba(7,27,49,.06) 0,rgba(7,27,49,.06) 1px,transparent 1px,transparent 24px),
    linear-gradient(135deg,#a7bccb 0%,#b7c9d5 54%,#9ab0c0 100%) !important;
}

/* Shared text rules across all standard sections */
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed),
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) > .container,
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) .section-heading {
  color:var(--visual-copy-strong) !important;
}
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) :is(h1,h2,h3,h4,h5,h6) {
  color:var(--visual-copy-strong) !important;
  text-shadow:none !important;
}
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) :is(p,li,.lead) {
  color:var(--visual-copy-body) !important;
}
html body.site-template-v200 main > section.section:not(.site-page-hero):not(.homepage-action-bar):not(.team-cta-fixed) .eyebrow {
  color:var(--visual-eyebrow) !important;
}

/* Keep intentionally dark action bars readable. */
html body.site-template-v200 main > section.section.homepage-action-bar,
html body.site-template-v200 main > section.section.team-cta-fixed {
  color:#fff !important;
}
html body.site-template-v200 main > section.section.homepage-action-bar :is(h1,h2,h3,h4,p,.lead),
html body.site-template-v200 main > section.section.team-cta-fixed :is(h1,h2,h3,h4,p,.lead) {
  color:#fff !important;
}

/* Service cards: preserve the improved clear-photo treatment and stronger copy. */
html body.site-template-v200 .service-choice.service-choice--visual {
  background:#dbe8f1 !important;
}
html body.site-template-v200 .service-choice-bg-layer,
html body.site-template-v200 .service-choice-bg-layer.is-active {
  filter:none !important;
  -webkit-filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html body.site-template-v200 .service-choice-bg-layer.is-active {
  opacity:.74 !important;
}
html body.site-template-v200 .service-choice--product-rotator .service-choice-bg-layer.is-active {
  opacity:.82 !important;
}
html body.site-template-v200 .service-choice-rotator-v196::after {
  background:rgba(237,245,250,.20) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html body.site-template-v200 .service-choice--visual .service-choice-content {
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html body.site-template-v200 .service-choice--visual :is(.kicker,h3,p,.card-link-label) {
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 0 7px rgba(255,255,255,.90),
    0 0 14px rgba(255,255,255,.64) !important;
}
html body.site-template-v200 .service-choice--visual p {
  font-weight:800 !important;
}

/* Keep light panels and cards clean and readable on the new section backgrounds. */
html body.site-template-v200 main > section.section :is(
  .card,.local-card,.local-panel,.process-step,.answer-box,.callout,
  .registry-card,.seo-info-card,.county-map-card,.featured-google-review-card,
  .about-block-card,.honest-card,.v120-story-card,.v120-proof-card,
  .tips-card,.v145-quick-answer,.local-faq-item,.faq details,
  .guard-product-tile,.product-fact,.product-fit-panel,.product-note,
  .home-review-reel-card,.page-lead-photo,.calculator-embed,
  .proof-badge,.home-priority-card,.payment-note-card,.owner-note-card
) {
  color:#102a43 !important;
}
html body.site-template-v200 main > section.section :is(
  .card,.local-card,.local-panel,.process-step,.answer-box,.callout,
  .registry-card,.seo-info-card,.county-map-card,.featured-google-review-card,
  .about-block-card,.honest-card,.v120-story-card,.v120-proof-card,
  .tips-card,.v145-quick-answer,.local-faq-item,.faq details,
  .guard-product-tile,.product-fact,.product-fit-panel,.product-note,
  .home-review-reel-card,.page-lead-photo,.calculator-embed,
  .proof-badge,.home-priority-card,.payment-note-card,.owner-note-card
) :is(h1,h2,h3,h4,h5,h6,p,li,.lead) {
  color:#102a43 !important;
  text-shadow:none !important;
}

/* McCloud Gutter v2.0.7 dark-panel readability correction
   v2.0.6 correctly separated section backgrounds, but its generic section copy
   rules overrode the intended white lettering inside dark blue cards and CTAs.
   These rules restore a dependable dark-surface text system site-wide. */

html body.site-template-v200 :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel,
  .homepage-action-bar,
  .team-cta-fixed,
  .page-hero,
  .local-hero,
  .team-hero,
  .home-hero-action
) {
  color:#ffffff !important;
}

html body.site-template-v200 :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel,
  .homepage-action-bar,
  .team-cta-fixed,
  .page-hero,
  .local-hero,
  .team-hero,
  .home-hero-action
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,em,blockquote,cite,.lead,.small) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
}

html body.site-template-v200 :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel,
  .homepage-action-bar,
  .team-cta-fixed,
  .page-hero,
  .local-hero,
  .team-hero,
  .home-hero-action
) .eyebrow {
  color:#ffe4a6 !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
}

html body.site-template-v200 :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel,
  .homepage-action-bar,
  .team-cta-fixed,
  .page-hero,
  .local-hero,
  .team-hero,
  .home-hero-action
) a:not(.btn):not(.button) {
  color:#ffffff !important;
  text-decoration-color:rgba(255,255,255,.7) !important;
}

/* Proof tiles sit inside a dark proof panel and need their own white copy. */
html body.site-template-v200 .proof-strip .proof-badge,
html body.site-template-v200 .proof-strip .proof-badge :is(strong,span,p) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.36) !important;
}

/* Small dark controls and labels found on supporting pages. */
html body.site-template-v200 :is(.county-map-title,.google-review-nav,.process-number) {
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}

/* Higher-specificity correction for dark panels nested inside standard sections. */
html body.site-template-v200 main > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
),
html body.site-template-v200 main > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,em,blockquote,cite,.lead,.small) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
}

html body.site-template-v200 main > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
) .eyebrow {
  color:#ffe4a6 !important;
}

/* Final cascade lock: duplicated body class intentionally outranks legacy card rules
   whose :is() groups contain compound selectors such as `.faq details`. */
html body.site-template-v200.site-template-v200 main > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
),
html body.site-template-v200.site-template-v200 main > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,em,blockquote,cite,.lead,.small) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
}

/* Site-wide ID-scoped readability lock. Every public page uses #main-content. */
html body.site-template-v200 #main-content > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
),
html body.site-template-v200 #main-content > section.section :is(
  .home-priority-proof,
  .confusion-text-card,
  .proof-strip,
  .callout,
  .trust-summary,
  .protection-callout,
  .hero-trust-panel,
  .select-project-note,
  .honest-note,
  .google-rating-box,
  .review-request-panel
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,em,blockquote,cite,.lead,.small) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
}

