/* 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.page-nos-solutions .solutions-hero__grid {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
    gap: clamp(1.5rem, 2.6vw, 4.5rem) !important;
  }

  body.page-nos-solutions .solutions-hero__copy,
  body.svc-creation .cs-hero__copy,
  body.svc-refonte .rs-hero__copy,
  body.svc-seo .seo2026-hero__copy,
  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,
  body.contact-page-body .contact-hero-mock__copy {
    box-sizing: border-box;
    max-width: none !important;
  }

  body.page-nos-solutions .solutions-hero__copy {
    width: 100% !important;
  }

  body.page-nos-solutions .solutions-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3rem, 3.3vw, 5rem) !important;
    line-height: 0.98 !important;
  }

  body.page-nos-solutions .solutions-hero__lead {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
    font-size: clamp(1.02rem, 0.36vw + 0.8rem, 1.24rem) !important;
  }

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

  body.svc-creation .cs-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    margin-inline: auto !important;
  }

  body.svc-creation .cs-hero__copy {
    width: var(--dp-hero-copy-wide) !important;
  }

  body.svc-creation .cs-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.45rem, 4vw, 5.65rem) !important;
    line-height: 0.98 !important;
  }

  body.svc-creation .cs-hero__copy .hero-text {
    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-refonte .rs-hero__inner {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  body.svc-refonte .rs-hero__copy {
    width: min(47vw, 70rem) !important;
  }

  body.svc-refonte .rs-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.55rem, 4.15vw, 5.8rem) !important;
    line-height: 0.96 !important;
  }

  body.svc-seo .seo2026-hero__inner {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  body.svc-seo .seo2026-hero__copy {
    width: min(46vw, 70rem) !important;
  }

  body.svc-seo .seo2026-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.45rem, 4vw, 5.65rem) !important;
    line-height: 0.97 !important;
  }

  body.svc-seo .seo2026-hero__copy > p:not(.seo2026-pill) {
    width: min(100%, var(--dp-hero-body-measure)) !important;
    max-width: none !important;
  }

  body.svc-sea .ga-hero__inner {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    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 {
    padding-inline: clamp(2.5rem, 4.5vw, 7rem) !important;
  }

  body.blog-page .blog-showcase-hero__inner {
    width: min(100%, 116rem) !important;
    max-width: none !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.contact-page-body .contact-hero-mock__inner {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  body.contact-page-body .contact-hero-mock__copy {
    width: min(47vw, 71rem) !important;
  }

  body.contact-page-body .contact-hero-mock__copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.5rem, 4vw, 5.65rem) !important;
    line-height: 0.98 !important;
  }

  body.contact-page-body .contact-hero-mock__lead {
    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.page-nos-solutions .solutions-hero__actions,
  body.svc-creation .cs-hero__copy .hero-actions,
  body.svc-refonte .rs-actions,
  body.svc-seo .seo2026-hero__actions,
  body.svc-sea .ga-hero__actions,
  body.svc-gbp .gbp-hero__intro .hero-actions,
  body.svc-meta .ma-actions,
  body.blog-page .blog-showcase-hero__actions,
  body.contact-page-body .contact-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.page-nos-solutions .solutions-hero__actions .btn,
  body.svc-creation .cs-hero__copy .hero-actions .btn,
  body.svc-refonte .rs-actions .rs-btn,
  body.svc-seo .seo2026-hero__actions .seo2026-btn,
  body.svc-sea .ga-hero__actions .btn,
  body.svc-gbp .gbp-hero__intro .hero-actions .btn,
  body.svc-meta .ma-actions .ma-btn,
  body.blog-page .blog-showcase-hero__actions .blog-primary-btn,
  body.contact-page-body .contact-actions .contact-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. */
  html body.page-nos-solutions main#main section.solutions-hero .solutions-hero__grid.container-lg {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
  }

  html body.page-nos-solutions main#main section.solutions-hero .solutions-hero__grid > .solutions-hero__copy,
  html body.page-nos-solutions main#main section.solutions-hero .solutions-hero__grid > .solutions-hero__copy h1 {
    width: 100% !important;
    max-width: none !important;
  }

  html body.page-nos-solutions main#main section.solutions-hero .solutions-hero__copy h1 {
    font-size: clamp(3rem, 3.3vw, 5rem) !important;
    line-height: 0.98 !important;
  }

  html body.page-service.svc-creation main#main section.cs-hero > .container-lg,
  html body.page-service.svc-creation main#main section.cs-hero .cs-hero__grid {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  html body.page-service.svc-creation main#main section.cs-hero .cs-hero__grid > .cs-hero__copy {
    width: var(--dp-hero-copy-wide) !important;
    max-width: none !important;
  }

  html body.page-service.svc-creation main#main section.cs-hero .cs-hero__copy > h1 {
    width: 100% !important;
    max-width: none !important;
  }

  html body.page-service.svc-seo main#main section.seo2026-hero .seo2026-hero__inner {
    width: min(calc(100% - clamp(3rem, 7vw, 9rem)), 116rem) !important;
    max-width: none !important;
  }

  html body.page-service.svc-seo main#main section.seo2026-hero .seo2026-hero__inner > .seo2026-hero__copy {
    width: min(46vw, 70rem) !important;
    max-width: none !important;
  }

  html body.page-service.svc-seo main#main section.seo2026-hero .seo2026-hero__copy > h1 {
    width: 100% !important;
    max-width: none !important;
  }

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

  html body.page-service.svc-gbp main#main section.gbp-hero .gbp-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  }

  html body.page-service.svc-gbp main#main section.gbp-hero .gbp-hero-grid > .gbp-hero__intro,
  html body.page-service.svc-gbp main#main section.gbp-hero .gbp-hero__intro > h1.section-title {
    width: 100% !important;
    max-width: none !important;
  }
}
