@font-face{font-family:"Orenza";src:url(fonts/orenza-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Orenza";src:url(fonts/orenza-bold-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Open Sans";src:url(fonts/opensans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Open Sans";src:url(fonts/opensans-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Open Sans";src:url(fonts/opensans-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --muscle:#0A49E5;--adre:#006BFF;--iron:#3C3D40;--chrome:#D7DCE3;--steel:#F7F8FA;--white:#fff;--black:#000;
  --iron-deep:#2A2B2E;
  --text:#2A2B2E;--muted:#5C5E63;
  --display:"Orenza","Arial Rounded MT Bold",system-ui,sans-serif;
  --body:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1320px;--gut:clamp(20px,5vw,48px);
  --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.6;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--adre);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--adre);color:#fff;padding:10px 16px;z-index:100;border-radius:8px}
.skip:focus{left:8px}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02;margin:0;letter-spacing:.005em}
h2{font-size:clamp(30px,3.6vw,46px);text-transform:none;letter-spacing:-.005em;line-height:1.08}
h3{font-size:clamp(22px,2.2vw,28px)}
p{margin:0}
.lead{font-size:clamp(17px,1.4vw,19px);color:var(--muted);max-width:56ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px/1 var(--body);text-decoration:none;padding:17px 28px;border-radius:999px;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--adre);color:#fff}
.btn-primary:hover{background:var(--muscle)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--iron)}
.btn-dark{background:var(--iron);color:#fff}
.btn-dark:hover{background:var(--black)}
.btn-line{border-color:var(--iron);color:var(--iron)}
.btn-line:hover{background:var(--iron);color:#fff}

/* Header */
.head{position:fixed;inset:0 0 auto 0;z-index:50;background:#000;padding-top:env(safe-area-inset-top,0px)}
.head.solid{box-shadow:0 1px 0 rgba(255,255,255,.08)}
.head .wrap{display:flex;align-items:center;gap:32px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand .ico{height:42px;width:auto}
.brand .nom{height:19px;width:auto}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:6px 0;border-bottom:2px solid transparent;opacity:.88}
.nav a:hover,.nav a[aria-current]{opacity:1;border-color:var(--adre)}
.head-cta{display:flex;align-items:center;gap:18px}
.tel{color:#fff;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.head .btn{padding:13px 22px;font-size:15px}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.menu-open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100svh;color:#fff;background:var(--iron-deep);display:flex;align-items:flex-end;overflow:hidden}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,43,46,.92) 0%,rgba(42,43,46,.62) 45%,rgba(42,43,46,.15) 100%),linear-gradient(0deg,rgba(42,43,46,.85) 0%,rgba(42,43,46,0) 40%)}
.hero-in{position:relative;z-index:2;width:100%;padding-top:130px;padding-bottom:clamp(48px,8vh,88px)}
.hero-place{font-weight:600;font-size:15px;color:var(--chrome);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.hero-place svg{width:16px;height:16px;fill:var(--adre)}
.hero h1{font-size:clamp(46px,9.2vw,130px);line-height:.9;text-transform:uppercase;font-style:italic}
.hero h1 span{display:block}
.hero h1 .aqua{color:var(--adre)}
.hero-sub{margin-top:28px;font-size:clamp(17px,1.6vw,20px);max-width:44ch;color:#E9ECF1}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-offer{margin-top:22px;font-size:14.5px;color:var(--chrome)}
.hero-offer strong{color:#fff}

/* Sections */
.sec{padding:clamp(30px,2.8vw,40px) 0}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px 48px;margin-bottom:clamp(22px,2.6vw,32px)}
.sec-head .lead{margin-top:18px}

/* Espaces */
.spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.space{aspect-ratio:4/4.6;position:relative;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;display:flex;align-items:flex-end;isolation:isolate;background:var(--iron)}
.space img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.space::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(42,43,46,.9) 0%,rgba(42,43,46,.25) 55%,rgba(42,43,46,0) 100%)}
.space:hover img{transform:scale(1.04)}
.space-in{padding:22px}
.space h3{font-size:clamp(22px,2vw,28px);text-transform:uppercase}
.space p{margin-top:8px;font-size:15px;color:#E4E7EC;max-width:38ch}
.space .go{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;border-bottom:2px solid var(--adre);padding-bottom:2px}
.tag{display:inline-block;background:var(--adre);color:#fff;font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:999px;margin-bottom:14px}

/* Objectifs */
.goals-sec{background:var(--steel)}
.goals{border-top:2px solid var(--iron)}
.goal{display:grid;grid-template-columns:minmax(220px,1.1fr) 2fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--chrome);text-decoration:none;transition:padding .25s,background .25s}
.goal h3{font-size:clamp(21px,2.1vw,26px);text-transform:none;color:var(--iron)}
.goal p{color:var(--muted)}
.goal .arr{width:46px;height:46px;border-radius:50%;border:2px solid var(--chrome);display:grid;place-items:center;transition:background .25s,border-color .25s}
.goal .arr svg{width:18px;height:18px;stroke:var(--iron);fill:none;stroke-width:2.2}
.goal:hover{padding-left:14px;padding-right:14px;background:#fff}
.goal:hover h3{color:var(--muscle)}
.goal:hover .arr{background:var(--adre);border-color:var(--adre)}
.goal:hover .arr svg{stroke:#fff}

/* Pourquoi */
.why{background:var(--iron);color:#fff;position:relative;overflow:hidden}
.why-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(40px,7vw,96px);align-items:start}
.why h2{color:#fff}
.why .lead{color:var(--chrome);margin-top:22px}
.why .btn{margin-top:34px}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.why-item{padding:26px 0;border-top:1px solid rgba(215,220,227,.22)}
.why-item h3{font-size:21px;color:#fff;margin-bottom:10px}
.why-item h3::before{content:"";display:block;width:26px;height:4px;border-radius:2px;background:var(--adre);margin-bottom:16px}
.why-item p{color:var(--chrome);font-size:15.5px}
.pool-note{margin-top:40px;display:flex;gap:18px;align-items:center;background:rgba(255,255,255,.06);border-radius:var(--r);padding:18px 20px}
.pool-note img{width:92px;height:92px;border-radius:10px;object-fit:cover;flex-shrink:0}
.pool-note p{font-size:15px;color:var(--chrome)}
.pool-note strong{color:#fff;display:block;font-family:var(--display);font-size:19px;margin-bottom:4px}

/* Formules */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.plan{border:2px solid var(--chrome);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;background:#fff}
.plan .inc{font-size:13.5px;font-weight:600;color:var(--muted)}
.plan h3{font-size:30px;text-transform:uppercase;margin:10px 0 12px;color:var(--iron)}
.plan p{color:var(--muted);font-size:15.5px}
.plan ul{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:9px;font-size:15px}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;stroke:var(--adre);fill:none;stroke-width:3}
.plan .btn{margin-top:auto;width:100%;white-space:nowrap;padding:15px 14px;font-size:15px}
.plan.top{background:var(--muscle);border-color:var(--muscle);color:#fff;position:relative}
.plan.top h3,.plan.top p,.plan.top .inc{color:#fff}
.plan.top li svg{stroke:#fff}
.plan.top .flag{position:absolute;top:-14px;left:26px;background:var(--iron);color:#fff;font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:999px}
.plan.top .btn{background:#fff;color:var(--muscle)}
.plan.top .btn:hover{background:var(--iron);color:#fff}
.plans-note{margin-top:26px;color:var(--muted);font-size:15px}

/* Resofit */
.reso{background:var(--muscle);color:#fff;padding:clamp(30px,2.8vw,40px) 0}
.reso .wrap{display:grid;grid-template-columns:auto minmax(340px,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center}
.reso-map{width:clamp(200px,20vw,290px);height:auto}
.reso .big{font-family:var(--display);font-size:clamp(84px,10vw,160px);line-height:.8;font-style:italic;color:#fff;margin:0}
.reso .big .plus{color:var(--chrome);font-family:var(--body);font-style:normal;font-weight:700;font-size:.6em;vertical-align:.45em}
.reso h2{color:#fff}
.reso p{color:#DCE6FF;margin-top:16px;max-width:52ch}

/* Partenaires */
.partners{padding:56px 0;border-bottom:1px solid var(--chrome)}
.partners .wrap{display:flex;align-items:center;gap:40px;flex-wrap:wrap;justify-content:space-between}
.partners p{font-weight:600;color:var(--muted);font-size:15px}
.logos{display:flex;gap:clamp(24px,5vw,64px);align-items:center;flex-wrap:wrap}
.logos img{height:30px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logos img:hover{filter:none;opacity:1}

/* CTA final */
.final{background:var(--steel);text-align:center}
.final h2{max-width:16ch;margin:0 auto}
.final .lead{margin:22px auto 0}
.final .ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}

/* Footer */
.foot{background:var(--iron-deep);color:var(--chrome);padding:72px 0 36px;font-size:15px}
.foot-grid{display:grid;grid-template-columns:1fr auto auto auto;gap:40px clamp(48px,6vw,96px)}
.foot img.logo{width:220px;height:auto}
.foot h4{font-family:var(--display);color:#fff;font-size:18px;margin:0 0 16px;font-weight:700}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot a{text-decoration:none;color:var(--chrome)}
.foot a:hover{color:#fff}
.foot address{font-style:normal;line-height:1.7}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(215,220,227,.15);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#9A9EA6}

/* Sticky mobile CTA */
.mcta{display:none}

@media (max-width:1080px){
  .spaces{grid-template-columns:1fr 1fr}
  .nav,.tel{display:none}
  .head-cta .btn{display:none}
  .burger{display:block}
  .mnav{display:block;position:fixed;inset:0;background:var(--iron-deep);z-index:40;padding:110px var(--gut) 40px;transform:translateY(-100%);transition:transform .35s ease;visibility:hidden}
  .menu-open .mnav{transform:none;visibility:visible}
  .mnav a{display:block;font-family:var(--display);font-size:34px;color:#fff;text-decoration:none;padding:10px 0;text-transform:uppercase}
  .mnav .btn{font-family:var(--body);font-size:16px;text-transform:none;margin-top:26px;display:flex}
  .mnav .tel-m{font-family:var(--body);font-size:17px;text-transform:none;color:var(--chrome)}
  .plans{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:auto auto;justify-content:start;column-gap:64px}
}
@media (max-width:760px){
  body{font-size:16px}
  .head .wrap{height:66px}
  .brand .ico{height:36px}.brand .nom{height:16px}
  .hero::after{background:linear-gradient(0deg,rgba(42,43,46,.95) 0%,rgba(42,43,46,.7) 50%,rgba(42,43,46,.35) 100%)}
  .hero-ctas .btn{width:100%}
  .sec-head{grid-template-columns:1fr}
  .spaces{grid-template-columns:1fr}
  .space{aspect-ratio:4/5}
  .goal{grid-template-columns:1fr auto;gap:8px 16px}
  .goal p{grid-column:1;grid-row:2;font-size:15px}
  .goal .arr{grid-row:1/3;grid-column:2}
  .why-list{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .reso .wrap{grid-template-columns:1fr}
  .reso-map{width:260px;justify-self:center}
  .foot-grid{grid-template-columns:1fr}
  .mcta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;gap:10px;transform:translateY(140%);transition:transform .3s}
  .mcta.show{transform:none}
  .mcta .btn{flex:1;padding:15px 12px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .mcta .btn-dark{flex:0 0 auto}
  .foot{padding-bottom:110px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
  .hero video{display:none}
}
.menu-open .mcta{display:none}

/* Effet 3D cartes espaces */
.spaces{perspective:1200px}
.space{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;will-change:transform}

.space .glare{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),rgba(255,255,255,0) 55%);mix-blend-mode:soft-light}
@media (hover:hover) and (pointer:fine){
  .space.tilt{box-shadow:0 30px 60px -20px rgba(10,73,229,.45)}
  .space.tilt .glare{opacity:1}
  .space.tilt img{transform:scale(1.08)}
}
@media (prefers-reduced-motion:reduce){.space,.space .space-in{transform:none!important}}

/* Pop-up partenaires */
.plogo{background:none;border:0;padding:8px;cursor:pointer;border-radius:10px;transition:background .2s}
.plogo:hover{background:var(--steel)}
.plogo:hover img{filter:none;opacity:1}
.pmodal{border:0;padding:0;border-radius:18px;max-width:min(880px,calc(100vw - 32px));width:100%;overflow:hidden;background:#fff;color:var(--text);box-shadow:0 40px 80px -20px rgba(0,0,0,.5)}
.pmodal[open]{display:grid;grid-template-columns:1.05fr 1fr;animation:pmIn .3s cubic-bezier(.2,.8,.2,1)}
.pmodal::backdrop{background:rgba(20,21,23,.72);backdrop-filter:blur(4px)}
@keyframes pmIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.pm-media{background:var(--iron);height:440px}
.pm-media img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.pmodal.map .pm-media{background:var(--muscle);display:grid;place-items:center;padding:28px}
.pmodal.map .pm-media img{object-fit:contain;height:auto;max-height:340px}
.pm-body{padding:40px 36px;display:flex;flex-direction:column;align-items:flex-start}
.pm-logo{height:30px;width:auto;max-width:160px;object-fit:contain;margin-bottom:22px}
.pm-body h3{font-size:34px;text-transform:uppercase;color:var(--iron)}
.pm-body p{margin:14px 0 28px;color:var(--muted)}
.pm-body .btn{margin-top:auto}
.pm-close{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--iron);font-size:28px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.pm-close:hover{background:var(--adre);color:#fff}
@media (max-width:760px){
  .pmodal[open]{grid-template-columns:1fr}
  .pm-media{min-height:0;height:220px}
  .pm-body{padding:26px 22px}
  .pm-body h3{font-size:28px}
}

/* Pages intérieures */
.page-head{background:var(--iron);color:#fff;padding:calc(76px + clamp(56px,9vw,110px)) 0 clamp(48px,7vw,84px)}
.page-head h1{font-size:clamp(40px,6vw,76px);text-transform:uppercase;font-style:italic}
.page-head .lead{color:var(--chrome);margin-top:18px}

/* Planning */
.tabs{display:flex;gap:10px;margin-bottom:22px}
.tab{font:700 15px/1 var(--body);padding:14px 26px;border-radius:999px;border:2px solid var(--chrome);background:#fff;color:var(--muted);cursor:pointer;transition:.2s}
.tab:hover{border-color:var(--adre);color:var(--iron)}
.tab.on{background:var(--muscle);border-color:var(--muscle);color:#fff}
.days{display:none;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}
.daybtn{font:600 14px/1 var(--body);padding:12px 16px;border-radius:999px;border:1px solid var(--chrome);background:#fff;color:var(--muted);cursor:pointer;flex:0 0 auto}
.daybtn.on{background:var(--iron);border-color:var(--iron);color:#fff}
.pgrid{display:none;grid-template-columns:repeat(6,1fr);gap:12px}
.pgrid.on{display:grid}
.legend{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap;margin-bottom:6px;font-size:14px;color:var(--muted)}
.lg{display:flex;align-items:center;gap:7px}
.lg::before{content:"";width:12px;height:12px;border-radius:50%}
.lg.cardio::before{background:var(--adre)}
.lg.renfo::before{background:var(--iron)}
.lg.bien::before{background:#A9B2BF}
.col h3{font-size:17px;text-transform:uppercase;color:var(--iron);padding-bottom:12px;border-bottom:2px solid var(--iron);margin-bottom:12px}
.col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.slot{background:var(--steel);border-left:4px solid var(--chrome);border-radius:10px;padding:12px 13px;display:grid;gap:3px;transition:background .2s}
.slot:hover{background:var(--chrome)}
.slot .hrs{font:700 12.5px/1.2 var(--body);color:var(--muted)}
.slot .nm{font-family:var(--display);font-size:16px;line-height:1.15;color:var(--iron)}
.slot .co{font-size:13px;color:var(--muted)}
.slot[data-cat=cardio]{border-left-color:var(--adre)}
.slot[data-cat=renfo]{border-left-color:var(--iron)}
.slot[data-cat=bien]{border-left-color:#A9B2BF}
.plan-note{margin-top:28px;font-size:14.5px;color:var(--muted)}
.plan-note a{color:var(--muscle);font-weight:600}
.plan-dl{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media (max-width:1080px){
  .pgrid.on{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .page-head{padding-top:calc(66px + 56px)}
  .days{display:flex}
  .pgrid.on{grid-template-columns:1fr}
  .col.hide{display:none}
  .col h3{font-size:20px}
  .plan-dl .btn{width:100%}
}


.per{margin-bottom:26px}
.per-lbl{display:block;font:700 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.per ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.col ul{gap:10px}

/* Planning aligné par période */
.pgrid{display:none}
.pgrid.on{display:block}
.ptable{display:block}
.prow{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:start}
.prow.head{margin-bottom:6px}
.pday{font-family:var(--display);font-size:17px;text-transform:uppercase;color:var(--iron);padding-bottom:10px;border-bottom:2px solid var(--iron)}
.pband{font:700 11.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:var(--steel);border-radius:8px;padding:10px 14px;margin:22px 0 12px}
.mday{display:none}
.col .empty{list-style:none;color:var(--chrome);padding:8px 2px;font-size:14px}
.per,.per-lbl{display:none}
.prow.head{position:sticky;top:76px;z-index:5;background:#fff;padding-top:10px}
@media (max-width:1080px){
  .prow{grid-template-columns:repeat(3,1fr)}
  .prow.head{display:none}
  .mday{display:block;font-family:var(--display);font-size:15px;text-transform:uppercase;color:var(--iron);margin-bottom:8px}
}
@media (max-width:760px){
  .prow{grid-template-columns:1fr}
  .mday{display:none}
  .pband{margin:18px 0 10px}
}

/* Couleurs par famille + filtres */
.slot{border-left-width:5px}
.slot[data-cat=cardio]{border-left-color:#006BFF}
.slot[data-cat=cardio] .nm{color:#0057CC}
.slot[data-cat=renfo]{border-left-color:#3C3D40}
.slot[data-cat=renfo] .nm{color:#2A2B2E}
.slot[data-cat=bien]{border-left-color:#9AA5B4}
.slot[data-cat=bien] .nm{color:#5C6673}
.slot.dim{opacity:.22}
.filters{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 18px}
.fcats{display:flex;gap:8px;flex-wrap:wrap}
.fcat{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--body);padding:11px 16px;border-radius:999px;border:1px solid var(--chrome);background:#fff;color:var(--muted);cursor:pointer;transition:.2s}
.fcat:hover{border-color:var(--adre);color:var(--iron)}
.fcat.on{background:var(--iron);border-color:var(--iron);color:#fff}
.dot{width:10px;height:10px;border-radius:50%}
.dot.cardio{background:#006BFF}.dot.renfo{background:#3C3D40}.dot.bien{background:#9AA5B4}
.fcat.on .dot.renfo{background:#fff}
.fsel{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.fsel select{font:600 14px/1 var(--body);padding:11px 14px;border-radius:999px;border:1px solid var(--chrome);background:#fff;color:var(--iron);cursor:pointer}
@media (max-width:760px){.filters{gap:12px}.fsel{width:100%}.fsel select{flex:1}}
.plan-sec{padding-top:clamp(24px,3vw,40px)}
.plan-sec .tabs{margin-bottom:16px}
.page-head .tabs{margin:30px 0 0}
.page-head .tab{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.page-head .tab:hover{border-color:#fff;color:#fff}
.page-head .tab.on{background:var(--adre);border-color:var(--adre);color:#fff}
.plan-sec{padding-top:clamp(28px,3.5vw,44px)}
.page-head{padding:calc(76px + clamp(28px,4vw,48px)) 0 clamp(26px,3.5vw,44px)}
.page-head h1{font-size:clamp(34px,4.6vw,58px)}
.page-head .lead{margin-top:12px}
.page-head .tabs{margin:20px 0 0}
@media (max-width:760px){.page-head{padding-top:calc(66px + 30px)}}
.slot[data-cat=bien]{border-left-color:#0E9F6E}
.slot[data-cat=bien] .nm{color:#0B7E57}
.dot.bien{background:#0E9F6E}
.page-head .lead{max-width:none;white-space:nowrap}
@media (max-width:900px){.page-head .lead{white-space:normal;font-size:15px}}
.pday{background:var(--iron);color:#fff;border:0;border-radius:10px;padding:12px 10px;text-align:center;font-size:14px;letter-spacing:.1em}
.prow.head{background:#fff;padding:10px 0 6px}

/* Une couleur par cours */
.slot{border-left-width:5px}
.slot .nm{color:var(--iron)}
.slot[data-c="aqua-gym"]{border-left-color:#0A49E5}
.slot[data-c="aqua-gym"] .nm{color:#0A49E5}
.slot[data-c="aqua-minceur"]{border-left-color:#E2620C}
.slot[data-c="aqua-minceur"] .nm{color:#E2620C}
.slot[data-c="aqua-bike-tapis"]{border-left-color:#0E9F6E}
.slot[data-c="aqua-bike-tapis"] .nm{color:#0E9F6E}
.slot[data-c="aqua-anti-cellulite"]{border-left-color:#C2185B}
.slot[data-c="aqua-anti-cellulite"] .nm{color:#C2185B}
.slot[data-c="aqua-palme"]{border-left-color:#00A6D6}
.slot[data-c="aqua-palme"] .nm{color:#00A6D6}
.slot[data-c="aqua-building"]{border-left-color:#B58900}
.slot[data-c="aqua-building"] .nm{color:#B58900}
.slot[data-c="aqua-renfo-bike"]{border-left-color:#7C3AED}
.slot[data-c="aqua-renfo-bike"] .nm{color:#7C3AED}
.slot[data-c="aqua-circuit-training"]{border-left-color:#D64545}
.slot[data-c="aqua-circuit-training"] .nm{color:#D64545}
.slot[data-c="body-sculpt"]{border-left-color:#0A49E5}
.slot[data-c="body-sculpt"] .nm{color:#0A49E5}
.slot[data-c="bodybalance"]{border-left-color:#E2620C}
.slot[data-c="bodybalance"] .nm{color:#E2620C}
.slot[data-c="afc"]{border-left-color:#0E9F6E}
.slot[data-c="afc"] .nm{color:#0E9F6E}
.slot[data-c="dos-de-gasquet"]{border-left-color:#C2185B}
.slot[data-c="dos-de-gasquet"] .nm{color:#C2185B}
.slot[data-c="stretch"]{border-left-color:#00A6D6}
.slot[data-c="stretch"] .nm{color:#00A6D6}
.slot[data-c="pilates"]{border-left-color:#B58900}
.slot[data-c="pilates"] .nm{color:#B58900}
.slot[data-c="rpm"]{border-left-color:#7C3AED}
.slot[data-c="rpm"] .nm{color:#7C3AED}
.slot[data-c="gym-senior"]{border-left-color:#D64545}
.slot[data-c="gym-senior"] .nm{color:#D64545}
.slot[data-c="renfo-tonic"]{border-left-color:#0F766E}
.slot[data-c="renfo-tonic"] .nm{color:#0F766E}
.slot[data-c="special-core"]{border-left-color:#2E7BFF}
.slot[data-c="special-core"] .nm{color:#2E7BFF}
.slot[data-c="gym-douce"]{border-left-color:#9A3412}
.slot[data-c="gym-douce"] .nm{color:#9A3412}
.slot[data-c="crosstraining"]{border-left-color:#16A34A}
.slot[data-c="crosstraining"] .nm{color:#16A34A}
.slot[data-c="bodypump"]{border-left-color:#DB2777}
.slot[data-c="bodypump"] .nm{color:#DB2777}
.slot[data-c="circuit-boxing"]{border-left-color:#0891B2}
.slot[data-c="circuit-boxing"] .nm{color:#0891B2}
.slot[data-c="lia"]{border-left-color:#4A5568}
.slot[data-c="lia"] .nm{color:#4A5568}
.slot[data-c="step"]{border-left-color:#7A5C3E}
.slot[data-c="step"] .nm{color:#7A5C3E}
.slot[data-c="yoga-body-zen"]{border-left-color:#4F46E5}
.slot[data-c="yoga-body-zen"] .nm{color:#4F46E5}
.slot[data-c="zumba"]{border-left-color:#EA580C}
.slot[data-c="zumba"] .nm{color:#EA580C}
.fcat .dot{display:none}
/* Cours doux : vert doux */
.slot[data-c="bodybalance"],.slot[data-c="pilates"],.slot[data-c="stretch"],.slot[data-c="yoga-body-zen"]{border-left-color:#5DB38A}
.slot[data-c="bodybalance"] .nm,.slot[data-c="pilates"] .nm,.slot[data-c="stretch"] .nm,.slot[data-c="yoga-body-zen"] .nm{color:#3E8F69}
/* Éviter les verts hors cours doux */
.slot[data-c="afc"]{border-left-color:#EA580C}.slot[data-c="afc"] .nm{color:#EA580C}
.slot[data-c="crosstraining"]{border-left-color:#CA8A04}.slot[data-c="crosstraining"] .nm{color:#A16207}
.slot[data-c="renfo-tonic"]{border-left-color:#334155}.slot[data-c="renfo-tonic"] .nm{color:#334155}
.slot[data-c="aqua-bike-tapis"]{border-left-color:#9A3412}.slot[data-c="aqua-bike-tapis"] .nm{color:#9A3412}
.slot[data-c="afc"]{border-left-color:#A21CAF}.slot[data-c="afc"] .nm{color:#A21CAF}
/* Renforcement musculaire : orange doux */
.slot[data-c="body-sculpt"],.slot[data-c="afc"],.slot[data-c="special-core"],.slot[data-c="gym-douce"],.slot[data-c="gym-senior"],.slot[data-c="bodypump"]{border-left-color:#F2A65A}
.slot[data-c="body-sculpt"] .nm,.slot[data-c="afc"] .nm,.slot[data-c="special-core"] .nm,.slot[data-c="gym-douce"] .nm,.slot[data-c="gym-senior"] .nm,.slot[data-c="bodypump"] .nm{color:#D07A26}
/* Éviter les oranges ailleurs */
.slot[data-c="zumba"]{border-left-color:#DB2777}.slot[data-c="zumba"] .nm{color:#DB2777}
.slot[data-c="crosstraining"]{border-left-color:#4F46E5}.slot[data-c="crosstraining"] .nm{color:#4F46E5}
.slot[data-c="step"]{border-left-color:#0369A1}.slot[data-c="step"] .nm{color:#0369A1}
/* Danse : rose doux */
.slot[data-c="lia"],.slot[data-c="step"],.slot[data-c="zumba"]{border-left-color:#EC8FB5}
.slot[data-c="lia"] .nm,.slot[data-c="step"] .nm,.slot[data-c="zumba"] .nm{color:#CF4F86}
/* Dos de Gasquet sorti du rose */
.slot[data-c="dos-de-gasquet"]{border-left-color:#1E40AF}.slot[data-c="dos-de-gasquet"] .nm{color:#1E40AF}
.slot[data-c="dos-de-gasquet"]{border-left-color:#5DB38A}.slot[data-c="dos-de-gasquet"] .nm{color:#3E8F69}
.slot[data-c="renfo-tonic"]{border-left-color:#F2A65A}.slot[data-c="renfo-tonic"] .nm{color:#D07A26}
/* Pastilles selon les couleurs */
.fcat .dot{display:inline-block}
.fcat[data-f=cardio]{--fc:#006BFF;--fbg:#E8F1FF}
.fcat[data-f=renfo]{--fc:#D07A26;--fbg:#FDF1E4}
.fcat[data-f=bien]{--fc:#3E8F69;--fbg:#E8F5EE}
.fcat[data-f=danse]{--fc:#CF4F86;--fbg:#FCEAF2}
.fcat{border-color:var(--fc);color:var(--fc);background:var(--fbg)}
.fcat .dot{background:var(--fc)}
.fcat:hover{border-color:var(--fc);color:var(--fc);filter:brightness(.97)}
.fcat.on{background:var(--fc);border-color:var(--fc);color:#fff}
.fcat.on .dot{background:#fff}
.lm-tag{justify-self:start;font:800 9.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#111;border-radius:4px;padding:3px 6px;margin:2px 0 1px}
.lm-logo{height:26px;width:auto;max-width:100%;object-fit:contain;object-position:left;margin:3px 0 1px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.slot{position:relative}
.slot.dim .lm-logo{opacity:.5}

/* Contact */
.contact-sec{padding-top:clamp(30px,2.8vw,40px)}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:start}
.c-info{display:grid;gap:12px}
.c-card{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--r);background:var(--steel);text-decoration:none;transition:background .2s}
.c-card:hover{background:var(--chrome)}
.c-ico{width:46px;height:46px;border-radius:50%;background:var(--adre);display:grid;place-items:center;flex-shrink:0}
.c-ico svg{width:20px;height:20px;fill:#fff}
.c-card small{display:block;font-size:13px;color:var(--muted)}
.c-card strong{font-weight:600;color:var(--iron);font-size:16.5px;line-height:1.35}
.c-map{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--chrome)}
.c-map iframe{width:100%;height:100%;border:0}
.c-form h2{font-size:clamp(28px,3vw,38px)}
.c-form .lead{margin:12px 0 26px}
.c-form form{display:grid;gap:16px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-form label{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--iron)}
.c-form input,.c-form select,.c-form textarea{font:400 16px/1.4 var(--body);padding:13px 14px;border:1px solid var(--chrome);border-radius:10px;background:#fff;color:var(--text);width:100%}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{outline:2px solid var(--adre);outline-offset:0;border-color:var(--adre)}
.c-form .err{border-color:#D64545;background:#FFF5F5}
.c-form .f-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted)}
.c-form .f-check input{width:18px;height:18px;margin-top:2px;flex-shrink:0}
.c-form .f-check input.err{outline:2px solid #D64545}
.c-form .btn{justify-self:start}
.hp{position:absolute!important;left:-9999px}
.f-msg{font-size:15px;margin:0}
.f-msg.ok{color:#0B7E57;font-weight:600}.f-msg.ko{color:#D64545}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.c-form{order:-1}}
@media (max-width:560px){.f-row{grid-template-columns:1fr}.c-form .btn{width:100%}}

/* Prestations */
.subnav{position:sticky;top:76px;z-index:20;background:#fff;border-bottom:1px solid var(--chrome)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px}
.subnav a{flex:0 0 auto;text-decoration:none;font:600 14.5px/1 var(--body);color:var(--muted);padding:10px 14px;border-radius:999px;transition:.2s}
.subnav a:hover{color:var(--iron);background:var(--steel)}
.subnav a.on{background:var(--iron);color:#fff}
html{scroll-padding-top:150px}
.pr{padding:clamp(30px,2.8vw,40px) 0;border-bottom:1px solid var(--steel)}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.pr.rev .pr-media{order:2}
.pr-media{border-radius:18px;overflow:hidden;aspect-ratio:4/4.4;background:var(--iron)}
.pr-media img{width:100%;height:100%;object-fit:cover}
.pr-txt h2{font-size:clamp(34px,4vw,52px)}
.pr-txt .lead{margin-top:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}
.chips-lbl{font:700 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.chip{font-size:13.5px;font-weight:600;color:var(--muscle);background:#EAF1FF;border-radius:999px;padding:7px 12px}
.bens{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.bens li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.bens svg{width:20px;height:20px;flex-shrink:0;margin-top:3px;stroke:var(--adre);fill:none;stroke-width:3}
.sub-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.sub-list span{font-size:13px;color:var(--iron);background:var(--steel);border:1px solid var(--chrome);border-radius:8px;padding:6px 10px}
.note-kid{display:flex;gap:16px;align-items:center;margin-top:22px;padding:14px;border-radius:14px;background:var(--steel)}
.note-kid img{width:96px;height:72px;object-fit:cover;border-radius:10px;flex-shrink:0}
.note-kid p{font-size:14.5px;color:var(--muted)}
.note-kid strong{display:block;font-family:var(--display);font-size:18px;color:var(--iron);margin-bottom:3px}
.pr-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.lm-box-sec{padding:0 0 clamp(30px,2.8vw,40px)}
.lm-box{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;background:var(--steel);border-radius:20px;padding:clamp(28px,4vw,48px);border:1px solid var(--chrome)}
.lm-box h2{font-size:clamp(28px,3vw,38px)}
.lm-box p{margin-top:14px;color:var(--muted)}
.lm-box strong{color:var(--iron)}
.lm-logos{display:grid;gap:18px;justify-items:start}
.lm-logos img{height:40px;width:auto}
.svc-sec{background:var(--steel)}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-card{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.svc-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.svc-card>div{padding:24px}
.svc-card h3{font-size:24px;text-transform:uppercase;color:var(--iron)}
.svc-card p{margin-top:10px;color:var(--muted);font-size:15.5px}
@media (max-width:900px){
  .pr-grid{grid-template-columns:1fr}
  .pr.rev .pr-media{order:0}
  .pr-media{aspect-ratio:4/3}
  .lm-box{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr}
}
@media (max-width:760px){.subnav{top:66px}.pr-ctas .btn{width:100%}}
.svc-card img{height:auto;aspect-ratio:16/10;object-fit:cover}

/* Catalogue des cours */
.cat-sec{padding:0 0 clamp(30px,2.8vw,40px);border-bottom:1px solid var(--steel)}
.cat-title{font-size:clamp(24px,2.4vw,30px);text-transform:uppercase;color:var(--iron)}
.cat-intro{color:var(--muted);margin:8px 0 22px}
.cat-fam{margin-bottom:22px}
.fam-lbl{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;color:var(--fc)}
.fam-lbl::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--fc)}
[data-fam=cardio]{--fc:#006BFF;--fbg:#E8F1FF}
[data-fam=renfo]{--fc:#D07A26;--fbg:#FDF1E4}
[data-fam=danse]{--fc:#CF4F86;--fbg:#FCEAF2}
[data-fam=bien]{--fc:#3E8F69;--fbg:#E8F5EE}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cc{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--chrome);border-left:5px solid var(--fc);border-radius:12px;padding:16px 16px 14px;transition:transform .2s,box-shadow .2s,background .2s}
.cc:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(0,0,0,.25);background:var(--fbg)}
.cc-nm{font-family:var(--display);font-size:19px;color:var(--fc)}
.cc-d{font-size:14.5px;color:var(--muted);line-height:1.5;flex:1}
.cc-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px}
.cc-lv{font-size:12.5px;font-weight:600;color:var(--iron);background:var(--steel);border-radius:999px;padding:5px 10px}
.cc-go{font-size:13px;font-weight:700;color:var(--fc)}
.cc-lv,.cc-go{white-space:nowrap}
/* Bannières par famille */
.fam-ban{position:relative;height:clamp(120px,14vw,170px);border-radius:14px;overflow:hidden;margin-bottom:12px;background:var(--iron)}
.fam-ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-ban::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,21,23,.82) 0%,rgba(20,21,23,.35) 55%,rgba(20,21,23,.1) 100%)}
.fam-ban .fam-lbl{position:absolute;left:22px;bottom:18px;z-index:1;margin:0;color:#fff;font-family:var(--display);font-size:clamp(24px,2.6vw,32px);letter-spacing:.02em;text-transform:uppercase;gap:12px}
.fam-ban .fam-lbl::before{width:14px;height:14px;background:var(--fc);box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.fam-ban::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--fc);z-index:2}
.hy{font-family:var(--body);font-weight:700}
/* Famille : photo à gauche, cours à droite */
.cat-fam{display:grid;grid-template-columns:minmax(260px,1fr) 2.2fr;gap:16px;align-items:stretch;margin-bottom:28px}
.cat-fam .fam-ban{height:auto;min-height:300px;margin:0;border-radius:16px}
.cat-fam .fam-ban::after{background:linear-gradient(0deg,rgba(20,21,23,.8) 0%,rgba(20,21,23,.1) 50%,rgba(20,21,23,0) 100%)}
.cat-fam .cat-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-content:start}
@media (max-width:900px){
  .cat-fam{grid-template-columns:1fr}
  .cat-fam .fam-ban{min-height:0;aspect-ratio:16/9}
}
.cc-f{flex-wrap:wrap;row-gap:8px}
.cc-main{padding-top:clamp(30px,2.8vw,40px)}
.cc{position:relative}
.cc-badge{align-self:flex-start;font:800 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--adre);border-radius:999px;padding:5px 9px;margin-bottom:-2px}
.cc:has(.cc-badge){border-width:2px;border-left-width:5px;border-color:var(--fc);box-shadow:0 10px 26px -16px var(--fc)}
.cc:target{outline:3px solid var(--fc);outline-offset:3px}
.cc-badge{background:var(--fc)}

/* Hub prestations */
.hub-sec{padding-top:clamp(36px,5vw,64px)}
.hub{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.hub-card{position:relative;display:flex;align-items:flex-end;min-height:clamp(300px,32vw,420px);border-radius:20px;overflow:hidden;text-decoration:none;color:#fff;isolation:isolate}
.hub-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.hub-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,21,23,.9) 0%,rgba(20,21,23,.35) 55%,rgba(20,21,23,.05) 100%)}
.hub-card:hover img{transform:scale(1.04)}
.hub-in{padding:clamp(22px,3vw,34px)}
.hub-in h2{font-size:clamp(28px,3vw,40px);text-transform:uppercase;color:#fff}
.hub-in p{margin-top:8px;color:#E4E7EC;max-width:44ch}
.hub-go{display:inline-flex;margin-top:16px;font-weight:700;background:var(--adre);color:#fff;padding:12px 20px;border-radius:999px;font-size:15px}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--chrome);margin-bottom:10px}
.crumbs a{color:#fff}
.cat-h2{font-size:clamp(28px,3vw,40px);text-transform:none;color:var(--iron);margin-bottom:6px}
@media (max-width:760px){.hub{grid-template-columns:1fr}}
.hub3{grid-template-columns:repeat(3,1fr)}
.hub3 .hub-card{min-height:clamp(340px,34vw,460px)}
@media (max-width:1000px){.hub3{grid-template-columns:1fr}}
.svc4{grid-template-columns:repeat(4,1fr)}
.svc-step{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--adre);color:#fff;font:700 14px/1 var(--body);margin-bottom:12px}
.svc-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mu-cta-sec{padding:0 0 clamp(30px,2.8vw,40px)}
.mu-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;background:var(--iron);color:#fff;border-radius:20px;padding:clamp(26px,4vw,44px)}
.mu-cta h2{font-size:clamp(26px,3vw,36px);color:#fff}
.mu-cta p{color:var(--chrome);margin-top:10px;max-width:56ch}
@media (max-width:1100px){.svc4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.svc4{grid-template-columns:1fr}}
.svc-card img[src*="inbody-bilan"],.svc-card img[src*="programme"]{object-fit:contain;background:#2A2B2E}
.svc-card img.img-full{object-fit:contain;background:#fff;padding:10px 0;border-bottom:1px solid var(--chrome)}
.svc-card img.img-dark{background:#2A2B2E;padding:0}

/* Tarifs */
.tarifs-sec{padding-top:clamp(30px,2.8vw,40px)}
.tps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.tp{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--chrome);border-radius:18px;padding:30px 24px}
.tp-n{font-size:13px;font-weight:700;color:var(--muted)}
.tp h2{font-size:32px;text-transform:uppercase;color:var(--iron);margin:8px 0 10px}
.tp-d{color:var(--muted);font-size:15px}
.tp ul{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:11px;font-size:15px}
.tp li{display:flex;gap:10px;align-items:flex-start}
.tp li svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;fill:none;stroke-width:3}
.tp li svg.ok{stroke:var(--adre)}
.tp li svg.no{stroke:#B8BEC8}
.tp li.n{color:#9AA0A8}
.tp .btn{margin-top:auto;width:100%}
.tp.top{background:var(--muscle);border-color:var(--muscle);color:#fff}
.tp.top h2,.tp.top .tp-d,.tp.top .tp-n{color:#fff}
.tp.top li svg.ok{stroke:#fff}
.tp .flag{position:absolute;top:-14px;left:24px;background:var(--iron);color:#fff;font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:999px}
.btn-light{background:#fff;color:var(--muscle)}
.btn-light:hover{background:var(--iron);color:#fff}
.tp-note{margin-top:26px;color:var(--muted)}
.tp-note strong{color:var(--iron)}
.cmp-sec{background:var(--steel)}
.cmp-h{font-size:clamp(28px,3.2vw,42px);text-transform:uppercase;margin-bottom:24px}
.cmp-wrap{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid var(--chrome)}
.cmp{width:100%;border-collapse:collapse;min-width:640px;font-size:15px}
.cmp th,.cmp td{padding:16px 18px;text-align:center;border-bottom:1px solid var(--steel)}
.cmp thead th{font-family:var(--display);font-size:18px;text-transform:uppercase;color:var(--iron)}
.cmp thead th.hl{color:var(--muscle)}
.cmp tbody th{text-align:left;font-weight:600;color:var(--iron)}
.cmp td{color:var(--muted)}
.cmp td:last-child{background:#F2F6FF;color:var(--muscle);font-weight:600}
.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,64px)}
.faq-grid .lead a{color:var(--muscle);font-weight:600}
.fq{border-bottom:1px solid var(--chrome);padding:18px 0}
.fq summary{cursor:pointer;font-weight:700;color:var(--iron);list-style:none;display:flex;justify-content:space-between;gap:16px}
.fq summary::after{content:"+";font-size:22px;line-height:1;color:var(--adre)}
.fq[open] summary::after{content:"–"}
.fq p{margin-top:10px;color:var(--muted)}
@media (max-width:1080px){.tps{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}}
@media (max-width:600px){.tps{grid-template-columns:1fr}}
.tp .btn{white-space:nowrap;padding:15px 12px;font-size:15px}

/* Cartes accompagnement cliquables + fenêtre */
.svc4 .svc-card img{aspect-ratio:7/5;object-fit:cover;height:auto;background:none;padding:0}
.svc-btn{font:inherit;text-align:left;color:inherit;border:0;padding:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.svc-btn:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(0,0,0,.3)}
.svc-btn>div{flex:1}
.svc-more{display:block;padding:0 24px 22px;font-weight:700;font-size:14.5px;color:var(--adre)}
.svc-more::after{content:" →"}
.smodal{border:0;padding:0;border-radius:18px;max-width:min(1040px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 40px);overflow:hidden;background:#fff;box-shadow:0 40px 80px -20px rgba(0,0,0,.5)}
.smodal[open]{display:grid;grid-template-columns:1fr 1fr;animation:pmIn .3s cubic-bezier(.2,.8,.2,1)}
.smodal::backdrop{background:rgba(20,21,23,.72);backdrop-filter:blur(4px)}
.sm-media{background:var(--iron);min-height:100%}
.sm-media img{width:100%;height:100%;object-fit:cover}
.smodal.fit .sm-media{background:#fff;padding:20px;border-right:1px solid var(--chrome)}
.smodal.fit .sm-media img{object-fit:contain}
.sm-body{padding:36px 34px;overflow-y:auto;max-height:calc(100vh - 40px)}
.sm-body h3{font-size:32px;text-transform:uppercase;color:var(--iron)}
.sm-lead{color:var(--muted);margin:10px 0 18px}
.sm-body h4{font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muscle);margin:20px 0 10px}
.sm-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:15px}
.sm-list li{padding-left:22px;position:relative}
.sm-list li::before{content:"";position:absolute;left:4px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--adre)}
.sm-list strong{color:var(--iron)}
.sm-steps{padding-left:20px;margin:0;display:grid;gap:8px;font-size:15px}
.sm-steps li::marker{color:var(--adre);font-weight:700}
.sm-note{margin-top:16px;font-size:14px;background:var(--steel);border-radius:10px;padding:10px 12px;color:var(--iron)}
.sm-body .btn{margin-top:22px}
@media (max-width:820px){.smodal[open]{grid-template-columns:1fr;overflow-y:auto}.sm-media{height:260px}.sm-body{max-height:none}}
.nav{gap:22px}
.head .btn{white-space:nowrap}
@media (max-width:1240px) and (min-width:1081px){.tel{display:none}.nav{gap:18px}}
.spaces3 .space{aspect-ratio:4/5}
.spaces3 .space h3{font-size:clamp(26px,2.6vw,34px)}
.space .go{display:inline-block;margin-top:14px;font-weight:700;font-size:14.5px;border-bottom:2px solid var(--adre);padding-bottom:2px}
@media (max-width:1080px){.spaces3{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:860px){.spaces3{grid-template-columns:1fr}.spaces3 .space{aspect-ratio:4/4.2}}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.res-grid figure{margin:0}
.res-grid img{width:100%;height:auto;border-radius:10px;display:block;cursor:zoom-in}
.res-grid figcaption{margin-top:6px;font-size:12.5px;color:var(--muted);text-align:center}
@media (max-width:560px){.res-grid{grid-template-columns:1fr 1fr}}
/* Fenêtres services : respiration */
.sm-body{padding:44px 42px 40px}
.sm-body h3{line-height:1.05}
.sm-lead{margin:14px 0 6px;font-size:17px;line-height:1.6}
.sm-body h4{margin:30px 0 14px;padding-top:22px;border-top:1px solid var(--chrome)}
.sm-body h4:first-of-type{border-top:0;padding-top:0;margin-top:24px}
.sm-list{gap:12px;font-size:15.5px;line-height:1.55}
.sm-list li{padding-left:26px}
.sm-list li::before{top:10px}
.sm-steps{gap:12px;font-size:15.5px;line-height:1.55;padding-left:22px}
.res-grid{gap:16px;margin-top:4px}
.res-grid img{border-radius:12px;box-shadow:0 10px 24px -16px rgba(0,0,0,.45)}
.res-grid figcaption{margin-top:10px;font-size:13.5px;font-weight:600;color:var(--iron)}
.sm-note{margin-top:22px;padding:14px 16px;line-height:1.5}
.sm-body .btn{margin-top:28px}
@media (max-width:820px){
  .sm-body{padding:32px 26px 34px}
  .res-grid{grid-template-columns:none;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:6px}
  .res-grid figure{flex:0 0 62%;scroll-snap-align:start}
}
/* Sous-menu Prestations */
.has-sub{position:relative;display:flex;align-items:center}
.sub-trigger{display:inline-flex;align-items:center;gap:6px}
.sub-trigger::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.8}
.submenu{position:absolute;top:100%;left:-14px;min-width:230px;background:#000;border-radius:0 0 14px 14px;padding:10px 0 12px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{display:block;padding:11px 20px;color:#fff;text-decoration:none;font-weight:600;font-size:15px;opacity:.9;border:0}
.submenu a:hover{opacity:1;background:rgba(255,255,255,.08);border:0}
.res-grid{grid-template-columns:repeat(2,1fr)}
.res-grid figure.wide{grid-column:1 / -1}
@media (max-width:820px){.res-grid figure.wide{flex:0 0 92%}}

/* Cours collectifs : bandeau au-dessus + grille équilibrée */
.fam-v2 .cat-fam{display:block;margin-bottom:40px}
.fam-v2 .cat-fam .fam-ban{height:clamp(150px,16vw,210px);min-height:0;aspect-ratio:auto;margin:0 0 14px;border-radius:16px}
.fam-v2 .cat-fam .fam-ban::after{background:linear-gradient(90deg,rgba(20,21,23,.85) 0%,rgba(20,21,23,.35) 55%,rgba(20,21,23,.05) 100%)}
.fam-v2 .cat-fam .cat-grid{display:flex;flex-wrap:wrap;gap:14px}
.fam-v2 .cat-fam .cc{flex:1 1 max(240px,calc((100% - (var(--n) - 1)*14px)/var(--n)));min-height:170px;padding:20px 20px 18px}
.fam-v2 .cc-nm{font-size:22px}
.fam-v2 .cc-d{font-size:15.5px}
.fam-v2 .cc-lv{font-size:13px}
.fam-v2 .cat-fam .fam-ban{height:auto;aspect-ratio:12/5}
@media (max-width:600px){.fam-v2 .cat-fam .fam-ban{aspect-ratio:16/9}}
.cc-badge{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.06em;padding:5px 10px 4px}
/* Tarifs : sans abonnement */
.tp-libre{margin-top:40px}
.tp-libre-head h2{font-size:clamp(24px,2.6vw,32px);text-transform:none;color:var(--iron)}
.tp-libre-head p{color:var(--muted);margin:6px 0 18px}
.tp-libre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tl{display:flex;flex-direction:column;gap:8px;background:#fff;border:2px solid var(--chrome);border-radius:18px;padding:24px}
.tl h3{font-size:22px;text-transform:uppercase;color:var(--iron)}
.tl p{color:var(--muted);font-size:15px;margin:0;flex:1}
.tl p strong{color:var(--iron)}
.tl-go{font-weight:700;font-size:14.5px;color:var(--adre);text-decoration:none;margin-top:6px}
.tl-go:hover{text-decoration:underline}
@media (max-width:800px){.tp-libre-grid{grid-template-columns:1fr}}
/* Tarifs : sélecteur Adultes / Étudiants */
.tp-switch-zone{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:34px}
.tp-switch{display:inline-flex;background:var(--steel);border:1px solid var(--chrome);border-radius:999px;padding:5px;gap:4px}
.tp-switch button{border:0;background:transparent;cursor:pointer;font:700 15px/1 var(--body);color:var(--iron);padding:13px 22px;border-radius:999px;transition:background .2s,color .2s}
.tp-switch button[aria-selected=true]{background:var(--iron);color:#fff}
.tp-switch-note{margin:0;color:var(--muted);font-size:15px;text-align:center}
.tp-switch-note strong{color:var(--adre)}
.tps.is-etu .tp{border-color:var(--adre)}
.tps.is-etu .tp.top{border-color:var(--muscle)}
.tps.is-etu .tp-n::after{content:" · Tarif réduit";color:var(--adre)}
.tps.is-etu .tp.top .tp-n::after{color:#fff}
@media (max-width:600px){.tp-switch button{padding:12px 14px;font-size:14px}}
/* Sélecteur de profil plus explicite */
.tp-switch-lbl{margin:0;font:700 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--iron)}
.tp-switch{background:transparent;border:0;padding:0;gap:12px;flex-wrap:wrap;justify-content:center}
.tp-switch button{display:inline-flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--chrome);color:var(--iron);padding:14px 24px;font-size:16px;box-shadow:0 4px 14px -8px rgba(0,0,0,.25)}
.tp-switch button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tp-switch button:hover{border-color:var(--adre);color:var(--adre)}
.tp-switch button[aria-selected=true]{background:var(--adre);border-color:var(--adre);color:#fff;box-shadow:0 8px 20px -10px var(--adre)}
.tp-switch-lbl{text-align:center;line-height:1.5}
/* Tarifs : mention 30 jours sans engagement */
.tp-30{display:flex;align-items:center;gap:8px;margin:auto 0 14px;padding-top:14px;border-top:1px solid var(--chrome);font-size:14px;color:var(--muted)}
.tp-30 strong{color:var(--iron)}
.tp-30 svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--adre);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tp .tp-30 + .btn{margin-top:0}
.tp.top .tp-30{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85)}
.tp.top .tp-30 strong{color:#fff}
.tp.top .tp-30 svg{stroke:#fff}
/* Tarifs : infos clés sous les formules */
.tp-infos{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tp-infos li{display:flex;align-items:center;gap:12px;background:var(--steel);border-radius:14px;padding:14px 16px;font-size:15px;color:var(--muted);line-height:1.4}
.tp-infos strong{color:var(--iron)}
.tp-infos svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--adre);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:800px){.tp-infos{grid-template-columns:1fr}}
.tp-infos{grid-template-columns:repeat(2,1fr)}
@media (max-width:800px){.tp-infos{grid-template-columns:1fr}}
/* Accueil : 4 univers */
.spaces4{grid-template-columns:repeat(4,1fr)}
.spaces4 .space{aspect-ratio:3/4.4}
.spaces4 .space h3{font-size:clamp(24px,2.1vw,30px)}
.spaces4 .space p{font-size:15px}
@media (max-width:1080px){.spaces4{grid-template-columns:1fr 1fr}.spaces4 .space{aspect-ratio:4/4.6}}
@media (max-width:600px){.spaces4{grid-template-columns:1fr}.spaces4 .space{aspect-ratio:4/4.4}}
/* Page EGYM */
.eg-steps{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px}
.eg-steps li{display:flex;gap:14px;align-items:flex-start}
.eg-steps li>span{flex:none;width:34px;height:34px;border-radius:50%;background:var(--adre);color:#fff;display:grid;place-items:center;font:700 16px/1 var(--display)}
.eg-steps strong{display:block;color:var(--iron);font-size:16.5px;margin-bottom:2px}
.eg-steps div{color:var(--muted);font-size:15.5px}
.eg-lbl{margin:22px 0 10px;font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--iron)}
.eg-circ{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eg-circ li{display:flex;align-items:center;gap:10px;background:var(--steel);border-radius:12px;padding:10px 12px;font-weight:600;font-size:15px;color:var(--iron)}
.eg-circ li span{flex:none;width:26px;height:26px;border-radius:50%;background:var(--iron);color:#fff;display:grid;place-items:center;font:700 13px/1 var(--display)}
.eg-libre{margin:16px 0 0;color:var(--muted);font-size:15.5px}
.eg-libre strong{color:var(--iron)}
@media (max-width:420px){.eg-circ{grid-template-columns:1fr}}
.chips-stack .chips-lbl{flex-basis:100%;margin-bottom:2px}
/* EGYM : méthodes d'entraînement */
.eg-goals-sec{padding:clamp(30px,2.8vw,40px) 0;background:var(--steel);border-bottom:1px solid var(--steel)}
.eg-goals-sec h2{text-transform:none;color:var(--iron);font-size:clamp(28px,3.4vw,42px)}
.eg-goals-sec .lead{margin:8px 0 28px}
.eg-goals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.eg-goal{background:#fff;border-radius:18px;padding:26px 22px;border:1px solid var(--chrome)}
.eg-goal svg{width:44px;height:44px;padding:10px;border-radius:12px;background:rgba(0,107,255,.1);stroke:var(--adre);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.eg-goal h3{margin:16px 0 6px;font-size:22px;text-transform:uppercase;color:var(--iron)}
.eg-goal p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.eg-goal p strong{color:var(--adre)}
@media (max-width:1000px){.eg-goals{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.eg-goals{grid-template-columns:1fr}}
.eg-goal svg{padding:9px;stroke-width:2.2}
/* Page Enfants — Sporium Kid */
.kid-sec{padding:clamp(30px,2.8vw,40px) 0}
.kid-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#0A49E5,#006BFF);border-radius:24px;padding:clamp(34px,5vw,54px) 24px}
.kid-pre{margin:0;font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.kid-hero h2{margin:12px 0 10px;font-size:clamp(44px,6vw,72px);text-transform:uppercase;color:#fff;line-height:1}
.kid-hero h2 span{color:#FFD23F}
.kid-age{margin:0;font:700 14px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase}
.kid-motto{margin:6px 0 18px;opacity:.9}
.kid-when{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px}
.kid-when svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.kid-card{position:relative;overflow:hidden;color:#fff;text-align:center;border-radius:20px;padding:30px 22px 72px;box-shadow:0 14px 30px -18px rgba(0,0,0,.45)}
.kid-card.k1{background:linear-gradient(160deg,#0A6FD8,#1AA3F5)}
.kid-card.k2{background:linear-gradient(160deg,#D6127E,#F23C9B)}
.kid-card.k3{background:linear-gradient(160deg,#0D8A3A,#18B24F)}
.kid-ico{display:grid;place-items:center;width:58px;height:58px;margin:0 auto;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.5);font-size:28px}
.kid-badge{display:inline-block;margin-top:14px;background:rgba(0,0,0,.22);border-radius:999px;padding:6px 12px;font:700 13px/1 var(--display);letter-spacing:.04em}
.kid-card h3{margin:12px 0 8px;font-size:clamp(24px,2.4vw,30px);text-transform:uppercase;color:#fff}
.kid-card p{margin:0;font-size:15.5px;line-height:1.5;opacity:.95}
.kid-time{position:absolute;left:0;right:0;bottom:0;padding:14px;background:rgba(0,0,0,.16);font-weight:700;font-size:15px}
.kid-infos{grid-template-columns:repeat(3,1fr)}
.kid-note{margin:14px 0 0;text-align:center;color:var(--muted);font-size:14px}
.kid-ctas{justify-content:center;margin-top:22px}
@media (max-width:900px){.kid-grid,.kid-infos{grid-template-columns:1fr}}
.kid-badge{font:700 13px/1 var(--body);letter-spacing:.02em}
/* Accueil : bandeau Sporium Kid */
.kid-band{display:flex;align-items:center;gap:22px;margin-top:20px;padding:24px 28px;border-radius:20px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#0A49E5,#006BFF);box-shadow:0 14px 30px -18px rgba(10,73,229,.7);transition:transform .2s}
.kid-band:hover{transform:translateY(-2px)}
.kid-band-ico{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.45);font-size:30px}
.kid-band-txt{flex:1}
.kid-band-t{margin:0;font:400 clamp(28px,3vw,38px)/1 var(--display);text-transform:uppercase}
.kid-band-t span{color:#FFD23F}
.kid-band-d{margin:6px 0 10px;opacity:.92;font-size:15.5px}
.kid-band-ages{display:flex;flex-wrap:wrap;gap:8px}
.kid-band-ages span{border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px}
.kid-band-ages .a1{background:#1AA3F5}.kid-band-ages .a2{background:#E0258C}.kid-band-ages .a3{background:#14A046}
.kid-band-btn{flex:none;background:#fff;color:var(--muscle)}
@media (max-width:760px){.kid-band{flex-direction:column;align-items:flex-start;text-align:left}.kid-band-btn{width:100%;text-align:center}}
.kid-band-logo{flex:none;width:92px;height:auto}
.kid-hero-logo{display:block;width:88px;height:auto;margin:0 auto 12px}
@media (max-width:760px){.kid-band-logo{width:76px}}
.kid-grid{scroll-margin-top:110px}
.tp-kid{margin-top:40px;scroll-margin-top:110px}
#formules{scroll-margin-top:110px}
.submenu a{white-space:nowrap}
.tps[hidden],.tp-infos[hidden],.tp-libre[hidden],.kid-band[hidden]{display:none!important}
.tp-kid{margin-top:0}
a[href^="tel:"]{white-space:nowrap}
.cmp-sec[hidden]{display:none!important}
.kid-band-eng{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);font-size:14.5px}
.kid-band-eng strong{color:#FFD23F}
.kid-band-eng svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* 5 formules */
.tps{grid-template-columns:repeat(5,1fr);gap:14px}
.tps .tp{padding-left:20px;padding-right:20px}
.tps .tp .btn{white-space:normal;line-height:1.25}
@media (max-width:1240px){.tps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.tps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tps{grid-template-columns:1fr}}
.tps .tp .btn{font-size:14px;padding:13px 10px;text-align:center;justify-content:center}
/* Page équipe */
.eq-sec{padding:clamp(30px,2.8vw,40px) 0}
.eq-head h2{text-transform:none;color:var(--iron);font-size:clamp(30px,3.6vw,44px)}
.eq-head .lead{max-width:640px;margin-top:8px}
.eq-group{margin-top:40px}
.eq-gt{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--chrome);font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muscle)}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.eq-card,.eq-wide{background:#fff;border:1px solid var(--chrome);border-radius:18px;overflow:hidden}
.eq-top{display:grid;place-items:center;height:130px}
.eq-card.t1 .eq-top{background:linear-gradient(135deg,#0A49E5,#4C9BFF)}
.eq-card.t2 .eq-top{background:linear-gradient(135deg,#3C3D40,#8D96A3)}
.eq-av{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--iron);font:400 28px/1 var(--display)}
.eq-body{padding:18px 20px 20px}
.eq-body h3{margin:0;font-size:22px;text-transform:uppercase;color:var(--iron)}
.eq-role{margin:4px 0 8px;font-weight:700;font-size:14px;color:var(--adre)}
.eq-d{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.eq-wides{display:grid;gap:14px}
.eq-wide .eq-top{height:96px;background:var(--c)}
.eq-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:48px;padding:28px 30px;border-radius:20px;background:linear-gradient(135deg,#0A49E5,#006BFF);color:#fff}
.eq-cta h2{margin:0;color:#fff;text-transform:uppercase;font-size:clamp(24px,2.6vw,32px)}
.eq-cta p{margin:6px 0 0;opacity:.9}
@media (max-width:900px){.eq-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.eq-grid{grid-template-columns:1fr}}
.hy{font-family:var(--body);font-weight:800}
/* Équipe : cartes centrées */
.eq-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.eq-grid .eq-card{flex:0 0 calc((100% - 32px)/3)}
@media (max-width:900px){.eq-grid .eq-card{flex-basis:calc((100% - 16px)/2)}}
@media (max-width:560px){.eq-grid .eq-card{flex-basis:100%}}
.eq-gt{text-align:center}
.eq-head{text-align:center}.eq-head .lead{margin-left:auto;margin-right:auto}
.eq-photo{object-fit:cover;padding:0;border:3px solid rgba(255,255,255,.92);box-sizing:border-box;width:84px;height:84px}
/* Équipe : photos détourées */
.eq-grid .eq-top{height:260px}
.eq-top.has-photo{display:flex;align-items:flex-end;justify-content:center;padding:14px 14px 0;box-sizing:border-box;overflow:hidden}
.eq-cut{max-width:100%;max-height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
.eq-wide .eq-top.has-photo{height:220px}
/* Équipe : photos entières */
.eq-grid .eq-top{height:380px}
.eq-top.has-photo{padding:0;display:block}
.eq-pic{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.eq-wide .eq-top.has-photo{height:380px;display:flex;justify-content:center}
.eq-wide .eq-pic{width:auto;max-width:100%;object-fit:contain}
/* Pop-up événements */
.pp-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(10,12,20,.62);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.pp-overlay.on{opacity:1}
.pp-box{position:relative;width:100%;max-width:440px;text-align:center;color:#fff;background:linear-gradient(145deg,#0A49E5,#006BFF);border-radius:24px;padding:34px 28px 22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);transform:translateY(16px) scale(.97);transition:transform .3s}
.pp-overlay.on .pp-box{transform:none}
.pp-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.pp-close:hover{background:rgba(255,255,255,.28)}
.pp-logo{display:block;width:70px;height:auto;margin:0 auto 12px}
.pp-tag{display:inline-block;background:#FFD23F;color:#1b1b1b;border-radius:999px;padding:6px 12px;font:700 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}
.pp-box h2{margin:12px 0 8px;color:#fff;text-transform:uppercase;font-size:clamp(34px,7vw,46px);line-height:1}
.pp-box h2 span{color:#FFD23F}
.pp-txt{margin:0 0 18px;font-size:15.5px;line-height:1.5;opacity:.95}
.pp-cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.pp-cd div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:14px;padding:10px 4px}
.pp-cd b{display:block;font:400 30px/1 var(--display)}
.pp-cd span{display:block;margin-top:4px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.pp-btn{display:block;width:100%;background:#fff;color:var(--muscle)}
.pp-later{margin-top:10px;border:0;background:none;color:#fff;opacity:.8;font:600 14px var(--body);cursor:pointer;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.pp-overlay,.pp-box{transition:none}}
/* Équipe : fiche détaillée */
.eq-more{margin-top:12px;padding:0;border:0;background:none;color:var(--adre);font:700 14.5px var(--body);cursor:pointer}
.eq-more:hover{text-decoration:underline}
.bio-ov{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;padding:20px;background:rgba(10,12,20,.62);backdrop-filter:blur(3px)}
.bio-ov[hidden]{display:none}
.bio-box{position:relative;width:100%;max-width:960px;max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.bio-in{display:grid;grid-template-columns:1fr 1.25fr}
.bio-img{width:100%;height:100%;min-height:420px;object-fit:cover}
.bio-txt{padding:36px 34px}
.bio-txt h2{margin:0 0 16px;color:var(--iron);text-transform:none;font-size:clamp(28px,3vw,38px)}
.bio-txt h2 em{font-style:normal;color:var(--adre)}
.bio-txt p{margin:0 0 14px;color:var(--muted);font-size:15.5px;line-height:1.65}
.bio-txt strong{color:var(--iron)}
.bio-close{position:absolute;top:12px;right:14px;z-index:1;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media (max-width:760px){.bio-in{grid-template-columns:1fr}.bio-img{min-height:0;height:300px}.bio-txt{padding:24px 22px}}
.bio-logo{display:grid;place-items:center;background:linear-gradient(145deg,#0A49E5,#006BFF)}
.bio-logo img{width:46%;max-width:200px;height:auto}
.eq-grid-4 .eq-card{flex-basis:calc((100% - 48px)/4)}
.eq-grid-4 .eq-top{height:320px}
.eq-grid-next{margin-top:16px}
@media (max-width:1000px){.eq-grid-4 .eq-card{flex-basis:calc((100% - 16px)/2)}}
@media (max-width:560px){.eq-grid-4 .eq-card{flex-basis:100%}}
/* Équipe : sections mieux séparées */
.eq-group{margin-top:48px;padding:44px clamp(18px,3vw,40px) 40px;border-radius:28px}
.eq-group.eg-dir{background:#F1F3F6}
.eq-group.eg-coach{background:#EEF3FF}
.eq-group.eg-aqua{background:#E9F6FB}
.eq-group.eg-fit{background:#F4F1FF}
.eq-ghead{text-align:center;margin-bottom:28px}
.eq-gt{margin:0;padding:0;border:0;font:400 clamp(26px,2.8vw,34px)/1.1 var(--display);letter-spacing:0;text-transform:uppercase;color:var(--iron)}
.eq-gt::after{content:"";display:block;width:56px;height:4px;margin:12px auto 0;border-radius:4px;background:var(--adre)}
.eq-gsub{margin:12px 0 0;color:var(--muted);font-size:15.5px}
.eq-group .eq-card{box-shadow:0 12px 26px -20px rgba(20,30,60,.45)}
/* Réseaux sociaux (pied de page) */
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font-weight:600;font-size:14px;transition:background .2s,border-color .2s}
.foot-social a:hover{background:var(--adre);border-color:var(--adre)}
.foot-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.foot-social svg .dot{fill:currentColor;stroke:none}
/* Bouton WhatsApp flottant */
.wa-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:44;display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:999px;background:#25D366;color:#fff;text-decoration:none;font:700 15px var(--body);box-shadow:0 10px 26px -8px rgba(0,0,0,.45);transition:transform .2s,box-shadow .2s}
.wa-fab:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(0,0,0,.5)}
.wa-fab svg{width:26px;height:26px;fill:#fff}
@media (max-width:760px){.wa-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:14px;padding:13px}.wa-fab span{display:none}}
.foot-social svg.wa-i{fill:currentColor;stroke:none}
/* Barre d'infos en haut (réseaux sociaux) */
.topbar{background:#111318;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.72)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:36px}
.tb-social{display:flex;gap:18px}
.tb-social a{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-weight:600}
.tb-social a:hover{color:#4C9BFF}
.tb-social svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.tb-social svg .dot{fill:currentColor;stroke:none}
.tb-social svg.wa-i{fill:currentColor;stroke:none}
@media (min-width:761px){
  .wa-fab.wa-mobile{display:none}
  .page-head{padding-top:calc(112px + clamp(28px,4vw,48px))}
  .hero-in{padding-top:166px}
  .prow.head,.subnav{top:112px}
  html{scroll-padding-top:120px}
}
@media (max-width:760px){.topbar{display:none}}
.tb-social svg.fb-i,.foot-social svg.fb-i{fill:currentColor;stroke:none}
.foot-social{flex-wrap:wrap}
/* Logos officiels réseaux sociaux */
.tb-social svg.soc{width:18px;height:18px;stroke:none;fill:initial}
.foot-social svg.soc{width:22px;height:22px;stroke:none;fill:initial}
.foot-social a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.tb-social a:hover{color:#fff;opacity:.85}
.wa-fab svg.fab-i{width:30px;height:30px;fill:initial}
.wa-fab svg.fab-i circle{fill:#25D366}
.c-near{display:block;margin-top:4px;font-style:normal;font-weight:600;font-size:13.5px;color:var(--adre)}
.cat-seo{margin:10px 0 0;max-width:760px;color:var(--muted);font-size:15px;line-height:1.6}
.cat-seo strong{color:var(--iron);font-weight:600}
/* Accueil : bloc tarifs résumé */
.hp-tarifs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hp-t{display:flex;flex-direction:column;gap:8px;padding:28px 26px;border-radius:22px;border:2px solid var(--chrome);background:#fff;color:var(--iron);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.hp-t:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(20,30,60,.5);border-color:var(--adre)}
.hp-t-tag{align-self:flex-start;border-radius:999px;padding:6px 12px;background:var(--steel);font:700 12.5px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.hp-t h3{margin:6px 0 0;font-size:clamp(26px,2.6vw,34px);text-transform:uppercase;color:var(--iron)}
.hp-t p{margin:0;flex:1;color:var(--muted);font-size:15.5px;line-height:1.55}
.hp-t-go{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:700;color:var(--adre)}
.hp-t-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hp-t-etu .hp-t-tag{background:#E8F1FF;color:#0A49E5}
.hp-t-kid .hp-t-tag{background:#FFF3C4;color:#7a5b00}
.hp-libre{margin:22px 0 0;text-align:center;color:var(--muted);font-size:15.5px}
.hp-libre strong{color:var(--iron)}
.hp-libre a{color:var(--adre);font-weight:700}
@media (max-width:900px){.hp-tarifs{grid-template-columns:1fr}}
/* Cours collectifs : nouvelle présentation par famille */
.fam-v3 .sec-head{margin-bottom:22px}
.fam-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.fam-nav a{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:var(--fbg);color:var(--iron);font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent;transition:border-color .2s,transform .2s}
.fam-nav a span{width:10px;height:10px;border-radius:50%;background:var(--fc)}
.fam-nav a:hover{border-color:var(--fc);transform:translateY(-1px)}
.fam-v3 .cat-seo{margin:0 0 34px;max-width:none;font-size:14.5px}
.fam-v3 .cat-fam{display:block;margin:0 0 30px;padding:clamp(14px,2vw,22px);border-radius:28px;background:var(--fbg);scroll-margin-top:130px}
.fam-v3 .fam-ban{position:relative;height:clamp(190px,20vw,240px);aspect-ratio:auto;min-height:0;margin:0 0 18px;border-radius:20px;overflow:hidden;background:var(--iron)}
.fam-v3 .fam-ban::before{display:none}
.fam-v3 .fam-ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-v3 .fam-ban::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,20,.9) 0%,rgba(15,16,20,.6) 38%,rgba(15,16,20,.05) 75%)}
.fam-txt{position:absolute;z-index:1;left:clamp(20px,3vw,36px);top:50%;transform:translateY(-50%);max-width:min(440px,60%);color:#fff}
.fam-v3 .fam-lbl{position:static;display:flex;align-items:center;gap:12px;margin:0;color:#fff;font:400 clamp(30px,3.4vw,44px)/1 var(--display);letter-spacing:0;text-transform:uppercase}
.fam-v3 .fam-lbl::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--fc);box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.fam-desc{margin:10px 0 12px;font-size:16px;line-height:1.45;opacity:.92}
.fam-count{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--fc);font:700 13px/1 var(--body)}
.fam-v3 .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fam-v3 .cc{min-height:150px;padding:20px 20px 18px;border:0;border-top:4px solid var(--fc);border-radius:16px;box-shadow:0 10px 24px -20px rgba(20,30,60,.55);transition:transform .2s,box-shadow .2s}
.fam-v3 .cc:hover{transform:translateY(-3px);box-shadow:0 18px 32px -22px rgba(20,30,60,.6)}
.fam-v3 .cc-nm{font-size:22px}
.fam-v3 .cc-d{font-size:15px}
.fam-v3 .cc:has(.cc-badge){border:2px solid var(--fc);border-top-width:4px}
@media (max-width:900px){.fam-v3 .cat-grid{grid-template-columns:1fr 1fr}.fam-txt{max-width:80%}}
@media (max-width:560px){.fam-v3 .cat-grid{grid-template-columns:1fr}.fam-v3 .fam-ban{height:200px}.fam-desc{font-size:14.5px}}
/* Images : moins de recadrage */
.pr-media.pr-land{aspect-ratio:3/2;align-self:center}
/* Cours collectifs : bandeau en deux parties (texte + photo entière) */
.fam-v3 .fam-ban{display:grid;grid-template-columns:1fr 1.15fr;height:auto;background:#1c1d22}
.fam-v3 .fam-ban::after{display:none}
.fam-v3 .fam-ban img{position:static;grid-column:2;grid-row:1;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.fam-v3 .fam-txt{position:static;grid-column:1;grid-row:1;transform:none;max-width:none;align-self:center;padding:clamp(22px,3vw,40px);color:#fff}
.fam-v3 .fam-ban{background:linear-gradient(135deg,#17181c 0%,#24262c 100%)}
.fam-v3 .fam-txt{border-left:6px solid var(--fc)}
@media (max-width:760px){.fam-v3 .fam-ban{grid-template-columns:1fr}.fam-v3 .fam-ban img{grid-column:1;grid-row:2}.fam-v3 .fam-txt{grid-row:1;border-left:0;border-top:6px solid var(--fc)}}
.fam-v3 .fam-txt{border-left:0}.fam-v3 .fam-ban{border-left:6px solid var(--fc)}@media (max-width:760px){.fam-v3 .fam-ban{border-left:0;border-top:6px solid var(--fc)}.fam-v3 .fam-txt{border-top:0}}
.lm-logo.lm-hbx{height:18px;margin:6px 0 4px}
.lm-logos img.lm-hbx{height:28px}
.slot[data-c="full-barre"]{border-left-color:#F2A65A}
.slot[data-c="full-barre"] .nm{color:#D07A26}
.slot[data-c="crosstraining"]{border-left-color:#F2A65A}.slot[data-c="crosstraining"] .nm{color:#D07A26}
/* Cardio : bleu unique */
.slot[data-c="rpm"],.slot[data-c="cardio-training"],.slot[data-c="circuit-boxing"]{border-left-color:#006BFF}
.slot[data-c="rpm"] .nm,.slot[data-c="cardio-training"] .nm,.slot[data-c="circuit-boxing"] .nm{color:#006BFF}
/* Aqua : 4 cours par famille, sur une ligne */
#catalogue-aqua .cat-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){#catalogue-aqua .cat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){#catalogue-aqua .cat-grid{grid-template-columns:1fr}}
/* Logos Les Mills sur les cartes de cours */
.cc-logo{display:block;height:34px;width:auto;max-width:100%;object-fit:contain;object-position:left;margin:2px 0 4px}
.cc-logo.lm-hbx{height:24px;margin:7px 0 7px}
/* Vidéo dans le bandeau de famille */
.fam-v3 .fam-ban video{position:static;grid-column:2;grid-row:1;display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:760px){.fam-v3 .fam-ban video{grid-column:1;grid-row:2}}
@media (prefers-reduced-motion:reduce){.fam-vid{animation:none}}
/* Téléphone dans la barre du haut */
.tb-info{display:flex;align-items:center;gap:18px}
.tb-tel{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:700;text-decoration:none;padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.tb-tel svg{width:14px;height:14px;color:var(--adre)}
.tb-tel:hover{color:var(--chrome)}
.tel-ico{display:none}
@media (max-width:1080px){
  .tel-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--adre);color:#fff;margin-right:10px}
  .tel-ico svg{width:20px;height:20px}
}
@media (max-width:1080px){.head-cta{margin-left:auto}.tel-ico{margin-right:14px}}
@media (max-width:1080px){.head .wrap{gap:12px}.head .burger{margin-left:0}.tel-ico{margin-right:0}}
/* Blog */
.bl-card[data-fam=cardio],.ar[data-fam=cardio]{--fc:#006BFF;--fbg:#E8F1FF}
.bl-card[data-fam=renfo],.ar[data-fam=renfo]{--fc:#D07A26;--fbg:#FDF1E4}
.bl-card[data-fam=bien],.ar[data-fam=bien]{--fc:#3E8F69;--fbg:#E8F5EE}
.bl-card[data-fam=danse],.ar[data-fam=danse]{--fc:#CF4F86;--fbg:#FCEAF2}
.bl-sec{padding:clamp(30px,2.8vw,40px) 0}
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bl-card{display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--iron);box-shadow:0 14px 34px -24px rgba(20,30,60,.55);border-top:4px solid var(--fc);transition:transform .2s,box-shadow .2s}
.bl-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(20,30,60,.6)}
.bl-img{aspect-ratio:16/10;overflow:hidden;background:var(--steel)}
.bl-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.bl-card:hover .bl-img img{transform:scale(1.04)}
.bl-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.bl-cat{align-self:flex-start;display:inline-block;padding:5px 11px;border-radius:999px;background:var(--fbg);color:var(--fc);font:700 12px/1 var(--body);letter-spacing:.06em;text-transform:uppercase}
.bl-card h2,.bl-card h3{margin:0;font:400 22px/1.15 var(--display);color:var(--iron)}
.bl-card p{margin:0;font-size:15px;line-height:1.55;color:#555}
.bl-meta{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#888}
.bl-go{color:var(--fc);font-weight:700}
.bl-sm h3{font-size:19px}
.bl-rel{background:var(--steel)}
.bl-all{margin:26px 0 0;text-align:center}.bl-all a{color:var(--adre);font-weight:700;text-decoration:none}
.ar-head{background:var(--iron);color:#fff;padding:calc(76px + clamp(40px,6vw,72px)) 0 clamp(90px,10vw,130px)}
.ar-head .crumbs{margin-bottom:18px}
.ar-head .bl-cat{background:var(--fc);color:#fff}
.ar-head h1{margin:14px 0 12px;max-width:880px;font-size:clamp(32px,4.4vw,54px);line-height:1.05;text-transform:uppercase}
.ar-meta{margin:0;color:var(--chrome);font-size:14px}
.ar-wrap{max-width:880px}
.ar-fig{margin:calc(-1 * clamp(70px,8vw,100px)) 0 0;border-radius:22px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 24px 50px -30px rgba(0,0,0,.6);border-bottom:5px solid var(--fc)}
.ar-fig img{width:100%;height:100%;object-fit:cover}
.ar-body{padding:clamp(28px,4vw,44px) 0 clamp(40px,6vw,70px);font-size:17px;line-height:1.75;color:#333}
.ar-lead{font-size:19px;font-weight:600;color:var(--iron);line-height:1.6}
.ar-body h2{margin:34px 0 10px;font:400 clamp(24px,2.6vw,30px)/1.15 var(--display);color:var(--iron);padding-left:14px;border-left:5px solid var(--fc)}
.ar-body p{margin:0 0 14px}
.ar-body a{color:var(--adre);font-weight:700}
.ar-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:36px 0 22px;padding:22px 26px;border-radius:18px;background:var(--fbg)}
.ar-cta strong{display:block;font:400 22px/1.1 var(--display);color:var(--iron)}
.ar-cta span{font-size:15px;color:#555}
.ar-cta .btn{color:#fff}
.ar-links{display:flex;flex-wrap:wrap;gap:12px}
.ar-links .btn{color:var(--iron)}
@media (max-width:900px){.bl-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bl-grid{grid-template-columns:1fr}.ar-cta{flex-direction:column;align-items:flex-start}}
.bl-mosa{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;background:#fff}
.bl-mosa img{width:100%;height:100%;object-fit:cover;min-height:0}
.ar-fig.bl-mosa{gap:5px}
.ar-in{margin:22px 0 26px;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(0,0,0,.6)}
.ar-in img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
/* Vidéo de présentation EGYM */
.eg-vid-sec{padding:clamp(30px,2.8vw,40px) 0;background:var(--iron);color:#fff;text-align:center}
.eg-vid-sec h2{color:#fff}
.eg-vid-sec .lead{color:var(--chrome);max-width:640px;margin:14px auto 0}
.eg-vid{position:relative;max-width:980px;margin:clamp(26px,4vw,40px) auto 0;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);aspect-ratio:16/9}
.eg-vid video{display:block;width:100%;height:100%;object-fit:cover}
.eg-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:0;cursor:pointer;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));color:#fff;font:700 15px/1 var(--body)}
.eg-play svg{width:34px;height:34px;padding:22px;box-sizing:content-box;border-radius:50%;background:var(--adre);fill:#fff;box-shadow:0 10px 30px rgba(0,107,255,.5);transition:transform .2s}
.eg-play:hover svg{transform:scale(1.08)}
.eg-play[hidden]{display:none}
/* Bandeaux de famille compacts (tout le site) */
@media (min-width:761px){
  .fam-v3 .fam-ban{height:clamp(260px,24vw,340px);grid-template-columns:1fr 1.25fr}
  .fam-v3 .fam-ban img,.fam-v3 .fam-ban video{aspect-ratio:auto;height:100%;min-height:0}
}
@media (max-width:760px){
  .fam-v3 .fam-ban{height:auto}
  .fam-v3 .fam-ban img,.fam-v3 .fam-ban video{aspect-ratio:16/9;height:auto}
}
/* Planning compact : toute la semaine sur un seul écran (ordinateur) */
@media (min-width:1081px){
  .prow{gap:8px}
  .pday{padding:8px 6px;font-size:13px;border-radius:8px}
  .prow.head{padding:6px 0 4px;margin-bottom:0}
  .pband{padding:5px 12px;margin:10px 0 6px;font-size:10.5px;border-radius:6px}
  .col ul{gap:5px}
  .slot{grid-template-columns:auto 1fr;grid-template-areas:"hrs co" "nm nm";column-gap:8px;row-gap:1px;padding:6px 9px;border-radius:8px;border-left-width:4px}
  .slot .hrs{grid-area:hrs;font-size:11px;white-space:nowrap}
  .slot .co{grid-area:co;font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .slot .nm{grid-area:nm;font-size:14px;line-height:1.1}
  .slot .nm.sr{grid-area:auto}
  .slot .lm-logo{grid-area:nm;height:17px;margin:2px 0 0}
  .slot .lm-logo.lm-hbx{height:13px;margin:4px 0 1px}
}
@media (min-width:1081px){.slot.co2{grid-template-areas:"hrs hrs" "nm nm" "co co"}.slot.co2 .co{text-align:left}}
/* Familles compactes : bandeau + cartes sur un seul écran (tout le site) */
.fam-v3 .cat-fam{margin-bottom:22px;padding:clamp(12px,1.6vw,18px);border-radius:24px}
.fam-v3 .fam-ban{margin-bottom:12px;border-radius:16px}
@media (min-width:761px){
  .fam-v3 .fam-ban{height:clamp(190px,16vw,220px)}
  .fam-v3 .fam-txt{padding:clamp(18px,2.4vw,30px)}
  .fam-v3 .fam-lbl{font-size:clamp(26px,2.8vw,36px)}
  .fam-v3 .fam-desc{margin-top:8px;font-size:15px}
}
.fam-v3 .cat-grid{grid-template-columns:repeat(4,1fr);gap:10px}
.fam-v3 .cc{min-height:0;padding:13px 15px 14px;gap:6px;border-radius:14px;border-top-width:3px}
.fam-v3 .cc-nm{font-size:18px}
.fam-v3 .cc-d{font-size:13.5px;line-height:1.45}
.fam-v3 .cc-logo{height:27px;margin:0 0 2px}
.fam-v3 .cc-logo.lm-hbx{height:19px;margin:4px 0 4px}
.fam-v3 .cc-badge{font-size:10px;padding:4px 8px}
.fam-v3 .cc-f .cc-lv{font-size:11.5px;padding:4px 9px}
@media (max-width:1000px){.fam-v3 .cat-grid,#catalogue-aqua .cat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fam-v3 .cat-grid,#catalogue-aqua .cat-grid{grid-template-columns:1fr}}
@media (min-width:1001px){
  .fam-v3 .cat-grid:has(> .cc:nth-child(5)){grid-template-columns:repeat(5,1fr)}
  .fam-v3 .cat-grid:has(> .cc:nth-child(3)):not(:has(> .cc:nth-child(4))){grid-template-columns:repeat(3,1fr)}
}
/* Vidéos des bandeaux affichées entières (format 4:3, sans recadrage) */
@media (min-width:761px){
  .fam-v3 .fam-ban{height:clamp(230px,20vw,270px);grid-template-columns:1fr auto}
  .fam-v3 .fam-ban img,.fam-v3 .fam-ban video{height:100%;width:auto;aspect-ratio:4/3;object-fit:cover}
}
@media (max-width:760px){
  .fam-v3 .fam-ban img,.fam-v3 .fam-ban video{width:100%;height:auto;aspect-ratio:4/3}
}
/* Fond du bandeau : image floutée de la vidéo (plus de grand bloc noir) */
.fam-v3 .fam-ban{position:relative;isolation:isolate;background:#15161a}
.fam-v3 .fam-ban::after{display:none}
.fam-v3 .fam-bg{position:absolute;inset:-40px;z-index:0;background:center/cover no-repeat;filter:blur(26px) brightness(.55) saturate(1.35)}
.fam-v3 .fam-ban .fam-txt{position:relative;top:auto;transform:none;z-index:1;background:none}
.fam-v3 .fam-ban video,.fam-v3 .fam-ban img{position:relative;z-index:1;box-shadow:-18px 0 40px -10px rgba(0,0,0,.55)}
@media (min-width:761px){.fam-v3 .fam-ban{height:clamp(280px,26vw,360px)}}
/* EGYM : les 9 machines */
.eg-mach-sec{padding:clamp(30px,2.8vw,40px) 0;background:var(--steel)}
.eg-mach-sec .lead{margin-top:10px}
.eg-mach{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:clamp(24px,3vw,36px)}
.eg-m{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px -22px rgba(20,30,60,.55);text-align:center;padding-bottom:14px}
.eg-m img{display:block;width:100%;height:auto;aspect-ratio:320/300;object-fit:cover;background:#F6F5F3}
.eg-m h3{margin:12px 10px 2px;font:400 17px/1.1 var(--display);text-transform:uppercase;color:var(--iron)}
.eg-m p{margin:0 10px;font-size:13px;color:var(--muted)}
.eg-m-n{position:absolute;top:10px;left:10px;width:28px;height:28px;border-radius:50%;background:var(--adre);color:#fff;font:700 13px/28px var(--body)}
@media (max-width:1000px){.eg-mach{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.eg-mach{grid-template-columns:1fr 1fr;gap:10px}.eg-m h3{font-size:15px}}
/* EGYM : l'application */
.eg-app-sec{padding:clamp(30px,2.8vw,40px) 0}
.eg-app{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(28px,5vw,64px);align-items:center}
.eg-app .lead{margin-top:14px}
.eg-app-p{margin-top:12px;color:var(--muted)}
.eg-app-f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.eg-app-f>div{background:var(--steel);border-radius:18px;padding:20px}
.eg-app-f svg{width:38px;height:38px;padding:8px;border-radius:12px;background:var(--adre);fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eg-app-f h3{margin:12px 0 4px;font:400 18px/1.15 var(--display);color:var(--iron)}
.eg-app-f p{margin:0;font-size:14px;color:var(--muted)}
.fq p+p{margin-top:8px}
@media (max-width:900px){.eg-app{grid-template-columns:1fr}}
@media (max-width:480px){.eg-app-f{grid-template-columns:1fr}}
/* EGYM regroupé */
.eg-mach-lay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;margin-top:clamp(24px,3vw,36px);align-items:stretch}
.eg-mach-photo{border-radius:18px;overflow:hidden}
.eg-mach-photo img{width:100%;height:100%;object-fit:cover;display:block}
.eg-mach-lay .eg-mach{margin-top:0;grid-template-columns:repeat(3,1fr);gap:12px}
.eg-mach-lay .eg-m h3{font-size:15px;margin-top:8px}
.eg-mach-lay .eg-m p{font-size:12px}
.eg-mach-lay .eg-m{padding-bottom:10px}
.eg-how-p{margin:6px 0 18px;color:var(--muted)}
.eg-how .eg-lbl{margin-top:14px}
.eg-app-lbl{margin:clamp(30px,4vw,44px) 0 14px}
.eg-app-row{grid-template-columns:repeat(4,1fr)}
.fin-links{margin-top:22px;font-size:14.5px;color:var(--muted)}
.fin-links a{color:var(--adre);font-weight:700;text-decoration:none}
@media (max-width:1000px){.eg-mach-lay{grid-template-columns:1fr}.eg-mach-photo{max-height:340px}.eg-app-row{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.eg-mach-lay .eg-mach{grid-template-columns:1fr 1fr}.eg-app-row{grid-template-columns:1fr}}
/* Photo du plateau affichée entière */
.eg-mach-lay{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);align-items:start}
.eg-mach-photo img{height:auto;aspect-ratio:1143/1376;object-fit:contain}
@media (max-width:1000px){.eg-mach-lay{grid-template-columns:1fr}.eg-mach-photo{max-height:none;max-width:480px;margin:0 auto}}
@media (min-width:1001px){.eg-mach-lay{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}
/* EGYM v3 */
.eg-objs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:6px}
.eg-obj{display:flex;align-items:center;gap:12px;background:var(--steel);border-radius:14px;padding:12px 14px}
.eg-obj svg{flex:none;width:36px;height:36px;padding:8px;box-sizing:border-box;border-radius:10px;background:#E8F1FF;fill:none;stroke:var(--adre);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eg-obj span{font:400 16px/1.15 var(--display);color:var(--iron)}
.eg-obj small{display:block;margin-top:3px;font:600 11.5px/1.2 var(--body);color:var(--adre)}
.eg-how2{padding:clamp(30px,2.8vw,40px) 0}
.eg-how2 .lead{margin-top:10px}
.eg-how2-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:16px;margin-top:clamp(24px,3vw,36px);align-items:stretch}
.eg-step{position:relative;background:var(--steel);border-radius:20px;padding:26px 24px 24px}
.eg-step-n{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--adre);color:#fff;align-items:center;justify-content:center;font:400 20px/1 var(--display)}
.eg-step h3{margin:16px 0 10px;font:400 21px/1.15 var(--display);color:var(--iron)}
.eg-step p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.eg-step .bens{margin:0}
.eg-step .bens li{font-size:15px}
.eg-how2-photo{border-radius:20px;overflow:hidden;min-height:260px}
.eg-how2-photo img{width:100%;height:100%;object-fit:cover;display:block}
.eg-how2 .pr-ctas{margin-top:24px}
.eg-app2{padding:clamp(30px,2.8vw,40px) 0;background:#EEF4FF}
.eg-app2 .lead{margin-top:10px;max-width:640px}
.eg-app2 .eg-app-row{margin-top:clamp(22px,3vw,32px)}
.eg-app2 .eg-app-f>div{background:#fff;box-shadow:0 12px 28px -24px rgba(20,30,60,.6)}
/* Machines : alignement exact photo / grille */
@media (min-width:1001px){
  .eg-mach-lay{align-items:stretch;gap:18px}
  .eg-mach-photo img{height:100%;aspect-ratio:auto;object-fit:cover}
  .eg-mach-lay .eg-mach{grid-template-rows:repeat(3,1fr);gap:14px}
  .eg-mach-lay .eg-m{display:flex;flex-direction:column;padding-bottom:12px}
  .eg-mach-lay .eg-m img{flex:1;min-height:0;aspect-ratio:auto;object-fit:contain}
}
@media (max-width:1000px){.eg-how2-grid{grid-template-columns:1fr 1fr}.eg-how2-photo{grid-column:1/-1;max-height:320px}}
@media (max-width:600px){.eg-how2-grid{grid-template-columns:1fr}.eg-objs{grid-template-columns:1fr}}
@media (min-width:1001px){.eg-mach-photo img{height:auto;aspect-ratio:1143/1376;object-fit:cover}.eg-mach-lay .eg-mach{height:100%}}
@media (min-width:1001px){.eg-mach-lay .eg-m img{height:0}.eg-mach-lay .eg-mach{height:auto;align-self:stretch}}
@media (min-width:1001px){.eg-mach-lay{align-items:start}.eg-mach-lay .eg-mach{aspect-ratio:1143/1376;height:auto;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr))}.eg-mach-lay .eg-m{min-height:0}}
/* Photo affichée entière dans son bloc */
.pr-media.pr-full{aspect-ratio:auto;align-self:center;background:none}
.pr-media.pr-full img{height:auto;object-fit:contain;display:block}
.slot[data-c="aqua-combat"]{border-left-color:#D7263D}
.slot[data-c="aqua-combat"] .nm{color:#D7263D}
@media (min-width:1001px){#catalogue-aqua .cat-grid:has(> .cc:nth-child(5)){grid-template-columns:repeat(5,1fr)}}
/* Photo d'article affichée entière (format portrait) */
.ar-fig.ar-fig-full{aspect-ratio:auto;max-width:560px;margin-left:auto;margin-right:auto}
.ar-fig.ar-fig-full img{height:auto;object-fit:contain;display:block}
.ar-fig.ar-fig-full:has(img[src*="kid-visuel"]){max-width:none}
/* Page Sport santé */
.ss-sec{padding:clamp(30px,2.8vw,40px) 0}
.ss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(22px,3vw,34px)}
.ss-card{background:#fff;border:1px solid #E6E9EF;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 14px 30px -26px rgba(20,30,60,.5)}
.ss-ic{width:46px;height:46px;border-radius:14px;background:#E8F5EE;display:flex;align-items:center;justify-content:center}
.ss-ic svg{width:24px;height:24px;fill:none;stroke:#3E8F69;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ss-card h3{margin:4px 0 0;font:400 21px/1.15 var(--display);color:var(--iron)}
.ss-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.ss-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.ss-links a{padding:6px 12px;border-radius:999px;background:var(--steel);color:var(--iron);font:600 13px/1.2 var(--body);text-decoration:none}
.ss-links a:hover{background:#E8F5EE;color:#2E7555}
.ss-acc{padding:clamp(30px,2.8vw,40px) 0;background:#E8F5EE}
.ss-acc-in{display:flex;align-items:center;justify-content:space-between;gap:28px}
.ss-acc .lead{margin-top:10px;max-width:620px}
.ss-note-sec{padding:26px 0 0}
.ss-note{margin:0 auto;max-width:760px;text-align:center;font-size:14px;color:var(--muted)}
@media (max-width:1000px){.ss-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ss-grid{grid-template-columns:1fr}.ss-acc-in{flex-direction:column;align-items:flex-start}}
.goals-more{margin:22px 0 0;text-align:center;color:var(--muted);font-size:15px}
.goals-more a{color:var(--adre);font-weight:700;text-decoration:none}
.ss-sec .sec-head .lead{max-width:none}
/* En-têtes de pages v2 */
.ph-v2{position:relative;overflow:hidden;isolation:isolate;background:#111216;padding:calc(76px + clamp(44px,6vw,76px)) 0 clamp(40px,5.5vw,68px)}
.ph-v2 .wrap{position:relative;z-index:2}
.ph-bg{position:absolute;inset:0;z-index:0;background:center/cover no-repeat}
.ph-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,13,17,.95) 0%,rgba(12,13,17,.82) 42%,rgba(12,13,17,.35) 100%),linear-gradient(0deg,rgba(12,13,17,.55),rgba(12,13,17,0) 45%)}
.ph-halo,.ar-head{background:radial-gradient(720px 440px at 86% 18%,rgba(0,107,255,.42),transparent 65%),radial-gradient(520px 380px at 8% 115%,rgba(0,107,255,.16),transparent 70%),#111216}
.ar-head{position:relative;overflow:hidden;isolation:isolate}
.ar-head .wrap{position:relative;z-index:2}
.ph-mark{position:absolute;right:7%;top:50%;transform:translateY(-42%);z-index:1;width:clamp(170px,20vw,300px);opacity:.09;pointer-events:none}
.ph-mark img{display:block;width:100%;height:auto}
.ph-tag{display:inline-block;margin:4px 0 14px;padding:7px 13px;border-radius:999px;background:rgba(0,107,255,.18);border:1px solid rgba(0,107,255,.5);color:#9CC0FF;font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase}
.ph-v2 .crumbs{margin-bottom:12px}
.ph-v2 h1{font-style:normal;font-size:clamp(38px,5.2vw,66px);line-height:1;letter-spacing:-.5px}
.ph-v2 .lead{max-width:640px;margin-top:16px;color:#D5DBE5}
@media (max-width:760px){.ph-mark{right:-40px;opacity:.07}.ph-photo::after{background:linear-gradient(0deg,rgba(12,13,17,.95),rgba(12,13,17,.7))}}
/* En-têtes photo : photo entière à droite, fond flouté */
.ph-photo .ph-bg{inset:-50px;filter:blur(26px) brightness(.55) saturate(1.2)}
.ph-photo::after{background:linear-gradient(90deg,rgba(12,13,17,.9) 0%,rgba(12,13,17,.6) 55%,rgba(12,13,17,.35) 100%)}
.ph-photo .wrap{position:relative;min-height:clamp(220px,22vw,290px)}
.ph-pic{position:absolute;right:0;top:50%;transform:translateY(-50%);height:clamp(230px,24vw,320px);width:auto;max-width:44%;object-fit:contain;border-radius:18px;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);border:3px solid rgba(255,255,255,.08)}
.ph-photo h1,.ph-photo .lead{max-width:56%}
@media (max-width:900px){.ph-pic{display:none}.ph-photo h1,.ph-photo .lead{max-width:none}.ph-photo .wrap{min-height:0}}
@media (min-width:901px){.ph-pic{max-width:40%}.ph-photo .wrap h1,.ph-photo .wrap .lead{max-width:54%}}
.ph-photo .wrap .lead{white-space:normal}
/* En-têtes photo v3 : photo nette à droite, cadrée sur le sujet */
.ph-photo .ph-bg{inset:0 0 0 36%;filter:none;background-size:cover;background-repeat:no-repeat}
.ph-photo::after{background:linear-gradient(90deg,#111216 0%,#111216 36%,rgba(17,18,22,.75) 46%,rgba(17,18,22,.15) 70%,rgba(17,18,22,0) 100%),linear-gradient(0deg,rgba(17,18,22,.45),rgba(17,18,22,0) 35%)}
.ph-photo .wrap{min-height:clamp(240px,24vw,300px)}
@media (max-width:900px){.ph-photo .ph-bg{inset:0}.ph-photo::after{background:linear-gradient(0deg,rgba(17,18,22,.95),rgba(17,18,22,.65))}}
/* En-tête v2 */
.topbar{background:#0B0C0F;font-size:12.5px;transition:height .25s ease,opacity .2s ease;overflow:hidden}
.topbar .wrap{height:34px}
.tb-addr{display:inline-flex;align-items:center;gap:7px}
.tb-pin{width:14px;height:14px;fill:none;stroke:var(--adre);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tb-social{gap:8px}
.tb-social a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tb-social a{width:28px;height:28px;justify-content:center;border-radius:50%;background:rgba(255,255,255,.06);transition:background .2s,transform .2s}
.tb-social a:hover{background:rgba(255,255,255,.14);transform:translateY(-1px);opacity:1}
.tb-social svg.soc{width:16px;height:16px}
.head{background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);transition:background .25s ease,box-shadow .25s ease}
.head .wrap{transition:height .25s ease}
.head.scrolled{background:rgba(6,7,10,.93);box-shadow:0 1px 0 rgba(255,255,255,.07),0 10px 30px -18px rgba(0,0,0,.8)}
.head.scrolled .topbar{height:0;opacity:0;border-bottom-color:transparent}
@media (min-width:1081px){.head.scrolled > .wrap{height:64px}}
.brand .ico{height:46px}.brand .nom{height:21px}
.nav > a,.nav .sub-trigger{position:relative;border-bottom:0;padding:8px 0;opacity:.9;transition:color .2s,opacity .2s}
.nav > a::after,.nav .sub-trigger::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--adre);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav > a:hover::after,.nav > a[aria-current]::after,.nav .has-sub:hover .sub-trigger::before,.nav .sub-trigger[aria-current]::before{transform:scaleX(1)}
.nav a[aria-current]{color:#5FA0FF;opacity:1}
.nav a:hover{opacity:1}
.head .btn-primary{box-shadow:0 8px 22px -8px rgba(0,107,255,.75);transition:transform .2s,box-shadow .2s}
.head .btn-primary::after{content:"→";margin-left:8px;display:inline-block;transition:transform .2s}
.head .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(0,107,255,.9)}
.head .btn-primary:hover::after{transform:translateX(3px)}
@media (max-width:1080px){.brand .ico{height:38px}.brand .nom{height:17px}}
/* Alignement : menu centré entre logo et bouton, sans trait dans la barre du haut */
@media (min-width:1081px){.head > .wrap{justify-content:space-between}.head .nav{margin:0 auto;justify-content:center}}
.tb-tel{border-left:0;padding-left:0}
.tb-info{gap:28px}
/* Avis Google */
.rv-sec{background:var(--steel)}
.rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rv-head .lead{margin-top:10px}
.rv-score{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:14px 20px;box-shadow:0 14px 30px -24px rgba(20,30,60,.5)}
.rv-score .rv-g{width:38px;height:38px}
.rv-score strong{display:block;font:400 34px/1 var(--display);color:var(--iron)}
.rv-score small{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.rv-stars{display:inline-flex;gap:2px}
.rv-stars svg{width:18px;height:18px;fill:#FBBC04}
.rv-stars-sm svg{width:14px;height:14px}
.rv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(24px,3vw,34px)}
.rv-card{margin:0;background:#fff;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 30px -24px rgba(20,30,60,.5)}
.rv-card blockquote{margin:0;font-size:15px;line-height:1.6;color:var(--text);flex:1}
.rv-card figcaption{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #EEF0F4}
.rv-card figcaption>span:nth-child(2){flex:1;min-width:0}
.rv-card b{display:block;font-size:14.5px;color:var(--iron)}
.rv-card small{display:block;font-size:12.5px;color:var(--muted)}
.rv-av{width:36px;height:36px;border-radius:50%;background:#E8F1FF;color:var(--adre);display:flex;align-items:center;justify-content:center;font:700 15px/1 var(--body);flex:none}
.rv-card .rv-g{width:20px;height:20px;flex:none}
.rv-ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
@media (max-width:1000px){.rv-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rv-grid{grid-template-columns:1fr}}

.nav .submenu a{padding:11px 20px}
/* Sous-menu toujours au premier plan, opaque */
.submenu{z-index:60;background:#050608;box-shadow:0 18px 40px -12px rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.08);border-top:0;transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{transition:opacity .15s ease,transform .15s ease,visibility 0s}
/* Séparation menu / bandeau (tout le site) */
.head{border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 6px 18px -10px rgba(0,0,0,.9)}
.head.scrolled{border-bottom-color:rgba(255,255,255,.1)}
/* La photo commence sous le menu (ne passe plus derrière) */
@media (min-width:1081px){.ph-photo .ph-bg{top:111px}}
@media (min-width:901px) and (max-width:1080px){.ph-photo .ph-bg{top:66px}}
/* Limiter le zoom des photos d'en-tête sur grands écrans */
@media (min-width:1081px){.ph-photo .ph-bg{left:auto;right:0;width:min(64%,860px)}
.ph-photo::after{background:linear-gradient(90deg,#111216 0%,#111216 calc(100% - min(64%,860px)),rgba(17,18,22,.7) calc(100% - min(64%,860px) + 90px),rgba(17,18,22,.12) calc(100% - min(64%,860px) + 320px),rgba(17,18,22,0) 100%),linear-gradient(0deg,rgba(17,18,22,.45),rgba(17,18,22,0) 35%)}}
/* Séparation nette menu / bandeau : filet bleu de la marque */
.head{border-bottom:0;box-shadow:0 10px 26px -12px rgba(0,0,0,.95)}
.head::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,rgba(0,107,255,0) 0%,rgba(0,107,255,.9) 20%,#006BFF 50%,rgba(0,107,255,.9) 80%,rgba(0,107,255,0) 100%);pointer-events:none}
/* Photos verticales : affichées entières à droite, fond flouté */
.ph-portrait .ph-bg{left:auto;right:0;width:min(64%,860px);filter:blur(22px) brightness(.55) saturate(1.2);transform:scale(1.08);background-position:center}
.ph-full{position:absolute;right:0;bottom:0;top:0;z-index:0;width:min(64%,860px);background-repeat:no-repeat;background-size:contain;background-position:right 6% center}
@media (min-width:1081px){.ph-full{top:111px}}
@media (min-width:901px) and (max-width:1080px){.ph-full{top:66px}}
@media (max-width:900px){.ph-full{display:none}.ph-portrait .ph-bg{width:auto;left:0;filter:none;transform:none}}
/* Fin de la vidéo d'accueil : le logo s'affiche seul */
.hero-in,.hero::after{transition:opacity .6s ease}
.hero.logo-time .hero-in{opacity:0;pointer-events:none}
.hero.logo-time::after{opacity:0}
/* Accueil : bandeau au format de la vidéo (16:9), vidéo entière sous le menu */
@media (min-width:1081px){
  .hero{min-height:0;aspect-ratio:auto;width:100%;height:min(56.25vw,max(540px,calc(78vh - 111px)));height:min(56.25vw,max(540px,calc(78svh - 111px)));margin-top:111px;align-items:center}
  .hero-in{padding-top:clamp(24px,3vw,48px);padding-bottom:clamp(24px,3vw,48px)}
}
@media (min-width:1081px){.hero h1{font-size:clamp(48px,5.4vw,96px)}.hero-sub{margin-top:20px}.hero-ctas{margin-top:26px}.hero-offer{margin-top:16px}.hero-place{margin-bottom:14px}}
/* La barre du haut reste affichée au défilement */
.head.scrolled .topbar{height:auto;opacity:1;border-bottom-color:rgba(255,255,255,.08)}

/* Footer : réseaux centrés sous le logo (ordinateur) */
@media (min-width:901px){.foot-social{width:max-content;flex-wrap:nowrap}.foot-grid > div:has(> .foot-social){display:flex;flex-direction:column;align-items:center;width:max-content}}

/* Fil d'Ariane masqué sur toutes les pages (le titre suffit) */
.crumbs{display:none}

/* Tarifs : 6 formules sur 2 lignes de 3 */
.tps{grid-template-columns:repeat(3,1fr);gap:28px 18px}
@media (max-width:1080px){.tps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tps{grid-template-columns:1fr}}

/* Tarifs : en-tête de carte séparé de la description */
.tps .tp{padding:0}
.tp-head{padding:22px 26px 18px;background:var(--steel);border-bottom:1px solid var(--chrome);border-radius:16px 16px 0 0}
.tp-head .tp-n{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.tp-head h2{margin:6px 0 0;font-size:clamp(28px,2.4vw,34px);line-height:1}
.tps .tp .tp-d{margin:0;padding:18px 26px 0;min-height:72px;font-size:15.5px;line-height:1.55;color:#4A4D53}
.tps .tp ul{margin:18px 26px 26px;padding:18px 0 0;border-top:1px dashed var(--chrome);flex:1;align-content:start}
.tps .tp .btn{margin:0 26px 26px;width:auto}
.tp.top .tp-head{background:rgba(255,255,255,.1);border-bottom-color:rgba(255,255,255,.22)}
.tp.top .tp-d{color:#E4ECFF}
.tp.top ul{border-top-color:rgba(255,255,255,.3)}
@media (max-width:600px){.tps .tp .tp-d{min-height:0}}

/* Tarifs v2 : en-tête blanc, mot-clé d'usage, un seul bouton plein */
.tp-head{background:transparent;border-bottom:0;padding:26px 26px 0}
.tp-head .tp-n{font-size:13px;letter-spacing:.02em;color:var(--adre)}
.tp-head h2{font-size:clamp(30px,2.7vw,38px);margin-top:8px}
.tp-head h2::after{content:"";display:block;width:36px;height:3px;border-radius:2px;background:var(--adre);margin-top:14px}
.tp.top .tp-head{background:transparent}
.tp.top .tp-head .tp-n{color:#CFE0FF}
.tp.top .tp-head h2::after{background:#fff}
.tps .tp .tp-d{padding-top:14px}
.tps .tp:not(.top) .btn{background:transparent;color:var(--adre);border:2px solid var(--adre);box-shadow:none}
.tps .tp:not(.top) .btn:hover{background:var(--adre);color:#fff}

/* Tarifs : description sur bande grise */
.tps .tp .tp-d{background:var(--steel);margin:18px 0 0;padding:16px 26px;min-height:88px;box-sizing:border-box;display:flex;align-items:center;border-top:1px solid var(--chrome);border-bottom:1px solid var(--chrome)}
.tp.top .tp-d{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.tps .tp ul{border-top:0;padding-top:0;margin-top:22px}
@media (max-width:600px){.tps .tp .tp-d{min-height:0}}

/* Tarifs : version épurée */
.tp-head h2::after{display:none}
.tps .tp .tp-d{border-top:0;border-bottom:0;background:#F4F6F9;margin:16px 16px 0;padding:14px 16px;border-radius:12px;min-height:80px}
.tp.top .tp-d{background:rgba(255,255,255,.12)}
.tps .tp ul{margin:20px 26px 24px}
.tps .tp .tp-d{min-height:98px}

/* Tarifs : 5 formules (3 + 2 centrées) et option Pilates */
.tps{grid-template-columns:repeat(6,1fr)}
.tps .tp{grid-column:span 2}
.tps .tp:nth-child(4){grid-column:2 / span 2}
@media (max-width:1080px){.tps{grid-template-columns:1fr 1fr}.tps .tp,.tps .tp:nth-child(4){grid-column:auto}}
@media (max-width:600px){.tps{grid-template-columns:1fr}}
.tp li.opt{color:var(--adre)}
.tp li.opt b{font-weight:700}
.tp li svg.plus{stroke:var(--adre)}

/* Tarifs : illustration des formules */
.ph-tarifs .wrap{min-height:clamp(240px,24vw,320px)}
.ph-tarifs .ph-illu{background-position:right 8% center;background-size:auto 84%;width:min(46%,620px)}
@media (max-width:900px){.ph-tarifs .ph-illu{display:none}}
@media (min-width:901px){.ph-tarifs .lead{max-width:44%}}
.ph-tarifs .ph-mark{filter:blur(8px);opacity:.07}
.smodal.fitd .sm-media{background:#16181d}.smodal.fitd .sm-media img{object-fit:contain}
.home-svc{background:var(--bg-alt,#f5f6f8)}
a.svc-link{text-decoration:none;color:inherit;box-shadow:0 6px 22px rgba(20,22,28,.07);transition:transform .25s,box-shadow .25s}
a.svc-link:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,22,28,.13)}
.home-svc .svc-card h3{font-size:21px}
.home-svc .svc-card p{font-size:15px}
.home-svc .svc-card>div{flex:1}
/* Accueil : alternance des fonds */
body.home #espaces,body.home #objectifs,body.home #avis,body.home #enfants{background:#fff}
body.home .home-svc,body.home #formules,body.home #acces{background:var(--steel)}
body.home .partners{background:#fff;padding:40px 0;border-bottom:1px solid var(--chrome)}
.pr-media video{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.pr-media.pr-vid{aspect-ratio:4/5}
@media (max-width:900px){.pr-media.pr-vid{aspect-ratio:4/5;max-width:520px;margin:0 auto;width:100%}}
/* Musculation : galerie et équipements */
.mu-gal-sec{background:var(--steel)}
.mu-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px}
.mu-gal figure{margin:0;border-radius:16px;overflow:hidden;background:var(--iron)}
.mu-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.mu-gal figure:hover img{transform:scale(1.04)}
.mu-g1{grid-row:span 2}.mu-g2{grid-row:span 2}
@media (max-width:900px){.mu-gal{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.mu-g1{grid-column:span 2;grid-row:auto}.mu-g2{grid-row:span 2}}
.mu-eq{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mu-eq-c{background:#fff;border:1px solid var(--chrome);border-radius:16px;padding:26px 24px}
.mu-eq-c svg{width:44px;height:44px;padding:10px;border-radius:12px;background:#E8F1FF;stroke:#2F5BE0;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mu-eq-c h3{margin-top:16px;font-size:20px;text-transform:uppercase;color:var(--iron)}
.mu-eq-c p{margin-top:8px;color:var(--muted);font-size:15px}
@media (max-width:1000px){.mu-eq{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mu-eq{grid-template-columns:1fr}}
.mu-eq-c>svg{width:50px!important;height:50px!important;box-sizing:border-box;display:block}
/* Coaching : résultats visibles dès l'ouverture */
.res-grid.res-top{display:grid;grid-template-columns:.8fr .8fr 1.4fr;align-items:start;gap:10px;margin-top:10px}
.res-grid.res-top figure{margin:0;grid-column:auto}
.res-grid.res-top img{width:100%;height:auto;object-fit:contain;border-radius:10px;display:block}
.res-grid.res-top figcaption{font-size:12.5px;margin-top:6px;line-height:1.3;text-align:center}
.res-grid.res-top + .sm-note{margin:8px 0 18px;font-size:12px}
@media (max-width:600px){.res-grid.res-top img{height:auto}.res-grid.res-top figcaption{font-size:11px}}
@media (max-width:600px){.res-grid.res-top{grid-template-columns:1fr 1fr}.res-grid.res-top figure.wide{grid-column:1/-1}}
/* Fenêtre Coaching : résultats en pleine largeur, sans photo à gauche */
.smodal.nomedia{max-width:min(1100px,calc(100vw - 32px))}
.smodal.nomedia[open]{grid-template-columns:1fr}
.smodal.nomedia .sm-media{display:none}
.smodal.nomedia .sm-body{padding:40px 48px 38px}
.smodal.nomedia .res-grid.res-top{gap:16px;margin-top:14px}
.smodal.nomedia .res-grid.res-top figcaption{font-size:15px;margin-top:8px}
.smodal.nomedia .res-grid.res-top + .sm-note{margin:12px 0 8px;font-size:13px}
.sm-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:6px}
@media (max-width:760px){.sm-cols{grid-template-columns:1fr;gap:0}.smodal.nomedia .sm-body{padding:34px 22px 30px}}
/* Fenêtre Coaching : mise en page soignée */
.smodal.nomedia .sm-body{padding:44px 52px 40px}
.smodal.nomedia #sm-title{font-size:clamp(28px,3vw,38px);letter-spacing:.01em}
.smodal.nomedia .sm-lead{margin:10px 0 0;padding-bottom:26px;border-bottom:1px solid #E6E8EE;font-size:17px;color:#5B6170}
.smodal.nomedia h4{font-size:12px;letter-spacing:.16em;color:#2F5BE0;font-weight:700;margin:0 0 14px}
.sm-res{margin-top:28px;background:#F4F6FA;border-radius:18px;padding:22px 22px 16px}
.smodal.nomedia .res-grid.res-top{gap:18px;margin-top:0}
.smodal.nomedia .res-grid.res-top img{border-radius:12px;box-shadow:0 10px 26px -14px rgba(20,24,40,.45);background:#fff}
.smodal.nomedia .res-grid.res-top figcaption{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.25}
.smodal.nomedia .res-grid.res-top figcaption strong{font-family:inherit;font-size:20px;font-weight:800;color:#1B1D22}
.smodal.nomedia .res-grid.res-top figcaption span{font-size:13.5px;color:#6B7180}
.smodal.nomedia .sm-res .sm-note{background:none;padding:0;margin:14px 0 0;text-align:center;font-size:12px;color:#8A909C;font-style:italic}
.smodal.nomedia .sm-cols{margin-top:30px;gap:20px;grid-template-columns:1fr 1fr}
.smodal.nomedia .sm-cols>div{border:1px solid #E6E8EE;border-radius:16px;padding:22px 24px}
.smodal.nomedia .sm-cols .sm-list{gap:12px;font-size:15px;color:#2A2D34}
.smodal.nomedia .sm-cols .sm-list li{position:relative;padding-left:28px;list-style:none}
.smodal.nomedia .sm-cols .sm-list li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#E8F0FF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5BE0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.smodal.nomedia .sm-cols .sm-list li::marker{content:""}
.smodal.nomedia .sm-cols .sm-list strong{color:#15171C}
.smodal.nomedia #sm-cta{margin-top:30px}
@media (max-width:760px){.smodal.nomedia .sm-body{padding:34px 20px 28px}.sm-res{padding:16px 14px 12px}.smodal.nomedia .sm-cols{grid-template-columns:1fr;gap:14px}.smodal.nomedia .res-grid.res-top figcaption strong{font-size:17px}}
.pm-close:focus:not(:focus-visible){outline:none;box-shadow:none}
.smodal.nomedia #sm-title{padding-right:52px}@media (max-width:760px){.smodal.nomedia #sm-title{font-size:26px}}
.ph-planning .ph-bg{transition:background-image .35s ease}
body.home .partners p{font-size:13px}body.home .partners{padding:34px 0}body.home .logos{gap:clamp(20px,4vw,48px)}

/* Carte Google Maps : chargement après consentement */
.map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;min-height:280px;flex:1;padding:24px;text-align:center;background:var(--chrome);color:var(--text);font-size:14px}
.map-consent p{margin:0;max-width:34ch}
.map-consent a{color:var(--muted);text-decoration:underline;font-size:13px}

/* Pages légales */
.legal{max-width:820px}
.legal h2{font-size:clamp(20px,2vw,24px);margin:36px 0 12px}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:16px;margin:22px 0 6px}
.legal p,.legal li{font-size:15px;line-height:1.65;color:var(--text)}
.legal p{margin:0 0 10px}
.legal ul{padding-left:20px;margin:8px 0 16px}
.legal li{list-style:disc;margin:4px 0}
.legal a{color:var(--muscle);text-decoration:underline}
.legal .todo{background:#FFF3C4;padding:0 4px;border-radius:3px}
.legal .maj{color:var(--muted);font-size:13px}

/* Mobile : WhatsApp intégré à la barre du bas (plus de bouton qui chevauche) */
.mcta .btn-wa{flex:0 0 auto;background:#25D366;color:#fff;padding:0 16px;display:inline-flex;align-items:center;justify-content:center}
.mcta .btn-wa svg{width:26px;height:26px}
@media (max-width:760px){
  .wa-fab{display:none!important}
}

/* Tarifs mobile : 3 boutons de profil de même taille */
@media (max-width:600px){
  .tp-switch{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:8px}
  .tp-switch button{flex-direction:column;justify-content:center;gap:6px;padding:12px 6px;border-radius:14px;font-size:13px;line-height:1.25;text-align:center}
}
.mcta .btn-tel{flex:0 0 auto;padding:0 17px;display:inline-flex;align-items:center;justify-content:center}
.mcta .btn-tel svg{width:22px;height:22px}
.mcta .btn-primary{white-space:nowrap}
@media (max-width:360px){
  .mcta{gap:8px}
  .mcta .btn-tel,.mcta .btn-wa{padding:0 13px}
  .mcta .btn-primary{min-width:0;padding:14px 8px;font-size:14px}
}

/* ============================================================
   BANDEAUX DE FAMILLES (Aqua, Cours collectifs) : vidéo nette en plein cadre
   ============================================================ */
.fam-v3 .fam-ban{display:block;position:relative;height:clamp(260px,24vw,340px);background:#17181c}
.fam-v3 .fam-bg{display:none}
.fam-v3 .fam-ban .fam-vid,.fam-v3 .fam-ban img{position:absolute!important;inset:0;z-index:0!important;transform:none;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;grid-column:auto;grid-row:auto}
.fam-v3 .fam-ban::after{display:block!important;content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,16,20,.92) 0%,rgba(15,16,20,.7) 35%,rgba(15,16,20,.1) 70%,rgba(15,16,20,0) 100%)}
.fam-v3 .fam-ban .fam-txt{position:absolute;z-index:2;left:0;top:50%;transform:translateY(-50%);max-width:min(480px,55%);padding:0 clamp(24px,3vw,44px)}
@media (max-width:760px){
  .fam-v3 .fam-ban{height:auto;aspect-ratio:4/3}
  .fam-v3 .fam-ban::after{background:linear-gradient(0deg,rgba(15,16,20,.92) 0%,rgba(15,16,20,.55) 45%,rgba(15,16,20,0) 75%)}
  .fam-v3 .fam-ban .fam-txt{top:auto;bottom:0;transform:none;max-width:none;padding:20px}
}

/* Lisibilité : textes des cartes plus grands et plus foncés */
.cc .cc-d{font-size:15px;line-height:1.5;color:#43464C}
.eg-m{font-size:13.5px}

/* Pied de page toujours en bas, même sur les pages courtes */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>.foot{flex-shrink:0}

/* Coaching : étapes */
.acc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:none}
.acc-steps li{position:relative;background:#fff;border:1px solid var(--chrome);border-radius:18px;padding:30px 26px 26px}
.acc-n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--adre);color:#fff;font:400 24px/1 var(--display);margin-bottom:16px}
.acc-steps h3{font-size:clamp(22px,2vw,26px);text-transform:uppercase;margin:0 0 8px}
.acc-steps p{margin:0;color:#43464C;font-size:16px;line-height:1.6}
.acc-res-sec{background:var(--steel)}
.acc-res{display:grid;grid-template-columns:1fr 1fr 1.75fr;gap:18px;align-items:start}
.acc-res figure{margin:0}
.acc-res img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 14px 30px -18px rgba(0,0,0,.45)}
.acc-res figcaption{margin-top:10px;font-size:15px;color:var(--iron);text-align:center}
.acc-res figcaption strong{color:var(--adre)}
.acc-res-note{margin:18px 0 0;font-size:14px;color:var(--muted);text-align:center}
@media (max-width:900px){.acc-steps{grid-template-columns:1fr}.acc-res{grid-template-columns:1fr 1fr}.acc-res-wide{grid-column:1 / -1}}

/* Musculation : 2 cartes côte à côte */
.mu-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mu-duo-c{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--iron);color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}
.mu-duo-c:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(20,30,60,.5)}
.mu-duo-c img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.mu-duo-t{padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1}
.mu-duo-t h2{font-size:clamp(24px,2.4vw,30px);color:#fff;margin:0}
.mu-duo-t p{margin:0;color:var(--chrome)}
.mu-duo-t .btn{margin-top:auto}
@media (max-width:760px){.mu-duo{grid-template-columns:1fr}}

/* Sport santé : 5 cartes sans case vide + mention médicale en encadré */
@media (min-width:1001px){
  .ss-grid{grid-template-columns:repeat(6,1fr)}
  .ss-grid .ss-card{grid-column:span 2}
  .ss-grid .ss-card:nth-child(4),.ss-grid .ss-card:nth-child(5){grid-column:span 3}
}
.ss-note-box{display:flex;align-items:flex-start;gap:12px;max-width:none;margin:24px 0 0;padding:16px 20px;border-radius:14px;background:var(--steel);border:1px solid var(--chrome);text-align:left;font-size:15px;color:#43464C}
.ss-note-box svg{flex:none;width:22px;height:22px;margin-top:1px;fill:none;stroke:#3E8F69;stroke-width:2;stroke-linecap:round}


/* ============================================================
   BANDEAUX PHOTO : fondu flouté de la photo vers la gauche (ordinateur)
   ============================================================ */
.ph-blur{display:none}
@media (min-width:901px){
  .ph-v2.ph-photo .ph-blur{display:block;position:absolute;inset:-60px;z-index:0;background-size:cover;background-position:right center;background-repeat:no-repeat;filter:blur(30px) brightness(.6) saturate(1.15)}
  .ph-v2.ph-photo .ph-bg{z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,#000 45%)}
  .ph-v2.ph-portrait .ph-bg{display:none}
  .ph-v2.ph-portrait .ph-full{background-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 60%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.75) 80%,#000 90%);mask-image:linear-gradient(90deg,transparent 60%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.75) 80%,#000 90%)}
  .ph-v2.ph-photo::after{background:linear-gradient(90deg,rgba(17,18,22,.94) 0%,rgba(17,18,22,.82) 28%,rgba(17,18,22,.4) 50%,rgba(17,18,22,.08) 70%,rgba(17,18,22,0) 100%),linear-gradient(0deg,rgba(17,18,22,.4),rgba(17,18,22,0) 35%)}
}

/* Aqua : plus d'espace entre les blocs Cardio et Renforcement */
#catalogue-aqua .cat-fam,#catalogue .cat-fam{margin-bottom:clamp(36px,4vw,56px)}

/* Musculation : galerie en 4 photos portrait entières */
.mu-gal{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none}
.mu-gal figure,.mu-g1,.mu-g2{grid-row:auto;grid-column:auto;aspect-ratio:2/3}
@media (max-width:900px){.mu-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.mu-g1{grid-column:auto}}

/* Tailles de texte un peu réduites sur ordinateur */
@media (min-width:901px){
  body{font-size:16px}
  .lead{font-size:clamp(16px,1.2vw,17px)}
  h2{font-size:clamp(28px,3vw,40px)}
  .page-head h1{font-size:clamp(32px,4vw,52px)}
  .hero h1{font-size:clamp(46px,4.8vw,86px)}
}

/* Bandeaux de page : titre et texte centrés verticalement */
.ph-v2 .wrap{display:flex;flex-direction:column;justify-content:center}
.ph-v2 .wrap > *{flex:0 0 auto}

/* Articles du blog : photo au-dessus du bandeau, toujours en entier, même présentation partout */
.ar-fig{position:relative;z-index:3}
.ar-fig:not(.bl-mosa){aspect-ratio:auto;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;background:#fff}
.ar-fig:not(.bl-mosa) img{display:block;width:auto;max-width:100%;height:auto;max-height:620px;object-fit:contain}
.ar-fig.ar-fig-full{max-width:100%}
