/* Zamax Website .93 — owner-final alignment, truthful transformation and guide deep-link polish. */

/* The Commercial Services overview now uses the same compact, legible proof
   grammar as the accepted Commercial homepage and detail heroes. */
body[data-zmx-route="/services/"] .hero-copy > .hero-pills {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 8px !important;
  width: min(100%,650px) !important;
  margin: 14px 0 0 !important;
}
body[data-zmx-route="/services/"] .hero-copy > .hero-pills > span {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.075) !important;
  color: rgba(255,255,255,.92) !important;
  font-size: .76rem !important;
  font-weight: 820 !important;
  line-height: 1.28 !important;
  text-align: left !important;
}
body[data-zmx-route="/services/"] .hero-copy > .hero-pills > span::before {
  content: "✓";
  flex: 0 0 17px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  margin-top: 1px;
  border-radius: 50%;
  background: #e4bd5c;
  color: #123b34;
  font-size: .62rem;
  font-weight: 950;
}

/* The accepted 20-point line is now a real native destination, without
   changing the existing action/checklist/proof reading order. */
body[data-zmx-route] .hero-copy > a.zmx93-checklist-link {
  width: fit-content;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
body[data-zmx-route] .hero-copy > a.zmx93-checklist-link:is(:hover,:focus-visible) {
  color: #fff;
  transform: translateY(-1px);
}
body[data-zmx-route] .hero-copy > a.zmx93-checklist-link:focus-visible {
  outline: 3px solid rgba(228,189,92,.72);
  outline-offset: 4px;
}

/* Commercial About: centre the owner-named statements and restore readable
   support-copy contrast on the light .88 treatment. */
body[data-zmx-route="/about/"] .about-intro-card > :is(.about-eyebrow,h2,.about-intro-lead),
body[data-zmx-route="/about/"] .about-route-section .about-section-head > :is(.about-eyebrow,h2,p) {
  margin-inline: auto !important;
  text-align: center !important;
}
body[data-zmx-route="/about/"] .about-intro-card > h2,
body[data-zmx-route="/about/"] .about-route-section .about-section-head > h2 {
  max-width: 24ch !important;
  color: #102520 !important;
}
body[data-zmx-route="/about/"] .about-intro-card > .about-intro-lead,
body[data-zmx-route="/about/"] .about-route-section .about-section-head > p:last-child {
  max-width: 72ch !important;
  color: #40534c !important;
}
body[data-zmx-route="/about/"] .about-route-choice-line { color: #40534c !important; }
body[data-zmx-route="/about/"] .about-route-choice-line strong { color: #0b443c !important; }

/* Official ONS geometry is reused byte-for-byte in an overview and a genuine
   viewport inset. Labels do the explanatory work; this is not a boundary map. */
.zmx-res-coverage-map--official .zmx93-map-panels {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 14px;
  padding: 14px;
  background: linear-gradient(145deg,#e9f0e9,#f7f0e2);
}
.zmx-res-coverage-map--official .zmx93-map-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(16,41,37,.13);
  border-radius: 20px;
  background: #fffdf8;
}
.zmx-res-coverage-map--official .zmx93-map-panel > p {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 13px 15px 0;
  color: #0b443c;
}
.zmx-res-coverage-map--official .zmx93-map-panel > p strong { font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.zmx-res-coverage-map--official .zmx93-map-panel > p span { color: #52645e; font-size: .72rem; }
.zmx-res-coverage-map--official .zmx93-map-panel svg { display: block; width: 100%; height: 330px; object-fit: contain; }
.zmx-res-coverage-map--official .zmx93-map-panel--inset svg { height: 330px; }
.zmx-res-coverage-map--official > figcaption { padding: 16px 18px 18px !important; background: #fffdf8; }

/* Large, direct cues help a skim-reader while the adjacent disclosure keeps
   the comparison truthful and immediately visible. */
.zmx93-transformation-comparison .zmx92-comparison-grid figure { position: relative; }
.zmx93-comparison-cue {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  max-width: calc(100% - 32px);
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: rgba(5,38,34,.9);
  color: #fffdf8;
  box-shadow: 0 8px 20px rgba(4,29,26,.2);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}
.zmx93-transformation-comparison .zmx92-comparison-grid figure:nth-child(2) .zmx93-comparison-cue {
  background: rgba(228,189,92,.95);
  color: #102520;
}
.zmx93-comparison-disclosure { font-weight: 760; }

/* Keep Residential closing sections consistent and materially shorter while
   retaining full-width imagery, centred hierarchy and the existing no-seam edge. */
body[data-zmx-audience="residential"] .zmx-res-final-cta {
  min-height: 560px !important;
  padding-block: 72px !important;
}
body[data-zmx-audience="residential"] .zmx-res-final-cta > .zmx-res-container { min-height: 0 !important; }

@media (max-width: 720px) {
  body[data-zmx-route="/services/"] .hero-copy > .hero-pills { grid-template-columns: 1fr !important; gap: 7px !important; }
  body[data-zmx-route="/about/"] .about-route-section .about-section-head { text-align: center !important; }
  body[data-zmx-route="/about/"] .about-route-choice-line { display: block !important; margin-inline: auto !important; }
  .zmx-res-coverage-map--official .zmx93-map-panels { grid-template-columns: 1fr; gap: 10px; padding: 10px; }
  .zmx-res-coverage-map--official .zmx93-map-panel svg,
  .zmx-res-coverage-map--official .zmx93-map-panel--inset svg { height: 270px; }
  .zmx93-comparison-cue { top: 12px; left: 12px; max-width: calc(100% - 24px); font-size: .7rem; }
  body[data-zmx-audience="residential"] .zmx-res-final-cta { min-height: 440px !important; padding-block: 56px !important; }

  /* The accepted artwork remains the image; mobile now frames the complete
     branded booklet rather than cropping its title at the right edge. */
  body[data-zmx-route="/residential/guides/"] .zmx-res-hero {
    min-height: 930px !important;
    background: #d9d3c6;
  }
  body[data-zmx-route="/residential/guides/"] .zmx-res-hero::before {
    background-color: #d9d3c6;
    background-position: right 8px bottom 12px !important;
    background-repeat: no-repeat !important;
    background-size: auto 45% !important;
  }
  body[data-zmx-route="/residential/guides/"] .zmx-res-hero__shade {
    background: linear-gradient(180deg,rgba(4,26,24,.98) 0%,rgba(4,26,24,.94) 53%,rgba(4,26,24,.4) 74%,rgba(4,26,24,.12) 100%) !important;
  }
  body[data-zmx-route="/residential/guides/"] .zmx-res-hero__inner { align-items: flex-start !important; }
  body[data-zmx-route="/residential/guides/"] .zmx-res-hero__copy { padding-bottom: 330px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-zmx-route] .hero-copy > a.zmx93-checklist-link { transition: none; }
}
