/* 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 .expertise-v2-grid,
  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 .expertise-v2-grid,
  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 .home-hero__actions {
    justify-content: flex-start !important;
  }

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

  body.page-home .expertise-v2-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(1rem, 1.35vw, 2rem) !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__inner {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

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

  body.svc-sea .ga-hero {
    background-size: clamp(66rem, 60vw, 96rem) auto !important;
    background-position: right bottom !important;
  }

  body.svc-sea .ga-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(3.8rem, 4.35vw, 6.15rem) !important;
  }

  html body.page-nos-solutions main > .solutions-hero .solutions-hero__grid,
  html body.page-nos-solutions main > .solutions-image-lab > .container-lg,
  html body.page-nos-solutions main > .solutions-marketplace > .container-lg,
  html body.page-nos-solutions main > .solutions-guidance > .solutions-guidance__inner {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__grid {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    grid-template-columns: minmax(25rem, 0.72fr) minmax(0, 1.28fr) !important;
    gap: clamp(2rem, 3vw, 5rem) !important;
  }

  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__copy {
    width: 100% !important;
    max-width: 43rem !important;
    justify-self: start !important;
  }

  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__visual,
  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__visual.reveal,
  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__visual.reveal.visible,
  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero__visual.reveal.is-revealed {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    justify-self: stretch !important;
  }

  html body.page-nos-solutions main > .solutions-hero.solutions-hero--art.solutions-hero--v2 .solutions-hero-layered {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-nos-solutions .solutions-image-lab .solutions-section-head {
    max-width: 76rem !important;
  }

  body.page-nos-solutions .solutions-marketplace .mp-layout {
    grid-template-columns: minmax(0, 1fr) clamp(23rem, 19vw, 30rem) !important;
    gap: clamp(1.5rem, 2.2vw, 3.5rem) !important;
  }

  html body.page-nos-solutions main > .solutions-guidance > .solutions-guidance__inner {
    padding: clamp(2.5rem, 4vw, 6rem) !important;
    grid-template-columns: minmax(20rem, 0.82fr) minmax(30rem, 1.18fr) minmax(20rem, 0.82fr) !important;
    gap: clamp(2rem, 3vw, 5rem) !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-expertise .expertise-v2-grid,
  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-expertise .expertise-v2-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(1rem, 1.35vw, 2rem) !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;
  }

  html[data-theme] body.svc-sea main .ga-hero .ga-hero__inner {
    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-nos-solutions main .solutions-hero .solutions-hero__grid,
  html[data-theme] body.page-nos-solutions main .solutions-image-lab > .container-lg,
  html[data-theme] body.page-nos-solutions main .solutions-marketplace > .container-lg,
  html[data-theme] body.page-nos-solutions main .solutions-guidance > .solutions-guidance__inner {
    width: calc(100% - (2 * var(--dp-wide-gutter))) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html[data-theme] body.page-nos-solutions main .solutions-image-lab > .container-lg,
  html[data-theme] body.page-nos-solutions main .solutions-marketplace > .container-lg {
    padding-inline: 0 !important;
  }

  html[data-theme] body.page-nos-solutions main .solutions-guidance > .solutions-guidance__inner {
    padding: clamp(2.5rem, 4vw, 6rem) !important;
  }
}
