/* =============================================================================
   DSSF v3 — couche « nouveau positionnement » (octobre 2026)
   Chargée après dssf.css : réutilise ses jetons (couleurs, polices, rayons).
   Charte : angles industriels (rayons 4–6 px), vert action rare, ombres teintées.
   ========================================================================== */

/* --- Ajustements globaux ------------------------------------------------- */
html{scroll-padding-top:calc(var(--header-h) + 16px)}
.hdr__cta{white-space:nowrap}
.mega__grp{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent-text);grid-column:1/-1;margin:var(--s-2) 0 calc(var(--s-2)*-1)}
.ftr__brand .ftr__pitch{color:var(--c-grey-soft);max-width:32ch}

/* --- Briques communes de la page d'accueil -------------------------------- */
.v3 .wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad-x)}
.v3-eyebrow{display:block;margin:0;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.v3-h2{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(1.875rem,1.2rem + 2.2vw,2.875rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.v3-lead{margin:0;font-size:1.0625rem;color:var(--fg-muted);max-width:60ch}
.v3-head{display:flex;flex-wrap:wrap;gap:var(--s-6) var(--s-16);justify-content:space-between;align-items:flex-end;margin-bottom:var(--s-10)}
.v3-head__t{display:flex;flex-direction:column;gap:var(--s-3);max-width:46rem}
.v3-sec{padding:clamp(4.5rem,2.5rem + 5vw,7.5rem) 0}
.v3-sec--soft{background:var(--c-surface)}
.v3-sec--ink{background:var(--c-ink);color:#fff;--fg:#fff;--fg-muted:#C9D5DC;--accent-text:var(--c-mint);--border:var(--c-ink-3)}
.v3-grid-bg{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px}
.v3-link{font-family:var(--font-display);font-weight:600;color:var(--accent-text);text-decoration:none;display:inline-flex;align-items:center;gap:.4em}
.v3-link:hover{text-decoration:underline;text-underline-offset:3px}
.v3-link span{transition:transform var(--t) var(--ease)}
.v3-link:hover span{transform:translateX(3px)}

.v3-btn{display:inline-flex;align-items:center;gap:.6em;min-height:50px;padding:0 1.5rem;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:1rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.v3-btn span{transition:transform var(--t) var(--ease)}
.v3-btn:hover span{transform:translateX(3px)}
.v3-btn--mint{background:var(--c-mint);color:#08131F}
.v3-btn--mint:hover{background:#2EE0B4;color:#08131F;box-shadow:0 8px 24px rgba(0,212,160,.3)}
.v3-btn--green{background:var(--c-green-deep);color:#fff}
.v3-btn--green:hover{background:#00694F;color:#fff;box-shadow:var(--shadow-accent)}
.v3-btn--teal{background:var(--c-teal-deep);color:#fff}
.v3-btn--teal:hover{background:#00665F;color:#fff}
.v3-btn--ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(8,19,31,.2)}
.v3-btn--ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.v3-btn--line{border-color:currentColor;color:var(--c-teal-deep);background:transparent}
.v3-btn--line:hover{background:var(--c-teal-deep);color:#fff;border-color:var(--c-teal-deep)}

.v3-card{transition:transform var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease),border-color var(--t) var(--ease)}
.v3-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(13,27,42,.45)}
.v3-zoom{overflow:hidden}
.v3-zoom img{transition:transform .9s var(--ease)}
.v3-zoom:hover img,.v3-card:hover .v3-zoom img{transform:scale(1.04)}
.v3-chip{display:inline-block;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-green-deep);background:#E6F4EF;border-radius:2px;padding:3px 8px;align-self:flex-start}

/* --- 1. Carrousel --------------------------------------------------------- */
.v3-hero{position:relative;background:var(--c-ink);color:#fff;overflow:hidden;isolation:isolate}
.v3-hero__slide{position:relative;min-height:clamp(620px,86vh,780px);display:none}
.v3-hero__slide.is-active{display:block}
.v3-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-hero__slide.is-active .v3-hero__media{animation:v3Settle 9s var(--ease) both}
.v3-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,31,.96) 0%,rgba(8,19,31,.82) 42%,rgba(8,19,31,.22) 100%)}
.v3-hero__scrim::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,rgba(8,19,31,.9),rgba(8,19,31,0))}
.v3-hero__in{position:relative;max-width:1280px;margin:0 auto;padding:clamp(7rem,4rem + 6vw,9rem) var(--pad-x) 13.5rem;display:flex;flex-direction:column;gap:1.6rem}
.v3-hero__slide.is-active .v3-hero__in>*{animation:v3Rise .8s var(--ease) both}
.v3-hero__slide.is-active .v3-hero__in>*:nth-child(2){animation-delay:.06s}
.v3-hero__slide.is-active .v3-hero__in>*:nth-child(3){animation-delay:.12s}
.v3-hero__slide.is-active .v3-hero__in>*:nth-child(4){animation-delay:.18s}
.v3-hero .v3-eyebrow{color:var(--c-mint)}
.v3-hero__t{margin:0;color:#fff;max-width:16ch;font-family:var(--font-display);font-weight:600;font-size:clamp(2.5rem,1.2rem + 4.6vw,4.75rem);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.v3-hero__p{margin:0;max-width:54ch;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.55;color:#D6E2E8}
.v3-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:.4rem}
.v3-hero__bar{position:absolute;left:0;right:0;bottom:0;z-index:2}
.v3-hero__bar-in{max-width:1280px;margin:0 auto;padding:1.5rem var(--pad-x) 1.75rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-end}
.v3-hero__tabs{flex:999 1 560px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:.5rem 1.25rem;margin:0;padding:0;list-style:none}
.v3-hero__tab{width:100%;background:none;border:0;padding:.6rem 0;min-height:44px;cursor:pointer;display:flex;flex-direction:column;gap:.6rem;text-align:left;color:var(--c-grey-soft);font-family:var(--font-display);font-weight:500;font-size:.875rem;transition:color var(--t) var(--ease)}
.v3-hero__tab:hover,.v3-hero__tab.is-active{color:#fff}
.v3-hero__tab b{font-family:var(--font-mono);font-weight:500;font-size:.75rem;margin-right:.4em}
.v3-hero__track{display:block;width:100%;height:2px;background:rgba(255,255,255,.22);overflow:hidden}
.v3-hero__track i{display:block;height:100%;width:0;background:var(--c-mint)}
.v3-hero__tab.is-active.is-done .v3-hero__track i,.v3-hero.is-paused .v3-hero__tab.is-active .v3-hero__track i{width:100%;transition:none}
.v3-hero__ctrl{display:flex;gap:8px;align-items:center}
.v3-hero__count{font-family:var(--font-mono);font-size:.8125rem;color:#C9D5DC;margin-right:6px;min-width:4.5em;text-align:right}
.v3-hero__btn{width:48px;height:48px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.35);background:rgba(8,19,31,.45);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}
.v3-hero__btn:hover{background:rgba(255,255,255,.12);border-color:#fff}
.v3-hero__btn svg{width:20px;height:20px}
.v3-hero .i-play{display:none}
.v3-hero.is-paused .i-play{display:block}
.v3-hero.is-paused .i-pause{display:none}

/* --- 2. Repères ------------------------------------------------------------ */
.v3-stats{border-bottom:1px solid var(--c-line)}
.v3-stats ul{list-style:none;margin:0 auto;max-width:1280px;padding:0 var(--pad-x);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.v3-stats li{display:flex;gap:1rem;align-items:baseline;padding:2rem 1.5rem 2rem 0;border-right:1px solid var(--c-line)}
.v3-stats li+li{padding-left:1.5rem}
.v3-stats li:last-child{border-right:0}
.v3-stats b{font-family:var(--font-display);font-weight:600;font-size:2.75rem;line-height:1;letter-spacing:-.03em;color:var(--c-green-deep)}
.v3-stats span{font-size:.9375rem;color:var(--c-grey)}

/* --- Bandes de logos défilants -------------------------------------------- */
.v3-logos{padding:3.5rem 0 1.5rem}
.v3-logos__h{margin:0 auto 1.5rem;max-width:1280px;padding:0 var(--pad-x);font-family:var(--font-mono);font-weight:500;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-grey)}
.v3-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.v3-marquee ul{list-style:none;margin:0;padding:0 16px 0 0;display:flex;gap:16px;width:max-content;animation:v3Marquee 60s linear infinite}
.v3-marquee--rev ul{animation-direction:reverse;animation-duration:48s}
.v3-marquee--slow ul{animation-duration:75s}
.v3-marquee:hover ul,.v3-marquee:focus-within ul{animation-play-state:paused}
.v3-marquee li{flex-shrink:0;width:176px;height:88px;padding:14px 20px;box-sizing:border-box;border:1px solid #E3ECE8;border-radius:var(--radius-lg);background:#fff;display:flex;align-items:center;justify-content:center}
.v3-marquee img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter var(--t) var(--ease),opacity var(--t) var(--ease)}
.v3-marquee li:hover img{filter:none;opacity:1}

/* --- 3. Présentation ------------------------------------------------------- */
.v3-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:2.5rem 5rem;align-items:start}
.v3-intro__t{display:flex;flex-direction:column;gap:1rem}
.v3-intro__p{display:flex;flex-direction:column;gap:1.1rem;font-size:1.0625rem;color:#33434F;max-width:64ch}
.v3-intro__p p{margin:0}
.v3-intro__p strong{color:var(--c-ink)}
.v3-founder{margin:1rem 0 0;display:flex;gap:1.1rem;align-items:center;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:14px;max-width:460px}
.v3-founder img{width:96px;height:120px;object-fit:cover;object-position:top;border-radius:var(--radius);flex-shrink:0}
.v3-founder figcaption{display:flex;flex-direction:column;gap:2px}
.v3-founder b{font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--c-ink)}
.v3-founder span{font-size:.875rem;color:var(--c-grey)}

/* --- 4. Secteurs ----------------------------------------------------------- */
.v3-sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:24px}
.v3-sector{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--c-ink)}
.v3-sector>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-sector::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,19,31,.1) 0%,rgba(8,19,31,.55) 40%,rgba(8,19,31,.96) 100%)}
.v3-sector__in{position:relative;z-index:2;padding:2.25rem;display:flex;flex-direction:column;gap:1rem}
.v3-sector .v3-eyebrow{color:var(--c-mint);font-size:.75rem}
.v3-sector h3{margin:0;color:#fff;font-family:var(--font-display);font-weight:600;font-size:2.125rem;line-height:1.1;letter-spacing:-.02em}
.v3-sector__claim{margin:0;font-size:1.125rem;color:#D6E2E8}
.v3-sector ul{margin:.25rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.v3-sector li{border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:5px 12px;font-size:.875rem}
.v3-sector__for{margin:.25rem 0 0;font-size:.875rem;color:#C9D5DC}
.v3-sector__links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.4rem}
.v3-sector__links a{color:#fff;font-family:var(--font-display);font-weight:600;text-decoration:none}
.v3-sector__links a:first-child{color:var(--c-mint)}
.v3-sector__links a:hover{text-decoration:underline;text-underline-offset:3px}

/* --- 5. Services : deux pôles ----------------------------------------------- */
.v3-pole{border-radius:var(--radius-lg);padding:24px;display:flex;flex-wrap:wrap;gap:24px;background:var(--c-surface)}
.v3-pole+.v3-pole{margin-top:24px}
.v3-pole--ink{background:var(--c-ink);color:#fff}
.v3-pole__side{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:1.1rem;padding:12px}
.v3-pole__img{border-radius:var(--radius);aspect-ratio:4/3}
.v3-pole__img img{width:100%;height:100%;object-fit:cover;display:block}
.v3-pole h3{margin:0;color:inherit;font-family:var(--font-display);font-weight:600;font-size:2rem;line-height:1.1;letter-spacing:-.02em}
.v3-pole__side p:not(.v3-eyebrow){margin:0;font-size:1.0625rem;color:var(--c-grey)}
.v3-pole--ink .v3-pole__side p:not(.v3-eyebrow){color:#C9D5DC}
.v3-pole--ink .v3-eyebrow{color:var(--c-mint)}
.v3-pole__side .v3-btn{margin-top:auto;align-self:flex-start}
.v3-pole__main{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:12px}
.v3-pole__sub{margin:8px 0 0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-grey-soft)}
.v3-svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px}
.v3-svc a,.v3-svc div{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--radius-lg);border:1px solid var(--c-line);background:#fff;color:var(--c-ink);text-decoration:none}
.v3-svc a:hover{border-color:var(--c-green)}
.v3-svc i{font-style:normal;font-family:var(--font-mono);font-size:.75rem;color:var(--c-green-deep)}
.v3-svc h4{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.125rem;line-height:1.3}
.v3-svc p{margin:0;font-size:.875rem;color:var(--c-grey)}
.v3-pole--ink .v3-svc a,.v3-pole--ink .v3-svc div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#fff}
.v3-pole--ink .v3-svc a:hover{border-color:var(--c-mint);background:rgba(255,255,255,.08)}
.v3-pole--ink .v3-svc i{color:var(--c-mint)}
.v3-pole--ink .v3-svc p{color:#C9D5DC}
.v3-physical{display:flex;flex-wrap:wrap;gap:16px;background:rgba(0,212,160,.08);border:1px solid rgba(0,212,160,.35);border-radius:var(--radius-lg);padding:22px}
.v3-physical__t{flex:1 1 280px;display:flex;flex-direction:column;gap:8px}
.v3-physical h4{margin:0;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.25rem}
.v3-physical p{margin:0;font-size:.875rem;color:#C9D5DC}
.v3-physical figure{flex:1 1 240px;margin:0;border-radius:var(--radius);aspect-ratio:4/3}
.v3-physical figure img{width:100%;height:100%;object-fit:cover;display:block}

/* --- 6. Technologies --------------------------------------------------------- */
.v3-filter{display:flex;flex-wrap:wrap;gap:6px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:5px}
.v3-filter button{border:0;border-radius:var(--radius);padding:10px 18px;min-height:44px;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:.875rem;background:transparent;color:#33434F;transition:background var(--t) var(--ease),color var(--t) var(--ease)}
.v3-filter button[aria-pressed="true"]{background:var(--c-ink);color:#fff}
.v3-filter button:not([aria-pressed="true"]):hover{background:#fff}
.v3-tech__count{margin:-1.5rem 0 1.25rem;font-family:var(--font-mono);font-size:.8125rem;color:var(--c-grey)}
.v3-tech{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px}
.v3-tech li[hidden]{display:none}
.v3-tech a{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--c-line);border-radius:var(--radius-lg);background:#fff;color:var(--c-ink);text-decoration:none}
.v3-tech a:hover{border-color:var(--c-green)}
.v3-tech__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v3-tech__n{font-family:var(--font-mono);font-size:.75rem;color:var(--c-grey-soft)}
.v3-tech h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.25}
.v3-tech p{margin:0;font-size:.9375rem;color:var(--c-grey)}
.v3-tech__foot{margin-top:auto;padding-top:12px;border-top:1px solid #EDF3F0;display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;font-weight:600}
.v3-tech__foot em{font-style:normal;color:var(--c-green-deep);font-family:var(--font-display)}

/* --- 7. Méthode -------------------------------------------------------------- */
.v3-steps{list-style:none;margin:0 0 3.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.v3-steps li{border-top:2px solid var(--c-mint);padding-top:1.5rem;display:flex;flex-direction:column;gap:.6rem}
.v3-steps li:nth-child(2){border-color:rgba(0,212,160,.6)}
.v3-steps li:nth-child(3){border-color:rgba(0,212,160,.4)}
.v3-steps li:nth-child(4){border-color:rgba(0,212,160,.25)}
.v3-steps span{font-family:var(--font-mono);font-size:.8125rem;color:var(--c-mint)}
.v3-steps h3{margin:0;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.5rem}
.v3-steps p{margin:0;color:#C9D5DC;font-size:.9375rem}
.v3-method{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:24px}
.v3-method__img{position:relative;border-radius:var(--radius-lg);min-height:280px}
.v3-method__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-method__box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1.1rem}
.v3-method__box h3{margin:0;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.375rem}
.v3-method__box ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px 24px;font-size:.9375rem;color:#D6E2E8}
.v3-method__box li{border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.v3-method__box li a{color:#fff;font-weight:600;text-decoration:none;display:block}
.v3-method__box li a:hover{color:var(--c-mint)}
.v3-method__box .v3-btn{margin-top:auto;align-self:flex-start}

/* --- 8. Réalisations ---------------------------------------------------------- */
.v3-case{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;color:var(--c-ink);text-decoration:none;margin-bottom:24px}
.v3-case__img{position:relative;min-height:360px}
.v3-case__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-case__t{padding:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.v3-case h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.875rem;line-height:1.15;letter-spacing:-.02em}
.v3-case dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:1rem 1.5rem;font-size:.9375rem}
.v3-case dt{font-family:var(--font-mono);font-size:.75rem;color:var(--c-grey);text-transform:uppercase;letter-spacing:.1em}
.v3-case dd{margin:4px 0 0}
.v3-case__kpi{margin:auto 0 0;display:flex;align-items:baseline;gap:12px;padding-top:1.25rem;border-top:1px solid var(--c-line)}
.v3-case__kpi b{font-family:var(--font-display);font-weight:600;font-size:3.5rem;line-height:1;letter-spacing:-.03em;color:var(--c-green-deep)}
.v3-case__kpi span{color:var(--c-grey)}
.v3-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px}
.v3-cases a{border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;background:#fff;color:var(--c-ink);text-decoration:none}
.v3-cases .v3-zoom{height:200px}
.v3-cases .v3-zoom img{width:100%;height:100%;object-fit:cover;display:block}
.v3-cases__t{padding:24px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.v3-cases h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.25}
.v3-cases p{margin:0;font-size:.9375rem;color:var(--c-grey)}
.v3-cases__kpi{margin:auto 0 0!important;padding-top:12px;display:flex;align-items:baseline;gap:10px}
.v3-cases__kpi b{font-family:var(--font-display);font-weight:600;font-size:2.25rem;line-height:1;color:var(--c-green-deep)}

/* --- 9. Academy ------------------------------------------------------------- */
.v3-acad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:3rem 4.5rem;align-items:center}
.v3-acad__t{display:flex;flex-direction:column;gap:1.25rem}
.v3-acad__logo{width:260px;height:auto;display:block}
.v3-acad__paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.v3-acad__paths a{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:20px;text-decoration:none;color:var(--c-ink);display:flex;flex-direction:column;gap:6px}
.v3-acad__paths a:hover{border-color:var(--c-teal)}
.v3-acad__paths small{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-teal-deep)}
.v3-acad__paths b{font-family:var(--font-display);font-weight:600;font-size:1.125rem}
.v3-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.v3-tags li{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:6px 12px;font-size:.875rem}
.v3-acad__img{position:relative;border-radius:var(--radius-lg);min-height:520px}
.v3-acad__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* --- 10. Réalité augmentée -------------------------------------------------- */
.v3-ar{border-radius:var(--radius-lg);overflow:hidden;background:var(--c-ink);color:#fff;padding:clamp(2rem,1rem + 3vw,3.5rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:2rem 4rem;align-items:center;position:relative}
.v3-ar::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(0,212,160,.25);box-shadow:0 0 0 60px rgba(0,212,160,.04),0 0 0 120px rgba(0,212,160,.025);pointer-events:none}
.v3-ar__t{display:flex;flex-direction:column;gap:1.25rem;position:relative;z-index:1}
.v3-ar .v3-eyebrow{color:var(--c-mint)}
.v3-ar p:not(.v3-eyebrow){margin:0;color:#C9D5DC;font-size:1.0625rem;max-width:52ch}
.v3-ar ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative;z-index:1}
.v3-ar li{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.v3-ar li b{font-family:var(--font-display);font-weight:600;font-size:1.0625rem}
.v3-ar li span{font-size:.875rem;color:#C9D5DC}

/* --- 11. Implantations ------------------------------------------------------- */
.v3-sites{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.v3-sites li{border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:4px}
.v3-sites li:first-child{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.v3-sites small{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-green-deep)}
.v3-sites li:first-child small{color:var(--c-mint)}
.v3-sites b{font-family:var(--font-display);font-weight:600;font-size:1.5rem}
.v3-eco__h{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:baseline;margin:2rem 0 1.25rem;padding-top:1.75rem;border-top:1px solid var(--c-line)}
.v3-eco__h h3{margin:0;font-family:var(--font-mono);font-weight:500;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-grey)}
.v3-eco__h span{font-size:.875rem;color:var(--c-grey)}

/* --- 12. Insights ------------------------------------------------------------- */
.v3-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.v3-posts article{background:#fff;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;position:relative}
.v3-posts .v3-zoom{aspect-ratio:16/9}
.v3-posts .v3-zoom img{width:100%;height:100%;object-fit:cover;display:block}
.v3-posts__t{padding:24px;display:flex;flex-direction:column;gap:10px}
.v3-posts time{font-family:var(--font-mono);font-size:.75rem;color:var(--c-green-deep);letter-spacing:.08em;text-transform:uppercase}
.v3-posts h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.3}
.v3-posts h3 a{color:var(--c-ink);text-decoration:none}
.v3-posts h3 a::after{content:"";position:absolute;inset:0}
.v3-posts h3 a:hover{color:var(--c-green-deep)}

/* --- 13. FAQ ------------------------------------------------------------------ */
.v3-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:2.5rem 5rem;align-items:start}
.v3-faq__t{display:flex;flex-direction:column;gap:1rem}
.v3-faq__l{border-top:1px solid var(--c-line)}
.v3-faq details{border-bottom:1px solid var(--c-line)}
.v3-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;min-height:44px}
.v3-faq summary::-webkit-details-marker{display:none}
.v3-faq summary h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.125rem;line-height:1.35}
.v3-faq summary:hover h3{color:var(--c-green-deep)}
.v3-faq__plus{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--c-line);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--c-green-deep);transition:transform var(--t) var(--ease),background var(--t) var(--ease)}
.v3-faq details[open] .v3-faq__plus{transform:rotate(45deg);background:var(--c-surface)}
.v3-faq details p{margin:0 0 1.35rem;color:var(--c-grey);max-width:64ch}

/* --- 14. Contact --------------------------------------------------------------- */
.v3-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:3.5rem 5rem}
.v3-contact__t{display:flex;flex-direction:column;gap:1.1rem}
.v3-contact__t .v3-h2{font-size:clamp(2.125rem,1.3rem + 2.6vw,3.375rem);line-height:1.04}
.v3-contact__direct{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem;font-family:var(--font-display);font-size:1.25rem;font-weight:500}
.v3-contact__direct a{color:#fff;text-decoration:none}
.v3-contact__direct a+a{color:var(--c-mint)}
.v3-contact__direct a:hover{text-decoration:underline;text-underline-offset:4px}
.v3-form{background:#fff;color:var(--c-ink);border-radius:var(--radius-lg);padding:clamp(1.5rem,1rem + 1.5vw,2.25rem);display:flex;flex-direction:column;gap:1.1rem}
.v3-form fieldset{border:0;margin:0;padding:0}
.v3-form legend{font-family:var(--font-display);font-weight:600;margin-bottom:.6rem;padding:0}
.v3-form__choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}
.v3-form__choice label{position:relative;display:flex;gap:10px;align-items:center;min-height:50px;border:1px solid var(--c-line);border-radius:var(--radius);padding:0 16px;font-weight:600;cursor:pointer;transition:border-color var(--t) var(--ease),background var(--t) var(--ease)}
.v3-form__choice label:has(input:checked){border-color:var(--c-green-deep);background:#E6F4EF}
.v3-form__choice input{accent-color:var(--c-green-deep);width:18px;height:18px}
.v3-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px}
.v3-form label.f{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600}
.v3-form input[type=text],.v3-form input[type=email],.v3-form select,.v3-form textarea{font:inherit;font-weight:400;font-size:1rem;padding:12px 14px;border-radius:var(--radius);border:1px solid #C2D2CB;background:#fff;color:var(--c-ink);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.v3-form input:focus,.v3-form select:focus,.v3-form textarea:focus{outline:none;border-color:var(--c-green-deep);box-shadow:0 0 0 3px rgba(0,168,120,.18)}
.v3-form textarea{min-height:120px;resize:vertical}
.v3-form__consent{display:flex;gap:10px;align-items:flex-start;font-size:.8125rem;color:var(--c-grey)}
.v3-form__consent input{margin-top:3px;accent-color:var(--c-green-deep);width:18px;height:18px;flex-shrink:0}
.v3-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.v3-form .v3-btn{align-self:flex-start}

/* --- Animations ----------------------------------------------------------------- */
@keyframes v3Rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes v3Settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes v3Marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[data-v3-reveal]{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-v3-reveal].is-in{opacity:1;transform:none}
html:not(.js) [data-v3-reveal]{opacity:1;transform:none}

@media (max-width: 640px){
  .v3-stats li{border-right:0;border-bottom:1px solid var(--c-line);padding:1.25rem 0!important}
  .v3-stats li:last-child{border-bottom:0}
  .v3-hero__in{padding-bottom:15rem}
  .v3-hero__ctrl{width:100%;justify-content:flex-end}
  .v3-sector{min-height:520px}
  .v3-sector__in{padding:1.5rem}
  .v3-case__t{padding:1.5rem}
}
@media (prefers-reduced-motion: reduce){
  .v3-hero__slide.is-active .v3-hero__media,.v3-hero__slide.is-active .v3-hero__in>*{animation:none}
  .v3-marquee ul{animation:none;flex-wrap:wrap;width:auto;padding:0 var(--pad-x)}
  .v3-marquee .is-dup{display:none}
  .v3-marquee{-webkit-mask-image:none;mask-image:none}
  [data-v3-reveal]{opacity:1;transform:none;transition:none}
  .v3-card,.v3-card:hover{transform:none}
}

.v3-sec--ink .v3-h2,.v3-ar .v3-h2,.v3-pole--ink h4{color:#fff}
.mobile__group a.mobile__sum{text-decoration:none}

/* =============================================================================
   Page DSSF Academy (v3.1)
   ========================================================================== */
.ac-hero .v3-hero__slide{min-height:clamp(560px,78vh,720px)}
.ac-hero__in{padding-bottom:6rem!important}
.ac-hero__logo{width:240px;height:auto;display:block;margin-bottom:.25rem}
.ac .v3-hero .v3-eyebrow{color:#5FE0D6}
.ac .v3-btn--mint{background:#33CFC6;color:#05201E}
.ac .v3-btn--mint:hover{background:#5FE0D6;color:#05201E;box-shadow:0 8px 24px rgba(0,161,154,.35)}
.ac .v3-sec--ink{--accent-text:#5FE0D6}
.ac .v3-steps li{border-color:#33CFC6}
.ac .v3-steps span{color:#5FE0D6}
.ac .v3-stats b{color:var(--c-teal-deep)}
.ac .v3-link{color:var(--c-teal-deep)}
.ac .v3-sec--ink .v3-link{color:#5FE0D6}
.ac-who{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.ac-who li{border:1px solid var(--c-line);border-left:0;border-top:3px solid var(--c-teal);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:6px;background:#fff}
.ac-who b{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;color:var(--c-ink)}
.ac-who span{font-size:.9375rem;color:var(--c-grey)}
.ac-doms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px}
.ac-dom{background:#fff;border:1px solid var(--c-line);border-top:4px solid var(--dc);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:10px}
.ac-dom__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ac-dom__code{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 8px;border-radius:var(--radius);background:var(--dc);color:#fff;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.06em;align-self:flex-start}
.ac-dom__n{font-size:.875rem;color:var(--c-grey)}
.ac-dom__n b{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--dc);letter-spacing:-.02em}
.ac-dom h3{margin:4px 0 0;font-family:var(--font-display);font-weight:600;font-size:1.5rem;line-height:1.15;color:var(--c-ink)}
.ac-dom__sub{margin:0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dc)}
.ac-dom__tag{margin:0;color:#33434F}
.ac-dom__lbl{margin:6px 0 0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-grey)}
.ac-dom__fam{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.9375rem}
.ac-dom__fam li::before{content:"— ";color:var(--dc)}
.ac-dom__tech{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.ac-dom__tech li{font-size:.75rem;border:1px solid var(--c-line);border-radius:2px;padding:3px 8px;color:#33434F}
.ac-dom__jobs{margin:0;font-size:.875rem;color:var(--c-grey)}
.ac-dom .v3-link{margin-top:auto;padding-top:8px}
.ac-sub{margin:3rem 0 1rem;font-family:var(--font-display);font-weight:600;font-size:1.375rem}
.ac-table{overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--radius-lg);background:#fff}
.ac-table table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:640px}
.ac-table th,.ac-table td{text-align:left;padding:14px 18px;border-bottom:1px solid #EDF3F0;vertical-align:top}
.ac-table thead th{font-family:var(--font-mono);font-weight:500;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-grey);background:var(--c-acad-surface)}
.ac-table tbody th{font-weight:600;font-family:var(--font-display)}
.ac-table tr:last-child td,.ac-table tr:last-child th{border-bottom:0}
.ac-code{font-family:var(--font-mono);font-size:.8125rem;color:var(--c-teal-deep);white-space:nowrap}
.ac-note{margin:1rem 0 0;font-size:.8125rem;color:var(--c-grey)}
.ac-paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:16px}
.ac-paths li{border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:10px;background:#fff}
.ac-paths h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.1875rem;line-height:1.25;color:var(--c-ink)}
.ac-paths p{margin:0;font-size:.9375rem;color:var(--c-grey)}
.ac-paths dl{margin:auto 0 0;padding-top:12px;border-top:1px solid #EDF3F0;display:grid;grid-template-columns:1.6fr 1fr .8fr;gap:8px;font-size:.8125rem}
.ac-paths dt{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-grey)}
.ac-paths dd{margin:2px 0 0;font-weight:600}
.ac-ldbm h3{font-size:2rem!important;letter-spacing:-.02em}
.ac-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ac-checks li{position:relative;padding-left:30px;font-family:var(--font-display);font-weight:500;font-size:1.0625rem;color:#fff}
.ac-checks li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:9px;border-left:2px solid #5FE0D6;border-bottom:2px solid #5FE0D6;transform:rotate(-45deg)}
.ac-formats{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.ac-formats li{background:var(--c-ink);color:#fff;border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.ac-formats b{font-family:var(--font-display);font-weight:600;font-size:1.25rem}
.ac-formats span{font-size:.9375rem;color:#C9D5DC}
.ac-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.ac-track{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:10px}
.ac-track h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.375rem;color:var(--c-ink)}
.ac-track p{margin:0;color:var(--c-grey)}
.ac-track ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:8px;border-top:1px solid #EDF3F0;padding-top:12px}
.ac-track li{position:relative;padding-left:22px;font-size:.9375rem}
.ac-track li::before{content:"";position:absolute;left:2px;top:.45em;width:10px;height:6px;border-left:2px solid var(--c-teal);border-bottom:2px solid var(--c-teal);transform:rotate(-45deg)}
.ac-levels{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.ac-levels h3{margin:0;font-family:var(--font-mono);font-weight:500;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-grey)}
.ac-levels ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ac-levels li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:6px 14px 6px 6px;font-weight:600;font-size:.9375rem}
.ac-levels i{font-style:normal;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:2px;background:var(--c-teal-deep);color:#fff;font-family:var(--font-mono);font-size:.75rem}
.ac-process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:0;border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden}
.ac-process li{padding:24px;border-right:1px solid var(--c-line);display:flex;flex-direction:column;gap:8px;background:#fff}
.ac-process li:last-child{border-right:0}
.ac-process span{font-family:var(--font-mono);font-size:.75rem;color:var(--c-teal-deep)}
.ac-process h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--c-ink)}
.ac-process p{margin:0;font-size:.9375rem;color:var(--c-grey)}
.ac-docs{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;font-size:.9375rem;color:var(--c-grey)}
.ac-docs p{margin:0;max-width:80ch}
.ac-docs b{color:var(--c-teal-deep);font-family:var(--font-display)}
.ac-funds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px}
.ac-fund{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:10px}
.ac-fund h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.1875rem;line-height:1.25;color:var(--c-ink)}
.ac-fund p{margin:0;font-size:.9375rem;color:var(--c-grey)}
.ac-fund .v3-link{margin-top:auto;padding-top:6px}
.ac-campus{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}
.ac-campus li{border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:6px}
.ac-campus small{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-teal-deep)}
.ac-campus b{font-family:var(--font-display);font-weight:600;font-size:1.5rem}
.ac-campus span{font-size:.9375rem;color:var(--c-grey)}
.ac-cta__in{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;max-width:52rem}
@media (max-width:640px){.ac-process li{border-right:0;border-bottom:1px solid var(--c-line)}.ac-paths dl{grid-template-columns:1fr 1fr}}

/* --- Bandeau de consentement (mesure d'audience) ------------------------- */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:880px;margin:0 auto;
  background:var(--c-ink);color:#fff;border:1px solid var(--c-ink-3);border-radius:6px;
  box-shadow:0 12px 32px rgba(13,27,42,.35)}
.consent__in{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px;flex-wrap:wrap}
.consent__txt{margin:0;flex:1 1 420px;font-size:15px;line-height:1.5;color:#fff}
.consent__txt strong{color:#fff;margin-right:.25em}
.consent__txt a{color:#7FE0C2;text-decoration:underline}
.consent__btns{display:flex;gap:8px;flex:0 0 auto}
.consent__btn{font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:0 20px;border-radius:4px;cursor:pointer;
  border:1px solid #fff;background:transparent;color:#fff}
.consent__btn[data-c="granted"]{background:var(--c-green);border-color:var(--c-green);color:var(--c-ink)}
.consent__btn:focus-visible{outline:2px solid #7FE0C2;outline-offset:2px}
@media (max-width:560px){.consent__btns{width:100%}.consent__btn{flex:1}}
.consent-open{font:inherit;font-weight:600;min-height:44px;padding:0 20px;border-radius:4px;cursor:pointer;
  border:1px solid var(--c-ink);background:transparent;color:var(--c-ink)}

/* ---------- Page À propos (.ab) ---------- */
.ab-hero .v3-hero__slide{min-height:clamp(520px,70vh,660px)}
.ab-hero__in{padding-bottom:5rem!important}
.ab-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:24px}
.ab-sec{border:1px solid var(--c-line);border-top:3px solid var(--c-green-deep);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:14px;background:#fff}
.ab-sec h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.875rem;line-height:1.1;letter-spacing:-.02em;color:var(--c-ink)}
.ab-sec__claim{margin:0;font-size:1.125rem;color:var(--c-ink)}
.ab-sec__for{margin:0;font-size:.9375rem;color:var(--c-grey)}
.ab-sec .v3-link{margin-top:auto}
.ab-steps{margin-bottom:0}
.ab-time{border-top:1px solid var(--c-line);padding-top:2rem}
.ab-time h3{margin:0 0 1.25rem;font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--c-ink)}
.ab-time ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}
.ab-time li{display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--c-green-deep);padding:4px 0 4px 16px}
.ab-time b{font-family:var(--font-mono);font-size:.875rem;color:var(--c-green-deep)}
.ab-time span{font-size:.9375rem;color:var(--c-ink)}
.ab-links{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.ab-links .v3-zoom{height:150px}
.ab-links h3{font-size:1.125rem}
.ab-cta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.ab-cta .v3-h2{max-width:24ch}
.ab-cta__b{display:flex;flex-wrap:wrap;gap:12px}
.ab .v3-sector::before{background:linear-gradient(180deg,rgba(8,19,31,.45) 0%,rgba(8,19,31,.78) 38%,rgba(8,19,31,.96) 100%)}

/* Bouton WhatsApp flottant (ajout plan de monétisation, 22/10/2026) */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;
  padding:12px 16px;border-radius:999px;background:#25D366;color:#fff;font-weight:600;font-size:.9375rem;
  text-decoration:none;box-shadow:0 6px 20px rgba(13,27,42,.25)}
.wa-float:hover,.wa-float:focus-visible{background:#1ebe5b;color:#fff}
.wa-float svg{width:22px;height:22px;flex:none}
@media (max-width:600px){.wa-float span{display:none}.wa-float{padding:14px}}
@media print{.wa-float{display:none}}
