/* September 16 reference treatment, explicitly opted-in non-campaign pages.
   Do not target existing maps, social proof, illustrated Signs or live review widgets. */
body[data-standard-page-design] .svc-hero,
body[data-standard-page-design] .svc-hero .wrap { min-height:0; }
body[data-standard-page-design] .svc-hero .wrap { display:block; padding-block:clamp(28px,4vw,48px); }
body[data-standard-page-design] .svc-hero .wrap>div:first-of-type { position:relative; z-index:2; max-width:680px; }
/* Hero typography stays with each page's original site styles. */
body[data-standard-page-design] .svc-hero .sub { max-width:34em; line-height:1.65; }
body[data-standard-page-design] .svc-hero-media { position:absolute; inset:0 auto 0 50%; width:100vw; aspect-ratio:auto; transform:translateX(-50%); border:0; border-radius:0; box-shadow:none; z-index:0; overflow:hidden; }
body[data-standard-page-design] .svc-hero-media img { width:100%; height:100%; border-radius:0; object-fit:cover; }
body[data-standard-page-design] .svc-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,20,34,.96),rgba(7,20,34,.84) 40%,rgba(7,20,34,.25)); }
body[data-standard-page-design] .svc-hero .grid-tex,
body[data-standard-page-design] .svc-hero .glow { display:none; }
body[data-standard-page-design] .core-hero .wrap { padding-block:clamp(24px,3vw,40px); }
.standard-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--on-dark); font-size:.8rem; line-height:1.5; margin:0 0 16px; }
.standard-breadcrumbs a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body[data-standard-page-design] #main-content :is(.btn,.location-resource) svg:has(path[d="M5 12h14M13 6l6 6-6 6"]) { display:none; }
body[data-standard-page-design] .svc-hero-trust { border:0; padding-top:0; margin:0 0 12px; }
body[data-standard-page-design] .svc-hero-trust span { font-size:12px; }
body[data-standard-page-design] .svc-hero-actions { margin-bottom:18px; }
body[data-standard-page-design] .mobile-nav>a:not(.btn),
body[data-standard-page-design] .mn-services,
body[data-standard-page-design] .mn-services-row,
body[data-standard-page-design] .mn-services-menu a { border:0; }
body[data-standard-page-design] .mobile-nav a:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }

/* Service and city content: headings above their content, quiet surfaces,
   and spacing rather than boxed dividers. No copy or destination consolidation. */
body[data-standard-page-design] :is(.location-section-head,.service-handles-head,.decision-copy,.license-intro) { display:block; max-width:900px; }
body[data-standard-page-design] .decision-copy:has(> .standard-content-grid) { max-width:none; }
body[data-standard-page-design] .decision-copy:has(> .standard-content-grid) > h2 { max-width:900px; }
body[data-standard-page-design] :is(.location-section-head,.service-handles-head,.section-head) { margin-bottom:28px; }
/* Center the full services heading on larger screens; retain the original
   left-aligned copy and beside-text checkmarks on mobile. */
@media(min-width:768px) {
  body[data-standard-page-design] .service-handles-head { margin-inline:auto; text-align:center; }
  body[data-standard-page-design] .service-handles-head .section-head { max-width:none; width:100%; }
  body[data-standard-page-design] .service-handles-copy { margin-inline:auto; }
  body[data-standard-page-design] .handle-item { display:block; text-align:center; }
  body[data-standard-page-design] .handle-item svg { display:block; margin:0 auto 12px; }
}
body[data-standard-page-design] :is(.location-overview,.location-decisions,.location-issues,.location-choices,.location-resources) { background:#fff; }
body[data-standard-page-design] :is(h1,h2,h3,h4,h5,h6),
body[data-standard-page-design] :is(h1,h2,h3,h4,h5,h6) a { text-decoration:none; }
/* Service cards opted out of the new columns retain their prior treatment. */
body[data-standard-page-design] .location-service-grid:not(.standard-content-grid) { gap:28px 32px; border:0; background:transparent; }
body[data-standard-page-design] .location-service-grid:not(.standard-content-grid) .location-service-card { display:block; border:0; border-radius:0; box-shadow:none; min-height:0; padding:20px; background:var(--paper); }
body[data-standard-page-design] .location-service-grid:not(.standard-content-grid) h3 { margin:0 0 12px; }
body[data-standard-page-design] .location-service-grid:not(.standard-content-grid) p { margin:0; }
body[data-standard-page-design] .location-service-grid:not(.standard-content-grid) .location-service-card:hover { transform:none; background:var(--paper-2); }
body[data-standard-page-design] :is(.local-reference,.spec-card,.signs) { border:0; box-shadow:none; border-radius:0; background:var(--paper); padding:24px; }
body[data-standard-page-design] :is(.guide-card,.svc-card,.rv-card) { border:0; box-shadow:none; }
body[data-standard-page-design] .svc-card .b { padding:20px; }
body[data-standard-page-design] .faq { max-width:900px; }
body[data-standard-page-design] .faq details { border:0; border-radius:0; box-shadow:none; background:var(--paper); margin-bottom:12px; }
body[data-standard-page-design] .faq summary { padding:20px; }
body[data-standard-page-design] .faq .a { padding:0 20px 20px; }
body[data-standard-page-design] .faq summary:focus-visible { outline:2px solid var(--green-700); outline-offset:-2px; }
body[data-standard-page-design] .reviews { background:#fff; }
body[data-standard-page-design] .reviews :is(h2,.rv-score,.rv-name) { color:var(--navy); }
body[data-standard-page-design] .rv-card { background:var(--paper); color:var(--ink); }
body[data-standard-page-design] .reviews :is(p,.meta,.rv-profile) { color:var(--ink-soft); }
body[data-standard-page-design] .reviews .stars { color:var(--star); }

/* Article, archive and utility families keep their native outline and fields. */
body[data-standard-page-design] :is(.team-card,.info-card,.license-card,.license-cta-inner,.content-panel,.blog-card,.blog-search-result,.author-box) { border:0; box-shadow:none; }
body[data-standard-page-design] .blog-card:hover { box-shadow:none; transform:none; }
body[data-standard-page-design] .license-card::after { display:none; }
body[data-standard-page-design] :is(.section-head,.location-section-head,.decision-copy,.local-proof-copy)>.eyebrow { font-size:12px; letter-spacing:.11em; text-transform:uppercase; }

/* Theme only the newly adapted process component, not the existing Signs. */
body[data-standard-page-design] .standard-process { --cheers-how-it-works-background:#fff; --cheers-how-it-works-surface:var(--paper); --cheers-how-it-works-text:var(--ink); --cheers-how-it-works-heading:var(--navy); --cheers-how-it-works-muted:var(--ink-soft); --cheers-how-it-works-accent:var(--green-700); --cheers-how-it-works-border:transparent; --cheers-how-it-works-max-width:1180px; --cheers-how-it-works-node-size:56px; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__inner { width:100%; max-width:var(--maxw); padding:clamp(52px,7vw,92px) 24px; }
body.high-ticket-cro[data-standard-page-design] .standard-process .cheers-how-it-works__inner { padding-block:clamp(42px,5vw,64px); }
body[data-standard-page-design] .standard-process .cheers-how-it-works__header { width:100%; margin:0; text-align:left; max-width:900px; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__header h2 { margin:.25em 0 .45em; font-size:clamp(1.75rem,3.4vw,2.5rem); font-weight:800; line-height:1.06; letter-spacing:-.01em; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__description { margin:0; font-size:1.02rem; line-height:1.6; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__steps::before,
body[data-standard-page-design] .standard-process .cheers-how-it-works__step::after { display:none; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__step { justify-items:start; text-align:left; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__step-copy { max-width:none; }

/* Reusable, unboxed text columns: three-up, or two-up for a pair.
   Only actual process lists retain step labels; topical cards are unnumbered. */
body[data-standard-page-design] .standard-content-grid {
  display:grid; grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:none;
  gap:32px clamp(24px,4vw,50px); margin:34px 0 0;
  grid-auto-columns:auto;
  border:0; border-radius:0; background:transparent; padding:0;
  align-items:start; list-style:none;
}
@media(max-width:600px) {
  body.high-ticket-cro[data-standard-page-design] .standard-process .cheers-how-it-works__inner { padding-block:38px; }
}
body[data-standard-page-design] .standard-content-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-standard-page-design] .standard-content-grid > * {
  display:block; min-width:0; min-height:0; padding:0;
  border:0; border-radius:0; box-shadow:none; background:transparent;
  text-align:left; transform:none;
}
body[data-standard-page-design] .standard-content-grid > :hover { background:transparent; }
body[data-standard-page-design] .standard-content-grid > *:focus-visible { outline:2px solid var(--green-700); outline-offset:3px; }
body[data-standard-page-design] .standard-content-grid h3 { margin:0 0 10px; font-size:1.15rem; line-height:1.3; font-weight:800; }
body[data-standard-page-design] .standard-content-grid p { margin:0; color:var(--ink-soft); font-size:1rem; line-height:1.65; }
body[data-standard-page-design] .standard-content-grid .b { padding:16px 0 0; }
body[data-standard-page-design] .standard-content-grid > * > img { display:block; width:100%; border-radius:0; }
body[data-standard-page-design] .standard-content-grid .rv-who { margin-top:16px; }
body[data-standard-page-design] .standard-content-grid p + p { margin-top:1em; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__eyebrow { color:var(--green-700); font-size:12px; font-weight:700; letter-spacing:.11em; line-height:1.6; }
body[data-standard-page-design] .standard-process .cheers-how-it-works__visual--number {
  display:block; width:auto; height:auto; margin:0 0 16px; padding:0;
  border:0; border-radius:0; background:transparent; color:var(--green-700);
  font-family:var(--font-body); font-size:.72rem; font-weight:800; letter-spacing:.1em;
}
body[data-standard-page-design] .standard-process .cheers-how-it-works__visual--number::before { content:"STEP "; }
@media (min-width:768px) and (max-width:1000px) {
  body[data-standard-page-design] .standard-content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:767px) {
  body[data-standard-page-design] .svc-hero .wrap { padding-block:28px; }
  body[data-standard-page-design] .svc-hero-media::after { background:linear-gradient(90deg,rgba(7,20,34,.94),rgba(7,20,34,.72)); }
  /* Reset the library's negative mobile margins, keeping every collection
     inside the same 24px page gutter with a peek at the next card. */
  body[data-standard-page-design] .standard-content-grid {
    display:flex; width:100%; max-width:100%; margin:34px 0 0; gap:24px;
    overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
    scroll-padding-inline:0; padding:4px 0 20px; scrollbar-width:thin;
    scrollbar-color:var(--green-700) transparent;
  }
  body[data-standard-page-design] .standard-content-grid > * { flex:0 0 86%; scroll-snap-align:start; }
  body[data-standard-page-design] .standard-content-grid:focus-visible { outline:2px solid var(--green-700); outline-offset:3px; }
  body[data-standard-page-design] .standard-process .cheers-how-it-works__step { display:block; }
  body[data-standard-page-design] .standard-process .cheers-how-it-works__step-copy { max-width:none; }
}
