@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142039;--lime:#ff795f;--paper:#f7f9fc;--muted:#5d687b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce2ee;background:var(--paper)}.brand{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.5px}.brand span{color:#ff795f}nav{display:flex;gap:32px;font-size:14px}button{border:1px solid #cbd4e3;background:transparent;padding:12px 20px;border-radius:6px;color:var(--ink)}button:hover{background:#e7edfa}main>section:not(.hero){padding:75px 5%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:635px}.hero-copy{padding:65px 10%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}h1{font-family:Manrope,sans-serif;font-size:clamp(48px,5.1vw,78px);font-weight:500;letter-spacing:-4px;line-height:1.08;margin:28px 0}em{font-family:Georgia,serif;font-weight:400;color:#ba3e29}p{color:var(--muted);line-height:1.7}.primary{display:inline-flex;justify-content:space-between;gap:40px;background:var(--ink);color:white;border:0;padding:17px 25px;border-radius:5px;font-size:14px}.primary:hover{background:#263f69}.hero-copy p{margin-bottom:30px}.hero-meta{font-size:11px;display:flex;gap:12px;align-items:center;margin-top:32px}.hero-meta i{width:3px;height:3px;background:#8896ae;border-radius:50%}.hero-image{position:relative;margin:25px 5% 25px 0;border-radius:12px;background:linear-gradient(0deg,#0b1637e6,transparent 70%),url('images/coach-cardio.jpg') center 42%/cover;min-height:520px}.image-caption{position:absolute;bottom:35px;left:35px;color:white}.image-caption span{font-size:9px;letter-spacing:2px}.image-caption b{display:block;font-weight:500;font-size:29px;margin-top:15px}.vertical{position:absolute;right:22px;top:28px;writing-mode:vertical-rl;color:white;font-size:10px;letter-spacing:2px}.strip{padding:23px;background:var(--lime);display:flex;gap:45px;justify-content:center;white-space:nowrap;overflow:hidden;font-size:12px;letter-spacing:2px}.strip span{font-size:20px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}h2{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-1.5px;font-weight:500;margin:14px 0 0}.section-head p{font-size:14px}.disciplines{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.discipline{text-align:left;padding:25px;border:1px solid #d9e1ef;min-height:170px;border-radius:7px}.discipline span{font-size:25px}.discipline b{display:block;margin-top:25px;font-size:19px}.discipline small{display:block;margin-top:8px;color:var(--muted)}#catalogue{background:#edf1f8}.search{background:white;display:flex;padding:12px 15px;gap:10px;border:1px solid #ccd6e7;border-radius:5px}.search input{border:0;background:transparent;outline:none;width:220px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border-radius:30px;padding:9px 18px;font-size:12px}.filters .active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}.card{cursor:pointer;background:var(--paper);border-radius:9px;overflow:hidden;border:1px solid #dbe3f0}.thumb{height:225px;background-size:cover;background-position:center;position:relative}.thumb:after{content:'▶';position:absolute;left:18px;bottom:18px;background:#ffffffe0;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:12px}.duration{position:absolute;right:12px;bottom:16px;background:#142039dc;color:white;padding:5px 8px;border-radius:4px;font-size:11px}.card-body{padding:21px}.tag{font-size:10px;letter-spacing:1.5px;color:#a83524;text-transform:uppercase}.card h3{margin:9px 0 12px;font-size:20px;font-weight:500}.card p{font-size:12px;margin:0}.offer{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#142039}.offer h2{font-size:54px;line-height:1.15}.price{background:var(--paper);padding:35px;border-radius:10px}.price>span{font-size:11px;letter-spacing:2px}.price h3{font-size:40px;margin:25px 0 0}.price small{font-size:12px;font-weight:400;display:inline-block;margin-top:12px}.price li{padding:8px 0;font-size:14px}.price ul{padding-left:20px;margin-bottom:26px}.price .primary{width:100%}footer{padding:40px 5%;display:flex;align-items:center;gap:30px}footer p{font-size:10px;max-width:600px}footer button{font-size:11px;padding:10px}dialog{border:0;border-radius:12px;padding:35px;max-width:760px;width:92%;max-height:90vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0b1637cc;backdrop-filter:blur(4px)}.close{float:right;font-size:25px;border:0;padding:0 8px}dialog h2{font-size:30px;margin-bottom:18px}dialog input,dialog select{display:block;width:100%;padding:12px;border:1px solid #cbd4e3;margin:8px 0 18px;background:white;border-radius:5px}dialog label{font-size:13px}dialog video{width:100%;background:#111c33;border-radius:6px}.notice{background:#e7edfa;padding:15px;border-radius:5px;font-size:13px;line-height:1.6}.row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;padding:14px 0;gap:10px}.row button{font-size:11px;padding:7px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 25px;border-radius:30px;display:none;z-index:5}@media(max-width:800px){header{height:75px}nav{display:none}.brand{font-size:24px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}h1{letter-spacing:-2.5px}.hero-image{margin:0 5% 25px;min-height:380px}.disciplines{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.section-head{display:block}.search{margin-top:22px}.offer{grid-template-columns:1fr;gap:30px}.offer h2{font-size:42px}footer{flex-wrap:wrap}.section-head h2{font-size:29px}main>section:not(.hero){padding:45px 5%}}@media(max-width:520px){.grid{grid-template-columns:1fr}.thumb{height:245px}.discipline{padding:18px}.discipline b{font-size:16px}.hero-meta{gap:8px;font-size:10px}header button{font-size:12px;padding:10px}.price{padding:25px}}
/* Identité sport : nuit, corail et blanc glacé. */
header{background:#142039;color:#fff;border-bottom-color:#31415d}header button{color:#fff;border-color:#65718a}header button:hover{background:#263f69}.brand{font-weight:800}.brand span{color:#ff795f}.hero{background:#142039;color:#fff}.hero-copy p{color:#c6cfdf}.hero h1{font-weight:800;letter-spacing:-3.5px}.hero em,.offer em{font-family:Manrope,sans-serif;font-style:normal;font-weight:800;color:#ff957e}.hero-meta{color:#c6cfdf}.primary{background:#ff795f;color:#142039;font-weight:800;border-radius:3px}.primary:hover{background:#ff9c87}.hero-image{border-radius:3px;box-shadow:12px 12px 0 #233452}.hero-image:before{content:'';position:absolute;top:0;left:0;width:75px;height:6px;background:#ff795f}.strip{font-weight:800;color:#142039}.discipline{border-radius:3px;background:white;border-top:3px solid #142039;transition:transform .18s,box-shadow .18s}.discipline:hover{transform:translateY(-4px);background:white;box-shadow:0 12px 26px #14203912}.discipline span{color:#b63723}.discipline b{font-family:Manrope,sans-serif;font-weight:800}.card{border-radius:4px;transition:transform .18s,box-shadow .18s;background:white}.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #14203916}.card h3{font-weight:700}.thumb:after{background:#ff795f;color:#142039}.tag{font-weight:800}.filters .active{background:#142039}.offer{color:#fff}.offer>div>p{color:#c6cfdf}.offer h2{font-weight:800}.price{color:#142039;border-radius:4px;background:white;border-top:5px solid #ff795f}.price p{color:#5d687b}.price li::marker{color:#b63723}h2{font-weight:700}.search:focus-within{outline:2px solid #526d9b;outline-offset:2px}:focus-visible{outline:3px solid #b63723;outline-offset:4px}footer{background:#e8edf6}dialog{border-radius:5px;border-top:5px solid #ff795f}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.discipline{transition:none}}@media(max-width:800px){.hero h1{letter-spacing:-2.5px}.hero-image{box-shadow:6px 6px 0 #233452}}
[hidden]{display:none!important}

/* Photos fournies pour le studio. */
.thumb{background-position:center 35%}
.studio-gallery{background:var(--paper)}.studio-gallery .section-head p{max-width:350px}.studio-moments{display:grid;grid-template-columns:1fr 1fr;gap:22px}.studio-moments figure{margin:0;background:#142039;overflow:hidden;border-radius:4px}.studio-moments img{display:block;width:100%;height:310px;object-fit:cover}.studio-moments .collective{object-position:center bottom}.studio-moments .community{object-position:center 58%}.studio-moments figcaption{padding:20px 24px;color:white;font-family:Manrope,sans-serif;font-weight:700}.photo-credit{font-size:10px;text-align:right;margin:12px 0 0;color:var(--muted)}
@media(max-width:800px){.hero-image{background-position:center 40%;min-height:540px}.studio-moments img{height:245px}}
@media(max-width:520px){.hero-image{min-height:510px}.studio-moments{grid-template-columns:1fr}.studio-moments img{height:245px}}
