/* Digipure desktop full-wide composition.
   The page background already spans the viewport; this layer lets the useful
   content follow it on large screens while keeping text measures readable. */
@media (min-width: 1181px) {
  :root {
    --dp-wide-gutter: clamp(1.5rem, 1.6vw, 3rem);
  }

  body.page-home .home-hero__grid,
  body.page-home .fit-orbit-layout,
  body.page-home .expertise-v2-head,
  body.page-home .method-v2-grid,
  body.page-home .projects-v2-head,
  body.page-home .phone-showcase,
  body.page-home .home-faq-visual-shell,
  body.page-home .final-cta {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  body.page-home .home-hero__grid,
  body.page-home .fit-orbit-layout,
  body.page-home .expertise-v2-head,
  body.page-home .method-v2-grid,
  body.page-home .projects-v2-head,
  body.page-home .phone-showcase,
  body.page-home .home-faq-visual-shell {
    padding-inline: 0 !important;
  }

  body.page-home .home-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
  }

  body.page-home .home-hero__copy {
    width: clamp(44rem, 48vw, 61rem) !important;
    max-width: none !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  body.page-home .home-hero__copy h1 {
    max-width: none !important;
    font-size: clamp(3.75rem, 4.25vw, 5.75rem) !important;
    line-height: 0.96 !important;
  }

  body.page-home .home-hero__title-line {
    display: block !important;
    white-space: nowrap !important;
  }

  body.page-home .home-hero__lead {
    max-width: 46rem !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  body.page-home .audience-wheel {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-home .method-v2-grid {
    grid-template-columns: minmax(23rem, 0.42fr) minmax(0, 1.58fr) !important;
    gap: clamp(2rem, 3.2vw, 5.5rem) !important;
  }

  body.page-home .phone-stage {
    height: clamp(37rem, 35vw, 51rem) !important;
  }

  body.page-home .work-phone {
    width: clamp(10.5rem, 12vw, 16.25rem) !important;
  }

  body.page-home .work-phone.is-prev {
    transform: translateX(calc(-50% - clamp(17rem, 21vw, 29rem))) translateY(62px) rotate(-4.5deg) scale(0.88) !important;
  }

  body.page-home .work-phone.is-next {
    transform: translateX(calc(-50% + clamp(17rem, 21vw, 29rem))) translateY(62px) rotate(4.5deg) scale(0.88) !important;
  }

  body.page-home .work-phone.is-far-prev {
    transform: translateX(calc(-50% - clamp(32rem, 39vw, 56rem))) translateY(108px) rotate(-7deg) scale(0.61) !important;
  }

  body.page-home .work-phone.is-far-next {
    transform: translateX(calc(-50% + clamp(32rem, 39vw, 56rem))) translateY(108px) rotate(7deg) scale(0.61) !important;
  }

  body.page-home .home-faq-visual-layout {
    grid-template-columns: minmax(22rem, 0.95fr) minmax(32rem, 1.25fr) minmax(22rem, 0.95fr) !important;
  }

  body.page-home .home-faq-visual-image,
  body.page-home .home-faq-visual-image > img {
    max-width: none !important;
  }

  html[data-theme] body.page-home .final-cta,
  html[data-theme="light"] body.page-home .final-cta {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 0.88fr) minmax(34rem, 1.12fr) !important;
    padding-inline: clamp(3rem, 5vw, 8rem) !important;
  }

  body.page-home .final-cta__content {
    max-width: 48rem !important;
  }

  body.page-home .final-cta__media {
    width: min(52%, 58rem) !important;
    max-width: none !important;
  }

  html[data-theme="light"] body.page-home .home-final .container-lg {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }

  html[data-theme="light"] body.page-home .final-cta,
  html[data-theme="light"] body.page-home .final-cta.sr-in {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
  }

  body.svc-sea .ga-hero__copy {
    width: min(47vw, 58rem) !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  html body.page-nos-solutions > .footer > .container-lg {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
}

/* Vite regroupe les feuilles par page et peut placer ce chunk avant les CSS
   historiques. Ces sélecteurs décrivent la hiérarchie réelle des pages : leur
   spécificité garantit que les anciens plafonds !important ne reprennent pas
   la main après le build. */
@media (min-width: 1181px) {
  html[data-theme] body.page-home main.home-main .home-hero .home-hero__grid,
  html[data-theme] body.page-home main.home-main .home-fit .fit-orbit-layout,
  html[data-theme] body.page-home main.home-main .home-expertise .expertise-v2-head,
  html[data-theme] body.page-home main.home-main .home-method .method-v2-grid,
  html[data-theme] body.page-home main.home-main .home-projects .projects-v2-head,
  html[data-theme] body.page-home main.home-main .home-projects .phone-showcase,
  html[data-theme] body.page-home main.home-main .home-faq .home-faq-visual-shell,
  html[data-theme] body.page-home main.home-main .home-final .final-cta {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html[data-theme] body.page-home main.home-main .home-hero .home-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
  }

  html[data-theme] body.page-home main.home-main .home-hero .home-hero__copy {
    width: clamp(44rem, 48vw, 61rem) !important;
    max-width: none !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  html[data-theme] body.page-home main.home-main .home-hero .home-hero__copy h1 {
    max-width: none !important;
    font-size: clamp(3.75rem, 4.25vw, 5.75rem) !important;
    line-height: 0.96 !important;
  }

  html[data-theme] body.page-home main.home-main .home-hero .home-hero__title-line {
    display: block !important;
    white-space: nowrap !important;
  }

  html[data-theme] body.page-home main.home-main .home-fit .audience-wheel {
    width: 100% !important;
    max-width: none !important;
  }

  html[data-theme] body.page-home main.home-main .home-method .method-v2-grid {
    grid-template-columns: minmax(23rem, 0.42fr) minmax(0, 1.58fr) !important;
    gap: clamp(2rem, 3.2vw, 5.5rem) !important;
  }

  html[data-theme] body.page-home main.home-main .home-faq .home-faq-visual-layout {
    grid-template-columns: minmax(22rem, 0.95fr) minmax(32rem, 1.25fr) minmax(22rem, 0.95fr) !important;
  }

  html[data-theme] body.page-home main.home-main .home-final .final-cta {
    grid-template-columns: minmax(0, 0.88fr) minmax(34rem, 1.12fr) !important;
    padding-inline: clamp(3rem, 5vw, 8rem) !important;
  }
}
