/* Requested review corrections. Legacy sheets remain in their original order.
   The repeated #main specificity is required by the retained legacy overrides. */
html body #main#main#main#main#main [data-corrected-pointers] {
  --pointer-size: 36px;
  --pointer-gap: 24px;
  --pointer-line: #007d78;
  border: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: var(--pointer-gap) !important;
  position: relative;
  isolation: isolate;
}
html body #main#main#main#main#main [data-corrected-pointers]::before,
html body #main#main#main#main#main [data-corrected-pointers]::after,
html body #main#main#main#main#main [data-corrected-pointers] > *::before {
  content: none !important;
}
html body #main#main#main#main#main [data-corrected-pointers] > * {
  min-width: 0;
  position: relative;
  margin: 0 !important;
  align-items: start !important;
  border: 0 !important;
}
html body #main#main#main#main#main [data-corrected-pointers] [data-dnp-node] {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  place-items: center;
  align-self: start !important;
  flex: 0 0 var(--pointer-size) !important;
  width: var(--pointer-size) !important;
  min-width: var(--pointer-size) !important;
  max-width: var(--pointer-size) !important;
  height: var(--pointer-size) !important;
  min-height: var(--pointer-size) !important;
  max-height: var(--pointer-size) !important;
  aspect-ratio: 1;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  border: 1px solid #007d78 !important;
  border-radius: 50% !important;
  background: #00b2a9 !important;
  color: #0b1d3a !important;
  font-size: 12px !important;
  font-weight: 750;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  box-shadow: none !important;
  z-index: 2;
}
html body #main#main#main#main#main [data-corrected-pointers] [data-dnp-node]::before,
html body #main#main#main#main#main [data-corrected-pointers] [data-dnp-node]::after {
  content: none !important;
}
html body #main#main#main#main#main [data-corrected-pointers] > * > div {
  min-width: 0;
}
html body #main#main#main#main#main [data-corrected-pointers] :is(h3,h4) {
  margin-top: 0 !important;
}
html body #main#main#main#main#main [data-corrected-pointers="vertical"] {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
}
html body #main#main#main#main#main [data-corrected-pointers="vertical"] > * {
  display: grid !important;
  grid-template-columns: var(--pointer-size) minmax(0,1fr) !important;
  column-gap: 16px !important;
  padding: 0 !important;
}
html body #main#main#main#main#main [data-corrected-pointers="vertical"] > :not(:last-child)::after {
  content: "" !important;
  display: block;
  position: absolute;
  left: calc(var(--pointer-size) / 2 - 1px);
  top: var(--pointer-size);
  bottom: calc(-1 * var(--pointer-gap));
  width: 2px;
  height: auto;
  background: var(--pointer-line);
  opacity: .6;
  pointer-events: none;
  z-index: 0;
}
html body #main#main#main#main#main [data-corrected-pointers="horizontal"] {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0,1fr);
  grid-template-columns: none !important;
  overflow: visible !important;
}
html body #main#main#main#main#main [data-corrected-pointers="horizontal"] > * {
  display: flex !important;
  flex-direction: column;
  gap: 16px !important;
  padding: 0 !important;
  background: transparent !important;
}
html body #main#main#main#main#main [data-corrected-pointers="horizontal"] > :not(:last-child)::after {
  content: "" !important;
  position: absolute;
  top: calc(var(--pointer-size) / 2 - 1px);
  left: var(--pointer-size);
  width: calc(100% + var(--pointer-gap) - var(--pointer-size));
  height: 2px;
  background: var(--pointer-line);
  opacity: .6;
  pointer-events: none;
}
/* Maps are interactive embeds rather than linked static images. */
.location-map-embed {
  grid-column: 1 / -1;
  grid-row: auto;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #e7eee8;
  border: 1px solid #bacbc4;
  border-radius: 4px;
}
.location-map-embed iframe {
  display: block;
  border: 0;
  width: 100%;
  height: 100%;
}
html body #main#main#main#main#main .seo-city-reach-visual:has(.location-map-embed) {
  height: auto;
  aspect-ratio: auto;
}
/* Full-height screenshot sources are cropped at their natural proportions. */
html body #main#main#main#main#main .wfp-overview .wfp-site-preview {
  width: 100% !important;
  max-width: 440px !important;
  align-self: start;
  min-width: 0;
  margin: 0 !important;
}
html body #main#main#main#main#main .wfp-overview .wfp-site-preview-window {
  position: relative;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
html body #main#main#main#main#main .wfp-overview .wfp-site-preview-window > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover;
  object-position: top center;
  transform: none;
}
html body #main#main#main#main#main .wfp-preview-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 12px;
}
/* One example occupies the same left/right alignment as the section heading. */
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] {
  max-width: none !important;
  margin-inline: 0 !important;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] > [data-dn-proof-card] {
  max-width: none !important;
  width: 100% !important;
  margin-inline: 0 !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  align-items: stretch !important;
}
/* Singleton examples must fill their grid column, rather than inheriting the
   400px gallery cap and an intrinsic full-page image height. */
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] > [data-dn-proof-card] > .website-showcase {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 300px;
  align-self: stretch !important;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .showcase-viewport {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  aspect-ratio: auto;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .showcase-image {
  position: absolute;
  top: 0;
  left: 0;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .dn-proof-copy {
  justify-content: flex-start;
  padding: 24px !important;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] :is(.dn-proof-result,.dn-proof-story-title) {
  min-height: 0;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .dn-proof-period {
  margin: 0 0 16px !important;
}
html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .dn-proof-link {
  margin-top: 0 !important;
}
/* Platform marks keep their original colours on a consistent white tile. */
html body #main#main#main#main#main .dn-tool-mark {
  background: #fff !important;
  color: #0b1d3a;
  border-radius: 4px;
  padding: 12px !important;
  box-sizing: border-box;
}
html body #main#main#main#main#main .dn-tool-mark img {
  object-fit: contain;
  filter: none !important;
  max-width: 100%;
}
/* About's principles are a single, full-width accordion. */
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 14px !important;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-card {
  min-width: 0;
  border: 1px solid #bacbc4;
  border-radius: 6px;
  background: #fffefa;
  color: #0b1d3a;
  overflow: hidden;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px !important;
  min-height: 64px;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-card > summary h3 {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-body {
  display: block !important;
  padding: 0 24px 24px !important;
  width: auto;
  max-width: none;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-body :is(.dn-heading-block,.site-prose,.dn-section-intro,p) {
  max-width: none !important;
  width: auto !important;
}
html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-body .dn-heading-block {
  display: block !important;
  margin-bottom: 18px;
}
/* Added contact/service cards use the same paper, border and type as existing cards. */
html body #main#main#main#main#main [data-action-cards] {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  align-items: stretch;
  gap: 24px !important;
  overflow: visible !important;
}
.action-card-contact { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 12px; overflow-wrap: anywhere; }
/* Resource collections are balanced grids instead of an overflowing card rail. */
html body.page-collection #main#main#main#main#main :is(.site-card-grid,.site-link-grid) {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,max(280px,calc((100% - 48px) / 3))),1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  overflow: visible !important;
  scroll-snap-type: none;
  padding: 0 !important;
  align-items: stretch;
}
html body.page-collection #main#main#main#main#main :is(.site-card-grid,.site-link-grid) > article {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 24px !important;
  overflow-wrap: anywhere;
}
/* The book, copy and actions have explicit grid areas, so actions align to copy. */
html body #main#main#main#main#main .site-finale[data-dn-book-finale] > .dn-finale {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(180px,240px) !important;
  grid-template-areas: "copy art" "actions art";
  gap: 24px 64px !important;
  align-items: center;
  position: relative;
  padding-block: 12px !important;
}
html body #main#main#main#main#main .site-finale[data-dn-book-finale] .dn-section-opening {
  grid-area: copy;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #main#main#main#main#main .site-finale[data-dn-book-finale] .dn-fieldbook {
  grid-area: art;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 220px !important;
  height: 340px !important;
  margin: 0 !important;
  transform: none !important;
  justify-self: end;
}
html body #main#main#main#main#main .site-finale[data-dn-book-finale] .dn-section-actions {
  grid-area: actions;
  display: flex !important;
  flex-wrap: wrap;
  flex-direction: column !important;
  justify-content: flex-start !important;
  justify-self: start !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}
html body #main#main#main#main#main .site-finale[data-dn-book-finale]::after { content: none !important; }
/* Requested case study insets; metrics and wording remain untouched. */
html body #main#main#main#main#main [data-layout-correction="case-spacing"],
html body #main#main#main#main#main .dn-case-compact .dn-case-work {
  padding: clamp(24px,3vw,44px) !important;
  gap: clamp(28px,4vw,56px) !important;
  box-sizing: border-box;
}
html body #main#main#main#main#main .dn-case-compact .dn-case-work {
  align-items: start;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
html body #main#main#main#main#main .dn-case-compact .dn-case-work .dn-case-need {
  padding: clamp(22px,2.5vw,32px);
  margin: 0;
}
html body #main#main#main#main#main .dn-case-compact .dn-case-need > p:not(.eyebrow) { margin: 0 0 20px; }
html body #main#main#main#main#main .dn-case-compact .dn-case-steps { gap: 24px; }
html body #main#main#main#main#main .dn-case-compact .dn-case-steps article { margin: 0; padding-bottom: 24px; }
html body #main#main#main#main#main .dn-case-compact .dn-case-steps article:last-child { padding-bottom: 0; }
/* Keep the cream page background visible between the teal work and navy results. */
html body #main#main#main#main#main .dn-case-compact .dn-case-work ~ .dn-case-outcome {
  margin-top: clamp(32px,4vw,48px) !important;
  height: auto !important;
  min-height: 0 !important;
}
html body #main#main#main#main#main .dn-case-outcome[data-layout-correction] .dn-case-metrics {
  margin-top: 28px;
  gap: 28px;
}
html body #main#main#main#main#main .dn-case-index .cs-client-register { margin-bottom: 48px; }
html body #main#main#main#main#main .dn-case-index .dn-case-cta { margin-top: 48px; }
@media (max-width: 900px) {
  html body #main#main#main#main#main [data-action-cards] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #main#main#main#main#main [data-action-cards] > article:last-child:nth-child(3) { grid-column: 1 / -1; }
  html body #main#main#main#main#main .site-finale[data-dn-book-finale] > .dn-finale { column-gap: 32px !important; }
  html body #main#main#main#main#main .dn-case-compact .dn-case-work { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 701px) and (max-width: 1100px) {
  html body.page-collection #main#main#main#main#main :is(.site-card-grid,.site-link-grid) > article:last-child:nth-child(3) { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  html body #main#main#main#main#main [data-corrected-pointers="horizontal"] {
    grid-auto-flow: row;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 24px !important;
  }
  html body #main#main#main#main#main [data-corrected-pointers="horizontal"] > * {
    display: grid !important;
    grid-template-columns: var(--pointer-size) minmax(0,1fr) !important;
    gap: 16px !important;
  }
  html body #main#main#main#main#main [data-corrected-pointers="horizontal"] > :not(:last-child)::after {
    left: calc(var(--pointer-size) / 2 - 1px);
    top: var(--pointer-size);
    bottom: -24px;
    width: 2px;
    height: auto;
  }
  html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] > [data-dn-proof-card] {
    display: flex !important;
    flex-direction: column !important;
  }
  html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] > [data-dn-proof-card] > .website-showcase {
    min-height: 0;
  }
  html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .showcase-viewport {
    flex: 0 0 auto !important;
    aspect-ratio: 16 / 10;
  }
  html body #main#main#main#main#main [data-dn-proof-grid][data-proof-count="1"] .showcase-image {
    position: static;
  }
  html body #main#main#main#main#main [data-action-cards] { grid-template-columns: minmax(0,1fr) !important; }
  html body #main#main#main#main#main .site-finale[data-dn-book-finale] > .dn-finale {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: "copy" "actions" "art";
    gap: 28px !important;
  }
  html body #main#main#main#main#main .site-finale[data-dn-book-finale] .dn-fieldbook {
    justify-self: start;
    max-width: 190px !important;
    height: 310px !important;
  }
  html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-card > summary { padding: 18px !important; }
  html body #main#main#main#main#main [data-fd-compact="about-principles"] .fd-reference-body { padding: 0 18px 20px !important; }
  html body #main#main#main#main#main .dn-case-outcome[data-layout-correction] .dn-case-metrics { grid-template-columns: minmax(0,1fr); }
}

html body #main#main#main#main#main .sb-reach-image:has(.location-map-embed) { height: auto !important; aspect-ratio: auto !important; }
html body #main#main#main#main#main .dn-people-conversation > h3 { margin-bottom: 24px; }
html body.page-about #main#main#main#main#main #find-the-next-step-that-fits .dn-heading-block { display: block !important; }
html body.page-about #main#main#main#main#main #find-the-next-step-that-fits .dn-section-intro { max-width: none !important; }

html body #main#main#main#main#main [data-fd-compact="about-principles"] .site-card-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; grid-auto-flow: row !important; gap: 18px !important; overflow: visible !important; }
@media(max-width:900px) { html body #main#main#main#main#main [data-fd-compact="about-principles"] .site-card-grid { grid-template-columns: minmax(0,1fr) !important; } }

html body #main#main#main#main#main [data-without-contents] { display: block !important; grid-template-columns: minmax(0,1fr) !important; }
html body #main#main#main#main#main [data-without-contents] > .article-body { width: 100% !important; max-width: none !important; }
/* Hosting's requested extra flourish is decorative; preserve its heading text. */
html body #main#main#main#main#main #keep-everyday-website-problems-manageable.wfp-overview .dn-section-glyph { display: none !important; }

/* Final client-proof groups share the retained card design at their real count. */
html body #main#main#main#main#main [data-client-proof-section] > .container { display: block !important; }
html body #main#main#main#main#main [data-client-proof-section] .dn-section-opening { margin-bottom: 32px; }
html body #main#main#main#main#main [data-client-proof-section] [data-dn-proof-grid] {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
}
html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="2"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="1"] { grid-template-columns: minmax(0,1fr) !important; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-card {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  max-width: none !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden;
  grid-column: auto !important;
  grid-row: auto !important;
}
html body #main#main#main#main#main [data-client-proof-section] .website-showcase { width: 100% !important; max-width: none !important; margin: 0 !important; }
html body #main#main#main#main#main [data-client-proof-section] .showcase-viewport { position: relative; width: 100%; height: auto !important; aspect-ratio: 16 / 10; max-height: none !important; overflow: hidden; }
html body #main#main#main#main#main [data-client-proof-section] .showcase-image { display: block; width: 100% !important; height: auto !important; max-height: none !important; object-fit: cover; object-position: top; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-copy { flex: 1; display: flex; flex-direction: column; padding: 24px !important; min-width: 0; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-brand { min-width: 0; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 16px; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-brand h3 { overflow-wrap: anywhere; }
html body #main#main#main#main#main [data-client-proof-section] .client-logo-badge { flex: 0 0 64px; width: 64px !important; max-width: 64px !important; height: 60px !important; box-sizing: border-box; overflow: hidden; }
html body #main#main#main#main#main [data-client-proof-section] .client-logo-badge img { width: 100%; height: 100%; object-fit: contain; }
html body #main#main#main#main#main [data-client-proof-section] :is(.dn-proof-result,.dn-proof-story-title) { min-height: 0 !important; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-delivery strong { font-size: clamp(22px,2.2vw,30px); line-height: 1.15; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-period { margin: auto 0 16px !important; padding-top: 20px; }
html body #main#main#main#main#main [data-client-proof-section] .dn-proof-link { margin-top: auto !important; padding-top: 16px; }
html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="1"] > .dn-proof-card { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="1"] .showcase-viewport { aspect-ratio: auto; flex: 1; }
/* Map and landscape panels share a responsive media box, not a global height. */
html body #main#main#main#main#main .seo-city-reach-panel .sb-reach-image { height: auto !important; aspect-ratio: 3 / 2 !important; overflow: hidden; }
html body #main#main#main#main#main .seo-city-reach-panel .sb-reach-image :is(.location-map-embed,iframe,img) { width: 100% !important; height: 100% !important; aspect-ratio: auto; object-fit: cover; }
/* The long preview does not force the overview grid's height or leave a narrow strip. */
html body #main#main#main#main#main .wfp-overview .wfp-overview-grid { align-items: stretch !important; }
html body #main#main#main#main#main .wfp-overview .wfp-site-preview { display: flex; flex-direction: column; width: 100% !important; max-width: none !important; align-self: stretch !important; }
html body #main#main#main#main#main .wfp-overview .wfp-site-preview-window { flex: 1; min-height: 220px; aspect-ratio: auto; }
html body #main#main#main#main#main .wfp-overview .wfp-site-preview-window > img { position: absolute; top: 0; left: 0; }
/* Removing excluded review slides must not leave empty slots or inert controls. */
html body #main#main#main#main#main [data-static-reviews] .home-testimonials-window { width: 100%; overflow: visible; }
html body #main#main#main#main#main [data-static-reviews] .home-testimonials-track { display: block; width: 100%; transform: none !important; animation: none !important; }
html body #main#main#main#main#main [data-static-reviews] .home-testimonials-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; width: 100%; }
html body #main#main#main#main#main [data-static-reviews] .google-review { width: 100% !important; min-width: 0; max-width: none; margin: 0; }
html body #main#main#main#main#main [data-static-reviews] [data-home-testimonials-group="repeat"] { display: none !important; }
html body #main#main#main#main#main p:empty { display: none; }
@media (max-width: 1000px) {
  html body #main#main#main#main#main [data-client-proof-section] [data-dn-proof-grid] { grid-template-columns: minmax(0,1fr) !important; }
  html body #main#main#main#main#main [data-client-proof-section] .dn-proof-card { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  html body #main#main#main#main#main [data-client-proof-section] .dn-proof-card,
  html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="1"] > .dn-proof-card { display: flex !important; flex-direction: column; }
  html body #main#main#main#main#main [data-client-proof-section] .showcase-viewport,
  html body #main#main#main#main#main [data-client-proof-section] [data-proof-count="1"] .showcase-viewport { aspect-ratio: 16 / 10; flex: 0 0 auto !important; min-height: 0; }
  html body #main#main#main#main#main [data-client-proof-section] .showcase-image { position: static; }
  html body #main#main#main#main#main .wfp-overview .wfp-site-preview-window { flex: 0 0 auto; min-height: 0; aspect-ratio: 4 / 3; }
  html body #main#main#main#main#main [data-static-reviews] .home-testimonials-group { grid-template-columns: minmax(0,1fr); }
}

/* Shared review controls and spacing; retain authored labels and Google URLs. */
html body #main#main#main#main#main :is([data-static-reviews],[data-home-testimonials],.google-reviews) { padding-block:72px !important; }
html body #main#main#main#main#main :is(.home-testimonials-heading,.reviews-heading) { gap:24px; margin-bottom:32px; }
html body #main#main#main#main#main :is(.home-testimonials-source,.reviews-heading) a[href*="google.com/maps"] {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:44px; padding:14px 24px !important; border:1px solid var(--teal,#00b2a9);
  border-radius:12px; background:var(--teal,#00b2a9); color:#0b1d3a !important;
  font-size:13px; font-weight:750; line-height:1.4; text-decoration:none; text-align:center;
}
html body #main#main#main#main#main :is(.home-testimonials-source,.reviews-heading) a[href*="google.com/maps"]:hover { background:#00c5b9; border-color:#00c5b9; }
html body #main#main#main#main#main :is(.home-testimonials-source,.reviews-heading) a[href*="google.com/maps"]:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
html body #main#main#main#main#main :is(.home-testimonials-source,.reviews-heading) a[href*="google.com/maps"] img { width:24px; height:24px; object-fit:contain; }
html body #main#main#main#main#main .google-review { padding:32px !important; }
/* Taller website previews in every shared client-proof group. */
html body #main#main#main#main#main :is([data-client-proof-section],[data-home-results-carousel]) .showcase-viewport { height:auto !important; max-height:none !important; aspect-ratio:4 / 3 !important; }
@media (max-width:700px) {
  html body #main#main#main#main#main :is([data-static-reviews],[data-home-testimonials],.google-reviews) { padding-block:48px !important; }
  html body #main#main#main#main#main .google-review { padding:24px !important; }
  html body #main#main#main#main#main :is(.home-testimonials-heading,.reviews-heading) { gap:20px; margin-bottom:24px; }
  /* Flatten only the mobile copy wrapper so the existing artwork sits before actions. */
  html body #main#main#main#main#main .hero[data-dn-banner-frame="shared"] > .hero-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; align-items:stretch !important; gap:20px !important; }
  html body #main#main#main#main#main .hero[data-dn-banner-frame="shared"] .hero-copy { display:contents; }
  html body #main#main#main#main#main .hero-copy > .eyebrow { grid-area:1 / 1; margin:0; }
  html body #main#main#main#main#main .hero-copy > h1 { grid-area:2 / 1; margin:0; }
  html body #main#main#main#main#main .hero-copy > .hero-intro { grid-area:3 / 1; margin:0; }
  html body #main#main#main#main#main .hero[data-dn-banner-frame="shared"] .hero-art { grid-area:4 / 1; }
  html body #main#main#main#main#main .hero-copy > :is(.platform-badge,.dn-discovery-badge) { grid-area:4 / 1; position:relative !important; align-self:start; justify-self:start; margin:0 !important; }
  html body #main#main#main#main#main .hero-copy > .hero-actions { grid-area:5 / 1; margin:8px 0 0; }
  html body #main#main#main#main#main .hero-copy > .hero-reassurance { grid-area:6 / 1; margin:0; }
  html body #main#main#main#main#main .hero-copy > .hero-results { grid-area:7 / 1; }
}
