/* Desktop-only hero text flow.
   The HTML link also carries media="(min-width: 1181px)" so phone and tablet
   layouts keep their dedicated rules and their measured rendering. */
@media (min-width: 1181px) {
  :root {
    --dp-hero-copy-wide: min(48vw, 72rem);
    --dp-hero-body-measure: 60ch;
    --dp-hero-action-height: clamp(3.35rem, 2.25vw, 4rem);
    --dp-hero-action-font: clamp(1rem, 0.35vw + 0.8rem, 1.16rem);
    --dp-hero-action-pad: clamp(1.35rem, 1.7vw, 2.35rem);
  }

  
  body.svc-sea .ga-hero__copy,
  body.svc-gbp .gbp-hero__intro,
  body.svc-meta .ma-hero__copy,
  body.blog-page .blog-showcase-hero__copy {
    box-sizing: border-box;
    max-width: none !important;
  }

  body.svc-sea .ga-hero__copy {
    width: min(48vw, 72rem) !important;
  }

  body.svc-sea .ga-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.4rem, 4vw, 5.7rem) !important;
    line-height: 0.98 !important;
  }

  body.svc-sea .ga-hero__copy .section-subtitle {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
    font-size: clamp(1.04rem, 0.38vw + 0.8rem, 1.25rem) !important;
  }

  body.svc-gbp .gbp-hero > .container {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  body.svc-gbp .gbp-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  }

  body.svc-gbp .gbp-hero__intro {
    width: 100% !important;
  }

  body.svc-gbp .gbp-hero__intro .section-title {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.35rem, 3.85vw, 5.45rem) !important;
    line-height: 0.98 !important;
  }

  body.svc-gbp .gbp-hero__intro .section-subtitle {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
    margin-inline: 0 !important;
    font-size: clamp(1.04rem, 0.38vw + 0.8rem, 1.25rem) !important;
  }

  body.svc-meta .ma-hero__copy {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 74rem) !important;
  }

  body.svc-meta .ma-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.35rem, 3.8vw, 5.35rem) !important;
    line-height: 0.95 !important;
  }

  body.svc-meta .ma-hero__copy > p:not(.ma-pill) {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
    margin-inline: auto !important;
    font-size: clamp(1.04rem, 0.38vw + 0.8rem, 1.25rem) !important;
  }

  body.blog-page .blog-showcase-hero__copy {
    width: min(47vw, 71rem) !important;
  }

  body.blog-page .blog-showcase-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.5rem, 4vw, 5.6rem) !important;
    line-height: 0.98 !important;
  }

  body.blog-page .blog-showcase-hero__copy > p {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
    font-size: clamp(1.04rem, 0.38vw + 0.8rem, 1.25rem) !important;
  }

  
  body.svc-gbp .gbp-hero__intro .hero-actions,
  body.svc-meta .ma-actions,
  body.blog-page .blog-showcase-hero__actions {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: clamp(0.75rem, 1vw, 1.25rem) !important;
  }

  
  body.svc-gbp .gbp-hero__intro .hero-actions .btn,
  body.svc-meta .ma-actions .ma-btn {
    width: auto !important;
    min-height: var(--dp-hero-action-height) !important;
    padding-inline: var(--dp-hero-action-pad) !important;
    font-size: var(--dp-hero-action-font) !important;
    white-space: normal !important;
  }

  /* Older page bundles contain highly specific fixed-width overrides.
     These four selectors deliberately mirror their page structure so the
     desktop fluid contract wins without touching the mobile cascade. */
}
