/* AVELTIA — Batch responsive mobile 1
   Toutes les règles sont limitées aux breakpoints tablette/mobile afin de
   préserver strictement le rendu desktop validé. */

@media (max-width: 1100px) {
  .objectives-detail-page .objectives-intro-copy,
  .solutions-detail-page .objectives-intro-copy {
    left: 0 !important;
    width: 100%;
    max-width: none;
    min-width: 0;
    transform: none !important;
  }
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  /* Menu principal : le libellé mène à la page, seule la flèche déplie. */
  .main-nav .nav-parent[data-has-dropdown="true"] {
    position: relative;
    padding-right: 52px !important;
  }

  .main-nav .nav-parent[data-has-dropdown="true"] .nav-chevron {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 48px;
    height: 100%;
    min-height: 44px;
    display: grid;
    place-items: center;
    transform: none !important;
    cursor: pointer;
  }

  /* Sous-navigation mobile. */
  .cabinet-subnav-inner,
  .approach-subnav-inner {
    justify-content: flex-start !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-inline: 8px;
  }

  .cabinet-subnav-inner::-webkit-scrollbar,
  .approach-subnav-inner::-webkit-scrollbar {
    display: none;
  }

  .cabinet-subnav a,
  .approach-subnav a {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
  }

  /* Hero de la Home. */
  .home-page .hero-copy h1 {
    font-size: clamp(2.65rem, 11.2vw, 3.35rem) !important;
    line-height: .98;
    letter-spacing: -.025em;
    overflow-wrap: normal;
    word-break: normal;
  }

  .home-page .hero-actions {
    gap: 12px;
  }

  .home-page .hero-actions .btn {
    min-height: 52px;
    padding-inline: 20px;
    font-size: .76rem;
  }

  /* Flèches : axe commun avec les bulles et les pictogrammes. */
  .home-page .approach .step-arrow,
  .approach-page .method-arrow {
    width: 100%;
    height: 42px;
    display: grid;
    place-items: center;
    justify-self: center;
    align-self: center;
    margin-inline: auto;
    font-size: 0 !important;
    line-height: 1;
    transform: none !important;
  }

  .home-page .approach .step-arrow::before,
  .approach-page .method-arrow::before {
    content: "›";
    display: block;
    color: var(--step-arrow-color, var(--gold));
    font: 300 2.5rem/1 var(--serif);
    transform: rotate(90deg);
    transform-origin: center;
  }

  /* Footer compact : logo, deux colonnes, puis mentions réglementaires. */
  .site-footer {
    padding: 32px 0 16px !important;
  }

  .site-footer .footer-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
    column-gap: 24px !important;
    row-gap: 30px !important;
  }

  .site-footer .footer-brand {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
  }

  .site-footer .footer-brand .footer-logo-asset,
  .site-footer .footer-brand img {
    width: 200px !important;
    height: auto !important;
    transform: none !important;
  }

  .site-footer h3 {
    margin-bottom: 12px;
    font-size: .72rem;
  }

  .site-footer a {
    margin: 6px 0;
    font-size: .76rem;
    line-height: 1.45;
  }

  .site-footer .footer-legal {
    grid-column: 1 / -1;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
  }

  .site-footer .footer-legal h3 {
    display: none;
  }

  .site-footer .footer-legal p {
    font-size: .72rem !important;
    line-height: 1.75 !important;
    text-align: center !important;
  }

  .site-footer .footer-bottom {
    margin-top: 22px !important;
    padding-top: 14px !important;
    font-size: .67rem !important;
    line-height: 1.5;
  }

  /* Introductions Vos objectifs / Nos solutions. */
  .objectives-detail-page .objectives-intro-grid,
  .solutions-detail-page .objectives-intro-grid {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  .objectives-detail-page .objectives-intro-copy,
  .solutions-detail-page .objectives-intro-copy {
    left: 0 !important;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding-left: 0 !important;
    padding-right: 0;
    transform: none !important;
  }

  .objectives-detail-page .objectives-intro-text,
  .solutions-detail-page .objectives-intro-text {
    max-width: 100%;
    text-align: left !important;
  }

  /* En-têtes et pictogrammes des objectifs et solutions. */
  .objectives-detail-page .objective-heading-row,
  .solutions-detail-page .objective-heading-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: start;
    margin-bottom: 24px;
  }

  .objectives-detail-page .objective-page-icon,
  .solutions-detail-page .objective-page-icon {
    --asset-x: 0px !important;
    --asset-y: 0px !important;
    --asset-w: 58px !important;
    --asset-h: 58px !important;
    width: 76px !important;
    height: 76px !important;
    justify-self: start;
    overflow: hidden;
    transform: none !important;
  }

  .objectives-detail-page .objective-page-icon .custom-icon,
  .objectives-detail-page .objective-page-icon .icon-fallback,
  .solutions-detail-page .objective-page-icon .custom-icon,
  .solutions-detail-page .objective-page-icon .icon-fallback {
    width: 58px !important;
    height: 58px !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: auto;
    transform: none !important;
  }

  .objectives-detail-page .objective-heading-row .section-kicker,
  .solutions-detail-page .objective-heading-row .section-kicker {
    margin-bottom: 10px;
    font-size: .72rem !important;
    line-height: 1.65;
    letter-spacing: .13em;
  }

  .objectives-detail-page .objective-heading-row h2,
  .solutions-detail-page .objective-heading-row h2 {
    width: 100%;
    max-width: 100% !important;
    margin: 0;
    font-size: clamp(2rem, 9.5vw, 2.5rem) !important;
    line-height: 1.05;
  }

  /* Notre approche : hero, introduction et texte courant. */
  .approach-page .hero-photo img,
  .legal-detail-page .hero-photo img {
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
  }

  .approach-page .approach-intro-grid {
    grid-template-columns: 1fr !important;
    width: 100%;
    gap: 36px !important;
  }

  .approach-page .approach-intro-copy {
    left: 0 !important;
    width: 100%;
    max-width: none !important;
    min-width: 0;
    margin: 0;
    padding: 28px 0 0 !important;
    transform: none !important;
  }

  .approach-page .approach-intro-copy p {
    width: 100%;
    max-width: 100%;
    text-align: left !important;
  }
}

@media (max-width: 380px) {
  .site-footer .footer-grid {
    column-gap: 16px !important;
  }

  .site-footer a {
    font-size: .72rem;
  }
}

/* AVELTIA — Batch responsive mobile 5
   Titres de heroes fluides, accroche Contact et footer en colonnes.
   Toutes les priorités restent strictement limitées à la version mobile. */
@media (max-width: 760px) {
  /*
     Échelle réellement fluide : la taille progresse avec le viewport sans
     conserver les retours à la ligne éditoriaux prévus pour le desktop.
     text-wrap:balance évite notamment d'isoler « DU » sur la page Cabinet.
  */
  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1,
  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.82rem, calc(1.12rem + 3.25vw), 2.28rem) !important;
    line-height: 1.01 !important;
    white-space: normal !important;
    text-wrap: balance;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Les trois intitulés les plus longs disposent d'un plafond plus bas. */
  .cabinet-page:not(.objectives-detail-page) .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1 {
    font-size: clamp(1.72rem, calc(1.04rem + 3.15vw), 2.12rem) !important;
  }

  /* Les pages réglementaires conservent leur hiérarchie spécifique. */
  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.68rem, calc(1.04rem + 2.95vw), 2.02rem) !important;
  }

  .privacy-policy-page .hero-copy h1 {
    font-size: clamp(1.6rem, calc(.99rem + 2.8vw), 1.92rem) !important;
  }

  /* Accroche Contact alignée sur l'échelle des autres accroches du site. */
  .contact-band h2 {
    max-width: 100% !important;
    font-size: clamp(1.48rem, calc(1.08rem + 1.85vw), 1.7rem) !important;
    line-height: 1.06 !important;
    text-wrap: balance;
  }

  /*
     Footer : logo centré, puis deux colonnes elles-mêmes centrées sous le
     logo. Les contenus conservent un alignement à gauche dans chaque colonne.
  */
  .site-footer .footer-grid {
    width: min(calc(100% - 32px), 390px) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
    column-gap: 24px !important;
    row-gap: 28px !important;
    align-items: start !important;
  }

  .site-footer .footer-brand {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
  }

  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    position: static !important;
    left: auto !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3,
  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3 {
    margin-bottom: 12px !important;
  }

  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }

  .site-footer .footer-legal {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .site-footer .footer-legal p {
    width: 100% !important;
    max-width: none !important;
  }

  .site-footer .footer-legal p:last-child {
    white-space: nowrap !important;
    font-size: clamp(.64rem, 2.8vw, .72rem) !important;
    letter-spacing: -.01em !important;
  }
}

@media (max-width: 380px) {
  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1,
  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.68rem, 8vw, 1.9rem) !important;
  }

  .privacy-policy-page .hero-copy h1 {
    font-size: clamp(1.52rem, 7.25vw, 1.72rem) !important;
  }

  .site-footer .footer-grid {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
    column-gap: 18px !important;
  }
}

/* AVELTIA — Batch responsive mobile 9
   Harmonisation ciblée des sous-titres éditoriaux et des étapes de méthode.
   Le footer reste strictement inchangé. */
@media (max-width: 760px) {
  body.approach-page .distinction-heading h2,
  body.cabinet-page:not(.objectives-detail-page) .cabinet-about-copy h2,
  body.contact-detail-page .contact-info-panel h2,
  body.contact-detail-page .contact-form-panel h2 {
    max-width: 100% !important;
    font-size: clamp(1.5rem, 6.7vw, 1.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
  }

  body.approach-page .method-card h3 {
    font-size: var(--h3-size, 22px) !important;
    line-height: 1.12 !important;
  }
}

/* AVELTIA — Batch responsive mobile 6
   Ajustements fins du footer après contrôle sur appareil réel. */
@media (max-width: 760px) {
  body .site-footer .footer-grid {
    width: min(calc(100% - 44px), 314px) !important;
    grid-template-columns: minmax(0, .64fr) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    transform: translateX(26px) !important;
  }

  body .site-footer .footer-brand,
  body .site-footer .footer-legal {
    position: relative !important;
    left: 50% !important;
    width: calc(100vw - 32px) !important;
    max-width: 880px !important;
    transform: translateX(calc(-50% - 26px)) !important;
  }

  body .site-footer .footer-legal p.footer-orias-line {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: .32em !important;
    width: 100% !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    font-size: .72rem !important;
    line-height: 1.75 !important;
    letter-spacing: normal !important;
    text-align: center !important;
  }

  body .site-footer .footer-legal p.footer-orias-line > span {
    display: inline !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  body .site-footer .footer-legal p[data-editable="footer.legal1"] {
    white-space: pre-line !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 380px) {
  body .site-footer .footer-grid {
    width: min(calc(100% - 36px), 300px) !important;
    grid-template-columns: minmax(0, .62fr) minmax(0, 1fr) !important;
    column-gap: 10px !important;
    transform: translateX(20px) !important;
  }

  body .site-footer .footer-brand,
  body .site-footer .footer-legal {
    left: 50% !important;
    width: calc(100vw - 24px) !important;
    transform: translateX(calc(-50% - 20px)) !important;
  }

  body .site-footer .footer-legal p.footer-orias-line {
    font-size: .72rem !important;
  }
}

/* AVELTIA — Batch responsive mobile 3
   Réorganisation des contenus denses, limitée à la version mobile. */
@media (max-width: 760px) {
  /* Objectifs / solutions : picto et titre jaune sur une ligne,
     sous-titre bleu sur toute la largeur en dessous. */
  .objectives-detail-page .objective-heading-row,
  .solutions-detail-page .objective-heading-row {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 18px !important;
    align-items: center !important;
  }

  .objectives-detail-page .objective-heading-row > div:last-child,
  .solutions-detail-page .objective-heading-row > div:last-child {
    display: contents;
  }

  .objectives-detail-page .objective-heading-row .objective-page-icon,
  .solutions-detail-page .objective-heading-row .objective-page-icon {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .objectives-detail-page .objective-heading-row .section-kicker,
  .solutions-detail-page .objective-heading-row .section-kicker {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0 !important;
    font-size: clamp(.66rem, 2.9vw, .74rem) !important;
    line-height: 1.45 !important;
    letter-spacing: .115em !important;
  }

  .objectives-detail-page .objective-heading-row h2,
  .solutions-detail-page .objective-heading-row h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: clamp(1.5rem, 6.5vw, 1.7rem) !important;
    line-height: 1.08 !important;
  }

  /* Le cabinet : bloc de confiance plus compact et lisible. */
  .cabinet-page .regulation-trust {
    padding: 30px 24px !important;
    gap: 24px !important;
  }

  .cabinet-page .regulation-trust h3 {
    max-width: 100% !important;
    margin-bottom: 14px !important;
    font-size: clamp(1.3rem, 5.55vw, 1.42rem) !important;
    line-height: 1.12 !important;
    text-align: left !important;
  }

  .cabinet-page .regulation-trust p {
    width: 100% !important;
    font-size: .88rem !important;
    line-height: 1.65 !important;
    text-align: left !important;
  }

  .cabinet-page .trust-item {
    min-height: 0 !important;
    padding: 16px 18px !important;
  }

  /* Le cabinet : engagements moins hauts, titres sur une ligne. */
  .cabinet-page .commit-grid {
    margin-top: 36px !important;
  }

  .cabinet-page .commit {
    min-height: 0 !important;
    padding: 25px 22px 27px !important;
  }

  .cabinet-page .commit-heading {
    gap: 11px !important;
    margin-bottom: 12px !important;
    align-items: baseline !important;
  }

  .cabinet-page .commit-heading .commit-number {
    font-size: 1.35rem !important;
  }

  .cabinet-page .commit-heading h3 {
    font-size: clamp(1.05rem, 4.55vw, 1.18rem) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  /* Le cabinet : intitulés de rémunération calibrés sur 1 / 1 / 2 lignes. */
  .cabinet-page .remuneration-card {
    min-height: 0 !important;
    padding: 27px 22px 29px !important;
  }

  .cabinet-page .remuneration-card-heading {
    gap: 11px !important;
    margin-bottom: 14px !important;
  }

  .cabinet-page .remuneration-card-heading .remun-number {
    font-size: 1.35rem !important;
  }

  .cabinet-page .remuneration-card-heading h3 {
    font-size: clamp(1.02rem, 4.4vw, 1.16rem) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .cabinet-page .remuneration-disclosure {
    padding: 27px 22px !important;
  }

  .cabinet-page .remuneration-disclosure h3 {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 5.8vw, 1.5rem) !important;
    line-height: 1.15 !important;
  }

  /* Footer : deux rangées de liens centrées sous le logo. */
  .site-footer .footer-grid {
    grid-template-columns: 1fr !important;
    row-gap: 24px !important;
  }

  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    left: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px 0;
    text-align: center;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3 {
    flex: 0 0 100%;
    margin-bottom: 8px !important;
    text-align: center !important;
  }

  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 3px 8px !important;
    text-align: center !important;
  }

  .site-footer .footer-grid > :nth-child(2) a + a::before,
  .site-footer .footer-grid > :nth-child(3) a + a::before {
    content: "·";
    margin-right: 16px;
    color: rgba(227, 189, 132, .72);
  }

  /* Pages réglementaires : ligne numéro + rubrique, puis titre pleine largeur. */
  .legal-detail-page .legal-section .section-heading {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 12px !important;
    align-items: center !important;
  }

  .legal-detail-page .legal-section .section-heading > div {
    display: contents;
  }

  .legal-detail-page .legal-section .section-number {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    padding-top: 0 !important;
  }

  .legal-detail-page .legal-section .section-kicker {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0 !important;
    line-height: 1.35 !important;
  }

  .legal-detail-page .legal-section .section-heading h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: 100% !important;
    font-size: clamp(1.65rem, 7vw, 1.9rem) !important;
    line-height: 1.1 !important;
  }

  /* Confidentialité : titre volontairement plus petit pour tenir sur deux lignes. */
  .privacy-policy-page .legal-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.82rem, 7.9vw, 2.02rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
  }

  .privacy-policy-page #hero-title::after {
    display: inline !important;
    transform: none !important;
  }

  /* Cookies : chaque traceur devient une fiche autonome sur mobile. */
  .legal-detail-page #traceurs .hosting-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 24px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(-n + 3) {
    display: none !important;
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(n + 4) {
    min-height: 0 !important;
    padding: 9px 17px 12px !important;
    border-left: 1px solid #dfe5e9;
    border-right: 1px solid #dfe5e9;
    background: #fbfcfc !important;
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n + 1) {
    margin-top: 14px;
    padding-top: 16px !important;
    border-top: 1px solid #dfe5e9;
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n) {
    padding-bottom: 16px !important;
    border-bottom: 1px solid #dfe5e9;
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n + 1)::before,
  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n + 2)::before,
  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n)::before {
    display: block;
    margin-bottom: 3px;
    font-size: .62rem;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gold);
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n + 1)::before {
    content: "Catégorie / service";
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n + 2)::before {
    content: "Finalité";
  }

  .legal-detail-page #traceurs .hosting-grid > div:nth-child(3n)::before {
    content: "Consentement";
  }

  .legal-detail-page #traceurs .hosting-grid strong {
    font-size: .82rem !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 380px) {
  .cabinet-page .commit-heading h3,
  .cabinet-page .remuneration-card-heading h3 {
    font-size: .98rem !important;
  }

  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    padding-inline: 6px !important;
  }

  .site-footer .footer-grid > :nth-child(2) a + a::before,
  .site-footer .footer-grid > :nth-child(3) a + a::before {
    margin-right: 12px;
  }
}

/* AVELTIA — Batch responsive mobile 2
   Ajustements typographiques et d'alignement exclusivement mobiles. */
@media (max-width: 760px) {
  /* En-tête et titres des héros : échelle commune plus légère. */
  .site-header .brand img,
  .site-header .brand .header-logo-asset {
    width: 160px !important;
    max-width: 160px !important;
    height: auto !important;
    transform: none !important;
  }

  .hero .hero-inner,
  .cabinet-hero .hero-inner,
  .approach-page .hero-inner {
    padding-top: calc(var(--header-height) + 28px) !important;
  }

  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.65rem, 11.2vw, 2.9rem) !important;
    line-height: 1 !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .legal-detail-page .legal-hero-inner {
    padding-top: calc(var(--header-height) + 28px) !important;
  }

  .legal-detail-page .legal-hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.25rem, 9.8vw, 2.5rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .legal-detail-page .hero-title-position,
  .legal-detail-page .hero-rule-position,
  .legal-detail-page .hero-subtitle-position {
    transform: none !important;
  }

  /* Une même sous-navigation verticale, lisible sans défilement latéral. */
  .cabinet-subnav,
  .approach-subnav {
    height: auto !important;
  }

  .cabinet-subnav-inner,
  .approach-subnav-inner,
  .solutions-detail-page .solutions-subnav .cabinet-subnav-inner {
    height: auto !important;
    padding: 6px 20px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .cabinet-subnav a,
  .approach-subnav a {
    width: 100% !important;
    flex: none !important;
    padding: 10px 8px !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(198, 139, 60, .24) !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
  }

  .cabinet-subnav a:first-child,
  .approach-subnav a:first-child {
    border-top: 0 !important;
  }

  .cabinet-subnav .subnav-rule,
  .approach-subnav .subnav-rule {
    display: none !important;
  }

  /* Introductions : une seule ligne sur deux tiers et rythme homogène. */
  .objectives-detail-page .objectives-intro-grid,
  .solutions-detail-page .objectives-intro-grid,
  .approach-page .approach-intro-grid {
    gap: 32px !important;
  }

  .objectives-detail-page .intro-editorial-rule,
  .solutions-detail-page .intro-editorial-rule,
  .approach-page .intro-accent {
    width: 66.666vw !important;
    max-width: calc(100vw - 40px) !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  .objectives-detail-page .objectives-intro-copy::before,
  .solutions-detail-page .objectives-intro-copy::before {
    display: none !important;
  }

  .approach-page .approach-intro-copy {
    border-top: 0 !important;
    padding-top: 0 !important;
  }

  .approach-page .approach-intro .container {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .approach-page .approach-intro-heading,
  .approach-page .approach-intro-copy {
    min-width: 0 !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  .objectives-detail-page .objectives-intro-title h2,
  .solutions-detail-page .objectives-intro-title h2,
  .approach-page .approach-intro-heading h2,
  .approach-page .section-heading h2 {
    max-width: 100% !important;
    font-size: clamp(2.125rem, 9.2vw, 2.375rem) !important;
    line-height: 1.08 !important;
  }

  .objectives-detail-page .objectives-intro-accent,
  .solutions-detail-page .objectives-intro-accent,
  .approach-page .approach-lead {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 5.7vw, 1.45rem) !important;
    line-height: 1.42 !important;
  }

  /* Objectifs et solutions : pictogrammes et hiérarchie des cartouches. */
  .objectives-detail-page .objective-page-icon,
  .solutions-detail-page .objective-page-icon {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
  }

  .objectives-detail-page .objective-page-icon .custom-icon,
  .solutions-detail-page .objective-page-icon .custom-icon {
    position: static !important;
    inset: auto !important;
    display: block !important;
    margin: 0 auto !important;
    translate: 0 2px;
  }

  .objectives-detail-page .objective-heading-row h2,
  .solutions-detail-page .objective-heading-row h2 {
    font-size: clamp(1.875rem, 8.2vw, 2.125rem) !important;
    line-height: 1.08 !important;
  }

  .objectives-detail-page .objective-point h3,
  .solutions-detail-page .objective-point h3 {
    font-size: clamp(1.25rem, 5.4vw, 1.4375rem) !important;
    line-height: 1.16 !important;
  }

  .objectives-detail-page .objective-point p,
  .solutions-detail-page .objective-point p {
    line-height: 1.6 !important;
  }

  /* Notre approche : titres des trois étapes. */
  .approach-page .method-card h3 {
    font-size: clamp(1.7rem, 7.4vw, 1.875rem) !important;
    line-height: 1.1 !important;
  }

  /* Les deux colonnes restent alignées à gauche, mais sont recentrées sous le logo. */
  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    position: relative;
    left: 20px;
  }
}

@media (max-width: 380px) {
  .site-header .brand img,
  .site-header .brand .header-logo-asset {
    width: 148px !important;
    max-width: 148px !important;
  }

  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    left: 12px;
  }
}

/* Priorités finales du batch 3 sur les règles héritées du batch 2. */
@media (max-width: 760px) {
  .objectives-detail-page .objective-heading-row h2,
  .solutions-detail-page .objective-heading-row h2 {
    font-size: clamp(1.5rem, 6.5vw, 1.7rem) !important;
    line-height: 1.08 !important;
  }

  .privacy-policy-page .legal-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.82rem, 7.9vw, 2.02rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
  }
}

/* AVELTIA — Batch responsive mobile 4
   Heroes, accroches et footer harmonisés exclusivement sur mobile. */
@media (max-width: 760px) {
  /* Hauteur et rythme communs des neuf heroes. */
  .hero,
  .hero .hero-inner,
  .legal-detail-page .legal-hero,
  .legal-detail-page .legal-hero-inner {
    min-height: 620px !important;
  }

  .hero .hero-inner,
  .legal-detail-page .legal-hero-inner {
    padding-top: 150px !important;
    padding-bottom: 40px !important;
    align-items: flex-start !important;
  }

  .hero .hero-copy,
  .legal-detail-page .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2rem, 8.7vw, 2.3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .legal-detail-page .legal-hero h1,
  .legal-detail-page .hero-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.9rem, 8.1vw, 2.12rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.025em !important;
  }

  .hero .gold-rule,
  .legal-detail-page .gold-rule {
    width: min(68vw, 270px) !important;
    margin-top: 20px !important;
    margin-bottom: 22px !important;
    transform: none !important;
  }

  .hero .hero-actions {
    gap: 10px !important;
    margin-top: 0 !important;
    align-items: stretch;
  }

  .hero .hero-actions .btn {
    min-height: 50px !important;
    padding: 13px 18px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.25 !important;
  }

  /* Échelle commune des accroches de section, hors titres réglementaires. */
  body:not(.legal-detail-page) .section-copy h2,
  body:not(.legal-detail-page) .section-heading h2,
  .objectives-detail-page .objectives-intro-title h2,
  .solutions-detail-page .objectives-intro-title h2,
  .approach-page .approach-intro-heading h2,
  .cabinet-page .remuneration-intro h2,
  .objectives-detail-page .objectives-transition-inner h2 {
    max-width: 100% !important;
    font-size: clamp(1.5rem, 6.7vw, 1.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
  }

  /* Le point de départ doit rester sur une ligne aux largeurs mobiles usuelles. */
  .objectives-detail-page .objectives-intro-title h2 {
    white-space: nowrap !important;
    font-size: clamp(1.42rem, 6.25vw, 1.58rem) !important;
  }

  /* Interligne des accroches Contact et transition vers les solutions. */
  .contact-band h2,
  .objectives-detail-page .objectives-transition-inner h2 {
    line-height: 1.03 !important;
  }

  /* Confidentialité : deux lignes complètes et point doré visible. */
  .privacy-policy-page .hero .hero-inner,
  .privacy-policy-page .legal-hero-inner {
    padding-top: 150px !important;
  }

  .privacy-policy-page .legal-hero h1,
  .privacy-policy-page .hero-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 4px !important;
    font-size: clamp(1.68rem, 7.25vw, 1.88rem) !important;
    line-height: 1.03 !important;
    white-space: normal !important;
  }

  .privacy-policy-page #hero-title::after {
    content: "." !important;
    display: inline !important;
    color: var(--gold) !important;
    transform: none !important;
  }

  /* Footer : titres à gauche, liens distribués sur une ou deux lignes. */
  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    left: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px 12px !important;
    width: 100% !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3 {
    flex: 0 0 100% !important;
    margin-bottom: 8px !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    flex: 0 1 auto !important;
    padding: 3px 0 !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) a + a::before,
  .site-footer .footer-grid > :nth-child(3) a + a::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 380px) {
  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1 {
    font-size: 1.94rem !important;
  }

  .privacy-policy-page .legal-hero h1,
  .privacy-policy-page .hero-copy h1 {
    font-size: 1.62rem !important;
  }

  .objectives-detail-page .objectives-intro-title h2 {
    font-size: 1.36rem !important;
  }

  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    gap-inline: 9px !important;
  }
}

/* Priorités finales du batch 5 — placées après les lots précédents. */
@media (max-width: 760px) {
  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1,
  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.82rem, calc(1.12rem + 3.25vw), 2.28rem) !important;
    line-height: 1.01 !important;
    white-space: normal !important;
    text-wrap: balance;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .cabinet-page:not(.objectives-detail-page) .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1 {
    font-size: clamp(1.72rem, calc(1.04rem + 3.15vw), 2.12rem) !important;
  }

  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.68rem, calc(1.04rem + 2.95vw), 2.02rem) !important;
  }

  .privacy-policy-page .hero-copy h1 {
    font-size: clamp(1.6rem, calc(.99rem + 2.8vw), 1.92rem) !important;
  }

  .contact-band h2 {
    max-width: 100% !important;
    font-size: clamp(1.48rem, calc(1.08rem + 1.85vw), 1.7rem) !important;
    line-height: 1.06 !important;
    text-wrap: balance;
  }

  .site-footer .footer-grid {
    width: min(calc(100% - 32px), 390px) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
    column-gap: 24px !important;
    row-gap: 28px !important;
    align-items: start !important;
  }

  .site-footer .footer-brand {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
  }

  .site-footer .footer-grid > :nth-child(2),
  .site-footer .footer-grid > :nth-child(3) {
    position: static !important;
    left: auto !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3,
  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }

  .site-footer .footer-grid > :nth-child(2) h3,
  .site-footer .footer-grid > :nth-child(3) h3 {
    margin-bottom: 12px !important;
  }

  .site-footer .footer-grid > :nth-child(2) a,
  .site-footer .footer-grid > :nth-child(3) a {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }

  .site-footer .footer-legal {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .site-footer .footer-legal p {
    width: 100% !important;
    max-width: none !important;
  }

  .site-footer .footer-legal p:last-child {
    white-space: nowrap !important;
    font-size: clamp(.64rem, 2.8vw, .72rem) !important;
    letter-spacing: -.01em !important;
  }
}

@media (max-width: 380px) {
  .hero .hero-copy h1,
  .cabinet-hero .hero-copy h1,
  .approach-page .hero-copy h1,
  .objectives-detail-page .hero-copy h1,
  .solutions-detail-page .hero-copy h1,
  .legal-detail-page .hero-copy h1 {
    font-size: clamp(1.68rem, 8vw, 1.9rem) !important;
  }

  .privacy-policy-page .hero-copy h1 {
    font-size: clamp(1.52rem, 7.25vw, 1.72rem) !important;
  }

  .site-footer .footer-grid {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
    column-gap: 18px !important;
  }
}
