@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{font-family:"Euclid ATG";src:url(../fonts/euclid-bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --red:#E30613;--red-d:#B8050F;--ink:#0E0E11;--ink-2:#1A1A20;--paper:#FFFFFF;--bone:#F3EFEA;
  --muted:#5E5E66;--hair:#E4DFDA;--navy:#1B1A4B;--orange:#F15A24;--magenta:#E50076;--cyan:#29ABE2;
  --title:"Euclid ATG","Source Sans 3",system-ui,sans-serif;--text:"Source Sans 3",system-ui,sans-serif;
  --gut:clamp(18px,4vw,56px);--max:1360px;--r:clamp(18px,2vw,28px);--r-s:14px;--ease:cubic-bezier(.16,1,.3,1);--e-io:cubic-bezier(.76,0,.24,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis{scroll-behavior:auto;height:auto}
.lenis.lenis-smooth iframe{pointer-events:none}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.in{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.t{font-family:var(--title);font-weight:700;text-transform:uppercase;line-height:.92;letter-spacing:-.005em;margin:0;text-wrap:balance}
.t .ln-mask{padding:.24em .06em .06em;margin:-.24em -.06em -.06em}
h2.t{font-size:clamp(40px,6.4vw,96px)}
.ey{display:flex;align-items:center;gap:12px;font:700 13px/1.2 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin:0 0 22px}
.ey::before{content:"";width:28px;height:2px;background:currentColor;flex:none;transform-origin:left}
.m .ey.rv::before{transform:scaleX(0);transition:transform 1s var(--ease) .15s}
.m .ey.rv.on::before{transform:none}
.lead{font-size:clamp(19px,1.7vw,23px);line-height:1.45;max-width:34em}
.skip{position:absolute;left:12px;top:-80px;z-index:300;background:var(--ink);color:#fff;padding:12px 16px;font-weight:700}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Flèches (un seul vocabulaire de survol : balayage encre + flèche qui s'échange) */
.ar{display:inline-block;width:18px;height:18px;overflow:hidden;position:relative;flex:none}
.ar svg{position:absolute;inset:0;width:18px;height:18px;transition:transform .55s var(--ease)}
.ar svg+svg{transform:translate(-120%,120%)}
.btn:hover .ar svg:first-child{transform:translate(120%,-120%)}
.btn:hover .ar svg+svg{transform:translate(0,0)}
.arh{display:block;width:18px;height:18px;overflow:hidden;position:relative}
.arh svg{position:absolute;inset:0;transition:transform .55s var(--ease)}
.arh svg+svg{transform:translateX(-130%)}
.card:hover .arh svg:first-child{transform:translateX(130%)}
.card:hover .arh svg+svg{transform:none}

/* Boutons */
.btn{--bg:var(--red);--fg:#fff;position:relative;display:inline-flex;align-items:center;gap:14px;padding:19px 28px;border-radius:999px;background:var(--bg);color:var(--fg);font:700 14px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .4s var(--ease),background-color .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease);z-index:-1}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn.white{--bg:#fff;--fg:var(--ink)}.btn.white:hover{--fg:#fff}
.btn.ghost{--bg:transparent;--fg:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.btn.ghost::before{background:#fff}.btn.ghost:hover{--fg:var(--ink)}
.btn.big{padding:23px 34px;font-size:15px}
.ulink{font-weight:700;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/100% 2px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease)}
.ulink:hover{background-size:0 2px;background-position:right bottom}

/* Intro */
.intro{display:none}
.intro-on .intro{display:grid;place-items:center;position:fixed;inset:0;z-index:400;background:var(--red);pointer-events:none}
.intro .il{overflow:hidden;padding:3% 2%}
.intro img{width:min(64vw,560px);height:auto}
.intro-on:not(.m) .intro{animation:introOut .8s var(--ease) 1.2s forwards}
.intro-on:not(.m) .intro img{opacity:0;animation:introLogo .7s var(--ease) .15s forwards}
.intro-on.m .intro{animation:introKill 0s linear 6s forwards}
.intro-on.m .intro img{opacity:0}
@keyframes introLogo{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes introOut{to{opacity:0;visibility:hidden}}
@keyframes introKill{to{visibility:hidden}}

/* En-tête : sa couleur suit la section qui passe dessous */
.top{position:fixed;inset:0 0 auto 0;z-index:200;color:#fff;background-color:transparent;transition:background-color .5s var(--ease),color .5s var(--ease),transform .7s var(--ease),box-shadow .5s var(--ease)}
.top[data-t="dark"]{background-color:rgba(14,14,17,.95)}
.top[data-t="light"]{background-color:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 1px 0 var(--hair)}
.top[data-t="red"]{background-color:var(--red)}
.top[data-t="red"] .cta{--bg:#fff;--fg:var(--ink)}.top[data-t="red"] .cta:hover{--fg:#fff}
.top.hide{transform:translateY(-100%)}
.top .bar{display:flex;align-items:center;gap:28px;height:78px}
.brand{position:relative;display:block;width:190px;height:36px;flex:none}
.brand img{position:absolute;left:0;top:50%;transform:translateY(-50%);height:auto;transition:opacity .4s var(--ease)}
.brand .b-w{width:178px}.brand .b-c{width:196px;opacity:0}
.top[data-t="light"] .brand .b-w{opacity:0}.top[data-t="light"] .brand .b-c{opacity:1}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav a{font:700 13px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:10px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.langs{display:flex;gap:2px}
.langs button{font:700 12px/1 var(--text);letter-spacing:.08em;background:none;border:0;color:inherit;opacity:.6;padding:10px 7px;cursor:pointer;min-width:34px;min-height:36px;transition:opacity .3s}
.langs button:hover{opacity:1}
.langs button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.top .cta{padding:15px 22px;font-size:12px}
.burger{display:block;background:none;border:0;color:inherit;cursor:pointer;width:48px;height:48px;position:relative;flex:none;margin-right:-10px}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:27px}
.menu-open .burger span:nth-child(1){top:23px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:23px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:190;background:var(--ink);color:#fff;overflow-y:auto;overscroll-behavior:contain;padding:96px var(--gut) 34px;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease);visibility:hidden}
.menu-open .mmenu{clip-path:inset(0 0 0 0);visibility:visible}
.m .mmenu{transition:none}
.mm-in{min-height:100%;max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end}
.mm-k{font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#9A9AA3;margin:0 0 10px}
.mm-l{display:grid;grid-template-columns:minmax(0,1fr)}
.mmenu a.ml{display:flex;align-items:baseline;gap:14px;font:700 clamp(25px,7.2vw,44px)/1.05 var(--title);text-transform:uppercase;text-decoration:none;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);opacity:0;transform:translateY(30px);transition:opacity .5s,transform .8s var(--ease),color .3s}
.mmenu a.ml small{flex:none;width:24px;font:700 12px/1 var(--title);color:#FF4B55;letter-spacing:.06em}
.mmenu a.ml:hover{color:#FF4B55}
.menu-open .mmenu a.ml{opacity:1;transform:none;transition-delay:calc(.16s + var(--i,0) * .035s)}
.mm-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}
.mmenu .langs{color:#fff}
.menu-open .top{color:#fff;background-color:transparent;box-shadow:none}
.menu-open .top .brand .b-w{opacity:1}.menu-open .top .brand .b-c{opacity:0}
.menu-open .top .cta,.menu-open .top .nav,.menu-open .top .langs.d{visibility:hidden}
@media (min-width:901px){.mm-l{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,100px)}.mmenu a.ml{font-size:clamp(28px,3.2vw,50px);padding:12px 0}}
@media (max-height:700px) and (max-width:900px){.mmenu{padding-top:84px}.mmenu a.ml{font-size:23px;padding:7px 0}.mm-f{margin-top:18px}}
@media (max-width:1279px){.nav{display:none}.top .langs.d{margin-left:auto}}
@media (max-width:1060px){.top .langs.d,.top .cta{display:none}.burger{margin-left:auto}.top .bar{height:66px}.brand{width:166px}.brand .b-w{width:156px}.brand .b-c{width:170px}}

/* Héros */
.hero{position:relative;min-height:100svh;color:#fff;background:var(--ink);overflow:hidden;display:flex;align-items:flex-end}
.hero-media{--p:1;--lo:0;position:absolute;inset:-6% 0 0 0;will-change:transform;clip-path:inset(0 calc(100% - var(--p) * 100%) 0 0)}
.m:not(.intro-on) .hero-media{--p:0}
.hs{position:absolute;inset:0;overflow:hidden}
.hs+.hs{visibility:hidden}
.hs.on{visibility:visible;z-index:2}.hs.was{visibility:visible;z-index:1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero-media::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--p) * 100% - 2px);width:2px;background:var(--red);box-shadow:0 0 24px 2px rgba(227,6,19,.65);opacity:var(--lo)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,14,17,.55) 0%,rgba(14,14,17,0) 22%,rgba(14,14,17,.05) 45%,rgba(14,14,17,.78) 88%),linear-gradient(90deg,rgba(14,14,17,.55),rgba(14,14,17,0) 60%)}
.hero .in{position:relative;z-index:2;padding-top:130px;padding-bottom:calc(clamp(120px,14vw,230px) + 10px);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.hero .in>*{min-width:0}
.m .hero h1,.m .hero .hx{opacity:0}
.kick{font:700 13px/1.3 var(--text);letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;display:flex;align-items:center;gap:12px}
.kick i{width:9px;height:9px;border-radius:50%;background:var(--red);flex:none}
.kick span{text-wrap:balance}
.hero h1{font-size:clamp(36px,8.4vw,138px);line-height:.88;max-width:12.5ch}
.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:30px 0 34px;font-size:18px}
.hero-meta .date{font:700 clamp(26px,2.6vw,36px)/1 var(--title);letter-spacing:.02em}
.hero-meta .sep{width:1px;height:28px;background:rgba(255,255,255,.4)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.count{background:rgba(14,14,17,.42);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);padding:20px 26px 18px;min-width:340px}
.count p{display:flex;align-items:center;gap:9px}.count p::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.count p{margin:0 0 14px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.count .cells{display:grid;grid-template-columns:auto auto auto auto;justify-content:start;gap:0}
.count .cell{padding:0 16px;border-left:1px solid rgba(255,255,255,.22)}.count .cell:first-child{padding-left:0;border-left:0}.count .cell:last-child{padding-right:0}
.count .cell b{position:relative;display:flex;font:700 38px/1 var(--title)}
.dg{position:relative;display:block;width:.76em;height:1em;overflow:hidden}
.dg span{position:absolute;left:0;right:0;top:0;text-align:center}
.count .cell>span{display:block;font:600 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-top:9px}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(120px,14vw,230px);z-index:2;display:block;overflow:visible}
.wave text{font-family:var(--title);font-weight:700;font-size:23px;letter-spacing:3px;fill:#fff;text-transform:uppercase}
@media (max-width:900px){.hero .in{grid-template-columns:1fr}.count{min-width:0;max-width:380px}}
@media (max-width:520px){.hero h1{font-size:9.2vw}.count{min-width:0;width:100%;padding:16px 18px 14px}.count .cell{padding:0 12px}.count .cell b{font-size:28px}.hero-meta .sep{display:none}.hero-meta{gap:6px 18px}.wave{height:120px}.wave text{font-size:30px}}

/* Vagues de transition */
.edge{position:absolute;left:0;width:100%;height:clamp(32px,5vw,74px);display:block;pointer-events:none;z-index:5}
.edge.b{bottom:-1px}.edge.t{top:-1px}.edge.f{transform:scaleX(-1)}
.story,.agenda,.eng,footer{overflow-x:clip}

/* My Guide : un iPhone qui montre ce que contient le guide */
.mg{position:relative;background:var(--ink);color:#fff;padding:clamp(100px,11vw,170px) 0 clamp(110px,12vw,170px);overflow:hidden}
.mg .in{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"head phone" "feats phone" "cta phone";column-gap:clamp(40px,6vw,110px);align-items:start}
.mg-head{grid-area:head}.mg-feats{grid-area:feats;margin-top:clamp(34px,4vw,54px)}.mg-cta{grid-area:cta;margin-top:clamp(34px,4vw,50px);display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px}
.mg .ey{color:#FF4B55}
.mg h2.t{font-size:clamp(40px,4.9vw,76px)}
.mg .lead{color:#C9C9D0;margin:28px 0 0}
.mg-pick{font:700 12px/1.3 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#9A9AA3;margin:0 0 6px}
.mg-fl{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.mf{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;width:100%;padding:17px 0 18px;background:none;border:0;color:#fff;text-align:left;font:600 18px/1.25 var(--text);cursor:pointer;opacity:.5;transition:opacity .4s var(--ease)}
.mf:hover,.mf[aria-pressed="true"]{opacity:1}
.mf .n{font:700 13px/1 var(--title);color:#FF4B55;letter-spacing:.06em}
.mf .pb{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.16);overflow:hidden}
.mf .pb i{position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left}
.mf[aria-pressed="true"] .pb i{transform:none}
.m .mf[aria-pressed="true"] .pb i{transform:scaleX(0);animation:mgbar 4.6s linear forwards}
.mg.hold .mf .pb i{animation-play-state:paused}
@keyframes mgbar{to{transform:none}}
.qr{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;max-width:360px}
.qr img{width:96px;height:96px;background:#fff;padding:8px;flex:none;border-radius:16px}
.qr b{display:block;font-size:16px;margin-bottom:4px}
.qr small{color:#9A9AA3;font-size:13px}
.phone-wrap{grid-area:phone;align-self:center;justify-self:center;position:relative;perspective:1600px;padding:20px 0}
.phone-wrap::before{content:"";position:absolute;left:50%;top:52%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(227,6,19,.34),rgba(227,6,19,0));pointer-events:none}
.phone{--pw:min(330px,25vw);position:relative;width:var(--pw);aspect-ratio:9/19.5;border-radius:calc(var(--pw)*.165);background:linear-gradient(145deg,#3A3A42,#121216 40%,#2B2B31);padding:calc(var(--pw)*.035);box-shadow:0 50px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.1) inset;transform-style:preserve-3d;will-change:transform}
.phone .hw{position:absolute;width:3px;background:#2A2A30;border-radius:2px}
.phone .hw.a{left:-3px;top:19%;height:5%}.phone .hw.b{left:-3px;top:27%;height:9%}.phone .hw.c{right:-3px;top:24%;height:13%}
.glass{position:relative;height:100%;border-radius:calc(var(--pw)*.13);overflow:hidden;background:#fff;isolation:isolate;font-size:calc(var(--pw)*.047)}
.glass::after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 32%)}
.island{position:absolute;z-index:8;top:2.2%;left:50%;width:31%;height:4.4%;border-radius:99px;background:#000;transform:translateX(-50%)}
.home{position:absolute;z-index:8;bottom:1.4%;left:50%;width:36%;height:.7%;min-height:4px;border-radius:9px;background:#111;transform:translateX(-50%)}
.scr{position:absolute;inset:0;background:#fff;color:var(--ink);transform:translateX(101%)}
.scr::after{content:"";position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .75s var(--ease)}
.scr.on{transform:none;z-index:3}
.scr.was{transform:translateX(-30%);z-index:2}
.scr.was::after{opacity:.28}
.m .scr.on,.m .scr.was{transition:transform .8s var(--ease)}
.sh{position:relative;background:var(--red);color:#fff;padding:13% 7% 15%}
.sbar{position:absolute;top:3.6%;left:9%;right:8%;display:flex;justify-content:space-between;align-items:center;font:600 .78em/1 var(--text);letter-spacing:.02em}
.sbar svg{width:auto;height:.72em}
.slogo{width:42%;height:auto;margin:6% 0 9%}
.sh b{display:block;font:700 1.18em/1.02 var(--title);text-transform:uppercase;max-width:15ch}
.sw{position:absolute;left:0;bottom:-1px;width:100%;height:18%;display:block}
.lvp{display:inline-flex;align-items:center;gap:.4em;margin-top:.7em;font:700 .62em/1 var(--text);letter-spacing:.16em;text-transform:uppercase;padding:.45em .7em;border-radius:99px;background:rgba(255,255,255,.18)}
.lvp i{width:.62em;height:.62em;border-radius:50%;background:#fff;animation:lvp 1.4s ease-in-out infinite}
@keyframes lvp{50%{opacity:.25}}
.sbd{padding:5% 7%}
.scr .r{display:flex;align-items:center;gap:.7em;padding:.72em 0;border-bottom:1px solid #EFEBE7;font-size:.84em}
.scr .r.lk{justify-content:space-between;font-weight:600}
.scr .r svg{width:.8em;height:.8em;flex:none;color:#B9B2AB}
.scr .url span{color:var(--red)}
.cd{background:#F6F2EE;border-radius:.7em;padding:.75em .9em;margin-bottom:.6em}
.cd small{display:block;font:700 .58em/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:.4em}
.cd p{margin:0;font-size:.82em;line-height:1.35}.cd p+p{margin-top:.45em}
.scr .mu{color:var(--muted)}
.scr .tx{font-size:.82em;line-height:1.38;margin:0 0 .5em}
.m .scr .sbd>*{opacity:0;transform:translateY(.7em)}
.m .scr.on .sbd>*{opacity:1;transform:none;transition:opacity .5s ease calc(.28s + var(--d,0)*.06s),transform .8s var(--ease) calc(.28s + var(--d,0)*.06s)}
.vid{position:relative;aspect-ratio:16/10;border-radius:.8em;overflow:hidden;background:var(--ink);margin-bottom:.8em}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.88}
.vid .play{position:absolute;left:50%;top:50%;width:2.6em;height:2.6em;margin:-1.3em;border-radius:50%;background:rgba(255,255,255,.92)}
.vid .play::after{content:"";position:absolute;left:42%;top:30%;border-left:.85em solid var(--red);border-top:.52em solid transparent;border-bottom:.52em solid transparent}
.vid .lvp{position:absolute;left:.6em;top:.6em;margin:0;background:var(--red);color:#fff}
.scr .lg{justify-content:space-between;padding:.6em 0;font-size:.86em}
.scr .lg i{width:1.05em;height:1.05em;border-radius:50%;border:2px solid #D3CDC7;flex:none}
.scr .lg.sel{font-weight:700}.scr .lg.sel i{border-color:var(--red);background:radial-gradient(circle,var(--red) 0 42%,transparent 46%)}
@media (max-width:900px){
  .mg .in{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "phone" "feats" "cta"}
  .phone-wrap{margin-top:44px;padding:0}
  .phone{--pw:min(250px,64vw)}
  .mg-feats{margin-top:34px}
  .mg-fl{column-gap:16px}
  .mf{grid-template-columns:28px 1fr;font-size:16px;padding:14px 0 15px}
  .qr{display:none}
  .mg-cta{margin-top:30px}
}

/* Récit : trois grandes photos qui s'empilent, chacune arrive avec un bord en forme de vague */
.story{position:relative;background:var(--ink);color:#fff}
.slide{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--ink)}
.slide+.slide{margin-top:calc(-1 * var(--wh));-webkit-mask:var(--wm) top center/100% var(--wh) no-repeat,linear-gradient(#000,#000) 0 calc(var(--wh) - 1px)/100% 100% no-repeat;mask:var(--wm) top center/100% var(--wh) no-repeat,linear-gradient(#000,#000) 0 calc(var(--wh) - 1px)/100% 100% no-repeat}
.story{--wh:clamp(46px,7vw,110px)}
.slide+.slide+.slide{-webkit-mask-image:var(--wm2),linear-gradient(#000,#000);mask-image:var(--wm2),linear-gradient(#000,#000)}
.slide .ph{position:absolute;inset:0;overflow:hidden}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(14,14,17,.82) 0%,rgba(14,14,17,.25) 45%,rgba(14,14,17,.1) 70%,rgba(14,14,17,.35) 100%)}
.slide .veil{position:absolute;inset:0;z-index:3;background:var(--ink);opacity:0;pointer-events:none}
.slide .cap{position:relative;z-index:2;width:100%;max-width:var(--max);margin-inline:auto;padding:0 var(--gut) clamp(90px,11vw,150px)}
.slide .idx{display:flex;align-items:center;gap:12px;font:700 15px/1 var(--title);letter-spacing:.1em;margin-bottom:22px;color:#fff}
.slide .idx b{color:#FF4B55}
.slide .idx i{display:block;width:44px;height:2px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden;position:relative}
.slide .idx i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(var(--f,1));transform-origin:left}
.slide h2.t{font-size:clamp(44px,8.6vw,140px);max-width:12ch}
.slide p{max-width:30em;font-size:clamp(18px,1.6vw,22px);color:#E4E4E8;margin:24px 0 0}

/* Publics */
.publics{position:relative;padding:clamp(90px,10vw,150px) 0 clamp(40px,6vw,80px)}
.row{display:grid;grid-template-columns:7fr 5fr;gap:clamp(30px,5vw,80px);align-items:center}
.row>*{min-width:0}
.row+.row{margin-top:clamp(80px,10vw,150px)}
.row .fig{position:relative;overflow:hidden;aspect-ratio:4/3.2;background:var(--bone);border-radius:var(--r)}
.row .fig img{width:100%;height:118%;object-fit:cover;position:absolute;top:-9%}
.row h2.t{font-size:clamp(40px,5.4vw,82px);margin-bottom:28px}
.ticks{list-style:none;margin:0 0 34px;padding:0;counter-reset:t}
.ticks li{display:grid;grid-template-columns:34px 1fr;padding:15px 0;border-top:1px solid var(--hair);font-size:18px}
.ticks li:last-child{border-bottom:1px solid var(--hair)}
.ticks li::before{content:counter(t,decimal-leading-zero);counter-increment:t;font:700 13px/1.9 var(--title);color:var(--red)}
.row.alt{grid-template-columns:5fr 7fr}
.row.alt .body{order:-1;background:var(--ink);color:#fff;padding:clamp(34px,4vw,64px);margin-right:calc(-1 * clamp(60px,8vw,140px));position:relative;z-index:2;border-radius:var(--r)}
.row.alt .ey{color:#FF4B55}
.row.alt .ticks li{border-color:rgba(255,255,255,.16)}
@media (max-width:900px){.row,.row.alt{grid-template-columns:1fr}.row.alt .body{order:0;margin:-60px 14px 0;padding:30px 22px}.row .fig{aspect-ratio:4/3}.row .map3d{order:0}}

/* Plan 3D d'accès */
.map3d{position:relative;aspect-ratio:1/1;max-height:min(88vh,820px);width:100%;border-radius:var(--r);overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 90% at 50% 38%,#FFFFFF 0%,#F6F2ED 55%,#EDE6DE 100%);outline-offset:4px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.map3d::before{content:"";position:absolute;left:12%;right:12%;bottom:8%;height:16%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,30,20,.22),rgba(60,30,20,0));z-index:0;filter:blur(6px)}
.map3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;cursor:grab;opacity:0;transition:opacity .9s var(--ease);touch-action:pan-y}
.map3d.grab canvas{cursor:grabbing}
.map3d.live canvas{opacity:1}
.mp-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;transition:opacity .9s var(--ease)}
.map3d.live .mp-poster{opacity:0}
.mp-pins{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .6s var(--ease) .2s}
.map3d.live .mp-pins,.map3d.flat .mp-pins{opacity:1}
.pin{position:absolute;left:0;top:0;display:block;width:0;height:0;pointer-events:none}
.pin>b{position:absolute;left:0;bottom:16px;transform:translateX(calc(-50% + var(--sx,0px)));display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:7px 12px 7px 9px;border-radius:999px;background:#fff;color:var(--ink);font:700 12px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 22px -8px rgba(14,14,17,.45),0 0 0 1px rgba(14,14,17,.06);pointer-events:auto;cursor:pointer;transition:transform .5s var(--ease),background-color .4s,color .4s}
.pin>b::after{content:"";position:absolute;left:calc(50% - var(--sx,0px));top:100%;width:2px;height:12px;margin-left:-1px;background:currentColor;opacity:.55}
.pin::after{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.pin i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font:700 11px/1 var(--title);font-style:normal;letter-spacing:0}
.pin.red>b{background:var(--red);color:#fff}.pin.red i{background:#fff;color:var(--red)}.pin.red::after{background:var(--red)}
.pin.dk>b{background:var(--ink);color:#fff}.pin.dk i{background:#fff;color:var(--ink)}
.pin.on>b{transform:translateX(calc(-50% + var(--sx,0px))) scale(1.12)}
.pin.on::after{animation:pinp 1.8s var(--ease) infinite}
@keyframes pinp{0%{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 3px rgba(227,6,19,.5)}100%{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 18px rgba(227,6,19,0)}}
.mp-lab{position:absolute;left:0;top:0;width:0;height:0}
.mp-lab span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:700 10px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:rgba(14,14,17,.55);text-shadow:0 0 6px rgba(255,255,255,.9),0 0 2px #fff}
.mp-lab.w span{color:#2F5874;text-shadow:0 0 6px rgba(255,255,255,.7)}
.mp-n{position:absolute;z-index:3;top:16px;left:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 4px 14px -6px rgba(14,14,17,.35);display:grid;place-items:center}
.mp-n svg{width:40px;height:40px;transition:transform .2s linear}
.mp-ui{position:absolute;z-index:3;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px}
.mp-ui button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 4px 14px -6px rgba(14,14,17,.35);display:grid;place-items:center;cursor:pointer;transition:background-color .3s,color .3s}
.mp-ui button:hover{background:var(--ink);color:#fff}
.mp-ui svg{width:18px;height:18px}
.mp-hint{position:absolute;z-index:3;left:50%;top:18px;transform:translateX(-50%);margin:0;padding:9px 16px;border-radius:999px;background:rgba(14,14,17,.82);color:#fff;font:600 13px/1.2 var(--text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .5s var(--ease)}
.mp-hint.on{opacity:1}
.mp-src{position:absolute;z-index:3;left:16px;bottom:12px;font-size:11px;color:rgba(14,14,17,.5)}
.map3d.flat .mp-ui,.map3d.flat .mp-hint{display:none}
.pin.hid>b,.mp-lab.hid span{opacity:0;pointer-events:none}
.pin>b,.mp-lab span{transition:opacity .35s var(--ease),transform .5s var(--ease),background-color .4s,color .4s}
.pin.hid::after{opacity:0}
.acc{list-style:none;margin:0 0 30px;padding:0;counter-reset:a}
.acc li{border-top:1px solid var(--hair)}.acc li:last-child{border-bottom:1px solid var(--hair)}
.acc button,.acc .nb{all:unset;box-sizing:border-box;display:grid;grid-template-columns:34px 1fr 22px;align-items:center;width:100%;padding:15px 0;cursor:pointer;border-radius:12px}
.acc .nb{cursor:default}
.acc button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.acc .n{font:700 13px/1 var(--title);color:var(--red);align-self:start;padding-top:5px}
.acc b{display:block;font-size:18px;line-height:1.3}
.acc small{display:block;font-size:15.5px;line-height:1.4;color:var(--muted);margin-top:3px}
.acc svg{width:18px;height:18px;color:var(--red);opacity:0;transform:translateX(-6px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.acc button:hover svg,.acc button[aria-pressed="true"] svg{opacity:1;transform:none}
.acc button[aria-pressed="true"] b{color:var(--red)}
@media (max-width:600px){.mp-ui{right:10px;bottom:10px;gap:5px}.mp-ui button{width:36px;height:36px}.mp-ui svg{width:15px;height:15px}.mp-n{top:12px;left:12px;width:34px;height:34px}.mp-n svg{width:34px;height:34px}
  .mp-hint{left:56px;right:12px;top:14px;transform:none;white-space:normal;text-align:center;font-size:12px;padding:8px 12px;border-radius:16px}}
@media (max-width:900px){.mp-src{bottom:10px;left:12px;font-size:10px}.pin>b{font-size:11px;padding:6px 10px 6px 7px}.pin i{width:18px;height:18px}}

/* Galerie */
.gal{position:relative;padding:clamp(60px,8vw,110px) 0 clamp(70px,9vw,130px);overflow:hidden}
.gal .head{margin-bottom:clamp(30px,4vw,50px)}
.strip-wrap{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
.strip-wrap::-webkit-scrollbar{display:none}
.strip{display:flex;gap:12px;width:max-content}
.srow{display:contents}
.gi{position:relative;flex:none;height:clamp(200px,52vw,320px);overflow:hidden;background:var(--bone);scroll-snap-align:start;border-radius:var(--r-s)}
.gi img{width:100%;height:100%;object-fit:cover}
@media (min-width:901px){
  .strip-wrap{overflow:hidden;padding-inline:0}
  .strip{display:grid;gap:16px;width:auto}
  .srow{display:flex;gap:16px;width:max-content;padding-inline:var(--gut)}
  .gi{height:clamp(200px,21vw,330px)}
  .m .gi img{width:112%;max-width:none;margin-left:-6%}
}

/* Agenda */
.agenda{position:relative;padding:clamp(40px,6vw,80px) 0 clamp(120px,13vw,190px)}
.ag-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px}
.ag-line{position:absolute;left:0;right:0;top:0;height:2px;background:var(--hair)}
.ag-fill{position:absolute;inset:0;background:var(--ink);transform-origin:left}
.ag{position:relative;padding:34px 28px 0 0;min-width:0}
.ag::before{content:"";position:absolute;top:-8px;left:0;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--ink);box-sizing:border-box;transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.ag .d{font:700 clamp(34px,4vw,60px)/1 var(--title);letter-spacing:-.01em;transition:color .6s var(--ease)}
.m .ag .d{overflow:hidden;padding-top:.12em;margin-top:-.12em}
.ag .d>span{display:inline-block}
.ag p{color:var(--muted);margin:14px 0 0;font-size:17px;max-width:18em}
.ag.j::before{background:var(--red);border-color:var(--red)}
.ag.j .d{color:var(--red)}
.m .ag::before{border-color:#CFC8C1}
.m .ag.on::before{background:var(--ink);border-color:var(--ink)}
.m .ag.j:not(.on)::before{background:#fff}
.m .ag.j:not(.on) .d{color:var(--ink)}
.m .ag.j.on::before{background:var(--red);border-color:var(--red)}
.ag .tag{display:inline-block;margin-top:14px;font:700 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:#fff;padding:8px 13px;border-radius:999px}
@media (max-width:860px){.ag-grid{grid-template-columns:1fr 1fr;row-gap:44px}}
@media (max-width:520px){.ag-grid{grid-template-columns:1fr;row-gap:34px;margin-left:8px}.ag-line{right:auto;bottom:0;width:2px;height:auto}.ag-fill{transform-origin:top}.ag{padding:0 0 0 30px}.ag::before{top:4px;left:-8px}}

/* Partenariat */
.partner{position:relative;background:var(--red);color:#fff;padding:clamp(100px,11vw,170px) 0 clamp(120px,13vw,190px);overflow:hidden}
.partner .in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,100px);align-items:center}
.partner .in>*{min-width:0}
.partner .ey{color:#fff}
.partner h2.t{font-size:clamp(44px,6.6vw,104px)}
.partner ul{list-style:none;padding:0;margin:34px 0 38px;display:grid;gap:12px;font-size:19px}
.partner li{display:flex;gap:14px}
.partner li::before{content:"";width:16px;height:2px;background:#fff;margin-top:.8em;flex:none}
.partner .acts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.partner .fig{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:var(--r)}
.partner .fig img{position:absolute;top:-10%;width:100%;height:120%;object-fit:cover}
@media (max-width:900px){.partner .in{grid-template-columns:1fr}.partner .fig{aspect-ratio:4/3}}

/* S'engager */
.eng{position:relative;background:var(--bone);padding:clamp(90px,10vw,150px) 0 clamp(110px,12vw,170px)}
.eng .cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}
.card{position:relative;display:flex;align-items:flex-end;min-height:clamp(420px,42vw,600px);color:#fff;text-decoration:none;overflow:hidden;isolation:isolate;background:var(--ink);border-radius:var(--r)}
.card .bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.card .bg img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.card:hover .bg img{transform:scale(1.045)}
.card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,14,17,.88) 0%,rgba(14,14,17,.35) 50%,rgba(14,14,17,0) 75%)}
.card .c{padding:clamp(26px,3vw,44px)}
.card .k{font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.card h3{font-size:clamp(32px,3.4vw,52px);margin:14px 0 14px}
.card p{margin:0 0 24px;max-width:28em;color:#E6E6EA}
.card .go{display:inline-flex;align-items:center;gap:12px;font:700 13px/1 var(--text);letter-spacing:.16em;text-transform:uppercase}
.card .go>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);transition:background-color .5s var(--ease),color .5s var(--ease)}
.card:hover .go>span{background:var(--red);color:#fff}
@media (max-width:860px){.eng .cards{grid-template-columns:1fr}}

/* Bénévoles */
.vol{position:relative;background:var(--bone);padding:clamp(90px,10vw,150px) 0 clamp(110px,12vw,170px);overflow-x:clip}
.vol-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(36px,5vw,90px);align-items:center}
.vol h2.t{font-size:clamp(40px,5.4vw,82px);margin-bottom:26px}
.vol .lead{margin:0 0 34px}
.vol .acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.vol .acts small{font-size:15px;color:var(--muted);max-width:22em;line-height:1.4}
.vol .fig{position:relative;overflow:hidden;aspect-ratio:4/3.5;background:var(--hair);border-radius:var(--r)}
.vol .fig img{position:absolute;top:-9%;width:100%;height:118%;object-fit:cover;object-position:center 22%}
.vstat{position:absolute;left:16px;bottom:16px;z-index:2;background:var(--red);color:#fff;padding:16px 22px 14px;border-radius:18px}
.vstat b{display:block;font:700 clamp(40px,4.2vw,62px)/.9 var(--title)}
.vstat span{display:block;margin-top:6px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase}
.miss{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(64px,7vw,100px)}
.miss>div{border-top:2px solid var(--ink);padding-top:22px}
.miss h3{display:flex;align-items:baseline;gap:12px;font:700 clamp(20px,1.8vw,26px)/1 var(--title);text-transform:uppercase;margin:0 0 12px}
.miss h3 small{font:700 13px/1 var(--title);color:var(--red)}
.miss ul{list-style:none;margin:0;padding:0}
.miss li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid rgba(14,14,17,.12);font-size:17px;line-height:1.35}
.miss li::before{content:"";flex:none;width:10px;height:2px;background:var(--red);margin-top:.68em}
.vnote{margin:24px 0 0;color:var(--muted);font-size:15px}
.vdays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);margin-top:clamp(56px,6vw,84px);background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden}
.vd{padding:30px 28px 32px;border-right:1px solid rgba(255,255,255,.14)}
.vd b{display:block;font:700 clamp(22px,2vw,30px)/1 var(--title);text-transform:uppercase;margin-bottom:12px}
.vd p{margin:0;color:#C9C9D0;font-size:16px;line-height:1.45}
.vd.j b{color:#FF4B55}
.vgo{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:30px 28px}
.vgo p{margin:0;font-size:16px;line-height:1.45;color:#E4E4E8}
@media (max-width:900px){
  .vol-top{grid-template-columns:minmax(0,1fr)}
  .vol .fig{aspect-ratio:16/11}
  .miss{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .miss::-webkit-scrollbar{display:none}
  .miss>div{flex:none;width:min(82vw,380px);scroll-snap-align:start;background:#fff;border-top:0;border-radius:20px;box-shadow:inset 0 3px 0 var(--red);padding:22px 20px 14px}
  .miss li:last-child{border-bottom:0}
  .vdays{grid-template-columns:minmax(0,1fr)}
  .vd{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr);gap:14px;padding:20px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .vd b{font-size:19px;margin:0;line-height:1.15}
  .vd p{font-size:15px}
  .vgo{padding:24px 22px 26px}
}

/* Newsletter */
.nl{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(420px,42vw,600px);background:var(--ink);color:#fff;padding:clamp(26px,3vw,44px);overflow:hidden;border-radius:var(--r)}
.nl::before{content:"";position:absolute;right:-18%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(227,6,19,.38),rgba(227,6,19,0));pointer-events:none}
.nl .ey{color:#FF4B55;margin-bottom:16px}
.nl h3{font-size:clamp(32px,3.4vw,52px);margin:0 0 14px}
.nl>p{margin:0 0 26px;max-width:28em;color:#C9C9D0}
.nl-f{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border-radius:999px;padding:6px 6px 6px 24px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22);transition:box-shadow .4s var(--ease)}
.nl-f:focus-within{box-shadow:inset 0 0 0 1.5px #fff}
.nl-f input{flex:1;min-width:0;background:none;border:0;color:#fff;font:400 18px/1.2 var(--text);padding:12px 0}
.nl-f input::placeholder{color:#8E8E97}
.nl-f input:focus{outline:none}
.nl-f .btn{padding:16px 22px;flex:none}
.nl small{display:block;margin-top:16px;font-size:13px;line-height:1.45;color:#9A9AA3;max-width:36em}
.nl .ulink{align-self:flex-start;margin-top:18px;font-size:15px}
@media (max-width:480px){.nl-f{flex-direction:column;align-items:stretch;background:none;box-shadow:none;padding:0}.nl-f input{background:rgba(255,255,255,.08);border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22);padding:16px 22px;margin-bottom:10px}.nl-f .btn{justify-content:center}}

/* Logos */
.logos-band{position:relative;background:#fff;padding:70px 0 calc(50px + 5vw)}
.lb-t{font:700 12px/1.3 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 26px;text-align:center}
.groups{display:flex;flex-direction:column;gap:18px}
.grp{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:center;padding-top:18px;border-top:1px solid var(--hair)}
.grp h3{display:flex;align-items:center;gap:8px;font:700 12px/1.3 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.grp h3::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--c,var(--red))}
.grid{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px}
.logo{display:flex;align-items:center;height:38px}
.grid.big .logo{height:48px}
.logo img{max-height:100%;max-width:130px;width:auto;height:auto;object-fit:contain}
.grid.big .logo img{max-width:160px}
@media (max-width:700px){.grp{grid-template-columns:1fr;gap:12px}.grid{gap:12px 22px}.logo{height:32px}.grid.big .logo{height:42px}.logo img{max-width:110px}}

/* Pied */
footer{position:relative;background:var(--red);color:#fff;padding-top:30px}
footer .w{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:clamp(32px,5vw,74px);display:block}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-block:40px 50px}
footer .cols>*{min-width:0}
footer h4{font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px}
footer p{margin:0 0 8px;font-size:17px}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
.sigw{--p:1;--lo:0;position:relative;margin:10px 0 0}
.sigw img{width:100%;height:auto;clip-path:inset(-2% calc(100% - var(--p) * 100%) -2% 0)}
.sigw::after{content:"";position:absolute;top:-6%;bottom:-6%;left:calc(var(--p) * 100%);width:2px;background:#fff;opacity:var(--lo)}
footer .legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.4);margin-top:30px}
footer .legal .cr{opacity:.7}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .cols{grid-template-columns:1fr}}

/* Barre My Guide mobile */
.mbar{display:none}
@media (max-width:860px){.mbar{display:flex;justify-content:center;position:fixed;left:12px;right:12px;bottom:12px;z-index:150;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .6s var(--ease),opacity .4s}
.mbar.off{transform:translateY(150%);opacity:0;pointer-events:none}
footer{padding-bottom:80px}}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:300;background:var(--ink);color:#fff;padding:14px 22px;font-size:15px;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.25);border-radius:999px;text-align:center}
.toast[hidden]{display:none}
.wipe{display:none;position:fixed;inset:0;z-index:350;background:var(--red);pointer-events:none;place-items:center}
.wipe img{width:min(52vw,420px);height:auto}

/* ===== Un bloc = une page : chaque page tient dans l'écran, la navigation se fait par rubrique ===== */
:root{--hh:78px;--rh:var(--wv);--ch:calc(100svh - var(--hh) - var(--rh));--pad:clamp(14px,3.2vh,44px)}
[data-tone="hero"],[data-tone="ink"]{--bg:var(--ink);--fg:#fff;--mu:#B9B9C2;--ln:rgba(255,255,255,.16);--ey:#FF4B55;--chip:rgba(255,255,255,.08)}
[data-tone="white"]{--bg:#fff;--fg:var(--ink);--mu:var(--muted);--ln:var(--hair);--ey:var(--red);--chip:var(--bone)}
[data-tone="bone"]{--bg:var(--bone);--fg:var(--ink);--mu:var(--muted);--ln:rgba(14,14,17,.13);--ey:var(--red);--chip:#fff}
[data-tone="red"]{--bg:var(--red);--fg:#fff;--mu:rgba(255,255,255,.84);--ln:rgba(255,255,255,.3);--ey:#fff;--chip:rgba(255,255,255,.14)}
html{background:var(--bg)}
body{background:var(--bg);color:var(--fg);overflow-x:hidden}
.pc .ey{color:var(--ey);margin-bottom:clamp(12px,2.2vh,22px)}
.pc .lead{color:var(--mu);font-size:clamp(17px,min(1.45vw,2.5vh),22px);margin:clamp(14px,2.4vh,26px) 0 0}
.pt{font-size:clamp(36px,min(5.4vw,9vh),96px)}
.src{margin:clamp(12px,2vh,22px) 0 0;font-size:13px;line-height:1.5;color:var(--mu)}
.src a{color:inherit}

/* En-tête posé sur la page (elle ne défile pas) */

.top[data-t="light"]{color:var(--ink)}
.top[data-t="red"] .cta{--bg:#fff;--fg:var(--ink)}
.nav a[aria-current="page"]::after{transform:scaleX(1)}
.mgp{display:none}
.top .in.bar{max-width:none}

/* Page */
.blk{position:relative;min-height:100svh;display:flex;flex-direction:column;padding:var(--hh) 0 var(--rh)}
.pc{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:var(--pad);min-height:0}
.pc>.in{width:100%}
.phd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px clamp(40px,6vw,100px);align-items:end;margin-bottom:clamp(20px,4.2vh,52px)}
.phd>*{min-width:0}
.phd-r .lead{margin:0}
.phd-s{margin:0;font-size:14px;line-height:1.45;color:var(--mu)}
.m main .ax,.m main .pt{opacity:0}

/* Barre de rubrique en bas de chaque page */
.rail{position:fixed;left:0;right:0;bottom:0;z-index:150;height:var(--rh);color:var(--fg);transition:background-color .5s var(--ease)}
.ovf .rail{background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.rail .in{max-width:none;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--ln)}
.r-sec{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1 auto}
.r-k{flex:none;font:700 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.62}
.r-tabs{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:4px 0}
.r-tabs::-webkit-scrollbar{display:none}
.r-tabs a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border-radius:999px;font:700 12px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:inherit;opacity:.72;transition:background-color .45s var(--ease),color .45s var(--ease),opacity .3s}
.r-tabs a small{font:700 11px/1 var(--title);letter-spacing:.04em;color:var(--ey)}
.r-tabs a:hover{opacity:1;background:var(--chip)}
.r-tabs a[aria-current="page"]{opacity:1;background:var(--fg);color:var(--bg)}
.r-tabs a[aria-current="page"] small{color:var(--red)}
[data-tone="red"] .r-tabs a small{color:#fff}[data-tone="red"] .r-tabs a[aria-current="page"] small{color:var(--red)}
.r-now{display:none}
.r-go{flex:none;display:flex;align-items:center;gap:12px}
.r-n{display:none}
.r-prev{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:inherit;box-shadow:inset 0 0 0 1.5px var(--ln);transition:background-color .4s var(--ease),color .4s,box-shadow .4s}
.r-prev svg{width:20px;height:20px}
.r-prev:hover{background:var(--fg);color:var(--bg);box-shadow:none}
.r-prev.off{opacity:.25;pointer-events:none}
.r-next{--nb:var(--red);--nf:#fff;position:relative;display:inline-flex;align-items:center;gap:16px;height:56px;padding:0 6px 0 24px;border-radius:999px;background:var(--nb);color:var(--nf);text-decoration:none;overflow:hidden;isolation:isolate}
[data-tone="red"] .r-next{--nb:#fff;--nf:var(--ink)}
.r-next::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease);z-index:-1}
[data-tone="hero"] .r-next::before,[data-tone="ink"] .r-next::before{background:#fff}
.r-next:hover::before{transform:scaleX(1);transform-origin:left}
.r-next{transition:color .45s var(--ease)}
[data-tone="hero"] .r-next:hover,[data-tone="ink"] .r-next:hover{color:var(--ink)}
[data-tone="red"] .r-next:hover{color:#fff}
.r-l{display:flex;flex-direction:column;gap:5px;min-width:0}
.r-l small{font:700 10px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.r-l b{font:700 14px/1 var(--title);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.r-a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18)}
[data-tone="red"] .r-a{background:var(--bone)}
.r-a svg{width:20px;height:20px;transition:transform .5s var(--ease)}
.r-next:hover .r-a svg{transform:translateX(3px)}
@media (max-width:1500px){.r-sec>.r-k{display:none}}
@media (max-width:1320px){.r-tabs a small{display:none}.r-tabs a{padding:11px 13px}}

/* Effets de passage d'une page à l'autre */
.sweep{display:none;position:fixed;inset:0;z-index:180;pointer-events:none}
.wipe-in .wipe{display:grid;animation:introKill 0s linear 3s forwards}
.wipe-in .wipe img{opacity:1}

/* Menu : le plan du site complet */
.mmenu{padding:110px var(--gut) 34px}
.mm-in{justify-content:center;max-width:1500px}
.mm-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px clamp(20px,2.6vw,44px)}
.mm-g{opacity:0;transform:translateY(26px);transition:opacity .5s,transform .8s var(--ease)}
.menu-open .mm-g{opacity:1;transform:none;transition-delay:calc(.16s + var(--i,0) * .05s)}
.mm-h{display:flex;flex-direction:column;gap:12px;font:700 clamp(24px,2.2vw,36px)/1 var(--title);text-transform:uppercase;text-decoration:none;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.16);transition:color .3s}
.mm-h small{font:700 12px/1 var(--title);color:#FF4B55;letter-spacing:.06em}
.mm-h:hover,.mm-h[aria-current="page"]{color:#FF4B55}
.mm-g ul{list-style:none;margin:14px 0 0;padding:0}
.mm-g li a{display:block;padding:7px 0;font-size:17px;font-weight:600;text-decoration:none;color:#C9C9D0;transition:color .3s}
.mm-g li a:hover{color:#fff}
.mm-g li a[aria-current="page"]{color:#fff}
.mm-g li a[aria-current="page"]::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:9px;vertical-align:2px}
.mm-f{margin-top:clamp(30px,6vh,70px);padding-top:24px;border-top:1px solid rgba(255,255,255,.16);align-items:flex-start}
.mm-c{flex:1;min-width:260px;font-size:14px;color:#9A9AA3}
.mm-c p{margin:0 0 6px}
.mm-c a{text-decoration:none;color:#C9C9D0}.mm-c a:hover{color:#fff}
.mm-c .soc{display:flex;flex-wrap:wrap;gap:4px 16px}
.mm-c .lg{font-size:12px;opacity:.8}
@media (max-width:1100px){.mm-map{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== Accueil ===== */
.blk[data-p="index"]{padding:0}
.hero{min-height:100svh;align-items:stretch;flex:1}
.hero .in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding-top:calc(var(--hh) + 20px);padding-bottom:calc(var(--rh) + min(12vw,17vh) + 6px);max-width:var(--max)}
.hero h1{font-size:clamp(40px,min(7.2vw,10.4vh),128px);max-width:14ch}
.hero-meta{margin:clamp(16px,3vh,30px) 0 clamp(18px,3.4vh,34px)}
.hero .wave{bottom:calc(var(--rh) - 1px);height:min(12vw,17vh)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--rh);background:var(--ink);z-index:2}
.hr{display:flex;flex-direction:column;gap:12px;width:360px}
.hr .count{min-width:0}
.aud{background:rgba(14,14,17,.42);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);padding:18px 22px 8px}
.aud-k{display:flex;align-items:center;gap:9px;margin:0 0 6px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.aud-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.aud ol{list-style:none;margin:0;padding:0}
.aud li+li{border-top:1px solid rgba(255,255,255,.14)}
.aud a{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:6px;padding:12px 0;text-decoration:none;color:#fff}
.aud .n{font:700 12px/1 var(--title);color:#FF4B55}
.aud b{display:block;font:700 18px/1 var(--title);text-transform:uppercase;letter-spacing:.02em}
.aud small{display:block;font-size:13.5px;line-height:1.35;color:#C9C9D0;margin-top:5px}
.aud svg{width:18px;height:18px;transition:transform .5s var(--ease),color .3s}
.aud a:hover svg{transform:translateX(4px);color:#FF4B55}
.aud a:hover b{color:#fff}
@media (max-height:860px){.aud small{display:none}.aud a{padding:10px 0}}
@media (max-height:720px){.hr .count{display:none}}
[data-p="index"] .rail{color:#fff}

/* ===== Héros de rubrique ===== */
.hp{color:#fff;justify-content:flex-end;isolation:isolate}
.hp .ph-m{position:absolute;inset:calc(-1 * var(--hh)) 0 0;z-index:-2;overflow:hidden}
.hp .ph-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hp::before{content:"";position:absolute;inset:calc(-1 * var(--hh)) 0 0;z-index:-1;background:linear-gradient(180deg,rgba(14,14,17,.62) 0%,rgba(14,14,17,0) 24%,rgba(14,14,17,.12) 52%,rgba(14,14,17,.86) 100%),linear-gradient(90deg,rgba(14,14,17,.62),rgba(14,14,17,0) 66%)}
.hp .in{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,4fr);gap:clamp(30px,5vw,90px);align-items:end}
.hp .in>*{min-width:0}
.hp .t.pt{font-size:clamp(42px,min(7.6vw,12vh),128px);line-height:.88;max-width:13ch}
.hp .lead{color:#E6E6EA;max-width:33em}
.hp .acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:clamp(18px,3.4vh,32px)}
.hp .acts .ulink{color:#fff}
.hp .facts{margin-top:clamp(18px,3.4vh,30px)}
.hp .vstat{position:static;display:inline-flex;align-items:baseline;gap:12px;padding:12px 18px;border-radius:999px}
.hp .vstat b{font-size:28px}.hp .vstat span{margin:0}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.facts li{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:999px;background:rgba(14,14,17,.38);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);font:700 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase}
.facts li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.facts li.d{font:700 15px/1 var(--title);letter-spacing:.04em}
.chap{background:rgba(14,14,17,.44);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-radius:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);padding:20px 24px 8px}
.chap-k{display:flex;align-items:center;gap:9px;margin:0 0 6px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.chap-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.chap ol{list-style:none;margin:0;padding:0}
.chap li+li{border-top:1px solid rgba(255,255,255,.14)}
.chap a{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:6px;padding:clamp(10px,1.7vh,15px) 0;text-decoration:none;color:#fff;font:700 clamp(16px,1.3vw,19px)/1.1 var(--title);text-transform:uppercase;letter-spacing:.02em}
.chap .n{font:700 12px/1 var(--title);color:#FF4B55}
.chap svg{width:18px;height:18px;transition:transform .5s var(--ease),color .3s}
.chap a:hover svg{transform:translateX(4px);color:#FF4B55}

/* ===== My Guide ===== */
.mg.pc{background:none;padding-block:var(--pad);overflow:visible}
.mg .in{grid-template-areas:"head phone" "feats phone" "cta phone";align-content:center;align-items:start}
.mg .t.pt{font-size:clamp(34px,min(4.4vw,7.6vh),72px)}
.mg .lead{margin-top:clamp(14px,2.4vh,26px)}
.mg-feats{margin-top:clamp(16px,3vh,40px)}
.mg-cta{margin-top:clamp(16px,2.8vh,36px)}
.mf{padding:clamp(9px,1.6vh,15px) 0 clamp(10px,1.7vh,16px)}
.phone{--pw:min(310px,24vw,calc((100svh - var(--hh) - var(--rh) - 2 * var(--pad)) * .45))}
.phone-wrap{padding:0}
@media (max-height:860px){.qr img{width:72px;height:72px;padding:6px;border-radius:12px}}
@media (max-height:760px){.qr{display:none}}

/* ===== Pourquoi venir : trois raisons, une à la fois ===== */
.blk[data-p="histoire"]{padding:0}
.story{position:relative;flex:1;min-height:100svh;background:var(--ink);padding:0;overflow:hidden;--wh:clamp(46px,7vw,110px)}
.story .slide{position:absolute;inset:0;height:auto;min-height:0;margin:0;-webkit-mask:none;mask:none;visibility:hidden}
.story .slide.on{visibility:visible;z-index:2}.story .slide.was{visibility:visible;z-index:1}
.story .cap{padding:0 calc(var(--gut) + min(330px,28vw) + 50px) calc(var(--rh) + clamp(36px,7vh,90px)) var(--gut);max-width:none;margin:0}
.story .cap .ey{color:#FF4B55;margin-bottom:clamp(14px,2.4vh,22px)}
.story h2.t{font-size:clamp(44px,min(8vw,13vh),136px)}
.story .sp{max-width:30em;font-size:clamp(18px,min(1.6vw,2.6vh),22px);color:#E4E4E8;margin:clamp(14px,2.6vh,24px) 0 0}
.sl-n{position:absolute;z-index:5;right:var(--gut);bottom:calc(var(--rh) + clamp(36px,7vh,90px));display:flex;flex-direction:column;gap:4px;width:min(330px,28vw)}
.sl-n button{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px;padding:14px 0 16px;cursor:pointer;color:#fff;opacity:.55;transition:opacity .4s var(--ease)}
.sl-n button:hover,.sl-n button[aria-pressed="true"]{opacity:1}
.sl-n button:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:8px}
.sl-n small{font:700 12px/1 var(--title);color:#FF4B55}
.sl-n span{font:700 14px/1.15 var(--title);text-transform:uppercase;letter-spacing:.02em}
.sl-n i{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.22);overflow:hidden}
.sl-n i b{position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left}
.sl-n button[aria-pressed="true"] i b{transform:none}
.m .sl-n button[aria-pressed="true"] i b{transform:scaleX(0);animation:mgbar 7s linear forwards}
.story.hold .sl-n i b{animation-play-state:paused}
[data-p="histoire"] .rail .in{border-top-color:rgba(255,255,255,.22)}

/* ===== Galerie ===== */
.galp .in{display:flex;flex-direction:column;height:calc(var(--ch) - 2 * var(--pad))}
.galp .phd{flex:none}
.bento{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-template-areas:"a a b c" "a a d e" "f g g h";gap:clamp(8px,1.2vh,14px)}
.bento .gi{height:auto;margin:0;border-radius:var(--r-s);overflow:hidden;background:var(--bone)}
.bento .gi img{width:100%;max-width:100%;margin:0;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.bento .gi:hover img{transform:scale(1.05)}

/* ===== Dates ===== */
.agenda.pc{padding:var(--pad) 0}
.agenda .ag-grid{margin-top:clamp(30px,7vh,90px)}
.agenda .ag .d{font-size:clamp(36px,min(5vw,9vh),84px)}
.agenda .ag p{font-size:clamp(16px,1.3vw,19px)}
.agenda .ag::before{background:var(--bone)}

/* ===== Newsletter ===== */
.call .in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,100px);align-items:center}
.call .in>*{min-width:0}
.call .lead{color:var(--mu)}
.call .nl{min-height:0;background:var(--ink)}
.mgl{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:clamp(20px,4vh,36px)}

/* ===== Programme ===== */
.prog .phd-r{display:flex;flex-direction:column;gap:16px}
.soon{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0;background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 22px;position:relative;overflow:hidden}
.soon::before{display:none}
.soon .k{display:inline-flex;align-items:center;gap:9px;font:700 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#C9C9D0}
.soon .k i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:lvp 1.6s ease-in-out infinite}
.soon b{font:700 17px/1 var(--title);text-transform:uppercase;margin:0 auto 0 0}
.soon .btn{padding:14px 20px;font-size:12px}
.tt-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:clamp(10px,1.8vh,18px)}
.tt-y{font:700 13px/1.2 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tt-y b{color:var(--ink)}
.tt-f{display:flex;flex-wrap:wrap;gap:6px}
.tt-f button{font:700 12px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;padding:11px 16px;border-radius:999px;border:0;background:var(--bone);color:var(--ink);cursor:pointer;transition:background-color .4s var(--ease),color .4s var(--ease)}
.tt-f button:hover{background:#E8E2DB}
.tt-f button[aria-pressed="true"]{background:var(--ink);color:#fff}
.tt-f button i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px}
.ttc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,2.6vw,44px);align-items:start}
.tt{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.tt-h{display:flex;align-items:center;gap:12px;padding:clamp(8px,1.4vh,16px) 0 clamp(3px,.5vh,6px);font:700 12px/1 var(--title);letter-spacing:.08em;color:var(--red)}
.tt-h::after{content:"";flex:1;height:1px;background:var(--hair)}
.tt-r{display:grid;grid-template-columns:52px 10px minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:clamp(4px,.72vh,9px) 6px clamp(4px,.72vh,9px) 0;border-bottom:1px solid var(--hair);border-radius:10px}
.tt-r time{font:700 15px/1 var(--title);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.tt-r .c{width:8px;height:8px;border-radius:50%;background:var(--c)}
.tt-r .ev{font-size:15px;line-height:1.25}
.tt-r .ev b{font-weight:700}
.tt-r .ev span{color:var(--muted)}
.tt-r .tag{font:700 9.5px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;border-radius:999px;background:var(--red);color:#fff;white-space:nowrap}
.tt-r.f{background:linear-gradient(90deg,rgba(227,6,19,.08),rgba(227,6,19,0) 80%);padding-left:6px;margin-left:-6px}
.tt-r.x{grid-template-columns:52px 10px minmax(0,1fr);border-bottom-style:dashed}
.tt-r.x .ev{font-weight:700;color:var(--red)}
.tt-r.x .c{background:none;box-shadow:inset 0 0 0 2px var(--red)}
[data-c="run"]{--c:var(--red)}[data-c="jump"]{--c:var(--ink)}[data-c="throw"]{--c:#A79E95}
.tt-r[hidden],.tt-h[hidden]{display:none}
.prog .src{margin-top:clamp(10px,1.6vh,18px)}

/* ===== Moments forts ===== */
/* Citation */
.quote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;max-width:62em}
.quote::before{content:"«";font:700 clamp(70px,8vw,130px)/.7 var(--title);color:var(--red)}
.quote p{margin:0;font:700 clamp(26px,3.3vw,50px)/1.05 var(--title);text-transform:uppercase;text-wrap:balance}
.quote cite{display:block;margin-top:14px;font:600 13px/1.3 var(--text);font-style:normal;letter-spacing:.06em;color:#9A9AA3}
.mo .in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(36px,5vw,90px);align-items:center}
.mo .in>*{min-width:0}
.mo .t.pt{font-size:clamp(36px,min(4.6vw,8.4vh),80px)}
.mo .quote{margin:clamp(22px,4.6vh,54px) 0 0;gap:14px}
.mo .quote::before{font-size:clamp(50px,5vw,84px)}
.mo .quote p{font-size:clamp(20px,min(2vw,3.4vh),32px)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,40px)}
.stat{border-top:1px solid rgba(255,255,255,.18);padding-top:clamp(14px,2.4vh,24px)}
.stat b{display:block;font:700 clamp(40px,min(4.6vw,9vh),88px)/.9 var(--title);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat b .msk{display:block;overflow:hidden;padding-top:.08em;margin-top:-.08em}.stat b .msk>span{display:block}
.stat p{margin:clamp(8px,1.6vh,16px) 0 0;color:#C9C9D0;font-size:clamp(14px,1.1vw,16px);line-height:1.42}
.vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(22px,4.6vh,56px)}
.vcard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/3;max-height:calc(var(--ch) * .36);border-radius:var(--r);overflow:hidden;isolation:isolate;color:#fff;text-decoration:none;background:var(--ink-2)}
.vcard .bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.vcard .bg img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.vcard:hover .bg img{transform:scale(1.05)}
.vcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,14,17,.9),rgba(14,14,17,.15) 60%,rgba(14,14,17,.25))}
.vcard .pl{position:absolute;left:18px;top:18px;width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:background-color .45s var(--ease)}
.vcard .pl::after{content:"";margin-left:5px;border-left:14px solid var(--red);border-top:8px solid transparent;border-bottom:8px solid transparent;transition:border-color .45s}
.vcard:hover .pl{background:var(--red)}.vcard:hover .pl::after{border-left-color:#fff}
.vcard .c{padding:18px 20px}
.vcard small{display:block;font:700 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:8px}
.vcard b{display:block;font:700 clamp(18px,1.6vw,26px)/1.02 var(--title);text-transform:uppercase}
.mo .src{color:#8E8E97}

/* ===== Records ===== */
.recs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,1vh,10px)}
.rec{position:relative;background:var(--ink);color:#fff;border-radius:var(--r-s);padding:clamp(10px,1.6vh,18px) clamp(14px,1.4vw,20px) clamp(10px,1.5vh,16px);overflow:hidden;min-width:0}
.rec .e{display:block;font:700 11px/1.25 var(--text);letter-spacing:.16em;text-transform:uppercase;color:#FF4B55}
.rec .mk{display:block;font:700 clamp(26px,min(2.6vw,4.6vh),42px)/1 var(--title);margin:clamp(6px,1.1vh,12px) 0;font-variant-numeric:tabular-nums;white-space:nowrap}
.rec .mk small{font-size:.45em;margin-left:.15em;color:#9A9AA3}
.rec .aud{display:block;font-size:15px;line-height:1.3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec .y{display:block;font-size:13px;color:#9A9AA3;margin-top:3px}
.rec.n{background:linear-gradient(160deg,#5A0A10,var(--ink) 62%)}
.rec.n .nb{position:absolute;top:clamp(10px,1.7vh,16px);right:14px;font:700 10px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:#fff;padding:6px 8px;border-radius:999px}

/* ===== En direct ===== */
.lcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lc{position:relative;display:flex;flex-direction:column;background:#fff;color:var(--ink);border-radius:var(--r);padding:clamp(18px,2vw,30px);min-height:min(380px,calc(var(--ch) * .46));min-width:0}
.lc .top2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:auto}
.lc .ic{width:54px;height:54px;border-radius:50%;background:var(--bone);display:grid;place-items:center;color:var(--red)}
.lc .ic svg{width:24px;height:24px}
.lc .st{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:var(--bone)}
.lc .st i{width:7px;height:7px;border-radius:50%;background:var(--ink)}
.lc .st span{display:none}
[data-phase="pre"] .lc .st .pre,[data-phase="live"] .lc .st .live,[data-phase="post"] .lc .st .post{display:inline}
[data-phase="live"] .lc .st{background:var(--red);color:#fff}[data-phase="live"] .lc .st i{background:#fff;animation:lvp 1.4s ease-in-out infinite}
.lc h2.t{font-size:clamp(24px,min(2.4vw,4.4vh),38px);margin:clamp(16px,3vh,34px) 0 10px}
.lc p{margin:0 0 clamp(16px,3vh,26px);color:var(--muted);font-size:16px;line-height:1.45}
.lc .acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:auto}
.lc .btn{padding:15px 20px;font-size:12.5px}
.lc .ulink{font-size:15px}
.lnote{display:flex;align-items:center;gap:14px;margin:clamp(16px,3vh,28px) 0 0;font-size:17px}
.lnote::before{content:"";flex:none;width:28px;height:2px;background:#fff}

/* ===== Dans le stade ===== */
.stade .in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,4.4vw,80px);align-items:center}
.stade .in>*{min-width:0}
.stade .t.pt{font-size:clamp(36px,min(4.8vw,8.6vh),84px)}
.stade .lead{font-size:clamp(16px,1.25vw,19px)}
.zl{list-style:none;margin:clamp(16px,3vh,30px) 0 0;padding:0}
.zl li{border-top:1px solid var(--ln)}.zl li:last-child{border-bottom:1px solid var(--ln)}
.zl button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 4px;width:100%;padding:clamp(7px,1.25vh,12px) 0;cursor:pointer;border-radius:10px}
.zl button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.zl .n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font:700 12px/1 var(--title);transition:background-color .4s}
.zl b{display:block;font-size:17px;line-height:28px;transition:color .4s}
.zl small{display:grid;grid-template-rows:0fr;font-size:15px;line-height:1.42;color:var(--muted);transition:grid-template-rows .55s var(--ease),margin .55s var(--ease)}
.zl small>*{min-height:0;overflow:hidden}
.zl small{overflow:hidden}
.zl button[aria-expanded="true"] small{grid-template-rows:1fr;margin:2px 0 6px}
.zl small em{font-style:normal;font-weight:700;color:#B07A10}
.zl button:hover .n,.zl button[aria-pressed="true"] .n{background:var(--red)}
.zl button[aria-pressed="true"] b{color:var(--red)}
.plan{position:relative;background:#fff;border-radius:var(--r);padding:clamp(12px,1.6vw,24px);box-shadow:0 30px 60px -40px rgba(14,14,17,.35)}
.plan svg{display:block;width:100%;height:auto;max-height:calc(var(--ch) * .62);overflow:visible}
.plan .z{transition:opacity .5s var(--ease)}
.plan.sel .z:not(.on){opacity:.18}
.plan .zh{fill:var(--red);fill-opacity:0;transition:fill-opacity .5s var(--ease)}
.plan .z.on .zh{fill-opacity:.16}
.plan .zp{cursor:pointer}
.plan .zp circle{fill:var(--ink);transition:fill .4s}
.plan .z.on .zp circle,.plan .zp:hover circle{fill:var(--red)}
.plan .zp text{fill:#fff;font:700 13px var(--title);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.plan .lbl{font:700 11px var(--text);letter-spacing:.18em;text-transform:uppercase;fill:var(--muted)}
.plan .lbl.w{fill:#fff}
.plan .z.on .ring{animation:ring 1.8s var(--ease) infinite;transform-box:fill-box;transform-origin:center}
@keyframes ring{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.ptag{position:absolute;left:clamp(12px,1.6vw,24px);top:clamp(12px,1.6vw,24px);display:inline-flex;align-items:center;gap:8px;font:700 10.5px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}
.ptag i{width:7px;height:7px;border-radius:50%;background:#F5A524}
.good{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.good>div{display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:var(--r-s);padding:12px 14px;min-width:0}
.good svg{flex:none;width:24px;height:24px;color:var(--red)}
.good b{display:block;font-size:14.5px;line-height:1.25}
.good small{display:block;font-size:12.5px;line-height:1.35;color:var(--muted);margin-top:3px}
@media (max-height:820px){.good small{display:none}}
.stade .src{font-size:12px}

/* ===== Accès ===== */
.acces .row{grid-template-columns:auto minmax(0,1fr);gap:clamp(30px,5vw,90px)}
.acces .map3d{width:min(54vw,calc(var(--ch) - 2 * var(--pad)));max-height:none}
.acces .t.pt{font-size:clamp(36px,min(4.8vw,8.6vh),84px);margin-bottom:clamp(16px,3vh,28px)}
.acces .acc{margin-bottom:clamp(16px,3vh,30px)}
.acces .acc button,.acces .acc .nb{padding:clamp(9px,1.6vh,15px) 0}

/* ===== Athlètes ===== */
.ess{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ess>div{background:var(--bone);border-radius:var(--r-s);padding:clamp(18px,3vh,28px) clamp(18px,1.8vw,26px);min-width:0}
.ess small{display:block;font:700 12px/1 var(--title);color:var(--red);letter-spacing:.06em;margin-bottom:clamp(12px,2.6vh,28px)}
.ess b{display:block;font:700 clamp(20px,1.7vw,26px)/1.08 var(--title);text-transform:uppercase;margin-bottom:10px}
.ess p{margin:0;color:var(--muted);font-size:16px;line-height:1.45}
.ess .ulink{display:inline-block;margin-top:12px;font-size:15px}
.athg .in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,90px);align-items:center}
.athg .in>*{min-width:0}
.links{list-style:none;margin:0;padding:0}
.links li{border-top:1px solid var(--ln)}.links li:last-child{border-bottom:1px solid var(--ln)}
.links a{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;padding:clamp(11px,2vh,18px) 0;text-decoration:none;font-size:18px;font-weight:600;transition:color .3s}
.links a .n{font:700 13px/1 var(--title);color:var(--red)}
.links a svg{width:18px;height:18px;color:var(--red);transition:transform .5s var(--ease)}
.links a:hover{color:var(--red)}.links a:hover svg{transform:translate(3px,-3px)}

/* ===== Bénévoles ===== */
.missp .miss{margin-top:0}
.missp .miss li{padding:clamp(7px,1.3vh,11px) 0;font-size:16.5px}
.missp .vnote{margin-top:clamp(14px,2.4vh,24px)}
.days .vdays{margin-top:0;background:var(--ink-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.days .vd{padding:clamp(24px,4.4vh,44px) clamp(20px,2vw,30px)}
.days .vd small{display:block;font:700 12px/1 var(--title);color:#FF4B55;margin-bottom:clamp(14px,3.4vh,36px)}
.days .vd b{font-size:clamp(24px,2.4vw,38px)}
.days .vd p{font-size:17px}
.days .vgo{padding:clamp(24px,4vh,40px) clamp(20px,2vw,30px)}

/* ===== Partenaires ===== */
.partner.pc{background:none;padding:var(--pad) 0;overflow:visible}
.partner .in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,100px);align-items:center}
.partner .t.pt{font-size:clamp(38px,min(5.6vw,9.4vh),96px)}
.partner ul{list-style:none;padding:0;margin:clamp(20px,3.6vh,34px) 0 0;display:grid;gap:10px;font-size:19px}
.partner li{display:flex;gap:14px}
.partner li::before{content:"";width:16px;height:2px;background:#fff;margin-top:.8em;flex:none}
.partner .acts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:clamp(20px,3.6vh,34px)}
.partner .fig,.club .fig{position:relative;overflow:hidden;border-radius:var(--r);height:calc(var(--ch) - 2 * var(--pad));max-height:720px}
.partner .fig img,.club .fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.deadline{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(18px,3.4vh,30px);padding:12px 20px 12px 12px;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);font-size:16px;line-height:1.3}
.deadline b{font:700 15px/1 var(--title);background:#fff;color:var(--red);padding:9px 12px;border-radius:999px;white-space:nowrap}
.club .in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,100px);align-items:center}
.club .in>*{min-width:0}
.club .t.pt{font-size:clamp(40px,min(6.4vw,11vh),112px)}
.soutiens .groups{gap:clamp(6px,1.2vh,14px)}
.soutiens .grp{padding-top:clamp(8px,1.4vh,16px)}
.soutiens .logo{height:clamp(26px,3.8vh,38px)}
.soutiens .grid{gap:10px 26px}
.soutiens .grid.big .logo{height:clamp(32px,5vh,50px)}
.soutiens .logo img{max-width:140px}
.soutiens .grid.big .logo img{max-width:180px}

/* ===== Écrans moyens (largeur) ===== */
@media (max-width:1279px){.nav{display:none}}
@media (max-width:1100px){
  .recs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ===== Mobile et tablette : la page peut défiler, la barre de rubrique reste en bas ===== */
@media (max-width:900px){
  :root{--hh:66px;--rh:var(--wv)}
  .mgp{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:10px 14px;border-radius:999px;background:var(--red);color:#fff;font:700 12px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
  .mgp svg{width:13px;height:13px}
  [data-tone="red"] .mgp{background:#fff;color:var(--ink)}
  .burger{margin-left:6px}
  .pc{justify-content:flex-start}
  .rail{height:calc(var(--rh) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}
  .blk{padding-bottom:calc(var(--rh) + env(safe-area-inset-bottom))}
  .rail .in{gap:10px}
  .r-sec{display:none}
  .r-now{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:1;min-width:0;margin:0;order:2}
  .r-now .r-k{opacity:.6}
  .r-now b{font:700 16px/1 var(--title);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .r-go{display:contents}
  .r-prev{order:1;width:46px;height:46px}
  .r-n{display:flex;align-items:center;gap:6px;order:3;font:700 12px/1 var(--title);letter-spacing:.04em;opacity:.7}
  .r-n i{display:block;width:14px;height:1.5px;background:currentColor;opacity:.5}
  .r-next{order:4;height:46px;width:46px;padding:0;justify-content:center;gap:0}
  .r-next .r-l{display:none}
  .r-a{width:46px;height:46px;background:none}
  [data-tone="red"] .r-a{background:none}
  .phd{grid-template-columns:minmax(0,1fr)}
  .pt{font-size:clamp(36px,10.4vw,60px)}
  .mm-map{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}
  .mm-h{font-size:22px;padding-bottom:12px}
  .mm-g li a{font-size:15.5px;padding:5px 0}
  .mmenu{padding-top:90px}

  .hero .in{grid-template-columns:minmax(0,1fr);padding-bottom:calc(var(--rh) + 120px + 10px)}
  .hero .wave{height:120px}
  .hr{width:auto}
  .hp .in{grid-template-columns:minmax(0,1fr)}
  .hp{padding-top:clamp(120px,30vh,260px)}
  .mg .in{grid-template-areas:"head" "phone" "feats" "cta"}
  .phone{--pw:min(250px,62vw)}
  .phone-wrap{margin-top:30px}
  .story .cap{padding-bottom:calc(var(--rh) + 150px)}
  .sl-n{left:var(--gut);right:var(--gut);width:auto;bottom:calc(var(--rh) + 20px);flex-direction:row;gap:10px}
  .sl-n button{grid-template-columns:minmax(0,1fr);padding:10px 0 12px}
  .sl-n span{display:none}
  .galp .in{height:auto}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(130px,34vw,220px);grid-template-areas:"a a" "b c" "d e" "f h" "g g"}
  .agenda .ag-grid{margin-top:30px}
  .call .in{grid-template-columns:minmax(0,1fr)}
  .ttc{grid-template-columns:minmax(0,1fr)}
  .ttc .tt+.tt{border-top:0}
  .soon{border-radius:22px}
  .mo .in{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:minmax(0,1fr);gap:22px}
  .vids,.recs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .vids::-webkit-scrollbar,.recs::-webkit-scrollbar{display:none}
  .vcard{flex:none;width:min(74vw,340px);max-height:none;scroll-snap-align:start}
  .recs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}
  .lcards{grid-template-columns:minmax(0,1fr)}
  .lc{min-height:0}
  .stade .in,.acces .row,.athg .in,.partner .in,.club .in{grid-template-columns:minmax(0,1fr)}
  .plan svg{max-height:none}
  .good{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acces .map3d{width:100%;order:2}
  .ess{grid-template-columns:minmax(0,1fr)}
  .partner .fig,.club .fig{height:auto;aspect-ratio:4/3}
  .club .fig{order:-1}
}
@media (max-width:520px){
  .tt-r{grid-template-columns:50px 10px minmax(0,1fr);row-gap:6px;padding-right:0}
  .tt-r .tag{grid-column:3;justify-self:start}
  .tt-f button{padding:10px 12px}
  .hero h1{font-size:10.4vw}
  .hp .t.pt{font-size:clamp(40px,11.6vw,64px)}
  .mm-map{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.zl small{transition:none}}

/* Titres plus compacts sur les pages chargées en contenu */
.prog .pt,.recp .pt,.live .pt,.soutiens .pt{font-size:clamp(34px,min(4.4vw,7.4vh),76px)}
.prog .phd,.recp .phd,.live .phd,.soutiens .phd{margin-bottom:clamp(14px,2.8vh,36px)}
@media (min-width:901px){.live .phd{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}
.prog .phd{margin-bottom:clamp(10px,2vh,28px)}
.prog .tt-r{padding-block:clamp(3px,.6vh,8px)}
.prog .tt-h{padding:clamp(6px,1.1vh,14px) 0 clamp(2px,.4vh,5px)}
.prog .src{margin-top:clamp(8px,1.2vh,14px)}
/* écrans bas (portables 768 / 720 px) */
@media (min-width:901px) and (max-height:800px){
  :root{--hh:70px;--rh:var(--wv);--pad:clamp(10px,2.4vh,24px)}
  .pt{font-size:clamp(32px,min(5vw,8.2vh),84px)}
  .prog .pt,.recp .pt,.live .pt,.soutiens .pt{font-size:clamp(30px,min(4vw,6.6vh),62px)}
  .prog .phd{margin-bottom:8px}
  .tt-top{margin-bottom:6px}
  .tt-f button{padding:8px 13px}
  .tt-h{padding:5px 0 2px}
  .tt-r{grid-template-columns:46px 10px minmax(0,1fr) auto;padding-block:2px}
  .tt-r time,.tt-r .ev{font-size:13.5px}
  .tt-r .tag{padding:4px 7px}
  .qr{display:none}
  .mg .t.pt{font-size:clamp(30px,min(4vw,6.8vh),60px)}
  .ess>div{padding:14px 18px}
  .ess small{margin-bottom:10px}
  .ess p{font-size:15px;line-height:1.4}
  .missp .miss li{padding:5px 0;font-size:15.5px}
}
.nav a,.top .cta{white-space:nowrap}
@media (max-width:1440px){.top .bar{gap:20px}.nav{gap:18px}.nav a{font-size:12px;letter-spacing:.1em}.top .cta{padding:14px 18px}.soon{flex-wrap:nowrap}.soon .k{display:none}}
@media (min-width:901px) and (max-height:740px){
  .tt-r{padding-block:1px}
  .tt-r time,.tt-r .ev{font-size:13px;line-height:1.12}
  .tt-r .tag{padding:3px 6px;font-size:9px}
}
@media (max-width:900px){
  .mgp{white-space:nowrap}
  .story .cap{padding-right:var(--gut)}
  .days .vd{display:block;padding:20px 22px}
  .days .vd small{margin-bottom:10px}
  .days .vd b{font-size:22px;margin-bottom:8px}
  .days .vd p{font-size:15.5px}
}
@media (min-width:901px) and (max-height:800px){
  .zl button{padding-block:5px}
  .zl b{font-size:16px}
  .acces .t.pt{margin-bottom:12px}
  .acces .acc{margin-bottom:14px}
  .acces .acc button,.acces .acc .nb{padding-block:6px}
  .acces .acc b{font-size:16.5px}
  .acces .acc small{font-size:14.5px;margin-top:1px}
  .rec .y{margin-top:1px}
  .rec .mk{margin:4px 0}
}

/* ===== Version d'après l'audit : défilement natif, menu par besoins, effets courts ===== */
:root{--wv:clamp(26px,4.4vw,66px)}
.blk{position:relative;z-index:1;background:var(--bg);color:var(--fg)}
.blk>.w{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:var(--wv);display:block;color:var(--bg);pointer-events:none}
.logos-band{z-index:1}
.logos-band>.w{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:var(--wv);display:block;color:#fff;pointer-events:none}
main>.blk:last-child{padding-bottom:calc(var(--rh) + clamp(40px,6vw,96px))}
footer{z-index:2}
#records,#newsletter{scroll-margin-top:calc(var(--hh) + 18px)}

/* Changement de page : fondu court du contenu, l'en-tête ne bouge pas */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:ease}
.top{view-transition-name:top}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
html{scroll-behavior:auto}

/* En-tête : transparent en haut du bloc, teinté quand le contenu passe dessous */
.top{background:transparent!important;box-shadow:none!important}
.top.solid{-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}
.top.solid[data-t="hero"],.top.solid[data-t="dark"]{background:rgba(14,14,17,.88)!important}
.top.solid[data-t="light"]{background:color-mix(in srgb,var(--bg) 92%,transparent)!important;box-shadow:0 1px 0 var(--ln)!important}
.top.solid[data-t="red"]{background:rgba(227,6,19,.95)!important}
.menu-open .top.solid{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none!important}

/* Menu du haut : trois besoins du public | trois autres publics */
.nav{gap:22px}
.nav a.on::after{transform:scaleX(1)}
.nsep{display:block;width:1px;height:18px;background:currentColor;opacity:.35;margin:0 2px}
.top .langs.d button{min-width:30px;padding:10px 5px}
@media (min-width:1280px){.burger{display:none}.top .cta{margin-left:4px}}
.top .mgp{align-items:center;gap:6px;padding:12px 16px;border-radius:999px;background:var(--red);color:#fff;font:700 12px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.top .mgp svg{width:13px;height:13px}
.top[data-t="red"] .mgp{background:#fff;color:var(--ink)}
@media (min-width:1280px) and (max-width:1499px){
  .top .bar{gap:18px}.nav{gap:16px}.nav a{font-size:12px;letter-spacing:.1em}
  .top .cta{display:none}
}
@media (min-width:1280px) and (max-width:1499px),(max-width:1060px){.top .mgp{display:inline-flex}}
@media (min-width:901px) and (max-width:1060px){.top .mgp{margin-left:auto}.burger{margin-left:6px}}
.menu-open .top .mgp{visibility:hidden}
/* Menu plein écran (tablette et téléphone) : la même liste, en grand */
.mmenu{padding:100px var(--gut) 30px;transition:clip-path .45s var(--ease)}
.mm-in{justify-content:center;max-width:1100px}
.mmenu a.ml.on,.mmenu a.ml[aria-current]{color:#FF4B55}
.mm-f{margin-top:clamp(24px,5vh,50px);padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.mm-c{margin:18px 0 0;font-size:14px;color:#9A9AA3}
.mm-c a{color:#C9C9D0;text-decoration:none}

/* ===== Héros ===== */
.hero::after{display:none}
.hero .wave{bottom:-1px;height:min(12vw,17vh)}
.hero .in{padding-bottom:calc(min(12vw,17vh) + 26px)}
.hr{flex-direction:row;align-items:flex-end;gap:10px;width:auto}
.count{min-width:0;padding:18px 26px 20px}
.count p{margin-bottom:10px}
.cd1{display:flex;align-items:baseline;gap:12px}
.cd1 b{font:700 clamp(52px,4.6vw,80px)/.9 var(--title);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cd1 span{font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.hs-pp{display:grid;place-items:center;flex:none;width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;color:#fff;background:rgba(14,14,17,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);transition:background-color .3s}
.hs-pp:hover{background:rgba(14,14,17,.7)}
.hs-pp svg{width:18px;height:18px}
.hs-pp .i-pl,.hs-pp.off .i-pa{display:none}
.hs-pp.off .i-pl{display:block}
.hs-pp[hidden]{display:none}
@media (max-height:720px){.hr .count{display:block}}

/* ===== Pourquoi venir ===== */
.why .phd{margin-bottom:clamp(22px,4vh,46px)}
.why-c{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.wc{display:flex;flex-direction:column;min-width:0;background:var(--ink-2);border-radius:var(--r);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.wc figure{margin:0;aspect-ratio:16/10;overflow:hidden}
.wc img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.wc:hover img{transform:scale(1.04)}
.wc-t{padding:clamp(18px,1.8vw,26px) clamp(18px,1.8vw,28px) clamp(20px,2vw,30px)}
.wc-t small{display:block;font:700 12px/1 var(--title);letter-spacing:.06em;color:#FF4B55}
.wc-t h3{font-size:clamp(21px,1.75vw,28px);line-height:1.02;margin:12px 0 10px}
.wc-t p{margin:0;color:#C9C9D0;font-size:16px;line-height:1.45}
.why-s{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,auto);gap:clamp(24px,4vw,70px);align-items:end;margin-top:clamp(28px,5vh,60px)}
.why .stat b{font-size:clamp(36px,min(3.8vw,7vh),66px)}
.why-v{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;font-size:16px}
.why-v>span{font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#9A9AA3;margin-bottom:2px}
.why-v .ulink{color:#fff}
.why .src{color:#8E8E97}

/* ===== Programme en bref ===== */
.brief .in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,110px);align-items:center}
.brief .in>*{min-width:0}
.brief .t.pt{font-size:clamp(36px,min(4.8vw,8.4vh),84px)}
.brief .soon{margin-top:clamp(18px,3vh,28px)}
.soon .k i{animation:none}
.hl{margin-top:clamp(18px,3.2vh,32px);border-top:2px solid var(--ink)}
.hl-k{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 20px;margin:0;padding:13px 0 6px;font-size:14px;color:var(--muted)}
.hl-k b{font:700 12px/1.3 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.hl ol{list-style:none;margin:0;padding:0}
.hl li{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:clamp(8px,1.3vh,13px) 0;border-bottom:1px solid var(--hair)}
.hl time{font:700 16px/1 var(--title);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.hl .ev{font-size:16.5px;line-height:1.3}
.hl .ev b{font-weight:700}
.hl .ev span{color:var(--muted)}
.hl .tag{font:700 10px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:var(--red);color:#fff;white-space:nowrap}
.hl li.x{grid-template-columns:58px minmax(0,1fr);border-bottom-style:dashed}
.hl li.x .ev{font-weight:700;color:var(--red)}
.brief .mgl{margin-top:clamp(18px,3.4vh,32px)}
.br-r{display:flex;flex-direction:column;align-items:center;gap:16px}
.br-c{margin:0;font:700 12px/1.4 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center}
.brief .phone{--pw:min(300px,22vw,calc((100svh - var(--hh) - 2 * var(--pad) - 80px) * .45))}

/* ===== Accès et infos pratiques ===== */
.acces .good{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 clamp(16px,3vh,28px)}

/* ===== En direct ===== */
.lc h3.t{font-size:clamp(24px,min(2.4vw,4.4vh),38px);margin:clamp(16px,3vh,34px) 0 10px}

/* ===== Photos et newsletter ===== */
.galnl .phd{margin-bottom:clamp(18px,3.4vh,40px)}
.bento.b6{flex:none;height:clamp(380px,58vh,640px);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"a a b c" "a a d e";gap:clamp(8px,1vw,14px)}
.bento.b6 .gi:nth-child(6){display:none}
@media (min-width:1280px){.bento.b6{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"a a b c f" "a a d e f"}.bento.b6 .gi:nth-child(6){display:block}}
.nlp{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(10px,2vw,30px);align-items:stretch;margin-top:clamp(14px,1.6vw,22px);padding:clamp(10px,1vw,14px);border-radius:var(--r);background:var(--red);color:#fff}
.nlp>*{min-width:0}
.nlp-l{display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,2.6vw,44px)}
.nlp-l .ey{color:#fff;margin-bottom:16px}
.nlp-l h3{font-size:clamp(32px,3.6vw,60px);margin:0 0 16px}
.nlp-p{margin:0 0 clamp(20px,3vh,30px);max-width:30em;font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:rgba(255,255,255,.9)}
.nlp-k{margin:0 0 10px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.nlp-d{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.32)}
.nlp-d li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.32);font-size:16px;line-height:1.35}
.nlp-d b{font:700 18px/1.2 var(--title);letter-spacing:.02em}
.nlp .nl{min-height:clamp(360px,34vw,500px);border-radius:calc(var(--r) - 6px)}

/* ===== En-têtes des pages Athlètes, Bénévoles, Partenaires ===== */
.blk.hd{min-height:clamp(560px,84svh,980px)}
.hp9 .in{grid-template-columns:minmax(0,1fr)}
.hp9 .hp-l{max-width:60rem}
.hp9 .ph-m,.hp9::before{bottom:calc(-1 * var(--wv))}
.hp9 .acts{margin-top:clamp(20px,3.6vh,34px)}

/* ===== Athlètes : My Guide et records ===== */
.athg2 .in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,110px);align-items:start}
.athg2 .in>*{min-width:0}
.athg2 .t.pt{font-size:clamp(34px,min(4.2vw,7.4vh),72px)}
.athg2 .links{margin-top:clamp(18px,3.4vh,34px)}
.ag2-r .phd-s{margin-top:12px}
.rt{list-style:none;margin:clamp(16px,3vh,26px) 0 0;padding:0;border-top:2px solid var(--ink)}
.rt li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(5.4em,auto) minmax(0,1.6fr) 46px;align-items:center;gap:0 16px;padding:clamp(7px,1.15vh,11px) 0;border-bottom:1px solid rgba(14,14,17,.13)}
.rt .e{font:700 12px/1.25 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rt .mk{font:700 clamp(20px,1.7vw,26px)/1 var(--title);font-variant-numeric:tabular-nums;white-space:nowrap}
.rt .mk small{font-size:.5em;margin-left:.15em;color:var(--muted)}
.rt .who{font-size:15.5px;line-height:1.25;font-weight:600;min-width:0}
.rt .who small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--muted)}
.rt i{justify-self:end;font:700 10px/1 var(--text);font-style:normal;letter-spacing:.1em;padding:5px 7px;border-radius:999px;background:var(--red);color:#fff}
.rt li.n .mk{color:var(--red)}

/* Lisibilité du texte blanc sur les photos (mesurée sur les captures) */
.hero::before{background:linear-gradient(180deg,rgba(14,14,17,.55) 0%,rgba(14,14,17,0) 20%,rgba(14,14,17,.14) 42%,rgba(14,14,17,.84) 86%),linear-gradient(90deg,rgba(14,14,17,.68),rgba(14,14,17,.22) 58%,rgba(14,14,17,0) 78%)}
.hp::before{background:linear-gradient(180deg,rgba(14,14,17,.62) 0%,rgba(14,14,17,0) 20%,rgba(14,14,17,.3) 46%,rgba(14,14,17,.9) 100%),linear-gradient(90deg,rgba(14,14,17,.72),rgba(14,14,17,.26) 56%,rgba(14,14,17,0) 80%)}
.hero .kick,.hero h1,.hero-meta,.hp .kick,.hp h1,.hp .lead{text-shadow:0 1px 18px rgba(14,14,17,.45)}
@media (max-width:900px){
  .hero::before{background:linear-gradient(180deg,rgba(14,14,17,.6) 0%,rgba(14,14,17,.12) 18%,rgba(14,14,17,.5) 40%,rgba(14,14,17,.9) 78%)}
  .hp::before{background:linear-gradient(180deg,rgba(14,14,17,.6) 0%,rgba(14,14,17,.15) 18%,rgba(14,14,17,.58) 42%,rgba(14,14,17,.92) 80%)}
}

/* ===== Tablette et téléphone ===== */
@media (max-width:900px){
  .blk{min-height:0;padding:calc(var(--hh) + 6px) 0 calc(var(--wv) + 34px)}
  .blk.hd{min-height:78svh}
  .pc{justify-content:flex-start}
  .blk.hd{padding-bottom:var(--wv)}
  .hero .in{padding-bottom:calc(120px + 18px)}
  .hero .wave{height:120px}
  .hr{align-items:stretch}
  .count{flex:1;max-width:none}
  .cd1 b{font-size:44px}
  .hs-pp{align-self:flex-end}
  .why-c{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .why-c::-webkit-scrollbar{display:none}
  .wc{flex:none;width:min(80vw,360px);scroll-snap-align:start}
  .why-s{grid-template-columns:minmax(0,1fr)}
  .why .stats{grid-template-columns:minmax(0,1fr);gap:0}
  .why .stat{display:grid;grid-template-columns:7.6em minmax(0,1fr);gap:14px;align-items:baseline;padding:14px 0}
  .why .stat b{font-size:30px}
  .why .stat p{margin:0;font-size:14.5px;line-height:1.4}
  .brief .in,.athg2 .in{grid-template-columns:minmax(0,1fr)}
  .br-r{display:none}
  .bento.b6{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(130px,34vw,220px);grid-template-areas:"a a" "b c" "d e"}
  .nlp{grid-template-columns:minmax(0,1fr);padding:8px}
  .nlp-l{padding:20px 14px 12px}
  .nlp .nl{min-height:0}
  .hp9 .ph-m,.hp9::before{bottom:calc(-1 * var(--wv))}
  .rt li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .rt .who{grid-column:1}
  .rt i{grid-column:2}
  .mmenu{padding-top:90px}
}
@media (max-width:520px){
  .hl li{grid-template-columns:50px minmax(0,1fr);row-gap:6px}
  .hl .tag{grid-column:2;justify-self:start}
  .hl li.x{grid-template-columns:50px minmax(0,1fr)}
}

/* ===== Textes officiels et plan redessiné (24 oct.) ===== */
.st-k{margin:0 0 clamp(12px,2vh,18px);font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#9A9AA3}
.mgx{margin-top:clamp(20px,3.6vh,34px)}
.mgx-k{margin:0 0 6px;font:700 12px/1.3 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.brief .links a{font-size:17px}
.lcards.l2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nlp-n{margin:14px 0 0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.82)}

/* Plan d'accès en relief */
.acces .row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center}
.plan3{position:relative;width:100%;min-width:0}
.pl-in{position:relative}
.pl-in>svg{display:block;width:100%;height:auto;overflow:visible}
.pl-pins{position:absolute;inset:0;pointer-events:none}
.plan3 .pin{transition:opacity .4s var(--ease)}
.plan3 .pin.dim{opacity:.32}
.pin.dn>b{bottom:auto;top:16px}
.pin.dn>b::after{top:auto;bottom:100%}
.pl-lb{font:700 9px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;fill:rgba(14,14,17,.5)}
.pl-w{fill:#2F5874}
.pl-nl{font:700 10px/1 var(--title);fill:var(--ink)}
.pl-src{font:400 9px/1 var(--text);fill:rgba(14,14,17,.45)}
.pl-edge{position:absolute;right:2.6%;display:inline-flex;align-items:center;gap:7px;margin-top:-15px;padding:6px 11px 6px 6px;border-radius:999px;background:rgba(255,255,255,.94);
  font:700 10.5px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);box-shadow:0 0 0 1px rgba(14,14,17,.08),0 6px 16px -10px rgba(14,14,17,.4);pointer-events:none}
.pl-edge i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--muted);color:#fff;font:700 10px/1 var(--title);font-style:normal}
.acc-n{margin:0 0 clamp(14px,2.6vh,22px);font-size:14.5px;line-height:1.45;color:var(--muted)}
.acc-n b{color:var(--ink);font-weight:700}
.free{display:flex;align-items:center;gap:12px;margin:0 0 clamp(16px,3vh,26px);padding:12px 16px;border-radius:var(--r-s);background:#fff;font-size:15px;line-height:1.35}
.free svg{flex:none;width:26px;height:26px;color:var(--red)}
.free b{font-size:16px}
.free span span{color:var(--muted)}

/* Offre de partenariat */
.partner .pk{gap:0;font-size:18px;border-top:1px solid rgba(255,255,255,.35)}
.pk li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:clamp(10px,1.8vh,15px) 0;border-bottom:1px solid rgba(255,255,255,.35)}
.pk b{font:700 clamp(22px,2vw,30px)/1 var(--title);white-space:nowrap;font-variant-numeric:tabular-nums}
.pk-n{margin:clamp(12px,2vh,16px) 0 0;max-width:38em;font-size:15px;line-height:1.5;color:rgba(255,255,255,.88)}

/* Records : deux colonnes, hommes et femmes */
.recs9 .rt2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,70px);margin-top:clamp(20px,3.6vh,40px)}
.rth{margin:0 0 10px;font:700 13px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.recs9 .rt{margin:0}
.recs9 .rt li{grid-template-columns:minmax(0,1fr) minmax(6.6em,auto) minmax(0,1.5fr)}
.rt .mk small.wd{font:600 11px/1 var(--text);letter-spacing:.02em;margin-left:.6em;vertical-align:.3em}

/* Surtitres : le trait se dessine à l'apparition */
.m main .ey.ax::before{transform:scaleX(0);transition:transform .9s var(--ease) .25s}
.m main .ey.ax.seen::before{transform:none}

/* Mouvement lié au défilement (navigateurs qui le gèrent) : bords en vague qui montent, photos en léger relief */
@supports (animation-timeline:view()){
  .m main .blk>.w{transform-origin:50% 100%;animation:atg-wv linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .m .wc figure img,.m .partner .fig img,.m .club .fig img{scale:1.1;animation:atg-px linear both;animation-timeline:view();animation-range:cover}
  .m .hp .ph-m img{animation:atg-hp linear both;animation-timeline:scroll(root);animation-range:0 100vh}
  .m .hero .hero-media{animation:atg-hp linear both;animation-timeline:scroll(root);animation-range:0 100vh}
}
@keyframes atg-wv{from{transform:scaleY(.2)}to{transform:none}}
@keyframes atg-px{from{translate:0 -4%}to{translate:0 4%}}
@keyframes atg-hp{from{translate:0 0}to{translate:0 14%}}
/* Héros : lent zoom sur la photo affichée, arrêté par le bouton pause */
.m .hero .hs.on img,.m .hero .hs.was img{animation:atg-kb 14s cubic-bezier(.3,0,.7,1) both}
.m .hero .hero-media.hs-off .hs img{animation-play-state:paused}
@keyframes atg-kb{from{scale:1}to{scale:1.035}}

@media (max-width:900px){
  .acces .row{grid-template-columns:minmax(0,1fr)}
  .plan3{order:2}
  .lcards.l2{grid-template-columns:minmax(0,1fr)}
  .recs9 .rt2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .plan3 .pin>b>span{display:none}
  .plan3 .pin>b{padding:5px;gap:0}
  .pl-edge{display:none}
  .pl-lb{font-size:22px}
  .pl-src{font-size:20px}
  .recs9 .rt li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"e mk" "who mk"}
  .recs9 .rt .e{grid-area:e}.recs9 .rt .mk{grid-area:mk}.recs9 .rt .who{grid-area:who}
  .pk li{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.m main .blk>.w,.m .wc figure img,.m .partner .fig img,.m .club .fig img,.m .hp .ph-m img,.m .hero .hero-media,.m .hero .hs img{animation:none}}

/* offre 2027 : lignes sans tiret ; photo limitée à sa colonne */
.partner .pk li::before{content:none}
.partner .pk li{font-size:17px}
.partner .fig,.club .fig{aspect-ratio:auto;width:100%;min-width:0}

/* départ vers une autre page : fondu court pendant que la page remonte */
html.leaving body{opacity:0;transition:opacity .16s ease}

/* Plan 3D interactif (le plan dessiné sert d'affiche, puis de secours sans WebGL) */
#plan3.map3d{width:100%;aspect-ratio:6/5;max-height:none;background:radial-gradient(120% 90% at 50% 40%,#FFFFFF 0%,#F6F2ED 55%,#EDE6DE 100%)}
#plan3.map3d::before{display:none}
#plan3 .pl-in{position:absolute;left:3%;right:3%;top:50%;transform:translateY(-50%);z-index:0;transition:opacity .8s var(--ease)}
#plan3.live .pl-in{opacity:0!important;visibility:hidden;pointer-events:none;transition:opacity .8s var(--ease),visibility 0s .8s}
#plan3:not(.live) .mp-ui,#plan3:not(.live) .mp-n,#plan3:not(.live) .mp-hint{display:none}
#plan3:not(.gl) canvas,#plan3:not(.gl) .mp-pins{display:none}
#plan3 .mp-n{border:0;padding:0;cursor:pointer}
#plan3 .mp-n:hover{background:#fff;box-shadow:0 6px 18px -6px rgba(14,14,17,.45)}
#plan3 .mp-pins .pin>b{pointer-events:auto;cursor:pointer}
#plan3 .mp-pins .pin.hid>b{transform:translateX(calc(-50% + var(--sx,0px))) translateY(6px)}
#plan3 .mp-pins .pin>b{transition:opacity .7s var(--ease),transform .9s var(--ease),background-color .4s,color .4s}
#plan3 .pin::after{transition:opacity .7s var(--ease)}
#plan3.wait:not(.fb) .pl-in{opacity:0;visibility:hidden}
#plan3.map3d canvas{transition:opacity 1.2s var(--ease)}
#plan3 .mp-src{z-index:3}
#plan3.live .mp-src{opacity:1}
@media (max-width:900px){#plan3.map3d{aspect-ratio:1/1}}
@media (max-width:600px){.plan3 .pin.on>b>span{display:inline}.plan3 .pin.on>b{padding:6px 10px 6px 6px;gap:6px}}

/* ---------- Détails ---------- */
::selection{background:var(--red);color:#fff}
.btn:active{transform:scale(.985)}
.m main img.fi{opacity:0;transition:opacity .9s var(--ease)}
.m main img.fi.ok{opacity:1}
.recs9 .rt li{transition:background-color .35s var(--ease)}
.recs9 .rt li:hover{background:rgba(14,14,17,.025)}
/* Galerie : photo qui s'approche à peine au survol, ouverture en grand */
figure.gi{cursor:zoom-in}
figure.gi img{transition:transform 1.6s var(--ease)}
figure.gi:hover img{transform:scale(1.03)}
figure.gi:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.lb{position:fixed;inset:0;z-index:500;display:grid;place-items:center}
.lb[hidden]{display:none}
.lb-bg{position:absolute;inset:0;background:rgba(14,14,17,.92)}
.lb-f{position:relative;margin:0;max-width:min(90vw,1360px);display:flex;flex-direction:column;align-items:center;gap:16px;touch-action:pan-y}
.lb-f img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:6px;user-select:none;-webkit-user-drag:none}
.lb-f figcaption{display:flex;gap:16px;align-items:baseline;color:rgba(255,255,255,.62);font-size:14px}
.lb-n{font:600 11px/1 var(--title);letter-spacing:.16em;color:rgba(255,255,255,.85)}
.lb button{position:absolute;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:border-color .3s,background-color .3s}
.lb button:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.06)}
.lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lb button svg{width:16px;height:16px}
.lb-x{top:24px;right:24px}.lb-p{left:24px;top:50%;margin-top:-22px}.lb-q{right:24px;top:50%;margin-top:-22px}
html.lb-on{overflow:hidden}
@media (max-width:700px){.lb-p,.lb-q{top:auto;bottom:24px;margin:0}.lb-f img{max-height:70vh}.lb-f figcaption{flex-direction:column;align-items:center;gap:6px;text-align:center;padding:0 16px}}
@media (prefers-reduced-motion:reduce){figure.gi img{transition:none}figure.gi:hover img{transform:none}.m main img.fi{opacity:1}}

/* plan : repère de l'entrée, aide plus discrète */
.pin.en i{background:var(--red);color:#fff}
#plan3 .mp-hint{top:auto;bottom:16px;left:50%;padding:7px 13px;background:rgba(255,255,255,.92);color:var(--muted);font:500 12.5px/1.2 var(--text);box-shadow:0 6px 18px -10px rgba(14,14,17,.35)}
@media (max-width:600px){#plan3 .mp-hint{left:12px;right:auto;transform:none;bottom:30px;max-width:calc(100% - 70px);border-radius:999px}}

/* Plan : noms de lieux masqués sous une étiquette, pulsation discrète */
.mp-lab span{transition:opacity .35s var(--ease)}
.mp-lab.cov span{opacity:0}
.pin.on::after{animation:pinp 2.8s var(--ease) 3}
@keyframes pinp{0%{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 3px rgba(227,6,19,.35)}100%{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 13px rgba(227,6,19,0)}}

/* iPhone : vraie page d'accueil de My Guide */
.scr.real{background:#000}
.scr.real img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.phone.real .home{background:rgba(255,255,255,.82)}

/* Records : sur téléphone, hommes ou femmes au choix */
.rsw{display:none}
@media (max-width:900px){
  .rsw{display:inline-flex;gap:4px;margin-top:22px;padding:4px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(14,14,17,.07)}
  .rsw button{border:0;background:none;padding:10px 18px;border-radius:999px;font:700 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease)}
  .rsw button[aria-pressed=true]{background:var(--ink);color:#fff}
  .recs9 .rth{display:none}
  .recs9 .rt2>div:nth-child(2),.recs9 .rt2.w>div:first-child{display:none}
  .recs9 .rt2.w>div:nth-child(2){display:block;animation:rsin .5s var(--ease)}
  .recs9 .rt2:not(.w)>div:first-child{animation:rsin .5s var(--ease)}
}
@keyframes rsin{from{opacity:0}to{opacity:1}}

/* Blocs repliables : on voit le titre, un clic déplie le contenu */
.fold-s .phd{margin-bottom:0}
.blk:has(.fold-s),.blk.fold-blk{min-height:0}
.fold-s .phd-r{display:flex;flex-direction:column;align-items:flex-end}
.fold-s .phd>div:first-child{cursor:pointer}
.fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.fold-in{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .8s}
.fold-s.open .fold{grid-template-rows:1fr}
.fold-s.open .fold-in{visibility:visible;transition-delay:0s}
.fold-in>:first-child{margin-top:clamp(26px,4.4vh,48px)}
.fold-in .rc-s{margin-bottom:6px}
.galnl .fold-in .bento{margin-bottom:0}
.gal-cr{margin:14px 0 0;text-align:right}
.fold-b{display:inline-flex;align-items:center;gap:14px;padding:0;border:0;background:none;color:inherit;cursor:pointer;font:700 12px/1 var(--text);letter-spacing:.16em;text-transform:uppercase}
.fold-b .x,.fold-s.open .fold-b .o{display:none}
.fold-s.open .fold-b .x{display:inline}
.fold-b i{position:relative;flex:none;width:52px;height:52px;border-radius:50%;box-shadow:inset 0 0 0 1px currentColor;opacity:.9;transition:background-color .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease)}
.fold-b i::before,.fold-b i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:currentColor;transition:transform .6s var(--ease)}
.fold-b i::after{transform:rotate(90deg)}
.fold-s.open .fold-b i::after{transform:rotate(0)}
@media (hover:hover){.fold-b:hover i,.fold-s .phd:hover .fold-b i{background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
  .fold-b:hover i::before,.fold-b:hover i::after,.fold-s .phd:hover .fold-b i::before,.fold-s .phd:hover .fold-b i::after{background:#fff}}
.fold-b:focus-visible{outline:none}.fold-b:focus-visible i{outline:2px solid var(--red);outline-offset:3px}
@media (max-width:900px){.fold-s .phd-r{align-items:flex-start;margin-top:6px}.fold-b i{width:46px;height:46px}.gal-cr{text-align:left}}
@media (prefers-reduced-motion:reduce){.fold,.fold-in,.fold-b i::after{transition:none}}
.nlb .nlp{margin-top:0}

/* Rythme commun : chaque bloc commence à la même distance de sa vague, titres à la même taille */
.blk:not([data-tone=hero]) .pc .t.pt{font-size:clamp(34px,5.6vw,80px)}
@media (min-width:901px){
  .blk:not([data-tone=hero]){min-height:0}
  .blk:not([data-tone=hero])>.pc{justify-content:flex-start;padding-block:clamp(44px,6.4vh,72px)}
}
@media (max-width:900px){.blk:not([data-tone=hero]) .pc .t.pt{font-size:clamp(34px,9.6vw,52px)}}
@media (min-width:901px){
  /* Accès comme les autres blocs : le texte à gauche, le plan à droite */
  .acces .row{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);align-items:start}
  .acces .row>.body{order:-1}
  /* Club des 500 comme l'offre : le titre en haut, pas centré sur la photo */
  .club .in{align-items:start}
}

/* Rubans : seule la bande réagit à la souris ; sur les autres pages, même place qu'à l'accueil */
.wave{pointer-events:none}
.wave .wv-b{pointer-events:stroke}
.wave text{pointer-events:auto}
.hp9 .wave{bottom:-1px;height:min(12vw,17vh)}
.hp9.has-rib{padding-bottom:calc(min(12vw,17vh) + 10px)}
.blk.rib{padding-bottom:0}
.blk.rib+.blk>svg.w{display:none}
@media (max-width:900px){.hp9 .wave{height:120px}.hp9.has-rib{padding-bottom:132px}}
/* Agenda et newsletter : autant de sable au-dessus qu'en dessous de la carte */
#newsletter>.pc.nlb{margin-top:-56px;padding-bottom:calc(clamp(44px,6.4vh,72px) + 40px)}
@media (max-width:900px){#newsletter>.pc.nlb{margin-top:-36px;padding-bottom:56px}}

/* Mouvement : un seul langage, discret. Contenu replié qui apparaît en fondu, survols des photos à la même amplitude */
.fold-in>*{opacity:0;transition:opacity .35s var(--ease)}
.fold-s.open .fold-in>*{opacity:1;transition:opacity .8s var(--ease) .18s}
.card:hover .bg img,.vcard:hover .bg img,.bento .gi:hover img,.wc:hover img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.fold-in>*{transition:none}}

/* Sur-titres : le tiret devient une petite vague du logo (même place, même discrétion). La vague est un peu plus
   haute que sur le logo, sinon à cette taille elle ne se distingue pas d'un trait. Le point des en-têtes suit le même modèle. */
:root{--sw:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='17.18 80.26 360.25 18.03' preserveAspectRatio='none'><path d='M 287.78 80.58 C 253.06 80.31 228.44 82.14 198.21 84.32 C 167.98 86.51 137.39 89.60 107.35 89.83 C 77.33 90.05 47.77 87.85 17.57 82.21 L 17.47 83.00 C 46.49 92.02 81.55 102.82 152.00 95.65 C 167.84 94.04 186.89 91.78 202.06 90.26 C 232.34 87.21 257.44 84.11 287.56 83.17 C 317.67 82.25 347.64 83.40 377.12 88.70 C 347.75 82.54 317.85 80.81 287.78 80.58'/></svg>")}
.ey::before,.kick i{width:30px;height:5px;border-radius:0;background:currentColor;flex:none;
  -webkit-mask:var(--sw) no-repeat 0 0/100% 100%;mask:var(--sw) no-repeat 0 0/100% 100%}
.kick i{background:var(--red);margin-top:1px}

/* En-têtes des pages : photos qui défilent (relief au défilement sur la photo, léger zoom lent sur celle affichée) */
@supports (animation-timeline:view()){.m .hp .ph-m img{animation:none}.m .hp .ph-m .hs{animation:atg-hp linear both;animation-timeline:scroll(root);animation-range:0 100vh}}
.m .hp .hs.on img,.m .hp .hs.was img{animation:atg-kb 14s cubic-bezier(.3,0,.7,1) both}
@media (prefers-reduced-motion:reduce){.m .hp .ph-m .hs,.m .hp .hs img{animation:none}}

/* =====================================================================
   Système commun (25 oct.) : une échelle de texte, trois boutons, deux cartes.
   Chargé en dernier : il prime sur les réglages bloc par bloc.
   ===================================================================== */
:root{
  --f1:12px;                                   /* sur-titres, étiquettes */
  --f2:14px;                                   /* boutons, notes, légendes */
  --f3:clamp(16px,1.2vw,17px);                 /* texte courant, listes, cartes */
  --f4:clamp(18px,min(1.45vw,2.5vh),21px);     /* chapeaux */
  --f5:clamp(21px,1.8vw,28px);                 /* titres de cartes, prix */
  --f6:clamp(32px,3.4vw,48px);                 /* sous-titres, grands chiffres */
  --ls:.18em;                                  /* interlettrage des étiquettes */
  --cp:clamp(20px,2vw,30px);                   /* marge intérieure des cartes */
}

/* ---------- Texte ---------- */
.ey,.pc .ey,.kick,.count p,.cd1 span,.st-k,.why-v>span,.mgx-k,.br-c,.lb-t,.grp h3,.rth,.nlp-k,.lc .st{font-size:var(--f1);letter-spacing:var(--ls)}
.ey,.pc .ey,.kick{line-height:1.3}
.mp-src,#plan3 .mp-src{font-size:var(--f1)}
.lead,.pc .lead,.stade .lead{font-size:var(--f4)}
.phd-s,.nlp-n,.nl small,.vnote,.pk-n,.acc-n,.acc small,.acces .acc small,.stat p,.why .stat p,.free,.free b,.deadline,.deadline b{font-size:var(--f2)}
.free b{font-weight:700}
.hero-meta,.wc-t p,.ess p,.lc p,.vd p,.days .vd p,.vgo p,.miss li,.missp .miss li,.acc b,.acces .acc b,.links a,.brief .links a,
.nlp-d li,.nl>p,.why-v,.ulink,.ess .ulink,.lc .ulink,.nl .ulink,.pk li,.partner .pk li,.partner .pk,.nl-f input{font-size:var(--f3)}
.nlp-d b{font-size:var(--f3)}
.wc-t h3,.ess b,.lc h3.t,.lc h2.t,.vd b,.days .vd b,.miss h3,.pk b,.hero-meta .date{font-size:var(--f5);line-height:1.05}
.nl h3,.nlp-l h3,.stat b,.why .stat b,.cd1 b{font-size:var(--f6)}

/* ---------- Boutons : principal (plein), secondaire (contour), lien ---------- */
.btn,.btn.big,.lc .btn,.nl-f .btn,.soon .btn{padding:19px 28px;font-size:var(--f2);letter-spacing:.14em}
.btn.line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.line::before{background:var(--ink)}
.btn.line:hover{--fg:#fff}
/* déplier un bloc = bouton secondaire, avec un + qui devient − */
.fold-b{padding:19px 24px 19px 28px;border-radius:999px;box-shadow:inset 0 0 0 1.5px currentColor;font-size:var(--f2);letter-spacing:.14em;gap:14px;
  transition:background-color .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease)}
.fold-b i,.fold-b i{width:14px;height:14px;border-radius:0;box-shadow:none;opacity:1;background:none}
.fold-b i::before,.fold-b i::after{width:14px;margin:-.75px 0 0 -7px}
@media (hover:hover){
  .fold-b:hover,.fold-s .phd:hover .fold-b{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
  .fold-b:hover i,.fold-s .phd:hover .fold-b i{background:none;box-shadow:none}
  .fold-b:hover i::before,.fold-b:hover i::after,.fold-s .phd:hover .fold-b i::before,.fold-s .phd:hover .fold-b i::after{background:currentColor}
}
.fold-b:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.fold-b:focus-visible i{outline:none}

/* « Publication à venir » : une phrase et un bouton secondaire, plus de barre noire */
.soon{background:none;color:inherit;border-radius:0;padding:0;gap:14px 22px;flex-wrap:wrap;overflow:visible}
.soon .k{display:none}
.soon b{font:600 var(--f3)/1.3 var(--text);text-transform:none;margin:0}
.soon .btn{flex:none}

/* ---------- Cartes : une carte photo (.wc), une carte d'information ---------- */
.wc,.lc,.ess>div,.vdays,.nl,.nlp{border-radius:var(--r)}
.wc-t,.lc,.ess>div{padding:var(--cp)}
.days .vd,.days .vgo{padding:var(--cp)}
.ess b{margin-bottom:10px}
.wc-t h3{margin:0 0 10px}
.lc h3.t{margin:clamp(16px,3vh,30px) 0 10px}

/* numéros : seulement pour les trois jours */
.acc button,.acc .nb{grid-template-columns:minmax(0,1fr) 22px}
.links a{grid-template-columns:minmax(0,1fr) 22px}

/* ---------- Rouge réservé aux actions et au direct : l'agenda passe en noir ---------- */
.nlp{background:var(--ink);color:#fff}
.nlp-l .ey{color:#FF4B55}
.nlp-d,.nlp-d li{border-color:rgba(255,255,255,.16)}
.nlp-d span{color:#E4E4E8}
.nlp-n{color:#9A9AA3}
.nlp .nl{background:var(--ink-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.nlp .nl::before{display:none}
.nl small a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.nl small a:hover{color:#fff}

/* ---------- Pied de page : lien vers la protection des données ---------- */
footer .legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ---------- Page Protection des données ---------- */
.blk[data-p="confidentialite"]{min-height:min(66svh,660px)}
.hp-txt{background:var(--ink)}
.hp-txt::before{display:none}
.hp-txt .t.pt{max-width:none}
.pv{border-top:1px solid var(--hair);max-width:62rem}
.pv>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px clamp(24px,4vw,64px);padding:clamp(18px,2.6vh,28px) 0;border-bottom:1px solid var(--hair)}
.pv h3{margin:0;font-size:var(--f5);line-height:1.05;text-transform:uppercase}
.pv p{margin:0;font-size:var(--f3);line-height:1.55;color:var(--muted);max-width:38em}
.pv p .ulink{color:var(--ink)}
.pv-f{margin:clamp(22px,3.6vh,36px) 0 0;font-size:var(--f3)}
.priv .in{padding-top:clamp(10px,2vh,24px)}

/* ---------- Téléphone ---------- */
@media (max-width:900px){
  .pv>div{grid-template-columns:minmax(0,1fr);gap:8px}
  .blk[data-p="confidentialite"]{min-height:56svh}
  .miss>div{border-radius:var(--r)}
}
@media (max-width:560px){
  .btn,.btn.big,.lc .btn,.nl-f .btn,.soon .btn{padding:18px 24px}
  .fold-b{padding:16px 20px 16px 22px}
  /* héros : deux boutons pleine largeur, sur-titre sur deux lignes, compte à rebours compact */
  .hero .ctas{flex-direction:column;align-items:stretch;gap:10px}
  .hero .ctas .btn{justify-content:center}
  .hero .kick{letter-spacing:.14em}
  .hr{align-items:flex-end}
  .count{flex:0 0 auto;width:auto;padding:12px 16px 12px}
  .count p{margin-bottom:6px}
  .cd1{gap:8px}
  .cd1 b{font-size:32px}
  .hp .acts{flex-direction:column;align-items:flex-start;gap:16px}
  .hp .acts .btn{align-self:stretch;justify-content:center}
  .soon .btn{align-self:flex-start}
}
.blk[data-p="donnees"]{min-height:0;padding-top:clamp(56px,8vh,96px)}
@media (max-width:560px){.kick .kd{display:block;height:0;overflow:hidden}}
/* Agenda : le jour du meeting en rouge et plus grand (même rouge que « Jour du meeting » sur fond noir) */
.nlp-d li{grid-template-columns:clamp(76px,6.4vw,96px) minmax(0,1fr)}
.nlp-d li.mt{align-items:center;padding:16px 0}
.nlp-d li.mt b{font-size:var(--f5);line-height:1;color:#FF4B55}
.nlp-d li.mt span{font-weight:700;color:#fff}

/* =====================================================================
   Retours du comité (29 oct.) : My Guide sous la photo, accès sans plan,
   piste rénovée sur Athlètes, page des records, ouverture des inscriptions
   ===================================================================== */
/* My Guide */
.mgb .in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,110px);align-items:center}
.mgb .in>*{min-width:0}
.mgb .t.pt{font-size:clamp(36px,min(4.8vw,8.4vh),84px)}
.mgb .phone{--pw:min(300px,22vw,calc((100svh - var(--hh) - 2 * var(--pad) - 80px) * .45))}
.mgf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,40px);border-top:2px solid var(--ink)}
.mgf li{padding:clamp(10px,1.6vh,14px) 0;border-bottom:1px solid var(--hair);font-size:var(--f3);font-weight:600;line-height:1.35}
.mg-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-top:clamp(22px,4vh,38px)}
.mg-cta .qr{display:flex;align-items:center;gap:14px;max-width:none;color:var(--ink)}
.mg-cta .qr img{flex:none;width:84px;height:84px;padding:6px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
.mg-cta .qr p{margin:0}
.mg-cta .qr b{display:block;max-width:15em;font-size:var(--f2);font-weight:700;line-height:1.3}
.mg-cta .qr small{display:block;margin-top:4px;font-size:var(--f1);color:var(--muted)}

/* Le meeting : lien vers les records */
.why .st-l{margin:clamp(14px,2.4vh,22px) 0 0;font-size:var(--f3)}
.why .st-l .ulink{color:#fff}

/* Accès : la liste à droite, l'entrée libre et My Guide à gauche */
.acc9 .row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,110px);align-items:start}
.acc9 .row>*{min-width:0}
.acc9 .t.pt{margin-bottom:clamp(18px,3.4vh,32px)}
.acl{list-style:none;margin:0 0 clamp(14px,2.6vh,22px);padding:0;border-top:2px solid var(--ink)}
.acl li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 16px;align-items:center;padding:clamp(12px,2vh,18px) 0;border-bottom:1px solid var(--hair)}
.acl .ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--red)}
.acl .ic svg{width:16px;height:16px}
.acl .ic b{font:700 15px/1 var(--title)}
.acl li>span:last-child b{display:block;font-size:var(--f3);font-weight:700;line-height:1.3}
.acl small{display:block;margin-top:3px;font-size:var(--f2);line-height:1.4;color:var(--muted)}
/* Accès : itinéraire dans Google Maps ou Plans */
.acc9 .maps{margin:clamp(22px,3.4vh,32px) 0 clamp(20px,3vh,28px)}
.acc9 .mp-l{margin:0 0 12px;font-size:var(--f2);font-weight:700;letter-spacing:.04em}
.acc9 .mp-b{display:flex;flex-wrap:wrap;gap:10px}
.acc9 .mp-b .btn{padding:15px 22px}

/* Athlètes : piste rénovée */
.piste .in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,6vw,110px);align-items:end}
.piste .in>*{min-width:0}
.piste .t.pt{margin:0;font-size:clamp(34px,min(4.2vw,7.4vh),72px)}
.piste .lead{margin:0;color:#E4E4E8;max-width:34em}
.blk[data-p="piste"]{min-height:0;padding-top:clamp(64px,10vh,120px);padding-bottom:calc(var(--wv) + clamp(48px,8vh,96px))}
.piste .in{row-gap:clamp(28px,5vh,52px)}
.piste .pi-f{grid-column:1/-1;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:3/1;background:#1B1B20}
.piste .pi-f img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}

/* Bénévoles : ouverture des inscriptions, à côté du bouton */
.reg-o{margin:0;font-size:var(--f2);letter-spacing:.04em}
.reg-o b{font-weight:700}

/* Page des records */
.blk[data-p="records"]{min-height:min(60svh,600px)}
.blk[data-p="records-liste"]{min-height:0;padding-top:clamp(48px,7vh,84px)}
.recs9 .rc-s{margin:0 0 6px}
.rc-b{margin:clamp(26px,4.4vh,44px) 0 0;font-size:var(--f3)}

@media (max-width:900px){
  .mgb .in,.acc9 .row,.piste .in{grid-template-columns:minmax(0,1fr)}
  .mg-cta .qr{display:none}
  .blk[data-p="records"]{min-height:50svh}
}
@media (max-width:900px){.piste .pi-f{aspect-ratio:2/1}}
@media (max-width:560px){.mgf{grid-template-columns:minmax(0,1fr)}.piste .pi-f{aspect-ratio:3/2}.acc9 .mp-b .btn{flex:1 1 100%;justify-content:center}}
/* En-tête : le bouton compact « My Guide » à toutes les largeurs ; « Ouvrir My Guide » n'apparaît qu'une fois, dans le bloc My Guide */
.top .cta{display:none}
@media (min-width:1061px){.top .mgp{display:inline-flex}}

/* Dossier de sponsoring : le bouton déplie la plaquette et le concept (deux PDF), vers le haut pour rester dans le bloc */
.dos{position:relative;display:inline-flex}
.btn .ar.ch svg{transition:transform .35s var(--ease)}
.btn:hover .ar.ch svg:first-child{transform:none}
.dos .btn[aria-expanded="true"] .ar.ch svg{transform:rotate(180deg)}
.dos-p{position:absolute;left:0;bottom:calc(100% + 10px);z-index:60;width:min(440px,calc(100vw - 32px));padding:6px;background:var(--paper);color:var(--ink);border-radius:var(--r-s);box-shadow:0 18px 48px rgba(14,14,17,.28);opacity:0;transform:translateY(6px);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.dos-p.on{opacity:1;transform:none}
.dos-p a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-radius:10px;color:inherit;text-decoration:none;transition:background-color .2s}
.dos-p a:hover,.dos-p a:focus-visible{background:var(--bone)}
.dos-p a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.dos-i{display:grid;place-items:center;width:36px;height:44px;border-radius:5px;background:var(--red);color:#fff;font:700 11px/1 var(--text);letter-spacing:.08em}
.dos-x b{display:block;font-size:var(--f3);font-weight:700;line-height:1.25}
.dos-x small{display:block;margin-top:2px;font-size:14px;line-height:1.35;color:var(--muted)}
.dos-x .dos-s{margin-top:5px;font-size:var(--f1);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dos-p .ar{color:var(--red)}
.dos-p a:hover .ar svg:first-child{transform:translate(120%,-120%)}
.dos-p a:hover .ar svg+svg{transform:translate(0,0)}
@media (max-width:560px){.acts .dos{align-self:stretch;flex:1 1 100%}.dos .btn{flex:1 1 auto;justify-content:center}.dos-p{width:100%}}
@media (prefers-reduced-motion:reduce){.dos-p,.btn .ar.ch svg{transition:none}}

/* Membre supporter : virement par QR-facture sous le bouton de don en ligne */
.vir{display:flex;align-items:center;gap:18px;margin-top:clamp(18px,3.2vh,30px);padding-top:clamp(16px,2.8vh,26px);border-top:1px solid var(--ln);max-width:560px}
.vir img{flex:none;width:104px;height:104px;padding:7px;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px var(--hair)}
.vir b{display:block;font-size:16px;margin-bottom:4px;color:var(--fg)}
.vir p{margin:0;color:var(--mu);font-size:15px;line-height:1.4}
.vir .iban{margin-top:8px;color:var(--fg);font-variant-numeric:tabular-nums}
.vir .iban span{white-space:nowrap}
@media (max-width:560px){.vir{align-items:flex-start;gap:14px}.vir img{width:84px;height:84px;padding:5px}.vir p{font-size:14px}}
