/* ==========================================================================
   ActuData — feuille de styles principale
   Charte graphique janvier 2025 · Intégration HTML/CSS (préparée pour WordPress)

   Sommaire
   1. Police (Inter auto-hébergée)
   2. Tokens (couleurs, typo, espacements)
   3. Base
   4. Mise en page (container, sections, grilles)
   5. Typographie
   6. Boutons, liens, chips
   7. Formes de la charte (clip-path) et glyphe « a »
   8. Tons de couleur
   9. En-tête
   10. Pied de page
   11. Composants (hero, cartes, FAQ, étapes, CTA, formulaires, onglets, tableau…)
   12. Utilitaires
   ========================================================================== */

/* 1. Police ---------------------------------------------------------------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/inter-latin-wght-italic.woff2") format("woff2-variations");
}

/* 2. Tokens ---------------------------------------------------------------- */
:root {
  /* Couleur principale */
  --c-navy: #112D62;
  --c-navy-700: #0B1F45;
  --c-navy-500: #1C3A74;
  --c-navy-300: #3B5893;
  --c-navy-100: #E4E9F2;

  /* Couleurs secondaires */
  --c-coral: #F18D75;
  --c-teal: #97D0C1;
  --c-gray: #EAE8E4;      /* gris chaud */
  --c-ink: #353C40;       /* noir habité */

  /* Camaïeux */
  --c-violet: #5D599C;
  --c-mauve: #92639E;
  --c-lavender: #F7F0F8;
  --c-plum: #764B57;
  --c-rose: #E3A399;
  --c-blush: #FDF2F3;
  --c-sage: #6F877C;
  --c-mint: #B8CFB9;
  --c-ice: #F0F8F8;

  /* Neutres d'interface */
  --c-paper: #F6F4F0;
  --c-white: #FFFFFF;
  --c-muted: #5B6266;
  --c-line: #D7D2CB;
  --c-field: #CFC9C1;

  /* Typographie */
  --font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-display: clamp(2.75rem, 5.6vw, 5rem);
  --fs-h1: clamp(2.625rem, 5.4vw, 4.75rem);
  --fs-h2: clamp(1.875rem, 3.6vw, 3.125rem);
  --fs-h3: 1.375rem;
  --fs-lead: 1.25rem;
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-xs: 0.8125rem;

  /* Rayons */
  --r-sm: 14px;
  --r-md: 24px;
  --r-lg: 32px;
  --r-xl: 48px;
  --r-section: 56px;
  --r-pill: 999px;
  --r-bubble: 32px 32px 32px 6px; /* coin « bulle de dialogue » */

  /* Espacements */
  --container: 1280px;
  --gutter: 24px;
  --section-y: clamp(4rem, 8vw, 6.25rem);
  --gap: 16px;

  --focus: 0 0 0 3px var(--c-white), 0 0 0 5px var(--c-navy);
}

/* 3. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--c-ink);
  background: var(--c-paper);
  -webkit-font-smoothing: antialiased;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--c-navy); text-underline-offset: 3px; }
a:hover { color: var(--c-navy-700); }
:focus-visible { outline: none; box-shadow: var(--focus); border-radius: 6px; }
h1, h2, h3, h4 { margin: 0; color: var(--c-navy); font-weight: 700; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
main { display: block; }
[hidden] { display: none !important; }

/* 4. Mise en page ---------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.container--narrow { max-width: 908px; }
.container--text { max-width: 1148px; }

.section { padding-block: var(--section-y); }
.section--tight-top { padding-top: 0; }
.section--tight-bottom { padding-bottom: 0; }
.section--gray { background: var(--c-gray); }
.section--navy { background: var(--c-navy); color: var(--c-white); }
.section--navy h1, .section--navy h2, .section--navy h3 { color: var(--c-white); }
.section--rounded { border-radius: var(--r-section) var(--r-section) 0 0; }
/* Section qui « recouvre » la précédente avec un arrondi (fond de la précédente en dessous) */
.overlap-navy { background: var(--c-navy); }
.overlap-gray { background: var(--c-gray); }

.grid { display: grid; gap: var(--gap); }
.grid--split { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(32px, 5vw, 64px); align-items: center; }
.grid--split-top { align-items: start; }
.grid--split-end { align-items: end; }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.grid--cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

.stack { display: flex; flex-direction: column; gap: 24px; }
.stack--sm { gap: 12px; }
.stack--xs { gap: 6px; }
.stack--lg { gap: 32px; }
.cluster { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cluster--sm { gap: 8px; }
.section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 40px; margin-bottom: 40px; }
.section-head > p { max-width: 480px; }

/* 5. Typographie ----------------------------------------------------------- */
.display { font-size: var(--fs-display); line-height: 0.98; letter-spacing: -0.035em; }
.h1 { font-size: var(--fs-h1); line-height: 1; letter-spacing: -0.035em; }
.h2 { font-size: var(--fs-h2); line-height: 1.05; letter-spacing: -0.03em; }
.h3 { font-size: var(--fs-h3); line-height: 1.25; letter-spacing: -0.01em; }
.h4 { font-size: 1.25rem; line-height: 1.3; }
.lead { font-size: var(--fs-lead); line-height: 1.5; max-width: 560px; }
.small { font-size: var(--fs-small); }
.muted { color: var(--c-muted); }
.eyebrow {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-navy);
}
.section--navy .eyebrow { color: var(--c-teal); }
.prose { display: flex; flex-direction: column; gap: 22px; font-size: 1.125rem; line-height: 1.65; }
.prose h2 { font-size: 1.875rem; letter-spacing: -0.02em; line-height: 1.15; margin-top: 12px; }
.prose blockquote {
  margin: 8px 0;
  padding: 28px 32px;
  background: var(--c-teal);
  color: var(--c-navy);
  border-radius: var(--r-bubble);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.35;
}
.text-link { font-weight: 600; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.on-dark { color: var(--c-navy-100); }

/* 6. Boutons, chips -------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 28px;
  border: 1.5px solid transparent;
  border-radius: var(--r-pill);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s, transform .2s;
  background: var(--c-navy);
  color: var(--c-white);
}
.btn:hover { transform: translateY(-1px); }
.btn--sm { min-height: 44px; padding: 0 20px; font-size: var(--fs-small); }
.btn--block { width: 100%; }
.btn--primary { background: var(--c-navy); color: var(--c-white); }
.btn--primary:hover { background: var(--c-navy-700); color: var(--c-white); }
.btn--teal { background: var(--c-teal); color: var(--c-navy); }
.btn--teal:hover { background: #86C6B5; color: var(--c-navy); }
.btn--coral { background: var(--c-coral); color: var(--c-navy); }
.btn--coral:hover { background: #EE7C61; color: var(--c-navy); }
.btn--white { background: var(--c-white); color: var(--c-navy); }
.btn--white:hover { background: var(--c-blush); color: var(--c-navy); }
.btn--dark { background: var(--c-ink); color: var(--c-white); }
.btn--dark:hover { background: #22282B; color: var(--c-white); }
.btn--outline { background: transparent; color: var(--c-navy); border-color: var(--c-navy); }
.btn--outline:hover { background: var(--c-navy); color: var(--c-white); }
.btn--outline-light { background: transparent; color: var(--c-white); border-color: var(--c-white); }
.btn--outline-light:hover { background: var(--c-white); color: var(--c-navy); }

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 18px;
  border-radius: var(--r-pill);
  background: var(--c-gray);
  color: var(--c-navy);
  font-size: var(--fs-small);
  font-weight: 500;
  text-decoration: none;
}
a.chip:hover { background: var(--c-navy); color: var(--c-white); }
.chip--white { background: var(--c-white); }
.chip--outline { background: transparent; border: 1.5px solid var(--c-field); }
.chip.is-active, .chip[aria-pressed="true"] { background: var(--c-navy); color: var(--c-white); border-color: var(--c-navy); }
.tag {
  align-self: flex-start;
  display: inline-block;
  padding: 6px 14px;
  border-radius: var(--r-pill);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--c-lavender);
  color: var(--c-plum);
}

/* Pilule de lien (liste d'offres) */
.pill-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 6px 7px 6px 24px;
  border: 1.5px solid var(--c-navy);
  border-radius: var(--r-pill);
  color: var(--c-navy);
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s, color .2s;
}
.pill-link:hover { background: var(--c-navy); color: var(--c-white); }
.pill-link img { width: 150px; height: 44px; border-radius: var(--r-pill); object-fit: cover; flex: none; }
.pill-link__arrow { padding-right: 16px; }
.section--navy .pill-link { border-color: var(--c-teal); color: var(--c-white); padding-right: 22px; }
.section--navy .pill-link:hover { background: var(--c-teal); color: var(--c-navy); }
.pill-link--filled { background: var(--c-teal); color: var(--c-navy) !important; border-color: var(--c-teal) !important; }
.pill-link--white { background: var(--c-white); border-color: var(--c-white); padding: 14px 24px; justify-content: flex-start; }
.pill-link--white:hover { background: var(--c-navy); }

/* 7. Formes de la charte -------------------------------------------------- */
/* Les tracés sont définis une fois dans le sprite <svg class="u-sr-defs"> (inc/svg-defs). */
.shape { position: relative; overflow: hidden; }
.shape > img, .shape > picture, .shape > picture > img { width: 100%; height: 100%; object-fit: cover; }
.shape--goutte { clip-path: url(#clip-goutte); aspect-ratio: 185 / 277; }
.shape--l      { clip-path: url(#clip-l);      aspect-ratio: 179 / 277; }
.shape--bulle  { clip-path: url(#clip-bulle);  aspect-ratio: 236 / 277; }
.shape--n      { clip-path: url(#clip-n);      aspect-ratio: 194 / 240; }
.shape--arche  { clip-path: url(#clip-arche);  aspect-ratio: 254 / 252; }
.shape--a      { clip-path: url(#clip-a-glyph); aspect-ratio: 67 / 80; }
.shape--fill { background: var(--shape-color, var(--c-teal)); }

/* Glyphe « a » (pictogramme de marque) */
.glyph {
  display: block;
  flex: none;
  width: var(--glyph-size, 52px);
  aspect-ratio: 67 / 80;
  clip-path: url(#clip-a-glyph);
  background: var(--glyph-color, var(--accent, var(--c-coral)));
}
.glyph--xs { --glyph-size: 22px; }
.glyph--sm { --glyph-size: 36px; }
.glyph--lg { --glyph-size: 120px; }
.glyph--xl { --glyph-size: 140px; }
.glyph--coral { --glyph-color: var(--c-coral); }
.glyph--teal { --glyph-color: var(--c-teal); }
.glyph--navy { --glyph-color: var(--c-navy); }
.glyph--blush { --glyph-color: var(--c-blush); }
.glyph--mauve { --glyph-color: var(--c-mauve); }
.glyph--sage { --glyph-color: var(--c-sage); }
.glyph--mint { --glyph-color: var(--c-mint); }
.glyph--plum { --glyph-color: var(--c-plum); }
.glyph--rose { --glyph-color: var(--c-rose); }

/* Composition photo + formes (hero) */
.composition { position: relative; min-height: clamp(360px, 42vw, 540px); }
.composition > * { position: absolute; }
.composition .c-back-right { right: 0; top: 0; width: 46%; }
.composition .c-back-left { left: 0; bottom: 0; width: 50%; }
.composition .c-front-left { left: 4%; bottom: 0; width: 72%; }
.composition .c-front-right { right: 6%; top: 0; width: 58%; }
.composition .c-front-right-bottom { right: 0; bottom: 0; width: 76%; }
.composition .c-badge { right: 2%; bottom: 36px; }

/* 9. En-tête --------------------------------------------------------------- */
.skip-link {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  padding: 12px 20px; border-radius: var(--r-pill);
  background: var(--c-navy); color: var(--c-white); font-weight: 600;
}
.skip-link:focus { top: 12px; color: var(--c-white); }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--c-paper); border-bottom: 1px solid #E0DCD5; }
.topbar { background: var(--c-navy); color: var(--c-navy-100); font-size: var(--fs-xs); }
.topbar__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-block: 8px; }
.topbar__links { display: flex; flex-wrap: wrap; gap: 4px 22px; list-style: none; }
.topbar a { color: var(--c-white); text-decoration: none; }
.topbar a:hover { text-decoration: underline; color: var(--c-white); }
.topbar .topbar__whatsapp { color: var(--c-teal); font-weight: 600; }

.mainbar { display: flex; align-items: center; gap: 16px 32px; padding-block: 14px; }
.brand { display: block; flex: none; }
.brand img { height: 52px; width: auto; }
.primary-nav { flex: 1 1 auto; }
.primary-nav__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 26px; list-style: none; }
.primary-nav__list > li > a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: var(--fs-small); font-weight: 500;
  color: var(--c-navy); text-decoration: none;
  border-bottom: 2px solid transparent;
}
.primary-nav__list > li > a:hover { border-bottom-color: var(--c-teal); }
.primary-nav__list > li > a[aria-current="page"] { border-bottom-color: var(--c-coral); font-weight: 700; }
.mainbar__actions { display: flex; gap: 10px; flex: none; }
.nav-toggle {
  display: none;
  align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 0 18px;
  border: 1.5px solid var(--c-navy); border-radius: var(--r-pill);
  background: transparent; color: var(--c-navy); font-weight: 600; cursor: pointer;
  margin-left: auto;
}
.nav-toggle__icon, .nav-toggle__icon::before, .nav-toggle__icon::after {
  display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform .2s;
}
.nav-toggle__icon::before, .nav-toggle__icon::after { content: ""; position: absolute; left: 0; }
.nav-toggle__icon::before { top: -6px; }
.nav-toggle__icon::after { top: 6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1080px) {
  .nav-toggle { display: inline-flex; }
  .mainbar { flex-wrap: wrap; }
  .primary-nav, .mainbar__actions { display: none; flex-basis: 100%; }
  .site-header.is-open .primary-nav, .site-header.is-open .mainbar__actions { display: flex; }
  .primary-nav__list { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .primary-nav__list > li > a { width: 100%; min-height: 52px; font-size: 1.125rem; border-bottom: 1px solid var(--c-line); }
  .primary-nav__list > li > a[aria-current="page"] { border-bottom-color: var(--c-line); color: var(--c-navy); box-shadow: inset 4px 0 0 var(--c-coral); padding-left: 14px; }
  .mainbar__actions { padding-bottom: 12px; flex-wrap: wrap; }
  .brand img { height: 44px; }
}
@media (max-width: 560px) { .topbar__tagline { display: none; } }

.breadcrumb { font-size: 0.875rem; color: var(--c-muted); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.breadcrumb li + li::before { content: "/"; margin-right: 6px; }
.breadcrumb a { color: inherit; }
.tone-navy .breadcrumb, .section--navy .breadcrumb { color: #C9D3E6; }
.tone-coral .breadcrumb, .tone-teal .breadcrumb { color: var(--c-navy); }

/* 10. Pied de page --------------------------------------------------------- */
.site-footer { position: relative; overflow: hidden; background: var(--c-navy); color: var(--c-navy-100); font-size: var(--fs-small); line-height: 1.6; }
.site-footer__deco { position: absolute; right: 4%; top: 56px; --glyph-size: 200px; opacity: .1; --glyph-color: var(--c-teal); }
.site-footer__inner { position: relative; padding-block: 72px 32px; display: flex; flex-direction: column; gap: 56px; }
.site-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 40px; }
.site-footer__brand img { height: 64px; width: auto; align-self: flex-start; }
.site-footer__baseline { color: var(--c-white); font-weight: 600; font-size: var(--fs-body); }
.site-footer h2 { color: var(--c-white); font-size: var(--fs-small); margin-bottom: 4px; }
.site-footer ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.site-footer a { color: var(--c-navy-100); text-decoration: none; }
.site-footer a:hover { color: var(--c-white); text-decoration: underline; }
.site-footer .is-accent { color: var(--c-teal); }
.site-footer__social { display: flex; flex-wrap: wrap; gap: 14px; }
.site-footer__social a { color: var(--c-teal); text-decoration: underline; }
.site-footer__social .social-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .35); color: var(--c-white); text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.site-footer__social .social-icon:hover, .site-footer__social .social-icon:focus-visible { background: var(--c-teal); border-color: var(--c-teal); color: var(--c-navy); }
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 24px; border-top: 1px solid #2E4A80; font-size: var(--fs-xs); color: #C9D3E6; }
.site-footer__bottom ul { flex-direction: row; flex-wrap: wrap; gap: 6px 20px; }
.site-footer__bottom a { color: #C9D3E6; text-decoration: underline; }

/* 11. Composants ------------------------------------------------------------ */

/* Hero */
.hero { overflow: hidden; }
.hero__inner { padding-block: clamp(40px, 6vw, 72px) clamp(56px, 7vw, 88px); }
.hero__inner--flush { padding-bottom: 0; }
.hero__text { display: flex; flex-direction: column; gap: 24px; }
.hero__text--pad { padding-bottom: clamp(48px, 6vw, 80px); }
.hero__media--right { width: 100%; max-width: 560px; margin-left: auto; }
.hero__checks { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.hero__checks li { display: flex; gap: 10px; }
.hero__checks li::before { content: "✓"; font-weight: 700; }

/* Badge chiffre (sur photo) */
.stat-badge {
  background: var(--c-navy); color: var(--c-white);
  border-radius: 28px 28px 28px 6px;
  padding: 22px 26px; max-width: 240px;
  display: flex; flex-direction: column; gap: 4px;
}
.stat-badge strong { font-size: 2.5rem; letter-spacing: -0.03em; line-height: 1; }
.stat-badge span { font-size: var(--fs-small); line-height: 1.4; }

/* Aiguillage profils */
.profiles { position: relative; margin-top: -48px; }
.profile-card {
  display: flex; align-items: center; gap: 20px;
  padding: 28px; border-radius: 28px;
  background: var(--c-white); color: var(--c-navy);
  text-decoration: none; box-shadow: 0 1px 0 #E0DCD5;
  transition: transform .2s, box-shadow .2s;
}
.profile-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(17, 45, 98, .10); color: var(--c-navy); }
.profile-card__text { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.profile-card__kicker { font-size: 0.875rem; color: var(--c-muted); }
.profile-card__title { font-size: 1.375rem; font-weight: 700; letter-spacing: -0.01em; }
.profile-card__arrow { font-size: 1.375rem; }
.profile-card.tone-navy { background: var(--c-navy); color: var(--c-white); }
.profile-card.tone-navy:hover { color: var(--c-white); }
.profile-card.tone-navy .profile-card__kicker { color: #C9D3E6; }

/* Tuile (promesse, chiffres) */
.tile {
  border-radius: var(--r-bubble);
  padding: 36px;
  min-height: 280px;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 32px;
}
.tile--auto { min-height: 0; }
.tile h3 { font-size: 1.75rem; letter-spacing: -0.02em; }
.tile p { margin-top: 10px; }
.tile.tone-navy p { color: var(--c-navy-100); }

.stat-tile { border-radius: var(--r-bubble); padding: 32px; display: flex; flex-direction: column; gap: 6px; }
.stat-tile strong { font-size: 3.5rem; letter-spacing: -0.04em; line-height: 1; }

/* Carte offre */
.offer-card {
  display: flex; flex-direction: column; justify-content: flex-end; gap: 40px;
  min-height: 200px; padding: 28px;
  border-radius: 28px 28px 28px 6px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.offer-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(17, 45, 98, .10); }
.offer-card h3 { font-size: 1.375rem; letter-spacing: -0.01em; }
.offer-card__desc { font-size: var(--fs-small); margin-top: 6px; }
.offer-card__more { display: block; margin-top: 12px; font-weight: 600; font-size: var(--fs-small); }
.offer-card.tone-navy, .offer-card.tone-violet, .offer-card.tone-plum { color: var(--c-white); }
.offer-card.tone-navy:hover, .offer-card.tone-violet:hover, .offer-card.tone-plum:hover { color: var(--c-white); }

/* Ligne offre pro (texte + photo) */
.offer-row {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  border-radius: var(--r-lg); background: var(--c-white); overflow: hidden;
  color: var(--c-ink); text-decoration: none;
  transition: box-shadow .2s;
}
.offer-row:hover { box-shadow: 0 14px 30px rgba(17, 45, 98, .12); color: var(--c-ink); }
.offer-row__body { padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.offer-row__kicker { font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-sage); }
.offer-row h3 { font-size: 1.75rem; letter-spacing: -0.02em; }
.offer-row img { width: 100%; height: 100%; min-height: 220px; max-height: 260px; object-fit: cover; }

/* Carte fonctionnalité */
.feature-card { border-radius: var(--r-md); padding: 22px; display: flex; flex-direction: column; gap: 6px; background: var(--c-white); }
.feature-card strong { color: var(--c-navy); font-size: 1.125rem; }
.feature-card span { font-size: var(--fs-small); }
.feature-card--outline { background: transparent; border: 1.5px solid var(--c-navy-300); padding: 28px; gap: 10px; border-radius: 28px; }
.feature-card--outline p { color: var(--c-navy-100); font-size: 1rem; }
.feature-card--dark { background: var(--c-navy-500); border-radius: 28px; padding: 26px; }
.feature-card--dark p { color: var(--c-navy-100); font-size: 1rem; }
.feature-card--full { grid-column: 1 / -1; }

/* Bloc arche (texte dans une forme arrondie) */
.arch-block {
  border-radius: 180px 180px var(--r-lg) var(--r-lg);
  padding: 88px 40px 44px;
  display: flex; flex-direction: column; gap: 26px;
}
.arch-block--sm { border-radius: 120px 120px var(--r-lg) var(--r-lg); padding: 64px 36px 36px; gap: 16px; }
.arch-block h2, .arch-block h3 { font-size: clamp(1.5rem, 2.2vw, 1.75rem); line-height: 1.15; letter-spacing: -0.02em; }

/* Liste à puces « a » */
.glyph-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.glyph-list li { display: flex; gap: 12px; align-items: flex-start; }
.glyph-list li::before { content: ""; flex: none; width: 5px; height: 5px; margin-top: 10px; border-radius: 50%; background: currentColor; opacity: .5; }
.glyph-list .glyph { margin-top: 3px; }

/* Étapes */
.steps { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.steps li { display: flex; gap: 18px; align-items: flex-start; background: var(--c-white); border-radius: var(--r-md); padding: 22px; }
.steps--plain li { background: transparent; padding: 0; align-items: center; }
.step-num {
  flex: none; width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 700;
  background: var(--c-coral); color: var(--c-navy);
}
.step-num--teal { background: var(--c-teal); }
.step-num--navy { background: var(--c-navy); color: var(--c-white); }
.steps strong { color: var(--c-navy); display: block; }
.step-card { background: var(--c-white); border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.step-card__num { font-size: 2.75rem; font-weight: 700; line-height: 1; color: var(--theme-num, var(--c-sage)); }
.step-card p { font-size: 1rem; }

/* Rangée de pilules d'avantages */
.benefit { display: flex; gap: 16px; align-items: center; background: var(--c-white); border-radius: var(--r-pill); padding: 14px 24px; }
.benefit strong { color: var(--c-navy); }

/* FAQ */
.faq { border-top: 1px solid var(--c-line); }
.faq details { border-bottom: 1px solid var(--c-line); padding: 22px 0; }
.faq summary {
  display: flex; justify-content: space-between; gap: 16px;
  font-weight: 600; font-size: 1.1875rem; color: var(--c-navy);
  list-style: none; cursor: pointer;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.625rem; line-height: 1; transition: transform .2s; flex: none; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div, .faq details > p { margin-top: 14px; max-width: 640px; }

/* Bandeau CTA */
.cta-band {
  position: relative; overflow: hidden;
  border-radius: var(--r-xl);
  padding: clamp(40px, 5vw, 64px) clamp(28px, 4vw, 48px);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px;
}
.cta-band__text { position: relative; display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.cta-band__text h2 { font-size: clamp(1.75rem, 3.6vw, 3.25rem); line-height: 1.02; letter-spacing: -0.03em; }
.cta-band .cluster { position: relative; }
.cta-band__deco { position: absolute; right: 3%; bottom: 0; width: 170px; --shape-color: var(--c-rose); }

/* Cartes article */
.article-card { display: flex; flex-direction: column; gap: 14px; color: var(--c-ink); text-decoration: none; }
.article-card:hover h3 { text-decoration: underline; }
.article-card__media { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 160px 160px var(--r-md) var(--r-md); }
.article-card:nth-child(3n+2) .article-card__media { border-radius: var(--r-md) 160px var(--r-md) var(--r-md); }
.article-card:nth-child(3n) .article-card__media { border-radius: 160px var(--r-md) var(--r-md) var(--r-md); }
.article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.article-card:hover .article-card__media img { transform: scale(1.03); }
.article-card__cat { font-size: var(--fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-plum); }
.article-card h3 { font-size: 1.375rem; line-height: 1.25; }
.article-card__meta { font-size: 0.875rem; color: var(--c-muted); }

.featured-article {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  border-radius: var(--r-xl); overflow: hidden; text-decoration: none; color: var(--c-navy);
}
.featured-article:hover { color: var(--c-navy); }
.featured-article__body { padding: clamp(32px, 4vw, 48px); display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.featured-article img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }

.related-card { display: flex; gap: 18px; align-items: center; background: var(--c-white); border-radius: var(--r-md); padding: 16px; text-decoration: none; font-weight: 600; }
.related-card img { width: 96px; height: 96px; border-radius: 48px 48px 12px 12px; object-fit: cover; flex: none; }

.newsletter { background: var(--c-navy); color: var(--c-white); border-radius: var(--r-lg); padding: 36px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.newsletter h3 { color: var(--c-white); font-size: 1.5rem; line-height: 1.2; }
.newsletter label { font-size: var(--fs-small); color: var(--c-navy-100); }
.newsletter .input { border-color: transparent; border-radius: var(--r-pill); }

/* Chiffres / équipe */
.team-card { display: flex; flex-direction: column; gap: 12px; }
.team-card .shape { display: grid; place-items: center; color: var(--c-navy); font-size: 0.875rem; }
.team-card strong { color: var(--c-navy); font-size: 1.1875rem; }
.team-card span { font-size: var(--fs-small); margin-top: -8px; }

/* Panneau / carte blanche */
.panel { background: var(--c-white); border-radius: var(--r-lg); padding: clamp(24px, 3vw, 36px); }
.panel--lg { border-radius: 40px; padding: clamp(28px, 4vw, 44px); }
.panel--shadow { box-shadow: 0 1px 0 #E0DCD5; }

/* Formulaires */
.form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.form .full, .field--full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label, .field legend { font-weight: 600; font-size: var(--fs-small); color: var(--c-navy); }
.input, .select, .textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1.5px solid var(--c-field);
  border-radius: var(--r-sm);
  background: var(--c-white);
  font-size: 1rem;
}
.textarea { padding: 12px 14px; min-height: 120px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--c-navy); box-shadow: 0 0 0 3px rgba(17, 45, 98, .15); }
.input::placeholder, .textarea::placeholder { color: #8A8F92; }
.checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: 0.875rem; }
.checkbox input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--c-navy); }
.choice-group { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.choice-group legend { margin-bottom: 8px; width: 100%; }
.choice {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 0 18px;
  border: 1.5px solid var(--c-field); border-radius: var(--r-pill);
  font-size: var(--fs-small); cursor: pointer;
}
.choice input { accent-color: var(--c-white); margin: 0; }
.choice:has(input:checked) { background: var(--c-navy); border-color: var(--c-navy); color: var(--c-white); }
.choice:has(input:focus-visible) { box-shadow: var(--focus); }
.dropzone { border: 1.5px dashed var(--c-field); border-radius: 20px; padding: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.dropzone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dropzone label { cursor: pointer; }
.dropzone:focus-within label { box-shadow: var(--focus); }
.form-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.form-note { font-size: 0.875rem; color: var(--c-muted); }
.form-success { display: none; padding: 18px 22px; border-radius: var(--r-md); background: var(--c-ice); color: var(--c-navy); font-weight: 600; }
.form-success.is-visible { display: block; }

/* Étapes d'un formulaire */
.progress { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; font-size: 0.875rem; font-weight: 600; }
.progress li { padding: 8px 16px; border-radius: var(--r-pill); background: var(--c-gray); color: var(--c-navy); }
.progress li[aria-current="step"] { background: var(--c-navy); color: var(--c-white); }

/* Onglets verticaux */
.tabs { display: flex; flex-direction: column; gap: 8px; }
.tabs [role="tab"] {
  text-align: left; min-height: 52px; padding: 0 22px;
  border-radius: var(--r-pill); border: 1.5px solid var(--c-field);
  background: transparent; color: var(--c-navy); font-weight: 600; cursor: pointer;
}
.tabs [role="tab"][aria-selected="true"] { background: var(--c-navy); border-color: var(--c-navy); color: var(--c-white); }
.tabs--row { flex-direction: row; flex-wrap: wrap; }
.tabs--row [role="tab"] { min-height: 44px; padding: 0 20px; font-size: var(--fs-small); text-decoration: none; display: inline-flex; align-items: center; }

/* Mise en page latérale (sommaire + contenu) */
.with-sidebar { display: flex; flex-wrap: wrap; gap: 40px 48px; align-items: flex-start; }
.with-sidebar__side { flex: 1 1 240px; }
.with-sidebar__main { flex: 999 1 560px; min-width: 0; }
.toc { display: flex; flex-direction: column; gap: 10px; font-size: var(--fs-small); }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }
@media (min-width: 900px) { .toc--sticky { position: sticky; top: 150px; } }

/* Tableau */
.table-wrap { overflow-x: auto; border-radius: 20px; background: var(--c-white); }
.table { width: 100%; border-collapse: collapse; font-size: 1rem; min-width: 520px; }
.table caption { text-align: left; padding: 18px 20px 0; font-weight: 600; color: var(--c-navy); }
.table th, .table td { text-align: left; padding: 13px 20px; border-bottom: 1px solid #EFECE7; }
.table thead th { border-bottom-color: #E0DCD5; color: var(--c-muted); font-weight: 600; font-size: var(--fs-small); }
.table tbody tr:last-child td { border-bottom: 0; }
.table code { font-family: ui-monospace, Menlo, monospace; font-size: 0.8125rem; }

/* Liste de définition (coordonnées) */
.dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 24px; margin: 0; }
.dl dt { font-weight: 600; color: var(--c-navy); }
.dl dd { margin: 0; }

/* Contact : canaux */
.channel { border-radius: 28px 28px 28px 6px; padding: 26px; display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.channel strong { font-size: 1.25rem; }
.channel.tone-navy { color: var(--c-white); }
.channel.tone-navy span { color: var(--c-navy-100); }

/* Bloc auteur */
.byline { display: flex; align-items: center; gap: 14px; font-size: var(--fs-small); color: var(--c-muted); }

/* Encadré produit dans un article */
.inline-offer { margin-top: 16px; border-radius: var(--r-lg); padding: 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.inline-offer strong { font-size: 1.375rem; display: block; }

/* Fiche produit : teintes (data-theme sur <body> ou sur la section) */
[data-theme] { --theme-bg: var(--c-teal); --theme-ink: var(--c-navy); --theme-soft: var(--c-ice); --theme-shape: var(--c-mint); --theme-num: var(--c-sage); }
[data-theme="corail"] { --theme-bg: var(--c-coral); --theme-ink: var(--c-navy); --theme-soft: var(--c-blush); --theme-shape: var(--c-rose); --theme-num: var(--c-coral); }
[data-theme="violet"] { --theme-bg: var(--c-mauve); --theme-ink: var(--c-white); --theme-soft: var(--c-lavender); --theme-shape: var(--c-violet); --theme-num: var(--c-mauve); }
[data-theme="bleu"] { --theme-bg: var(--c-navy); --theme-ink: var(--c-white); --theme-soft: var(--c-gray); --theme-shape: var(--c-coral); --theme-num: var(--c-navy); }
.product-hero { background: var(--theme-bg); color: var(--theme-ink); }
.product-hero h1, .product-hero .breadcrumb, .product-hero .breadcrumb a { color: var(--theme-ink); }
.product-hero .btn--theme { background: var(--c-navy); color: var(--c-white); }
[data-theme="violet"] .product-hero .btn--theme, [data-theme="bleu"] .product-hero .btn--theme { background: var(--c-white); color: var(--c-navy); }
[data-theme="bleu"] .product-hero .btn--theme { background: var(--c-coral); }
.product-hero .btn--outline { color: var(--theme-ink); border-color: var(--theme-ink); }
.product-hero .btn--outline:hover { background: var(--theme-ink); color: var(--theme-bg); }
.theme-soft { background: var(--theme-soft); }
.theme-shape { --shape-color: var(--theme-shape); }

/* Plan du site */
.sitemap-group { background: var(--c-white); border-radius: 28px; overflow: hidden; }
.sitemap-group h2 { padding: 18px 24px; font-size: 1.125rem; }

/* Décor flottant */
.float-glyph { position: absolute; right: 4%; bottom: -24px; --glyph-size: 120px; }
.rel { position: relative; }

/* Ajustements mobile ------------------------------------------------------- */
@media (max-width: 700px) {
  .profiles { margin-top: -20px; }
  .composition { margin-bottom: 12px; }
  .stat-badge { padding: 16px 18px; max-width: 200px; }
  .stat-badge strong { font-size: 2rem; }
  .tile { min-height: 0; padding: 28px; gap: 24px; }
  .offer-card { min-height: 0; gap: 28px; }
  .pill-link img { width: 92px; }
  .arch-block { border-radius: 120px 120px var(--r-lg) var(--r-lg); padding: 64px 26px 32px; }
  .cta-band__deco { width: 110px; }
  .section--rounded { border-radius: 32px 32px 0 0; }
  .panel--lg, .panel { border-radius: var(--r-md); }
}

/* 13. Méga-menu ------------------------------------------------------------ */
.has-mega { display: flex; align-items: center; gap: 2px; }
.mega-toggle {
  display: inline-grid; place-items: center;
  width: 24px; height: 32px; padding: 0; border: 0; background: transparent; color: var(--c-navy); cursor: pointer; border-radius: 8px;
}
.mega-toggle::before { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s; }
.mega-toggle[aria-expanded="true"]::before { transform: translateY(2px) rotate(225deg); }
.mega {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--c-paper);
  border-top: 1px solid #E0DCD5;
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  box-shadow: 0 30px 60px rgba(11, 31, 69, .18);
  visibility: hidden; opacity: 0; transform: translateY(-8px);
  transition: opacity .22s ease, transform .28s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .28s;
  z-index: 60;
}
.has-mega.is-open > .mega { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.mega__inner { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 2fr) minmax(0, 1fr); gap: 40px; padding-block: 36px 40px; align-items: start; }
.mega__intro { display: flex; flex-direction: column; gap: 14px; }
.mega__title { font-size: 1.625rem; line-height: 1.12; letter-spacing: -0.02em; font-weight: 700; color: var(--c-navy); }
.mega__grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.mega__item {
  display: flex; gap: 14px; align-items: center;
  padding: 10px 12px; border-radius: 18px;
  text-decoration: none; color: var(--c-navy);
  transition: background-color .2s, transform .2s;
}
.mega__item strong { display: block; font-size: 0.9375rem; }
.mega__item small { display: block; font-size: 0.8125rem; color: var(--c-muted); }
.mega__item .glyph { --glyph-size: 30px; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.mega__item:hover, .mega__item:focus-visible { background: var(--c-white); color: var(--c-navy); }

.mega__chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px 0; }
.mega__feature {
  display: flex; flex-direction: column; gap: 16px;
  border-radius: 28px 28px 28px 6px; padding: 22px;
  text-decoration: none; overflow: hidden;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}
.mega__feature:hover { transform: translateY(-2px); }
.mega__feature.tone-navy, .mega__feature.tone-navy:hover { color: var(--c-white); }
.mega__photo { width: 120px; }
.mega__photo img { transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.mega__feature:hover .mega__photo img { transform: scale(1.03); }
.mega__feature-text { display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-small); }
.mega__feature-text strong { font-size: 1.125rem; line-height: 1.2; }
.mega-backdrop {
  position: fixed; inset: 0; z-index: 40;
  background: rgba(11, 31, 69, .12);
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s linear .25s;
}
.mega-backdrop.is-visible { opacity: 1; visibility: visible; transition-delay: 0s; }

@media (max-width: 1080px) {
  .has-mega { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid var(--c-line); }
  .has-mega > a { flex: 1; border-bottom: 0 !important; }
  .mega-toggle { width: 52px; height: 52px; }
  .mega { position: static; flex-basis: 100%; display: none; visibility: visible; opacity: 1; transform: none; box-shadow: none; border: 0; background: transparent; border-radius: 0; }
  .has-mega.is-open > .mega { display: block; }
  .mega__inner { display: block; padding: 0 0 16px; }
  .mega__intro, .mega__feature { display: none; }
  .mega__grid { grid-template-columns: 1fr; }
  .mega__item small { display: none; }
  .mega__chips { display: none; }
  .mega-backdrop { display: none; }
  .site-header.is-open .primary-nav { max-height: calc(100vh - 140px); overflow-y: auto; }
}

/* 14. En-tête au défilement -------------------------------------------------- */
.site-header { transition: box-shadow .3s, background-color .3s; }
.topbar { overflow: hidden; max-height: 80px; transition: max-height .35s ease; }
.mainbar { transition: padding .3s ease; }
.brand img { transition: height .3s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(17, 45, 98, .10); background: rgba(246, 244, 240, .92); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); }
@media (min-width: 1081px) {
  .site-header.is-scrolled .topbar { max-height: 0; }
  .site-header.is-scrolled .mainbar { padding-block: 8px; }
  .site-header.is-scrolled .brand img { height: 44px; }
}

/* 15. Mouvement ------------------------------------------------------------- */
@keyframes fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes pop-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes reveal-shape { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes talk { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.9) translateY(2px); } }

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }

  /* Entrée du hero */
  .js .hero__text > * { opacity: 0; animation: fade-up .7s ease-out forwards; }
  .js .hero__text > *:nth-child(1) { animation-delay: .05s; }
  .js .hero__text > *:nth-child(2) { animation-delay: .15s; }
  .js .hero__text > *:nth-child(3) { animation-delay: .25s; }
  .js .hero__text > *:nth-child(4) { animation-delay: .35s; }
  .js .hero__text > *:nth-child(5) { animation-delay: .45s; }
  .js .hero__text > *:nth-child(6) { animation-delay: .55s; }
  .js .hero .composition > *, .js .hero .hero__media--right, .js .hero .shape--l, .js .hero .rel > .shape { opacity: 0; animation: reveal-shape 1s cubic-bezier(.2, .8, .2, 1) forwards; }
  .js .hero .composition > *:nth-child(1) { animation-delay: .2s; }
  .js .hero .composition > *:nth-child(2) { animation-delay: .35s; }
  .js .hero .composition > *:nth-child(3) { animation-delay: .7s; animation-name: pop-in; }
  .js .hero .stat-badge { opacity: 0; animation: pop-in .6s .6s ease-out forwards; }

  /* Formes qui respirent */
  .tile .glyph, .offer-card .glyph, .profile-card .glyph { transform-origin: 30% 90%; transition: transform .3s ease; }
  .tile:hover .glyph, .offer-card:hover .glyph, .profile-card:hover .glyph { transform: rotate(-5deg); }

  /* Apparition au défilement */
  .reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease-out, transform .6s ease-out; transition-delay: var(--d, 0s); }
  .reveal.is-in { opacity: 1; transform: none; }

  /* Photos qui vivent au survol */
  .shape > img, .article-card__media img, .offer-row img, .audience-card img { transition: transform .6s ease; }
  .shape:hover > img, .offer-row:hover img, .audience-card:hover img { transform: scale(1.02); }

  /* Flèches qui avancent */
  .btn [aria-hidden="true"], .profile-card__arrow, .pill-link > span[aria-hidden="true"], .text-link { transition: transform .25s; }
  .btn:hover [aria-hidden="true"], .profile-card:hover .profile-card__arrow, .pill-link:hover > span[aria-hidden="true"] { transform: translateX(3px); }

  /* Trait dessiné sous le slogan */
  .scribble path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.1s .9s cubic-bezier(.6, 0, .2, 1) forwards; }
  .marquee__track { animation: marquee 70s linear infinite; }
  .marquee:hover .marquee__track { animation-play-state: paused; }
}

/* Bandeau défilant */
.marquee { overflow: hidden; padding-block: 16px; background: var(--c-gray); color: var(--c-navy); border-radius: var(--r-pill); }
.marquee__track { display: flex; width: max-content; gap: 0; }
.marquee__item { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; font-size: clamp(1rem, 1.6vw, 1.375rem); font-weight: 600; letter-spacing: -0.02em; white-space: nowrap; }
.marquee__item::after { content: "·"; opacity: .35; }
.marquee__item:nth-child(4n+1) .glyph { --glyph-color: var(--c-coral); }
.marquee__item:nth-child(4n+2) .glyph { --glyph-color: var(--c-teal); }
.marquee__item:nth-child(4n+3) .glyph { --glyph-color: var(--c-mauve); }
.marquee__item:nth-child(4n) .glyph { --glyph-color: var(--c-rose); }
.marquee-wrap { padding-block: 72px 0; }

/* Slogan souligné */
.scribble { position: relative; display: inline-block; white-space: nowrap; }
.scribble svg { position: absolute; left: -2%; bottom: -0.12em; width: 104%; height: 0.35em; overflow: visible; pointer-events: none; }
.scribble path { fill: none; stroke: var(--c-coral); stroke-width: 7; stroke-linecap: round; }


/* Bulle de contact flottante */
.chat-bubble {
  position: fixed; right: 20px; bottom: 20px; z-index: 45;
  display: flex; align-items: center; gap: 10px; text-decoration: none;
}
.chat-bubble__shape {
  display: grid; place-items: center;
  width: 60px; height: 60px;
  border-radius: 30px 30px 6px 30px;
  background: var(--c-coral); color: var(--c-navy);
  box-shadow: 0 12px 30px rgba(17, 45, 98, .25);
  transition: transform .35s cubic-bezier(.3, 1.6, .5, 1), border-radius .35s;
}
.chat-bubble:hover .chat-bubble__shape { transform: translateY(-2px); }
.chat-bubble__label {
  background: var(--c-white); color: var(--c-navy); font-size: 0.875rem;
  padding: 10px 16px; border-radius: 20px 20px 4px 20px; box-shadow: 0 10px 24px rgba(17, 45, 98, .14);
  opacity: 0; transform: translateX(10px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.chat-bubble:hover .chat-bubble__label, .chat-bubble:focus-visible .chat-bubble__label { opacity: 1; transform: none; }
.chat-bubble:focus-visible { box-shadow: none; }
.chat-bubble:focus-visible .chat-bubble__shape { box-shadow: var(--focus); }
@media (max-width: 700px) { .chat-bubble { right: 14px; bottom: 14px; } .chat-bubble__shape { width: 54px; height: 54px; } }

/* Correctifs de lisibilité */
.stat-tile strong { font-size: clamp(2.25rem, 3.4vw, 3.5rem); }
.key-points { justify-content: center; }

/* Points clés (bandeau blanc) */
.key-points {
  list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 28px;
  background: var(--c-white); border-radius: var(--r-lg); padding: 24px 32px;
  box-shadow: 0 10px 30px rgba(17, 45, 98, .08);
  font-weight: 600; color: var(--c-navy); font-size: var(--fs-small);
}
.key-points li { display: flex; align-items: center; gap: 10px; }
.key-points li + li::before { content: "·"; margin-right: 18px; opacity: .35; }

/* Étapes numérotées (connexion CRM) */
.code-steps { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.code-steps li { display: flex; gap: 18px; align-items: center; background: var(--c-navy-500); border-radius: var(--r-md); padding: 20px 24px; }
.code-steps__num { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--c-teal); color: var(--c-navy); font-weight: 700; font-size: 1.25rem; }
.code-steps li:nth-child(2) .code-steps__num { background: var(--c-coral); }
.code-steps li:nth-child(3) .code-steps__num { background: var(--c-white); }
.code-steps strong { display: block; color: var(--c-white); font-size: 1.125rem; }
.code-steps div span { color: var(--c-navy-100); font-size: var(--fs-small); }

/* Catalogue produits par catégorie */
.catalog { border-radius: var(--r-lg); padding: clamp(28px, 3vw, 40px); display: flex; flex-direction: column; gap: 28px; height: 100%; }
.catalog__groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 24px; }
.catalog h4 { font-size: var(--fs-small); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px; }
.catalog ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.catalog li { display: flex; gap: 10px; font-size: var(--fs-small); }
.catalog li::before { content: ""; flex: none; width: 5px; height: 5px; margin-top: 9px; border-radius: 50%; background: currentColor; opacity: .45; }

/* Événement */
.event { border-radius: var(--r-xl); padding: clamp(28px, 4vw, 48px); display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: center; }
.event__date { flex: none; width: 180px; aspect-ratio: 254 / 252; clip-path: url(#clip-arche); background: var(--c-navy); color: var(--c-white); display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 20px; }
.event__date strong { font-size: 2.5rem; letter-spacing: -0.03em; line-height: 1; }
.event__date span { font-size: var(--fs-small); font-weight: 600; }
.event__body { flex: 1 1 420px; }

/* Carte interlocuteur */
.contact-card { background: var(--c-white); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 18px; justify-content: space-between; }
.contact-card__photo { width: 140px; display: grid; place-items: center; color: var(--c-navy); font-size: 0.875rem; }

/* Liste « a » simple (produits) */
.product-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 10px; }
.product-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--c-white); border-radius: var(--r-pill); padding: 10px 10px 10px 22px; font-weight: 600; color: var(--c-navy); }
.product-list li small { display: block; font-weight: 400; color: var(--c-muted); font-size: var(--fs-xs); }
.product-list a { flex: none; }

/* Frise chronologique */
.timeline { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; counter-reset: none; }
.timeline li { position: relative; background: var(--c-white); border-radius: var(--r-bubble); padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.timeline__year { font-size: 1.75rem; font-weight: 700; letter-spacing: -0.03em; color: var(--c-coral); line-height: 1; }
.timeline li:nth-child(3n+2) .timeline__year { color: var(--c-sage); }
.timeline li:nth-child(3n) .timeline__year { color: var(--c-mauve); }
.timeline li.is-now { background: var(--c-navy); color: var(--c-navy-100); }
.timeline li.is-now h3 { color: var(--c-white); }
.timeline li.is-now .timeline__year { color: var(--c-teal); }

/* Cartes publics (ActuData pour vous) */
.audience-card { border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; }
.audience-card img { width: 100%; height: 220px; object-fit: cover; }
.audience-card__body { padding: 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.audience-card__body .btn { margin-top: auto; align-self: flex-start; }

.tone-white h2, .tone-white h3, .tone-lavender h2, .tone-lavender h3, .tone-blush h2, .tone-blush h3,
.tone-ice h2, .tone-ice h3, .tone-gray h2, .tone-gray h3, .tone-mint h2, .tone-mint h3, .tone-rose h2, .tone-rose h3 { color: var(--c-navy); }

/* 8. Tons de couleur (placés après les composants pour pouvoir les surcharger) ------------------------------------------------------- */
.tone-coral    { background: var(--c-coral);    color: var(--c-navy);  --accent: var(--c-blush); }
.tone-teal     { background: var(--c-teal);     color: var(--c-navy);  --accent: var(--c-navy); }
.tone-navy     { background: var(--c-navy);     color: var(--c-white); --accent: var(--c-coral); }
.tone-gray     { background: var(--c-gray);     color: var(--c-navy);  --accent: var(--c-sage); }
.tone-white    { background: var(--c-white);    color: var(--c-ink);   --accent: var(--c-coral); }
.tone-lavender { background: var(--c-lavender); color: var(--c-navy);  --accent: var(--c-mauve); }
.tone-rose     { background: var(--c-rose);     color: var(--c-navy);  --accent: var(--c-plum); }
.tone-mint     { background: var(--c-mint);     color: var(--c-navy);  --accent: var(--c-navy); }
.tone-violet   { background: var(--c-violet);   color: var(--c-white); --accent: var(--c-blush); }
.tone-plum     { background: var(--c-plum);     color: var(--c-white); --accent: var(--c-rose); }
.tone-ice      { background: var(--c-ice);      color: var(--c-navy);  --accent: var(--c-coral); }
.tone-blush    { background: var(--c-blush);    color: var(--c-navy);  --accent: var(--c-coral); }
.tone-navy h2, .tone-navy h3, .tone-violet h2, .tone-violet h3, .tone-plum h2, .tone-plum h3 { color: var(--c-white); }
.tone-coral h2, .tone-coral h3, .tone-teal h2, .tone-teal h3 { color: var(--c-navy); }

/* 12. Utilitaires ---------------------------------------------------------- */
.u-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.u-sr-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.u-mt-0 { margin-top: 0; }
.u-mb-24 { margin-bottom: 24px; }
.u-mb-36 { margin-bottom: 36px; }
.u-align-start { align-self: flex-start; }
.u-max-480 { max-width: 480px; width: 100%; }
.u-max-380 { max-width: 380px; width: 100%; }
.u-max-520 { max-width: 520px; width: 100%; }
.u-ml-auto { margin-left: auto; }
.u-pt-24 { padding-top: 24px; }
.u-w-full { width: 100%; }
.u-text-white { color: var(--c-white); }
.u-text-navy { color: var(--c-navy); }
.u-text-teal { color: var(--c-teal); }

/* 13. Classes issues des styles en ligne de l'intégration ------------------- */
/* Aucun style en ligne dans les gabarits : chaque valeur posée en ligne par l'intégration validée est une classe. */
.section--paper { background: var(--c-paper); }
.h1--md { font-size: clamp(2.375rem, 4.6vw, 4rem); }
.h2--md, .h2--sm { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.h3--md { font-size: 1.75rem; }
.lead--strong { font-weight: 600; font-size: 1.375rem; max-width: none; }
.u-mt-8 { margin-top: 8px; }
.u-mt-28 { margin-top: 28px; }
.u-max-340 { max-width: 340px; width: 100%; }
.gap-12 { gap: 12px; }
.gap-14 { gap: 14px; }
.gap-16 { gap: 16px; }
.gap-20 { gap: 20px; }
.gap-24 { gap: 24px; }
.gap-40 { gap: 40px; }
.gap-48 { gap: 48px; }
.stack--text { font-size: 1.1875rem; gap: 20px; }
.pill-link--pad { padding-right: 22px; }
.shape-color--coral { --shape-color: var(--c-coral); }
.shape-color--teal { --shape-color: var(--c-teal); }
.shape-color--navy { --shape-color: var(--c-navy); }
.shape-color--mint { --shape-color: var(--c-mint); }
.shape-color--rose { --shape-color: var(--c-rose); }
.composition .c-back-br { right: 0; bottom: 0; width: 46%; }
.composition .c-front-tl { left: 6%; top: 0; width: 56%; }
.composition .c-back-bl-40 { left: 0; bottom: 0; width: 40%; }
.composition .c-w-70 { width: 70%; }
.stat-badge--corner { position: absolute; left: 0; bottom: 40px; }
.grid--mosaic { align-items: end; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--audience { gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.audience-card--center, .audience-card__body--center { justify-content: center; }
.key-points-wrap { margin-top: -40px; position: relative; }
/* Carte statique de l'agence : aucun service de cartes tiers avant consentement. */
.map-card { display: grid; place-items: center; color: var(--c-navy); font-weight: 600; text-align: center; }
.map-card__body { display: grid; gap: 8px; padding: 24px; max-width: 80%; }
.map-card__body span { font-weight: 500; }

/* Cadrage des photos (object-position) : classes à pas de 5 % en largeur et 10 % en hauteur, à la place du style en ligne. */
.pos-0-0 { object-position: 0% 0%; }
.pos-0-10 { object-position: 0% 10%; }
.pos-0-20 { object-position: 0% 20%; }
.pos-0-30 { object-position: 0% 30%; }
.pos-0-40 { object-position: 0% 40%; }
.pos-0-50 { object-position: 0% 50%; }
.pos-0-60 { object-position: 0% 60%; }
.pos-0-70 { object-position: 0% 70%; }
.pos-0-80 { object-position: 0% 80%; }
.pos-0-90 { object-position: 0% 90%; }
.pos-0-100 { object-position: 0% 100%; }
.pos-5-0 { object-position: 5% 0%; }
.pos-5-10 { object-position: 5% 10%; }
.pos-5-20 { object-position: 5% 20%; }
.pos-5-30 { object-position: 5% 30%; }
.pos-5-40 { object-position: 5% 40%; }
.pos-5-50 { object-position: 5% 50%; }
.pos-5-60 { object-position: 5% 60%; }
.pos-5-70 { object-position: 5% 70%; }
.pos-5-80 { object-position: 5% 80%; }
.pos-5-90 { object-position: 5% 90%; }
.pos-5-100 { object-position: 5% 100%; }
.pos-10-0 { object-position: 10% 0%; }
.pos-10-10 { object-position: 10% 10%; }
.pos-10-20 { object-position: 10% 20%; }
.pos-10-30 { object-position: 10% 30%; }
.pos-10-40 { object-position: 10% 40%; }
.pos-10-50 { object-position: 10% 50%; }
.pos-10-60 { object-position: 10% 60%; }
.pos-10-70 { object-position: 10% 70%; }
.pos-10-80 { object-position: 10% 80%; }
.pos-10-90 { object-position: 10% 90%; }
.pos-10-100 { object-position: 10% 100%; }
.pos-15-0 { object-position: 15% 0%; }
.pos-15-10 { object-position: 15% 10%; }
.pos-15-20 { object-position: 15% 20%; }
.pos-15-30 { object-position: 15% 30%; }
.pos-15-40 { object-position: 15% 40%; }
.pos-15-50 { object-position: 15% 50%; }
.pos-15-60 { object-position: 15% 60%; }
.pos-15-70 { object-position: 15% 70%; }
.pos-15-80 { object-position: 15% 80%; }
.pos-15-90 { object-position: 15% 90%; }
.pos-15-100 { object-position: 15% 100%; }
.pos-20-0 { object-position: 20% 0%; }
.pos-20-10 { object-position: 20% 10%; }
.pos-20-20 { object-position: 20% 20%; }
.pos-20-30 { object-position: 20% 30%; }
.pos-20-40 { object-position: 20% 40%; }
.pos-20-50 { object-position: 20% 50%; }
.pos-20-60 { object-position: 20% 60%; }
.pos-20-70 { object-position: 20% 70%; }
.pos-20-80 { object-position: 20% 80%; }
.pos-20-90 { object-position: 20% 90%; }
.pos-20-100 { object-position: 20% 100%; }
.pos-25-0 { object-position: 25% 0%; }
.pos-25-10 { object-position: 25% 10%; }
.pos-25-20 { object-position: 25% 20%; }
.pos-25-30 { object-position: 25% 30%; }
.pos-25-40 { object-position: 25% 40%; }
.pos-25-50 { object-position: 25% 50%; }
.pos-25-60 { object-position: 25% 60%; }
.pos-25-70 { object-position: 25% 70%; }
.pos-25-80 { object-position: 25% 80%; }
.pos-25-90 { object-position: 25% 90%; }
.pos-25-100 { object-position: 25% 100%; }
.pos-30-0 { object-position: 30% 0%; }
.pos-30-10 { object-position: 30% 10%; }
.pos-30-20 { object-position: 30% 20%; }
.pos-30-30 { object-position: 30% 30%; }
.pos-30-40 { object-position: 30% 40%; }
.pos-30-50 { object-position: 30% 50%; }
.pos-30-60 { object-position: 30% 60%; }
.pos-30-70 { object-position: 30% 70%; }
.pos-30-80 { object-position: 30% 80%; }
.pos-30-90 { object-position: 30% 90%; }
.pos-30-100 { object-position: 30% 100%; }
.pos-35-0 { object-position: 35% 0%; }
.pos-35-10 { object-position: 35% 10%; }
.pos-35-20 { object-position: 35% 20%; }
.pos-35-30 { object-position: 35% 30%; }
.pos-35-40 { object-position: 35% 40%; }
.pos-35-50 { object-position: 35% 50%; }
.pos-35-60 { object-position: 35% 60%; }
.pos-35-70 { object-position: 35% 70%; }
.pos-35-80 { object-position: 35% 80%; }
.pos-35-90 { object-position: 35% 90%; }
.pos-35-100 { object-position: 35% 100%; }
.pos-40-0 { object-position: 40% 0%; }
.pos-40-10 { object-position: 40% 10%; }
.pos-40-20 { object-position: 40% 20%; }
.pos-40-30 { object-position: 40% 30%; }
.pos-40-40 { object-position: 40% 40%; }
.pos-40-50 { object-position: 40% 50%; }
.pos-40-60 { object-position: 40% 60%; }
.pos-40-70 { object-position: 40% 70%; }
.pos-40-80 { object-position: 40% 80%; }
.pos-40-90 { object-position: 40% 90%; }
.pos-40-100 { object-position: 40% 100%; }
.pos-45-0 { object-position: 45% 0%; }
.pos-45-10 { object-position: 45% 10%; }
.pos-45-20 { object-position: 45% 20%; }
.pos-45-30 { object-position: 45% 30%; }
.pos-45-40 { object-position: 45% 40%; }
.pos-45-50 { object-position: 45% 50%; }
.pos-45-60 { object-position: 45% 60%; }
.pos-45-70 { object-position: 45% 70%; }
.pos-45-80 { object-position: 45% 80%; }
.pos-45-90 { object-position: 45% 90%; }
.pos-45-100 { object-position: 45% 100%; }
.pos-50-0 { object-position: 50% 0%; }
.pos-50-10 { object-position: 50% 10%; }
.pos-50-20 { object-position: 50% 20%; }
.pos-50-30 { object-position: 50% 30%; }
.pos-50-40 { object-position: 50% 40%; }
.pos-50-50 { object-position: 50% 50%; }
.pos-50-60 { object-position: 50% 60%; }
.pos-50-70 { object-position: 50% 70%; }
.pos-50-80 { object-position: 50% 80%; }
.pos-50-90 { object-position: 50% 90%; }
.pos-50-100 { object-position: 50% 100%; }
.pos-55-0 { object-position: 55% 0%; }
.pos-55-10 { object-position: 55% 10%; }
.pos-55-20 { object-position: 55% 20%; }
.pos-55-30 { object-position: 55% 30%; }
.pos-55-40 { object-position: 55% 40%; }
.pos-55-50 { object-position: 55% 50%; }
.pos-55-60 { object-position: 55% 60%; }
.pos-55-70 { object-position: 55% 70%; }
.pos-55-80 { object-position: 55% 80%; }
.pos-55-90 { object-position: 55% 90%; }
.pos-55-100 { object-position: 55% 100%; }
.pos-60-0 { object-position: 60% 0%; }
.pos-60-10 { object-position: 60% 10%; }
.pos-60-20 { object-position: 60% 20%; }
.pos-60-30 { object-position: 60% 30%; }
.pos-60-40 { object-position: 60% 40%; }
.pos-60-50 { object-position: 60% 50%; }
.pos-60-60 { object-position: 60% 60%; }
.pos-60-70 { object-position: 60% 70%; }
.pos-60-80 { object-position: 60% 80%; }
.pos-60-90 { object-position: 60% 90%; }
.pos-60-100 { object-position: 60% 100%; }
.pos-65-0 { object-position: 65% 0%; }
.pos-65-10 { object-position: 65% 10%; }
.pos-65-20 { object-position: 65% 20%; }
.pos-65-30 { object-position: 65% 30%; }
.pos-65-40 { object-position: 65% 40%; }
.pos-65-50 { object-position: 65% 50%; }
.pos-65-60 { object-position: 65% 60%; }
.pos-65-70 { object-position: 65% 70%; }
.pos-65-80 { object-position: 65% 80%; }
.pos-65-90 { object-position: 65% 90%; }
.pos-65-100 { object-position: 65% 100%; }
.pos-70-0 { object-position: 70% 0%; }
.pos-70-10 { object-position: 70% 10%; }
.pos-70-20 { object-position: 70% 20%; }
.pos-70-30 { object-position: 70% 30%; }
.pos-70-40 { object-position: 70% 40%; }
.pos-70-50 { object-position: 70% 50%; }
.pos-70-60 { object-position: 70% 60%; }
.pos-70-70 { object-position: 70% 70%; }
.pos-70-80 { object-position: 70% 80%; }
.pos-70-90 { object-position: 70% 90%; }
.pos-70-100 { object-position: 70% 100%; }
.pos-75-0 { object-position: 75% 0%; }
.pos-75-10 { object-position: 75% 10%; }
.pos-75-20 { object-position: 75% 20%; }
.pos-75-30 { object-position: 75% 30%; }
.pos-75-40 { object-position: 75% 40%; }
.pos-75-50 { object-position: 75% 50%; }
.pos-75-60 { object-position: 75% 60%; }
.pos-75-70 { object-position: 75% 70%; }
.pos-75-80 { object-position: 75% 80%; }
.pos-75-90 { object-position: 75% 90%; }
.pos-75-100 { object-position: 75% 100%; }
.pos-80-0 { object-position: 80% 0%; }
.pos-80-10 { object-position: 80% 10%; }
.pos-80-20 { object-position: 80% 20%; }
.pos-80-30 { object-position: 80% 30%; }
.pos-80-40 { object-position: 80% 40%; }
.pos-80-50 { object-position: 80% 50%; }
.pos-80-60 { object-position: 80% 60%; }
.pos-80-70 { object-position: 80% 70%; }
.pos-80-80 { object-position: 80% 80%; }
.pos-80-90 { object-position: 80% 90%; }
.pos-80-100 { object-position: 80% 100%; }
.pos-85-0 { object-position: 85% 0%; }
.pos-85-10 { object-position: 85% 10%; }
.pos-85-20 { object-position: 85% 20%; }
.pos-85-30 { object-position: 85% 30%; }
.pos-85-40 { object-position: 85% 40%; }
.pos-85-50 { object-position: 85% 50%; }
.pos-85-60 { object-position: 85% 60%; }
.pos-85-70 { object-position: 85% 70%; }
.pos-85-80 { object-position: 85% 80%; }
.pos-85-90 { object-position: 85% 90%; }
.pos-85-100 { object-position: 85% 100%; }
.pos-90-0 { object-position: 90% 0%; }
.pos-90-10 { object-position: 90% 10%; }
.pos-90-20 { object-position: 90% 20%; }
.pos-90-30 { object-position: 90% 30%; }
.pos-90-40 { object-position: 90% 40%; }
.pos-90-50 { object-position: 90% 50%; }
.pos-90-60 { object-position: 90% 60%; }
.pos-90-70 { object-position: 90% 70%; }
.pos-90-80 { object-position: 90% 80%; }
.pos-90-90 { object-position: 90% 90%; }
.pos-90-100 { object-position: 90% 100%; }
.pos-95-0 { object-position: 95% 0%; }
.pos-95-10 { object-position: 95% 10%; }
.pos-95-20 { object-position: 95% 20%; }
.pos-95-30 { object-position: 95% 30%; }
.pos-95-40 { object-position: 95% 40%; }
.pos-95-50 { object-position: 95% 50%; }
.pos-95-60 { object-position: 95% 60%; }
.pos-95-70 { object-position: 95% 70%; }
.pos-95-80 { object-position: 95% 80%; }
.pos-95-90 { object-position: 95% 90%; }
.pos-95-100 { object-position: 95% 100%; }
.pos-100-0 { object-position: 100% 0%; }
.pos-100-10 { object-position: 100% 10%; }
.pos-100-20 { object-position: 100% 20%; }
.pos-100-30 { object-position: 100% 30%; }
.pos-100-40 { object-position: 100% 40%; }
.pos-100-50 { object-position: 100% 50%; }
.pos-100-60 { object-position: 100% 60%; }
.pos-100-70 { object-position: 100% 70%; }
.pos-100-80 { object-position: 100% 80%; }
.pos-100-90 { object-position: 100% 90%; }
.pos-100-100 { object-position: 100% 100%; }
.h3--lg { font-size: 1.5rem; }

/* 14. Formulaires gérés dans l'administration (LOT-04) ----------------------- */
.hp-field { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.req { color: var(--c-coral); }
.hint { font-size: var(--fs-xs); color: var(--c-muted); }
.field-error { color: #B3261E; font-size: var(--fs-small); font-weight: 600; }
.field-error[hidden] { display: none; }
.field [aria-invalid="true"] { border-color: #B3261E; }
.form-errors { padding: 16px 20px; border-radius: var(--r-md); background: #FDECEA; color: #7A1712; }
.form-errors ul { margin: 8px 0 0 20px; }
.form-gdpr { margin-top: 4px; }
.form-gdpr a { color: inherit; }
.dropzone__files { flex-basis: 100%; font-size: var(--fs-small); color: var(--c-muted); }
.dropzone .field-error, .dropzone .hint { flex-basis: 100%; }
.form-success:focus { outline: none; }
.dl dd + dt { margin-top: 8px; }
.tabs a {
  display: inline-flex; align-items: center; text-align: left; min-height: 52px; padding: 0 22px; border: 1.5px solid var(--c-field); border-radius: var(--r-pill);
  color: var(--c-navy); font-weight: 600; text-decoration: none; background: transparent;
}
.tabs a:hover { border-color: var(--c-navy); }
.tabs a[aria-current="page"] { background: var(--c-navy); border-color: var(--c-navy); color: var(--c-white); }
.tag--ice { background: var(--c-ice); color: var(--c-navy); }
.h1--sm { font-size: clamp(2.25rem, 4vw, 3.5rem); }
.u-basis-280 { flex-basis: 280px; }
.strong-lg { font-size: 1.125rem; }
.thanks { max-width: 760px; }

/* Actualité (LOT-07) : classes de l'intégration remplaçant les styles en ligne, pagination, signature */
.shape--wide { aspect-ratio: 2 / 1; }
.h1--article { font-size: clamp(2.375rem, 4.8vw, 4rem); }
.h1--legal { font-size: clamp(2.375rem, 4.6vw, 4rem); }
.h3--lg { font-size: 1.75rem; }
.lead--wide { max-width: none; }
.grid--auto-fit { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.gap-28 { gap: 28px; }
.news-hero { margin-top: 40px; }
.pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.pagination a, .pagination span { padding: 8px 14px; border-radius: var(--r-pill); border: 1.5px solid var(--c-line); color: var(--c-navy); text-decoration: none; font-weight: 600; }
.pagination .current { background: var(--c-navy); color: var(--c-white); border-color: var(--c-navy); }
.related-card img { object-fit: cover; }
.prose details { border-top: 1px solid var(--c-line); padding: 14px 0; }
.prose details summary { font-weight: 600; color: var(--c-navy); cursor: pointer; }
.prose table { width: 100%; border-collapse: collapse; font-size: 1rem; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--c-line); vertical-align: top; }
.prose th { color: var(--c-navy); background: var(--c-gray, #F4F2EE); }
.list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.list a { color: var(--c-navy); }

/* Bandeau de cookies (LOT-08) : trois choix au même niveau */
.cookie-banner { position: fixed; inset: auto 16px 16px 16px; z-index: 60; background: var(--c-white); color: var(--c-ink); border-radius: var(--r-lg); box-shadow: 0 10px 40px rgba(17, 45, 98, .22); max-width: 980px; margin-inline: auto; }
.cookie-banner[hidden] { display: none; }
.cookie-banner__inner { display: grid; gap: 16px; padding: 20px 24px; }
.cookie-banner__title { font-size: 1.125rem; margin: 0 0 4px; }
.cookie-banner__text p { margin: 0; font-size: .875rem; line-height: 1.45; }
.cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cookie-banner__actions .btn { flex: 1 1 140px; }
.cookie-banner__panel { display: grid; gap: 12px; border-top: 1px solid var(--c-line); padding-top: 14px; }
.cookie-banner__panel[hidden] { display: none; }
.cookie-banner__panel fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.cookie-banner__panel legend { font-weight: 600; color: var(--c-navy); margin-bottom: 6px; }
.cookie-banner .choice { display: flex; gap: 10px; align-items: flex-start; font-size: .9375rem; }
.link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.link-button:hover { color: var(--c-teal); }
@media (min-width: 900px) { .cookie-banner__inner { grid-template-columns: 1fr auto; align-items: center; } .cookie-banner__panel { grid-column: 1 / -1; } .cookie-banner__actions .btn { flex: 0 0 auto; } }

/* ==========================================================================
   Silo partenaires (LOT-06) : feuille de l'intégration, fusionnée dans l'unique feuille du thème (CDC § 09 et 14).
   Tout est rangé sous .silo.
   ========================================================================== */
/* ==========================================================================
   ActuData · silo /partenaires/ · feuille complémentaire à main.css
   Les 39 pages du silo reprennent l'en-tête, le pied de page, la typographie
   (Inter), les couleurs et les formes de la charte. Cette feuille ne contient
   que les composants propres au silo, tous rangés sous .silo.
   ========================================================================== */
.silo { display: block; }
.silo .hidden, .silo [hidden] { display: none !important; }
.silo .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Avatars d'inspecteur : forme « arche » de la charte, initiales en attendant les photos */
.silo .sp-avatar, .silo .sp-person-avatar {
  flex: none; display: grid; place-items: center;
  clip-path: url(#clip-arche); background: var(--sp-ton, var(--c-teal));
  color: var(--c-navy); font-weight: 700; letter-spacing: .02em;
}
.silo .sp-avatar { width: 76px; height: 88px; font-size: 1.25rem; border: 0; border-radius: 0; }
.silo .sp-person-avatar { width: 84px; height: 96px; font-size: 1.375rem; }
.silo .sp-ton-teal { --sp-ton: var(--c-teal); }
.silo .sp-ton-coral { --sp-ton: var(--c-coral); }

/* Photo de la charte à la place des emplacements de maquette */
.silo .sp-avatar img, .silo .sp-person-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
/* Photo de fin de page : garde les proportions de sa forme (bulle, goutte), un 4/3 imposé l’écrasait. */
.silo .sp-photo { max-width: 300px; margin-bottom: 28px; }

/* Erreurs de formulaire */
.silo .field.is-invalid input, .silo .field.is-invalid select { border-color: #C2412D !important; }
.silo .field-error { display: block; margin-top: 6px; font-size: .875rem; font-weight: 600; color: #B23A26; }


/* ===== Gabarits repris des maquettes, sur les tokens de la charte ===== */
.silo--courtier .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
.silo--courtier .section{padding:76px 0}
.silo--courtier .eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-coral);margin-bottom:14px;}
.silo--courtier .eyebrow--muted{color:var(--c-muted)}
.silo--courtier .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:16px;font-weight:600;
  padding:15px 28px;border-radius:999px;border:0;cursor:pointer;
  text-decoration:none;transition:background .16s ease,transform .16s ease;}
.silo--courtier .btn--primary{background:var(--c-coral);color:#fff}
.silo--courtier .btn--primary:hover{background:#E5765D}
.silo--courtier .btn--ghost{background:transparent;color:var(--c-navy);border:1.5px solid var(--c-navy)}
.silo--courtier .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--courtier .btn--block{width:100%}
.silo--courtier .btn:focus-visible{outline:3px solid var(--c-teal);outline-offset:3px}
.silo--courtier .hero{background:var(--c-navy);color:#fff;padding:64px 0 72px}
.silo--courtier .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.silo--courtier .hero h1{font-size:clamp(34px,4.4vw,54px);color:#fff}
.silo--courtier .hero h1 em{font-style:normal;color:var(--c-coral)}
.silo--courtier .hero-sub{margin-top:20px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.86);max-width:34em}
.silo--courtier .hero-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.silo--courtier .hero-points li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.94);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  padding:8px 15px;border-radius:999px;}
.silo--courtier .tick{width:15px;height:15px;flex:none;color:var(--c-teal)}
.silo--courtier .card-form{background:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow);color:var(--c-ink);}
.silo--courtier .card-form h2{font-size:22px;color:var(--c-navy)}
.silo--courtier .card-form .lede{margin-top:8px;font-size:15px;color:var(--c-muted)}
.silo--courtier .field{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.silo--courtier .field label{font-size:13.5px;font-weight:600;color:var(--c-navy)}
.silo--courtier .field input, .silo--courtier .field select{font-size:16px;color:var(--c-ink);
  padding:13px 15px;border:1.5px solid var(--c-line);border-radius:12px;background:#fff;}
.silo--courtier .field input:focus, .silo--courtier .field select:focus{outline:none;border-color:var(--c-navy-300);box-shadow:0 0 0 3px rgba(17,45,98,.14)}
.silo--courtier .hint{font-size:12.5px;color:var(--c-muted)}
.silo--courtier .form-foot{margin-top:14px;font-size:13px;color:var(--c-muted);text-align:center}
.silo--courtier .legal{margin-top:16px;font-size:11.5px;line-height:1.5;color:var(--c-muted)}
.silo--courtier .hidden{display:none}
.silo--courtier .form-msg{margin-top:16px;padding:13px 16px;border-radius:12px;font-size:14px;
  background:#D5ECE5;border:1px solid var(--c-teal);color:#1F5A4E;}
.silo--courtier .proof{background:var(--c-white);border-bottom:1px solid var(--c-line)}
.silo--courtier .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:26px 0}
.silo--courtier .proof-item{text-align:center;padding:6px 12px}
.silo--courtier .proof-item + .proof-item{border-left:1px solid var(--c-line)}
.silo--courtier .proof-num{font-size:26px;font-weight:700;color:var(--c-navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.silo--courtier .proof-lab{font-size:13px;color:var(--c-muted);margin-top:2px}
.silo--courtier .h2{font-size:clamp(26px,3vw,36px);color:var(--c-navy)}
.silo--courtier .section-lede{margin-top:14px;color:var(--c-muted);font-size:17.5px;max-width:60ch}
.silo--courtier .qa{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.silo--courtier .qa-item{background:#fff;border-radius:var(--radius);padding:26px;border:1px solid var(--c-line)}
.silo--courtier .qa-q{font-size:17px;font-weight:600;color:var(--c-navy)}
.silo--courtier .qa-a{margin-top:10px;color:var(--c-muted);font-size:15.5px}
.silo--courtier .qa-a strong{color:var(--c-ink);font-weight:600}
.silo--courtier .debut{background:var(--c-navy);color:#fff}
.silo--courtier .debut-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.silo--courtier .debut h2{font-size:clamp(24px,2.8vw,34px);color:#fff}
.silo--courtier .debut p{margin-top:16px;color:rgba(255,255,255,.86);font-size:17.5px}
.silo--courtier .debut-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:22px;padding:28px;text-align:center;}
.silo--courtier .debut-stat .big{font-size:52px;font-weight:700;color:var(--c-coral);line-height:1;letter-spacing:-.03em}
.silo--courtier .debut-stat .lab{margin-top:12px;font-size:15.5px;color:rgba(255,255,255,.86);line-height:1.5}
.silo--courtier .debut .btn{margin-top:26px}
.silo--courtier .parcours{background:var(--c-white)}
.silo--courtier .parcours-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.silo--courtier .pc{background:var(--c-gray);border-radius:var(--radius);padding:24px;
  border-top:5px solid var(--c-coral);display:flex;flex-direction:column;}
.silo--courtier .pc-n{width:30px;height:30px;border-radius:50%;background:var(--c-navy);color:#fff;
  display:grid;place-items:center;font-size:14px;font-weight:700;margin-bottom:14px;}
.silo--courtier .pc h3{font-size:17px;color:var(--c-navy)}
.silo--courtier .pc p{margin-top:9px;color:var(--c-muted);font-size:15px;line-height:1.5}
.silo--courtier .pc .tag{margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;color:var(--c-navy);}
.silo--courtier .crm{background:var(--c-gray)}
.silo--courtier .crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.silo--courtier .crm-badge{display:inline-block;background:#D5ECE5;color:#1F5A4E;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 15px;border-radius:999px;margin-bottom:16px;}
.silo--courtier .crm-card{background:#fff;border-radius:var(--radius);padding:8px 26px;border:1px solid var(--c-line)}
.silo--courtier .crm-feat{display:flex;gap:14px;padding:18px 0;align-items:flex-start}
.silo--courtier .crm-feat + .crm-feat{border-top:1px solid var(--c-line)}
.silo--courtier .crm-ico{width:34px;height:34px;flex:none;border-radius:18px 18px 18px 4px;
  background:var(--c-navy);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700;}
.silo--courtier .crm-t{font-weight:600;color:var(--c-navy);font-size:16px}
.silo--courtier .crm-d{margin-top:3px;color:var(--c-muted);font-size:14.5px;line-height:1.5}
.silo--courtier .people{background:var(--c-white)}
.silo--courtier .people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.silo--courtier .person{display:flex;gap:20px;align-items:center;
  background:var(--c-gray);border-radius:var(--radius);padding:22px;}
.silo--courtier .avatar{width:84px;height:96px;flex:none;border-radius:46px 46px 46px 6px;
  display:grid;place-items:center;text-align:center;
  font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  border:1.5px dashed rgba(255,255,255,.6);}
.silo--courtier .avatar--a{background:var(--c-navy-300);color:rgba(255,255,255,.9)}
.silo--courtier .avatar--b{background:var(--c-coral);color:#fff}
.silo--courtier .photoslot--hero{height:230px;margin-bottom:26px;background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.45)}
.silo--courtier .person-name{font-weight:600;font-size:18px;color:var(--c-navy)}
.silo--courtier .person-role{font-size:14px;color:var(--c-muted);margin-top:2px}
.silo--courtier .person-link{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:600;
  color:var(--c-navy);text-decoration:none;border-bottom:2px solid var(--c-coral);padding-bottom:1px;}
.silo--courtier .person-link:hover{color:var(--c-coral)}
.silo--courtier .people-cta{margin-top:30px;display:flex;justify-content:center}
.silo--courtier .cats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.silo--courtier .cat{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:28px}
.silo--courtier .cat h3{font-size:19px;color:var(--c-navy)}
.silo--courtier .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.silo--courtier .chip{font-size:14px;padding:7px 14px;border-radius:999px;
  background:var(--c-gray);color:var(--c-navy-300);border:1px solid var(--c-line);}
.silo--courtier .crit{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--courtier .crit-item{display:flex;gap:16px;align-items:flex-start;
  background:#fff;border:1px solid var(--c-line);border-left:4px solid var(--c-teal);
  border-radius:14px;padding:20px 22px;}
.silo--courtier .crit-i{width:30px;height:30px;flex:none;border-radius:50%;background:#D5ECE5;
  display:grid;place-items:center;color:#1F5A4E;font-weight:700;font-size:14px;}
.silo--courtier .crit-t{font-weight:600;color:var(--c-navy);font-size:16.5px}
.silo--courtier .crit-d{margin-top:5px;color:var(--c-muted);font-size:15px}
.silo--courtier .selnote{margin-top:26px;padding:18px 22px;border-radius:14px;
  background:var(--c-navy);color:rgba(255,255,255,.86);font-size:16px;}
.silo--courtier .selnote strong{color:#fff}
.silo--courtier .steps{background:var(--c-white)}
.silo--courtier .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:38px}
.silo--courtier .step-n{width:34px;height:34px;border-radius:50%;background:var(--c-navy);color:#fff;
  display:grid;place-items:center;font-size:15px;font-weight:700;}
.silo--courtier .step h3{font-size:17.5px;margin-top:16px;color:var(--c-navy)}
.silo--courtier .step p{margin-top:8px;color:var(--c-muted);font-size:15.5px}
.silo--courtier .final{background:var(--c-navy);color:#fff}
.silo--courtier .final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.silo--courtier .final h2{font-size:clamp(26px,3vw,38px);color:#fff}
.silo--courtier .final p{margin-top:16px;color:rgba(255,255,255,.86);font-size:17.5px}
@media (max-width:900px){
.silo--courtier .hero-grid, .silo--courtier .final-grid{grid-template-columns:1fr;gap:34px}
.silo--courtier .qa, .silo--courtier .people-grid, .silo--courtier .cats, .silo--courtier .crit{grid-template-columns:1fr}
.silo--courtier .steps-grid{grid-template-columns:1fr}
.silo--courtier .proof-grid{grid-template-columns:repeat(2,1fr);gap:18px 8px}
.silo--courtier .proof-item:nth-child(3){border-left:0}
.silo--courtier .section{padding:56px 0}
}
.silo--courtier .silo{background:var(--c-gray);border-top:1px solid var(--c-line)}
.silo--courtier .silo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.silo--courtier .silo-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;
  padding:24px;text-decoration:none;display:block;transition:border-color .15s ease}
.silo--courtier .silo-card:hover{border-color:var(--c-navy-300)}
.silo--courtier .silo-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--courtier .silo-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--courtier .silo-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
.silo--courtier .silo-outils{margin-top:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.silo--courtier .silo-outil{background:var(--c-navy);border-radius:18px;padding:24px;text-decoration:none;display:block}
.silo--courtier .silo-outil .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-teal)}
.silo--courtier .silo-outil .t{margin-top:8px;font-weight:700;color:#fff;font-size:19px;line-height:1.3}
.silo--courtier .silo-outil .d{margin-top:9px;color:rgba(255,255,255,.80);font-size:15.5px;line-height:1.55}
@media(max-width:900px){
.silo--courtier .silo-grid{grid-template-columns:1fr}
.silo--courtier .silo-outils{grid-template-columns:1fr}
}
.silo--apporteur .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
.silo--apporteur .section{padding:76px 0}
.silo--apporteur .eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-coral);margin-bottom:14px;}
.silo--apporteur .eyebrow--muted{color:var(--c-muted)}
.silo--apporteur .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:16px;font-weight:600;
  padding:15px 28px;border-radius:999px;border:0;cursor:pointer;
  text-decoration:none;transition:background .16s ease,transform .16s ease;}
.silo--apporteur .btn--primary{background:var(--c-coral);color:#fff}
.silo--apporteur .btn--primary:hover{background:#E5765D}
.silo--apporteur .btn--ghost{background:transparent;color:var(--c-navy);border:1.5px solid var(--c-navy)}
.silo--apporteur .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--apporteur .btn--block{width:100%}
.silo--apporteur .btn:focus-visible{outline:3px solid var(--c-teal);outline-offset:3px}
.silo--apporteur .hero{background:var(--c-navy);color:#fff;padding:64px 0 72px}
.silo--apporteur .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.silo--apporteur .hero h1{font-size:clamp(34px,4.4vw,54px);color:#fff}
.silo--apporteur .hero h1 em{font-style:normal;color:var(--c-coral)}
.silo--apporteur .hero-sub{margin-top:20px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.86);max-width:34em}
.silo--apporteur .hero-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.silo--apporteur .hero-points li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.94);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  padding:8px 15px;border-radius:999px;}
.silo--apporteur .tick{width:15px;height:15px;flex:none;color:var(--c-teal)}
.silo--apporteur .card-form{background:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow);color:var(--c-ink);}
.silo--apporteur .card-form h2{font-size:22px;color:var(--c-navy)}
.silo--apporteur .card-form .lede{margin-top:8px;font-size:15px;color:var(--c-muted)}
.silo--apporteur .field{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.silo--apporteur .field label{font-size:13.5px;font-weight:600;color:var(--c-navy)}
.silo--apporteur .field input, .silo--apporteur .field select{font-size:16px;color:var(--c-ink);
  padding:13px 15px;border:1.5px solid var(--c-line);border-radius:12px;background:#fff;}
.silo--apporteur .field input:focus, .silo--apporteur .field select:focus{outline:none;border-color:var(--c-navy-300);box-shadow:0 0 0 3px rgba(17,45,98,.14)}
.silo--apporteur .hint{font-size:12.5px;color:var(--c-muted)}
.silo--apporteur .form-foot{margin-top:14px;font-size:13px;color:var(--c-muted);text-align:center}
.silo--apporteur .legal{margin-top:16px;font-size:11.5px;line-height:1.5;color:var(--c-muted)}
.silo--apporteur .hidden{display:none}
.silo--apporteur .form-msg{margin-top:16px;padding:13px 16px;border-radius:12px;font-size:14px;
  background:#D5ECE5;border:1px solid var(--c-teal);color:#1F5A4E;}
.silo--apporteur .proof{background:var(--c-white);border-bottom:1px solid var(--c-line)}
.silo--apporteur .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:26px 0}
.silo--apporteur .proof-item{text-align:center;padding:6px 12px}
.silo--apporteur .proof-item + .proof-item{border-left:1px solid var(--c-line)}
.silo--apporteur .proof-num{font-size:26px;font-weight:700;color:var(--c-navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.silo--apporteur .proof-lab{font-size:13px;color:var(--c-muted);margin-top:2px}
.silo--apporteur .h2{font-size:clamp(26px,3vw,36px);color:var(--c-navy)}
.silo--apporteur .section-lede{margin-top:14px;color:var(--c-muted);font-size:17.5px;max-width:60ch}
.silo--apporteur .qa{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.silo--apporteur .qa-item{background:#fff;border-radius:var(--radius);padding:26px;border:1px solid var(--c-line)}
.silo--apporteur .qa-q{font-size:17px;font-weight:600;color:var(--c-navy)}
.silo--apporteur .qa-a{margin-top:10px;color:var(--c-muted);font-size:15.5px}
.silo--apporteur .qa-a strong{color:var(--c-ink);font-weight:600}
.silo--apporteur .debut{background:var(--c-navy);color:#fff}
.silo--apporteur .debut-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.silo--apporteur .debut h2{font-size:clamp(24px,2.8vw,34px);color:#fff}
.silo--apporteur .debut p{margin-top:16px;color:rgba(255,255,255,.86);font-size:17.5px}
.silo--apporteur .debut-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:22px;padding:28px;text-align:center;}
.silo--apporteur .debut-stat .big{font-size:52px;font-weight:700;color:var(--c-coral);line-height:1;letter-spacing:-.03em}
.silo--apporteur .debut-stat .lab{margin-top:12px;font-size:15.5px;color:rgba(255,255,255,.86);line-height:1.5}
.silo--apporteur .debut .btn{margin-top:26px}
.silo--apporteur .parcours{background:var(--c-white)}
.silo--apporteur .parcours-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.silo--apporteur .pc{background:var(--c-gray);border-radius:var(--radius);padding:24px;
  border-top:5px solid var(--c-coral);display:flex;flex-direction:column;}
.silo--apporteur .pc-n{width:30px;height:30px;border-radius:50%;background:var(--c-navy);color:#fff;
  display:grid;place-items:center;font-size:14px;font-weight:700;margin-bottom:14px;}
.silo--apporteur .pc h3{font-size:17px;color:var(--c-navy)}
.silo--apporteur .pc p{margin-top:9px;color:var(--c-muted);font-size:15px;line-height:1.5}
.silo--apporteur .pc .tag{margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;color:var(--c-navy);}
.silo--apporteur .crm{background:var(--c-gray)}
.silo--apporteur .crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.silo--apporteur .crm-badge{display:inline-block;background:#D5ECE5;color:#1F5A4E;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 15px;border-radius:999px;margin-bottom:16px;}
.silo--apporteur .crm-card{background:#fff;border-radius:var(--radius);padding:8px 26px;border:1px solid var(--c-line)}
.silo--apporteur .crm-feat{display:flex;gap:14px;padding:18px 0;align-items:flex-start}
.silo--apporteur .crm-feat + .crm-feat{border-top:1px solid var(--c-line)}
.silo--apporteur .crm-ico{width:34px;height:34px;flex:none;border-radius:18px 18px 18px 4px;
  background:var(--c-navy);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700;}
.silo--apporteur .crm-t{font-weight:600;color:var(--c-navy);font-size:16px}
.silo--apporteur .crm-d{margin-top:3px;color:var(--c-muted);font-size:14.5px;line-height:1.5}
.silo--apporteur .people{background:var(--c-white)}
.silo--apporteur .people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.silo--apporteur .person{display:flex;gap:20px;align-items:center;
  background:var(--c-gray);border-radius:var(--radius);padding:22px;}
.silo--apporteur .avatar{width:84px;height:96px;flex:none;border-radius:46px 46px 46px 6px;
  display:grid;place-items:center;text-align:center;
  font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  border:1.5px dashed rgba(255,255,255,.6);}
.silo--apporteur .avatar--a{background:var(--c-navy-300);color:rgba(255,255,255,.9)}
.silo--apporteur .avatar--b{background:var(--c-coral);color:#fff}
.silo--apporteur .photoslot--hero{height:230px;margin-bottom:26px;background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.45)}
.silo--apporteur .person-name{font-weight:600;font-size:18px;color:var(--c-navy)}
.silo--apporteur .person-role{font-size:14px;color:var(--c-muted);margin-top:2px}
.silo--apporteur .person-link{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:600;
  color:var(--c-navy);text-decoration:none;border-bottom:2px solid var(--c-coral);padding-bottom:1px;}
.silo--apporteur .person-link:hover{color:var(--c-coral)}
.silo--apporteur .people-cta{margin-top:30px;display:flex;justify-content:center}
.silo--apporteur .cats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.silo--apporteur .cat{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:28px}
.silo--apporteur .cat h3{font-size:19px;color:var(--c-navy)}
.silo--apporteur .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.silo--apporteur .chip{font-size:14px;padding:7px 14px;border-radius:999px;
  background:var(--c-gray);color:var(--c-navy-300);border:1px solid var(--c-line);}
.silo--apporteur .crit{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--apporteur .crit-item{display:flex;gap:16px;align-items:flex-start;
  background:#fff;border:1px solid var(--c-line);border-left:4px solid var(--c-teal);
  border-radius:14px;padding:20px 22px;}
.silo--apporteur .crit-i{width:30px;height:30px;flex:none;border-radius:50%;background:#D5ECE5;
  display:grid;place-items:center;color:#1F5A4E;font-weight:700;font-size:14px;}
.silo--apporteur .crit-t{font-weight:600;color:var(--c-navy);font-size:16.5px}
.silo--apporteur .crit-d{margin-top:5px;color:var(--c-muted);font-size:15px}
.silo--apporteur .selnote{margin-top:26px;padding:18px 22px;border-radius:14px;
  background:var(--c-navy);color:rgba(255,255,255,.86);font-size:16px;}
.silo--apporteur .selnote strong{color:#fff}
.silo--apporteur .steps{background:var(--c-white)}
.silo--apporteur .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:38px}
.silo--apporteur .step-n{width:34px;height:34px;border-radius:50%;background:var(--c-navy);color:#fff;
  display:grid;place-items:center;font-size:15px;font-weight:700;}
.silo--apporteur .step h3{font-size:17.5px;margin-top:16px;color:var(--c-navy)}
.silo--apporteur .step p{margin-top:8px;color:var(--c-muted);font-size:15.5px}
.silo--apporteur .final{background:var(--c-navy);color:#fff}
.silo--apporteur .final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.silo--apporteur .final h2{font-size:clamp(26px,3vw,38px);color:#fff}
.silo--apporteur .final p{margin-top:16px;color:rgba(255,255,255,.86);font-size:17.5px}
@media (max-width:900px){
.silo--apporteur .hero-grid, .silo--apporteur .final-grid{grid-template-columns:1fr;gap:34px}
.silo--apporteur .qa, .silo--apporteur .people-grid, .silo--apporteur .cats, .silo--apporteur .crit{grid-template-columns:1fr}
.silo--apporteur .steps-grid{grid-template-columns:1fr}
.silo--apporteur .proof-grid{grid-template-columns:repeat(2,1fr);gap:18px 8px}
.silo--apporteur .proof-item:nth-child(3){border-left:0}
.silo--apporteur .section{padding:56px 0}
}
.silo--apporteur .silo{background:var(--c-gray);border-top:1px solid var(--c-line)}
.silo--apporteur .silo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.silo--apporteur .silo-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;
  padding:24px;text-decoration:none;display:block;transition:border-color .15s ease}
.silo--apporteur .silo-card:hover{border-color:var(--c-navy-300)}
.silo--apporteur .silo-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--apporteur .silo-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--apporteur .silo-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
@media(max-width:900px){
.silo--apporteur .silo-grid{grid-template-columns:1fr}
}
.silo--apporteur .paths{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.silo--apporteur .path{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);
  padding:28px;display:flex;flex-direction:column;}
.silo--apporteur .path--a{border-top:5px solid var(--c-teal)}
.silo--apporteur .path--b{border-top:5px solid var(--c-coral)}
.silo--apporteur .path-tag{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;margin-bottom:14px;}
.silo--apporteur .path--a .path-tag{background:#D5ECE5;color:#1F5A4E}
.silo--apporteur .path--b .path-tag{background:rgba(241,141,117,.20);color:#A2402F}
.silo--apporteur .path h3{font-size:20px;color:var(--c-navy)}
.silo--apporteur .path-lede{margin-top:10px;color:var(--c-muted);font-size:15.5px}
.silo--apporteur .path-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.silo--apporteur .path-list li{display:flex;gap:10px;font-size:15px;color:var(--c-ink);line-height:1.5}
.silo--apporteur .path-list .dot{width:7px;height:7px;border-radius:50%;flex:none;margin-top:8px;background:var(--c-navy-300);}
.silo--apporteur .path-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--c-line);
  font-size:14.5px;color:var(--c-muted);}
.silo--apporteur .frontier{margin-top:26px;padding:20px 24px;border-radius:14px;
  background:var(--c-navy);color:rgba(255,255,255,.86);font-size:16.5px;line-height:1.55;}
.silo--apporteur .frontier strong{color:#fff}
.silo--apporteur .disclaimer{margin-top:16px;font-size:13.5px;color:var(--c-muted);font-style:italic}
.silo--apporteur .profils{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.silo--apporteur .profil{font-size:15px;padding:10px 18px;border-radius:999px;
  background:#fff;border:1px solid var(--c-line);color:var(--c-navy);}
@media (max-width:900px){
.silo--apporteur .paths{grid-template-columns:1fr}
}
.silo--merci .wrap{max-width:820px;margin:0 auto;padding:0 24px}
.silo--merci .wrap--wide{max-width:1120px}
.silo--merci .breadcrumb{font-size:13.5px;color:var(--c-muted);padding:22px 0 0}
.silo--merci .breadcrumb a{color:var(--c-muted);text-decoration:none}
.silo--merci .breadcrumb a:hover{color:var(--c-navy)}
.silo--merci .head{padding:14px 0 34px}
.silo--merci .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-coral);margin-bottom:12px}
.silo--merci .head h1{font-size:clamp(30px,4vw,44px);color:var(--c-navy)}
.silo--merci .chapo{margin-top:18px;font-size:19px;line-height:1.6;color:var(--c-ink)}
.silo--merci .byline{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line);
  font-size:14px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:6px 18px}
.silo--merci .byline strong{color:var(--c-navy);font-weight:600}
.silo--merci .answer{background:var(--c-navy);color:#fff;border-radius:22px;padding:28px 30px;margin:6px 0 34px}
.silo--merci .answer .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-teal);margin-bottom:10px}
.silo--merci .answer p{font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.95)}
.silo--merci .toc{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:22px 26px;margin-bottom:38px}
.silo--merci .toc .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin-bottom:12px}
.silo--merci .toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.silo--merci .toc a{color:var(--c-navy);text-decoration:none;font-size:16px}
.silo--merci .toc a:hover{text-decoration:underline}
.silo--merci article h2{font-size:27px;color:var(--c-navy);margin:44px 0 14px;scroll-margin-top:20px}
.silo--merci article h3{font-size:20px;color:var(--c-navy);margin:28px 0 10px}
.silo--merci article p{margin:0 0 16px}
.silo--merci article ul{margin:0 0 18px;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.silo--merci article li{line-height:1.6}
.silo--merci article strong{color:var(--c-navy)}
.silo--merci .motif{background:#fff;border:1px solid var(--c-line);border-left:5px solid var(--c-coral);
  border-radius:14px;padding:20px 24px;margin:0 0 16px}
.silo--merci .motif h3{margin:0 0 8px;font-size:18.5px}
.silo--merci .motif p{margin:0;font-size:16px;color:var(--c-muted)}
.silo--merci .motif .verdict{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--c-navy)}
.silo--merci .motif--ok{border-left-color:var(--c-teal)}
.silo--merci .terrain{background:#D5ECE5;border-radius:20px;padding:26px 28px;margin:34px 0}
.silo--merci .terrain .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1F5A4E;margin-bottom:10px}
.silo--merci .terrain p{margin:0;font-size:17px;line-height:1.6;color:#17423A}
.silo--merci .terrain .sign{margin-top:14px;font-size:14px;color:#2C5E54}
.silo--merci .cta{background:var(--c-navy);color:#fff;border-radius:24px;padding:34px;margin:44px 0;text-align:center}
.silo--merci .cta h2{color:#fff;font-size:26px;margin:0}
.silo--merci .cta p{margin:14px auto 0;max-width:52ch;color:rgba(255,255,255,.86)}
.silo--merci .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:999px;text-decoration:none;background:var(--c-coral);color:#fff;margin-top:22px}
.silo--merci .btn:hover{background:#E5765D}
.silo--merci .btn--ghost{background:transparent;border:1.5px solid var(--c-navy);color:var(--c-navy)}
.silo--merci .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--merci .faq{margin:44px 0}
.silo--merci .faq h2{margin-top:0}
.silo--merci details{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:0 22px;margin-bottom:10px}
.silo--merci summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;color:var(--c-navy);font-size:17px}
.silo--merci summary::-webkit-details-marker{display:none}
.silo--merci summary::after{content:"+";float:right;color:var(--c-coral);font-weight:700}
.silo--merci details[open] summary::after{content:"–"}
.silo--merci details p{padding:0 0 18px;margin:0;color:var(--c-muted);font-size:16px}
.silo--merci .author{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--c-line);
  border-radius:20px;padding:22px;margin:40px 0 0}
.silo--merci .author .n{font-weight:600;color:var(--c-navy);font-size:17px}
.silo--merci .author .r{font-size:14.5px;color:var(--c-muted);margin-top:3px}
.silo--merci .sources{margin:34px 0 0;font-size:14.5px;color:var(--c-muted)}
.silo--merci .sources h2{font-size:18px;color:var(--c-navy);margin:0 0 10px}
.silo--merci .sources ul{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:6px}
.silo--merci .related{background:#fff;border-top:1px solid var(--c-line);margin-top:52px;padding:44px 0}
.silo--merci .related h2{font-size:22px;color:var(--c-navy);margin-bottom:20px}
.silo--merci .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.silo--merci .rel{display:block;background:var(--c-gray);border-radius:16px;padding:20px;text-decoration:none;border:1px solid var(--c-line)}
.silo--merci .rel:hover{border-color:var(--c-navy-300)}
.silo--merci .rel .t{font-weight:600;color:var(--c-navy);font-size:16.5px;line-height:1.35}
.silo--merci .rel .d{margin-top:7px;font-size:14.5px;color:var(--c-muted)}
.silo--merci .hub-head{background:var(--c-navy);color:#fff;padding:52px 0 56px}
.silo--merci .hub-head h1{font-size:clamp(30px,4vw,46px);color:#fff}
.silo--merci .hub-head .chapo{color:rgba(255,255,255,.86);margin-top:18px;max-width:60ch}
.silo--merci .hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--merci .hub-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:24px;text-decoration:none;display:block}
.silo--merci .hub-card:hover{border-color:var(--c-navy-300)}
.silo--merci .hub-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--merci .hub-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--merci .hub-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
@media(max-width:820px){
.silo--merci .rel-grid, .silo--merci .hub-grid{grid-template-columns:1fr}
.silo--merci article h2{font-size:24px}
}
.silo--merci .merci{text-align:center;padding:70px 0 20px}
.silo--merci .merci .coche{width:78px;height:78px;margin:0 auto 26px;border-radius:50% 50% 50% 8px;
  background:#D5ECE5;color:var(--c-navy);display:flex;align-items:center;
  justify-content:center;font-size:36px;font-weight:700}
.silo--merci .merci h1{font-size:clamp(28px,3.6vw,40px);color:var(--c-navy)}
.silo--merci .merci .chapo{margin:18px auto 0;max-width:56ch;color:var(--c-muted);font-size:18px}
.silo--merci .suite{border:1px solid var(--c-line);border-radius:24px;background:#fff;padding:30px 34px;margin:44px 0}
.silo--merci .suite h2{font-size:20px;color:var(--c-navy);margin-bottom:6px}
.silo--merci .etape{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--c-line)}
.silo--merci .etape:first-of-type{border-top:0}
.silo--merci .etape .num{flex:0 0 32px;height:32px;border-radius:50% 50% 50% 6px;background:var(--c-navy);
  color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.silo--merci .etape .txt strong{color:var(--c-navy)}
.silo--merci .etape .txt{font-size:16px;line-height:1.6}
.silo--merci .delai{font-size:13.5px;color:var(--c-muted);margin-top:4px}
.silo--article .wrap{max-width:820px;margin:0 auto;padding:0 24px}
.silo--article .wrap--wide{max-width:1120px}
.silo--article .breadcrumb{font-size:13.5px;color:var(--c-muted);padding:22px 0 0}
.silo--article .breadcrumb a{color:var(--c-muted);text-decoration:none}
.silo--article .breadcrumb a:hover{color:var(--c-navy)}
.silo--article .head{padding:14px 0 34px}
.silo--article .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-coral);margin-bottom:12px}
.silo--article .head h1{font-size:clamp(30px,4vw,44px);color:var(--c-navy)}
.silo--article .chapo{margin-top:18px;font-size:19px;line-height:1.6;color:var(--c-ink)}
.silo--article .byline{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line);
  font-size:14px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:6px 18px}
.silo--article .byline strong{color:var(--c-navy);font-weight:600}
.silo--article .answer{background:var(--c-navy);color:#fff;border-radius:22px;padding:28px 30px;margin:6px 0 34px}
.silo--article .answer .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-teal);margin-bottom:10px}
.silo--article .answer p{font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.95)}
.silo--article .toc{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:22px 26px;margin-bottom:38px}
.silo--article .toc .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin-bottom:12px}
.silo--article .toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.silo--article .toc a{color:var(--c-navy);text-decoration:none;font-size:16px}
.silo--article .toc a:hover{text-decoration:underline}
.silo--article article h2{font-size:27px;color:var(--c-navy);margin:44px 0 14px;scroll-margin-top:20px}
.silo--article article h3{font-size:20px;color:var(--c-navy);margin:28px 0 10px}
.silo--article article p{margin:0 0 16px}
.silo--article article ul{margin:0 0 18px;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.silo--article article li{line-height:1.6}
.silo--article article strong{color:var(--c-navy)}
.silo--article .motif{background:#fff;border:1px solid var(--c-line);border-left:5px solid var(--c-coral);
  border-radius:14px;padding:20px 24px;margin:0 0 16px}
.silo--article .motif h3{margin:0 0 8px;font-size:18.5px}
.silo--article .motif p{margin:0;font-size:16px;color:var(--c-muted)}
.silo--article .motif .verdict{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--c-navy)}
.silo--article .motif--ok{border-left-color:var(--c-teal)}
.silo--article .terrain{background:#D5ECE5;border-radius:20px;padding:26px 28px;margin:34px 0}
.silo--article .terrain .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1F5A4E;margin-bottom:10px}
.silo--article .terrain p{margin:0;font-size:17px;line-height:1.6;color:#17423A}
.silo--article .terrain .sign{margin-top:14px;font-size:14px;color:#2C5E54}
.silo--article .cta{background:var(--c-navy);color:#fff;border-radius:24px;padding:34px;margin:44px 0;text-align:center}
.silo--article .cta h2{color:#fff;font-size:26px;margin:0}
.silo--article .cta p{margin:14px auto 0;max-width:52ch;color:rgba(255,255,255,.86)}
.silo--article .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:999px;text-decoration:none;background:var(--c-coral);color:#fff;margin-top:22px}
.silo--article .btn:hover{background:#E5765D}
.silo--article .btn--ghost{background:transparent;border:1.5px solid var(--c-navy);color:var(--c-navy)}
.silo--article .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--article .faq{margin:44px 0}
.silo--article .faq h2{margin-top:0}
.silo--article details{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:0 22px;margin-bottom:10px}
.silo--article summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;color:var(--c-navy);font-size:17px}
.silo--article summary::-webkit-details-marker{display:none}
.silo--article summary::after{content:"+";float:right;color:var(--c-coral);font-weight:700}
.silo--article details[open] summary::after{content:"–"}
.silo--article details p{padding:0 0 18px;margin:0;color:var(--c-muted);font-size:16px}
.silo--article .author{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--c-line);
  border-radius:20px;padding:22px;margin:40px 0 0}
.silo--article .author .n{font-weight:600;color:var(--c-navy);font-size:17px}
.silo--article .author .r{font-size:14.5px;color:var(--c-muted);margin-top:3px}
.silo--article .sources{margin:34px 0 0;font-size:14.5px;color:var(--c-muted)}
.silo--article .sources h2{font-size:18px;color:var(--c-navy);margin:0 0 10px}
.silo--article .sources ul{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:6px}
.silo--article .related{background:#fff;border-top:1px solid var(--c-line);margin-top:52px;padding:44px 0}
.silo--article .related h2{font-size:22px;color:var(--c-navy);margin-bottom:20px}
.silo--article .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.silo--article .rel{display:block;background:var(--c-gray);border-radius:16px;padding:20px;text-decoration:none;border:1px solid var(--c-line)}
.silo--article .rel:hover{border-color:var(--c-navy-300)}
.silo--article .rel .t{font-weight:600;color:var(--c-navy);font-size:16.5px;line-height:1.35}
.silo--article .rel .d{margin-top:7px;font-size:14.5px;color:var(--c-muted)}
.silo--article .hub-head{background:var(--c-navy);color:#fff;padding:52px 0 56px}
.silo--article .hub-head h1{font-size:clamp(30px,4vw,46px);color:#fff}
.silo--article .hub-head .chapo{color:rgba(255,255,255,.86);margin-top:18px;max-width:60ch}
.silo--article .hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--article .hub-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:24px;text-decoration:none;display:block}
.silo--article .hub-card:hover{border-color:var(--c-navy-300)}
.silo--article .hub-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--article .hub-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--article .hub-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
@media(max-width:820px){
.silo--article .rel-grid, .silo--article .hub-grid{grid-template-columns:1fr}
.silo--article article h2{font-size:24px}
}
.silo--outils .wrap{max-width:820px;margin:0 auto;padding:0 24px}
.silo--outils .wrap--wide{max-width:1120px}
.silo--outils .breadcrumb{font-size:13.5px;color:var(--c-muted);padding:22px 0 0}
.silo--outils .breadcrumb a{color:var(--c-muted);text-decoration:none}
.silo--outils .breadcrumb a:hover{color:var(--c-navy)}
.silo--outils .head{padding:14px 0 34px}
.silo--outils .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-coral);margin-bottom:12px}
.silo--outils .head h1{font-size:clamp(30px,4vw,44px);color:var(--c-navy)}
.silo--outils .chapo{margin-top:18px;font-size:19px;line-height:1.6;color:var(--c-ink)}
.silo--outils .byline{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line);
  font-size:14px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:6px 18px}
.silo--outils .byline strong{color:var(--c-navy);font-weight:600}
.silo--outils .answer{background:var(--c-navy);color:#fff;border-radius:22px;padding:28px 30px;margin:6px 0 34px}
.silo--outils .answer .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-teal);margin-bottom:10px}
.silo--outils .answer p{font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.95)}
.silo--outils .toc{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:22px 26px;margin-bottom:38px}
.silo--outils .toc .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin-bottom:12px}
.silo--outils .toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.silo--outils .toc a{color:var(--c-navy);text-decoration:none;font-size:16px}
.silo--outils .toc a:hover{text-decoration:underline}
.silo--outils article h2{font-size:27px;color:var(--c-navy);margin:44px 0 14px;scroll-margin-top:20px}
.silo--outils article h3{font-size:20px;color:var(--c-navy);margin:28px 0 10px}
.silo--outils article p{margin:0 0 16px}
.silo--outils article ul{margin:0 0 18px;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.silo--outils article li{line-height:1.6}
.silo--outils article strong{color:var(--c-navy)}
.silo--outils .motif{background:#fff;border:1px solid var(--c-line);border-left:5px solid var(--c-coral);
  border-radius:14px;padding:20px 24px;margin:0 0 16px}
.silo--outils .motif h3{margin:0 0 8px;font-size:18.5px}
.silo--outils .motif p{margin:0;font-size:16px;color:var(--c-muted)}
.silo--outils .motif .verdict{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--c-navy)}
.silo--outils .motif--ok{border-left-color:var(--c-teal)}
.silo--outils .terrain{background:#D5ECE5;border-radius:20px;padding:26px 28px;margin:34px 0}
.silo--outils .terrain .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1F5A4E;margin-bottom:10px}
.silo--outils .terrain p{margin:0;font-size:17px;line-height:1.6;color:#17423A}
.silo--outils .terrain .sign{margin-top:14px;font-size:14px;color:#2C5E54}
.silo--outils .cta{background:var(--c-navy);color:#fff;border-radius:24px;padding:34px;margin:44px 0;text-align:center}
.silo--outils .cta h2{color:#fff;font-size:26px;margin:0}
.silo--outils .cta p{margin:14px auto 0;max-width:52ch;color:rgba(255,255,255,.86)}
.silo--outils .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:999px;text-decoration:none;background:var(--c-coral);color:#fff;margin-top:22px}
.silo--outils .btn:hover{background:#E5765D}
.silo--outils .btn--ghost{background:transparent;border:1.5px solid var(--c-navy);color:var(--c-navy)}
.silo--outils .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--outils .faq{margin:44px 0}
.silo--outils .faq h2{margin-top:0}
.silo--outils details{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:0 22px;margin-bottom:10px}
.silo--outils summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;color:var(--c-navy);font-size:17px}
.silo--outils summary::-webkit-details-marker{display:none}
.silo--outils summary::after{content:"+";float:right;color:var(--c-coral);font-weight:700}
.silo--outils details[open] summary::after{content:"–"}
.silo--outils details p{padding:0 0 18px;margin:0;color:var(--c-muted);font-size:16px}
.silo--outils .author{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--c-line);
  border-radius:20px;padding:22px;margin:40px 0 0}
.silo--outils .author .n{font-weight:600;color:var(--c-navy);font-size:17px}
.silo--outils .author .r{font-size:14.5px;color:var(--c-muted);margin-top:3px}
.silo--outils .sources{margin:34px 0 0;font-size:14.5px;color:var(--c-muted)}
.silo--outils .sources h2{font-size:18px;color:var(--c-navy);margin:0 0 10px}
.silo--outils .sources ul{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:6px}
.silo--outils .related{background:#fff;border-top:1px solid var(--c-line);margin-top:52px;padding:44px 0}
.silo--outils .related h2{font-size:22px;color:var(--c-navy);margin-bottom:20px}
.silo--outils .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.silo--outils .rel{display:block;background:var(--c-gray);border-radius:16px;padding:20px;text-decoration:none;border:1px solid var(--c-line)}
.silo--outils .rel:hover{border-color:var(--c-navy-300)}
.silo--outils .rel .t{font-weight:600;color:var(--c-navy);font-size:16.5px;line-height:1.35}
.silo--outils .rel .d{margin-top:7px;font-size:14.5px;color:var(--c-muted)}
.silo--outils .hub-head{background:var(--c-navy);color:#fff;padding:52px 0 56px}
.silo--outils .hub-head h1{font-size:clamp(30px,4vw,46px);color:#fff}
.silo--outils .hub-head .chapo{color:rgba(255,255,255,.86);margin-top:18px;max-width:60ch}
.silo--outils .hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--outils .hub-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:24px;text-decoration:none;display:block}
.silo--outils .hub-card:hover{border-color:var(--c-navy-300)}
.silo--outils .hub-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--outils .hub-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--outils .hub-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
@media(max-width:820px){
.silo--outils .rel-grid, .silo--outils .hub-grid{grid-template-columns:1fr}
.silo--outils article h2{font-size:24px}
}
.silo--outils .outil{display:block;text-decoration:none;background:var(--c-navy);border-radius:24px;
  padding:34px;margin-bottom:20px;transition:background .15s ease}
.silo--outils .outil:hover{background:var(--c-navy-300)}
.silo--outils .outil .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-teal)}
.silo--outils .outil .t{margin-top:10px;font-weight:700;color:#fff;font-size:24px;line-height:1.25}
.silo--outils .outil .d{margin-top:12px;color:rgba(255,255,255,.84);font-size:16.5px;line-height:1.6;max-width:58ch}
.silo--outils .outil .meta{margin-top:16px;font-size:13.5px;color:var(--c-teal)}
.silo--outil .wrap{max-width:820px;margin:0 auto;padding:0 24px}
.silo--outil .wrap--wide{max-width:1120px}
.silo--outil .breadcrumb{font-size:13.5px;color:var(--c-muted);padding:22px 0 0}
.silo--outil .breadcrumb a{color:var(--c-muted);text-decoration:none}
.silo--outil .breadcrumb a:hover{color:var(--c-navy)}
.silo--outil .head{padding:14px 0 34px}
.silo--outil .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-coral);margin-bottom:12px}
.silo--outil .head h1{font-size:clamp(30px,4vw,44px);color:var(--c-navy)}
.silo--outil .chapo{margin-top:18px;font-size:19px;line-height:1.6;color:var(--c-ink)}
.silo--outil .byline{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line);
  font-size:14px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:6px 18px}
.silo--outil .byline strong{color:var(--c-navy);font-weight:600}
.silo--outil .answer{background:var(--c-navy);color:#fff;border-radius:22px;padding:28px 30px;margin:6px 0 34px}
.silo--outil .answer .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-teal);margin-bottom:10px}
.silo--outil .answer p{font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.95)}
.silo--outil .toc{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:22px 26px;margin-bottom:38px}
.silo--outil .toc .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin-bottom:12px}
.silo--outil .toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.silo--outil .toc a{color:var(--c-navy);text-decoration:none;font-size:16px}
.silo--outil .toc a:hover{text-decoration:underline}
.silo--outil article h2{font-size:27px;color:var(--c-navy);margin:44px 0 14px;scroll-margin-top:20px}
.silo--outil article h3{font-size:20px;color:var(--c-navy);margin:28px 0 10px}
.silo--outil article p{margin:0 0 16px}
.silo--outil article ul{margin:0 0 18px;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.silo--outil article li{line-height:1.6}
.silo--outil article strong{color:var(--c-navy)}
.silo--outil .motif{background:#fff;border:1px solid var(--c-line);border-left:5px solid var(--c-coral);
  border-radius:14px;padding:20px 24px;margin:0 0 16px}
.silo--outil .motif h3{margin:0 0 8px;font-size:18.5px}
.silo--outil .motif p{margin:0;font-size:16px;color:var(--c-muted)}
.silo--outil .motif .verdict{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--c-navy)}
.silo--outil .motif--ok{border-left-color:var(--c-teal)}
.silo--outil .terrain{background:#D5ECE5;border-radius:20px;padding:26px 28px;margin:34px 0}
.silo--outil .terrain .lab{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1F5A4E;margin-bottom:10px}
.silo--outil .terrain p{margin:0;font-size:17px;line-height:1.6;color:#17423A}
.silo--outil .terrain .sign{margin-top:14px;font-size:14px;color:#2C5E54}
.silo--outil .cta{background:var(--c-navy);color:#fff;border-radius:24px;padding:34px;margin:44px 0;text-align:center}
.silo--outil .cta h2{color:#fff;font-size:26px;margin:0}
.silo--outil .cta p{margin:14px auto 0;max-width:52ch;color:rgba(255,255,255,.86)}
.silo--outil .btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:999px;text-decoration:none;background:var(--c-coral);color:#fff;margin-top:22px}
.silo--outil .btn:hover{background:#E5765D}
.silo--outil .btn--ghost{background:transparent;border:1.5px solid var(--c-navy);color:var(--c-navy)}
.silo--outil .btn--ghost:hover{background:var(--c-navy);color:#fff}
.silo--outil .faq{margin:44px 0}
.silo--outil .faq h2{margin-top:0}
.silo--outil details{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:0 22px;margin-bottom:10px}
.silo--outil summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;color:var(--c-navy);font-size:17px}
.silo--outil summary::-webkit-details-marker{display:none}
.silo--outil summary::after{content:"+";float:right;color:var(--c-coral);font-weight:700}
.silo--outil details[open] summary::after{content:"–"}
.silo--outil details p{padding:0 0 18px;margin:0;color:var(--c-muted);font-size:16px}
.silo--outil .author{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--c-line);
  border-radius:20px;padding:22px;margin:40px 0 0}
.silo--outil .author .n{font-weight:600;color:var(--c-navy);font-size:17px}
.silo--outil .author .r{font-size:14.5px;color:var(--c-muted);margin-top:3px}
.silo--outil .sources{margin:34px 0 0;font-size:14.5px;color:var(--c-muted)}
.silo--outil .sources h2{font-size:18px;color:var(--c-navy);margin:0 0 10px}
.silo--outil .sources ul{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:6px}
.silo--outil .related{background:#fff;border-top:1px solid var(--c-line);margin-top:52px;padding:44px 0}
.silo--outil .related h2{font-size:22px;color:var(--c-navy);margin-bottom:20px}
.silo--outil .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.silo--outil .rel{display:block;background:var(--c-gray);border-radius:16px;padding:20px;text-decoration:none;border:1px solid var(--c-line)}
.silo--outil .rel:hover{border-color:var(--c-navy-300)}
.silo--outil .rel .t{font-weight:600;color:var(--c-navy);font-size:16.5px;line-height:1.35}
.silo--outil .rel .d{margin-top:7px;font-size:14.5px;color:var(--c-muted)}
.silo--outil .hub-head{background:var(--c-navy);color:#fff;padding:52px 0 56px}
.silo--outil .hub-head h1{font-size:clamp(30px,4vw,46px);color:#fff}
.silo--outil .hub-head .chapo{color:rgba(255,255,255,.86);margin-top:18px;max-width:60ch}
.silo--outil .hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.silo--outil .hub-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:24px;text-decoration:none;display:block}
.silo--outil .hub-card:hover{border-color:var(--c-navy-300)}
.silo--outil .hub-card .n{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-coral)}
.silo--outil .hub-card .t{margin-top:8px;font-weight:700;color:var(--c-navy);font-size:19px;line-height:1.3}
.silo--outil .hub-card .d{margin-top:9px;color:var(--c-muted);font-size:15.5px;line-height:1.55}
@media(max-width:820px){
.silo--outil .rel-grid, .silo--outil .hub-grid{grid-template-columns:1fr}
.silo--outil article h2{font-size:24px}
}
.silo--outil .tool{background:#fff;border:1px solid var(--c-line);border-radius:24px;padding:32px;margin:8px 0 34px}
.silo--outil .q{border:0;padding:0;margin:0 0 30px}
.silo--outil .q:last-of-type{margin-bottom:8px}
.silo--outil .q legend{font-weight:700;color:var(--c-navy);font-size:18px;line-height:1.35;margin-bottom:6px;padding:0}
.silo--outil .q .hint{display:block;font-size:14.5px;color:var(--c-muted);margin-bottom:14px;line-height:1.5}
.silo--outil .opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.silo--outil .opts--3{grid-template-columns:repeat(3,1fr)}
.silo--outil .opt{position:relative}
.silo--outil .opt input{position:absolute;opacity:0;width:0;height:0}
.silo--outil .opt span{display:block;padding:14px 16px;border:1.5px solid var(--c-line);border-radius:14px;
  font-size:15.5px;color:var(--c-ink);cursor:pointer;line-height:1.4;background:var(--c-gray);
  transition:border-color .15s ease,background .15s ease;}
.silo--outil .opt input:checked + span{border-color:var(--c-navy);background:#fff;font-weight:600;color:var(--c-navy);
  box-shadow:0 0 0 3px rgba(17,45,98,.10)}
.silo--outil .opt input:focus-visible + span{outline:3px solid var(--c-teal);outline-offset:2px}
.silo--outil select.field-sel{width:100%;font-size:16px;color:var(--c-ink);
  padding:14px 16px;border:1.5px solid var(--c-line);border-radius:14px;background:#fff;}
.silo--outil .toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px;
  padding-top:24px;border-top:1px solid var(--c-line)}
.silo--outil .btn-tool{font-size:16px;font-weight:600;padding:15px 30px;border-radius:999px;
  border:0;cursor:pointer;background:var(--c-coral);color:#fff;}
.silo--outil .btn-tool:hover{background:#E5765D}
.silo--outil .btn-tool:focus-visible{outline:3px solid var(--c-teal);outline-offset:3px}
.silo--outil .btn-reset{background:none;border:0;color:var(--c-muted);font-size:15px;
  cursor:pointer;text-decoration:underline}
.silo--outil .err{color:#A2402F;font-size:15px;margin-top:14px}
.silo--outil .res{margin:0 0 34px}
.silo--outil .res-card{border-radius:24px;padding:32px;border:1px solid var(--c-line);background:#fff}
.silo--outil .res-card.is-navy{background:var(--c-navy);color:#fff;border-color:var(--c-navy)}
.silo--outil .res-lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--c-coral);margin-bottom:12px}
.silo--outil .res-card.is-navy .res-lab{color:var(--c-teal)}
.silo--outil .res-t{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--c-navy)}
.silo--outil .res-card.is-navy .res-t{color:#fff}
.silo--outil .res-d{margin-top:16px;font-size:17.5px;line-height:1.6}
.silo--outil .res-card.is-navy .res-d{color:rgba(255,255,255,.9)}
.silo--outil .res-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}
.silo--outil .res-box{background:var(--c-gray);border-radius:16px;padding:20px}
.silo--outil .res-card.is-navy .res-box{background:rgba(255,255,255,.08)}
.silo--outil .res-box h3{font-size:15.5px;color:var(--c-navy);margin:0 0 10px}
.silo--outil .res-card.is-navy .res-box h3{color:#fff}
.silo--outil .res-box ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px}
.silo--outil .res-box li{font-size:15px;line-height:1.5;color:var(--c-muted)}
.silo--outil .res-card.is-navy .res-box li{color:rgba(255,255,255,.85)}
.silo--outil .res-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.silo--outil .warnbox{background:rgba(241,141,117,.14);border:1px solid var(--c-coral);border-radius:16px;
  padding:18px 22px;margin-top:22px;font-size:15.5px;line-height:1.55;color:var(--c-ink)}
.silo--outil .warnbox strong{color:#A2402F}
.silo--outil .sim-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:26px}
.silo--outil .sim-field label{display:block;font-weight:600;color:var(--c-navy);font-size:15.5px;margin-bottom:9px}
.silo--outil .rangewrap{display:flex;align-items:center;gap:16px}
.silo--outil input[type=range]{flex:1;accent-color:var(--c-coral);height:26px}
.silo--outil .rangeval{min-width:64px;text-align:center;font-weight:700;font-size:21px;color:var(--c-navy);
  font-variant-numeric:tabular-nums}
.silo--outil .sim-out{background:var(--c-navy);color:#fff;border-radius:24px;padding:34px;text-align:center}
.silo--outil .sim-out .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-teal)}
.silo--outil .sim-range{font-size:clamp(30px,5vw,46px);font-weight:700;letter-spacing:-.03em;margin-top:12px;
  font-variant-numeric:tabular-nums;line-height:1.1}
.silo--outil .sim-unit{margin-top:8px;color:rgba(255,255,255,.8);font-size:16px}
.silo--outil .sim-hyp{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.silo--outil .sim-hyp div{font-size:14px;color:rgba(255,255,255,.8);line-height:1.45}
.silo--outil .sim-hyp strong{display:block;color:#fff;font-size:16px;margin-bottom:2px}
.silo--outil .sim-note{margin-top:20px;font-size:14.5px;color:var(--c-muted);line-height:1.6;font-style:italic}
@media(max-width:760px){
.silo--outil .opts, .silo--outil .opts--3, .silo--outil .res-cols, .silo--outil .sim-row, .silo--outil .sim-hyp{grid-template-columns:1fr}
}

/* ===== Couche charte : ce qui fait passer les maquettes dans la DA ActuData ===== */

/* Titres, liens, texte */
.silo h1, .silo h2, .silo h3 { color: var(--c-navy); letter-spacing: -0.025em; }
.silo h1 { font-weight: 700; line-height: 1.05; }
.silo a { color: var(--c-navy); }

/* Fil d'Ariane au format de l'intégration */
.silo .breadcrumb { padding-top: 28px; font-size: .875rem; color: var(--c-muted); }
.silo .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.silo .breadcrumb li + li::before { content: "/"; margin-right: 6px; }
.silo .breadcrumb a { color: inherit; text-decoration: none; }
.silo .breadcrumb a:hover { color: var(--c-navy); text-decoration: underline; }
.silo .hub-head .breadcrumb { color: #C9D3E6; padding-top: 0; margin-bottom: 8px; }

/* Surtitres : la lettre « a » de la charte en puce */
.silo .kicker, .silo .eyebrow, .silo .hub-card .n, .silo .silo-card .n, .silo .silo-outil .n, .silo .outil .n {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-navy);
}
.silo .kicker::before, .silo .eyebrow::before {
  content: ""; width: 12px; aspect-ratio: 67 / 80; flex: none;
  clip-path: url(#clip-a-glyph); background: var(--c-coral);
}
.silo .eyebrow--muted { color: var(--c-muted); }
.silo .hub-head .kicker, .silo .hero .eyebrow, .silo .debut .eyebrow, .silo .final .eyebrow { color: var(--c-teal); }

/* Boutons : ceux de la charte */
.silo .btn { min-height: 52px; padding: 0 28px; border-radius: var(--r-pill); border: 1.5px solid transparent;
  background: var(--c-coral); color: var(--c-navy); font-weight: 600; text-decoration: none; }
.silo .btn:hover { background: #EE7C61; color: var(--c-navy); }
.silo .btn--primary { background: var(--c-navy); color: var(--c-white); }
.silo .btn--primary:hover { background: var(--c-navy-700); color: var(--c-white); }
.silo .btn--ghost { background: transparent; color: var(--c-navy); border-color: var(--c-navy); }
.silo .btn--ghost:hover { background: var(--c-navy); color: var(--c-white); }
.silo .btn--block { width: 100%; }

/* Bloc « réponse courte » : bulle de dialogue navy */
.silo .answer { background: var(--c-navy); border-radius: var(--r-bubble); }
.silo .answer .lab { color: var(--c-teal); }

/* Sommaire */
.silo .toc { display: block; background: var(--c-white); border: 0; border-radius: var(--r-md); }
.silo .toc ol { list-style: decimal; }

/* Encadré terrain : turquoise de la charte */
.silo .terrain { background: var(--c-teal); border-radius: var(--r-bubble); }
.silo .terrain .lab, .silo .terrain p, .silo .terrain .sign { color: var(--c-navy); }

/* Appel à l'action : navy arrondi, glyphe en décor */
.silo .cta { position: relative; overflow: hidden; background: var(--c-navy); border-radius: var(--r-lg); }
.silo .cta::after { content: ""; position: absolute; right: -28px; bottom: -36px; width: 140px; aspect-ratio: 67 / 80;
  clip-path: url(#clip-a-glyph); background: var(--c-coral); opacity: .9; }
.silo .cta > * { position: relative; z-index: 1; }

/* Cartes */
.silo .hub-card, .silo .rel, .silo .silo-card, .silo .silo-outil, .silo .outil {
  background: var(--c-white); border: 0; border-radius: var(--r-md); transition: transform .2s, box-shadow .2s; }
.silo .hub-card:hover, .silo .rel:hover, .silo .silo-card:hover, .silo .silo-outil:hover, .silo .outil:hover {
  transform: translateY(-2px); box-shadow: 0 10px 30px rgba(17, 45, 98, .10); }
.silo .related { background: var(--c-gray); border-top: 0; border-radius: var(--r-section) var(--r-section) 0 0; }

/* FAQ au format de l'intégration */
.silo .faq { border-top: 0; }
.silo .faq details { background: transparent; border: 0; border-bottom: 1px solid var(--c-line); border-radius: 0; padding: 0; margin: 0; }
.silo .faq details:first-of-type { border-top: 1px solid var(--c-line); }
.silo .faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; font-size: 1.125rem; }
.silo .faq summary::after { content: "+"; float: none; color: var(--c-navy); font-size: 1.5rem; line-height: 1; transition: transform .2s; }
.silo .faq details[open] summary::after { content: "+"; transform: rotate(45deg); }
.silo .faq details p { padding: 0 0 20px; color: var(--c-ink); }

/* Auteur */
.silo .author { background: var(--c-white); border: 0; border-radius: var(--r-md); }

/* Bandeau des piliers */
.silo .hub-head { background: var(--c-navy); border-radius: 0 0 var(--r-section) var(--r-section); }

/* Conflits avec main.css : on rend aux sections du silo leur mise en page */
.silo .steps { display: block; list-style: none; gap: 0; }
.silo .steps li { display: list-item; background: none; padding: 0; border-radius: 0; }
.silo .hero { overflow: visible; }
.silo .tag { align-self: auto; }

/* Sections sombres des landings */
.silo .silo-outil, .silo .outil { background: var(--c-navy); }
.silo .silo-outil .n, .silo .outil .n, .silo .outil .meta { color: var(--c-teal); }
.silo .silo-outil .t, .silo .silo-outil .d, .silo .outil .t, .silo .outil .d { color: var(--c-white); }
.silo .debut .btn--primary, .silo .hero .btn--primary:not(.btn--block), .silo .final .btn--primary:not(.btn--block) { background: var(--c-coral); color: var(--c-navy); }
.silo .card-form h2 { color: var(--c-navy); }
.silo .card-form { border-radius: var(--r-lg); }

/* Responsive : corrections des maquettes (grilles qui débordaient sur mobile) */
.silo [class$="-grid"] > *, .silo .qa > *, .silo .cats > *, .silo .crit > *, .silo .paths > * { min-width: 0; }
.silo select, .silo input { max-width: 100%; }
@media (max-width: 900px) {
  .silo .parcours-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silo .silo-grid, .silo .silo-outils, .silo .crm-grid, .silo .debut-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  .silo .parcours-grid, .silo .sim-row, .silo .debut-grid { grid-template-columns: 1fr; }
  .silo .hero h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
  .silo .card-form, .silo .cta, .silo .answer, .silo .terrain { padding-left: 22px; padding-right: 22px; }
  .silo .author { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Adaptation WordPress : le moteur de formulaires interne (LOT-04) dans les cartes du silo.
   Mêmes proportions que la maquette (champs, bouton pleine largeur, note centrée, mention en petit).
   ========================================================================== */
.silo .card-form .form { display: block; padding: 0; background: none; }
.silo .card-form .form .field, .silo .card-form .form .full { margin-top: 18px; }
.silo .card-form .form .full:empty { display: none; }
.silo .card-form .form .field label { font-size: 13.5px; }
.silo .card-form .form .input, .silo .card-form .form .select {
  min-height: 0; padding: 13px 15px; font-size: 16px; color: var(--c-ink);
  border: 1.5px solid var(--c-line); border-radius: 12px; background: #fff;
}
.silo .card-form .form .input:focus, .silo .card-form .form .select:focus { border-color: var(--c-navy-300); box-shadow: 0 0 0 3px rgba(17, 45, 98, .14); }
.silo .card-form .form .hint { font-size: 12.5px; color: var(--c-muted); }
.silo .card-form .form .form-footer { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 14px; margin-top: 18px; }
.silo .card-form .form .form-footer .btn { width: 100%; }
.silo .card-form .form .form-note { font-size: 13px; color: var(--c-muted); text-align: center; }
.silo .card-form .form .form-gdpr { margin-top: 16px; font-size: 11.5px; line-height: 1.5; color: var(--c-muted); }
.silo .card-form .form .form-success { margin-top: 16px; }
.silo .card-form .form .form-success:empty { display: none; }
.silo .card-form .form .btn--primary { background: var(--c-navy); color: var(--c-white); }
.silo .card-form .form .btn--primary:hover { background: var(--c-navy-700); color: var(--c-white); }
