body:not(.home) .site-header{background:linear-gradient(180deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.24) 62%,transparent 100%);backdrop-filter:none}
body:not(.home) .site-header.is-scrolled{background:rgba(4,4,4,.92);backdrop-filter:blur(14px)}
.main-nav a.is-active,.main-nav .current-menu-item>a{color:var(--red);font-weight:700}
.sub-hero{min-height:1020px;position:relative;display:flex;align-items:flex-start;background-color:#393939;background-position:var(--bg-position,center center);background-repeat:no-repeat;background-size:cover;color:#fff;overflow:hidden}
.sub-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,55,55,var(--section-overlay,.9)),rgba(55,55,55,var(--section-overlay-soft,.58)))}
.sub-hero.is-empty:after{content:"AJOUTER UNE PHOTO";position:absolute;right:7%;bottom:8%;color:rgba(255,255,255,.12);font-size:12px;letter-spacing:.16em}
.sub-hero .shell{position:relative;z-index:1;padding-top:350px}
.sub-hero .eyebrow{margin-bottom:35px}
.sub-hero h1{max-width:1160px;font-size:clamp(76px,5.6vw,108px);line-height:.88}
.sub-hero h1 .dot{color:var(--red)}
.sub-hero .lead{max-width:820px;margin:45px 0 0;color:#eee;font-size:25px;line-height:1.3}
.inner-section{position:relative;padding:125px 0}
.custom-bg.has-custom-bg{background-position:var(--bg-position,center center);background-size:cover;overflow:hidden}
.custom-bg.has-custom-bg:before{content:"";position:absolute;z-index:0;inset:0;background:rgba(var(--overlay-rgb,0,0,0),var(--section-overlay,.75));pointer-events:none}
.custom-bg.has-custom-bg>.shell{position:relative;z-index:1}
.inner-light{background:#f5f1ea;color:#050505}
.inner-dark{background:#050505;color:#fff}
.inner-grey{background:#303030;color:#fff}
.rounded-top{border-radius:72px 72px 0 0}
.pull-up{margin-top:-72px;z-index:3}
.page-two-col{display:grid;grid-template-columns:1fr 1fr;gap:130px;align-items:center}
.page-kicker{margin:0 0 30px;color:var(--red);font-size:22px;font-weight:700}
.page-kicker.gold{color:var(--gold)}
.page-title{font-size:clamp(50px,3.7vw,72px);line-height:.94}
.page-copy{font-size:21px;line-height:1.5}
.page-copy p{margin:0 0 26px}
.page-button{min-height:56px;margin-top:30px;padding-inline:30px;font-size:16px}
.media-panel{min-height:570px;border-radius:54px;background:#060606 center/cover no-repeat;overflow:hidden}
.media-panel.is-empty{display:grid;place-items:center;color:rgba(255,255,255,.18);font-size:12px;letter-spacing:.16em}
.media-panel.is-empty:after{content:"AJOUTER LA PHOTO"}

/* Association */
.mission{min-height:520px;display:flex;align-items:center}
.commitments{min-height:835px;padding-top:125px}
.commitments .page-kicker{margin-bottom:110px}
.commitment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.commitment-card{min-height:375px;display:flex;flex-direction:column;padding:30px 24px 34px;border-radius:30px;background:#c51f34;color:#fff}
.commitment-card,.category-card,.u-card,.price-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.commitment-card:hover,.category-card:hover,.u-card:hover,.price-card:hover{transform:translateY(-9px);box-shadow:0 24px 55px rgba(0,0,0,.18)}
.commitment-card .number{font-size:22px;font-weight:700}
.commitment-card h3{margin-top:auto;font-family:Skoda,sans-serif;font-size:27px;letter-spacing:-.02em}
.commitment-card p{margin:28px 0 0;font-size:17px;line-height:1.45}
.association-venue{min-height:705px;display:flex;align-items:center}

/* Football & basketball */
.sport-program{min-height:830px;display:flex;align-items:center}
.sport-program .page-two-col{align-items:start}
.feature-intro{margin:0 0 72px;font-size:24px;line-height:1.5}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 74px}
.feature{display:flex;align-items:flex-start;flex-direction:column;color:var(--gold);font-size:var(--sport-feature-text-size,24px);font-weight:700;line-height:1.2}
.feature-icon{width:var(--sport-feature-icon-size,48px);height:var(--sport-feature-icon-size,48px);display:flex;align-items:center;justify-content:flex-start;margin-bottom:20px;color:var(--gold)}
.feature-icon i{display:block;font-size:var(--sport-feature-icon-size,48px);font-style:normal;line-height:1}
.feature-icon-image{width:100%;height:100%;object-fit:contain;object-position:left center}
.categories{min-height:1260px;padding-top:180px}
.categories-head{align-items:start;margin-bottom:90px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.category-card{min-height:470px;display:flex;flex-direction:column;padding:34px 28px;border-radius:34px;background:#df1d35;color:#fff}
.category-card .category-number{font-size:19px;font-weight:700}
.category-card .age{display:inline-block;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.7);font-size:19px;font-weight:700}
.category-card h3{margin-top:auto;font-family:Skoda,sans-serif;font-size:28px;letter-spacing:-.02em}
.category-card p{margin:38px 0 0;font-size:18px;line-height:1.45}
.pricing{min-height:1040px;padding-top:160px;background:#eee9e1}
.pricing .page-title{max-width:720px}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:80px}
.price-card{min-height:680px;padding:var(--sport-price-card-padding,64px);border-radius:40px;background:#df1d35;color:#fff}
.price-card.dark{background:#050505}
.price-line{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}
.price-line strong{font-family:Peugeot,sans-serif;font-size:104px;line-height:.82}
.price-line span{font-size:24px;font-weight:700;line-height:1.05}
.price-card.dark .price-line strong,.price-card.dark .price-label{color:#f0c75e}
.price-label{margin:0 0 20px;color:#f0c75e;font-size:24px}
.price-card .dates{margin:18px 0 26px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.45);font-size:19px}
.price-card ul{margin:0;padding:0;list-style:none;font-size:21px;line-height:1.75}
.price-card ul li:before{content:"✓";display:inline-grid;width:18px;height:18px;margin-right:13px;border:1px solid currentColor;border-radius:4px;place-items:center;font-size:11px}
.price-card h3{margin:6px 0 0;font-size:36px;line-height:1.05}
.price-card .page-copy{max-width:560px;margin:34px 0 0;font-size:var(--sport-price-copy-size,23px);line-height:1.5}
.price-card .button{min-height:var(--sport-price-button-height,68px);margin-top:46px;padding-inline:36px;font-size:var(--sport-price-button-size,20px)}
.price-card:not(.dark) .button{background:#fff;color:var(--red)}
.price-card.dark .button{background:#f0c75e;color:#fff}

/* Basketball */
.league{min-height:780px;display:flex;align-items:center}
.league-badge{width:330px;height:385px;margin-inline:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:48px;background:#eec45f;color:#fff;text-align:center}
.league-badge strong{font-family:Peugeot,sans-serif;font-size:175px;line-height:.72}
.league-badge span{margin-top:35px;font-size:31px;line-height:.9;text-transform:uppercase}
.basket-categories{min-height:1000px;padding-top:120px;background:#ebe6de}
.basket-categories .categories-head{margin-bottom:85px}
.u-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:40px 72px}
.u-card{width:245px;min-height:235px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:35px;background:#df1d35;color:#fff;text-align:center}
.u-card strong{font-family:Peugeot,sans-serif;font-size:79px;line-height:.9}
.u-card span{margin-top:12px;font-size:23px;font-weight:700}
.basket-cta{min-height:510px;display:flex;align-items:center;background:#303030}
.basket-price strong{font-family:Peugeot,sans-serif;font-size:83px}
.basket-price sup{font-size:22px}
.basket-price p{max-width:430px;font-size:21px;line-height:1.35}

/* Camps */
.program-catalogue{min-height:1140px;padding-top:115px}
.programme-row{min-height:235px;position:relative;padding:35px 90px 35px 5px;border-bottom:1px solid var(--gold)}
.programme-row:first-child{border-top:0}
.programme-row .meta{display:flex;gap:34px;color:var(--gold);font-size:20px;font-weight:700}
.programme-row h2{margin:28px 0 15px;font-size:56px}
.programme-row p{max-width:760px;margin:0;color:#ddd;font-size:20px;line-height:1.35}
.programme-row .row-arrow{position:absolute;right:10px;top:50%;color:var(--gold);font-size:62px;transform:translateY(-50%);transition:transform .25s}
.programme-row:hover .row-arrow{transform:translate(10px,-50%)}
.custom-programme{min-height:500px;display:flex;align-items:center}
.custom-programme .page-copy{font-size:26px}

/* Registration */
.registration-hero{min-height:780px}
.registration-hero .shell{padding-top:300px}
.registration-hero h1{max-width:950px;font-size:90px}
.registration-hero .lead{max-width:900px;margin-top:32px;font-size:23px;line-height:1.35}
.registration-shell{min-height:1750px;padding:120px 0 170px}
.registration-layout{display:grid;grid-template-columns:360px 1fr;gap:85px;align-items:start}
.form-sidebar h2{margin:0 0 45px;color:var(--red);font-family:Skoda,sans-serif;font-size:30px;letter-spacing:0;text-transform:none}
.step-nav{margin:0;padding:0;list-style:none;border-top:1px solid #cfc9c0}
.step-nav li{min-height:64px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #cfc9c0;color:#2c2b29;font-size:19px;font-weight:700}
.step-nav b{width:34px;height:34px;display:grid;border:1px solid #2c2b29;border-radius:50%;place-items:center}
.step-nav li.is-active{color:var(--red)}.step-nav li.is-active b,.step-nav li.is-complete b{border-color:var(--red);background:var(--red);color:#fff}
.form-help{margin-top:65px;padding:28px 24px;border-radius:22px;background:#e9e3da}
.form-help h3{font-family:Skoda,sans-serif;font-size:20px;letter-spacing:0;text-transform:none}
.form-help p{font-size:16px;line-height:1.35}
.registration-card{min-height:950px;padding:65px 55px 50px;border:1px solid #d5d2ce;border-radius:32px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.03)}
.form-step[hidden]{display:none}
.form-step .step-label{margin:0 0 20px;color:var(--red);font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.form-step h2{font-family:Skoda,sans-serif;font-size:40px;font-weight:400;letter-spacing:0;line-height:1.05;text-transform:none}
.form-step .step-intro{margin:14px 0 55px;color:#706d68;font-size:20px;line-height:1.4}
.programme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.programme-option{min-height:210px;position:relative;padding:25px 18px;border:1px solid #d6d3cf;border-radius:24px;cursor:pointer}
.programme-option:has(input:checked){border-color:var(--red);background:#fff9f8}
.programme-option input{position:absolute;right:20px;top:20px;width:21px;height:21px;accent-color:var(--red)}
.programme-option .option-icon{font-size:34px}
.programme-option strong{display:block;margin-top:58px;font-size:19px}.programme-option small{display:block;margin-top:8px;color:#5e5b57;font-size:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 35px}.form-field.full{grid-column:1/-1}
.form-field label,.form-field>span{display:block;margin-bottom:12px;font-size:17px;font-weight:700}
.form-field input,.form-field select{width:100%;height:68px;padding:0 18px;border:1px solid #d7d4d0;border-radius:9px;background:#fff;font-size:17px}
.form-field input:focus,.form-field select:focus{outline:2px solid rgba(197,31,52,.18);border-color:var(--red)}
.slots{grid-column:1/-1;margin:18px 0 0;padding:30px 20px 25px;border:1px solid #d7d4d0;border-radius:12px}
.slots legend{padding:0 12px;font-size:21px;font-weight:700}.slot-options{display:flex;flex-wrap:wrap;gap:26px;margin-top:15px}.slot-options label{font-size:17px}.slot-options input{margin-right:8px;accent-color:var(--red)}
.upload-list{display:grid;gap:18px}.upload-box{min-height:120px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:24px 30px;border:1px dashed #bbb7b2;border-radius:14px}.upload-box strong{display:block;font-size:21px}.upload-box small{display:block;margin-top:8px;color:#706d68;font-size:16px}.upload-box input{font-size:17px}
.consents{margin-top:32px;padding:25px 28px;border-radius:12px;background:#f2ede6}.consents label{display:block;margin:12px 0;font-size:16px;line-height:1.35}.consents input{margin-right:10px;accent-color:var(--red)}
.form-actions{display:flex;justify-content:space-between;margin-top:55px;padding-top:38px;border-top:1px solid #ddd9d4}.form-actions .button{min-width:155px;min-height:58px;border:1px solid #d7d4d0;background:#fff;color:#1b1b1b;font-size:17px}.form-actions .button-next,.form-actions .button-submit{margin-left:auto;border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 16px 32px rgba(197,31,52,.18)}
.form-error{display:none;margin:0 0 25px;padding:14px 18px;border-radius:8px;background:#fff0f1;color:#a31529;font-weight:700}.form-error.is-visible{display:block}
.server-form-error{margin:0 0 35px;padding:18px 22px;border-radius:12px;background:#fff0f1;color:#a31529;font-size:17px;font-weight:700}
.registration-success{max-width:900px;margin:0 auto;padding:70px;border-radius:32px;background:#fff;text-align:center}.registration-success h2{font-size:58px}.registration-success p{font-size:20px;line-height:1.5}
.registration-form .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-scale.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .sub-hero{min-height:850px}.sub-hero .shell{padding-top:280px}.page-two-col{gap:70px}.commitment-grid{grid-template-columns:1fr 1fr}.categories,.basket-categories{min-height:auto}.category-grid{gap:22px}.registration-layout{grid-template-columns:280px 1fr;gap:35px}.registration-card{padding-inline:35px}
}
@media(max-width:900px){
  body:not(.home) .site-header{background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}body:not(.home) .site-header.is-scrolled{background:rgba(4,4,4,.94)}.sub-hero{min-height:720px}.sub-hero .shell{padding-top:220px}.sub-hero h1{font-size:68px}.sub-hero .lead{font-size:20px}.inner-section{padding:90px 0}.rounded-top{border-radius:45px 45px 0 0}.pull-up{margin-top:-45px}.page-two-col{grid-template-columns:1fr;gap:55px}.mission,.association-venue,.sport-program,.league,.basket-cta,.custom-programme{min-height:auto}.page-kicker{font-size:18px}.page-copy{font-size:18px}.commitments{min-height:auto}.commitments .page-kicker{margin-bottom:60px}.feature-grid{gap:42px}.category-grid{grid-template-columns:1fr 1fr}.category-card:last-child{grid-column:1/-1}.pricing{min-height:auto}.pricing-grid{gap:25px}.league-badge{margin:20px 0 0}.u-grid{gap:25px}.registration-hero{min-height:650px}.registration-hero .shell{padding-top:225px}.registration-hero h1{font-size:64px}.registration-hero .lead{font-size:19px}.registration-shell{min-height:auto}.registration-layout{grid-template-columns:1fr}.form-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-sidebar h2{grid-column:1/-1;margin-bottom:0}.form-help{margin-top:0}.registration-card{min-height:auto}.programme-options{grid-template-columns:1fr}.programme-option{min-height:145px}.programme-option strong{margin-top:25px}
}
@media(max-width:620px){
  .sub-hero{min-height:650px}.sub-hero .shell{padding-top:185px}.sub-hero h1{font-size:48px}.sub-hero .lead{margin-top:30px;font-size:18px}.inner-section{padding:72px 0}.rounded-top{border-radius:30px 30px 0 0}.pull-up{margin-top:-30px}.page-title{font-size:42px}.page-kicker{margin-bottom:20px;font-size:15px}.commitment-grid,.category-grid,.pricing-grid{grid-template-columns:1fr}.commitment-card{min-height:290px}.category-card{min-height:360px}.category-card:last-child{grid-column:auto}.feature-intro{margin-bottom:48px;font-size:19px}.feature-grid{grid-template-columns:1fr 1fr;gap:38px 22px}.feature{font-size:18px}.feature-icon{width:42px;height:42px;margin-bottom:14px}.feature-icon i{font-size:42px}.price-card{min-height:560px;padding:46px 30px}.price-line{margin-bottom:20px}.price-line strong{font-size:76px}.price-line span{font-size:18px}.price-card h3{font-size:29px}.price-card .page-copy{font-size:18px}.price-card .button{min-height:56px;padding-inline:26px;font-size:16px}.league-badge{width:270px;height:320px}.league-badge strong{font-size:135px}.u-card{width:145px;min-height:150px}.u-card strong{font-size:48px}.u-card span{font-size:15px}.programme-row{padding-right:55px}.programme-row h2{font-size:37px}.programme-row p{font-size:17px}.programme-row .row-arrow{font-size:42px}.registration-hero{min-height:610px}.registration-hero .shell{padding-top:190px}.registration-hero h1{font-size:46px}.registration-hero .lead{margin-top:25px;font-size:17px}.registration-shell{padding:70px 0}.form-sidebar{display:block}.form-help{margin-top:35px}.registration-card{padding:40px 20px 30px;border-radius:22px}.form-step h2{font-size:31px}.form-step .step-intro{font-size:17px}.form-grid{grid-template-columns:1fr;gap:22px}.form-field.full,.slots{grid-column:auto}.slot-options{align-items:flex-start;flex-direction:column}.upload-box{grid-template-columns:1fr;gap:20px}.form-actions{gap:12px}.form-actions .button{min-width:0;padding-inline:20px}.registration-success{padding:45px 25px}.registration-success h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){.reveal-scale{opacity:1;transform:none;transition:none}.commitment-card,.category-card,.u-card,.price-card{transition:none}.commitment-card:hover,.category-card:hover,.u-card:hover,.price-card:hover{transform:none}}
