:root{
  --nuit:#061e3a; --nuit-2:#0c2a4d; --ardoise:#43597a; --or:#e0a24f; --or-fonce:#c4863a;
  --ciel:#b9d4ef; --blanc:#ffffff; --texte:#1b2633; --gris:#5b6878;
  --rayon:14px; --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--texte);background:var(--blanc);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Oswald","Inter",sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
h1{font-size:clamp(2.2rem,6vw,4rem)}
h2{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:.6em}
h3{font-size:1.25rem;margin-bottom:.4em}
p+p{margin-top:.8em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:72px 0}
.sombre{background:var(--nuit);color:#e8eef6}
.ardoise{background:var(--ardoise);color:#eef3f9}
.clair{background:#f3f6fa}
.centre{text-align:center}
.intro{max-width:720px;margin:0 auto 2rem;font-size:1.05rem}
.sombre .intro,.ardoise .intro{color:#cfdaea}

/* En-tête */
header{position:sticky;top:0;z-index:20;background:var(--nuit);border-bottom:3px solid var(--or)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;max-width:1320px}
.marque{display:flex;white-space:nowrap;align-items:center;gap:12px;text-decoration:none;color:#fff;font-family:"Oswald",sans-serif;font-size:1.25rem;letter-spacing:.04em}
.marque img{width:48px;height:48px}
.menu{display:flex;gap:6px;list-style:none;align-items:center}
.menu a{display:block;white-space:nowrap;padding:8px 12px;color:#dfe7f2;text-decoration:none;border-radius:8px;font-weight:500;font-size:.95rem}
.menu a:hover,.menu a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}
.menu .btn{margin-left:22px;margin-right:12px;transform-origin:center}
.burger{display:none!important;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer;padding:6px 10px}
@media (max-width:1420px){
  .nav{flex-wrap:wrap;gap:4px 16px;padding-block:10px 0}
  .menu{order:3;width:100%;overflow-x:auto;gap:2px;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .menu::-webkit-scrollbar{display:none}
  .menu a{padding:8px 10px;font-size:.9rem}
  .menu li:last-child{display:none}
}
@media (max-width:600px){.marque{font-size:1.05rem}.marque img{width:40px;height:40px}}

/* Boutons */
.btn{display:inline-block;background:var(--or);color:var(--nuit)!important;font-weight:700;text-decoration:none;padding:13px 24px;border-radius:999px;border:3px solid var(--nuit);box-shadow:0 0 0 2px #fff;cursor:pointer;font-size:1rem;transition:transform .31s ease,background .31s,box-shadow .31s}
.btn:hover,.btn:focus-visible{background:#ebb26a;transform:scale(1.1)}
.menu a.btn,.menu a.btn:hover,.menu a.btn:focus-visible,.menu a.btn[aria-current="page"]{background:var(--or)!important;color:var(--nuit)!important;opacity:1}
.menu a.btn:hover,.menu a.btn:focus-visible{background:#f2c27f!important;box-shadow:0 0 0 2px #fff,0 6px 18px rgba(0,0,0,.45)}
:not(.flottant).btn:hover{position:relative;z-index:5}
.btn.contour{background:transparent;color:#fff!important;border-color:var(--or);box-shadow:none}
.btn.contour:hover,.btn.contour:focus-visible{background:rgba(255,255,255,.08)}
.btn.nuit{background:var(--nuit);color:#fff!important;border-color:var(--or)}
.btn.nuit:hover,.btn.nuit:focus-visible{background:#0c2a4d}
.actions{display:flex;flex-wrap:wrap;gap:28px 64px;margin-top:1.6rem}
.centre .actions{justify-content:center}

/* Héros */
.heros{background:radial-gradient(1200px 500px at 80% 0%,#123a68 0%,var(--nuit) 60%);color:#fff;padding:80px 0 88px}
.heros .grille{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.heros .accroche{color:var(--or);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;margin-bottom:.8rem}
.heros p.sous{font-size:1.15rem;color:#d6e1ef;margin-top:1rem;max-width:560px}
.heros img{width:100%;height:auto;max-width:380px;margin:0 auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}
@media (max-width:820px){.heros .grille{grid-template-columns:1fr}.heros img{max-width:240px;order:-1}}

/* Bandeau d'en-tête de page */
.titre-page{background:var(--nuit);color:#fff;padding:56px 0 48px;text-align:center}
.titre-page p{color:#cfdaea;max-width:680px;margin:.8rem auto 0}

/* Grilles et cartes */
.deux{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:820px){.deux,.trois{grid-template-columns:1fr;gap:28px}}
.carte{background:#fff;color:var(--texte);border-radius:var(--rayon);padding:28px;box-shadow:0 6px 24px rgba(6,30,58,.08)}
.sombre .carte,.ardoise .carte{box-shadow:none}
.carte .num{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--or);color:var(--nuit);font-weight:800;align-items:center;justify-content:center;margin-bottom:12px}
.photo{border-radius:var(--rayon);overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.photo img{width:100%;height:100%;object-fit:cover}
.pilier{border-left:4px solid var(--or);padding:4px 0 4px 18px}
.pilier+.pilier{margin-top:22px}
.badge{display:inline-block;background:rgba(224,162,79,.15);color:var(--or-fonce);font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.sombre .badge{color:var(--or)}
ul.liste{list-style:none}
ul.liste li{padding-left:1.4em;position:relative;margin:.35em 0}
ul.liste li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--or)}

/* Planning */
.planning{width:100%;border-collapse:separate;border-spacing:6px;min-width:760px}
.planning th{background:var(--or);color:var(--nuit);font-family:"Oswald",sans-serif;font-size:1.05rem;padding:10px;border-radius:10px;text-transform:uppercase}
.planning td{vertical-align:top;padding:0}
.creneau{display:block;border-radius:10px;padding:8px 6px;text-align:center;font-size:.85rem;line-height:1.25;margin-bottom:6px;color:#0b1a2c}
.creneau b{display:block;font-size:.95rem}
.c-wod{background:#9cc0ec}.c-open{background:#f4f6f9}.c-ferme{background:#3a3f47;color:#e6e6e6}
.c-gym{background:#f0e25a}.c-hyrox{background:#f0e25a}.c-teens{background:#7fd6d0}.c-renfo{background:#f0a9cc}.c-halt{background:#ef8a6f}.c-cardio{background:#8fe08b}.c-team{background:#d8a5f0}
.defile{overflow-x:auto;padding-bottom:8px}
.legende{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px 28px;margin-top:22px;font-size:.92rem;color:#cfdaea}
.legende>span{display:flex;align-items:flex-start;gap:10px}
.legende b{color:#fff}
.legende i{flex:none;width:16px;height:16px;border-radius:5px;display:inline-block;margin-top:3px}

/* Formulaire */
form.contact{display:grid;gap:14px}
form.contact .ligne{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){form.contact .ligne{grid-template-columns:1fr}}
label{font-weight:600;font-size:.9rem;display:block;margin-bottom:4px}
input,select,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #c9d3df;font:inherit;background:#fff;color:var(--texte)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(224,162,79,.45);border-color:var(--or)}
textarea{min-height:130px;resize:vertical}
.petit{font-size:.85rem;color:var(--gris)}
.carte-map{border:0;width:100%;height:340px;border-radius:var(--rayon)}

/* Pied de page */
footer{background:#041427;color:#b8c6d8;padding:48px 0 28px;font-size:.95rem}
footer .grille{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
@media (max-width:820px){footer .grille{grid-template-columns:1fr}}
footer h3{color:#fff;font-size:1.05rem}
footer a{color:#dfe7f2;text-decoration:none}
footer a:hover{color:var(--or)}
footer ul{list-style:none}
footer li{margin:.3em 0}
.reseaux{display:flex;gap:10px;margin-top:12px}
.reseaux a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.reseaux a:hover{background:var(--or)}
.reseaux svg{width:20px;height:20px;fill:#fff}
.bas{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:18px;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* Pastille flottante (réductible) */
.flottant-zone{position:fixed;right:24px;bottom:24px;z-index:30}
.flottant{padding:18px 32px;font-size:1.15rem;box-shadow:0 0 0 2px #fff,0 10px 30px rgba(0,0,0,.35);transform-origin:bottom right}
.flottant-x{position:absolute;top:-13px;left:-13px;width:32px;height:32px;border-radius:50%;border:2px solid var(--or);background:var(--nuit);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 0 0 2px #fff;transition:transform .31s ease}
.flottant-x:hover,.flottant-x:focus-visible{transform:scale(1.1)}
.flottant-mini{display:none;width:62px;height:62px;padding:0;border-radius:50%;font-size:1.6rem;justify-content:center;align-items:center;box-shadow:0 0 0 2px #fff,0 10px 30px rgba(0,0,0,.35);transform-origin:bottom right;cursor:pointer}
.flottant-zone.reduit .flottant,.flottant-zone.reduit .flottant-x{display:none}
.flottant-zone.reduit .flottant-mini{display:inline-flex}
@media (max-width:600px){.flottant-zone{right:auto;left:50%;transform:translateX(-50%);bottom:14px}.flottant{white-space:nowrap;padding:15px 26px;font-size:1.05rem;transform-origin:bottom center}.flottant-zone.reduit{left:auto;right:14px;transform:none}.flottant-mini{width:54px;height:54px;font-size:1.4rem}}

.logo-box{display:block;width:100%;max-width:400px;height:auto;aspect-ratio:1/1;object-fit:contain;margin:0 auto;border-radius:22px;box-shadow:0 18px 40px rgba(6,30,58,.35)}

/* Témoignages */
.temoins{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.temoin{background:#fff;border-radius:var(--rayon);overflow:hidden;box-shadow:0 6px 24px rgba(6,30,58,.1);display:flex;flex-direction:column}
.temoin-video{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:9/14;width:100%;border:0;padding:0;overflow:hidden;cursor:pointer;color:#fff;background:var(--nuit);font:inherit}
.temoin-video .couverture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease}
.temoin-video::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,30,58,.05) 0%,rgba(6,30,58,.35) 100%)}
.temoin-video:hover .couverture{transform:scale(1.04)}
.temoin-video .lecture,.temoin-cta{position:relative;z-index:1}
.temoin-video .lecture{position:absolute!important;right:16px;bottom:16px;margin:0;width:60px!important;height:60px!important;font-size:1.35rem!important}
.temoin-cta{display:none;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.temoin-video .lecture{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:var(--or);color:var(--nuit);font-size:1.7rem;padding-left:5px;border:3px solid var(--nuit);box-shadow:0 0 0 2px #fff;transition:transform .31s ease}
.temoin-video:hover .lecture,.temoin-video:focus-visible .lecture{transform:scale(1.1)}
.temoin-video .lecture{transform-origin:bottom right}
.temoin-cta{font-weight:700;letter-spacing:.02em}
.temoin-iframe{width:100%;aspect-ratio:9/14;height:auto;min-height:560px;border:0;display:block;background:#fff}
.temoin-pied{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 20px}
.temoin-pied h3{margin:0}
.temoin-pied a{color:var(--ardoise);font-size:.9rem;font-weight:600;white-space:nowrap}
.note-temoins{text-align:center;color:#5b6b80;font-size:.9rem;margin-top:1.6rem}
