/* ═══════════════════════════════════════════════════════════════
   Design system — version 4
   Les couleurs (--bg, --paper, --ink, --a, --b) et la police (--f)
   viennent de l'admin ; tout le reste est dérivé d'elles.
   ═══════════════════════════════════════════════════════════════ */
:root{
 --card:#fff;--muted:color-mix(in srgb,var(--ink) 64%,var(--paper));
 --line:color-mix(in srgb,var(--ink) 11%,transparent);--line2:color-mix(in srgb,var(--ink) 20%,transparent);
 --tint:color-mix(in srgb,var(--ink) 4%,var(--paper));--acc-soft:color-mix(in srgb,var(--a) 11%,transparent);
 --r:14px;--rl:22px;--ease:cubic-bezier(.2,.7,.2,1);
 --sh1:0 1px 2px rgba(10,25,20,.06);--sh2:0 18px 40px -20px rgba(10,25,20,.35),0 2px 8px rgba(10,25,20,.05);
 interpolate-size:allow-keywords;
}
:root[data-mode=dark]{
 --paper:color-mix(in srgb,var(--bg) 32%,#060908);--ink:#e8f0ec;--card:color-mix(in srgb,var(--bg) 52%,#0d1411);
 --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.18);--tint:rgba(255,255,255,.035);--acc-soft:color-mix(in srgb,var(--a) 20%,transparent);
 --sh1:0 1px 2px rgba(0,0,0,.4);--sh2:0 22px 44px -22px rgba(0,0,0,.8);color-scheme:dark;
}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 1rem/1.65 var(--f),system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
:focus{outline:0}
:focus-visible{outline:2px solid color-mix(in srgb,var(--a) 70%,transparent);outline-offset:3px;border-radius:8px}
/* Clic / toucher : aucun contour ni halo bleu, jamais (le contour clavier ci-dessus reste pour l'accessibilité) */
html{-webkit-tap-highlight-color:transparent}
*{-webkit-tap-highlight-color:transparent}
a,button,summary,label,select,[role=button],[tabindex]{touch-action:manipulation}
canvas:focus,canvas:focus-visible,dialog:focus,dialog:focus-visible,main:focus,main:focus-visible,[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible,.gm canvas:focus-visible,.idt:focus-visible{outline:0}
button,.btn,.ib,.t,.ml,summary,.lgb,.seg button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
::selection{background:var(--a);color:#fff}
html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 30%,transparent) transparent}
html,body{overflow-x:clip;max-width:100%}main,footer{overflow-x:clip}
img{max-width:100%}
.wrap{width:min(1200px,100% - 3rem);margin:auto}.wrap.narrow{width:min(820px,100% - 3rem)}
.skip{position:fixed;left:1rem;top:-5rem;z-index:200;background:var(--a);color:#fff;padding:.7rem 1.2rem;border-radius:99px;font-weight:600;transition:top .2s}.skip:focus{top:1rem}

/* ── Typographie ── */
h1,h2,h3{text-wrap:balance}
h1{font-size:clamp(2.5rem,5.4vw,4.5rem);line-height:1.04;font-weight:700;letter-spacing:-.04em}
h2{font-size:clamp(1.9rem,3.5vw,2.75rem);line-height:1.12;letter-spacing:-.032em;font-weight:700;max-width:22ch;margin-bottom:2.4rem}
h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.015em;font-weight:650}
p{text-wrap:pretty}
.ab h2{margin-bottom:1.4rem}.ab p{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:40em;line-height:1.65;color:var(--muted);margin-bottom:1rem}

/* ── Sections ── */
.sec{padding:clamp(2.2rem,4.5vw,3.4rem) 0}.sec.hd{padding-bottom:0}
main>.sec:first-child{padding-top:clamp(3rem,6vw,5rem)}

/* ── Boutons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:99px;font-weight:600;font-size:.97rem;line-height:1.2;transition:transform .2s var(--ease),box-shadow .2s,background .2s,filter .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97);transition-duration:.08s}.ib,.ml,.lgb{transition:transform .2s var(--ease),background .2s,opacity .2s}.ib:active,.lgb:active{transform:scale(.92)}
.p{background:var(--a);color:#fff;box-shadow:0 10px 24px -12px var(--a),inset 0 1px 0 rgba(255,255,255,.22)}.p:hover{filter:brightness(1.08);box-shadow:0 14px 28px -12px var(--a),inset 0 1px 0 rgba(255,255,255,.22)}
.g{background:color-mix(in srgb,currentColor 9%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent);color:inherit}.g:hover{background:color-mix(in srgb,currentColor 16%,transparent)}

/* ── En-tête : pilule flottante ── */
header{position:fixed;inset:12px 0 auto;z-index:20;color:#fff}
header .bar{display:flex;align-items:center;gap:1rem;width:min(1440px,100% - 2rem);margin:auto;height:64px;padding:0 10px 0 22px;border-radius:99px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 32px -18px rgba(0,0,0,.6);transition:background .3s,box-shadow .3s}
header.sc .bar{background:color-mix(in srgb,var(--bg) 92%,transparent);box-shadow:0 16px 36px -16px rgba(0,0,0,.65)}
.logo{display:flex;gap:.65rem;align-items:center;font-weight:700;font-size:1.15rem;letter-spacing:-.025em;flex:none;min-width:0}.logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lg{height:var(--lh);width:auto;color:var(--b)}.logo em{display:none}
nav{display:flex;gap:.5rem;margin-left:auto;align-items:center}
.tabs{position:relative;display:flex;isolation:isolate}.tabs .t{padding:.5rem .85rem;border-radius:99px;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.74);white-space:nowrap;transition:color .2s}.tabs .t:hover,.tabs .t.on{color:#fff}
.mk{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:rgba(255,255,255,.12);z-index:-1;opacity:0;transition:transform .35s var(--ease),width .35s var(--ease),opacity .2s}
.ib{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;transition:background .2s}.ib:hover{background:rgba(255,255,255,.18)}
#md .moon{display:none}:root[data-mode=dark] #md .sun{display:none}:root[data-mode=dark] #md .moon{display:block}
header nav .btn{flex:none;padding:.65rem 1.2rem;font-size:.94rem;background:#fff;color:#0c1a15;border:0;box-shadow:none}header nav .btn:hover{background:#eef3f0;transform:none}
#bg{display:none;flex:none;width:46px;height:46px;margin-left:auto;border-radius:50%;background:#fff;place-content:center;gap:5px}
#bg i{display:block;width:20px;height:2px;background:#0c1a15;border-radius:2px;transition:translate .25s var(--ease) .25s,rotate .25s var(--ease),opacity .01s .25s,width .2s}
#bg[aria-expanded=true] i{transition:translate .25s var(--ease),rotate .25s var(--ease) .25s,opacity .01s .25s}
#bg[aria-expanded=true] i:nth-child(1){translate:0 7px;rotate:45deg}#bg[aria-expanded=true] i:nth-child(2){opacity:0}#bg[aria-expanded=true] i:nth-child(3){translate:0 -7px;rotate:-45deg}
@media(max-width:1360px){header nav{display:none}#bg{display:grid}header .bar{padding:0 9px 0 20px}}

/* ── Menu mobile ── */
#menu{position:fixed;inset:0;z-index:15;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);color:#fff;padding-top:104px;display:flex;flex-direction:column;visibility:hidden;clip-path:circle(0 at calc(100% - 44px) 44px);transition:clip-path .55s var(--ease),visibility 0s .55s}
#menu.open{visibility:visible;clip-path:circle(150% at calc(100% - 44px) 44px);transition:clip-path .6s var(--ease)}
#menu .mh{display:none}
#menu .ml{flex:none;padding:1rem 1.5rem;font-size:clamp(1.4rem,6vw,1.9rem);font-weight:600;letter-spacing:-.025em;border-bottom:1px solid rgba(255,255,255,.1);opacity:0;translate:0 12px;transition:opacity .4s,translate .5s var(--ease),color .2s}
#menu.open .ml{opacity:1;translate:0}#menu .ml:hover{color:var(--b)}
#menu.open .ml:nth-of-type(2){transition-delay:.12s}#menu.open .ml:nth-of-type(3){transition-delay:.16s}#menu.open .ml:nth-of-type(4){transition-delay:.2s}#menu.open .ml:nth-of-type(5){transition-delay:.24s}#menu.open .ml:nth-of-type(n+6){transition-delay:.28s}
#menu .mb{flex:none;margin-top:auto;padding:1.5rem 1.5rem calc(2rem + env(safe-area-inset-bottom,0px));display:grid;gap:.7rem}#menu .mb .btn{width:100%}#menu .mb .btn .ico{margin-right:.2rem}

/* ── Hero ── */
.hero{position:relative;min-height:min(100svh,900px);display:grid;align-items:center;color:#fff;overflow:hidden;padding:8.5rem 0 5rem;
 background:radial-gradient(60% 75% at 88% 12%,color-mix(in srgb,var(--a) 32%,transparent),transparent 70%),radial-gradient(60% 70% at 0% 100%,color-mix(in srgb,var(--b) 14%,transparent),transparent 70%),var(--bg)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 35% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 35% 40%,#000 15%,transparent 75%);pointer-events:none}
.hero.mini{min-height:0;padding:9rem 0 4rem}
.fx{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.hero-in>*{min-width:0}.mini .hero-in{grid-template-columns:1fr}
.hero h1{max-width:13em}.mini h1{font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:none}
.ln{display:block;animation:rise .8s var(--ease) calc(var(--i,0)*.1s + .05s) backwards}.ln:last-child:not(:first-child){color:var(--b)}
.sub{max-width:34em;margin:1.6rem 0 2rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.65;color:rgba(255,255,255,.76);animation:rise .8s var(--ease) .35s backwards}
.cta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;animation:rise .8s var(--ease) .45s backwards}.cta .btn{padding:.95rem 1.8rem;font-size:1.02rem}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.gw{position:relative;animation:rise 1s var(--ease) .3s backwards}.blob{position:absolute;inset:-5% -5% auto auto;width:75%;aspect-ratio:1;background:var(--a);opacity:.35;filter:blur(70px);border-radius:50%}
.globe-w{position:relative;width:min(420px,92%);aspect-ratio:1;margin:auto}.globe{width:100%;height:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.4));animation:fl 9s ease-in-out infinite alternate}.gcont{animation:rot 60s linear infinite}@keyframes rot{to{transform:translateX(-200px)}}
@keyframes fl{to{translate:0 -7px}}
.chip{position:absolute;z-index:2;display:flex;gap:.65rem;align-items:center;padding:.5rem 1rem .5rem .5rem;border-radius:16px;background:rgba(255,255,255,.95);color:#10231e;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);animation:fl 7s ease-in-out infinite alternate}
.chip>i{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:700;font-size:1.05rem}.chip .ico{width:21px;height:21px}.chip b{display:block;line-height:1.15;font-size:.97rem;font-weight:650}.chip small{display:block;opacity:.6;font-size:.73rem;white-space:nowrap}
.chip.c1{top:6%;right:-6%}.chip.c2{top:38%;left:-10%;animation-delay:-2s}.chip.c3{bottom:24%;right:-8%;animation-delay:-3.5s}.chip.c5{bottom:4%;left:4%;animation-delay:-1s}.chip.c4{top:-2%;left:6%;animation-delay:-4s}.chip.c4>i{background:var(--a)}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;gap:2.5rem}.chip.c1{top:18%}.hero{padding-top:7.5rem}.globe-w{width:min(320px,78%)}.chip.c1{right:-2%}.chip.c2{left:-2%}.chip.c3{right:-2%}.hero h1{font-size:clamp(2.3rem,9.5vw,3.4rem)}}

/* ── Révélation au scroll ── */
.js.ok .rv:not(.in){opacity:0}.rv.in{animation:rise .7s var(--ease) var(--d,0s) backwards}

/* ── Cartes (services) ── */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.card,.lk,.tm,.ir,.fq{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh1)}
.card{position:relative;overflow:hidden;padding:1.8rem;border-radius:var(--rl);display:flex;flex-direction:column;gap:.55rem;min-height:230px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.card::after,.lk::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 220px at var(--x,50%) var(--y,0%),var(--acc-soft),transparent);opacity:0;transition:opacity .3s;pointer-events:none}.card:hover::after,.lk:hover::after{opacity:1}
.card:hover,.lk:hover,.tm:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:color-mix(in srgb,var(--a) 38%,var(--line))}
.ic{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;margin-bottom:auto;background:var(--acc-soft);color:var(--a);font-size:1.5rem}.ic .ico{width:26px;height:26px}
.card h3{margin-top:1.2rem}.card p{color:var(--muted);font-size:.98rem}
.card .go{position:absolute;right:1.4rem;top:1.4rem;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);color:var(--muted);transition:background .25s,color .25s,translate .25s}.card:hover .go{background:var(--a);border-color:var(--a);color:#fff;translate:2px -2px}

/* ── Instances / statut ── */
.inst{display:grid;gap:.7rem}
.ir{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-radius:18px;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
a.ir:hover{border-color:color-mix(in srgb,var(--a) 40%,var(--line));box-shadow:var(--sh2);transform:translateY(-2px)}
.ir h3{font-size:1.08rem}.ir p{color:var(--muted);font-size:.94rem}
.pill{--c:#1f9d57;display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:99px;font-size:.82rem;font-weight:600;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
:root[data-mode=dark] .pill{--c:#4ade80}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--c);animation:pu 2s infinite}
.pill.mt{--c:#c97a06}:root[data-mode=dark] .pill.mt{--c:#fbbf24}.pill.off{--c:#d6383d}:root[data-mode=dark] .pill.off{--c:#f87171}.pill.off i,.pill.mt i{animation:none}
.pill.chk{--c:#7b8782}.pill.chk i{animation:pu 1s infinite}.pill small{opacity:.7;font-weight:500}
@keyframes pu{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
.stn{margin:-1rem 0 1.4rem;color:var(--muted)}
.sbn{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1.1rem 1.4rem;margin-bottom:1rem;border-radius:18px;background:color-mix(in srgb,#8a9690 14%,var(--card));border:1px solid var(--line);font-weight:650}
.sbn i{flex:none;width:12px;height:12px;border-radius:50%;background:#8a9690;animation:pu 1s infinite;--c:#8a9690}.sbn small{margin-left:auto;font-weight:500;color:var(--muted)}
.sbn.ok{background:color-mix(in srgb,#1f9d57 13%,var(--card))}.sbn.ok i{background:#1f9d57;animation:none}
.sbn.mt{background:color-mix(in srgb,#e19a0c 15%,var(--card))}.sbn.mt i{background:#e19a0c;animation:none}
.sbn.off{background:color-mix(in srgb,#d6383d 15%,var(--card))}.sbn.off i{background:#d6383d;animation:none}

/* ── Liens ── */
.lks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem}
.lk{position:relative;overflow:hidden;padding:1.8rem;border-radius:var(--rl);min-height:190px;display:flex;flex-direction:column;gap:.4rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.lk strong{font-size:1.35rem;letter-spacing:-.025em;line-height:1.2;font-weight:650}.lk p{color:var(--muted)}
.lk span{margin-top:auto;align-self:flex-end;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);font-size:1.1rem;transition:background .25s,color .25s,translate .25s}.lk:hover span{background:var(--a);border-color:var(--a);color:#fff;translate:2px -2px}

/* ── Chiffres ── */
.stats{background:var(--bg);color:#fff;padding:4.5rem 0;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 120% at 100% 0%,color-mix(in srgb,var(--a) 28%,transparent),transparent 70%);pointer-events:none}
.sg{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem 0}
.sg>div{padding:.3rem 1.6rem;border-left:1px solid rgba(255,255,255,.14)}.sg>div:first-child{border-left:0;padding-left:0}
.sg b{display:block;font-size:clamp(2.6rem,5.2vw,4.2rem);line-height:1.05;letter-spacing:-.045em;font-weight:700;color:var(--b);font-variant-numeric:tabular-nums}.sg span{display:block;margin-top:.4rem;color:rgba(255,255,255,.72)}
@media(max-width:700px){.sg{grid-template-columns:1fr 1fr}.sg>div:nth-child(odd){border-left:0;padding-left:0}}

/* ── Image / citation / bouton / bandeau ── */
.im img{width:100%;border-radius:var(--rl);display:block}.im figcaption{margin-top:.7rem;color:var(--muted);font-size:.93rem}
blockquote{font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.35;letter-spacing:-.02em;font-weight:600;max-width:28em;padding-left:1.5rem;border-left:3px solid var(--a)}cite{display:block;font-size:.97rem;font-weight:500;font-style:normal;color:var(--muted);margin-top:1rem}
.bt .wrap{text-align:center}.bt .btn{padding:1rem 2.2rem;font-size:1.05rem}
.mq{overflow:hidden;border-block:1px solid var(--line);background:var(--card);padding:1rem 0}
.mqt{display:flex;width:max-content;animation:mq 50s linear infinite;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.mqt span{flex:none}
@keyframes mq{to{transform:translateX(-50%)}}
.lgs{padding:2.2rem 0 1rem}.lgt{text-align:center;color:var(--muted);font-size:.9rem;font-weight:500;margin-bottom:1.6rem}
.lgr{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem 2.8rem}.lgo{display:flex;align-items:center;gap:.7rem;font-size:1.08rem;font-weight:600;letter-spacing:-.015em;color:var(--muted);transition:color .25s}.lgo:hover{color:var(--ink)}
.lgo span{width:38px;height:38px;border-radius:11px;border:1px solid var(--line2);background:var(--card);color:var(--a);display:grid;place-items:center}.lgo .ico{width:21px;height:21px}

/* ── Étapes (illustrations) ── */
.etp{background:color-mix(in srgb,var(--bg) 62%,#000);color:#fff;padding:5.5rem 0;margin:2.5rem 0}.etp h2{color:#fff}
.ess{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}.es{flex:1 1 calc((100% - 2.4rem)/3 - 1px);min-width:260px;max-width:calc((100% - 1.2rem)/2)}@media(min-width:1000px){.es{max-width:calc((100% - 2.4rem)/3)}}@media(max-width:640px){.es{max-width:none;flex-basis:100%}}
.es{display:grid;gap:.6rem;align-content:start;padding:1.6rem;border-radius:var(--rl);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);transition:border-color .3s,background .3s}.es:hover{border-color:color-mix(in srgb,var(--b) 40%,transparent);background:rgba(255,255,255,.055)}
.eg{width:100%;height:190px;display:grid;place-items:center;margin-bottom:.8rem;border-radius:16px;background:radial-gradient(closest-side,color-mix(in srgb,var(--a) 34%,transparent),transparent 80%),rgba(0,0,0,.18)}
.pix{width:128px;max-width:60%;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--a) 65%,transparent))}
.en{font:600 .85rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em;color:var(--b)}.es h3{font-size:1.45rem}.es p:last-child{color:rgba(255,255,255,.68)}

/* ── Vitrines (grandes cartes colorées + maquette) ── */
.vt{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"t m";gap:clamp(1.5rem,4vw,3.5rem);align-items:center;border-radius:28px;padding:clamp(1.6rem,4.5vw,3.6rem);background:linear-gradient(150deg,var(--bg),color-mix(in srgb,var(--bg) 55%,#000));color:#fff;overflow:hidden;box-shadow:var(--sh2)}
.vt::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(255,255,255,.16),transparent 65%);pointer-events:none}
.vt.rev{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:"m t"}
.vt>*{position:relative}.vtt{grid-area:t}.vt h2{margin:0 0 1rem;font-size:clamp(1.7rem,3vw,2.5rem);max-width:16ch}.vt p{max-width:30em;color:rgba(255,255,255,.82)}
.vtm{grid-area:m;display:grid;place-items:center}.vtl{display:inline-flex;gap:.7rem;align-items:center;margin-top:1.6rem;font-weight:600;padding:.7rem 1.2rem;border-radius:99px;background:#fff;color:#10231e;transition:transform .2s}.vtl:hover{transform:translateY(-1px)}.vtl i{font-style:normal;transition:translate .25s}.vtl:hover i{translate:4px 0}
.vt-discord{background:linear-gradient(140deg,#4752c4,#6a4de0 60%,#8b4dff)}.vt-pronote{background:linear-gradient(150deg,#0e3a58,#1b7ea6)}.vt-mac{background:linear-gradient(150deg,#2b2f3a,#555c70)}.vt-desktop{background:linear-gradient(145deg,#2a1357,#6f35d8)}.vt-terminal{background:linear-gradient(150deg,#0a1a15,#14392d)}
@media(max-width:900px){.vt,.vt.rev{grid-template-columns:1fr;grid-template-areas:"m" "t"}}
.mkw{width:min(720px,100%);border-radius:14px;background:rgba(18,20,28,.8);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(14px);box-shadow:0 30px 60px -28px #000;overflow:hidden;font-size:.82rem;color:#fff}
.mkb{display:flex;gap:7px;padding:.7rem .9rem;background:rgba(255,255,255,.07)}.mkb i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.mkb i:nth-child(2){background:#febc2e}.mkb i:nth-child(3){background:#28c840}
.mk-dc{display:grid;grid-template-columns:54px 150px 1fr;min-height:300px}.dcs{background:rgba(0,0,0,.35);display:grid;align-content:start;gap:.6rem;padding:.8rem}.dcs b{width:34px;height:34px;border-radius:50%;background:#5865f2}.dcs b:nth-child(2){background:#3ba55d}.dcs b:nth-child(3){background:#faa81a}.dcs b:nth-child(4){background:#ed4245}
.dcc{background:rgba(255,255,255,.05);padding:.8rem;display:grid;align-content:start;gap:.2rem}.dcc small{padding:.35rem .5rem;border-radius:6px;opacity:.75}.dcc .on{background:rgba(255,255,255,.14);opacity:1}.dcm{padding:1rem;display:grid;align-content:start;gap:.9rem}
.mg{display:flex;gap:.7rem}.mg i{flex:none;width:34px;height:34px;border-radius:50%;background:#5865f2}.mg .a2{background:#3ba55d}.mg .a3{background:#faa81a}.mg p{display:grid;margin:0}.mg b{color:#c9d1ff}.mg span{opacity:.85}.emb{border-left:4px solid #8b4dff;background:rgba(255,255,255,.08);border-radius:6px;padding:.6rem .8rem;display:grid}
.mcb{display:grid;grid-template-columns:160px 1fr;min-height:280px}.mcs{background:rgba(255,255,255,.05);padding:1rem;display:grid;align-content:start;gap:.3rem}.mcs span{padding:.45rem .6rem;border-radius:8px;opacity:.75}.mcs .on{background:rgba(255,255,255,.14);opacity:1}
.mk-pr{background:#f4f7fa;color:#17324a}.mk-pr .mkb{background:#dfe7ee}.prh{display:flex;justify-content:space-between;padding:.8rem 1rem;background:#1d7fa8;color:#fff}.prg{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;padding:1rem;min-height:230px;align-content:start}.prg span{font-weight:700;text-align:center}.prg i{font-style:normal;border-radius:8px;padding:.5rem;background:#cfe9f5;grid-row:2}.prg .c2{background:#d8f2d4}.prg .c3{background:#fde7c3}.prg .c4{background:#e6d9fa;grid-row:3}.prg .c5{background:#fbd5dc;grid-row:3}.prg small{opacity:.7}
.pnb{display:grid;grid-template-columns:1.2fr 1fr;min-height:260px}.pl,.pc{padding:1rem;display:grid;align-content:start;gap:.5rem}.pl span{padding:.5rem .7rem;border-radius:8px;background:rgba(255,255,255,.07)}.pl .ok::before,.pl .mt::before{content:"●";margin-right:.5rem;color:#3ddc84}.pl .mt::before{color:#faa81a}.pbar{height:12px;border-radius:9px;background:rgba(255,255,255,.1)}.pbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--a),var(--b))}
.mk-ds{min-height:300px;background:linear-gradient(160deg,#3b2a7a,#c4501c);position:relative;display:grid;grid-template-rows:auto 1fr auto}.mbar{display:flex;gap:1rem;align-items:center;padding:.4rem .9rem;background:rgba(0,0,0,.35)}.mbar em{margin-left:auto;font-style:normal;opacity:.8}.dsw{padding:1.2rem;display:grid;place-items:center}.dwin{width:min(420px,100%);border-radius:12px;background:rgba(20,22,30,.85);overflow:hidden}.dwb{padding:1rem;display:grid;gap:.5rem}.dwb span{padding:.5rem .7rem;border-radius:8px;background:rgba(255,255,255,.08)}.dwb .ok::before{content:"●";margin-right:.5rem;color:#3ddc84}
.dock{justify-self:center;display:flex;gap:.6rem;padding:.5rem .8rem;margin-bottom:.8rem;border-radius:18px;background:rgba(255,255,255,.2);backdrop-filter:blur(10px)}.dock i{width:40px;height:40px;border-radius:11px}
.mk-tr{background:#0d0d14}.mk-tr pre{padding:1rem;margin:0;font:.85rem/1.7 ui-monospace,Menlo,monospace;color:#9be8b4;white-space:pre-wrap;min-height:220px}.mk-tr pre i{display:inline-block;width:.6em;height:1.1em;background:#9be8b4;vertical-align:-.2em;animation:bk 1s steps(2) infinite}@keyframes bk{50%{opacity:0}}
.mk-app{width:min(860px,100%);background:#2b2b2e;border:1px solid rgba(0,0,0,.5);color:#e9e9ec;font-size:.78rem}.mk-app .mkb{background:#3a3a3d}
.apb{display:grid;grid-template-columns:150px 1fr 190px;min-height:330px}.aps{background:#3a3a3d;padding:.8rem;display:grid;align-content:start;gap:.25rem}.aps small{opacity:.55;margin:.5rem 0 .2rem}.aps span{display:flex;justify-content:space-between;padding:.35rem .5rem;border-radius:7px}.aps em{font-style:normal;opacity:.6}.aps .on{background:#d9743a;color:#fff}.aps .add{opacity:.55;margin-top:auto}
.apm{padding:.7rem;display:grid;grid-template-rows:auto 1fr;gap:.6rem}.aph{display:flex;gap:.6rem;align-items:baseline}.aph small{opacity:.55}
.apg{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;align-content:start}.tle{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08)}.tle .pix{width:68%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.tle.sel{box-shadow:0 0 0 2px #d9743a}.tle.add2{background:#232326;display:grid;align-content:center;justify-items:center;opacity:.7;font-size:.7rem}.tle.add2 b{font-size:1.4rem;line-height:1}
.api{background:#2f2f32;padding:.7rem;display:grid;align-content:start;gap:.6rem;border-left:1px solid rgba(0,0,0,.4)}.tle.pv{border-radius:10px;box-shadow:0 0 0 3px #4a4a4e}.apt{background:#1f1f22;border-radius:8px;padding:.6rem;min-height:70px}.apr{display:flex;align-items:center;gap:.5rem}.apr i{flex:1;height:5px;border-radius:5px;background:#4a4a4e}.apr u{display:block;width:60%;height:100%;border-radius:5px;background:#d9743a}.apr b{background:#555;padding:.1rem .5rem;border-radius:5px}
.apbt{display:flex;gap:.4rem}.apbt span{flex:1;text-align:center;background:#545458;border-radius:7px;padding:.4rem}.apbt span:last-child{flex:none;padding:.4rem .7rem}.apo{text-align:center;background:#d9743a;color:#fff;border-radius:7px;padding:.5rem;font-weight:700}
@media(max-width:760px){.mk-dc{grid-template-columns:44px 1fr}.dcc{display:none}.mcb,.pnb{grid-template-columns:1fr}.mcs{display:none}.apb{grid-template-columns:1fr}.aps{display:none}.api{border-left:0}.apg{grid-template-columns:repeat(3,1fr)}.tle.pv{max-width:170px;margin:0 auto}}

/* ── FAQ ── */
.faq{display:grid;gap:.7rem}.fq{border-radius:18px;overflow:hidden;transition:border-color .25s,box-shadow .25s}.fq[open]{border-color:color-mix(in srgb,var(--a) 35%,var(--line));box-shadow:var(--sh2)}
.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;font-weight:600;font-size:1.08rem;letter-spacing:-.01em}.fq summary::-webkit-details-marker{display:none}
.fq summary i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--acc-soft);position:relative;transition:rotate .35s var(--ease),background .25s}.fq summary i::before,.fq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--a);border-radius:2px;translate:-50% -50%}.fq summary i::after{rotate:90deg}.fq[open] summary i{rotate:135deg;background:var(--a)}.fq[open] summary i::before,.fq[open] summary i::after{background:#fff}
.fq div{padding:0 1.4rem 1.3rem;color:var(--muted)}.fq::details-content{block-size:0;overflow:clip;transition:block-size .35s,content-visibility .35s allow-discrete}.fq[open]::details-content{block-size:auto}

/* ── Équipe ── */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.tm{border-radius:var(--rl);padding:1.7rem;display:grid;gap:.3rem;align-content:start;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.tm .av{width:76px;height:76px;border-radius:50%;background:var(--a);display:grid;place-items:center;font-size:2rem;font-weight:700;color:#fff;overflow:hidden;margin-bottom:.8rem;box-shadow:0 0 0 4px var(--card),0 0 0 5px var(--line2)}.tm:nth-child(3n+2) .av{background:var(--bg)}.tm:nth-child(3n) .av{background:var(--b);color:#10231e}.tm .av img{width:100%;height:100%;object-fit:cover}.tm .av .ico{width:38px;height:38px}
.tm b{color:var(--a);font-size:.85rem;font-weight:650;letter-spacing:.02em}.tm p{color:var(--muted);font-size:.96rem}

/* ── Chronologie ── */
.tls{list-style:none;padding:0;position:relative;--p:0}
.tls::before,.tls::after{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--line2)}.tls::after{background:linear-gradient(var(--a),var(--b));transform-origin:top;transform:scaleY(var(--p))}
.tli{position:relative;display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:1.5rem;padding:0 0 2.4rem 2.8rem}.tli:last-child{padding-bottom:0}
.tli::before{content:"";position:absolute;left:0;top:.35rem;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--line2);z-index:1;transition:background .3s,border-color .3s}.tli.on::before{background:var(--a);border-color:var(--a);box-shadow:0 0 0 5px var(--acc-soft)}
.tli time{font-weight:700;font-size:clamp(1.2rem,2.2vw,1.6rem);letter-spacing:-.03em;color:var(--a);line-height:1.2}.tli p{color:var(--muted);margin-top:.3rem;max-width:36em}
@media(max-width:620px){.tli{grid-template-columns:1fr;gap:.2rem}}

/* ── Galerie + visionneuse ── */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:.8rem}.gi{position:relative;overflow:hidden;border-radius:16px;background:var(--line)}.gi:nth-child(5n+1){grid-row:span 2}.gi:nth-child(7n+3){grid-column:span 2}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}.gi:hover img{transform:scale(1.05)}.gi::after{content:attr(data-cap);position:absolute;inset:auto 0 0;padding:2.2rem 1rem .8rem;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;translate:0 10px;transition:.3s}.gi:hover::after{opacity:1;translate:0}
#lb{border:0;background:none;color:#fff;width:100%;max-width:none;height:100%;max-height:none;padding:0;overflow:hidden}#lb::backdrop{background:rgba(5,10,8,.92)}.lbi{position:fixed;inset:0;display:grid;place-items:center;padding:3.5rem 1rem 4.5rem}.lbi img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 20px 80px rgba(0,0,0,.6);animation:lbz .4s var(--ease)}@keyframes lbz{from{scale:.94;opacity:0}}
.lbc{position:fixed;inset:auto 0 1.2rem;text-align:center;font-weight:600}.lbb{position:fixed;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);font-size:1.3rem}.lbb:hover{background:var(--a)}.lbp{left:1rem}.lbn{right:1rem}.lbx{position:fixed;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);font-size:1.2rem}

/* ── Compte à rebours ── */
.cd{background:var(--bg);color:#fff;border-radius:26px;padding:clamp(1.6rem,4vw,3rem);position:relative;overflow:hidden;box-shadow:var(--sh2)}.cd::before{content:"";position:absolute;right:-80px;top:-100px;width:340px;aspect-ratio:1;background:var(--a);opacity:.4;filter:blur(60px);border-radius:50%}
.cd small{position:relative;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.75);font-weight:650}.cdg{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.5rem,2vw,1.2rem);margin-top:1.1rem}
.cdg div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:1.1rem .4rem;text-align:center}.cdg b{display:block;font-size:clamp(2.1rem,7vw,4.5rem);line-height:1;letter-spacing:-.04em;font-weight:700;color:var(--b);font-variant-numeric:tabular-nums}.cdg span{font-size:.88rem;color:rgba(255,255,255,.7)}.cdg b.tick{animation:tk .35s}@keyframes tk{from{translate:0 -8px;opacity:.3}}
.cde{position:relative;font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:700;margin-top:1rem;letter-spacing:-.03em}

/* ── Horaires (cloche) ── */
.bl{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:stretch}
.bln{background:linear-gradient(145deg,var(--a),color-mix(in srgb,var(--a) 65%,#000));color:#fff;border-radius:var(--rl);padding:clamp(1.5rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.7rem;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--sh2)}
.bln small{text-transform:uppercase;letter-spacing:.13em;font-weight:650;font-size:.82rem;opacity:.85}.bnow{font-size:clamp(1.9rem,4.5vw,3.2rem);line-height:1.05;letter-spacing:-.035em;font-weight:700}.bbar{height:8px;border-radius:8px;background:rgba(255,255,255,.25);overflow:hidden}.bbar i{display:block;height:100%;width:100%;background:#fff;border-radius:8px;transform-origin:left;transform:scaleX(0);transition:transform 1s linear}
.bcd2 strong{font-variant-numeric:tabular-nums;font-size:1.2em}.rbell{display:none;position:absolute;right:1.4rem;top:1rem;width:2.4rem;transform-origin:50% 0}.rbell svg{width:100%;height:auto}.bln.ring .rbell{display:block;animation:ring .9s ease-in-out 3}@keyframes ring{20%{rotate:20deg}40%{rotate:-18deg}60%{rotate:12deg}80%{rotate:-6deg}}
.blr{list-style:none;padding:0;display:grid;gap:.4rem;align-content:start}.blr li{display:flex;gap:1rem;align-items:center;padding:.65rem 1.1rem;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:.3s}.blr time{font-weight:700;font-variant-numeric:tabular-nums;min-width:3.3em;color:var(--a)}.blr li.past{opacity:.45}.blr li.on{background:var(--bg);color:#fff;border-color:var(--bg);font-weight:650}.blr li.on time{color:var(--b)}
@media(max-width:760px){.bl{grid-template-columns:1fr}}

/* ── Carte d'adhérent ── */
.idg{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.idi p{font-size:1.1rem;color:var(--muted);max-width:30em;margin-bottom:1.2rem}.idf{display:grid;gap:1rem}.idf label{display:grid;gap:.4rem;font-weight:600;font-size:.92rem}.idf small{font-weight:400;color:var(--muted)}
.idf input[type=file]{padding:.6rem}.idf .btn{justify-self:start}
.idw{perspective:1100px}.idt{position:relative;border-radius:30px;transition:transform .25s;transform-style:preserve-3d;box-shadow:0 30px 60px -24px rgba(0,0,0,.5);aspect-ratio:1012/640}.idt canvas{width:100%;height:100%;display:block;border-radius:30px}
.holo{position:absolute;inset:0;border-radius:30px;pointer-events:none;mix-blend-mode:color-dodge;opacity:.45;background:radial-gradient(circle at var(--hx,50%) var(--hy,30%),rgba(255,255,255,.9),transparent 38%),linear-gradient(115deg,transparent 20%,rgba(255,60,200,.5) 35%,rgba(60,255,220,.5) 50%,rgba(255,230,60,.5) 65%,transparent 80%);background-size:100% 100%,260% 260%;background-position:0 0,var(--hp,50%) 50%}
@media(max-width:860px){.idg{grid-template-columns:1fr}}

/* ── Formulaires ── */
.idf input,.idf select,.fm input:not([type=checkbox]),.fm select,.fm textarea{font:inherit;color:inherit;width:100%;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}
.idf input:focus,.idf select:focus,.fm input:focus,.fm select:focus,.fm textarea:focus{outline:0;border-color:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 20%,transparent)}
.fm{display:grid;gap:1.2rem;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:clamp(1.4rem,4vw,2.6rem);box-shadow:var(--sh2)}
.ff{display:grid;gap:.45rem;font-weight:600}.ff>span{font-size:.9rem}.ff span em{color:var(--a);font-style:normal}.ff textarea{resize:vertical;min-height:130px}
.fm input::placeholder,.fm textarea::placeholder{color:var(--muted);opacity:.6}
.fm select{appearance:none;-webkit-appearance:none;padding-right:2.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a948f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:18px}
.fck{display:flex;gap:.8rem;align-items:flex-start;font-weight:500;cursor:pointer;font-size:.97rem}
.fck input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line2);background:var(--card);display:grid;place-content:center;transition:.2s;cursor:pointer;margin-top:.1rem;padding:0}
.fck input::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;rotate:-45deg;translate:0 -1px;scale:0;transition:scale .2s var(--ease)}.fck input:checked{background:var(--a);border-color:var(--a)}.fck input:checked::after{scale:1}
.fm .btn{position:relative;min-width:12rem;justify-self:start;padding:.95rem 1.9rem;font-size:1.02rem}.fm.busy .btn{pointer-events:none}
.fm.busy .btn span{opacity:0}.fm.busy .btn::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spn .7s linear infinite}@keyframes spn{to{rotate:360deg}}
.fmsg{min-height:1.5em;font-weight:600}.fmsg:empty{display:none}.fmsg.err{color:#d6383d;background:color-mix(in srgb,#d6383d 11%,transparent);padding:.7rem 1rem;border-radius:12px}.fmsg.ok{color:#1f9d57}
.fm.done{text-align:center;padding-block:3rem}.fm.done .fmsg{font-size:1.5rem;color:var(--a)}
.fm.shake{animation:shk .4s}@keyframes shk{20%{translate:-7px 0}40%{translate:6px 0}60%{translate:-4px 0}80%{translate:2px 0}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ff input:user-invalid,.ff select:user-invalid,.ff textarea:user-invalid{border-color:#d6383d}
.okc{width:80px;height:80px;margin:0 auto .5rem;display:block}.okc circle{fill:color-mix(in srgb,var(--a) 14%,transparent);stroke:var(--a);stroke-width:3;stroke-dasharray:150;stroke-dashoffset:150;animation:dr2 .7s forwards}.okc path{fill:none;stroke:var(--a);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:dr2 .5s .55s forwards}@keyframes dr2{to{stroke-dashoffset:0}}

/* ── Mini-jeu ── */
.gm{background:var(--bg);border-radius:26px;padding:.9rem;color:#fff;text-align:center;box-shadow:var(--sh2)}.gm canvas{width:100%;height:auto;aspect-ratio:2/1;border-radius:18px;background:#dff3ea;display:block;touch-action:manipulation;cursor:pointer}.gm p{padding:.9rem 0 .2rem;color:rgba(255,255,255,.75);font-size:.93rem}
kbd{font:600 .75rem/1 var(--f),system-ui;border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;padding:.25rem .45rem;margin:0 .15rem;background:var(--tint)}

/* ── Avis / articles ── */
.avs{background:var(--tint);padding:5rem 0}.avh{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.avh h2{margin:0}
.avn{display:flex;gap:.5rem}.avn button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--card);font-size:1.15rem;transition:background .2s,color .2s,border-color .2s}.avn button:hover{background:var(--a);border-color:var(--a);color:#fff}
.avt{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.3rem .2rem 1rem}.avt::-webkit-scrollbar{display:none}
.av2{flex:0 0 min(500px,86%);scroll-snap-align:start;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh1);border-radius:var(--rl);padding:2rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.6rem}
.av2 blockquote{font-size:1.1rem;line-height:1.65;font-weight:450;letter-spacing:0;padding:0;border:0;color:var(--ink)}.av2 figcaption{display:flex;gap:.9rem;align-items:center}.av2 small{display:block;color:var(--muted)}
.avp{width:52px;height:52px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;font-weight:700;overflow:hidden;flex:none}.avp img{width:100%;height:100%;object-fit:cover}.avp .ico{width:26px;height:26px}
.ars{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem}.ar{display:flex;flex-direction:column;gap:.9rem}.arm{aspect-ratio:16/10;border-radius:var(--rl);overflow:hidden;background:var(--bg);border:1px solid var(--line)}.arm img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.ar:hover .arm img{transform:scale(1.04)}
.ph{display:grid;place-content:center;justify-items:center;gap:.6rem;height:100%;color:#fff;background:radial-gradient(90% 90% at 20% 10%,var(--a),var(--bg))}.ph .ico{width:2.4rem;height:2.4rem;color:var(--b)}.ph b{font-size:1.2rem}
.ar h3{font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.2}.arb em{display:inline-flex;gap:.45rem;align-items:center;font-style:normal;padding:.3rem .8rem;border-radius:99px;background:var(--acc-soft);color:var(--a);font-weight:600;font-size:.85rem}.arb .ico{width:15px;height:15px}
.arc{display:flex;gap:1.2rem;color:var(--muted);font-size:.9rem}.arf{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:.9rem;font-weight:600;font-size:.95rem}.arf i{font-style:normal;color:var(--a);transition:translate .25s}.ar:hover .arf i{translate:5px 0}

/* ── Pied de page ── */
footer{position:relative;background:var(--bg);color:#fff;margin-top:5rem;overflow:hidden}
footer::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 0% 0%,color-mix(in srgb,var(--a) 22%,transparent),transparent 70%);pointer-events:none}
footer>*{position:relative}
.fmain{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2.5rem;padding:4.5rem 0 3rem}.fls{display:contents}
.flogo{display:inline-block;font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.fdesc{margin-top:.9rem;max-width:26em;color:rgba(255,255,255,.66);font-size:.97rem}
.fls h4{font-size:.78rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1rem}.fls a{display:block;padding:.32rem 0;color:rgba(255,255,255,.78);font-size:.97rem;transition:color .2s,translate .2s}.fls a:hover{color:#fff;translate:3px 0}
.soc{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.soc .sl{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .25s,transform .25s var(--ease),border-color .25s}.soc .sl svg{width:20px;height:20px}.soc .sl-gouv svg,.soc .sl-mail svg{width:22px;height:22px}
.soc .sl:hover,.soc .sl:focus-visible{background:var(--bc);border-color:var(--bc);transform:translateY(-3px)}.soc .sl-x:hover,.soc .sl-tiktok:hover,.soc .sl-github:hover{background:#000;border-color:rgba(255,255,255,.5)}
.fbot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.12)}.fcp{color:rgba(255,255,255,.55);font-size:.9rem}
.fctl{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.seg{display:flex;align-items:center;border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:4px;background:rgba(255,255,255,.04)}.seg button{width:38px;height:34px;border-radius:99px;display:grid;place-items:center;opacity:.6;transition:background .25s,color .25s,opacity .25s}.seg button:hover{opacity:1}.seg button.on{background:#fff;color:#0c1a15;opacity:1}
.lgx{position:relative}.lgb{display:flex;align-items:center;gap:.55rem;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.04);font-weight:600;font-size:.92rem}.lgb em{font-style:normal;opacity:.7;transition:rotate .3s}.lgb[aria-expanded=true] em{rotate:180deg}
.lgl{position:absolute;right:0;bottom:calc(100% + 8px);min-width:190px;list-style:none;padding:6px;margin:0;border-radius:18px;background:#14181a;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 50px -16px #000;z-index:30;text-align:left}.lgl[hidden]{display:none}
.lgl button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .8rem;border-radius:12px;font-weight:500}.lgl button:hover{background:rgba(255,255,255,.1)}
.fl{display:inline-block;width:26px;height:19px;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.25);flex:none}
.fl-fr{background:linear-gradient(90deg,#0055a4 33%,#fff 33% 66%,#ef4135 66%)}.fl-de{background:linear-gradient(#000 33%,#dd0000 33% 66%,#ffce00 66%)}.fl-it{background:linear-gradient(90deg,#009246 33%,#fff 33% 66%,#ce2b37 66%)}.fl-es{background:linear-gradient(#aa151b 25%,#f1bf00 25% 75%,#aa151b 75%)}.fl-pt{background:linear-gradient(90deg,#046a38 40%,#da291c 40%)}.fl-ar{background:#006c35}
.fl-en{background:linear-gradient(#c8102e,#c8102e) center/100% 22% no-repeat,linear-gradient(#c8102e,#c8102e) center/22% 100% no-repeat,linear-gradient(#fff,#fff) center/100% 40% no-repeat,linear-gradient(#fff,#fff) center/40% 100% no-repeat,#012169}
#up{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);font-size:1.1rem;transition:background .2s,translate .25s var(--ease)}#up:hover{background:var(--a);border-color:var(--a);translate:0 -3px}
.fit{display:block;overflow:hidden;padding:.5rem 3vw 0;text-align:center;line-height:1;user-select:none;pointer-events:none}
.fit b{display:inline-block;white-space:nowrap;font-weight:800;letter-spacing:-.05em;line-height:1.08;padding:.08em .02em .14em;font-size:calc(94vw / (var(--n) * .52));color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--b) 55%,transparent) 0%,color-mix(in srgb,var(--a) 28%,transparent) 55%,transparent 100%);-webkit-background-clip:text;background-clip:text}
@media(min-width:1200px){.fit b{font-size:calc(1120px / (var(--n) * .52))}}
@media(max-width:900px){.fmain{grid-template-columns:1fr 1fr;gap:2rem;padding-top:3.5rem}.fbrand{grid-column:1/-1}.fbot{justify-content:center;text-align:center;flex-direction:column}}

/* ── Cookies ── */
#ckr{position:fixed;left:1rem;bottom:1rem;z-index:59;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;box-shadow:0 12px 28px -12px rgba(0,0,0,.6);transition:transform .25s var(--ease),border-color .25s,background .25s}#ckr[hidden]{display:none}#ckr:hover{transform:translateY(-2px);border-color:rgba(227,181,116,.55)}#ckr:active{transform:scale(.94)}#ckr .ico{width:21px;height:21px;color:#e3b574}
body.lock #ckr,body.lock #ck{display:none}

/* ── Écran d'arrivée, progression, recherche, toast ── */
#pg{position:fixed;left:0;top:0;height:3px;width:100%;z-index:50;background:linear-gradient(90deg,var(--a),var(--b));transform:scaleX(0);transform-origin:left;pointer-events:none}
#ld{position:fixed;inset:0;z-index:300;display:none;place-items:center;background:var(--bg);color:#fff;animation:ldx .6s 1.3s var(--ease) forwards}.ld #ld{display:grid}
.ldi{display:grid;justify-items:center;gap:1.1rem;text-align:center;padding:1rem}.ldi b{font-size:clamp(1.4rem,5vw,2.2rem);letter-spacing:-.03em;font-weight:700;line-height:1.1;animation:rise .7s .1s var(--ease) backwards}
.bellx{display:block;transform-origin:50% 0;animation:ring .9s ease-in-out 2}.bellx .ico{width:3.2rem;height:3.2rem;color:var(--b)}
.ldb{display:block;width:min(220px,60vw);height:3px;border-radius:3px;background:rgba(255,255,255,.16);overflow:hidden}.ldb::after{content:"";display:block;height:100%;background:linear-gradient(90deg,var(--a),var(--b));transform-origin:left;animation:ldb 1.2s var(--ease) forwards}
@keyframes ldb{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ldx{to{opacity:0;visibility:hidden}}
#pal{border:0;padding:0;background:none;color:var(--ink);width:min(640px,calc(100% - 2rem));margin:12vh auto auto;overflow:visible}#pal::backdrop{background:rgba(6,14,11,.6);backdrop-filter:blur(6px)}
#pal[open] .pbox{animation:rise .3s var(--ease)}
.pbox{background:var(--card);border:1px solid var(--line2);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.pin{display:flex;align-items:center;gap:.8rem;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}.pin input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:1.1rem;color:inherit;min-width:0}
#pl{list-style:none;padding:.5rem;max-height:min(50vh,420px);overflow:auto;margin:0}
#pl li a,#pl li button{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;padding:.7rem .9rem;border-radius:12px;color:inherit}
#pl li[aria-selected=true] a,#pl li[aria-selected=true] button{background:var(--a);color:#fff}
#pl .k{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .55rem;border-radius:99px;background:color-mix(in srgb,currentColor 14%,transparent);white-space:nowrap}
#pl .t{flex:1;min-width:0}#pl .t b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#pl .t small{opacity:.65;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#pl .none{padding:1.4rem;text-align:center;color:var(--muted)}
.pft{display:flex;gap:1.2rem;padding:.7rem 1.3rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}@media(max-width:560px){.pft{display:none}}
#toast{position:fixed;left:50%;bottom:1.4rem;z-index:150;translate:-50% 160%;background:var(--ink);color:var(--paper);padding:.75rem 1.3rem;border-radius:99px;font-weight:600;font-size:.95rem;opacity:0;visibility:hidden;transition:translate .45s var(--ease),opacity .3s,visibility 0s .45s;pointer-events:none;max-width:calc(100% - 2rem);text-align:center;box-shadow:0 14px 34px -12px rgba(0,0,0,.5)}#toast.on{translate:-50% 0;opacity:1;visibility:visible;transition:translate .45s var(--ease),opacity .3s}
.draft{position:fixed;left:50%;bottom:1rem;translate:-50% 0;z-index:80;background:#ffd23f;color:#251a00;padding:.55rem 1.2rem;border-radius:99px;font-weight:650;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
#th{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.cf{position:fixed;top:-20px;width:10px;height:14px;z-index:400;pointer-events:none;animation:cff linear forwards}@keyframes cff{to{transform:translate(var(--dx),110vh) rotate(var(--r))}}
.ico{width:1.2em;height:1.2em;vertical-align:-.2em;flex:none}.ib .ico{width:18px;height:18px}
html.go main,html.go footer{opacity:0;transition:opacity .2s ease}main{animation:rise .5s var(--ease) both}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}
@keyframes hue{to{filter:hue-rotate(360deg)}}html.recre{animation:hue 6s linear infinite}
@media(max-width:700px){.wrap{width:min(1200px,100% - 2rem)}.wrap.narrow{width:min(820px,100% - 2rem)}.ir{flex-direction:column;align-items:flex-start}header{inset:max(10px,env(safe-area-inset-top)) 8px auto}header .bar{width:100%}.sec{padding:2.2rem 0}.avs,.etp{padding:3.5rem 0}.stats{padding:3.2rem 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}#ld{display:none!important}.js.ok .rv:not(.in){opacity:1}}

.dcl{justify-items:stretch}.dcl>span{text-align:left}
.dcb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;padding:1.6rem 1.2rem;border:1px dashed var(--line);border-radius:20px;background:color-mix(in srgb,var(--a) 5%,transparent)}
.dcb.ok{border-style:solid;border-color:var(--a)}.dcb.ok b{font-size:1.02rem}
.dcb small{color:var(--muted);font-weight:500;line-height:1.45;max-width:30ch;word-break:break-word}
.dcb a:not(.btn){font-size:.85rem;font-weight:600;text-decoration:underline}
.dcbtn{width:100%;max-width:22rem;padding:.95rem 1.6rem;font-size:1rem;gap:.7rem}.dcbtn svg{width:1.3em;height:1.3em;flex:none}
.fm .btn[disabled]{opacity:.45;pointer-events:none}
.fm>.btn{justify-self:center;min-width:min(100%,16rem)}

/* Profil connecté (VH Connect) : photo + pseudo */
.dcb.ok{flex-direction:column;gap:.55rem}
.dav{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 55%,#000));color:#fff;box-shadow:0 0 0 3px var(--paper),0 0 0 5px color-mix(in srgb,var(--a) 70%,transparent),0 10px 24px -10px color-mix(in srgb,var(--a) 70%,transparent);animation:davIn .5s var(--ease) both}
.dav .dini{font-weight:700;font-size:1.6rem;line-height:1}
.dav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;-webkit-user-drag:none}
.dwho{display:grid;gap:.1rem;justify-items:center;min-width:0;max-width:100%}
.dcb.ok .dwho b{font-size:1.15rem;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.dcb.ok .dwho small{font-size:.82rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dcb.ok .dok{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--muted)}.dcb.ok .dok i{width:.5rem;height:.5rem;border-radius:50%;background:#23a55a;box-shadow:0 0 0 3px color-mix(in srgb,#23a55a 25%,transparent)}
@keyframes davIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dav{animation:none}}

/* ═════ Cookies : bandeau + fenêtre de choix ═════ */
#ck{position:fixed;left:1rem;bottom:1rem;z-index:60;width:min(430px,calc(100% - 2rem));display:grid;gap:1rem;padding:1.3rem 1.3rem 1.1rem;border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 94%,#fff) 0%,var(--bg) 70%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(20px) scale(.98);transition:opacity .35s,transform .5s var(--ease),visibility 0s .5s}
#ck::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#e3b574 35%,var(--a) 70%,transparent);opacity:.9}
#ck[hidden]{display:none}#ck.show{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .5s var(--ease)}
.ckm{display:flex;gap:.95rem;align-items:flex-start}.ckw{min-width:0}
.cki{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(227,181,116,.12);border:1px solid rgba(227,181,116,.28);color:#e3b574}.cki .ico{width:22px;height:22px}
#ck h2{font-size:1.05rem;line-height:1.3;letter-spacing:-.015em;margin:.1rem 0 .35rem;max-width:none;text-wrap:balance}
#ck p{font-size:.88rem;line-height:1.55;color:rgba(255,255,255,.74)}
.ckb{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.ckx{padding:.78rem 1rem;border-radius:13px;background:#fff;color:#0c1a15;font-weight:650;font-size:.92rem;transition:transform .2s var(--ease),filter .2s,box-shadow .2s}.ckx:hover{filter:brightness(.94);box-shadow:0 8px 20px -10px rgba(255,255,255,.5)}.ckx:active{transform:scale(.97)}
.ckfo{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.1)}
.ckp{padding:.3rem 0;color:#fff;font-weight:600;font-size:.86rem;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px;transition:text-decoration-color .2s,opacity .2s}.ckp:hover{text-decoration-color:#e3b574}.ckp:active{opacity:.7}
.ckl{font-size:.78rem;color:rgba(255,255,255,.55);transition:color .2s}.ckl:hover{color:#fff}
#ck :focus-visible{outline:2px solid #fff;outline-offset:2px}
#ckp{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(660px,calc(100% - 1.5rem));max-width:none;max-height:min(90dvh,860px);margin:auto;border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.65);overflow:hidden}
#ckp::backdrop{background:rgba(6,14,11,.6);backdrop-filter:blur(6px)}
#ckp[open]{display:flex;flex-direction:column;animation:rise .3s var(--ease)}
.ckf{display:flex;flex-direction:column;min-height:0;flex:1}
.ckph{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem .4rem}.ckph h2{font-size:1.3rem;margin:0;max-width:none}
.ckpx{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--tint);transition:background .2s}.ckpx:hover{background:var(--line)}
.ckpi{padding:0 1.4rem .9rem;color:var(--muted);font-size:.93rem}
.ckpl{overflow:auto;padding:.2rem 1.4rem 1rem;display:grid;gap:.7rem;overscroll-behavior:contain;min-height:0}
.cc{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:.95rem 1.05rem}
.cch{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.cch h3{font-size:1rem;margin-bottom:.2rem}.cch p{font-size:.86rem;color:var(--muted);line-height:1.5}
.ccb{flex:none;font-size:.74rem;font-weight:700;padding:.28rem .65rem;border-radius:99px;background:var(--acc-soft);color:var(--a);white-space:nowrap}.ccb2{background:var(--tint);color:var(--muted)}
.cc details{margin-top:.6rem}.cc summary{cursor:pointer;font-size:.84rem;font-weight:650;color:var(--a);list-style:none;display:inline-flex;gap:.35rem;align-items:center;padding:.2rem 0}.cc summary::-webkit-details-marker{display:none}.cc summary::after{content:"▾";transition:transform .2s}.cc details[open] summary::after{transform:rotate(180deg)}
.sw{position:relative;flex:none;width:48px;height:28px;display:block;cursor:pointer}.sw input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.sw i{position:absolute;inset:0;border-radius:99px;background:var(--line2);transition:background .25s}.sw i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s var(--ease)}.sw input:checked+i{background:var(--a)}.sw input:checked+i::after{transform:translateX(20px)}.sw input:focus-visible+i{outline:2px solid var(--a);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ckpf{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:1rem 1.4rem .7rem;border-top:1px solid var(--line);background:var(--paper)}
.ckx2{padding:.8rem 1rem;border-radius:12px;font-weight:650;font-size:.93rem;border:1px solid var(--line2);background:var(--card);color:var(--ink);transition:transform .15s,background .2s,filter .2s}.ckx2:hover{background:var(--tint)}.ckx2:active{transform:scale(.97)}
.ckx2.main{grid-column:1/-1;order:3;background:var(--a);border-color:var(--a);color:#fff}.ckx2.main:hover{background:var(--a);filter:brightness(1.1)}
.ckpn{padding:0 1.4rem 1rem;font-size:.78rem;color:var(--muted)}.ckpn a{text-decoration:underline}.ckpn code,.ckt code{font:600 .8rem ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tint);padding:.1rem .35rem;border-radius:6px}
.ckt{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}.ckt th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.4rem .5rem;border-bottom:1px solid var(--line)}.ckt td:first-child{white-space:nowrap}.ckt td{padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45}.ckt tr:last-child td{border-bottom:0}
@media(max-width:700px){
 .ckt td:first-child{white-space:normal}
 #ck{left:.6rem;right:.6rem;bottom:.6rem;width:auto;padding:1rem}
 #ckp{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0}
 .ckt thead{display:none}.ckt,.ckt tbody,.ckt tr,.ckt td{display:block}.ckt tr{padding:.55rem 0;border-bottom:1px solid var(--line)}.ckt tr:last-child{border-bottom:0}.ckt td{border:0;padding:.12rem 0}.ckt td[data-l]::before{content:attr(data-l) " : ";font-weight:650;color:var(--muted)}
}
/* Page Confidentialité : liste complète */
.ckin{max-width:46rem;color:var(--muted);margin:-1rem 0 1.6rem;font-size:1.05rem}
.ckcat{display:grid;gap:1rem}.ckc{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.3rem 1.4rem;box-shadow:var(--sh1)}.ckc h3{margin-bottom:.35rem}.ckc>p{color:var(--muted);font-size:.95rem;max-width:60ch}.ckc .ckt{font-size:.88rem}
.ckgo{margin-top:1.4rem}

/* ═════ Cadre autour de Cloudflare Turnstile ═════ */
.ts{display:block;border:1px solid var(--line2);border-radius:18px;background:color-mix(in srgb,var(--a) 4%,var(--card));padding:.95rem 1rem 1rem;box-shadow:var(--sh1)}
.tsh{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}.tsh i{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--acc-soft);color:var(--a)}.tsh i .ico{width:19px;height:19px}
.tsh b{display:block;font-size:.93rem;line-height:1.25}.tsh small{display:block;font-size:.78rem;color:var(--muted);line-height:1.4}
.tsw{position:relative;min-height:65px;border-radius:12px;background:var(--tint)}
.tsw::before{content:"Chargement de la vérification…";position:absolute;inset:0;display:grid;place-items:center;font-size:.8rem;color:var(--muted);border-radius:12px;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--ink) 7%,transparent) 50%,transparent 70%) 0 0/200% 100%;animation:tss 1.5s linear infinite}
.tsw .cf-turnstile{position:relative;z-index:1;width:100%}.tsw iframe{display:block;width:100%!important;max-width:100%;border-radius:12px}
.tsf{margin-top:.65rem;font-size:.74rem;color:var(--muted);display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.tsf a{text-decoration:underline;text-underline-offset:2px}
@keyframes tss{to{background-position:-200% 0}}
@media(max-width:420px){.ts{padding:.8rem}}

/* ═════ Plan du site ═════ */
.plg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.2rem;align-items:start}
.plc{display:block;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.3rem 1rem 1rem;box-shadow:var(--sh1)}
.plc h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:.1rem .6rem .8rem}
.plc ol{list-style:none;padding:0;display:grid;gap:.15rem}
.plc li>a,.plc li>button{width:100%;display:flex;align-items:center;gap:.8rem;padding:.7rem .6rem;border-radius:14px;text-align:left;transition:background .2s,transform .2s var(--ease)}
.plc li>a:hover,.plc li>button:hover{background:var(--acc-soft)}.plc li>a:active,.plc li>button:active{transform:scale(.985)}
.pn{flex:none;min-width:2.1rem;height:2.1rem;padding:0 .35rem;border-radius:10px;display:grid;place-items:center;font-size:.74rem;font-weight:700;background:var(--tint);color:var(--muted);font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.plc li>a:hover .pn,.plc li>button:hover .pn{background:var(--a);color:#fff}
.pt{flex:1;min-width:0}.pt b{display:block;font-weight:650;line-height:1.3}.pt small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4}
.plc li i{font-style:normal;color:var(--muted);transition:transform .2s var(--ease)}.plc li>a:hover i,.plc li>button:hover i{transform:translateX(3px)}

/* ═════ Accessibilité : panneau de réglages + modes ═════ */
.a11i{color:var(--muted);margin:-1rem 0 1.4rem;font-size:1.05rem}
.a11{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:.3rem 1.4rem 1.2rem;box-shadow:var(--sh2)}
.a11r{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line)}
.a11t b{display:block;font-weight:650}.a11t small{display:block;color:var(--muted);font-size:.85rem;line-height:1.45;max-width:36ch}
.aseg{display:inline-flex;gap:.3rem;padding:.25rem;border-radius:14px;background:var(--tint);flex:none}.aseg button{min-width:44px;height:44px;border-radius:10px;font-weight:700;transition:background .2s,color .2s}.aseg button[aria-pressed=true]{background:var(--a);color:#fff}
.asw{position:relative;flex:none;width:54px;height:32px;border-radius:99px;background:var(--line2);transition:background .25s}.asw i{position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s var(--ease)}.asw[aria-checked=true]{background:var(--a)}.asw[aria-checked=true] i{transform:translateX(22px)}
.afoot{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:1.1rem;color:var(--muted);font-size:.85rem}
html[data-fs="1"]{font-size:112.5%}html[data-fs="2"]{font-size:125%}
html.a-ul main a:not(.btn),html.a-ul footer a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:2px}
html.a-sf body,html.a-sf button,html.a-sf input,html.a-sf select,html.a-sf textarea{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}
html.a-sp body{line-height:1.9;letter-spacing:.035em;word-spacing:.1em}html.a-sp p{line-height:1.9}
html.a-rm *,html.a-rm *::before,html.a-rm *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.a-hc{--ink:#000;--paper:#fff;--card:#fff;--muted:#1a1a1a;--line:rgba(0,0,0,.5);--line2:rgba(0,0,0,.8);--tint:#efefef}
html.a-hc[data-mode=dark]{--ink:#fff;--paper:#000;--card:#000;--muted:#f2f2f2;--line:rgba(255,255,255,.65);--line2:#fff;--tint:#1c1c1c}
html.a-hc main a:not(.btn){text-decoration:underline}html.a-hc :focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.tsw::before{animation:none}#ckp[open]{animation:none}}

@media(prefers-reduced-motion:reduce){#ck,#ck.show,#ckr{transition:none}}

.logo .lt{display:flex;flex-direction:column;justify-content:center;gap:.12rem;line-height:1.1;min-width:0;overflow:visible}.logo .by{display:flex;align-items:center;gap:.25rem;margin-left:.55rem;font-size:.62rem;font-weight:500;letter-spacing:.04em;line-height:1;white-space:nowrap;opacity:.7}.logo .by .fcr{flex:none;width:.8em;height:.8em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

.es .pix{transition:transform .45s var(--ease),filter .45s}.es:hover .pix{transform:translateY(-5px) scale(1.05)}.tle .pix{filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}

/* ── Palettes de couleurs (choix du visiteur ou réglage admin) ── */
.pals{display:flex;align-items:center;gap:.4rem;padding:5px 7px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.04)}
.pals button{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--s1),var(--s2));border:2px solid transparent;box-shadow:0 0 0 1px rgba(255,255,255,.28);transition:transform .2s var(--ease),border-color .2s}
.pals button:hover{transform:scale(1.15)}.pals button.on{border-color:#fff;transform:scale(1.1)}
.gb{width:42px;height:42px;border-radius:99px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);opacity:.6;transition:opacity .25s,background .25s,color .25s}.gb.on{opacity:1;background:rgba(255,255,255,.14);color:#fff}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}

/* ── Design translucide (verre dépoli) ── */
:root[data-gl=on] body{background:radial-gradient(60rem 38rem at 88% -8%,color-mix(in srgb,var(--a) 17%,transparent),transparent 62%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in srgb,var(--b) 22%,transparent),transparent 60%),radial-gradient(46rem 32rem at 70% 96%,color-mix(in srgb,var(--a) 11%,transparent),transparent 60%),var(--paper);background-attachment:fixed}
:root[data-gl=on][data-mode=dark] body{background:radial-gradient(60rem 38rem at 88% -8%,color-mix(in srgb,var(--a) 26%,transparent),transparent 62%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in srgb,var(--b) 10%,transparent),transparent 60%),radial-gradient(46rem 32rem at 70% 96%,color-mix(in srgb,var(--a) 16%,transparent),transparent 60%),var(--paper);background-attachment:fixed}
:root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es){background:color-mix(in srgb,var(--card) 58%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border-color:color-mix(in srgb,#fff 34%,var(--line));box-shadow:0 18px 40px -24px rgba(10,25,20,.45),inset 0 1px 0 rgba(255,255,255,.55)}
:root[data-gl=on][data-mode=dark] :is(.card,.lk,.tm,.ir,.fq,.es){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:0 22px 44px -24px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1)}
:root[data-gl=on] .eg{background:radial-gradient(closest-side,color-mix(in srgb,var(--a) 42%,transparent),transparent 80%),rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
:root[data-gl=on] .pix{filter:drop-shadow(0 8px 22px color-mix(in srgb,var(--a) 55%,transparent))}
:root[data-gl=on] .vt::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
:root[data-gl=on] .btn:not(.ghost){box-shadow:0 10px 24px -12px color-mix(in srgb,var(--a) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.3)}
:root[data-gl=off] #ck,:root[data-gl=off] #ckr{-webkit-backdrop-filter:none;backdrop-filter:none}
@supports not (backdrop-filter:blur(1px)){:root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es){background:var(--card)}}

/* ── Formes : coins arrondis (défaut) / très arrondi / angles nets ── */
:root[data-sh=rond]{--r:22px;--rl:34px}
:root[data-sh=rond] :is(.vt,.cd,.fm,.gm,.holo,.idt,#ck,.ckc){border-radius:40px}
:root[data-sh=rond] :is(.fq,.cdg div,.dcb,.eg,.chip,.mkw,.ic,.idf,.tle,.cki,.plc li>a){border-radius:24px}
:root[data-sh=rond] :is(.ckx,.vtl,.apo,.apbt span,.fck input){border-radius:99px}
:root[data-sh=net]{--r:2px;--rl:3px}
:root[data-sh=net] :is(.btn,header .bar,.tabs .t,.mk,.arb em,.seg,.seg button,.lgb,#toast,.vtl,.gb,.pals,.shp,.shp button,.skip,.chip){border-radius:3px}
:root[data-sh=net] :is(.vt,.cd,.fm,.gm,.holo,.idt,#ck,.ckc,.fq,.cdg div,.dcb,.eg,.mkw,.ic,.idf,.tle,.cki,.ckx,.plc li>a,.apo,.apbt span,.fck input,.dcc small,.emb,.apt){border-radius:4px}
.shp{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.04)}
.shp button{width:34px;height:32px;border-radius:99px;display:grid;place-items:center;opacity:.55;transition:background .25s,opacity .25s}.shp button.on{opacity:1;background:rgba(255,255,255,.16);color:#fff}
.fctl{row-gap:.6rem}
h1,h2,h3{text-wrap:balance}
body{overflow-x:clip}

/* ── Mobile : confort, stabilité, fluidité ── */
@media(hover:none){.card:hover,.lk:hover,.tm:hover,.es:hover{transform:none}.es:hover .pix{transform:none}}
@media(max-width:700px){
 .fctl{width:100%;justify-content:space-between}
  .fctl{--ch:48px}.seg button{width:42px}
 .eg{height:150px}.pix{width:104px}
 .es,.card{padding:1.3rem}
 .vt{border-radius:22px;padding:1.4rem}
 .logo .by{font-size:.58rem;margin-left:.45rem}
 :root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es){-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4)}
 :root[data-gl=on] body,:root[data-gl=on][data-mode=dark] body{background-attachment:scroll}
 #ck{left:max(.6rem,env(safe-area-inset-left,0px));right:max(.6rem,env(safe-area-inset-right,0px));bottom:max(.6rem,env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100dvh - 1.2rem);overflow:auto;overscroll-behavior:contain}
 .ckx{min-height:46px}.ckfo{justify-content:center;text-align:center}
 #ckr{left:max(.8rem,env(safe-area-inset-left,0px));bottom:max(.8rem,env(safe-area-inset-bottom,0px))}
 .mkw{max-width:100%}
}
@media(max-width:380px){.pals{gap:.35rem}.pals button{width:24px;height:24px}.ckb{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* ── Finitions : sobriété, verre fin, détails ── */
::selection{background:color-mix(in oklab,var(--a) 30%,transparent)}
html{accent-color:var(--a);scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--ink) 28%,transparent) transparent}
body{font-optical-sizing:auto;font-feature-settings:"kern","liga","calt"}h1,h2,h3{letter-spacing:-.028em}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}.btn:active{transform:scale(.985)}
.pals button{background:linear-gradient(135deg,var(--s1) 50%,var(--s2) 50%)}
.pals,.shp,.seg,.gb{border-color:rgba(255,255,255,.12)}
header .bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px -18px rgba(0,0,0,.6)}
.eg{background:radial-gradient(closest-side,color-mix(in oklab,var(--a) 20%,transparent),transparent 82%),rgba(0,0,0,.16)}
.pix,:root[data-gl=on] .pix{filter:drop-shadow(0 10px 12px rgba(0,0,0,.28))}.es:hover .pix{transform:translateY(-3px) scale(1.02)}
:root[data-gl=on] body{background:radial-gradient(70rem 40rem at 82% -12%,color-mix(in oklab,var(--a) 9%,transparent),transparent 70%),var(--paper);background-attachment:fixed}
:root[data-gl=on][data-mode=dark] body{background:radial-gradient(70rem 40rem at 82% -12%,color-mix(in oklab,var(--a) 15%,transparent),transparent 70%),var(--paper);background-attachment:fixed}
:root[data-gl=on] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
:root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es){background:color-mix(in oklab,var(--card) 72%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-color:color-mix(in oklab,var(--ink) 9%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.04),0 14px 28px -20px rgba(0,0,0,.28)}
:root[data-gl=on][data-mode=dark] :is(.card,.lk,.tm,.ir,.fq,.es){background:color-mix(in oklab,#fff 5%,transparent);border-color:rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 34px -24px rgba(0,0,0,.7)}
:root[data-gl=on] .eg{background:color-mix(in oklab,var(--a) 10%,transparent);border-color:color-mix(in oklab,var(--ink) 8%,transparent);box-shadow:none}
:root[data-gl=on] .vt::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.06)}
:root[data-gl=on] .btn:not(.ghost){box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px -12px color-mix(in oklab,var(--a) 55%,transparent)}
#ck::before{height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--b) 65%,transparent),transparent)}
.cki{background:color-mix(in oklab,var(--b) 10%,transparent);border-color:color-mix(in oklab,var(--b) 22%,transparent);color:var(--b)}#ckr .ico{color:var(--b)}#ckr:hover{border-color:color-mix(in oklab,var(--b) 50%,transparent)}

:root[data-pal=ocean]{--bg:#0a2a4a;--a:#2e8bff;--b:#cfe6ff}:root[data-pal=foret]{--bg:#0d2e22;--a:#22b573;--b:#d3f5e3}:root[data-pal=violet]{--bg:#231148;--a:#8f5bff;--b:#e4d6ff}:root[data-pal=rose]{--bg:#3b1030;--a:#f0508a;--b:#ffd6e6}:root[data-pal=ambre]{--bg:#35200a;--a:#f29a2e;--b:#ffe6bf}:root[data-pal=lagon]{--bg:#05303a;--a:#14c2b0;--b:#c6f6ee}:root[data-pal=aurore]{--bg:#1a1245;--a:#ff6f61;--b:#ffd9cf}:root[data-pal=graphite]{--bg:#15181f;--a:#8c97ad;--b:#eaedf3}
/* ── Verre plus riche ── */
:root[data-gl=on] body{background:radial-gradient(62rem 38rem at 88% -8%,color-mix(in oklab,var(--a) 22%,transparent),transparent 64%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in oklab,var(--b) 24%,transparent),transparent 62%),radial-gradient(46rem 32rem at 70% 98%,color-mix(in oklab,var(--a) 12%,transparent),transparent 62%),var(--paper);background-attachment:fixed}
:root[data-gl=on][data-mode=dark] body{background:radial-gradient(62rem 38rem at 88% -8%,color-mix(in oklab,var(--a) 30%,transparent),transparent 64%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in oklab,var(--b) 11%,transparent),transparent 62%),radial-gradient(46rem 32rem at 70% 98%,color-mix(in oklab,var(--a) 17%,transparent),transparent 62%),var(--paper);background-attachment:fixed}
:root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es){background:color-mix(in oklab,var(--card) 56%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.55);backdrop-filter:blur(20px) saturate(1.55);border-color:color-mix(in oklab,#fff 46%,var(--line));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 20px 40px -24px color-mix(in oklab,var(--a) 40%,rgba(0,0,0,.5))}
:root[data-gl=on][data-mode=dark] :is(.card,.lk,.tm,.ir,.fq,.es){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 44px -26px rgba(0,0,0,.8)}
.eg,:root[data-gl=on] .eg{background:radial-gradient(closest-side,color-mix(in oklab,var(--a) 38%,transparent),transparent 82%),rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.pix,:root[data-gl=on] .pix{filter:drop-shadow(0 10px 20px color-mix(in oklab,var(--a) 48%,transparent))}

/* ── Pied de page : thème, langue et « haut de page » à la même hauteur ── */
.fctl{--ch:44px;align-items:center}
.seg,.lgb,#up{box-sizing:border-box;height:var(--ch);border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.seg{padding:4px}.seg button{width:38px;height:calc(var(--ch) - 10px)}
.lgb{padding:0 14px;line-height:1}
#up{width:var(--ch);display:grid;place-items:center;padding:0;line-height:1}
:root[data-sh=net] #up{border-radius:3px}

/* ── Formes : doux = carrés arrondis, rond = bulles et pilules ── */
:root[data-sh=doux]{--r:12px;--rl:18px}
:root[data-sh=doux] :is(.btn,.tabs .t,.mk,.seg button,.lgb,.vtl,.ckx,#up,.cta){border-radius:12px}
:root[data-sh=doux] :is(header .bar,.seg,#toast){border-radius:18px}
:root[data-sh=doux] :is(.vt,.cd,.fm,.gm,.holo,.idt,#ck,.ckc){border-radius:22px}
:root[data-sh=doux] :is(.fq,.cdg div,.dcb,.eg,.chip,.mkw,.ic,.idf,.tle,.cki,.card,.es,.lk,.tm,.ir){border-radius:14px}
:root[data-sh=rond] :is(.btn,.tabs .t,.mk,.seg,.seg button,.lgb,.vtl,.ckx,#up,.cta,header .bar,#toast){border-radius:99px}

/* ── Finitions du site principal ── */
html{scroll-padding-top:96px}@media(max-width:700px){html{scroll-padding-top:84px}}
.hero::after{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(40% 40% at 20% 30%,color-mix(in oklab,var(--a) 34%,transparent),transparent 70%),radial-gradient(34% 34% at 82% 72%,color-mix(in oklab,var(--b) 20%,transparent),transparent 70%);filter:blur(34px);animation:aur 24s ease-in-out infinite alternate}
@keyframes aur{to{transform:translate3d(4%,-3%,0) scale(1.08)}}
@media(hover:hover) and (pointer:fine){:is(.card,.lk,.es,.tm):hover{background-image:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),color-mix(in oklab,var(--a) 16%,transparent),transparent 62%)}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}}
@media print{header,#ck,#ckr,#up,.hero::after,.hero::before,#lgx,.fctl,#cur,.skip{display:none!important}body,.hero{background:#fff!important;color:#000!important}.hero{min-height:0;padding:1rem 0}a{color:#000;text-decoration:underline}.card,.lk,.es,.tm,.fq{box-shadow:none!important;border:1px solid #bbb!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;break-inside:avoid}}

/* ── Étapes : surface sombre quel que soit le thème (corrige le texte clair sur fond clair) ── */
:root .es,:root[data-gl] .es,:root[data-gl=on][data-mode=dark] .es{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
:root[data-gl=on] .es{-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
.es:hover,:root[data-gl] .es:hover{background-color:rgba(255,255,255,.09);border-color:color-mix(in oklab,var(--b) 45%,transparent)}
.eg,:root[data-gl=on] .eg{background:radial-gradient(closest-side,color-mix(in oklab,var(--a) 36%,transparent),transparent 82%),rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)}
.card,.lk,.tm,.ir,.fq,.fm,.es,.eg{transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s}

/* ── Contenu des pages : tableaux, images, longs mots ── */
main table{max-width:100%}main img{max-width:100%;height:auto}main :is(h1,h2,h3,p,li){overflow-wrap:break-word}

/* ── Formulaires sur mobile ── */
@media(max-width:700px){
 .fm{padding:1.2rem 1.1rem;border-radius:20px;gap:1.05rem}
 .fm input:not([type=checkbox]),.fm select,.fm textarea,.idf input,.idf select{font-size:16px;min-height:50px;padding:.8rem .95rem;border-radius:12px}
 .fm textarea{min-height:140px}.ff>span{font-size:.92rem;line-height:1.35}
 .fck{align-items:flex-start;gap:.8rem;padding:.35rem 0;line-height:1.4}.fck input{width:26px;height:26px}
 .fm .btn,.fm>.btn,.idf .btn{width:100%;min-width:0;justify-self:stretch;min-height:52px}
 .fm.done{padding-block:2rem}.fm.done .fmsg{font-size:1.25rem}
 .idt,.idf{padding:1.1rem}
}

/* ── Pop-up d'annonce ── */
#pop{position:fixed;inset:0;z-index:58;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
#pop[hidden]{display:none}#pop.show{opacity:1;visibility:visible;transition:opacity .35s}html.plk{overflow:hidden}
.pov{position:absolute;inset:0;background:rgba(4,8,7,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pbx{position:relative;isolation:isolate;overflow:hidden auto;width:min(480px,100%);max-height:calc(100dvh - 2rem);display:grid;justify-items:center;gap:.9rem;text-align:center;padding:2.6rem 1.6rem 1.6rem;border-radius:28px;color:#fff;background:linear-gradient(160deg,var(--bg),color-mix(in oklab,var(--bg) 60%,#000));border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 90px -30px #000;transform:translateY(18px) scale(.97);transition:transform .5s var(--ease)}
#pop.show .pbx{transform:none}
.pbx::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--pi,none) center/cover no-repeat}
.pbx::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.74))}
.pplg{max-width:130px;max-height:90px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
.pbx h2{font-size:clamp(1.45rem,5.2vw,1.95rem);line-height:1.15;letter-spacing:-.025em;text-wrap:balance;color:#fff;margin:0}
.pbx p{margin:0;color:rgba(255,255,255,.84);font-size:.98rem;line-height:1.55;max-width:34ch}
.pbt{display:grid;gap:.6rem;width:100%;margin-top:.5rem}
.pgo,.pno{min-height:50px;display:grid;place-items:center;padding:.8rem 1.2rem;border-radius:14px;font-weight:650;font-size:1rem;text-decoration:none;transition:transform .2s var(--ease),filter .2s,background .2s}
.pgo{background:#fff;color:#0c1a15}.pno{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);color:#fff}
.pgo:hover{filter:brightness(.94)}.pno:hover{background:rgba(255,255,255,.18)}.pgo:active,.pno:active{transform:scale(.98)}
@media(min-width:520px){.pbt{grid-template-columns:1fr 1fr}.pbt .pno:only-child{grid-column:1/-1}}
:root[data-sh=rond] .pbx{border-radius:40px}:root[data-sh=rond] :is(.pgo,.pno){border-radius:99px}
:root[data-sh=doux] .pbx{border-radius:22px}:root[data-sh=doux] :is(.pgo,.pno){border-radius:12px}
:root[data-sh=net] .pbx{border-radius:4px}:root[data-sh=net] :is(.pgo,.pno){border-radius:3px}
@media(prefers-reduced-motion:reduce){#pop,.pbx{transition:none}}
@media print{#pop{display:none!important}}

/* ═════ Fluidité : calques fixes, flous réduits, transitions complètes ═════ */
:root[data-gl=on] body,:root[data-gl=on][data-mode=dark] body{background:var(--paper)!important;background-attachment:scroll!important}
:root[data-gl=on] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:1;background-image:radial-gradient(62rem 38rem at 88% -8%,color-mix(in oklab,var(--a) 22%,transparent),transparent 64%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in oklab,var(--b) 24%,transparent),transparent 62%),radial-gradient(46rem 32rem at 70% 98%,color-mix(in oklab,var(--a) 12%,transparent),transparent 62%);transform:translateZ(0)}
:root[data-gl=on][data-mode=dark] body::before{background-image:radial-gradient(62rem 38rem at 88% -8%,color-mix(in oklab,var(--a) 30%,transparent),transparent 64%),radial-gradient(50rem 40rem at -8% 34%,color-mix(in oklab,var(--b) 11%,transparent),transparent 62%),radial-gradient(46rem 32rem at 70% 98%,color-mix(in oklab,var(--a) 17%,transparent),transparent 62%)}
:root[data-gl=on] body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
:root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es,.plc,.a11){-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}
:root[data-gl=on] :is(.plc,.a11){background:color-mix(in oklab,var(--card) 62%,transparent);border-color:color-mix(in oklab,#fff 40%,var(--line))}
:root[data-gl=on][data-mode=dark] :is(.plc,.a11){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.card,.lk,.tm,.ir,.fq,.fm,.es,.eg,.plc{transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,transform .4s var(--ease)}
.hero::after{filter:none;animation:none}
@media(min-width:900px) and (hover:hover){.hero::after{animation:aur 32s ease-in-out infinite alternate;will-change:transform}}
.pix,:root[data-gl=on] .pix{filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))}
:root[data-sh=doux] :is(.plc,.a11){border-radius:20px}:root[data-sh=rond] :is(.plc,.a11){border-radius:34px}:root[data-sh=net] :is(.plc,.a11){border-radius:4px}
@media(max-width:700px){
 :root[data-gl=on] :is(.card,.lk,.tm,.ir,.fq,.es,.plc,.a11){-webkit-backdrop-filter:none;backdrop-filter:none;background:color-mix(in oklab,var(--card) 90%,transparent)}
 :root[data-gl=on][data-mode=dark] :is(.card,.lk,.tm,.ir,.fq,.plc,.a11){background:rgba(255,255,255,.075)}
 .pix,:root[data-gl=on] .pix{filter:none}.hero::after{display:none}
}

/* ── Avertissement avant un lien externe ── */
#ext{position:fixed;inset:0;z-index:62;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
#ext[hidden]{display:none}#ext.show{opacity:1;visibility:visible;transition:opacity .25s}
.xbx{position:relative;width:min(460px,100%);max-height:calc(100dvh - 2rem);overflow:auto;display:grid;gap:.9rem;padding:1.6rem 1.4rem 1.3rem;border-radius:26px;color:#fff;text-align:left;background:linear-gradient(160deg,color-mix(in oklab,var(--bg) 92%,#fff),var(--bg));border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 90px -30px #000,inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(14px) scale(.98);transition:transform .4s var(--ease)}
#ext.show .xbx{transform:none}
.xbx::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--b) 65%,transparent),transparent)}
.xic{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in oklab,var(--b) 12%,transparent);border:1px solid color-mix(in oklab,var(--b) 26%,transparent);color:var(--b)}
.xbx h2{margin:0;font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.xlk{display:grid;gap:.25rem;padding:.8rem .9rem;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1)}
.xlk small{font:600 .68rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b)}
.xlk b{font-size:1.05rem;overflow-wrap:anywhere}.xlk code{font:.78rem/1.45 ui-monospace,Menlo,Consolas,monospace;color:rgba(255,255,255,.66);overflow-wrap:anywhere;max-height:4.4em;overflow:hidden}
#extd{margin:0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.78)}#extd strong{color:#fff;font-weight:650}
.xbt{display:grid;gap:.6rem}@media(min-width:480px){.xbt{grid-template-columns:1fr 1fr}}
.xcp{justify-self:center;padding:.3rem .2rem;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.7);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:4px;transition:color .2s}.xcp:hover{color:#fff}
:root[data-sh=rond] .xbx{border-radius:38px}:root[data-sh=rond] .xlk{border-radius:22px}:root[data-sh=doux] .xbx{border-radius:22px}:root[data-sh=net] :is(.xbx,.xlk,.xic){border-radius:4px}
@media(prefers-reduced-motion:reduce){#ext,.xbx{transition:none}}@media print{#ext{display:none!important}}
