@font-face{font-family:'Bebas Neue';font-weight:400;font-display:swap;src:url(fonts/bebas-neue-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:400;font-display:swap;src:url(fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:500;font-display:swap;src:url(fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-display:swap;src:url(fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:700;font-display:swap;src:url(fonts/barlow-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700.woff2) format('woff2')}

/* Mise en page : bandeau photo plein cadre, puis sections en colonne sur fond noir, équerres du logo en signature */
:root{
  --ink:#0A0807; --panel:#151110; --panel2:#1E1816; --line:#33291F;
  --text:#F6F1EC; --muted:#B9ADA2; --faint:#7E726A;
  --red:#E9412B; --orange:#F7941D; --yellow:#FBB03B;
  --flame:linear-gradient(90deg,#E9412B 0%,#F7941D 55%,#FBB03B 100%);
  --display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --wrap:1120px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--text);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:.95;margin:0;text-wrap:balance}
p{margin:0}
.kick{font:700 13px/1 var(--cond);letter-spacing:.26em;text-transform:uppercase;color:var(--yellow)}
.fl{background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:10px;background:var(--flame);color:#1A0E08;font:700 17px/1 var(--body);text-decoration:none;border:0;cursor:pointer}
.btn.ghost{background:transparent;color:var(--text);border:1px solid rgba(246,241,236,.35)}
.btn:hover{filter:brightness(1.07)}.btn.ghost:hover{border-color:var(--yellow)}

/* ---------- barre du haut ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,8,7,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:70px}
.top .logo img{height:44px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{font:600 16px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:10px 10px;border-radius:6px}
.nav a:hover{color:var(--text)}
.nav .btn{min-height:40px;padding:0 16px;font-size:15px;margin-left:8px;color:#1A0E08;text-transform:none;letter-spacing:0;font-family:var(--body)}
@media (max-width:900px){
  .top .wrap{flex-wrap:wrap;gap:0;padding-top:8px}
  .nav{order:3;width:100%;margin:0;overflow-x:auto;scrollbar-width:none;padding:4px 0 8px}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;font-size:15px;padding:8px 9px}
  .nav .btn{display:none}
  .top .tel{margin-left:auto}
}
.top .tel{font:600 15px/1 var(--cond);letter-spacing:.06em;color:var(--yellow);text-decoration:none;white-space:nowrap}
@media (min-width:901px){.top .tel{display:none}}

/* ---------- ouverture ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .ph{position:absolute;inset:0;z-index:-2}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,8,7,.94) 0%,rgba(10,8,7,.82) 42%,rgba(10,8,7,.35) 100%),linear-gradient(0deg,rgba(10,8,7,.9) 0%,rgba(10,8,7,0) 45%)}
.hero .wrap{position:relative;padding-block:96px 64px}
.corner{position:absolute;width:96px;height:96px;pointer-events:none}
.corner path{fill:none;stroke-width:4}
.hero .corner{left:max(20px,env(safe-area-inset-left,0px));top:40px;width:84px;height:84px}
.hero .in{padding-left:52px}
@media (max-width:600px){.hero .corner{width:56px;height:56px;top:28px}.hero .in{padding-left:30px}.hero .wrap{padding-block:64px 40px}}
.hero h1{font-size:clamp(52px,7.4vw,104px);max-width:14ch;margin-top:18px}
@media (max-width:600px){.hero h1{font-size:clamp(32px,10.8vw,52px)}}
.hero .lead{margin-top:22px;max-width:34em;font-size:19px;color:#E7DED6}
.hero .acts{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.facts{margin-top:52px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.facts div{background:rgba(21,17,16,.92);padding:16px 18px}
.facts b{display:block;font:400 34px/1 var(--display);color:var(--yellow)}
.facts span{font-size:14px;color:var(--muted);line-height:1.35;display:block;margin-top:4px}
@media (max-width:1000px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- sections ---------- */
section{padding-block:88px;border-bottom:1px solid var(--line)}
.sh{display:grid;gap:12px;margin-bottom:40px;max-width:44em}
.sh h2{font-size:clamp(44px,6vw,72px)}
.sh p{color:var(--muted);font-size:18px}

/* la salle */
.mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:12px}
.mosaic figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:var(--panel)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .big{grid-row:span 2;aspect-ratio:auto}
.mosaic figcaption{position:absolute;left:12px;bottom:12px;font:600 14px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;background:rgba(10,8,7,.78);padding:8px 10px;border-radius:6px}
@media (max-width:760px){.mosaic{grid-template-columns:1fr}.mosaic .big{grid-row:auto}}
.brands{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:18px 22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.brands .kick{color:var(--muted);letter-spacing:.2em}
.brands b{font:400 30px/1 var(--display);letter-spacing:.04em}
.points{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.points div{padding:20px;border-top:3px solid var(--orange);background:var(--panel);border-radius:0 0 10px 10px}
.points h3{font-size:28px}
.points p{margin-top:6px;color:var(--muted);font-size:16px}
@media (max-width:760px){.points{grid-template-columns:1fr}}

/* équipe */
.team{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:48px;align-items:start}
.team .pic{border-radius:14px;overflow:hidden;position:relative}
.team .pic img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%}
.titles b sup{font-size:.55em;vertical-align:.7em;margin-left:1px}
.desk2{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.desk2>div{display:flex;gap:14px;align-items:center;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.desk2 .mono{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:400 30px/1 var(--display);color:#1A0E08;background:var(--flame)}
.desk2 b{display:block;font:400 30px/1 var(--display);letter-spacing:.02em}
.desk2 span:not(.mono){font-size:15px;color:var(--muted)}
@media (max-width:480px){.desk2{grid-template-columns:1fr}}
.team .pic::after{content:"";position:absolute;inset:auto 0 0;height:6px;background:var(--flame)}
.team h3{font-size:64px;margin-top:8px}
.team .role{margin-top:4px}
.titles{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.titles li{display:flex;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px}
.titles b{font:400 26px/1 var(--display);color:var(--yellow);min-width:84px}
.titles .cat{font-size:15px;color:var(--muted);margin-top:14px}
.desk{margin-top:30px;padding:20px 22px;background:var(--panel);border-radius:12px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.desk b{font:400 30px/1 var(--display)}
.desk span{color:var(--muted)}
@media (max-width:760px){.team{grid-template-columns:1fr;gap:28px}.team .pic{max-width:340px}}

/* activités */
.acts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.act{position:relative;padding:22px 22px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:150px;display:flex;flex-direction:column;gap:8px}
.act h3{font-size:34px}
.act p{color:var(--muted);font-size:16px}
.act .tag{margin-top:auto;font:600 13px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
@media (max-width:900px){.acts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.acts-grid{grid-template-columns:1fr}}
.act .with{display:flex;align-items:center;gap:10px;margin-top:6px;color:var(--text);font-size:15px}
.act .with b{font-weight:600}
.act .with .mono{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:400 18px/1 var(--display);color:#1A0E08;background:var(--flame)}
.act .tag{margin-top:auto;padding-top:8px}
.gbadge{display:inline-flex;align-items:center;gap:8px;margin-top:22px;text-decoration:none;font-size:15px;color:var(--muted);padding:8px 12px;border:1px solid rgba(246,241,236,.18);border-radius:999px;background:rgba(10,8,7,.55)}
.gbadge .st{color:var(--yellow);letter-spacing:2px}.gbadge b{color:var(--text);font-weight:700}
.gbadge:hover{border-color:var(--yellow)}
.deals{margin-top:14px;display:grid;gap:8px}
.deals p{font-size:15px;color:#E7DED6;padding:10px 12px;background:var(--panel2);border-radius:8px}
.deals b{font:400 22px/1 var(--display);color:var(--yellow);margin-right:6px}
.story{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.story>div{padding:20px 22px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:grid;gap:8px}
.story p:not(.kick){color:#E7DED6;font-size:16px}
@media (max-width:760px){.story{grid-template-columns:1fr}}
.seance{margin-top:16px;padding:22px 24px;background:var(--panel);border:1px solid #2D5A41;border-radius:14px;display:grid;gap:14px}
.seance ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:q}
.seance li{counter-increment:q;padding:14px 16px;background:var(--panel2);border-radius:10px;font-size:15px;color:var(--muted)}
.seance li b{display:block;color:var(--text);font:400 24px/1.05 var(--display);margin-bottom:4px}
.seance li b::before{content:counter(q) ". ";color:#7FD8A8}
@media (max-width:760px){.seance ol{grid-template-columns:1fr}}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.people.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.person{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.av{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font:400 38px/1 var(--display);color:#1A0E08;background:var(--flame)}
.av img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.person h3{font-size:30px}
.person .prole{font:700 12.5px/1.3 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-top:2px}
.person .pdet{font-size:14.5px;color:var(--muted);margin-top:6px}
@media (max-width:1000px){.people,.people.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.people,.people.four{grid-template-columns:1fr}}
.champ{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:24px 26px;border-radius:14px;background:radial-gradient(70% 140% at 0% 50%,rgba(247,148,29,.18),rgba(247,148,29,0) 60%),var(--panel);border:1px solid var(--line)}
.champ .medal{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 44px/1 var(--display);color:#1A0E08;background:var(--flame);box-shadow:0 0 0 6px rgba(247,148,29,.15)}
.champ .medal sup{font-size:.42em;align-self:flex-start;margin-top:22px;margin-left:1px}
.champ .medal svg{width:60px;height:60px}
.champ h3{font-size:36px;margin:4px 0 8px}
.champ p:not(.kick){color:#E7DED6;font-size:16px;max-width:60em}
@media (max-width:600px){.champ{grid-template-columns:1fr}.champ .medal{width:64px;height:64px;font-size:32px}}
.sicons{display:flex;gap:10px;flex-wrap:wrap}
.sicons a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--panel2)}
.sicons a:hover{color:var(--orange);border-color:var(--orange)}
.sicons svg{width:20px;height:20px}
.sicons.lg{margin-top:10px}.sicons.lg a{width:48px;height:48px}.sicons.lg svg{width:24px;height:24px}
.near{margin-top:16px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.near h3{font-size:36px;margin:4px 0 8px}.near p:not(.kick){color:#E7DED6}
.near ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.near li{font:600 15px/1 var(--cond);letter-spacing:.04em;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel2)}
@media (max-width:800px){.near{grid-template-columns:1fr}}
.todo{display:inline-block;font:600 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:#1A0E08;background:var(--yellow);padding:5px 8px;border-radius:4px;vertical-align:middle}


/* sport santé */
.sante{background:linear-gradient(180deg,rgba(91,201,142,.07),rgba(91,201,142,0) 60%),var(--ink)}
.sante .kick{color:#7FD8A8}
.rx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.who{display:grid;gap:12px}
.who div{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.who svg{width:52px;height:52px}
.who b{display:block;font:400 26px/1 var(--display);letter-spacing:.02em;margin-bottom:4px}
.who span{color:var(--muted);font-size:16px}
.rxcard{background:var(--panel);border:1px solid #2D5A41;border-radius:14px;padding:26px 24px;position:relative;overflow:hidden}
.rxcard::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2F8F5E,#7FD8A8)}
.rxcard h3{font-size:38px;margin-bottom:18px}
.rxcard .steps li::before{background:linear-gradient(90deg,#2F8F5E,#7FD8A8);color:#06140D}
.note{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.note div{padding:16px 18px;border:1px dashed var(--line);border-radius:10px;font-size:15px;color:var(--muted)}
.note b{color:var(--text);display:block;margin-bottom:2px}
@media (max-width:860px){.rx,.note{grid-template-columns:1fr}}

/* horaires & tarifs */
.ht{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px 24px}
.card h3{font-size:38px;margin-bottom:16px}
.rows{display:grid}
.rows div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}
.rows div:last-child{border-bottom:0}
.rows dt,.rows span:first-child{color:var(--muted)}
.rows b{font-weight:600;text-align:right}
.price b{font:400 34px/1 var(--display);color:var(--yellow)}
.small{margin-top:14px;font-size:14px;color:var(--faint);line-height:1.5}
.season{margin-bottom:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:15px;color:var(--muted)}
@media (max-width:760px){.ht{grid-template-columns:1fr}}

/* adhésion */
.join{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:s}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;counter-increment:s}
.steps li::before{content:counter(s);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:400 26px/1 var(--display);color:#1A0E08;background:var(--flame)}
.steps b{display:block;font-size:18px}
.steps span{color:var(--muted);font-size:16px}
.pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pay span{font:600 14px/1 var(--cond);letter-spacing:.06em;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--panel2)}
@media (max-width:760px){.join{grid-template-columns:1fr}}

/* appli */
.app{position:relative;overflow:hidden;background:radial-gradient(80% 120% at 85% 100%,rgba(233,65,43,.35),rgba(233,65,43,0) 60%),var(--ink)}
.app .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:56px;align-items:center}
.phone{width:100%;max-width:300px;justify-self:center;border-radius:42px;padding:10px;background:#050404;border:2px solid #3a312b;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 90px rgba(247,148,29,.25)}
.phone img{border-radius:32px;width:100%}
.feat{list-style:none;margin:26px 0 30px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
.feat li{padding-left:18px;position:relative;font-size:16px;color:#E7DED6}
.feat li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--orange);transform:rotate(45deg)}
@media (max-width:820px){.app .wrap{grid-template-columns:1fr}.feat{grid-template-columns:1fr}}

/* contact */
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact .card p{color:#E7DED6}
.contact .big{font:400 34px/1.05 var(--display);display:block;color:var(--text);text-decoration:none;margin:4px 0}
.contact a.big:hover{color:var(--yellow)}
.socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.socials a{font:600 15px/1 var(--cond);letter-spacing:.06em;text-decoration:none;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
.socials a:hover{border-color:var(--yellow)}
@media (max-width:900px){.contact{grid-template-columns:1fr}}

/* pied de page */
footer{padding-block:48px calc(48px + env(safe-area-inset-bottom,0px));background:#050404}
footer .wrap{display:grid;grid-template-columns:auto 1fr auto auto;gap:28px;align-items:center}
footer .ffhm{display:flex;align-items:center;gap:14px;font:600 15px/1.3 var(--cond);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
footer .ffhm img{width:72px;height:auto;flex:none}
footer .meta{font-size:14px;color:var(--faint);line-height:1.6}
footer .meta a{color:var(--muted)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* ---------- pages ---------- */
.nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--orange);border-radius:0}
.phero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line);background:var(--panel)}
.phero .ph{position:absolute;inset:0;z-index:-2}.phero .ph img{width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,8,7,.95) 0%,rgba(10,8,7,.85) 50%,rgba(10,8,7,.55) 100%)}
.phero.green{background:radial-gradient(70% 140% at 90% 0%,rgba(91,201,142,.22),rgba(91,201,142,0) 65%),var(--ink)}
.phero.green::after{display:none}
.phero.plain::after{background:none}
.phero .wrap{padding-block:64px 56px;display:grid;gap:14px}
.phero .in{padding-left:52px;display:grid;gap:14px;max-width:48em}
.phero .corner{left:max(20px,env(safe-area-inset-left,0px));top:30px;width:72px;height:72px}
.phero h1{font-size:clamp(48px,7vw,92px)}
.phero p:not(.kick){color:#E7DED6;font-size:18px;max-width:40em}
.crumb{font:600 13px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--yellow)}
@media (max-width:600px){.phero .in{padding-left:0}.phero .corner{display:none}.phero .wrap{padding-block:40px 36px}section{padding-block:56px}.sh{margin-bottom:28px}}
.phero.green .kick{color:#7FD8A8}
main section:first-of-type{border-top:0}
/* accueil : vignettes */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;border-radius:14px;overflow:hidden;text-decoration:none;background:var(--panel);border:1px solid var(--line);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,8,7,.95) 10%,rgba(10,8,7,.2) 70%)}
.tile:hover img{transform:scale(1.04)}
.tile .t{padding:20px}
.tile h3{font-size:34px}
.tile p{color:var(--muted);font-size:15px;margin-top:4px}
.tile .go{margin-top:12px;font:700 14px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.tile.green{border-color:#2D5A41}
.tile.green::after{background:linear-gradient(0deg,rgba(6,20,13,.96) 12%,rgba(10,40,26,.6) 60%,rgba(20,60,40,.4) 100%)}.tile.green .go{color:#7FD8A8}
.tile.hours{background:var(--panel2)}.tile.hours::after{display:none}
.tile.hours .rows div{padding:7px 0;font-size:15px}
@media (max-width:1000px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile{min-height:230px}}
@media (prefers-reduced-motion:reduce){.tile img{transition:none}}
.strip{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.strip img{border-radius:10px;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;width:100%}
.strip h3{font-size:48px}
.strip ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.strip li{font:600 14px/1 var(--cond);letter-spacing:.06em;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel2)}
@media (max-width:800px){.strip{grid-template-columns:1fr}.strip img{max-width:220px}}
.cta-band{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;padding:28px;border-radius:14px;background:radial-gradient(80% 160% at 100% 100%,rgba(233,65,43,.35),rgba(233,65,43,0) 60%),var(--panel);border:1px solid var(--line)}
.cta-band h3{font-size:40px}
.cta-band p{color:var(--muted)}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:10px}

.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reviews figure{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.reviews blockquote{margin:0;font-size:16.5px;line-height:1.55;color:#E7DED6}
.reviews figcaption{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center}
.reviews .mono{grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:400 22px/1 var(--display);color:#1A0E08;background:var(--flame)}
.reviews figcaption b{font-weight:600}.reviews figcaption span:not(.mono){font-size:13px;color:var(--yellow)}
@media (max-width:860px){.reviews{grid-template-columns:1fr}}

.press{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pcard{display:flex;flex-direction:column;gap:14px;padding:24px;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px}
.pcard.green{border-left-color:#7FD8A8}
.pcard .src{font:700 13px/1 var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pcard h3{font-size:32px;line-height:1.02}
.pcard .go{margin-top:auto;font:700 14px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.pcard:hover{border-color:var(--yellow)}
.pcard .q{color:#E7DED6;font-size:16px;font-style:italic}
.pcard .q span{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--muted)}
@media (max-width:760px){.press{grid-template-columns:1fr}}
footer .soc a{color:var(--muted)}
@media (max-width:1000px){footer .wrap{grid-template-columns:1fr}}
.teamstrip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:28px;align-items:center;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.teamstrip h3{font-size:44px}
.avs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.avs li{display:grid;justify-items:center;gap:6px;font:600 13px/1 var(--cond);letter-spacing:.04em;color:var(--muted)}
.av.sm{width:52px;height:52px;font-size:26px}
@media (max-width:1000px){.teamstrip{grid-template-columns:1fr}}
.faq{max-width:860px;display:grid;gap:10px}
.qa{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 20px}
.qa summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;font:600 18px/1.35 var(--body)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:0;top:12px;font:400 30px/1 var(--display);color:var(--yellow)}
.qa[open] summary::after{content:"–"}
.qa p{padding:0 0 18px;color:#E7DED6}
.qa[open]{border-color:#4a3c32}
/* mentions */
.legal{max-width:760px;display:grid;gap:30px}
.legal h2{font-size:34px;margin-bottom:8px}
.legal p,.legal li{color:#E7DED6}
.phero.has-illu .wrap{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;column-gap:32px}
.phero .illu{display:block;width:100%;height:auto}
@media (max-width:900px){.phero.has-illu .wrap{grid-template-columns:1fr}.phero .illu{max-width:280px;margin-top:0}}
/* actus */
.news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nc{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;scroll-margin-top:90px}
.nc .im{position:relative;aspect-ratio:16/9;background:#2a221e;overflow:hidden}
.nc .im img,.nc .im svg{display:block;width:100%;height:100%;object-fit:cover}
.nc .date{position:absolute;left:12px;top:12px;background:var(--ink);border-radius:8px;padding:7px 9px;text-align:center;line-height:1}
.nc .date b{display:block;font:400 28px/1 var(--display);color:var(--yellow)}.nc .date span{font:700 11px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nc .tx{padding:20px;display:grid;gap:10px;align-content:start}
.tag2{justify-self:start;font:700 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;border-radius:5px}
.t-offre{background:rgba(247,148,29,.16);color:var(--yellow)}.t-club{background:rgba(127,216,168,.14);color:#7FD8A8}.t-info{background:rgba(255,255,255,.08);color:var(--muted)}.t-event{background:rgba(233,65,43,.18);color:#ff8a73}
.nc h3{font-size:32px;line-height:1}.nc p{color:#E7DED6;font-size:16px}
.nc ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.nc li{position:relative;padding-left:22px;color:#E7DED6}.nc li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--flame)}
.nc .until{font:600 15px/1.25 var(--cond);letter-spacing:.04em;color:var(--yellow)}
.nc .small{font-size:14px;color:var(--muted)}
.nc .btn{justify-self:start;margin-top:4px}
.news-cur{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nc.une h3{font-size:38px}
.nc .im.contain img{object-fit:contain}
.nc .im.navy{background:#142956}.nc .im.duo{background:linear-gradient(90deg,#f566b7 0%,#3a1440 50%,#2a2aa8 100%)}
.nc .tags{display:flex;flex-wrap:wrap;gap:6px}.nc .fini{display:none}.nc.past .fini{display:inline-block}
.nc.past .im{opacity:.75}.nc.past .interne{display:none}
.nc .date i,.hn .d i{display:block;font:700 10px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--muted);margin-bottom:4px}
.pastwrap{margin-top:56px}.pasth{font-size:40px;margin-bottom:20px}
.nempty{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted)}
@media (max-width:900px){.news{grid-template-columns:1fr}.news-cur{grid-template-columns:1fr}.nc.une h3{font-size:34px}}
.homeband{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.hn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:center;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;text-decoration:none}
.hn:hover{border-color:var(--yellow)}
.hn .d{grid-row:span 3;width:64px;padding:8px 0;border-radius:10px;background:var(--panel2);text-align:center;line-height:1}
.hn .d b{display:block;font:400 32px/1 var(--display);color:var(--yellow)}.hn .d span{font:700 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hn h3{font-size:28px;line-height:1}.hn p{color:var(--muted);font-size:15px}
.hn .tag2{margin-bottom:2px}
.more{display:inline-block;margin-top:16px;font:700 14px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);text-decoration:none}
.nc h3 a{color:inherit;text-decoration:none}.nc h3 a:hover{color:var(--yellow)}.nc .im{display:block}.nc .more{margin-top:2px}
.actu-s{padding-top:48px}.actu{max-width:880px;margin:0 auto;display:grid;gap:14px}
.actu h1{font-size:clamp(44px,6vw,76px);line-height:.95}.actu .until{font:600 18px/1.3 var(--cond);letter-spacing:.04em;color:var(--yellow)}
.actu .tags{display:flex;gap:6px}.actu .fini{display:none}.actu.past .fini{display:inline-block}.actu.past .interne{display:none}
.finban{padding:14px 18px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#E7DED6}.finban a{color:var(--yellow)}
.hero-im{position:relative;margin-top:10px;border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:var(--panel)}
.hero-im img{display:block;width:100%;height:100%;object-fit:cover}
.hero-im .date{position:absolute;left:16px;top:16px;background:var(--ink);border-radius:10px;padding:9px 11px;text-align:center;line-height:1}
.hero-im .date b{display:block;font:400 34px/1 var(--display);color:var(--yellow)}.hero-im .date span{font:700 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hero-im .date i{display:block;font:700 10px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--muted);margin-bottom:4px}
.corps{max-width:720px;display:grid;gap:14px;margin-top:14px;font-size:18px}.corps p,.corps li{color:#E7DED6}
.corps a:not(.btn){color:var(--yellow)}
.corps ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.corps li{position:relative;padding-left:24px}.corps li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--flame)}
.corps .small{font-size:14px;color:var(--muted)}
.corps .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.hn.past{opacity:.6}
.avis-adh{margin-top:14px;font-size:15px;color:var(--muted)}.avis-adh a{color:var(--yellow)}
.yt{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;max-width:980px}
.yt img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:none;border:0;cursor:pointer;color:#fff;font:700 15px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase}
.yt-play svg{width:92px;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5));transition:transform .2s}.yt-play:hover svg,.yt-play:focus-visible svg{transform:scale(1.08)}
.yt.sm .yt-play svg{width:76px}
.yt-note{margin-top:12px;font-size:14px;color:var(--muted)}.yt-note a{color:var(--yellow)}
.vhome{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center}.vhome h2{font-size:clamp(40px,5vw,64px)}.vhome p:not(.kick){color:var(--muted);margin-top:8px}
@media (max-width:860px){.vhome{grid-template-columns:1fr;gap:20px}}
.legal .ph-f{background:rgba(251,176,59,.12);border-bottom:1px dashed var(--yellow);padding:0 4px;color:var(--yellow)}
