/* ============================================================
   SansTrace — Système de design
   Blanc cassé chaud · encre · bleu nuit · bleu électrique en micro-accent
   Grille 8 px · sections 120 px · aucune ressource externe
   ============================================================ */

/* Polices (10/10, v5) : Schibsted Grotesk (titres et texte, proche de la Basel Grotesk d'Aura) + Newsreader italique (le mot d'accent). OFL 1.1, Fontsource. */
/* chiffres (10/10, v6) : IBM Plex Sans, chiffres ouverts et très lisibles — OFL 1.1, Fontsource */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url("../../fonts/ibm-plex-sans-latin-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url("../../fonts/ibm-plex-sans-latin-ext-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url("../../fonts/newsreader-latin-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url("../../fonts/newsreader-latin-ext-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}



:root{
  --bg:#FFFFFF;
  --glacier:#F2F6FF;
  --surface:#FFFFFF;
  --ink:#0B1B3A;
  --muted:#48587A;
  --muted-2:#8296B8;
  --navy:#071A3D;
  --navy-2:#0F2C5E;
  --brand:#2563FF;
  --sky:#60A5FA;
  --sky-soft:#93C5FD;
  --cyan:#22D3EE;
  --accent:#2563FF;
  --accent-soft:#E6EEFF;
  --tint:#F2F6FF;
  --grad:linear-gradient(135deg,#071A3D 0%,#1E40AF 42%,#2563FF 72%,#60A5FA 100%);
  --line:rgba(37,99,255,.10);
  --line-strong:rgba(37,99,255,.22);
  --ok:#0E7C66;
  --ok-soft:#DFF5EF;
  --warn:#8A5A00;
  --warn-soft:#FDF3DF;
  --alert:#C32B22;
  --alert-soft:#FCEBE9;
  --radius:20px;
  --radius-sm:12px;
  --shadow:0 1px 2px rgba(7,26,61,.04),0 12px 32px -16px rgba(37,99,255,.22);
  --shadow-lg:0 2px 4px rgba(7,26,61,.04),0 28px 60px -24px rgba(37,99,255,.34);
  --font-display:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Newsreader",Georgia,serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --container:1200px;
  --gutter:clamp(20px,4vw,48px);
  --section:120px;
  --navh:72px;
  /* alias utilisés dans les pages (ajoutés au nettoyage du 10/10) */
  --blue:var(--brand);--blue-deep:#1D4ED8;--blue-soft:var(--accent-soft);--blue-mist:var(--glacier);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:18px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.03em;line-height:1.08;color:var(--ink);text-wrap:balance}
ul{margin:0;padding:0;list-style:none}
::selection{background:#CFE0FF;color:var(--ink)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--brand);color:#fff;padding:8px 16px;border-radius:999px;transition:top .2s}
.skip-link:focus{top:16px}

/* ---------- Typographie ---------- */
.h1{font-size:clamp(2.5rem,4.45vw,4rem);font-weight:500;letter-spacing:-.03em;line-height:1.04}
.h2{font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.h3{font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.h4{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.lead{font-size:1.125rem;line-height:1.6;color:var(--muted);max-width:58ch}
.lead strong,.card p strong{color:var(--ink);font-weight:600}
.muted{color:var(--muted)}
.small{font-size:.9375rem}
.xs{font-size:.8125rem}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--muted);margin-bottom:16px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.eyebrow--light{color:var(--sky-soft)}
.center{text-align:center}
.center .lead{margin-inline:auto}
.center .eyebrow{justify-content:center}
.accent{color:var(--accent)}

/* ---------- Mise en page ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:800px}
.section{padding-block:var(--section)}
.section--tight{padding-block:80px}
.section--white{background:var(--surface)}
.section--tint,.section--glacier{background:var(--glacier)}
.section--ink{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#C8D8F5}
.section--ink::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(42% 60% at 12% 0%,rgba(37,99,255,.45),transparent 70%),
  radial-gradient(38% 55% at 88% 100%,rgba(34,211,238,.22),transparent 72%)}
.section--ink h2,.section--ink h3,.section--ink .h2{color:#fff}
.section--ink .lead{color:rgba(255,255,255,.78)}
.section-head{max-width:720px;margin-bottom:64px}
.section-head .lead{margin-top:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding-block:80px}.section-head{margin-bottom:40px}}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:48px}.mt-6{margin-top:64px}
.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.between{justify-content:space-between}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:12px;font-weight:500;font-size:.9375rem;letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background-color .2s,color .2s,box-shadow .3s,border-color .2s;white-space:nowrap}
.btn svg{width:16px;height:16px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(2px)}
.btn:active{transform:translateY(1px)}
.btn--primary,.btn--accent{background:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(7,26,61,.12),0 10px 24px -12px rgba(37,99,255,.65),inset 0 1px 0 rgba(255,255,255,.18)}
.btn--primary:hover,.btn--accent:hover{background:#1D4ED8;box-shadow:0 1px 2px rgba(7,26,61,.12),0 14px 30px -12px rgba(37,99,255,.8)}
.btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand);background:#fff}
.btn--white{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(7,26,61,.1),0 14px 32px -14px rgba(7,26,61,.5)}
.btn--white:hover{background:#EDF3FF}
.btn--glass{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn--glass:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}
.btn--soft{background:var(--accent-soft);color:var(--brand)}
.btn--soft:hover{background:#D5E3FF}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn--danger{background:transparent;color:var(--alert);border-color:rgba(179,38,30,.3)}
.btn--danger:hover{background:var(--alert-soft);border-color:var(--alert)}
.btn--lg{height:56px;padding:0 28px;font-size:1rem}
.btn--sm{height:40px;padding:0 16px;font-size:.875rem}
.btn--block{width:100%}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn-note{font-size:.875rem;color:var(--muted)}

/* ---------- Puces / badges ---------- */
.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.8125rem;font-weight:500;color:var(--ink)}
.chip svg{width:14px;height:14px;color:var(--muted)}
.chip--ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.chip--ok svg{color:var(--ok)}
.chip--ink{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.18)}
.chip--ink svg{color:var(--sky-soft)}
.chip--soft{background:var(--accent-soft);border-color:transparent;color:var(--brand)}
.chip--warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.chip--warn svg{color:var(--warn)}
.chip--alert{background:var(--alert-soft);border-color:transparent;color:var(--alert)}
.chip--alert svg{color:var(--alert)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.code{display:inline-grid;place-items:center;min-width:36px;height:24px;padding:0 8px;border-radius:6px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);font-size:.6875rem;font-weight:600;letter-spacing:.06em}
.trust-row{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;color:var(--muted);font-size:.9375rem}
.trust{display:inline-flex;align-items:center;gap:10px}
.dot-sep{display:flex;align-items:center;gap:8px 24px;color:var(--muted);font-size:.9375rem;flex-wrap:wrap}
.dot-sep > span{display:inline-flex;align-items:center;gap:8px}
.dot-sep > span svg{width:16px;height:16px;color:var(--ok)}
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:.75rem;font-weight:600}
.pill--ok{background:var(--ok-soft);color:var(--ok)}
.pill--wait{background:var(--accent-soft);color:var(--brand)}
.pill--relance{background:var(--warn-soft);color:var(--warn)}
.pill--alert{background:var(--alert-soft);color:var(--alert)}
.pill--neutral{background:var(--tint);color:var(--muted)}

/* ---------- En-tête ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s,box-shadow .3s}
.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(37,99,255,.06),0 10px 30px -18px rgba(7,26,61,.35)}
/* Pages à héros bleu : barre transparente et texte blanc, puis blanche au défilement */
.site-header--over-hero{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header--over-hero .brand{color:#fff}
.site-header--over-hero .nav__links a{color:rgba(255,255,255,.78)}
.site-header--over-hero .nav__links a:hover,.site-header--over-hero .nav__links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12)}
.site-header--over-hero .nav__actions .btn--ghost{color:rgba(255,255,255,.82)}
.site-header--over-hero .nav__actions .btn--ghost:hover{color:#fff;background:rgba(255,255,255,.12)}
.site-header--over-hero .nav__actions .btn--primary{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(7,26,61,.18)}
.site-header--over-hero .nav__actions .btn--primary:hover{background:#EDF3FF}
.site-header--over-hero .nav__burger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.site-header--over-hero .nav__burger span,.site-header--over-hero .nav__burger span::before,.site-header--over-hero .nav__burger span::after{background:#fff}
.site-header--over-hero.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header--over-hero.is-scrolled .brand{color:var(--ink)}
.site-header--over-hero.is-scrolled .nav__links a{color:var(--muted)}
.site-header--over-hero.is-scrolled .nav__links a:hover,.site-header--over-hero.is-scrolled .nav__links a[aria-current="page"]{color:var(--ink);background:rgba(37,99,255,.07)}
.site-header--over-hero.is-scrolled .nav__actions .btn--ghost{color:var(--muted)}
.site-header--over-hero.is-scrolled .nav__actions .btn--primary{background:var(--brand);color:#fff}
.site-header--over-hero.is-scrolled .nav__burger{background:var(--surface);border-color:var(--line-strong)}
.site-header--over-hero.is-scrolled .nav__burger span,.site-header--over-hero.is-scrolled .nav__burger span::before,.site-header--over-hero.is-scrolled .nav__burger span::after{background:var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:-.03em;color:var(--ink)}
.brand span{position:relative}
.brand span::after{content:"";position:absolute;right:-9px;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.site-header--over-hero .brand span::after{background:var(--cyan)}
.site-header--over-hero.is-scrolled .brand span::after{background:var(--brand)}
.nav__links{display:flex;align-items:center;gap:4px}
.nav__links a{padding:8px 12px;border-radius:8px;font-size:.9375rem;font-weight:500;color:var(--muted);transition:color .2s,background-color .2s}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--ink);background:rgba(37,99,255,.07)}
.nav__actions{display:flex;align-items:center;gap:8px}
.nav__actions .btn--ghost{border-color:transparent;background:transparent;color:var(--muted)}
.nav__actions .btn--ghost:hover{color:var(--ink);background:rgba(37,99,255,.07)}
.nav__toggle{display:none}
.nav__burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);place-items:center;cursor:pointer}
.nav__burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:background .3s}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,top .3s}
.nav__burger span::before{top:-6px}.nav__burger span::after{top:6px}
.nav__actions .short{display:none}
@media (max-width:1060px){.nav__links a{padding:8px 10px;font-size:.875rem}}
@media (max-width:900px){
  .nav{height:64px}  .nav__burger{display:grid}
  .nav__links,.nav__actions .btn--ghost{display:none}
  .nav__links{position:absolute;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:4px;padding:16px var(--gutter) 24px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav__links a{padding:14px 16px;font-size:1.0625rem;border-radius:12px}
  .nav__toggle:checked ~ .nav__links{display:flex}
  .nav__toggle:checked ~ .nav__burger span{background:transparent}
  .nav__toggle:checked ~ .nav__burger span::before{top:0;transform:rotate(45deg)}
  .nav__toggle:checked ~ .nav__burger span::after{top:0;transform:rotate(-45deg)}
  .nav__actions .btn{height:40px;padding:0 14px;font-size:.875rem}
}
@media (max-width:420px){.nav__actions .btn .long{display:none}.nav__actions .short{display:inline}}
@media (max-width:900px){
  :root{--navh:64px}
  .site-header--over-hero .nav__links{background:#fff}
  .site-header--over-hero .nav__links a{color:var(--muted)}
  .site-header--over-hero .nav__links a:hover,.site-header--over-hero .nav__links a[aria-current="page"]{color:var(--ink);background:rgba(37,99,255,.07)}
}

/* ---------- Emplacements d'images ---------- */
.img-slot{position:relative;margin:0;border-radius:var(--radius);aspect-ratio:var(--ratio,16/10);overflow:hidden;background:var(--tint);border:1px solid var(--line);display:grid;place-items:center}
.img-slot::after{content:"";position:absolute;inset:12px;border:1px dashed rgba(37,99,255,.28);border-radius:calc(var(--radius) - 8px);pointer-events:none}
.img-slot--round,.img-slot--round::after{border-radius:50%}
.img-slot--dark{background:var(--navy-2);border-color:transparent}
.img-slot--dark::after{border-color:rgba(255,255,255,.2)}
.img-slot__label{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:16px;max-width:85%}
.img-slot__label svg{width:22px;height:22px;color:var(--muted-2)}
.img-slot__label span{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted-2)}
.img-slot__label em{font-style:normal;font-size:.8125rem;color:var(--muted);line-height:1.4}
.img-slot--dark .img-slot__label span,.img-slot--dark .img-slot__label svg{color:#AFC0D6}
.img-slot--dark .img-slot__label em{color:#D5DEE9}
.img-slot--sm .img-slot__label svg{width:18px;height:18px}
.img-slot--sm .img-slot__label span{font-size:.625rem}
.img-slot--sm .img-slot__label em{font-size:.75rem}

/* ---------- Héros ---------- */
.hero{position:relative;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(64px,8vw,120px);overflow:hidden;isolation:isolate;background:var(--grad);color:#fff}
.hero--full{margin-top:calc(var(--navh) * -1);padding-top:calc(var(--navh) + clamp(40px,5vw,72px));padding-bottom:clamp(72px,9vw,132px)}
.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(38% 46% at 18% 8%,rgba(96,165,250,.55),transparent 68%),
  radial-gradient(44% 52% at 82% 22%,rgba(34,211,238,.34),transparent 70%),
  radial-gradient(52% 58% at 60% 108%,rgba(37,99,255,.55),transparent 72%)}
.hero__bg::after{content:"";position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero__aurora{position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none;will-change:transform}
.hero__aurora--1{width:620px;height:520px;left:-12%;top:-24%;background:rgba(147,197,253,.45);animation:aurora 22s ease-in-out infinite}
.hero__aurora--2{width:520px;height:460px;right:-8%;top:4%;background:rgba(34,211,238,.3);animation:aurora 26s ease-in-out -8s infinite}
.hero__aurora--3{width:700px;height:420px;left:34%;bottom:-32%;background:rgba(37,99,255,.45);animation:aurora 30s ease-in-out -14s infinite}
@keyframes aurora{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-4%,0) scale(1.08)}}
.hero h1,.hero .h1{color:#fff}
.hero .serif{color:var(--sky-soft)}
.hero .lead{color:rgba(255,255,255,.8)}
.hero .lead strong{color:#fff}
.hero .dot-sep{color:rgba(255,255,255,.8)}
.hero .dot-sep > span svg{color:var(--sky-soft)}
.hero .trust-row{color:rgba(255,255,255,.78)}
.hero .code{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero .h1{font-size:clamp(2.25rem,4.55vw,4.25rem)}
@media (min-width:981px){.hero .lines .line{white-space:nowrap}}
.hero .dot-sep{gap:10px 28px}
.hero__visual .phone{max-width:100%}
@media (max-width:980px){.hero__grid{grid-template-columns:1fr}}
.hero__copy .h1{max-width:none}
.hero__copy .lead{margin-top:24px;max-width:50ch}
.hero__copy .btn-row{margin-top:32px}
.hero__copy .dot-sep{margin-top:24px}
.hero__copy .trust-row{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}

/* Révélation ligne par ligne */
.lines .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.lines .line > span{display:inline-block;transform:translateY(105%);opacity:0;animation:lineUp 1s var(--ease) forwards}
.lines .line:nth-child(2) > span{animation-delay:.12s}
.lines .line:nth-child(3) > span{animation-delay:.24s}
@keyframes lineUp{to{transform:translateY(0);opacity:1}}
.fade-up{opacity:0;transform:translateY(12px);animation:fadeUp .9s var(--ease) forwards}
.d1{animation-delay:.35s}.d2{animation-delay:.5s}.d3{animation-delay:.65s}.d4{animation-delay:.8s}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* Scène : un téléphone, une pile de notifications */
.hero__visual{position:relative;display:flex;justify-content:center;perspective:1400px}
.hero__visual::before{content:"";position:absolute;z-index:-1;width:120%;aspect-ratio:1;left:-10%;top:-6%;border-radius:50%;filter:blur(70px);background:radial-gradient(circle at 50% 45%,rgba(147,197,253,.5),rgba(37,99,255,.28) 42%,transparent 68%);pointer-events:none}
.hero .phone{box-shadow:0 48px 90px -28px rgba(3,12,32,.65),0 0 0 1px rgba(255,255,255,.14),inset 0 0 0 1.5px rgba(255,255,255,.16)}
.hero .phone__screen{background:#F5F8FF;color:var(--ink)}
.hero .trust-row{border-top-color:rgba(255,255,255,.2)!important}
.hero .app-stack{gap:9px}
.hero .notif--compact{padding:11px 13px}
.hero .notif__body{font-size:.8125rem;line-height:1.4}
.hero .notif{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:rgba(37,99,255,.14);box-shadow:0 1px 2px rgba(7,26,61,.04),0 10px 22px -16px rgba(7,26,61,.35)}
.hero .app-status{background:var(--navy);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.scene{position:relative;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.scene__notif{position:absolute;left:-120px;top:120px;width:360px;z-index:3}
.scene__stat{position:absolute;right:-80px;bottom:120px;z-index:3}
@media (max-width:1180px){.scene__notif{left:-60px}.scene__stat{right:-30px}}
@media (max-width:980px){
  .scene{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}
  .scene__notif,.scene__stat{position:static;width:100%;max-width:420px}
}
.float{animation:float 8s ease-in-out infinite}
.float--2{animation-duration:10s;animation-delay:-4s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Notification façon Gmail */
.notif{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.notif__icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);flex:none}
.notif__icon svg{width:20px;height:20px}
.notif__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.75rem;color:var(--muted-2)}
.notif__head strong{font-weight:600;color:var(--muted)}
.notif__app{display:flex;align-items:center;gap:6px;margin-top:4px;font-weight:600;font-size:.875rem;color:var(--ink)}
.tick{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--brand);color:#fff;flex:none}
.tick svg{width:8px;height:8px}
.notif__title{font-weight:600;font-size:.9375rem;margin-top:2px;color:var(--ink)}
.notif__body{font-size:.875rem;color:var(--muted);margin-top:2px;line-height:1.45}
.notif--enter{opacity:0;transform:translateY(-10px);animation:notifIn .8s var(--ease) .9s forwards}
@keyframes notifIn{to{opacity:1;transform:none}}
.notif--compact{padding:12px 14px;border-radius:14px;box-shadow:none;background:var(--surface)}
.notif--compact .notif__icon{width:36px;height:36px;border-radius:9px}
.notif--compact .notif__icon svg{width:18px;height:18px}

/* Mini-cartes */
.mini{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.875rem;font-weight:500}
.mini__dot{width:8px;height:8px;border-radius:50%;background:var(--ok);position:relative;flex:none}
.mini__dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--ok);opacity:0;animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.8);opacity:0}}
.mini strong{font-weight:600;letter-spacing:.04em;font-size:.75rem;color:var(--ok)}
.mini__label{display:block;font-size:.75rem;color:var(--muted);font-weight:500;line-height:1.3}
.mini__value{display:block;font-weight:600;color:var(--ink)}
.mini__icon{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);display:grid;place-items:center;color:var(--brand);flex:none}
.mini__icon svg{width:16px;height:16px}
.mini--stat{height:auto;padding:14px 18px}
.mini--stat .num{font-family:var(--font-display);font-size:1.75rem;font-weight:500;letter-spacing:-.03em;color:var(--ink);line-height:1}

/* ---------- Téléphone ---------- */
.phone{width:320px;max-width:100%;aspect-ratio:9/19.3;border-radius:48px;background:#0B1B2B;padding:10px;box-shadow:0 40px 80px -32px rgba(10,37,64,.45),inset 0 0 0 1.5px rgba(255,255,255,.12);position:relative}
.phone::before{content:"";position:absolute;inset:3px;border-radius:45px;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.phone__screen{width:100%;height:100%;border-radius:39px;background:var(--bg);overflow:hidden;position:relative;display:flex;flex-direction:column}
.phone__notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:999px;background:#0B1B2B;z-index:5}
.phone__bar{display:flex;justify-content:space-between;padding:18px 24px 0;font-size:.75rem;font-weight:600;color:var(--ink)}
.phone__body{padding:14px 16px 20px;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.phone__title{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--muted)}
.phone__title .back{color:var(--navy);font-size:1.1rem;line-height:1}
.phone--dark .phone__screen{background:linear-gradient(170deg,#1E40AF 0%,#0F2C5E 52%,#071A3D 100%)}
.lock__time{font-family:var(--font-display);font-size:3.25rem;font-weight:500;letter-spacing:-.04em;color:#fff;text-align:center;line-height:1;margin-top:40px}
.lock__date{text-align:center;color:rgba(255,255,255,.72);font-size:.8125rem;margin-top:6px;font-weight:500}
.lock__notif{margin:28px 14px 0;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);color:#fff}
.lock__notif .notif__head{color:rgba(255,255,255,.68)}
.lock__notif .notif__head strong{color:#fff}
.lock__notif .notif__title{color:#fff}
.lock__notif .notif__body{color:rgba(255,255,255,.8)}

/* Écran appli : pile de notifications */
.app-head{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 0}
.app-head strong{font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:-.02em}
.app-stack{display:flex;flex-direction:column;gap:8px}
.app-stack .notif{opacity:0;transform:translateY(8px);animation:fadeUp .7s var(--ease) forwards}
.app-stack .notif:nth-child(1){animation-delay:.6s}.app-stack .notif:nth-child(2){animation-delay:.8s}.app-stack .notif:nth-child(3){animation-delay:1s}.app-stack .notif:nth-child(4){animation-delay:1.2s}
.app-status{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--navy);color:#fff;font-size:.8125rem;font-weight:500}
.app-status .mini__dot{background:var(--cyan)}
.app-status .mini__dot::after{border-color:var(--cyan)}
.app-status strong{color:var(--cyan);font-size:.75rem;letter-spacing:.04em}

/* Écran scan */
.scan__big{font-family:var(--font-display);font-size:2.5rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.scan__big small{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:4px}
.scan__rows{display:flex;flex-direction:column;gap:8px}
.scan__row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:.8125rem}
.scan__bar{background:#DCE6FF}
.scan__row strong{font-weight:600;font-variant-numeric:tabular-nums}
.scan__bar{height:3px;border-radius:999px;background:var(--tint);overflow:hidden;margin-top:4px}
.scan__bar i{display:block;height:100%;width:var(--w,50%);background:var(--brand);border-radius:999px;transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease)}
.in .scan__bar i,.no-js .scan__bar i{transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:500;font-size:.875rem}
.link-arrow:hover{text-decoration:underline;text-underline-offset:3px}
.phone__cta{margin-top:auto;display:grid;gap:8px}
.phone__cta .btn{height:44px;font-size:.875rem}
.phone__cta .xs{text-align:center}

/* ---------- Chiffres clés ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:8px 32px 8px 0;display:flex;flex-direction:column;gap:12px;border-left:1px solid rgba(37,99,255,.16);padding-left:24px}
.stat__num{font-family:var(--font-display);font-size:3.5rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.stat__num small{font-size:.5em;font-weight:500;color:var(--sky);letter-spacing:-.02em;vertical-align:.5em}
.stat__label{color:var(--muted);font-size:.9375rem;line-height:1.45;max-width:26ch}
.stat--ref .stat__num{font-size:1.5rem;letter-spacing:-.02em;line-height:1.15;padding-top:12px;color:var(--ink)}
@media (max-width:980px){.stats{grid-template-columns:1fr 1fr;gap:32px 0}}
@media (max-width:560px){.stats{grid-template-columns:1fr}.stat__num{font-size:2.75rem}}
.source-line{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;color:var(--muted);font-size:.875rem;margin-top:40px}
.source-line a{color:var(--brand);font-weight:500;border-bottom:1px solid var(--line-strong)}
.methodo{font-size:.8125rem;color:var(--muted-2);line-height:1.55;max-width:900px}
.methodo a{color:var(--muted);border-bottom:1px solid var(--line-strong)}

/* ---------- Défilement éditorial ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:20px;background:var(--surface);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__track{display:flex;gap:64px;width:max-content;animation:marquee 50s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{display:inline-flex;align-items:center;gap:16px;font-size:.9375rem;font-weight:500;color:var(--muted);white-space:nowrap}
.marquee__item::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--brand)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Cartes ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.card--hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card--ink{position:relative;overflow:hidden;background:var(--navy);color:rgba(255,255,255,.82);border-color:transparent;box-shadow:0 28px 60px -28px rgba(7,26,61,.55)}
.card--ink::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 64% at 92% 6%,rgba(37,99,255,.5),transparent 70%),radial-gradient(38% 52% at 4% 100%,rgba(34,211,238,.2),transparent 72%)}
.card--ink > *{position:relative}
.card--ink h3,.card--ink .h3,.card--ink .h4{color:#fff}
.card--soft{background:var(--tint);border-color:transparent;box-shadow:none}
.card--flat{box-shadow:none}
.card h3{margin-bottom:8px}
.card > p:last-child{margin-bottom:0}
.card .img-slot{margin-bottom:24px}
.icon-tile{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;color:var(--brand);margin-bottom:16px}
.icon-tile svg{width:18px;height:18px}
.card--ink .icon-tile{background:rgba(255,255,255,.1);color:var(--sky-soft)}
@media (max-width:560px){.card{padding:24px}}

/* Famille */
.family{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.family{grid-template-columns:1fr}}
.family .card{display:flex;flex-direction:column}
.family .card p{color:var(--muted);font-size:1rem}
.family .card .img-slot{--ratio:4/3}

/* ---------- Étapes ---------- */
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center;padding-block:48px}
.step + .step{border-top:1px solid var(--line)}
.step:nth-child(even) .step__copy{order:2}
@media (max-width:900px){.step{grid-template-columns:1fr;padding-block:36px}.step:nth-child(even) .step__copy{order:0}}
.step__num{font-size:.8125rem;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:10px;margin-bottom:10px;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase}
.step__num::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(37,99,255,.14)}
.step__copy .h3{font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.03em}
.step__copy p{margin-top:12px;color:var(--muted);font-size:1.0625rem;max-width:46ch}
.step__copy .chips{margin-top:20px}
.step__visual{position:relative;display:grid;place-items:center;padding:32px 28px 104px;border-radius:24px;background:var(--glacier);border:1px solid var(--line);min-height:0;overflow:hidden}
.step__visual::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 78% 8%,rgba(37,99,255,.1),transparent 70%)}
.step__visual > *{position:relative}
/* Étape 03 : téléphone + indicateurs, sans débordement */
.suivi{display:grid;grid-template-columns:minmax(0,196px) minmax(0,1fr);gap:20px;align-items:start;width:100%}
.suivi .phone{width:100%;max-width:196px;justify-self:center}
.suivi .stack{min-width:0}
@media (max-width:1180px){.suivi{grid-template-columns:1fr;justify-items:center}.suivi .stack{width:100%;max-width:360px}}
.step__visual .floating-note{position:absolute;left:24px;bottom:24px;right:24px;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.875rem;z-index:3}
.floating-note strong{display:block;color:var(--ink);font-weight:600}
.floating-note span{color:var(--muted)}
.floating-note svg{width:18px;height:18px;flex:none;color:var(--brand);margin-top:2px}
@media (max-width:560px){.step__visual{padding:24px}.step__visual .floating-note{position:static;margin-top:16px}}

/* Liste de demandes */
.panel{width:100%;max-width:520px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}
.panel__head{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);font-weight:600;font-size:.9375rem}
.req{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);transition:background .2s}
.req:last-child{border-bottom:0}
.req:hover{background:var(--glacier)}
.req__logo{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:600;font-size:.75rem;background:var(--grad);color:#fff}
.req__logo--alt{background:var(--accent-soft);color:var(--brand)}
.req__logo--pj{background:#FBF3E0;color:#7A5A00}
.req__name{font-weight:600;font-size:.9375rem;color:var(--ink)}
.req__sub{font-size:.8125rem;color:var(--muted)}
.req__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.req__right .btn{height:32px;padding:0 12px;font-size:.75rem;border-radius:8px}
@media (max-width:460px){.req{grid-template-columns:40px 1fr}.req__right{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kpi{padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.kpi__label{font-size:.75rem;color:var(--muted);font-weight:500}
.kpi__num{font-family:var(--font-display);font-size:1.75rem;font-weight:500;letter-spacing:-.03em;line-height:1.1;margin-top:4px;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi--ok .kpi__num{color:var(--ok)}
.kpi--alert .kpi__num{color:var(--alert)}
.kpi--blue .kpi__num{color:var(--brand)}
.kpis--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.kpis--4{grid-template-columns:repeat(2,1fr)}}
.kpis--lg .kpi{padding:24px}
.kpis--lg .kpi__num{font-size:2.5rem}

/* Bulletin */
.bulletin{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--accent-soft);font-size:.875rem;flex-wrap:wrap}
.bulletin strong{display:block;font-weight:600;color:var(--ink)}
.bulletin span{color:var(--muted)}
.bulletin a{color:var(--brand);font-weight:600;white-space:nowrap}

/* Avatars */
.avatars{display:inline-flex;align-items:center}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:600;color:#fff;border:2px solid rgba(255,255,255,.9);margin-left:-8px;background:var(--brand)}
.avatar:first-child{margin-left:0}
.avatar:nth-child(2){background:#1E40AF}
.avatar:nth-child(3){background:var(--sky)}
.avatar--more{background:rgba(255,255,255,.2);color:#fff}

/* ---------- Suivi ---------- */
.tracker{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}
.tracker__head{padding:20px 24px 8px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.9375rem}
.tracker__head strong{font-weight:600}
.bars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px 24px 20px}
.bar{display:flex;flex-direction:column;gap:8px}
.bar__label{font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between}
.bar__label b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.bar__track{height:6px;border-radius:999px;background:var(--tint);overflow:hidden}
.bar__fill{display:block;height:100%;width:var(--w,50%);border-radius:999px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.bar__fill--ok{background:var(--ok)}
.bar__fill--wait{background:var(--sky-soft)}
.in .bar__fill,.no-js .bar__fill{transform:none}
.track-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--line);font-size:.9375rem}
.track-row__name{display:flex;align-items:center;gap:12px;color:var(--ink)}
.track-row__name .ico{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none}
.ico--ok{background:var(--ok-soft);color:var(--ok)}
.ico--wait{background:var(--accent-soft);color:var(--brand)}
.ico--warn{background:var(--warn-soft);color:var(--warn)}
.ico svg{width:12px;height:12px}
.track-row .pill{white-space:nowrap}
.tracker__foot{padding:14px 24px;background:var(--glacier);border-top:1px solid var(--line);font-size:.875rem;color:var(--muted);display:flex;gap:10px;align-items:center}
.tracker__foot svg{width:16px;height:16px;color:var(--brand);flex:none}

/* Alerte réapparition */
.alert-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:24px;display:grid;gap:16px;max-width:460px}
.alert-card__top{display:flex;gap:14px;align-items:flex-start}
.alert-card__icon{width:40px;height:40px;border-radius:12px;background:var(--warn-soft);color:var(--warn);display:grid;place-items:center;flex:none}
.alert-card__icon svg{width:20px;height:20px}
.alert-card h4{font-size:1rem;margin-bottom:2px}
.alert-card .small{color:var(--muted)}
.alert-card__foot{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}
.alert-card__foot svg{width:16px;height:16px;color:var(--ok)}

/* Graphique détections */
.sparkline{display:flex;align-items:flex-end;gap:6px;height:88px;padding:0 24px 16px}
.sparkline i{flex:1;border-radius:4px 4px 2px 2px;background:#DCE6FF;height:var(--h,30%);transform:scaleY(0);transform-origin:bottom;transition:transform 1s var(--ease);transition-delay:calc(var(--i,0)*.05s)}
.sparkline i.hit{background:var(--brand)}
.in .sparkline i,.no-js .sparkline i{transform:none}

/* Bulletin (juin) */
.bulletin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:32px;max-width:480px;display:grid;gap:16px}
.bulletin-card__head{display:flex;justify-content:space-between;align-items:center}
.bulletin-card__head strong{font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.bulletin-card p{margin:0;color:var(--ink);line-height:1.55;font-size:1rem}
.bulletin-card__meta{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.bulletin-card__meta div{display:flex;align-items:center;gap:12px}
.bulletin-card__meta svg{width:16px;height:16px;color:var(--brand);flex:none}

/* ---------- Comparatif ---------- */
.compare{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
@media (max-width:900px){.compare{grid-template-columns:1fr}}
.compare__col{border-radius:var(--radius);padding:40px;border:1px solid var(--line);background:var(--surface)}
.compare__col--product{position:relative;overflow:hidden;background:var(--navy);color:rgba(255,255,255,.82);border-color:transparent;box-shadow:0 28px 60px -28px rgba(7,26,61,.6)}
.compare__col--product::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(48% 60% at 92% 4%,rgba(37,99,255,.55),transparent 70%),radial-gradient(40% 50% at 4% 100%,rgba(34,211,238,.22),transparent 72%)}
.compare__col--product > *{position:relative}
.compare__col .eyebrow{margin-bottom:12px}
.compare__col h3{margin-bottom:24px}
.compare__col--product h3{color:#fff}
.check-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:1rem;line-height:1.5}
.check-list li + li{border-top:1px solid var(--line)}
.compare__col--product .check-list li + li{border-top-color:rgba(255,255,255,.14)}
.check-list .mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;margin-top:2px}
.check-list .mark svg{width:11px;height:11px}
.mark--ok{background:var(--ok-soft);color:var(--ok)}
.compare__col--product .mark--ok{background:rgba(255,255,255,.16);color:#fff}
.mark--no{background:#E7EDFA;color:var(--muted-2)}
.mark--no::before{content:"";width:9px;height:2px;background:currentColor;border-radius:2px}
@media (max-width:560px){.compare__col{padding:24px}}

/* ---------- Tarifs ---------- */
.pricing-group{margin-top:48px}
.group-head{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.group-head h3{font-size:1.25rem;font-weight:600}
.pricing-group--center .group-head{justify-content:center}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plans--2{grid-template-columns:repeat(2,1fr);max-width:816px}
.plans--2{margin-inline:auto}
@media (max-width:1000px){.plans{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.plans,.plans--2{grid-template-columns:1fr}}
.plan{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.plan--featured{background:var(--grad);color:rgba(255,255,255,.82);border-color:transparent;box-shadow:0 2px 4px rgba(7,26,61,.06),0 28px 60px -24px rgba(37,99,255,.55)}
.plan--featured .plan__name,.plan--featured .plan__price{color:#fff}
.plan--featured .plan__list li{border-top-color:rgba(255,255,255,.16)}
.plan--featured .plan__sub,.plan--featured .plan__tag{color:rgba(255,255,255,.78)}
.plan__badge{position:absolute;top:-12px;left:24px;height:24px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:var(--brand);color:#fff;box-shadow:0 6px 16px -8px rgba(37,99,255,.8);font-size:.6875rem;font-weight:600;letter-spacing:.02em}
.plan--featured .plan__badge{background:#fff;color:var(--navy)}
.plan__name{font-family:var(--font-display);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.plan__name small{font-size:.875rem;font-weight:500;color:var(--muted);letter-spacing:0;font-family:var(--font-body)}
.plan--featured .plan__name small{color:rgba(255,255,255,.78)}
.plan__tag{font-size:.9375rem;color:var(--muted);margin-top:4px}
.plan__price{display:flex;align-items:baseline;gap:6px;margin-top:24px;font-family:var(--font-display);font-size:2.5rem;font-weight:500;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.plan__price small{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--muted);letter-spacing:0}
.plan--featured .plan__price small{color:rgba(255,255,255,.78)}
.plan__sub{font-size:.875rem;color:var(--muted);margin-top:8px;line-height:1.5}
.plan__save{display:inline-flex;align-self:flex-start;margin-top:8px;height:24px;align-items:center;padding:0 8px;border-radius:6px;background:var(--ok-soft);color:var(--ok);font-size:.75rem;font-weight:600}
.plan--featured .plan__save{background:rgba(255,255,255,.18);color:#fff}
.plan__intro{font-size:.75rem;font-weight:600;margin-top:24px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.plan--featured .plan__intro{color:rgba(255,255,255,.78)}
.plan__list{margin-top:4px;margin-bottom:24px}
.plan__list li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;font-size:.9375rem;line-height:1.45;border-top:1px solid var(--line)}
.plan__list li:first-child{border-top:0}
.plan__list svg{width:14px;height:14px;flex:none;margin-top:4px;color:var(--ok)}
.plan--featured .plan__list svg{color:#fff}
.plan__note{font-size:.8125rem;color:var(--muted);padding:12px 14px;border-radius:12px;background:var(--glacier);margin-bottom:16px;line-height:1.5}
.plan--featured .plan__note{background:rgba(255,255,255,.14);color:rgba(255,255,255,.88)}
.plan .btn{margin-top:auto}
.plan--featured .btn--accent,.plan--featured .btn--primary{background:#fff;color:var(--navy)}
.plan--featured .btn--accent:hover,.plan--featured .btn--primary:hover{background:#EEF2F7}
.guarantee{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:32px;border-radius:var(--radius);background:var(--glacier);border:1px solid var(--line)}
.guarantee__icon{width:48px;height:48px;border-radius:12px;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center}
.guarantee__icon svg{width:22px;height:22px}
.guarantee h3{margin-bottom:8px}
.guarantee p{margin:0;color:var(--muted);font-size:1rem}
@media (max-width:560px){.guarantee{grid-template-columns:1fr;padding:24px}}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:8px}
.faq__item{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:box-shadow .3s}
.faq__item[open]{box-shadow:var(--shadow)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;font-weight:500;font-size:1.0625rem;letter-spacing:-.01em;color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary .plus{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;flex:none;position:relative;transition:transform .4s var(--ease),background .3s,border-color .3s}
.faq__item summary .plus::before,.faq__item summary .plus::after{content:"";position:absolute;background:var(--ink);border-radius:2px;transition:transform .4s var(--ease)}
.faq__item summary .plus::before{width:11px;height:1.5px}
.faq__item summary .plus::after{width:1.5px;height:11px}
.faq__item[open] summary .plus{background:var(--brand);border-color:var(--brand)}
.faq__item[open] summary .plus::before,.faq__item[open] summary .plus::after{background:#fff}
.faq__item[open] summary .plus::after{transform:rotate(90deg)}
.faq__body{padding:0 24px 24px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:70ch}
.faq__body p{margin:0}
@media (max-width:560px){.faq__item summary{padding:16px;font-size:1rem}.faq__body{padding:0 16px 20px}}

/* ---------- CTA final ---------- */
.cta-final{position:relative;overflow:hidden;border-radius:28px;background:var(--navy);color:#fff;padding:clamp(48px,6vw,80px) clamp(24px,5vw,72px)}
.cta-final::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(44% 62% at 88% 12%,rgba(37,99,255,.6),transparent 70%),
  radial-gradient(38% 54% at 6% 96%,rgba(34,211,238,.26),transparent 72%)}
.cta-final > *{position:relative}
.cta-final__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center}
.cta-final .h2{color:#fff;max-width:22ch}
.cta-final .lead{color:rgba(255,255,255,.8);margin-top:16px}
.cta-final .btn-row{margin-top:32px}
.cta-final .notif{background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.18);box-shadow:0 18px 40px -24px rgba(3,12,32,.8)}
.cta-final .notif__icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff}
.cta-final .notif__head{color:rgba(255,255,255,.62)}
.cta-final .notif__head strong{color:rgba(255,255,255,.86)}
.cta-final .notif__title{color:#fff}
.cta-final .notif__body{color:rgba(255,255,255,.75)}
.cta-final__stack{display:grid;gap:12px}
.cta-final__stack .notif:nth-child(2){margin-left:clamp(0px,3vw,32px)}
.cta-final__stack .notif:nth-child(3){margin-left:clamp(0px,6vw,64px)}
@media (max-width:900px){.cta-final__grid{grid-template-columns:1fr}.cta-final__stack .notif{margin-left:0!important}}

/* ---------- Pied de page ---------- */
.footer{position:relative;overflow:hidden;background:var(--navy);color:rgba(255,255,255,.72);border-top:0;padding-block:80px 32px}
.footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 70% at 6% 0%,rgba(37,99,255,.38),transparent 70%),radial-gradient(34% 60% at 94% 100%,rgba(34,211,238,.16),transparent 72%)}
.footer .container{position:relative}
.footer .brand{color:#fff}
.footer .brand span::after{background:var(--cyan)}
.footer__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media (max-width:980px){.footer__cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__cols{grid-template-columns:1fr}}
.footer__about p{color:rgba(255,255,255,.68);font-size:.9375rem;max-width:34ch;margin-top:16px}
.footer h4{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(147,197,253,.9);font-family:var(--font-body);font-weight:600;margin-bottom:16px}
.footer li{margin-bottom:10px}
.footer li a{color:rgba(255,255,255,.78);font-size:.9375rem;transition:color .2s}
.footer li a:hover{color:#fff}
.footer__bottom{margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:rgba(255,255,255,.6)}
.flag-ch{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:3px;background:#D52B1E;vertical-align:-3px;margin-right:8px;position:relative}
.flag-ch::before,.flag-ch::after{content:"";position:absolute;background:#fff;border-radius:1px}
.flag-ch::before{width:9px;height:2.5px}
.flag-ch::after{width:2.5px;height:9px}

/* ---------- Formulaires ---------- */
.form{display:grid;gap:16px}
.field{display:grid;gap:8px}
.field label{font-weight:500;font-size:.9375rem;color:var(--ink)}
.field label .opt{font-weight:400;color:var(--muted-2)}
.input{width:100%;height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);font:inherit;font-size:1rem;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.input::placeholder{color:var(--muted-2)}
.input:hover{border-color:rgba(37,99,255,.4)}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(37,99,255,.14);outline:none}
.input.is-invalid{border-color:var(--alert)}
.field__hint{font-size:.8125rem;color:var(--muted)}
.field__error{font-size:.8125rem;color:var(--alert);display:none}
.field.has-error .field__error{display:block}
.field.has-error .input{border-color:var(--alert)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}
.check{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--glacier);cursor:pointer;font-size:.9375rem;line-height:1.5}
.check input{appearance:none;width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid var(--line-strong);background:#fff;display:grid;place-items:center;margin:2px 0 0;cursor:pointer;transition:background .2s,border-color .2s}
.check input::after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--ease);margin-top:-2px}
.check input:checked{background:var(--brand);border-color:var(--brand)}
.check input:checked::after{transform:rotate(45deg) scale(1)}
.form-foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:center;color:var(--muted);font-size:.8125rem}
.form-foot svg{width:14px;height:14px;color:var(--ok);flex:none}

/* Tête de page interne */
.page-head{padding-top:clamp(40px,6vw,80px);padding-bottom:32px}
.page-head .lead{margin-top:16px}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:24px}
.crumbs a:hover{color:var(--ink)}
.crumbs span::before{content:"/";margin-right:8px;color:var(--muted-2)}

/* Score */
.score{--p:68;width:192px;height:192px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--brand) calc(var(--p)*1%),#DCE6FF 0);margin-inline:auto}
.score::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--surface)}
.score__inner{position:relative;text-align:center}
.score__num{font-family:var(--font-display);font-size:3rem;font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--ink)}
.score__num small{font-size:.9375rem;color:var(--muted);letter-spacing:0;font-family:var(--font-body);font-weight:500}
.score__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-top:6px}

/* Tableaux */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:560px}
.table th{text-align:left;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--glacier)}
.table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table td strong{font-weight:600;color:var(--ink)}
.table .sub{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}
.src{display:inline-flex;align-items:center;gap:10px}
.src__logo{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--brand);font-weight:600;font-size:.6875rem;flex:none}
.status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;height:24px;padding:0 10px;border-radius:999px}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status--confirmed,.status--done{background:var(--ok-soft);color:var(--ok)}
.status--probable,.status--relance{background:var(--warn-soft);color:var(--warn)}
.status--pending{background:var(--accent-soft);color:var(--brand)}
.cat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:48px 0 16px;flex-wrap:wrap}
.cat-head h3{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:12px}
.cat-head .count{font-family:var(--font-body);font-size:.75rem;font-weight:600;height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--brand)}

/* Timeline */
.timeline{display:grid;position:relative;padding-left:32px}
.timeline::before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:1px;background:var(--line-strong)}
.tl{position:relative;padding-bottom:24px}
.tl:last-child{padding-bottom:0}
.tl::before{content:"";position:absolute;left:-32px;top:4px;width:21px;height:21px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-strong)}
.tl--done::before{background:var(--ok);border-color:var(--ok)}
.tl--now::before{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 4px var(--accent-soft)}
.tl__date{font-size:.6875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.tl h4{margin-top:4px}
.tl p{color:var(--muted);margin:4px 0 0;font-size:.9375rem}

/* Tableau de bord */
.dash{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
@media (max-width:980px){.dash{grid-template-columns:1fr}}
.dash__side{position:sticky;top:96px;display:grid;gap:2px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
@media (max-width:980px){.dash__side{position:static;display:flex;overflow-x:auto;gap:4px}}
.dash__side a{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:10px;font-size:.9375rem;font-weight:500;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}
.dash__side a svg{width:16px;height:16px;flex:none}
.dash__side a:hover{background:var(--glacier);color:var(--ink)}
.dash__side a.is-active{background:var(--accent-soft);color:var(--brand)}
.dash__main{display:grid;gap:24px}
.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.dash-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.dash-card__head h3{font-size:1.125rem;font-weight:600}
.dash-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:.9375rem}
.dash-row:first-of-type{border-top:0}
.dash-row small{display:block;color:var(--muted);font-size:.8125rem}
.dash-row strong{font-weight:600}

/* Alerte fuite */
.alert-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:32px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
@media (max-width:760px){.alert-head{grid-template-columns:1fr;padding:24px}}
.alert-head__meta{display:grid;grid-template-columns:repeat(3,auto);gap:24px;margin-top:24px}
@media (max-width:560px){.alert-head__meta{grid-template-columns:1fr}}
.alert-head__meta small{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.alert-head__meta strong{display:block;font-weight:600;margin-top:4px;font-size:1rem}
.data-tags{display:flex;flex-wrap:wrap;gap:8px}
.data-tags span{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:8px;background:var(--alert-soft);color:var(--alert);font-weight:600;font-size:.8125rem}
.data-tags span.ok{background:var(--ok-soft);color:var(--ok)}
.steps-list{counter-reset:s;display:grid;gap:8px}
.steps-list li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:16px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.steps-list li::before{content:counter(s,decimal-leading-zero);font-family:var(--font-display);font-weight:500;color:var(--muted-2);font-size:1.125rem;padding-top:2px;font-variant-numeric:tabular-nums}
.steps-list h4{margin-bottom:4px}
.steps-list p{margin:0;color:var(--muted);font-size:.9375rem}

/* Article / guide */
.prose{font-size:1.0625rem;line-height:1.7;color:#283241}
.prose h2{font-size:clamp(1.5rem,2.4vw,1.875rem);margin:2em 0 .6em;font-weight:500}
.prose h3{font-size:1.25rem;margin:1.6em 0 .5em;font-weight:600}
.prose p{margin:0 0 1.2em}
.prose ul{list-style:disc;padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.prose a{color:var(--brand);border-bottom:1px solid var(--line-strong)}
.prose blockquote{margin:2em 0;padding:8px 0 8px 24px;border-left:2px solid var(--brand);font-family:var(--font-serif);font-style:italic;font-size:1.5rem;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.prose .callout{padding:32px;border-radius:var(--radius);background:var(--navy);color:rgba(255,255,255,.82);margin:2em 0;display:grid;gap:12px}
.prose .callout strong{color:#fff;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}
.prose .callout .btn{justify-self:start}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.875rem}
.toc{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);position:sticky;top:96px}
.toc h4{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);font-family:var(--font-body);margin-bottom:12px}
.toc li{margin-bottom:8px}
.toc a{color:var(--muted);font-size:.9375rem}
.toc a:hover{color:var(--brand)}
.article-grid{display:grid;grid-template-columns:1fr 280px;gap:64px;align-items:start}
@media (max-width:980px){.article-grid{grid-template-columns:1fr;gap:32px}.toc{position:static}}

/* Légal */
.legal h2{font-size:1.5rem;margin:2.4em 0 .6em;scroll-margin-top:100px}
.legal h3{font-size:1.0625rem;margin:1.6em 0 .4em;font-weight:600}
.legal p,.legal li{color:#283241;font-size:1rem;line-height:1.7}
.legal ol{padding-left:1.4em}

/* ---------- Révélations ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}.reveal[data-delay="4"]{transition-delay:.4s}
.no-js .reveal{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .lines .line > span,.fade-up,.notif--enter,.app-stack .notif,.reveal{opacity:1;transform:none}
  .scan__bar i,.bar__fill,.sparkline i{transform:none}
}
@media print{.site-header,.footer,.cta-final{display:none}}

/* ═══ Ajouts du 10/10 (pages créées hors Emergent, même système) ═══ */
.maquette-note{height:26px;font-size:.75rem}
.guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-card{padding:24px;color:inherit}
.guide-card .h4{line-height:1.3}
.cats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cats-grid .card{padding:24px}
.alertes-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px}
.alertes-intro .btn{flex:none}
.alertes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.alerte-item{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:500;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.alerte-item:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(37,99,255,.25)}
.alerte-item .src__logo{width:40px;height:40px;border-radius:12px;font-size:.75rem;letter-spacing:.02em}
.alerte-item__t{flex:1;min-width:0;line-height:1.35}
.alerte-item svg{width:16px;height:16px;color:var(--muted-2);flex:none;transition:transform .3s var(--ease),color .3s}
.alerte-item:hover svg{transform:translateX(3px);color:var(--brand)}
.pager{display:flex;gap:8px;justify-content:center}
.pager__n{height:40px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:500}
.pager__n.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
@media (max-width:980px){.guides-grid,.cats-grid,.alertes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.guides-grid,.cats-grid,.alertes-grid{grid-template-columns:1fr}.alertes-intro{flex-direction:column;align-items:flex-start;padding:22px}}
.intro-ico{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.intro-ico > p{margin:0;color:#263655}
@media (max-width:640px){.intro-ico{grid-template-columns:1fr;gap:14px}}
.steps-list a,.procedure a,.cats-grid a{color:var(--brand);border-bottom:1px solid var(--line-strong)}
.link-arrow svg{width:14px;height:14px;flex:none}
.alerte-item__ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn);flex:none}
.alerte-item__ico svg{width:18px;height:18px;color:var(--warn)}
.alerte-item:hover .alerte-item__ico svg{transform:none;color:var(--warn)}
.alerte-item__t small{display:block;font-size:.75rem;font-weight:500;color:var(--muted);letter-spacing:.01em;margin-bottom:1px}
.alerte-item__t{font-weight:600}
@media (max-width:640px){.steps-list li{grid-template-columns:28px 1fr;gap:12px;padding:16px 18px}}
.check input[type=radio]{border-radius:50%}
.check input[type=radio]::after{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:scale(0);margin:0}
.check input[type=radio]:checked::after{transform:scale(1)}
.check:has(input:checked){border-color:var(--brand);background:var(--accent-soft)}
/* Débordements à 390 px (10/10) : un enfant de grille ne doit jamais imposer sa largeur minimale */
.grid-2 > *,.grid-3 > *,.article-grid > *,.dash > *,.dash__main > *,.cta-final__grid > *,.hero__grid > *{min-width:0}
.grid-2--11{grid-template-columns:1.1fr .9fr}
@media (max-width:900px){.grid-2--11{grid-template-columns:1fr}}
.hero__grid--form{grid-template-columns:.9fr 1.1fr}
@media (max-width:980px){.hero__grid--form{grid-template-columns:1fr}}

/* ═══ v2 du 10/10 — pages utilitaires « une page = une scène » ═══ */
.band{position:relative;isolation:isolate;overflow:hidden;background:var(--grad);color:#fff;padding:clamp(40px,5vw,72px) 0 clamp(150px,14vw,190px)}
.band--court{padding-bottom:clamp(56px,6vw,88px)}
.band .crumbs,.band .crumbs a{color:rgba(255,255,255,.66)}
.band .crumbs a:hover{color:#fff}
.band .crumbs span::before{color:rgba(255,255,255,.35)}
.band__titre{color:#fff;font-size:clamp(2.25rem,4.6vw,3.75rem);max-width:18ch}
.band .lead{color:rgba(255,255,255,.82);max-width:46ch;margin-top:18px}
.band__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.band__grid > *{min-width:0}
@media (max-width:900px){.band__grid{grid-template-columns:1fr}}
.lift{position:relative;z-index:2;margin-top:clamp(-150px,-11vw,-110px);padding-bottom:clamp(64px,8vw,112px)}
.sheet{background:#fff;border-radius:24px;box-shadow:0 2px 4px rgba(7,26,61,.05),0 40px 80px -32px rgba(7,26,61,.35);padding:clamp(24px,4vw,44px);border:1px solid rgba(37,99,255,.08)}
.sheet__intro{font-size:1.0625rem;line-height:1.65;color:#263655;margin:0}
.duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:900px){.duo{grid-template-columns:1fr}}
.duo__aside{padding-top:clamp(0px,9vw,140px)}
@media (max-width:900px){.duo__aside{padding-top:0}}
/* Suite des étapes (flux vertical) */
.flow{list-style:none;margin:0;padding:0;position:relative}
.flow li{position:relative;padding:0 0 26px 52px}
.flow li:last-child{padding-bottom:0}
.flow li::before{content:"";position:absolute;left:17px;top:36px;bottom:2px;width:2px;background:linear-gradient(var(--line-strong),var(--line))}
.flow li:last-child::before{display:none}
.flow__n{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line-strong);color:var(--brand);font-family:var(--font-display);font-weight:500;font-size:.9375rem;box-shadow:var(--shadow)}
.flow__n svg{width:16px;height:16px}
.flow li.is-now .flow__n{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 6px rgba(37,99,255,.14)}
.flow li.is-done .flow__n{background:var(--ok);border-color:var(--ok);color:#fff}
.flow__t{display:block;font-weight:600;color:var(--ink);font-size:1rem;line-height:1.4;padding-top:6px}
.flow__d{display:block;color:var(--muted);font-size:.9375rem;line-height:1.55;margin-top:4px}
/* Aperçu d'e-mail (le produit montré) */
.mail-mock{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(7,26,61,.45)}
.mail-mock__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--glacier);border-bottom:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.mail-mock__bar b{color:var(--ink);font-weight:600}
.mail-mock__head{background:linear-gradient(135deg,#071A3D 0%,#1E40AF 60%,#2563FF 100%);padding:14px 18px;font-family:var(--font-display);font-weight:600;color:#fff;letter-spacing:-.02em}
.mail-mock__head i{font-style:normal;color:var(--sky)}
.mail-mock__body{padding:18px 18px 20px;font-size:.875rem;color:#263655;line-height:1.55}
.mail-mock__body h4{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--ink);margin:0 0 10px;letter-spacing:-.02em}
.mail-mock__amount{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;margin:12px 0;border-radius:12px;background:var(--ok-soft)}
.mail-mock__amount span{font-size:.8125rem;color:var(--muted)}
.mail-mock__amount strong{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ok);letter-spacing:-.03em}
.mail-mock__btn{display:block;text-align:center;padding:11px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;font-size:.875rem}
.tilt{transform:rotate(-1.2deg)}
@media (prefers-reduced-motion:no-preference){.tilt{transition:transform .6s var(--ease)}.tilt:hover{transform:rotate(0)}}
.legal-line{display:flex;gap:10px;align-items:flex-start;font-size:.8125rem;color:var(--muted);margin:0}
.legal-line svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--muted-2)}
.legal-line a{color:var(--brand);border-bottom:1px solid var(--line-strong)}
/* Alertes : le fil daté */
.band .notif{background:rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(255,255,255,.18);box-shadow:0 24px 48px -28px rgba(3,12,32,.9)}
.band .notif__icon{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.3);color:#FCD34D}
.band .notif__head{color:rgba(255,255,255,.6)}
.band .notif__head strong{color:rgba(255,255,255,.85)}
.band .notif__title{color:#fff}
.band .notif__body{color:rgba(255,255,255,.74)}
.notif-stack{display:grid;gap:12px;max-width:440px;margin-left:auto}
.notif-stack .notif:nth-child(2){margin-left:28px;margin-right:0}
.notif-stack .notif:nth-child(3){margin-left:56px;margin-right:0;opacity:.82}
@media (max-width:900px){.notif-stack{margin:0}.notif-stack .notif{margin:0!important}}
.niveau{display:inline-flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.niveau::before{content:"";width:6px;height:6px;border-radius:50%;background:#FCD34D}
.feed-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.tabs{display:inline-flex;padding:4px;border-radius:999px;background:var(--glacier);border:1px solid var(--line)}
.tabs a{height:36px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;font-size:.875rem;font-weight:500;color:var(--muted)}
.tabs a.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.feed-day{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.feed-day__date{font-family:var(--font-display);font-weight:500;font-size:1.0625rem;color:var(--ink);letter-spacing:-.01em;line-height:1.3}
.feed-day__date small{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:400;color:var(--muted-2);margin-top:4px;letter-spacing:0}
.feed-day__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}
.feed-item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:0 -10px;border-radius:10px;color:var(--ink);font-weight:500;line-height:1.35;transition:background .2s}
.feed-item:hover{background:var(--glacier)}
.feed-item::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn);flex:none;box-shadow:0 0 0 3px var(--warn-soft)}
.feed-item small{color:var(--muted-2);font-weight:400;font-size:.8125rem}
.feed-item .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:980px){.feed-day{grid-template-columns:1fr;gap:10px}.feed-day__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feed-day__items{grid-template-columns:1fr}}
.recu{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.recu__ligne{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;font-size:.9375rem}
.recu__ligne + .recu__ligne{border-top:1px dashed var(--line-strong)}
.recu__ligne span{color:var(--muted)}
.recu__ligne strong{color:var(--ink);font-weight:600;text-align:right}
.recu__total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:20px}
.recu__total span{font-weight:600;color:var(--ink)}
.recu__total strong{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:500;letter-spacing:-.04em;color:var(--ok);line-height:1}
.band__mock{max-width:400px;margin-left:auto;margin-bottom:clamp(-150px,-10vw,-90px);position:relative}
.band__mock::before{content:"";position:absolute;inset:-30px;border-radius:40px;background:radial-gradient(closest-side,rgba(96,165,250,.45),transparent);z-index:-1;filter:blur(10px)}
.duo__aside--sous-bande{padding-top:clamp(0px,14vw,210px)}
@media (max-width:900px){.band__mock{display:none}.duo__aside--sous-bande{padding-top:0}}
.notif__head span:last-child{white-space:nowrap}
.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs a{white-space:nowrap}
@media (max-width:560px){
  .feed-day__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .feed-item{font-size:.9375rem;padding:8px 8px;margin:0 -8px}
  .notif-stack .notif:nth-child(3){display:none}
  .band .notif__head{flex-wrap:wrap}
  .band{padding-bottom:clamp(110px,30vw,130px)}
  .lift{margin-top:-84px}
  .band--court{padding-bottom:48px}
}
/* Préférences e-mails : tuiles d'options */
.opt-tiles{display:grid;gap:10px}
.opt-tile{display:grid;grid-template-columns:44px 1fr 22px;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.opt-tile:hover{border-color:rgba(37,99,255,.35)}
.opt-tile__ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--glacier);color:var(--brand)}
.opt-tile__ico svg{width:20px;height:20px}
.opt-tile__t{font-weight:600;color:var(--ink);line-height:1.4}
.opt-tile input{appearance:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);margin:0;display:grid;place-items:center;transition:border-color .2s}
.opt-tile input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform .25s var(--ease)}
.opt-tile input:checked{border-color:var(--brand)}
.opt-tile input:checked::after{transform:scale(1)}
.opt-tile:has(input:checked){border-color:var(--brand);background:linear-gradient(180deg,#fff,var(--glacier));box-shadow:0 0 0 4px rgba(37,99,255,.08)}
.opt-tile:has(input:checked) .opt-tile__ico{background:var(--brand);color:#fff}
.opt-tile:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.note-ok{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--ok-soft);color:#0B4F42;font-size:.9375rem;line-height:1.55}
.note-ok svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ok)}
/* Boîte de réception (le produit montré) */
.inbox{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(3,12,32,.7);border:1px solid rgba(255,255,255,.4)}
.inbox__bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted);background:var(--glacier)}
.inbox__bar b{color:var(--ink)}
.inbox__row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:start;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.inbox__row:last-child{border-bottom:0}
.inbox__row b{display:block;color:var(--ink);font-size:.875rem}
.inbox__row em{font-style:normal;display:block;color:var(--ink);font-weight:600;margin-top:2px}
.inbox__row .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:6px}
.inbox__row.is-new{background:linear-gradient(90deg,rgba(37,99,255,.07),transparent)}
.inbox__row.is-old{opacity:.5}
.inbox__row.is-old .dot{background:transparent}
/* Lettre (modèle RGPD) */
.paper{background:#fff;border-radius:6px 6px 18px 18px;padding:28px 28px 30px;color:#263655;font-size:.8125rem;line-height:1.6;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 40px 70px -30px rgba(3,12,32,.75);position:relative}
.paper::before{content:"";position:absolute;inset:auto 14px -10px 14px;height:20px;background:rgba(255,255,255,.45);border-radius:0 0 16px 16px;z-index:-1}
.paper__obj{font-weight:700;color:var(--ink);margin:0 0 12px}
.paper p{margin:0 0 9px}
.paper mark{background:rgba(37,99,255,.12);color:var(--ink);padding:0 3px;border-radius:4px}
.paper__sig{font-family:var(--font-serif);font-style:italic;font-size:1rem;color:var(--ink)}
/* Méthode en 5 étapes, horizontale */
.stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;counter-reset:st;list-style:none;padding:0;margin:0}
.stepper li{position:relative;padding-top:64px;counter-increment:st}
.stepper li::before{content:counter(st,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--font-display);font-size:2.5rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--brand)}
.stepper li::after{content:"";position:absolute;top:20px;left:72px;right:-14px;height:1px;background:var(--line-strong)}
.stepper li:last-child::after{display:none}
.stepper strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.0625rem;color:var(--ink);letter-spacing:-.01em;line-height:1.3;margin-bottom:8px}
.stepper p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.stepper a{color:var(--brand);border-bottom:1px solid var(--line-strong)}
@media (max-width:980px){.stepper{grid-template-columns:1fr 1fr;gap:36px 28px}.stepper li::after{display:none}}
@media (max-width:560px){.stepper{grid-template-columns:1fr}.stepper li{padding:0 0 0 64px}.stepper li::before{font-size:1.75rem}}
/* Droits : colonnes éditoriales */
.droits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.droit{border-top:2px solid var(--brand);padding-top:20px}
.droit h3{font-family:var(--font-display);font-size:1.375rem;font-weight:500;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink)}
.droit p{margin:0;color:#334260;font-size:.9375rem;line-height:1.65}
@media (max-width:900px){.droits{grid-template-columns:1fr}}
.grand-lien{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.625rem);line-height:1.45;letter-spacing:-.015em;color:var(--ink);font-weight:400;max-width:60ch;margin:0}
.grand-lien a{color:var(--brand);background:linear-gradient(var(--accent-soft),var(--accent-soft)) 0 88%/100% 30% no-repeat;transition:background-size .3s}
.grand-lien a:hover{background-size:100% 100%}
/* Après une fuite : tableau éditorial */
.cat-rows{border-top:1px solid var(--line)}
.cat-row{display:grid;grid-template-columns:220px 1fr 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.cat-row h3{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;color:var(--ink);margin:0;letter-spacing:-.01em}
.cat-row p{margin:0;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.cat-row p strong{display:block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);margin-bottom:4px;font-weight:600}
.cat-row p.faire{color:#0B3B33}
.cat-row p.faire strong{color:var(--ok)}
.cats-head{display:grid;grid-template-columns:220px 1fr 1fr;gap:28px;padding:0 0 12px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
@media (max-width:900px){.cat-row{grid-template-columns:1fr;gap:10px}.cats-head{display:none}}
@media (min-width:901px){.cat-row p strong{display:none}}
/* Index des guides */
.index-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px}
.index-col h3{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-weight:600;margin:0 0 8px;font-family:var(--font-body)}
.index-row{display:grid;grid-template-columns:76px 1fr 18px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;line-height:1.35;transition:color .2s}
.index-row:hover{color:var(--brand)}
.index-row code{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--brand);background:var(--accent-soft);border-radius:6px;padding:3px 7px;justify-self:start}
.index-row svg{width:16px;height:16px;color:var(--muted-2);transition:transform .25s var(--ease),color .25s}
.index-row:hover svg{transform:translateX(3px);color:var(--brand)}
@media (max-width:900px){.index-cols{grid-template-columns:1fr}}
.sect-titre{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,3vw,44px)}
.sect-titre .h2{max-width:22ch;margin:0}
.mm-l{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:.8125rem;line-height:1.45}
.mm-l i{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px}
.band--court .band__mock{margin-bottom:0}
[hidden]{display:none!important}
.inbox__bar svg{width:16px;height:16px;color:var(--brand)}
.band__titre--long{font-size:clamp(2rem,3.4vw,3rem);max-width:none}
.paper mark{padding:0 2px;margin:0 -1px}
/* Fiche d'alerte (vraie structure des pages /alertes/) */
.fiche{background:rgba(255,255,255,.96);border-radius:20px;padding:8px 22px;box-shadow:0 40px 70px -30px rgba(3,12,32,.75);color:var(--ink)}
.fiche__l{padding:16px 0;border-bottom:1px solid var(--line)}
.fiche__l:last-child{border-bottom:0}
.fiche__l small{display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.fiche__l strong{font-weight:600;font-size:.9375rem}
.fiche__l--warn{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;color:var(--muted);line-height:1.5}
.fiche__l--warn svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--warn)}
.chip--ink .niveau::before{background:#FCD34D}
.src-list{list-style:none;margin:0 0 1.5em;padding:0;position:relative}
.src-list::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line)}
.src-item{position:relative;padding:0 0 18px 30px}
.src-item::before{content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--brand)}
.src-item p{margin:0;font-size:1rem;line-height:1.65}
.src-item p strong{color:var(--ink)}
.src-item p a{font-size:.875rem;word-break:break-all}
.src-item__n{margin-top:6px!important;display:inline-block;font-size:.8125rem!important;font-weight:600;color:var(--brand);background:var(--accent-soft);border-radius:999px;padding:2px 10px}
.info-line{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:var(--warn-soft);margin:0 0 1.2em}
.info-line svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--warn)}
.info-line p{margin:0;font-size:.9375rem;color:#5A3D00}
.inconnu{padding-left:16px;border-left:2px solid var(--line-strong);color:var(--muted)}
.tl-list{list-style:none!important;padding:0!important;margin:0 0 1.5em}
.tl-list li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9375rem;margin:0}
.tl-list time{font-weight:600;color:var(--ink);font-size:.875rem}
.tl-list--muted li{color:var(--muted)}
@media (max-width:560px){.tl-list li{grid-template-columns:1fr;gap:2px}}
.alerte-prose .callout span{font-size:1rem}
.article-aside{position:sticky;top:calc(var(--navh) + 24px)}
@media (max-width:980px){.article-aside{display:none}}
.reponse{gap:16px;padding:24px}
.nowrap{white-space:nowrap}
.band--copie-large .band__grid{grid-template-columns:1.35fr .65fr}
@media (max-width:900px){.band--copie-large .band__grid{grid-template-columns:1fr}}
.prose .steps-list p{margin:0}
.prose .steps-list li{align-items:start}
/* Finitions des pages Emergent (10/10) */
.hero .eyebrow,.band .eyebrow{color:var(--sky-soft)}
.hero .eyebrow::before,.band .eyebrow::before{background:var(--cyan)}
@media (min-width:981px){.hero:not(.hero--full) .lines .line{white-space:normal}}
.band h1,.band .h1,.band .h2{color:#fff}
.band p,.band .lead,.band .meta,.band .muted{color:rgba(255,255,255,.8)}
.band .article-meta{color:rgba(255,255,255,.7)}
.band .pill--neutral{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}
.band .img-slot{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.band .img-slot__label{color:rgba(255,255,255,.8)}
.band .img-slot__label em{color:rgba(255,255,255,.7)}
.lift-sec{position:relative;z-index:2;margin-top:clamp(-150px,-11vw,-110px);padding-top:0}
@media (max-width:560px){.lift-sec{margin-top:-84px}}

.hero .card h1,.hero .card .h3{color:var(--ink)}
.hero > .container > p.small{color:rgba(255,255,255,.8)!important}
.hero > .container > p.small a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.5)}
.band__grid .h1{font-size:clamp(2rem,3.6vw,3.25rem)!important}
/* Rythme : deux sections blanches consécutives ne cumulent pas leurs marges (240 px → 120 px) */
.section:not(.section--glacier):not(.section--ink):not(.section--tint) + .section:not(.section--glacier):not(.section--ink):not(.section--tint){padding-top:0}
/* Accueil : le téléphone du héros se fond en bas au lieu de couper une notification */
.hero .phone__body{-webkit-mask-image:linear-gradient(#000 80%,transparent 98%);mask-image:linear-gradient(#000 80%,transparent 98%)}
/* Étape 01 : téléphone moins haut, plus de vide au milieu de l'écran */
.step__visual .phone:not(.phone--dark){aspect-ratio:9/16}
.bulletin-card .avatar--more{background:var(--accent-soft);color:var(--brand);border-color:#fff}
.notif__head span,.notif__head small{white-space:nowrap}
.section--ink .card h3,.section--ink .card .h4{margin-bottom:10px}
.sect-titre{flex-wrap:wrap}
@media (max-width:560px){.btn--lg,.callout .btn{white-space:normal;height:auto;min-height:52px;padding-block:12px;text-align:center;line-height:1.3}}
.chip{height:auto;min-height:32px;padding-block:5px;line-height:1.35}
.guarantee__icon svg{width:22px;height:22px}
#offres{padding-top:clamp(40px,5vw,64px)}

/* ═══ Typographie v5 (10/10) — une grotesque calme, comme Aura : titres en 500, lettres légèrement resserrées, jamais de gras criard ═══ */
h1,h2,h3,.h1,.h2,.h3,.band__titre,.rap-h1,.verdict__titre,.droit h3,.grand-lien{font-weight:500!important;letter-spacing:-.025em!important;font-optical-sizing:auto}
h4,.h4{letter-spacing:-.01em!important;font-weight:600}
.kpi__num,.plan__price,.stat__num,.score__num,.scan__big,.recu__total strong,.mail-mock__amount strong,.stepper li::before,.flow__n,.verdict__chiffres b,.preuve__c b,.obs-chiffres b,.mini-plan__p,.scan-mock__big{font-weight:500!important;letter-spacing:-.03em!important;font-variant-numeric:tabular-nums lining-nums}
.serif,h1 i,.h1 i{font-family:"Newsreader",Georgia,serif!important;font-style:italic;font-weight:300!important;letter-spacing:-.01em!important}
body{letter-spacing:-.005em}
.eyebrow{letter-spacing:.01em}

/* ═══ Nuancier v4 (10/10, 2e retour du fondateur) — du bleu TRÈS foncé au bleu foncé, et un effet de lumière par page ═══
   Fonds : abysse · nuit · marine · profond.  Effets : halo · grille · faisceaux · horizon · sonar · maillage · projecteur · orbe.
   Une page = body.amb-<fond> fx-<effet> (posé par outils/ambiances.py). Les effets vivent dans ::before/::after du bandeau. */
:root{
  --abysse:#020617;--nuit:#050B1F;--nuit-2:#0A1636;--marine:#0B1F4D;--profond:#0F2E7A;--roi:#1D4ED8;
  --lueur:#60A5FA;--lueur-2:#93C5FD;--givre:#DBEAFE;
  --fond-abysse:radial-gradient(70% 55% at 50% -8%,rgba(15,46,122,.9) 0%,transparent 62%),linear-gradient(180deg,#020617 0%,#050B1F 100%);
  --fond-nuit:linear-gradient(180deg,#050B1F 0%,#0A1636 100%);
  --fond-marine:linear-gradient(160deg,#061230 0%,#0B1F4D 55%,#0E2862 100%);
  --fond-profond:linear-gradient(180deg,#0A1A45 0%,#0F2E7A 100%);
}
body.amb-abysse :is(.band,.hero){background:var(--fond-abysse)}
body.amb-nuit :is(.band,.hero){background:var(--fond-nuit)}
body.amb-marine :is(.band,.hero){background:var(--fond-marine)}
body.amb-profond :is(.band,.hero){background:var(--fond-profond)}
body[class*="fx-"] .hero__bg{background:none}
body[class*="fx-"] .hero__bg::after{opacity:.09}
body[class*="fx-"] .hero__aurora{display:none}
body[class*="fx-"] :is(.band,.hero)::before,body[class*="fx-"] :is(.band,.hero)::after{content:"";position:absolute;z-index:-1;pointer-events:none}
/* halo : deux lumières douces */
body.fx-halo :is(.band,.hero)::before{inset:0;background:radial-gradient(38% 60% at 84% 12%,rgba(96,165,250,.34),transparent 70%),radial-gradient(30% 45% at 6% 96%,rgba(29,78,216,.40),transparent 70%)}
/* grille : trame de points, éclairée en haut à droite */
body.fx-grille :is(.band,.hero)::before{inset:0;background-image:radial-gradient(rgba(191,219,254,.26) 1px,transparent 1.5px);background-size:22px 22px;-webkit-mask-image:radial-gradient(65% 85% at 78% 18%,#000 0%,transparent 72%);mask-image:radial-gradient(65% 85% at 78% 18%,#000 0%,transparent 72%)}
body.fx-grille :is(.band,.hero)::after{inset:0;background:radial-gradient(40% 60% at 80% 10%,rgba(59,130,246,.30),transparent 70%)}
/* faisceaux : rais de lumière qui tombent d'en haut */
body.fx-faisceaux :is(.band,.hero)::before{inset:-10% -20% 0 -20%;background:conic-gradient(from 152deg at 62% -6%,transparent 0deg,rgba(147,197,253,.20) 5deg,transparent 11deg,transparent 17deg,rgba(147,197,253,.13) 22deg,transparent 29deg,transparent 33deg,rgba(147,197,253,.18) 38deg,transparent 46deg,transparent 52deg,rgba(147,197,253,.09) 56deg,transparent 63deg);filter:blur(5px);-webkit-mask-image:linear-gradient(#000 20%,transparent 92%);mask-image:linear-gradient(#000 20%,transparent 92%)}
body.fx-faisceaux :is(.band,.hero)::after{inset:0;background:radial-gradient(30% 40% at 62% 0%,rgba(191,219,254,.35),transparent 70%)}
/* horizon : la courbe lumineuse d'une planète, en bas (partout, en continu) */
body.fx-horizon :is(.band,.hero)::before{inset:0;background:radial-gradient(60% 50% at 50% 100%,rgba(59,130,246,.45),transparent 70%)}
body.fx-horizon :is(.band,.hero)::after{left:-30%;right:-30%;top:84%;height:140%;border-radius:50%;background:radial-gradient(60% 40% at 50% 0%,#0B1F4D 0%,#020617 70%);box-shadow:0 -1px 0 rgba(219,234,254,.9),0 -10px 30px rgba(147,197,253,.55),0 -40px 120px rgba(37,99,255,.55)}
/* sonar : ondes concentriques derrière le formulaire (le scan) */
body.fx-sonar :is(.band,.hero)::before{inset:0;background:repeating-radial-gradient(circle at 74% 46%,rgba(147,197,253,.16) 0 1px,transparent 1.6px 64px);-webkit-mask-image:radial-gradient(circle at 74% 46%,#000 0%,transparent 60%);mask-image:radial-gradient(circle at 74% 46%,#000 0%,transparent 60%)}
body.fx-sonar :is(.band,.hero)::after{width:640px;height:640px;left:calc(74% - 320px);top:calc(46% - 320px);border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.38) 0%,rgba(29,78,216,.16) 40%,transparent 68%)}
@media (prefers-reduced-motion:no-preference){body.fx-sonar :is(.band,.hero)::after{animation:sonarSouffle 5s ease-in-out infinite}}
@keyframes sonarSouffle{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.06);opacity:1}}
@media (max-width:980px){body.fx-sonar :is(.band,.hero)::before{background:repeating-radial-gradient(circle at 50% 72%,rgba(147,197,253,.14) 0 1px,transparent 1.6px 56px);-webkit-mask-image:radial-gradient(circle at 50% 72%,#000 0%,transparent 70%);mask-image:radial-gradient(circle at 50% 72%,#000 0%,transparent 70%)}body.fx-sonar :is(.band,.hero)::after{left:calc(50% - 320px);top:calc(72% - 320px)}}
/* maillage : plusieurs nappes de bleu qui se fondent */
body.fx-maillage :is(.band,.hero)::before{inset:-10%;background:radial-gradient(32% 42% at 18% 22%,rgba(59,130,246,.42),transparent 70%),radial-gradient(28% 40% at 82% 26%,rgba(29,78,216,.60),transparent 70%),radial-gradient(38% 46% at 60% 104%,rgba(96,165,250,.28),transparent 70%);filter:blur(18px)}
/* projecteur : un cône de lumière du haut, au centre */
body.fx-projecteur :is(.band,.hero)::before{inset:0;background:radial-gradient(42% 75% at 50% -8%,rgba(191,219,254,.42),rgba(59,130,246,.16) 45%,transparent 72%)}
body.fx-projecteur :is(.band,.hero)::after{inset:0;background:conic-gradient(from 160deg at 50% -12%,transparent 0deg,rgba(191,219,254,.10) 14deg,transparent 22deg,transparent 30deg,rgba(191,219,254,.10) 40deg,transparent 48deg);filter:blur(4px)}
/* orbe : une sphère lumineuse derrière l'élément central */
body.fx-orbe :is(.band,.hero)::before{width:min(720px,110vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 30%,rgba(191,219,254,.50) 0%,rgba(59,130,246,.36) 26%,rgba(15,46,122,.30) 52%,transparent 70%);filter:blur(6px)}
body.fx-orbe :is(.band,.hero)::after{width:min(560px,90vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(147,197,253,.28);box-shadow:0 0 80px rgba(59,130,246,.25) inset}
/* Les cartes posées sur un bandeau sombre gagnent un liseré de lumière */
body[class*="fx-"] :is(.band,.hero) .card,body[class*="fx-"] .lift .sheet,body[class*="fx-"] .lift-sec > .container > .card:first-child{box-shadow:0 0 0 1px rgba(147,197,253,.22),0 40px 90px -36px rgba(2,6,23,.9),0 0 60px -20px rgba(59,130,246,.45)}
body[class*="fx-"] .lead strong{color:#fff}

/* ═══ Accueil : alternance blanc / bleu très foncé, chacun avec son effet ═══ */
#produit{background:radial-gradient(60% 55% at 72% 8%,rgba(29,78,216,.55),transparent 65%),linear-gradient(180deg,#020617 0%,#071433 55%,#0B1F4D 100%)!important}
#produit .hero__bg{background:none}
#produit .hero__aurora{opacity:.45}
#produit::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:-30%;right:-30%;top:88%;height:140%;border-radius:50%;background:radial-gradient(60% 40% at 50% 0%,#0B1F4D 0%,#020617 70%);box-shadow:0 -1px 0 rgba(219,234,254,.85),0 -10px 30px rgba(147,197,253,.5),0 -40px 120px rgba(37,99,255,.5)}
#veille{position:relative;isolation:isolate;overflow:hidden;background:var(--fond-marine);color:rgba(255,255,255,.8)}
#veille::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(191,219,254,.22) 1px,transparent 1.5px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 80% at 80% 30%,#000,transparent 72%);mask-image:radial-gradient(60% 80% at 80% 30%,#000,transparent 72%)}
#veille :is(h2,.h2){color:#fff}
#veille .lead,#veille p:not(.small):not([class*="notif"]){color:rgba(255,255,255,.76)}
#veille .eyebrow{color:var(--lueur-2)}
#veille .eyebrow::before{background:var(--lueur)}
#veille .btn--ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
#veille .card,#veille .alert-card{box-shadow:0 0 0 1px rgba(147,197,253,.2),0 30px 70px -30px rgba(2,6,23,.9)}
#veille + .section{padding-top:var(--section)}
#engagement{position:relative;isolation:isolate;overflow:hidden;background:var(--fond-abysse)!important}
#engagement::before{content:"";position:absolute;z-index:-1;inset:-10% -20% 0 -20%;background:conic-gradient(from 152deg at 60% -6%,transparent 0deg,rgba(147,197,253,.18) 5deg,transparent 11deg,transparent 17deg,rgba(147,197,253,.12) 22deg,transparent 29deg,transparent 33deg,rgba(147,197,253,.16) 38deg,transparent 46deg);filter:blur(5px);-webkit-mask-image:linear-gradient(#000 20%,transparent 92%);mask-image:linear-gradient(#000 20%,transparent 92%)}
#engagement .card{background:rgba(255,255,255,.05)!important;border-color:rgba(147,197,253,.22)!important;box-shadow:none}
#engagement .card::before,#engagement .card::after{display:none}
.plans .plan[data-testid="plan-famille"]{background:radial-gradient(70% 50% at 80% 0%,rgba(96,165,250,.45),transparent 70%),linear-gradient(160deg,#0B1F4D 0%,#163FAE 100%)!important}
.plans .plan[data-testid="plan-pro-annuel"]{background:radial-gradient(70% 50% at 80% 0%,rgba(59,130,246,.35),transparent 70%),linear-gradient(160deg,#020617 0%,#0B1F4D 100%)!important}
#difference [class*="compare__col--product"]{background:radial-gradient(60% 60% at 90% 0%,rgba(59,130,246,.45),transparent 70%),linear-gradient(160deg,#050B1F,#0B1F4D)!important}
.cta-final{background:radial-gradient(50% 70% at 85% 0%,rgba(59,130,246,.5),transparent 70%),linear-gradient(160deg,#020617 0%,#0B1F4D 60%,#0F2E7A 100%)}
body.amb-marine .band .mini,body.amb-nuit .band .mini{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff}
body[class*="fx-"] .band p strong[style*="--ok"]{color:#6EE7B7!important}

/* ═══ Scan : la maquette de résultat remplace l'emplacement d'image du bandeau ═══ */
.scan-mock{margin-top:36px;max-width:440px;padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(147,197,253,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 30px 70px -36px rgba(2,6,23,.9)}
.scan-mock__head{display:flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.75)}
.scan-mock__head .pill{margin-left:auto}
.scan-mock__dot{width:8px;height:8px;border-radius:50%;background:#6EE7B7;box-shadow:0 0 0 4px rgba(110,231,183,.18)}
.scan-mock__big{font-family:var(--font-display);font-size:2.75rem;line-height:1;color:#fff;margin:14px 0 2px;letter-spacing:-.01em}
.scan-mock__big small{display:block;font-family:var(--font-body);font-size:.8125rem;color:rgba(255,255,255,.62);margin-top:6px;letter-spacing:0}
.scan-mock__row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:rgba(255,255,255,.86)}
.scan-mock__row b{font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.scan-mock__row i{grid-column:1/-1;height:3px;border-radius:3px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.scan-mock__row i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:3px;background:linear-gradient(90deg,#3B82F6,#93C5FD)}
@media (prefers-reduced-motion:no-preference){.scan-mock__row i::after{animation:scanBarre 1.6s var(--ease) both}.scan-mock__row:nth-child(4) i::after{animation-delay:.15s}.scan-mock__row:nth-child(5) i::after{animation-delay:.3s}.scan-mock__row:nth-child(6) i::after{animation-delay:.45s}}
@keyframes scanBarre{from{width:0}}
@media (max-width:980px){.scan-mock{display:none}}

/* ═══ Rapport d'exposition façon Have I Been Pwned (10/10) ═══ */
.band--rapport{padding-bottom:clamp(48px,6vw,80px)}
.rap-h1{font-family:var(--font-display);font-weight:500;color:#fff;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;margin:18px 0 8px;max-width:26ch}
.rap-resume{color:rgba(255,255,255,.86);font-size:1.0625rem;margin:0}
.rap-resume strong{color:#fff}
.rap-mesure{color:rgba(255,255,255,.6);font-size:.875rem;margin:6px 0 0;max-width:70ch}
.cas-demo{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 26px}
.tabs--sombre{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.tabs--sombre a{color:rgba(255,255,255,.75)}
.tabs--sombre a.is-active{background:#fff;color:var(--ink)}
/* le verdict : un bloc plein, impossible à rater */
.verdict{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,32px);align-items:start;margin-top:30px;padding:clamp(24px,3.6vw,44px);border-radius:26px;color:#fff;box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.verdict::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 90% at 100% 0%,rgba(255,255,255,.22),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 2px,transparent 2px 14px)}
.verdict--fuite{background:linear-gradient(135deg,#5B0F14 0%,#9F1A1F 48%,#DC2626 100%);box-shadow:0 40px 90px -40px rgba(220,38,38,.75),0 0 0 1px rgba(254,202,202,.25) inset}
.verdict--pro{background:linear-gradient(135deg,#4A2504 0%,#8A4A07 48%,#D97706 100%);box-shadow:0 40px 90px -40px rgba(217,119,6,.7),0 0 0 1px rgba(253,230,138,.25) inset}
.verdict__ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.25) inset}
.verdict__ico svg{width:30px;height:30px}
.verdict__titre{font-family:var(--font-display);font-weight:500;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-.01em;margin:0;max-width:24ch}
.verdict__chiffres{display:flex;flex-wrap:wrap;gap:12px 44px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
.verdict__chiffres div{display:flex;flex-direction:column;max-width:220px}
.verdict__chiffres b{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.verdict__chiffres span{font-size:.875rem;color:rgba(255,255,255,.82);margin-top:6px;line-height:1.35}
.verdict__src{margin:18px 0 0;font-size:.8125rem;color:rgba(255,255,255,.72)}
.verdict__src a{color:#fff;border-bottom:1px solid rgba(255,255,255,.45)}
.verdict .redacted{filter:blur(7px);cursor:pointer;transition:filter .3s}
.verdict .redacted:hover,.verdict .redacted:focus{filter:none}
.verdicts-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.verdicts-duo .verdict{margin-top:0}
.verdict--compact{grid-template-columns:1fr;gap:16px}
.verdict--compact .verdict__ico{width:52px;height:52px;border-radius:16px}
.verdict--compact .verdict__titre{font-size:clamp(1.4rem,2.2vw,1.85rem)}
.verdict--compact .verdict__chiffres{gap:12px 28px}
.verdict--compact .verdict__chiffres b{font-size:clamp(2rem,3vw,2.6rem)}
@media (max-width:980px){.verdicts-duo{grid-template-columns:1fr}}
@media (max-width:560px){.verdict{grid-template-columns:1fr;gap:16px}.verdict__ico{width:52px;height:52px}.verdict__chiffres{gap:16px 28px}}
/* le détail : une fiche par fuite, sur une ligne de temps */
.rap-sec{padding-top:clamp(48px,6vw,80px)}
.rap-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,4vw,56px);align-items:start}
.rap-grid > aside{position:sticky;top:calc(var(--navh) + 24px)}
@media (max-width:980px){.rap-grid{grid-template-columns:1fr}.rap-grid > aside{position:static}}
.rap-titre{margin-bottom:18px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag-donnee{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;font-size:.8125rem;font-weight:600;background:var(--glacier);color:#334260;border:1px solid var(--line)}
.tag-donnee--grave{background:#FEE2E2;color:#991B1B;border-color:#FECACA}
.tags--big .tag-donnee{height:38px;padding:0 16px;font-size:.9375rem}
.reflexe{display:flex;gap:12px;align-items:flex-start;margin:22px 0 30px;padding:16px 18px;border-radius:16px;background:var(--glacier);color:#334260;font-size:.9375rem;line-height:1.55}
.reflexe svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--brand)}
.breaches{display:grid;gap:0}
.breach{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 20px;position:relative}
.breach::before{content:"";position:absolute;left:35px;top:0;bottom:0;width:2px;background:linear-gradient(var(--line-strong),var(--line))}
.breach:first-child::before{top:26px}
.breach:last-child::before{bottom:auto;height:26px}
.breach__an{position:relative;padding-top:16px;text-align:center}
.breach__an span{position:relative;z-index:1;display:inline-block;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--line-strong);font-family:var(--font-display);font-size:.9375rem;color:var(--ink);font-variant-numeric:lining-nums}
.breach--pro .breach__an span{font-family:var(--font-body);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.breach__carte{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow);transition:box-shadow .3s,transform .3s}
.breach__carte:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.breach__tete{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.breach__tete h3{font-size:1.375rem;margin:0}
.breach__meta{margin:2px 0 0;font-size:.8125rem;color:var(--muted)}
.mono{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);font-size:1.4rem;color:#fff;background:linear-gradient(135deg,#7F1D1D,#DC2626)}
.mono--p{background:linear-gradient(135deg,#78350F,#D97706)}
.mono--b{background:linear-gradient(135deg,#0B1F4D,#1D4ED8)}
.badge-trouve{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.badge-trouve::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.breach--pro .badge-trouve{background:#FEF3C7;color:#92400E}
.breach__constat{display:flex;gap:10px;align-items:center;margin:16px 0 0;font-weight:600;color:var(--ink);font-size:.9375rem}
.breach__constat svg{width:17px;height:17px;color:#DC2626;flex:none}
.breach__bloc{margin-top:14px}
.breach__lib{display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.breach__pourquoi{margin:16px 0 0;padding:14px 16px;border-radius:14px;background:#FFF7F7;border:1px solid #FEE2E2;font-size:.9375rem;line-height:1.6;color:#3B2326}
.breach__pourquoi strong{color:#991B1B}
.breach__source{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:.875rem;color:var(--muted);line-height:1.55}
.breach__source svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--brand)}
.breach__source strong{color:var(--ink)}
.breach__ligne{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font-size:.9375rem;color:var(--ink);line-height:1.5}
.breach__ligne svg{width:16px;height:16px;flex:none;margin-top:3px;color:#B45309}
.redacted{filter:blur(5px);cursor:pointer;transition:filter .3s;border-radius:4px}
.redacted:hover,.redacted:focus{filter:none}
.note-masque{display:flex;gap:10px;align-items:flex-start;margin:8px 0 0;font-size:.875rem;color:var(--muted)}
.note-masque svg{width:16px;height:16px;flex:none;margin-top:3px}
.guilty{margin:0 0 22px;padding:16px 18px;border-radius:16px;background:#FFFBEB;border:1px solid #FDE68A;color:#5A3D00;font-size:.9375rem}
.apercu-plan{background:linear-gradient(180deg,#071433,#0B1F4D);color:rgba(255,255,255,.82);border-radius:22px;padding:24px;box-shadow:0 30px 60px -30px rgba(2,6,23,.8)}
.apercu-plan h3{color:#fff;font-size:1.25rem;margin:0 0 14px}
.apercu-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.apercu-plan li{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;line-height:1.45}
.apercu-plan li::before{content:"";width:18px;height:18px;flex:none;margin-top:2px;border-radius:50%;background:#34D399 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052e1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.apercu-plan li.clos{color:rgba(255,255,255,.55)}
.apercu-plan li.clos::before{background:rgba(255,255,255,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/11px no-repeat}
.apercu-plan p strong{color:#fff}
/* offres en fin de rapport */
.offre-band{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:28px;background:radial-gradient(50% 70% at 90% 0%,rgba(59,130,246,.45),transparent 70%),linear-gradient(160deg,#020617 0%,#0B1F4D 70%,#0F2E7A 100%)}
.offre-band .h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.2rem)}
.offre-band__plans{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini-plan{background:#fff;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:4px}
.mini-plan--mis{background:linear-gradient(160deg,#0B1F4D,#1D4ED8);color:#fff;box-shadow:0 0 0 1px rgba(147,197,253,.35)}
.mini-plan__n{font-family:var(--font-display);font-size:1.2rem;margin:0;color:inherit}
.mini-plan__t{font-size:.8125rem;margin:0;opacity:.75}
.mini-plan__p{font-family:var(--font-display);font-size:2rem;margin:10px 0 0;line-height:1}
.mini-plan__p small{font-family:var(--font-body);font-size:.8125rem;opacity:.7;margin-left:4px}
.mini-plan__s{font-size:.75rem;margin:4px 0 14px;opacity:.75}
.mini-plan .btn{margin-top:auto}
@media (max-width:900px){.offre-band{grid-template-columns:1fr}}
@media (max-width:560px){.offre-band__plans{grid-template-columns:1fr}.breach{grid-template-columns:44px minmax(0,1fr);gap:0 10px}.breach::before{left:21px}.breach__an span{font-size:.75rem;padding:3px 5px}.breach__carte{padding:18px}.breach__tete{grid-template-columns:auto 1fr}.breach__tete .badge-trouve{grid-column:1/-1;justify-self:start}.mono{width:40px;height:40px;font-size:1.2rem}}
.band .verdict__titre{color:#fff}
.band .verdict__chiffres span{color:rgba(255,255,255,.84)}
.band .verdict__src{color:rgba(255,255,255,.75)}
.verdict--compact .verdict__chiffres{gap:14px 26px}
.verdict--compact .verdict__chiffres b{font-size:clamp(1.9rem,2.6vw,2.4rem)}
.verdict--compact .verdict__chiffres div{max-width:170px}
/* Logo officiel de la fuite (LogoPath de Have I Been Pwned), monogramme en repli */
.logo-fuite{position:relative;width:56px;height:56px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 16px -10px rgba(7,26,61,.35);display:grid;place-items:center;overflow:hidden;flex:none}
.logo-fuite img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}
.logo-fuite__mono{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:1.4rem;color:#fff;background:linear-gradient(135deg,#7F1D1D,#DC2626)}
@media (max-width:560px){.logo-fuite{width:44px;height:44px;border-radius:12px}.logo-fuite img{padding:6px}}
/* Les logos HIBP sont souvent blancs sur fond transparent (HIBP les pose sur fond sombre) : tuile bleu nuit */
.logo-fuite{background:linear-gradient(160deg,#0B1F4D,#071433);border-color:rgba(11,31,77,.6);width:64px;height:64px;border-radius:18px}
.logo-fuite img{background:transparent;padding:10px}
.logo-fuite__mono{background:transparent;color:rgba(255,255,255,.35)}
@media (max-width:560px){.logo-fuite{width:48px;height:48px;border-radius:14px}.logo-fuite img{padding:7px}}

/* ═══ Observatoire : toutes les fuites HIBP, chacune avec son logo officiel ═══ */
.obs-meta{color:rgba(255,255,255,.62)!important;font-size:.8125rem;margin:18px 0 0}
.obs-chiffres{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.obs-chiffres b{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.2vw,2.1rem);color:#fff;line-height:1.1;letter-spacing:-.01em}
.obs-chiffres span{display:block;font-size:.8125rem;color:rgba(255,255,255,.7);margin-top:6px;line-height:1.35}
@media (max-width:980px){.obs-chiffres{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.obs-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}
.obs-annees{position:sticky;top:calc(var(--navh) + 8px);z-index:5;display:flex;gap:6px;overflow-x:auto;padding:8px;margin-bottom:28px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);scrollbar-width:none}
.obs-annees a{flex:none;display:inline-flex;align-items:baseline;gap:5px;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.875rem;color:var(--ink)}
.obs-annees a small{font-weight:500;color:var(--muted-2);font-size:.75rem}
.obs-annees a:hover{background:var(--glacier)}
.obs-an{margin-bottom:34px;scroll-margin-top:140px}
.obs-an__t{display:flex;align-items:baseline;gap:12px;font-size:1.75rem;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.obs-an__t span{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted)}
.obs-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.obs-grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.obs-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.obs-grille{grid-template-columns:1fr}}
.obs-tuile{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:box-shadow .25s,transform .25s,border-color .25s}
.obs-tuile:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:rgba(37,99,255,.25)}
.obs-tuile .logo-fuite{width:52px;height:52px;border-radius:14px}
.obs-tuile .logo-fuite img{padding:8px}
.obs-tuile__t{min-width:0;display:flex;flex-direction:column;gap:1px}
.obs-tuile__t b{font-weight:600;font-size:.9375rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.obs-tuile__t small{font-size:.75rem;color:var(--muted);line-height:1.35}
.obs-tuile__t em{font-style:normal;color:var(--brand);font-weight:600}
.obs-tuile--fr{border-color:rgba(37,99,255,.3);background:linear-gradient(180deg,#fff,#F4F8FF)}
.obs-citer{padding:24px;border-radius:20px;background:var(--glacier);border:1px solid var(--line)}
.code-cit{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8125rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);margin:10px 0 12px;overflow-wrap:anywhere}
/* Accueil : le mur de logos des fuites référencées */
.mur{margin-top:44px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mur__piste{display:flex;gap:14px;width:max-content}
@media (prefers-reduced-motion:no-preference){.mur__piste{animation:marquee 60s linear infinite}}
.logo-fuite--mur{width:72px;height:72px;border-radius:20px}
.logo-fuite--mur img{padding:12px}
.mur-legende{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;align-items:center;margin-top:14px;font-size:.8125rem;color:var(--muted)}
.mur-legende a{color:var(--brand);font-weight:600}
/* Alertes : logo officiel quand l'organisme est chez HIBP */
.feed-item .logo-fuite{width:30px;height:30px;border-radius:9px;box-shadow:none}
.feed-item .logo-fuite img{padding:4px}
.feed-item .logo-fuite__mono{font-size:.85rem}
.feed-item.a-logo::before{display:none}
.obs-chiffres{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
.obs-chiffres b{font-size:clamp(1.8rem,3vw,2.6rem)}
@media (max-width:560px){.obs-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ═══ Bandeau de preuve (FBI, Europol, NCA) — bandePreuve() du vrai rapport ═══ */
.preuve{display:grid;grid-template-columns:repeat(3,minmax(0,.8fr)) minmax(0,1.3fr);gap:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.preuve__c{padding:22px 22px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.preuve__c b{font-family:var(--font-display);font-weight:500;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1;color:var(--brand);letter-spacing:-.01em}
.preuve__c span{font-size:.875rem;color:var(--muted);line-height:1.4}
.preuve__ref{border-right:0;background:radial-gradient(70% 90% at 100% 0%,rgba(59,130,246,.45),transparent 70%),linear-gradient(160deg,#050B1F,#0B1F4D);color:#fff}
.preuve__ref b{color:#fff;font-size:clamp(1.5rem,2.1vw,1.9rem)}
.preuve__ref > span{color:rgba(255,255,255,.8)}
.preuve__qui{display:flex;gap:6px;margin-top:6px}
.preuve__qui i{font-style:normal;font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:#DBEAFE;border:1px solid rgba(219,234,254,.35);border-radius:6px;padding:3px 7px}
.preuve__src{grid-column:1/-1;margin:0;padding:9px 22px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted-2);background:var(--glacier)}
.preuve__src a{color:var(--muted);border-bottom:1px solid var(--line-strong)}
@media (max-width:900px){.preuve{grid-template-columns:repeat(3,minmax(0,1fr))}.preuve__ref{grid-column:1/-1}.preuve__c:nth-child(3){border-right:0}}
@media (max-width:560px){.preuve{grid-template-columns:1fr 1fr}.preuve__c{border-bottom:1px solid var(--line)}.preuve__c:nth-child(2){border-right:0}.preuve__c:nth-child(3){grid-column:1/-1;border-right:0}}
.preuve-sec{padding-top:0}
/* attribution HIBP, discrète mais présente partout où une donnée HIBP s'affiche */
.attrib-hibp{font-size:.75rem;color:var(--muted-2);margin:10px 0 0}
.attrib-hibp a{color:var(--muted);border-bottom:1px solid var(--line-strong)}
.band .attrib-hibp,.scan-mock .attrib-hibp{color:rgba(255,255,255,.55)}
.band .attrib-hibp a,.scan-mock .attrib-hibp a{color:rgba(255,255,255,.75);border-bottom-color:rgba(255,255,255,.3)}

/* ═══ v5 — la marque réelle (favicon trois barres + Sans Trace) ═══ */
.brand{gap:10px;font-family:var(--font-display);font-weight:600;letter-spacing:-.03em}
.brand span::after{display:none!important}
.brand b{font-weight:600;color:var(--brand)}
.brand__mark{width:28px;height:28px;flex:none}
.brand__fond{fill:var(--ink)}
.brand__barre{fill:#3B82F6}
.site-header--over-hero .brand__fond,.footer .brand__fond{fill:rgba(255,255,255,.1)}
.site-header--over-hero .brand b,.footer .brand b{color:#93C5FD}
.site-header--over-hero .brand__barre,.footer .brand__barre{fill:#93C5FD}
.brand__mark--grand{width:52px;height:52px}

/* ═══ v5 — photos (section famille, tranquillité) ═══ */
.family{gap:20px}
.carte-photo{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;min-height:540px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 28px;color:#fff;box-shadow:0 30px 60px -38px rgba(7,26,61,.7)}
.carte-photo__img{position:absolute;inset:0;z-index:-2}
.carte-photo__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.carte-photo:hover .carte-photo__img img{transform:scale(1.04)}
.carte-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,6,23,0) 38%,rgba(2,6,23,.55) 62%,rgba(2,6,23,.86) 100%)}
.carte-photo h3,.carte-photo .h3{color:#fff;font-size:1.75rem}
.carte-photo p{color:rgba(255,255,255,.86)!important;margin:10px 0 0;font-size:1rem;line-height:1.55}
.photo-chip{position:absolute;top:18px;left:18px;right:auto;max-width:calc(100% - 36px);display:inline-flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-size:.8125rem;font-weight:600;line-height:1.3;box-shadow:0 14px 30px -18px rgba(2,6,23,.7)}
.photo-chip__ok{width:24px;height:24px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--brand);color:#fff}
.photo-chip__ok svg{width:13px;height:13px}
@media (max-width:900px){.carte-photo{min-height:440px}}
.scene-photo{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;min-height:560px;display:flex;align-items:flex-end;justify-content:flex-end;padding:28px;box-shadow:0 40px 80px -44px rgba(7,26,61,.7)}
.scene-photo__img{position:absolute;inset:0;z-index:-1}
.scene-photo__img img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.scene-photo .bulletin-card{max-width:360px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(255,255,255,.6);padding:24px}
@media (max-width:560px){.scene-photo{min-height:520px;padding:14px}.scene-photo .bulletin-card{max-width:none}}

/* ═══ v5 — passe esthétique « niveau Aura » : système ═══ */
/* boutons en pilule, plus d'air, poids moyen */
.btn{border-radius:999px;padding:0 24px;font-weight:500;letter-spacing:-.01em}
.btn--lg{height:56px;padding:0 30px;font-size:1rem}
.btn--sm{height:40px;padding:0 18px}
.btn--primary{box-shadow:0 1px 1px rgba(7,26,61,.12),0 12px 28px -14px rgba(37,99,255,.75)}
.btn--primary:hover{transform:translateY(-1px)}
.btn svg{width:16px;height:16px}
/* étiquettes au-dessus des titres : plus de pastille « IA », un trait fin et un texte sobre */
.eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.01em;gap:10px}
.eyebrow::before{width:18px!important;height:1px!important;border-radius:0!important;background:currentColor!important;opacity:.6}
/* titres : l'accueil respire, le titre ne se coupe plus */
.hero--full .h1{font-size:clamp(2.4rem,4.05vw,3.75rem)!important;line-height:1.04}
.h2{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.08}
.lead{font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.6}
/* cartes : moins de traits, plus de douceur */
.card{border-color:rgba(37,99,255,.08);border-radius:24px}
.card--flat{box-shadow:none}
.breach__carte,.obs-tuile,.alerte-item,.sheet{border-color:rgba(37,99,255,.08)}
/* codes FR / CH / RGPD : discrets */
.code{border-radius:999px;min-width:40px;font-weight:600}
/* puces d'information (chips) : pilule nette */
.chip{border-radius:999px}
/* mur de logos : tuiles larges (les logos HIBP sont carrés OU en longueur) */
.logo-fuite--mur{width:136px;height:68px;border-radius:18px}
.logo-fuite--mur img{padding:14px 18px}
.mur{margin-top:48px}
/* chiffres de preuve : le « 17,8 Md » ne se casse plus et la virgule n'est plus élargie */
.stat__num{font-variant-numeric:lining-nums proportional-nums!important;white-space:nowrap;font-size:clamp(2.2rem,3.6vw,3.25rem)!important}
.stat--ref .stat__num{white-space:normal;font-size:clamp(1.4rem,1.9vw,1.75rem)!important}
.verdict__chiffres b,.preuve__c b,.obs-chiffres b,.kpi__num,.scan-mock__big,.mini-plan__p,.plan__price{font-variant-numeric:lining-nums proportional-nums!important}
/* logos : l'image remplit la tuile et reste entière (contain), quelle que soit sa forme */
.logo-fuite img{position:absolute!important;inset:0;width:100%!important;height:100%!important;box-sizing:border-box;object-fit:contain}
.logo-fuite--mur img{padding:12px 16px!important}
/* étapes de l'accueil : un grand chiffre fin au lieu de la pastille bleue en capitales */
.step__num{display:flex;align-items:baseline;gap:12px;font-size:.9375rem;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;margin-bottom:14px}
.step__num::before{display:none}
.step__num span{font-size:3rem;font-weight:400;color:var(--brand);letter-spacing:-.05em;line-height:.9}
.step{padding-block:56px}
.step__visual{padding:36px 28px}
.step__visual .phone{max-width:250px}
.step__copy .h3{font-size:clamp(1.9rem,3vw,2.5rem)}
.step__copy .chips .chip{background:transparent}
#veille{padding-top:var(--section)!important;padding-bottom:var(--section)!important}
#veille .card,#veille .alert-card,#veille [class*="chart"],#veille .card *{color:var(--ink)}
#veille .card .muted,#veille .alert-card .small{color:var(--muted)}
#suppression .h2,#veille .h2,#tranquillite .h2{max-width:16ch}
#suppression .grid-2 > :first-child .h2{max-width:none}
#veille .tracker,#veille .tracker *{color:var(--ink)}#veille .tracker .pill{color:var(--muted)}
/* tarifs : plus de micro-capitales, têtes de groupe alignées */
.plan__intro{text-transform:none!important;letter-spacing:0!important;font-size:.8125rem!important;font-weight:600}
.pricing-group .group-head{justify-content:center}
.group-head h3{font-size:1.5rem}
.plan{border-radius:26px}
.plan__badge{font-size:.75rem;letter-spacing:0;height:26px;padding:0 12px}
.breach__lib,.fiche__l small,.cats-head,.index-col h3,.niveau,.badge-trouve{text-transform:none!important;letter-spacing:0!important}
.breach__lib{font-size:.8125rem;font-weight:600;color:var(--muted)}
.badge-trouve{font-size:.75rem}
.footer h4{text-transform:none!important;letter-spacing:0!important;font-size:.875rem!important;font-weight:600!important;color:#fff!important;font-family:var(--font-body)}
.footer a{transition:color .2s}
.faq__item{border-radius:18px}
/* la coche des mentions sous les formulaires reste sur la même ligne que le texte */
.form-foot{flex-wrap:nowrap!important;align-items:flex-start;justify-content:flex-start!important;text-align:left;gap:8px}
.form-foot svg{margin-top:3px}
body.amb-abysse .hero + #offres,#offres{padding-top:clamp(36px,4vw,56px)!important}
.paiement-grid,.grid-2--11{gap:24px}
.mail-mock__amount strong,.recu__total strong,.kpi__num,.stat__num,.score__num,.scan__big{font-variant-numeric:lining-nums proportional-nums!important}
body[class*="fx-"] .band .mini strong{color:#6EE7B7}
@media (max-width:560px){.obs-chiffres div:nth-child(5),.obs-chiffres div:nth-child(6){grid-column:1/-1}}

/* ═══ v6 (10/10) — chiffres lisibles : IBM Plex Sans, dans un cadre bleu nuit ═══ */
:root{--font-chiffres:"IBM Plex Sans","Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif}
.stat__num,.preuve__c b,.kpi__num,.plan__price,.verdict__chiffres b,.obs-chiffres b,.mini-plan__p,.scan-mock__big,.score__num,.scan__big,.recu__total strong,.mail-mock__amount strong,.step__num span,.flow__n,.stepper li::before,.breach__an span,.obs-an__t,.scan-mock__row b,.kpis .kpi__num{font-family:var(--font-chiffres)!important;font-weight:500!important;letter-spacing:-.01em!important;font-variant-numeric:lining-nums proportional-nums!important}
/* le bloc de preuve de l'accueil : un cadre bleu nuit, quatre cases, les unités à part */
#produit + .section--glacier{background:#fff!important;padding-top:clamp(56px,6vw,88px)}
.stats{display:grid!important;grid-template-columns:1fr 1fr 1fr 1.3fr!important;gap:0!important;border-radius:28px;overflow:hidden;background:radial-gradient(50% 130% at 100% 0%,rgba(59,130,246,.38),transparent 62%),linear-gradient(160deg,#050B1F 0%,#0B1F4D 100%);box-shadow:0 34px 70px -36px rgba(7,26,61,.7)}
.stats .stat{padding:34px 30px 32px!important;border:0!important;border-right:1px solid rgba(255,255,255,.1)!important;margin:0!important}
.stats .stat:last-child{border-right:0!important}
.stats .stat__num{color:#fff!important;font-size:clamp(2.6rem,4.2vw,3.75rem)!important;line-height:1!important;white-space:nowrap}
.stats .stat__num small,.preuve__c b small{font-family:var(--font-chiffres);font-size:.52em;font-weight:500;color:#93C5FD;margin-left:.08em;letter-spacing:0;vertical-align:baseline;position:static}
.stats .stat__label{color:rgba(255,255,255,.72)!important;font-size:.9375rem!important;line-height:1.45;margin-top:14px!important}
.stats .stat--ref .stat__num{font-family:var(--font-display)!important;font-weight:600!important;font-size:clamp(1.5rem,2vw,1.75rem)!important;white-space:normal;letter-spacing:-.02em!important}
.stats .stat--ref::after{content:"FBI  ·  EUROPOL  ·  NCA";white-space:pre;display:block;width:max-content;margin-top:14px;padding:5px 10px;border:1px solid rgba(219,234,254,.3);border-radius:8px;font:700 .6875rem var(--font-body);letter-spacing:.08em;color:#DBEAFE}
@media (max-width:980px){.stats{grid-template-columns:1fr 1fr!important}.stats .stat:nth-child(2){border-right:0!important}.stats .stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)!important}}
@media (max-width:560px){.stats .stat{padding:24px 20px!important}.stats .stat__num{font-size:2.3rem!important}}
/* le même cadre pour le bandeau de preuve des pages de scan et des rapports */
.preuve{background:radial-gradient(50% 130% at 100% 0%,rgba(59,130,246,.38),transparent 62%),linear-gradient(160deg,#050B1F 0%,#0B1F4D 100%);border:0;border-radius:28px;box-shadow:0 34px 70px -36px rgba(7,26,61,.7)}
.preuve__c{border-right-color:rgba(255,255,255,.1);padding:30px 28px 28px}
.preuve__c b{color:#fff;font-size:clamp(2.3rem,3.6vw,3.25rem)}
.preuve__c span{color:rgba(255,255,255,.72)}
.preuve__ref{background:transparent}
.preuve__ref b{font-family:var(--font-display)!important;font-weight:600!important;font-size:clamp(1.4rem,1.9vw,1.7rem)!important;letter-spacing:-.02em!important}
.preuve__src{background:rgba(255,255,255,.04);border-top-color:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}
.preuve__src a{color:rgba(255,255,255,.75);border-bottom-color:rgba(255,255,255,.3)}
@media (max-width:900px){.preuve__c{border-bottom:1px solid rgba(255,255,255,.1)}}

/* ═══ v6 — mur de logos international, deux rangées en sens contraire ═══ */
.mur{display:grid;gap:14px;margin-top:40px}
.mur__piste--inverse{animation-direction:reverse!important}
@media (prefers-reduced-motion:no-preference){.mur__piste{animation:marquee 90s linear infinite}.mur__piste--inverse{animation-duration:110s}.mur:hover .mur__piste{animation-play-state:paused}}
.logo-fuite--mur{width:148px;height:72px;border-radius:18px}
.logo-fuite--mur.logo--large img{padding:16px 18px!important}
.logo--blanchi img{filter:brightness(0) invert(1)}

/* ═══ v6 — le téléphone du héros : un vrai écran verrouillé iOS ═══ */
.phone--ios .phone__screen{background:radial-gradient(90% 55% at 70% 18%,rgba(96,165,250,.55),transparent 62%),radial-gradient(80% 60% at 10% 90%,rgba(37,99,255,.55),transparent 65%),linear-gradient(180deg,#0B1F4D 0%,#071433 55%,#020617 100%)!important;color:#fff}
.ios{display:flex;flex-direction:column;padding:0 10px 10px;position:relative}
.ios__barre-etat{display:flex;justify-content:flex-end;padding:16px 16px 0;height:34px}
.ios__icones{display:flex;gap:5px;align-items:center;color:#fff}
.ios__icones svg{height:10px;width:auto;fill:currentColor}
.ios__date{text-align:center;font-weight:600;font-size:.9375rem;color:rgba(255,255,255,.88);margin-top:14px;letter-spacing:0}
.ios__heure{text-align:center;font-family:var(--font-display);font-weight:600;font-size:76px;line-height:1;letter-spacing:-.03em;color:rgba(255,255,255,.96);margin-top:2px}
.ios__widget{display:flex;align-items:center;gap:10px;margin:16px 4px 14px;padding:8px 12px 8px 8px;border-radius:18px;background:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:.75rem;color:rgba(255,255,255,.8)}
.ios__widget-ico svg{width:30px;height:30px;display:block;border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.ios__widget-t{display:flex;flex-direction:column;line-height:1.25;flex:1}
.ios__widget-t b{color:#fff;font-size:.8125rem;font-weight:600}
.ios__widget-t strong{color:#6EE7B7;font-weight:700}
.ios__widget-24{font-family:var(--font-chiffres);font-weight:500;color:#fff;font-size:.8125rem}
.ios__pile{display:grid;gap:8px;position:relative}
.ios-notif{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 11px;border-radius:18px;background:rgba(246,248,252,.82);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);color:#0B1B3A;box-shadow:0 6px 18px -10px rgba(2,6,23,.6)}
.ios-notif__app{width:34px;height:34px;border-radius:9px;overflow:hidden;display:grid;place-items:center}
.ios-notif__app svg{width:100%;height:100%;display:block}
.ios-notif__app--gmail{background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.12)}
.ios-notif__app--gmail svg{width:22px;height:auto}
.ios-notif__txt{min-width:0;font-size:.75rem;line-height:1.3}
.ios-notif__l1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ios-notif__l1 strong{font-weight:600;font-size:.8125rem;color:#0B1B3A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ios-notif__l1 span{font-size:.6875rem;color:rgba(11,27,58,.5);white-space:nowrap;flex:none}
.ios-notif__sujet{font-weight:500;color:#0B1B3A;margin-top:1px}
.ios-notif__corps{color:rgba(11,27,58,.62);margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ios-notif--pile{transform:scale(.94);transform-origin:top center;margin-top:-34px;opacity:.55;position:relative;z-index:-1;filter:saturate(.8)}
.ios__indicateur{position:absolute;left:50%;bottom:8px;width:110px;height:4px;border-radius:4px;background:rgba(255,255,255,.75);transform:translateX(-50%)}
.hero .phone--ios .phone__body{-webkit-mask-image:none;mask-image:none}

.logo-fuite:has(img) .logo-fuite__mono{display:none}
.ios__pile{isolation:isolate}
.ios-notif--pile{margin-top:-58px;opacity:.6;z-index:-1}
.ios__actions{position:absolute;left:0;right:0;bottom:26px;display:flex;justify-content:space-between;padding:0 30px;pointer-events:none}
.ios__actions span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff}
.ios__actions svg{width:20px;height:20px}
.preuve-scan{padding-top:clamp(40px,5vw,64px)!important}.preuve__c b{margin-bottom:6px}

/* ═══ v6.1 (10/10) — défilements TOUJOURS actifs (demande du fondateur) ═══
   - plus de pause au survol ;
   - ils tournent aussi quand Windows / macOS demande de réduire les animations (le reste du site, lui, s'arrête toujours) ;
   - boucle exacte : l'espace est porté par chaque élément (margin), pas par « gap », sinon la reprise saute d'un demi-espace ;
   - logos chargés tout de suite (loading="eager") : plus de case vide qui arrive en retard. */
.mur__piste,.marquee__track{gap:0!important;will-change:transform;backface-visibility:hidden}
.mur__piste > *{margin-right:14px}
.marquee__track > *{margin-right:64px}
.mur .mur__piste,.marquee .marquee__track{animation:marquee 90s linear infinite!important;animation-play-state:running!important}
.mur .mur__piste--inverse{animation:marquee 110s linear infinite reverse!important}
.marquee .marquee__track{animation-duration:50s!important}
.mur:hover .mur__piste,.marquee:hover .marquee__track{animation-play-state:running!important}

/* ═══ v7 (10/10) — les boutons de scan RAYONNENT : un balayage de lumière, un halo qui respire, une lueur bleue.
   Toujours actifs, même si le système réduit les animations (demande du fondateur : on doit sentir qu'on appuie sur l'outil). ═══ */
:is(a.btn[href^="diagnostic"],[data-testid="diagnostic-submit"],[data-testid="famille-cta"],a.btn[href="tarifs.html#famille"]){
  --r1:#1E40AF;--r2:#2563FF;--r3:#60A5FA;
  position:relative;isolation:isolate;color:#fff!important;border:0!important;font-weight:600!important;
  background:linear-gradient(110deg,transparent 0%,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%,transparent 100%) no-repeat,
             linear-gradient(135deg,var(--r1) 0%,var(--r2) 52%,var(--r3) 120%)!important;
  background-size:260% 100%,100% 100%!important;background-position:180% 0,0 0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px rgba(147,197,253,.45),0 12px 30px -10px rgba(37,99,255,.85),0 0 48px -8px rgba(96,165,250,.65)!important;
  animation:rayonBalayage 3.4s cubic-bezier(.45,0,.2,1) infinite,rayonHalo 2.6s ease-out infinite!important;
  text-shadow:0 1px 1px rgba(7,26,61,.25)}
:is(a.btn[href^="diagnostic"],[data-testid="diagnostic-submit"],[data-testid="famille-cta"],a.btn[href="tarifs.html#famille"]):hover{
  transform:translateY(-2px) scale(1.015);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 0 1px rgba(191,219,254,.7),0 18px 40px -10px rgba(37,99,255,.95),0 0 70px -6px rgba(96,165,250,.85)!important}
:is(a.btn[href^="diagnostic"],[data-testid="diagnostic-submit"],[data-testid="famille-cta"],a.btn[href="tarifs.html#famille"]) svg{transition:transform .35s var(--ease)}
:is(a.btn[href^="diagnostic"],[data-testid="diagnostic-submit"],[data-testid="famille-cta"],a.btn[href="tarifs.html#famille"]):hover svg{transform:translateX(4px)}
:is(a.btn[href^="diagnostic"],[data-testid="diagnostic-submit"],[data-testid="famille-cta"],a.btn[href="tarifs.html#famille"])::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:-1;pointer-events:none;
  box-shadow:0 0 0 0 rgba(96,165,250,.6);animation:rayonOnde 2.6s ease-out infinite!important}
@keyframes rayonBalayage{0%,18%{background-position:180% 0,0 0}62%,100%{background-position:-80% 0,0 0}}
@keyframes rayonHalo{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@keyframes rayonOnde{0%{box-shadow:0 0 0 0 rgba(96,165,250,.55)}80%,100%{box-shadow:0 0 0 14px rgba(96,165,250,0)}}
/* le bouton de l'en-tête suit, même au-dessus du bandeau */
.site-header--over-hero .nav__actions a.btn[href^="diagnostic"]{color:#fff!important}
/* sur l'accueil, le bouton principal du héros et l'appel final sont plus grands */
[data-testid="hero-cta-primary"],[data-testid="final-cta"]{height:60px!important;padding:0 34px!important;font-size:1.0625rem!important}
.api-officielle{display:flex!important;align-items:center;gap:8px;margin-top:14px;font-size:.8125rem!important;font-weight:600;color:#BFDBFE!important;letter-spacing:0}
.api-officielle svg{width:16px;height:16px;flex:none;color:#6EE7B7}
.stats .stat--ref::after{order:2}
.stats .stat--ref{display:flex;flex-direction:column}
.mur-legende{justify-content:flex-end}
.stats .api-officielle{order:3}
.stats__api{grid-column:1/-1;display:flex;justify-content:center;padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.stats__api .api-officielle{margin:0;font-size:.875rem!important}
.preuve__src{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px}
.preuve__src .api-officielle{margin:0}

/* ═══ v8 (10/10) — choix délégué par le fondateur : « la plus humaine et la plus impactante ».
   IBM Plex Sans pour les titres ET le texte (une seule famille, la même que les chiffres) ; Newsreader italique pour le mot d'accent. ═══ */
:root{--font-display:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{letter-spacing:0}
h1,h2,h3,.h1,.h2,.h3,.band__titre,.rap-h1,.verdict__titre,.droit h3,.grand-lien{font-weight:500!important;letter-spacing:-.022em!important}
.hero--full .h1{letter-spacing:-.028em!important}
h4,.h4{font-weight:600;letter-spacing:-.005em!important}
.brand{font-weight:600;letter-spacing:-.02em}
.lead{letter-spacing:-.003em}
.btn{letter-spacing:-.003em}

/* ═══════════ v9 (10/10) — accueil : cartes-scènes à la manière d'Aura, pervenche, plage, drapeaux ═══════════ */
/* drapeaux (CSS pur, pas d'emoji) */
.drapeau{display:inline-block;width:20px;height:14px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.25);vertical-align:-2px}
.drapeau--fr{background:linear-gradient(90deg,#002395 0 33.4%,#fff 33.4% 66.6%,#ED2939 66.6%)}
.drapeau--ch{width:14px;height:14px;background:#DA291C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M13 6h6v7h7v6h-7v7h-6v-7H6v-6h7z'/%3E%3C/svg%3E") center/100% no-repeat}
.trust .drapeau{margin-right:2px}
.hero-pill{display:inline-flex;align-items:center;gap:10px;margin:0 0 26px;padding:8px 16px 8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.875rem;font-weight:500;color:rgba(255,255,255,.9)}
.hero-pill__sep{width:1px;height:14px;background:rgba(255,255,255,.25);margin:0 4px}

/* section nuit + tête sur deux colonnes */
.sec-nuit{position:relative;isolation:isolate;background:radial-gradient(60% 40% at 85% 0%,rgba(37,99,255,.28),transparent 60%),radial-gradient(50% 35% at 0% 100%,rgba(29,78,216,.22),transparent 60%),linear-gradient(180deg,#050B1F 0%,#081230 100%)!important;color:#fff}
.sec-nuit .eyebrow{color:#93C5FD}
.sec-nuit .h2{color:#fff}
.sec-nuit .serif{color:#93C5FD}
.tete-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.tete-2col .lead{color:rgba(255,255,255,.72);margin:0}
@media (max-width:900px){.tete-2col{grid-template-columns:1fr;gap:18px}}

/* les cartes-scènes */
.etapes{display:grid;gap:24px}
.etape{display:grid;grid-template-columns:.82fr 1.18fr;min-height:560px;border-radius:32px;overflow:hidden;background:linear-gradient(160deg,#0F1D45 0%,#0A1636 100%);border:1px solid rgba(147,197,253,.12);box-shadow:0 40px 80px -50px rgba(0,0,0,.9)}
.etape__texte{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,3.4vw,48px)}
.etape__num{display:inline-grid!important;place-items:center;width:64px;height:64px;border-radius:20px;background:rgba(147,197,253,.1);border:1px solid rgba(147,197,253,.22);margin:0!important}
.etape__num span:first-child{font-family:var(--font-chiffres)!important;font-size:1.5rem!important;font-weight:500;color:#BFDBFE!important;letter-spacing:-.01em;line-height:1}
.etape h3{color:#fff;font-size:clamp(2rem,3vw,2.75rem)!important;margin:0 0 14px}
.etape p{color:rgba(255,255,255,.74);font-size:1.0625rem;line-height:1.6;margin:0;max-width:42ch}
.etape__puces{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.etape__puces span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:.875rem;font-weight:500;color:rgba(255,255,255,.88)}
.etape__puces svg{width:14px;height:14px;color:#6EE7B7}
.etape__scene{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;padding:40px}
.etape__photo{position:absolute;inset:0;z-index:-2}
.etape__photo img{width:100%;height:100%;object-fit:cover}
.etape__photo--droite img{object-position:70% center}
.etape__scene--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,22,54,.35),rgba(10,22,54,0) 30%)}
.etape__scene--sonar{background:radial-gradient(70% 70% at 50% 50%,#1D4ED8 0%,#0F2E7A 45%,#071433 100%)}
.sonar{position:absolute;inset:0;z-index:-1;display:grid;place-items:center}
.sonar i{position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(191,219,254,.35);animation:sonarOnde 4.5s cubic-bezier(.2,.6,.3,1) infinite}
.sonar i:nth-child(2){animation-delay:1.5s}.sonar i:nth-child(3){animation-delay:3s}
@keyframes sonarOnde{0%{transform:scale(.6);opacity:0}15%{opacity:1}100%{transform:scale(3);opacity:0}}
/* verre (interface posée sur la scène) */
.verre{position:relative;width:min(100%,400px);border-radius:24px;padding:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);color:#fff;box-shadow:0 30px 60px -30px rgba(2,6,23,.85)}
.verre--clair{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.7);color:var(--ink)}
.verre__tete{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.verre__tete b{font-weight:600;font-size:.9375rem;flex:1}
.verre__app svg{width:30px;height:30px;display:block;border-radius:8px}
.verre__grand{font-family:var(--font-chiffres);font-size:4rem;font-weight:500;line-height:1;letter-spacing:-.02em}
.verre__grand small{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:rgba(255,255,255,.72);margin-top:6px;letter-spacing:0}
.verre__ligne{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.9375rem}
.verre__ligne:first-of-type{margin-top:14px}
.verre__ligne b{font-family:var(--font-chiffres);font-weight:600}
.verre__ligne i{grid-column:1/-1;height:4px;border-radius:4px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.verre__ligne i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#60A5FA,#BFDBFE)}
.verre__pied{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:.8125rem;color:rgba(255,255,255,.7)}
.verre__pied a{color:#BFDBFE;font-weight:600}
.verre__btn{display:block;margin-top:12px;padding:12px;border-radius:999px;text-align:center;background:#fff;color:var(--navy);font-weight:600;font-size:.9375rem}
.verre--req{width:min(100%,460px);padding:18px}
.verre--req .verre__tete{padding:0 4px}
.verre__req{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid rgba(11,27,58,.08)}
.verre__logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.8125rem;color:#fff;background:linear-gradient(135deg,#1E3A8A,#2563FF)}
.verre__logo--pj{background:#FFE600;color:#111}
.verre__logo--123{background:#E2E8F0;color:#334155}
.verre__req-t{min-width:0;display:flex;flex-direction:column}
.verre__req-t b{font-size:.9375rem;font-weight:600}
.verre__req-t small{font-size:.8125rem;color:var(--muted);line-height:1.35}
.verre__req-a{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.gmail-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #DADCE0;color:#3C4043;font-size:.8125rem;font-weight:600;white-space:nowrap;box-shadow:0 1px 2px rgba(60,64,67,.15)}
.gmail-btn__i svg{width:16px;height:auto;display:block}
.pile-verre{display:grid;gap:12px;width:min(100%,380px);margin-left:auto}
.pile-verre .ios-notif{background:rgba(246,248,252,.86)}
.verre--kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:rgba(10,22,54,.45)}
.verre__kpi{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08)}
.verre__kpi small{display:block;font-size:.75rem;color:rgba(255,255,255,.72);line-height:1.3}
.verre__kpi b{display:block;font-family:var(--font-chiffres);font-size:2rem;font-weight:500;line-height:1.05;margin-top:6px}
.k-ok b{color:#6EE7B7}.k-bleu b{color:#93C5FD}.k-alerte b{color:#FCA5A5}
.note-verre{position:absolute;display:flex;gap:12px;align-items:flex-start;max-width:300px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-size:.8125rem;line-height:1.45;box-shadow:0 20px 40px -20px rgba(2,6,23,.7)}
.note-verre b{display:block;font-size:.875rem;margin-bottom:2px}
.note-verre svg{width:18px;height:18px;flex:none;color:var(--brand);margin-top:1px}
.note-verre--bas-g{left:28px;bottom:28px}
.note-verre--bas-d{right:28px;bottom:28px}
.note-verre--haut-g{left:28px;top:28px}
@media (max-width:980px){
  .etape{grid-template-columns:1fr;min-height:0}
  .etape__scene{order:-1;min-height:460px;padding:28px 20px 96px}
  .etape__texte{gap:28px}
  .note-verre{left:16px!important;right:16px!important;max-width:none;bottom:16px!important;top:auto!important}
  .pile-verre{margin:0 auto}
}
@media (max-width:560px){.verre__req{grid-template-columns:auto 1fr}.verre__req-a{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}

/* appel final : grand texte qui défile (comme Aura), toujours actif */
.cta-defile{margin-top:clamp(56px,7vw,96px);text-align:center}
.cta-defile__bande{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.cta-defile__piste{display:flex;align-items:center;width:max-content;animation:marquee 40s linear infinite!important}
.cta-defile__t{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.03em;line-height:1.15;color:#BFDBFE;white-space:nowrap;padding:0 .3em}
.cta-defile__t--b{color:#fff}
.cta-defile__sep{width:14px;height:14px;border-radius:50%;background:#2563FF;box-shadow:0 0 24px #60A5FA;flex:none;margin:0 .6em}
.cta-defile__bas{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.cta-defile__bas .btn-note{color:rgba(255,255,255,.62)}
.cta-defile__rejoindre{margin:6px 0 0;color:rgba(255,255,255,.75);font-size:.9375rem}
.cta-defile__rejoindre strong{color:#fff}
.cta-defile__puces{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:4px;font-size:.875rem;color:rgba(255,255,255,.75)}
.cta-defile__puces span{display:inline-flex;align-items:center;gap:7px}
.cta-defile__puces svg{width:14px;height:14px;color:#6EE7B7}

/* Suppression continue : pervenche */
.sec-pervenche{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(50% 70% at 100% 0%,rgba(255,255,255,.7),transparent 60%),radial-gradient(45% 60% at 0% 100%,rgba(165,180,252,.55),transparent 60%),linear-gradient(160deg,#E3EBFF 0%,#C9D6FF 55%,#B9C8FF 100%)!important;padding-block:clamp(80px,9vw,128px)!important}
.sec-pervenche .eyebrow{color:#3730A3}
.sec-pervenche .h2{color:#0B1B3A;max-width:15ch}
.sec-pervenche .lead{color:#33406A}
.btn--encre{background:#0B1B3A;color:#fff;box-shadow:0 14px 30px -14px rgba(11,27,58,.7)}
.btn--encre:hover{background:#13285A;transform:translateY(-1px)}
.prog{position:relative;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:26px 26px 18px;box-shadow:0 40px 80px -40px rgba(55,48,163,.45)}
.prog__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.prog__tete b{font-size:1.0625rem;font-weight:600}
.prog__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid rgba(11,27,58,.08)}
.prog__lab{display:block;font-size:.8125rem;color:var(--muted)}
.prog__stat b{display:block;font-family:var(--font-chiffres);font-size:2.4rem;font-weight:500;line-height:1.05;margin:4px 0 10px;color:var(--ink)}
.prog__barre{display:block;height:6px;border-radius:6px;background:rgba(11,27,58,.08);overflow:hidden}
.prog__barre i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,#2563FF,#60A5FA)}
.prog__barre i.ok{background:linear-gradient(90deg,#059669,#34D399)}
.prog__barre i.wait{background:linear-gradient(90deg,#818CF8,#C7D2FE)}
.prog__ligne{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(11,27,58,.06);font-size:.9375rem}
.prog__ico{width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.prog__ico svg{width:13px;height:13px}
.prog__ico--ok{background:#D1FAE5;color:#047857}
.prog__ico--wait{background:#E0E7FF;box-shadow:inset 0 0 0 5px #E0E7FF,inset 0 0 0 13px #6366F1}
.prog__ico--warn{background:#FEF3C7;box-shadow:inset 0 0 0 5px #FEF3C7,inset 0 0 0 13px #F59E0B}
.prog__notif{position:absolute;left:-36px;bottom:-34px;width:min(340px,90%)}
.prog__notif .ios-notif{background:rgba(11,27,58,.9);color:#fff;box-shadow:0 24px 50px -20px rgba(11,27,58,.8)}
.prog__notif .ios-notif__l1 strong,.prog__notif .ios-notif__sujet{color:#fff}
.prog__notif .ios-notif__l1 span{color:rgba(255,255,255,.6)}
.prog__notif .ios-notif__corps{display:none}
@media (max-width:900px){.prog__notif{position:static;width:auto;margin-top:16px}}

/* Tranquillité : la plage */
.plage{position:relative;isolation:isolate;overflow:hidden;border-radius:36px;min-height:640px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:clamp(32px,5vw,72px);box-shadow:0 40px 90px -50px rgba(7,26,61,.6)}
.plage__img{position:absolute;inset:0;z-index:-2}
.plage__img img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.plage::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,250,240,.82) 0%,rgba(255,250,240,.55) 38%,rgba(255,250,240,0) 60%)}
.plage__texte .h2{color:#0B1B3A;max-width:14ch}
.plage__texte .lead{color:#2B3A5C;max-width:44ch}
.plage__texte .eyebrow{color:#1E3A8A}
.plage__bulletin{display:flex;justify-content:flex-end}
.plage .bulletin-card{max-width:380px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.7);box-shadow:0 30px 60px -30px rgba(3,40,60,.6)}
@media (max-width:980px){.plage{grid-template-columns:1fr;min-height:0}.plage::after{background:linear-gradient(180deg,rgba(255,250,240,.88) 0%,rgba(255,250,240,.6) 55%,rgba(255,250,240,0) 80%)}.plage__bulletin{justify-content:center}}
/* v9 — réglages après capture */
.section.sec-nuit,.section.sec-pervenche{padding-top:clamp(88px,9vw,128px)!important;padding-bottom:clamp(88px,9vw,128px)!important}
.etape__scene--sonar .verre--scan{width:min(100%,350px);margin-left:auto;margin-right:12px}
.etape__scene--sonar .note-verre--bas-g{left:28px;top:28px;bottom:auto;max-width:230px}
.etape__scene--photo .verre--req{margin-left:auto;align-self:end}
.etape:nth-child(2) .note-verre--bas-d{right:auto;left:28px;top:28px;bottom:auto;max-width:270px}
.etape:nth-child(2) .etape__scene{align-items:end}
.etape:nth-child(3) .etape__photo--droite img{object-position:88% 30%}
.etape:nth-child(3) .pile-verre{margin:0 auto 0 0;align-self:end;width:min(100%,360px)}
.etape:nth-child(3) .note-verre--haut-g{left:auto;right:28px}
.etape:nth-child(3) .etape__scene{place-items:end start}
.plage__texte .h2{max-width:none}
@media (max-width:980px){.etape__scene--sonar .verre--scan{margin:0 auto}.etape:nth-child(2) .note-verre--bas-d,.etape__scene--sonar .note-verre--bas-g,.etape:nth-child(3) .note-verre--haut-g{top:auto!important;bottom:16px!important;left:16px!important;right:16px!important;max-width:none}.etape:nth-child(3) .pile-verre{margin:0 auto}}
.hero-pill{white-space:nowrap}
@media (max-width:560px){.hero-pill{font-size:.75rem;gap:7px;padding:7px 12px 7px 8px}.hero-pill .drapeau{width:16px;height:11px}.hero-pill .drapeau--ch{width:11px;height:11px}.hero-pill__sep{margin:0 1px}}

/* ═══════════ v10 (10/10) ═══════════ */
/* drapeau à côté du logo */
.brand__drapeau{width:18px;height:12px;border-radius:2.5px;margin-left:10px;align-self:center;box-shadow:0 0 0 1px rgba(11,27,58,.12)}
.site-header--over-hero .brand__drapeau,.footer .brand__drapeau{box-shadow:0 0 0 1px rgba(255,255,255,.3)}

/* étape 03 : l'aube (pêche → lavande) au lieu d'une photo */
.etape__scene--aube{background:radial-gradient(60% 60% at 75% 20%,rgba(255,255,255,.55),transparent 60%),linear-gradient(155deg,#FFE4D2 0%,#FBC7B8 30%,#E3BFE0 60%,#B9C6FF 100%)}
.aube-halo{position:absolute;inset:auto -10% -40% -10%;height:80%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.75),transparent);z-index:-1;filter:blur(10px)}
.etape__scene--aube{place-items:center!important}
.etape__scene--aube .pile-verre{margin:0 auto!important;align-self:center!important}
.etape__scene--aube .ios-notif{background:rgba(255,255,255,.88)}
.etape__scene--aube .verre--kpis{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.8);color:var(--ink)}
.etape__scene--aube .verre__kpi{background:rgba(255,255,255,.75)}
.etape__scene--aube .verre__kpi small{color:var(--muted)}
.etape__scene--aube .verre__kpi b{color:var(--ink)}
.etape__scene--aube .k-ok b{color:#047857}.etape__scene--aube .k-bleu b{color:#1D4ED8}.etape__scene--aube .k-alerte b{color:#B91C1C}
.etape__scene--aube .note-verre--haut-g{left:28px!important;right:auto!important;top:28px}

/* famille : la carte « Vos parents » sous un ciel du soir */
.carte-photo--soir{background:radial-gradient(80% 50% at 50% 0%,#FFC9A8 0%,rgba(255,201,168,0) 70%),linear-gradient(180deg,#F59E8B 0%,#C0699B 32%,#5B3E8E 62%,#1B1638 100%)}
.carte-photo__visuel{position:absolute;inset:0;z-index:-2;display:grid;place-items:center;padding:110px 22px 210px}
.soir-verre{width:100%;max-width:330px;padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 50px -24px rgba(27,22,56,.8)}
.soir-ligne{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:12px 0;font-size:.8125rem;font-weight:500;color:var(--ink)}
.soir-ligne + .soir-ligne{border-top:1px solid rgba(11,27,58,.08)}
.carte-photo--soir::after{background:linear-gradient(180deg,rgba(27,22,56,0) 55%,rgba(27,22,56,.75) 80%,rgba(27,22,56,.95) 100%)!important}

/* ── Suppression continue : SABLE + frise de 30 jours ── */
.sec-sable{background:#F3EEE6!important;color:var(--ink)}
.section.sec-sable{padding-top:clamp(88px,9vw,128px)!important;padding-bottom:clamp(88px,9vw,128px)!important}
.sec-sable .eyebrow{color:#8A5A2B}
.sec-sable .h2{color:#141414;max-width:14ch}
.sec-sable .lead{color:#4A4339}
.tete-2col--clair .lead{color:#4A4339}
.frise{position:relative;background:#fff;border-radius:32px;padding:clamp(24px,3.4vw,44px);box-shadow:0 1px 0 rgba(0,0,0,.03),0 40px 80px -50px rgba(70,50,20,.35)}
.frise__tete{display:flex;justify-content:space-between;align-items:center}
.frise__tete b{font-weight:600;font-size:1.0625rem}
.frise__chiffres{display:flex;gap:clamp(28px,6vw,96px);margin:22px 0 34px}
.frise__chiffres b{display:block;font-family:var(--font-chiffres);font-weight:500;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;letter-spacing:-.03em;color:#141414}
.frise__chiffres span{display:block;margin-top:8px;font-size:.9375rem;color:#6B6358}
.frise__chiffres .ok b{color:#047857}
.frise__chiffres .att b{color:#4F46E5}
.frise__piste{position:relative;height:8px;border-radius:8px;background:#EEE7DC;margin:0 2% 0}
.frise__rempli{position:absolute;inset:0 30% 0 0;border-radius:8px;background:linear-gradient(90deg,#2563FF,#818CF8 70%,#F59E0B)}
.frise__curseur{position:absolute;top:50%;left:70%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;border:4px solid #F59E0B;box-shadow:0 0 0 8px rgba(245,158,11,.18);animation:friseRespire 2.4s ease-in-out infinite}
@keyframes friseRespire{0%,100%{box-shadow:0 0 0 6px rgba(245,158,11,.22)}50%{box-shadow:0 0 0 14px rgba(245,158,11,0)}}
.frise__jalons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:22px}
.frise__jalon{display:grid;gap:10px;align-content:start;position:relative}
.frise__jalon--30{justify-items:start}
.frise__j{font-family:var(--font-chiffres);font-weight:600;font-size:.875rem;color:#8A7F70;letter-spacing:.02em}
.frise__j--ok{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#D1FAE5;color:#047857}
.frise__j--ok svg{width:14px;height:14px}
.frise__carte{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:14px 16px;border-radius:18px;background:#FAF7F2;border:1px solid #EEE7DC;font-size:.9375rem;font-weight:500;width:100%}
.frise__notif{width:100%;max-width:340px;margin-top:4px}
.frise__notif .ios-notif{background:#141414;color:#fff}
.frise__notif .ios-notif__l1 strong,.frise__notif .ios-notif__sujet{color:#fff}
.frise__notif .ios-notif__l1 span{color:rgba(255,255,255,.55)}
.frise__notif .ios-notif__corps{display:none}
@media (max-width:900px){.frise__jalons{grid-template-columns:1fr}.frise__chiffres{gap:28px}.frise__curseur{left:66%}}
.btn--encre{background:#141414!important}

/* ── Ce qui réapparaît : CHARBON + onde des détections, balayée en continu ── */
.sec-charbon{position:relative;isolation:isolate;overflow:hidden;background:#0E0F12!important;color:#fff}
.sec-charbon::before{display:none!important}
.section.sec-charbon{padding-top:clamp(88px,9vw,128px)!important;padding-bottom:clamp(88px,9vw,128px)!important}
.sec-charbon .eyebrow{color:#FBBF24!important}
.sec-charbon .h2{color:#fff;max-width:13ch}
.sec-charbon .lead{color:#A1A1AA!important}
.btn--ghost-clair{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28)}
.btn--ghost-clair:hover{background:rgba(255,255,255,.08)}
.onde{background:#17181D;border:1px solid rgba(255,255,255,.07);border-radius:32px;padding:clamp(22px,3vw,36px)}
.onde__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.onde__tete b{color:#fff;font-weight:600}
.onde__tete .pill{background:rgba(255,255,255,.08);color:#D4D4D8;border:0}
.onde__zone{position:relative;display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:end}
.onde__barres{position:relative;height:300px;display:flex;align-items:flex-end;gap:4px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}
.onde__barres i{flex:1;height:var(--h);border-radius:4px 4px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06))}
.onde__barres i.pic{position:relative;background:linear-gradient(180deg,#FBBF24,#F59E0B 60%,rgba(245,158,11,.25));box-shadow:0 0 30px rgba(245,158,11,.45)}
.onde__barres i.pic b{position:absolute;left:50%;top:-34px;width:24px;height:24px;margin-left:-12px;border-radius:50%;display:grid;place-items:center;background:#10B981;color:#fff;box-shadow:0 0 0 4px rgba(16,185,129,.2)}
.onde__barres i.pic b svg{width:13px;height:13px}
.onde__balayage{position:absolute;top:0;bottom:0;width:120px;left:-120px;background:linear-gradient(90deg,transparent,rgba(147,197,253,.18) 70%,rgba(191,219,254,.75) 98%,transparent);animation:ondeBalaye 6s linear infinite!important;pointer-events:none}
@keyframes ondeBalaye{to{transform:translateX(calc(100vw))}}
.onde__alerte{background:#fff;color:#141414;border-radius:24px;padding:20px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9),0 0 0 1px rgba(245,158,11,.35)}
.onde__alerte-t{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.onde__alerte-i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#FEF3C7;color:#B45309}
.onde__alerte-i svg{width:20px;height:20px}
.onde__alerte-t b{display:block;font-size:1rem}
.onde__alerte-t span span{display:block;font-size:.875rem;color:#52525B;margin-top:2px}
.onde__btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:13px;border-radius:999px;background:#141414;color:#fff;font-weight:600;font-size:.9375rem}
.onde__btn svg{width:16px;height:16px}
.onde__pied{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #F4F4F5;font-size:.8125rem;color:#52525B}
.onde__pied svg{width:14px;height:14px;color:#059669}
@media (max-width:900px){.onde__zone{grid-template-columns:1fr}.onde__barres{height:200px;gap:2px}.onde__barres i.pic b{display:none}}
.sec-charbon .tete-2col .lead{color:#A1A1AA}
.hero .trust-row{border-top:0!important;padding-top:0!important;margin-top:14px!important}
/* frise : les jalons sont posés SUR la ligne (J0 → J+30 → supprimée) */
.frise__piste{display:none}
.frise__jalons{position:relative;padding-top:44px;margin-top:8px}
.frise__jalons::before{content:"";position:absolute;left:0;right:0;top:12px;height:6px;border-radius:6px;background:#EEE7DC}
.frise__jalons::after{content:"";position:absolute;left:0;width:calc(66.6% + 4px);top:12px;height:6px;border-radius:6px;background:linear-gradient(90deg,#2563FF,#818CF8 55%,#F59E0B)}
.frise__jalon::before{content:"";position:absolute;left:0;top:-41px;width:18px;height:18px;border-radius:50%;background:#2563FF;border:4px solid #fff;box-shadow:0 0 0 1px #E5DCCD;z-index:1}
.frise__jalon--30::before{background:#F59E0B;animation:friseRespire 2.4s ease-in-out infinite}
.frise__jalon--fin::before{background:#10B981}
.frise__j{margin-left:2px}
.frise__j--ok{display:none}
.frise__jalon--fin .frise__j--ok + .frise__carte{margin-top:0}
.frise__jalon--fin{padding-top:24px}
@media (max-width:900px){.frise__jalons{padding-top:0;padding-left:30px}.frise__jalons::before{left:7px;right:auto;top:0;bottom:0;width:4px;height:auto}.frise__jalons::after{left:7px;top:0;width:4px;height:66%;background:linear-gradient(180deg,#2563FF,#F59E0B)}.frise__jalon::before{left:-30px;top:2px}.frise__jalon--fin{padding-top:0}}
.onde__barres{gap:7px}
.onde__barres i{border-radius:6px 6px 2px 2px}
@media (max-width:900px){.onde__barres{gap:3px!important}.onde__barres i{border-radius:3px 3px 1px 1px}}

/* ═══════════ v11 (10/10) — « trop gros » : tout le site revient à la taille d'Aura. Motifs bento / animated list / animated beam / orbiting circles inspirés de Magic UI (https://magicui.design, MIT, © Magic UI), réécrits en CSS. ═══════════ */
body{font-size:16px}
.section{padding-block:clamp(64px,7vw,104px)}
.section.sec-nuit,.section.sec-pervenche,.section.sec-sable,.section.sec-charbon{padding-top:clamp(64px,7vw,104px)!important;padding-bottom:clamp(64px,7vw,104px)!important}
.h2{font-size:clamp(1.75rem,2.6vw,2.5rem)!important;line-height:1.12}
.h3{font-size:clamp(1.2rem,1.6vw,1.4rem)}
.lead{font-size:clamp(1rem,1.15vw,1.0625rem)!important;line-height:1.6}
.hero--full .h1{font-size:clamp(2.3rem,3.9vw,3.4rem)!important}
.section-head{margin-bottom:clamp(32px,4vw,48px)}
.section-head.center{max-width:720px}
.carte-photo{min-height:460px;padding:24px 22px;border-radius:24px}
.carte-photo h3,.carte-photo .h3{font-size:1.4rem}
.carte-photo p{font-size:.9375rem}
.plage{min-height:520px;border-radius:28px}
.stats .stat__num{font-size:clamp(2.2rem,3.4vw,3rem)!important}
.stats .stat{padding:26px 24px 24px!important}
.btn--lg{height:52px;padding:0 26px;font-size:.9375rem}
[data-testid="hero-cta-primary"],[data-testid="final-cta"]{height:54px!important;padding:0 28px!important;font-size:1rem!important}
.cta-defile__t{font-size:clamp(1.9rem,3.6vw,3rem)}
.cta-defile{margin-top:clamp(48px,6vw,72px)}

/* « Comment ça marche » : fond clair + grille bento (motif Magic UI, MIT) */
.sec-clair{background:#F5F6F8!important;color:var(--ink)}
.sec-clair .cta-defile__t{color:#93A4C8}
.sec-clair .cta-defile__t--b{color:var(--ink)}
.sec-clair .cta-defile__bas .btn-note,.sec-clair .cta-defile__rejoindre{color:var(--muted)}
.sec-clair .cta-defile__rejoindre strong{color:var(--ink)}
.sec-clair .cta-defile__puces{color:var(--muted)}
.sec-clair .cta-defile__puces svg{color:#059669}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bento__t{display:flex;flex-direction:column;background:#fff;border:1px solid #E7E9EE;border-radius:20px;overflow:hidden;transition:box-shadow .3s,transform .3s}
.bento__t:hover{box-shadow:0 20px 40px -24px rgba(11,27,58,.25);transform:translateY(-2px)}
.bento__vis{position:relative;height:240px;overflow:hidden;background:linear-gradient(180deg,#F8FAFF,#EEF2FB);border-bottom:1px solid #EEF0F4;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.bento__txt{padding:20px 22px 24px}
.bento__num{display:inline-flex!important;margin:0 0 8px!important;font-size:.8125rem!important;color:var(--brand)!important;font-weight:600}
.bento__num span:first-child{font-family:var(--font-chiffres)!important;font-size:.8125rem!important;color:var(--brand)!important;letter-spacing:.04em}
.bento__txt h3{margin:0 0 6px;font-size:1.25rem!important}
.bento__txt p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.bento__puces{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:14px;font-size:.8125rem;color:var(--muted)}
.bento__puces span{display:inline-flex;align-items:center;gap:6px}
.bento__puces svg{width:13px;height:13px;color:#059669}
@media (max-width:980px){.bento{grid-template-columns:1fr}}
/* 01 : liste du scan */
.scanl{position:absolute;inset:22px 22px auto;background:#fff;border:1px solid #E7E9EE;border-radius:16px;padding:14px 16px;box-shadow:0 14px 30px -20px rgba(11,27,58,.35)}
.scanl__tete{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.scanl__tete b{margin-left:auto;font-family:var(--font-chiffres);font-size:1.5rem;font-weight:500;color:var(--brand)}
.scanl__pt{width:8px;height:8px;border-radius:50%;background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.18)}
.scanl__l{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:7px 0;border-top:1px solid #F1F2F5;font-size:.8125rem;color:var(--ink);animation:scanlApparait 6s ease-out infinite;animation-delay:calc(var(--d) * .35s)!important}
.scanl__l b{font-family:var(--font-chiffres);font-weight:600}
.scanl__l i{grid-column:1/-1;height:3px;border-radius:3px;background:#EEF1F6;position:relative;overflow:hidden}
.scanl__l i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:3px;background:linear-gradient(90deg,#2563FF,#60A5FA)}
.scanl__pied{font-size:.75rem;color:var(--muted);margin-top:6px}
@keyframes scanlApparait{0%{opacity:0;transform:translateY(6px)}8%,88%{opacity:1;transform:none}100%{opacity:0}}
/* 02 : faisceau animé */
.bento__vis--beam{background:radial-gradient(60% 70% at 50% 50%,#EAF0FF,#F6F8FD)}
.beam__svg{position:absolute;inset:0;width:100%;height:100%}
.beam__fond{fill:none;stroke:#DCE3F2;stroke-width:2}
.beam__flux{fill:none;stroke:url(#bg1);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:60 400;animation:beamFlux 2.8s linear infinite;animation-delay:var(--d)!important}
@keyframes beamFlux{from{stroke-dashoffset:460}to{stroke-dashoffset:0}}
.beam__n{position:absolute;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #E3E8F2;box-shadow:0 8px 18px -10px rgba(11,27,58,.35);font-weight:700;font-size:.75rem;color:#fff;transform:translate(-50%,-50%)}
.beam__n svg{width:22px;height:auto}
.beam__n--g{left:16.6%;top:50%}
.beam__n--st{left:50%;top:50%;width:56px;height:56px;border-radius:16px;overflow:hidden;border:0;box-shadow:0 0 0 6px rgba(37,99,255,.12),0 12px 24px -12px rgba(37,99,255,.7)}
.beam__n--st svg{width:100%;height:100%}
.beam__n--d{left:83.3%;background:linear-gradient(135deg,#1E3A8A,#2563FF);border:0}
.beam__n--d1{top:18%}.beam__n--d2{top:50%}.beam__n--d3{top:82%}
.beam__n--d.pj{background:#FFE600;color:#111}
.beam__n--d.n123{background:#E2E8F0;color:#334155}
.beam__badge{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid #E3E8F2;font-size:.75rem;color:var(--muted)}
.beam__badge b{color:#047857}
/* 03 : liste de notifications */
.nliste{position:absolute;inset:20px 18px auto;display:grid;gap:8px}
.nliste__n{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #E7E9EE;box-shadow:0 10px 24px -18px rgba(11,27,58,.4);font-size:.75rem;line-height:1.35;animation:nlisteArrive 7.5s cubic-bezier(.2,.7,.2,1) infinite;animation-delay:calc(var(--d) * .6s)!important;transform-origin:top center}
.nliste__i svg{width:30px;height:30px;border-radius:8px;display:block}
.nliste__n b{display:block;font-size:.8125rem;color:var(--ink)}
.nliste__n em{font-style:normal;font-weight:600;color:var(--muted);font-size:.6875rem;text-transform:none}
.nliste__n small{display:block;color:var(--muted)}
.nliste__n span > small:nth-of-type(1){display:none}
@keyframes nlisteArrive{0%{opacity:0;transform:translateY(-10px) scale(.97)}6%,86%{opacity:1;transform:none}100%{opacity:0;transform:translateY(4px)}}

/* Suppression continue : blanc + motif de points, carte compacte */
.sec-points{position:relative;isolation:isolate;background:#fff!important}
.sec-points::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#D7DCE6 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:radial-gradient(55% 70% at 75% 50%,#000,transparent 75%);mask-image:radial-gradient(55% 70% at 75% 50%,#000,transparent 75%)}
.sec-points .h2{max-width:15ch}
.grid-2--supp{align-items:center}
.pc{position:relative;max-width:500px;margin-left:auto;background:#fff;border:1px solid #E7E9EE;border-radius:20px;padding:22px 22px 14px;box-shadow:0 30px 60px -40px rgba(11,27,58,.35)}
.pc__tete{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}
.pc__tete b{font-weight:600}
.pc__chiffres{display:flex;gap:28px;margin:14px 0 10px}
.pc__chiffres b{display:block;font-family:var(--font-chiffres);font-weight:500;font-size:2rem;line-height:1;color:var(--ink)}
.pc__chiffres span{font-size:.8125rem;color:var(--muted)}
.pc__chiffres .ok b{color:#047857}.pc__chiffres .att b{color:#4F46E5}
.pc__barre{display:flex;gap:3px;height:6px;margin-bottom:8px}
.pc__barre i{width:var(--w);border-radius:6px;background:#10B981}
.pc__barre i.att{background:#818CF8}
.pc__l{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #F1F2F5;font-size:.875rem}
.pc__l .prog__ico{width:22px;height:22px}
.pc__l .prog__ico--wait{box-shadow:inset 0 0 0 4px #E0E7FF,inset 0 0 0 11px #6366F1}
.pc__l .prog__ico--warn{box-shadow:inset 0 0 0 4px #FEF3C7,inset 0 0 0 11px #F59E0B}
.pc__toast{position:absolute;left:-40px;bottom:-26px;width:300px}
.pc__toast .ios-notif{background:#0B1B3A;color:#fff;padding:9px 11px;box-shadow:0 18px 40px -18px rgba(11,27,58,.8)}
.pc__toast .ios-notif__l1 strong,.pc__toast .ios-notif__sujet{color:#fff}
.pc__toast .ios-notif__l1 span{color:rgba(255,255,255,.55)}
.pc__toast .ios-notif__corps{display:none}
@media (max-width:900px){.pc{margin:0 auto}.pc__toast{position:static;width:auto;margin-top:12px}}

/* Ce qui réapparaît : charbon + orbites */
.sec-charbon--v11 .h2{max-width:14ch}
.grid-2--veille{align-items:center}
.orb{position:relative;max-width:500px}
.orb__label{display:flex;justify-content:space-between;align-items:center;color:#D4D4D8;font-size:.875rem;margin-bottom:6px}
.orb__label b{font-weight:600;color:#fff}
.orb__label .pill{background:rgba(255,255,255,.08);color:#D4D4D8;border:0}
.orb__scene{position:relative;width:min(100%,380px);aspect-ratio:1;margin:0 auto}
.orb__anneau{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.orb__anneau--1{width:62%;height:62%}
.orb__anneau--2{width:96%;height:96%}
.orb__rot{position:absolute;inset:0;margin:auto;border-radius:50%;animation:orbTourne 40s linear infinite!important}
.orb__rot--1{width:62%;height:62%}
.orb__rot--2{width:96%;height:96%;animation-duration:60s!important;animation-direction:reverse!important}
@keyframes orbTourne{to{transform:rotate(360deg)}}
.orb__p{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(-50%)}
.orb__rot--1 .orb__p{transform:rotate(var(--a)) translateY(calc(-1 * min(31vw, 118px)))}
.orb__rot--2 .orb__p{transform:rotate(var(--a)) translateY(calc(-1 * min(48vw, 182px)))}
.orb__i{position:absolute;left:-21px;top:-21px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1C1D23;border:1px solid rgba(255,255,255,.12);color:#D4D4D8;animation:orbTourne 40s linear infinite reverse!important}
.orb__rot--2 .orb__i{animation-duration:60s!important;animation-direction:normal!important}
.orb__i svg{width:18px;height:18px}
.orb__p.is-alerte .orb__i{background:#F59E0B;border-color:#FBBF24;color:#111;box-shadow:0 0 0 6px rgba(245,158,11,.18),0 0 30px rgba(245,158,11,.6)}
.orb__centre{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:20px;overflow:hidden;box-shadow:0 0 0 10px rgba(37,99,255,.12),0 0 60px rgba(37,99,255,.55)}
.orb__centre svg{width:100%;height:100%;display:block}
.orb__alerte{position:relative;margin:-20px auto 0;max-width:380px;display:grid;grid-template-columns:40px 1fr;gap:10px 12px;align-items:start;background:#fff;color:#141414;border-radius:18px;padding:14px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.9),0 0 0 1px rgba(245,158,11,.35)}
.orb__alerte .onde__alerte-i{width:40px;height:40px;border-radius:12px}
.orb__alerte-t b{display:block;font-size:.9375rem}
.orb__alerte-t span{display:block;font-size:.8125rem;color:#52525B}
.orb__btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:999px;background:#141414;color:#fff;font-weight:600;font-size:.875rem}
.orb__btn svg{width:15px;height:15px}
.orb__pied{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:.75rem;color:#52525B}
.orb__pied svg{width:13px;height:13px;color:#059669}
@media (max-width:900px){.grid-2--veille > .orb{order:2;margin:0 auto}}
/* v11 — réglages */
.logo-fuite--mur{width:116px!important;height:56px!important;border-radius:14px!important}
.logo-fuite--mur img{padding:10px 14px!important}
.mur{gap:10px;margin-top:32px}
.mur__piste > *{margin-right:10px}
.pc__toast{left:-34px;bottom:-46px}
.pc{margin-bottom:30px}
.orb__label{justify-content:flex-end;margin-bottom:0}
.orb__scene{width:min(100%,330px)}
.orb__rot--1 .orb__p{transform:rotate(var(--a)) translateY(calc(-1 * min(31vw, 102px)))}
.orb__rot--2 .orb__p{transform:rotate(var(--a)) translateY(calc(-1 * min(48vw, 158px)))}
.orb__alerte{margin-top:-34px}
.sec-charbon--v11 .grid-2{gap:clamp(32px,5vw,72px)}

/* ═══════════ v12 (10/10) — rangées « photo de ciel + interface », à la manière des modèles Aube / Fluxbase et d'Aura.
   Photos : Unsplash (licence Unsplash, gratuites, usage commercial) — voir README § 2 duodecies. ═══════════ */
.sec-blanc{background:#fff!important}
.sec-gris{background:#F6F7F9!important}
.rangee{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,80px);align-items:center;margin-top:clamp(48px,6vw,80px)}
.rangee--inv{grid-template-columns:.88fr 1.12fr}
.rangee--inv .panneau{order:2}
.rangee--grand{margin-top:0}
.rangee__txt{max-width:440px}
.rangee__num{display:block!important;margin:0 0 10px!important}
.rangee__num span:first-child{font-family:var(--font-chiffres)!important;font-size:.875rem!important;font-weight:600;color:var(--brand)!important;letter-spacing:.06em}
.rangee__txt h3{font-size:clamp(1.6rem,2.3vw,2rem)!important;margin:0 0 12px}
.rangee__txt p{color:var(--muted);font-size:1.0625rem;line-height:1.6;margin:0}
.rangee__puces{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.rangee__puces li{display:flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--ink);font-weight:500}
.rangee__puces svg{width:16px;height:16px;padding:3px;border-radius:50%;background:#E7F0FF;color:var(--brand);flex:none}
.panneau{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;aspect-ratio:5/4;display:grid;place-items:center;padding:clamp(20px,3vw,40px);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.panneau--haut{aspect-ratio:4/5;max-height:620px;width:100%}
.panneau__img{position:absolute;inset:0;z-index:-1}
.panneau__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.6s var(--ease)}
.panneau:hover .panneau__img img{transform:scale(1.06)}
.panneau__img--nuit img{object-position:center 30%}
.ui{position:relative;width:min(100%,380px);background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(7,26,61,.06),0 30px 60px -28px rgba(7,26,61,.45);color:var(--ink)}
.ui--scan{padding:18px 20px}
.ui__tete{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600}
.ui__tete b{margin-left:auto;font-family:var(--font-chiffres);font-weight:500;font-size:2rem;line-height:1;color:var(--ink)}
.ui__sous{margin:0 0 6px;text-align:right;font-size:.75rem;color:var(--muted)}
.ui__l{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:9px 0;border-top:1px solid #F0F2F5;font-size:.875rem}
.ui__l b{font-family:var(--font-chiffres);font-weight:600}
.ui__l i{grid-column:1/-1;height:4px;border-radius:4px;background:#EEF1F6;position:relative;overflow:hidden}
.ui__l i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#2563FF,#60A5FA)}
.ui__pied{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:.8125rem}
.ui__pied a:first-child{color:var(--brand);font-weight:600}
.ui__btn{padding:8px 14px;border-radius:999px;background:var(--ink);color:#fff!important;font-weight:600}
/* fenêtre Gmail (rédaction) */
.ui--gmail{width:min(100%,430px);overflow:hidden;border-radius:14px;font-family:Roboto,"Segoe UI",Arial,sans-serif}
.gm__barre{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#404040;color:#fff;font-size:.8125rem;font-weight:500}
.gm__ctrl{display:flex;gap:10px}
.gm__ctrl i{width:10px;height:2px;background:#fff;opacity:.85}
.gm__ctrl i:nth-child(2){height:10px;width:10px;background:transparent;border:1.5px solid #fff;border-radius:1px}
.gm__ctrl i:nth-child(3){height:12px;width:2px;transform:rotate(45deg);box-shadow:0 0 0 0 #fff;position:relative}
.gm__champ{padding:9px 14px;border-bottom:1px solid #EDEDED;font-size:.8125rem;color:#202124}
.gm__champ span{color:#5F6368;margin-right:10px}
.gm__champ--objet{font-weight:500}
.gm__corps{padding:12px 14px 4px;font-size:.8125rem;line-height:1.55;color:#202124}
.gm__corps p{margin:0 0 8px}
.gm__pied{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 14px}
.gm__envoyer{display:inline-flex;align-items:center;padding:9px 22px;border-radius:999px;background:#0B57D0;color:#fff;font-weight:500;font-size:.8125rem}
.gm__logo svg{width:22px;height:auto;display:block;opacity:.9}
.panneau__badge{position:absolute;left:20px;top:20px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.8125rem;font-weight:600;color:var(--ink);box-shadow:0 10px 24px -14px rgba(7,26,61,.5)}
.panneau__badge svg{width:14px;height:14px;color:#059669}
/* pile de notifications iOS sur le ciel */
.ui-pile{display:grid;gap:10px;width:min(100%,380px)}
.ui-pile .ios-notif{background:rgba(255,255,255,.82);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 18px 40px -22px rgba(7,26,61,.55)}
.ui-pile .ios-notif:nth-child(2){margin-left:22px}
.ui-pile .ios-notif:nth-child(3){margin-left:44px}
/* progression posée sur le ciel du soir */
.ui--prog{padding:20px 20px 12px;width:min(100%,400px)}
.panneau__toast{position:absolute;left:24px;right:24px;bottom:24px;display:flex;justify-content:center}
.panneau__toast .ios-notif{width:min(100%,360px);background:rgba(11,27,58,.86);color:#fff}
.panneau__toast .ios-notif__l1 strong,.panneau__toast .ios-notif__sujet{color:#fff}
.panneau__toast .ios-notif__l1 span{color:rgba(255,255,255,.6)}
.panneau__toast .ios-notif__corps{display:none}
.sec-gris .rangee__txt .h2{max-width:13ch}
/* bannière de ciel (appel final de la section) */
.banniere{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;margin-top:clamp(64px,8vw,104px);min-height:440px;display:grid;place-items:center;text-align:center;padding:clamp(40px,6vw,72px) 24px;color:#fff}
.banniere__img{position:absolute;inset:0;z-index:-2}
.banniere__img img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.banniere::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,26,61,.28) 0%,rgba(7,26,61,.08) 45%,rgba(7,26,61,.0) 70%)}
.banniere__txt{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:640px}
.banniere__titre{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.025em;color:#fff;margin:0;text-shadow:0 2px 20px rgba(7,26,61,.25)}
.banniere__txt > p{margin:0;font-size:1.125rem;color:rgba(255,255,255,.95);text-shadow:0 1px 10px rgba(7,26,61,.3)}
.banniere .btn{margin-top:14px}
.banniere__note{font-size:.8125rem;color:rgba(255,255,255,.9)}
.banniere__rejoindre{font-size:.9375rem!important;margin-top:4px!important}
.banniere__puces{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:.875rem;color:#fff}
.banniere__puces li{display:inline-flex;align-items:center;gap:6px}
.banniere__puces svg{width:14px;height:14px}
/* veille : le même bleu nuit que le héros */
.sec-nuit-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(60% 55% at 80% 10%,rgba(29,78,216,.45),transparent 65%),linear-gradient(180deg,#050B1F 0%,#0B1840 100%)!important;color:#fff}
.sec-nuit-hero .hero__bg{z-index:-1}
.sec-nuit-hero .eyebrow{color:#93C5FD}
.sec-nuit-hero .h2{color:#fff;max-width:14ch}
.sec-nuit-hero .lead{color:rgba(255,255,255,.75)}
.veille12{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:center}
.veille12__vis{position:relative;padding-bottom:70px}
.verre12{border-radius:24px;padding:22px 22px 0;background:rgba(255,255,255,.06);border:1px solid rgba(147,197,253,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.verre12__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.verre12__tete b{font-weight:600}
.verre12__tete .pill{background:rgba(255,255,255,.1);color:#DBEAFE;border:0}
.verre12__barres{display:flex;align-items:flex-end;gap:6px;height:220px}
.verre12__barres i{flex:1;height:var(--h);border-radius:6px 6px 0 0;background:linear-gradient(180deg,rgba(147,197,253,.55),rgba(147,197,253,.12))}
.verre12__barres i.pic{background:linear-gradient(180deg,#60A5FA,#2563FF);box-shadow:0 0 24px rgba(59,130,246,.6)}
.alerte12{position:absolute;right:-12px;bottom:0;width:min(92%,360px);display:grid;grid-template-columns:40px 1fr;gap:10px 12px;align-items:start;padding:16px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -24px rgba(2,6,23,.9)}
.alerte12__i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#FEF3C7;color:#B45309}
.alerte12__i svg{width:18px;height:18px}
.alerte12__t b{display:block;font-size:.9375rem}
.alerte12__t span{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}
.alerte12__btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;font-size:.875rem}
.alerte12__btn svg{width:15px;height:15px}
.alerte12__pied{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:.75rem;color:var(--muted)}
.alerte12__pied svg{width:13px;height:13px;color:#059669}
@media (max-width:980px){
  .rangee,.rangee--inv,.veille12{grid-template-columns:1fr}
  .rangee--inv .panneau{order:0}
  .rangee__txt{max-width:none}
  .panneau{aspect-ratio:4/5}
  .panneau--haut{aspect-ratio:3/4}
  .alerte12{position:relative;right:auto;margin:-40px auto 0;width:min(100%,360px)}
  .veille12__vis{padding-bottom:0}
  .ui-pile .ios-notif:nth-child(n){margin-left:0}
  .banniere{min-height:420px;border-radius:24px}
}
/* v12 — réglages après capture */
.banniere{grid-template-rows:1fr auto;align-content:space-between;gap:28px;min-height:480px}
.banniere__img img{object-position:center 85%}
.banniere__verre{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;padding:12px 22px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 14px 30px -18px rgba(7,26,61,.5)}
.banniere__verre .banniere__rejoindre{margin:0!important;color:var(--ink);font-size:.875rem!important;text-shadow:none}
.banniere__verre .banniere__rejoindre strong{color:var(--ink)}
.banniere__verre .banniere__puces{color:var(--muted)}
.banniere__verre .banniere__puces svg{color:#059669}
.banniere__note{text-shadow:0 1px 8px rgba(7,26,61,.35)}
.rangee__txt .h2 + p,.rangee__txt .eyebrow + .h2{margin-top:0}
.rangee__txt .h2{margin-bottom:16px}
.panneau--haut{aspect-ratio:1/1;max-height:540px}
.veille12__vis{padding-bottom:120px}
.verre12__barres{height:230px}
.alerte12{bottom:0;right:-20px}
@media (max-width:980px){.banniere__verre{border-radius:20px}.veille12__vis{padding-bottom:0}}
.veille12__txt .h2{margin-bottom:18px}
.banniere__note{color:#fff;font-weight:500}
@media (max-width:980px){
  .panneau--haut{aspect-ratio:auto;max-height:none;padding:28px 16px 18px;display:flex;flex-direction:column;align-items:center;gap:14px}
  .panneau__toast{position:static;width:100%}
}


/* ══════════ v13 (10/10, soir) — « Comment ça marche » sur un seul écran, fond clair animé (traces.js, mode clair),
   et la bannière « traces » reprise À L'IDENTIQUE de la maquette validée (essai-direction-2026-10-10/captures/ab_3.png). */
canvas.ab-traces{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1}
.ab-banniere{position:relative;margin-top:120px;border-radius:28px;overflow:hidden;isolation:isolate;min-height:440px;color:#fff;text-align:center;
  display:flex;flex-direction:column;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#050B1F,#0A1636)}
.ab-banniere__txt{padding:76px 24px 36px}
.ab-banniere__titre{margin:0 0 12px;font-size:clamp(32px,4vw,50px);font-weight:600;letter-spacing:-.025em;line-height:1.08;color:#fff}
.ab-banniere__txt p{margin:0 0 30px;font-size:18px;color:rgba(219,234,254,.8)}
.ab-banniere__note{display:block;margin-top:14px;font-size:13px;color:rgba(219,234,254,.6)}
.ab-banniere__pied{width:100%;display:flex;justify-content:center;align-items:center;gap:28px;padding:18px 24px;font-size:14px;color:rgba(219,234,254,.85);
  border-top:1px solid rgba(147,197,253,.14);border-radius:0 0 28px 28px;background:rgba(5,11,31,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ab-banniere__pied p{margin:0}.ab-banniere__pied strong{color:#fff}
.ab-banniere__pied ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.ab-banniere__pied li{display:flex;gap:6px;align-items:center}.ab-banniere__pied svg{width:15px;height:15px;color:#60A5FA}
.v13 .ab-banniere{margin-top:96px}
.v13 .flux-tete{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:end;margin-bottom:36px}
.v13 .flux-tete .h2{margin:0}
.v13 .flux-tete .lead{margin:0;max-width:52ch}
.flux{position:relative;isolation:isolate;height:560px;padding:34px 36px 0;border-radius:32px;overflow:hidden;
  background:linear-gradient(180deg,#ECF2FF 0%,#F8FAFF 100%);border:1px solid rgba(37,99,255,.10);box-shadow:inset 0 1px 0 #fff}
.flux__frise{position:absolute;top:52px;left:54px;width:calc(((100% - 136px) / 3 + 32px) * 2);height:2px;border-radius:2px;background:rgba(37,99,255,.16);overflow:hidden}
.flux__frise i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(37,99,255,.0) 40%,#2563FF 48%,#BFDBFE 50%,rgba(37,99,255,0) 58%,transparent 100%);
  background-size:220% 100%;animation:flux-frise 3.8s linear infinite}
@keyframes flux-frise{from{background-position:120% 0}to{background-position:-120% 0}}
.flux__etapes{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;height:100%}
.flux__etape{display:flex;flex-direction:column;min-width:0}
.flux__noeud{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#2563FF;
  font:600 13px/1 var(--font-chiffres);letter-spacing:.02em;box-shadow:0 0 0 6px rgba(37,99,255,.10),0 8px 20px -8px rgba(37,99,255,.6)}
.flux__txt{margin-top:18px;min-height:226px}
.flux__titre{margin:0 0 8px;font-size:26px;line-height:1.15;letter-spacing:-.02em;font-weight:600;color:var(--ink)}
.flux__txt p{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:var(--muted)}
.v13 .flux__puces{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.v13 .flux__puces li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:5px 11px 5px 8px;font-size:12.5px;font-weight:600;line-height:1.2;color:#1D4ED8;
  background:rgba(255,255,255,.78);border:1px solid rgba(37,99,255,.16);border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.v13 .flux__puces li::before{display:none}
.v13 .flux__puces svg{width:13px;height:13px;flex:none;margin:0;padding:0;background:none;color:#2563FF}
.flux__ui{position:relative;margin-top:auto;height:276px;display:flex;justify-content:center;align-items:flex-start}
.flux__ui>*{width:100%;max-width:340px}
.flux__ui .ui,.flux__ui .ui-pile{transform:translateY(46px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .9s ease}
.flux.in .flux__ui .ui,.flux.in .flux__ui .ui-pile{transform:none;opacity:1}
.flux__etape:nth-child(2) .flux__ui>*{transition-delay:.15s}.flux__etape:nth-child(3) .flux__ui>*{transition-delay:.3s}
.flux__ui--notifs .ui-pile{display:flex;flex-direction:column;gap:10px}
.flux__ui--notifs .ios-notif{background:rgba(255,255,255,.88);box-shadow:0 1px 2px rgba(7,26,61,.06),0 18px 40px -22px rgba(7,26,61,.45)}
@media (prefers-reduced-motion:reduce){.flux__frise i{animation:none;background:none}.flux__ui .ui,.flux__ui .ui-pile{transform:none;opacity:1;transition:none}}
@media (max-width:980px){
  .v13 .flux-tete{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .flux{height:auto;padding:26px 18px 0;border-radius:24px}
  .flux__frise{display:none}
  .flux__etapes{grid-template-columns:1fr;gap:34px}
  .flux__txt{min-height:0;margin-top:14px}
  .flux__ui{height:250px;margin-top:18px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
  .v13 .ab-banniere{margin-top:64px;min-height:0}
  .v13 .ab-banniere__txt{padding:56px 20px 28px}
  .v13 .ab-banniere__pied{flex-direction:column;gap:8px}
  .v13 .ab-banniere__pied ul{flex-wrap:wrap;justify-content:center;gap:8px 16px}.v13 .ab-banniere__pied li{white-space:nowrap}
}
/* v13 : dans la bannière « traces », le bouton reste BLANC, exactement comme la maquette validée (ab_3) */
.ab-banniere a.btn.btn--white[href^="diagnostic"]{background:#fff!important;color:var(--navy)!important;text-shadow:none;animation:none!important;
  box-shadow:0 1px 2px rgba(7,26,61,.1),0 14px 32px -14px rgba(7,26,61,.5)!important}
.ab-banniere a.btn.btn--white[href^="diagnostic"]::after{display:none}
.ab-banniere a.btn.btn--white[href^="diagnostic"]:hover{background:#EDF3FF!important;transform:none}

/* ══════════ v14 (10/10, soir) — « Ce qui réapparaît » + « Vous n'y pensez plus » sur un seul écran, sur la plage.
   Les deux textes sur blanc, côte à côte ; dessous, la plage en grand avec les deux interfaces posées dessus. */
.v14{padding-top:clamp(56px,7vw,96px)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.duo__col .eyebrow{margin-bottom:12px}
.duo__col .h2{margin:0 0 14px;font-size:clamp(26px,2.5vw,34px);line-height:1.12;max-width:20ch}
.duo__col .lead{margin:0!important;font-size:16px;line-height:1.6;color:var(--muted);max-width:52ch}
.duo__col .btn{margin-top:22px}
.duo__col .btn--lg{min-height:48px;padding:0 24px;font-size:15px}
.rivage{position:relative;isolation:isolate;overflow:hidden;margin-top:40px;height:440px;border-radius:32px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:0 48px;
  box-shadow:0 40px 80px -50px rgba(11,27,58,.45)}
.rivage__img{position:absolute;inset:0;z-index:-1}
.rivage__img img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transform:scale(1.08);transition:transform 2.4s cubic-bezier(.2,.8,.2,1)}
.rivage.in .rivage__img img{transform:scale(1)}
.rivage__ui{display:flex}
.rivage__ui--mer{justify-content:flex-end}
.rivage__ui>*{width:100%;max-width:400px;transform:translateY(34px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .25s,opacity .9s ease .25s}
.rivage__ui--mer>*{transition-delay:.45s}
.rivage.in .rivage__ui>*{transform:none;opacity:1}
/* la veille, posée sur le sable */
.veille14{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.8);
  border-radius:22px;padding:18px 18px 14px;color:var(--ink);box-shadow:0 30px 60px -28px rgba(11,27,58,.45)}
.veille14__tete{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.veille14__barres{display:flex;align-items:flex-end;gap:3px;height:62px;margin:12px 0 14px;padding-bottom:1px;border-bottom:1px solid #EDF1F7}
.veille14__barres i{flex:1;height:var(--h);border-radius:3px 3px 1px 1px;background:#DCE6F7;transform:scaleY(0);transform-origin:bottom;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.veille14__barres i.pic{background:linear-gradient(180deg,#60A5FA,#2563FF);box-shadow:0 0 14px rgba(37,99,255,.35)}
.rivage.in .veille14__barres i{transform:scaleY(1)}
.veille14__alerte{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}
.veille14 .alerte12__t b{display:block;font-size:15px;color:var(--ink)}
.veille14 .alerte12__t span{font-size:12.5px;color:var(--muted)}
.veille14__btn{display:flex;justify-content:center;align-items:center;gap:8px;height:42px;margin:12px 0 10px;border-radius:999px;background:#2563FF;color:#fff;font-weight:600;font-size:14px;
  box-shadow:0 10px 22px -10px rgba(37,99,255,.8)}
.veille14__btn svg{width:15px;height:15px}
.veille14 .alerte12__pied{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.veille14 .alerte12__pied svg{width:14px;height:14px;color:#0E7C66}
/* le bulletin, posé sur la mer */
.rivage .bulletin-card{max-width:400px;padding:22px 22px 18px;gap:12px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 30px 60px -28px rgba(7,40,60,.55)}
.rivage .bulletin-card p{font-size:15px}
.rivage .bulletin-card__meta{padding-top:12px;font-size:13px}
@media (prefers-reduced-motion:reduce){.rivage__img img,.rivage__ui>*,.veille14__barres i{transition:none;transform:none;opacity:1}}
@media (max-width:980px){
  .duo{grid-template-columns:1fr;gap:44px}
  .rivage{height:auto;grid-template-columns:1fr;gap:16px;padding:28px 16px;margin-top:32px;border-radius:24px}
  .rivage__ui--mer{justify-content:stretch}
  .rivage__ui>*{max-width:none}
}
/* v14 : #veille redevient une section BLANCHE — on neutralise les règles « nuit » des versions précédentes */
#veille.v14{background:#fff;color:var(--ink)}
#veille.v14::before{display:none}
#veille.v14 :is(h2,.h2){color:var(--ink);max-width:20ch}
#veille.v14 .duo .lead{color:var(--muted)}
#veille.v14 .eyebrow{color:var(--muted)}
#veille.v14 .bulletin-card p{color:var(--ink)}
#veille.v14 .bulletin-card__meta{color:var(--muted)}
#veille.v14 .bulletin-card__head strong{color:var(--ink)}
#veille.v14 .duo p.eyebrow{color:var(--muted)}
#veille.v14{padding-top:clamp(56px,6vw,88px)!important;padding-bottom:clamp(56px,6vw,88px)!important}
.duo{align-items:stretch}
.duo__col{display:flex;flex-direction:column;align-items:flex-start}
.duo__col .btn{margin-top:auto!important}
.duo__col .lead{margin-bottom:24px!important}

/* ══════════ v16 (10/10, soir) — la plage en fond du panneau « Comment ça marche » (« même en vacances, SansTrace nous protège »).
   Un voile clair en haut garde les textes lisibles ; la plage apparaît pleinement derrière les trois interfaces. */
.flux--plage{background:#E9E2D2;border-color:rgba(11,27,58,.06);box-shadow:0 40px 80px -50px rgba(11,27,58,.45)}
.flux__img{position:absolute;inset:0;z-index:-2}
.flux__img img{width:100%;height:100%;object-fit:cover;object-position:center 46%;transform:scale(1.07);transition:transform 2.6s cubic-bezier(.2,.8,.2,1)}
.flux--plage.in .flux__img img{transform:scale(1)}
.flux__voile{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.80) 0%,rgba(255,255,255,.66) 32%,rgba(255,255,255,.18) 52%,rgba(255,255,255,0) 66%),radial-gradient(60% 55% at 85% 20%,rgba(255,255,255,.35),transparent 70%)}
.flux--plage .flux__frise{background:rgba(37,99,255,.20)}
.flux--plage .flux__noeud{box-shadow:0 0 0 6px rgba(255,255,255,.6),0 8px 20px -8px rgba(37,99,255,.6)}
.flux--plage .flux__ui .ui{box-shadow:0 1px 2px rgba(7,26,61,.08),0 34px 64px -26px rgba(7,40,60,.6)}
.flux--plage .flux__ui--notifs .ios-notif{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}
@media (prefers-reduced-motion:reduce){.flux__img img{transform:none;transition:none}}
@media (max-width:980px){
  .flux__voile{background:rgba(255,255,255,.1)}
  .flux--plage .flux__txt{padding:16px 16px 14px;border-radius:18px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .flux--plage .flux__noeud{margin-left:4px}
}

/* ══════════ v18 (10/10, soir) — Rapport : onglets Particulier / Pro, scan complémentaire en place, vrais logos des sources pro */
/* le bandeau est coupé en deux (onglets / contenu de l'onglet) : on raccorde les fonds pour qu'on n'y voie qu'un seul bloc */
body.amb-nuit .band.band--onglets{background:linear-gradient(180deg,#050B1F 0%,#07102A 100%);padding-bottom:12px}
body.amb-nuit .band.band--suite{background:linear-gradient(180deg,#0F1830 0%,#0A1636 100%);padding:28px 0 clamp(48px,6vw,80px)}
.band--suite::before,.band--suite::after{display:none!important}
.band--onglets .maquette-note{margin:6px 0 0}
.band--onglets .rap-h1{margin-top:14px}
.onglets-rap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;padding:6px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(147,197,253,.14)}
.onglet{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 18px;border-radius:17px;border:0;background:transparent;color:rgba(219,234,254,.75);
  font:inherit;text-align:left;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.onglet:hover{background:rgba(255,255,255,.05);color:#fff}
.onglet:focus-visible{outline:2px solid #93C5FD;outline-offset:2px}
.onglet__ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.onglet__ico svg{width:20px;height:20px}
.onglet__txt{display:flex;flex-direction:column;line-height:1.25}
.onglet__txt b{font-size:17px;font-weight:600;color:inherit}
.onglet__txt small{font-size:13px;opacity:.8}
.onglet__n{font-style:normal;font-size:13px;font-weight:600;white-space:nowrap;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff}
.onglet__n--a{background:transparent;color:#93C5FD;box-shadow:inset 0 0 0 1px rgba(147,197,253,.45)}
.onglet__n--neuf{animation:neuf18 1.2s ease}
@keyframes neuf18{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
.onglet[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.onglet[aria-selected="true"] .onglet__txt small{color:var(--muted);opacity:1}
.onglet--part[aria-selected="true"] .onglet__ico{background:#FDECEA;color:#C32B22}
.onglet--pro[aria-selected="true"] .onglet__ico{background:#FEF3C7;color:#B45309}
.onglet--part[aria-selected="true"] .onglet__n{background:#FDECEA;color:#B42318}
.onglet--pro[aria-selected="true"] .onglet__n{background:#FEF3C7;color:#92400E}
.onglet[aria-selected="true"] .onglet__n--a{background:#E6EEFF;color:#1D4ED8;box-shadow:none}
.band--suite .verdict{margin-top:0}
.panneau-rap.vient-de-finir .verdict,.panneau-rap.vient-de-finir .rap-sec{animation:apparait18 .9s cubic-bezier(.2,.8,.2,1)}
@keyframes apparait18{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* le formulaire du scan complémentaire, posé sur le bleu nuit */
.scan-in{position:relative;max-width:760px;padding:clamp(22px,3vw,34px);border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(147,197,253,.2);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 40px 90px -50px rgba(0,0,0,.8);color:#fff}
.scan-in__tete{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-bottom:22px}
.scan-in__ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#1D4ED8,#60A5FA);box-shadow:0 12px 26px -12px rgba(37,99,255,.9)}
.scan-in__ico svg{width:24px;height:24px}
.scan-in__titre{margin:0;font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.015em;line-height:1.2}
.scan-in__sous{margin:4px 0 0;font-size:14.5px;color:rgba(219,234,254,.75)}
.scan-in__champs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.scan-in__champs label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:rgba(219,234,254,.85)}
.scan-in__champs label i{font-style:normal;font-weight:400;color:rgba(219,234,254,.6)}
.scan-in__large{grid-column:1/-1}
.scan-in input[type=text],.scan-in input[type=email]{height:50px;padding:0 16px;border-radius:14px;border:1px solid rgba(147,197,253,.25);background:rgba(255,255,255,.95);color:var(--ink);font:500 16px var(--font-body)}
.scan-in input:focus{outline:2px solid #60A5FA;outline-offset:1px}
.scan-in__mail{position:relative;display:flex;align-items:center}
.scan-in__mail>svg{position:absolute;left:14px;width:18px;height:18px;color:#48587A}
.scan-in__mail input{flex:1;padding-left:42px!important;background:#EEF3FF!important;color:#0B1B3A}
.scan-in__mail em{position:absolute;right:10px;display:inline-flex;gap:5px;align-items:center;font-style:normal;font-size:12px;font-weight:600;color:#0E7C66;background:#DFF5EF;border-radius:999px;padding:4px 10px}
.scan-in__mail em svg{width:12px;height:12px}
.scan-in__chk{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:14.5px;color:rgba(219,234,254,.9);cursor:pointer}
.scan-in__chk input{width:18px;height:18px;accent-color:#2563FF}
.scan-in .est-manquant{color:#FCA5A5}
.scan-in .est-manquant input[type=text]{outline:2px solid #F87171}
.scan-in__go{margin-top:22px}
.scan-in__go[disabled]{opacity:.55;pointer-events:none}
.scan-in.en-cours .scan-in__champs,.scan-in.en-cours .scan-in__chk,.scan-in.en-cours .scan-in__go{display:none}
.scan-in__charge{margin-top:4px}
.scan-in__attente{margin:0 0 12px;font-size:15px;color:#DBEAFE}
.scan-in__barre{height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.scan-in__barre i{display:block;height:100%;width:100%;border-radius:6px;background:linear-gradient(90deg,#2563FF,#93C5FD);transform:scaleX(.03);transform-origin:left;transition:transform 2600ms cubic-bezier(.4,.1,.2,1)}
.scan-in__charge.go .scan-in__barre i{transform:scaleX(1)}
.scan-in__charge ol{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.scan-in__charge li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:rgba(219,234,254,.55);transition:color .4s}
.scan-in__charge li svg{width:18px;height:18px;padding:3px;border-radius:50%;background:rgba(255,255,255,.1);color:transparent;transition:background .4s,color .4s}
.scan-in__charge li.ok{color:#fff}
.scan-in__charge li.ok svg{background:#10B981;color:#fff}
/* vrais logos des sources pro */
.logo-src{width:112px;height:52px;flex:none;border-radius:14px;background:#fff;border:1px solid #E6EBF3;display:grid;place-items:center;padding:8px 12px;box-shadow:0 6px 16px -10px rgba(7,26,61,.35)}
.logo-src img{max-width:100%;max-height:28px;object-fit:contain}
.logo-src--etat{width:52px;padding:4px;background:linear-gradient(160deg,#0B1F4D,#071433);border-color:rgba(11,31,77,.6);color:#BFDBFE;gap:0;align-content:center}
.logo-src--etat svg{width:22px;height:22px}
.logo-src--etat small{font-size:8.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(191,219,254,.75)}
.logo-src--mono{width:52px;font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#78350F,#D97706);border:0}
@media (max-width:760px){
  .onglets-rap{grid-template-columns:1fr;gap:6px}
  .onglet{padding:12px 14px}
  .scan-in__champs{grid-template-columns:1fr}
  .logo-src{width:84px;height:44px;padding:6px 8px}
  .logo-src--etat,.logo-src--mono{width:44px}
}

/* ══════════ v19 (10/10, soir) — ESPACE ABONNÉ PRO (espace-pro.html). Le haut : le bleu nuit et les lignes de lumière de la bannière
   que le fondateur juge la meilleure du site ; le bas : du blanc et un gris très clair, jamais tout sombre. Une seule note dorée, discrète,
   pour signer l'offre Pro. Police : IBM Plex Sans partout, chiffres tabulaires. */
body.ep-page{background:#F3F5F9}
.ep{--ep-or1:#F3DFA2;--ep-or2:#C99A3B;--ep-ink:#0B1B3A;--ep-mut:#5B6782;--ep-ligne:#E7EBF2}
.ep-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:34px 0 128px;background:linear-gradient(180deg,#050B1F 0%,#081233 100%)}
.ep-hero canvas.ab-traces{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.ep-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;z-index:-1;background:linear-gradient(180deg,transparent,rgba(5,11,31,.55))}
.ep-hero__haut{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ep-hero .crumbs,.ep-hero .crumbs a{color:rgba(219,234,254,.6)}
.ep-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;margin-top:30px}
.ep-offre{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.01em;color:#1A1405;
  background:linear-gradient(135deg,var(--ep-or1),var(--ep-or2));box-shadow:0 8px 24px -12px rgba(201,154,59,.8),inset 0 1px 0 rgba(255,255,255,.5)}
.ep-offre svg{width:16px;height:16px}
.ep-h1{margin:18px 0 10px;font-size:clamp(38px,4.4vw,58px);line-height:1.02;letter-spacing:-.035em;font-weight:600;color:#fff}
.ep-statut{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0;font-size:15px;color:rgba(219,234,254,.72)}
.ep-live{display:inline-flex;align-items:center;gap:8px;color:#fff}
.ep-live b{color:#6EE7B7;font-weight:700;letter-spacing:.04em}
.ep-live i,.ep-pulse{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:#34D399}
.ep-live i::after,.ep-pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(52,211,153,.6);animation:ep-onde 2s ease-out infinite}
@keyframes ep-onde{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.ep-idents{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.ep-idents li{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 11px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(147,197,253,.16);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ep-idents svg{width:18px;height:18px;color:#93C5FD;flex:none}
.ep-idents span{display:flex;flex-direction:column;line-height:1.25}
.ep-idents b{font-size:14px;font-weight:600}.ep-idents small{font-size:12px;color:rgba(219,234,254,.6)}
/* le score, en verre */
.ep-score{padding:22px 24px 18px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(191,219,254,.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 40px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12)}
.ep-score__tete{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:rgba(219,234,254,.75)}
.ep-score__dep{color:rgba(219,234,254,.55)}
.ep-score__corps{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:center;margin-top:14px}
.ep-score__anneau{position:relative;width:132px;height:132px}
.ep-anneau{width:100%;height:100%}
.ep-anneau__v{stroke-dashoffset:var(--c);transition:stroke-dashoffset 1.8s cubic-bezier(.2,.8,.2,1) .2s}
.ep-score.in .ep-anneau__v{stroke-dashoffset:var(--v)}
.ep-score__val{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:42px}
.ep-score__val b{font-size:44px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ep-score__val span{font-size:14px;color:rgba(219,234,254,.6);margin-left:2px}
.ep-score__palier{margin:0;font-size:19px;font-weight:600;color:#FCD34D}
.ep-score__tend{margin:2px 0 10px;font-size:13.5px;color:#6EE7B7}
.ep-spark{display:block;width:100%;height:64px}
.ep-score__note{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(191,219,254,.14);font-size:12.5px;line-height:1.5;color:rgba(219,234,254,.6)}
/* le corps, clair */
.ep-corps{position:relative;margin-top:-84px;padding-bottom:96px}
.ep-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ep-kpi{position:relative;display:flex;flex-direction:column;padding:20px 22px;border-radius:20px;background:#fff;border:1px solid var(--ep-ligne);
  box-shadow:0 1px 2px rgba(11,27,58,.04),0 24px 48px -30px rgba(11,27,58,.35)}
.ep-kpi b{display:flex;align-items:center;gap:10px;font-size:34px;line-height:1;font-weight:600;letter-spacing:-.03em;color:var(--ep-ink);font-variant-numeric:tabular-nums}
.ep-kpi--live b{font-size:24px;letter-spacing:-.015em;height:34px}
.ep-kpi span{margin-top:10px;font-size:14px;font-weight:600;color:var(--ep-ink)}
.ep-kpi em{margin-top:2px;font-style:normal;font-size:13px;color:var(--ep-mut)}
.ep-kpi--ok b{color:#0E7C66}.ep-kpi--att b{color:#4F46E5}.ep-kpi--neuf b{color:#B45309}
.ep-kpi::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 3px 3px;background:#E7EBF2}
.ep-kpi--ok::before{background:#10B981}.ep-kpi--att::before{background:#818CF8}.ep-kpi--live::before{background:#34D399}.ep-kpi--neuf::before{background:#F59E0B}
.ep-grille{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:20px;align-items:start}
.ep-col{display:grid;gap:20px;min-width:0}
.ep-carte{position:relative;padding:26px 28px;border-radius:22px;background:#fff;border:1px solid var(--ep-ligne);box-shadow:0 1px 2px rgba(11,27,58,.04),0 20px 44px -34px rgba(11,27,58,.35);color:var(--ep-ink)}
.ep-carte h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--ep-ink)}
.ep-carte__tete{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.ep-muted{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--ep-mut)}
.ep-petit{font-size:12.5px;margin-top:16px}
.ep-pastille{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#FEF3C7;color:#92400E}
.ep-pastille--or{background:linear-gradient(135deg,#FBF1D3,#F1DFAE);color:#6B4E12;box-shadow:inset 0 0 0 1px rgba(201,154,59,.35)}
.ep-compte{font-size:12.5px;font-weight:600;color:var(--ep-mut);padding:4px 10px;border-radius:999px;background:#F1F4F9}
/* plan d'action */
.ep-plan__l{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.ep-plan__i{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 18px;border-radius:16px;background:#F8FAFD;border:1px solid #EDF1F7}
.ep-plan__n{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:600;font-size:15px;color:#fff;background:linear-gradient(135deg,#0B1F4D,#1D4ED8)}
.ep-plan__t{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.ep-plan__t b{font-size:16px}
.ep-plan__ico{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#E6EEFF;color:#1D4ED8}
.ep-plan__ico svg{width:15px;height:15px}
.ep-art{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid #DCE4F2;color:#1D4ED8}
.ep-plan__cible{margin:6px 0 2px;font-size:13px;font-weight:600;color:var(--ep-mut)}
.ep-plan__c p{margin:4px 0 0;font-size:14.5px;line-height:1.5}
.ep-gmail{display:inline-flex;align-items:center;gap:9px;margin-top:12px;padding:8px 14px 8px 10px;border-radius:999px;background:#fff;border:1px solid #DADCE0;
  font:500 13.5px Roboto,"Segoe UI",Arial,sans-serif;color:#1F1F1F;box-shadow:0 1px 2px rgba(60,64,67,.15);text-decoration:none}
.ep-gmail svg{width:18px;height:auto}
.ep-gmail:hover{background:#F6F8FC}
.ep-fait{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:600;color:#0E7C66}
.ep-fait svg{width:14px;height:14px}
/* sources */
.ep-src__l{list-style:none;margin:14px 0 0;padding:0}
.ep-src{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #EEF1F6}
.ep-src:first-child{border-top:0}
.ep-src__id{display:flex;align-items:center;gap:12px;min-width:0}
.ep-src__id>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.ep-src__id b{font-size:14.5px}.ep-src__id small{font-size:12px;color:var(--ep-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-logo{width:84px;height:40px;flex:none;display:grid;place-items:center;padding:6px 10px;border-radius:11px;background:#fff;border:1px solid #E6EBF3}
.ep-logo img{max-width:100%;max-height:22px;object-fit:contain}
.ep-logo--pub{width:40px;background:linear-gradient(160deg,#0B1F4D,#071433);border-color:transparent;color:#BFDBFE}
.ep-logo--pub svg{width:19px;height:19px}
.ep-logo--mono{width:40px;border:0;color:#fff;font-weight:600;font-size:18px;background:linear-gradient(135deg,#78350F,#D97706)}
.ep-src__objet{font-size:14px;line-height:1.35}
.ep-src__objet small{display:block;margin-top:2px;font-size:12.5px;color:var(--ep-mut)}
.ep-src__etat{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ep-etat{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ep-etat--ok{background:#DFF5EF;color:#0E7C66}.ep-etat--att{background:#ECEBFF;color:#4338CA}.ep-etat--ko{background:#FDE8EA;color:#9B1C2C}.ep-etat--neutre{background:#F1F4F9;color:#5B6782}
.ep-mini-btn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:#1D4ED8;text-decoration:none}
.ep-mini-btn svg{width:13px;height:13px}
/* alertes */
.ep-alerte__i{display:grid;grid-template-columns:44px 1fr;gap:14px;margin-top:14px;padding:16px;border-radius:16px;background:linear-gradient(180deg,#FFFBEB,#FFF7E0);border:1px solid #F7E2A8}
.ep-alerte__ico{position:relative;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#F59E0B;color:#fff;box-shadow:0 10px 20px -10px rgba(245,158,11,.9)}
.ep-alerte__ico svg{width:20px;height:20px}
.ep-alerte__ico::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:ep-cloche 2.4s ease-out infinite}
@keyframes ep-cloche{0%{box-shadow:0 0 0 0 rgba(245,158,11,.5)}70%,100%{box-shadow:0 0 0 12px rgba(245,158,11,0)}}
.ep-alerte__sur{display:flex;align-items:center;gap:8px;margin:0;font-size:12.5px;font-weight:600;color:#92400E}
.ep-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:#0E7C66;color:#fff}
.ep-tag--prob{background:#E2E8F0;color:#475569}
.ep-alerte__titre{margin:6px 0 4px;font-size:15.5px;font-weight:600;line-height:1.35}
.ep-alerte__act{margin:0;font-size:14px;line-height:1.5;color:#5B4A1E}
.ep-alerte__btns{display:flex;align-items:center;gap:14px;margin-top:12px}
.ep-lien{border:0;background:none;padding:0;font:inherit;font-size:13.5px;font-weight:600;color:#5B6782;cursor:pointer}
.ep-alerte__vieille{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;color:var(--ep-mut);opacity:.75}
/* bulletin, sur les lignes de lumière */
.ep-bulletin{overflow:hidden;isolation:isolate;color:#fff;background:#071433;border-color:rgba(147,197,253,.12)}
.ep-bulletin canvas.ab-traces{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.9}
.ep-bulletin h2{color:#fff}
.ep-bulletin ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.ep-bulletin li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.5;color:rgba(219,234,254,.9)}
.ep-bulletin li::before{content:"";position:absolute;left:2px;top:8px;width:8px;height:8px;border-radius:50%;background:#60A5FA;box-shadow:0 0 10px rgba(96,165,250,.9)}
.ep-bulletin__pied{margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(147,197,253,.14);font-size:13px;color:rgba(219,234,254,.65)}
.ep-bulletin__pied b{color:#fff}
/* identités, abonnement, e-mails */
.ep-ids{list-style:none;margin:12px 0 0;padding:0}
.ep-ids li{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #EEF1F6}
.ep-ids li:first-child{border-top:0}
.ep-ids__ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#EEF3FF;color:#1D4ED8}
.ep-ids__ico svg{width:17px;height:17px}
.ep-ids span:nth-child(2){display:flex;flex-direction:column;min-width:0;line-height:1.3}
.ep-ids b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-ids small{font-size:12px;color:var(--ep-mut)}
.ep-abo__offre{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:16px 18px;border-radius:16px;
  background:linear-gradient(135deg,#0B1F4D,#071433);color:#fff;box-shadow:inset 0 0 0 1px rgba(201,154,59,.35)}
.ep-abo__offre div{display:flex;flex-direction:column;line-height:1.3}
.ep-abo__offre small{font-size:12.5px;color:rgba(219,234,254,.7)}
.ep-abo__offre b{font-size:16px}
.ep-abo__px{text-align:right}.ep-abo__px b{font-size:24px;letter-spacing:-.02em;color:var(--ep-or1)}
.ep-abo__l{display:flex;justify-content:space-between;gap:12px;margin:14px 0 0;font-size:13.5px;color:var(--ep-mut)}
.ep-abo__l b{color:var(--ep-ink);font-weight:600}
.ep-abo__perte{margin:14px 0 4px;font-size:14px}
.ep-abo__liste{margin:0;padding-left:20px;font-size:14px;line-height:1.6;color:var(--ep-mut)}
.ep-abo__btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}
.ep-resil{font-size:14px;font-weight:600;color:#9B1C2C;text-decoration:none;border-bottom:1px solid rgba(155,28,44,.3)}
.ep-radios{display:grid;gap:8px;margin-top:12px}
.ep-radio{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1.5px solid #E3E9F4;cursor:pointer}
.ep-radio.is-on{border-color:#2563FF;background:#F5F8FF}
.ep-radio input{margin-top:3px;accent-color:#2563FF}
.ep-radio span{display:flex;flex-direction:column;font-size:14px;line-height:1.35}.ep-radio small{color:var(--ep-mut);font-size:12.5px}
@media (prefers-reduced-motion:reduce){.ep-anneau__v{transition:none;stroke-dashoffset:var(--v)}.ep-live i::after,.ep-pulse::after,.ep-alerte__ico::after{animation:none}}
@media (max-width:1100px){.ep-hero__grid{grid-template-columns:1fr;gap:28px}.ep-grille{grid-template-columns:1fr}.ep-kpis{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .ep-hero{padding:24px 0 104px}
  .ep-score__corps{grid-template-columns:104px 1fr;gap:14px}.ep-score__anneau{width:104px;height:104px}.ep-score__val{padding-top:32px}.ep-score__val b{font-size:34px}
  .ep-kpis{gap:10px}.ep-kpi{padding:16px}.ep-kpi b{font-size:28px}.ep-kpi--live b{font-size:18px;height:28px}
  .ep-carte{padding:20px 18px}
  .ep-src{grid-template-columns:1fr;gap:8px}.ep-src__etat{flex-direction:row;align-items:center;justify-content:flex-start}
  .ep-abo__offre{flex-direction:column;align-items:flex-start}.ep-abo__px{text-align:left}
  .ep-abo__l{flex-direction:column;gap:2px}
}
/* v19 — retouches après relecture des captures */
.ep-idents li{gap:9px;padding:9px 14px 9px 12px}
.ep-idents b{font-size:14px;font-weight:500;white-space:nowrap}
.ep-score__val{flex-direction:column;align-items:center;justify-content:center;padding-top:0}
.ep-score__val b{line-height:1}
.ep-score__val span{margin:4px 0 0;font-size:12px;letter-spacing:.02em}
.ep-abo__offre{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.ep-abo__px{text-align:left;padding-top:12px;border-top:1px solid rgba(201,154,59,.25)}
.ep-abo__px b{display:flex;align-items:baseline;gap:4px}
.ep-abo__px b i{font-style:normal;font-size:14px;font-weight:500;color:rgba(243,223,162,.8)}
.ep-abo__l{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:14px 0 0;padding:12px 0;border-bottom:1px solid #EEF1F6;font-size:13.5px}
.ep-abo__l dt{color:var(--ep-mut);white-space:nowrap}
.ep-abo__l dd{margin:0;text-align:right;font-weight:600;color:var(--ep-ink)}
.ep-abo__liste{list-style:disc}
.ep-abo__liste li{margin:2px 0}
/* sources de l'État : le nom du service en cartouche (ni Marianne, ni icône générique) — rapport et espace Pro */
.ep-pub{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-body);color:#0B1B3A;line-height:1}
.ep-pub--bodacc{font-size:15px;font-weight:700;letter-spacing:.08em}
.ep-pub--ae span:first-child{font-size:11.5px;font-weight:700;letter-spacing:.01em}
.ep-pub--ae span:last-child{margin-top:2px;font-size:9px;font-weight:500;letter-spacing:.02em;color:#3B4A68}
.logo-src.logo-src--etat,.ep-logo.ep-logo--pub{width:112px;background:#fff;border:1px solid #E6EBF3;color:#0B1B3A;padding:6px 10px;
  box-shadow:inset 0 -3px 0 #E8EDF6,0 6px 16px -10px rgba(7,26,61,.35)}
.ep-logo.ep-logo--pub{width:84px}
.ep-logo--pub .ep-pub--bodacc{font-size:13px}
.ep-logo--pub .ep-pub--ae span:first-child{font-size:10px}.ep-logo--pub .ep-pub--ae span:last-child{font-size:8px}
@media (max-width:760px){.logo-src.logo-src--etat{width:84px}}
.ep-pub--nom{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#0B1B3A}
.ep-idents{gap:8px}
.ep-idents li{padding:8px 12px 8px 10px}
.ep-idents b{font-size:13.5px}
.ep-hero__grid{grid-template-columns:1.25fr .85fr;gap:44px}
.ep-abo__l{flex-direction:column;align-items:flex-start;gap:3px}
.ep-abo__l dd{text-align:left}
@media (max-width:1100px){.ep-hero__grid{grid-template-columns:1fr;gap:28px}}
.ep-score__tete{flex-wrap:wrap}
@media (max-width:640px){.ep-h1{font-size:40px}.ep-idents b{white-space:normal;word-break:break-word}}

/* ══════════ v21 (11/10) — « Comment ça marche » en étapes animées : la liste à gauche, la plage et UN écran entier à droite */
.e21-grille{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,4vw,56px);align-items:stretch;margin-top:8px}
.e21-liste{display:flex;flex-direction:column;gap:12px}
.e21{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 24px 24px;border-radius:22px;border:1px solid transparent;cursor:pointer;
  transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,opacity .4s ease;opacity:.55}
.e21:hover{opacity:.8}
.e21.is-on{opacity:1;background:#fff;border-color:#E7ECF5;box-shadow:0 1px 2px rgba(11,27,58,.04),0 24px 50px -30px rgba(11,27,58,.35)}
.e21:focus-visible{outline:2px solid #2563FF;outline-offset:3px}
.e21__n{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font:600 14px/1 var(--font-chiffres);letter-spacing:.02em;color:#1D4ED8;background:#EEF3FF;transition:background .4s,color .4s,box-shadow .4s}
.e21.is-on .e21__n{color:#fff;background:linear-gradient(135deg,#1D4ED8,#3B82F6);box-shadow:0 10px 22px -10px rgba(37,99,255,.8)}
.e21__titre{margin:6px 0 6px;font-size:24px;line-height:1.15;letter-spacing:-.02em;font-weight:600;color:var(--ink)}
.e21 p{margin:0;font-size:15.5px;line-height:1.6;color:var(--muted)}
.v21 .e21__puces{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.v21 .e21__puces li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:5px 11px 5px 8px;font-size:12.5px;font-weight:600;line-height:1.2;color:#1D4ED8;background:#F1F5FF;border:1px solid #DCE6FB;border-radius:999px}
.v21 .e21__puces li::before{display:none}
.v21 .e21__puces svg{width:13px;height:13px;flex:none;margin:0;padding:0;background:none;color:#2563FF}
.e21__barre{position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:3px;overflow:hidden;background:transparent}
.e21.is-on .e21__barre{background:#EEF2F9}
.e21__barre i{display:block;height:100%;background:linear-gradient(90deg,#2563FF,#60A5FA);transform:scaleX(0);transform-origin:left}
/* la scène */
.e21-scene{position:relative;isolation:isolate;overflow:hidden;min-height:560px;border-radius:32px;box-shadow:0 40px 90px -50px rgba(11,27,58,.55)}
.e21-scene__img{position:absolute;inset:0;z-index:-2}
.e21-scene__img img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.e21-scene__voile{position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 60% at 50% 50%,rgba(255,255,255,.18),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(7,26,61,.12))}
.e21-ui{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:40px;
  opacity:0;transform:translateY(24px) scale(.97);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.e21-ui.is-on{opacity:1;transform:none}
.e21-ui--scan>*{width:100%;max-width:400px}
.e21-ui--gmail>*{width:100%;max-width:460px}
.e21-ui--notifs>*{width:100%;max-width:400px}
.e21-ui .ui{box-shadow:0 1px 2px rgba(7,26,61,.08),0 40px 80px -30px rgba(7,40,60,.65)}
.e21-ui--notifs .ui-pile{display:flex;flex-direction:column;gap:12px}
.e21-ui--notifs .ios-notif{margin:0;opacity:1;transform:none;filter:none;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 1px 2px rgba(7,26,61,.06),0 24px 50px -24px rgba(7,40,60,.6)}
.e21-ui.is-on .ios-notif{animation:e21-notif .7s cubic-bezier(.2,.8,.2,1) both}
.e21-ui.is-on .ios-notif:nth-child(2){animation-delay:.25s}.e21-ui.is-on .ios-notif:nth-child(3){animation-delay:.5s}
@keyframes e21-notif{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.e21-ui.is-on .ui__l i::after{animation:e21-barre 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes e21-barre{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.e21-points{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.e21-points i{width:7px;height:7px;border-radius:50%;background:rgba(11,27,58,.25);transition:width .4s,background .4s}
.e21-points i.is-on{width:22px;border-radius:7px;background:#2563FF}
.v21 .ab-banniere{margin-top:88px}
@media (prefers-reduced-motion:reduce){.e21-ui{transition:none}.e21-ui.is-on .ios-notif,.e21-ui.is-on .ui__l i::after{animation:none}}
@media (max-width:980px){
  .e21-grille{grid-template-columns:1fr;gap:20px}
  .e21{opacity:1;background:#fff;border-color:#E7ECF5;padding:18px}
  .e21__barre{display:none}
  .e21-scene{min-height:440px;border-radius:24px}
  .e21-ui{padding:22px 16px}
}
@media (max-width:980px){.e21-scene{order:-1;min-height:400px}.e21{opacity:.6;background:transparent;border-color:transparent}.e21.is-on{opacity:1;background:#fff;border-color:#E7ECF5}}

/* ══════════ v22 (11/10) — « Comment ça marche » : variante A « Nuit », choisie par le fondateur */
/* ── A · NUIT : le langage de la bannière (bleu nuit + lignes de lumière), titres en Newsreader italique, plage en duotone bleu */
.v21.var-a{background:#050B1F!important;position:relative;isolation:isolate;overflow:hidden;color:#fff}
.v21.var-a>canvas.ab-traces{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.var-a .flux-tete .h2{color:#fff}.var-a .flux-tete .lead{color:rgba(219,234,254,.72)}.var-a .flux-tete .eyebrow{color:#93C5FD}
.var-a .e21{opacity:.5}
.var-a .e21.is-on{opacity:1;background:rgba(255,255,255,.055);border-color:rgba(147,197,253,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.var-a .e21__n{background:transparent;color:#93C5FD;box-shadow:inset 0 0 0 1px rgba(147,197,253,.35)}
.var-a .e21.is-on .e21__n{background:#fff;color:#0B1B3A;box-shadow:0 0 0 6px rgba(147,197,253,.15),0 0 30px rgba(96,165,250,.6)}
.var-a .e21__titre{font-family:"Newsreader",Georgia,serif;font-style:italic;font-weight:400;font-size:32px;letter-spacing:-.01em;color:#fff}
.var-a .e21 p{color:rgba(219,234,254,.75)}
.v21.var-a .e21__puces li{background:rgba(255,255,255,.06);border-color:rgba(147,197,253,.22);color:#DBEAFE}
.v21.var-a .e21__puces svg{color:#60A5FA}
.var-a .e21.is-on .e21__barre{background:rgba(255,255,255,.1)}
.var-a .e21-scene{box-shadow:0 0 0 1px rgba(147,197,253,.18),0 50px 100px -40px rgba(0,0,0,.8)}
.var-a .e21-scene__img img{filter:grayscale(1) contrast(1.15) brightness(1.05)}
.var-a .e21-scene__voile{background:linear-gradient(160deg,#1D4ED8 0%,#0B1F4D 70%,#050B1F 100%);mix-blend-mode:multiply;opacity:.92}
.var-a .e21-points{background:rgba(5,11,31,.55)}.var-a .e21-points i{background:rgba(255,255,255,.3)}.var-a .e21-points i.is-on{background:#60A5FA}
/* la bannière, posée sur une section déjà sombre : on la détache par un liseré et une lueur */
.v21.var-a .ab-banniere{box-shadow:0 0 0 1px rgba(147,197,253,.18),0 40px 90px -40px rgba(37,99,255,.45)}
@media (max-width:980px){.var-a .e21{background:transparent;border-color:transparent}.var-a .e21.is-on{background:rgba(255,255,255,.055);border-color:rgba(147,197,253,.22)}.var-a .e21__titre{font-size:28px}}
/* v22 bis : la bannière revient sur fond blanc, à l'identique de ce qui est en ligne ; seule « Comment ça marche » est sombre */
.v21-banniere{padding-top:clamp(48px,6vw,80px)!important}
.v21-banniere .ab-banniere{margin-top:0}
