html,body{margin:0;padding:0}img{max-width:100%}[hidden]{display:none!important}

/* Glacial Indifference : licence SIL Open Font, intégrée */
@font-face { font-family: "Glacial Indifference"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/glacial-indifference-400.woff2) format("woff2"); }
@font-face { font-family: "Glacial Indifference"; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/glacial-indifference-700.woff2) format("woff2"); }

/* Layout : bandes pleine largeur (blanc, blanc cassé, aplats pastel de la charte), pied de page marine, contenu centré sur 1100 px.
   CHARTE JOYEUX INTÉRIEURS : #242C5C marine, #FF5757 corail, #FFFBFA blanc cassé, #FFFFFF blanc.
   Aucune teinte hors charte, sauf le survol des boutons (--accent-dark) et le bandeau d'aperçu. */
:root {
  --ink: #242C5C;           /* marine : titres, menu, liens, bande finale */
  --accent: #FF5757;        /* corail : boutons, chiffres, titres des piliers */
  --accent-dark: #E84444;   /* survol des boutons */
  --paper: #FFFBFA;         /* fond principal */
  --white: #FFFFFF;         /* cartes */
  /* Pastels de la charte : formes et aplats uniquement, jamais pour le texte */
  --bleu: #D5E2EA;          /* bleu pâle (le J) */
  --vert: #B6DECC;          /* vert d'eau */
  --peche: #F9D5BF;         /* pêche */
  --blush: var(--bleu);
  --line: #D5E2EA;          /* bordures des cartes : bleu pâle */
  --text: #242C5C;          /* texte courant : marine */
  --muted: #242C5C;         /* mentions : marine, en plus petit */
  --night-text: #FFFFFF;
  --night-muted: #FFFFFF;
  --display: "Gilda Display", Georgia, serif;
  --font: "Glacial Indifference", "Century Gothic", "Avenir Next", Arial, sans-serif;
  --wrap: 1160px;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { background: var(--paper); color: var(--text); font-family: var(--font); font-size: 16.5px; line-height: 1.45; }
h1, h2, h3 { color: var(--ink); font-family: var(--display); font-weight: 500; line-height: 1.15; text-wrap: balance; margin: 0; }
p { margin: 0; }
a { color: var(--accent); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

.band { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.band > .inner { max-width: var(--wrap); margin: 0 auto; padding-block: 72px; }
.cream { background: var(--white); }
.pap { background: var(--paper); }
.hero { background: var(--paper); }

/* Bandeau aperçu (disparaît sur le vrai site) */
.preview { background: #FFF6D6; color: #6B5A1E; font-family: Arial, sans-serif; font-size: 13px; text-align: center; padding-block: 8px; }
.preview .inner { padding-block: 0 !important; }

/* En-tête */
header.band { background: var(--paper); border-bottom: 0; position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--paper); }
header .inner { padding-block: 28px !important; display: flex; align-items: center; justify-content: space-between; gap: 56px; }
.brand { text-decoration: none; display: flex; flex-direction: column; gap: 2px; }
.brand .logo { display: block; height: 76px; width: auto; }
.brand b { color: var(--ink); font-size: 20px; letter-spacing: 0.08em; font-weight: 700; }
.brand b span { color: var(--accent); }
.brand small { color: var(--muted); font-size: 12.5px; line-height: 1.3; letter-spacing: 0.01em; }
nav { display: flex; align-items: center; gap: 26px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; }
nav > a, .dropdown > button { white-space: nowrap; }
.brand small { max-width: 17em; }
nav a { color: var(--ink); text-decoration: none; }
nav a:hover { color: var(--accent-dark); }

.dropdown > button, .burger { text-transform: uppercase; letter-spacing: 0.08em; }
.brand { flex-shrink: 0; }
nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.dropdown { position: relative; }
.dropdown > button { font: inherit; color: var(--ink); background: none; border: 0; cursor: pointer; padding: 0; }
.dropdown > button:hover { color: var(--accent-dark); }
.dropdown .menu { position: absolute; top: calc(100% + 12px); left: -16px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 8px; min-width: 270px; box-shadow: 0 10px 30px rgba(36,44,92,.10); display: flex; flex-direction: column; }
.dropdown .menu a { padding: 9px 12px; border-radius: 6px; }
.dropdown .menu a:hover { background: var(--blush); }
.btn { display: inline-block; background: var(--accent); color: #fff; text-decoration: none; font-weight: 400; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 15px; border-radius: 14px; border: 1.5px solid var(--accent); transition: background .15s; white-space: nowrap; }
.btn:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.btn.ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn.ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.burger { display: none; font: inherit; font-size: 13.5px; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 400; background: none; border: 1.5px solid var(--line); border-radius: 14px; padding: 8px 16px; color: var(--ink); cursor: pointer; }

/* Hero */
.hero .inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start; padding-block: 48px 80px; }
.hero .inner > div:first-child { padding-top: 24px; }
.eyebrow { color: var(--ink); font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.tagline { font-family: var(--display); font-style: italic; font-size: 18px; color: var(--accent-dark); margin-top: 14px; }
.hero h1 { font-size: clamp(24px, 2.2vw, 29px); font-weight: 500; margin-top: 10px; letter-spacing: 0; }
.hero .lead { margin-top: 20px; max-width: 34em; font-size: 17px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.photo { aspect-ratio: 4 / 3; max-width: 100%; border-radius: 18px; background: var(--white); border: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; gap: 6px; }
.hero .photo { position: relative; z-index: 1; }
.hero .visual { position: relative; }
.photo b { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.photo span { font-size: 14px; color: var(--muted); max-width: 26em; }

/* Sections */
.section-title { font-size: clamp(23px, 2vw, 26px); }
.intro { margin-top: 16px; max-width: 42em; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.card { background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 26px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.num { width: 36px; height: 36px; border-radius: 50%; background: transparent; border: 1.5px solid var(--ink); color: var(--ink); font-weight: 600; font-size: 13px; display: grid; place-items: center; }
.card h3 { font-size: 18px; font-weight: 600; }
.card p { font-size: 15.5px; }
.links { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 26px; }
.arrow { color: var(--ink); font-weight: 700; font-size: 16.5px; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.arrow:hover { color: var(--accent-dark); }
.pillar h3 { color: var(--accent); font-size: 21px; font-weight: 600; }
.pillar p { color: var(--ink); font-weight: 500; }

/* Chiffres */
.stats .card strong { font-family: var(--display); font-size: clamp(27px, 2.4vw, 31px); color: var(--accent); font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stats .card.total { background: var(--ink); border-color: var(--ink); }
.stats .card.total p { color: var(--night-text); }
.question { font-family: var(--display); font-size: 19px; font-weight: 600; color: var(--ink); margin-top: 28px; }
.note { font-size: 14px; font-style: italic; color: var(--muted); margin-top: 14px; }

/* Duo */
.duo .inner { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; }
.duo .photo { aspect-ratio: 1 / 1; }
.duo p { margin-top: 16px; max-width: 34em; }
.duo-fig { margin: 0; }
.duo-fig figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin-top: 12px; font-size: 15px; color: var(--ink); }
.duo-fig figcaption b { font-weight: 700; }

.tbc { background: #FFF1A8; color: var(--ink); padding: 1px 4px; border-radius: 3px; }

/* Partenaires */
.partner { background: var(--white); border: 1px solid var(--line); border-radius: 18px; padding: 40px; display: grid; grid-template-columns: 0.8fr 1.6fr; gap: 40px; }
.partner h2 { font-size: 22px; margin-top: 8px; }
.partner p { color: var(--ink); }

/* Appel final */
.cta { background: var(--paper); }
.cta .inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.cta h2 { color: var(--ink); font-size: clamp(23px, 2vw, 26px); }
.cta p { color: var(--ink); margin-top: 14px; max-width: 38em; }
.cta small { display: block; color: var(--ink); font-size: 14px; margin-top: 18px; max-width: 38em; }

footer.band { background: var(--ink); }
footer .inner { padding-block: 32px !important; font-size: 14px; color: var(--night-text); display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; align-items: flex-end; }
.foot-id { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.foot-logo { display: block; height: 64px; width: auto; }
footer b { color: var(--ink); letter-spacing: 0.04em; }
footer a { color: var(--night-text); }

/* Mobile */
@media (max-width: 1220px) {
  .burger { display: inline-block; }
  nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; padding: 8px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px)); }
  nav.open { display: flex; }
  nav > a, .dropdown > button { padding: 12px 0; text-align: left; }
  .dropdown .menu { position: static; box-shadow: none; border: 0; padding: 0 0 0 14px; min-width: 0; }
  nav .btn { margin-top: 12px; text-align: center; }
}
@media (max-width: 880px) {
  .brand .logo { height: 58px; }
  header .inner { padding-block: 14px !important; }
  .hero .inner, .duo .inner, .partner { grid-template-columns: 1fr; gap: 32px; }
  .hero .inner { padding-block: 32px 48px; }
  .btn { padding: 9px 16px; }
  .grid3 { grid-template-columns: 1fr; }
  .band > .inner { padding-block: 52px; }
  .partner { padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ===== Composants des pages 02 à 07 (même charte que la page d'accueil) ===== */
.bg-white { background: var(--white); }
.bg-paper { background: var(--paper); }
.hero.bg-white, .hero.bg-paper {}
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; margin-top: 32px; }
.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; margin-top: 32px; }
.label { color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0; }
.card .label + h3 { margin-top: -4px; }
.card.topline { border-top: 3px solid var(--accent); }
.card.topline.ink { border-top-color: var(--ink); }
.card h3 { line-height: 1.25; }
.pull { margin: 32px 0 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--accent); font-family: var(--display); font-size: 20px; line-height: 1.4; color: var(--ink); max-width: 36em; }
.pull.small-q { font-size: 17px; margin-top: 8px; }
.pull.side { margin: 0; font-family: var(--font); font-size: 17px; display: flex; flex-direction: column; gap: 10px; }
.story { margin: 14px 0 0; font-family: var(--display); font-size: 21px; line-height: 1.45; color: var(--ink); max-width: 38em; }
.intro.strong { color: var(--ink); }
.small { font-size: 14px; margin-top: 8px; }
.note a { color: var(--ink); }
.quote-title { font-size: clamp(24px, 2.4vw, 30px); }
.strip > .inner { padding-block: 28px !important; }
.strip-in { display: flex; align-items: center; justify-content: space-between; gap: 24px 48px; flex-wrap: wrap; }
.strip-in p { max-width: 46em; font-size: 15.5px; }
.cta-in { display: flex; align-items: center; justify-content: space-between; gap: 32px 48px; flex-wrap: wrap; }
.cta-in h2 { font-size: clamp(23px, 2vw, 26px); }
.cta-in p { margin-top: 14px; max-width: 38em; }
.cta-in small { display: block; font-size: 14px; margin-top: 16px; max-width: 38em; }
.cta-in .actions { margin-top: 0; }
/* Étude de cas */
.case { display: grid; grid-template-columns: 0.42fr 1fr; gap: 48px; align-items: start; }
.case .photo.tall { aspect-ratio: 4 / 4.5; }
.case-body .section-title { margin-top: 8px; }
.badge { display: inline-block; margin-top: 12px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--ink); border: 1px solid var(--ink); border-radius: 14px; padding: 3px 12px; }
.case-h { font-family: var(--font) !important; font-size: 16px; font-weight: 700 !important; margin-top: 18px; }
.case-body p { max-width: 42em; }
/* FAQ */
.faq { margin-top: 28px; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 24px; font-weight: 700; color: var(--ink); font-size: 16.5px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--accent); font-weight: 400; font-size: 20px; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { margin-top: 10px; max-width: 46em; }
/* Blocs encadrés (page Notre accompagnement, Qui sommes-nous) */
.block { background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 36px; margin-top: 32px; }
.bg-white .block { background: var(--paper); }
.block-head { display: flex; align-items: center; gap: 18px; }
.block-title { font-size: clamp(22px, 2vw, 25px); font-weight: 400 !important; margin-top: 4px; }
.step { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; font-family: var(--display); font-size: 18px; }
.step.accent { background: var(--accent); }
.steps4 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 28px; }
.steps4 > div { padding: 0 22px; border-left: 1px solid var(--line); }
.steps4 > div:first-child { padding-left: 0; border-left: 0; }
.steps4 h4, .benefits h4 { font-family: var(--display); font-weight: 400; font-size: 20px; color: var(--accent); margin: 0 0 8px; }
.benefits h4 { color: var(--ink); font-family: var(--font); font-weight: 700; font-size: 16px; }
.steps4 p, .benefits p { font-size: 15.5px; }
.photo.wide { aspect-ratio: auto; min-height: 200px; margin-top: 28px; border-radius: 14px; }
.strongp { margin-top: 22px; color: var(--ink); max-width: 46em; }
.mini { margin: 26px 0 0; font-size: 16px; color: var(--ink); font-family: var(--font); }
.benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-top: 14px; padding: 22px; background: var(--paper); border-radius: 12px; }
.bg-white .benefits { background: var(--white); }
.gap { margin-top: 56px; }
.pillar .sub { color: var(--ink); font-weight: 700; font-size: 15.5px; }
/* Partenaires */
.list { list-style: none; padding: 0; margin: 6px 0 0; }
.list li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; }
.gain { margin-top: auto; background: var(--paper); border-radius: 10px; padding: 14px 16px; font-size: 15px; color: var(--ink); }
.bg-paper .gain { background: var(--paper); }
.gain b { color: var(--ink); }
/* Qui sommes-nous */
.profiles .photo.portrait { aspect-ratio: 16 / 9; margin-bottom: 8px; }
.profiles .name { font-size: 24px; font-weight: 400 !important; }
.profiles .tagline { margin-top: 0; }
.cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 20px; }
.big { font-family: var(--display); font-size: 21px; line-height: 1.45; color: var(--ink); margin-top: 24px; max-width: 40em; }
.partner.leftline { margin-top: 32px; border-left: 3px solid var(--accent); }
.partner.leftline p + p { margin-top: 12px; }
.constat { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 56px; align-items: center; margin-top: 18px; }
.constat p + p { margin-top: 12px; }
/* Contact */
.mini-title { font-family: var(--font) !important; font-size: 17px; font-weight: 700 !important; margin-top: 30px; }
.next { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 14px; }
.next li { display: flex; gap: 14px; align-items: flex-start; }
.next li span { flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-size: 13px; }
.contact-info { margin-top: 28px; line-height: 1.7; }
.form { background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; color: var(--ink); }
.form input, .form select, .form textarea { font: inherit; font-weight: 400; font-size: 15px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; }
.form .btn { align-self: flex-start; margin-top: 6px; cursor: pointer; }
.hero .visual .form { width: 100%; }
.hero .inner > * { min-width: 0; }
.form input, .form select, .form textarea { width: 100%; min-width: 0; }
@media (max-width: 880px) {
  .grid2, .grid4, .case, .cols2, .constat, .steps4, .benefits { grid-template-columns: 1fr; }
  .steps4 > div { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .steps4 > div:first-child { border-top: 0; padding-top: 0; }
  .block { padding: 24px 20px; }
}
@media (min-width: 881px) and (max-width: 1100px) { .grid4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* Gilda Display n'existe qu'en une seule graisse et sans italique */
h1, h2, h3, .question, .stats .card strong, .pillar h3, .card h3 { font-weight: 400 !important; }
.tagline { font-style: normal !important; }
.dropdown > button.is-current { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.photo.has-img{padding:0;border:0;overflow:hidden}.photo.has-img img{width:100%;height:100%;object-fit:cover;display:block}

.report { max-width: 720px; margin-top: 28px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.report img { display: block; width: 100%; height: auto; }

.profiles .photo.portrait img { object-position: 50% 25%; }

/* ===== Version en ligne (nov. 2026) : réglages V4A2, corail profond, propositions de l'audit ===== */
:root{--wrap:1220px !important}.report-row{display:grid;grid-template-columns:440px 1fr;gap:40px;align-items:center;margin-top:28px}.report-row .report{margin-top:0 !important}.report-text{max-width:34em}.report-text .strongp{margin-top:0}.report-text .note{margin-top:14px}@media (max-width:880px){.report-row{grid-template-columns:1fr;gap:16px}}.report{max-width:440px !important;border-radius:8px !important}.photo.has-img,.photo.has-img img,.report img,.case .photo{border-radius:8px !important}.pil-ic{width:44px;height:44px;display:block;margin:0 0 12px -2px}.contact-list{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px;font-size:15px}.contact-list li{display:flex;align-items:center;gap:12px}.contact-list svg{width:26px;height:26px;flex:0 0 26px}.contact-list a{color:var(--ink);text-decoration:none}.contact-list a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px}h2.q-mark::before{font-size:110px !important;height:46px !important}.card .label{font-size:13px !important;letter-spacing:.12em !important}.pull.q-mark:not(.small-q),h2.quote-title.q-mark{font-family:var(--display) !important;font-size:22px !important;line-height:1.4 !important;text-align:left !important;max-width:34em;font-weight:400 !important}.pull.small-q.q-mark{font-size:17.5px !important;text-align:left !important}.q-line{display:block}@media (max-width:880px){.q-line{display:inline}.pull.q-mark:not(.small-q),h2.quote-title.q-mark{font-size:20px !important}}.stats .card strong{font-size:21px !important;color:var(--ink) !important}.stats .card.total strong{color:var(--accent) !important;font-size:24px !important}.arrow,nav a[aria-current],.dropdown > button.is-current{text-decoration-thickness:1px !important}.arrow{text-underline-offset:4px !important}.arrow{font-weight:400 !important}.faq summary{font-weight:400 !important;font-size:17px}.profiles .photo.portrait{aspect-ratio:4/5 !important;width:100%;max-width:280px;overflow:hidden;margin-bottom:18px !important}.profiles .photo.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25% !important}@media (min-width:881px){.brand .logo{transform:translateX(-9.5%)}.foot-logo{transform:translateX(-9.5%)}}.h1-lines{max-width:none !important}.h1-lines span{display:block}@media (max-width:880px){.h1-lines span{display:inline}}.q-mark{position:relative;border-left:0 !important;padding-left:0 !important}.q-mark::before{content:"\201C";display:block;font-family:var(--display);font-size:110px;line-height:1;height:46px;overflow:visible;color:var(--accent);margin:0 0 4px -4px}h2.q-mark::before{font-size:130px;height:54px}.hero h1{font-size:clamp(23px,2vw,26px) !important}.section-title,.cta h2,.cta-in h2{font-size:clamp(20px,1.7vw,22px) !important}.card h3{font-size:16.5px !important}.pillar h3{font-size:19px !important}.question{font-size:17px !important}.partner h2{font-size:19px !important}.block-title{font-size:21px !important}.quote-title{font-size:clamp(21px,2vw,24px) !important}.profiles .name{font-size:21px !important}.story,.big{font-size:18.5px !important}.pull{font-size:17.5px !important}.steps4 h4{font-size:18px !important}.tagline{font-size:17px !important}.label{letter-spacing:.1em !important;text-wrap:balance}.hero h1{max-width:15.5em}@media (min-width:881px){.brand .logo{height:118px !important;width:auto;transition:height .3s ease}header .inner{transition:padding .3s ease}header.shrunk .brand .logo{height:88px !important}header.shrunk .inner{padding-block:12px !important}}header .inner{padding-block:20px !important;gap:24px !important}nav{gap:32px !important;letter-spacing:.17em !important;font-size:12.5px !important}nav .btn{letter-spacing:.14em !important}.dropdown > button{letter-spacing:.17em !important}.foot-logo{height:76px !important;width:auto}.m-logo{display:none}@media (max-width:880px){.brand .logo{content:url(/images/logo/JI_pictogramme_fond_clair.svg);height:44px !important;width:auto;opacity:0;transition:opacity .25s}header.logo-out .brand .logo{opacity:1}header .inner{padding-block:10px !important}.m-logo{display:block;background:var(--paper);padding:28px 16px 8px;text-align:center}.m-logo img{width:92%;max-width:420px;height:auto}}

:root{--accent:#CC4A44 !important;--accent-dark:#B23D38 !important}.stats .card.total{background:#D5E2EA !important;border-color:#D5E2EA !important}.stats .card.total p{color:var(--ink) !important}

.hero h1{font-size:clamp(28px,2.7vw,37px) !important;max-width:17em !important;line-height:1.18}.hero h1.h1-lines{max-width:none !important;font-size:clamp(26px,2.3vw,31px) !important}@media (min-width:881px){.hero h1.h1-lines span{white-space:nowrap}}
.reassure{font-size:14px;margin-top:14px;color:var(--ink);opacity:.85}
.ba{background:#fff;border:1px solid #D5E2EA;border-radius:8px;padding:14px 14px 12px}
.ba-tabs{display:flex;gap:6px;margin-bottom:10px}
.ba-tabs button{font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:14px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.ba-tabs button[aria-pressed=true]{background:var(--ink);color:#fff}
.ba img{width:100%;height:auto;display:block;border-radius:4px}
.ba .cap{font-size:13.5px;line-height:1.45;margin:10px 2px 0}
.ba .cap b{font-weight:700}
.ba .tbcnote{font-size:12px;margin:8px 2px 0}
.ba2{background:#fff;border:1px solid #D5E2EA;border-radius:8px;padding:16px 16px 14px;margin:0}
.ba2 .vhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ba2 .vtag{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#686E8F}.ba2 .vtitle{font-family:var(--display);font-size:18px}
.ba2 .toggle{display:flex;border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;flex:0 0 auto}.ba2 .toggle button{font:inherit;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:0;background:transparent;color:var(--ink);padding:7px 13px;cursor:pointer}.ba2 .toggle button.on{background:var(--ink);color:#fff}
.baz{position:relative;width:100%;aspect-ratio:848/504;border-radius:6px;overflow:hidden;user-select:none;touch-action:none;cursor:ew-resize}.baz svg{position:absolute;inset:0;width:100%;height:100%;display:block}#layApres{clip-path:inset(0 0 0 var(--x,100%))}
.baz .handle{position:absolute;top:0;bottom:0;left:var(--x,100%);width:0;pointer-events:none}.baz .handle::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--ink)}.baz .knob{position:absolute;top:50%;left:-18px;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:-1px}
.baz .chip{position:absolute;top:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:10px;background:#fff;border:1px solid #D5E2EA;pointer-events:none;font-weight:700;transition:opacity .25s}.baz .chip.a{left:8px;color:var(--accent)}.baz .chip.b{right:8px;color:var(--ink)}
@keyframes run{to{stroke-dashoffset:-50}}@media (prefers-reduced-motion:no-preference){.baz .flow{animation:run 2.4s linear infinite}}
.ba2 .legend{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:12.5px}.ba2 .legend .g{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ba2 .legend span{display:inline-flex;align-items:center;gap:5px}.ba2 .sw{width:14px;height:10px;border-radius:2px;display:inline-block;border:1.5px solid}
.ba2 .cap-apres,.ba2.is-apres .cap-avant{display:none !important}.ba2.is-apres .cap-apres{display:grid !important}.ba2 .caption{margin-top:12px;padding-top:12px;border-top:1px solid #D5E2EA;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ba2 .caption div{font-size:13px;line-height:1.4}.ba2 .caption b{display:block;font-family:var(--display);font-weight:400;font-size:13.5px;margin-bottom:2px;line-height:1.25}@media (max-width:600px){.ba2 .caption{grid-template-columns:1fr}}
.ba2 .tbcnote{font-size:12px;margin:10px 0 0}
.intro{max-width:50em !important}.router .inner{padding-block:44px !important}.route{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.route:hover{border-color:var(--accent)}.route h3{font-size:19px !important;margin:0}.route .label{margin:0}.go{margin-top:auto;padding-top:10px;font-size:15px;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}@media (max-width:880px){.grid2{grid-template-columns:1fr}}
.case-card{padding:0 !important;overflow:hidden;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:42% 1fr}.case-card .cimg img{width:100%;height:100%;object-fit:cover;display:block}.case-card .cbody{padding:22px 24px;display:flex;flex-direction:column;gap:8px}.case-card h3{font-size:19px !important;margin:6px 0 0}.case-card p{margin:0;font-size:15px}.case-card .badge{align-self:flex-start;margin-top:0}.case-card:hover{border-color:var(--accent)}@media (max-width:600px){.case-card{grid-template-columns:1fr}.case-card .cimg{height:200px}}
.cta .inner,.cta-in{gap:18px !important;flex-direction:column !important;align-items:center !important;text-align:center;justify-content:center !important}.cta p,.cta small,.cta-in p,.cta-in small{margin-left:auto !important;margin-right:auto !important}.cta .actions{justify-content:center}.cta .reassure{margin-top:0;max-width:none}
.toc{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:22px;font-size:14px}.toc a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}
.targets .inner{padding-block:18px !important;text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.chiffre .inner{padding-block:30px !important;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:left}
.chiffre strong{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,32px);color:var(--accent);white-space:nowrap}
.chiffre p{margin:0;max-width:36em;font-size:16px}

.note.relay{margin-top:28px;padding:16px 20px;background:#FFFBFA;border-left:3px solid var(--accent);font-style:normal}.hero .subtitle{font-family:'Gilda Display',serif;font-size:clamp(19px,1.6vw,22px);color:#242C5C;margin:14px 0 20px;line-height:1.3}@media (max-width:880px){.br-d{display:none}}
/* Formulaire de contact : message d'état */
.form-status{margin:4px 0 0;font-size:15px;line-height:1.5;padding:12px 14px;border-radius:8px}
.form-status.ok{background:#D5E2EA;border-left:3px solid #242C5C}
.form-status.err{background:#FFFBFA;border-left:3px solid var(--accent)}

/* Textes centrés : lignes équilibrées ; retours à la ligne voulus réservés à l'ordinateur */
.cta p, .cta-in p, .cta small, .cta-in small { text-wrap: balance; }
@media (max-width: 880px) { .cta p br, .cta-in p br { display: none; } }
.nowrap { white-space: nowrap; }

/* Titres : lignes équilibrées, pas de mot orphelin */
h1, h2 { text-wrap: balance; }

/* Phrase sous les boutons (accueil) et phrase forte (appel final Entreprises) */
.hero-note { font-size: 14.5px; line-height: 1.45; margin-top: 14px; max-width: 30em; opacity: .9; }
.phrase-forte { font-family: var(--display); font-size: clamp(19px, 1.6vw, 22px); color: var(--ink); margin: 12px 0 10px; line-height: 1.3; }
