@font-face{font-family:Space;src:url(space.woff2);font-weight:300 700;font-display:swap}
@font-face{font-family:DM;src:url(dm.woff2);font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url(instrument.woff2);font-weight:400;font-display:swap}
@font-face{font-family:Playfair;src:url(playfair.woff2);font-weight:400;font-display:swap}
@font-face{font-family:'Space Fallback';src:local('Arial');size-adjust:110.2%;ascent-override:88.9%;descent-override:26.3%;line-gap-override:0%}
@font-face{font-family:'DM Fallback';src:local('Arial');size-adjust:99.7819%;ascent-override:99.2164%;descent-override:31.0678%;line-gap-override:0%}
@font-face{font-family:'Instrument Fallback';src:local('Georgia');size-adjust:74.2317%;ascent-override:133.3661%;descent-override:41.7611%;line-gap-override:0%}
@font-face{font-family:'Playfair Fallback';src:local('Georgia');size-adjust:99.1284%;ascent-override:108.9496%;descent-override:25.2198%;line-gap-override:0%}
*{box-sizing:border-box}html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 DM,'DM Fallback',Arial,sans-serif;--display:Space,'Space Fallback',Arial,sans-serif;--serif:Instrument,'Instrument Fallback',Georgia,serif;--classic:Playfair,'Playfair Fallback',Georgia,serif}p,h1,h2,h3,figure{margin:0}a{color:inherit;text-decoration:none}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{width:calc(100% - 112px);max-width:1500px;margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent)}.header-inner{height:82px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;gap:12px;align-items:center;flex:none}.brand svg{width:42px;height:42px}.brand-name{display:block;font:600 30px/1.1 var(--display);letter-spacing:-.04em}.brand small{display:block;font-size:12.2px;line-height:1.4;margin-top:5px}.desktop-nav{display:flex;gap:30px;font-size:13px;align-items:center}.desktop-nav a{padding:12px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:currentColor}.mobile-menu{display:none}.hero{position:relative;min-height:760px;height:calc(100svh - 82px);max-height:1000px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;padding:35px 56px 30px}.hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:start}.eyebrow{font-size:12.2px;letter-spacing:.045em;text-transform:uppercase;margin-bottom:17px}.hero h1{font:600 94px/1.04 var(--display);letter-spacing:-.055em;margin-bottom:22px}.hero h1 .location{display:block;font:400 24px/1.35 DM,'DM Fallback',Arial,sans-serif;letter-spacing:0;margin-top:16px;max-width:490px}.intro{max-width:455px;font-size:16px;line-height:1.65}.review{display:flex;align-items:center;gap:11px;white-space:nowrap;margin-top:18px;font-size:12.2px;line-height:1.5}.review strong{font:500 20px/1.2 var(--display)}.stars{letter-spacing:1px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:50px;border:1px solid var(--ink);padding:13px 18px;background:var(--ink);color:var(--bg);font:400 14px/1.5 DM,'DM Fallback',Arial,sans-serif}.button span{font-size:18px;line-height:1}.button.secondary{background:transparent;color:var(--ink)}.practical{font-size:12.2px;line-height:1.5;margin-top:22px}.geste{border-top:1px solid color-mix(in srgb,var(--ink) 40%,transparent);padding-top:19px;margin-top:24px;max-width:480px;display:flex;gap:17px}.geste>svg{width:42px;height:42px;flex:none}.geste-title{font:500 21px/1.25 var(--display)}.geste-detail{font-size:12.2px;line-height:1.6;max-width:370px;margin-top:6px}.visual{align-self:center;position:relative;min-width:0;height:610px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:13px}.visual picture{display:block;min-height:0}.visual img{display:block;height:100%;width:100%;object-fit:cover;object-position:50% 50%}.photo-credit{display:flex;justify-content:space-between;gap:15px;font-size:12.2px;line-height:1.5}.photo-credit>span:first-child{max-width:65%}.hero-follow,.sticky-actions{display:none}.below{padding-block:78px;border-top:1px solid color-mix(in srgb,var(--ink) 35%,transparent)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:38px}.section-heading h2{font:500 53px/1.12 var(--display);letter-spacing:-.04em}.section-heading>p,.section-heading>div{max-width:560px}.section-heading p+p{margin-top:18px}.service-grid,.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.service-grid article,.schedule-grid article{border-top:2px solid var(--ink);padding:24px 0}.service-grid h3,.schedule-grid h3{font:500 29px/1.25 var(--display);letter-spacing:-.025em}.service-grid p,.schedule-grid p{margin-top:16px}.schedule-grid span{font-size:12.2px;display:block;margin-bottom:16px}.brief{margin-top:46px;padding:34px;border:1px solid var(--ink)}.brief h3{font:500 38px/1.15 var(--display);margin-bottom:19px;letter-spacing:-.025em}.brief>p{max-width:810px}.brief dl{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-block:28px}.brief dl>div{border-bottom:1px solid var(--ink);padding-bottom:15px}.brief dt{font-size:16px}.brief dd{font-size:12.2px;margin:8px 0 0}.brief small{display:block;font-size:12.2px}.brief a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;margin-top:20px}.fee{font:500 22px/1.45 var(--display)}.demo-footer{border-top:1px solid var(--ink);padding:40px 0}.disclosure{font-size:12.2px;line-height:1.8;max-width:960px}.disclosure+.disclosure{margin-top:18px}.disclosure a{text-decoration:underline;text-underline-offset:4px}
/* ÉLAN : blue-green night, acid yellow, full-size scoreboard lettering. */
.multisport .hero h1{font-size:100px;text-transform:uppercase}.multisport .site-header{border-bottom:2px solid var(--accent)}.multisport .button:not(.secondary){background:var(--accent);color:#10252a;border-color:var(--accent)}.multisport .visual{height:580px;transform:rotate(-2deg);padding:8px;background:var(--accent);color:#10252a}.multisport .visual img{object-position:50% 65%}.multisport .photo-credit{font-size:12.2px;padding:4px}.multisport .eyebrow{color:var(--accent)}.multisport .geste>svg{color:var(--accent)}
/* UNION : off-white pitch, deep green, compact athletic wordmark, offset field lines. */
.collectifs .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px}.collectifs .hero-copy{grid-column:2;grid-row:1}.collectifs .visual{grid-column:1;grid-row:1;height:630px}.collectifs .visual picture{padding:9px;border:2px solid var(--ink);background:#c8e44e}.collectifs .hero h1{font-size:98px;text-transform:uppercase}.collectifs .brand-name{letter-spacing:-.08em;transform:skew(-7deg)}.collectifs .button{box-shadow:4px 4px 0 #94ad4e}.collectifs .button.secondary{box-shadow:none}.collectifs .geste{border-top:3px double var(--ink)}.collectifs .brief{background:#c8e44e;border:0}.collectifs .visual:before{content:'';position:absolute;inset:24px -15px 78px 18px;border:1px solid var(--ink);z-index:-1}
/* LIGNE : terracotta court, cream typography, curved baseline, editorial serif. */
.individuels .brand-name{font:400 35px/1 var(--serif);letter-spacing:.035em}.individuels .hero h1{font:400 118px/1.025 var(--serif);letter-spacing:-.035em}.individuels .visual{height:665px;padding:0 15px 0 20px}.individuels .visual picture{border-radius:48% 48% 0 0;overflow:hidden;box-shadow:12px 12px 0 #dbb896}.individuels .photo-credit{display:block;padding-top:7px}.individuels .photo-credit>span{display:block;max-width:none;margin-top:3px}.individuels .button{border-radius:40px}.individuels .geste-title,.individuels .section-heading h2,.individuels .service-grid h3,.individuels .brief h3{font-family:var(--serif);font-weight:400}.individuels .brief{background:#e8d1b4;border:0}
/* PULSE : purple club posters, giant action verb, clean perforated ticket layout. */
.gym .site-header{border-bottom:3px double var(--ink)}.gym .hero{gap:70px;grid-template-columns:minmax(0,49fr) minmax(0,51fr)}.gym .hero h1{font-size:108px;max-width:560px}.gym .hero h1 .location{max-width:410px}.gym .visual{height:535px;background:#362061;color:#fff;padding:11px}.gym .visual picture{clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,8% 100%,0 90%)}.gym .photo-credit{display:block;padding:3px}.gym .photo-credit>span{display:block;max-width:none}.gym .button{background:#362061;border-color:#362061;color:#fff;box-shadow:4px 4px 0 #b296dc}.gym .button.secondary{background:transparent;color:var(--ink);box-shadow:none}.gym .geste{border-top:2px dashed var(--ink)}.gym .brief{background:#362061;color:#fff;border:0}.gym .brief dl>div{border-color:#fff}
/* LES PRÉS : equestrian journal, olive ink, sand stock, fine double ruled headers. */
.equitation .brand-name{font:400 29px/1.15 var(--classic);letter-spacing:.06em}.equitation .site-header{border-bottom:3px double var(--ink)}.equitation .hero h1{font:400 86px/1.08 var(--classic);letter-spacing:-.045em}.equitation .visual{height:680px;padding:12px 20px 0 0}.equitation .visual picture{border:1px solid var(--ink);padding:9px;background:#d5d8c6}.equitation .photo-credit{display:block;padding-top:5px}.equitation .photo-credit>span{display:block;max-width:none;margin-top:3px}.equitation .geste{border-top:3px double var(--ink)}.equitation .geste-title,.equitation .section-heading h2,.equitation .service-grid h3,.equitation .brief h3{font-family:var(--classic);font-weight:400}.equitation .brief{background:#d5d8c6;border:0}
@media(min-width:761px) and (max-width:1180px){.wrap{width:calc(100% - 64px)}.hero,.collectifs .hero,.gym .hero{padding-inline:32px;gap:35px}.desktop-nav{gap:22px}.hero h1,.multisport .hero h1{font-size:80px}.collectifs .hero h1{font-size:82px}.individuels .hero h1{font-size:100px}.gym .hero h1{font-size:90px}.equitation .hero h1{font-size:70px}.hero-actions{gap:8px}.button{font-size:12.2px;padding-inline:13px}.intro{font-size:15px}.geste-title{font-size:20px}.section-heading{gap:45px}.visual,.collectifs .visual{height:580px}.individuels .visual{height:630px}.equitation .visual{height:640px}.gym .visual{height:520px}}
@media(min-width:761px) and (max-width:960px){.wrap{width:calc(100% - 44px)}.hero,.collectifs .hero,.gym .hero{padding-inline:22px;gap:23px}.hero h1,.multisport .hero h1{font-size:65px}.collectifs .hero h1{font-size:67px}.individuels .hero h1{font-size:82px}.gym .hero h1{font-size:75px}.equitation .hero h1{font-size:58px}.hero h1 .location{font-size:24px}.intro{font-size:14px}.button{font-size:12px;padding-inline:11px}.desktop-nav{display:none}.mobile-menu{display:block}.geste{gap:10px}.geste-detail{font-size:12px}.geste-title{font-size:18px}}
@media(max-width:960px){.mobile-menu{position:relative}.mobile-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{width:26px;height:26px}.mobile-menu nav{position:absolute;right:0;top:54px;min-width:230px;background:var(--bg);border:1px solid var(--ink);box-shadow:0 8px 20px #0002;padding:15px;display:grid;gap:2px;font-size:15px}.mobile-menu nav a{min-height:44px;display:flex;align-items:center;padding-inline:9px}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 36px)}.header-inner{height:70px;gap:15px}.desktop-nav{display:none}.mobile-menu{display:block}.brand{gap:10px}.brand svg{width:31px;height:31px}.brand-name,.individuels .brand-name,.equitation .brand-name{font-size:25px}.brand small{font-size:12px;line-height:1.4;max-width:230px}.hero,.collectifs .hero,.gym .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;gap:0;padding:20px 18px 16px}.hero-copy,.collectifs .hero-copy{display:contents}.eyebrow{font-size:12px;letter-spacing:0;margin-bottom:11px}.hero h1,.multisport .hero h1,.collectifs .hero h1,.gym .hero h1{font-size:61px;line-height:1.04;margin-bottom:16px;letter-spacing:-.045em}.individuels .hero h1{font-size:72px;line-height:1.02}.equitation .hero h1{font-size:52px;line-height:1.12}.hero h1 .location{font-size:18px;line-height:1.35;margin-top:11px;max-width:none}.gym .hero h1 .location{max-width:none}.intro{font-size:14px;line-height:1.6}.review{margin-top:12px;font-size:12px;line-height:1.5;gap:9px;height:26px}.review strong{font-size:18px}.hero-actions,.hero-copy>.practical,.hero-copy>.geste{display:none}.visual,.multisport .visual,.collectifs .visual,.individuels .visual,.gym .visual,.equitation .visual{margin:20px 0 0;width:100%;height:334px;align-self:auto;padding:0;transform:none;gap:9px;background:transparent;color:var(--ink);grid-template-rows:296px auto}.visual picture,.multisport .visual picture,.collectifs .visual picture,.individuels .visual picture,.gym .visual picture,.equitation .visual picture{height:296px;min-height:296px;padding:0;clip-path:none;border-radius:0;box-shadow:none;border:0}.visual img{height:296px}.visual:before,.collectifs .visual:before{display:none}.photo-credit,.multisport .photo-credit,.individuels .photo-credit,.gym .photo-credit,.equitation .photo-credit{font-size:12px;line-height:1.4;padding:0;display:block}.photo-credit>span:first-child{display:none}.photo-credit>span,.individuels .photo-credit>span,.gym .photo-credit>span,.equitation .photo-credit>span{margin:0;display:inline}.hero-follow{display:block;padding:28px 0}.hero-follow .practical{margin:0}.hero-follow .geste{margin-top:18px}.hero-follow .geste-title{font-size:20px}.hero-follow .geste-detail{font-size:13px}.hero-follow .geste svg{width:34px;height:34px}.below{padding-block:50px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:25px}.section-heading h2{font-size:40px}.service-grid,.schedule-grid{grid-template-columns:1fr;gap:18px}.service-grid h3,.schedule-grid h3{font-size:28px}.service-grid article,.schedule-grid article{padding-block:18px}.service-grid p{margin-top:12px}.brief{padding:23px;margin-top:28px}.brief h3{font-size:31px}.brief dl{grid-template-columns:1fr;gap:20px}.brief dd,.brief small{font-size:12px}.fee{font-size:20px}.demo-footer{padding:30px 0 112px}.disclosure{font-size:12px}.sticky-actions{position:fixed;bottom:0;left:0;right:0;z-index:45;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--ink)}.sticky-actions .button{min-height:48px;font-size:13px;gap:10px;padding:10px;box-shadow:none}.sticky-actions .button span{font-size:18px}.gym .sticky-actions .button.secondary{border-color:var(--ink)}}
@media(max-width:390px){.hero h1,.multisport .hero h1,.collectifs .hero h1,.gym .hero h1{font-size:57px}.individuels .hero h1{font-size:67px}.equitation .hero h1{font-size:49px}.intro{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:760px){.photo-credit .caption-text{display:none!important}.photo-credit>span+span:before{content:""}}
