/* Content composition. Heroes, navigation, sticky UI, maps and existing
   data-cheers-component modules retain their own styles and behavior. */
.standard-page-design{--editorial-gutter:clamp(20px,4vw,56px);--editorial-space:clamp(48px,6vw,88px);--editorial-surface:#f3f7fa;--editorial-radius:16px;--editorial-card-padding:clamp(24px,3vw,36px)}
.standard-page-design.service-landing-page .landing-reading-layout{width:100%;max-width:1280px;padding-inline:var(--editorial-gutter)}
.standard-page-design.service-landing-page .landing-reading-content .preserved-section{padding-block:var(--editorial-space)}
.standard-page-design.service-landing-page .landing-reading-content .preserved-section+.preserved-section{border:0}
.standard-page-design [data-standard-block]>.wrap{max-width:1280px;padding-inline:var(--editorial-gutter)}
.standard-page-design .landing-reading-content [data-standard-block]>.wrap{width:100%;padding-inline:0}
.standard-page-design [data-standard-block]:not([data-standard-kind="offers"]):not([data-standard-kind="methods"]){background:#fff}
.standard-page-design [data-standard-block] .editorial-section__shell{gap:40px}
.standard-page-design [data-standard-block].editorial-section--has-media .editorial-section__shell{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:start}
.standard-page-design [data-standard-block].editorial-section--structured .editorial-section__shell{grid-template-columns:1fr}
.standard-page-design [data-standard-block].editorial-section--structured .editorial-section__media{max-width:680px}
.standard-page-design [data-standard-block] .preserved-copy{font-size:17px;line-height:1.7}
.standard-page-design [data-standard-block] .preserved-copy h2{max-width:22ch;margin-bottom:28px;font-size:clamp(32px,3.5vw,48px);line-height:1.12;text-wrap:balance}
.standard-page-design [data-standard-block] .preserved-copy :is(p,li){line-height:1.7}
.standard-page-design [data-standard-block] .preserved-copy>div:not([class]){max-width:70ch}
.standard-page-design [data-standard-block] .preserved-copy>div:not([class])>p{margin:0 0 22px}
.standard-page-design [data-standard-block] .preserved-copy>h3{max-width:48ch;margin-top:36px;margin-bottom:16px}
.standard-page-design [data-standard-block] .standard-eyebrow{display:flex;align-items:center;gap:10px}
.standard-page-design [data-standard-block] .standard-eyebrow::before{content:none}

/* Photographs have one intentional frame; original diagrams/coupon images
   retain their aspect ratio and are never cropped by this treatment. */
.standard-page-design [data-standard-block] .editorial-section__media,
.standard-page-design [data-standard-block] .editorial-section__media-link{width:100%;max-width:none;margin:0;border-radius:16px;background:var(--editorial-surface);overflow:hidden}
.standard-page-design [data-standard-block] .editorial-section__media img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain;border-radius:0}
.standard-page-design [data-standard-block] .preserved-copy__figure{margin-block:32px;background:var(--editorial-surface);border-radius:12px;overflow:hidden;box-shadow:none}
.standard-page-design [data-standard-block] .preserved-copy__figure img{max-width:100%;height:auto}
.standard-page-design [data-standard-block] .preserved-copy__figure-row{gap:24px;align-items:start}

/* One surface per topic. The grid itself has no frame or background. */
.standard-page-design .editorial-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;border:0;background:transparent}
.standard-page-design .editorial-topic{min-width:0;padding:var(--editorial-card-padding);border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design [data-standard-block] .editorial-topic h3{margin:0 0 16px;font-size:20px;line-height:1.4}
.standard-page-design [data-standard-block] .editorial-topic p{margin:0 0 16px}
.standard-page-design [data-standard-block] .editorial-topic p:last-child{margin-bottom:0}
.standard-page-design [data-standard-block].editorial-section--has-media .editorial-topic-grid{grid-template-columns:1fr;margin-top:28px}

/* Lists remain lists. Short points scan in columns; explanatory items retain
   a comfortable line length instead of stretching across the entire page. */
.standard-page-design [data-standard-block] .preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0 36px;padding:var(--editorial-card-padding);list-style:none;border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface);box-shadow:none}
.standard-page-design [data-standard-block] .preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels)>li{position:relative;align-self:start;display:block;padding:0 0 0 22px;border:0;border-radius:0;background:transparent;box-shadow:none}
.standard-page-design [data-standard-block] .preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels)>li::before{content:"";display:block;position:absolute;top:.85em;transform:translateY(-50%);left:0;width:6px;height:6px;border:0;border-radius:50%;background:var(--blue)}
.standard-page-design [data-standard-block] .preserved-copy__list--prose-long:not(.standard-methods__panels),
.standard-page-design [data-standard-block].editorial-section--has-media .preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels),
.standard-page-design [data-standard-block] .editorial-topic .preserved-copy__list{grid-template-columns:1fr;max-width:72ch}
.standard-page-design [data-standard-block] .preserved-copy__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:32px 0;padding:var(--editorial-card-padding);background:var(--editorial-surface);border:0;border-radius:var(--editorial-radius);box-shadow:none}
.standard-page-design [data-standard-block] .preserved-copy__points p{position:relative;align-self:start;min-height:0;display:block;margin:0;padding:0 0 0 28px;border:0;border-radius:0;background:transparent;box-shadow:none}
.standard-page-design [data-standard-block] .preserved-copy__points:not(.preserved-copy__points--icons) p::before{content:"✓";position:absolute;top:.85em;transform:translateY(-50%);left:0;width:20px;height:auto;background:transparent;color:var(--blue);font-size:inherit;line-height:inherit;font-weight:700}

/* Feature cards have a single surface; their source icons sit directly on it. */
.standard-page-design .standard-feature-grid{gap:24px;margin:40px 0;align-items:stretch}
.standard-page-design .standard-feature{padding:var(--editorial-card-padding);border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design .standard-feature .preserved-copy__figure{width:48px;margin:0 0 20px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.standard-page-design .standard-feature .preserved-copy__figure img{width:48px;height:48px;object-fit:contain}
.standard-page-design .standard-feature h3{font-size:19px;line-height:1.4}
.standard-page-design [data-standard-kind="contact"] .preserved-copy{padding:clamp(24px,4vw,48px);border:0;background:var(--editorial-surface);border-radius:var(--editorial-radius)}
.standard-page-design [data-standard-kind="contact"] .preserved-copy h2{max-width:26ch;font-size:clamp(28px,3vw,32px);line-height:1.15}
.standard-page-design [data-standard-kind="prevention"]{background:#fff!important}

/* Native local content follows the same gutters and readable rhythm. Existing
   offer decks, illustrated steps, maps and review components are excluded. */
.standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors)>.wrap{max-width:1280px;padding-inline:var(--editorial-gutter)}
.standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors){padding-block:var(--editorial-space)}
.standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors) :is(.local-signal-list,.detail-grid,.factor-grid){gap:24px 32px}
.standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors) :is(.local-signal-list>li,.detail-grid>article,.factor-grid>article){padding:var(--editorial-card-padding);border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors) p{max-width:68ch}
.standard-page-design :is(.satellite-service-grid,.location-needs__list){gap:24px}
.standard-page-design :is(.satellite-service-card,.location-needs__item){padding:var(--editorial-card-padding);border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design .related-grid>a,
.standard-page-design.local-page-system .related-grid>a:nth-child(n){padding:24px;border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design .standard-faq{margin:0 0 16px;padding:24px 28px;border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design .standard-faq>div{max-width:70ch}

/* A topic, feature, FAQ or contact card owns its surface. Any list, point
   group, detail or image inside it remains unframed content, never another card. */
.standard-page-design [data-standard-block] :is(.editorial-topic,.standard-feature,.standard-faq,[data-standard-kind="contact"] .preserved-copy) :is(.preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels),.preserved-copy__points,.preserved-copy__detail,.preserved-copy__figure,.editorial-topic,.standard-feature),
.standard-page-design [data-standard-kind="contact"] .preserved-copy :is(.preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels),.preserved-copy__points,.preserved-copy__detail,.preserved-copy__figure,.editorial-topic,.standard-feature){padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.standard-page-design [data-standard-block] :is(.editorial-topic,.standard-feature,.standard-faq) .preserved-copy__list{margin-block:20px 0}
.standard-page-design [data-standard-block] .preserved-copy__points--icons p{padding-left:0}

/* Reading templates retain their navigation and covers. These rules only reach
   their body copy, lists, inline images, tables and explanatory callouts. */
.standard-page-design .article-copy>p{max-width:70ch}
.standard-page-design .article-copy :is(ul,ol){padding-left:24px;line-height:1.75}
.standard-page-design .article-copy li{padding-left:6px;margin-block:12px}
.standard-page-design .article-copy li::marker{color:var(--blue);font-weight:700}
.standard-page-design .article-copy>blockquote{margin:32px 0;padding:24px 28px;border:0;background:var(--editorial-surface);border-radius:var(--editorial-radius)}
.standard-page-design .article-copy>figure{margin-block:40px;border-radius:12px;overflow:hidden}
.standard-page-design .article-copy figcaption{padding:12px 0;color:var(--muted);font-size:14px;line-height:1.5}
.standard-page-design .article-copy table{width:100%;border-collapse:separate;border-spacing:0;padding:12px;border:0;border-radius:var(--editorial-radius);background:var(--editorial-surface)}
.standard-page-design .article-copy :is(th,td){padding:16px;text-align:left;border:0;background:transparent}
.standard-page-design .article-copy th{color:var(--navy);font-weight:800}
.standard-page-design :is(.archive-card__copy,.blog-search-result__copy){padding-block:24px}

@media(max-width:900px){
 .standard-page-design [data-standard-block].editorial-section--has-media .editorial-section__shell{grid-template-columns:1fr;gap:32px}
 .standard-page-design [data-standard-block] .editorial-section__media{max-width:680px}
 .standard-page-design [data-standard-block] .editorial-section__media img{max-height:480px;margin:auto}
 .standard-page-design .editorial-topic-grid{gap:24px}
}
@media(max-width:620px){
 .standard-page-design{--editorial-gutter:20px;--editorial-space:44px;--editorial-card-padding:24px}
 .standard-page-design [data-standard-block] .preserved-copy h2{font-size:32px;margin-bottom:22px}
 .standard-page-design [data-standard-block] .preserved-copy :is(p,li){font-size:16px;line-height:1.7}
 .standard-page-design .editorial-topic-grid{grid-template-columns:1fr;margin-top:28px}
  .standard-page-design [data-standard-block] .preserved-copy__points{grid-template-columns:1fr}
 .standard-page-design [data-standard-block] .preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels){grid-template-columns:1fr;gap:20px}
 .standard-page-design [data-standard-block] .editorial-section__media img{max-height:420px}
 .standard-page-design .standard-feature-grid{gap:28px}
 .standard-page-design.local-page-system :is(.local-signals,.local-service,.scope-factors) :is(.local-signal-list>li,.detail-grid>article,.factor-grid>article){padding:20px}
 .standard-page-design .article-copy>blockquote{padding:20px}
}

.standard-page-design{--editorial-space:clamp(40px,4vw,64px)}

/* Classic text/photo component. Opt-in per section, with one consistent crop
   and no image well or nested card surfaces. */
.standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,56px);align-items:center}
.standard-page-design [data-standard-block].editorial-section--classic-split .preserved-copy{grid-column:1;grid-row:1;align-self:center;padding:0;background:transparent;border:0;border-radius:0}
.standard-page-design [data-standard-block].editorial-section--classic-split :is(.editorial-section__media,.editorial-section__media-link){grid-column:2;grid-row:1;width:100%;max-width:none;margin:0;padding:0;aspect-ratio:4/5;background:transparent;border:0;border-radius:16px;box-shadow:none;overflow:hidden}
.standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__media img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:4/5;object-fit:cover;border-radius:0}
.standard-page-design [data-standard-block].editorial-section--photo-left .preserved-copy{grid-column:2}
.standard-page-design [data-standard-block].editorial-section--photo-left :is(.editorial-section__media,.editorial-section__media-link){grid-column:1}
.standard-page-design [data-standard-block].editorial-section--classic-split .preserved-copy :is(.preserved-copy__list:not(.preserved-copy__links):not(.standard-methods__panels),.preserved-copy__points,.editorial-topic){grid-template-columns:1fr;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.standard-page-design [data-standard-block].editorial-section--classic-split .preserved-copy__list>li{margin:0}
.standard-page-design [data-standard-block].editorial-section--classic-split .classic-split__after{margin-top:32px}
@media(min-width:901px){
 .standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__shell{align-items:stretch}
 .standard-page-design [data-standard-block].editorial-section--classic-split :is(.editorial-section__media,.editorial-section__media-link){position:relative;align-self:stretch;min-height:0;aspect-ratio:auto}
 .standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__media-link>.editorial-section__media{position:absolute;inset:0;height:100%}
 .standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__media img{position:absolute;inset:0;aspect-ratio:auto}
}
@media(max-width:900px){
 .standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__shell{grid-template-columns:1fr;gap:28px}
 .standard-page-design [data-standard-block].editorial-section--classic-split .preserved-copy{grid-column:1;grid-row:1}
 .standard-page-design [data-standard-block].editorial-section--classic-split :is(.editorial-section__media,.editorial-section__media-link){grid-column:1;grid-row:2;aspect-ratio:4/3}
 .standard-page-design [data-standard-block].editorial-section--classic-split .editorial-section__media img{aspect-ratio:4/3;max-height:none}
}

/* One scrolling service-benefit row at every viewport size. */
.service-benefit-banner{background:#027fae;color:#fff;padding:14px 0;overflow-x:auto;scrollbar-width:none;border:0;border-radius:0}
.service-benefit-banner::-webkit-scrollbar{display:none}
.service-benefit-banner__track{display:flex;width:max-content}
.service-benefit-banner__group{display:flex;flex:none;gap:40px;padding-right:40px;padding-left:0}
.service-benefit-banner__group[aria-hidden="true"]{display:none}
.service-benefit-banner__item{display:flex;align-items:center;gap:10px;min-width:0;flex:none;white-space:nowrap}
.service-benefit-banner__item>span{display:flex;flex:none;color:inherit}
.service-benefit-banner__item svg{display:block;width:20px;height:20px}
.service-benefit-banner__item strong{font-family:inherit;font-size:16px;line-height:1.5;font-weight:700}
.service-benefit-banner:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(min-width:901px){
 .standard-page-design .service-benefit-banner{width:var(--benefit-viewport-width,100%);max-width:none;margin-inline:calc((100% - var(--benefit-viewport-width,100%))/2)}
}
@media(prefers-reduced-motion:no-preference){
 .service-benefit-banner__group[aria-hidden="true"]{display:flex}
 .service-benefit-banner.is-enhanced .service-benefit-banner__track{animation:service-benefits-scroll 60s linear infinite}
 .service-benefit-banner:is(:hover,:focus-visible) .service-benefit-banner__track{animation-play-state:paused}
}
@keyframes service-benefits-scroll{to{transform:translateX(-50%)}}

/* Library process layout, branded once across the applicable templates. */
.standard-page-design :is(.standard-process-section,.hydro-process-section,.drain-process) [data-cheers-component="how-it-works"]{--cheers-how-it-works-background:var(--white);--cheers-how-it-works-surface:#eaf5fc;--cheers-how-it-works-text:var(--navy);--cheers-how-it-works-muted:#293b4d;--cheers-how-it-works-heading:var(--navy);--cheers-how-it-works-accent:var(--blue);--cheers-how-it-works-focus:var(--blue);--cheers-how-it-works-border:var(--line);--cheers-how-it-works-heading-font:var(--serif);--cheers-how-it-works-max-width:1232px;--cheers-how-it-works-node-size:80px}
.standard-page-design :is(.standard-process-section,.hydro-process-section,.drain-process) .cheers-how-it-works__inner{padding:0 20px}
.standard-page-design :is(.standard-process-section,.hydro-process-section,.drain-process) .cheers-how-it-works__eyebrow{color:var(--blue)}
.standard-page-design :is(.standard-process-section,.hydro-process-section,.drain-process) .cheers-how-it-works__description>div>p{margin:0 0 12px}
.standard-page-design :is(.standard-process-section,.hydro-process-section,.drain-process) .cheers-how-it-works__step-link{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-size:14px;text-underline-offset:3px}
.standard-page-design .cheers-how-it-works a:focus-visible,.standard-page-design .cheers-how-it-works__steps:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.standard-page-design :is(.drain-process__after,.standard-process-after){margin-top:40px}
.standard-page-design .cheers-how-it-works__step-copy>div>p{margin:8px 0 0;font-size:.88rem;line-height:1.5}
.standard-page-design .cheers-how-it-works__step-copy .preserved-copy__inline-link{display:inline;color:var(--blue);font-size:inherit}

/* A single compact surface joins the contact message and nearby offer link. */
.standard-page-design .editorial-contact-offer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:48px;margin-block:var(--editorial-space);padding:32px;background:var(--editorial-surface);border:0;border-radius:16px}
.standard-page-design.service-landing-page .landing-reading-content .editorial-contact-offer .preserved-section{padding:0;margin:0;background:transparent}
.standard-page-design .editorial-contact-offer__part{min-width:0}
.standard-page-design .editorial-contact-offer__part h2{margin:0 0 10px;font-family:var(--serif);font-size:32px;line-height:1.15;color:var(--navy)}
.standard-page-design .editorial-contact-offer__part--offers h2{font-family:inherit;font-size:20px;line-height:1.35;letter-spacing:0}
.standard-page-design .editorial-contact-offer__part p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.standard-page-design .editorial-contact-offer__part .button{margin-top:18px;min-height:48px;padding:12px 20px;font-size:16px;line-height:1.4;box-shadow:none}
@media(max-width:760px){
 .standard-page-design .editorial-contact-offer{grid-template-columns:1fr;gap:28px;padding:24px}
 .standard-page-design .editorial-contact-offer__part h2{font-size:28px}
 .standard-page-design .editorial-contact-offer__part--offers h2{font-size:20px}
 .standard-page-design .editorial-contact-offer__part .button{display:flex;width:100%}
}

/* Related services: a single compact surface for every destination. */
.standard-page-design :is(.related-service-cards,.related-services,.local-service-catalog)>.wrap{width:100%;max-width:1280px;padding-inline:var(--editorial-gutter)}
.standard-page-design .related-service-cards{padding-block:0 var(--editorial-space)}
.standard-page-design .related-service-cards h2{margin:0 0 28px;color:var(--navy);font-size:clamp(32px,3.5vw,48px);line-height:1.12}
.related-service-cards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.related-service-cards__grid li{min-width:0}
.standard-page-design :is(.related-grid,.local-service-catalog__group ul){gap:16px;border:0}
.standard-page-design .local-service-catalog__group{padding:0;border:0;background:transparent}
.standard-page-design .local-service-catalog__group li{border:0;padding:0;background:transparent}
.standard-page-design .local-service-catalog__groups{grid-template-columns:1fr;gap:32px}
.standard-page-design .local-service-catalog__group ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.standard-page-design a.service-link-card,.standard-page-design .related-grid>a.service-link-card:nth-child(n){display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:16px;height:100%;min-height:96px;padding:24px;border:0;border-radius:16px;background:var(--editorial-surface);color:var(--navy);font-size:18px;font-weight:700;line-height:1.4;text-decoration:none}
.standard-page-design a.service-link-card>span{display:block}
.standard-page-design a.service-link-card .service-link-card__icon{display:flex;color:var(--blue)}
.service-link-card__icon svg{width:28px;height:28px}
.service-link-card small{display:block;margin-top:8px;font-size:14px;font-weight:400;line-height:1.5}
.standard-page-design a.service-link-card .service-link-card__arrow{display:block;color:var(--blue);font-size:24px;line-height:1}
.standard-page-design a.service-link-card:is(:hover,:focus-visible){background:#e5f0f7;color:var(--blue)}
.standard-page-design a.service-link-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.standard-page-design .landing-reading-layout--continuation{padding-block:var(--editorial-space)}
.standard-page-design .landing-reading-layout--continuation .preserved-section:first-child{padding-top:0;margin-top:0}
.standard-page-design .landing-reading-layout--continuation .preserved-copy{max-width:none}
.standard-page-design .faq__grid{grid-template-columns:1fr;gap:28px}
.standard-page-design :is(.faq-card,.satellite-faq-card){margin:0 0 16px;padding:24px 28px;border:0;border-radius:16px;background:var(--editorial-surface);box-shadow:none}
.standard-page-design :is(.faq-card,.satellite-faq-card) summary{font-size:20px;line-height:1.4}
.standard-page-design :is(.faq-card,.satellite-faq-card) p{max-width:70ch;font-size:16px;line-height:1.7}
@media(max-width:1000px){.related-service-cards__grid,.standard-page-design .local-service-catalog__group ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.related-service-cards__grid,.standard-page-design .local-service-catalog__group ul{grid-template-columns:1fr;gap:12px}.standard-page-design a.service-link-card,.standard-page-design .related-grid>a.service-link-card:nth-child(n){min-height:80px;padding:20px;font-size:16px}.standard-page-design :is(.faq-card,.satellite-faq-card){padding:24px}.standard-page-design :is(.faq-card,.satellite-faq-card) summary{font-size:18px}}
