/* =====================================================================
   LinkSanté V9 (base V4) — clair, ardoise et bleu nuit (charte LinkSanté)
   Logos toujours dans leurs couleurs d'origine (sur plaque claire en mode sombre)
   Titrage Barlow Semi Condensed (comme les présentations) · texte Barlow
   ===================================================================== */
:root{
  --display:'Barlow Semi Condensed','Arial Narrow',system-ui,sans-serif;
  --sans:'Barlow',system-ui,-apple-system,"Segoe UI",sans-serif;
  --maxw:1240px;--nav:74px;--r:14px;--r-l:22px;--ease:cubic-bezier(.2,.8,.2,1);
  --bg:#f3f4f7;--bg-2:#e8ebf1;--paper:#ffffff;--paper-2:#f8f9fb;
  --ink:#172033;--ink-2:#4d5566;--ink-3:#868d9c;--line:#dde1e8;--line-2:#c9cfda;
  --navy:#1f2c4c;--navy-2:#2b3c63;--navy-ink:#eef1f7;--navy-ink-2:#aeb6c8;
  --blue:#3a5bc7;--slate:#5a5e6b;--sky:#dbe5f2;--ok:#1f8a5b;--soon:#a8700a;--danger:#c23a3a;
  --shadow:0 18px 50px rgba(23,32,51,.10);--shadow-s:0 6px 20px rgba(23,32,51,.07);
  --pi:url("img/logo-picto.webp");--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .17 0 0 0 0 .3 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  --plan:url("img/fond-plan.svg");--plan2:url("img/fond-plan2.svg");--archi:url("img/fond-archi.svg");--topo:url("img/fond-topo.svg");--topo-w:url("img/fond-topo-clair.svg");
  --sun:rgba(255,236,208,.55);--plate:#eef1f6;
  color-scheme:light}
/* Mode clair par défaut ; le mode sombre ne s'active que par le curseur (V4). */
:root[data-theme="dark"]{
  --bg:#151d31;--bg-2:#1a2339;--paper:#1e2842;--paper-2:#222d49;
  --ink:#eef1f7;--ink-2:#b0b8ca;--ink-3:#7f889d;--line:#2d3854;--line-2:#3a4765;
  --navy:#0f1a33;--navy-2:#233357;--blue:#8aa3ff;--sky:#1d2842;--ok:#5fd69e;--soon:#f0c35c;--danger:#ff7b7b;
  --shadow:0 18px 50px rgba(0,0,0,.28);--shadow-s:0 6px 20px rgba(0,0,0,.2);--plan:url("img/fond-plan-clair.svg");--plan2:url("img/fond-plan2-clair.svg");--archi:url("img/fond-archi-clair.svg");--topo:url("img/fond-topo-clair.svg");--sun:rgba(120,150,230,.10);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav) + 70px)}
body{background:var(--grain),var(--bg);color:var(--ink);font:400 17px/1.62 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s,color .4s}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:32px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;padding:10px 14px;border-radius:8px;background:var(--navy);color:#fff}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--ink-2)}
.lg img{display:block}

/* typographie */
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.005em;line-height:1.08;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:600}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:1.36rem;line-height:1.2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .8rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
[data-theme="dark"] .eyebrow{color:var(--ink-2)}
.eyebrow img{width:16px;height:17px}
.lead{font-size:clamp(1.08rem,1.5vw,1.24rem);color:var(--ink-2);max-width:60ch;text-wrap:pretty}
.quote{font-family:var(--display);font-weight:400;font-style:italic;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.35;color:var(--ink);text-wrap:balance}
.quote cite{display:block;margin-top:10px;font:600 .8rem var(--display);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--ink-3)}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:10px;font:600 1rem var(--display);letter-spacing:.02em;transition:.2s var(--ease);white-space:nowrap}
.btn-p{background:var(--navy);color:#fff}.btn-p:hover{background:var(--navy-2)}
[data-theme="dark"] .btn-p{background:#e9edf6;color:#16203a}
.btn-g{border:1px solid var(--line-2);background:var(--paper);color:var(--ink)}.btn-g:hover{border-color:var(--ink-3)}
.btn-w{background:#fff;color:#16203a}.btn-w:hover{background:#e9edf6}
.btn-o{border:1px solid rgba(255,255,255,.35);color:#fff}.btn-o:hover{border-color:#fff}
.btn svg,.ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lnk{display:inline-flex;align-items:center;gap:8px;font:600 1rem var(--display);letter-spacing:.02em;color:var(--navy)}
[data-theme="dark"] .lnk{color:var(--ink)}
.lnk::after{content:"→";transition:transform .25s var(--ease)}
a:hover .lnk::after,.lnk:hover::after{transform:translateX(4px)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* navigation */
.topnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.topnav.scrolled{border-bottom-color:var(--line)}
.topnav .wrap{display:flex;align-items:center;gap:18px;height:var(--nav)}
.brand{flex:none;display:block}.brand img{height:40px;width:auto;max-width:none}
.links{display:flex;gap:2px;margin-left:auto;font:500 1.02rem var(--display);letter-spacing:.01em;color:var(--ink-2)}
.links a{padding:8px 12px;border-radius:8px;transition:.2s;white-space:nowrap}
.links a:hover{color:var(--ink);background:var(--bg-2)}
.links a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--navy)}
[data-theme="dark"] .links a.on{box-shadow:inset 0 -2px 0 var(--ink)}
.theme{position:relative;width:58px;height:30px;border-radius:99px;border:1px solid var(--line-2);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 8px;flex:none}
.theme svg{width:13px;height:13px;stroke:var(--ink-3);fill:none;stroke-width:2;position:relative;z-index:1}
.theme .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--navy);transition:transform .4s var(--ease)}
[data-theme="dark"] .theme .knob{transform:translateX(28px);background:#e9edf6}
.theme .sun{stroke:#fff}[data-theme="dark"] .theme .sun{stroke:var(--ink-3)}[data-theme="dark"] .theme .moon{stroke:#16203a}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line-2);place-items:center;background:var(--paper)}
.menu-btn svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round}
.tabbar{display:none}
.sheet{position:fixed;inset:0;z-index:85;visibility:hidden}
.sheet.open{visibility:visible}
.sheet .scrim{position:absolute;inset:0;background:rgba(20,28,46,.35);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.sheet.open .scrim{opacity:1}
.sheet .panel{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 30px);overflow:auto;padding:14px;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);transform:translateY(110%);transition:transform .4s var(--ease)}
.sheet.open .panel{transform:none}
.sheet .grip{width:40px;height:5px;border-radius:9px;background:var(--line-2);margin:2px auto 10px}
.sheet .grp{font:600 .72rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:10px 14px 4px}
.sheet .panel a{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:12px;font:500 1.1rem var(--display)}
.sheet .panel a:hover,.sheet .panel a.on{background:var(--bg)}
.sheet .panel a small{font:400 .86rem var(--sans);color:var(--ink-3)}

/* héros d'accueil */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 520px at 8% -8%,var(--sun),transparent 70%),linear-gradient(180deg,var(--sky) 0%,var(--bg) 78%)}
.hero::before{content:"";position:absolute;z-index:0;top:-80px;left:calc(50% - 350px);width:1150px;aspect-ratio:1;background:var(--plan) center/contain no-repeat;opacity:.5;-webkit-mask-image:radial-gradient(closest-side,#000 10%,transparent 100%);mask-image:radial-gradient(closest-side,#000 10%,transparent 100%);pointer-events:none}
.hero::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}
.hero.band::after{display:none}
.hero.band::before{background-image:var(--topo-w);opacity:.9;left:calc(50% - 510px);top:-150px;width:1540px;aspect-ratio:2/1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.hero-in{position:relative;z-index:2;padding-top:70px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:end}
.hero h1 span{color:var(--slate)}
[data-theme="dark"] .hero h1 span{color:var(--ink-2)}
.hero .lead{margin-top:22px}
.hero-img{position:relative;margin-top:24px}
.hero-img img{width:100%;border-radius:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 78%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 78%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
.home-hero{display:grid;grid-template-columns:1fr .94fr;gap:32px;align-items:center;padding-top:34px;padding-bottom:128px}
.home-hero .hero-img{margin:0 -34px 0 0}
.home-hero .hero-img img{-webkit-mask-image:radial-gradient(ellipse 60% 60% at 55% 55%,#000 42%,transparent 100%);mask-image:radial-gradient(ellipse 60% 60% at 55% 55%,#000 42%,transparent 100%)}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.facts span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font:500 .92rem var(--display);color:var(--ink-2)}
.facts b{color:var(--ink);font-weight:600}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}

/* portes des trois profils */
.doors-wrap{position:relative;z-index:3;margin-top:-120px}
.doors-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px;flex-wrap:wrap}
.doors-title p{font:500 1.05rem var(--display);color:var(--ink-2);letter-spacing:.01em}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.door{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.door:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(23,32,51,.14)}
.door .vis{aspect-ratio:16/10;overflow:hidden;position:relative}
.door .vis img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.door:hover .vis img{transform:scale(1.04)}
.door .tag-top{position:absolute;left:16px;top:14px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:#1f2c4c;font:600 .74rem var(--display);letter-spacing:.14em;text-transform:uppercase}
.door .body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.door h3{font-size:1.6rem}
.door p{color:var(--ink-2)}
.door .lnk{margin-top:auto;padding-top:10px}

/* sections */
section{position:relative;padding-block:104px}
.s-tight{padding-block:64px}.s-top0{padding-top:0}
.sh{max-width:740px;margin-bottom:48px}
.sh.c{text-align:center;margin-inline:auto}
.sh.c .eyebrow{justify-content:center}
.sh h2{margin-top:14px}
.sh p{margin-top:16px;color:var(--ink-2);font-size:1.1rem;text-wrap:pretty}
.row-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.row-h .sh{margin-bottom:0}
.band{background:var(--topo-w) 50% 0/1500px auto,var(--navy);color:var(--navy-ink)}
.band h2,.band h3{color:#fff}.band .eyebrow{color:var(--navy-ink-2)}.band .muted,.band p{color:var(--navy-ink-2)}
.soft{background:var(--grain),var(--paper)}
.soft{box-shadow:inset 0 1px 0 var(--line)}
/* décors discrets : un plan réel ou un plan d'architecte, en filigrane derrière l'en-tête de section */
[data-deco]{overflow:hidden}
[data-deco]::before{content:"";position:absolute;top:-40px;left:calc(50% + 20px);width:760px;aspect-ratio:1;background:var(--plan2) center/contain no-repeat;opacity:.55;-webkit-mask-image:radial-gradient(closest-side,#000 15%,transparent);mask-image:radial-gradient(closest-side,#000 15%,transparent);pointer-events:none}
[data-deco="archi"]::before{background-image:var(--archi);opacity:.13;width:640px;aspect-ratio:1000/780;top:40px;left:calc(50% + 60px);-webkit-mask-image:linear-gradient(200deg,#000 30%,transparent 85%);mask-image:linear-gradient(200deg,#000 30%,transparent 85%)}
[data-theme="dark"] [data-deco="archi"]::before{opacity:.18}
[data-deco]>.wrap{position:relative}
.soft>.wrap,.band>.wrap{position:relative}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.w{grid-template-columns:1.15fr 1fr}
.split>*{min-width:0}
@media (max-width:620px){.split ol[style*="columns"]{columns:1!important}}
.split.rev>:first-child{order:2}

/* liste à puces « picto » */
.plist{list-style:none;display:grid;gap:14px;margin-top:22px}
.plist li{display:grid;grid-template-columns:22px 1fr;gap:14px;color:var(--ink-2)}
.plist li::before{content:"";width:18px;height:19px;margin-top:4px;background:var(--pi) center/contain no-repeat}
.plist li b{color:var(--ink);font-weight:600}
.band .plist li{color:var(--navy-ink-2)}.band .plist li b{color:#fff}
.band .plist li::before,[data-theme="dark"] .plist li::before{width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--pi) center/12px no-repeat,var(--plate)}
.band .eyebrow img,[data-theme="dark"] .eyebrow img{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--plate)}
/* V7 : plaque en verre dépoli des logos en mode sombre (voir « V7 », en fin de fichier) */

/* chiffres */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{padding:28px 26px;border-right:1px solid var(--line)}
.stats>div:last-child{border-right:0}
.stats b{display:block;font:600 clamp(2.2rem,3.8vw,3.1rem)/1 var(--display);color:var(--navy);font-variant-numeric:tabular-nums}
[data-theme="dark"] .stats b{color:#fff}
.stats small{display:block;margin-top:8px;color:var(--ink-2);font-size:.98rem}
.band .stats{border-color:rgba(255,255,255,.14)}.band .stats>div{border-color:rgba(255,255,255,.14)}.band .stats b{color:#fff}.band .stats small{color:var(--navy-ink-2)}
.src{display:block;margin-top:8px;font-size:.8rem;color:var(--ink-3)}
.band .src{color:#7e89a6}

/* méthodologie (V5) : cadre fixe, étapes au-dessus, défilement automatique */
.meth{border-radius:var(--r-l);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.meth-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.meth-steps button{position:relative;display:flex;align-items:baseline;gap:12px;padding:20px 22px 22px;text-align:left;color:var(--ink-3);border-right:1px solid var(--line);transition:color .3s,background .3s}
.meth-steps button:last-child{border-right:0}
.meth-steps button:hover{color:var(--ink-2);background:var(--bg)}
.meth-steps .n{font:600 .82rem var(--display);letter-spacing:.14em}
.meth-steps .t{font:600 1.12rem var(--display);letter-spacing:.01em;line-height:1.15}
.meth-steps button.on{color:var(--ink);background:var(--paper-2)}
.meth-steps button.done .n{color:var(--navy)}
.meth-steps .prog{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--navy)}
.meth-steps button.done .prog{width:100%}
.meth-steps button.on .prog{animation:meth-p var(--meth-d,7s) linear forwards}
.meth.paused .meth-steps button.on .prog,.meth.idle .meth-steps button.on .prog{animation-play-state:paused}
.meth.still .meth-steps button.on .prog{animation:none;width:100%}
[data-theme="dark"] .meth-steps .prog{background:var(--blue)}
@keyframes meth-p{from{width:0}to{width:100%}}
.meth-stage{display:grid;grid-template-columns:1.45fr 1fr;align-items:stretch}
.meth-img{position:relative;min-height:440px;background:var(--bg-2);overflow:hidden}
.meth-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .8s var(--ease),transform 7s linear}
.meth-img img.on{opacity:1;transform:scale(1)}
.meth-txt{position:relative;display:grid;padding:40px 40px 84px;border-left:1px solid var(--line)}
.mp{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.mp.on{opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}
.mp .k{font:600 .78rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mp h3{margin:10px 0 10px;font-size:clamp(1.6rem,2.4vw,2.1rem)}
.mp p{color:var(--ink-2);margin-bottom:18px;font-size:1.05rem}
.mp ul{list-style:none;display:flex;flex-direction:column;gap:0}
.mp li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);font-size:1rem}
.mp li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--navy);flex:none}
[data-theme="dark"] .mp li::before{background:var(--blue)}
.meth-nav{position:absolute;left:40px;bottom:28px;display:flex;gap:8px}
.meth-nav button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--ink);transition:background .2s}
.meth-nav button:hover{background:var(--bg-2)}
.meth-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* avant / après */
.ba{position:relative;aspect-ratio:16/10;border-radius:var(--r-l);overflow:hidden;user-select:none;touch-action:pan-y;cursor:ew-resize;box-shadow:var(--shadow)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 var(--p,50%))}
.ba .bar{position:absolute;top:0;bottom:0;left:var(--p,50%);width:2px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.35);transform:translateX(-1px)}
.ba .knob{position:absolute;top:50%;left:var(--p,50%);width:48px;height:48px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.ba .knob svg{width:22px;height:22px;stroke:#1f2c4c;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ba .t{position:absolute;top:16px;z-index:2;font:600 .74rem var(--display);letter-spacing:.14em;padding:6px 11px;border-radius:7px;background:rgba(255,255,255,.92);color:#1f2c4c}
.ba .t.l{left:16px}.ba .t.r{right:16px;background:#1f2c4c;color:#fff}
.chips-sel{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.chipbtn{padding:8px 14px;border-radius:999px;font:500 .95rem var(--display);color:var(--ink-2);border:1px solid var(--line-2);background:var(--paper);transition:.2s}
.chipbtn.on,.chipbtn[aria-pressed="true"]{color:#fff;background:var(--navy);border-color:var(--navy)}
[data-theme="dark"] .chipbtn.on,[data-theme="dark"] .chipbtn[aria-pressed="true"]{background:#e9edf6;color:#16203a;border-color:#e9edf6}
.band .chipbtn{background:transparent;color:var(--navy-ink-2);border-color:rgba(255,255,255,.25)}
.band .chipbtn.on{background:#fff;color:#1f2c4c;border-color:#fff}

/* pôles : fiches horizontales */
.pole-rows{display:grid;gap:22px}
.prow{display:grid;grid-template-columns:1.25fr 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:box-shadow .4s}
.prow:hover{box-shadow:var(--shadow)}
.prow .img{position:relative;min-height:340px}
.prow .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prow .img .badge{position:absolute;left:16px;top:16px}
.prow .body{padding:30px 32px;display:flex;flex-direction:column;gap:12px}
.prow .map3d{position:relative;min-height:470px}
.prow .map3d .atlas{position:absolute;inset:0;height:auto;min-height:0;border-radius:0;box-shadow:none;border:0;border-right:1px solid var(--line)}
.prow h3 a{color:inherit}.prow h3 a:hover{color:var(--navy)}
.prow .thumb{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink-2);font-size:.9rem}
.prow .thumb img{width:84px;height:56px;border-radius:8px;object-fit:cover;flex:none}
.prow .thumb:hover{border-color:var(--line-2)}
.prow .acts{align-items:center}
.others{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ocard{display:grid;grid-template-columns:.9fr 1fr;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--paper)}
.ocard .ph{position:relative;min-height:210px}.ocard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ocard .ph .badge{position:absolute;left:12px;top:12px}
.ocard .b{padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.ocard .city{font:600 .76rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.ocard h3{font-size:1.35rem}.ocard h3 a{color:inherit}
.ocard .acts{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto}
.prow .city{font:600 .8rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.prow h3{font-size:2rem}
.prow .addr{color:var(--ink-2)}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:6px 0}
.kv div{padding:14px 0}
.kv div+div{padding-left:16px;border-left:1px solid var(--line)}
.kv b{display:block;font:600 1.5rem/1.1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.kv small{display:block;color:var(--ink-3);font-size:.86rem;line-height:1.3;margin-top:4px}
.prow .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#1f2c4c;font:600 .8rem var(--display);letter-spacing:.04em;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.badge.soon{color:#8a5a00}
.lines{display:inline-flex;gap:3px;vertical-align:1px}
.lines em{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:19px;padding:0 5px;border-radius:5px;background:var(--navy);color:#fff;font:600 .72rem var(--display)}
[data-theme="dark"] .lines em{background:#e9edf6;color:#16203a}

/* atlas (inchangé) */
.atlas{position:relative;height:min(78vh,720px);min-height:560px;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);background:var(--bg-2);border:1px solid var(--line)}
.atlas iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.atlas .cover{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:26px;background:linear-gradient(180deg,transparent 60%,rgba(20,28,46,.28));cursor:pointer;transition:opacity .35s}
.atlas .cover>span{display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:999px;background:#fff;color:#1f2c4c;font:600 1rem var(--display);box-shadow:var(--shadow)}
.atlas.live .cover{opacity:0;pointer-events:none}
.atlas .done{position:absolute;z-index:3;left:50%;bottom:16px;transform:translateX(-50%);display:none;padding:9px 16px;border-radius:999px;background:#fff;color:#1f2c4c;font:600 .9rem var(--display);box-shadow:var(--shadow-s)}
.atlas.live .done{display:block}
.atlas.pole-map{height:min(84vh,780px);min-height:620px}
.s-map{padding-top:64px}
/* V5 : sur ordinateur, la carte est directement utilisable (la molette ne zoome qu'après un clic dans la carte) ; le voile ne reste que sur écran tactile */
@media (hover:hover) and (pointer:fine){.atlas .cover,.atlas .done{display:none!important}}
.note{font-size:.84rem;color:var(--ink-3);margin-top:12px}

/* cartes génériques */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards.c2{grid-template-columns:repeat(2,1fr)}.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:1.3rem}
.card p{color:var(--ink-2)}
.card.img{padding:0;overflow:hidden}.card.img img{width:100%;height:100%;object-fit:cover}
.ico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--navy);margin-bottom:6px}
[data-theme="dark"] .ico{color:var(--ink)}
.band .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.band .card p{color:var(--navy-ink-2)}.band .ico{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}

/* prestations : colonnes */
.prest{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.prest h3{font-size:1.2rem;padding-bottom:12px;border-bottom:2px solid var(--navy);margin-bottom:6px}
[data-theme="dark"] .prest h3{border-color:var(--ink-2)}
.prest ul{list-style:none;display:grid;gap:0}
.prest li{padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.eqs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.eqs figure{border-radius:var(--r);overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.eqs img{width:100%;aspect-ratio:4/3;object-fit:cover}
.eqs figcaption{padding:10px 14px;font:500 .92rem var(--display);color:var(--ink-2)}

/* lots */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.seg{display:inline-flex;padding:4px;gap:2px;border-radius:12px;background:var(--paper);border:1px solid var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{padding:8px 14px;border-radius:9px;font:500 .98rem var(--display);color:var(--ink-2);white-space:nowrap}
.seg button.on{background:var(--navy);color:#fff}
[data-theme="dark"] .seg button.on{background:#e9edf6;color:#16203a}
.toolbar select{padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:var(--paper)}
.toolbar .count{margin-left:auto;color:var(--ink-2);font:500 1rem var(--display)}
.lots{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.lot{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .3s,transform .3s var(--ease)}
.lot:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.lot .ph{position:relative;aspect-ratio:16/10;background:var(--bg-2);overflow:hidden}
.lot .ph img{width:100%;height:100%;object-fit:cover}
.lot .ph>svg{position:absolute;inset:0;width:100%;height:100%}
.lot .ph .badge{position:absolute;left:12px;top:12px}
.lot .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.lot .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lot h3{font-size:1.3rem}
.lot .pr{font:600 1.45rem var(--display);color:var(--navy);white-space:nowrap}
[data-theme="dark"] .lot .pr{color:#fff}
.lot .pr small{font:400 .8rem var(--sans);color:var(--ink-3)}
.lot .where{color:var(--ink-2);font-size:.95rem}
.lot .notes{font-size:.9rem;color:var(--ink-3)}
.lot .act{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.lot .act .btn{flex:1;padding:10px}
.empty{padding:40px;text-align:center;color:var(--ink-2);border-radius:var(--r);border:1px dashed var(--line-2)}

/* tableau */
.tablewrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.table{width:100%;border-collapse:collapse;min-width:620px}
.table th{font:600 .74rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.table td{padding:15px 18px;border-bottom:1px solid var(--line)}
.table tr:last-child td{border-bottom:0}
.table td.num{text-align:right;font:600 1.05rem var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
.table tr.occ td{color:var(--ink-3)}
.table .st{font:600 .8rem var(--display);letter-spacing:.06em;color:var(--ok)}.table .st.soon{color:var(--soon)}.table .st.occ{color:var(--ink-3)}

/* galerie */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:10px}
.gallery a{position:relative;border-radius:12px;overflow:hidden}
.gallery a:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gallery a:hover img{transform:scale(1.04)}
.gallery .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,28,46,.55);color:#fff;font:600 1.2rem var(--display)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.plans a{border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line)}
.plans img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff}
.plans span{display:block;padding:12px 16px;font:500 .95rem var(--display);color:#4d5566;border-top:1px solid #e8ebf1}
.lightbox{position:fixed;inset:0;z-index:120;display:none;place-items:center;background:rgba(15,21,36,.94)}
.lightbox.open{display:grid}
.lightbox img{max-width:92vw;max-height:84vh;border-radius:10px}
.lightbox .cap{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#c9cfdb;font:500 1rem var(--display)}
.lightbox button{position:absolute;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.3rem;display:grid;place-items:center}
.lightbox .x{top:18px;right:18px}.lightbox .pv{left:18px;top:50%}.lightbox .nx{right:18px;top:50%}

/* sous-navigation d'une fiche pôle */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--nav));z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{padding:14px 14px;font:500 1rem var(--display);color:var(--ink-2);white-space:nowrap;border-bottom:2px solid transparent}
.subnav a.on,.subnav a:hover{color:var(--ink);border-bottom-color:var(--navy)}
.crumb{display:flex;gap:8px;font:500 .95rem var(--display);color:var(--ink-3);margin-bottom:18px;flex-wrap:wrap}
.crumb a:hover{color:var(--ink)}
.access{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.access .card h3{font-size:1.15rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.access .dist{font:600 .8rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-top:auto}

/* plaques des praticiens (charte signalétique LinkSanté) */
.plates{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.plate{position:relative;padding:22px 22px 20px;border-radius:6px;background:linear-gradient(160deg,#233257,#1a2644);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 10px 26px rgba(23,32,51,.16);display:flex;flex-direction:column;gap:4px;min-height:150px}
.plate::before,.plate::after{content:"";position:absolute;top:10px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e3e7ee,#8c95a6)}
.plate::before{left:10px}.plate::after{right:10px}
.plate b{font:600 1.35rem/1.15 var(--display);letter-spacing:.01em}
.plate .sp{font:500 1.02rem var(--display);color:#9fc0ff}
.plate .p{margin-top:auto;padding-top:14px;font:500 .78rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:#aeb6c8;display:flex;justify-content:space-between;gap:10px}
.plate .p a{color:#fff;text-decoration:underline;text-underline-offset:3px;letter-spacing:.06em}
.plate.free{background:transparent;border:1.5px dashed var(--line-2);box-shadow:none;color:var(--ink)}
.plate.free::before,.plate.free::after{background:var(--line-2)}
.plate.free .sp{color:var(--blue)}.plate.free .p{color:var(--ink-3)}.plate.free .p a{color:var(--ink)}
.pgroup{margin-bottom:48px}
.pgroup .gh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pgroup .gh h3{font-size:1.5rem}
.dir-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.search{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.search svg{width:18px;height:18px;stroke:var(--ink-3);fill:none;stroke-width:2}
.search input{flex:1;padding:13px 0;outline:0}

/* témoignages */
.testis{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.testi{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:32px 32px 28px}
.testi::before{content:"«";position:absolute;top:6px;left:24px;font:600 4.4rem/1 var(--display);color:var(--line-2)}
.testi p{position:relative;font:italic 400 1.2rem/1.5 var(--display);color:var(--ink);margin-top:30px}
.testi .who{display:flex;align-items:center;gap:12px;margin-top:20px;font:500 1rem var(--display)}
.testi .who small{display:block;color:var(--ink-3);font:400 .92rem var(--sans)}
.testi .av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);color:var(--navy);font:600 1rem var(--display)}
.testi.ex{border-style:dashed}
.testi .exm{position:absolute;top:16px;right:18px;font:600 .7rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--soon);border:1px solid currentColor;border-radius:999px;padding:3px 9px}

/* bloc fondateur (discret) */
.signed{display:flex;align-items:center;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.signed .av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font:600 1.1rem var(--display);flex:none}
.signed b{display:block;font:600 1.08rem var(--display)}
.signed small{color:var(--ink-3)}
.band .signed{border-color:rgba(255,255,255,.14)}.band .signed .av{background:#fff;color:#1f2c4c}.band .signed small{color:var(--navy-ink-2)}

/* formulaire */
.contact{display:grid;grid-template-columns:1fr 1.35fr;gap:22px;align-items:start}
.cform{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:32px;display:grid;gap:16px}
.segp{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.segp button{padding:11px 12px;border-radius:10px;border:1px solid var(--line-2);font:500 .98rem var(--display);color:var(--ink-2);text-align:left;background:var(--paper)}
.segp button.on{border-color:var(--navy);color:#fff;background:var(--navy)}
[data-theme="dark"] .segp button.on{background:#e9edf6;color:#16203a;border-color:#e9edf6}
.fld{display:grid;gap:7px}
.fld label,.fld>span{font:500 .95rem var(--display);color:var(--ink-2)}
.fld input,.fld textarea,.fld select{padding:13px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line);outline:0;width:100%}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--navy)}
.fld textarea{min-height:130px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fine{font-size:.84rem;color:var(--ink-3)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--ink-2)}
.check input{margin-top:5px;accent-color:#1f2c4c}
.clist{display:grid;gap:10px}
.clist a,.clist div{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--paper)}
.clist b{display:block;font:600 1.1rem var(--display)}.clist small{color:var(--ink-3)}

/* FAQ */
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:600 1.2rem var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink-3);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:var(--ink-2);max-width:72ch}

/* actualités */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news article{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:10px}
.news time{font:600 .78rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.news h3{font-size:1.28rem}
.news p{color:var(--ink-2)}
.news .lnk{margin-top:auto}

/* bandeau Axevo */
.axevo{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}
.axevo .logo{display:block}.axevo .logo img{height:92px;width:auto;max-width:none}
.axevo ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.axevo li{font:500 .92rem var(--display);padding:5px 11px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)}

/* CTA final */
.cta-final{position:relative;overflow:hidden;border-radius:26px;background:var(--topo-w) -120px -80px/1100px auto,var(--navy);color:#fff;padding:64px 56px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.cta-final h2{color:#fff}
.cta-final p{color:var(--navy-ink-2);margin-top:14px;font-size:1.1rem}
.cta-final .cta-row{margin-top:0;justify-content:flex-end}

/* pied de page */
footer{background:var(--topo) 50% 0/1400px auto,var(--paper);border-top:1px solid var(--line);padding-block:72px 40px;margin-top:40px}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.fcols .flogo{display:block}.fcols .flogo img{height:78px;width:auto;max-width:none}
.fcols h4{font:600 .78rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.fcols a:not(.flogo){display:block;color:var(--ink-2);padding:4px 0}
.fcols a:not(.flogo):hover{color:var(--ink)}
.fcols p{color:var(--ink-2);margin-top:16px;max-width:34ch}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-top:44px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.9rem}
.fbot .ax{display:flex;align-items:center;gap:12px}
.fbot .ax img{height:34px;width:auto;max-width:none}
.fbot a:hover{color:var(--ink)}

/* aiguilleur */
.fab{position:fixed;right:22px;bottom:22px;z-index:55;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;font:600 1rem var(--display);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);transition:opacity .3s,transform .3s var(--ease)}
.fab .i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}
.fab .i svg{width:15px;height:15px;fill:currentColor}
.fab.hide{opacity:0;pointer-events:none;transform:translateY(10px)}
.cmd form{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px}
.cmd input{flex:1;outline:0;font-size:1.05rem;min-width:0}
.cmd input::placeholder{color:var(--ink-3)}
.send{width:40px;height:40px;border-radius:10px;background:var(--navy);display:grid;place-items:center;flex:none;color:#fff}
.send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2}
.sugg{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 18px}
.sugg button{font:500 .95rem var(--display);padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--paper)}
.sugg button:hover{border-color:var(--ink-3);color:var(--ink)}
.log{display:flex;flex-direction:column;gap:10px;padding:14px 16px 0;max-height:340px;overflow:auto}
.log:empty{display:none}
.m{max-width:90%;padding:12px 14px;border-radius:12px;font-size:.98rem}
.m.me{align-self:flex-end;background:var(--bg-2)}
.m.bot{background:var(--bg);border:1px solid var(--line)}
.m.alert{background:color-mix(in srgb,var(--danger) 8%,var(--paper));border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}
.m .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.m .acts a{font:600 .92rem var(--display);padding:7px 12px;border-radius:9px;background:var(--navy);color:#fff}
[data-theme="dark"] .m .acts a{background:#e9edf6;color:#16203a}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:ty 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes ty{50%{opacity:.25}}

/* modale */
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(20,28,46,.45);backdrop-filter:blur(6px)}
.modal.open{display:grid}
.modal .box{position:relative;max-width:480px;width:100%;padding:32px;background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow);max-height:calc(100dvh - 40px);overflow:auto;animation:up .3s var(--ease)}
.modal .box.wide{max-width:680px;padding:0}
@keyframes up{from{transform:translateY(20px);opacity:0}}
.modal .x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:9px;color:var(--ink-3);z-index:2}
.modal .x:hover{background:var(--bg)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slots button{padding:11px 0;border-radius:10px;border:1px solid var(--line-2);font:500 .98rem var(--display);color:var(--ink-2)}
.slots button.on{border-color:var(--navy);background:var(--navy);color:#fff}
.doc{width:112px;overflow:visible;margin:0 auto}
.doc-body{animation:jump 1.1s cubic-bezier(.3,0,.3,1) infinite;transform-box:view-box;transform-origin:60px 132px}
@keyframes jump{0%,100%{transform:translateY(0) scale(1.07,.9)}12%{transform:translateY(0) scale(1)}45%{transform:translateY(-24px) scale(.97,1.04)}78%{transform:translateY(0) scale(1)}}
.doc-shadow{animation:sh 1.1s cubic-bezier(.3,0,.3,1) infinite;transform-box:view-box;transform-origin:60px 142px}
@keyframes sh{45%{transform:scale(.55);opacity:.4}}
.arm-l{animation:al 1.1s infinite;transform-box:view-box;transform-origin:42px 72px}.arm-r{animation:ar 1.1s infinite;transform-box:view-box;transform-origin:78px 72px}
@keyframes al{45%{transform:rotate(-18deg)}}@keyframes ar{45%{transform:rotate(18deg)}}
.ok{text-align:center}

/* texte long */
.prose{max-width:780px}
.prose h2{font-size:1.6rem;margin:40px 0 12px}
.prose p,.prose li{color:var(--ink-2);margin-bottom:10px}
.prose ul{padding-left:20px}

/* apparition douce : visible au repos, légère translation seulement */
.reveal{transform:translateY(14px);transition:transform .9s var(--ease)}
.reveal.vis{transform:none}

/* ---------- responsive ---------- */
@media (max-width:1560px){.links a{padding:8px 9px}.links a:nth-child(5){display:none}}
@media (max-width:1280px){.links a{padding:8px 6px}.links{font-size:.94rem}.brand img{height:34px}.topnav .wrap{gap:12px}}
@media (max-width:1160px){.links a:nth-child(6){display:none}}
@media (max-width:1060px){
  :root{--nav:64px}
  .links,.nav-cta{display:none}
  .theme{margin-left:auto}.menu-btn{display:grid}
  .brand img{height:34px}
  .hero-grid,.split,.split.w,.contact,.cta-final,.axevo{grid-template-columns:1fr}
  .split.rev>:first-child{order:0}
  .doors,.cards,.cards.c4,.news,.prest,.testis{grid-template-columns:1fr}
  .cards.c2{grid-template-columns:1fr}
  .doors-wrap{margin-top:-40px}
  .home-hero{grid-template-columns:1fr;padding-bottom:80px}.home-hero .hero-img{margin:0 -18px}
  .prow{grid-template-columns:1fr}.prow .img{min-height:240px}.prow .map3d{min-height:380px}.prow .map3d .atlas{border-right:0;border-bottom:1px solid var(--line)}.others,.ocard{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .band .stats>div:nth-child(-n+2){border-bottom-color:rgba(255,255,255,.14)}
  section{padding-block:76px}
  .fcols{grid-template-columns:1fr 1fr}
  .cta-final{padding:44px 26px}.cta-final .cta-row{justify-content:flex-start}
  .eqs{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 140px 140px}
  .gallery a:first-child{grid-column:span 2;grid-row:auto}
  .meth-stage{grid-template-columns:1fr}.meth-img{min-height:0;aspect-ratio:1400/860}
  .meth-txt{border-left:0;border-top:1px solid var(--line);padding:26px 22px 80px}
  .meth-nav{left:22px;bottom:22px}
  .meth-steps button{flex-direction:column;gap:2px;padding:14px 12px 16px}
  .meth-steps .t{font-size:.95rem}
  .axevo .logo img{height:70px}
  .fab{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:70;padding:6px;border-radius:20px;background:color-mix(in srgb,var(--paper) 90%,transparent);border:1px solid var(--line-2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 34px rgba(23,32,51,.16)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0 5px;border-radius:14px;font:500 .72rem var(--display);letter-spacing:.02em;color:var(--ink-3)}
  .tabbar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .tabbar a.on{color:var(--ink);background:var(--bg)}
  .tabbar .ask{color:var(--ink)}
  .tabbar .ask span{width:42px;height:31px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff}
  .tabbar .ask svg{fill:currentColor;stroke:none;width:15px;height:15px}
  body{padding-bottom:94px}
}
@media (max-width:620px){
  .wrap{padding-inline:18px}
  h1{font-size:2.6rem}
  .hero-in{padding-top:40px}
  .two,.segp{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr 1fr 1fr}.kv b{font-size:1.2rem}
  .prow .body{padding:24px 22px}.prow h3{font-size:1.6rem}
  .cta-row .btn{flex:1}
  .toolbar .count{margin-left:0;width:100%}
  .hero-img{margin-inline:-18px}
  .eqs{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{transform:none}}

.band .quote{color:#fff}.band .quote cite{color:var(--navy-ink-2)}
.lot .exb{position:absolute;right:10px;bottom:10px;padding:4px 9px;border-radius:6px;background:rgba(20,28,46,.72);color:#fff;font:500 .78rem var(--display)}

/* illustrations animées en boucle (vidéo discrète par-dessus l'image fixe) */
.vloop{position:relative}
.vloop>img{width:100%}
.vloop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s var(--ease);pointer-events:none}
.vloop video.on{opacity:1}
.vpause{position:absolute;right:12px;bottom:12px;z-index:2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.86);color:#1f2c4c;box-shadow:0 4px 14px rgba(23,32,51,.14);opacity:0;transition:opacity .3s}
.vpause svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.vloop:hover .vpause,.vpause:focus-visible,.vloop.paused .vpause{opacity:1}
.vpause .pl{display:none;fill:currentColor;stroke:none}.vloop.paused .vpause .pl{display:block}.vloop.paused .vpause .pa{display:none}
.hero-img .vloop{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 78%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 78%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
.home-hero .hero-img .vloop{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 52%,transparent 100%)}
.hero-img .vloop img,.home-hero .hero-img .vloop img{-webkit-mask-image:none;mask-image:none}
.home-hero .hero-img .vpause{right:18%;bottom:20%}
.door .vis .vloop{position:absolute;inset:0}
.door .vis .vloop>img{height:100%;object-fit:cover}
.door .vis .vloop video{transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.door:hover .vis video{transform:scale(1.04)}
.framed{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--paper)}
@media (prefers-reduced-motion:reduce){.vloop video,.vpause{display:none}}
.stretch::after{content:"";position:absolute;inset:0;z-index:1}
.door h3 a{color:inherit}
.door .vpause{z-index:3}
.door:focus-within{box-shadow:0 0 0 2px var(--blue),var(--shadow)}

/* V6 — nuage des activités : étiquettes en verre, flottement léger, phrase complète au survol */
.acloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 10px;margin-top:22px;padding:22px 10px;position:relative;isolation:isolate}
.acloud::before{content:"";position:absolute;inset:6% 10%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--blue) 14%,transparent),transparent);filter:blur(18px)}
.ac{position:relative;display:inline-flex;align-items:center;gap:9px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,var(--paper) 62%,transparent);border:1px solid color-mix(in srgb,#fff 70%,var(--line));backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%);box-shadow:0 8px 24px rgba(23,32,51,.08),inset 0 1px 0 rgba(255,255,255,.6);animation:acf 5.5s var(--d,0s) ease-in-out infinite alternate;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.ac.lg{padding:7px 16px 7px 7px;font-size:.92rem;color:var(--ink-2);cursor:default}
.ac.lg i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--navy);box-shadow:0 4px 12px rgba(31,44,76,.25)}
.ac.lg i svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ac.lg b{font:600 1.08rem var(--display);letter-spacing:.01em;color:var(--ink)}
.ac.sm{padding:5px 12px;font:500 .78rem var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.ac.lg:hover,.ac.lg:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 45%,transparent);box-shadow:0 14px 34px rgba(23,32,51,.14);outline:0;z-index:3;animation-play-state:paused}
.ac .tip{position:absolute;left:50%;top:calc(100% + 10px);width:max-content;max-width:300px;white-space:normal;transform:translate(-50%,-4px);padding:10px 13px;border-radius:12px;font:400 .84rem/1.45 var(--sans);color:var(--ink-2);background:color-mix(in srgb,var(--paper) 86%,transparent);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}
.ac.lg:hover .tip,.ac.lg:focus-visible .tip{opacity:1;transform:translate(-50%,0)}
@keyframes acf{from{translate:0 0}to{translate:0 -4px}}
[data-theme="dark"] .ac{border-color:rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06)}
[data-theme="dark"] .ac.lg i{background:#e9edf6}[data-theme="dark"] .ac.lg i svg{stroke:#16203a}
.band .ac{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.band .ac.lg{color:var(--navy-ink-2)}.band .ac.lg b{color:#fff}.band .ac.sm{color:var(--navy-ink-2)}
.band .ac.lg i{background:#fff}.band .ac.lg i svg{stroke:var(--navy)}
.band .ac .tip{background:rgba(15,26,51,.92);border-color:rgba(255,255,255,.14);color:var(--navy-ink)}
@media (max-width:640px){.ac.lg{font-size:.86rem}.ac.lg b{font-size:1rem}.ac .tip{display:none}.acloud{padding:10px 0;gap:8px}}
@media (prefers-reduced-motion:reduce){.ac{animation:none}}

.acts-band{display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px}
.acts-band .quote{max-width:34ch;font-size:clamp(1.2rem,2vw,1.55rem)}
.acts-band>.reveal:last-child{width:100%;display:flex;flex-direction:column;align-items:center}
.acts-band .acloud{max-width:1060px;margin-top:14px}
.s-acts{padding-top:clamp(56px,7vw,90px);padding-bottom:clamp(56px,7vw,90px)}
.ac .tip{background:color-mix(in srgb,var(--paper) 97%,transparent)}

/* =====================================================================
   V7 (02/10/2026)
   ===================================================================== */

/* ---------- logos : plaque en verre dépoli (mode sombre et bandeaux bleu nuit) ----------
   Les couleurs du logo ne changent jamais : on le pose sur un verre clair, granuleux et translucide,
   avec reflet supérieur, liseré lumineux et halo bleuté, au lieu d'un cadre blanc plein. */
:root{--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
:is([data-theme="dark"],.band,.s-pk) .lg:not(.ac){
  position:relative;display:inline-block;isolation:isolate;overflow:hidden;padding:7px 13px;border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.88),rgba(225,233,248,.76) 60%,rgba(190,205,236,.66));
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  box-shadow:0 18px 36px -18px rgba(0,0,0,.8),0 0 30px -10px rgba(138,163,255,.55)}
/* liseré dégradé (lumière en haut à gauche, reflet bleuté en bas à droite) */
:is([data-theme="dark"],.band,.s-pk) .lg:not(.ac)::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;padding:1px;
  background:linear-gradient(140deg,#fff,rgba(255,255,255,.2) 40%,rgba(138,163,255,.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* grain du verre sablé + reflet diagonal qui glisse au survol */
:is([data-theme="dark"],.band,.s-pk) .lg:not(.ac)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.6) 48%,transparent 58%) 50% 0/260% 100% no-repeat,var(--noise);
  opacity:.6;mix-blend-mode:soft-light;transition:background-position 1.2s var(--ease)}
:is([data-theme="dark"],.band,.s-pk) .lg:not(.ac):hover::after{background-position:220% 0,0 0}
:is([data-theme="dark"],.band,.s-pk) .lg:not(.ac) img{position:relative;z-index:2}
[data-theme="dark"] .brand.lg{padding:6px 12px;border-radius:13px}
[data-theme="dark"] .fbot .ax .lg{padding:5px 10px;border-radius:11px}

/* ---------- barre : espace privé ---------- */
.priv{display:inline-flex;align-items:center;gap:7px;flex:none;padding:7px 13px 7px 11px;border-radius:99px;border:1px solid var(--line-2);background:color-mix(in srgb,var(--paper) 70%,transparent);font:600 .93rem var(--display);letter-spacing:.02em;color:var(--ink-2);white-space:nowrap;transition:.2s var(--ease)}
.priv svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.priv:hover,.priv.on{color:var(--ink);border-color:var(--ink-3);background:var(--paper)}
@media (max-width:1439px){.priv span{display:none}.priv{padding:0;width:36px;height:36px;justify-content:center}}
@media (max-width:1060px){.priv{margin-left:auto}.topnav .theme{margin-left:0}}

/* ---------- parcours : 4 phases, toutes les activités ---------- */
.s-pk,.s-prive{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:var(--navy-ink)}
.s-pk{padding:110px 0 120px}
[data-theme="dark"] .s-pk,[data-theme="dark"] .s-prive{background:#0f1a33}
.pk-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 520px at 10% -8%,rgba(58,91,199,.45),transparent 62%),radial-gradient(760px 460px at 96% 108%,rgba(62,200,224,.13),transparent 60%),var(--topo-w) 50% 0/1500px auto}
.pk-bg::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.8}
.s-pk .eyebrow,.s-prive .eyebrow{color:var(--navy-ink-2)}
.s-pk .eyebrow img,.s-prive .eyebrow img{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--plate)}
.pk-head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:40px}
.pk-head h2{margin-top:14px;color:#fff;font-size:clamp(2.2rem,4.2vw,3.5rem);letter-spacing:-.01em}
.pk-head p{color:var(--navy-ink-2);font-size:1.08rem;max-width:52ch;text-wrap:pretty}

.pk{position:relative;height:640px;border-radius:30px;isolation:isolate;overflow:hidden;box-shadow:0 50px 100px -40px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.09)}
.pk-media{position:absolute;inset:0;z-index:-1;background:#1a2440}
.pk-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;opacity:0;transform:scale(1.06);transform-origin:50% 20%;transition:opacity 1.2s var(--ease),transform 10s cubic-bezier(.2,.6,.3,1)}
.pk-media img.on{opacity:1;transform:scale(1)}
.pk-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,51,.05) 0%,rgba(15,26,51,.12) 28%,rgba(15,26,51,.66) 58%,rgba(11,18,36,.93) 100%),linear-gradient(90deg,rgba(15,26,51,.28),transparent 45%)}
.pk-top{position:absolute;top:22px;right:22px;z-index:3;display:flex;gap:8px;align-items:center}
.pk-count,.pk-play{background:rgba(15,26,51,.38);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);color:#fff}
.pk-count{display:flex;align-items:baseline;gap:6px;padding:8px 15px;border-radius:99px;font-family:var(--display)}
.pk-count b{font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums}.pk-count span{font-size:.82rem;opacity:.7}
.pk-play{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;transition:background .2s}
.pk-play:hover{background:rgba(15,26,51,.6)}
.pk-play svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pk-play .pl{display:none}.pk.stopped .pk-play .pl{display:block}.pk.stopped .pk-play .pa{display:none}
.pk-play .pl svg{fill:currentColor;stroke:none}

.pk-tiles{position:absolute;left:24px;right:24px;bottom:24px;height:318px;display:flex;gap:12px}
.pk-rail{position:absolute;left:0;right:0;top:-26px;height:2px;border-radius:2px;background:rgba(255,255,255,.2)}
.pk-rail>i{display:block;height:100%;width:var(--fill,0px);border-radius:2px;background:linear-gradient(90deg,rgba(138,163,255,.6),#fff);box-shadow:0 0 14px rgba(138,163,255,.9)}
.pk-t{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 22px 22px;border-radius:22px;color:#fff;cursor:pointer;
  background:linear-gradient(165deg,rgba(255,255,255,.17),rgba(255,255,255,.05) 42%,rgba(15,26,51,.34));
  border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(20px) saturate(165%);backdrop-filter:blur(20px) saturate(165%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
  clip-path:inset(-44px -2px -2px -2px round 0 0 23px 23px);
  transition:flex-grow .8s var(--ease),background .6s,border-color .6s,opacity .5s,filter .5s}
.pk-t:hover{border-color:rgba(255,255,255,.36)}
.pk-t.on{flex-grow:3.2;cursor:default;border-color:rgba(255,255,255,.34);background:linear-gradient(165deg,rgba(255,255,255,.2),rgba(23,34,62,.56) 40%,rgba(11,18,36,.74))}
.pk-t::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.17),transparent 45%);opacity:0;transition:opacity .4s}
.pk-t::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;padding:1px;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.85),transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}
.pk-t:hover::before,.pk-t:hover::after{opacity:1}
.pk-dot{position:absolute;top:-31px;left:22px;width:12px;height:12px;border-radius:50%;background:#2b3c63;border:2px solid rgba(255,255,255,.55);transition:.5s var(--ease)}
.pk-t.on .pk-dot,.pk-t.done .pk-dot{background:#fff;border-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.14),0 0 16px rgba(138,163,255,.95)}
.pk-n{position:absolute;top:16px;right:20px;font:600 4.8rem/1 var(--display);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.34);pointer-events:none;transform-origin:top right;transition:transform .8s var(--ease),-webkit-text-stroke-color .6s}
.pk-t.on .pk-n{transform:scale(1.22);-webkit-text-stroke-color:rgba(255,255,255,.5)}
.pk-prog{position:absolute;left:22px;right:22px;top:0;height:2px;border-radius:2px;overflow:hidden;background:rgba(255,255,255,.1);opacity:0;transition:opacity .4s}
.pk-prog::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.pk-t.on .pk-prog{opacity:1}
.pk-t.on .pk-prog::after{animation:pk-p var(--pk-d,8s) linear forwards}
.pk.paused .pk-t.on .pk-prog::after,.pk.idle .pk-t.on .pk-prog::after{animation-play-state:paused}
.pk.stopped .pk-t.on .pk-prog{opacity:0}
@keyframes pk-p{to{transform:scaleX(1)}}

.pk-h{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;color:inherit;border-radius:12px}
.pk-h:focus-visible{outline-color:#fff}
.pk-k{font:600 .72rem var(--display);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.pk-ti{font:600 1.62rem/1.05 var(--display);letter-spacing:.005em;color:#fff;text-wrap:balance}
.pk-t.on .pk-ti{font-size:2.05rem}
.pk-s{font-size:.93rem;line-height:1.42;color:rgba(255,255,255,.8);max-width:36ch;text-wrap:pretty}
.pk-more{display:inline-flex;align-items:center;gap:6px;max-height:40px;margin-top:14px;padding:5px 12px 5px 8px;border-radius:99px;font:600 .8rem var(--display);letter-spacing:.05em;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);overflow:hidden;transition:max-height .5s var(--ease),opacity .35s,margin .5s,padding .5s,border-width .5s}
.pk-more svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.pk-t:hover .pk-more{background:rgba(255,255,255,.2)}
.pk-t.on .pk-more{max-height:0;opacity:0;margin-top:0;padding-block:0;border-width:0}
.pk-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.pk-t.on .pk-d{grid-template-rows:1fr}
.pk-di{min-height:0;min-width:450px;overflow:hidden}
.pk-acts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.pk-acts li{display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:start;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .6s var(--ease)}
.pk-acts i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.pk-acts svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pk-acts b{display:block;font:600 1.02rem/1.2 var(--display);letter-spacing:.01em;color:#fff}
.pk-acts small{display:block;margin-top:2px;font-size:.82rem;line-height:1.36;color:rgba(255,255,255,.7)}
.pk-t.on .pk-acts li{opacity:1;transform:none;transition-delay:calc(.28s + var(--j) * .07s)}
/* filtre par public */

@media (max-width:1240px){.pk-ti{font-size:1.36rem}.pk-t:not(.on) .pk-s{display:none}.pk-t.on{flex-grow:4.2}.pk-n{font-size:3.8rem}.pk-di{min-width:440px}}
@media (max-width:1080px){
  .s-pk{padding:72px 0 80px}
  .pk-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .pk{height:auto;border-radius:24px;background:#141f3a}
  .pk-media{position:relative;inset:auto;z-index:0;aspect-ratio:16/10}
  .pk-media::after{background:linear-gradient(180deg,transparent 55%,rgba(20,31,58,.95))}
  .pk-top{top:14px;right:14px}
  .pk-tiles{position:relative;inset:auto;height:auto;flex-direction:column;gap:10px;padding:0 12px 12px;margin-top:-34px}
  .pk-rail,.pk-dot{display:none}
  .pk-t{flex:none;clip-path:none;overflow:hidden;padding:18px}
  .pk-t:not(.on) .pk-s{display:block}
  .pk-t.on{flex-grow:0}
  .pk-di{min-width:0}
  .pk-acts{grid-template-columns:1fr}
  .pk-n{font-size:2.8rem;top:12px;right:14px}
  .pk-t.on .pk-n{transform:none}
  .pk-ti,.pk-t.on .pk-ti{font-size:1.5rem}
}

/* ---------- espace privé ---------- */
.s-prive{padding:84px 0 110px;min-height:calc(100vh - var(--nav))}
.pv-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.pv-intro h1{margin-top:16px;color:#fff;font-size:clamp(2.4rem,4.6vw,3.8rem)}
.pv-intro .lead{color:var(--navy-ink-2);margin-top:16px}
.pv-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:36px}
.pv-t{position:relative;padding:18px 18px 20px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}
.pv-t::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.12),transparent 50%);opacity:0;transition:opacity .4s}
.pv-t:hover::before{opacity:1}
.pv-t i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.pv-t svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-t h3{margin-top:12px;color:#fff;font-size:1.14rem}
.pv-t p{margin-top:4px;font-size:.88rem;line-height:1.45;color:var(--navy-ink-2)}
.pv-card{position:relative;padding:30px 32px 26px;border-radius:26px;color:var(--ink);background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(238,242,250,.92));border:1px solid rgba(255,255,255,.6);box-shadow:0 50px 90px -40px rgba(0,0,0,.75),inset 0 1px 0 #fff}
[data-theme="dark"] .pv-card{background:linear-gradient(160deg,rgba(43,56,92,.82),rgba(24,34,60,.86));border-color:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 50px 90px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12)}
.pv-tabs{display:flex;gap:4px;padding:4px;margin-bottom:24px;border-radius:12px;background:var(--bg-2)}
.pv-tabs button{flex:1;padding:9px 10px;border-radius:9px;font:600 .95rem var(--display);color:var(--ink-2)}
.pv-tabs button.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-s)}
.pv-tabs button[disabled]{opacity:.6;cursor:not-allowed}
.pv-tabs small{margin-left:7px;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.pv-lock{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:14px;background:var(--navy);color:#fff}
[data-theme="dark"] .pv-lock{background:#e9edf6;color:#16203a}
.pv-lock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-card h2{font-size:1.9rem}
.pv-card .muted{margin-top:6px;font-size:.95rem}
.pv-form{display:grid;gap:14px;margin-top:20px}
.pv-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.92rem}
.pv-row a{color:var(--blue);font-weight:500}
.pv-row .check input{margin-top:0}.pv-row .check{align-items:center}
.pv-go,.pv-link{width:100%}
.pv-msg{min-height:1.3em;font-size:.92rem;color:var(--ink-2)}
.pv-msg.ok{color:var(--ok)}
.pv-help{margin-top:12px;padding-top:16px;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink-2)}
.pv-help a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1060px){.pv-grid{grid-template-columns:1fr;gap:40px}.s-prive{padding:56px 0 80px}}
@media (max-width:560px){.pv-tiles{grid-template-columns:1fr}.pv-card{padding:24px 20px}}
/* V7 : la barre de navigation déborde de la colonne de contenu sur grand écran (bouton « Espace privé » en plus) */
.topnav .wrap{max-width:1580px;gap:14px}
@media (max-width:1360px){.links a{padding:8px 7px}.topnav .wrap{gap:12px}}
.pk-head>div{min-width:0}

/* =====================================================================
   V8 (02/10/2026) — navigation « panneau qui se transforme », verre dépoli premium
   ===================================================================== */
:root{--mn-ease:cubic-bezier(.22,1,.36,1);--mn-safe:env(safe-area-inset-bottom,0px)}
.topnav,.tabbar,.sheet{display:none!important}

/* ---------- la matière : verre très translucide, flou fort, liseré lumineux, reflet, grain ---------- */
.mn-glass{position:relative;isolation:isolate;
  background:linear-gradient(140deg,rgba(255,255,255,.52),rgba(255,255,255,.2) 55%,rgba(226,234,250,.3));
  -webkit-backdrop-filter:blur(40px) saturate(220%) brightness(1.04);backdrop-filter:blur(40px) saturate(220%) brightness(1.04);
  box-shadow:0 40px 80px -36px rgba(23,32,51,.45),0 0 0 .5px rgba(23,32,51,.08),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25)}
.mn-glass::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;padding:1px;
  background:linear-gradient(150deg,rgba(255,255,255,1),rgba(255,255,255,.18) 34%,rgba(255,255,255,.04) 60%,rgba(138,163,255,.55) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.mn-glass::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.5),transparent 52%),var(--noise);opacity:.55;mix-blend-mode:soft-light}
[data-theme="dark"] .mn-glass{background:linear-gradient(140deg,rgba(58,74,122,.46),rgba(20,29,54,.34) 55%,rgba(32,46,82,.42));
  box-shadow:0 40px 80px -30px rgba(0,0,0,.75),0 0 0 .5px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.04)}
[data-theme="dark"] .mn-glass::before{background:linear-gradient(150deg,rgba(255,255,255,.55),rgba(255,255,255,.07) 38%,rgba(255,255,255,.02) 62%,rgba(138,163,255,.6))}
[data-theme="dark"] .mn-glass::after{background:radial-gradient(120% 90% at 12% 0%,rgba(138,163,255,.25),transparent 52%),var(--noise);opacity:.4}
/* aura : des halos colorés qui dérivent lentement derrière le verre (effet « liquide ») */
.mn-aura{position:absolute;inset:-20%;z-index:-2;pointer-events:none;filter:blur(38px) saturate(140%);opacity:.95}
.mn-aura i{position:absolute;width:46%;height:70%;border-radius:50%;animation:mn-drift 18s ease-in-out infinite alternate}
.mn-aura i:nth-child(1){left:6%;top:8%;background:radial-gradient(closest-side,rgba(58,91,199,.32),transparent)}
.mn-aura i:nth-child(2){right:4%;top:20%;background:radial-gradient(closest-side,rgba(62,200,224,.24),transparent);animation-duration:22s;animation-delay:-6s}
.mn-aura i:nth-child(3){left:38%;bottom:0;background:radial-gradient(closest-side,rgba(255,214,170,.28),transparent);animation-duration:26s;animation-delay:-11s}
[data-theme="dark"] .mn-aura{opacity:1}
[data-theme="dark"] .mn-aura i:nth-child(3){background:radial-gradient(closest-side,rgba(138,163,255,.22),transparent)}
@keyframes mn-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(12%,-8%) scale(1.12)}100%{transform:translate(-10%,10%) scale(.95)}}

/* ---------- barre ---------- */
.mn{position:sticky;top:0;z-index:70;padding:10px 16px 0;transition:transform .55s var(--mn-ease)}
.mn.hid:not(.open){transform:translateY(-125%)}
.mn-bar{max-width:1320px;margin:0 auto;height:64px;display:flex;align-items:center;gap:14px;padding:0 10px 0 14px;border-radius:20px;transition:background .4s,box-shadow .4s}
.mn:not(.scrolled):not(.open) .mn-bar{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.mn:not(.scrolled):not(.open) .mn-bar::before,.mn:not(.scrolled):not(.open) .mn-bar::after{opacity:0}
.mn-bar::before,.mn-bar::after{transition:opacity .4s}
.mn-logo{display:block;flex:none}.mn-logo img{height:38px;width:auto;max-width:none}
[data-theme="dark"] .mn-logo.lg{padding:5px 11px;border-radius:12px}
.mn-nav{position:relative;display:flex;gap:2px;margin:0 auto}
/* pastille de verre qui glisse sous la rubrique survolée ou ouverte */
.mn-pill{position:absolute;top:0;left:var(--pl,0);width:var(--pw,0);height:42px;border-radius:12px;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.4));box-shadow:inset 0 1px 0 #fff,0 0 0 .5px rgba(23,32,51,.08),0 6px 16px -8px rgba(23,32,51,.3);
  transition:left .45s var(--mn-ease),width .45s var(--mn-ease),opacity .25s}
[data-theme="dark"] .mn-pill{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 .5px rgba(255,255,255,.08)}
.mn-nav.pill .mn-pill{opacity:1}
.mn-trg{position:relative;z-index:1;height:42px;padding:0 15px;border-radius:12px;display:inline-flex;align-items:center;gap:7px;font:500 1.06rem var(--display);letter-spacing:.01em;color:var(--ink-2);transition:color .25s}
.mn-trg:hover,.mn-trg[aria-expanded="true"]{color:var(--ink)}
.mn-trg svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:transform .4s var(--mn-ease)}
.mn-trg[aria-expanded="true"] svg{transform:rotate(180deg)}
.mn-trg.cur::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue)}
.mn-end{display:flex;gap:8px;align-items:center}
.mn-priv,.mn-ico,.mn-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;height:40px;border-radius:12px;font:600 .95rem var(--display);letter-spacing:.02em;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .25s var(--mn-ease)}
.mn-priv{padding:0 13px;color:var(--ink-2);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:color-mix(in srgb,var(--paper) 35%,transparent)}
.mn-priv:hover,.mn-priv.on{color:var(--ink);border-color:var(--ink-3)}
.mn-ico{width:40px;color:var(--ink-2);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:color-mix(in srgb,var(--paper) 35%,transparent)}
.mn-ico:hover{color:var(--ink)}
.mn-priv svg,.mn-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* l'icône montre le mode vers lequel on bascule : la lune en mode jour, le soleil en mode nuit */
.mn-ico .sun{display:none}[data-theme="dark"] .mn-ico .sun{display:block}[data-theme="dark"] .mn-ico .moon{display:none}
.mn-cta{padding:0 18px;background:var(--navy);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 8px 18px -10px rgba(31,44,76,.6)}
.mn-cta:hover{background:var(--navy-2);transform:translateY(-1px)}
[data-theme="dark"] .mn-cta{background:#e9edf6;color:#16203a}

/* ---------- panneau unique : il glisse sous la rubrique et prend la taille de son contenu ---------- */
.mn-panel{position:absolute;top:84px;left:var(--px,0);width:var(--pw,600px);height:var(--ph,300px);border-radius:26px;overflow:hidden;
  opacity:0;transform:translateY(-10px) scale(.97);transform-origin:var(--ox,50%) top;filter:blur(6px);pointer-events:none;
  transition:opacity .25s,transform .45s var(--mn-ease),filter .35s,left .55s var(--mn-ease),width .55s var(--mn-ease),height .55s var(--mn-ease)}
.mn-panel.still{transition:opacity .25s,transform .45s var(--mn-ease),filter .35s}
.mn.open .mn-panel{opacity:1;transform:none;filter:none;pointer-events:auto}
/* reflet qui suit la souris sur le verre */
.mn-panel .mn-views::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.28),transparent 45%);opacity:0;transition:opacity .4s}
[data-theme="dark"] .mn-panel .mn-views::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(138,163,255,.16),transparent 45%)}
.mn-panel:hover .mn-views::before{opacity:1}
.mn-caret{position:absolute;top:78px;left:var(--cx,50%);width:14px;height:14px;margin-left:-7px;border-radius:3px 0 0 0;transform:rotate(45deg) scale(.6);opacity:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.55));box-shadow:-1px -1px 0 rgba(255,255,255,.9);transition:left .55s var(--mn-ease),opacity .25s,transform .4s var(--mn-ease)}
[data-theme="dark"] .mn-caret{background:linear-gradient(135deg,rgba(90,108,160,.9),rgba(40,54,92,.6));box-shadow:-1px -1px 0 rgba(255,255,255,.25)}
.mn.open .mn-caret{opacity:1;transform:rotate(45deg) scale(1)}
.mn-views{position:relative;width:100%;height:100%}
.mn-view{position:absolute;top:0;left:0;width:max-content;padding:14px;opacity:0;visibility:hidden;transform:translateX(var(--dx,0px));transition:opacity .25s,transform .55s var(--mn-ease),visibility 0s .25s}
.mn-view.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s .06s,transform .55s var(--mn-ease)}
.mn-view.on>*>*,.mn-view.on .mn-aside>*{animation:mn-rise .6s var(--mn-ease) both;animation-delay:calc(var(--k,0) * 45ms + 70ms)}
@keyframes mn-rise{from{opacity:0;transform:translateY(10px);filter:blur(4px)}}

/* cartes : vignette sur verre, survol = halo, levée, vignette animée */
.mn-card,.mn-news{position:relative;display:block;padding:7px 7px 10px;border-radius:19px;transition:transform .4s var(--mn-ease),background .3s,box-shadow .3s}
.mn-card::before,.mn-news::before,.mn-row::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),rgba(255,255,255,.12) 60%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 14px 30px -18px rgba(23,32,51,.45)}
[data-theme="dark"] .mn-card::before,[data-theme="dark"] .mn-news::before,[data-theme="dark"] .mn-row::before{background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(138,163,255,.2),rgba(255,255,255,.04) 60%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 14px 30px -18px rgba(0,0,0,.6)}
.mn-card:hover,.mn-news:hover,.mn-card:focus-visible{transform:translateY(-3px)}
.mn-card:hover::before,.mn-news:hover::before,.mn-row:hover::before,.mn-card:focus-visible::before,.mn-row:focus-visible::before,.mn-card[aria-current]::before{opacity:1}
.mn-th{position:relative;display:block;aspect-ratio:16/10;border-radius:13px;overflow:hidden;background:color-mix(in srgb,var(--ink) 6%,transparent);
  box-shadow:0 12px 24px -16px rgba(23,32,51,.55),inset 0 0 0 1px rgba(255,255,255,.4)}
.mn-th img,.mn-th video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--mn-ease),opacity .5s}
.mn-th video{opacity:0}.mn-th video.on{opacity:1}
.mn-th::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.28),transparent 40%);mix-blend-mode:soft-light}
a:hover .mn-th img,a:hover .mn-th video{transform:scale(1.06)}
.mn-th.zoom img,.mn-th.zoom video{transform:scale(1.6);transform-origin:66% 42%}
a:hover .mn-th.zoom img,a:hover .mn-th.zoom video{transform:scale(1.66)}
.mn-card b,.mn-news b{position:relative;display:flex;align-items:center;gap:6px;margin-top:10px;padding:0 3px;font:600 1.06rem/1.15 var(--display);letter-spacing:.005em;color:var(--ink)}
.mn-card b svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-5px);transition:opacity .25s,transform .35s var(--mn-ease)}
.mn-card:hover b svg,.mn-card:focus-visible b svg{opacity:.75;transform:none}
.mn-card small,.mn-news small{position:relative;display:block;margin-top:2px;padding:0 3px;font-size:.84rem;line-height:1.35;color:var(--ink-2)}
.mn-card .mn-k,.mn-news .mn-k{margin-top:10px;font:600 .64rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.mn-k+b{margin-top:1px!important}
.mn-g4{display:grid;grid-template-columns:repeat(4,182px);gap:4px}
.mn-g3{display:grid;grid-template-columns:repeat(3,182px);gap:4px}
.mn-polesw{display:grid;grid-template-columns:auto 236px;gap:10px}
.mn-free{position:absolute;left:7px;bottom:7px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:99px;font:600 .74rem var(--display);font-style:normal;letter-spacing:.02em;white-space:nowrap;color:#fff;
  background:rgba(15,26,51,.32);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.mn-free::before{content:"";width:6px;height:6px;border-radius:50%;background:#4fe3a0;box-shadow:0 0 8px #4fe3a0;animation:mn-blink 2.4s ease-in-out infinite}
.mn-free.none::before{background:#c9cfda;box-shadow:none;animation:none}
@keyframes mn-blink{50%{opacity:.45}}
.mn-aside{display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 12px;border-left:1px solid color-mix(in srgb,var(--ink) 9%,transparent)}
.mn-big{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:4px;border-radius:16px;color:#fff;
  background:linear-gradient(135deg,rgba(31,44,76,.94),rgba(58,91,199,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px -16px rgba(31,44,76,.7);transition:transform .35s var(--mn-ease)}
.mn-big::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%) -150% 0/250% 100% no-repeat;transition:background-position 1.1s var(--mn-ease)}
.mn-big:hover{transform:translateY(-2px)}.mn-big:hover::after{background-position:180% 0}
.mn-big b{font:600 2.3rem/1 var(--display)}.mn-big span{flex:1;font:600 .98rem/1.15 var(--display)}.mn-big small{display:block;font:400 .78rem var(--sans);opacity:.75;margin-top:2px}
.mn-big svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .mn-big{background:linear-gradient(135deg,rgba(233,237,246,.96),rgba(170,190,240,.85));color:#16203a}
.mn-row{position:relative;display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center;padding:8px;border-radius:14px}
.mn-row>*{position:relative}
.mn-row i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--ink);background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(255,255,255,.3));box-shadow:inset 0 1px 0 #fff,0 0 0 .5px rgba(23,32,51,.1),0 6px 14px -8px rgba(23,32,51,.35)}
[data-theme="dark"] .mn-row i{background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 .5px rgba(255,255,255,.1)}
.mn-row i svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mn-row b{display:block;font:600 1rem/1.2 var(--display);color:var(--ink)}.mn-row small{display:block;font-size:.82rem;color:var(--ink-2);line-height:1.3}
.mn-linkw{display:grid;grid-template-columns:repeat(2,218px) 196px;gap:2px 6px;align-items:center}
.mn-linkw .mn-news{grid-column:3;grid-row:1/3}
.mn-linkw .mn-news .mn-th{aspect-ratio:16/9}
.mn-linkw .mn-news b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.98rem}
@media (max-width:1180px){.mn-priv span{display:none}.mn-priv{width:40px;padding:0}.mn-trg{padding:0 11px}}
@media (max-width:1060px){.mn-g4{grid-template-columns:repeat(4,160px)}.mn-g3{grid-template-columns:repeat(3,160px)}.mn-linkw{grid-template-columns:repeat(2,200px) 170px}}

/* ---------- mobile : barre d'onglets dans la zone du pouce + feuille ---------- */
.mn-tabs,.mn-sheet{display:none}
@media (max-width:900px){
  .mn{padding:8px 10px 0}.mn-bar{height:56px;padding:0 8px 0 12px}
  .mn-nav,.mn-panel,.mn-caret,.mn-cta{display:none}.mn-end{margin-left:auto}.mn-logo img{height:32px}
  .mn-priv span{display:none}.mn-priv{width:40px;padding:0}
  .fab{display:none!important}
  body{padding-bottom:calc(84px + var(--mn-safe))}
  .mn-tabs{position:fixed;z-index:95;left:12px;right:12px;bottom:calc(10px + var(--mn-safe));height:66px;display:grid;grid-template-columns:1fr 1fr 60px 1fr 1fr;align-items:center;padding:0 6px;border-radius:24px;
    transition:left .5s var(--mn-ease),right .5s var(--mn-ease),height .5s var(--mn-ease),border-radius .5s}
  .mn-tab{position:relative;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:16px;font:600 .7rem/1.05 var(--display);letter-spacing:.01em;text-align:center;color:var(--ink-2);transition:color .2s,background .2s}
  .mn-tab svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mn-tab span{transition:opacity .25s,max-height .35s;max-height:16px;overflow:hidden;white-space:nowrap}
  .mn-tab.cur{color:var(--ink)}
  .mn-tab[aria-expanded="true"]{color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.35));box-shadow:inset 0 1px 0 #fff,0 0 0 .5px rgba(23,32,51,.08)}
  [data-theme="dark"] .mn-tab[aria-expanded="true"]{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
  .mn-ask{justify-self:center;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#3a5bc7,#1f2c4c);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 20px rgba(31,44,76,.4);transition:width .5s var(--mn-ease),height .5s var(--mn-ease)}
  [data-theme="dark"] .mn-ask{background:linear-gradient(140deg,#fff,#c9d6f5);color:#16203a}
  .mn-ask svg{width:20px;height:20px;fill:currentColor}
  .mn-tabs.hid{left:18%;right:18%;height:50px;border-radius:20px}
  .mn-tabs.hid .mn-tab{height:44px}.mn-tabs.hid .mn-tab span{opacity:0;max-height:0}.mn-tabs.hid .mn-ask{width:38px;height:38px}
  .mn-sheet{display:block;position:fixed;inset:0;z-index:90;visibility:hidden;transition:visibility 0s .5s}
  .mn-sheet.open{visibility:visible;transition:none}
  .mn-scrim{position:absolute;inset:0;background:rgba(10,16,30,.26);opacity:0;transition:opacity .35s}
  .mn-sheet.open .mn-scrim{opacity:1}
  .mn-sh{position:absolute!important;left:0;right:0;bottom:0;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;border-radius:28px 28px 0 0;padding-bottom:calc(92px + var(--mn-safe));transform:translateY(105%);transition:transform .55s var(--mn-ease)}
  .mn-sheet.open .mn-sh{transform:translateY(var(--drag,0px))}
  .mn-sh.dragging{transition:none}
  .mn-grip{width:44px;height:5px;border-radius:5px;margin:10px auto 4px;background:color-mix(in srgb,var(--ink) 22%,transparent);cursor:grab;touch-action:none}
  .mn-shhead{display:flex;align-items:center;justify-content:space-between;padding:2px 16px 6px;touch-action:none}
  .mn-shhead b{font:600 1.45rem var(--display);color:var(--ink)}
  .mn-x{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.35));box-shadow:inset 0 1px 0 #fff}
  [data-theme="dark"] .mn-x{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
  .mn-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .mn-shbody{overflow-y:auto;overscroll-behavior:contain;padding:0 10px 8px}
  .mn-shbody .mn-view{position:static;width:auto;padding:0;opacity:1;visibility:visible;transform:none}
  .mn-shbody .mn-view>*>*,.mn-shbody .mn-aside>*{animation:mn-rise .55s var(--mn-ease) both;animation-delay:calc(var(--k,0) * 45ms)}
  .mn-shbody .mn-g4{grid-template-columns:1fr 1fr}
  .mn-shbody .mn-polesw,.mn-shbody .mn-g3{grid-template-columns:1fr}
  .mn-shbody .mn-g3 .mn-card{display:grid;grid-template-columns:132px 1fr;column-gap:12px;align-items:center}
  .mn-shbody .mn-g3 .mn-th{grid-row:span 3}.mn-shbody .mn-g3 .mn-k{margin-top:0}
  .mn-shbody .mn-aside{border-left:0;padding:8px 0 0;border-top:1px solid color-mix(in srgb,var(--ink) 9%,transparent);margin-top:6px}
  .mn-shbody .mn-linkw{grid-template-columns:1fr}.mn-shbody .mn-linkw .mn-news{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:132px 1fr;column-gap:12px;align-items:center}
  .mn-shbody .mn-news .mn-th{grid-row:span 3}.mn-shbody .mn-news .mn-k{margin-top:0}
}
@media (prefers-reduced-motion:reduce){.mn-aura i,.mn-free::before{animation:none}}

/* ---------- accueil : illustration du héros sans bouton pause, fondu un peu plus diffus ---------- */
.home-hero .hero-img .vpause{display:none}
.home-hero .hero-img .vloop{-webkit-mask-image:radial-gradient(ellipse 53% 53% at 50% 50%,#000 42%,transparent 100%);mask-image:radial-gradient(ellipse 53% 53% at 50% 50%,#000 42%,transparent 100%)}

/* ---------- page « Patients » ---------- */
.pt-in{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;padding-top:40px;padding-bottom:40px}
.pt-in h1 span{color:var(--slate)}[data-theme="dark"] .pt-in h1 span{color:var(--ink-2)}
.pt-vis{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.pt-vis .vloop img{display:block;width:100%}
.pt-vis .vpause{display:none}
.pt-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pt-pt{position:relative;padding:22px 20px;border-radius:20px;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid var(--line);box-shadow:var(--shadow-s);overflow:hidden}
.pt-pt::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--blue) 10%,transparent),transparent 55%);opacity:0;transition:opacity .4s}
.pt-pt:hover::before{opacity:1}
.pt-pt i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--navy);color:#fff;box-shadow:0 8px 18px -8px rgba(31,44,76,.6)}
[data-theme="dark"] .pt-pt i{background:#e9edf6;color:#16203a}
.pt-pt i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pt-pt h3{margin-top:14px;font-size:1.18rem}.pt-pt p{margin-top:6px;font-size:.93rem;color:var(--ink-2);line-height:1.5}
.pt-dir{padding-top:40px}
@media (max-width:1060px){.pt-in{grid-template-columns:1fr;gap:28px}.pt-pts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pt-pts{grid-template-columns:1fr}}
@media (max-width:900px){.mn-shbody .mn-g3 .mn-card{grid-template-columns:146px 1fr}.mn-shbody .mn-free{left:6px;bottom:6px;padding:2px 7px 2px 6px;font-size:.68rem}}

/* =====================================================================
   V9 (03/10/2026) — panneau plus transparent, trait sous la rubrique courante,
   menus « Nos Pôles de Santé » et « LinkSanté » recomposés
   ===================================================================== */
/* V9 (retour du 03/10) : on revient aux entrées de la V8 (fond seulement au survol, avec son animation).
   Le panneau laisse davantage voir la page : flou réduit, voile plus léger, halos colorés atténués. */
.mn-panel.mn-glass{background:linear-gradient(140deg,rgba(255,255,255,.48),rgba(255,255,255,.26) 55%,rgba(232,238,250,.34));
  -webkit-backdrop-filter:blur(18px) saturate(190%) brightness(1.08);backdrop-filter:blur(18px) saturate(190%) brightness(1.08)}
.mn-panel .mn-aura{opacity:.55}
.mn-panel.mn-glass::after{opacity:.3}
[data-theme="dark"] .mn-panel.mn-glass{background:linear-gradient(140deg,rgba(40,54,96,.5),rgba(16,24,46,.38) 55%,rgba(28,40,74,.44))}
[data-theme="dark"] .mn-panel .mn-aura{opacity:.6}
.mn-polesw{grid-template-columns:auto 262px}
.mn-aside .mn-row small{white-space:nowrap}
.mn-meet{margin:4px 0 0}
.mn-meet i{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.mn-meet i svg{width:19px;height:19px}
.mn-meet>svg{opacity:.8}
.mn-big[aria-current]{box-shadow:0 0 0 2px rgba(62,200,224,.55),inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px -16px rgba(31,44,76,.7)}
[data-theme="dark"] .mn-meet i{background:rgba(22,32,58,.1)}
/* « LinkSanté » : Savoir-faire puis Rencontrons-nous à gauche, Actualités à droite */
.mn-linkw{grid-template-columns:256px 208px;gap:6px 10px;align-items:stretch}
.mn-linkw{grid-template-rows:auto auto 1fr}.mn-linkw .mn-row{align-self:start}.mn-linkw .mn-meet{align-self:stretch;margin:0}
.mn-linkw .mn-news{grid-column:2;grid-row:1/4}
@media (max-width:1060px){.mn-linkw{grid-template-columns:236px 186px}}
/* rubrique de la page courante : un trait fin et lumineux sous le titre (au lieu du point) */
.mn-trg.cur::after{content:none}
.mn-trg span{position:relative}
.mn-trg.cur span::after{content:"";position:absolute;left:50%;bottom:-7px;width:26px;height:2.5px;border-radius:3px;transform:translateX(-50%);
  background:linear-gradient(90deg,#3a5bc7,#3ec8e0);box-shadow:0 2px 10px rgba(62,200,224,.55);animation:mn-line .9s var(--mn-ease) .2s both;transition:width .45s var(--mn-ease)}
.mn-trg.cur:hover span::after,.mn-trg.cur[aria-expanded="true"] span::after{width:100%}
[data-theme="dark"] .mn-trg.cur span::after{background:linear-gradient(90deg,#8aa3ff,#3ec8e0)}
@keyframes mn-line{from{width:0;opacity:0}}
@media (max-width:900px){
  .mn-tab.cur::after{content:"";position:absolute;bottom:3px;left:50%;width:18px;height:2.5px;margin-left:-9px;border-radius:3px;background:linear-gradient(90deg,#3a5bc7,#3ec8e0);box-shadow:0 2px 8px rgba(62,200,224,.5)}
  .mn-shbody .mn-linkw .mn-news{grid-column:auto;grid-row:auto}
}
@media (prefers-reduced-motion:reduce){.mn-trg.cur span::after{animation:none}}

/* =====================================================================
   V9 (03/10/2026, après-midi) — marges verticales resserrées, fiches des locaux « premium », lots sous option
   ===================================================================== */
section{padding-block:88px}
.s-tight{padding-block:56px}
.s-pk{padding:94px 0 102px}
@media (max-width:1060px){section{padding-block:64px}.s-pk{padding:62px 0 68px}}

/* filtres : un lot masqué l'est vraiment (corrige le sélecteur de surfaces : .lot{display:flex} l'emportait sur [hidden]) */
.lot[hidden]{display:none!important}
.toolbar .count small{color:var(--ink-3);font-weight:400}

/* fiche de lot */
:root{--plan-bg:#eef1f6;--plan-floor:#f7f4ee;--plan-wall:#1f2c4c;--plan-line:#56607a;--plan-acc:#3ec8e0;--plan-paper:#ffffff;--plan-chair:#e6c98a}
[data-theme="dark"]{--plan-bg:#141e36;--plan-floor:#1b2744;--plan-wall:#dfe6f5;--plan-line:#a3adc2;--plan-acc:#3ec8e0;--plan-paper:#24324f;--plan-chair:#8a7346}
.lots{grid-template-columns:repeat(auto-fill,minmax(318px,1fr));gap:22px}
.lot{position:relative;border-radius:22px;border:1px solid var(--line);background:var(--paper);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 40px -30px rgba(23,32,51,.45);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.lot:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(23,32,51,.55);border-color:color-mix(in srgb,var(--blue) 30%,var(--line))}
.lot .ph{aspect-ratio:4/3;margin:8px 8px 0;border-radius:16px;isolation:isolate}
.lot .ph img{transition:transform 1.4s var(--ease)}
.lot:hover .ph img{transform:scale(1.05)}
.lot .ph::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,18,40,.28) 0,transparent 26%,transparent 52%,rgba(10,18,40,.62) 100%)}
.lot .ph .lplan{position:absolute;inset:0;width:100%;height:100%}
.lot .ph .lplan .t1{font:600 13px var(--display);letter-spacing:.1em;fill:var(--plan-wall)}
.lot .ph .lplan .t2{font:600 19px var(--display);fill:var(--plan-wall)}
.lot .ph .lplan .t3{font:500 10px var(--sans);letter-spacing:.04em;fill:var(--plan-line)}
.lot .ph:has(.lplan)::after{background:linear-gradient(180deg,transparent 72%,rgba(10,18,40,.55) 100%)}
.lchip,.lpole{position:absolute;z-index:2;top:12px;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;font:600 .8rem var(--display);letter-spacing:.03em;white-space:nowrap;
  color:#fff;background:rgba(15,26,51,.3);-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.lchip{left:12px}.lpole{right:12px;font-weight:500;letter-spacing:.02em}
.lchip i{width:7px;height:7px;border-radius:50%;background:#4fe3a0;box-shadow:0 0 9px #4fe3a0;animation:mn-blink 2.4s ease-in-out infinite}
.lchip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lchip.soon{background:rgba(120,78,0,.36)}.lchip.soon svg{stroke:#ffd27a}
.lchip.opt{background:rgba(20,24,36,.55);border-color:rgba(255,255,255,.28)}
.lov{position:absolute;z-index:2;left:16px;right:16px;bottom:13px;display:flex;align-items:baseline;justify-content:space-between;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.lov b{font:600 1.32rem var(--display);letter-spacing:.01em}
.lov span{font:600 1.9rem/1 var(--display)}.lov small{font-size:.95rem;font-weight:500;opacity:.85}
.lot .body{padding:16px 20px 20px;gap:12px}
.lot .top{align-items:flex-start}
.lot .where{font:500 1rem/1.25 var(--display);color:var(--ink)}
.lot .where small{display:block;font:600 .64rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
.lot .pr{text-align:right;font:600 1.5rem/1.05 var(--display)}
.lot .pr small{display:block;margin-top:3px;font:400 .74rem var(--sans);color:var(--ink-3)}
.specs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:12px 0 0;border-top:1px solid var(--line)}
.specs li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font:500 .84rem var(--display);color:var(--ink-2);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.specs svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.lot .act{padding-top:4px}
.lot .act .btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* lot sous option : visible, mais voilé (photo désaturée, hachures discrètes, prix estompé) */
.lot.opt{background:color-mix(in srgb,var(--paper) 70%,var(--bg))}
.lot.opt .ph img{filter:grayscale(.55) blur(1.5px) brightness(.95);transform:scale(1.04)}

.lot.opt .where,.lot.opt .pr{opacity:.55}
.lot.opt .specs{opacity:.7}
.lot.opt:hover .ph img{transform:none}
/* tableau de la fiche pôle */
.table .st.opt{color:var(--ink-3)}
.table .st.opt::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:repeating-linear-gradient(135deg,currentColor 0 1.5px,transparent 1.5px 4px);vertical-align:0}
@media (prefers-reduced-motion:reduce){.lchip i{animation:none}}
.lot .ph:has(.lplan) .lchip,.lot .ph:has(.lplan) .lpole{background:rgba(15,26,51,.62)}

/* =====================================================================
   V9 (03/10, fin d'après-midi) — page Locaux en verre dépoli : halos colorés derrière, barre de filtres et fiches en verre ;
   lot sous option = médaillon de verre au centre de la photo (plus de hachures)
   ===================================================================== */
.lx{isolation:isolate;overflow:hidden}
.lx-aura{position:absolute;inset:0;z-index:-1;pointer-events:none;filter:blur(70px);opacity:.75}
.lx-aura i{position:absolute;border-radius:50%;animation:mn-drift 26s ease-in-out infinite alternate}
.lx-aura i:nth-child(1){width:560px;height:460px;left:-120px;top:40px;background:radial-gradient(closest-side,rgba(58,91,199,.30),transparent)}
.lx-aura i:nth-child(2){width:620px;height:520px;right:-160px;top:32%;background:radial-gradient(closest-side,rgba(62,200,224,.26),transparent);animation-duration:32s;animation-delay:-8s}
.lx-aura i:nth-child(3){width:600px;height:480px;left:24%;bottom:-80px;background:radial-gradient(closest-side,rgba(255,196,150,.30),transparent);animation-duration:36s;animation-delay:-14s}
[data-theme="dark"] .lx-aura{opacity:.9}
[data-theme="dark"] .lx-aura i:nth-child(3){background:radial-gradient(closest-side,rgba(138,163,255,.22),transparent)}
/* barre de filtres : un seul ruban de verre */
.lx .toolbar{position:relative;padding:10px;border-radius:22px;gap:8px;
  background:linear-gradient(140deg,rgba(255,255,255,.62),rgba(255,255,255,.34));-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
  border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 18px 40px -28px rgba(23,32,51,.45)}
.lx .seg{background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.7);box-shadow:inset 0 1px 2px rgba(23,32,51,.05)}
.lx .seg button{transition:background .3s,color .3s,box-shadow .3s}
.lx .seg button.on{background:linear-gradient(160deg,#2a3b66,#1f2c4c);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px -8px rgba(31,44,76,.7)}
.lx .toolbar select{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.75)}
.lx .toolbar .count{padding-right:8px}
[data-theme="dark"] .lx .toolbar{background:linear-gradient(140deg,rgba(40,54,96,.5),rgba(16,24,46,.38));border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -26px rgba(0,0,0,.7)}
[data-theme="dark"] .lx .seg,[data-theme="dark"] .lx .toolbar select{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .lx .seg button.on{background:linear-gradient(160deg,#fff,#d9e2f6)}
/* fiches en verre */
.lx .lot{background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.42));-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);
  border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 22px 46px -32px rgba(23,32,51,.5)}
.lx .lot:hover{border-color:rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,0 34px 70px -36px rgba(23,32,51,.55)}
.lx .specs{border-top-color:rgba(23,32,51,.08)}.lx .specs li{background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.lx .lot .act .btn-g{background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.85)}
[data-theme="dark"] .lx .lot{background:linear-gradient(160deg,rgba(44,60,104,.5),rgba(16,24,46,.4));border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 50px -30px rgba(0,0,0,.75)}
[data-theme="dark"] .lx .specs li{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
[data-theme="dark"] .lx .lot .act .btn-g{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.lx .lot.opt{background:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,.3))}
[data-theme="dark"] .lx .lot.opt{background:linear-gradient(160deg,rgba(44,60,104,.32),rgba(16,24,46,.28))}
/* médaillon « Sous option » */
.lopt{position:absolute;z-index:2;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:9px 18px 9px 9px;border-radius:999px;color:#fff;white-space:nowrap;
  background:linear-gradient(140deg,rgba(255,255,255,.3),rgba(255,255,255,.1));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 16px 36px -14px rgba(10,18,40,.6)}
.lopt i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(15,26,51,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.lopt svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lopt b{font:600 1.05rem var(--display);letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.35)}
/* V9 : plus de halo sous la souris ; l'entourage de chaque vignette devient un cadre de verre (liseré lumineux dégradé, photo sertie) */
.lx .lot{padding:0}
.lx .lot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;padding:1.5px;
  background:linear-gradient(150deg,rgba(255,255,255,1),rgba(255,255,255,.25) 32%,rgba(255,255,255,.08) 58%,rgba(138,163,255,.55) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lx .lot .ph{margin:10px 10px 0;box-shadow:0 0 0 1px rgba(255,255,255,.75),0 10px 24px -14px rgba(23,32,51,.55)}
[data-theme="dark"] .lx .lot::after{background:linear-gradient(150deg,rgba(255,255,255,.45),rgba(255,255,255,.06) 36%,rgba(255,255,255,.02) 60%,rgba(138,163,255,.5) 100%)}
[data-theme="dark"] .lx .lot .ph{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 10px 24px -14px rgba(0,0,0,.7)}

/* =====================================================================
   VDef (04/10/2026) — correctifs avant mise en ligne
   ===================================================================== */

/* Logique des fonds : jamais deux fonds « topo » (formes arrondies) à la suite.
   - le héros se fond dans la page (même grain que le corps, plus de ligne de séparation) ;
   - le pied de page passe en fond classique (il suivait toujours le bandeau « Parlons de votre projet », lui aussi en topo) ;
   - un parcours qui suit un bandeau topo passe en version claire (.pk-light). */
.hero{background:radial-gradient(900px 520px at 8% -8%,var(--sun),transparent 70%),linear-gradient(180deg,var(--sky) 0%,var(--bg) 78%)}
.hero::after{height:220px;background:var(--grain),linear-gradient(180deg,color-mix(in srgb,var(--bg) 0%,transparent),var(--bg) 85%)}
.hero.band{background:var(--navy)}
footer{background:var(--grain),var(--paper)}
.fbase{line-height:1.5}
.fcols a .fcity{display:block;font-size:.86rem;color:var(--ink-3);margin-top:1px}

/* Parcours en version claire (fond classique) */
.s-pk.pk-light{background:var(--grain),var(--paper);color:var(--ink);box-shadow:inset 0 1px 0 var(--line)}
.s-pk.pk-light .pk-bg{display:none}
.s-pk.pk-light .pk-head h2{color:var(--ink)}
.s-pk.pk-light .pk-head p{color:var(--ink-2)}
.s-pk.pk-light .eyebrow{color:var(--slate)}
[data-theme="dark"] .s-pk.pk-light .eyebrow{color:var(--ink-2)}
html:not([data-theme="dark"]) .s-pk.pk-light .eyebrow img{width:16px;height:17px;padding:0;border-radius:0;background:none}
.s-pk.pk-light .pk{box-shadow:0 40px 80px -40px rgba(23,32,51,.45),0 0 0 1px var(--line)}
[data-theme="dark"] .s-pk.pk-light{background:var(--grain),var(--bg-2)}

/* Schéma « Qui fait quoi dans un co-investissement » : premium, verre dépoli sur bleu nuit (sans formes arrondies) */
.s-ci{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:var(--navy-ink)}
[data-theme="dark"] .s-ci{background:#0f1a33}
.ci-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(760px 480px at 50% 46%,rgba(58,91,199,.42),transparent 64%),radial-gradient(620px 420px at 6% 0%,rgba(62,200,224,.12),transparent 60%),radial-gradient(620px 420px at 100% 100%,rgba(122,92,255,.12),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.ci-bg::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.8}
.ci-head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:34px}
.ci-head h2{margin-top:14px;color:#fff}.ci-head p{color:var(--navy-ink-2);font-size:1.08rem;max-width:48ch}
.s-ci .eyebrow{color:var(--navy-ink-2)}.s-ci .eyebrow img{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--plate)}
.ci-card{position:relative;border-radius:30px;padding:34px 30px 24px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 50px 90px -50px rgba(0,0,0,.65);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}
.ci-svg{display:block;width:100%;height:auto;overflow:visible}
.ci-tall{display:none;max-width:440px;margin:0 auto}
.ci-e{fill:none;stroke:rgba(196,206,230,.55);stroke-width:1.8}
.ci-e.dash{stroke:rgba(140,200,255,.75);stroke-dasharray:7 7;animation:ci-march 1.2s linear infinite}
.ci-e.dot{stroke:#3ec8e0;stroke-width:2.4;stroke-dasharray:1 7;stroke-linecap:round;opacity:.95}
@keyframes ci-march{to{stroke-dashoffset:-14}}
.ci-ah{fill:rgba(196,206,230,.8)}.ci-ahd{fill:rgba(140,200,255,.9)}
.ci-dot{fill:#3ec8e0;filter:drop-shadow(0 0 6px rgba(62,200,224,.9))}
.ci-l{font:600 11px var(--display);letter-spacing:.12em;fill:#9aa6c2}
.ci-pill rect{fill:#18244a;stroke:rgba(255,255,255,.16)}
.ci-pill text{font:600 11.5px var(--display);letter-spacing:.14em;fill:#cfd8ee;text-anchor:middle}
.ci-n .ci-box{fill:rgba(255,255,255,.06);stroke:url(#ci-st);stroke-width:1.2}
.ci-n .ci-sheen{fill:url(#ci-sh)}
.ci-n .ci-glow{fill:transparent}
.ci-n.hi .ci-box{fill:url(#ci-hi);stroke:rgba(160,190,255,.7)}
.ci-n.hi .ci-glow{fill:#3a5bc7;opacity:.55;filter:url(#ci-bl)}
.ci-chip{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.2)}
.ci-n.hi .ci-chip{fill:#fff;stroke:none}
.ci-ic{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ci-n.hi .ci-ic{stroke:#22335e}
.ci-plate{fill:#fff}
.ci-t{font:600 18px var(--display);fill:#fff;letter-spacing:.005em}
.ci-s{font:400 14px var(--sans);fill:#aeb6c8}
.ci-n.hi .ci-s{fill:#d6def5}
.ci-frame{fill:rgba(255,255,255,.025);stroke:rgba(140,200,255,.4);stroke-dasharray:6 7}
.ci-leg{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1);color:var(--navy-ink-2);font:500 .92rem var(--display)}
.ci-leg li{display:inline-flex;align-items:center;gap:10px}
.ci-leg .k{display:inline-block;width:34px;height:0;border-top:2px solid rgba(196,206,230,.7)}
.ci-leg .k.dsh{border-top:2px dashed rgba(140,200,255,.85)}
.ci-leg .k.dot{border-top:3px dotted #3ec8e0}
.s-ci .ci-note{color:#8792ad;margin-top:18px}
@media (max-width:1060px){.ci-head{grid-template-columns:1fr;gap:14px}}
@media (max-width:760px){.ci-wide{display:none}.ci-tall{display:block}.ci-card{padding:18px 8px 16px;border-radius:24px}.ci-leg{flex-direction:column;align-items:flex-start;padding:16px 12px 0;gap:10px}}
@media (prefers-reduced-motion:reduce){.ci-e.dash{animation:none}.ci-dot{display:none}}

/* Annuaire : « Prendre rdv » au survol (sur écran tactile : toujours visible) */
.plate{overflow:hidden;isolation:isolate}
.plate .nm .ns{display:none}
.prdv{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 14px;border-radius:12px;font:600 .98rem var(--display);letter-spacing:.02em;color:#1f2c4c;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 30px -12px rgba(0,0,0,.55),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .35s var(--ease),transform .45s var(--ease),background .2s}
.prdv svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.prdv svg:last-child{width:15px;height:15px;transition:transform .3s var(--ease)}
.prdv:hover svg:last-child{transform:translateX(3px)}
.prdv.todo{cursor:default;background:rgba(255,255,255,.82)}
.prdv.todo::after{content:"lien à venir";position:absolute;top:-9px;right:10px;padding:2px 7px;border-radius:99px;font:600 .62rem var(--display);letter-spacing:.1em;text-transform:uppercase;background:#a8700a;color:#fff}
.plate.has-rdv::marker{content:none}
.plate.has-rdv>.p{transition:opacity .3s}
.plate.has-rdv:hover .prdv,.plate.has-rdv:focus-within .prdv{opacity:1;transform:none}
.plate.has-rdv:hover>.p,.plate.has-rdv:focus-within>.p{opacity:0}
.plate.has-rdv:hover{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 18px 36px rgba(23,32,51,.28)}
@media (hover:none),(pointer:coarse){.plates .plate.has-rdv .prdv{position:relative;left:auto;right:auto;bottom:auto;order:9;margin-top:14px;opacity:1;transform:none;padding:10px 12px;font-size:.94rem;background:#fff}.plates .plate.has-rdv:hover>.p,.plates .plate.has-rdv:focus-within>.p{opacity:1}}
.dir-count{margin:-18px 0 18px;color:var(--ink-3);font:500 .95rem var(--display);min-height:1.2em}

/* Patients : recherche dans le héros */
.pt-find{display:flex;align-items:center;gap:10px;margin-top:28px;padding:7px 7px 7px 18px;border-radius:16px;background:color-mix(in srgb,var(--paper) 82%,transparent);border:1px solid var(--line);box-shadow:var(--shadow-s);max-width:560px}
.pt-find>svg{width:20px;height:20px;fill:none;stroke:var(--ink-3);stroke-width:2;flex:none}
.pt-find input{flex:1;min-width:0;padding:12px 0;font-size:1.05rem;background:transparent;border:0;outline:0;color:var(--ink)}
.pt-find .btn{flex:none}
.pt-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.pt-quick button{padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:var(--paper);font:500 .9rem var(--display);color:var(--ink-2);transition:border-color .2s,color .2s}
.pt-quick button:hover{border-color:var(--navy);color:var(--ink)}
.pt-quick .lnk{margin-left:8px}
@media (max-width:560px){.pt-find{padding-left:14px}.pt-find .btn{padding-inline:14px}}

/* Fiches pôles : barre de tri des bureaux, tableau triable */
.ptools{margin-top:6px}
.thsort{display:inline-flex;align-items:center;gap:6px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}
.thsort svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;opacity:.45;transition:opacity .2s}
.thsort:hover{color:var(--ink)}.thsort:hover svg{opacity:1}
th[aria-sort="ascending"] .thsort,th[aria-sort="descending"] .thsort{color:var(--ink)}
th[aria-sort="ascending"] .thsort svg,th[aria-sort="descending"] .thsort svg{opacity:1;stroke:var(--blue)}

/* Pôle Santé des Cancelles : grande salle offerte */
.salle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);margin:6px 0 30px;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;box-shadow:0 40px 80px -40px rgba(23,32,51,.55)}
.salle-ph{position:relative;min-height:260px}
.salle-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.salle-badge{position:absolute;top:16px;left:16px;padding:7px 14px;border-radius:99px;font:600 .8rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:#1f2c4c;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.salle-tx{padding:34px 38px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.salle-k{display:inline-flex;align-items:center;gap:8px;font:600 .76rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:#9fc0ff}
.salle-k svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.salle h3{color:#fff;font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.15}
.salle p{color:var(--navy-ink-2)}
.salle ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0}
.salle li{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;font:500 .9rem var(--display);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.salle li svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.salle{grid-template-columns:1fr}.salle-ph{min-height:200px}.salle-tx{padding:24px 22px}}
.specs li.perk{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}

/* VDef : très petits écrans (320 px, ex. iPhone SE 1re génération) */
.lots{grid-template-columns:repeat(auto-fill,minmax(min(318px,100%),1fr))}
.dir-tools select{max-width:100%;min-width:0}
.stats>div{min-width:0;overflow-wrap:anywhere}
@media (max-width:359px){
  .mn-tabs{left:6px;right:6px;padding:0 3px;grid-template-columns:1fr 1fr 52px 1fr 1fr}
  .mn-tab{font-size:.62rem}
  .mn-tab span{white-space:normal;max-height:24px;line-height:1.05}
}

/* VDef : héros Patients sur mobile (la colonne ne doit jamais dépasser l'écran) */
.pt-in>*{min-width:0}
.pt-find{width:100%;box-sizing:border-box}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* VDef 2 : schéma du co-investissement — flux financiers (cyan) / liens juridiques (gris) / LinkSanté (tirets bleus) */
.ci-e.m{stroke:rgba(62,200,224,.7)}
.ci-ahm{fill:#3ec8e0}
.ci-l.m{fill:#7fdcec}
.ci-l.sm{font-size:10px;letter-spacing:.1em}
.ci-dot{fill:#bff3fb;filter:drop-shadow(0 0 5px rgba(62,200,224,.95))}
.ci-leg .k.mon{border-top:2px solid rgba(62,200,224,.85);position:relative}
.ci-leg .k.mon::after{content:"";position:absolute;left:13px;top:-5px;width:8px;height:8px;border-radius:50%;background:#bff3fb;box-shadow:0 0 6px rgba(62,200,224,.9)}

/* VDef 2 : bandeau cookies — carte en verre dépoli, en bas à gauche (au-dessus de la barre d'onglets sur mobile) */
.ck{position:fixed;z-index:160;left:20px;bottom:20px;width:min(410px,calc(100vw - 40px));pointer-events:none}
.ck[hidden]{display:none}
.ck-card{position:relative;overflow:hidden;isolation:isolate;pointer-events:auto;padding:20px 20px 16px;border-radius:24px;background:color-mix(in srgb,var(--paper) 78%,transparent);border:1px solid color-mix(in srgb,var(--line-2) 70%,#fff);box-shadow:0 30px 70px -20px rgba(23,32,51,.45),inset 0 1px 0 rgba(255,255,255,.6);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
  opacity:0;transform:translateY(24px) scale(.97);filter:blur(4px);transition:opacity .45s var(--ease),transform .55s var(--ease),filter .45s}
.ck.on .ck-card{opacity:1;transform:none;filter:none}
.ck-aura{position:absolute;inset:-40% -20% auto auto;width:260px;height:260px;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--blue) 22%,transparent),transparent);pointer-events:none}
.ck-top{display:flex;gap:14px;align-items:flex-start}
.ck-top b{display:block;font:600 1.18rem/1.2 var(--display);color:var(--ink);margin-top:2px}
.ck-top p{margin-top:6px;font-size:.92rem;line-height:1.5;color:var(--ink-2)}
.ck-ico{position:relative;flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(140deg,#e9c48f,#c9894d);color:#5a3517;box-shadow:0 10px 22px -10px rgba(150,90,40,.7),inset 0 1px 0 rgba(255,255,255,.5);animation:ck-wob 3.2s ease-in-out infinite}
.ck-ico svg{width:26px;height:26px;fill:#f3d4a6;stroke:#6b3f1b;stroke-width:1.5;stroke-linejoin:round}
.ck-ico i{position:absolute;width:5px;height:5px;border-radius:50%;background:#e9c48f;opacity:0;animation:ck-crumb 3.2s ease-in infinite}
.ck-ico i:nth-child(2){right:4px;top:6px}.ck-ico i:nth-child(3){right:-2px;top:14px;animation-delay:.15s;width:4px;height:4px}.ck-ico i:nth-child(4){right:8px;top:2px;animation-delay:.3s;width:3px;height:3px}
@keyframes ck-wob{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-10deg)}84%{transform:rotate(8deg)}92%{transform:rotate(-4deg)}}
@keyframes ck-crumb{0%,74%{opacity:0;transform:none}78%{opacity:1}100%{opacity:0;transform:translate(10px,22px)}}
.ck-prefs{margin-top:14px;display:grid;gap:8px}
.ck-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--line)}
.ck-row b{display:block;font:600 .98rem var(--display);color:var(--ink)}
.ck-row small{display:block;font-size:.82rem;line-height:1.4;color:var(--ink-3);margin-top:2px}
.ck-sw{position:relative;flex:none;width:46px;height:28px;cursor:pointer}
.ck-sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:inherit}
.ck-sw i{position:absolute;inset:0;border-radius:99px;background:var(--line-2);transition:background .3s}
.ck-sw i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .35s var(--ease)}
.ck-sw input:checked+i{background:var(--navy)}
[data-theme="dark"] .ck-sw input:checked+i{background:var(--blue)}
.ck-sw input:checked+i::after{transform:translateX(18px)}
.ck-sw input:focus-visible+i{outline:2px solid var(--blue);outline-offset:2px}
.ck-sw.lock{cursor:not-allowed;opacity:.6}
.ck-act{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ck-act .btn{justify-content:center;padding:11px 12px;font-size:.95rem}
.ck-act .btn-p{grid-column:1/-1}
.ck-act [hidden]{display:none}
.ck-more{display:inline-block;margin-top:12px;font-size:.82rem;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}
.ck-link{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;padding:0}
.fbot .ck-link{color:inherit}
@media (max-width:1060px){.ck{left:10px;right:10px;width:auto;bottom:calc(88px + var(--mn-safe,0px))}}
@media (prefers-reduced-motion:reduce){.ck-ico,.ck-ico i{animation:none}.ck-card{transition:opacity .2s}}

/* VDef 2 : annuaire — autocomplétion des professions */
.dir-tools{align-items:flex-start}
.ac{position:relative;flex:1;min-width:min(100%,320px)}
.ac-box{position:relative;width:100%;min-width:0}
.ac-in{position:relative;flex:1;min-width:0;display:block}
.ac-in input{position:relative;z-index:1;width:100%;background:transparent;font-size:1.05rem}
.ac-ghost{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;white-space:pre;overflow:hidden;font-size:1.05rem;color:var(--ink-3);opacity:.55;pointer-events:none}
.ac-box input::-webkit-search-cancel-button{display:none}
.ac-x{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.ac-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
.ac-x[hidden]{display:none}
.ac-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 8px);list-style:none;margin:0;padding:6px;border-radius:16px;background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:ac-in .22s var(--ease)}
.ac-list[hidden]{display:none}
@keyframes ac-in{from{opacity:0;transform:translateY(-6px)}}
.ac-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:11px;cursor:pointer;font:500 1.02rem var(--display);color:var(--ink-2)}
.ac-list li small{font:400 .82rem var(--sans);color:var(--ink-3)}
.ac-list li.on,.ac-list li:hover{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--ink)}
.ac-list mark{background:none;color:var(--ink);font-weight:600}
.plate.pin{animation:pl-in .4s var(--ease) both}
@keyframes pl-in{from{opacity:0;transform:translateY(8px) scale(.98)}}
.gh .addr{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font:500 .98rem var(--display)}
.gh .addr svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.s-after-cta{padding-top:24px}
.ac-ghost i{font-style:normal;visibility:hidden}
.ck-prefs[hidden]{display:none}
.ac-list{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}
.dir-tools{position:relative;z-index:30}

/* VDef 3 : plaques — « Appeler » et « Prendre rdv » (au survol ; toujours visibles sur écran tactile) */
.pact{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;gap:8px;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.pact .prdv{position:relative;left:auto;right:auto;bottom:auto;flex:1 1 auto;min-width:0;opacity:1;transform:none;padding:11px 10px;white-space:nowrap}
.pact .ptel{flex:1 1 auto}
.pact .prdv span{overflow:hidden;text-overflow:ellipsis}
.plate.has-rdv:hover .pact,.plate.has-rdv:focus-within .pact{opacity:1;transform:none}
.pact .prdv.todo::after{top:-9px;right:8px}
@media (hover:none),(pointer:coarse){.plates .plate.has-rdv .pact{position:relative;left:auto;right:auto;bottom:auto;order:9;margin-top:14px;opacity:1;transform:none}.plates .plate.has-rdv .pact .prdv{margin-top:0;padding:10px 8px}}
/* VDef 3 : deux numéros (ou numéro + rdv) côte à côte — libellés compacts */
.pact.n2 .prdv,.pact.n3 .prdv{padding:10px 8px;gap:6px;font-size:.92rem}
.pact.n2 .prdv svg:first-child,.pact.n3 .prdv svg:first-child{width:15px;height:15px}
.pact.n3 .ptel span{display:none}


/* ---------- D92 (10/10/2026) : logo animé de l'en-tête ----------
   SVG en ligne (src/img/logo-ls-url-anime.svg) : « Link » et « Santé » se rejoignent, un tracé de pouls court
   sous le nom puis laisse place à l'adresse, l'accent du « é » bat ; rejeu discret toutes les 15 s. */
.mn-logo .lsl{display:block;height:38px;width:auto;position:relative;z-index:2}
@media (max-width:900px){.mn-logo .lsl{height:32px}}
