:root{--dark:#092d2b;--forest:#123c36;--lime:#d6f46a;--cream:#f5f4ec;--ink:#17352f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,sans-serif;letter-spacing:-.045em}h2{font-size:clamp(42px,5.3vw,83px);line-height:1.02;font-weight:600}h2 em,h1 em{font-weight:400;color:#b9dd6c;font-style:normal}p{line-height:1.75}.header{height:86px;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;gap:28px;padding:0 4.5%;color:#fff;border-bottom:1px solid #ffffff45}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.monogram{font:800 34px Outfit;letter-spacing:-.08em}.dot,footer .footer-logo span{color:var(--lime)}.brand-sub{font-size:9px;letter-spacing:.18em;line-height:1.35;font-weight:700}nav{display:flex;gap:19px;align-items:center;margin:auto;font-size:11px;font-weight:700}nav a:hover{color:var(--lime)}.nav-cta{background:var(--lime);color:var(--dark);padding:14px 19px;border-radius:3px;font-size:12px;font-weight:800;white-space:nowrap}.menu-toggle{display:none}.hero{height:min(850px,100svh);min-height:620px;position:relative;overflow:hidden;color:white}.hero-image{position:absolute;inset:0;background:url('assets/PHOTO-2026-09-22-12-26-49 (2).jpg') center 56%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,30,29,.85),rgba(3,31,30,.43) 55%,rgba(3,31,30,.12)),linear-gradient(0deg,#052a2988,transparent 35%)}.hero-content{position:absolute;left:8%;top:49%;transform:translateY(-40%);max-width:800px}.eyebrow{display:block;color:#64816b;letter-spacing:.2em;font-size:11px;font-weight:800;margin-bottom:26px}.eyebrow.light{color:var(--lime)}h1{font-size:clamp(72px,10vw,156px);line-height:.88;font-weight:600;margin-bottom:32px}h1 em{display:block}.hero-content p{font-size:17px;max-width:520px;color:#f0f3e8}.hero-actions{display:flex;gap:12px;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;border-radius:3px;font-weight:800;font-size:12px}.btn-lime{background:var(--lime);color:var(--dark)}.btn-outline{border:1px solid #fff8;color:white}.hero-index,.hero-scroll{position:absolute;bottom:35px;font-size:10px;letter-spacing:.14em;font-weight:800}.hero-index{left:8%}.hero-index span{margin-left:30px;color:var(--lime)}.hero-scroll{right:7%}.ticker{background:var(--lime);display:flex;justify-content:space-around;align-items:center;gap:15px;padding:17px 10px;font:800 12px Outfit;letter-spacing:.13em;overflow:hidden;white-space:nowrap}.ticker b{font-size:18px}.section{padding:110px 8%}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;align-items:center}.intro h2{margin-bottom:0}.intro h2 em,.activities h2 em,.events h2 em,.gallery h2 em,.partners h2 em{color:#67915c}.intro p{font-size:17px;color:#66736c}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:290px;color:#69776f;font-size:14px}.activities{background:#e9ede4}.activity-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:270px 270px;gap:14px}.activity{position:relative;overflow:hidden;background-image:linear-gradient(0deg,#001c1bbd,transparent 70%),var(--photo);background-position:center;background-size:cover;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:background-size .3s}.activity:hover{filter:brightness(1.1)}.activity.large{grid-row:span 2}.activity-num{font-size:10px;letter-spacing:.16em;font-weight:800}.activity h3{font-size:clamp(30px,3.2vw,51px);line-height:1.05;margin-bottom:8px}.activity p{font-size:13px}.circle-arrow{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid #ffffffaa;border-radius:50%;font-size:18px}.photo-note{font-size:11px;color:#76847b;margin:15px 0 0}.feature{min-height:570px;display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white}.feature-photo{background:url('assets/reservation-padel-hd.png') center 50%/cover}.feature-content{padding:100px 13%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.feature h2{font-size:clamp(42px,4.4vw,75px)}.feature p{color:#b8c7c0}.feature .btn{margin-top:20px}.events{background:var(--cream)}.event-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:430px;background:#e7e9de}.event-photo{background:url('assets/PHOTO-2026-09-22-12-26-48.jpg') center/cover}.event-copy{padding:12%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.event-copy h3{font-size:clamp(32px,3vw,50px)}.event-copy p{color:#66736c}.gallery{background:#e9ede4}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{width:100%;height:350px;object-fit:cover}.gallery-grid img:nth-child(even){margin-top:32px}.partners{text-align:center}.partners p{color:#66736c}.partner-placeholder{border-top:1px solid #cad3c5;border-bottom:1px solid #cad3c5;margin-top:50px;padding:35px;display:flex;gap:40px;justify-content:center;font:700 16px Outfit;letter-spacing:.15em}.contact{background:var(--forest);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact p{color:#bbcec5}.contact-card{border:1px solid #ffffff55;padding:42px}.contact-card>span{font-size:11px;letter-spacing:.2em;color:var(--lime)}.contact-card h3{font-size:36px;margin:20px 0}.contact-card .btn{margin-top:15px}footer{background:#06231f;color:white;padding:60px 8%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer .footer-logo{font:800 58px Outfit;letter-spacing:-.1em}footer p{font-size:12px;line-height:1.4}footer a{font-size:12px}footer small{width:100%;color:#9aafa5;font-size:10px}@media(max-width:1250px){nav{gap:10px;font-size:10px}.header{gap:15px;padding:0 3%}.brand-sub{display:none}}@media(max-width:900px){.header{height:72px;padding:0 5%}.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:white;font-size:28px;cursor:pointer}.nav-cta{padding:12px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#092d2bf7;padding:25px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px;font-size:13px}.hero-content{left:6%;right:6%}.section{padding:75px 6%}.intro{grid-template-columns:1fr;gap:25px}.activity-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,260px)}.activity.large{grid-row:span 2}.feature{grid-template-columns:1fr}.feature-photo{min-height:320px}.feature-content{padding:65px 8%}.gallery-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:10px}.section-heading p{max-width:500px}}@media(max-width:560px){.hero{min-height:690px}.hero-content{top:46%}h1{font-size:clamp(65px,16vw,100px)}.hero-content p{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-scroll{display:none}.ticker{justify-content:flex-start}.activity-grid{grid-template-columns:1fr;grid-template-rows:auto}.activity,.activity.large{grid-row:auto;min-height:310px}.event-grid{grid-template-columns:1fr}.event-photo{min-height:270px}.gallery-grid img{height:230px}.gallery-grid img:nth-child(even){margin-top:0}.partner-placeholder{font-size:11px;gap:15px;padding:25px 0}.contact-card{padding:25px}.nav-cta{font-size:10px}.section{padding:65px 6%}}

.brand-image{display:block;width:150px;max-height:64px;object-fit:contain}.footer-brand{width:180px;max-height:110px;object-fit:contain}.gallery-grid img{object-fit:cover;object-position:center}.contact-card a:not(.btn){color:inherit;text-decoration:underline}@media(max-width:720px){.brand-image{width:105px;max-height:52px}}

/* V3 — fiches pratiques */
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}.info-card{padding:30px;background:#f2f6ef;border:1px solid #dbe7da;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.info-card h3{font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.1;margin:0;color:#103b31}.info-card p{margin:0;line-height:1.65;color:#3b514a}.info-card a{color:#125e46;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.details>p{color:#3b514a}.feature-content .btn{margin:8px 8px 0 0}.more{background:#fff}@media(max-width:700px){.info-grid{grid-template-columns:1fr}.info-card{padding:22px}}

/* V4 — Hero slider immersif */
.hero-slider{height:100svh;min-height:620px;background:var(--dark)}
.hero-slides,.hero-slide,.hero-photo{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1.05s ease,visibility 1.05s;overflow:hidden}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-photo{background-image:var(--hero-photo);background-position:center;background-size:cover;transform:scale(1.08);transition:transform 7s cubic-bezier(.2,.65,.25,1)}
.hero-slide.is-active .hero-photo{transform:scale(1)}
.hero-slide .hero-content{z-index:2;opacity:0;transform:translateY(calc(-40% + 28px));transition:opacity .75s ease .25s,transform .85s cubic-bezier(.2,.7,.2,1) .25s}
.hero-slide.is-active .hero-content{opacity:1;transform:translateY(-40%)}
.hero-slide .eyebrow,.hero-slide h1,.hero-slide p,.hero-slide .hero-actions{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.hero-slide.is-active .eyebrow,.hero-slide.is-active h1,.hero-slide.is-active p,.hero-slide.is-active .hero-actions{opacity:1;transform:none}
.hero-slide.is-active .eyebrow{transition-delay:.35s}.hero-slide.is-active h1{transition-delay:.48s}.hero-slide.is-active p{transition-delay:.62s}.hero-slide.is-active .hero-actions{transition-delay:.74s}
.hero-slider>.hero-index,.hero-slider>.hero-scroll,.hero-controls{z-index:4}
.hero-counter{margin-left:24px;color:var(--lime)}
.hero-controls{position:absolute;right:7%;bottom:70px;display:flex;align-items:center;gap:14px}
.hero-controls>button{width:38px;height:38px;border:1px solid #ffffff66;border-radius:50%;background:#092d2b55;color:#fff;cursor:pointer;font-size:17px;backdrop-filter:blur(5px)}
.hero-dots{display:flex;gap:7px}.hero-dots button{width:26px;height:3px;padding:0;border:0;background:#ffffff55;cursor:pointer;transition:width .3s,background .3s}.hero-dots button.is-active{width:45px;background:var(--lime)}
@media(max-width:900px){.hero-slider{min-height:700px}.hero-controls{right:6%;bottom:34px}.hero-slider>.hero-index{bottom:42px}.hero-slider>.hero-scroll{display:none}}
@media(max-width:560px){.hero-slide .hero-content{top:45%;transform:translateY(calc(-40% + 22px))}.hero-slide.is-active .hero-content{transform:translateY(-40%)}.hero-slide h1{font-size:clamp(54px,15vw,82px)}.hero-controls{bottom:28px}.hero-slider>.hero-index{bottom:85px}.hero-controls>button{width:34px;height:34px}.hero-dots button{width:18px}.hero-dots button.is-active{width:32px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-photo,.hero-slide .hero-content,.hero-slide .eyebrow,.hero-slide h1,.hero-slide p,.hero-slide .hero-actions{transition:none!important}.hero-photo{transform:none!important}}

/* V7 — Partenaires officiels */
.partner-grid{margin-top:50px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.partner-logo{min-height:150px;background:#fff;border:1px solid #dfe5dc;border-radius:14px;padding:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(9,45,43,.05)}.partner-logo img{display:block;max-width:100%;width:auto;height:auto;max-height:105px;object-fit:contain}.partner-logo:nth-child(6) img{max-height:125px}.partners .partner-placeholder{display:none}@media(max-width:900px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:32px}.partner-logo{min-height:115px;padding:14px}.partner-logo img{max-height:82px}}

/* V9 — Planning Aquagym */
.aqua-card{grid-column:span 2}.aqua-schedule{margin:18px 0 20px;padding:18px;border-radius:18px;background:rgba(8,66,92,.06)}.aqua-schedule h4{margin:0 0 10px;color:#087da4;font-family:Outfit,sans-serif;font-size:1rem}.aqua-schedule h4:not(:first-child){margin-top:18px}.aqua-schedule p{margin:7px 0}.aqua-card .text-link{display:inline-flex;margin-top:4px}@media(max-width:760px){.aqua-card{grid-column:span 1}}

/* V12 — bannière sports premium */
.sports-banner{background:#061d1c;padding:clamp(28px,4vw,64px) 0;overflow:hidden}
.sports-banner-media{position:relative;width:min(100%,2200px);margin:auto;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.22);isolation:isolate}
.sports-banner-media img{display:block;width:100%;height:auto;transform:scale(1.035);transition:transform 1.2s cubic-bezier(.2,.7,.2,1);animation:bannerBreath 12s ease-in-out infinite alternate;will-change:transform}
.sports-banner-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 20%,transparent 80%,rgba(0,0,0,.08));z-index:1}
.banner-zone{position:absolute;top:0;bottom:0;z-index:2;outline:0}
.banner-zone::after{content:"";position:absolute;inset:0;background:rgba(190,238,82,0);transition:background .35s ease}
.banner-zone:hover::after{background:rgba(190,238,82,.055)}
.banner-padel{left:0;width:33.333%}.banner-tennis{left:33.333%;width:33.334%}.banner-pickle{right:0;width:33.333%}
@keyframes bannerBreath{from{transform:scale(1.025) translate3d(-.35%,0,0)}to{transform:scale(1.065) translate3d(.35%,0,0)}}
@media (prefers-reduced-motion:reduce){.sports-banner-media img{animation:none;transform:none}}
@media(max-width:700px){.sports-banner{padding:22px 0}.sports-banner-media{width:100%}.sports-banner-media img{width:190%;max-width:none;transform-origin:center;animation:bannerPanMobile 14s ease-in-out infinite alternate}@keyframes bannerPanMobile{from{transform:translateX(0) scale(1.02)}to{transform:translateX(-47%) scale(1.02)}}.banner-zone{display:none}}
.kids-card a{display:block;margin-top:6px}

/* V13 — Mobile Perfect */
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}img{max-width:100%}.btn,.nav-cta,.menu-toggle,.hero-controls button,.banner-zone{-webkit-tap-highlight-color:transparent}
@media(max-width:700px){
  .header{position:absolute;height:68px;padding:0 18px;gap:10px}.brand-image{width:96px;max-height:48px}.menu-toggle{font-size:25px;padding:10px;min-width:44px;min-height:44px}.nav-cta{padding:11px 12px;font-size:9px;min-height:42px;display:flex;align-items:center}nav{top:68px;padding:12px 18px 18px;box-shadow:0 18px 30px rgba(0,0,0,.18)}nav a{padding:14px 6px;border-bottom:1px solid #ffffff18;font-size:13px}
  .hero-slider{height:100svh;min-height:660px;max-height:820px}.hero-slide .hero-content{left:20px;right:20px;top:44%;max-width:none}.hero-slide h1{font-size:clamp(48px,14vw,72px);line-height:.9;margin-bottom:22px}.hero-slide .eyebrow{font-size:9px;margin-bottom:16px}.hero-slide .hero-content p{font-size:13px;line-height:1.55;max-width:92%}.hero-actions{gap:9px;margin-top:22px}.hero-actions .btn{width:100%;min-height:48px;padding:14px 16px;gap:12px}.hero-slider>.hero-index{left:20px;bottom:74px}.hero-counter{margin-left:12px}.hero-controls{right:20px;bottom:24px}.hero-controls>button{display:none}.hero-dots{gap:5px}.hero-dots button{height:4px;min-width:22px}.hero-dots button.is-active{width:34px}
  .hero-slide:nth-child(1) .hero-photo{background-position:54% center}.hero-slide:nth-child(2) .hero-photo{background-position:52% center}.hero-slide:nth-child(3) .hero-photo{background-position:56% center}
  .ticker{padding:13px 18px;gap:22px;font-size:10px;overflow-x:auto;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}.ticker b{font-size:14px}
  .section{padding:58px 20px}h2{font-size:clamp(38px,11vw,54px)}.intro p{font-size:15px}.section-heading{margin-bottom:28px}.section-heading p{font-size:13px}.eyebrow{margin-bottom:17px;font-size:9px}
  .activity-grid{gap:10px}.activity,.activity.large{min-height:285px;border-radius:2px;padding:20px}.activity h3{font-size:38px}.activity p{font-size:12px}
  .feature-photo{min-height:58vw;max-height:360px;background-position:center 48%}.feature-content{padding:52px 20px}.feature h2{font-size:clamp(38px,11vw,52px);margin-bottom:22px}.feature-content p{font-size:14px}.feature-content .btn{width:100%;min-height:50px;margin:7px 0 0;gap:10px;padding:14px 15px;text-align:left}
  .info-grid{gap:12px;margin-top:24px}.info-card{padding:20px;border-radius:14px}.info-card h3{font-size:27px}.info-card p,.info-card a{font-size:14px}.aqua-schedule{padding:14px;margin:10px 0 14px}.aqua-schedule p{font-size:13px;line-height:1.45}
  .event-grid{min-height:0}.event-photo{min-height:62vw}.event-copy{padding:34px 20px}.event-copy h3{font-size:34px}.event-copy p{font-size:14px}
  .gallery-grid{gap:8px}.gallery-grid img{height:46vw;min-height:170px}.partner-grid{gap:8px}.partner-logo{min-height:100px;padding:12px;border-radius:10px}.partner-logo img{max-height:70px}
  .contact{gap:28px}.contact-card{padding:22px}.contact-card h3{font-size:29px}.contact-card .btn{width:100%;min-height:50px}footer{padding:42px 20px;align-items:flex-start;flex-direction:column}.footer-brand{width:145px}
  .sports-banner{padding:18px 0}.sports-banner-media{height:clamp(230px,65vw,330px)}.sports-banner-media img{height:100%;width:auto;min-width:205%;max-width:none;object-fit:cover;animation:bannerPanMobile 16s ease-in-out infinite alternate}
}
@media(max-width:390px){.nav-cta{display:none}.hero-slide h1{font-size:46px}.hero-slide .hero-content p{max-width:100%}.hero-slider>.hero-index{bottom:70px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.partner-grid{grid-template-columns:1fr 1fr}}
@media(hover:none){.activity:hover{filter:none}.banner-zone:hover::after{background:transparent}}

/* V14 — bannière toutes les activités */
@media(min-width:701px){
  .sports-banner-media .banner-padel{left:0;width:14.285%}
  .sports-banner-media .banner-tennis{left:14.285%;width:14.285%}
  .sports-banner-media .banner-pickle{left:28.57%;right:auto;width:14.285%}
  .sports-banner-media .banner-piscine{left:42.855%;width:14.285%}
  .sports-banner-media .banner-fitness{left:57.14%;width:14.285%}
  .sports-banner-media .banner-kids{left:71.425%;width:14.285%}
  .sports-banner-media .banner-bar{left:85.71%;width:14.29%}
}

/* V15 — logo CCM plus présent */
.brand-image{width:190px;max-height:76px}
.footer-brand{width:320px;max-height:180px}
@media(max-width:900px){.brand-image{width:135px;max-height:58px}.footer-brand{width:250px;max-height:145px}}
@media(max-width:560px){.brand-image{width:120px;max-height:54px}.footer-brand{width:220px;max-height:130px}}
/* V16 — Salle de sport + suppression de l’ancienne photo réservation */
.feature.feature-text-only{display:block;background:#073b36;min-height:auto}
.feature.feature-text-only .feature-content{max-width:900px;margin:0 auto;padding:clamp(64px,8vw,120px) clamp(24px,7vw,110px)}
.fitness{background:#0a302d;color:#fff}
.fitness .section-heading p{color:rgba(255,255,255,.72)}
.fitness .eyebrow{color:#c9ef5a}
.fitness-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:18px;margin-top:40px}
.fitness-main,.fitness-card{border-radius:24px;padding:clamp(26px,3vw,44px);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055)}
.fitness-main{background:linear-gradient(135deg,rgba(7,59,54,.90),rgba(7,59,54,.72)),url('assets/madinform-fond-cours.png') center/cover no-repeat;min-height:430px;display:flex;flex-direction:column;justify-content:flex-end}
.fitness-main h3,.fitness-card h3{font-family:Outfit,sans-serif;font-size:clamp(28px,3vw,48px);line-height:1;margin:12px 0 18px}
.fitness-main p,.fitness-card p{color:rgba(255,255,255,.82);line-height:1.65}
.fitness-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.fitness-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.15);font-size:13px;font-weight:700}
.fitness-note{font-size:13px;opacity:.75;margin-top:24px}
.fitness-card.roller{background:#f3efe5;color:#073b36}
.fitness-card.roller .eyebrow{color:#466d37}
.fitness-card.roller p{color:#294541}
@media(max-width:900px){.fitness-grid{grid-template-columns:1fr}.fitness-main{min-height:380px}.feature.feature-text-only .feature-content{padding:64px 24px}}

/* V20 — Stages vacances */
.holiday-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 16px}.holiday-tags span{display:inline-flex;padding:8px 11px;border:1px solid rgba(9,45,43,.16);border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.1;background:rgba(195,240,83,.16)}
@media(max-width:640px){.holiday-tags{gap:6px}.holiday-tags span{font-size:.72rem;padding:7px 9px}}

/* V22 — cadrage bannière activités : logo CCM protégé sur ordinateur et mobile */
@media(min-width:701px){
  .sports-banner-media img{
    transform:scale(1.008);
    transform-origin:center 46%;
    animation:bannerBreathV22 12s ease-in-out infinite alternate;
  }
  @keyframes bannerBreathV22{
    from{transform:scale(1.002) translate3d(-.12%,0,0)}
    to{transform:scale(1.015) translate3d(.12%,0,0)}
  }
}
@media(max-width:700px){
  .sports-banner-media{height:clamp(245px,68vw,345px)}
  .sports-banner-media img{
    height:100%;width:auto;min-width:205%;max-width:none;
    object-fit:contain;object-position:center top;
    transform:none;transform-origin:center top;
    animation:bannerPanMobileV22 16s ease-in-out infinite alternate;
  }
  @keyframes bannerPanMobileV22{
    from{transform:translateX(0)}
    to{transform:translateX(-51.2%)}
  }
}
/* V27 — Padel Experience : taille harmonisée avec les autres partenaires */
.partner-logo img[alt="Padel Experience"]{max-height:130px;width:78%;max-width:260px;object-fit:contain}
@media(max-width:620px){.partner-logo img[alt="Padel Experience"]{max-height:96px;width:88%;max-width:220px}}
/* V28 — Padel Experience: logo recadré et agrandi pour une présence homogène */
.partner-logo img[alt="Padel Experience"]{max-height:125px;max-width:88%;}
@media(max-width:620px){.partner-logo img[alt="Padel Experience"]{max-height:94px;max-width:92%;}}

/* V29 — rubrique Nat’Attitude */
.natattitude{background:#f3efe5}.nat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.nat-hero{grid-row:span 2;min-height:520px;padding:clamp(30px,4vw,54px);border-radius:26px;background:linear-gradient(150deg,rgba(5,51,48,.96),rgba(10,80,70,.88));color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.nat-hero h3{font-family:Outfit,sans-serif;font-size:clamp(34px,4vw,58px);line-height:.98;margin:14px 0 20px}.nat-hero p{color:rgba(255,255,255,.82);line-height:1.65;max-width:620px}.nat-card,.nat-contact{background:#fff;border:1px solid rgba(9,45,43,.10);border-radius:24px;padding:30px;box-shadow:0 12px 32px rgba(9,45,43,.06)}.nat-card h3,.nat-contact h3{font-family:Outfit,sans-serif;font-size:26px;line-height:1.05;margin:14px 0 12px;color:#073b36}.nat-card p,.nat-contact p{color:#4f6662;line-height:1.6}.nat-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#c9ef5a;color:#073b36;font-weight:800}.nat-contact{background:#073b36;color:#fff}.nat-contact h3{color:#fff;font-size:32px}.nat-contact p,.nat-contact a{color:rgba(255,255,255,.86)}.nat-contact .nat-link{color:#c9ef5a}.natattitude .section-heading p{max-width:680px}@media(max-width:980px){.nat-grid{grid-template-columns:1fr 1fr}.nat-hero{grid-column:1/-1;grid-row:auto;min-height:400px}.nat-contact{grid-column:1/-1}}@media(max-width:620px){.nat-grid{grid-template-columns:1fr}.nat-hero,.nat-contact{grid-column:auto}.nat-hero{min-height:360px}.nat-card,.nat-contact{padding:24px}}

/* Footer compact premium — CCM */
footer{padding:28px 8%;gap:28px;flex-wrap:nowrap;min-height:0}
footer .footer-brand{width:230px;max-height:105px;object-fit:contain;flex:0 0 auto}
footer p{margin:0;font-size:12px;line-height:1.35}
footer a{font-size:12px;white-space:nowrap}
footer small{width:auto;margin-left:auto;color:#9aafa5;font-size:10px;line-height:1.45;text-align:right}
@media(max-width:900px){footer{padding:28px 6%;flex-wrap:wrap}.footer-brand{width:190px!important;max-height:95px!important}footer small{width:100%;margin-left:0;text-align:left}}
@media(max-width:560px){footer{padding:24px 6%;gap:16px;flex-direction:column;align-items:flex-start}.footer-brand{width:180px!important;max-height:90px!important}footer small{width:100%;text-align:left}}
