/* Publivao — publivao.fr
   Concept : le curseur du logo (piste + bouton) sert de fil conducteur :
   on avance de l'alerte au dépôt. Blanc net, bleu Publivao, encre chaude. */

@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-400-latin.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:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-400-latin-ext.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:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-500-latin.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:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-500-latin-ext.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:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-600-latin.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:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-600-latin-ext.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:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-700-latin.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:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-700-latin-ext.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:"Poppins";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/poppins-800-latin.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:"Poppins";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/poppins-800-latin-ext.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{
  --blue:#4269A5;        /* bleu Publivao */
  --blue-600:#365A93;
  --blue-800:#2C4A7C;
  --blue-300:#8FB0E3;
  --navy:#1A2A45;        /* fond sombre du logo */
  --navy-2:#22365A;
  --ink:#1C1B19;         /* encre */
  --muted:#6F6A62;       /* texte secondaire, chaud */
  --line:#E2E8F1;        /* piste du curseur */
  --line-2:#D5DCE8;
  --mist:#F1F5FB;
  --mist-2:#F7F9FC;
  --white:#FFFFFF;
  --ok:#2F9E6A;
  --ok-bg:#E3F4EB;
  --warn:#C97A12;
  --warn-bg:#FBEEDA;
  --alert:#D2353F;
  --alert-bg:#FDECEE;
  --plum:#493A40;        /* Daltaé */
  --red:#E30613;         /* Daltaé */

  --font:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r-sm:10px;--r:16px;--r-lg:24px;--r-xl:32px;
  --shadow-1:0 1px 2px rgba(28,27,25,.05),0 2px 8px rgba(44,74,124,.06);
  --shadow-2:0 2px 6px rgba(28,27,25,.05),0 18px 40px -12px rgba(44,74,124,.22);
  --shadow-3:0 30px 80px -24px rgba(26,42,69,.45);
  --wrap:1200px;
  --gutter-l:max(20px,env(safe-area-inset-left,0px));
  --gutter-r:max(20px,env(safe-area-inset-right,0px));
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--blue-300);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:calc(var(--wrap) + 40px);margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
section{scroll-margin-top:84px}
.section{padding-block:clamp(72px,10vw,128px)}

/* ---------- type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.eyebrow::before{content:"";width:28px;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--line) 0 40%,var(--blue) 40% 100%)}
.h-xl{font-size:clamp(44px,7.2vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.98}
.h-l{font-size:clamp(34px,4.6vw,58px);font-weight:800;letter-spacing:-.04em}
.h-m{font-size:clamp(24px,2.4vw,32px);font-weight:700;letter-spacing:-.025em}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:60ch}
.blue{color:var(--blue)}
.strike{text-decoration:line-through;text-decoration-thickness:2px;color:var(--muted)}
.section-head{display:grid;gap:18px;max-width:780px;margin-bottom:clamp(40px,6vw,64px)}
.section-head.center{margin-inline:auto;text-align:center;justify-items:center}

/* ---------- buttons ---------- */
.btn{--bg:var(--blue);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:0;background:var(--bg);color:var(--fg);font:600 16px/1 var(--font);text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}
.btn:hover{background:var(--blue-600);transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(66,105,165,.6)}
.btn svg{width:18px;height:18px;transition:transform .2s ease}
.btn:hover svg{transform:translateX(3px)}
.btn-ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn-ghost:hover{background:var(--mist);box-shadow:inset 0 0 0 1.5px var(--blue-300)}
.btn-white{--bg:#fff;--fg:var(--blue-800)}
.btn-white:hover{background:var(--mist)}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px}

/* ---------- header ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,255,255,.9)}
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s ease}
.header.scrolled{border-bottom-color:var(--line)}
.header .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:block;flex:none}
.brand img{height:38px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;transition:background .2s ease,color .2s ease}
.nav a:hover{background:var(--mist);color:var(--blue)}
.header-cta{display:flex;gap:10px;align-items:center}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.progress span{display:block;height:100%;width:0;background:var(--blue);border-radius:0 3px 3px 0}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line-2);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s ease}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-open .menu-btn span{background:transparent}
.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:clamp(48px,7vw,96px) clamp(64px,8vw,112px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto 40%;height:720px;background:radial-gradient(closest-side,rgba(143,176,227,.28),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy{display:grid;gap:28px;min-width:0}
.hero-badge{justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--mist);font-size:14px;font-weight:500;color:var(--blue-800)}
.hero-badge b{padding:4px 10px;border-radius:999px;background:var(--blue);color:#fff;font-weight:600;font-size:12px;letter-spacing:.04em}
.hero h1 .blue{display:block}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--muted)}
.hero-trust li{display:flex;align-items:center;gap:8px}
.hero-trust svg{width:18px;height:18px;color:var(--blue)}

/* hero visual : le flux */
.flow{position:relative;border-radius:var(--r-xl);background:linear-gradient(160deg,#5A82BF 0%,var(--blue) 45%,var(--blue-800) 100%);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-3);isolation:isolate;overflow:hidden;min-width:0}
.flow::before,.flow::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07);z-index:-1}
.flow::before{width:340px;height:340px;right:-120px;top:-120px}
.flow::after{width:260px;height:260px;left:-110px;bottom:-110px}
.flow-steps{display:grid;gap:18px}
.flow-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;border-radius:20px;background:#fff;box-shadow:0 14px 30px -14px rgba(10,20,40,.45);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.flow-card:nth-child(2){margin-left:clamp(0px,3vw,28px)}
.flow-ic{width:46px;height:46px;border-radius:14px;background:var(--mist);display:grid;place-items:center;color:var(--blue)}
.flow-ic svg{width:22px;height:22px}
.flow-k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.flow-t{font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.flow-s{font-size:13px;color:var(--muted);line-height:1.4;margin-top:2px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:14px;font-weight:600;background:var(--mist);color:var(--blue-800);white-space:nowrap}
.pill.solid{background:var(--blue);color:#fff}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.alert{background:var(--alert-bg);color:var(--alert)}
.flow-note{display:flex;align-items:center;gap:10px;justify-self:end;margin-right:4px;padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:15px;font-weight:600}
.flow-note svg{width:16px;height:16px}
.flow-card.is-active{transform:translateX(-4px) scale(1.015);box-shadow:0 20px 40px -14px rgba(10,20,40,.55),0 0 0 3px rgba(255,255,255,.55)}
.flow-foot{display:flex;align-items:center;gap:14px;margin-top:22px;color:rgba(255,255,255,.85);font-size:13px;font-weight:500}
.track{position:relative;flex:1;height:8px;border-radius:8px;background:rgba(255,255,255,.22)}
.track i{position:absolute;top:50%;left:0;width:44px;height:18px;margin-top:-9px;border-radius:9px;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.18);transition:left .8s cubic-bezier(.2,.8,.2,1)}

/* ---------- bande de confiance ---------- */
.proof{border-block:1px solid var(--line);background:var(--mist-2)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:32px 24px;display:grid;gap:4px;text-align:center}
.stat + .stat{border-left:1px solid var(--line)}
.stat b{font-size:clamp(34px,3.6vw,48px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums}
.stat span{font-size:15px;color:var(--muted)}

/* ---------- douleurs ---------- */
.pains{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.pain-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pain{padding:24px;border-radius:var(--r-lg);background:var(--mist-2);border:1px solid var(--line);display:grid;gap:10px;align-content:start}
.pain-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--alert);box-shadow:var(--shadow-1)}
.pain-ic svg{width:20px;height:20px}
.pain h3{font-size:19px;font-weight:700}
.pain p{font-size:15px;color:var(--muted);line-height:1.55}
.paper-stack{position:relative;height:440px;max-width:520px;margin-inline:auto;width:100%}
.paper{position:absolute;width:56%;aspect-ratio:3/4;max-width:100%;border-radius:14px;background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-2);padding:22px 20px;display:grid;align-content:start;gap:10px}
.paper b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.paper i{display:block;height:8px;border-radius:8px;background:var(--line)}
.paper i:nth-of-type(2n){width:72%}
.paper i:nth-of-type(3n){width:86%}
.paper:nth-child(1){left:4%;top:12%;transform:rotate(-8deg)}
.paper:nth-child(2){left:22%;top:4%;transform:rotate(-2deg)}
.paper:nth-child(3){left:40%;top:14%;transform:rotate(6deg)}
.paper:nth-child(4){left:16%;top:34%;transform:rotate(3deg);background:var(--mist-2)}
.chip-float{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;font-size:15px;font-weight:600;box-shadow:var(--shadow-2);background:#fff}
.chip-float svg{width:18px;height:18px}
.chip-deadline{right:2%;top:2%;color:var(--warn)}
.chip-reject{left:6%;bottom:4%;background:var(--ink);color:#fff}
.chip-reject svg{color:#FF7A82}

/* ---------- process ---------- */
.process{background:linear-gradient(170deg,#4B74B3 0%,var(--blue) 40%,var(--blue-800) 100%);color:#fff;position:relative;overflow:hidden}
.process::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-200px;background:rgba(255,255,255,.06)}
.process .eyebrow{color:var(--blue-300)}
.process .eyebrow::before{background:linear-gradient(90deg,rgba(255,255,255,.3) 0 40%,#fff 40% 100%)}
.process .lead{color:rgba(255,255,255,.82)}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;counter-reset:s}
.steps::before{content:"";position:absolute;top:44px;left:10%;right:10%;border-top:2px dashed rgba(255,255,255,.35)}
.step{position:relative;display:grid;align-content:start;justify-items:center;text-align:center;gap:12px;counter-increment:s}
.step-ic{position:relative;width:88px;height:88px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.35)}
.step-ic svg{width:30px;height:30px}
.step-ic::after{content:counter(s);position:absolute;top:-4px;right:-4px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;border:3px solid #fff}
.step h3{font-size:22px;font-weight:700;margin-top:8px}
.step p{font-size:15px;color:rgba(255,255,255,.8);max-width:22ch}

/* ---------- features ---------- */
.feat{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,88px);align-items:center}
.feat + .feat{margin-top:clamp(88px,11vw,140px)}
.feat.rev .feat-copy{order:2}
.feat-copy{display:grid;gap:22px;min-width:0}
.feat-tag{justify-self:start;display:inline-flex;align-items:center;gap:10px}
.feat-tag .strike{font-size:14px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--mist)}
.feat-tag svg{width:20px;height:20px;color:var(--blue)}
.checks{display:grid;gap:16px;margin-top:6px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.checks .ck{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;margin-top:1px}
.checks .ck svg{width:15px;height:15px}
.checks b{display:block;font-size:17px;font-weight:600;line-height:1.35}
.checks span{display:block;font-size:15px;color:var(--muted);line-height:1.5}

/* mockups */
.mock{position:relative;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--mist) 0%,#E6EDF8 100%);padding:clamp(18px,3vw,34px);min-width:0}
.win{border-radius:18px;background:#fff;box-shadow:var(--shadow-2);overflow:hidden;border:1px solid var(--line)}
.win-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--mist-2)}
.win-bar i{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.win-bar span{margin-left:10px;font-size:12px;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.win-body{padding:18px;display:grid;gap:12px}
.row-ao{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.row-ao:hover{border-color:var(--blue-300);box-shadow:var(--shadow-1)}
.row-ao .t{font-size:15px;font-weight:600;line-height:1.35;min-width:0}
.row-ao .m{grid-column:1;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.row-ao .m span{display:inline-flex;align-items:center;gap:5px}
.row-ao .m svg{width:13px;height:13px}
.row-ao .pill{grid-column:2;grid-row:1 / span 2;font-size:13px}
.score{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);grid-column:1 / -1}
.score .bar{flex:1;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.score .bar i{display:block;height:100%;border-radius:6px;background:var(--ok)}
.score .bar.mid i{background:var(--warn)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px;border-radius:14px;background:var(--mist-2);border:1px dashed var(--line-2)}
.timeline div{display:grid;gap:2px;font-size:12px;color:var(--muted);text-align:center}
.timeline b{font-size:14px;color:var(--ink)}
.timeline div:first-child b{color:var(--blue)}
.timeline div:last-child b{color:var(--alert)}
.float{position:absolute;box-shadow:var(--shadow-2);border-radius:14px;background:#fff;padding:12px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px)}
.float svg{width:18px;height:18px;color:var(--blue);flex:none}
.float.tr{top:-18px;right:-10px}
.float.bl{bottom:-18px;left:-10px}

.engine{display:grid;grid-template-columns:1fr auto 1.3fr;gap:12px;align-items:center}
.lib{display:grid;gap:8px}
.lib div{padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-1)}
.lib svg{width:16px;height:16px;color:var(--blue);flex:none}
.engine-core{width:72px;height:72px;border-radius:22px;background:var(--blue);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(66,105,165,.7)}
.engine-core svg{width:34px;height:34px;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.memo{padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-1);display:grid;gap:8px;font-size:13px;line-height:1.55;color:#3d3a35}
.memo h4{font-size:14px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.memo h4 svg{width:15px;height:15px;color:var(--blue)}
.cite{display:inline-block;padding:0 6px;margin:0 1px;border-radius:6px;background:var(--mist);color:var(--blue);font-weight:700;font-size:12px;cursor:help}
.sources{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.sources span b{color:var(--blue)}
.enrich{display:flex;align-items:center;gap:10px;justify-content:center;padding:10px;border-radius:12px;background:var(--blue);color:#fff;font-size:13.5px;font-weight:600}
.enrich svg{width:16px;height:16px}

.tbl-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line)}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;min-width:440px}
.tbl th{background:var(--mist-2);text-align:left;font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;white-space:nowrap}
.tbl td{padding:10px 12px;border-top:1px solid var(--line)}
.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap}
.tbl tr.filled td.num:last-child{color:var(--blue);font-weight:600}
.tbl tfoot td{font-weight:700;background:var(--mist-2)}
.tabs-mini{display:flex;gap:6px}
.tabs-mini span{padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--mist);color:var(--muted)}
.tabs-mini span.on{background:var(--blue);color:#fff}

.vault{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doc{padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;display:grid;gap:6px}
.doc .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.doc b{font-size:14px}
.doc small{font-size:12px;color:var(--muted)}
.doc .pill{font-size:11.5px;padding:3px 9px}
.checklist{display:grid;gap:8px;padding:14px 16px;border-radius:14px;background:var(--mist-2);border:1px solid var(--line)}
.checklist div{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500}
.checklist .box{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:var(--ok);color:#fff;flex:none}
.checklist .box svg{width:12px;height:12px}
.checklist .box.miss{background:var(--alert)}
.checklist .miss-t{color:var(--alert)}

.gme{display:grid;gap:14px}
.gme-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.co{padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;gap:8px;justify-items:start}
.co .av{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:var(--blue)}
.co:nth-child(2) .av{background:#6C8FC6}
.co:nth-child(3) .av{background:var(--navy-2)}
.co b{font-size:13.5px;line-height:1.3}
.co small{font-size:12px;color:var(--muted)}
.co.lead-co{border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,105,165,.12)}
.share{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:14px;background:var(--mist-2);border:1px dashed var(--line-2);font-size:13.5px;font-weight:500}
.share svg{width:16px;height:16px;color:var(--blue)}

/* ---------- comparatif ---------- */
.compare{background:var(--mist-2);border-block:1px solid var(--line)}
.cmp{overflow-x:auto;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-1)}
.cmp table{width:100%;border-collapse:collapse;min-width:720px}
.cmp th,.cmp td{padding:18px 22px;text-align:left;vertical-align:middle;font-size:16px}
.cmp thead th{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--mist-2)}
.cmp thead th.us{background:var(--blue);color:#fff}
.cmp tbody tr + tr td{border-top:1px solid var(--line)}
.cmp td:first-child{font-weight:600;width:26%}
.cmp td:nth-child(2){color:var(--muted);width:30%}
.cmp td.us{background:rgba(241,245,251,.7);font-weight:600}
.cmp td.us strong{color:var(--blue)}

/* ---------- ROI ---------- */
.roi{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-2);border:1px solid var(--line)}
.roi-in{padding:clamp(24px,4vw,48px);display:grid;gap:28px;background:#fff;min-width:0}
.field{display:grid;gap:10px}
.field label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;font-weight:600}
.field output{font-size:22px;font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.field small{font-size:13px;color:var(--muted)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--blue) var(--p,50%),var(--line) var(--p,50%));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:20px;border-radius:10px;background:#fff;border:2px solid var(--blue);box-shadow:0 3px 8px rgba(44,74,124,.3)}
input[type=range]::-moz-range-thumb{width:36px;height:16px;border-radius:10px;background:#fff;border:2px solid var(--blue);box-shadow:0 3px 8px rgba(44,74,124,.3)}
input[type=range]:focus-visible{outline:3px solid var(--blue-300);outline-offset:6px}
.roi-out{padding:clamp(24px,4vw,48px);background:linear-gradient(160deg,var(--blue) 0%,var(--blue-800) 100%);color:#fff;display:grid;gap:24px;align-content:center;min-width:0}
.roi-big{display:grid;gap:4px}
.roi-big b{font-size:clamp(48px,6vw,76px);font-weight:800;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.roi-big span{color:rgba(255,255,255,.82)}
.roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.roi-grid div{padding:16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:grid;gap:2px}
.roi-grid b{font-size:26px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.roi-grid span{font-size:13px;color:rgba(255,255,255,.8)}
.roi-note{font-size:12.5px;color:rgba(255,255,255,.7);line-height:1.5}

/* ---------- sécurité ---------- */
.secure{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.secure::before{content:"";position:absolute;inset:auto auto -260px -200px;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(143,176,227,.18),transparent)}
.secure .eyebrow{color:var(--blue-300)}
.secure .eyebrow::before{background:linear-gradient(90deg,rgba(255,255,255,.2) 0 40%,var(--blue-300) 40% 100%)}
.secure .lead{color:rgba(255,255,255,.75)}
.secure-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,80px);align-items:center}
.sec-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.sec{padding:20px;border-radius:var(--r-lg);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.sec img{width:52px;height:52px;border-radius:12px;object-fit:cover}
.sec .ic{width:52px;height:52px;border-radius:12px;background:rgba(143,176,227,.16);display:grid;place-items:center;color:var(--blue-300)}
.sec .ic svg{width:24px;height:24px}
.sec b{display:block;font-size:17px}
.sec span{display:block;font-size:14px;color:rgba(255,255,255,.7);line-height:1.45}
.map-card{position:relative;border-radius:var(--r-xl);overflow:hidden;background:#fff;box-shadow:var(--shadow-3)}
.map-card img{width:100%;height:auto}
.map-cap{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 18px;border-radius:16px;background:rgba(26,42,69,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:14px;color:rgba(255,255,255,.85)}
.map-cap b{color:#fff;font-size:15px}
.daltae{font-weight:700;letter-spacing:-.01em;color:inherit;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:1px}

/* ---------- engagements ---------- */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value{padding:32px 28px;border-radius:var(--r-lg);border:1px solid var(--line);display:grid;gap:12px;align-content:start;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.value:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.value .ic{width:48px;height:48px;border-radius:14px;background:var(--mist);color:var(--blue);display:grid;place-items:center}
.value .ic svg{width:22px;height:22px}
.value h3{font-size:21px;font-weight:700}
.value p{font-size:15.5px;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.faq-side{position:sticky;top:110px;display:grid;gap:20px}
.faq{display:grid;gap:12px}
.faq details{border-radius:var(--r);border:1px solid var(--line);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.faq details[open]{border-color:var(--blue-300);box-shadow:var(--shadow-1)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:17px;font-weight:600;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234269A5' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 22px;color:var(--muted);font-size:16px;max-width:66ch}

/* ---------- CTA / formulaire ---------- */
.cta{padding-block:clamp(72px,10vw,120px)}
.cta-card{position:relative;overflow:hidden;border-radius:clamp(24px,3vw,40px);background:linear-gradient(150deg,#5A82BF 0%,var(--blue) 40%,var(--blue-800) 100%);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);padding:clamp(28px,5vw,64px);box-shadow:var(--shadow-3)}
.cta-card::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;left:-200px;bottom:-240px;background:rgba(255,255,255,.07)}
.cta-copy{position:relative;display:grid;gap:22px;align-content:start;min-width:0}
.cta-copy .lead{color:rgba(255,255,255,.85)}
.cta-points{display:grid;gap:12px}
.cta-points li{display:flex;gap:12px;align-items:center;font-weight:500}
.cta-points svg{width:22px;height:22px;padding:4px;border-radius:50%;background:rgba(255,255,255,.18);flex:none}
.contact-line{font-size:15px;color:rgba(255,255,255,.85)}
.contact-line a{color:#fff;font-weight:600}
.form{position:relative;background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);display:grid;gap:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);min-width:0}
.form h3{font-size:22px;font-weight:700}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .f{display:grid;gap:6px;min-width:0}
.form label{font-size:13.5px;font-weight:600}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--mist-2);transition:border-color .2s ease,background .2s ease}
.form textarea{min-height:92px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue);background:#fff}
.form input[aria-invalid=true]{border-color:var(--alert)}
.form .btn{width:100%;margin-top:4px}
.form-legal{font-size:12px;color:var(--muted);line-height:1.5}
.form-ok{display:grid;gap:14px;text-align:center;justify-items:center;padding:24px 8px}
.form-ok .ic{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center}
.form-ok .ic svg{width:30px;height:30px}
.form-ok code{font:600 14px var(--font);padding:4px 10px;border-radius:8px;background:var(--mist);color:var(--blue-800);user-select:all}

/* ---------- footer ---------- */
.footer{background:var(--navy);color:rgba(255,255,255,.75);padding-block:64px 32px;font-size:15px}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.footer img{height:40px;width:auto}
.footer h4{color:#fff;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.footer ul{display:grid;gap:10px}
.footer a{text-decoration:none;color:rgba(255,255,255,.75);transition:color .2s ease}
.footer a:hover{color:#fff}
.footer-brand{display:grid;gap:18px;align-content:start}
.footer-brand p{max-width:34ch}
.footer .footer-daltae{display:grid;gap:12px;justify-items:start;max-width:320px;margin-top:6px;padding:20px 22px;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--red);border-radius:var(--r);background:rgba(255,255,255,.04);transition:background .2s ease,border-color .2s ease}
.footer .footer-daltae:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);border-left-color:var(--red)}
.footer-daltae-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.footer .footer-daltae img{height:36px;width:auto}
.footer-daltae-sub{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#fff}
.footer-daltae-sub svg{width:16px;height:16px;transition:transform .2s ease}
.footer-daltae:hover .footer-daltae-sub svg{transform:translateX(3px)}
.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13.5px}

/* barre mobile */
.mobile-cta{display:none}

/* ---------- reveal ---------- */
.js .reveal{transform:translateY(18px);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{transform:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav a{padding:8px 10px;font-size:14px}
  .header-cta .btn-ghost{display:none}
}
@media (max-width:960px){
  .hero .wrap,.pains,.feat,.secure-grid,.faq-grid,.cta-card,.roi{grid-template-columns:1fr}
  .feat.rev .feat-copy{order:0}
  .faq-side{position:static}
  .steps{grid-template-columns:1fr;gap:0;max-width:520px}
  .steps::before{top:44px;bottom:44px;left:44px;right:auto;border-top:0;border-left:2px dashed rgba(255,255,255,.35)}
  .step{grid-template-columns:88px 1fr;justify-items:start;text-align:left;column-gap:22px;row-gap:2px;padding-block:12px}
  .step-ic{grid-row:span 2}
  .step h3{margin-top:0;align-self:end}
  .step p{align-self:start;max-width:none}
  .proof .wrap{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .values{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .nav{position:fixed;inset:calc(72px + env(safe-area-inset-top,0px)) 0 auto;flex-direction:column;gap:0;margin:0;padding:12px var(--gutter-r) 20px var(--gutter-l);background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .nav a{padding:14px 8px;font-size:17px;border-radius:12px}
  .menu-open .nav{opacity:1;visibility:visible;transform:none}
  .menu-btn{display:inline-flex}
  .header-cta{margin-left:0}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px var(--gutter-r) calc(12px + env(safe-area-inset-bottom,0px)) var(--gutter-l);background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s ease}
  .mobile-cta.show{transform:none}
  .mobile-cta .btn{flex:1}
}
@media (max-width:640px){
  body{font-size:16px}
  .header-cta .btn{display:none}
  .pain-list,.sec-list,.vault,.roi-grid,.form-row{grid-template-columns:1fr}
  .paper-stack{height:340px}
  .gme-row{grid-template-columns:1fr}
  .engine{grid-template-columns:1fr;justify-items:center}
  .engine .lib,.engine .memo{width:100%}
  .engine-core svg{transform:rotate(90deg)}
  .float.tr{right:8px}.float.bl{left:8px}
  .timeline{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr}
  .flow-card{grid-template-columns:auto 1fr;padding:14px 16px}
  .flow-card .pill{grid-column:2;justify-self:start}
  .hero-ctas .btn{flex:1 1 100%}
  .stat{padding:24px 12px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{transform:none}
}

/* ---------- pages légales (mentions, confidentialité, cookies) ---------- */
.lg{padding-block:clamp(40px,7vw,72px) clamp(72px,10vw,104px)}
.lg-wrap{max-width:820px;margin-inline:auto}
.lg-eyebrow{display:flex;align-items:center;gap:12px;font:500 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lg-eyebrow span{width:32px;height:3px;border-radius:2px;background:var(--blue)}
.lg h1{margin:18px 0 8px;font-size:clamp(34px,5vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.lg-date{font-size:14px;color:var(--muted)}
.lg-tabs{display:flex;gap:6px;margin:28px 0 8px;padding:5px;border-radius:999px;background:var(--mist);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.lg-tabs a{flex:none;padding:9px 16px;border-radius:999px;font:500 14px/1.2 var(--font);color:#4F4B45;text-decoration:none;transition:background .2s,color .2s}
.lg-tabs a:hover{color:var(--ink)}
.lg-tabs a.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(26,42,69,.12)}
.lg-body section{padding:30px 0 4px}
.lg-body section+section{border-top:1px solid var(--line);margin-top:26px}
.lg-body h2{margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.lg-body h3{margin:22px 0 8px;font-size:16px;font-weight:600;line-height:1.3}
.lg-body p,.lg-body li{font-size:16px;line-height:1.65;color:#4F4B45}
.lg-body p{margin:0 0 12px}
.lg-body ul{margin:0 0 12px;padding-left:20px;list-style:disc}
.lg-body li{margin:0 0 6px}
.lg-body li::marker{color:var(--blue)}
.lg-body strong{color:var(--ink);font-weight:600}
.lg-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}
.lg-body code{font-size:13.5px;padding:1px 6px;border-radius:6px;background:var(--mist);color:var(--ink)}
.lg-body .lg-lead{font-size:18px;color:var(--ink)}
.lg-dl{margin:6px 0 12px;border-radius:16px;background:var(--mist);padding:6px 20px}
.lg-row{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:11px 0;font-size:15px;line-height:1.5}
.lg-row+.lg-row{border-top:1px solid var(--line)}
.lg-row dt{color:var(--muted)}
.lg-row dd{margin:0;color:var(--ink);font-weight:500}
.lg-table{margin:8px 0 16px;border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:14px;line-height:1.45}
.lg-tr{display:grid;grid-template-columns:1.1fr 1.4fr 1.4fr 1.2fr 1.1fr}
.lg-table--3 .lg-tr{grid-template-columns:1.2fr 2fr 1fr}
.lg-tr>span{padding:12px 14px;color:#4F4B45}
.lg-tr+.lg-tr{border-top:1px solid var(--line)}
.lg-th{background:var(--mist)}
.lg-th>span{font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lg-tr>span:first-child{color:var(--ink);font-weight:500}
.lg-btn{height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--blue-800);background:#fff;color:var(--blue-800);font:500 14px/1 var(--font);cursor:pointer;transition:background .2s,color .2s}
.lg-btn:hover{background:var(--blue-800);color:#fff}
@media (max-width:719.98px){
  .lg-tabs{width:auto}
  .lg-tabs a{flex:1 1 auto;padding:9px 8px;font-size:13px;text-align:center;white-space:nowrap}
  .lg-row{grid-template-columns:1fr;gap:2px}
  .lg-dl{padding:4px 16px}
  .lg-th{display:none}
  .lg-tr,.lg-table--3 .lg-tr{grid-template-columns:1fr;padding:10px 0}
  .lg-tr>span{padding:4px 16px}
  .lg-tr>span:not(:first-child)::before{content:attr(data-l) " · ";color:var(--muted);font-size:12.5px}
}

/* ---------- bandeau cookies (assets/cookies.js) ---------- */
.ck-card{position:fixed;left:24px;bottom:24px;z-index:90;width:min(400px,calc(100vw - 48px));padding:20px 20px 14px;border-radius:22px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px -18px rgba(26,42,69,.35),0 2px 8px rgba(26,42,69,.06);font-family:var(--font);animation:ck-in .55s cubic-bezier(.2,.9,.25,1.15) both}
.ck-card.is-leaving{animation:ck-out .45s cubic-bezier(.6,0,.8,.4) .7s both}
@keyframes ck-in{from{opacity:0;transform:translate3d(0,40px,0) scale(.96)}}
@keyframes ck-out{to{opacity:0;transform:translate3d(0,40px,0) scale(.96)}}
.ck-head{display:flex;align-items:center;gap:14px}
.ck-plate{flex:none;width:64px;height:64px;border-radius:50%;background:var(--mist);display:grid;place-items:center;overflow:visible}
.ck-title{font-weight:700;font-size:17px;line-height:1.25;letter-spacing:-.01em}
.ck-sub{margin-top:2px;font-size:13px;color:var(--muted)}
.ck-text{margin:14px 0 16px;font-size:14px;line-height:1.55;color:#4F4B45}
/* Le cookie se balance doucement ; à la décision, il est remplacé par l'effet posé au même endroit */
.ck-art{overflow:visible}
.ck-body{transform-origin:32px 32px;animation:ck-wiggle 3.2s ease-in-out 1.2s infinite}
@keyframes ck-wiggle{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-12deg)}84%{transform:rotate(9deg)}92%{transform:rotate(-4deg)}}
.ck-card.has-fx .ck-art{visibility:hidden}
/* Accepté : Pac-Man cookie qui file vers la droite en avalant des pastilles */
.ckfx{position:fixed;z-index:91;width:0;height:56px;pointer-events:none}
.ckfx svg{display:block;overflow:visible;max-width:none}
.ckfx-pac{position:absolute;left:0;top:0;width:56px;height:56px;animation:ckfx-run 2.8s linear .2s both;filter:drop-shadow(0 6px 10px rgba(26,42,69,.22))}
.ckfx-pac svg{animation:ckfx-pop .25s ease-out both}
@keyframes ckfx-run{to{transform:translateX(var(--d))}}
@keyframes ckfx-pop{60%{transform:scale(1.18)}100%{transform:scale(1.1)}}
.ckfx-jaw{transform-origin:32px 32px;animation:ckfx-top .2s ease-in-out infinite alternate}
.ckfx-jaw--bot{animation-name:ckfx-bot}
@keyframes ckfx-top{from{transform:rotate(-2deg)}to{transform:rotate(-40deg)}}
@keyframes ckfx-bot{from{transform:rotate(2deg)}to{transform:rotate(40deg)}}
.ckfx-dot{position:absolute;top:24px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(66,105,165,.15);animation:ckfx-dot-in .3s cubic-bezier(.3,1.6,.5,1) both,ckfx-eat .08s ease-in both}
@keyframes ckfx-dot-in{from{transform:scale(0)}}
@keyframes ckfx-eat{to{transform:scale(0);opacity:0}}
.ck-actions{display:flex;gap:10px}
.ck-actions .btn{flex:1;padding:0 14px}
.ck-links{display:flex;justify-content:center;gap:18px;margin-top:10px}
.ck-links a,.ck-links button{padding:6px 2px;border:0;background:none;font:500 13px/1.2 var(--font);color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-links a:hover,.ck-links button:hover{color:var(--ink)}
@media (max-width:639.98px){
  .ck-card{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;padding:18px 16px 10px}
  .ck-actions .btn{min-height:46px}
}
