/* ICFC Consulting : feuille de style du thème */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2');}

/* Layout : site de conseil multipage, dominante bleu nuit, sections blanches en alternance. Couche premium : verre fumé sur les cartes clés des sections sombres, lueurs d'ambiance cobalt et or derrière le verre (jamais derrière un texte sans fond), liserés dégradés or vers ciel sur les éléments phares, ombres teintées de bleu. Or réservé à l'action et à la sélection, bleu ciel pour les icônes et l'information. Héros : message à gauche, tableau de bord en verre à droite. Une seule animation : l'apparition du tableau de bord. */
:root{
  --bg:#0D2247; --bg-deep:#07152E; --surface:#132D58; --surface-2:#19386B; --input-bg:#0A1C3D;
  --blue:#12629D; --line:#24406F; --line-2:#2F4D80; --ui:#7187B0;
  --text:#FFFFFF; --text-2:#C9D3E6; --text-3:#A3B2CC;
  --gold:#FED322; --gold-hover:#FFDE59; --gold-tint:rgba(254,211,34,.14);
  --ok:#8BE0A8; --ok-tint:rgba(139,224,168,.14); --err:#FF9B91; --err-tint:rgba(255,155,145,.14);
  --ink:#0D2247; --ink-2:#4B5568; --paper-line:#CBD2DC; --paper-alt:#F4F6FA;
  --focus:#FED322;
  --accent:#FED322; --accent-tint:rgba(254,211,34,.14); --inverse:#0D2247; --meter:#FED322; --thead:#091A37; --link-ul:#FED322;
  --shadow:0 18px 40px -20px rgba(0,0,0,.55);
  --font:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-1:clamp(36px, 4.6vw, 60px); --fs-2:clamp(28px, 3vw, 40px); --fs-3:clamp(19px, 1.7vw, 22px);
  --fs-lead:clamp(17px, 1.3vw, 19px); --fs-body:17px; --fs-s:15px; --fs-xs:14px;
  --r-card:20px; --r-in:12px; --r-pill:999px;
  --wrap:1200px; --header-h:72px;
  color-scheme:dark;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-padding-top:calc(var(--header-h) + 24px); }
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--font); font-size:var(--fs-body); line-height:1.6; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,fieldset{ margin:0; }
ul,ol{ padding:0; list-style:none; }
fieldset{ border:0; padding:0; min-width:0; }
button,input,select,textarea{ font:inherit; color:inherit; }
a{ color:var(--text); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:var(--link-ul); }
a:hover{ text-decoration-thickness:2.5px; }
:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; border-radius:10px; }
main:focus{ outline:none; }
.sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.ic{ width:1em; height:1em; flex:0 0 auto; }
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(16px, 4vw, 40px); }
.sec{ padding-block:clamp(64px, 8vw, 104px); }
.sec-alt{ background:var(--bg-deep); }

/* Typographie */
.h1{ font-size:var(--fs-1); line-height:1.07; letter-spacing:-.03em; font-weight:800; text-wrap:balance; }
.h2{ font-size:var(--fs-2); line-height:1.15; letter-spacing:-.025em; font-weight:800; text-wrap:balance; }
.h3{ font-size:var(--fs-3); line-height:1.3; letter-spacing:-.01em; font-weight:700; text-wrap:balance; }
.lead{ font-size:var(--fs-lead); line-height:1.6; color:var(--text-2); max-width:62ch; }
.muted{ color:var(--text-2); }
.small{ font-size:var(--fs-s); }
.xs{ font-size:var(--fs-xs); }
.num{ font-variant-numeric:tabular-nums; }
.head{ display:flex; flex-direction:column; gap:12px; max-width:720px; margin-bottom:clamp(28px, 4vw, 44px); }
.badge{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-xs); font-weight:700; color:var(--accent); background:var(--accent-tint); padding:5px 12px; border-radius:var(--r-pill); }

/* Boutons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:var(--r-pill); border:1.5px solid transparent; font-weight:700; font-size:16px; line-height:1.2; text-decoration:none; cursor:pointer; white-space:nowrap; background:none; transition:background-color .15s ease, color .15s ease, border-color .15s ease; }
.btn:hover{ text-decoration:none; }
.btn:disabled{ opacity:.45; cursor:not-allowed; }
.btn-lg{ min-height:54px; padding:0 28px; font-size:17px; }
.btn-sm{ min-height:40px; padding:0 16px; font-size:15px; }
.btn-primary{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.btn-primary:hover{ background:var(--gold-hover); border-color:var(--gold-hover); color:var(--ink); }
.btn-dark{ background:var(--text); color:var(--inverse); border-color:var(--text); }
.btn-dark:hover{ background:var(--text-2); border-color:var(--text-2); color:var(--inverse); }
.btn-outline{ background:transparent; color:var(--text); border-color:var(--ui); }
.btn-outline:hover{ background:var(--surface-2); border-color:var(--text); color:var(--text); }
.btn-block{ width:100%; }
.actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.link-more{ font-weight:700; }

/* Barre utilitaire et en-tête */
.skip{ position:fixed; left:16px; top:-80px; z-index:100; background:var(--gold); color:var(--ink); font-weight:700; padding:12px 16px; border-radius:var(--r-in); border:0; cursor:pointer; }
.skip:focus{ top:12px; }
.util{ background:var(--bg-deep); border-bottom:1px solid var(--line); font-size:var(--fs-xs); }
.util-in{ display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:40px; flex-wrap:wrap; }
.util nav{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.util a{ text-decoration:none; color:var(--text-2); font-weight:600; padding:8px 0; }
.util a:hover{ color:var(--text); text-decoration:underline; }
.util a[aria-current="page"]{ color:var(--text); text-decoration:underline; text-decoration-thickness:2px; }
.util-news{ display:inline-flex; gap:8px; align-items:center; color:var(--text) !important; }
.util-news strong{ font-size:12px; font-weight:800; background:var(--gold); color:var(--ink); padding:2px 8px; border-radius:var(--r-pill); }
.hdr{ position:sticky; top:env(safe-area-inset-top, 0px); z-index:50; background:rgba(13,34,71,.96); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.hdr .wrap{ max-width:1360px; }
.hdr-in{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:var(--header-h); }
.logo{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.logo-sym{ width:34px; height:34px; flex:0 0 auto; }
.logo-word{ display:flex; flex-direction:column; line-height:1; }
.logo-word b{ font-weight:800; font-size:20px; letter-spacing:.04em; color:var(--text); }
.logo-word small{ font-weight:700; font-size:9px; letter-spacing:.32em; margin-top:4px; color:var(--gold); }
.nav{ display:flex; align-items:center; gap:4px; }
.nav-link{ position:relative; color:var(--text-2); text-decoration:none; font-size:clamp(14px, 1.1vw, 15px); font-weight:600; padding:8px 11px; border-radius:var(--r-pill); white-space:nowrap; transition:background-color .15s ease, color .15s ease; }
.nav-link:hover{ background:var(--surface); color:var(--text); text-decoration:none; }
.nav-link[aria-current="page"]{ color:var(--text); background:var(--surface); box-shadow:inset 0 -2px 0 var(--gold); }
.nav .btn{ margin-left:10px; }
.nav-group{ display:none; }
.nav-extra{ display:none !important; }
.dd{ position:relative; }
.dd-btn{ display:inline-flex; align-items:center; gap:6px; border:0; background:none; cursor:pointer; font-family:inherit; }
.dd-btn .ic{ width:16px; height:16px; transition:transform .15s ease; }
.dd-btn[aria-expanded="true"]{ background:var(--surface); color:var(--text); }
.dd-btn[aria-expanded="true"] .ic{ transform:rotate(180deg); }
.dd-panel{ position:absolute; top:calc(100% + 12px); right:-140px; width:min(760px, calc(100vw - 32px)); padding:18px; border-radius:20px; background:var(--surface); border:1px solid var(--line-2); box-shadow:var(--shadow); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px 16px; z-index:60; }
.dd-col{ display:flex; flex-direction:column; gap:2px; }
.dd-h{ font-size:13px; font-weight:700; color:var(--gold); padding:6px 12px; }
.dd-link{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:12px; text-decoration:none; color:var(--text); }
.dd-link:hover{ background:var(--surface-2); text-decoration:none; }
.dd-link b{ font-size:15px; }
.dd-link span{ font-size:13px; color:var(--text-2); }
.dd-link[aria-current="page"]{ background:var(--surface-2); box-shadow:inset 3px 0 0 var(--gold); }
.burger{ display:none; align-items:center; gap:8px; min-height:44px; padding:0 16px; border-radius:var(--r-pill); border:1.5px solid var(--ui); background:transparent; color:var(--text); font-weight:700; cursor:pointer; }
@media (max-width:1100px){
  :root{ --header-h:64px; }
  .dd{ display:none; }
  .burger{ display:inline-flex; }
  .nav{ display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:2px; padding:8px clamp(16px, 4vw, 40px) 24px; background:var(--bg); border-bottom:1px solid var(--line); box-shadow:var(--shadow); max-height:calc(100vh - var(--header-h)); overflow:auto; }
  .nav.is-open{ display:flex; }
  .nav-group{ display:block; font-size:var(--fs-xs); font-weight:700; color:var(--gold); padding:16px 11px 4px; }
  .nav-link{ padding:12px 11px; font-size:17px; }
  .nav .btn{ margin:18px 0 0; }
  .nav-extra{ display:flex !important; }
}

/* Héros */
.hero{ background:var(--bg); border-bottom:1px solid var(--line); }
.hero-in{ padding-block:clamp(48px, 6vw, 88px); display:flex; flex-direction:column; gap:22px; max-width:820px; }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px, 5vw, 72px); align-items:center; padding-block:clamp(48px, 6vw, 88px) clamp(32px, 4vw, 48px); }
.hero-grid .hero-in{ padding-block:0; }
.notice{ align-self:flex-start; display:inline-flex; gap:10px; align-items:center; max-width:100%; font-size:var(--fs-s); font-weight:600; color:var(--text); text-decoration:none; background:var(--surface); border:1px solid var(--line-2); padding:5px 12px 5px 5px; border-radius:var(--r-pill); }
.notice:hover{ border-color:var(--gold); text-decoration:none; }
.notice strong{ flex:0 0 auto; background:var(--gold); color:var(--ink); font-size:13px; font-weight:800; padding:3px 10px; border-radius:var(--r-pill); }
.notice .ic{ width:16px; height:16px; color:var(--gold); }
.crumb{ font-size:var(--fs-s); color:var(--text-2); }
.crumb a{ color:var(--text-2); }
.checks-inline{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.checks-inline li{ display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-s); color:var(--text-2); }
.checks-inline .ic{ width:20px; height:20px; padding:3px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); }
.cockpit{ display:flex; flex-direction:column; gap:4px; padding:22px; border-radius:24px; background:var(--surface); border:1px solid var(--line-2); box-shadow:var(--shadow); }
.cockpit-h{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 4px 10px; }
.cockpit-h b{ font-size:16px; }
.cockpit-row{ display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 4px; border-top:1px solid var(--line); }
.cockpit-ic{ width:40px; height:40px; border-radius:12px; background:var(--surface-2); color:var(--gold); display:grid; place-items:center; font-size:19px; }
.cockpit-row b{ display:block; font-size:15px; }
.cockpit-row span.small{ display:block; font-size:13px; color:var(--text-2); line-height:1.4; }
.st{ font-size:12px; font-weight:700; padding:4px 10px; border-radius:var(--r-pill); white-space:nowrap; }
.st-ok{ background:var(--ok-tint); color:var(--ok); }
.st-gold{ background:var(--accent-tint); color:var(--accent); }
.st-plain{ background:var(--surface-2); color:var(--text-2); }
.strip{ display:flex; flex-wrap:wrap; gap:10px; padding-bottom:clamp(40px, 5vw, 64px); align-items:center; }
.strip-t{ font-size:var(--fs-s); font-weight:700; color:var(--text-2); margin-right:6px; }
.pill{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px 0 10px; border-radius:var(--r-pill); background:var(--surface); border:1px solid var(--line-2); color:var(--text); font-size:15px; font-weight:600; text-decoration:none; transition:border-color .15s ease, background-color .15s ease; }
.pill:hover{ border-color:var(--gold); background:var(--surface-2); text-decoration:none; }
.pill .ic{ width:26px; height:26px; padding:5px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--accent); }
.facts{ display:flex; flex-wrap:wrap; gap:12px; }
.fact{ flex:1 1 180px; padding:16px 18px; border-radius:16px; border:1px solid var(--line-2); background:var(--surface); display:flex; flex-direction:column; gap:2px; }
.fact b{ font-size:20px; font-weight:800; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.fact span{ font-size:var(--fs-xs); color:var(--text-2); }

/* Cartes et listes */
.card{ background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); }
.svc-split{ display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(32px, 5vw, 64px); align-items:start; }
.svc-split .head{ position:sticky; top:calc(var(--header-h) + 32px); margin:0; }
.svc-list{ background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); overflow:hidden; }
.svc{ display:grid; grid-template-columns:minmax(0,1fr) 120px 40px; grid-template-areas:"name price go" "desc price go"; gap:4px 20px; align-items:center; padding:22px 26px; border-bottom:1px solid var(--line); text-decoration:none; color:var(--text); transition:background-color .15s ease; }
.svc:last-child{ border-bottom:0; }
.svc:hover{ background:var(--surface-2); text-decoration:none; }
.svc-name{ grid-area:name; font-size:19px; font-weight:800; letter-spacing:-.01em; line-height:1.3; }
.svc-desc{ grid-area:desc; color:var(--text-2); font-size:15px; }
.svc-price{ grid-area:price; font-size:var(--fs-xs); color:var(--text-2); text-align:right; }
.svc-price b{ display:block; font-size:17px; color:var(--text); }
.svc-go{ grid-area:go; width:40px; height:40px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text); display:grid; place-items:center; font-size:18px; transition:background-color .15s ease, color .15s ease; }
.svc:hover .svc-go{ background:var(--gold); color:var(--ink); }
.cols{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.col{ display:flex; flex-direction:column; gap:12px; padding:26px; min-width:0; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); transition:border-color .15s ease; }
a.col:hover{ border-color:var(--gold); text-decoration:none; }
.col ul{ display:flex; flex-direction:column; gap:8px; }
.col li{ display:flex; gap:10px; align-items:flex-start; color:var(--text-2); }
.col .grow{ flex:1 1 auto; }
.route-ic{ width:42px; height:42px; flex:0 0 auto; border-radius:12px; background:var(--surface-2); color:var(--accent); display:grid; place-items:center; font-size:20px; }
.prof-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.prof-group{ font-size:var(--fs-xs); font-weight:700; color:var(--accent); }
.feat{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.feat:last-child{ border-bottom:0; }
.feat-ic{ width:44px; height:44px; border-radius:14px; background:var(--surface-2); color:var(--accent); display:grid; place-items:center; font-size:20px; }

/* Actualité réglementaire */
.news{ background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); overflow:hidden; }
.news li{ display:grid; grid-template-columns:140px minmax(0,1fr) 210px; gap:24px; padding:22px 26px; border-bottom:1px solid var(--line); align-items:start; }
.news li:last-child{ border-bottom:0; }
.news li.two{ grid-template-columns:150px minmax(0,1fr); }
.news-date{ align-self:start; justify-self:start; font-size:var(--fs-xs); font-weight:700; color:var(--accent); background:var(--accent-tint); padding:4px 10px; border-radius:var(--r-pill); font-variant-numeric:tabular-nums; white-space:nowrap; }
.news h3{ font-size:18px; font-weight:700; line-height:1.35; margin-bottom:4px; }
.news p{ color:var(--text-2); max-width:68ch; }
.news p.strong{ color:var(--text); }
.news-src{ font-size:var(--fs-xs); color:var(--text-3) !important; margin-top:6px; }
.news-src a{ color:var(--text-2); }
.news-act{ text-align:right; font-weight:700; }

/* Étapes */
.steps{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.step{ display:flex; flex-direction:column; gap:10px; padding:24px; border-radius:var(--r-card); background:var(--surface); border:1px solid var(--line-2); }
.step-n{ width:38px; height:38px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); display:grid; place-items:center; font-weight:800; font-size:var(--fs-s); }
.step h3{ font-size:18px; font-weight:700; }
.step p{ color:var(--text-2); font-size:16px; }

/* Citation, témoignages */
.quote blockquote p{ font-size:clamp(22px, 2.4vw, 30px); line-height:1.35; letter-spacing:-.015em; font-weight:700; max-width:34ch; }
.who{ display:flex; align-items:center; gap:14px; margin-top:20px; flex-wrap:wrap; }
.avatar{ width:52px; height:52px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); display:grid; place-items:center; font-weight:800; flex:0 0 auto; }
.placeholder{ border:2px dashed var(--ui); border-radius:var(--r-card); padding:24px; color:var(--text-2); font-size:var(--fs-s); }
.proof{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.proof-side{ display:flex; flex-direction:column; gap:16px; }

/* Formulaires */
.inline-form{ display:flex; flex-direction:column; gap:10px; }
.inline-row{ display:flex; gap:10px; flex-wrap:wrap; }
.inline-row input{ flex:1 1 240px; min-width:0; }
.ok-msg{ display:flex; gap:10px; align-items:flex-start; padding:14px 16px; border-radius:var(--r-in); background:var(--ok-tint); color:var(--ok); font-weight:600; }
.ok-msg .ic{ margin-top:4px; }
.field{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.field label, .lbl{ font-size:var(--fs-s); font-weight:700; }
.field label small, .lbl small{ font-weight:500; color:var(--text-2); }
.input{ width:100%; min-height:50px; padding:12px 16px; border-radius:var(--r-in); border:1.5px solid var(--ui); background:var(--input-bg); color:var(--text); font-size:16px; }
.input::placeholder{ color:var(--text-3); }
textarea.input{ min-height:120px; resize:vertical; }
.input:hover{ border-color:var(--text-2); }
.input:focus{ outline:3px solid var(--focus); outline-offset:2px; border-color:var(--text); }
.has-err .input{ border-color:var(--err); }
.err{ font-size:var(--fs-s); font-weight:600; color:var(--err); }
.hint{ font-size:var(--fs-xs); color:var(--text-2); }

/* FAQ */
.faq{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.faq-list{ display:flex; flex-direction:column; gap:10px; }
.faq-item{ background:var(--surface); border:1px solid var(--line-2); border-radius:16px; }
.faq-q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 20px; border:0; background:none; text-align:left; cursor:pointer; font-size:17px; font-weight:700; color:var(--text); border-radius:16px; }
.faq-q:hover span:first-child{ text-decoration:underline; text-decoration-color:var(--link-ul); text-underline-offset:4px; }
.faq-ico{ width:32px; height:32px; flex:0 0 auto; border-radius:var(--r-pill); background:var(--surface-2); display:grid; place-items:center; font-size:18px; font-weight:700; }
.faq-q[aria-expanded="true"] .faq-ico{ background:var(--gold); color:var(--ink); }
.faq-a{ padding:0 20px 20px; color:var(--text-2); max-width:68ch; }

/* Bandeau d'appel final */
.cta-panel{ background:var(--surface); border:1px solid var(--line-2); border-radius:28px; padding:clamp(32px, 5vw, 64px); }
.cta-in{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px; align-items:center; }

/* Tableaux d'offres */
.tbl-wrap{ position:relative; overflow-x:auto; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); }
.tbl{ width:100%; border-collapse:collapse; min-width:760px; }
.tbl th, .tbl td{ text-align:left; padding:18px 20px; border-bottom:1px solid var(--line); vertical-align:top; }
.tbl thead th{ font-size:var(--fs-xs); font-weight:700; color:var(--text-2); background:var(--thead); }
.tbl tbody tr:last-child td, .tbl tbody tr:last-child th{ border-bottom:0; }
.tbl tbody tr:hover{ background:var(--surface-2); }
.o-name{ font-weight:800; font-size:17px; display:block; }
.o-desc{ color:var(--text-2); font-size:var(--fs-s); font-weight:400; display:block; margin-top:4px; }
.o-price{ font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; }
.o-meta{ color:var(--text-2); font-size:var(--fs-s); }
.tag{ display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text-2); white-space:nowrap; vertical-align:middle; }
.tbl-act{ text-align:right; white-space:nowrap; }
.filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.filter{ min-height:42px; padding:0 18px; border-radius:var(--r-pill); border:1.5px solid var(--ui); background:transparent; color:var(--text); font-weight:700; font-size:15px; cursor:pointer; }
.filter:hover{ border-color:var(--text); }
.filter[aria-pressed="true"]{ background:var(--gold); border-color:var(--gold); color:var(--ink); }

/* Packs */
.packs{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; align-items:stretch; }
.pack{ position:relative; display:flex; flex-direction:column; gap:14px; padding:28px; border-radius:24px; border:1px solid var(--line-2); background:var(--surface); min-width:0; transition:border-color .15s ease; }
.pack:hover{ border-color:var(--ui); }
.pack.is-match{ border:2px solid var(--gold); }
.pack-badge{ position:absolute; top:-14px; left:24px; background:var(--gold); color:var(--ink); font-size:13px; font-weight:800; padding:4px 12px; border-radius:var(--r-pill); }
.pack-name{ font-size:22px; font-weight:800; letter-spacing:-.015em; }
.pack-price{ font-size:32px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1.1; }
.pack-items{ display:flex; flex-direction:column; gap:10px; padding-top:14px; border-top:1px solid var(--line); flex:1 1 auto; }
.pack-items li{ display:flex; gap:10px; align-items:flex-start; font-size:16px; color:var(--text-2); }
.pack-items .ic{ margin-top:3px; width:20px; height:20px; padding:3px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); }
.pack-meta{ font-size:var(--fs-s); color:var(--text-2); }
.from{ display:block; font-size:var(--fs-xs); font-weight:600; letter-spacing:0; color:var(--text-2); }

/* Diagnostic */
.diag{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.chk-list{ display:flex; flex-direction:column; gap:10px; }
.chk{ position:relative; display:flex; gap:14px; align-items:flex-start; padding:16px 18px; border:1.5px solid var(--line-2); border-radius:16px; background:var(--surface); cursor:pointer; transition:border-color .15s ease; }
.chk:hover{ border-color:var(--ui); }
.chk:has(input:checked){ border-color:var(--gold); }
.chk input{ position:absolute; opacity:0; width:1px; height:1px; }
.chk-box{ width:24px; height:24px; flex:0 0 auto; border-radius:7px; border:2px solid var(--text-2); display:grid; place-items:center; color:transparent; background:transparent; margin-top:2px; font-size:15px; }
.chk input:checked + .chk-box{ background:var(--gold); border-color:var(--gold); color:var(--ink); }
.chk input:focus-visible + .chk-box{ outline:3px solid var(--focus); outline-offset:3px; }
.chk-t{ display:flex; flex-direction:column; gap:2px; }
.chk-t b{ font-size:16px; }
.chk-t span{ color:var(--text-2); font-size:var(--fs-s); }
.reco{ margin-top:18px; padding:22px 24px; border-radius:var(--r-card); background:var(--surface-2); border:1.5px solid var(--gold); display:flex; flex-direction:column; gap:10px; }
.reco p{ color:var(--text-2); }
.reco .reco-name{ color:var(--text); font-size:22px; font-weight:800; }
.reco.is-empty{ background:transparent; border:1.5px dashed var(--ui); }

/* Outils des pages service */
.split{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.panel{ border:1px solid var(--line-2); border-radius:var(--r-card); background:var(--surface); padding:clamp(20px, 3vw, 30px); display:flex; flex-direction:column; gap:14px; }
.progress{ height:8px; border-radius:8px; background:var(--surface-2); overflow:hidden; }
.progress i{ display:block; height:100%; background:var(--meter); border-radius:8px; }
.switch{ display:flex; gap:12px; align-items:center; padding:14px 16px; border-radius:14px; background:var(--surface-2); border:1px solid var(--line-2); cursor:pointer; }
.switch input{ width:22px; height:22px; accent-color:var(--gold); flex:0 0 auto; }
.crit-tabs{ display:flex; flex-direction:column; gap:8px; }
.crit{ display:flex; gap:12px; align-items:center; width:100%; padding:12px 14px; border:1.5px solid var(--line-2); border-radius:14px; background:var(--surface); text-align:left; cursor:pointer; font-weight:600; color:var(--text); }
.crit:hover{ border-color:var(--ui); }
.crit[aria-selected="true"]{ border-color:var(--gold); background:var(--surface-2); }
.crit-n{ width:28px; height:28px; flex:0 0 auto; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text); display:grid; place-items:center; font-size:var(--fs-xs); font-weight:800; }
.crit[aria-selected="true"] .crit-n{ background:var(--gold); color:var(--ink); }
.crit-flag{ margin-left:auto; font-size:12px; font-weight:700; padding:2px 10px; border-radius:var(--r-pill); background:var(--accent-tint); color:var(--accent); white-space:nowrap; }
.cmp{ width:100%; border-collapse:collapse; min-width:620px; }
.cmp th, .cmp td{ padding:16px 20px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.cmp tbody tr:last-child th, .cmp tbody tr:last-child td{ border-bottom:0; }
.cmp thead th{ font-size:16px; font-weight:800; background:var(--thead); }
.cmp tbody th{ font-size:var(--fs-s); color:var(--text-2); font-weight:700; width:26%; }
.eco-rows{ display:flex; flex-direction:column; gap:8px; }
.eco-row{ display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); gap:10px 20px; align-items:center; width:100%; padding:14px 16px; border:1.5px solid var(--line-2); border-radius:14px; background:var(--surface); text-align:left; cursor:pointer; color:var(--text); }
.eco-row:hover{ border-color:var(--ui); }
.eco-row[aria-pressed="true"]{ border-color:var(--gold); background:var(--surface-2); }
.eco-cat{ font-weight:700; }
.eco-tools{ display:flex; gap:8px; flex-wrap:wrap; }
.plat{ display:flex; flex-direction:column; gap:4px; padding:18px; border-radius:16px; border:1.5px solid var(--line-2); background:var(--surface); }
.plat.is-linked{ border-color:var(--gold); }
.plat .xs, .plat .small{ color:var(--text-2); }
.plat-link{ display:none; align-self:flex-start; font-size:12px; font-weight:800; padding:3px 10px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); margin-bottom:4px; }
.plat.is-linked .plat-link{ display:inline-block; }
.partner{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.partner-name{ font-size:clamp(30px, 3.2vw, 42px); font-weight:800; letter-spacing:-.02em; line-height:1.1; }

/* Bandeau et page du test Qualiopi */
.qtest{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px, 4vw, 56px); align-items:center; padding:clamp(28px, 4vw, 52px); border-radius:28px; background:var(--blue); }
.qtest .lead, .qtest .qtest-list li{ color:#EAF0F8; }
.qtest .badge{ background:var(--ink); color:var(--gold); }
.qtest-list{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.qtest-list li{ display:flex; gap:10px; align-items:flex-start; }
.qtest-list .ic{ margin-top:4px; width:20px; height:20px; padding:3px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); }
.qcard{ background:#FFFFFF; color:var(--ink); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:12px; --focus:var(--ink); }
.qcard .quiz-k, .qcard .hint{ color:var(--ink-2); }
.qcard-q{ font-size:19px; font-weight:800; line-height:1.35; letter-spacing:-.01em; }
.qcard .opt{ min-height:52px; font-size:16px; background:#FFFFFF; color:var(--ink); border-color:var(--paper-line); }
.qcard .opt:hover{ border-color:var(--ink); background:var(--paper-alt); }
.qcard .opt small{ color:var(--ink-2); }
.quiz{ max-width:760px; }
.quiz-k{ font-size:var(--fs-s); color:var(--text-2); font-weight:600; }
.quiz-q{ font-size:clamp(22px, 2.4vw, 28px); font-weight:800; letter-spacing:-.02em; line-height:1.25; margin:10px 0 8px; }
.quiz-opts{ display:flex; flex-direction:column; gap:10px; margin-top:22px; }
.opt{ display:flex; gap:14px; align-items:center; width:100%; min-height:60px; padding:12px 18px; border-radius:16px; border:1.5px solid var(--ui); background:var(--surface); text-align:left; font-weight:700; font-size:17px; cursor:pointer; color:var(--text); }
.opt:hover{ border-color:var(--text); background:var(--surface-2); }
.opt[aria-pressed="true"]{ border:2px solid var(--gold); background:var(--surface-2); }
.opt small{ display:block; font-weight:500; font-size:var(--fs-s); color:var(--text-2); }
.score{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.score b{ font-size:48px; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.lvl-pill{ font-size:var(--fs-s); font-weight:700; padding:4px 12px; border-radius:var(--r-pill); }
.lvl-ok{ background:var(--ok-tint); color:var(--ok); }
.lvl-mid{ background:var(--accent-tint); color:var(--accent); }
.lvl-low{ background:var(--err-tint); color:var(--err); }
.gaps{ display:flex; flex-direction:column; gap:10px; }
.gaps li{ padding:16px 18px; border-radius:16px; border:1px solid var(--line-2); background:var(--surface-2); }
.gaps b{ display:block; }

/* Contact */
.contact{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); gap:clamp(32px, 5vw, 72px); align-items:start; }
.steps-bar{ display:flex; gap:8px; margin-bottom:24px; }
.steps-bar span{ flex:1; height:6px; border-radius:6px; background:var(--surface-2); }
.steps-bar span.is-on{ background:var(--meter); }
.form-title{ font-size:clamp(24px, 2.6vw, 30px); font-weight:800; letter-spacing:-.02em; margin:6px 0 20px; line-height:1.2; }
.tiles{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.tile{ display:flex; gap:14px; align-items:center; padding:16px; border-radius:16px; border:1.5px solid var(--ui); background:var(--surface); text-align:left; cursor:pointer; color:var(--text); min-width:0; }
.tile:hover{ border-color:var(--text); }
.tile[aria-pressed="true"]{ border:2px solid var(--gold); background:var(--surface-2); }
.tile .ic{ font-size:22px; width:42px; height:42px; padding:10px; border-radius:12px; background:var(--surface-2); color:var(--accent); }
.tile[aria-pressed="true"] .ic{ background:var(--gold); color:var(--ink); }
.tile b{ display:block; font-size:16px; }
.tile small{ display:block; font-size:var(--fs-xs); color:var(--text-2); }
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:var(--r-pill); border:1.5px solid var(--ui); background:transparent; font-size:15px; font-weight:600; color:var(--text); cursor:pointer; }
.chip:hover{ border-color:var(--text); }
.chip[aria-pressed="true"]{ background:var(--gold); border-color:var(--gold); color:var(--ink); }
.fgrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.form-nav{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:28px; }
.aside{ display:flex; flex-direction:column; gap:20px; padding:28px; border-radius:24px; background:var(--surface); border:1px solid var(--line-2); }
.aside ol{ display:flex; flex-direction:column; gap:16px; }
.aside li{ display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; }
.aside li > span{ width:32px; height:32px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); display:grid; place-items:center; font-weight:800; font-size:var(--fs-xs); }
.aside p{ color:var(--text-2); font-size:var(--fs-s); }
.coords{ display:flex; flex-direction:column; gap:4px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--fs-s); color:var(--text-2); }
.coords b{ color:var(--text); }
.recap div{ display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.recap dt{ color:var(--text-2); }
.recap dd{ font-weight:700; text-align:right; }
.proto{ font-size:var(--fs-xs); color:var(--text-2); background:var(--surface-2); padding:10px 14px; border-radius:var(--r-in); }

/* Ressources */
.res{ display:flex; flex-direction:column; gap:12px; }
.res li{ background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-card); padding:0 24px; }
.res-row{ display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:20px; align-items:center; padding:20px 0; }
.res-form{ padding:0 0 22px 130px; }

/* Pied de page */
.ftr{ background:var(--bg-deep); border-top:1px solid var(--line); }
.ftr-in{ display:flex; flex-direction:column; gap:40px; padding-block:64px 32px; }
.ftr-top{ display:grid; grid-template-columns:minmax(0,1.2fr) repeat(3, minmax(0,1fr)); gap:32px; }
.ftr-col{ display:flex; flex-direction:column; gap:10px; }
.ftr-col b{ font-size:var(--fs-s); }
.ftr-col a{ color:var(--text-2); text-decoration:none; font-size:var(--fs-s); }
.ftr-col a:hover{ color:var(--text); text-decoration:underline; }
.ftr-bot{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:20px; border-top:1px solid var(--line); font-size:var(--fs-xs); color:var(--text-2); }

/* Barre mobile */
.mbar{ position:fixed; left:0; right:0; bottom:0; z-index:40; padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background:rgba(9,26,55,.97); border-top:1px solid var(--line); display:none; }

/* Responsive */
@media (max-width:1000px){
  .hero-grid, .faq, .diag, .split, .contact, .proof, .partner, .cta-in, .qtest, .svc-split{ grid-template-columns:minmax(0,1fr); }
  .svc-split .head{ position:static; }
  .cols, .prof-grid{ grid-template-columns:minmax(0,1fr); }
  .packs{ grid-template-columns:minmax(0,1fr); max-width:560px; }
  .steps{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .svc{ grid-template-columns:minmax(0,1fr) 40px; grid-template-areas:"name go" "desc desc" "price price"; padding:20px; }
  .svc-price{ text-align:left; margin-top:6px; }
  .news li, .news li.two{ grid-template-columns:minmax(0,1fr); gap:8px; padding:20px; }
  .news-act{ text-align:left; }
  .ftr-top{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .mbar.is-on{ display:block; }
  .ftr-in{ padding-bottom:104px; }
}
@media (max-width:640px){
  .steps, .tiles, .fgrid{ grid-template-columns:minmax(0,1fr); }
  .eco-row{ grid-template-columns:minmax(0,1fr); }
  .res-row{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .res-form{ padding-left:0; }
  .ftr-top{ grid-template-columns:minmax(0,1fr); }
  .cockpit-row{ grid-template-columns:40px minmax(0,1fr); }
  .cockpit-row .st{ grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ transition:none !important; } }

/* Sections blanches : mêmes composants, jetons clairs */
.sec-light{
  --text:#0D2247; --text-2:#4B5568; --text-3:#5F6B7D;
  --surface:#F4F6FA; --surface-2:#E9EDF4; --line:#E4E7EC; --line-2:#DCE1E8; --ui:#7C8698; --input-bg:#FFFFFF;
  --accent:#6B5200; --accent-tint:#FFF6D1; --ok:#1B6B35; --ok-tint:#E3F2E8; --err:#B42318; --err-tint:#FDE7E5;
  --focus:#0D2247; --inverse:#FFFFFF; --meter:#0D2247; --thead:#F4F6FA; --link-ul:#0D2247;
  background:#FFFFFF; color:var(--text); color-scheme:light;
}
.sec-light .card, .sec-light .panel, .sec-light .pack, .sec-light .chk, .sec-light .faq-item, .sec-light .tbl-wrap, .sec-light .res-card{ background:#FFFFFF; }
.sec-light .chk:hover{ border-color:var(--text); }
.dark-box{
  --text:#FFFFFF; --text-2:#C9D3E6; --text-3:#A3B2CC; --surface:#132D58; --surface-2:#19386B; --line:#24406F; --line-2:#2F4D80; --ui:#7187B0;
  --accent:#FED322; --accent-tint:rgba(254,211,34,.14); --focus:#FED322; --inverse:#0D2247; --meter:#FED322; --link-ul:#FED322;
  background:var(--bg) !important; color:var(--text); border-color:var(--line-2) !important; color-scheme:dark;
}

/* Onglets des services */
.stabs{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.stab{ min-height:48px; padding:8px 18px; line-height:1.25; text-align:center; border-radius:var(--r-pill); border:1.5px solid var(--ui); background:transparent; color:var(--text); font-weight:700; font-size:15px; cursor:pointer; }
.stab:hover{ border-color:var(--text); }
@media (max-width:700px){ .stabs{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; } .stab{ font-size:14px; padding:8px 12px; border-radius:16px; } }
.stab[aria-selected="true"]{ background:var(--text); color:var(--inverse); border-color:var(--text); }
.stab-panel{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(24px, 4vw, 56px); padding:clamp(24px, 4vw, 48px); border-radius:28px; background:var(--surface); border:1px solid var(--line-2); }
.sp-main{ display:flex; flex-direction:column; gap:18px; }
.sp-title{ font-size:clamp(24px, 2.6vw, 34px); line-height:1.15; letter-spacing:-.02em; font-weight:800; text-wrap:balance; }
.sp-side{ display:flex; flex-direction:column; gap:16px; }
.sp-fact{ display:flex; flex-direction:column; gap:10px; padding:20px; border-radius:18px; background:#FFFFFF; border:1px solid var(--line-2); }
.sp-fact p{ font-size:16px; }
.sp-offers ul{ display:flex; flex-direction:column; margin-top:6px; }
.sp-offers li{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-2); font-size:15px; }
.sp-offers li b{ white-space:nowrap; font-variant-numeric:tabular-nums; }

/* Frise */
.tl{ position:relative; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(20px, 3vw, 40px); }
.tl::before{ content:""; position:absolute; top:19px; left:20px; right:20px; height:2px; background:var(--line-2); }
.tl li{ position:relative; display:flex; flex-direction:column; gap:10px; }
.tl-n{ width:40px; height:40px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); display:grid; place-items:center; font-weight:800; font-size:var(--fs-s); box-shadow:0 0 0 6px var(--tl-ring, #FFFFFF); position:relative; }
.tl h3{ font-size:19px; font-weight:700; margin-top:6px; }
.tl p{ color:var(--text-2); font-size:16px; max-width:34ch; }
.sec:not(.sec-light) .tl{ --tl-ring:var(--bg); }
.sec-alt .tl{ --tl-ring:var(--bg-deep); }

/* Actualité à la une */
.nf{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(24px, 4vw, 56px); align-items:start; }
.nf-main{ display:flex; flex-direction:column; gap:16px; padding:clamp(24px, 3.5vw, 40px); border-radius:28px; background:var(--surface); border:1px solid var(--line-2); }
.nf-title{ font-size:clamp(26px, 3vw, 38px); line-height:1.15; letter-spacing:-.02em; font-weight:800; text-wrap:balance; }
.nf-side{ display:flex; flex-direction:column; }
.nf-item{ display:flex; flex-direction:column; gap:8px; padding:22px 0; border-bottom:1px solid var(--line); }
.nf-item:first-child{ padding-top:0; }
.nf-item h3{ font-size:19px; font-weight:700; line-height:1.3; }
.nf-side > p{ padding-top:20px; }

/* Texte d'engagement */
.statement{ font-size:clamp(26px, 3vw, 40px); line-height:1.25; letter-spacing:-.02em; font-weight:700; text-wrap:balance; max-width:26ch; }
.why{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px, 6vw, 96px); align-items:start; }
.why-cols{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px 40px; }
.why-cols.three{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.why-cols > div{ display:flex; flex-direction:column; gap:8px; }
.why-cols h3{ font-size:19px; font-weight:700; }
.proof-row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; margin-top:clamp(40px, 5vw, 64px); }

/* Partenaire */
.partner-top{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px, 5vw, 72px); align-items:end; padding-bottom:clamp(32px, 4vw, 48px); border-bottom:1px solid var(--line); margin-bottom:clamp(32px, 4vw, 48px); }
.partner-feats{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(24px, 3vw, 40px); }
.partner-feats > div{ display:flex; flex-direction:column; gap:10px; }

/* Grilles d'offres et de faits */
.offer-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; align-items:stretch; }
.facts-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:36px 56px; }
.fg-item{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.fg-text{ font-size:18px; line-height:1.55; color:var(--text); max-width:52ch; }
.pills{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.pills-t{ font-size:var(--fs-s); font-weight:700; color:var(--text-2); margin-right:4px; }
.res-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
.res-card{ display:flex; flex-direction:column; gap:12px; padding:26px; border-radius:var(--r-card); background:var(--surface); border:1px solid var(--line-2); }
.res-card .res-form{ padding:0; }

@media (max-width:1000px){
  .stab-panel, .nf, .why, .partner-top{ grid-template-columns:minmax(0,1fr); }
  .tl{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .tl::before{ top:20px; bottom:20px; left:19px; right:auto; width:2px; height:auto; }
  .tl li{ display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:18px; }
  .tl li > *:not(.tl-n){ grid-column:2; }
  .tl-n{ grid-row:1 / span 2; }
  .tl h3{ margin-top:8px; }
  .partner-feats, .why-cols.three{ grid-template-columns:minmax(0,1fr); }
  .facts-grid, .res-grid, .proof-row{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){ .why-cols{ grid-template-columns:minmax(0,1fr); } }
.why-cols.stack{ grid-template-columns:minmax(0,1fr); gap:28px; }
.btn-link{ padding:0; border:0; background:none; font:inherit; font-weight:700; color:var(--text); text-decoration:underline; text-decoration-color:var(--link-ul); text-underline-offset:3px; cursor:pointer; }


/* =========================================================
   Couche premium : verre, lueurs, liserés, ombres teintées
   ========================================================= */
:root{
  --abyss:#07152E; --cobalt:#2F6FDB; --sky:#8DBEF5; --sky-tint:rgba(141,190,245,.13); --amber:#E9B400;
  --glass-fill:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)), rgba(19,45,88,.52);
  --glass-fill-hover:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)), rgba(19,45,88,.66);
  --glass-line:rgba(255,255,255,.11); --glass-line-2:rgba(255,255,255,.2);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 28px 56px -32px rgba(2,8,24,.85);
  --rim:linear-gradient(135deg, rgba(255,255,255,.38), rgba(255,255,255,.06) 38%, rgba(141,190,245,.08) 62%, rgba(254,211,34,.5));
  --rim-gold:linear-gradient(135deg, #FED322, rgba(254,211,34,.35) 45%, rgba(141,190,245,.7));
  --ghost-bg:rgba(255,255,255,.04); --ghost-line:rgba(255,255,255,.3); --ghost-hover:rgba(255,255,255,.1); --ghost-line-hover:rgba(255,255,255,.6);
  --shadow:0 30px 60px -30px rgba(2,8,24,.8), 0 10px 24px -14px rgba(2,8,24,.5);
  --shadow-light:0 1px 2px rgba(13,34,71,.05), 0 18px 40px -22px rgba(13,34,71,.28);
  --shadow-light-sm:0 1px 2px rgba(13,34,71,.05), 0 8px 22px -16px rgba(13,34,71,.25);
}
.sec-light{
  --surface:#F3F7FD; --surface-2:#E7EEF9; --line:#E3E9F3; --line-2:#D8E1EE; --thead:#F3F7FD;
  --ghost-bg:#FFFFFF; --ghost-line:#CBD5E3; --ghost-hover:#F3F7FD; --ghost-line-hover:#0D2247;
}
.dark-box, .sec-light .cta-panel{
  --ghost-bg:rgba(255,255,255,.04); --ghost-line:rgba(255,255,255,.3); --ghost-hover:rgba(255,255,255,.1); --ghost-line-hover:rgba(255,255,255,.6);
}

/* Lueurs d'ambiance des sections sombres */
.hero, .sec, .ftr{ position:relative; isolation:isolate; }
.hero::before, .sec:not(.sec-light)::before, .sec-light::before, .ftr::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hero{ border-bottom:0; }
.hero::before{ background:
  radial-gradient(560px 440px at 84% 36%, rgba(47,111,219,.34), transparent 70%),
  radial-gradient(760px 520px at -5% -10%, rgba(18,98,157,.32), transparent 70%); }
.hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg, transparent, rgba(141,190,245,.35) 30%, rgba(254,211,34,.4) 70%, transparent); }
.sec:not(.sec-light)::before{ background:radial-gradient(640px 420px at 100% 0%, rgba(47,111,219,.16), transparent 70%); }
.sec-alt:not(.sec-light)::before{ background:radial-gradient(640px 420px at 0% 100%, rgba(47,111,219,.15), transparent 70%); }
.sec-light::before{ background:radial-gradient(720px 420px at 0% 0%, rgba(141,190,245,.16), transparent 70%); }
.sec:not(.sec-light):has(.cta-panel)::before{ background:radial-gradient(680px 380px at 74% 50%, rgba(47,111,219,.34), transparent 70%); }
.ftr{ background:var(--abyss); border-top:1px solid rgba(255,255,255,.06); }
.ftr::before{ background:radial-gradient(700px 380px at 100% 0%, rgba(47,111,219,.14), transparent 70%); }
.util{ background:var(--abyss); border-bottom:1px solid rgba(255,255,255,.06); }

/* En-tête, menu et barre mobile en verre */
.hdr{ background:rgba(9,24,52,.82); -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%); border-bottom:1px solid rgba(255,255,255,.08); box-shadow:0 1px 0 rgba(255,255,255,.03), 0 12px 30px -24px rgba(2,8,24,.9); }
.nav-link:hover, .nav-link[aria-current="page"], .dd-btn[aria-expanded="true"]{ background:rgba(255,255,255,.07); }
.dd-panel{ background:rgba(13,34,71,.94); -webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%); border:1px solid var(--glass-line-2); box-shadow:inset 0 1px 0 rgba(255,255,255,.08), var(--shadow); }
.dd-link:hover, .dd-link[aria-current="page"]{ background:rgba(255,255,255,.07); }
.mbar{ background:rgba(9,24,52,.86); -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%); border-top:1px solid rgba(255,255,255,.08); }
@media (max-width:1100px){ .nav{ background:rgba(13,34,71,.97); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); } }

/* Boutons */
.btn{ transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn-primary{ box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(160,120,0,.25), 0 10px 24px -12px rgba(254,211,34,.65); }
.btn-primary:hover{ background:#FFDC45; border-color:#FFDC45; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 0 rgba(160,120,0,.2), 0 14px 32px -12px rgba(254,211,34,.8); transform:translateY(-1px); }
.btn-dark{ box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 24px -14px rgba(2,8,24,.6); }
.btn-dark:hover{ transform:translateY(-1px); }
.btn-outline{ background:var(--ghost-bg); border-color:var(--ghost-line); }
.btn-outline:hover{ background:var(--ghost-hover); border-color:var(--ghost-line-hover); }
:where(.sec:not(.sec-light), .hero) .btn-outline{ -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }

/* Liseré dégradé (bord en verre) */
.cockpit, .cta-panel, .partner-card, .qtest, .pack.is-match, .reco:not(.is-empty){ position:relative; }
.cockpit::before, .cta-panel::before, .partner-card::before, .qtest::before, .pack.is-match::before, .reco:not(.is-empty)::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:var(--rim); pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.pack.is-match::before, .reco:not(.is-empty)::before{ padding:2px; background:var(--rim-gold); }

/* Verre fumé : éléments clés des zones sombres */
.cockpit, .partner-card, .hero .pill, .hero .notice, .hero .fact, :where(.sec:not(.sec-light)) .cta-panel, :where(.sec:not(.sec-light)) .pack{
  background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(20px) saturate(150%); backdrop-filter:blur(20px) saturate(150%); }
.cockpit, .cta-panel, .partner-card{ border-color:transparent; }
:where(.sec:not(.sec-light)) :is(.panel, .aside, .res-card, .faq-item, .chk, .tbl-wrap, .crit, .eco-row, .plat, .opt, .tile, .news, .nf-main, .gaps li, .svc-list, .col, .step, .pill){
  background:var(--glass-fill); border-color:var(--glass-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
:where(.sec:not(.sec-light)) :is(.pill, .crit, .eco-row, .opt, .tile, .chk):hover, .hero .pill:hover{ background:var(--glass-fill-hover); }
.hero .pill:hover, .hero .notice:hover{ border-color:rgba(254,211,34,.65); }
:where(.sec:not(.sec-light)) .pack:hover{ border-color:var(--glass-line-2); }
:where(.sec:not(.sec-light)) .tbl thead th{ background:rgba(7,21,46,.55); }
:where(.sec:not(.sec-light)) .tbl tbody tr:hover{ background:rgba(255,255,255,.04); }
:where(.sec:not(.sec-light), .hero, .ftr) .input{ background:rgba(7,21,46,.55); }

/* Icônes : ciel pour l'information, or pour l'action */
.cockpit-ic, .pill .ic, .feat-ic, .route-ic, .tile .ic{ background:var(--sky-tint); color:var(--sky); box-shadow:inset 0 0 0 1px rgba(141,190,245,.18); }
.sec-light .feat-ic, .sec-light .pill .ic, .sec-light .route-ic, .sec-light .tile .ic{ background:#E3EDFB; color:#1D4E9E; box-shadow:none; }
.tile[aria-pressed="true"] .ic{ background:var(--gold); color:var(--ink); box-shadow:none; }
.dark-box .feat-ic, .dark-box .tile .ic{ background:var(--sky-tint); color:var(--sky); }

/* Héros : tableau de bord en verre */
.cockpit{ border-radius:26px; padding:24px; gap:2px; }
.cockpit-h{ padding:0 4px 12px; }
.cockpit-row{ border-top:1px solid rgba(255,255,255,.08); }
.cockpit-ic{ border-radius:13px; }
.st-plain{ background:rgba(255,255,255,.08); color:var(--text-2); }
.st-gold{ box-shadow:inset 0 0 0 1px rgba(254,211,34,.22); }
.st-ok{ box-shadow:inset 0 0 0 1px rgba(139,224,168,.22); }
.sec-light .st-plain{ background:var(--surface-2); }
.notice strong{ box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
@keyframes rise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.cockpit{ animation:rise .7s cubic-bezier(.2,.7,.2,1) both; }
.cockpit-row{ animation:rise .55s cubic-bezier(.2,.7,.2,1) both; }
.cockpit-row:nth-child(2){ animation-delay:.18s; } .cockpit-row:nth-child(3){ animation-delay:.26s; } .cockpit-row:nth-child(4){ animation-delay:.34s; } .cockpit-row:nth-child(5){ animation-delay:.42s; }
.checks-inline .ic{ box-shadow:0 0 0 3px rgba(254,211,34,.14); }

/* Bandeau du test Qualiopi */
.qtest{ border-radius:30px; overflow:hidden; isolation:isolate;
  background:radial-gradient(480px 400px at 80% 20%, rgba(141,190,245,.4), transparent 70%), radial-gradient(600px 460px at 0% 110%, rgba(9,40,84,.6), transparent 70%), var(--blue);
  box-shadow:0 40px 80px -40px rgba(2,8,24,.9); }
.qtest > *{ position:relative; z-index:1; }
.qtest::before{ z-index:2; }
.qtest .badge{ background:rgba(7,21,46,.72); color:var(--gold); box-shadow:inset 0 0 0 1px rgba(254,211,34,.3); }
.qcard{ background:rgba(255,255,255,.93); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); border:1px solid rgba(255,255,255,.75); border-radius:22px; box-shadow:inset 0 1px 0 #FFFFFF, 0 30px 60px -30px rgba(4,22,52,.75); }
.qcard .opt{ background:rgba(255,255,255,.8); border-color:#D3DDEA; }
.qcard .opt:hover{ background:#FFFFFF; border-color:var(--ink); box-shadow:0 8px 20px -14px rgba(13,34,71,.45); }
@media (max-width:1000px){
  .qtest{ background:radial-gradient(420px 340px at 80% 88%, rgba(141,190,245,.4), transparent 70%), var(--blue); }
}

/* Frise de méthode */
.tl::before{ height:2px; background:linear-gradient(90deg, rgba(254,211,34,.75), rgba(141,190,245,.45) 55%, rgba(141,190,245,.12)); }
.sec:not(.sec-light) .tl-n{ box-shadow:0 0 0 6px var(--tl-ring), 0 0 0 7px rgba(254,211,34,.25), 0 10px 26px -6px rgba(254,211,34,.55); }
.sec-light .tl-n{ box-shadow:0 0 0 6px #FFFFFF, 0 10px 22px -10px rgba(13,34,71,.45); }
@media (max-width:1000px){ .tl::before{ background:linear-gradient(180deg, rgba(254,211,34,.75), rgba(141,190,245,.2)); } }

/* Partenaire et appel final */
.partner-card{ border-radius:30px; padding:clamp(28px, 4vw, 52px); margin:0; }
.partner-card.partner-top{ border-bottom:0; }
.cta-panel{ border-radius:32px; }
.sec-light .cta-panel{
  --text:#FFFFFF; --text-2:#C9D3E6; --text-3:#A3B2CC; --surface:#132D58; --surface-2:#19386B; --line:#24406F; --line-2:#2F4D80; --ui:#7187B0;
  --accent:#FED322; --accent-tint:rgba(254,211,34,.14); --focus:#FED322; --inverse:#0D2247; --link-ul:#FED322;
  color:var(--text); color-scheme:dark; border:0;
  background:radial-gradient(560px 340px at 88% 10%, rgba(47,111,219,.42), transparent 70%), #0D2247;
  box-shadow:0 40px 80px -40px rgba(13,34,71,.7); }

/* Encadrés bleu nuit dans les sections blanches */
.dark-box{ background:radial-gradient(440px 280px at 100% 0%, rgba(47,111,219,.32), transparent 70%), #0D2247 !important; border-color:transparent !important; box-shadow:0 30px 60px -34px rgba(13,34,71,.75); }

/* Sections blanches : cartes nettes et ombres bleutées */
.sec-light :is(.panel, .pack, .chk, .faq-item, .tbl-wrap, .res-card, .card, .crit, .eco-row, .plat, .news, .tile, .opt):not(.dark-box){ background:#FFFFFF; border-color:var(--line-2); box-shadow:var(--shadow-light-sm); }
.sec-light .faq-item:has([aria-expanded="true"]){ border-color:#C9D6EA; box-shadow:var(--shadow-light); }
.sec-light .chk:has(input:checked){ border-color:var(--ink); box-shadow:0 0 0 3px rgba(254,211,34,.35), var(--shadow-light-sm); }
.stab-panel{ background:linear-gradient(180deg, #FFFFFF, #F3F7FD); border:1px solid #E1E8F3; box-shadow:var(--shadow-light); border-radius:30px; }
.stab{ background:var(--ghost-bg); border-color:var(--ghost-line); transition:background-color .18s ease, border-color .18s ease, color .18s ease; }
.stab:hover{ border-color:var(--ghost-line-hover); }
.stab[aria-selected="true"]{ box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 22px -12px rgba(13,34,71,.55); }
.sp-offers li{ border-bottom-color:#E3E9F3; }
.sec-light .avatar, .avatar{ box-shadow:0 0 0 4px rgba(254,211,34,.22); }
.sec-light .news-date{ box-shadow:inset 0 0 0 1px rgba(107,82,0,.12); }

@media (prefers-reduced-motion:reduce){ .cockpit, .cockpit-row{ animation:none; } .btn:hover{ transform:none; } }

/* Sources de lumière derrière le tableau de bord : une sphère or, un halo cobalt */
.cockpit-wrap{ position:relative; isolation:isolate; }
.cockpit-wrap::before, .cockpit-wrap::after{ content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.cockpit-wrap::before{ width:150px; height:150px; top:-38px; right:-30px; background:radial-gradient(circle at 40% 38%, #FFE88A 0%, #FED322 42%, rgba(233,180,0,.85) 68%, rgba(233,180,0,0) 72%); filter:blur(6px); opacity:.95; }
.cockpit-wrap::after{ width:300px; height:300px; bottom:-70px; left:-60px; background:radial-gradient(circle, rgba(47,111,219,.85) 0%, rgba(47,111,219,.35) 45%, rgba(47,111,219,0) 70%); filter:blur(10px); }
@media (max-width:640px){ .cockpit-wrap::before{ width:110px; height:110px; top:-26px; right:-14px; } .cockpit-wrap::after{ left:-30px; } }
/* Pastilles d'état : fond plein pour garder le contraste quel que soit l'arrière-plan */
.cockpit .st-ok{ background:linear-gradient(rgba(139,224,168,.16), rgba(139,224,168,.16)), #0F2650; }
.cockpit .st-gold{ background:linear-gradient(rgba(254,211,34,.16), rgba(254,211,34,.16)), #0F2650; }
.cockpit .st-plain{ background:linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)), #0F2650; }
.cockpit{ background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)), rgba(19,45,88,.6); -webkit-backdrop-filter:blur(22px) saturate(120%); backdrop-filter:blur(22px) saturate(120%); }
.cockpit-wrap::before{ width:124px; height:124px; top:-46px; right:-40px; filter:blur(12px); opacity:.9; }
.hero{ overflow:hidden; overflow:clip; }
.nw{ white-space:nowrap; }


/* =========================================================
   Version 8 : formes, couleurs et enchaînements affinés
   ========================================================= */
[hidden]{ display:none !important; }
:root{ --r-xs:10px; --r-sm:14px; --r-md:20px; --r-lg:28px; --r-xl:36px; --ease:cubic-bezier(.2,.7,.2,1); --glass-line:rgba(255,255,255,.09); }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } #app > section{ animation:page-in .45s var(--ease) both; } }
@keyframes page-in{ from{ opacity:0; } to{ opacity:1; } }

/* Sections claires : des feuilles arrondies posées sur le bleu nuit */
.sec-light{
  --text-2:#46536B; --text-3:#5A6680; --ui:#7A869C;
  --surface:#F4F7FC; --surface-2:#E9EFF8; --line:#E6EBF3; --line-2:#DCE3EE; --thead:#F4F7FC;
  margin-inline:clamp(8px, 1.4vw, 20px); border-radius:0;
}
.sec-light.sheet-top{ border-top-left-radius:var(--r-xl); border-top-right-radius:var(--r-xl); }
.sec-light.sheet-bottom{ border-bottom-left-radius:var(--r-xl); border-bottom-right-radius:var(--r-xl); }
.sec-light::before{ background:none !important; }
.sec-ice{ background:#F4F7FC !important; }
.sec-alt:not(.sec-light){ background:var(--bg); }
.flow-sub{ margin-top:clamp(56px, 7vw, 96px); padding-top:clamp(48px, 6vw, 80px); border-top:1px solid var(--line); }
.head{ gap:14px; margin-bottom:clamp(32px, 4vw, 52px); }
.h2{ letter-spacing:-.028em; }

/* Rayons : une échelle unique */
:is(.pack, .panel, .faq-item, .chk, .crit, .eco-row, .plat, .res-card, .tile, .opt, .who-card, .veille-card, .lib-card, .aud-row, .fact, .news, .tbl-wrap, .card, .aside, .gaps li, .reco){ border-radius:var(--r-md); }
:is(.stab-panel, .cta-panel, .qtest, .partner-card, .cockpit, .lead-card, .excerpt, .aud, .aud-strip){ border-radius:var(--r-lg); }
.input{ border-radius:var(--r-sm); }
:is(.cockpit-ic, .feat-ic, .route-ic, .dd-svc-ic, .aud-ic, .opt-ic, .aud-strip-ic, .tile .ic){ border-radius:14px; }

/* Cartes des sections claires : bord léger, ombre douce */
.sec-light :is(.panel, .pack, .chk, .faq-item, .tbl-wrap, .res-card, .card, .crit, .eco-row, .plat, .news, .tile, .opt, .lib-card, .aud-row):not(.dark-box){ background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 12px 32px -22px rgba(13,34,71,.28); }
.sec-light :is(.chk, .crit, .eco-row, .opt, .tile, .lib-card, .faq-item){ transition:border-color .22s var(--ease), box-shadow .22s var(--ease), background-color .22s var(--ease); }
.sec-light :is(.chk, .crit, .eco-row, .opt, .tile):hover{ border-color:rgba(13,34,71,.24); box-shadow:0 1px 2px rgba(13,34,71,.05), 0 18px 36px -22px rgba(13,34,71,.34); }
.stab-panel{ background:#FFFFFF; border:1px solid rgba(13,34,71,.08); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 24px 56px -32px rgba(13,34,71,.3); }
.sec-ice .stab-panel{ background:#FFFFFF; }
.sec-light .faq-item:has([aria-expanded="true"]){ border-color:rgba(13,34,71,.16); }

/* Sélection en bleu nuit dans les sections claires ; l'or reste réservé à l'action */
.sec-light .chk:has(input:checked){ border-color:#0D2247; box-shadow:0 0 0 1px #0D2247, 0 12px 32px -22px rgba(13,34,71,.3); }
.sec-light .chk input:checked + .chk-box{ background:#0D2247; border-color:#0D2247; color:#FFFFFF; }
.sec-light .faq-q[aria-expanded="true"] .faq-ico{ background:#0D2247; color:#FFFFFF; }
.sec-light .faq-ico{ background:#EEF2F8; }
.sec-light .crit[aria-selected="true"]{ border-color:#0D2247; box-shadow:0 0 0 1px #0D2247; background:#FFFFFF; }
.sec-light .crit[aria-selected="true"] .crit-n{ background:#0D2247; color:#FFFFFF; }
.sec-light :is(.opt, .tile, .eco-row)[aria-pressed="true"]{ border:1px solid #0D2247; box-shadow:0 0 0 1px #0D2247; background:#F7F9FD; }
.sec-light .tile[aria-pressed="true"] .ic{ background:#0D2247; color:#FFFFFF; }
.sec-light :is(.chip, .filter)[aria-pressed="true"]{ background:#0D2247; border-color:#0D2247; color:#FFFFFF; }
.sec-light :is(.chip, .filter){ border-color:#CFD8E5; }
.sec-light .tl-n{ background:#0D2247; color:#FFFFFF; box-shadow:0 0 0 6px var(--tl-ring, #FFFFFF); }
.sec-light .tl::before{ background:#DCE3EE; }
.sec-ice .tl{ --tl-ring:#F4F7FC; }
.sec-light .pack-items .ic, .sec-light .res-bullets .ic{ background:#0D2247; color:#FFFFFF; }
.sec-light .news-date{ background:#E8EFFA; color:#1D4E9E; box-shadow:none; }
.sec-light .tag{ background:#EEF2F8; color:#46536B; }
.sec-light .badge{ background:#FFF4CC; }
.sec-light .btn-outline{ border-color:#CFD8E5; }
.sec-light .btn-outline:hover{ border-color:#0D2247; background:#F4F7FC; }
.sec-light .input{ border-width:1px; }

/* Zones sombres : verre plus discret */
:where(.sec:not(.sec-light)) :is(.panel, .aside, .res-card, .faq-item, .chk, .tbl-wrap, .crit, .eco-row, .plat, .opt, .tile, .news, .gaps li, .col, .step, .who-card, .veille-card){ background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.btn{ transition:background-color .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease); }

/* Bandeau du test : jetons propres, posé sur clair ou sombre */
.qtest{ --text:#FFFFFF; --text-2:#EAF0F8; --accent:#FED322; --accent-tint:rgba(254,211,34,.16); --link-ul:#FED322; --focus:#FED322; color:#FFFFFF; color-scheme:dark; }
.qcard{ --text:#0D2247; --text-2:#46536B; --ui:#7A869C; --focus:#0D2247; --line:#E6EBF3; --line-2:#DCE3EE; color:#0D2247; }
.sec-light .qtest{ box-shadow:0 40px 80px -44px rgba(13,34,71,.6); }

/* Navigation */
.util{ background:var(--abyss); }
.util-in{ justify-content:center; min-height:38px; }
.util-news{ font-size:14px; }
.util-news .short{ display:none; }
@media (max-width:640px){ .util-news .long{ display:none; } .util-news .short{ display:inline; } }
.nav-sep{ width:1px; height:24px; background:rgba(255,255,255,.14); margin:0 8px; }
.dd-strong{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 14px 0 18px; border-radius:var(--r-pill); border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.05); color:#FFFFFF; font-weight:700; font-size:15px; cursor:pointer; transition:border-color .22s var(--ease), background-color .22s var(--ease); }
.dd-strong:hover, .dd-strong[aria-expanded="true"]{ border-color:var(--gold); background:rgba(255,255,255,.1); }
.dd-strong[aria-current="page"]{ border-color:var(--gold); }
.nav .btn-primary{ margin-left:8px; }
.dd-svc .dd-panel{ left:-12px; right:auto; width:min(640px, calc(100vw - 32px)); grid-template-columns:minmax(0,1fr); }
.dd-prof .dd-panel{ right:0; left:auto; }
.dd-panel{ border-radius:var(--r-lg); padding:14px; }
.dd-link{ border-radius:var(--r-sm); transition:background-color .18s var(--ease); }
.dd-svc-link{ display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:14px; align-items:center; }
.dd-svc-t{ display:flex; flex-direction:column; gap:2px; }
.dd-svc-ic{ width:40px; height:40px; background:var(--sky-tint); color:var(--sky); display:grid; place-items:center; font-size:19px; }
.dd-from{ font-size:13px; color:var(--text-2); white-space:nowrap; }
.dd-foot{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding:14px 12px 6px; margin-top:6px; border-top:1px solid rgba(255,255,255,.1); }
.dd-foot a{ font-size:14px; font-weight:700; color:#FFFFFF; }
.nav-list{ flex-direction:column; }
.nav-aud{ color:var(--gold) !important; }
@media (max-width:1100px){ .nav-sep{ display:none; } .nav .btn-primary{ margin-left:0; } }

/* Glossaire : définition au survol ou au toucher */
.term{ position:relative; }
.term-btn{ display:inline; padding:0; margin:0; border:0; background:none; font:inherit; color:inherit; cursor:help; text-decoration:underline dotted; text-decoration-thickness:1.5px; text-underline-offset:4px; text-decoration-color:var(--sky); border-radius:4px; }
.sec-light .term-btn, .lead-card .term-btn{ text-decoration-color:#1D4E9E; }
.term-tip{ display:none; position:absolute; left:0; top:calc(100% + 10px); z-index:40; width:min(320px, calc(100vw - 32px)); padding:14px 16px; border-radius:var(--r-sm); background:#0B1E40; color:#E6ECF6; border:1px solid rgba(255,255,255,.14); box-shadow:0 24px 48px -20px rgba(2,8,24,.65); font-size:14px; line-height:1.55; font-weight:500; letter-spacing:0; text-align:left; white-space:normal; text-transform:none; }
.term-tip::before{ content:""; position:absolute; left:0; right:0; top:-12px; height:12px; }
.term-tip b{ display:block; color:#FED322; font-size:13px; margin-bottom:3px; }
.term:hover .term-tip, .term:focus-within .term-tip, .term.is-open .term-tip{ display:block; }
#app :has(.term:is(:hover, :focus-within, .is-open)){ z-index:6; }

/* Ressources : tunnel de téléchargement */
.res-hero{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:start; }
.res-bullets{ display:flex; flex-direction:column; gap:10px; }
.res-bullets li{ display:flex; gap:12px; align-items:flex-start; color:var(--text-2); font-size:var(--fs-lead); }
.res-bullets .ic{ margin-top:5px; width:20px; height:20px; padding:3px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); flex:0 0 auto; }
.lead-card, .aud, .pp{
  --text:#0D2247; --text-2:#46536B; --text-3:#5A6680; --surface:#F4F7FC; --surface-2:#E9EFF8; --line:#E6EBF3; --line-2:#DCE3EE; --ui:#7A869C; --input-bg:#FFFFFF;
  --accent:#6B5200; --accent-tint:#FFF4CC; --ok:#1B6B35; --ok-tint:#E3F2E8; --err:#B42318; --err-tint:#FDE7E5; --focus:#0D2247; --inverse:#FFFFFF; --meter:#0D2247; --link-ul:#0D2247;
  --ghost-bg:#FFFFFF; --ghost-line:#CFD8E5; --ghost-hover:#F4F7FC; --ghost-line-hover:#0D2247;
  color:var(--text); color-scheme:light;
}
.lead-card{ background:#FFFFFF; padding:clamp(22px, 3vw, 32px); border:1px solid rgba(255,255,255,.7); box-shadow:inset 0 1px 0 #FFFFFF, 0 40px 80px -40px rgba(2,8,24,.9); }
.lead-form{ display:flex; flex-direction:column; gap:16px; }
.lead-top{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:16px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); }
.lead-k{ font-size:13px; font-weight:700; color:#1D4E9E; }
.lead-t{ font-size:21px; font-weight:800; letter-spacing:-.015em; line-height:1.25; }
.lead-sel{ font-size:14px; color:var(--text-2); padding:12px 14px; border-radius:var(--r-sm); background:#F4F7FC; }
.lf-consent{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--text-2); cursor:pointer; }
.lf-consent input{ width:20px; height:20px; margin-top:1px; accent-color:#0D2247; flex:0 0 auto; }
select.input{ appearance:none; -webkit-appearance:none; padding-right:44px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230D2247' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; cursor:pointer; }
.lead-done{ display:flex; flex-direction:column; gap:14px; }
.lead-done:focus{ outline:none; }
.done-ic{ width:48px; height:48px; border-radius:var(--r-pill); background:#E3F2E8; color:#1B6B35; display:grid; place-items:center; font-size:24px; }
.done-next{ display:flex; flex-direction:column; gap:10px; margin-top:4px; }
.done-step{ display:flex; flex-direction:column; gap:2px; padding:14px 16px; border-radius:var(--r-sm); border:1px solid var(--line-2); text-decoration:none; color:var(--text); transition:border-color .2s var(--ease); }
.done-step:hover{ border-color:#0D2247; text-decoration:none; }
.done-step span{ font-size:14px; color:var(--text-2); }
.cover{ container-type:inline-size; position:relative; flex:0 0 auto; aspect-ratio:3 / 4; border-radius:5px 10px 10px 5px; background:linear-gradient(160deg, #1B4384, #0D2247 62%); color:#FFFFFF; display:flex; flex-direction:column; gap:6px; padding:10px; overflow:hidden; box-shadow:inset 3px 0 0 rgba(255,255,255,.1), 0 16px 28px -16px rgba(2,8,24,.7); }
.cover::after{ content:""; position:absolute; left:11cqw; right:11cqw; bottom:10cqw; height:3cqw; min-height:2px; border-radius:2px; background:#FED322; }
.cover-s{ width:64px; padding:7px; gap:4px; } .cover-m{ width:96px; }
.cover-sq{ display:grid; grid-template-columns:repeat(2, 1fr); gap:2.5cqw; width:22cqw; }
.cover-sq i{ aspect-ratio:1; background:#FFFFFF; border-radius:1px; }
.cover-sq i:nth-child(4){ background:#FED322; }
.cover-fmt{ font-size:8cqw; font-weight:700; color:#8DBEF5; }
.cover-t{ font-size:9.5cqw; font-weight:800; line-height:1.2; }
.cover-foot{ margin-top:auto; margin-bottom:9cqw; font-size:6.5cqw; color:#C9D3E6; }
.res-toc{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px, 5vw, 80px); align-items:start; }
.toc{ display:flex; flex-direction:column; }
.toc li{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid var(--line); }
.toc li:last-child{ border-bottom:1px solid var(--line); }
.toc-n{ width:36px; height:36px; border-radius:var(--r-pill); background:#0D2247; color:#FFFFFF; display:grid; place-items:center; font-weight:800; font-size:15px; }
.toc h3{ font-size:18px; font-weight:700; margin-bottom:2px; }
.excerpt{ position:sticky; top:calc(var(--header-h) + 32px); display:flex; flex-direction:column; gap:14px; padding:clamp(24px, 3vw, 32px); background:#F4F7FC; border:1px solid var(--line); }
.excerpt .btn{ align-self:flex-start; }
.h1-m{ font-size:clamp(32px, 3.7vw, 50px); }
.excerpt-q p{ font-size:19px; line-height:1.55; font-weight:600; color:var(--text); padding-left:18px; border-left:3px solid #FED322; }
.who-grid, .veille-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.who-card, .veille-card{ display:flex; flex-direction:column; gap:12px; padding:26px; align-items:flex-start; }
.veille-card .news-src{ margin-top:auto; }
.author{ display:flex; gap:16px; align-items:center; margin-top:36px; padding-top:28px; border-top:1px solid rgba(255,255,255,.1); }
.author p{ max-width:60ch; }
.lib{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.lib-card{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; padding:20px; align-items:start; }
.lib-body{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.lib-body .h3{ font-size:18px; }
.lib-badge{ width:96px; aspect-ratio:3 / 4; border-radius:5px 10px 10px 5px; background:var(--blue); color:#FFFFFF; display:grid; place-items:center; font-size:40px; font-weight:800; box-shadow:0 16px 28px -16px rgba(13,34,71,.6); }
.lib-aud .lib-badge{ background:#0D2247; font-size:36px; }
.lib-aud .lib-badge .ic{ color:#FED322; }
.lib-note{ margin-top:18px; min-height:1.6em; font-size:15px; color:var(--text-2); }
.ok-inline{ display:inline-flex; gap:8px; align-items:center; font-size:14px; font-weight:700; color:#1B6B35; }
.veille-nl{ margin-top:28px; max-width:680px; }

/* Audit de situation */
.aud{ max-width:840px; margin-inline:auto; padding:clamp(24px, 4vw, 48px); background:#FFFFFF; }
.aud .quiz-q{ margin-top:6px; }
.aud .quiz-q:focus, .aud .h2:focus{ outline:none; }
.aud-tiles{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.opt-tile{ min-height:76px; }
.opt-ic{ width:42px; height:42px; background:#E8EFFA; color:#1D4E9E; display:grid; place-items:center; font-size:19px; flex:0 0 auto; }
.aud .opt[aria-pressed="true"] .opt-ic{ background:#0D2247; color:#FFFFFF; }
.aud .opt{ font-size:16px; }
.aud .form-nav{ align-items:center; }
.aud-res{ display:flex; flex-direction:column; gap:28px; }
.aud-res-h{ display:flex; flex-direction:column; gap:10px; }
.aud-map{ display:flex; flex-direction:column; gap:10px; }
.aud-row{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:16px; align-items:center; padding:16px 18px; background:#FFFFFF; border:1px solid var(--line-2); }
.aud-row.is-prio{ border-color:#0D2247; box-shadow:0 0 0 1px #0D2247; }
.aud-row b{ font-size:16px; }
.aud-ic{ width:44px; height:44px; background:#E8EFFA; color:#1D4E9E; display:grid; place-items:center; font-size:20px; }
.aud-row.is-prio .aud-ic{ background:#0D2247; color:#FED322; }
.st-prio{ background:#0D2247; color:#FFFFFF; }
.cockpit .st-prio{ background:#FED322; color:#0D2247; box-shadow:none; }
.aud-reco{ display:flex; flex-direction:column; gap:16px; padding-top:24px; border-top:1px solid var(--line); }
.aud-cta{ display:flex; flex-direction:column; gap:16px; padding-top:24px; border-top:1px solid var(--line); }
.aud-strip{ display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:18px; align-items:center; margin-top:20px; padding:18px 20px; background:#F4F7FC; border:1px solid var(--line); }
.aud-strip-ic{ width:48px; height:48px; background:#0D2247; color:#FED322; display:grid; place-items:center; font-size:22px; }
.pill-audit{ border-color:rgba(254,211,34,.55) !important; }
.pill-audit .ic{ background:rgba(254,211,34,.16) !important; color:var(--gold) !important; box-shadow:none !important; }
@media (min-width:1001px){ .tl-3{ grid-template-columns:repeat(3, minmax(0,1fr)); } }

/* Responsive des nouveaux blocs */
@media (max-width:1100px){ .lib{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:1000px){
  .res-hero, .res-toc{ grid-template-columns:minmax(0,1fr); }
  .who-grid, .veille-grid{ grid-template-columns:minmax(0,1fr); }
  .excerpt{ position:static; }
  .aud-strip{ grid-template-columns:48px minmax(0,1fr); }
  .aud-strip .btn{ grid-column:1 / -1; justify-self:start; }
}
@media (max-width:700px){
  .lib{ grid-template-columns:minmax(0,1fr); }
  .aud-tiles{ grid-template-columns:minmax(0,1fr); }
  .aud-row{ grid-template-columns:44px minmax(0,1fr); }
  .aud-row .st{ grid-column:2; justify-self:start; }
  .lib-card{ grid-template-columns:72px minmax(0,1fr); }
  .lib-card .cover-m, .lib-badge{ width:72px; }
  .lib-badge{ font-size:30px; }
}
@media (prefers-reduced-motion:reduce){ #app > section{ animation:none; } }

/* Panneaux opaques (le flou d'arrière-plan ne traverse pas l'en-tête) */
.dd-panel{ background:#0E244B !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 60px -24px rgba(2,8,24,.85); }
@media (max-width:1100px){ .nav{ background:#0E244B !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; } }
.lead-card .input, .aud .input{ background:#FFFFFF; }
.term-btn{ cursor:help; }
.term-btn:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
/* Source lumineuse plus douce derrière le tableau de bord */
.cockpit-wrap::before{ width:110px !important; height:110px !important; top:-34px !important; right:-26px !important; filter:blur(16px) !important; opacity:.8 !important; }

/* =========================================================
   En-tête et menus sur fond blanc
   ========================================================= */
.hdr{
  --text:#0D2247; --text-2:#46536B; --focus:#0D2247; --link-ul:#0D2247; --ui:#7A869C;
  background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(18px) saturate(180%); backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid rgba(13,34,71,.08); box-shadow:0 12px 32px -26px rgba(13,34,71,.55); color:#0D2247; color-scheme:light;
}
.hdr .logo-word b{ color:#0D2247; }
.hdr .logo-word small{ color:#0D2247; }
.hdr .nav-link{ color:#2A3A57; font-weight:600; }
.hdr .nav-link:hover, .hdr .nav-link[aria-current="page"], .hdr .dd-btn.nav-link[aria-expanded="true"]{ background:#EEF2F8; color:#0D2247; box-shadow:none; }
.hdr .nav-link[aria-current="page"]{ font-weight:700; }
.hdr .nav-sep{ background:rgba(13,34,71,.12); }
.hdr .dd-strong{ border:1.5px solid rgba(13,34,71,.22); background:#FFFFFF; color:#0D2247; }
.hdr .dd-strong:hover, .hdr .dd-strong[aria-expanded="true"], .hdr .dd-strong[aria-current="page"]{ border-color:#0D2247; background:#F4F7FC; }
.hdr .burger{ border-color:rgba(13,34,71,.25); color:#0D2247; background:#FFFFFF; }
.hdr .btn-primary{ box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 18px -10px rgba(180,140,0,.55); }
.hdr .dd-panel{ background:#FFFFFF !important; border:1px solid rgba(13,34,71,.08); box-shadow:0 30px 60px -28px rgba(13,34,71,.45), 0 2px 6px rgba(13,34,71,.05); }
.hdr .dd-h{ color:#1D4E9E; }
.hdr .dd-link{ color:#0D2247; }
.hdr .dd-link span{ color:#46536B; }
.hdr .dd-link:hover, .hdr .dd-link[aria-current="page"]{ background:#F4F7FC; box-shadow:none; }
.hdr .dd-link[aria-current="page"]{ box-shadow:inset 3px 0 0 #0D2247; }
.hdr .dd-svc-link{ grid-template-columns:40px minmax(0,1fr); }
.hdr .dd-svc-ic{ background:#E8EFFA; color:#1D4E9E; }
.hdr .dd-foot{ border-top:1px solid rgba(13,34,71,.08); }
.hdr .dd-foot a{ color:#0D2247; text-decoration-color:#0D2247; }
.hdr .dd-foot .muted{ color:#46536B; }
@media (max-width:1100px){
  .hdr .nav{ background:#FFFFFF !important; border-bottom:1px solid rgba(13,34,71,.08); box-shadow:0 30px 60px -30px rgba(13,34,71,.45); }
  .hdr .nav-group{ color:#1D4E9E; }
  .hdr .nav-link{ color:#0D2247; }
  .hdr .nav-aud{ color:#1D4E9E !important; font-weight:700; }
}
.hdr{ background:#FFFFFF; -webkit-backdrop-filter:none; backdrop-filter:none; }

/* =========================================================
   Ouverture des menus : fondu et léger glissement
   ========================================================= */
.hero-grid{ padding-block:clamp(56px, 7vw, 104px); }
.dd-panel{ display:grid; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(-8px) scale(.985); transition:opacity .2s var(--ease), transform .26s var(--ease), visibility 0s linear .26s; }
.dd-panel.is-open{ visibility:visible; opacity:1; pointer-events:auto; transform:none; transition:opacity .2s var(--ease), transform .26s var(--ease), visibility 0s; }
.dd-svc .dd-panel{ transform-origin:top left; width:min(560px, calc(100vw - 32px)); padding:10px; }
.dd-prof .dd-panel{ transform-origin:top right; }
.dd-panel::before{ content:""; position:absolute; left:0; right:0; top:-16px; height:16px; }
.hdr .dd-panel{ top:calc(100% + 10px); }
.dd-btn .ic{ transition:transform .26s var(--ease); }
.hdr .dd-svc-link{ padding:12px 14px; gap:16px; }
.hdr .dd-svc-ic{ transition:background-color .2s var(--ease), color .2s var(--ease); }
.hdr .dd-svc-link:hover .dd-svc-ic, .hdr .dd-svc-link:focus-visible .dd-svc-ic{ background:#0D2247; color:#FED322; }
.hdr .dd-svc-t b{ font-size:15px; }
.hdr .dd-svc-t span{ font-size:13.5px; line-height:1.45; }
@media (max-width:1100px){
  .nav{ display:flex !important; visibility:hidden; opacity:0; transform:translateY(-10px); pointer-events:none; transition:opacity .22s var(--ease), transform .28s var(--ease), visibility 0s linear .28s; }
  .nav.is-open{ visibility:visible; opacity:1; transform:none; pointer-events:auto; transition:opacity .22s var(--ease), transform .28s var(--ease), visibility 0s; }
  .hdr .nav{ max-height:calc(100dvh - var(--header-h)); }
}
html.nav-locked{ overflow:hidden; }
@media (prefers-reduced-motion:reduce){ .dd-panel, .nav{ transition:none !important; transform:none !important; } }

/* Introductions « qu’est-ce que c’est ? » */
.explain{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px, 5vw, 80px); align-items:start; }
.explain-main{ display:flex; flex-direction:column; gap:20px; max-width:36em; }
.explain-main .h2{ text-wrap:balance; }
.explain-lead{ font-size:clamp(19px, 1.55vw, 22px); line-height:1.55; font-weight:500; letter-spacing:-.005em; color:var(--text); }
.explain-main .muted{ font-size:var(--fs-lead); line-height:1.7; color:var(--text-2); padding-left:18px; border-left:3px solid var(--gold); }
@media (min-width:1001px){
  /* La colonne de gauche accompagne la lecture jusqu’au bas de la section. */
  .explain-main, .split > .head, .faq > .head{ position:sticky; top:calc(var(--header-h) + 32px); }
}
.explain-card{ display:flex; flex-direction:column; gap:12px; padding:clamp(22px, 3vw, 30px); border-radius:var(--r-lg); background:#F4F7FC; border:1px solid var(--line); }
.explain-k{ font-size:14px; font-weight:700; color:#1D4E9E; }
.explain-card dl{ display:flex; flex-direction:column; }
.explain-card dl > div{ display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:16px; padding:14px 0; border-top:1px solid var(--line-2); }
.explain-card dl > div:first-child{ border-top:0; padding-top:2px; }
.explain-card dt{ font-size:15px; font-weight:700; color:var(--text); }
.explain-card dd{ margin:0; font-size:15px; line-height:1.55; color:var(--text-2); }
.explain-card .news-src{ padding-top:12px; border-top:1px solid var(--line-2); }
@media (max-width:1000px){ .explain{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px){ .explain-card dl > div{ grid-template-columns:minmax(0,1fr); gap:4px; } }

/* =========================================================
   Ressources : couvertures en volume et carrousel
   ========================================================= */
.book{ container-type:inline-size; position:relative; flex:0 0 auto; aspect-ratio:3 / 4; width:132px; transform:perspective(1100px) rotateY(-17deg) rotateX(3deg); transform-origin:left center; transition:transform .55s var(--ease); }
.book-s{ width:68px; } .book-m{ width:136px; } .book-l{ width:150px; }
.book::after{ content:""; position:absolute; left:2%; right:-10%; bottom:-8%; height:10%; border-radius:50%; background:rgba(4,14,34,.42); filter:blur(8px); z-index:-1; }
.bk-pages{ position:absolute; top:2.5%; bottom:2.5%; right:-6cqw; width:8cqw; border-radius:0 4px 4px 0; background:repeating-linear-gradient(90deg, #FFFFFF 0 1px, #DCE3EE 1px 2px); box-shadow:inset -1px 0 0 rgba(13,34,71,.12); }
.bk-face{ position:absolute; inset:0; display:flex; flex-direction:column; gap:6cqw; padding:11cqw 10cqw 9cqw 13cqw; border-radius:2px 8px 8px 2px; overflow:hidden; color:#FFFFFF; background:linear-gradient(155deg, var(--bk1), var(--bk2)); box-shadow:inset 6cqw 0 0 -4.5cqw rgba(255,255,255,.16), inset 9cqw 0 8cqw -6cqw rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.18); }
.bk-face::after{ content:""; position:absolute; inset:0; background:linear-gradient(115deg, rgba(255,255,255,.16), transparent 38%); pointer-events:none; }
.bk-top{ display:flex; justify-content:space-between; align-items:center; gap:4cqw; }
.bk-top .cover-sq{ width:15cqw; gap:2cqw; }
.bk-fmt{ font-size:7cqw; font-weight:700; color:#8DBEF5; }
.bk-t{ font-size:9.6cqw; font-weight:800; line-height:1.18; letter-spacing:-.01em; }
.bk-motif{ margin-top:auto; }
.bk-foot{ font-size:6cqw; color:#C9D3E6; padding-top:4cqw; border-top:1px solid rgba(255,255,255,.18); }
.bk-bar{ display:block; width:32cqw; height:2.6cqw; border-radius:2px; background:#FED322; }
.bk-checks{ display:flex; flex-direction:column; gap:3.2cqw; }
.bk-checks i{ display:block; width:62cqw; height:4cqw; background:linear-gradient(90deg, #FED322 0 4cqw, transparent 4cqw 8cqw, rgba(255,255,255,.3) 8cqw); border-radius:2px; }
.bk-cal{ display:grid; grid-template-columns:repeat(4, 1fr); gap:2.2cqw; width:58cqw; }
.bk-cal i{ aspect-ratio:1; border-radius:1.5cqw; background:rgba(255,255,255,.16); }
.bk-cal i:nth-child(7){ background:#FED322; }
.bk-lines{ display:flex; flex-direction:column; gap:3cqw; }
.bk-lines i{ display:block; height:2cqw; border-radius:2px; background:rgba(255,255,255,.3); }
.bk-lines i:nth-child(1){ width:70cqw; } .bk-lines i:nth-child(2){ width:58cqw; } .bk-lines i:nth-child(3){ width:66cqw; } .bk-lines i:nth-child(4){ width:36cqw; background:#FED322; }
.book-guide{ --bk1:#1E4A90; --bk2:#0D2247; }
.book-check{ --bk1:#1B76B6; --bk2:#0D4C7C; }
.book-cal{ --bk1:#2B4A86; --bk2:#0B1E40; }
.book-note{ --bk1:#162D55; --bk2:#07152E; }

/* Héros : le guide dépasse de la carte */
.lead-wrap{ position:relative; padding-top:64px; }
.lead-book{ position:absolute; top:0; right:clamp(20px, 3vw, 36px); z-index:3; }
.lead-top{ display:block; padding-right:150px; min-height:96px; }
.lead-top .lead-k{ margin-bottom:4px; }
.lead-wrap .lead-done .lead-t, .lead-wrap .lead-done > .muted{ padding-right:150px; }
@media (max-width:520px){ .lead-book .book-l{ width:104px; } .lead-top{ padding-right:104px; min-height:84px; } .lead-wrap{ padding-top:48px; } .lead-wrap .lead-done .lead-t, .lead-wrap .lead-done > .muted{ padding-right:104px; } }

/* Carrousel */
.sl-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:clamp(24px, 3vw, 36px); }
.sl-head .head{ margin:0; }
.sl-ctrl{ display:flex; gap:10px; flex:0 0 auto; }
.sl-btn{ width:50px; height:50px; border-radius:var(--r-pill); border:1px solid #CFD8E5; background:#FFFFFF; color:#0D2247; display:grid; place-items:center; font-size:20px; cursor:pointer; transition:border-color .2s var(--ease), background-color .2s var(--ease), opacity .2s var(--ease); }
.sl-btn:hover{ border-color:#0D2247; background:#F4F7FC; }
.sl-btn[aria-disabled="true"]{ opacity:.35; cursor:default; }
.sl-btn[aria-disabled="true"]:hover{ border-color:#CFD8E5; background:#FFFFFF; }
.sl-ic-prev{ display:grid; transform:rotate(180deg); }
.sl-track{ display:flex; gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 6px 28px; margin:-6px -6px 0; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 64px), transparent); mask-image:linear-gradient(90deg, #000 calc(100% - 64px), transparent); }
.slider.at-end .sl-track{ -webkit-mask-image:none; mask-image:none; }
.sl-track::-webkit-scrollbar{ display:none; }
.sl-track:focus-visible{ outline:3px solid #0D2247; outline-offset:4px; border-radius:var(--r-lg); }
.sl-card{ flex:0 0 clamp(262px, 27vw, 318px); scroll-snap-align:start; display:flex; flex-direction:column; border-radius:var(--r-lg); background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 18px 40px -26px rgba(13,34,71,.35); overflow:hidden; transition:box-shadow .3s var(--ease), border-color .3s var(--ease); }
.sl-card:hover{ border-color:rgba(13,34,71,.18); box-shadow:0 1px 2px rgba(13,34,71,.05), 0 26px 50px -26px rgba(13,34,71,.45); }
.sl-card:hover .book{ transform:perspective(1100px) rotateY(-6deg) rotateX(2deg) translateY(-6px); }
.sl-stage{ position:relative; display:grid; place-items:center; height:240px; isolation:isolate; background:radial-gradient(120% 100% at 25% 15%, #FFFFFF 0%, #EAF0F9 70%); }
.sl-stage-check{ background:radial-gradient(120% 100% at 25% 15%, #FFFFFF 0%, #E2EEF8 70%); }
.sl-stage-cal{ background:radial-gradient(120% 100% at 25% 15%, #FFFFFF 0%, #F3F0E4 70%); }
.sl-stage-note{ background:radial-gradient(120% 100% at 25% 15%, #FFFFFF 0%, #EBEEF4 70%); }
.sl-body{ flex:1 1 auto; display:flex; flex-direction:column; gap:10px; align-items:flex-start; padding:22px 22px 24px; border-top:1px solid rgba(13,34,71,.06); }
.sl-body .h3{ font-size:18px; }
.sl-body .btn, .sl-body .ok-inline{ margin-top:auto; }
.sl-body .muted{ margin-bottom:8px; }
.sl-progress{ height:4px; border-radius:4px; background:#E6EBF3; overflow:hidden; }
.sl-progress i{ display:block; height:100%; width:30%; border-radius:4px; background:#0D2247; transition:transform .25s var(--ease); }

/* Outils en ligne */
.tools{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px 20px; margin-top:clamp(40px, 5vw, 64px); }
.tools-h{ grid-column:1 / -1; font-size:18px; font-weight:700; }
.tool-card{ display:grid; grid-template-columns:64px minmax(0,1fr) 44px; gap:18px; align-items:center; padding:18px 20px; border-radius:var(--r-lg); background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 12px 32px -22px rgba(13,34,71,.3); text-decoration:none; color:#0D2247; transition:border-color .25s var(--ease), box-shadow .25s var(--ease); }
.tool-card:hover{ text-decoration:none; border-color:rgba(13,34,71,.22); box-shadow:0 1px 2px rgba(13,34,71,.05), 0 20px 40px -22px rgba(13,34,71,.4); }
.tool-badge{ width:64px; height:64px; border-radius:18px; display:grid; place-items:center; font-size:30px; font-weight:800; color:#FFFFFF; background:var(--blue); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.tool-aud .tool-badge{ background:#0D2247; color:#FED322; font-size:28px; }
.tool-body{ display:flex; flex-direction:column; gap:2px; }
.tool-body b{ font-size:17px; }
.tool-body span{ font-size:15px; color:#46536B; }
.tool-go{ width:44px; height:44px; border-radius:var(--r-pill); display:grid; place-items:center; background:#F4F7FC; color:#0D2247; font-size:18px; transition:background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease); }
.tool-card:hover .tool-go{ background:#0D2247; color:#FFFFFF; transform:translateX(2px); }
@media (max-width:860px){ .tools{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:640px){
  .sl-head{ flex-direction:column; align-items:flex-start; }
  .sl-card{ flex-basis:82%; }
  .sl-stage{ height:210px; }
  .tool-card{ grid-template-columns:52px minmax(0,1fr); }
  .tool-badge{ width:52px; height:52px; font-size:24px; border-radius:14px; }
  .tool-go{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .book, .sl-card:hover .book{ transition:none; } .sl-track{ scroll-behavior:auto; } }
.sl-track{ position:relative; scroll-padding-inline:6px; }
.sl-card{ position:relative; }

/* Pages ressource, page carrefour, pages légales, message d'alerte */
.res-feature{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:28px; align-items:center; padding:28px 30px; border-radius:var(--r-lg); text-decoration:none; color:var(--text); background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:var(--glass-shadow); -webkit-backdrop-filter:blur(20px) saturate(150%); backdrop-filter:blur(20px) saturate(150%); transition:border-color .25s var(--ease); }
.res-feature:hover{ text-decoration:none; border-color:rgba(254,211,34,.5); }
.res-feature:hover .book{ transform:perspective(1100px) rotateY(-6deg) rotateX(2deg) translateY(-6px); }
.res-feature-book{ padding:8px 6px 14px; }
.res-feature-body{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.res-feature-body b{ font-size:20px; line-height:1.3; letter-spacing:-.01em; }
.res-feature-body .small{ color:var(--text-2); }
.res-feature-go{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--gold); margin-top:4px; }
.sl-stage{ text-decoration:none; }
.sl-title{ color:inherit; text-decoration:none; }
.sl-title:hover{ text-decoration:underline; text-decoration-color:#0D2247; }
.excerpt-book{ align-items:flex-start; }
.excerpt-stage{ display:grid; place-items:center; width:100%; padding:16px 0 22px; }
.prose{ max-width:72ch; }
.prose h2{ font-size:22px; font-weight:800; letter-spacing:-.015em; margin-top:36px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ margin-top:10px; color:var(--text-2); }
.prose a{ color:var(--text); }
.ftr-bot a{ color:var(--text-2); text-decoration:none; }
.ftr-bot a:hover{ color:var(--text); text-decoration:underline; }
.toast{ position:fixed; left:50%; bottom:calc(96px + env(safe-area-inset-bottom, 0px)); z-index:90; width:min(520px, calc(100vw - 32px)); padding:14px 18px; border-radius:var(--r-md); background:#B42318; color:#FFFFFF; font-weight:600; box-shadow:0 24px 48px -20px rgba(2,8,24,.6); transform:translate(-50%, 20px); opacity:0; visibility:hidden; transition:opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s; }
.toast.is-on{ opacity:1; visibility:visible; transform:translate(-50%, 0); transition:opacity .25s var(--ease), transform .25s var(--ease), visibility 0s; }
@media (min-width:1001px){ .toast{ bottom:32px; } }
@media (max-width:640px){ .res-feature{ grid-template-columns:minmax(0,1fr); justify-items:start; padding:24px; } }

/* =========================================================
   Version 13
   ========================================================= */

/* Héros plus compacts, sans ligne de réassurance */
.hero-in{ padding-block:clamp(28px, 3.4vw, 48px) clamp(40px, 4.6vw, 64px); gap:18px; }
.hero-grid{ padding-block:clamp(28px, 3.6vw, 52px) clamp(40px, 4.6vw, 64px); }
.hero-grid .hero-in{ padding-block:0; }
.hero .checks-inline{ display:none !important; }

/* Sections dimensionnées pour tenir dans un écran */
.sec{ padding-block:clamp(52px, 6vw, 84px); }

/* Ce que vous y gagnez */
.value-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.value-card{ display:flex; flex-direction:column; gap:10px; padding:24px 22px 26px; border-radius:var(--r-md); background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:var(--glass-shadow); }
.value-ic{ width:44px; height:44px; margin-bottom:6px; border-radius:14px; display:grid; place-items:center; background:var(--gold-tint); color:var(--gold); font-size:21px; }
.value-card .h3{ font-size:18px; }
.value-card p{ font-size:15px; line-height:1.55; color:var(--text-2); }
@media (max-width:1100px){ .value-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px){ .value-grid{ grid-template-columns:minmax(0,1fr); } }

/* Ressource associée à un service */
.res-promo{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; margin-top:28px; padding:18px 24px 18px 20px; border-radius:var(--r-lg); background:#F4F7FC; border:1px solid var(--line); color:var(--text); text-decoration:none; transition:border-color .2s var(--ease), box-shadow .2s var(--ease); }
.sec-ice .res-promo{ background:#FFFFFF; }
.res-promo:hover{ text-decoration:none; border-color:#0D2247; box-shadow:0 18px 36px -26px rgba(13,34,71,.5); }
.res-promo-t{ display:flex; flex-direction:column; gap:4px; }
.res-promo-k{ font-size:14px; font-weight:700; color:#1D4E9E; }
.res-promo-t b{ font-size:18px; line-height:1.35; }
.res-promo .book-s{ width:60px; }
@media (max-width:640px){ .res-promo{ grid-template-columns:auto minmax(0,1fr); gap:16px; padding:16px; } .res-promo .btn{ grid-column:1 / -1; justify-self:start; } }

/* Test Qualiopi dans le héros */
.test-hero{ grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:start; }
.test-hero .hero-in{ padding-top:clamp(4px, 1.6vw, 24px); }
.test-card{ padding:clamp(20px, 2.4vw, 28px); --surface:#F4F7FC; --surface-2:#E9EFF8; --input-bg:#FFFFFF; --accent:#6B5200; --accent-tint:#FFF6D1; --ok:#1B6B35; --ok-tint:#E3F2E8; --err:#B42318; --err-tint:#FDE7E5; --inverse:#FFFFFF; --meter:#0D2247; --link-ul:#0D2247; --ghost-bg:#FFFFFF; --ghost-line:#CBD5E3; --ghost-hover:#F3F7FD; --ghost-line-hover:#0D2247; color-scheme:light; }
.test-card .input{ background:#FFFFFF; }
.test-card .btn-primary{ box-shadow:none; }
@media (max-width:1000px){ .test-hero{ grid-template-columns:minmax(0,1fr); } }

/* Partenariat Vektoriel */
.duo{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(28px, 4vw, 64px); align-items:center; }
.duo-left{ display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.duo-left .lead{ color:var(--text-2); }
.duo-lockup{ display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 12px; border-radius:var(--r-pill); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); font-weight:800; font-size:15px; color:#FFFFFF; }
.duo-mark.cover-sq{ width:18px; gap:3px; }
.duo-x{ color:#FED322; font-weight:600; }
.duo-right{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.duo-col{ padding:22px 22px 14px; border-radius:var(--r-md); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); }
.duo-k{ display:flex; align-items:center; gap:10px; margin-bottom:8px; font-weight:800; font-size:16px; color:#FFFFFF; }
.duo-dot{ width:10px; height:10px; border-radius:3px; background:#FED322; }
.duo-col-vk .duo-dot{ background:#8DBEF5; }
.duo-col li{ padding:10px 0; border-top:1px solid rgba(255,255,255,.1); font-size:15px; line-height:1.45; color:#D5DDEC; }
.duo-col li:first-child{ border-top:0; }
.sec-light .partner-card.duo{ background:#0D2247; color:#FFFFFF; --text:#FFFFFF; --text-2:#C9D3E6; --focus:#FED322; --link-ul:#FED322; --inverse:#0D2247; --ghost-bg:rgba(255,255,255,.04); --ghost-line:rgba(255,255,255,.34); --ghost-hover:rgba(255,255,255,.1); --ghost-line-hover:rgba(255,255,255,.6); color-scheme:dark; box-shadow:0 40px 80px -48px rgba(13,34,71,.85); }
.sec-light .duo .btn-outline{ border-color:rgba(255,255,255,.34); color:#FFFFFF; }
.sec-light .duo .btn-outline:hover{ border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.1); }
@media (max-width:1000px){ .duo{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px){ .duo-right{ grid-template-columns:minmax(0,1fr); } }

/* Menus : deux colonnes, contraste renforcé, ouverture fluide */
.hdr .dd-panel{ padding:12px; gap:8px; border:1px solid rgba(13,34,71,.12); box-shadow:0 34px 70px -30px rgba(13,34,71,.55), 0 2px 8px rgba(13,34,71,.06); }
.dd-svc .dd-panel{ width:min(720px, calc(100vw - 32px)); grid-template-columns:minmax(0,1fr); }
.dd-prof .dd-panel{ width:min(620px, calc(100vw - 32px)); grid-template-columns:minmax(0,1fr); }
.dd-grid2{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; }
.hdr .dd-col{ gap:2px; }
.hdr .dd-h{ display:flex; align-items:center; gap:8px; padding:10px 14px 4px; font-size:13px; font-weight:800; color:#0D2247; }
.hdr .dd-h::before{ content:""; width:8px; height:8px; border-radius:2px; background:#FED322; box-shadow:0 0 0 1px rgba(13,34,71,.18); }
.hdr .dd-link + .dd-h{ margin-top:8px; }
.hdr .dd-link{ border:1px solid transparent; padding:11px 14px; gap:3px; transition:background-color .18s var(--ease), border-color .18s var(--ease); }
.hdr .dd-link b{ font-size:15px; font-weight:700; color:#0D2247; }
.hdr .dd-link span{ color:#3E4B64; }
.hdr .dd-link:hover, .hdr .dd-link:focus-visible{ background:#EDF2FA; border-color:#D3DEEE; }
.hdr .dd-link[aria-current="page"]{ background:#EDF2FA; border-color:#D3DEEE; box-shadow:inset 3px 0 0 #0D2247; }
.hdr .dd-svc-link{ grid-template-columns:42px minmax(0,1fr); gap:14px; padding:12px 14px; align-items:center; }
.hdr .dd-svc-ic{ width:42px; height:42px; background:#0D2247; color:#FED322; }
.hdr .dd-svc-link:hover .dd-svc-ic, .hdr .dd-svc-link:focus-visible .dd-svc-ic{ background:#FED322; color:#0D2247; }
.hdr .dd-svc-t span{ font-size:13.5px; line-height:1.4; }
.dd-feat{ display:flex; flex-direction:column; justify-content:center; gap:3px; padding:14px 18px; border-radius:var(--r-sm); background:#0D2247; color:#FFFFFF; text-decoration:none; transition:background-color .2s var(--ease); }
.dd-feat:hover{ background:#173A70; text-decoration:none; }
.dd-feat:focus-visible{ outline:3px solid #0D2247; outline-offset:2px; }
.dd-feat-k{ font-size:13px; font-weight:700; color:#FED322; }
.dd-feat b{ font-size:15.5px; color:#FFFFFF; }
.dd-feat-s{ font-size:13px; color:#C9D3E6; }
.dd-feat-row{ flex-direction:row; align-items:center; justify-content:space-between; gap:16px; padding:14px 14px 14px 20px; }
.dd-feat-t{ display:flex; flex-direction:column; gap:2px; }
.dd-feat-go{ flex:0 0 auto; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#FED322; color:#0D2247; }
.dd-feat-go .ic{ width:18px; height:18px; transform:rotate(-90deg); transition:transform .2s var(--ease); }
.dd-feat-row:hover .dd-feat-go .ic{ transform:rotate(-90deg) translateY(2px); }
.hdr .dd-panel{ transition:opacity .18s var(--ease), transform .24s var(--ease), visibility 0s linear .24s; }
.hdr .dd-panel.is-open{ transition:opacity .18s var(--ease), transform .24s var(--ease), visibility 0s; }
@keyframes dd-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference){
  .dd-panel.is-open :is(.dd-link, .dd-feat){ animation:dd-in .32s var(--ease) both; animation-delay:calc(var(--i, 0) * 22ms + 30ms); }
}

/* Compacité : chaque section tient dans un écran */
.sec{ padding-block:clamp(48px, 5.2vw, 72px); }
.head{ margin-bottom:clamp(24px, 3vw, 40px); }
.flow-sub{ margin-top:clamp(40px, 4.4vw, 60px); padding-top:clamp(36px, 4vw, 56px); }
.pack{ padding:24px; gap:12px; }
@media (min-width:1241px){
  .offer-grid:has(> .pack:nth-child(5)){ grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
  .offer-grid:has(> .pack:nth-child(5)) .pack{ padding:20px; }
}

/* Ressources : sommaire sur deux colonnes, carrousel resserré */
.toc{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:28px; }
.toc li{ grid-template-columns:40px minmax(0,1fr); gap:14px; padding:18px 0; }
.toc li:last-child{ border-bottom:0; }
.toc li:nth-last-child(-n+2){ border-bottom:1px solid var(--line); }
.toc h3{ font-size:17px; }
.toc .muted{ font-size:15px; line-height:1.5; }
@media (max-width:640px){ .toc{ grid-template-columns:minmax(0,1fr); } .toc li:nth-last-child(2){ border-bottom:0; } }
.sl-stage{ height:196px; }
.sl-stage .book-m{ width:112px; }
.sl-body{ gap:8px; padding:18px 20px 20px; }
.sl-body .muted{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:15px; line-height:1.5; }
.sl-head{ margin-bottom:clamp(20px, 2.4vw, 28px); }
.veille-top{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:24px 40px; align-items:end; margin-bottom:clamp(24px, 3vw, 36px); }
.veille-top .head{ margin:0; }
.veille-top .veille-nl{ margin:0; max-width:none; }
@media (max-width:1000px){ .veille-top{ grid-template-columns:minmax(0,1fr); } }
.hero-tools{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.hero-tools > p{ color:var(--text-2); }
.hero-tools-in{ display:flex; flex-wrap:wrap; gap:10px; }
.htool{ display:inline-flex; align-items:center; gap:12px; padding:8px 18px 8px 8px; border-radius:var(--r-pill); background:var(--glass-fill); border:1px solid rgba(255,255,255,.16); color:#FFFFFF; text-decoration:none; transition:border-color .2s var(--ease), background-color .2s var(--ease); }
.htool:hover{ text-decoration:none; border-color:rgba(254,211,34,.7); }
.htool > span:last-child{ display:flex; flex-direction:column; line-height:1.3; }
.htool b{ font-size:15px; }
.htool > span:last-child > span{ font-size:13px; color:var(--text-2); }
.htool-ic{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--blue); color:#FFFFFF; font-weight:800; font-size:17px; }
.htool-aud{ background:#FED322; color:#0D2247; font-size:18px; }
@media (min-width:1001px){
  .res-hero{ padding-bottom:clamp(36px, 3.4vw, 48px); }
  .res-hero .lead-wrap{ padding-top:52px; }
  .res-hero .lead-card{ padding:24px 28px; }
  .chk-list{ gap:8px; }
  .chk{ padding:12px 16px; }
  .switch{ padding:11px 14px; }
  .eco-rows{ gap:6px; }
  .eco-row{ padding:10px 14px; }
  .pack-items{ gap:8px; padding-top:12px; }
  .pack-items li{ font-size:15px; line-height:1.5; }
  .tiles{ gap:10px; }
  .tile{ padding:12px 14px; }
}
@media (min-width:1001px){
  #eco-info{ margin-top:10px !important; padding:18px 22px; }
  #cform{ padding:28px 32px !important; }
  .tile small{ font-size:13.5px; line-height:1.45; }
  .tile .ic{ width:38px; height:38px; padding:9px; }
}

/* Écrans peu hauts (portables) : échelle resserrée pour garder chaque section dans l’écran */
@media (min-width:1001px) and (max-height:880px){
  :root{ --fs-2:clamp(26px, 2.5vw, 34px); }
  .h1-m{ font-size:clamp(34px, 3.6vw, 48px); }
  .sec{ padding-block:clamp(40px, 6.5vh, 56px); }
  .head{ margin-bottom:24px; gap:10px; }
  .hero-in{ padding-block:24px 40px; }
  .hero-grid{ padding-block:24px 40px; }
  .res-hero{ padding-bottom:36px; }
  .flow-sub{ margin-top:36px; padding-top:32px; }
  .pack{ padding:20px; gap:10px; }
  .pack-items{ gap:6px; }
  .chk{ padding:10px 14px; }
  .eco-row{ padding:9px 14px; }
  .sl-stage{ height:176px; }
  .sl-stage .book-m{ width:100px; }
}
@media (min-width:1001px) and (max-height:880px){
  .test-card{ padding:18px 24px; gap:10px; }
  .test-card .opt{ min-height:46px; padding-block:7px; }
  .test-card .qcard-q{ font-size:18px; }
  .res-hero .lead-wrap{ padding-top:40px; }
  .res-hero .lead-card{ padding:20px 24px; }
  .split > .panel, #eco-info{ padding:20px 24px; }
  .plat{ padding:14px 18px; }
  .veille-card{ padding:20px 22px; }
  #cform{ padding:22px 28px !important; }
  .tile{ padding:10px 12px; }
  .tiles{ gap:8px; }
}
.hdr .dd-link .dd-svc-ic{ font-size:19px; color:#FED322; background:#0D2247; }
.hdr .dd-link.dd-svc-link:hover .dd-svc-ic, .hdr .dd-link.dd-svc-link:focus-visible .dd-svc-ic{ background:#FED322; color:#0D2247; }
.value-ic{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }

/* Partenariat : logos ICFC et Vektoriel */
.duo-lockup{ gap:18px; padding:0; background:none; border:0; border-radius:0; }
.duo-logo{ gap:12px; }
.duo-logo .logo-word b{ color:#FFFFFF; }
.duo-logo .logo-word small{ color:#FED322; }
.duo-x{ font-size:22px; font-weight:500; color:rgba(255,255,255,.55); }
.vk-logo{ height:38px; width:auto; display:block; }
.duo-ic{ display:inline-grid; place-items:center; width:22px; height:22px; flex:0 0 auto; }
.duo-ic svg{ width:22px; height:22px; display:block; }
@media (max-width:420px){ .duo-lockup{ gap:12px; } .vk-logo{ height:32px; } .duo-logo .logo-sym{ width:28px; height:28px; } }

/* =========================================================
   Carrousel des ressources : vitrine éditoriale
   ========================================================= */
.sl-x .sl-head{ margin-bottom:clamp(20px, 2.4vw, 30px); }
.sl-x .sl-track{ gap:20px; padding:8px 8px 30px; margin:-8px -8px 0; cursor:grab; }
.sl-x .sl-track.is-drag{ cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none; }
.sl-x .sl-track.is-drag .sl-card{ pointer-events:none; }
.sl-x .sl-card{ flex:0 0 clamp(272px, 24vw, 330px); position:relative; border-radius:var(--r-lg); background:#FFFFFF; border:1px solid rgba(13,34,71,.08); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 22px 44px -32px rgba(13,34,71,.45); overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s var(--ease); }
.sl-x .sl-card:hover{ transform:translateY(-4px); border-color:rgba(13,34,71,.16); box-shadow:0 1px 2px rgba(13,34,71,.05), 0 34px 60px -34px rgba(13,34,71,.55); }
.sl-x .sl-card:has(.sl-title:focus-visible){ outline:3px solid #0D2247; outline-offset:3px; }
/* Vitrine : teinte par format, trame de points, sol lumineux */
.sl-x .sl-stage{ position:relative; height:224px; display:grid; place-items:center; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(13,34,71,.06); background:linear-gradient(160deg, var(--st1), var(--st2)); }
.sl-x .sl-stage::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(rgba(13,34,71,.11) 1px, transparent 1.4px); background-size:14px 14px; -webkit-mask-image:radial-gradient(75% 70% at 70% 30%, #000, transparent 75%); mask-image:radial-gradient(75% 70% at 70% 30%, #000, transparent 75%); }
.sl-x .sl-stage::after{ content:""; position:absolute; left:18%; right:18%; bottom:14px; height:26px; z-index:-1; border-radius:50%; background:radial-gradient(closest-side, rgba(255,255,255,.95), rgba(255,255,255,0)); }
.sl-stage-guide{ --st1:#EEF3FB; --st2:#D6E2F4; }
.sl-stage-check{ --st1:#ECF5FA; --st2:#CFE5F1; }
.sl-stage-cal{ --st1:#FBF6E8; --st2:#EFE3C3; }
.sl-stage-note{ --st1:#F1F3F7; --st2:#DCE1EA; }
.sl-x .sl-stage .book-m{ width:122px; transform:perspective(1100px) rotateY(-20deg) rotateX(4deg) translateY(4px); }
.sl-x .sl-card:hover .sl-stage .book{ transform:perspective(1100px) rotateY(-7deg) rotateX(2deg) translateY(-4px); }
.sl-chip{ position:absolute; top:14px; left:14px; z-index:2; padding:6px 11px; border-radius:var(--r-pill); background:rgba(255,255,255,.88); border:1px solid rgba(13,34,71,.08); font-size:12.5px; font-weight:700; color:#0D2247; line-height:1.2; }
.sl-card-cal .sl-chip{ color:#5A4300; }
/* Texte et appel à l'action */
.sl-x .sl-body{ flex:1 1 auto; display:flex; flex-direction:column; gap:8px; padding:20px 22px 20px; border:0; }
.sl-t{ font-size:18px; line-height:1.3; font-weight:700; letter-spacing:-.01em; text-wrap:balance; }
.sl-x .sl-title{ color:#0D2247; text-decoration:none; }
.sl-x .sl-title::after{ content:""; position:absolute; inset:0; z-index:3; border-radius:inherit; }
.sl-x .sl-title:focus-visible{ outline:none; }
.sl-d{ font-size:15px; line-height:1.5; color:#46536B; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sl-go{ margin-top:auto; padding-top:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:15px; font-weight:700; color:#0D2247; }
.sl-go-ic{ width:38px; height:38px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; font-size:17px; background:#EEF3FA; color:#0D2247; transition:background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease); }
.sl-x .sl-card:hover .sl-go-ic, .sl-x .sl-card:has(.sl-title:focus-visible) .sl-go-ic{ background:#0D2247; color:#FED322; transform:translateX(3px); }
/* Navigation : segments et flèches sous le carrousel */
.sl-foot{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:4px; }
.sl-dots{ display:flex; gap:6px; flex-wrap:wrap; }
.sl-dot{ position:relative; width:34px; height:24px; padding:0; border:0; background:none; cursor:pointer; }
.sl-dot::before{ content:""; position:absolute; left:0; right:0; top:10px; height:4px; border-radius:4px; background:#D8E0EC; transition:background-color .3s var(--ease); }
.sl-dot.is-on::before{ background:#0D2247; }
.sl-dot:hover::before{ background:#8E9BB2; }
.sl-dot.is-on:hover::before{ background:#0D2247; }
.sl-dot:focus-visible{ outline:3px solid #0D2247; outline-offset:2px; border-radius:6px; }
.sl-x .sl-ctrl{ display:flex; gap:10px; }
.sl-x .sl-btn{ width:48px; height:48px; }
.sl-x.no-scroll .sl-foot{ display:none; }
.sl-x .sl-progress{ display:none; }
@media (max-width:640px){
  .sl-x .sl-card{ flex-basis:82%; }
  .sl-x .sl-stage{ height:200px; }
  .sl-x .sl-ctrl{ display:none; }
  .sl-foot{ justify-content:center; }
}
@media (min-width:1001px) and (max-height:880px){
  .sl-x .sl-stage{ height:190px; }
  .sl-x .sl-stage .book-m{ width:104px; }
  .sl-x .sl-body{ padding:16px 20px 18px; }
}
@media (prefers-reduced-motion:reduce){ .sl-x .sl-card, .sl-x .sl-card:hover{ transition:none; transform:none; } .sl-go-ic{ transition:none; } }
.sl-x .sl-stage{ align-items:end; padding-bottom:26px; }
.sl-x .sl-stage .book-m{ width:112px; }
@media (min-width:1001px) and (max-height:880px){ .sl-x .sl-stage{ padding-bottom:20px; } .sl-x .sl-stage .book-m{ width:98px; } }
@media (max-width:640px){ .sl-x .sl-stage .book-m{ width:104px; } }
.sl-x .sl-track{ padding:10px 8px 50px; margin:-10px -8px -20px; }

/* Menu « Vous êtes » : hiérarchie de lecture (catégorie, profil, précision) */
.dd-prof .dd-panel{ width:min(680px, calc(100vw - 32px)); padding:14px; gap:10px; }
.dd-prof .dd-grid2{ gap:4px 14px; }
.dd-group + .dd-group{ margin-top:12px; }
.hdr .dd-panel .dd-h{ display:flex; align-items:center; gap:9px; padding:6px 12px 8px; margin:0; font-size:12.5px; font-weight:700; letter-spacing:.01em; color:#5A6680; }
.hdr .dd-panel .dd-h::before{ width:7px; height:7px; box-shadow:none; }
.hdr .dd-panel .dd-h::after{ content:""; flex:1 1 auto; height:1px; background:#E6EBF3; }
.hdr .dd-link.dd-prof-link{ display:grid; grid-template-columns:38px minmax(0,1fr); gap:13px; align-items:center; padding:9px 12px; }
.hdr .dd-link .dd-p-ic{ width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-size:18px; color:#0D2247; background:#EEF3FA; transition:background-color .2s var(--ease), color .2s var(--ease); }
.hdr .dd-link.dd-prof-link:hover .dd-p-ic, .hdr .dd-link.dd-prof-link:focus-visible .dd-p-ic, .hdr .dd-link.dd-prof-link[aria-current="page"] .dd-p-ic{ background:#0D2247; color:#FED322; }
.dd-p-t{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hdr .dd-prof-link .dd-p-t b{ font-size:15px; line-height:1.3; color:#0D2247; }
.hdr .dd-link .dd-p-t span, .hdr .dd-svc-t span{ font-size:13px; line-height:1.4; color:#56627A; }

/* =====================================================================
   Version 2 (novembre 2026) : niveaux d’accompagnement, situations,
   contrôles, tests en ligne, filtres des ressources
   ===================================================================== */

/* Encart sous le héros (ex. « Vous faites l’objet d’un contrôle ? ») */
.hero-strip{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:16px; align-items:center; margin-top:clamp(28px, 4vw, 44px); padding:16px 18px 16px 16px; border-radius:var(--r-md); background:rgba(255,255,255,.06); border:1px solid rgba(254,211,34,.38); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.hero-strip-ic{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; font-size:20px; background:rgba(254,211,34,.14); color:var(--gold); }
.hero-strip b{ display:block; font-size:17px; color:#FFFFFF; }
.hero-strip div span{ display:block; font-size:15px; color:#C9D3E6; margin-top:2px; }
@media (max-width:720px){ .hero-strip{ grid-template-columns:44px minmax(0,1fr); } .hero-strip .btn{ grid-column:1 / -1; justify-self:start; } }

/* Cartes avec liens */
.link-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.link-cards.n2, .link-cards.n4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.link-card{ display:flex; flex-direction:column; gap:14px; padding:24px; border-radius:var(--r-md); text-decoration:none; color:var(--text); background:var(--glass-fill); border:1px solid var(--glass-line); transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease); }
a.link-card:hover{ border-color:rgba(254,211,34,.6); text-decoration:none; transform:translateY(-2px); }
.lc-ic{ width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:21px; background:var(--sky-tint); color:var(--sky); }
.lc-body{ display:flex; flex-direction:column; gap:6px; flex:1 1 auto; }
.lc-t{ font-size:19px; line-height:1.3; }
.lc-d{ font-size:15px; line-height:1.55; color:var(--text-2); }
.lc-go{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:15px; }
.lc-go .ic{ width:16px; height:16px; transition:transform .2s var(--ease); }
a.link-card:hover .lc-go .ic{ transform:translateX(3px); }
.sec-light .link-card{ background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 12px 32px -22px rgba(13,34,71,.28); }
.sec-light a.link-card:hover{ border-color:#0D2247; box-shadow:0 18px 40px -24px rgba(13,34,71,.45); }
.sec-light .lc-ic{ background:#0D2247; color:#FED322; }
@media (max-width:900px){ .link-cards, .link-cards.n2, .link-cards.n4{ grid-template-columns:minmax(0,1fr); } }

/* Niveaux d’accompagnement */
.levels{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; counter-reset:none; }
.level{ position:relative; display:flex; flex-direction:column; gap:8px; padding:24px 22px; border-radius:var(--r-md); background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); transition:border-color .2s var(--ease), box-shadow .2s var(--ease); }
.level-n{ width:34px; height:34px; border-radius:var(--r-pill); display:grid; place-items:center; font-weight:800; font-size:15px; background:rgba(254,211,34,.14); color:var(--gold); }
.level-t{ font-size:19px; line-height:1.3; }
.level-p{ font-size:15px; line-height:1.5; color:var(--text); }
.level-w, .level-ex{ font-size:14.5px; line-height:1.55; color:var(--text-2); }
.level.is-match{ border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), 0 24px 48px -30px rgba(254,211,34,.55); }
.level.is-match .level-n{ background:var(--gold); color:var(--ink); }
.level-badge{ position:absolute; top:-12px; right:18px; font-size:12px; font-weight:800; padding:4px 10px; border-radius:var(--r-pill); background:var(--gold); color:var(--ink); }
.lv-h{ margin-bottom:18px; }
.lv-note{ margin-top:16px; }
.sec-light .level{ background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 12px 32px -22px rgba(13,34,71,.28); }
.sec-light .level-n{ background:#0D2247; color:#FFFFFF; }
@media (max-width:900px){ .levels{ grid-template-columns:minmax(0,1fr); } }

.acc-layout{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.12fr); gap:clamp(20px, 2.4vw, 32px); align-items:start; }
.acc-main{ display:flex; flex-direction:column; gap:clamp(22px, 2.6vw, 30px); min-width:0; }
.acc-head{ max-width:none; margin:0; }
.acc-head .lead{ max-width:60ch; }
.acc-qs{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px clamp(16px, 2vw, 24px); align-items:start; }
.acc-q{ border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.acc-q legend{ margin-bottom:10px; font-weight:700; }
.acc-opts{ display:flex; flex-direction:column; gap:8px; }
.acc-opt{ display:flex; align-items:center; gap:12px; min-height:52px; padding:12px 16px; border-radius:14px; cursor:pointer; background:var(--glass-fill); border:1px solid var(--glass-line); font-size:15.5px; font-weight:600; }
.acc-opt:hover{ border-color:rgba(255,255,255,.3); }
.acc-opt input{ -webkit-appearance:none; appearance:none; width:20px; height:20px; margin:0; border-radius:50%; border:2px solid rgba(255,255,255,.75); background:transparent; display:grid; place-content:center; flex:0 0 auto; cursor:pointer; }
.acc-opt input::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--gold); transform:scale(0); transition:transform .12s ease; }
.acc-opt input:checked{ border-color:var(--gold); }
.acc-opt input:checked::before{ transform:scale(1); }
.acc-opt:has(input:checked){ border-color:var(--gold); background:rgba(254,211,34,.08); }
.acc-opt:has(input:focus-visible){ outline:3px solid var(--focus, #FED322); outline-offset:2px; }
.levels-pick{ grid-template-columns:minmax(0,1fr); gap:8px; }
.levels-pick .level{ display:flex; flex-direction:column; gap:8px; padding:12px 14px; border-radius:14px; }
.level-top{ display:flex; align-items:flex-start; gap:12px; }
.level-tt{ display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; min-width:0; flex:1 1 auto; }
.levels-pick .level-n{ width:28px; height:28px; font-size:13px; flex:0 0 auto; margin-top:1px; }
.levels-pick .level-t{ font-size:16px; line-height:1.3; }
.levels-pick .level-p{ flex:1 0 100%; font-size:14px; line-height:1.45; color:var(--text-2); }
.levels-pick .level-badge{ position:static; padding:2px 8px; font-size:11.5px; }
.levels-pick .level-ex, .levels-pick .level-w{ display:none; padding-left:40px; font-size:14px; line-height:1.5; color:var(--text); }
.levels-pick .level:has(input:checked) :is(.level-ex, .level-w){ display:block; }
.levels-pick .level-why{ margin-left:40px; }
.acc-panel{ display:flex; flex-direction:column; gap:14px; padding:18px; border-radius:22px; background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); transition:border-color .25s var(--ease), box-shadow .25s var(--ease); }
.acc[data-level] .acc-panel{ border-color:rgba(254,211,34,.6); box-shadow:0 0 0 1px rgba(254,211,34,.25), 0 24px 48px -32px rgba(254,211,34,.5); }
.acc-panel .acc-actions{ flex-direction:column; align-items:stretch; gap:6px; }
.acc-panel .acc-actions .btn{ width:100%; }
.acc-panel .acc-reset{ align-self:center; }
.acc-reassure{ font-size:13.5px; line-height:1.4; color:var(--text-2); text-align:center; }
.acc-panel .acc-reset{ font-size:14px; }
.acc-why{ padding:14px 16px; border-radius:14px; font-size:15px; line-height:1.55; color:var(--text); background:rgba(254,211,34,.08); border:1px solid rgba(254,211,34,.35); }
.acc-why b{ display:block; margin-bottom:2px; }
.sec-light .acc-why{ background:#FFF9DB; border-color:#F1D46A; }

.acc-msg{ font-size:14.5px; line-height:1.5; color:var(--text-2); }
.acc-msg b{ color:var(--text); }
.acc-note{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; color:var(--text-2); }
.acc-note .ic{ flex:0 0 auto; width:18px; height:18px; margin-top:1px; color:var(--sky); }
.sec-light .acc-opt{ background:#FFFFFF; border:1px solid #D3DDEA; }
.sec-light .acc-opt:has(input:checked){ border-color:#0D2247; background:#F4F7FC; }
.sec-light .acc-opt input{ border-color:#0D2247; }
.sec-light .acc-opt input::before{ background:#0D2247; }
.sec-light .acc-panel{ background:#FFFFFF; border-color:#E3E9F3; box-shadow:var(--shadow-light-sm); }
.sec-light .acc[data-level] .acc-panel{ border-color:#0D2247; box-shadow:0 0 0 1px #0D2247; }
@media (max-width:1100px){ .acc-layout{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:720px){ .acc-qs{ grid-template-columns:minmax(0,1fr); } }

/* Choix de la situation (pages Vous êtes) */
.sit-tabs{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.sit-tab{ display:flex; align-items:center; gap:12px; min-height:64px; padding:12px 16px; border-radius:16px; text-align:left; font:inherit; font-size:15.5px; font-weight:700; line-height:1.3; cursor:pointer; color:#0D2247; background:#FFFFFF; border:1.5px solid #D3DDEA; transition:border-color .2s var(--ease), background-color .2s var(--ease); }
.sit-tab:hover{ border-color:#0D2247; }
.sit-ic{ flex:0 0 auto; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-size:18px; background:#E3EDFB; color:#1D4E9E; }
.sit-tab[aria-selected="true"]{ background:#0D2247; border-color:#0D2247; color:#FFFFFF; }
.sit-tab[aria-selected="true"] .sit-ic{ background:#FED322; color:#0D2247; }
.sit-panel{ padding:clamp(22px, 3vw, 32px); border-radius:var(--r-lg); background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 16px 40px -26px rgba(13,34,71,.3); }
.sit-panel:focus-visible{ outline:3px solid #0D2247; outline-offset:3px; }
.sit-lead{ max-width:70ch; margin-bottom:22px; }
.sit-cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(22px, 3vw, 44px); }
.sit-h{ font-size:13px; font-weight:800; letter-spacing:.02em; color:var(--text-2); margin-bottom:12px; }
.sit-svcs, .aud-svcs{ display:flex; flex-direction:column; gap:10px; }
.sit-svc{ display:grid; grid-template-columns:40px minmax(0,1fr) 18px; gap:14px; align-items:center; padding:14px 16px; border-radius:14px; text-decoration:none; color:var(--text); background:#F4F7FC; border:1px solid #E3E9F3; transition:border-color .2s var(--ease), background-color .2s var(--ease); }
.sit-svc:hover{ border-color:#0D2247; background:#FFFFFF; text-decoration:none; }
.sit-svc-ic{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font-size:18px; background:#0D2247; color:#FED322; }
.sit-svc b{ display:block; font-size:16px; }
.sit-svc span span{ display:block; font-size:14.5px; line-height:1.5; color:var(--text-2); margin-top:2px; }
.sit-svc > .ic{ width:18px; height:18px; color:#0D2247; }
.sit-freins{ display:flex; flex-direction:column; gap:12px; }
.sit-freins li{ display:flex; flex-direction:column; gap:4px; padding:0 0 12px 16px; border-left:2px solid #E3E9F3; }
.sit-freins b{ font-size:15.5px; }
.sit-freins span{ font-size:15px; line-height:1.55; color:var(--text-2); }
.sit-more{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
:where(.sec:not(.sec-light)) .sit-svc{ background:var(--glass-fill); border-color:var(--glass-line); }
@media (max-width:1000px){ .sit-tabs{ grid-template-columns:repeat(2, minmax(0,1fr)); } .sit-cols{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px){ .sit-tabs{ grid-template-columns:minmax(0,1fr); } }

/* Tableau jusqu’à quatre colonnes */
.cmp-3 tbody th{ width:24%; }
.cmp-4{ min-width:820px; }
.cmp-4 tbody th{ width:18%; color:var(--text); }
.cmp-4 td{ font-size:15px; line-height:1.55; }

/* Colonnes avec listes (avant, pendant, après) */
.phases{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.phases.n2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.phases.n4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.phase{ display:flex; flex-direction:column; gap:12px; padding:24px 22px; border-radius:var(--r-md); background:var(--glass-fill); border:1px solid var(--glass-line); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.phase .tl-n{ box-shadow:none; }
.phase-list{ display:flex; flex-direction:column; gap:9px; }
.phase-list li{ display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; font-size:15px; line-height:1.5; color:var(--text-2); }
.phase-list .ic{ width:18px; height:18px; margin-top:2px; color:var(--gold); }
.phase-note{ display:flex; gap:12px; align-items:flex-start; margin-top:20px; max-width:80ch; font-size:15px; color:var(--text-2); }
.phase-note .ic{ flex:0 0 auto; width:20px; height:20px; margin-top:2px; color:var(--sky); }
.sec-light .phase{ background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 12px 32px -22px rgba(13,34,71,.28); }
.sec-light .phase-list .ic{ color:#1D7A4C; }
@media (max-width:900px){ .phases, .phases.n2, .phases.n4{ grid-template-columns:minmax(0,1fr); } }

/* Réassurance : citation attribuée, sans barre verticale, et arguments */
.quote{ margin:0 0 clamp(28px, 4vw, 44px); display:flex; flex-direction:column; gap:20px; }
.quote .statement{ margin:0; font-size:clamp(22px, 2.3vw, 30px); line-height:1.3; max-width:34ch; }
.quote .who{ margin:0; }
.args{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px 28px; }
.args li{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; align-items:start; }
.args-ic{ width:28px; height:28px; border-radius:var(--r-pill); display:grid; place-items:center; background:#0D2247; color:#FED322; }
.args-ic .ic{ width:15px; height:15px; }
.args h3{ font-size:17px; font-weight:700; line-height:1.35; }
.args p{ font-size:15px; line-height:1.55; margin-top:4px; }
.args.n4, .args.n2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:900px){ .args, .args.n4, .args.n2{ grid-template-columns:minmax(0,1fr); } }

/* Tests en ligne : couleur harmonisée avec la page, pastille lisible */
.qtest{ background:radial-gradient(520px 360px at 90% 100%, rgba(47,111,219,.34), transparent 70%), rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.sec-light .qtest{ background:radial-gradient(520px 360px at 90% 100%, rgba(47,111,219,.36), transparent 70%), #0D2247; border-color:transparent; box-shadow:0 30px 60px -34px rgba(13,34,71,.75); color:#FFFFFF; --text:#FFFFFF; --text-2:#C9D3E6; }
.sec-light .qtest .h2{ color:#FFFFFF; }
.qtest .badge, .sec-light .qtest .badge{ background:#FED322; color:#0D2247; box-shadow:none; }
.qtest .qcard .quiz-k{ font-size:13px; }

/* Familles d’outils : le message s’affiche sur place ; plateformes publiques à part */
.eco2{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(24px, 4vw, 48px); align-items:start; }
.eco2-h{ font-size:18px; font-weight:800; margin-bottom:4px; }
.eco2-tools > .small, .eco2-plats > .small{ margin-bottom:14px; }
.eco2-list{ display:flex; flex-direction:column; gap:10px; }
.eco2-item{ border-radius:16px; background:#FFFFFF; border:1px solid rgba(13,34,71,.09); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 12px 32px -22px rgba(13,34,71,.28); overflow:hidden; }
.eco2-btn{ display:grid; grid-template-columns:40px minmax(0,1fr) 20px; gap:14px; align-items:center; width:100%; padding:14px 16px; background:none; border:0; text-align:left; font:inherit; color:#0D2247; cursor:pointer; }
.eco2-ic{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font-size:18px; background:#E3EDFB; color:#1D4E9E; }
.eco2-btn[aria-expanded="true"] .eco2-ic{ background:#0D2247; color:#FED322; }
.eco2-t b{ display:block; font-size:16px; }
.eco2-t span{ display:block; font-size:14.5px; color:var(--text-2); margin-top:2px; }
.eco2-chev .ic{ width:18px; height:18px; transition:transform .2s var(--ease); }
.eco2-btn[aria-expanded="true"] .eco2-chev .ic{ transform:rotate(180deg); }
.eco2-btn:focus-visible{ outline:3px solid #0D2247; outline-offset:-3px; border-radius:16px; }
.eco2-panel{ padding:0 18px 18px 70px; display:flex; flex-direction:column; gap:10px; font-size:15px; line-height:1.55; color:var(--text-2); }
.eco2-panel b{ color:#0D2247; }
.eco2-links{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.eco2-link{ display:inline-block; padding:4px 10px; border-radius:var(--r-pill); background:#FFF4CC; color:#0D2247; font-size:13px; font-weight:700; }
.eco2-plats{ padding:22px; border-radius:var(--r-lg); background:#F4F7FC; border:1px dashed #C9D3E6; display:flex; flex-direction:column; gap:10px; }
.eco2-plats .plat{ background:#FFFFFF; }
.eco2-plats .plat.is-linked{ border-color:#FED322; box-shadow:0 0 0 1px #FED322; }
@media (max-width:900px){ .eco2{ grid-template-columns:minmax(0,1fr); } .eco2-panel{ padding-left:18px; } }

/* Ressources : filtres */
.sl-filters{ display:flex; flex-wrap:wrap; gap:14px 28px; margin:-6px 0 6px; }
.sl-filter{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sl-filter-t{ font-size:14px; font-weight:800; color:var(--text-2); margin-right:4px; }
.sl-filter .chip{ min-height:38px; padding:0 14px; font-size:14px; }
.sl-count{ margin-bottom:6px; }
.sl-empty{ padding:24px; border-radius:var(--r-md); background:#F4F7FC; color:var(--text-2); }
.sl-card[hidden], .sl-dot[hidden]{ display:none !important; }

/* Extrait d’une ressource : sans barre verticale */
.excerpt-q p{ padding-left:0; border-left:0; font-style:normal; }
.excerpt-q p::before{ content:"« "; }
.excerpt-q p::after{ content:" »"; }

/* Services en onglets : ce que nous faisons */
.sp-points li{ display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; justify-content:start; align-items:start; }
.sp-points li .ic{ width:18px; height:18px; margin-top:3px; color:#1D7A4C; }

/* Référentiel critère par critère : un indicateur par ligne */
.crit-d{ list-style:none; margin:4px 0 16px; padding:0; display:grid; gap:10px; line-height:1.6; }
.crit-d li{ padding-left:14px; border-left:3px solid #E3EAF4; }
.crit-d b{ color:#0D2247; font-weight:700; }

/* Audit de situation : services utiles et niveau */
.aud-svcs{ margin-top:12px; }
.aud-level{ margin-top:18px; padding:18px 20px; border-radius:var(--r-md); background:#F4F7FC; border:1px solid #E3E9F3; display:flex; flex-direction:column; gap:6px; }

/* Menus : six services, trois profils */
.dd-svc .dd-feat-row{ margin-top:10px; }
.dd-panel.dd-one{ width:min(420px, calc(100vw - 32px)) !important; }
.dd-panel.dd-one .dd-grid2{ grid-template-columns:minmax(0,1fr); }



/* ---------------------------------------------------------------------------
   Niveaux d’accompagnement, version guidée (V2.1)
   Deux questions numérotées, réponses en cartes avec précision, niveau proposé
   expliqué, niveaux cliquables pour choisir directement.
   ------------------------------------------------------------------------- */
.acc-legend{ display:flex; align-items:center; gap:12px; margin-bottom:12px; padding:0; font-size:17px; font-weight:800; letter-spacing:-.01em; line-height:1.3; color:var(--text); }
.acc-q legend.acc-legend{ margin-bottom:12px; }
.acc-step{ width:30px; height:30px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; font-size:14px; font-weight:800; border:2px solid rgba(254,211,34,.75); color:var(--gold); transition:background-color .2s var(--ease), border-color .2s var(--ease); }
.acc-step-ok{ display:none; place-items:center; }
.acc-step-ok .ic{ width:16px; height:16px; }
.acc-q.is-done .acc-step{ background:var(--gold); border-color:var(--gold); color:var(--ink); }
.acc-q.is-done .acc-step-n{ display:none; }
.acc-q.is-done .acc-step-ok{ display:grid; }
.acc-opt{ min-height:58px; padding:10px 14px; align-items:center; }
.acc-opt-t{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.acc-opt-t b{ font-size:15.5px; font-weight:700; line-height:1.35; }
.acc-opt-t small{ font-size:13.5px; font-weight:500; line-height:1.4; color:var(--text-2); }
.acc-res{ border:0; padding:0; margin:0; min-width:0; }
.acc-legend small{ display:block; margin-top:2px; font-size:14px; font-weight:500; letter-spacing:0; color:var(--text-2); }
.acc-res-h{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; margin-bottom:12px; padding:0; font-size:17px; font-weight:800; letter-spacing:-.01em; color:var(--text); }
.acc-res-h span{ font-size:14px; font-weight:500; letter-spacing:0; color:var(--text-2); }
.levels-pick .level{ cursor:pointer; }
.levels-pick .level:hover{ border-color:rgba(255,255,255,.32); }
.levels-pick .level.is-match{ border-color:rgba(254,211,34,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.levels-pick .level.is-match .level-n{ background:rgba(254,211,34,.14); color:var(--gold); }
.levels-pick .level:has(input:checked){ border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), 0 24px 48px -30px rgba(254,211,34,.55); }
.levels-pick .level:has(input:checked) .level-n{ background:var(--gold); color:var(--ink); }
.levels-pick .level:has(input:focus-visible){ outline:3px solid var(--focus, #FED322); outline-offset:3px; }
.level-tick{ margin-left:auto; flex:0 0 auto; width:22px; height:22px; border-radius:50%; display:none; place-items:center; background:var(--gold); color:var(--ink); }
.level-tick .ic{ width:15px; height:15px; }
.levels-pick .level:has(input:checked) .level-tick{ display:grid; }
.level-why{ margin-top:4px; padding-top:8px; border-top:1px solid var(--glass-line); font-size:14.5px; line-height:1.5; color:var(--text); }
.acc-actions{ display:flex; align-items:center; gap:14px 22px; flex-wrap:wrap; }
.acc-msg b{ color:var(--text); }
.sec-light .acc-step{ border-color:#0D2247; color:#0D2247; }
.sec-light .acc-q.is-done .acc-step{ background:#0D2247; color:#FFFFFF; }
.sec-light .levels-pick .level:hover{ border-color:#7C8698; }
.sec-light .levels-pick .level:has(input:checked){ border-color:#0D2247; box-shadow:0 0 0 1px #0D2247; }
.sec-light .levels-pick .level:has(input:checked) .level-n, .sec-light .level-tick{ background:#0D2247; color:#FFFFFF; }
.sec-light .level-why{ border-top-color:#E3E9F3; }


/* ---------------------------------------------------------------------------
   Cartes des tests en ligne : un ordinateur portable qui montre le test,
   dans la même vitrine que les couvertures des ressources.
   ------------------------------------------------------------------------- */
.tc-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.tc-grid.n2, .tc-grid.n4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.tc-card{ position:relative; display:flex; flex-direction:column; min-width:0; border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:#0D2247; background:#FFFFFF; border:1px solid rgba(13,34,71,.08); box-shadow:0 1px 2px rgba(13,34,71,.04), 0 22px 44px -32px rgba(13,34,71,.45); transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s var(--ease); }
a.tc-card:hover{ transform:translateY(-4px); text-decoration:none; border-color:rgba(13,34,71,.16); box-shadow:0 1px 2px rgba(13,34,71,.05), 0 34px 60px -34px rgba(13,34,71,.55); }
a.tc-card:focus-visible{ outline:3px solid #0D2247; outline-offset:3px; }
.tc-stage{ position:relative; height:224px; display:grid; place-items:center; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(13,34,71,.06); background:linear-gradient(160deg, var(--st1), var(--st2)); }
.tc-stage::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(rgba(13,34,71,.11) 1px, transparent 1.4px); background-size:14px 14px; -webkit-mask-image:radial-gradient(75% 70% at 70% 30%, #000, transparent 75%); mask-image:radial-gradient(75% 70% at 70% 30%, #000, transparent 75%); }
.tc-stage-qualiopi{ --st1:#EEF3FB; --st2:#D6E2F4; }
.tc-stage-vademecum{ --st1:#FBF6E8; --st2:#EFE3C3; }
.tc-stage-audit{ --st1:#ECF5FA; --st2:#CFE5F1; }
.tc-body{ flex:1 1 auto; display:flex; flex-direction:column; gap:8px; padding:20px 22px; }
.tc-d{ font-size:15px; line-height:1.5; color:#46536B; }
a.tc-card:hover .sl-go-ic, a.tc-card:focus-visible .sl-go-ic{ background:#0D2247; color:#FED322; transform:translateX(3px); }

.lap{ container-type:inline-size; position:relative; display:block; width:226px; margin-top:22px; transform:perspective(1200px) rotateX(7deg) rotateY(-13deg); transform-origin:center bottom; transition:transform .55s var(--ease); }
.lap::after{ content:""; position:absolute; left:4%; right:-4%; bottom:-7%; height:9%; border-radius:50%; background:rgba(4,14,34,.32); filter:blur(8px); z-index:-1; }
a.tc-card:hover .lap{ transform:perspective(1200px) rotateX(3deg) rotateY(-5deg) translateY(-4px); }
.lap-screen{ display:block; aspect-ratio:16 / 11; padding:3.2cqw; border-radius:5cqw 5cqw 1.4cqw 1.4cqw; background:linear-gradient(160deg, #1A3A6E, #0D2247); box-shadow:inset 0 0 0 .5cqw rgba(255,255,255,.08); }
.lap-ui{ display:flex; flex-direction:column; gap:2.2cqw; height:100%; padding:4.4cqw 5cqw; border-radius:1.8cqw; overflow:hidden; background:linear-gradient(180deg, #FFFFFF, #F1F5FB); color:#0D2247; }
.lap-bar{ display:flex; gap:1.2cqw; margin-bottom:.6cqw; }
.lap-bar i{ flex:1; height:1.3cqw; border-radius:1cqw; background:#DCE4F0; }
.lap-bar i.on{ background:#0D2247; }
.lap-k{ font-size:3.5cqw; font-weight:600; line-height:1.2; color:#5A6780; }
.lap-q{ font-size:4.9cqw; font-weight:800; line-height:1.2; letter-spacing:-.01em; margin-bottom:.6cqw; }
.lap-opt{ display:flex; align-items:center; gap:2cqw; padding:1.6cqw 2.6cqw; border-radius:2cqw; border:.45cqw solid #D3DDEA; background:#FFFFFF; font-size:3.6cqw; font-weight:700; line-height:1.2; }
.lap-opt::before{ content:""; flex:0 0 auto; width:2.6cqw; height:2.6cqw; border-radius:50%; border:.45cqw solid #9AA6BC; box-sizing:border-box; }
.lap-opt.on{ border-color:#FED322; background:#FFFBE8; }
.lap-opt.on::before{ border-color:#0D2247; background:radial-gradient(circle, #0D2247 45%, transparent 50%); }
.lap-row{ display:flex; align-items:center; gap:2cqw; padding:1.5cqw 2cqw; border-radius:2cqw; background:#FFFFFF; border:.45cqw solid #E1E8F2; }
.lap-sq{ flex:0 0 auto; width:4cqw; height:4cqw; border-radius:1.2cqw; background:#E7EEF9; }
.lap-line{ display:block; height:1.6cqw; border-radius:1cqw; background:#CBD5E3; }
.lap-st{ margin-left:auto; padding:.9cqw 2cqw; border-radius:5cqw; font-size:3.1cqw; font-weight:800; line-height:1.2; white-space:nowrap; }
.lap-st.ok{ background:#E3F2E8; color:#1B6B35; }
.lap-st.prio{ background:#0D2247; color:#FFFFFF; }
.lap-st.mid{ background:#FFF3C4; color:#5A4300; }
.lap-base{ position:relative; display:block; height:3.4cqw; margin:0 -7cqw; border-radius:0 0 4cqw 4cqw; background:linear-gradient(180deg, #D5DDEA, #A3B0C5); box-shadow:inset 0 .4cqw 0 rgba(255,255,255,.7); }
.lap-base::before{ content:""; position:absolute; left:41%; right:41%; top:0; height:1.3cqw; border-radius:0 0 1.4cqw 1.4cqw; background:#8E9CB3; }
@media (max-width:900px){ .tc-grid, .tc-grid.n2, .tc-grid.n4{ grid-template-columns:minmax(0,1fr); } .tc-stage{ height:210px; } }
@media (prefers-reduced-motion:reduce){ .lap, a.tc-card:hover .lap, .tc-card{ transition:none; } }

/* Pop-up de téléchargement d’un guide (ICFC > Réglages > Pop-up) */
.pp{ position:fixed; right:20px; bottom:20px; z-index:45; width:min(360px, calc(100vw - 24px)); max-height:calc(100vh - 40px); overflow:auto; display:flex; flex-direction:column; gap:14px; padding:20px; border-radius:var(--r-lg); background:#FFFFFF; box-shadow:0 0 0 1px rgba(13,34,71,.08), 0 30px 60px -24px rgba(2,8,24,.6); opacity:0; transform:translateY(14px); transition:opacity .3s var(--ease), transform .3s var(--ease); }
.pp.is-in{ opacity:1; transform:none; }
.pp[hidden]{ display:none; }
.pp-head{ display:flex; gap:14px; align-items:center; padding-right:30px; }
.pp-head .cover-s{ width:52px; padding:6px; gap:3px; }
.pp-k{ font-size:13px; font-weight:700; color:#1D4E9E; }
.pp-t{ font-size:17px; font-weight:800; line-height:1.3; letter-spacing:-.01em; text-wrap:balance; }
.pp-txt{ font-size:15px; line-height:1.5; color:var(--text-2); }
.pp-txt:focus{ outline:none; }
.pp-x{ position:absolute; top:10px; right:10px; width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:var(--r-pill); background:transparent; color:var(--text); cursor:pointer; }
.pp-x:hover{ background:var(--surface); }
.pp-x .ic{ width:18px; height:18px; }
#pp-form{ display:flex; flex-direction:column; gap:12px; }
.pp-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.pp-grid .field:nth-child(3){ grid-column:1 / -1; }
.pp .field{ gap:4px; }
.pp .field label{ font-size:13px; }
.pp .input{ min-height:44px; padding:8px 12px; }
.pp-legal{ font-size:12px; line-height:1.45; color:var(--text-3); }
@media (max-width:640px){ .pp{ left:12px; right:12px; width:auto; bottom:12px; padding:16px; max-height:calc(100vh - 110px); } }
@media (prefers-reduced-motion:reduce){ .pp{ transition:none; transform:none; } }

/* =========================================================
   Ressources : aperçu en texte (extrait lisible et indexé)
   ========================================================= */
.apercu{ display:flex; flex-direction:column; gap:16px; }
.apercu h3{ font-size:19px; font-weight:800; letter-spacing:-.01em; line-height:1.3; margin-top:18px; color:var(--text); }
.apercu h3:first-child{ margin-top:0; }
.apercu ul{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 32px; list-style:none; margin:0; padding:0; }
.apercu li{ position:relative; padding-left:24px; font-size:16px; line-height:1.55; color:var(--text-2); }
.apercu li::before{ content:""; position:absolute; left:2px; top:.5em; width:10px; height:10px; border-radius:3px; background:var(--gold); }
.apercu dl{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:12px; margin:0; }
.apercu dl > div{ display:flex; flex-direction:column; gap:6px; padding:18px 20px; border-radius:var(--r-md); background:var(--glass-fill); border:1px solid var(--glass-line); }
.apercu dt{ font-size:16px; font-weight:800; color:var(--text); }
.apercu dd{ margin:0; font-size:15px; line-height:1.5; color:var(--text-2); }
.apercu .cmp td{ font-size:15px; line-height:1.55; color:var(--text-2); }
.apercu .cmp tbody th{ color:var(--text); }
.cmp-wide tbody th{ width:30%; }
.cmp-mx{ min-width:680px; }
.cmp-mx th, .cmp-mx td{ padding:12px 18px; }
.cmp-mx thead th{ vertical-align:bottom; }
.cmp-mx thead th:not(:first-child){ width:13%; font-size:14px; line-height:1.3; text-align:center; }
.cmp-mx tbody th{ width:auto; font-weight:600; }
.cmp-mx td.mk{ text-align:center; vertical-align:middle; font-size:18px; font-weight:800; color:var(--gold); }
.cmp-mx tr.grp th{ padding-block:10px; font-size:13px; font-weight:800; letter-spacing:.02em; color:var(--text); background:var(--thead); }
.apercu-foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px; margin-top:24px; padding:18px 22px; border-radius:20px; background:var(--glass-fill); border:1px solid var(--glass-line); }
.apercu-foot p{ flex:1 1 360px; min-width:0; max-width:76ch; font-size:16px; line-height:1.55; color:var(--text-2); }
.sec-light .apercu dl > div, .sec-light .apercu-foot{ background:#FFFFFF; border-color:var(--line-2); }
@media (max-width:760px){ .apercu ul{ grid-template-columns:minmax(0,1fr); } .apercu-foot .btn{ width:100%; } }
