
:root{
  --black:#0A0A0B;      /* charbon */
  --orange:#F26A00;     /* signal — rare & signifiant */
  --bone:#F5F2EC;       /* os */
  --steel:#1A1A1D;      /* acier */
  --concrete:#6B6B72;   /* béton */
  --line:rgba(245,242,236,.12);
  --line-dark:rgba(10,10,11,.15);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
::selection{background:var(--orange);color:var(--black);}
body{background:var(--black);color:var(--bone);font-family:'Instrument Sans',-apple-system,sans-serif;line-height:1.65;font-size:16px;}
.disp{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:900;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
section{padding:110px 0;position:relative;}

/* ---------- NAV ---------- */
nav{position:fixed;inset:0 0 auto;z-index:90;background:rgba(10,10,11,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.nav-in{max-width:1200px;margin:0 auto;padding:0 28px;height:66px;display:flex;align-items:center;gap:26px;}
.logo{font-family:'Big Shoulders Display';font-weight:900;font-size:24px;letter-spacing:.04em;line-height:1;display:flex;align-items:center;gap:9px;text-transform:uppercase;}
.logo::before{content:"";width:11px;height:11px;background:var(--orange);}
.nav-links{display:flex;gap:26px;margin-left:auto;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--concrete);}
.nav-links a{padding:4px 0;border-bottom:2px solid transparent;transition:.2s;}
.nav-links a:hover{color:var(--bone);border-color:var(--orange);}
.lang{border:1px solid var(--line);padding:7px 12px;font-family:'JetBrains Mono';font-size:11px;font-weight:700;cursor:pointer;background:none;color:var(--concrete);transition:.2s;}
.lang:hover{color:var(--orange);border-color:var(--orange);}
.nav-cta{background:var(--orange);color:var(--black);padding:11px 20px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.2s;}
.nav-cta:hover{background:var(--bone);}
@media(max-width:900px){.nav-links{display:none;}}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--orange);color:var(--black);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:17px 32px;transition:.22s;border:none;cursor:pointer;}
.btn::after{content:"→";font-weight:400;transition:.22s;}
.btn:hover{background:var(--bone);}
.btn:hover::after{transform:translateX(5px);}
.btn.line{background:transparent;border:1px solid rgba(245,242,236,.35);color:var(--bone);}
.btn.line:hover{background:var(--bone);color:var(--black);border-color:var(--bone);}

/* ---------- STAMPS & HATCH ---------- */
.stamp{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--concrete);border:1px solid var(--line);padding:6px 11px;display:inline-block;}
.hatch{height:10px;background:repeating-linear-gradient(45deg,var(--orange) 0 7px,transparent 7px 16px);width:130px;}

/* ---------- HERO ---------- */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:150px 0 0;overflow:hidden;background:var(--black);}
.ring{border:2px solid var(--line);padding:clamp(28px,5vw,64px);position:relative;}
.ring .corner{position:absolute;top:-2px;left:-2px;width:54px;height:54px;border-top:6px solid var(--orange);border-left:6px solid var(--orange);}
.hero .meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px;flex-wrap:wrap;gap:10px;}
.hero h1{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(64px,12.5vw,180px);line-height:.86;text-transform:uppercase;}
.hero h1 .ghost{color:transparent;-webkit-text-stroke:2px rgba(245,242,236,.5);}
.hero h1 .dot{color:var(--orange);}
.hero .sub{margin:34px 0 42px;font-size:clamp(15px,1.6vw,19px);color:#C9C6BE;max-width:560px;font-weight:500;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}
.hero .below{display:flex;justify-content:space-between;align-items:flex-end;margin-top:60px;padding-bottom:50px;gap:16px;flex-wrap:wrap;}

/* ---------- MARQUEE ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--steel);overflow:hidden;white-space:nowrap;padding:15px 0;}
.marquee .track{display:inline-block;animation:mq 26s linear infinite;}
.marquee span{font-family:'Big Shoulders Display';font-weight:800;font-size:27px;letter-spacing:.12em;color:rgba(245,242,236,.45);margin-right:20px;text-transform:uppercase;}
.marquee span.o{color:var(--orange);}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- STATS ---------- */
.stats{background:var(--steel);padding:66px 0;}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.stat{border-left:1px solid var(--line);padding:8px 26px;}
.stat .n{font-family:'JetBrains Mono';font-weight:700;font-size:clamp(34px,4.6vw,58px);line-height:1;color:var(--bone);}
.stat .n em{font-style:normal;color:var(--orange);}
.stat .l{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);margin-top:10px;}
.stat a:hover .n{color:var(--orange);}
@media(max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr);row-gap:38px;}}

/* ---------- SECTION HEADS ---------- */
.shead{display:flex;align-items:center;gap:18px;margin-bottom:26px;}
.shead .rule{flex:1;height:1px;background:var(--line);}
h2{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(46px,6.6vw,96px);line-height:.92;text-transform:uppercase;margin-bottom:22px;}
h2 .o{color:var(--orange);}
h2 .ghost{color:transparent;-webkit-text-stroke:2px rgba(245,242,236,.45);}
.lead{color:var(--concrete);max-width:640px;font-size:16.5px;font-weight:500;}

/* ---------- METHOD ---------- */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px;}
@media(max-width:860px){.mgrid{grid-template-columns:1fr;}}
.m{background:var(--black);padding:38px 32px;transition:.25s;position:relative;}
.m:hover{background:var(--steel);}
.m .tag{font-family:'JetBrains Mono';font-size:11px;font-weight:700;color:var(--concrete);border:1px solid var(--line);display:inline-block;padding:4px 9px;margin-bottom:22px;}
.m:hover .tag{color:var(--orange);border-color:var(--orange);}
.m h3{font-family:'Big Shoulders Display';font-weight:800;font-size:30px;letter-spacing:.03em;margin-bottom:10px;text-transform:uppercase;}
.m p{color:var(--concrete);font-size:14.5px;}

/* ---------- QUOTE (OS) ---------- */
.quote{background:var(--bone);color:var(--black);padding:100px 0;}
.quote .hatch{margin-bottom:36px;}
.quote blockquote{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(36px,5.6vw,76px);line-height:.96;text-transform:uppercase;max-width:1000px;}
.quote blockquote b{color:var(--orange);font-weight:900;}
.quote .sig{margin-top:30px;font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(10,10,11,.55);}

/* ---------- PRICING ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px;align-items:stretch;}
@media(max-width:900px){.pgrid{grid-template-columns:1fr;}}
.plan{background:var(--steel);border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;position:relative;transition:.25s;}
.plan:hover{transform:translateY(-6px);border-color:rgba(245,242,236,.35);}
.plan .fnum{font-family:'JetBrains Mono';font-size:11px;font-weight:700;color:var(--concrete);margin-bottom:18px;}
.plan h3{font-family:'Big Shoulders Display';font-weight:800;font-size:34px;letter-spacing:.04em;text-transform:uppercase;}
.plan .price{font-family:'JetBrains Mono';font-weight:700;font-size:56px;line-height:1;margin:22px 0 4px;}
.plan .price small{font-size:17px;color:var(--concrete);font-weight:400;}
.plan .noeng{font-family:'JetBrains Mono';font-size:11.5px;color:var(--concrete);margin-bottom:26px;}
.plan ul{list-style:none;margin-bottom:32px;flex:1;}
.plan li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:#C9C6BE;display:flex;gap:12px;}
.plan li::before{content:"/";color:var(--orange);font-weight:700;}
.plan .btn{justify-content:center;}
.plan.featured{border:1.5px solid var(--orange);}
.plan.featured::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(45deg,var(--orange) 0 7px,transparent 7px 16px);}
.ptag{position:absolute;top:16px;right:0;background:var(--orange);color:var(--black);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;}
.gline{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:860px){.gline{grid-template-columns:1fr;}}
.g{border-top:1px solid var(--line);padding-top:14px;font-size:13px;color:var(--concrete);}
.g b{display:block;color:var(--bone);font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;}

/* ---------- SPLIT / PHOTO ---------- */
.darksec{background:var(--steel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;margin-top:24px;}
@media(max-width:900px){.split{grid-template-columns:1fr;}}
.ph{aspect-ratio:4/5;background:var(--black);border:2px solid var(--line);display:flex;align-items:flex-end;padding:22px;position:relative;}
.ph.wide{aspect-ratio:16/10;}
.ph::before{content:"";position:absolute;top:-2px;right:-2px;width:46px;height:46px;border-top:6px solid var(--orange);border-right:6px solid var(--orange);}
.ph .lbl{font-family:'JetBrains Mono';font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);border:1px solid var(--line);padding:7px 12px;background:rgba(10,10,11,.75);}
.offer{border-left:2px solid var(--orange);padding:6px 0 6px 24px;margin:26px 0;}
.offer h3{font-family:'Big Shoulders Display';font-weight:800;font-size:28px;letter-spacing:.03em;text-transform:uppercase;}
.offer p{color:var(--concrete);font-size:14.5px;margin-top:6px;}

/* ---------- TESTIMONIALS ---------- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
@media(max-width:860px){.tgrid{grid-template-columns:1fr;}}
.t{background:var(--steel);border:1px solid var(--line);padding:32px;font-size:14.5px;color:#C9C6BE;position:relative;}
.t::before{content:"";position:absolute;top:-1px;left:-1px;width:34px;height:34px;border-top:4px solid var(--orange);border-left:4px solid var(--orange);}
.t .who{margin-top:20px;font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);}

/* ---------- CONTACT ---------- */
.contact{padding:130px 0;}
.contact h2{font-size:clamp(58px,9.5vw,150px);}
.contact .lead{margin-bottom:44px;}
.c-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px;}
.c-info{color:var(--concrete);font-size:14px;}
.c-info a{color:var(--bone);border-bottom:1px solid var(--orange);}
.c-info a:hover{color:var(--orange);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:60px 0 34px;background:var(--black);}
footer .tagline{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(52px,9vw,130px);line-height:.9;text-transform:uppercase;margin-bottom:40px;}
footer .tagline .o{color:var(--orange);}
footer .row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--concrete);font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.06em;border-top:1px solid var(--line);padding-top:24px;}
footer a:hover{color:var(--orange);}
.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.6,.2,1);}
.reveal.on{opacity:1;transform:none;}

/* ========== V4 — COMPOSANTS ========== */

/* Inner page hero */
.phero{padding:170px 0 70px;background:var(--black);}
.phero h1{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(52px,9vw,130px);line-height:.88;text-transform:uppercase;}
.phero h1 .o{color:var(--orange);}
.phero h1 .ghost{color:transparent;-webkit-text-stroke:2px rgba(245,242,236,.5);}
.phero .lead{margin-top:24px;}
.crumb{display:flex;gap:12px;align-items:center;margin-bottom:30px;}

/* Teasers accueil */
.teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
@media(max-width:900px){.teasers{grid-template-columns:1fr;}}
.tz{background:var(--steel);border:1px solid var(--line);padding:36px 32px;display:flex;flex-direction:column;min-height:270px;transition:.25s;position:relative;}
.tz:hover{transform:translateY(-6px);border-color:var(--orange);}
.tz .stamp{margin-bottom:20px;align-self:flex-start;}
.tz h3{font-family:'Big Shoulders Display';font-weight:800;font-size:34px;text-transform:uppercase;line-height:.95;}
.tz p{color:var(--concrete);font-size:14.5px;margin:12px 0 22px;flex:1;}
.tz .go{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--orange);text-transform:uppercase;}
.tz:hover .go::after{content:" →";}

/* Coach / photo */
.coach-photo{aspect-ratio:4/5;position:relative;background:var(--steel);border:2px solid var(--line);overflow:hidden;}
.coach-photo img{width:100%;height:100%;object-fit:cover;}
.coach-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(242,106,0,.12),transparent 45%);pointer-events:none;}
.coach-photo::before{content:"";position:absolute;bottom:-2px;left:-2px;width:46px;height:46px;border-bottom:6px solid var(--orange);border-left:6px solid var(--orange);z-index:2;}
.coach-photo .lbl{position:absolute;bottom:20px;left:20px;z-index:2;font-family:'JetBrains Mono';font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);border:1px solid var(--line);padding:7px 12px;background:rgba(10,10,11,.78);}
.creds{list-style:none;margin-top:24px;}
.creds li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:#C9C6BE;display:flex;gap:14px;}
.creds li::before{content:"/";color:var(--orange);font-weight:700;}

/* Shop produits */
.prods{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;}
@media(max-width:900px){.prods{grid-template-columns:1fr;}}
.prod{background:var(--steel);border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s;position:relative;}
.prod:hover{transform:translateY(-6px);border-color:rgba(245,242,236,.35);}
.prod .visual{aspect-ratio:16/10;background:var(--black);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;}
.prod .visual .big{font-family:'Big Shoulders Display';font-weight:900;font-size:54px;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(245,242,236,.35);}
.prod .visual .stamp{position:absolute;top:14px;left:14px;}
.prod .body{padding:28px 28px 32px;display:flex;flex-direction:column;flex:1;}
.prod h3{font-family:'Big Shoulders Display';font-weight:800;font-size:28px;text-transform:uppercase;line-height:.95;}
.prod p{color:var(--concrete);font-size:13.5px;margin:10px 0 16px;flex:1;}
.prod .pline{font-family:'JetBrains Mono';font-weight:700;font-size:26px;margin-bottom:18px;}
.prod .pline small{font-size:12px;color:var(--concrete);font-weight:400;}
.prod .btn{justify-content:center;}
.prod.soon .visual .big{-webkit-text-stroke-color:rgba(245,242,236,.18);}
.soonbadge{position:absolute;bottom:14px;right:14px;background:var(--bone);color:var(--black);font-family:'JetBrains Mono';font-size:10px;font-weight:700;letter-spacing:.14em;padding:6px 11px;text-transform:uppercase;}
.shop-note{margin-top:44px;border:1px dashed var(--line);padding:20px 24px;font-size:13.5px;color:var(--concrete);}
.shop-note b{color:var(--bone);}

/* Formation */
.lvls{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:50px;}
@media(max-width:900px){.lvls{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lvls{grid-template-columns:1fr;}}
.lvl{background:var(--black);padding:34px 28px;transition:.25s;}
.lvl:hover{background:var(--steel);}
.lvl .tag{font-family:'JetBrains Mono';font-size:11px;font-weight:700;color:var(--orange);margin-bottom:16px;display:block;}
.lvl h3{font-family:'Big Shoulders Display';font-weight:800;font-size:24px;text-transform:uppercase;line-height:1;}
.lvl p{color:var(--concrete);font-size:13.5px;margin-top:10px;}

/* Membres / portail */
.portal{display:grid;grid-template-columns:340px 1fr;gap:22px;margin-top:50px;}
@media(max-width:900px){.portal{grid-template-columns:1fr;}}
.login{background:var(--steel);border:1px solid var(--line);padding:36px 32px;align-self:start;}
.login h3{font-family:'Big Shoulders Display';font-weight:800;font-size:30px;text-transform:uppercase;margin-bottom:18px;}
.login input{width:100%;background:var(--black);border:1px solid var(--line);color:var(--bone);padding:13px 14px;font-family:'Instrument Sans';font-size:14px;margin-bottom:12px;}
.login input:focus{outline:none;border-color:var(--orange);}
.login .btn{width:100%;justify-content:center;margin-top:6px;}
.login .hint{font-size:12px;color:var(--concrete);margin-top:14px;}
.dash{background:var(--steel);border:1px solid var(--line);padding:30px;position:relative;}
.dash .bar{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px;}
.pill{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line);color:var(--concrete);cursor:default;}
.pill.on{background:var(--orange);color:var(--black);border-color:var(--orange);}
.feed{display:flex;flex-direction:column;gap:14px;}
.post{background:var(--black);border:1px solid var(--line);padding:18px 20px;}
.post .head{display:flex;justify-content:space-between;gap:10px;font-family:'JetBrains Mono';font-size:11px;color:var(--concrete);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;}
.post .head b{color:var(--orange);}
.post p{font-size:14px;color:#C9C6BE;}
.overlay-note{position:absolute;top:16px;right:16px;}
.notice{background:rgba(242,106,0,.08);border:1px solid rgba(242,106,0,.4);padding:16px 20px;font-size:13.5px;color:#D8C9B8;margin-top:40px;}
.notice b{color:var(--orange);}

/* ========== V4.1 — LOGO, FAQ, BIGCARDS ========== */
.logo{gap:11px;}
.logo::before{display:none;}
.logo .mark{height:30px;width:auto;display:block;color:var(--bone);}
footer .mark{height:44px;margin-bottom:20px;color:var(--bone);}
.logo em{color:var(--orange);font-style:normal;}

.bigcards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:56px;}
@media(max-width:860px){.bigcards{grid-template-columns:1fr;}}
.bc{background:var(--steel);border:1px solid var(--line);padding:46px 40px;position:relative;transition:.25s;display:flex;flex-direction:column;min-height:320px;}
.bc:hover{transform:translateY(-6px);border-color:var(--orange);}
.bc::before{content:"";position:absolute;top:-1px;left:-1px;width:44px;height:44px;border-top:5px solid var(--orange);border-left:5px solid var(--orange);}
.bc h3{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(34px,4vw,52px);text-transform:uppercase;line-height:.9;}
.bc p{color:var(--concrete);font-size:15px;margin:16px 0 24px;flex:1;}
.bc .from{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--bone);margin-bottom:18px;text-transform:uppercase;}
.bc .from em{color:var(--orange);font-style:normal;}

.faq{margin-top:50px;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:'Big Shoulders Display';font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.03em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:'JetBrains Mono';color:var(--orange);font-size:20px;transition:.2s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .a{padding:0 4px 24px;color:var(--concrete);font-size:14.5px;max-width:760px;}

/* ========== GALERIE STAGES ========== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px;margin-top:50px;}
@media(max-width:860px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;}}
.gitem{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--steel);}
.gitem img{width:100%;height:100%;object-fit:cover;transition:.45s cubic-bezier(.2,.6,.2,1);filter:saturate(.9) contrast(1.05);}
.gitem:hover img{transform:scale(1.05);filter:saturate(1) contrast(1.08);}
.gitem::before{content:"";position:absolute;top:-1px;left:-1px;width:34px;height:34px;border-top:4px solid var(--orange);border-left:4px solid var(--orange);z-index:2;}
.gitem .lbl{position:absolute;bottom:12px;left:12px;z-index:2;font-family:'JetBrains Mono';font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);border:1px solid rgba(245,242,236,.25);padding:6px 10px;background:rgba(10,10,11,.72);}
.g-big{grid-column:span 2;grid-row:span 2;}
.g-wide{grid-column:span 2;}
.g-full{grid-column:span 4;grid-row:span 2;}
@media(max-width:860px){.g-full{grid-column:span 2;}}

/* ========== VIDÉOS ========== */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;}
@media(max-width:860px){.vgrid{grid-template-columns:1fr;}}
.vid{position:relative;aspect-ratio:16/9;background:var(--steel);border:1px solid var(--line);overflow:hidden;cursor:pointer;}
.vid img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05);transition:.4s;}
.vid:hover img{transform:scale(1.04);filter:saturate(1);}
.vid::before{content:"";position:absolute;top:-1px;left:-1px;width:34px;height:34px;border-top:4px solid var(--orange);border-left:4px solid var(--orange);z-index:3;}
.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;}
.vid .play span{width:64px;height:64px;background:rgba(10,10,11,.75);border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;transition:.25s;}
.vid:hover .play span{background:var(--orange);}
.vid .play span::after{content:"";display:block;margin-left:5px;border-left:18px solid var(--bone);border-top:11px solid transparent;border-bottom:11px solid transparent;}
.vid:hover .play span::after{border-left-color:var(--black);}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vmeta{margin-top:12px;}
.vmeta h3{font-family:'Big Shoulders Display';font-weight:800;font-size:21px;text-transform:uppercase;line-height:1;}
.vmeta .mono{font-size:11px;color:var(--concrete);letter-spacing:.1em;display:block;margin-top:6px;}

/* ========== REELS INSTAGRAM ========== */
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,340px));gap:22px;margin-top:44px;justify-content:start;}
@media(max-width:900px){.rgrid{grid-template-columns:1fr;justify-content:center;}}
.rgrid .instagram-media{min-width:0 !important;margin:0 !important;border:1px solid var(--line) !important;border-radius:0 !important;}
.rhead{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-top:56px;display:flex;align-items:center;gap:14px;}
.rhead::after{content:"";flex:1;height:1px;background:var(--line);}

/* ========== REELS INSTAGRAM ========== */
.reelrow{display:grid;grid-template-columns:360px 1fr;gap:50px;align-items:center;margin-top:70px;padding-top:50px;border-top:1px solid var(--line);}
@media(max-width:860px){.reelrow{grid-template-columns:1fr;}}
.reelframe{position:relative;aspect-ratio:9/16;background:var(--black);border:1px solid var(--line);overflow:hidden;}
.reelframe::before{content:"";position:absolute;top:-1px;right:-1px;width:34px;height:34px;border-top:4px solid var(--orange);border-right:4px solid var(--orange);z-index:2;pointer-events:none;}
.reelframe iframe{width:100%;height:100%;border:0;}
.reelbadge{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--orange);text-transform:uppercase;display:block;margin-bottom:14px;}

/* Bandeau photo pleine largeur */
.band{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.band img{width:100%;display:block;max-height:480px;object-fit:cover;}
.band .cap{position:absolute;bottom:18px;left:28px;font-family:'JetBrains Mono';font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);border:1px solid var(--line);padding:7px 12px;background:rgba(10,10,11,.78);}

/* =====================================================================
   V2 — COURS SEMI-COLLECTIFS · PERSONAL TRAINING · RAYONNEMENT INTERNATIONAL
   ===================================================================== */

/* ---------- NAV MOBILE ---------- */
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:none;cursor:pointer;position:relative;flex-shrink:0;}
.burger span,.burger span::before,.burger span::after{position:absolute;left:11px;width:20px;height:2px;background:var(--bone);content:"";transition:.25s;}
.burger span{top:21px;}
.burger span::before{top:-7px;left:0;}
.burger span::after{top:7px;left:0;}
nav.open .burger span{background:transparent;}
nav.open .burger span::before{top:0;transform:rotate(45deg);background:var(--orange);}
nav.open .burger span::after{top:0;transform:rotate(-45deg);background:var(--orange);}
.mnav{display:none;}
@media(max-width:900px){
  .burger{display:block;}
  .nav-in{gap:12px;}
  .nav-in .lang{margin-left:auto;}
  .mnav{display:block;max-height:0;overflow:hidden;transition:max-height .35s ease;background:var(--black);border-top:1px solid transparent;}
  nav.open .mnav{max-height:560px;border-top-color:var(--line);}
  .mnav a{display:flex;justify-content:space-between;align-items:center;padding:17px 28px;border-bottom:1px solid var(--line);font-family:'Big Shoulders Display';font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.03em;}
  .mnav a::after{content:"→";font-family:'JetBrains Mono';font-size:15px;color:var(--orange);}
  .mnav a.sm{font-size:17px;color:var(--concrete);padding:13px 28px;}
}
@media(max-width:460px){
  .nav-in{padding:0 16px;}
  .logo{font-size:20px;}
  .logo .mark{height:26px;}
  .nav-cta{padding:10px 12px;font-size:11px;letter-spacing:.06em;}
  .nav-in .lang{padding:6px 8px;}
  .mnav a{padding-left:16px;padding-right:16px;}
}
@media(max-width:360px){.nav-in .lang{display:none;}}

/* ---------- HERO V2 (photo coach en fond) ---------- */
.hero2{position:relative;}
.hero2 .bgphoto{position:absolute;top:0;right:0;bottom:0;width:48%;z-index:0;}
.hero2 .bgphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(.15) contrast(1.05);}
.hero2 .bgphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,rgba(10,10,11,.65) 35%,rgba(10,10,11,.15) 70%,rgba(10,10,11,.35) 100%),linear-gradient(0deg,var(--black) 0%,transparent 30%);}
.hero2 .wrap{position:relative;z-index:1;width:100%;}
.hero2 .ring{background:linear-gradient(90deg,rgba(10,10,11,.55),rgba(10,10,11,0) 75%);}
.hero2 h1{font-size:clamp(42px,11.2vw,168px);}
.hero2 .sub b{color:var(--bone);font-weight:600;}
.hero2 .sub{max-width:600px;}
.hero2 .cta-row .btn{padding:17px 26px;}
@media(max-width:900px){
  .hero2 .bgphoto{width:100%;opacity:.38;}
  .hero2 .bgphoto::after{background:linear-gradient(0deg,var(--black) 5%,rgba(10,10,11,.5) 60%,rgba(10,10,11,.7) 100%);}
}
@media(max-width:560px){
  .wrap{padding:0 16px;}
  .ring{padding:26px 18px;}
  .hero{padding-top:110px;}
  .hero .meta{margin-bottom:24px;}
  .hero .sub{margin:24px 0 30px;}
  .cta-row .btn{width:100%;justify-content:space-between;}
  section{padding:80px 0;}
}

/* ---------- BANDEAU INTERNATIONAL ---------- */
.intl{background:var(--steel);border-bottom:1px solid var(--line);padding:80px 0 70px;}
.intl h2{font-size:clamp(40px,5.6vw,80px);}
.intl .igrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;}
@media(max-width:860px){.intl .igrid{grid-template-columns:repeat(2,1fr);}}
.intl .icell{background:var(--black);padding:30px 26px;}
.intl .icell .n{font-family:'JetBrains Mono';font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1;}
.intl .icell .n em{font-style:normal;color:var(--orange);}
.intl .icell .l{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);margin-top:12px;line-height:1.5;}
.intl .icell a:hover .n{color:var(--orange);}
.cities{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:34px;align-items:center;}
.cities .lab{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--orange);text-transform:uppercase;margin-right:18px;}
.cities span.c{font-family:'Big Shoulders Display';font-weight:800;font-size:clamp(22px,2.6vw,32px);text-transform:uppercase;letter-spacing:.04em;}
.cities span.c:not(:last-child)::after{content:"/";color:var(--orange);margin:0 14px;font-weight:700;}
.proofrow{display:flex;gap:26px;align-items:center;margin-top:36px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap;}
.proofrow img{width:92px;height:92px;object-fit:cover;border:2px solid var(--line);}
.proofrow .txt{flex:1;min-width:220px;}
.proofrow .txt b{display:block;font-family:'Big Shoulders Display';font-weight:800;font-size:26px;text-transform:uppercase;line-height:1;}
.proofrow .txt span{font-size:14px;color:var(--concrete);}
.proofrow .stars{font-family:'JetBrains Mono';font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--orange);}

/* ---------- 3 OFFRES AVEC PHOTO ---------- */
.offers3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
@media(max-width:960px){.offers3{grid-template-columns:1fr;}}
.oc{background:var(--steel);border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:.25s;}
.oc:hover{transform:translateY(-6px);border-color:var(--orange);}
.oc::before{content:"";position:absolute;top:-1px;left:-1px;width:44px;height:44px;border-top:5px solid var(--orange);border-left:5px solid var(--orange);z-index:2;}
.oc .pic{aspect-ratio:16/11;overflow:hidden;position:relative;border-bottom:1px solid var(--line);}
.oc .pic img{width:100%;height:100%;object-fit:cover;transition:.45s;filter:saturate(.9) contrast(1.05);}
.oc:hover .pic img{transform:scale(1.05);}
.oc .pic .stamp{position:absolute;top:14px;right:14px;background:rgba(10,10,11,.8);color:var(--bone);}
.oc .body{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1;}
.oc .kicker{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--orange);text-transform:uppercase;margin-bottom:10px;}
.oc h3{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(32px,3.2vw,44px);text-transform:uppercase;line-height:.92;}
.oc p{color:var(--concrete);font-size:14.5px;margin:14px 0 20px;flex:1;}
.oc .facts{list-style:none;margin-bottom:24px;}
.oc .facts li{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.06em;padding:9px 0;border-top:1px solid var(--line);color:var(--bone);text-transform:uppercase;display:flex;gap:10px;}
.oc .facts li::before{content:"/";color:var(--orange);font-weight:700;}
.oc .btn{justify-content:space-between;}
.oc.hot{border-color:rgba(242,106,0,.55);}
.oc .ribbon{position:absolute;top:14px;left:0;z-index:3;background:var(--orange);color:var(--black);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;}

/* ---------- PLANNING ---------- */
.planning{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:50px;}
@media(max-width:760px){.planning{grid-template-columns:1fr;}}
.day{border:1px solid var(--line);background:var(--black);}
.day .dh{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid var(--line);background:var(--steel);}
.day .dh b{font-family:'Big Shoulders Display';font-weight:900;font-size:34px;text-transform:uppercase;letter-spacing:.03em;line-height:1;}
.day .dh span{font-family:'JetBrains Mono';font-size:11px;color:var(--concrete);letter-spacing:.14em;}
.slot{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line);}
.slot:last-child{border-bottom:none;}
.slot .time{font-family:'JetBrains Mono';font-weight:700;font-size:20px;line-height:1.1;}
.slot .time small{display:block;font-size:12px;color:var(--concrete);font-weight:400;}
.slot .lvlname{font-family:'Big Shoulders Display';font-weight:800;font-size:24px;text-transform:uppercase;line-height:1;}
.slot .lvlname small{display:block;font-family:'Instrument Sans';font-weight:500;font-size:13px;text-transform:none;color:var(--concrete);margin-top:5px;letter-spacing:0;}
.slot .book{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--orange);color:var(--orange);padding:10px 14px;transition:.2s;white-space:nowrap;}
.slot .book:hover{background:var(--orange);color:var(--black);}
.slot.conf .lvlname{color:var(--orange);}
@media(max-width:480px){.slot{grid-template-columns:1fr auto;}.slot .book{grid-column:1 / -1;text-align:center;}}
.capnote{display:flex;gap:14px;align-items:center;margin-top:22px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.08em;color:var(--concrete);text-transform:uppercase;flex-wrap:wrap;}
.capnote .dots{display:flex;gap:5px;}
.capnote .dots i{width:12px;height:12px;border:1.5px solid var(--orange);display:block;}
.capnote .dots i.f{background:var(--orange);}

/* ---------- FACTS BAR (pages) ---------- */
.factsbar{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);margin-top:40px;}
.factsbar div{flex:1;min-width:140px;padding:18px 22px;border-right:1px solid var(--line);}
.factsbar div:last-child{border-right:none;}
.factsbar b{display:block;font-family:'Big Shoulders Display';font-weight:900;font-size:34px;line-height:1;text-transform:uppercase;}
.factsbar b em{font-style:normal;color:var(--orange);}
.factsbar span{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.14em;color:var(--concrete);text-transform:uppercase;}
@media(max-width:560px){.factsbar div{min-width:50%;border-bottom:1px solid var(--line);}}

/* ---------- NIVEAUX ---------- */
.levels2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px;}
@media(max-width:860px){.levels2{grid-template-columns:1fr;}}
.lv{background:var(--steel);border:1px solid var(--line);padding:38px 34px;position:relative;}
.lv .when{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--orange);text-transform:uppercase;}
.lv h3{font-family:'Big Shoulders Display';font-weight:900;font-size:48px;text-transform:uppercase;line-height:.95;margin:10px 0 12px;}
.lv p{color:var(--concrete);font-size:15px;}
.lv ul{list-style:none;margin-top:22px;}
.lv li{padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;color:#C9C6BE;display:flex;gap:12px;}
.lv li::before{content:"/";color:var(--orange);font-weight:700;}
.lv.conf{border-color:rgba(242,106,0,.5);}

/* ---------- PHOTO DANS CARTES PRODUIT ---------- */
.prod .visual.photo{padding:0;overflow:hidden;}
.prod .visual.photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05);}
.prod .visual.photo .stamp{background:rgba(10,10,11,.8);color:var(--bone);}
.ph.img{padding:0;overflow:hidden;}
.ph.img img{width:100%;height:100%;object-fit:cover;}
.ph.img .lbl{position:absolute;left:20px;bottom:20px;color:var(--bone);}

/* ---------- FORMULAIRE ---------- */
.cgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
@media(max-width:900px){.cgrid{grid-template-columns:1fr;gap:36px;}}
.kform{background:var(--black);border:1px solid var(--line);padding:34px 32px;position:relative;}
.kform::before{content:"";position:absolute;top:-1px;right:-1px;width:44px;height:44px;border-top:5px solid var(--orange);border-right:5px solid var(--orange);}
.kform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.kform{padding:26px 18px;}.kform .row2{grid-template-columns:1fr;gap:0;}}
.kform label{display:block;font-family:'JetBrains Mono';font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);margin-bottom:7px;}
.kform input,.kform select,.kform textarea{width:100%;background:var(--steel);border:1px solid var(--line);color:var(--bone);padding:14px;font-family:'Instrument Sans',sans-serif;font-size:15px;margin-bottom:16px;border-radius:0;-webkit-appearance:none;appearance:none;}
.kform select{background-image:linear-gradient(45deg,transparent 50%,var(--orange) 50%),linear-gradient(135deg,var(--orange) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;}
.kform textarea{min-height:110px;resize:vertical;}
.kform input:focus,.kform select:focus,.kform textarea:focus{outline:none;border-color:var(--orange);}
.kform .btn{width:100%;justify-content:space-between;}
.kform .small{font-size:12px;color:var(--concrete);margin-top:14px;}
.hidden{display:none;}
.direct{display:flex;flex-direction:column;gap:12px;margin-top:30px;}
.direct a{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:16px 20px;font-family:'JetBrains Mono';font-size:13px;font-weight:700;letter-spacing:.08em;transition:.2s;}
.direct a:hover{border-color:var(--orange);color:var(--orange);}
.direct a span{color:var(--concrete);font-weight:400;font-size:12px;}
.hero2 .marquee{position:relative;z-index:2;}

/* ---------- AFFICHES ---------- */
.posters{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:22px;align-items:center;margin-top:24px;}
@media(max-width:960px){.posters{grid-template-columns:1fr 1fr;}.posters .ptxt{grid-column:1 / -1;}}
.poster{display:block;position:relative;border:1px solid var(--line);overflow:hidden;aspect-ratio:2/3;background:var(--black);transition:.3s;}
.poster img{width:100%;height:100%;object-fit:cover;transition:.45s;}
.poster:hover{border-color:var(--orange);transform:translateY(-6px);}
.poster:hover img{transform:scale(1.03);}
.poster::before{content:"";position:absolute;top:-1px;left:-1px;width:40px;height:40px;border-top:5px solid var(--orange);border-left:5px solid var(--orange);z-index:2;}

/* =====================================================================
   RÉSERVATIONS — cours semi-collectifs
   ===================================================================== */
.kb-demo{display:inline-block;margin-bottom:18px;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);border:1px dashed rgba(242,106,0,.6);padding:8px 12px;}
.kb-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;}
.kb-f{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 16px;border:1px solid var(--line);background:none;color:var(--concrete);cursor:pointer;transition:.2s;}
.kb-f:hover{color:var(--bone);border-color:rgba(245,242,236,.35);}
.kb-f.on{background:var(--orange);border-color:var(--orange);color:var(--black);}
.kb-msg{border:1px solid var(--line);padding:34px 26px;color:var(--concrete);text-align:center;}
.kb-week{margin-bottom:34px;}
.kb-wh{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.kb-wh::after{content:"";flex:1;height:1px;background:var(--line);}
.kb-row{display:grid;grid-template-columns:92px 1fr 1.1fr auto;gap:22px;align-items:center;background:var(--steel);border:1px solid var(--line);padding:18px 22px;margin-bottom:10px;transition:.2s;position:relative;}
.kb-row:hover{border-color:rgba(245,242,236,.3);}
.kb-row::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;background:var(--bone);opacity:.5;}
.kb-row.conf::before{background:var(--orange);opacity:1;}
.kb-row.off{opacity:.55;}
.kb-date b{display:block;font-family:'Big Shoulders Display';font-weight:900;font-size:30px;text-transform:uppercase;line-height:1;}
.kb-date span{font-family:'JetBrains Mono';font-size:12px;color:var(--concrete);text-transform:uppercase;letter-spacing:.06em;}
.kb-time{font-family:'JetBrains Mono';font-weight:700;font-size:20px;line-height:1.1;}
.kb-time small{font-size:12px;color:var(--concrete);font-weight:400;}
.kb-lvl{font-family:'Big Shoulders Display';font-weight:800;font-size:22px;text-transform:uppercase;margin-top:4px;}
.kb-row.conf .kb-lvl{color:var(--orange);}
.kb-dots{display:flex;gap:4px;margin-bottom:8px;}
.kb-dots i{width:11px;height:11px;border:1.5px solid rgba(245,242,236,.35);display:block;}
.kb-dots i.f{background:var(--orange);border-color:var(--orange);}
.kb-st{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#C9C6BE;}
.kb-st.hot{color:var(--orange);font-weight:700;}
.kb-st.full,.kb-st.closed{color:var(--concrete);font-weight:700;}
.kb-book{background:var(--orange);color:var(--black);border:none;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;cursor:pointer;transition:.2s;font-family:'Instrument Sans',sans-serif;}
.kb-book:hover{background:var(--bone);}
.kb-book:disabled{background:transparent;border:1px solid var(--line);color:var(--concrete);cursor:not-allowed;}
@media(max-width:760px){
  .kb-row{grid-template-columns:70px 1fr auto;gap:12px 14px;padding:16px;}
  .kb-cap{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .kb-dots{margin-bottom:0;}
  .kb-book{grid-row:1;grid-column:3;padding:12px 14px;}
  .kb-date b{font-size:26px;}
}
.kb-modal{position:fixed;inset:0;z-index:200;background:rgba(10,10,11,.82);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:16px;}
.kb-modal.open{display:flex;}
.kb-panel{background:var(--black);border:1px solid var(--line);border-top:5px solid var(--orange);width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow:auto;padding:30px 28px;position:relative;}
.kb-panel .kform{border:none;padding:0;background:none;}
.kb-panel .kform::before{display:none;}
.kb-x{position:absolute;top:10px;right:12px;width:40px;height:40px;background:none;border:none;color:var(--bone);font-size:28px;cursor:pointer;line-height:1;}
.kb-kicker{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.kb-title{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(26px,5vw,34px);text-transform:uppercase;line-height:1;margin:10px 0 22px;padding-right:30px;}
.kb-err{color:#FF8A4C;font-size:14px;min-height:20px;margin:-4px 0 12px;}
.kb-ok{width:64px;height:64px;background:var(--orange);color:var(--black);font-size:34px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.kb-sum{font-family:'JetBrains Mono';font-size:13px;color:var(--bone);text-transform:uppercase;letter-spacing:.04em;}
@media(max-width:560px){.kb-panel{padding:26px 18px;}}

/* ---------- ESPACE COACH ---------- */
.kc-login{max-width:420px;}
.kc-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px;}
.kc-logout{background:none;border:none;color:var(--concrete);font-size:13px;text-decoration:underline;cursor:pointer;}
.kc-c{border:1px solid var(--line);background:var(--steel);margin-bottom:10px;}
.kc-head{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:18px 20px;background:none;border:none;color:var(--bone);cursor:pointer;text-align:left;}
.kc-d{font-family:'Big Shoulders Display';font-weight:800;font-size:22px;text-transform:uppercase;}
.kc-l{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);}
.kc-l.conf{color:var(--orange);}
.kc-n{font-family:'JetBrains Mono';font-weight:700;font-size:16px;min-width:64px;text-align:right;}
.kc-n.full{color:var(--orange);}
.kc-body{display:none;border-top:1px solid var(--line);padding:6px 20px 14px;}
.kc-c.open .kc-body{display:block;}
.kc-p{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.kc-p:last-child{border-bottom:none;}
.kc-i{font-family:'JetBrains Mono';font-size:12px;color:var(--concrete);width:22px;}
.kc-who{flex:1;min-width:150px;}
.kc-who b{display:block;font-size:15px;}
.kc-who small{color:var(--concrete);font-size:12px;}
.kc-tel{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:7px 10px;}
.kc-tel:hover{border-color:var(--orange);color:var(--orange);}
.kc-del{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:7px 10px;background:none;color:var(--concrete);cursor:pointer;}
.kc-del.sure{border-color:#DC3545;color:#fff;background:#DC3545;}
.kc-empty{color:var(--concrete);font-size:14px;padding:10px 0;}

/* =====================================================================
   V3 — PARCOURS SIMPLIFIÉ
   ===================================================================== */
.hero3{min-height:auto;padding-bottom:60px;}
.hero3 .ring{padding-bottom:clamp(26px,4vw,48px);}
.hero3 .sub{margin-bottom:22px;}
.chooser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:760px;}
@media(max-width:700px){.chooser{grid-template-columns:1fr;}}
.chooser a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:rgba(10,10,11,.72);border:1px solid rgba(245,242,236,.28);transition:.2s;position:relative;}
.chooser a::after{content:"→";position:absolute;right:16px;bottom:14px;font-family:'JetBrains Mono';color:var(--orange);transition:.2s;}
.chooser a:hover{border-color:var(--orange);background:rgba(242,106,0,.12);}
.chooser a:hover::after{transform:translateX(4px);}
.chooser small{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--concrete);}
.chooser b{font-family:'Big Shoulders Display';font-weight:900;font-size:26px;text-transform:uppercase;line-height:1;color:var(--bone);padding-right:22px;}

.oc .pic{display:block;}
.oc .acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.oc .acts .btn{padding:15px 22px;}
.oc .more{font-family:'JetBrains Mono';font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);border-bottom:1px solid var(--orange);padding-bottom:2px;}
.oc .more:hover{color:var(--orange);}
.oc:hover{transform:none;}

.guide{margin-top:34px;border:1px solid var(--line);}
.guide .gh{font-family:'JetBrains Mono';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);padding:14px 20px;border-bottom:1px solid var(--line);background:var(--steel);}
.guide a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);transition:.2s;}
.guide a:last-child{border-bottom:none;}
.guide a:hover{background:var(--steel);}
.guide a span{color:#C9C6BE;font-size:15px;}
.guide a b{font-family:'Big Shoulders Display';font-weight:800;font-size:20px;text-transform:uppercase;color:var(--bone);white-space:nowrap;}
.guide a:hover b{color:var(--orange);}
@media(max-width:560px){.guide a{flex-direction:column;align-items:flex-start;gap:6px;}}

.gallery.g4{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;}
@media(max-width:860px){.gallery.g4{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}}

.cstrip{padding:60px 0;}
.cs-in{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;}
@media(max-width:760px){.cs-in{grid-template-columns:1fr;}}
.cs-in h3{font-family:'Big Shoulders Display';font-weight:900;font-size:40px;text-transform:uppercase;line-height:1;}
.cs-in p{color:var(--concrete);margin-top:8px;}
.cs-in .direct{margin-top:0;}

.pp{min-height:46px;margin-top:4px;}
.ppnote{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.06em;color:var(--concrete);margin-top:10px;text-transform:uppercase;}
.kb-book.kb-wait{background:transparent;border:1px solid var(--orange);color:var(--orange);}
.kb-book.kb-wait:hover{background:var(--orange);color:var(--black);}
.kb-note{color:#C9C6BE;font-size:14.5px;margin:-8px 0 20px;}
.kb-err:not(:empty){margin-bottom:14px;}
.kc-wait{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);}
.kc-wait > span{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);}

/* ---------- BARRE D'ACTION MOBILE ---------- */
.mbar{display:none;}
@media(max-width:760px){
  .mbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));background:rgba(10,10,11,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);transition:transform .25s;}
  .mbar a{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;height:48px;}
  .mbar .mb-main{flex:1;background:var(--orange);color:var(--black);}
  .mbar .mb-wa{width:120px;border:1px solid rgba(245,242,236,.3);color:var(--bone);}
  .mbar.hide{transform:translateY(110%);}
  body:has(.mbar){padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px));}
}

/* ---------- PAGES LÉGALES ---------- */
.legal{max-width:760px;}
.legal h2{font-size:clamp(28px,4vw,40px);margin:44px 0 12px;}
.legal p,.legal li{color:#C9C6BE;font-size:15.5px;line-height:1.7;}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:6px;margin:10px 0;}
.legal li::marker{color:var(--orange);}
.legal .upd{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.08em;color:var(--concrete);text-transform:uppercase;}

/* Qui je coache */
.whocoach{margin-top:26px;border-left:3px solid var(--orange);padding:4px 0 4px 18px}
.whocoach .wc-t{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.whocoach ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.whocoach li{position:relative;padding-left:18px;font-weight:600;line-height:1.35}
.whocoach li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--orange)}
@media (max-width:560px){.whocoach ul{grid-template-columns:1fr}}

/* ===== Page événement : premier cours ===== */
.ouv-hero{padding:150px 0 70px;background:radial-gradient(900px 500px at 85% 20%,rgba(242,106,0,.16),transparent 60%),var(--black);}
.ouv-hero .crumb{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.stamp.live{color:var(--orange);border-color:var(--orange);display:inline-flex;align-items:center;gap:8px}
.stamp.live i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:kpulse 1.4s infinite}
@keyframes kpulse{0%{box-shadow:0 0 0 0 rgba(242,106,0,.7)}70%{box-shadow:0 0 0 10px rgba(242,106,0,0)}100%{box-shadow:0 0 0 0 rgba(242,106,0,0)}}
.ouv-hero h1{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(54px,10vw,140px);line-height:.86;text-transform:uppercase;margin:0}
.ouv-hero h1 .o{color:var(--orange)}
.ouv-hero h1 .ghost{color:transparent;-webkit-text-stroke:2px rgba(245,242,236,.55)}
.ouv-hero .lead{max-width:640px;margin-top:26px}
.cd{margin-top:44px}
.cd-lbl{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.cd-row{display:flex;gap:12px}
.cd-u{min-width:104px;border:1px solid var(--line);background:var(--steel);padding:16px 14px 12px;text-align:center}
.cd-u b{display:block;font-family:'Big Shoulders Display';font-weight:900;font-size:64px;line-height:1;color:var(--bone);font-variant-numeric:tabular-nums}
.cd-u span{display:block;margin-top:6px;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete)}
.cd-go{font-family:'Big Shoulders Display';font-weight:800;font-size:34px;text-transform:uppercase;color:var(--orange)}
@media(max-width:560px){.cd-row{gap:8px}.cd-u{min-width:0;flex:1;padding:12px 4px 10px}.cd-u b{font-size:42px}}
.ouv-places{padding:70px 0 60px;background:var(--black)}
.ouv-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.ouv-grid{grid-template-columns:1fr}}
.ouv-card{display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);border-top:4px solid var(--orange);background:var(--steel);padding:30px 28px;color:var(--bone);text-decoration:none;transition:.2s}
.ouv-card:hover{transform:translateY(-3px);border-color:rgba(242,106,0,.6)}
.ouv-card .oc-when{font-family:'JetBrains Mono';font-size:13px;letter-spacing:.12em;color:var(--orange)}
.ouv-card h3{font-family:'Big Shoulders Display';font-weight:900;font-size:48px;text-transform:uppercase;line-height:.9;margin:0}
.ouv-card p{color:#B9B6AE;line-height:1.6;margin:0}
.oc-seats{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.oc-seats .dots{display:flex;gap:6px}
.oc-seats .dots i{width:14px;height:14px;border:1.5px solid rgba(245,242,236,.45)}
.oc-seats .dots i.pris{background:var(--orange);border-color:var(--orange)}
.oc-seats .left{font-family:'JetBrains Mono';font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.oc-seats .left b{font-size:20px;color:var(--bone)}
.ouv-card.rare .left{color:var(--orange)}
.ouv-card.full{border-top-color:var(--concrete)}
.ouv-card .oc-btn{align-self:flex-start;margin-top:8px}
.ouv-note{margin-top:22px;color:var(--concrete);font-size:14px}
.ouv-why{padding:80px 0}
.ouv-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.ouv-3{grid-template-columns:1fr}}
.ouv-3 .k{font-family:'JetBrains Mono';color:var(--orange);font-size:13px;letter-spacing:.14em}
.ouv-3 h3{font-family:'Big Shoulders Display';font-weight:800;font-size:32px;text-transform:uppercase;margin:10px 0 10px;line-height:1}
.ouv-3 p{color:#B9B6AE;line-height:1.65;margin:0}
.ouv-coach{padding:80px 0;background:var(--black)}
.ouv-coach h2{font-family:'Big Shoulders Display';font-weight:900;font-size:clamp(44px,6vw,80px);text-transform:uppercase;line-height:.9;margin:0 0 18px}
.ouv-coach h2 .o{color:var(--orange)}
.ouv-info{padding:80px 0 90px}
.ouv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ouv-facts div{padding:20px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.ouv-facts span{display:block;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);margin-bottom:8px}
.ouv-facts b{font-weight:600;line-height:1.4}
.ouv-final{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
/* Bandeau annonce */
.ribbon{display:block;background:var(--orange);color:var(--black);text-align:center;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;text-decoration:none;position:relative;z-index:60}
.ribbon:hover{background:var(--bone)}
.annonce{display:inline-flex;align-items:center;gap:10px;margin-top:14px;border:1px solid var(--orange);background:rgba(242,106,0,.12);color:var(--bone);padding:9px 14px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:.2s}
.annonce i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:kpulse 1.4s infinite;flex:none}
.annonce:hover{background:var(--orange);color:var(--black)}
.ouv-grid.one{grid-template-columns:minmax(0,640px)}
.ouv-hero h1{line-height:.92}
