@media(max-width:767px){:root{--header-h:68px}body{font-size:16px}main>section:not([class]){padding:38px 0}body *{max-width:100%}h1,[style*="font-size: 8"],[style*="font-size:8"],[style*="font-size: 7"],[style*="font-size:7"],[style*="font-size: 6"],[style*="font-size:6"]{font-size:clamp(2.1rem,12vw,3.5rem)!important;line-height:1!important;letter-spacing:-.035em!important}.article-body h1{font-size:clamp(2rem,11vw,3.3rem)!important}.article-body h2{font-size:clamp(1.55rem,7vw,2.25rem)!important}.article-body h3{font-size:clamp(1.2rem,5.4vw,1.6rem)!important}.article-body p,.article-body li{font-size:1rem!important;line-height:1.75!important}.article-container,[style*="grid-template-columns"],[style*="display: grid"],[style*="display:grid"]{grid-template-columns:minmax(0,1fr)!important}.sidebar-toc{display:none!important}[style*="min-width: 300"],[style*="min-width:300"],[style*="width: 900"],[style*="width:900"],[style*="width: 1200"],[style*="width:1200"]{min-width:0!important;width:100%!important}.glass,[style*="padding: 40"],[style*="padding:40"],[style*="padding: 60"],[style*="padding:60"]{padding:22px!important}.tactical-radar-table,table{font-size:.88rem}.tactical-radar-container,div[style*="overflow"]{max-width:100%!important}.signature-meta{flex-direction:column!important}.breadcrumbs{display:none!important}.footer-links{grid-template-columns:1fr 1fr}.site-brand img{width:148px}}
@media(max-width:390px){.header-inner{width:min(100% - 20px,var(--container))}.icon-button{width:40px;height:40px}.site-brand img{width:136px}.footer-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media(max-width:767px){
  .site-brand{max-width:calc(100vw - 112px)}
  .site-brand .brand-mark{width:36px;height:36px}
  .brand-copy{max-width:calc(100vw - 160px)}
  .legacy-content p,.legacy-content li{line-height:1.7}
}
/* Kachouri: garde-fous responsive communs. */
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:clip}
  .header-inner,.footer-inner,.section-shell,.page-shell,.content-shell{max-width:100%}
  main,main>*,main section,main article,main header,main footer{min-width:0}
  main img,main svg,main video,main canvas{max-width:100%;height:auto}
  input,textarea,select,button{max-width:100%}
  .button,.btn{max-width:100%}
  .footer-inner{width:calc(100% - 28px)!important}
  .footer-title{overflow-wrap:anywhere}
  .footer-made-with{line-height:1.6}
}
/* Kachouri: - passe mobile-first globale
   Chargee en dernier pour neutraliser les anciennes grilles desktop sur petits ecrans. */

@media (max-width: 760px) {
  :root { --mobile-gutter: 18px; }

  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  body { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

  .section-shell,
  .page-shell,
  .content-shell,
  .audit-shell,
  .ecosystem-v5 .section-shell,
  .editorial-index,
  .home-v5 > .section-shell,
  .home-v5 .section-shell {
    width: min(calc(100% - (var(--mobile-gutter) * 2)), 1180px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  main, main > *, main section, main article, main header, main footer,
  .legacy-content, .km-page, .ie-page, .audit-page, .ecosystem-v5 {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  h1, h2, h3, p, li, a, span, strong {
    overflow-wrap: break-word;
  }
  h1, h2, h3 {
    word-break: normal !important;
    hyphens: manual;
    text-wrap: balance;
  }

  .back-to-top {
    right: 14px !important;
    bottom: 20px !important;
    width: 52px !important;
    height: 52px !important;
  }

  /* Pages Knowledge / FAQ / Contact / Notes */
  .km-page {
    width: min(calc(100% - 28px), 1180px) !important;
    padding: 28px 0 60px !important;
  }
  .km-hero,
  .contact-km .km-hero,
  .km-section__head,
  .km-cta,
  .km-grid,
  .km-grid--2,
  .km-grid--3,
  .note-case-grid,
  .notes-services {
    grid-template-columns: 1fr !important;
  }
  .km-hero { gap: 18px !important; }
  .km-hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.55rem, 12vw, 3.75rem) !important;
    line-height: .96 !important;
  }
  .km-lead { font-size: 1.02rem !important; line-height: 1.62 !important; }
  .km-section {
    margin-top: 34px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }
  .km-section--plain { padding-inline: 0 !important; }
  .km-section__head { gap: 10px !important; margin-bottom: 20px !important; }
  .km-section__head h2 {
    max-width: 100% !important;
    font-size: clamp(1.9rem, 9.5vw, 2.7rem) !important;
    line-height: 1 !important;
  }
  .km-card, .faq-group, .note-case { padding: 20px !important; }
  .faq-group h2 { font-size: clamp(1.55rem, 7vw, 2rem) !important; }
  .faq-item summary { padding-block: 16px !important; font-size: 1rem !important; }
  .faq-item__answer { padding-right: 0 !important; }
  .contact-form-row { grid-template-columns: 1fr !important; }
  .contact-field input, .contact-field select, .contact-field textarea {
    min-height: 52px;
    font-size: 16px !important;
    padding: 13px 14px !important;
  }
  .contact-field textarea { min-height: 150px; }
  .contact-choices { display: grid !important; grid-template-columns: 1fr !important; }
  .contact-choices label { width: 100%; border-radius: 14px !important; }
  .km-cta h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9.5vw, 2.8rem) !important;
    line-height: 1 !important;
  }
  .km-cta .button { width: 100%; }

  /* Intelligence economique : correction des colonnes qui restaient actives sur mobile */
  .ie-page { overflow: visible !important; }
  .ie-page .section-shell { width: min(calc(100% - 28px), 1120px) !important; }
  .ie-page .ie-hero,
  .ie-page .section-heading,
  .ie-page .ie-sovereignty,
  .ie-page .ie-insights,
  .ie-page .ie-cta,
  .ie-page .ie-process,
  .ie-page .ie-axes-grid,
  .ie-page .ie-deliverables,
  .ie-page .ie-proofline {
    grid-template-columns: 1fr !important;
  }
  .ie-page .ie-section { padding-block: 36px !important; }
  .ie-page .section-heading {
    display: grid !important;
    gap: 10px !important;
    align-items: start !important;
    margin-bottom: 20px !important;
  }
  .ie-page .section-heading h2,
  .ie-page .ie-insights__intro h2,
  .ie-page .ie-cta h2 {
    max-width: 100% !important;
    width: auto !important;
    font-size: clamp(2rem, 10vw, 2.85rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }
  .ie-page .section-heading > p {
    max-width: none !important;
    font-size: 1rem !important;
    line-height: 1.62 !important;
  }
  .ie-page .ie-process article {
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .ie-page .ie-process article:last-child { border-bottom: 0 !important; }
  .ie-page .ie-axis-card { padding: 18px !important; border-radius: 20px !important; }
  .ie-page .ie-sovereignty { gap: 12px !important; padding: 18px !important; }
  .ie-page .ie-sovereignty__visual { min-height: 180px !important; }
  .ie-page .ie-deliverables article { padding: 18px !important; }
  .ie-page .ie-insights { gap: 18px !important; }
  .ie-page .ie-cta { gap: 16px !important; padding: 22px !important; }
  .ie-page .ie-cta .button { width: 100% !important; justify-self: stretch !important; }

  /* Audit IA */
  .audit-hero-grid,
  .audit-intro-grid,
  .audit-heading-row,
  .audit-sovereignty-grid,
  .audit-score-grid,
  .audit-choice-grid,
  .audit-deliverables,
  .audit-principles,
  .audit-case,
  .audit-final-card {
    grid-template-columns: 1fr !important;
  }
  .audit-hero { padding-top: 30px !important; }
  .audit-hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.55rem, 11.5vw, 3.7rem) !important;
    line-height: .96 !important;
  }
  .audit-lead { font-size: 1.02rem !important; line-height: 1.6 !important; }
  .audit-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .audit-actions .button { width: 100% !important; }
  .audit-heading-row { gap: 10px !important; align-items: start !important; }
  .audit-section h2, .audit-final-cta h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
  }
  .audit-case { padding: 18px !important; }
  .audit-final-card { text-align: left !important; }
  .audit-final-card .button { width: 100% !important; }

  /* Ecosysteme / Showcase */
  .ecosystem-v5 { overflow: visible !important; }
  .eco-hero,
  .eco-projects > header,
  .eco-more,
  .eco-logic__grid,
  .eco-grid {
    grid-template-columns: 1fr !important;
  }
  .eco-hero h1,
  .eco-projects h2,
  .eco-logic h2,
  .eco-more h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 10.5vw, 3.35rem) !important;
    line-height: .96 !important;
  }
  .eco-projects > header:after {
    padding: 18px !important;
    font-size: .92rem !important;
    line-height: 1.55 !important;
  }
  .eco-project__body { padding: 16px !important; }
  .eco-more { padding: 22px !important; border-radius: 24px !important; }
  .eco-more .button { width: 100% !important; }

  /* Veille */
  .editorial-index { padding-inline: 0 !important; }
  .editorial-index__hero {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding-block: 32px 24px !important;
  }
  .editorial-index__hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.6rem, 12vw, 3.8rem) !important;
    line-height: .94 !important;
  }
  .editorial-index__hero:after {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 0 !important;
    padding: 20px !important;
    font-size: 1.05rem !important;
    border-radius: 22px !important;
  }
  .veille-ecosystem { padding: 18px !important; }
  .veille-ecosystem__grid { grid-template-columns: 1fr 1fr !important; }
  .veille-ecosystem__grid img { height: 58px !important; }
  .veille-problems, .veille-problem-grid { grid-template-columns: 1fr !important; }

  /* Accueil */
  .home-evidence {
    margin-block: 26px 34px !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }
  .home-evidence h2 { max-width: 100% !important; font-size: clamp(2rem, 9vw, 2.65rem) !important; }
  .home-evidence__grid { grid-template-columns: 1fr 1fr !important; }
  .home-evidence__grid a { padding: 16px 14px !important; }
  .home-publications-head {
    padding: 22px 18px !important;
    border-radius: 24px !important;
  }
  .home-publications-head__copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
    line-height: .94 !important;
  }
  .home-publications-head__aside { grid-template-columns: 1fr !important; }
  .home-publications-head__cta { grid-column: auto !important; }

  /* Footer : plus compact et lisible sur smartphone */
  .site-footer { margin-top: 54px !important; }
  .footer-inner { width: min(calc(100% - 28px), var(--container)) !important; padding-top: 30px !important; }
  .footer-main { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-brand { gap: 12px !important; }
  .footer-brand-mark { width: 48px !important; height: 48px !important; flex-basis: 48px !important; }
  .footer-brand-lockup strong { font-size: 1.2rem !important; }
  .footer-title {
    max-width: 16ch !important;
    font-size: clamp(2rem, 9.5vw, 2.75rem) !important;
    line-height: 1 !important;
  }
  .footer-description { font-size: .94rem !important; line-height: 1.6 !important; }
  .footer-links a { min-height: 44px !important; }
  .footer-meta { margin-top: 28px !important; padding-top: 18px !important; }
}

@media (max-width: 390px) {
  :root { --mobile-gutter: 14px; }
  .km-page { width: min(calc(100% - 24px), 1180px) !important; }
  .km-section { padding: 18px !important; }
  .home-evidence__grid { grid-template-columns: 1fr !important; }
  .veille-ecosystem__grid { grid-template-columns: 1fr !important; }
  .editorial-index__hero h1,
  .km-hero h1,
  .audit-hero h1 { font-size: clamp(2.35rem, 12vw, 3.2rem) !important; }
}

@media (max-width: 760px) {
  /* Laboratoire */
  .labo-shell { width: min(calc(100% - 28px), 1160px) !important; }
  .labo-hero__grid,
  .labo-section__head,
  .labo-section__head--compact,
  .labo-principles,
  .labo-domains,
  .labo-projects,
  .labo-transmission,
  .labo-transmission__items,
  .labo-cta__inner {
    grid-template-columns: 1fr !important;
  }
  .labo-hero { padding-top: 34px !important; }
  .labo-hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.45rem, 11vw, 3.55rem) !important;
    line-height: .96 !important;
  }
  .labo-section { padding-block: 42px !important; }
  .labo-section__head { gap: 10px !important; }
  .labo-section__head > div,
  .labo-section__head h2,
  .labo-section__head > p { grid-column: 1 !important; }
  .labo-section__head h2,
  .labo-transmission h2,
  .labo-cta h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
    line-height: 1 !important;
  }
  .labo-domain { grid-template-columns: auto minmax(0, 1fr) !important; }
  .labo-domain__tag { grid-column: 2 !important; }
  .labo-steps { grid-template-columns: 1fr !important; }
  .labo-steps li { grid-template-columns: 40px minmax(0,1fr) !important; min-height: 0 !important; }
  .labo-project { grid-template-columns: auto minmax(0,1fr) !important; }
  .labo-callout { padding: 18px !important; }
  .labo-cta__inner { padding: 22px 18px !important; }

  /* Histoire / changelog */
  .history-page .section-shell { width: min(calc(100% - 28px), 1180px) !important; }
  .history-hero,
  .history-era__head,
  .history-timeline,
  .history-press,
  .history-now {
    grid-template-columns: 1fr !important;
  }
  .history-hero { gap: 18px !important; }
  .history-hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.5rem, 11.5vw, 3.6rem) !important;
    line-height: .94 !important;
  }
  .history-domain { max-width: 100% !important; padding: 20px !important; }
  .history-era { margin-top: 46px !important; }
  .history-era__head { gap: 6px !important; }
  .history-era__head h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
  }
  .history-timeline { margin-left: 0 !important; gap: 12px !important; }
  .history-timeline article { padding: 20px !important; }
  .history-press { gap: 14px !important; padding: 20px !important; }
  .history-press blockquote,
  .history-press > p { grid-column: 1 !important; }
  .history-now { display: grid !important; gap: 18px !important; padding: 20px !important; }
  .history-now__actions { min-width: 0 !important; flex-direction: column !important; }

  /* Espace final avant le footer : eviter les grands vides mobiles */
  .home-cta,
  .km-cta,
  .ie-cta,
  .audit-final-cta,
  .eco-more,
  .labo-cta {
    margin-bottom: 32px !important;
  }
  .site-footer { margin-top: 32px !important; }
}
/* Responsive mobile-first : retraits, grilles et lisibilité */

/* Accueil, section des trois portes d'entree, plus compacte et mieux repartie */
@media (min-width: 760px) {
  .home-v5 .home-heading-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr) !important;
    gap: clamp(34px, 5vw, 72px) !important;
    align-items: center !important;
  }
  .home-v5 .home-heading-grid > div h2 {
    max-width: 17ch !important;
    font-size: clamp(2.55rem, 3.65vw, 3.15rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
  }
  .home-v5 .home-heading-grid > p {
    max-width: 46ch !important;
    justify-self: end;
    font-size: .96rem !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 760px) {
  :root { --mobile-content-gutter: 20px; --mobile-card-pad: 22px; }

  /* Un vrai espace de respiration entre l'ecran et le contenu */
  body.is-page main,
  body.is-page #main-content {
    overflow-x: clip !important;
  }
  body.is-page .section-shell,
  body.is-page .page-shell,
  body.is-page .content-shell,
  body.is-page .audit-shell,
  body.is-page .km-page,
  body.is-page .reading-library-page,
  body.is-page .editorial-index,
  body.is-page .ecosystem-v5 .section-shell,
  body.is-page .ie-page .section-shell {
    width: calc(100% - (var(--mobile-content-gutter) * 2)) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
  }

  /* Neutralise les restes de grilles desktop qui provoquent des mots casses lettre par lettre */
  body.is-page .section-heading,
  body.is-page .km-section__head,
  body.is-page .ie-page .section-heading,
  body.is-page .home-heading-grid,
  body.is-page .eco-projects > header,
  body.is-page .home-ecosystem-head,
  body.is-page .home-publications-head,
  body.is-page .reading-library-hero,
  body.is-page .reading-library-status,
  body.is-page .km-hero,
  body.is-page .km-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
  }

  body.is-page .section-heading > *,
  body.is-page .km-section__head > *,
  body.is-page .ie-page .section-heading > *,
  body.is-page .home-heading-grid > *,
  body.is-page .home-ecosystem-head > *,
  body.is-page .home-publications-head > * {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* Titres secondaires : lisibles et proportionnes, sans effet affiche geante */
  body.is-page .section-heading h2,
  body.is-page .km-section__head h2,
  body.is-page .ie-page .section-heading h2,
  body.is-page .home-heading-grid h2,
  body.is-page .eco-projects h2,
  body.is-page .eco-logic h2,
  body.is-page .eco-more h2,
  body.is-page .reading-library-explain h2 {
    width: 100% !important;
    max-width: 18ch !important;
    margin-inline: 0 !important;
    font-size: clamp(1.9rem, 8.5vw, 2.55rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.038em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  /* Cadres principaux : meme retrait visuel partout */
  body.is-page .km-section:not(.km-section--plain),
  body.is-page .km-cta,
  body.is-page .faq-group,
  body.is-page .km-panel,
  body.is-page .reading-library-hero > div,
  body.is-page .reading-library-privacy,
  body.is-page .reading-library-status,
  body.is-page .reading-library-explain,
  body.is-page .reading-library-empty,
  body.is-page .ie-sovereignty,
  body.is-page .ie-cta,
  body.is-page .eco-more,
  body.is-page .home-evidence,
  body.is-page .home-publications-head,
  body.is-page .home-cta {
    padding: var(--mobile-card-pad) !important;
  }

  /* Les sections dites plain ne doivent jamais coller leur texte au bord du viewport */
  body.is-page .km-section--plain {
    padding-inline: 0 !important;
  }
  body.is-page .km-section--plain > *,
  body.is-page .ie-section > .section-shell > *,
  body.is-page .home-section > .section-shell > * {
    min-width: 0 !important;
  }

  /* Cartes et listes internes, retrait plus doux et constant */
  body.is-page .km-card,
  body.is-page .note-case,
  body.is-page .ie-axis-card,
  body.is-page .ie-deliverables article,
  body.is-page .ie-process article,
  body.is-page .home-pillars > a,
  body.is-page .home-story,
  body.is-page .promo-card-v5 > div,
  body.is-page .reading-library-explain__grid article,
  body.is-page .reading-library-card {
    padding: 20px !important;
  }

  /* FAQ : les questions et les reponses ne touchent plus le cadre */
  body.is-page .faq-group {
    border-radius: 24px !important;
  }
  body.is-page .faq-group > .km-kicker,
  body.is-page .faq-group > h2 {
    padding-inline: 2px !important;
  }
  body.is-page .faq-item summary {
    padding: 18px 48px 18px 2px !important;
    line-height: 1.38 !important;
  }
  body.is-page .faq-item summary::after {
    right: 2px !important;
  }
  body.is-page .faq-item__answer {
    padding: 0 4px 20px 2px !important;
  }

  /* Intelligence economique : tout passe en une colonne avant les cartes */
  body.page-intelligence-economique .ie-page .section-heading {
    display: block !important;
  }
  body.page-intelligence-economique .ie-page .section-heading > p {
    margin: 14px 0 0 !important;
    max-width: 42ch !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }
  body.page-intelligence-economique .ie-page .section-heading h2 {
    max-width: 16ch !important;
  }
  body.page-intelligence-economique .ie-process article:last-child {
    border-bottom: 0 !important;
  }

  /* Ma lecture : densite plus naturelle et filtres sans collision */
  .reading-library-page {
    padding-top: 30px !important;
    padding-bottom: 70px !important;
  }
  .reading-library-hero > div,
  .reading-library-privacy,
  .reading-library-status,
  .reading-library-explain {
    border-radius: 26px !important;
  }
  .reading-library-hero h1 {
    font-size: clamp(2.6rem, 11vw, 3.55rem) !important;
    line-height: .95 !important;
  }
  .reading-library-explain h2 {
    max-width: 15ch !important;
  }
  .reading-library-filters {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 22px 0 !important;
  }
  .reading-library-filters > span {
    grid-column: 1 / -1;
    margin: 0 0 2px !important;
  }
  .reading-library-filters button {
    width: 100%;
    min-height: 46px;
  }

  /* Contact / CTA : laisse respirer les titres et les boutons */
  body.is-page .km-cta h2,
  body.is-page .home-cta h2 {
    margin-top: 4px !important;
    max-width: 18ch !important;
    font-size: clamp(1.95rem, 8.5vw, 2.6rem) !important;
    line-height: 1.02 !important;
  }
  body.is-page .km-cta .button,
  body.is-page .home-cta .button {
    min-height: 52px !important;
    padding-inline: 18px !important;
  }

  /* Accueil : la section des trois portes reste compacte sur mobile */
  .home-v5 .home-heading-grid > div h2 {
    max-width: 16ch !important;
    font-size: clamp(2rem, 8.8vw, 2.6rem) !important;
  }
  .home-v5 .home-heading-grid > p {
    margin: 0 !important;
    max-width: 44ch !important;
    font-size: .94rem !important;
    line-height: 1.62 !important;
  }
  .home-v5 .home-pillars {
    gap: 12px !important;
  }

  /* Footer : le branding reste present sans redevenir un hero */
  .site-footer .footer-inner {
    width: calc(100% - (var(--mobile-content-gutter) * 2)) !important;
  }
  .site-footer .footer-title {
    max-width: 15ch !important;
    font-size: clamp(1.72rem, 7.7vw, 2.2rem) !important;
    line-height: 1.03 !important;
  }

  /* Garde une marge avec le bouton retour en haut */
  body.is-page .back-to-top {
    right: 16px !important;
  }
}

@media (max-width: 390px) {
  :root { --mobile-content-gutter: 16px; --mobile-card-pad: 20px; }
  body.is-page .reading-library-filters {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* =========================================================
   KACHOURI V5.2 - garde-fous typographiques et responsive
   Ce bloc est volontairement charge en dernier.
   ========================================================= */

/* Une echelle commune pour les pages editoriales et outils */
body.is-page :is(
  .home-v5 .home-hero h1,
  .km-page .km-hero h1,
  .ie-page .ie-hero h1,
  .audit-page .audit-hero h1,
  .labo-page .labo-hero h1,
  .history-page .history-hero h1,
  .editorial-index .editorial-index__hero h1,
  .reading-library-page .reading-library-hero h1,
  .legal-v5 .legal-v5__hero h1,
  .ecosystem-v52 .eco-hero-v52 h1
) {
  font-family: var(--font-display, var(--font-sans)) !important;
  font-size: var(--type-hero) !important;
  font-weight: 730 !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

body.is-page :is(
  .home-v5 .home-section h2,
  .km-page .km-section h2,
  .km-page .km-cta h2,
  .ie-page .ie-section h2,
  .audit-page section h2,
  .labo-page section h2,
  .history-page section h2,
  .editorial-index section h2,
  .reading-library-page section h2,
  .legal-v5 section h2,
  .ecosystem-v52 section h2
) {
  font-family: var(--font-display, var(--font-sans)) !important;
  font-size: var(--type-section) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  letter-spacing: -.038em !important;
  text-wrap: balance;
}

body.is-page :is(
  .home-v5 article h3,
  .km-page article h3,
  .ie-page article h3,
  .audit-page article h3,
  .labo-page article h3,
  .history-page article h3,
  .editorial-index article h3,
  .reading-library-page article h3,
  .legal-v5 article h3,
  .ecosystem-v52 article h3
) {
  font-family: var(--font-display, var(--font-sans)) !important;
  font-size: var(--type-card) !important;
  font-weight: 720 !important;
  line-height: 1.08 !important;
  letter-spacing: -.022em !important;
}

body.is-page h4 {
  font-family: var(--font-display, var(--font-sans));
  font-size: var(--type-small-title);
  font-weight: 710;
  line-height: 1.2;
  letter-spacing: -.012em;
}

/* Articles : barre de contexte compacte et dock jamais intrusif */
body.is-article .article-context__inner {
  justify-content: flex-start !important;
  gap: 12px !important;
}
body.is-article .article-context__path {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
body.is-article .article-context__time {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  white-space: nowrap !important;
}
body.is-article .reading-dock.is-suppressed {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
}

/* V5.2 Ecosysteme : les cartes gardent une densite stable */
.ecosystem-v52 .eco-project--v52 {
  min-width: 0;
}
.ecosystem-v52 .eco-project--v52 .eco-project__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.ecosystem-v52 .eco-filters button[aria-pressed="true"] {
  border-color: var(--pink) !important;
}

@media (max-width: 980px) {
  body.is-page :is(
    .home-v5 .home-hero h1,
    .km-page .km-hero h1,
    .ie-page .ie-hero h1,
    .audit-page .audit-hero h1,
    .labo-page .labo-hero h1,
    .history-page .history-hero h1,
    .editorial-index .editorial-index__hero h1,
    .reading-library-page .reading-library-hero h1,
    .legal-v5 .legal-v5__hero h1,
    .ecosystem-v52 .eco-hero-v52 h1
  ) {
    font-size: clamp(2.45rem, 7vw, 3.6rem) !important;
  }

  .ecosystem-v52 .eco-hero-v52,
  .ecosystem-v52 .eco-projects-head-v52,
  .ecosystem-v52 .eco-map > header {
    grid-template-columns: 1fr !important;
  }

  .ecosystem-v52 .eco-proof-strip,
  .ecosystem-v52 .eco-grid--v52,
  .ecosystem-v52 .eco-map__flow,
  .ecosystem-v52 .eco-logic__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .reading-library-page--v52 .reading-library-actions-v52__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  :root {
    --type-hero: clamp(2.15rem, 9.4vw, 2.85rem);
    --type-section: clamp(1.68rem, 7.2vw, 2.18rem);
    --type-card: clamp(1.06rem, 5.1vw, 1.24rem);
  }

  body.is-page :is(
    .home-v5 .home-hero h1,
    .km-page .km-hero h1,
    .ie-page .ie-hero h1,
    .audit-page .audit-hero h1,
    .labo-page .labo-hero h1,
    .history-page .history-hero h1,
    .editorial-index .editorial-index__hero h1,
    .reading-library-page .reading-library-hero h1,
    .legal-v5 .legal-v5__hero h1,
    .ecosystem-v52 .eco-hero-v52 h1
  ) {
    font-size: var(--type-hero) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }

  body.is-page :is(
    .home-v5 .home-section h2,
    .km-page .km-section h2,
    .km-page .km-cta h2,
    .ie-page .ie-section h2,
    .audit-page section h2,
    .labo-page section h2,
    .history-page section h2,
    .editorial-index section h2,
    .reading-library-page section h2,
    .legal-v5 section h2,
    .ecosystem-v52 section h2
  ) {
    font-size: var(--type-section) !important;
    line-height: 1.03 !important;
  }

  .ecosystem-v52 .section-shell,
  .reading-library-page--v52 .section-shell {
    width: calc(100% - (var(--mobile-content-gutter) * 2)) !important;
    max-width: none !important;
  }

  .ecosystem-v52 .eco-proof-strip,
  .ecosystem-v52 .eco-grid--v52,
  .ecosystem-v52 .eco-map__flow,
  .ecosystem-v52 .eco-logic__grid,
  .reading-library-page--v52 .reading-library-actions-v52__grid,
  .reading-library-page--v52 .reading-library-metrics-v52 {
    grid-template-columns: 1fr !important;
  }

  .ecosystem-v52 .eco-filters-v52 {
    display: flex !important;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    scroll-snap-type: x proximity;
    padding-bottom: 6px;
    scrollbar-width: thin;
  }
  .ecosystem-v52 .eco-filters button {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  body.is-article .article-context {
    padding-block: 8px !important;
  }
  body.is-article .article-context__inner {
    width: calc(100% - 32px) !important;
    gap: 8px !important;
  }
  body.is-article .article-context__path {
    gap: 7px !important;
    font-size: .82rem !important;
  }
  body.is-article .article-context__separator,
  body.is-article .article-context__time {
    display: none !important;
  }
  body.is-article .article-context details summary {
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .reading-tools--v52 .reading-tools__head,
  .reading-tools--v52 .reading-tools__body {
    grid-template-columns: 1fr !important;
  }
  .reading-tools--v52 .reading-tools__signal {
    min-height: 0 !important;
  }
  .reading-tools--v52 .reading-tools__actions {
    width: 100% !important;
  }
  .reading-tools--v52 .reading-tools__actions .button,
  .reading-tools--v52 .tts-panel > summary {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Le dock fixe n'a pas de valeur sur tablette ou mobile */
  body.is-article .reading-dock {
    display: none !important;
  }
}

@media (max-width: 1399px) {
  body.is-article { padding-bottom: 0 !important; }
  body.is-article .article-reading-dock { display: none !important; }
}

/* V5.2 : meme echelle de hero pour les gabarits dont la racine differe */
body.is-page :is(
  .audit-hero h1,
  .kai-page .kai-hero h1,
  .kai-report .kai-report__hero h1,
  .ie-hero h1,
  .labo-hero h1,
  .tools-hero h1,
  .error-page h1,
  .legal-page h1
) {
  font-family: var(--font-display, var(--font-sans)) !important;
  font-size: var(--type-hero) !important;
  font-weight: 730 !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

body.is-page :is(
  .audit-section h2,
  .kai-page section h2,
  .ie-section h2,
  .labo-section h2,
  .tools-page section h2
) {
  font-family: var(--font-display, var(--font-sans)) !important;
  font-size: var(--type-section) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  letter-spacing: -.038em !important;
  text-wrap: balance;
}

@media (max-width: 760px) {
  body.is-page :is(
    .audit-hero h1,
    .kai-page .kai-hero h1,
    .ie-hero h1,
    .labo-hero h1,
    .tools-hero h1,
    .error-page h1,
    .legal-page h1
  ) {
    font-size: var(--type-hero) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }
}


/* V5.2 final : navigation mobile-first et contexte article compact */
@media(max-width:1079px){
  .site-header{backdrop-filter:blur(10px)}
  .header-inner{height:var(--header-h);padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .mobile-navigation{top:var(--header-h)!important;padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
}
@media(max-width:760px){
  body.is-article .article-context__inner{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;width:calc(100% - 28px)!important;gap:8px!important}
  body.is-article .article-context__path{display:flex!important;flex:0 1 auto!important;width:auto!important;min-width:0!important;justify-content:flex-start!important;gap:7px!important}
  body.is-article .article-context__separator{display:none!important}
  body.is-article .article-context details{min-width:0!important}
  body.is-article .article-context details summary{max-width:none!important;font-size:.76rem!important}
  body.is-article .article-context__back{font-size:.78rem!important}
  body.is-article .article-context__time{display:inline-flex!important;flex:0 0 auto!important;margin-left:0!important;padding:5px 8px!important;font-size:.67rem!important}
}
@media(max-width:370px){
  body.is-article .article-context details summary{font-size:0!important}
  body.is-article .article-context details summary::before{content:'Explorer';font-size:.72rem}
  body.is-article .article-context details summary span{font-size:.72rem}
}

/* V5.3, retouches mobiles home + veille */
@media (max-width: 619px) {
  body.is-page .article-card,
  body.is-page .veille-signal,
  body.is-page .home-story {
    border-radius: 22px !important;
  }

  body.is-page .article-card .text-link,
  body.is-page .home-story__more,
  body.is-page .veille-signal__link {
    justify-content: space-between !important;
  }

  body.is-page .article-card__meta,
  body.is-page .home-story > p {
    gap: 6px 10px !important;
  }
}

/* V5.3 - fil conducteur mobile-first */
@media (max-width: 760px) {
  .site-thread__inner {
    width:100% !important;
    min-height:42px !important;
    padding-inline:12px !important;
    gap:8px !important;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .site-thread__inner::-webkit-scrollbar { display:none; }
  .site-thread__label,
  .site-thread__current { display:none !important; }
  .site-thread__steps {
    width:max-content;
    flex:0 0 auto;
    gap:3px !important;
  }
  .site-thread__steps a {
    min-height:30px !important;
    padding:5px 9px !important;
    font-size:.68rem !important;
  }
}

/* KACHOURI V5.3.1 - le fil conducteur reste compact sur mobile */
@media (max-width: 759px){
  .site-thread__inner{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
    padding-inline:12px!important;
  }
}

/* KACHOURI V5.3.1 - densite transversale des en-tetes de section */
@media (min-width: 760px){
  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) > p{
    width:auto!important;
    max-width:76ch!important;
    margin:2px 0 0!important;
    justify-self:start!important;
    font-size:.96rem!important;
    line-height:1.62!important;
  }

  body.is-page .home-ecosystem-head__context{
    width:auto!important;
    max-width:76ch!important;
    justify-self:start!important;
  }
  body.is-page .home-ecosystem-head__context p{max-width:76ch!important}

  body.is-page .labo-section__head > div,
  body.is-page .labo-section__head h2,
  body.is-page .labo-section__head > p{
    grid-column:auto!important;
    justify-self:start!important;
  }
  body.is-page .labo-section__head h2{max-width:22ch!important}

  body.is-page .eco-projects-v52__head > p,
  body.is-page .eco-map > header > p:last-child{
    justify-self:start!important;
  }
  body.is-page .eco-map > header .eyebrow{
    grid-column:auto!important;
    margin-bottom:0!important;
  }

  body.is-page .audit-heading-row > div,
  body.is-page .audit-heading-row > p{
    grid-column:auto!important;
  }
}

@media (min-width: 760px){
  body.is-page .home-v5 .home-heading-grid,
  body.is-page .home-v5 .home-ecosystem-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }
  body.is-page .home-v5 .home-heading-grid > p,
  body.is-page .home-v5 .home-ecosystem-head__context{
    justify-self:start!important;
    width:auto!important;
    max-width:76ch!important;
  }
}

/* KACHOURI V5.3.2 - densite editoriale desktop
   Les en-tetes de section courts utilisent toute la largeur disponible.
   Les vraies doubles colonnes fonctionnelles (hero, formulaire, score, visuel) restent intactes. */
@media (min-width: 760px) {
  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) > :where(div,p) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) h2 {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    font-size: clamp(2rem, 2.8vw, 2.7rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.042em !important;
    text-wrap: wrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) > p {
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    font-size: .98rem !important;
    line-height: 1.65 !important;
  }

  /* Accueil, bloc Ecosysteme : titre, explication, note et lien occupent le meme axe. */
  body.is-page .home-ecosystem-head__title,
  body.is-page .home-ecosystem-head__context {
    width: 100% !important;
    max-width: none !important;
  }
  body.is-page .home-ecosystem-head__context {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }
  body.is-page .home-ecosystem-head__context > p,
  body.is-page .home-ecosystem-head__note,
  body.is-page .home-ecosystem-head__context .text-link {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  body.is-page .home-ecosystem-head__note {
    box-sizing: border-box !important;
  }

  /* L'accueil et les dossiers n'imposent plus des titres de 14 a 18 caracteres. */
  body.is-page .home-v5 .section-heading h2,
  body.is-page .home-heading-grid > div h2,
  body.is-page .home-ecosystem-head h2,
  body.is-page .km-section__head h2,
  body.is-page .veille-section-head h2,
  body.is-page .veille-ecosystem__head h2,
  body.is-page .labo-section__head h2,
  body.is-page .ie-page .section-heading h2,
  body.is-page .eco-projects-v52__head h2,
  body.is-page .eco-map > header h2,
  body.is-page .audit-heading-row h2 {
    max-width: none !important;
    text-wrap: wrap !important;
  }

  /* Changelog : suppression de la composition trois colonnes qui cassait le CTA. */
  body.page-changelog .history-now,
  body.is-page .history-now {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
  }
  body.is-page .history-now > div,
  body.is-page .history-now > p,
  body.is-page .history-now h2 {
    width: 100% !important;
    max-width: none !important;
  }
  body.is-page .history-now h2 {
    font-size: clamp(2rem, 2.8vw, 2.7rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.042em !important;
    text-wrap: wrap !important;
  }
  body.is-page .history-now > div > p:last-child,
  body.is-page .history-now > p {
    margin: 10px 0 0 !important;
    line-height: 1.65 !important;
  }
  body.is-page .history-now__actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 4px !important;
  }
  body.is-page .history-now__actions a {
    min-width: 180px !important;
  }

  /* Les autres blocs historiques suivent le meme rythme horizontal. */
  body.is-page .history-press {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.is-page .history-press > div,
  body.is-page .history-press blockquote,
  body.is-page .history-press > p,
  body.is-page .history-press h2 {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
  }
  body.is-page .history-press h2,
  body.is-page .history-intro-card h2,
  body.is-page .history-era__head h2 {
    max-width: none !important;
    text-wrap: wrap !important;
  }
  body.is-page .history-era__head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  body.is-page .history-timeline {
    margin-left: 0 !important;
  }
}

@media (min-width: 1080px) {
  /* Sur grand ecran, le texte explicatif utilise toute la largeur utile sans colonne morte. */
  body.is-page :where(
    .home-heading-grid,
    .home-ecosystem-head,
    .km-section__head,
    .veille-section-head,
    .veille-ecosystem__head,
    .labo-section__head,
    .ie-page .section-heading,
    .eco-projects-v52__head,
    .eco-map > header,
    .audit-heading-row
  ) h2 {
    font-size: clamp(2.15rem, 2.65vw, 2.8rem) !important;
  }
}

/* V5.3.11 - stabilite Firefox/Opera du fil conducteur */
@media(max-width:760px){
  .site-thread__steps{display:flex!important;flex-wrap:nowrap!important;min-width:max-content!important;width:max-content!important}
  .site-thread__steps a{flex:0 0 auto!important;white-space:nowrap!important}
}
@media(max-width:380px){
  .site-thread__steps a{padding-inline:8px!important;font-size:.65rem!important;gap:5px!important}
}

/* V5.6.0 — dernier article sur petit écran */
@media(max-width:760px){
  .latest-article-signal{top:auto;right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));bottom:calc(76px + env(safe-area-inset-bottom));width:auto;padding:12px 13px;border-radius:18px;transform:translateY(14px) scale(.99);z-index:84}
  .latest-article-signal.is-visible{transform:none}
  .latest-article-signal.is-closing{transform:translateY(12px) scale(.99)}
  .latest-article-signal.has-privacy-note{bottom:calc(164px + env(safe-area-inset-bottom))}
  .latest-article-signal__meta{margin-top:5px}.latest-article-signal h2{margin:7px 34px 5px 0;font-size:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .latest-article-signal>p{display:none}.latest-article-signal__actions{margin-top:10px}.latest-article-signal__source{display:none}
  .latest-article-signal__primary,.latest-article-signal__secondary{min-height:40px;padding:8px 13px}
}
@media(max-width:430px){.latest-article-signal__secondary{display:none}.latest-article-signal__primary{flex:1}.latest-article-signal__actions{width:100%}}

/* 5.8.14 - garde-fous viewport du contexte article */
html,body{overflow-x:clip}
@media(max-width:760px){
  body.is-article .article-context__inner{position:relative!important}
  body.is-article .article-context__path details{position:static!important}
  body.is-article .article-context details>div{
    position:absolute!important;
    inset-inline:16px!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    box-sizing:border-box!important;
    z-index:60!important;
  }
  .mobile-nav-heading small{white-space:nowrap;font-size:max(.64rem,.68rem)}
}

/* Ma lecture V5.3 - overrides charges en dernier pour eviter les titres haches */
@media (min-width:760px) and (max-width:1099px){
  body.is-page .reading-library-page--v53 .reading-library-actions-panel{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.is-page .reading-library-page--v53 .reading-library-actions-panel>div:first-child h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(1.8rem,3.4vw,2.15rem)!important;
    line-height:1!important;
  }
}
@media (min-width:1100px){
  body.is-page .reading-library-page--v53 .reading-library-actions-panel{
    grid-template-columns:minmax(430px,.92fr) minmax(0,1.08fr)!important;
  }
  body.is-page .reading-library-page--v53 .reading-library-actions-panel>div:first-child h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(1.85rem,2.2vw,2.05rem)!important;
    line-height:1!important;
  }
  body.is-page .reading-library-page--v53 :is(
    .reading-library-dossiers--v53 h2,
    .reading-library-themes--v53 h2,
    .reading-library-explain--v53 h2
  ){
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

/* KACHOURI 5.11.2 - Explorer title integrity */
@media (min-width:1100px){
  body.page-outils .tools-hero{grid-template-columns:minmax(0,1fr) 300px!important;gap:38px!important}
  body.page-outils .tools-hero h1{max-width:none!important;font-size:clamp(3.1rem,4.35vw,4rem)!important}
  body.page-outils .tools-hero h1>span{white-space:nowrap!important}
}
@media (min-width:1100px){
  body.page-intelligence-economique .ie-hero{grid-template-columns:minmax(0,1fr) 320px!important;gap:42px!important}
  body.page-intelligence-economique .ie-hero h1{max-width:none!important;font-size:3rem!important}
  body.page-intelligence-economique .ie-hero h1 .ie-title-line{display:block!important;white-space:nowrap!important;color:var(--accent)!important}
  body.page-intelligence-economique .ie-hero h1 .ie-title-line--dark{color:var(--text)!important}
}
