/* Feuille de style commune à toutes les pages du site (accueil et pages offres).
   Les chemins sont relatifs à ce fichier (media/). */
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0;padding:0}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url(fonts/dm-sans.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic.woff2) format("woff2")}
/* Concept : bandes blanches et vert forêt en alternance, grands titres DM Sans serrés avec un mot en serif italique,
   formes en arches et blobs, un seul accent chaud (corail) pour le bouton de réservation, or champagne pour le prestige.
   Look unique, sans mode sombre : toutes les couleurs sont explicites. */
:root{
  --forest:#0a3922; --forest-2:#0f4a2d; --forest-deep:#062616; --leaf:#1dbf73; --leaf-deep:#0e8a50;
  --coral:#ff643b; --coral-hover:#ff7a58; --on-coral:#06241a;
  --gold:#e6c887; --gold-bright:#fff3cf; --gold-deep:#8a6a1f;
  --paper:#ffffff; --ink:#10261b; --graphite:#3d4a43; --hairline:#dfe6e1; --mute-on-dark:#d2f2e3;
  --mint:#d2f2e3; --sage:#e4f7ee; --sky:#ccf0f8; --cream:#faf7e8; --lilac:#fdf0ff; --peach:#ffede8;
  --font:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --gutter:max(clamp(16px,5vw,64px),env(safe-area-inset-left,0px));
  --gutter-r:max(clamp(16px,5vw,64px),env(safe-area-inset-right,0px));
}
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;font-feature-settings:"ss03";overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--paper);z-index:60}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
svg{display:block}
img,video{max-width:100%}
button{font:inherit}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid var(--leaf);outline-offset:3px;border-radius:10px}
.light :focus-visible,header :focus-visible{outline-color:var(--forest)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-70px;background:var(--forest);color:#fff;padding:10px 18px;border-radius:40px;z-index:80;text-decoration:none}
.skip:focus{top:calc(10px + env(safe-area-inset-top,0px))}

/* Apparition au défilement : décalage seulement, tout reste lisible au repos */
html.js [data-reveal]{translate:0 36px;transition:translate 1s var(--ease) var(--d,0s)}
html.js [data-reveal].in{translate:0 0}
html.js .card[data-reveal]{transition:translate 1s var(--ease) var(--d,0s),transform .35s var(--ease)}
html.js [data-reveal="scale"]{translate:0 36px;scale:.94;transition:translate 1s var(--ease) var(--d,0s),scale 1s var(--ease) var(--d,0s)}
html.js [data-reveal="scale"].in{translate:0 0;scale:1}

/* Structure */
.wrap{max-width:1280px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r);position:relative}
.band{position:relative;overflow-x:clip;padding-block:clamp(64px,9vw,128px) clamp(80px,10vw,150px)}
.dark{background:var(--forest);color:#fff}
.light{background:var(--paper);color:var(--ink)}
.wave{position:absolute;left:0;right:0;bottom:-1px;height:clamp(28px,4.5vw,64px);pointer-events:none;z-index:2}
.wave svg{width:100%;height:100%}
.wave.to-white{color:var(--paper)} .wave.to-forest{color:var(--forest)}
/* Surtitre : texte à plat précédé d'un trait, jamais en pastille */
.eyebrow{display:inline-flex;align-items:center;gap:10px;width:fit-content;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--forest);cursor:default}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--leaf);flex:none}
.dark .eyebrow{color:var(--mint)}
.eyebrow.gold{color:var(--gold)}
.eyebrow.gold::before{background:var(--gold)}
h1{font-size:clamp(2.5rem,4.9vw,4.3rem);line-height:1;font-weight:600;letter-spacing:-.03em;text-wrap:balance}
h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;font-weight:600;letter-spacing:-.03em;text-wrap:balance}
h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;font-weight:700;letter-spacing:-.019em;text-wrap:balance}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em}
.dark .serif{color:var(--leaf)}
.light .serif{color:var(--leaf-deep)}
.head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:54ch}
.dark .lead{color:var(--mute-on-dark)}
.light .lead{color:var(--graphite)}

/* ---------- Cliquable ou pas : une seule règle pour tout le site ----------
   Cliquable = pastille complète (999px) avec flèche ou « + », états survol / focus / appui visibles.
     .btn-primary   : l'appel de 5 min, corail, partout (un seul par écran)
     .btn-secondary : contour
     .link-arrow    : tertiaire, lien souligné avec flèche
   Non cliquable = jamais de pastille.
     .flat : texte à plat (icône + libellé), sans fond ni bordure
     .tag  : petit rectangle teinté, angles de 8px, sans bordure, sans ombre, sans flottement */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:999px;font:600 1rem/1.2 var(--font);text-decoration:none;border:2px solid transparent;cursor:pointer;overflow:hidden;isolation:isolate;transition:background-color .2s ease,transform .25s var(--ease),border-color .2s ease,color .2s ease}
.btn:active{transform:translateY(1px) scale(.97)}
.btn .ic{width:20px;height:20px}
.btn-primary{background:var(--coral);color:var(--on-coral);font-weight:700}
.btn-primary::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:shine 4.5s ease-in-out infinite;z-index:-1}
@keyframes shine{0%,55%{left:-60%}100%{left:130%}}
.btn-primary:not([disabled]):hover{background:var(--coral-hover);transform:translateY(-2px)}
.btn-primary:not([disabled]):active{transform:translateY(0) scale(.97)}
.btn-secondary{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-secondary:hover{background:rgba(10,57,34,.09)}
.btn-secondary:active{background:rgba(10,57,34,.16)}
.dark .btn-secondary{color:#fff;border-color:rgba(255,255,255,.85)}
.dark .btn-secondary:hover{background:rgba(255,255,255,.12)}
.dark .btn-secondary:active{background:rgba(255,255,255,.2)}
.btn-big{min-height:60px;padding:16px 36px;font-size:1.1rem}
.btn-sm{min-height:44px;padding:8px 20px;font-size:.95rem}
.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;cursor:pointer}
.link-arrow .ic{width:18px;height:18px;transition:translate .2s var(--ease)}
.link-arrow:hover{text-decoration-thickness:3px}
.link-arrow:hover .ic{translate:3px 0}
.link-arrow:hover .ic.down{translate:0 3px}
.link-arrow:active{opacity:.7}
.flat{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;border-radius:0;box-shadow:none;cursor:default}
.flat .ic{width:18px;height:18px;flex:none}
.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:0;box-shadow:none;cursor:default;font-weight:700;font-size:.88rem;line-height:1.2}
.tag .ic{width:16px;height:16px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.halo{position:relative;display:inline-flex;border-radius:44px}
.halo::before,.halo::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--coral);opacity:0;animation:ping 2.8s ease-out infinite;pointer-events:none}
.halo::after{animation-delay:1.4s}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.28,1.55);opacity:0}}

/* Nav */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--hairline)}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--leaf),var(--gold));transform-origin:0 50%;transform:scaleX(0)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}
.brand-mark{width:38px;height:38px;background:var(--forest);color:#fff;display:grid;place-items:center;border-radius:58% 42% 55% 45%/48% 56% 44% 52%;font-size:1.05rem;border:2px solid var(--gold)}
.brand small{display:block;font-size:.72rem;font-weight:500;color:var(--graphite);letter-spacing:.02em;line-height:1}
.nav ul{display:flex;gap:6px;font-size:.95rem;font-weight:500}
.nav ul a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;text-decoration:none;color:var(--forest);transition:background-color .2s}
.nav ul a:hover{background:var(--sage)}
.nav ul a:active{background:var(--mint)}
/* ---------- HERO ---------- */
.hero-band{overflow:visible;overflow-x:clip;clip-path:inset(0 0 -300px 0);position:relative;z-index:3;padding-block:clamp(40px,6vw,88px) 0}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.orb.o1{width:520px;height:520px;right:-120px;top:-140px;background:radial-gradient(circle,rgba(29,191,115,.42),transparent 68%);animation:drift 16s ease-in-out infinite alternate}
.orb.o2{width:460px;height:460px;left:-160px;bottom:-80px;background:radial-gradient(circle,rgba(230,200,135,.2),transparent 68%);animation:drift 20s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(50px,40px)}}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero-left{display:grid;gap:clamp(22px,3vw,34px);min-width:0}
h1 .line{display:block}
h1 .line:first-child,h1 .eyebrow+.line{white-space:nowrap}
/* Surtitre placé dans le H1 (référencement) : même rendu qu'un surtitre posé juste au-dessus du titre */
h1 .eyebrow{display:flex;line-height:1.55;margin-bottom:clamp(22px,3vw,34px)}
.roll{display:inline-grid;vertical-align:bottom;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.roll span{grid-area:1/1;animation:roll 9s cubic-bezier(.65,0,.25,1) infinite both;translate:0 110%;will-change:translate}
.roll span:nth-child(1){animation-delay:-.4s}
.roll span:nth-child(2){animation-delay:2.6s}
.roll span:nth-child(3){animation-delay:5.6s}
@keyframes roll{0%{translate:0 110%}4.4%,33.3%{translate:0 0}37.7%,100%{translate:0 -110%}}
.grad{background:linear-gradient(100deg,var(--leaf),var(--gold) 55%,var(--leaf));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:200% 0}}
/* Portrait en arche */
.hero-right{position:relative;justify-self:center;width:100%;max-width:460px;--k:1}
.pt{position:relative;aspect-ratio:1/1.02}
.pt-ring{position:absolute;left:50%;top:52%;width:112%;aspect-ratio:1;translate:-50% -50%;border:2px dashed rgba(230,200,135,.6);border-radius:50%;animation:spin2 40s linear infinite}
@keyframes spin2{to{rotate:360deg}}
.pt-clip{position:absolute;inset:0;clip-path:inset(-25% -6% 0 -6% round 0 0 54px 54px)}
.pt-arch{position:absolute;left:0;right:0;bottom:0;height:80%;background:linear-gradient(170deg,var(--mint),#a9e3c6);border-radius:999px 999px 54px 54px}
.pt-img{position:absolute;left:-1%;bottom:-8%;width:102%;height:auto}
/* Mots décoratifs autour du portrait : étiquettes (.tag), léger mouvement conservé */
.fchip{position:absolute;background:#fff;color:var(--forest);font-size:.92rem;padding:8px 12px;animation:bob 4.6s ease-in-out infinite;white-space:nowrap}
.fchip .ic{width:18px;height:18px;color:var(--leaf-deep)}
.fchip.f1{left:-6%;top:22%}
.fchip.f2{right:-5%;top:36%;animation-delay:-1.5s}
.fchip.f3{left:-2%;bottom:20%;animation-delay:-3s}
@keyframes bob{0%,100%{translate:0 -6px}50%{translate:0 8px}}
.badge-card{position:absolute;right:-2%;bottom:-3%;background:var(--forest-deep);color:#fff;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;line-height:1.25;cursor:default}
.badge-card .ic{color:var(--gold)}
.px{translate:calc(var(--mx,0)*var(--k)*14px) calc(var(--my,0)*var(--k)*10px);transition:translate .25s ease-out}


/* ---------- SCHÉMA défis → solution → résultats (allégé) ---------- */
.flow{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,.62fr) 40px minmax(0,1fr);align-items:start;margin-top:clamp(36px,5vw,64px);padding:clamp(16px,2vw,24px) clamp(16px,2.4vw,32px);background:var(--forest-2);border:1px solid rgba(230,200,135,.28);border-radius:44px}
.fgrp{display:grid;gap:14px;justify-items:center}
.flabel{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.fnum{width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--forest);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1;flex:none;letter-spacing:0}
.icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.fi{display:grid;justify-items:center;gap:6px;font-weight:600;font-size:.82rem;text-align:center;line-height:1.15;color:#fff}
.fi .bub{width:clamp(44px,4.4vw,56px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff}
.fi:nth-child(1) .bub{background:var(--peach)}.fi:nth-child(2) .bub{background:var(--cream)}.fi:nth-child(3) .bub{background:var(--lilac)}.fi:nth-child(4) .bub{background:var(--sky)}
.fi svg{width:60%;height:60%;fill:none;stroke:var(--forest);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.res .fi .bub{background:var(--mint)}
.a-needle{transform-origin:12px 17px;animation:jit 1.6s ease-in-out infinite}
@keyframes jit{0%,100%{rotate:-26deg}25%{rotate:18deg}50%{rotate:-10deg}75%{rotate:26deg}}
.a-hand{transform-origin:12px 12px;animation:spin 5s linear infinite}
@keyframes spin{to{rotate:360deg}}
.a-drain{transform-origin:5px 12px;animation:drain 2.6s ease-in-out infinite alternate}
@keyframes drain{from{scale:.22 1}to{scale:.7 1}}
.a-c1{animation:apart 2.6s ease-in-out infinite alternate}.a-c2{animation:apart2 2.6s ease-in-out infinite alternate}
@keyframes apart{from{translate:-2.5px 0}to{translate:0 0}}
@keyframes apart2{from{translate:2.5px 0}to{translate:0 0}}
.farrow{display:grid;place-items:center;align-self:center}
.farrow span{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--forest);display:grid;place-items:center;animation:nudge 1.8s ease-in-out infinite}
.farrow svg{width:18px;height:18px}
@keyframes nudge{0%,100%{translate:-3px 0}50%{translate:4px 0}}
.sol .glove-big{width:clamp(72px,7vw,92px);aspect-ratio:1;border-radius:50%;background:var(--leaf);display:grid;place-items:center;box-shadow:0 0 0 7px rgba(29,191,115,.22)}
.sol .glove-big svg{width:62%;height:62%;animation:punch 1.7s ease-in-out infinite}
@keyframes punch{0%,55%,100%{translate:-4px 0;scale:1}62%{translate:7px 0;scale:1.14}74%{translate:-4px 0;scale:1}}
.sol b{font-size:.98rem;line-height:1.15;text-align:center;color:#fff}
.pop .fi{animation:pop .6s var(--ease) both;animation-delay:calc(var(--i,0)*.12s + .5s)}
@keyframes pop{from{scale:.6;translate:0 8px}to{scale:1;translate:0 0}}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ---------- RUBAN DESSINÉ ---------- */
.ribbon{position:relative;z-index:3;overflow:hidden;margin-top:-26px;padding-block:6px}
.ribbon-in{background:var(--leaf);rotate:-1.2deg;width:104%;margin-left:-2%;padding:7px 0;overflow:hidden;border-block:2px solid var(--forest)}
.track{display:flex;width:max-content;animation:slide 40s linear infinite}
.ribbon:hover .track{animation-play-state:paused}
.track span{display:inline-flex;align-items:center;gap:clamp(22px,3vw,40px);padding-right:clamp(22px,3vw,40px)}
.track .dr{width:clamp(34px,3.6vw,44px);height:clamp(34px,3.6vw,44px);flex:none}
.track .dot{width:7px;height:7px;border-radius:50%;background:var(--forest);flex:none}
@keyframes slide{to{translate:-25% 0}}

/* ---------- SÉANCES ---------- */
.sess{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px);max-width:780px;margin-inline:auto;align-items:start;position:relative}
.sess .vwrap:nth-child(2){margin-top:clamp(0px,6vw,80px)}
.vwrap{position:relative}
.vid{position:relative;aspect-ratio:9/16;border-radius:999px 999px 44px 44px;overflow:hidden;background:var(--forest-deep);border:3px solid var(--forest);box-shadow:0 0 0 3px var(--gold);transform:translateZ(0)}
.vid video,.vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vlabel{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.vtag{background:var(--forest-deep);color:#fff;padding:8px 12px;font-size:.92rem}
.live{width:9px;height:9px;border-radius:50%;background:var(--coral);animation:blink 1.4s ease-in-out infinite;flex:none}
@keyframes blink{50%{opacity:.25}}
.vbtn{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--forest);display:grid;place-items:center;cursor:pointer;flex:none}
.vbtn:hover{background:var(--mint)}
.vbtn:active{transform:scale(.92)}
.vbtn .ic{width:20px;height:20px}
.vbtn .i-play{display:none}
.vbtn[data-state="paused"] .i-play{display:block}
.vbtn[data-state="paused"] .i-pause{display:none}
.blob{position:absolute;border-radius:50%;pointer-events:none}
.blob.b1{width:min(60vw,520px);aspect-ratio:1;left:-12%;top:10%;background:var(--mint);opacity:.7}
.blob.b2{width:min(46vw,380px);aspect-ratio:1;right:-8%;bottom:8%;background:var(--peach);opacity:.9}
.seal{position:absolute;left:50%;top:44%;width:clamp(112px,15vw,170px);aspect-ratio:1;translate:-50% -50%;z-index:3;pointer-events:none}
.seal svg{width:100%;height:100%;animation:spin2 24s linear infinite}
.seal text{font:700 14.5px var(--font);letter-spacing:.12em;fill:var(--forest)}
.seal .disc{fill:var(--gold)}
.seal .core{fill:var(--forest)}
.seal-jm{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.9rem,3.6vw,2.9rem);color:var(--gold);line-height:1;padding-bottom:.08em}
.book-band{background:radial-gradient(120% 90% at 50% 0%,var(--forest-2),var(--forest) 55%,var(--forest-deep));overflow:hidden}
.sp{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold-bright);opacity:.15;animation:twinkle 3.6s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.1;scale:1}50%{opacity:.95;scale:2.2}}
.big5{position:absolute;right:2%;top:-4%;font-family:var(--serif);font-style:italic;font-size:clamp(14rem,34vw,34rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(230,200,135,.2);pointer-events:none;user-select:none}
.invite{position:relative;border-radius:52px;padding:2px;background:linear-gradient(160deg,rgba(230,200,135,.35),rgba(230,200,135,.08));max-width:1120px;margin-inline:auto}
.invite::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang),transparent 0 52%,var(--gold) 72%,var(--gold-bright) 78%,var(--gold) 84%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:angle 7s linear infinite}
@keyframes angle{to{--ang:360deg}}
.invite-in{position:relative;border-radius:50px;background:linear-gradient(165deg,#0d3f27,#082d1b);padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center;overflow:hidden}
.invite h2{font-size:clamp(2.2rem,4.6vw,3.8rem);margin-top:18px}
.invite h2 .serif{color:var(--gold)}
.gold-line{height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin-block:26px;max-width:320px;opacity:.8}
.steps{display:grid;gap:0;position:relative}
.stp{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;position:relative;padding-bottom:20px}
.stp:last-child{padding-bottom:0}
.stp::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:1px;background:repeating-linear-gradient(var(--gold) 0 4px,transparent 4px 9px);opacity:.6}
.stp:last-child::before{display:none}
.stp .n{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);background:rgba(230,200,135,.08);font-family:var(--serif);font-style:italic;font-size:1.6rem;line-height:1}
.stp b{font-size:1.1rem;font-weight:600;color:#fff;line-height:1.3}
.stp small{display:block;color:var(--mute-on-dark);font-size:.92rem;font-weight:400}
.cta-zone{display:grid;gap:16px;justify-items:start;margin-top:30px}
.reassure{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--mute-on-dark);font-size:.95rem;font-weight:500}
.reassure span{display:inline-flex;align-items:center;gap:8px}
.reassure .ic{width:18px;height:18px;color:var(--gold)}
.invite-r{display:grid;gap:20px;justify-items:center;min-width:0;align-self:start}
.contact{grid-column:1/-1;background:rgba(255,255,255,.06);border:1px solid rgba(230,200,135,.35);border-radius:32px;padding:20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;scroll-margin-top:100px}
.contact h3{grid-column:1/-1}
.contact.flash{animation:glow 1.6s ease-out}
@keyframes glow{0%{box-shadow:0 0 0 0 rgba(230,200,135,.9)}100%{box-shadow:0 0 0 22px rgba(230,200,135,0)}}
.contact h3{font-size:1rem;color:var(--gold);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;color:var(--forest);border-radius:999px;padding:6px 6px 6px 18px;font-weight:600;font-size:.95rem}
.row .ic{width:20px;height:20px;color:var(--leaf-deep)}
.row .val{flex:1 1 140px;min-width:0;overflow-wrap:anywhere;user-select:all}
.copy{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--forest);background:#fff;color:var(--forest);font:600 .9rem/1 var(--font);cursor:pointer}
.copy:hover{background:var(--sage)}
.copy .ic{width:18px;height:18px;color:var(--forest)}
details .ans{padding:0 0 22px;color:var(--graphite);max-width:62ch}

.legal-wrap{margin-top:clamp(48px,6vw,88px);padding-top:clamp(28px,4vw,48px);border-top:1px solid var(--hairline)}
.legal details{background:var(--sage);border-radius:24px;padding:0 22px;scroll-margin-top:100px}
.legal summary{font-size:1.02rem}
.legal .ans{padding:0 0 22px;display:grid;gap:12px;font-size:.96rem;color:var(--graphite)}
.legal h4{margin:6px 0 0;font-size:1rem;color:var(--ink)}
.legal ul{display:grid;gap:6px;list-style:disc;padding-left:20px}
.legal .ans p{max-width:75ch}
footer{background:var(--forest);color:#fff;padding-block:clamp(40px,6vw,64px) clamp(28px,4vw,40px)}
.foot{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:32px}
.foot h3{font-size:.95rem;color:var(--gold);font-weight:600;margin-bottom:12px;letter-spacing:.08em;text-transform:uppercase}
.foot ul{display:grid;gap:6px}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:4px}
.foot li a{display:inline-block;padding:6px 0}
.foot p{color:var(--mute-on-dark);font-size:.95rem;max-width:42ch}
.fine{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:.88rem;color:var(--mute-on-dark);display:grid;gap:6px}

/* Barre mobile */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.96);border-top:1px solid var(--hairline);padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter)}
.mbar .btn{width:100%}
.card{transform-style:preserve-3d;transition:transform .35s var(--ease);will-change:transform}
.bt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}

/* ---------- PAGE DE RÉSERVATION ---------- */
#rdvPage{display:none;background:var(--paper);min-height:100vh}
body.in-rdv #rdvPage{display:block}
body.in-rdv header,body.in-rdv main,body.in-rdv footer,body.in-rdv .mbar{display:none}
body.in-rdv{padding-bottom:0}
.rdv-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--hairline)}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink)}
.back:hover{background:var(--sage)}
.back .ic{width:18px;height:18px;rotate:180deg}
.rdv-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:start;padding-block:clamp(28px,5vw,64px) clamp(48px,7vw,96px)}
.rdv-main{display:grid;gap:22px;min-width:0}
.rdv-main h1{font-size:clamp(2rem,4.4vw,3.2rem)}
.rdv-main h1 .serif{color:var(--leaf-deep)}
.stepper{display:flex;gap:8px;flex-wrap:wrap}
.stepper li{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:10px;cursor:default;background:var(--sage);color:var(--graphite);font-weight:600;font-size:.9rem}
.stepper li b{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.05rem;font-weight:400;color:var(--forest)}
.stepper li.on{background:var(--forest);color:#fff}
.stepper li.on b{background:var(--gold)}
.stepper li.done{background:var(--mint);color:var(--forest)}
.form{display:grid;gap:16px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fld{display:grid;gap:6px;min-width:0}
.fld label,.fld .lab{font-weight:700;font-size:.92rem;color:var(--forest)}
.fld input{width:100%;min-height:54px;padding:12px 18px;border:2px solid var(--hairline);border-radius:18px;background:#fff;color:var(--ink);font:500 1.05rem var(--font);transition:border-color .2s,box-shadow .2s}
.fld input:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(29,191,115,.2)}
.fld input[aria-invalid="true"]{border-color:var(--coral)}
.err{min-height:1.1em;color:#b3341a;font-size:.85rem;font-weight:600}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer;min-height:0;width:100%;height:100%}
.opt span{display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 16px 8px 8px;border-radius:999px;background:var(--sage);color:var(--forest);font-weight:700;font-size:.98rem;line-height:1.15;border:2px solid transparent;transition:background-color .2s,color .2s}
.opt:nth-child(2) span{background:var(--cream)}.opt:nth-child(3) span{background:var(--lilac)}.opt:nth-child(4) span{background:var(--sky)}
.opt .oi{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.opt .oi svg{width:26px;height:26px}
.opt input:checked + span{background:var(--forest);color:#fff}
.opt input:focus-visible + span{outline:3px solid var(--leaf);outline-offset:3px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--graphite)}
.consent input{width:22px;height:22px;margin-top:2px;accent-color:var(--forest);flex:none}
.consent a{color:var(--forest);font-weight:600}
.rdv-main .btn{justify-self:start}
.btn[disabled]{opacity:.45;cursor:not-allowed}
/* calendrier réel (même look que l'animation) */
.cal{background:#fff;border:2px solid var(--hairline);border-radius:28px;padding:clamp(14px,2.4vw,22px);display:grid;gap:12px;max-width:440px}
.cal-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cal-h b{font-size:1.15rem;text-transform:capitalize}
.cal-h button{width:44px;height:44px;border-radius:50%;border:0;background:var(--sage);color:var(--forest);display:grid;place-items:center;cursor:pointer}
.cal-h button:disabled{opacity:.35;cursor:not-allowed}
.cal-h button .ic{width:20px;height:20px}
.cal-w,.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal-w span{font-size:.78rem;font-weight:700;color:var(--graphite);letter-spacing:.05em}
.cal-g button,.cal-g i{height:44px}
.cal-g button{border:0;border-radius:50%;background:transparent;color:var(--ink);font:600 1rem var(--font);cursor:pointer;transition:background-color .15s,scale .15s}
.cal-g button:hover:not(:disabled){background:var(--mint)}
.cal-g button:disabled{color:#b7c2bc;cursor:not-allowed}
.cal-g button.free{background:var(--sage);color:var(--forest)}
.cal-g button[aria-pressed="true"]{background:var(--leaf);color:var(--forest);scale:1.08;font-weight:700}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.slots button{min-height:44px;border-radius:999px;border:2px solid var(--hairline);background:#fff;color:var(--forest);font:700 .95rem var(--font);cursor:pointer;transition:background-color .15s,border-color .15s}
.slots button:hover{border-color:var(--leaf)}
.slots button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.slots-t{font-weight:700;font-size:.92rem;color:var(--forest)}
.pick{display:flex;align-items:center;gap:10px;min-height:28px;font-weight:700;color:var(--forest)}
.pick .ic{color:var(--leaf-deep)}
.done{display:grid;gap:18px;justify-items:start}
.done .ok{width:96px;height:96px;border-radius:50%;background:var(--leaf);color:var(--forest);display:grid;place-items:center;animation:okpop .7s var(--ease) both}
.done .ok svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;animation:tick .6s .35s ease-out both}
@keyframes okpop{from{scale:.4;opacity:0}to{scale:1;opacity:1}}
@keyframes tick{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
.done h2{font-size:clamp(2rem,4.6vw,3.2rem)}
.done .when{display:inline-flex;align-items:center;gap:10px;background:var(--forest);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;font-size:1.05rem}
.done .when .ic{color:var(--gold)}
.demo-note{background:#fff1a8;color:#4a3b00;padding:10px 14px;border-radius:14px;font-weight:600;font-size:.9rem;max-width:46ch}

/* animation « Après ça » */
.rdv-demo{position:sticky;top:24px;background:linear-gradient(165deg,var(--forest-2),var(--forest-deep));border-radius:44px 44px 44px 120px;padding:clamp(18px,3vw,32px);display:grid;gap:18px;justify-items:center;overflow:hidden}
.rdv-demo::before{content:"";position:absolute;width:80%;aspect-ratio:1;left:10%;top:-20%;border-radius:50%;background:radial-gradient(circle,rgba(29,191,115,.35),transparent 68%);pointer-events:none}
.demo-title{position:relative;justify-self:start;font-family:var(--serif);font-style:italic;font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;color:var(--gold);display:flex;align-items:center;gap:14px}
.demo-title svg{width:34px;height:34px;color:var(--gold);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:bobx 1.8s ease-in-out infinite}
@keyframes bobx{0%,100%{translate:0 0}50%{translate:0 6px}}
.dm-box{position:relative;width:100%;display:grid;justify-items:center}
.dm-fit{position:relative;height:calc(434px * var(--k,1));width:calc(340px * var(--k,1))}
.dm{position:absolute;left:0;top:0;width:340px;height:434px;padding:16px;background:#fff;border-radius:28px;color:var(--forest);scale:var(--k,1);transform-origin:0 0;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.dm-h{height:36px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.05rem}
.dm-h i{display:flex;gap:6px}.dm-h i b{width:22px;height:22px;border-radius:50%;background:var(--sage)}
.dm-w{height:24px;display:grid;grid-template-columns:repeat(7,44px);text-align:center;font-size:.72rem;font-weight:700;color:var(--graphite);align-items:center}
.dm-g{display:grid;grid-template-columns:repeat(7,44px);grid-auto-rows:38px;text-align:center}
.dm-g span{display:grid;place-items:center;font-weight:600;font-size:.95rem}
.dm-g span.off{color:#b7c2bc}
.dm-g span.tgt{position:relative;z-index:0}
.dm-g span.tgt::before{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:var(--leaf);z-index:-1;scale:0;animation:dday 10s infinite}
@keyframes dday{0%,27%{scale:0}30%{scale:1.15}33%,95%{scale:1}97%,100%{scale:0}}
.dm-t{margin-top:12px;height:40px;display:grid;grid-template-columns:repeat(3,96px);gap:10px}
.dm-t span{display:grid;place-items:center;border-radius:999px;border:2px solid var(--hairline);font-weight:700;font-size:.9rem}
.dm-t span.sel{animation:dchip 10s infinite}
@keyframes dchip{0%,45%{background:#fff;color:var(--forest);border-color:var(--hairline)}48%,95%{background:var(--forest);color:#fff;border-color:var(--forest)}97%,100%{background:#fff;color:var(--forest);border-color:var(--hairline)}}
.dm-b{position:relative;margin-top:14px;height:48px;border-radius:999px;background:var(--coral);color:var(--on-coral);display:grid;place-items:center;font-weight:700;overflow:hidden;animation:dbtn 10s infinite}
.dm-b span{grid-area:1/1;display:flex;align-items:center;gap:8px}
.dm-b .a{animation:dla 10s infinite}.dm-b .b{opacity:0;animation:dlb 10s infinite}
.dm-b svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@keyframes dbtn{0%,66%{scale:1;background:var(--coral)}69%{scale:.95}72%{scale:1;background:var(--coral)}75%,95%{background:var(--leaf)}97%,100%{background:var(--coral)}}
@keyframes dla{0%,72%{opacity:1}74%,95%{opacity:0}97%,100%{opacity:1}}
@keyframes dlb{0%,72%{opacity:0}75%,95%{opacity:1}97%,100%{opacity:0}}
.dm-cur{position:absolute;left:0;top:0;width:0;height:0;animation:dcur 10s infinite;z-index:3;pointer-events:none}
.dm-cur svg{position:absolute;left:-3px;top:-2px;width:30px;height:30px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.dm-cur .rp{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;border:3px solid var(--forest);opacity:0;animation:drp 10s infinite}
@keyframes dcur{0%,6%{translate:300px 70px;opacity:0}9%{opacity:1}26%,34%{translate:var(--cx) var(--cy)}44%,52%{translate:var(--tx) var(--ty)}66%,74%{translate:var(--bx) var(--by)}92%{opacity:1}96%,100%{translate:var(--bx) var(--by);opacity:0}}
@keyframes drp{0%,27%{scale:.3;opacity:0}29%{scale:.4;opacity:.9}35%{scale:1.7;opacity:0}36%,45%{scale:.3;opacity:0}47%{scale:.4;opacity:.9}53%{scale:1.7;opacity:0}54%,67%{scale:.3;opacity:0}69%{scale:.4;opacity:.9}75%{scale:1.7;opacity:0}100%{scale:.3;opacity:0}}
.dm-toast{position:absolute;right:14px;top:-6px;translate:0 -100%;background:var(--leaf);color:var(--forest);padding:8px 16px;border-radius:999px;font-weight:700;font-size:.9rem;white-space:nowrap;opacity:0;animation:dtoast 10s infinite}
@keyframes dtoast{0%,74%{opacity:0;translate:0 -60%}78%,93%{opacity:1;translate:0 -100%}97%,100%{opacity:0}}

@media (max-width:900px){
  .rdv-grid{grid-template-columns:1fr}
  .rdv-demo{position:relative;top:0;order:-1;border-radius:36px 36px 36px 80px}
}
@media (max-width:560px){
  .row2,.opts{grid-template-columns:1fr}
  .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .dm-g span.tgt::before{scale:1}
  .dm-b{background:var(--leaf)}.dm-b .a{opacity:0}.dm-b .b{opacity:1}
  .dm-cur{opacity:0}
}

[hidden]{display:none!important}

/* ---------- MINI QUIZ 1 MIN (remplace défis → solution → résultats) ---------- */
.quiz{position:relative;margin-top:clamp(36px,5vw,64px);background:var(--forest-2);border:1px solid rgba(230,200,135,.3);border-radius:44px;padding:clamp(20px,3vw,40px);overflow:hidden;min-height:380px;display:grid;align-content:start;gap:clamp(18px,2.4vw,28px)}
.qz-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qz-chip{color:var(--gold);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.qz-chip .ic{width:16px;height:16px}
.qz-prog{flex:1 1 120px;height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;min-width:100px}
.qz-prog i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--leaf),var(--gold));transition:width .6s var(--ease)}
.qz-step{font-weight:700;font-size:.9rem;color:var(--mute-on-dark);min-width:3.2em;text-align:right}
.qz-q{font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.05;font-weight:600;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.qz-q .serif{color:var(--gold)}
.qz-view{display:grid;gap:clamp(18px,2.4vw,26px);animation:qin .5s var(--ease) both}
@keyframes qin{from{opacity:0;translate:28px 0}to{opacity:1;translate:0 0}}
.qz-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.qz-opts.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.qz-opt{position:relative;display:grid;justify-items:center;align-content:center;gap:12px;min-height:150px;padding:18px 12px;border:3px solid transparent;border-radius:34px 34px 34px 10px;background:#fff;color:var(--forest);font:700 1.08rem/1.15 var(--font);text-align:center;cursor:pointer;transition:translate .3s var(--ease),background-color .2s,color .2s,border-color .2s}
.qz-opt:nth-child(2){border-radius:34px 34px 10px 34px;background:var(--cream)}
.qz-opt:nth-child(3){border-radius:10px 34px 34px 34px;background:var(--lilac)}
.qz-opt:nth-child(4){border-radius:34px 10px 34px 34px;background:var(--sky)}
.qz-opts.two .qz-opt:nth-child(1){background:var(--mint)}
.qz-opt:hover{translate:0 -5px}
.qz-opt .bub{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center}
.qz-opt .bub svg{width:38px;height:38px;fill:none;stroke:var(--forest);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qz-opt[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--gold);translate:0 -5px}
.qz-opt[aria-pressed="true"] .bub{background:var(--gold)}
.qz-opt small{display:block;font-weight:500;font-size:.85rem;opacity:.75;margin-top:3px}
.qz-back{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font:600 .92rem var(--font);cursor:pointer}
.qz-back:hover{background:rgba(255,255,255,.1)}
.qz-back .ic{width:18px;height:18px;rotate:180deg}
/* chargement */
.qz-load{display:grid;justify-items:center;gap:18px;padding:clamp(24px,4vw,56px) 0;text-align:center;color:#fff}
.qz-load .gl{width:96px;height:96px;border-radius:50%;background:var(--leaf);display:grid;place-items:center;box-shadow:0 0 0 0 rgba(29,191,115,.5);animation:pulse 1.2s ease-out infinite}
.qz-load .gl svg{width:60%;height:60%;animation:punch 0.9s ease-in-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 28px rgba(29,191,115,0)}}
.qz-load b{font-size:1.2rem}
.qz-dots{display:flex;gap:8px}.qz-dots i{width:10px;height:10px;border-radius:50%;background:var(--gold);animation:dotb 1s ease-in-out infinite}.qz-dots i:nth-child(2){animation-delay:.15s}.qz-dots i:nth-child(3){animation-delay:.3s}
@keyframes dotb{0%,100%{translate:0 0;opacity:.5}50%{translate:0 -8px;opacity:1}}
/* résultat */
.qz-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.35fr);gap:14px;align-items:stretch}
.qc{position:relative;display:grid;gap:14px;align-content:start;background:#fff;color:var(--forest);padding:clamp(18px,2vw,26px);border-radius:32px;animation:qrise .7s var(--ease) both;animation-delay:var(--d,0s)}
.qc:nth-child(1){border-radius:32px 32px 32px 8px;background:var(--peach)}
.qc:nth-child(2){background:var(--cream)}
.qc:nth-child(3){border-radius:32px 32px 8px 32px;background:var(--mint)}
@keyframes qrise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.qh{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.qc .fnum{background:var(--forest);color:var(--gold)}
.qic{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center}
.qic svg{width:54px;height:54px;fill:none;stroke:var(--forest);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qname{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.05}
.qname .serif{color:var(--leaf-deep)}
.qc p.sent{font-size:1rem;color:var(--graphite)}
.qsteps{display:grid;gap:12px;counter-reset:s}
.qsteps li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;font-weight:600;line-height:1.25}
.qsteps li::before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--forest);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.2rem;font-weight:400}
.qrec{width:fit-content;background:var(--forest);color:#fff;padding:9px 14px;font-size:.95rem;margin-top:4px}
.qrec .ic{color:var(--gold);width:20px;height:20px}
.meters{display:grid;gap:10px}
.mt{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;font-weight:700;font-size:.9rem}
.mt .bar{height:14px;border-radius:99px;background:rgba(10,57,34,.14);overflow:hidden}
.mt .bar i{display:block;height:100%;width:var(--from);border-radius:inherit;background:var(--coral);transition:width 1.6s var(--ease) var(--dl),background-color 1.6s var(--dl)}
.qc.go .mt .bar i{width:var(--to);background:var(--leaf)}
.gl2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gl2 b{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;color:var(--leaf-deep)}
.gl2 ul{display:grid;gap:8px}
.gl2 li{display:flex;gap:8px;align-items:flex-start;font-weight:600;font-size:.95rem;line-height:1.25}
.gl2 li .ic{width:18px;height:18px;margin-top:1px;color:var(--leaf-deep)}
.qz-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.qz-note{font-size:.84rem;color:var(--mute-on-dark);max-width:52ch}
.qz-redo{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:999px;min-height:44px;padding:8px 18px;font:600 .92rem var(--font);cursor:pointer}
.qz-redo:hover{background:rgba(255,255,255,.1)}
.qz-conf{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none}
.qz-conf i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);animation:conf 1.2s ease-out both}
@keyframes conf{from{translate:0 0;opacity:1;scale:1}to{translate:var(--x) var(--y);opacity:0;scale:.3}}

@media (max-width:1080px){
  .qz-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qz-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .quiz{border-radius:36px}
  .qz-opt{min-height:128px;font-size:1rem}
  .qz-opts.two{grid-template-columns:1fr}
  .gl2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .qz-view,.qc{animation:none!important}
  .qc .mt .bar i{width:var(--to);background:var(--leaf)}
}
.qz-opts.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
.qz-opt span:last-child{text-wrap:balance}
.qtags{display:flex;flex-wrap:wrap;gap:6px}
.qtags span{background:#fff;padding:5px 10px;font-size:.82rem}
.qrec.alt{background:var(--leaf);color:var(--forest);margin-left:8px}
.qrec.alt .ic{color:var(--forest)}
@media (max-width:1080px){.qz-opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.qz-opts.three{grid-template-columns:1fr}.qrec.alt{margin-left:0}}
@media (max-width:560px){.mt{grid-template-columns:100px minmax(0,1fr)}}

/* ---------- V8 : en-têtes Individuel / Collectif ---------- */
.sess{max-width:960px}
.vhead{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.vh-ico{flex:none;width:clamp(58px,6vw,80px);aspect-ratio:1;border-radius:50%;background:var(--mint);border:3px solid var(--forest);display:grid;place-items:center;animation:bob 5s ease-in-out infinite}
.vwrap:nth-child(2) .vh-ico{background:var(--cream);animation-delay:-2s}
.vh-ico svg{width:70%;height:70%}
.vhead h3{font-size:clamp(2rem,4.6vw,3.5rem);line-height:.95;letter-spacing:-.035em;font-weight:600}
.vhead h3::after{content:"";display:block;height:5px;width:0;border-radius:9px;background:var(--gold);margin-top:8px;transition:width .9s var(--ease) .3s}
.vwrap.in .vhead h3::after{width:70%}
html:not(.js) .vhead h3::after{width:70%}
.vhead p{margin-top:8px;font-weight:600;color:var(--graphite);font-size:1.02rem}
.ic.down{rotate:90deg}
.ic.up{rotate:-90deg}

/* ---------- V8 : Pourquoi la boxe, effets ---------- */
.how{display:flex;flex-wrap:wrap;gap:10px;margin:calc(-1 * clamp(16px,2vw,28px)) 0 clamp(26px,3.4vw,42px)}
.how li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(230,200,135,.5);color:#fff;font-weight:600;font-size:.95rem}
.how .ic{width:18px;height:18px;color:var(--gold)}
.fx{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fxc{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.2vw,30px);color:var(--forest);overflow:hidden}
.fxc.c1{background:var(--mint);border-radius:44px 44px 44px 72px}
.fxc.c2{background:var(--peach);border-radius:44px 72px 44px 44px}
.fxc.c3{background:var(--sky);border-radius:44px 44px 72px 44px}
.fxc.c4{background:var(--cream);border-radius:44px 44px 44px 72px}
.fxc.c5{background:var(--lilac);border-radius:72px 44px 44px 44px}
.fxc.c6{background:#fff;border-radius:44px 44px 72px 44px}
.fx-n{font-family:var(--serif);font-style:italic;font-size:clamp(2.6rem,4.4vw,3.9rem);line-height:.95;color:var(--leaf-deep);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fx-n small{font-size:.42em;font-weight:700;letter-spacing:-.01em}
.fx-n.sm{font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.05}
.fxc h3{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.03em}
.fx-t{font-size:1rem;line-height:1.4;color:var(--graphite);max-width:34ch}
.fx-s{display:flex;flex-wrap:wrap;gap:0 16px;align-items:center}
.lvl{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--graphite)}
.lvl .ic{width:16px;height:16px}
/* Portée de l'étude, condition physique, offre concernée : texte à plat */
.fx-scope{font-size:.88rem;font-weight:700;color:var(--forest);align-items:flex-start;line-height:1.3}
.fx-scope .ic{margin-top:1px}
.fx-sub{display:grid;gap:2px;padding-top:12px;border-top:1px dashed rgba(10,57,34,.3);font-size:.95rem;line-height:1.4;color:var(--graphite)}
.fx-sub b{color:var(--forest)}
.fx-for{margin-top:auto;padding-top:14px;border-top:1px solid rgba(10,57,34,.18);font-size:.9rem;font-weight:700;color:var(--forest);flex-wrap:wrap;gap:4px 8px}
.fx-for small{font-size:inherit;font-weight:500;color:var(--graphite)}
.fx-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(32px,4vw,52px)}
.sleep .moon{transform-box:fill-box;transform-origin:center;animation:moonrock 4s ease-in-out infinite alternate}
@keyframes moonrock{from{rotate:-10deg}to{rotate:10deg}}
.sleep .z{font:700 18px var(--font);fill:#0a3922;opacity:0;animation:zz 3s ease-in-out infinite}
.sleep .z2{animation-delay:.5s}.sleep .z3{animation-delay:1s}
@keyframes zz{0%{opacity:0;translate:-6px 6px}30%,70%{opacity:1}100%{opacity:0;translate:6px -8px}}
.conf .tick{stroke-dasharray:60;stroke-dashoffset:60;animation:tickd 3.2s ease-in-out infinite}
@keyframes tickd{0%,10%{stroke-dashoffset:60}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:60}}

/* ---------- V9 : Coach, cadre rond animé ---------- */
.coach-stage{position:relative;max-width:460px;aspect-ratio:1;margin-top:0}
.cs-photo{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--forest);box-shadow:0 18px 40px -16px rgba(6,38,22,.45)}
.cs-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 12s ease-in-out infinite alternate}
@keyframes kb{from{scale:1}to{scale:1.05}}
.cs-ring{position:absolute;inset:-3.5%;border-radius:50%;padding:4px;background:conic-gradient(from var(--ang),transparent 0 38%,var(--gold) 70%,var(--gold-bright) 78%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;animation:csang 5s linear infinite}
@keyframes csang{to{--ang:360deg}}
.cs-ring2{position:absolute;inset:-9%;border-radius:50%;border:2px dashed rgba(14,138,80,.45);animation:spin2 40s linear infinite reverse}
.cs-orbit{position:absolute;inset:-3.5%;animation:spin2 16s linear infinite}
.cs-orbit i{position:absolute;width:13px;height:13px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 3px rgba(230,200,135,.7)}
.cs-orbit i:nth-child(1){left:50%;top:0}.cs-orbit i:nth-child(2){left:100%;top:50%;background:var(--leaf);box-shadow:0 0 12px 3px rgba(29,191,115,.55)}
.cs-orbit i:nth-child(3){left:50%;top:100%}.cs-orbit i:nth-child(4){left:0;top:50%;background:var(--coral);box-shadow:0 0 12px 3px rgba(255,100,59,.5)}
.coach-stage .medal-tag{top:12%;z-index:3}
.coach-stage .medal-tag.m2{left:auto;right:-4%;top:auto;bottom:14%}
.coach-stage .medal-tag.m2 .ic{color:var(--forest)}

@media (max-width:900px){
  .coach-stage{max-width:380px;margin-inline:auto}
}
@media (max-width:640px){
  .fxc.c1,.fxc.c2,.fxc.c3,.fxc.c4,.fxc.c5,.fxc.c6{border-radius:40px 40px 40px 64px}
  .vhead{gap:10px}
}
@media (max-width:640px){
  .brand{font-size:1.02rem;white-space:nowrap}
  .brand-mark{width:34px;height:34px}
  .nav{gap:10px}
  .nav .btn{white-space:nowrap;padding:8px 14px;font-size:.88rem;min-height:44px}
}

/* ---------- V9 : vidéos au même niveau, 2 accompagnements, en-tête compact ---------- */
.sess{max-width:900px;align-items:start}
.sess .vwrap:nth-child(2){margin-top:0}
.vhead{min-height:134px}
.vhead h3{font-size:clamp(1.7rem,3.3vw,2.6rem)}
.plans{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-inline:auto}
.plan.p2{background:var(--cream);border-radius:44px 72px 44px 44px}
header .nav{padding-block:5px}
.brand-mark{width:32px;height:32px;font-size:.85rem}
.brand{font-size:1.1rem}
.brand small{font-size:.66rem}
.nav .btn{min-height:44px;padding:6px 18px;font-size:.92rem}
.btn-call{animation:hdrpulse 3.2s ease-out infinite}
.btn-call .ph{animation:ring 3.2s ease-in-out infinite;transform-origin:50% 50%}
@keyframes hdrpulse{0%{box-shadow:0 0 0 0 rgba(255,100,59,.45)}65%,100%{box-shadow:0 0 0 12px rgba(255,100,59,0)}}
html .sess .vwrap:nth-child(2){margin-top:0}

/* ---------- V10 : cartes vidéo ---------- */
.sess{max-width:860px;gap:clamp(16px,2.4vw,28px);align-items:stretch}
.vcard{display:flex;flex-direction:column;gap:16px;padding:clamp(16px,2vw,24px);border-radius:48px 48px 48px 16px;background:var(--mint);box-shadow:0 24px 50px -30px rgba(10,57,34,.35);transition:translate .4s var(--ease)}
.vcard.v2{background:var(--cream);border-radius:48px 48px 16px 48px}
.vcard:hover{translate:0 -6px}
.vcard .vhead{min-height:0;margin:0;gap:12px;padding:2px 4px 0}
.vcard .vh-ico{width:clamp(52px,5vw,64px);background:#fff;border-width:2.5px}
.vcard.v2 .vh-ico{background:#fff}
.vcard .vhead h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1}
.vcard .vhead h3::after{display:none}
.vcard .vhead p{margin-top:4px;font-size:.98rem}
.vcard .vid{aspect-ratio:3/4;border:0;border-radius:32px;box-shadow:none}
html .sess .vwrap:nth-child(2){margin-top:0}
@media (max-width:640px){
  .sess{grid-template-columns:1fr;max-width:420px}
  .vcard .vid{aspect-ratio:4/5}
  .vcard .vhead h3{font-size:1.6rem}
}
@media (max-width:380px){
  .brand{font-size:.98rem}
  .nav .btn{padding:6px 10px;font-size:.82rem;gap:6px}
  .nav .btn .ic:last-child{display:none}
  h1{font-size:clamp(2rem,10.4vw,2.4rem)}
  .hero-cta .btn-big{padding:14px 20px;font-size:1rem;min-height:52px}
}

html .coach-stage{margin-inline:auto}
@media (max-width:340px){
  .nav .btn .ph{display:none}
  .brand{font-size:.9rem;gap:8px}
}
.dm-box{min-width:0}
.back{white-space:nowrap}
@media (max-width:380px){.back{padding:8px 12px;font-size:.88rem}.rdv-top .brand span:last-child small{display:none}}
@media (max-width:340px){.back{padding:8px 10px;font-size:.8rem;gap:5px}.back .ic{width:15px;height:15px}.rdv-top{gap:8px}}

/* V11 : spécialité + héros + pourquoi simplifié */
.hero-lead{font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.35;color:#fff;font-weight:500;max-width:30ch}
.hero-lead b{color:var(--gold-bright,#fff3cf);font-weight:700}
.vhead p.vfor{display:flex;margin-top:8px;color:var(--forest);font-size:.95rem;font-weight:700}
.vhead p.vfor .ic{color:var(--leaf-deep)}
/* Pourquoi la boxe : 3 cartes alignées sur le trio du premier écran */
.fx{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin-inline:auto}
@media (max-width:900px){.fx{grid-template-columns:1fr;max-width:560px}}

/* V12 : quiz à cheval sur la transition (plus de bande verte), coach plus vert, accompagnements prestige */
:root{--sx:clamp(30px,3.4vw,52px)}
.hero-band .orb.o2{bottom:0}
.hero-band .quiz{margin-bottom:calc(-1 * var(--sx));z-index:4;box-shadow:0 26px 50px -24px rgba(6,38,22,.55)}
/* coach */
.coach-stage .cs-ring2{inset:-10%;border:4px dashed var(--leaf-deep);opacity:1}
.cs-back{position:absolute;right:-9%;bottom:-6%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--forest-2,#0f4a2d),var(--forest));z-index:0}
.coach-stage .cs-photo{z-index:1}.coach-stage .cs-ring,.coach-stage .cs-orbit{z-index:2}
.coach-stage .medal-tag{background:var(--forest);color:#fff}
.coach-stage .medal-tag .ic,.coach-stage .medal-tag.m2 .ic{color:var(--gold)}
#qui{background:linear-gradient(180deg,#fff 0%,var(--sage) 100%)}
#qui .lead{color:var(--forest);font-weight:600;border-left:5px solid var(--leaf);padding-left:16px}
/* V13 : accroche du héros */
.hero-lead{max-width:40ch}
.hero-trio{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:-10px;font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.4vw,2rem);color:var(--gold)}
.hero-trio i{width:7px;height:7px;border-radius:50%;background:var(--leaf);flex:none}
/* V14 : portrait du héros remonté */
.hero-right{translate:0 calc(-1 * clamp(0px,3.4vw,52px))}
@media (max-width:900px){.hero-right{translate:none}.hero-band{padding-top:22px}}

/* ---------- POURQUOI LA BOXE : bento animé ---------- */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:16px}
.bt{position:relative;overflow:hidden;color:var(--forest);padding:clamp(20px,2.4vw,30px);display:grid;align-content:end;gap:10px;isolation:isolate}
.bt h3{font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.03em}
.bt p{font-size:1rem;color:var(--graphite);max-width:26ch}
.bt .art{position:absolute;z-index:-1;pointer-events:none}
.bt.t1{grid-column:span 3;background:var(--mint);border-radius:44px 44px 44px 140px;min-height:360px}
.bt.t2{grid-column:span 3;background:var(--peach);border-radius:44px 120px 44px 44px}
.bt.t3{grid-column:span 3;background:var(--sky);border-radius:44px 44px 120px 44px}
.bt.t4{grid-column:span 3;background:var(--lilac);border-radius:44px 44px 44px 120px}
.t1 .art{right:18px;top:26px;width:clamp(170px,20vw,250px)}
.t2 .art{right:22px;top:22px;width:clamp(120px,14vw,170px)}
.batt{width:100%;height:auto}
.batt .fill{transform-box:fill-box;transform-origin:left;animation:charge 3.6s ease-in-out infinite}
@keyframes charge{0%{scale:.12 1;fill:#ff643b}70%,100%{scale:1 1;fill:#1dbf73}}
.batt .zap{animation:flash 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes flash{0%,60%{scale:.2;opacity:0}72%{scale:1.2;opacity:1}85%,100%{scale:1;opacity:1}}
.t3 .art{right:20px;top:20px;width:clamp(100px,12vw,140px);aspect-ratio:1}
.t4 .art{right:20px;top:24px;width:clamp(150px,18vw,220px)}
.study{font-size:.9rem;color:var(--forest)}
.src li{scroll-margin:96px 0 24px}
.src li:target,.src li:focus{outline:2px solid var(--gold);outline-offset:6px;border-radius:6px}
details.src{margin-top:24px;background:rgba(255,255,255,.08);border:1px solid rgba(230,200,135,.3);color:#fff;border-radius:24px;padding:0 22px}
details.src summary{padding:14px 0;font-size:1rem;min-height:44px}
details.src summary::after{background:var(--gold);color:var(--forest)}
.src ol{display:grid;gap:12px;padding:0 0 18px 22px;list-style:decimal;font-size:.95rem;color:var(--mute-on-dark)}
.src a{color:var(--gold);font-weight:600}
.src .note{padding-bottom:18px;font-size:.9rem;color:var(--mute-on-dark)}

/* ---------- OÙ ÇA COINCE ---------- */
.nd-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(16px,3vw,36px);align-items:stretch}
.needs{display:grid;gap:12px;align-content:start}
.need{position:relative;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border:2px solid transparent;border-radius:999px;background:var(--sage);color:var(--forest);font-weight:700;font-size:1.15rem;cursor:pointer;text-align:left;line-height:1.2;transition:translate .3s var(--ease),background-color .2s,color .2s}
.need:nth-child(2){background:var(--cream)}.need:nth-child(3){background:var(--lilac)}.need:nth-child(4){background:var(--sky)}
.need:hover{translate:6px 0}
.need[aria-selected="true"]{background:var(--forest);color:#fff;translate:10px 0}
.need .bub{width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--forest);flex:none}
.need .bub svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.need .go{margin-left:auto;width:30px;height:30px;color:var(--leaf);opacity:0;translate:-8px 0;transition:all .3s var(--ease)}
.need[aria-selected="true"] .go{opacity:1;translate:0 0}
.nudge .need[aria-selected="false"]:nth-child(2)::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid var(--leaf);animation:ping2 2.2s ease-out infinite}
@keyframes ping2{0%{scale:1;opacity:.8}100%{scale:1.06 1.25;opacity:0}}
.stage{position:relative;background:linear-gradient(165deg,var(--forest-2),var(--forest-deep));color:#fff;border-radius:44px 44px 44px 120px;padding:clamp(18px,3vw,36px);display:grid;gap:18px;align-content:space-between;overflow:hidden;min-height:440px}
.stage::before{content:"";position:absolute;width:70%;aspect-ratio:1;left:15%;top:-10%;border-radius:50%;background:radial-gradient(circle,rgba(29,191,115,.35),transparent 68%);pointer-events:none}
.scene{position:relative}
.scene svg{width:100%;height:auto;max-height:260px;overflow:visible}
.sc .x{transition:all 1.2s var(--ease)}
.answer{position:relative;display:grid;gap:12px;justify-items:start;animation:rise .6s var(--ease) both}
@keyframes rise{from{translate:0 14px;opacity:.2}to{translate:0 0;opacity:1}}
.answer h3{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.03em;color:#fff;font-weight:600}
.answer h3 .serif{color:var(--gold)}
.answer .chip{background:#fff}
/* scènes */
.sc .needle{transform-origin:160px 150px;transform:rotate(58deg)}
.sc.after .needle{transform:rotate(-66deg)}
.sc .puff{fill:#ff643b;opacity:.0;animation:steam 2.4s ease-out infinite}
.sc .puff:nth-of-type(2){animation-delay:.8s}.sc .puff:nth-of-type(3){animation-delay:1.6s}
.sc.before .puff{opacity:.9}
.sc.after .puff{animation:none;opacity:0}
@keyframes steam{0%{translate:0 0;scale:.5;opacity:.9}100%{translate:0 -44px;scale:1.4;opacity:0}}
.sc .face{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center}
.sc.after .face{opacity:1;transform:scale(1)}
.sc .blk1{transform:translate(-26px,8px) rotate(-14deg)}.sc .blk2{transform:translate(50px,-4px) rotate(10deg)}.sc .blk3{transform:translate(-14px,2px) rotate(-8deg)}.sc .blk4{transform:translate(78px,-10px) rotate(16deg)}
.sc.after .blk1,.sc.after .blk2,.sc.after .blk3,.sc.after .blk4{transform:none}
.sc .blk{transform-box:fill-box;transform-origin:center}
.sc .tick{opacity:0;transform:scale(.2);transform-box:fill-box;transform-origin:center}
.sc.after .tick{opacity:1;transform:scale(1)}
.sc .bfill{width:30px;fill:#ff643b}
.sc.after .bfill{width:150px;fill:#1dbf73}
.sc .bolt{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center}
.sc.after .bolt{opacity:1;transform:scale(1)}
.sc .c1{transform:translateX(-30px)}.sc .c2{transform:translateY(-22px)}.sc .c3{transform:translateX(30px)}
.sc.after .c1{transform:translateX(24px)}.sc.after .c2{transform:translateY(18px)}.sc.after .c3{transform:translateX(-24px)}
.sc .star{opacity:0;transform:scale(.2);transform-box:fill-box;transform-origin:center}
.sc.after .star{opacity:1;transform:scale(1)}
.sc .b{fill:#e6c887;opacity:0;transform-origin:160px 100px}
.sc.after .b{animation:burst 1s ease-out both}
@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateX(30px) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(110px) scale(.4)}}

/* ---------- COACH ---------- */
.about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);align-items:center}
.ab-ph{position:relative;max-width:440px;justify-self:center;width:100%}
.arch-ph{aspect-ratio:3/4;border-radius:999px 999px 48px 48px;overflow:hidden;border:2px solid rgba(230,200,135,.6);background:var(--forest-2)}
.arch-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.medal-tag{position:absolute;left:-6%;top:12%;background:#fff;color:var(--forest);padding:10px 12px;font-size:.9rem}
.medal-tag .ic{color:var(--gold-deep);width:20px;height:20px}
.about h2{margin-top:14px}
.about .lead{margin-top:18px;font-size:clamp(1.15rem,1.8vw,1.4rem);max-width:30ch}
.badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:28px}
.bd{display:flex;gap:12px;color:var(--forest);font-weight:700;font-size:1rem;line-height:1.25}
.bd .ic{width:22px;height:22px;color:var(--leaf-deep)}
html.js .badges .bd{scale:.85;transition:scale .6s var(--ease) calc(var(--i,0)*.09s)}
html.js .badges.in .bd{scale:1}

/* ---------- SÉANCES (3 formules, mises en avant) ---------- */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.offer{position:relative;display:grid;align-content:space-between;min-height:clamp(480px,46vw,620px);padding:clamp(20px,2.2vw,30px);color:#fff;overflow:hidden;isolation:isolate;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border:3px solid var(--forest)}
.offer:nth-child(1){border-radius:44px 44px 44px 140px}
.offer:nth-child(2){border-radius:140px 44px 44px 44px}
.offer:nth-child(3){border-radius:44px 140px 44px 44px}
.offer .photo{position:absolute;inset:0;z-index:-2}
.offer .photo img{width:100%;height:100%;object-fit:cover;display:block;transition:scale 1.4s var(--ease)}
.offer:hover .photo img{scale:1.07}
.offer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,38,22,.15) 0%,rgba(6,38,22,0) 30%,rgba(6,38,22,.55) 62%,rgba(6,38,22,.95) 100%)}
.o-top{display:flex;justify-content:space-between;align-items:flex-start}
.o-ico{width:clamp(60px,6vw,76px);aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;border:3px solid var(--gold);animation:bob 5s ease-in-out infinite}
.o-ico svg{width:68%;height:68%}
.offer:nth-child(2) .o-ico{animation-delay:-1.6s}.offer:nth-child(3) .o-ico{animation-delay:-3.2s}
.o-n{font-family:var(--serif);font-style:italic;font-size:clamp(3.4rem,5.6vw,5rem);line-height:.8;color:var(--gold);text-shadow:0 2px 14px rgba(6,38,22,.5)}
.o-bot{display:grid;gap:12px}
.o-bot h3{font-size:clamp(1.9rem,3.2vw,2.7rem);letter-spacing:-.035em;line-height:1;color:#fff}
.o-bot h3 .serif{color:var(--gold)}
.o-for{font-weight:600;font-size:1.05rem;color:var(--mint)}
.offer .chip{background:rgba(255,255,255,.95)}
.offer-cta{display:grid;justify-items:center;gap:12px;margin-top:clamp(36px,4vw,56px);text-align:center}

/* ---------- RÉSERVER : minuteur ---------- */
.invite-r{display:grid;gap:20px;justify-items:center;min-width:0;align-self:center}
.timer{position:relative;width:min(100%,300px);aspect-ratio:1;display:grid;place-items:center}
.timer svg{position:absolute;inset:0;width:100%;height:100%;rotate:-90deg}
.timer .trk{fill:none;stroke:rgba(230,200,135,.25);stroke-width:6}
.timer .prg{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553;animation:countdown 6s ease-in-out infinite}
@keyframes countdown{0%{stroke-dashoffset:553}80%,100%{stroke-dashoffset:0}}
.timer .tc{display:grid;justify-items:center;gap:2px;text-align:center}
.timer .tn{font-family:var(--serif);font-style:italic;font-size:clamp(5rem,9vw,7.5rem);line-height:.9;color:var(--gold)}
.timer .tl{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;color:#fff}
.timer .ph{position:absolute;right:-2%;top:6%;width:62px;height:62px;border-radius:50%;background:var(--coral);color:var(--on-coral);display:grid;place-items:center;animation:bob 4s ease-in-out infinite}
.timer .ph .ic{width:28px;height:28px;animation:ring 2.6s ease-in-out infinite}
@keyframes ring{0%,60%,100%{rotate:0deg}65%{rotate:-18deg}70%{rotate:16deg}75%{rotate:-14deg}80%{rotate:10deg}85%{rotate:0deg}}

/* ---------- FAQ en tuiles ---------- */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
details.q{background:var(--sage);border-radius:30px;padding:0 22px}
details.q:nth-child(4n+2){background:var(--cream);border-radius:30px 30px 30px 8px}
details.q:nth-child(4n+3){background:var(--lilac);border-radius:30px 8px 30px 30px}
details.q:nth-child(4n){background:var(--sky)}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:1.1rem;padding:18px 0;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--forest);display:grid;place-items:center;font-size:1.4rem;line-height:1;font-weight:500;transition:transform .25s ease,background-color .2s,color .2s}
details[open]>summary::after{transform:rotate(45deg)}
summary:hover::after{background:var(--forest);color:#fff}
summary:active::after{scale:.9}
.legal{display:grid;gap:10px;max-width:900px}
.legal-wrap h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.legal-wrap{margin-top:clamp(40px,5vw,72px)}

@media (max-width:1080px){
  .offers{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .offer{min-height:480px}
  .offer:nth-child(n){border-radius:44px 44px 44px 120px}
  .flow{grid-template-columns:1fr;gap:6px;border-radius:36px}
  .farrow{height:34px}.farrow span{rotate:90deg;animation:none}
  .nd-wrap{grid-template-columns:1fr}
  .need:hover,.need[aria-selected="true"]{translate:0 0}
  .needs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .need{font-size:1rem;padding-right:12px;border-radius:30px}.need .go{display:none}
}
@media (max-width:900px){
  .hero,.about,.invite-in{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .hero-right{order:-1;max-width:330px}
  .nav ul{display:none}
  .foot{grid-template-columns:1fr}
  .badge-card{right:0}
  .big5{opacity:.7}
  .ab-ph{max-width:340px;margin-right:14%}
  .medal-tag{left:2%}
  .bento{grid-template-columns:1fr}
  .bt.t1,.bt.t2,.bt.t3,.bt.t4{grid-column:auto;grid-row:auto}
  .t1 .art{width:62%}
  .faq{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav .btn{padding:8px 14px;font-size:.88rem}
  .brand small{display:none}
  .badges{grid-template-columns:1fr}
  .needs{grid-template-columns:1fr}
  .sess{gap:14px}
  .sess .vwrap:nth-child(2){margin-top:36px}
  .vtag{padding:7px 12px;font-size:.82rem}
  .vlabel{left:8px;right:8px;bottom:10px}
  .seal{top:40%}
  .stage{border-radius:36px 36px 36px 80px;min-height:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .roll span:nth-child(n+2){display:none}
  .grad{background-position:0 0}
  .timer .prg{stroke-dashoffset:0}
}

/* ---------- Premier écran : la seule mention visible de Lyon ---------- */
.hero-where{color:#fff;font-weight:600;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.35;margin-top:-8px}
.hero-where .ic{width:20px;height:20px;color:var(--gold)}
.hero-trio{margin-top:-4px}

/* ---------- Mes coachings : trois cartes (voir V21), un panneau de détail ----------
   Ordinateur : cartes sur la 1re ligne, panneau pleine largeur dessous.
   Mobile (≤ 720px) : chaque panneau s'ouvre sous sa carte. */
.anchor-alias{position:absolute;top:0}
.offers-pick{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
.offers-pick .v1{grid-column:1;grid-row:1}
.offers-pick .v2{grid-column:2;grid-row:1}
.offers-pick .odetail{grid-column:1/-1;grid-row:2}
.ocard{cursor:pointer;scroll-margin-top:84px}
.ocard:hover{box-shadow:0 0 0 2px rgba(10,57,34,.35),0 24px 50px -30px rgba(10,57,34,.35)}
.ocard:hover .ocard-btn{background:rgba(10,57,34,.09)}
.ocard.is-open{box-shadow:0 0 0 4px var(--forest),0 24px 50px -30px rgba(10,57,34,.35)}
.ocard-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:auto;padding:0 4px 2px}
.ocard-btn .i-minus{display:none}
.ocard-btn[aria-expanded="true"] .i-plus{display:none}
.ocard-btn[aria-expanded="true"] .i-minus{display:block}
.ocard-sel{display:none;color:var(--forest);font-weight:700;font-size:.92rem}
.ocard-sel .ic{color:var(--leaf-deep)}
.ocard.is-open .ocard-sel{display:inline-flex}
.odetail{--nx:25%;position:relative;display:grid;gap:18px;padding:clamp(20px,3vw,36px);border-radius:40px;background:var(--mint);color:var(--forest);scroll-margin:84px 0 24px;animation:odin .45s var(--ease) both}
.odetail.od-2{--nx:75%;background:var(--cream)}
.odetail::before{content:"";position:absolute;top:-10px;left:var(--nx);width:22px;height:22px;background:inherit;border-radius:4px;rotate:45deg;translate:-50% 0}
@keyframes odin{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.od-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:stretch}
.od-h{display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:8px}
.od-who{font-weight:700;font-size:1.1rem;line-height:1.3;padding:0 4px}
.od-blk{background:rgba(255,255,255,.75);border-radius:26px;padding:18px 20px}
.od-blk ul{display:grid;gap:10px}
.od-blk li{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:1rem;line-height:1.3}
.od-blk .ic{width:18px;height:18px;flex:none;margin-top:1px;color:var(--leaf-deep)}
.od-res{background:linear-gradient(160deg,var(--forest-deep),var(--forest) 70%);color:var(--gold-bright);border:1.5px solid rgba(230,200,135,.65)}
.od-res .od-h{display:flex;align-items:center;gap:10px;color:var(--gold);letter-spacing:.16em}
.od-res .od-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(230,200,135,.7),transparent)}
.od-res li{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.25rem;line-height:1.2}
.od-res .ic{color:var(--gold);width:16px;height:16px;margin-top:4px}
.od-foot{display:grid;gap:14px;padding:4px 4px 0}
.od-devis{align-items:flex-start;font-size:1rem;line-height:1.35;color:var(--forest)}
.od-devis .ic{margin-top:1px;color:var(--leaf-deep)}
.od-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
@media (max-width:720px){
  .offers-pick{grid-template-columns:1fr;max-width:460px;row-gap:16px}
  .offers-pick .v1,.offers-pick .v2,.offers-pick .odetail{grid-column:auto;grid-row:auto}
  .odetail,.odetail.od-2{--nx:50%;border-radius:32px}
  .od-grid{grid-template-columns:1fr}
  .ocard-btn{flex:1 1 auto}
  .od-cta .btn{width:100%;padding-inline:16px}
}

/* ---------- FAQ en bande foncée (alternance rétablie), informations légales en bande claire ---------- */
#faq details.q{color:var(--ink)}
#faq details.q :focus-visible{outline-color:var(--forest)}
details.src summary:hover::after{background:#fff;color:var(--forest)}
.legal-band{padding-block:clamp(48px,6vw,80px) clamp(56px,7vw,96px)}
.legal-band .legal-wrap{margin-top:0;padding-top:0;border-top:0}

/* ---------- V17 : études lisibles (chiffres en sans-serif, aucun dessin manuscrit) ---------- */
.fxc{gap:10px}
.fx-head{display:flex;align-items:center;gap:12px}
.fx-head .fx-ic{width:34px;height:34px;color:var(--leaf-deep);flex:none}
.fxc h3{font-size:clamp(1.5rem,2.1vw,1.9rem);letter-spacing:-.03em}
.fx-n{font-family:var(--font);font-style:normal;font-weight:800;font-size:clamp(3.2rem,5.2vw,4.6rem);line-height:1;letter-spacing:-.045em;color:var(--forest)}
.fx-n.sm{font-size:clamp(2.5rem,3.9vw,3.4rem)}
.fx-t{font-size:1.08rem;line-height:1.5;color:var(--forest);max-width:36ch}
.fx-scope{font-size:.95rem;font-weight:500;line-height:1.4;color:var(--graphite)}
.lvl{font-size:.95rem;font-weight:700;color:var(--forest)}
.fx-s{gap:0 18px}
.fx-sub{border-top:1px solid rgba(10,57,34,.2);padding-top:14px;margin-top:4px;gap:6px;font-size:1.02rem;color:var(--forest)}
.fx-k{font-size:.95rem;font-weight:700;color:var(--graphite)}
.fx-n2{font-family:var(--font);font-weight:800;font-size:clamp(1.9rem,2.8vw,2.4rem);line-height:1;letter-spacing:-.04em;color:var(--forest)}
.fx-for{border-top:1px solid rgba(10,57,34,.2);font-size:.95rem}

/* Éléments non cliquables : jamais l'allure d'un bouton */
.dm-box{pointer-events:none;user-select:none}
.dm-cap{position:relative;font-size:.92rem;font-weight:600;color:var(--mute-on-dark);justify-self:center;text-align:center;padding-bottom:6px}
.stepper{gap:8px 24px}
.stepper li,.stepper li.on,.stepper li.done{background:none;padding:0;border-radius:0;color:var(--graphite);font-size:.95rem}
.stepper li b{background:none;border:2px solid rgba(10,57,34,.3);font-family:var(--font);font-style:normal;font-weight:700;font-size:.85rem;color:var(--graphite)}
.stepper li.on{color:var(--forest);font-weight:700}
.stepper li.on b{background:var(--forest);border-color:var(--forest);color:#fff}
.stepper li.done{color:var(--forest)}
.stepper li.done b{background:var(--mint);border-color:var(--leaf-deep);color:var(--forest)}

/* Chiffres clés en or profond (lisible sur fond clair), avec filet doré */
.fx-n,.fx-n2{color:#8a6a1f;background:linear-gradient(100deg,#6b4f12,#a37b20 52%,#74561a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fx-n::after{content:"";display:block;width:64px;height:4px;border-radius:2px;margin-top:14px;background:linear-gradient(90deg,#e6c887,#b8892b);-webkit-text-fill-color:initial}

/* ---------- V19 : réservation, calendrier Calendly intégré ---------- */
#rdvPage{background:linear-gradient(180deg,var(--sage) 0,#fff 560px)}
.bk{display:grid;gap:clamp(20px,3.4vw,32px);max-width:1080px;padding-block:clamp(28px,5vw,60px) clamp(48px,7vw,96px)}
.bk-head{display:grid;gap:14px;justify-items:start}
.bk-head h1,.bk-head .bk-title{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}
.bk-head h1 .serif,.bk-head .bk-title .serif{color:var(--leaf-deep)}
.bk-facts{display:flex;flex-wrap:wrap;gap:8px 26px;font-weight:700;color:var(--forest)}
.bk-facts .ic{color:var(--leaf-deep)}
.bk-card{position:relative;background:#fff;border-radius:36px;border:1px solid var(--hairline);box-shadow:0 30px 70px rgba(10,57,34,.14);overflow:hidden}
.bk-bar{height:6px;background:linear-gradient(90deg,var(--forest),var(--leaf) 55%,var(--gold))}
.bk-frame{display:block;width:100%;height:760px;border:0;background:#fff}
.bk-frame.bk-wait{position:absolute;left:0;top:6px;opacity:0;pointer-events:none}
.bk-load{display:grid;place-items:center;align-content:center;gap:16px;min-height:420px;color:var(--graphite);font-weight:600}
.bk-spin{width:38px;height:38px;border-radius:50%;border:4px solid var(--mint);border-top-color:var(--leaf-deep);animation:bkspin .9s linear infinite}
@keyframes bkspin{to{rotate:360deg}}
.bk-fb{display:grid;justify-items:center;text-align:center;gap:16px;padding:clamp(40px,7vw,88px) 20px}
.bk-fb h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.bk-fb p{color:var(--graphite);max-width:44ch}
.bk-ok{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 20px;border-radius:20px;background:var(--forest);color:#fff;font-size:1.05rem}
.bk-ok-i{width:36px;height:36px;border-radius:50%;background:var(--leaf);color:var(--forest);display:grid;place-items:center;flex:none}
.bk-ok-i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bk-ok .btn-secondary{margin-left:auto;color:#fff;border-color:rgba(255,255,255,.85)}
.bk-ok .btn-secondary:hover{background:rgba(255,255,255,.14)}
.bk-note{font-size:.92rem;color:var(--graphite);max-width:72ch}
.bk-note a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media (max-width:700px){.bk-card{border-radius:26px}.bk-frame{height:840px}.bk-ok .btn-secondary{margin-left:0}}
@media (prefers-reduced-motion:reduce){.bk-spin{animation:none}}

/* ---------- V20 : bouton d'en-tête sur téléphone, mot qui défile ---------- */
@media (max-width:480px){
  .nav{gap:8px}
  .brand{min-width:0}
  .nav .btn{flex:none;gap:6px;padding:6px 14px;font-size:.88rem}
  .nav .btn .ph{display:none}
}
@media (max-width:359px){
  .nav .btn{padding:6px 12px;font-size:.84rem}
  .nav .btn .ic:last-child{display:none}
}
@media (prefers-reduced-motion:reduce){.roll span:nth-child(1){translate:0 0}}

/* ---------- V21 : trois offres (Coaching individuel, Team building, Intervention en entreprise) ----------
   Ordinateur (> 1080px) : trois cartes alignées sur la 1re ligne, panneau de détail pleine largeur dessous.
   Les cartes partagent les lignes de la grille (subgrid) : titres, visuels et boutons restent alignés,
   même quand un titre passe sur deux lignes.
   Tablette et mobile (≤ 1080px, même seuil que l'ancienne grille à 3 formules) : cartes empilées,
   chaque panneau s'ouvre sous sa carte. */
.sess.offers-pick{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;row-gap:16px}
.offers-pick .v1{grid-column:1;grid-row:1/span 3}
/* Ordre des offres : coaching individuel (v1), intervention en entreprise (v3), team building (v2) */
.offers-pick .v3{grid-column:2;grid-row:1/span 3}
.offers-pick .v2{grid-column:3;grid-row:1/span 3}
.offers-pick .odetail{grid-row:4;margin-top:12px}
.offers-pick .ocard{display:grid;grid-template-rows:subgrid;row-gap:16px}
.vcard.v3{background:var(--sky);border-radius:48px 16px 48px 48px}
.odetail{--nx:16.6%}
.odetail.od-3{--nx:50%;background:var(--sky)}
.odetail.od-2{--nx:83.4%}
@media (max-width:1080px){
  .sess.offers-pick{grid-template-columns:1fr;max-width:460px}
  .offers-pick .v1,.offers-pick .v2,.offers-pick .v3,.offers-pick .odetail{grid-column:auto;grid-row:auto}
  .offers-pick .odetail{margin-top:0}
  .offers-pick .ocard{display:flex}
  .odetail,.odetail.od-2,.odetail.od-3{--nx:50%;border-radius:32px}
  .od-grid{grid-template-columns:1fr}
  .ocard-btn{flex:1 1 auto}
  .od-cta .btn{width:100%;padding-inline:16px}
}

/* Visuel vectoriel de l'intervention en entreprise, en attendant une vidéo ou une photo.
   Il remplit le conteneur .vid comme les vidéos des autres cartes (même ratio, même arrondi, mêmes étiquettes) :
   pour le remplacer, il suffit de changer le contenu de ce .vid (repère « REMPLACER PAR VIDEO/PHOTO » dans le HTML). */
.vart{position:absolute;inset:0;background:radial-gradient(75% 52% at 50% 50%,rgba(29,191,115,.36),transparent 70%),linear-gradient(165deg,var(--forest-2),var(--forest-deep))}
.vart-svg{position:absolute;inset:0;width:100%;height:100%}
.va-ring{fill:none;stroke:var(--gold);stroke-opacity:.55;stroke-width:2;stroke-dasharray:5 9;transform-box:fill-box;transform-origin:center;animation:spin2 40s linear infinite}
.va-glove{transform-box:fill-box;transform-origin:center;animation:punch 3.2s ease-in-out infinite}
.vtag.va-tag{background:#fff;color:var(--forest)}
.va-tag .ic{color:var(--leaf-deep)}
.va-top{position:absolute;left:14px;top:14px}
.va-bot{flex-wrap:wrap;gap:8px}
@media (max-width:720px){.va-top{left:8px;top:10px}}
@media (prefers-reduced-motion:reduce){.va-ring,.va-glove{animation:none}}

/* ---------- V22 : pages offres (/coaching-individuel-boxe-lyon/, /team-building-boxe-lyon/, /intervention-entreprise-boxe-lyon/) ----------
   Mêmes composants que l'accueil : bandes alternées, carte de détail (.odetail), cartes d'études (.fxc), FAQ en tuiles. */
.nav ul a[aria-current="page"]{background:var(--sage)}
.ocard-foot{align-content:flex-start}
.ocard-more{min-height:36px}
/* Menu : 3 offres + Coach + FAQ ; plus étroit, les 3 offres seules ; tablette et mobile, liens dans le pied de page */
@media (max-width:1240px){.nav ul li.nav-sec{display:none}.nav ul{gap:2px}.nav ul a{padding:8px 12px;font-size:.92rem}}
@media (max-width:1080px){.nav ul{display:none}}
.foot{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}
.foot ul.foot-social{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px}
.foot-social a{text-decoration:underline;text-underline-offset:4px;color:#fff;font-weight:600}
@media (max-width:900px){.foot{grid-template-columns:1fr}}
.sub-hero{padding-block:clamp(12px,2vw,28px) clamp(80px,10vw,140px)}
.crumbs{margin-bottom:clamp(6px,1.4vw,18px)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;font-size:.92rem;font-weight:600;color:var(--mute-on-dark)}
.crumbs li{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.crumbs li+li::before{content:"›";color:var(--gold);font-weight:700}
.crumbs a{color:#fff;text-underline-offset:4px}
.crumbs a:hover{text-decoration-thickness:2px}
.sub-hero h1{font-size:clamp(2.3rem,4.4vw,3.8rem);line-height:1.02}
.sub-hero .hero-left{gap:clamp(16px,2.2vw,26px)}
.sub-hero .lead{max-width:46ch;font-size:1.02rem}
.sub-vis{width:100%;max-width:380px;justify-self:center}
.sub-vis .vid{aspect-ratio:3/4;border-radius:36px;border:0;box-shadow:0 0 0 3px var(--gold),0 30px 60px -30px rgba(0,0,0,.6)}
.od-static{animation:none}
.od-static::before{display:none}
h3.od-h{line-height:1.55}
.sub-block{margin-top:clamp(28px,4vw,48px);display:grid;gap:16px}
.sub-h3{color:var(--forest)}
.sub-steps{max-width:640px}
.sub-steps li{color:var(--forest)}
.goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.goals li{display:grid;gap:4px;padding:16px 20px;border-radius:24px;background:var(--sage);color:var(--graphite);font-size:1rem;line-height:1.4}
.goals li:nth-child(2){background:var(--cream)}.goals li:nth-child(3){background:var(--lilac)}.goals li:nth-child(4){background:var(--sky)}
.goals b{color:var(--forest);font-size:1.05rem}
.sub-p{color:var(--graphite);max-width:70ch}
.sub-p a{color:var(--forest);font-weight:700;text-underline-offset:4px}
.fx.fx-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.sub-note{max-width:70ch;margin:24px auto 0;text-align:center;font-size:.95rem;color:var(--mute-on-dark)}
.sub-note a{color:var(--gold);font-weight:600}
.sub-last{padding-bottom:clamp(64px,8vw,110px)}
.rel{margin-top:clamp(40px,5vw,64px);display:grid;gap:16px;justify-items:start}
.rel-h{font-size:clamp(1.5rem,2.6vw,2rem)}
@media (max-width:900px){
  .fx.fx-2{grid-template-columns:1fr;max-width:560px}
  .sub-vis{max-width:340px}
}
@media (max-width:560px){.goals{grid-template-columns:1fr}.rel .btn{width:100%}}

/* ---------- V23 : fonds animés, offres marquantes, photo du coach, pages offres plus contrastées ----------
   - .bgfx : calque de fond ajouté par site.js dans chaque bande et dans le pied de page ; il dérive lentement
     (transform seulement) et ne s'anime que lorsqu'il est à l'écran (classe .on). Rien ne bouge si le visiteur
     a demandé de réduire les animations. */
.bgfx{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bgfx i{position:absolute;inset:-18%;will-change:transform;animation:bgflow 30s ease-in-out infinite alternate;animation-play-state:paused}
.bgfx.on i{animation-play-state:running}
.dark .bgfx i,footer .bgfx i{background:
  radial-gradient(36% 32% at 18% 28%,rgba(29,191,115,.22),transparent 70%),
  radial-gradient(32% 30% at 82% 72%,rgba(230,200,135,.13),transparent 70%),
  radial-gradient(26% 26% at 62% 12%,rgba(95,212,239,.09),transparent 70%)}
.light .bgfx i{background:
  radial-gradient(34% 30% at 14% 24%,rgba(210,242,227,.9),transparent 70%),
  radial-gradient(30% 28% at 86% 74%,rgba(255,237,232,.85),transparent 70%),
  radial-gradient(26% 24% at 70% 14%,rgba(204,240,248,.7),transparent 70%)}
@keyframes bgflow{
  0%{transform:translate3d(-4%,-3%,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(4%,2%,0) rotate(5deg) scale(1.06)}
  100%{transform:translate3d(-2%,4%,0) rotate(-4deg) scale(1.02)}}
footer{position:relative;overflow:hidden}
.blob{animation:drift 18s ease-in-out infinite alternate}
.blob.b2{animation-duration:23s;animation-direction:alternate-reverse}

/* ---------- Accueil : trois offres plus marquantes ---------- */
#accompagnements .head{max-width:820px}
#accompagnements .head .lead{max-width:62ch}
.sess.offers-pick{max-width:1200px;gap:clamp(18px,2.2vw,32px)}
.offers-pick .ocard{padding:clamp(18px,1.8vw,26px);box-shadow:inset 0 0 0 1.5px rgba(10,57,34,.1),0 34px 70px -34px rgba(10,57,34,.55);transition:translate .45s var(--ease),box-shadow .45s var(--ease)}
.offers-pick .vcard.v1{background:linear-gradient(160deg,#e6f9ef 0%,#bdeed4 100%)}
.offers-pick .vcard.v3{background:linear-gradient(160deg,#e5f8fd 0%,#b3e6f4 100%)}
.offers-pick .vcard.v2{background:linear-gradient(160deg,#fefaec 0%,#f2e0a8 100%)}
/* liseré lumineux qui tourne autour de chaque carte */
.offers-pick .ocard::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 52%,var(--gold) 70%,var(--leaf) 80%,transparent 94%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:angle 7s linear infinite;opacity:.85}
.offers-pick .v3::before{animation-delay:-2.3s}
.offers-pick .v2::before{animation-delay:-4.6s}
.offers-pick .ocard:hover{translate:0 -10px;box-shadow:inset 0 0 0 2px rgba(10,57,34,.3),0 46px 80px -36px rgba(10,57,34,.65)}
.offers-pick .ocard.is-open{box-shadow:0 0 0 4px var(--forest),0 40px 80px -36px rgba(10,57,34,.6)}
.onum{position:absolute;top:-16px;right:clamp(16px,1.8vw,24px);z-index:2;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold);font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1;box-shadow:0 0 0 4px #fff,0 12px 24px -10px rgba(6,38,22,.6);pointer-events:none}
.offers-pick .vcard .vhead{padding-right:clamp(40px,4vw,58px)}
.offers-pick .vcard .vh-ico{width:clamp(52px,4.6vw,64px);box-shadow:0 10px 22px -12px rgba(10,57,34,.55)}
.offers-pick .vcard .vhead h3{font-size:clamp(1.55rem,2.1vw,2rem);line-height:1}
.offers-pick .vhead p.vfor{display:inline-flex;width:fit-content;margin-top:10px;padding:6px 12px 6px 10px;border-radius:14px;background:rgba(255,255,255,.75);font-size:.9rem;line-height:1.25}
.offers-pick .vcard .vid{box-shadow:0 0 0 4px rgba(255,255,255,.9),0 26px 44px -26px rgba(6,38,22,.7)}
.offers-pick .vcard .vid video{transition:scale .8s var(--ease)}
.offers-pick .ocard:hover .vid video{scale:1.04}
.offers-pick .ocard-more{gap:8px;min-height:44px;padding:8px 18px;border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-size:.95rem;transition:background .2s var(--ease)}
.offers-pick .ocard-more:hover{background:var(--forest-2)}
.offers-pick .ocard-more .ic{color:var(--gold)}
@media (max-width:1080px){.sess.offers-pick{row-gap:34px}.offers-pick .ocard:hover{translate:0 -4px}}

/* ---------- Coach : portrait principal + petite photo en médaillon ---------- */
.coach-stage .cs-img{object-position:50% 40%;transform-origin:55% 42%}
.cs-mini{position:absolute;left:-7%;bottom:-3%;width:32%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid #fff;background:var(--forest);box-shadow:0 16px 32px -14px rgba(6,38,22,.6);z-index:3;animation:bob 6s ease-in-out infinite}
.cs-mini img{width:100%;height:100%;object-fit:cover;display:block}
/* étiquettes déplacées pour laisser voir le visage et les mains : « Compétiteur » au-dessus du médaillon, « Ceinture noire » en haut à droite */
.coach-stage .medal-tag{top:auto;bottom:31%;left:-9%}
.coach-stage .medal-tag.m2{top:9%;bottom:auto;left:auto;right:-7%}
@media (max-width:900px){.cs-mini{left:-4%;width:30%}}

/* ---------- V24 : jonctions propres entre les bandes ----------
   Les fonds animés s'effacent en haut et en bas de chaque bande : la vague de la bande précédente
   se raccorde ainsi sur une couleur unie, sans ligne visible. */
.bgfx,.pg-bg{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 clamp(90px,12vw,180px),#000 calc(100% - clamp(90px,12vw,180px)),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 clamp(90px,12vw,180px),#000 calc(100% - clamp(90px,12vw,180px)),transparent 100%)}

/* ---------- Accueil : offres encore plus en avant ---------- */
/* raccourcis vers les trois offres dès le premier écran */
.hero-offers{display:grid;gap:10px}
.ho-k{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.hero-offers ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:640px}
.hero-offers li{display:flex}
.hero-offers a{flex:1;display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 12px 8px 8px;border-radius:20px;background:#fff;color:var(--forest);font-weight:700;font-size:.98rem;line-height:1.2;text-decoration:none;box-shadow:0 14px 30px -16px rgba(0,0,0,.6);transition:translate .25s var(--ease),box-shadow .25s var(--ease)}
.hero-offers a:hover{translate:0 -3px;box-shadow:0 20px 36px -16px rgba(0,0,0,.7)}
.hero-offers a:active{translate:0 0}
.ho-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--mint)}
.ho-3 .ho-ic{background:var(--sky)}
.ho-2 .ho-ic{background:var(--cream)}
.ho-ic svg{width:72%;height:72%}
.ho-t{flex:1}
.ho-ar{width:18px;height:18px;color:var(--leaf-deep);transition:translate .2s var(--ease)}
.hero-offers a:hover .ho-ar{translate:3px 0}
@media (max-width:640px){.hero-offers ul{grid-template-columns:1fr}.hero-offers a{min-height:54px;border-radius:999px}}

/* section des offres : plus d'air et un halo de couleur sous chaque carte */
#accompagnements .head h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.sess.offers-pick{max-width:1260px;column-gap:clamp(26px,3.4vw,56px);row-gap:clamp(34px,3.4vw,48px);margin-top:clamp(8px,1.6vw,24px)}
.offers-pick .vcard.v1{--glow:rgba(14,138,80,.6)}
.offers-pick .vcard.v3{--glow:rgba(18,127,160,.55)}
.offers-pick .vcard.v2{--glow:rgba(176,134,40,.55)}
.offers-pick .ocard{box-shadow:inset 0 0 0 1.5px rgba(10,57,34,.1),0 44px 80px -40px var(--glow)}
.offers-pick .ocard:hover{box-shadow:inset 0 0 0 2px rgba(10,57,34,.25),0 60px 96px -38px var(--glow)}
.offers-pick .ocard.is-open{box-shadow:0 0 0 4px var(--forest),0 56px 96px -38px var(--glow)}

/* ---------- Coach : médaillon plus grand, cadré sur Jérémy ---------- */
.cs-mini{width:38%;left:-9%;bottom:-5%;border-width:6px}
.coach-stage .medal-tag{bottom:36%}
@media (max-width:900px){.cs-mini{left:-5%;width:36%}}

/* ---------- Pages offres : deuxième partie courte, tournée vers l'appel de 5 min (#programme) ---------- */
.pg-1{--pg-a:var(--leaf-deep);--pg-soft:var(--mint);--pg-tint:#e7f8ef}
.pg-2{--pg-a:var(--gold-deep);--pg-soft:#f6ebc6;--pg-tint:#fcf7e4}
.pg-3{--pg-a:#127fa0;--pg-soft:var(--sky);--pg-tint:#e4f6fb}
.band.pg{background:linear-gradient(180deg,var(--pg-tint) 0%,#fff 55%,var(--pg-tint) 100%)}
/* la vague du premier écran prend exactement la couleur du haut de la 2e partie */
.wave.pgw-1{color:#e7f8ef}
.wave.pgw-2{color:#fcf7e4}
.wave.pgw-3{color:#e4f6fb}
.pg-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pg-bg i{position:absolute;aspect-ratio:1;border-radius:50%;will-change:transform;animation:pgfloat 20s ease-in-out infinite alternate}
.pg-bg i:nth-child(1){width:min(56vw,680px);left:-14%;top:4%;background:radial-gradient(circle,var(--pg-soft) 0%,transparent 68%)}
.pg-bg i:nth-child(2){width:min(46vw,560px);right:-12%;top:30%;background:radial-gradient(circle,rgba(230,200,135,.5) 0%,transparent 68%);animation-duration:25s;animation-direction:alternate-reverse}
.pg-bg i:nth-child(3){width:min(40vw,480px);left:30%;bottom:-6%;background:radial-gradient(circle,rgba(29,191,115,.2) 0%,transparent 68%);animation-duration:29s}
@keyframes pgfloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(7%,-9%,0) scale(1.14)}}
.pg-sell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center}
.pg-main{display:grid;gap:clamp(16px,2vw,22px);justify-items:start}
.pg-main h2{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.02}
.pg-for{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:999px;background:#fff;color:var(--forest);font-weight:700;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.3;border:1.5px solid rgba(10,57,34,.08);box-shadow:0 14px 30px -22px rgba(10,57,34,.6)}
.pg-for .ic{color:var(--pg-a)}
.pg-wins{display:grid;gap:14px;margin-top:6px}
.pg-wins li{display:flex;align-items:center;gap:14px;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--forest)}
.pg-ck{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold)}
.pg-ck .ic{width:22px;height:22px;stroke-width:2.6}
.pg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pg-tags li{padding:7px 14px;border-radius:999px;background:var(--pg-soft);color:var(--forest);font-weight:700;font-size:.92rem}
.pg-call{position:relative;display:grid;gap:14px;justify-items:start;padding:clamp(26px,3.2vw,44px);border-radius:36px;background:radial-gradient(120% 90% at 100% 0%,var(--forest-2) 0%,var(--forest) 45%,var(--forest-deep) 100%);color:#fff;box-shadow:0 40px 80px -36px rgba(6,38,22,.8)}
.pg-call::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 50%,var(--gold) 72%,var(--leaf) 84%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:angle 8s linear infinite}
.pg-call-k{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pg-call-big{font-family:var(--serif);font-style:italic;font-size:clamp(3.4rem,5.6vw,5rem);line-height:.9;color:#fff}
.pg-call-big span{color:var(--gold);font-size:1.4em}
.pg-call-t{font-size:1.08rem;line-height:1.45;color:var(--mute-on-dark);max-width:32ch}
.pg-call-list{display:grid;gap:8px}
.pg-call-list li{display:flex;align-items:center;gap:10px;font-weight:700}
.pg-call-list .ic{width:20px;height:20px;color:var(--leaf)}
.pg-call-btn{width:100%;justify-content:center;margin-top:6px;animation:hdrpulse 2.6s ease-out infinite}
@media (max-width:900px){
  .pg-sell{grid-template-columns:1fr}
  .pg-call{justify-items:stretch}
}
@media (max-width:560px){
  .pg-for{border-radius:20px}
  .pg-wins li{font-size:1.2rem}
  .pg-call-btn{padding-inline:18px}
}
@media (prefers-reduced-motion:reduce){
  .bgfx i,.pg-bg i,.blob,.cs-mini,.offers-pick .ocard::before,.pg-call::before,.pg-call-btn{animation:none}
}

/* ---------- V25 : offres de l'accueil en grandes rangées ----------
   Une rangée par offre : grande vidéo d'un côté (alternée gauche / droite), l'essentiel de l'autre
   (pour qui, nom, une phrase, 3 résultats, 3 repères) et deux boutons : appel de 5 min + page de l'offre. */
.offers-head{margin-inline:auto;text-align:center;justify-items:center;max-width:780px}
.offers-head h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.offer-rows{display:grid;gap:clamp(30px,4.4vw,60px);max-width:1180px;margin-inline:auto}
.orow{--t1:#e8faf0;--t2:#c2eed7;--acc:var(--leaf-deep);--glow:rgba(14,138,80,.5);
  position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,4.6vw,76px);align-items:center;
  padding:clamp(18px,3.2vw,48px);border-radius:52px;background:linear-gradient(135deg,var(--t1) 0%,var(--t2) 100%);
  box-shadow:inset 0 0 0 1.5px rgba(10,57,34,.08),0 54px 96px -56px var(--glow);scroll-margin-top:96px}
.orow.o3{--t1:#e8f9fd;--t2:#bde8f4;--acc:#127fa0;--glow:rgba(18,127,160,.5)}
.orow.o2{--t1:#fffaee;--t2:#f3e3b2;--acc:var(--gold-deep);--glow:rgba(176,134,40,.5)}
/* liseré lumineux qui fait le tour de chaque rangée */
.orow::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 55%,var(--gold) 72%,var(--leaf) 82%,transparent 95%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:angle 9s linear infinite;opacity:.8}
.orow.o3::before{animation-delay:-3s}
.orow.o2::before{animation-delay:-6s}
/* vidéo une fois à gauche, une fois à droite */
.orow:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.orow:nth-child(even) .orow-vis{order:2}
.orow-vis{position:relative;justify-self:center;width:100%;max-width:440px}
.orow .vid{aspect-ratio:4/5;border-radius:36px;border:0;box-shadow:0 0 0 5px #fff,0 36px 64px -30px rgba(6,38,22,.72)}
.orow .vid video{transition:scale .9s var(--ease)}
.orow:hover .vid video{scale:1.04}
.orow-num{position:absolute;top:-20px;left:-20px;z-index:2;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold);font-family:var(--serif);font-style:italic;font-size:2.2rem;line-height:1;box-shadow:0 0 0 5px #fff,0 16px 30px -12px rgba(6,38,22,.6)}
.orow:nth-child(even) .orow-num{left:auto;right:-20px}
.orow-txt{display:grid;gap:clamp(14px,1.6vw,20px);justify-items:start}
.orow-for{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--forest);font-weight:700;font-size:.98rem;line-height:1.25}
.orow-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 2px var(--forest)}
.orow-ic svg{width:72%;height:72%}
.orow h3{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;letter-spacing:-.035em;color:var(--forest)}
.orow h3 .serif{color:var(--acc)}
.orow-pitch{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.5;color:var(--graphite);max-width:46ch}
.orow-wins{display:grid;gap:10px}
.orow-wins li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.25;letter-spacing:-.01em;color:var(--forest)}
.orow-ck{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold)}
.orow-ck .ic{width:19px;height:19px;stroke-width:2.6}
.orow-tags{display:flex;flex-wrap:wrap;gap:8px}
.orow-tags li{padding:6px 13px;border-radius:999px;background:#fff;color:var(--forest);font-weight:700;font-size:.88rem;box-shadow:inset 0 0 0 1.5px rgba(10,57,34,.1)}
.orow-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.offers-note{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:clamp(26px,3vw,42px);color:var(--forest);font-size:1.02rem;text-align:center}
.offers-note .ic{color:var(--leaf-deep)}
@media (max-width:900px){
  .orow,.orow:nth-child(even){grid-template-columns:1fr;border-radius:38px}
  .orow:nth-child(even) .orow-vis{order:0}
  .orow-vis{max-width:420px}
  .orow-num,.orow:nth-child(even) .orow-num{width:58px;height:58px;font-size:1.7rem;top:-14px;left:-10px;right:auto}
}
@media (max-width:560px){
  .orow{padding:16px 16px 22px}
  .orow-cta{width:100%}
  .orow-cta .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.orow::before{animation:none}}

/* ---------- V26 : réservation, Calendly en deux colonnes (infos à gauche, calendrier à droite) sans défiler ----------
   Calendly ne passe en deux colonnes que si son cadre fait au moins 1120 px de large : la carte prend toute la
   largeur du site, le titre et l'essentiel tiennent sur une ligne, et la hauteur du cadre suit celle que Calendly
   annonce (voir site.js), sans barre de défilement intérieure. */
.bk{max-width:1280px}
@media (min-width:1100px){
  .bk{padding-block:22px 64px;gap:18px}
  .bk-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 32px}
  .bk-head .eyebrow{display:none}
  .bk-head .bk-title{font-size:clamp(2rem,2.6vw,2.6rem)}
}
@media (min-width:1100px) and (max-width:1300px){#rdvPage .wrap{padding-left:20px;padding-right:20px}}
/* Écrans peu hauts (portables 1366×768, affichage zoomé…) : en-tête resserré, et on masque une partie de la
   grande marge blanche que Calendly laisse au-dessus de sa carte, pour voir le mois entier sans défiler. */
@media (min-width:1100px) and (max-height:820px){
  .rdv-top{padding-block:8px}
  .bk{padding-top:10px;gap:10px}
  .bk-head .bk-title{font-size:1.75rem}
  .bk-bar{position:relative;z-index:1}
  .bk-frame{margin-top:-50px}
}

/* ---------- V27 : accueil allégé, fond des coachings plus vivant, médaillon animé du coach ---------- */
/* Premier écran de l'accueil : une seule phrase d'accroche, mise en avant par un filet doré */
#accueil .hero-lead{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3;letter-spacing:-.01em;max-width:30ch;padding-left:18px;border-left:4px solid var(--gold)}
#accueil .hero-offers{margin-top:4px}

/* Mes coachings : fond vert sauge en dégradé, halos de couleur et fine trame de points ;
   les cartes deviennent plus lumineuses et se détachent nettement du fond */
#accompagnements{background:
  radial-gradient(46% 24% at 0% 26%,rgba(29,191,115,.26),transparent 72%),
  radial-gradient(42% 24% at 100% 55%,rgba(18,127,160,.22),transparent 72%),
  radial-gradient(48% 24% at 0% 84%,rgba(214,170,70,.34),transparent 72%),
  linear-gradient(180deg,#fff 0,#e3f2ea clamp(150px,16vw,280px),#cfe6d9 50%,#dbece2 calc(100% - 180px),#e6f1ea 100%)}
#accompagnements::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(10,57,34,.11) 1.2px,transparent 1.7px);background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 280px,#000 calc(100% - 240px),transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 280px,#000 calc(100% - 240px),transparent 100%)}
#accompagnements .orow{--t1:#f7fffa;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 34px 70px -38px rgba(6,38,22,.42),0 60px 110px -60px var(--glow)}
#accompagnements .orow.o3{--t1:#f5fcff}
#accompagnements .orow.o2{--t1:#fffdf6}
#accompagnements .offers-note{display:flex;width:fit-content;margin-inline:auto;padding:10px 20px;border-radius:999px;background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1.5px rgba(10,57,34,.08)}

/* Votre coach : médaillon un peu plus grand qui fait défiler photos et vidéos (piloté par site.js) */
.cs-reel{width:44%;left:-11%;bottom:-7%;overflow:visible;border:0;background:none;box-shadow:none}
.rl-clip{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:6px solid #fff;background:var(--forest-deep);box-shadow:0 18px 36px -14px rgba(6,38,22,.65);transform:translateZ(0)}
.rl-it{position:absolute;inset:0;margin:0;opacity:0;scale:1.06;transition:opacity .9s var(--ease),scale 1.2s var(--ease)}
.rl-it.is-on{opacity:1;scale:1}
.rl-it img,.rl-it video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--o,50% 50%);display:block}
/* léger zoom fixe sur certaines vidéos, centré sur l'action (réglé par --z et --zo sur la vidéo) */
.rl-it video{scale:var(--z,1);transform-origin:var(--zo,50% 50%)}
.rl-it.is-on .rl-ph{animation:rlkb 6s ease-out forwards}
@keyframes rlkb{from{scale:1}to{scale:1.07}}
.rl-btn{position:absolute;right:2%;bottom:2%;z-index:2;width:38px;height:38px;border-radius:50%;border:3px solid #fff;background:var(--forest);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px -8px rgba(6,38,22,.7);transition:background-color .2s var(--ease)}
.rl-btn:hover{background:var(--leaf-deep)}
.rl-btn:active{transform:scale(.92)}
.rl-btn .ic{width:15px;height:15px;stroke-width:3}
.rl-btn .i-play,.rl-btn[data-state="paused"] .i-pause{display:none}
.rl-btn[data-state="paused"] .i-play{display:block}
.coach-stage .medal-tag{bottom:42%}
@media (max-width:900px){.cs-reel{width:42%;left:-4%;bottom:-6%}}
@media (prefers-reduced-motion:reduce){.rl-it{transition:none;scale:1}.rl-it.is-on .rl-ph{animation:none}}
