body{overflow-x:hidden}.ci-form{margin:0}.ci-hero,.ci-form>.wb-fullbleed{width:100%;margin-inline:0}.ci-kicker{margin:0 0 16px;color:var(--color-primary);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.ci-section-heading{max-width:760px;margin-bottom:clamp(48px,6vw,76px)}.ci-section-heading::after{display:block;width:48px;height:2px;margin-top:28px;background:var(--color-primary);content:""}.ci-section-heading h2,.ci-contact h2,.ci-intro h2,.ci-summary h2,.ci-submit h2{margin-bottom:20px;font-size:clamp(2.6rem,6vw,4.8rem)}.ci-section-heading>p:last-child{max-width:680px;margin:0;font-size:1.08rem}.ci-note{color:#716d67;font-size:.9rem;line-height:1.45}.ci-button{display:inline-flex;min-height:52px;padding:12px 24px;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font:600 .9rem/1.2 var(--font-body);letter-spacing:.05em;text-align:center;text-decoration:none;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background-color .25s,color .25s,transform .25s}.ci-button:hover{background:#6f1e1a;transform:translateY(-2px)}.ci-button--secondary{background:transparent;color:var(--color-primary)}.ci-button--secondary:hover{background:var(--color-primary);color:#fff}.ci-button:focus-visible,.ci-day summary:focus-visible,.ci-tariffs summary:focus-visible{outline:3px solid var(--color-gold);outline-offset:4px}

.ci-hero{position:relative;display:grid;min-height:clamp(560px,72vh,760px);padding:0!important;background-image:linear-gradient(90deg,rgba(12,10,9,.72),rgba(36,15,13,.35) 58%,rgba(0,0,0,.1)),url("../../assets/images/contact-inscription/photo-groupe.webp");background-position:center 42%;background-size:cover;color:#fff;align-items:end}.ci-hero__inner{padding-top:clamp(150px,20vh,220px);padding-bottom:clamp(70px,10vw,120px)}.ci-hero h1{max-width:900px;margin:0 0 24px;color:#fff;font-size:clamp(4.1rem,10vw,8rem);letter-spacing:-.035em}.ci-hero h1 span{display:block;font-style:italic;font-weight:400}.ci-hero__inner>p:last-child{max-width:630px;margin:0;font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.55}.ci-hero .ci-kicker{color:#ead7aa}

.ci-contact{background:#e7dfd3;color:#4f4b46}.ci-contact__inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);gap:clamp(68px,11vw,160px);align-items:start}.ci-contact h2{max-width:680px;color:#171513}.ci-contact__lead{max-width:650px;margin:0;font-size:1.16rem}.ci-contact__details{display:grid;margin:0;padding:8px 0 0 34px;border-left:1px solid rgba(144,40,34,.35);font-style:normal;gap:14px}.ci-contact__details p{margin:0}.ci-contact__school{color:#171513;font-family:var(--font-heading);font-size:2.2rem}.ci-contact__details>a:not(.ci-button){color:#3e3935;font-size:1.08rem;text-decoration-color:rgba(144,40,34,.35);text-underline-offset:4px}.ci-contact__actions{display:flex;margin-top:20px;padding-top:22px;border-top:1px solid rgba(0,0,0,.13);gap:14px;flex-wrap:wrap}

.ci-intro{background:#fff}.ci-intro__inner{display:block}.ci-intro__inner>div{max-width:850px}.ci-intro__inner>div>p:not(.ci-kicker){max-width:720px;margin-bottom:0;font-size:1.18rem}.ci-required-note{margin:0 0 42px;color:var(--color-primary);font-size:.92rem}

.ci-personal{background:#fff}.ci-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px;gap:38px 42px}.ci-field--wide{grid-column:1/-1}.ci-field{display:grid;gap:10px}.ci-field label,.ci-choice-group legend,.ci-legal-guardian legend,.ci-panel legend{color:#171513;font-weight:600}.ci-field input,.ci-field select,.ci-field textarea{width:100%;min-height:60px;padding:14px 16px;border:1px solid #c5bdb2;border-radius:0;background:#faf8f4;color:#151412;font:1rem var(--font-body);transition:border-color .2s,background-color .2s}.ci-field input:hover{border-color:#746a60;background:#fff}.ci-field input:focus-visible,.ci-radio input:focus-visible,.ci-check input:focus-visible,.ci-course input:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}.ci-field small{max-width:540px;color:#716d67;font-size:.86rem}.ci-check,.ci-radio{display:flex;min-height:46px;gap:13px;align-items:flex-start;cursor:pointer}.ci-check{max-width:920px;margin-top:34px}.ci-check input,.ci-radio input,.ci-course input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--color-primary);flex:0 0 22px}.ci-check b{color:var(--color-primary)}.ci-choice-group,.ci-legal-guardian,.ci-panel{margin:64px 0 0;padding:0;border:0}.ci-choice-group{display:flex;padding-top:34px;border-top:1px solid #d3cdc4;gap:30px;flex-wrap:wrap}.ci-choice-group legend{width:100%;margin-bottom:12px;font-family:var(--font-heading);font-size:2rem;font-weight:500}.ci-legal-guardian{margin-top:28px;padding:42px 0 8px 26px;border-top:1px solid rgba(144,40,34,.55);border-left:3px solid var(--color-primary);background:#faf8f4;animation:ci-panel-reveal .28s ease both}.ci-legal-guardian legend{padding:0 22px 0 0;font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:500}.ci-legal-guardian>.ci-note{max-width:760px;margin:0 0 38px}@keyframes ci-panel-reveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}

.ci-courses{background:#f3efe8}.ci-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cfc9bf;column-gap:44px}.ci-day{border-bottom:1px solid #cfc9bf}.ci-day summary{display:flex;min-height:86px;padding:0 4px;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;color:#171513;font-family:var(--font-heading);font-size:clamp(1.75rem,3vw,2.45rem);list-style:none}.ci-day summary::-webkit-details-marker{display:none}.ci-day summary span:last-child{margin-left:auto;color:#837c72;font-family:var(--font-body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.ci-day summary::after{display:grid;width:38px;height:38px;border:1px solid #aaa096;border-radius:50%;content:"+";font:1.35rem var(--font-body);place-items:center}.ci-day[open] summary::after{background:#171513;color:#fff;content:"−"}.ci-day__courses{display:grid;padding:0 0 30px;gap:10px}.ci-course{position:relative;display:grid;min-height:94px;padding:15px 16px;border:1px solid #ddd7ce;background:#faf8f4;grid-template-columns:auto 1fr;gap:14px;cursor:pointer}.ci-course:hover{border-color:#b7a798}.ci-course:has(input:checked){border-color:var(--color-primary);background:#f6ebe8;box-shadow:inset 4px 0 var(--color-primary)}.ci-course>span{display:grid;grid-template-columns:66px minmax(0,1fr);gap:2px 12px;align-content:start}.ci-course time{color:var(--color-primary);font-weight:600;font-variant-numeric:tabular-nums;grid-row:1/4}.ci-course b{color:#26221e;font-size:1.02rem;line-height:1.3}.ci-course em{color:#6f6a63;font-size:.9rem}.ci-course small{color:#827b73;font-size:.9rem}

.ci-formulas{background:#fff}.ci-formula-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(64px,9vw,130px);align-items:start}.ci-formula-column{display:grid;gap:clamp(52px,6vw,78px)}.ci-panel{margin:0!important;padding:34px 0 0!important;border-top:1px solid rgba(144,40,34,.45)!important}.ci-panel>legend{padding:0 20px 0 0;font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:500}.ci-panel .ci-radio{margin-top:14px}.ci-tariffs{margin-top:34px;border-top:1px solid #cbc3b8;border-bottom:1px solid #cbc3b8}.ci-tariffs summary{display:flex;min-height:64px;align-items:center;justify-content:space-between;color:#181613;font-weight:600;cursor:pointer;list-style:none}.ci-tariffs summary::-webkit-details-marker{display:none}.ci-tariffs summary::after{content:"+";font-size:1.4rem}.ci-tariffs[open] summary::after{content:"−"}.ci-tariffs>div{padding:5px 0 26px}.ci-tariffs h3{margin:18px 0 3px;font-family:var(--font-body);font-size:1.05rem;font-weight:600}.ci-tariffs p{margin:0}.ci-recommendation{margin:5px 0 18px;color:var(--color-primary);font-size:.86rem;font-weight:600}.ci-panel .ci-field{margin-top:24px}

.ci-authorizations{background:#e9e2d8}.ci-consents{display:grid;max-width:940px}.ci-consents .ci-check{max-width:none;margin:0;padding:22px 0;border-bottom:1px solid #cfc6ba}.ci-consents .ci-check:first-child{border-top:1px solid #cfc6ba}.ci-privacy-copy{max-width:820px;margin:44px 0 0;padding-left:24px;border-left:2px solid var(--color-primary);color:#69645e}

.ci-summary{background:#171615;color:#cbc6be}.ci-summary__inner{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(430px,1fr);gap:clamp(64px,10vw,145px);align-items:start}.ci-summary h2{margin:0;color:#fff}.ci-summary .ci-kicker{color:#d4b879}.ci-total{margin:0;border-top:1px solid rgba(255,255,255,.26)}.ci-total>div{display:flex;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16);gap:28px;justify-content:space-between}.ci-total dt{color:#aaa49c}.ci-total dd{margin:0;color:#fff;text-align:right}.ci-total__category{margin-top:18px;padding:20px 0 13px!important;border-top:1px solid rgba(212,184,121,.7);border-bottom-color:rgba(212,184,121,.35)!important;font-weight:700}.ci-total__category:first-child{margin-top:0}.ci-total__category dt{color:#d4b879;text-transform:uppercase;letter-spacing:.08em}.ci-total__category dd{font-family:var(--font-heading);font-size:1.35rem}.ci-total__grand{margin-top:22px;padding:27px 0!important;border-top:1px solid #b89f6f;border-bottom:1px solid #b89f6f!important;font-family:var(--font-heading);font-size:clamp(1.5rem,2.7vw,2.1rem)}.ci-summary__disclaimer{grid-column:2;margin:2px 0 0;color:#aaa39a;font-size:.9rem}

.ci-submit{background:#fff}.ci-submit__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(48px,8vw,110px);align-items:end}.ci-submit h2{margin:0 0 20px;color:#171513}.ci-submit__inner>div:first-child>p:last-child{max-width:610px;margin:0;font-size:1.08rem}.ci-submit__actions{display:grid;justify-items:start}.ci-submit__button{width:auto}.ci-submit .ci-note{max-width:470px;margin:18px 0 0}.ci-form-status{grid-column:1/-1;width:100%;margin-top:10px}.ci-form-status p{margin:0;padding:18px 22px;border-top:1px solid rgba(144,40,34,.35);color:#5e5953}.ci-form-status p:focus{outline:2px solid var(--color-gold);outline-offset:4px}

@media(max-width:980px){.ci-contact__inner,.ci-summary__inner,.ci-submit__inner{grid-template-columns:1fr}.ci-contact__details{padding-left:28px}.ci-days{grid-template-columns:1fr;column-gap:0}.ci-formula-layout{grid-template-columns:1fr;gap:64px}.ci-summary__inner{gap:48px}.ci-summary__disclaimer{grid-column:auto}.ci-submit__actions{justify-items:start}.ci-form-status{grid-column:auto}}
@media(max-width:700px){main>section,.ci-form>section{padding-block:82px}.ci-hero{min-height:650px;background-position:58% center}.ci-hero h1{font-size:clamp(3.65rem,18vw,5.5rem)}.ci-field-grid{grid-template-columns:1fr;gap:29px}.ci-field--wide{grid-column:auto}.ci-choice-group{gap:18px}.ci-legal-guardian{padding:32px 0 8px 18px}.ci-day summary{min-height:78px}.ci-course{padding:14px 12px}.ci-course>span{grid-template-columns:56px minmax(0,1fr);gap:2px 9px}.ci-total>div{align-items:flex-start;flex-direction:column;gap:4px}.ci-total dd{text-align:left}.ci-total__grand{gap:10px!important}.ci-submit__actions{width:100%}.ci-submit__button{width:100%}}
@media(max-width:430px){.ci-day summary span:last-child{display:none}.ci-course>span{grid-template-columns:1fr}.ci-course time{grid-row:auto}.ci-course b,.ci-course em,.ci-course small{grid-column:1}.ci-contact__details{padding:28px 0 0;border-top:1px solid rgba(144,40,34,.35);border-left:0}.ci-contact__actions{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ci-button,.ci-field input{transition:none}.ci-legal-guardian{animation:none}}

/*
 * Rythme éditorial de la page.
 * Les sections du formulaire sont imbriquées dans <form> : elles ne reçoivent
 * donc pas le padding de `main > section` défini dans global.css.
 */
.ci-form > section {
    padding-block: clamp(108px, 11vw, 164px);
}

.ci-hero h1 {
    max-width: 11ch;
    font-size: clamp(4rem, 8vw, 7rem);
    line-height: .88;
}

.ci-kicker {
    font-family: var(--font-body);
}

.ci-section-heading h2,
.ci-contact h2,
.ci-intro h2,
.ci-summary h2,
.ci-submit h2 {
    max-width: 15ch;
    margin-bottom: 28px;
    font-size: clamp(3.25rem, 5.6vw, 4.75rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: .98;
}

.ci-section-heading {
    margin-bottom: clamp(58px, 7vw, 92px);
}

.ci-section-heading::after {
    margin-top: 32px;
}

.ci-section-heading > p:last-child,
.ci-intro__inner > div > p:not(.ci-kicker),
.ci-contact__lead {
    font-size: 1.16rem;
    line-height: 1.65;
}

.ci-intro,
.ci-contact {
    display: grid;
    align-items: center;
}

.ci-intro {
    min-height: min(760px, 86svh);
}

.ci-intro__inner > div {
    max-width: 920px;
}

.ci-intro__inner > div::after {
    display: block;
    width: 48px;
    height: 2px;
    margin-top: 34px;
    background: var(--color-primary);
    content: "";
}

.ci-contact {
    min-height: min(780px, 88svh);
    background: #e7dfd3;
}

.ci-contact__inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    align-items: center;
}

.ci-contact__details {
    padding-block: 18px;
    padding-left: clamp(28px, 4vw, 54px);
    gap: 17px;
}

.ci-contact__school {
    margin-bottom: 4px !important;
    font-size: clamp(2rem, 3vw, 2.65rem);
}

.ci-field-grid {
    gap: 44px clamp(34px, 4vw, 54px);
}

.ci-field {
    gap: 11px;
}

.ci-field input,
.ci-field select,
.ci-field textarea {
    min-height: 62px;
    padding: 15px 18px;
    border-color: #bdb5aa;
    background: #fbfaf7;
    font-family: var(--font-body);
    font-size: 1.05rem;
    line-height: 1.35;
}

.ci-field input:focus-visible,
.ci-field select:focus-visible,
.ci-field textarea:focus-visible {
    border-color: var(--color-primary);
    background: #fff;
}

.ci-choice-group,
.ci-legal-guardian,
.ci-panel {
    margin-top: clamp(68px, 7vw, 92px);
}

.ci-legal-guardian {
    padding: clamp(40px, 5vw, 62px) clamp(20px, 4vw, 46px) 22px;
}

.ci-courses {
    background: #f3efe8;
}

.ci-membership,
.ci-weekend {
    background: #fff;
}

.ci-options {
    background: #f3efe8;
}

.ci-day summary {
    min-height: 96px;
}

.ci-course {
    min-height: 102px;
    padding: 18px;
}

.ci-formula-layout {
    gap: clamp(72px, 10vw, 148px);
}

.ci-panel {
    padding-top: 40px !important;
}

.ci-authorizations {
    background: #e9e2d8;
}

.ci-summary__inner {
    align-items: center;
}

.ci-submit {
    display: grid;
    min-height: min(680px, 80svh);
    align-items: center;
    background: var(--color-primary);
    color: rgb(255 255 255 / 84%);
    text-align: center;
}

.ci-submit__inner {
    max-width: 1040px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 42px;
}

.ci-submit .ci-kicker {
    color: #e3c99b;
}

.ci-submit h2 {
    max-width: 15ch;
    margin-inline: auto;
    color: #fff;
}

.ci-submit__inner > div:first-child > p:last-child {
    max-width: 650px;
    margin-inline: auto;
    color: rgb(255 255 255 / 84%);
    font-size: 1.12rem;
}

.ci-submit__actions {
    justify-items: center;
}

.ci-submit__button {
    border-color: #fff;
    background: #fff;
    color: var(--color-primary);
}

.ci-submit__button:hover {
    border-color: #171615;
    background: #171615;
    color: #fff;
}

.ci-submit .ci-note,
.ci-form-status p {
    color: rgb(255 255 255 / 76%);
}

.ci-form-status p {
    border-top-color: rgb(255 255 255 / 30%);
}

.ci-submit__button:disabled {
    cursor: wait;
    opacity: .72;
    transform: none;
}

.ci-form-status__message {
    max-width: 820px;
    margin-inline: auto !important;
    border: 1px solid rgb(255 255 255 / 28%);
    border-top-width: 1px !important;
    background: rgb(255 255 255 / 9%);
    color: #fff !important;
    text-align: left;
}

.ci-form-status__message--success {
    border-color: rgb(185 225 190 / 72%);
    background: rgb(27 93 46 / 42%);
}

.ci-form-status__message--duplicate,
.ci-form-status__message--prototype {
    border-color: rgb(227 201 155 / 72%);
    background: rgb(92 68 25 / 38%);
}

.ci-form-status__message--error {
    border-color: rgb(255 181 175 / 78%);
    background: rgb(91 18 18 / 46%);
}

@media (max-width: 980px) {
    .ci-form > section {
        padding-block: clamp(92px, 12vw, 126px);
    }

    .ci-intro,
    .ci-contact {
        min-height: auto;
    }

    .ci-contact__inner {
        grid-template-columns: 1fr;
        gap: 58px;
    }

    .ci-contact__details {
        max-width: 650px;
    }

    .ci-submit {
        min-height: 620px;
    }
}

@media (max-width: 700px) {
    .ci-form > section {
        padding-block: 88px;
    }

    .ci-hero {
        min-height: calc(100svh - var(--site-header-height, 0px));
    }

    .ci-hero__inner {
        padding-top: 138px;
        padding-bottom: 72px;
    }

    .ci-hero h1 {
        max-width: 9ch;
        font-size: clamp(3.4rem, 16vw, 5rem);
    }

    .ci-section-heading h2,
    .ci-contact h2,
    .ci-intro h2,
    .ci-summary h2,
    .ci-submit h2 {
        max-width: 100%;
        margin-bottom: 22px;
        font-size: clamp(2.7rem, 13vw, 3.65rem);
        line-height: 1;
    }

    .ci-section-heading {
        margin-bottom: 54px;
    }

    .ci-section-heading > p:last-child,
    .ci-intro__inner > div > p:not(.ci-kicker),
    .ci-contact__lead {
        font-size: 1.05rem;
    }

    .ci-contact__inner {
        gap: 50px;
    }

    .ci-field-grid {
        gap: 31px;
    }

    .ci-field input,
    .ci-field select,
    .ci-field textarea {
        min-height: 58px;
        padding: 13px 15px;
    }

    .ci-choice-group,
    .ci-legal-guardian,
    .ci-panel {
        margin-top: 58px;
    }

    .ci-legal-guardian {
        padding: 34px 18px 14px;
    }

    .ci-day summary {
        min-height: 82px;
    }

    .ci-course {
        min-height: 96px;
        padding: 15px 13px;
    }

    .ci-summary__inner {
        gap: 52px;
    }

    .ci-submit {
        min-height: 600px;
    }

    .ci-submit__inner {
        gap: 36px;
    }
}

/* Compaction structurelle contrôlée sur le rendu final. */
.ci-registration__header {
    padding-block: clamp(38px, 4vw, 52px) clamp(24px, 3vw, 34px);
}

.ci-registration__header h2 {
    margin-bottom: 12px;
    font-size: clamp(2.5rem, 4vw, 3.35rem);
}

.ci-registration__header > p:last-child {
    max-width: 680px;
    font-size: .96rem;
    line-height: 1.45;
}

.ci-registration__steps {
    padding-inline: clamp(18px, 3vw, 34px);
}

.ci-step {
    padding-block: clamp(26px, 3vw, 36px);
}

.ci-registration .ci-step .ci-section-heading {
    margin-bottom: clamp(18px, 2vw, 24px);
}

.ci-registration .ci-step .ci-section-heading .ci-kicker {
    margin-bottom: 8px;
}

.ci-registration .ci-step .ci-section-heading h2 {
    margin-bottom: 8px;
    font-size: clamp(1.75rem, 2.35vw, 2.25rem);
}

.ci-registration .ci-step .ci-section-heading > p:last-child {
    font-size: .9rem;
    line-height: 1.4;
}

.ci-registration .ci-step .ci-section-heading::after {
    width: 28px;
    margin-top: 10px;
}

.ci-registration .ci-required-note {
    margin-bottom: 14px;
    font-size: .78rem;
}

.ci-personal .ci-field-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px 20px;
}

.ci-personal .ci-field--wide {
    grid-column: auto;
}

.ci-personal .ci-field:nth-child(5) {
    grid-column: span 2;
}

.ci-registration .ci-field input,
.ci-registration .ci-field select,
.ci-registration .ci-field textarea {
    min-height: 44px;
    padding: 8px 11px;
    font-size: .9rem;
}

.ci-field {
    gap: 5px;
}

.ci-field label,
.ci-choice-group legend,
.ci-legal-guardian legend,
.ci-panel legend,
.ci-inline-options legend {
    font-size: .86rem;
}

.ci-field small,
.ci-note,
.ci-option-note {
    font-size: .75rem;
    line-height: 1.35;
}

.ci-check,
.ci-radio {
    min-height: 28px;
    gap: 8px;
    font-size: .86rem;
    line-height: 1.35;
}

.ci-check {
    margin-top: 14px;
}

.ci-check input,
.ci-radio input,
.ci-course input {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
}

.ci-registration .ci-choice-group {
    margin-top: 18px;
    padding-top: 13px;
    gap: 6px 20px;
}

.ci-choice-group legend {
    margin-bottom: 2px;
    font-size: 1.25rem;
}

.ci-registration .ci-legal-guardian {
    margin-top: 14px;
    padding: 20px 20px 8px;
}

.ci-legal-guardian > .ci-note {
    margin-bottom: 16px;
}

.ci-registration .ci-day summary {
    min-height: 52px;
    font-size: clamp(1.25rem, 1.65vw, 1.55rem);
}

.ci-day summary::after {
    width: 28px;
    height: 28px;
    font-size: 1rem;
}

.ci-day__courses {
    padding-bottom: 14px;
    gap: 6px;
}

.ci-registration .ci-course {
    min-height: 62px;
    padding: 8px 10px;
}

.ci-course > span {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 1px 7px;
}

.ci-course b {
    font-size: .88rem;
}

.ci-course em,
.ci-course small {
    font-size: .74rem;
}

.ci-weekend-option {
    margin-top: 18px;
    padding-top: 18px;
    gap: 26px;
}

.ci-weekend-option h3 {
    font-size: clamp(1.45rem, 2vw, 1.8rem);
}

.ci-weekend-option p:last-child {
    font-size: .82rem;
}

.ci-weekend-fields {
    gap: 10px;
}

.ci-membership > .wb-section-inner,
.ci-authorizations > .wb-section-inner {
    gap: clamp(24px, 4vw, 42px);
}

.ci-inline-options {
    gap: 4px 18px;
}

.ci-options .ci-options-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ci-option-column--period {
    grid-column: auto;
}

.ci-options .ci-option-column {
    padding-top: 10px;
}

.ci-form-subsection h4,
.ci-option-column h3,
.ci-option-column h4 {
    margin-bottom: 6px;
    font-size: clamp(1.25rem, 1.55vw, 1.55rem);
}

.ci-option-column > p,
.ci-option-note {
    margin-bottom: 8px;
}

.ci-option-column .ci-check + .ci-check {
    margin-top: 3px;
}

.ci-option-column #tshirt-size-field,
.ci-option-column #discount-reason-field {
    margin-top: 10px;
}

.ci-authorizations .ci-consents .ci-check {
    padding: 8px 0;
}

.ci-authorizations .ci-privacy-copy {
    margin-top: 12px;
    padding-left: 14px;
    font-size: .82rem;
}

.ci-form > .ci-submit {
    padding-block: clamp(34px, 4vw, 46px);
}

.ci-submit__inner {
    gap: 16px;
}

.ci-submit__inner > div:first-child {
    max-width: 700px;
}

.ci-submit h2 {
    margin-bottom: 12px;
    font-size: clamp(2.7rem, 4.5vw, 3.7rem);
}

.ci-submit__inner > div:first-child > p:last-child {
    font-size: .96rem;
}

.ci-submit .ci-note {
    margin-top: 12px;
    font-size: .98rem;
}

.ci-form > .ci-summary {
    padding-block: clamp(36px, 4.5vw, 54px);
}

.ci-summary__inner {
    grid-template-columns: minmax(230px, .55fr) minmax(430px, 1fr);
    column-gap: clamp(48px, 7vw, 86px);
    row-gap: 24px;
}

.ci-summary h2 {
    font-size: clamp(3rem, 4.8vw, 4rem);
}

.ci-total > div {
    padding-block: 8px;
}

.ci-total__category {
    margin-top: 8px;
    padding-block: 11px 8px !important;
}

.ci-total__grand {
    margin-top: 10px;
    padding-block: 15px !important;
}

.ci-payment-notes {
    margin-top: 8px;
    padding-top: 16px;
    gap: 24px;
}

.ci-payment-note p {
    font-size: .77rem;
}

@media (max-width: 1100px) {
    .ci-options .ci-options-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ci-personal .ci-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ci-personal .ci-field:nth-child(5) {
        grid-column: span 2;
    }

    .ci-summary__inner {
        row-gap: 24px;
    }
}

@media (max-width: 700px) {
    .ci-registration__header {
        padding-block: 38px 24px;
    }

    .ci-registration__header h2 {
        font-size: clamp(2.35rem, 10vw, 3rem);
    }

    .ci-registration__steps {
        padding-inline: 12px;
    }

    .ci-step {
        padding-block: 26px;
    }

    .ci-personal .ci-field-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ci-personal .ci-field:nth-child(5) {
        grid-column: auto;
    }

    .ci-options .ci-options-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ci-weekend-option {
        gap: 16px;
    }

    .ci-form > .ci-submit,
    .ci-form > .ci-summary {
        padding-block: 34px;
    }

    .ci-submit h2,
    .ci-summary h2 {
        font-size: clamp(2.55rem, 11vw, 3.25rem);
    }
}

/* Version compacte du parcours d’inscription. */
.ci-hero {
    min-height: clamp(500px, 62vh, 640px);
}

.ci-contact {
    padding-block: clamp(58px, 6vw, 78px);
}

.ci-registration__header {
    padding-block: clamp(56px, 6vw, 76px) clamp(34px, 4vw, 48px);
}

.ci-registration__header h2 {
    margin-bottom: 18px;
    font-size: clamp(2.85rem, 4.8vw, 4rem);
}

.ci-registration__header > p:last-child {
    max-width: 720px;
    font-size: 1.04rem;
    line-height: 1.5;
}

.ci-registration__steps {
    padding-inline: clamp(22px, 4vw, 46px);
}

.ci-step {
    padding-block: clamp(36px, 4vw, 50px);
}

.ci-registration .ci-step .ci-section-heading {
    margin-bottom: clamp(24px, 3vw, 34px);
}

.ci-registration .ci-step .ci-section-heading h2 {
    margin-bottom: 11px;
    font-size: clamp(2rem, 3vw, 2.7rem);
}

.ci-registration .ci-step .ci-section-heading > p:last-child {
    font-size: .96rem;
    line-height: 1.48;
}

.ci-registration .ci-step .ci-section-heading::after {
    margin-top: 15px;
}

.ci-registration .ci-required-note {
    margin-bottom: 22px;
}

.ci-registration .ci-field-grid,
.ci-select-grid {
    gap: 20px clamp(22px, 2.5vw, 30px);
}

.ci-field {
    gap: 7px;
}

.ci-field label,
.ci-choice-group legend,
.ci-legal-guardian legend,
.ci-panel legend,
.ci-inline-options legend {
    font-size: .94rem;
}

.ci-registration .ci-field input,
.ci-registration .ci-field select,
.ci-registration .ci-field textarea {
    min-height: 48px;
    padding: 10px 13px;
    font-size: .96rem;
}

.ci-field small,
.ci-note,
.ci-option-note {
    font-size: .8rem;
}

.ci-check,
.ci-radio {
    min-height: 36px;
    gap: 10px;
    font-size: .94rem;
}

.ci-check {
    margin-top: 22px;
}

.ci-check input,
.ci-radio input,
.ci-course input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-basis: 18px;
}

.ci-registration .ci-choice-group {
    margin-top: 28px;
    padding-top: 20px;
    gap: 10px 24px;
}

.ci-choice-group legend {
    margin-bottom: 6px;
    font-size: 1.55rem;
}

.ci-registration .ci-legal-guardian {
    margin-top: 20px;
    padding: 26px clamp(16px, 2.5vw, 28px) 12px;
}

.ci-legal-guardian > .ci-note {
    margin-bottom: 24px;
}

.ci-registration .ci-days {
    column-gap: 24px;
}

.ci-registration .ci-day summary {
    min-height: 62px;
    font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.ci-day summary::after {
    width: 32px;
    height: 32px;
    font-size: 1.1rem;
}

.ci-day__courses {
    padding-bottom: 20px;
    gap: 7px;
}

.ci-registration .ci-course {
    min-height: 72px;
    padding: 10px 12px;
    gap: 10px;
}

.ci-course > span {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 1px 9px;
}

.ci-course b {
    font-size: .94rem;
}

.ci-course em,
.ci-course small {
    font-size: .8rem;
}

.ci-formula-layout {
    gap: clamp(42px, 6vw, 76px);
}

.ci-formula-column {
    gap: clamp(34px, 4vw, 48px);
}

.ci-panel {
    padding-top: 26px !important;
}

.ci-panel > legend {
    font-size: clamp(1.55rem, 2.6vw, 2.1rem);
}

.ci-panel .ci-radio {
    margin-top: 9px;
}

.ci-tariffs {
    margin-top: 22px;
}

.ci-tariffs summary {
    min-height: 52px;
    font-size: .92rem;
}

.ci-weekend-option {
    margin-top: 28px;
    padding-top: 24px;
    gap: clamp(24px, 4vw, 48px);
}

.ci-weekend-fields {
    gap: 16px;
}

.ci-membership > .wb-section-inner,
.ci-authorizations > .wb-section-inner {
    gap: clamp(28px, 5vw, 56px);
}

.ci-inline-options {
    padding-top: 20px;
    gap: 8px 24px;
}

.ci-options .ci-options-grid {
    gap: 20px clamp(22px, 2.5vw, 30px);
}

.ci-options .ci-option-column {
    padding-top: 14px;
}

.ci-form-subsection {
    margin-top: 26px;
    padding-top: 22px;
}

.ci-form-subsection h4,
.ci-option-column h3,
.ci-option-column h4 {
    font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.ci-option-column > p,
.ci-option-note {
    margin-bottom: 12px;
}

.ci-authorizations .ci-consents .ci-check {
    padding: 12px 0;
}

.ci-authorizations .ci-privacy-copy {
    margin-top: 18px;
    padding-left: 18px;
}

.ci-total > div {
    padding-block: 11px;
}

.ci-total__category {
    margin-top: 12px;
    padding-block: 15px 10px !important;
}

.ci-total__grand {
    margin-top: 16px;
    padding-block: 20px !important;
}

.ci-payment-notes {
    margin-top: 24px;
    padding-top: 20px;
}

.ci-form > .ci-submit,
.ci-form > .ci-summary {
    padding-block: clamp(50px, 5.5vw, 68px);
}

.ci-submit {
    min-height: auto;
}

.ci-submit__inner {
    gap: 24px;
}

.ci-submit .ci-note {
    max-width: 560px;
    margin-top: 20px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .ci-hero {
        min-height: 520px;
    }

    .ci-contact {
        padding-block: 52px;
    }

    .ci-registration__header {
        padding-block: 52px 32px;
    }

    .ci-registration__header h2 {
        font-size: clamp(2.55rem, 11vw, 3.25rem);
    }

    .ci-registration__steps {
        padding-inline: 15px;
    }

    .ci-step {
        padding-block: 36px;
    }

    .ci-registration .ci-step .ci-section-heading {
        margin-bottom: 25px;
    }

    .ci-registration .ci-step .ci-section-heading h2 {
        font-size: clamp(2rem, 9vw, 2.55rem);
    }

    .ci-registration .ci-field-grid,
    .ci-select-grid {
        gap: 18px;
    }

    .ci-registration .ci-course {
        min-height: 68px;
    }

    .ci-membership > .wb-section-inner,
    .ci-authorizations > .wb-section-inner {
        gap: 20px;
    }

    .ci-form > .ci-submit,
    .ci-form > .ci-summary {
        padding-block: 48px;
    }
}

@media (max-width: 430px) {
    .ci-form > section {
        padding-block: 76px;
    }

    .ci-contact__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ci-contact__actions .ci-button {
        width: 100%;
    }

    .ci-submit {
        min-height: 560px;
    }
}

/* Ajustement ciblé : seules l’introduction et la section Contact sont réduites. */
.ci-form > .ci-intro,
.ci-form > .ci-contact {
    min-height: auto;
    padding-block: clamp(84px, 8vw, 118px);
}

.ci-membership-flow {
    border-top: 1px solid #d2cbc1;
}

.ci-form-block {
    display: grid;
    padding-block: clamp(52px, 6vw, 78px);
    border-bottom: 1px solid #d2cbc1;
    grid-template-columns: minmax(70px, .18fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 72px);
}

.ci-form-block__index {
    margin: 8px 0 0;
    color: var(--color-primary);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .16em;
}

.ci-form-block__content {
    max-width: 980px;
}

.ci-form-block__content > h3 {
    margin: 0 0 18px;
    font-size: clamp(2.2rem, 4.2vw, 3.4rem);
    font-weight: 400;
    letter-spacing: -.025em;
}

.ci-form-block__content > p {
    max-width: 720px;
    margin: 0 0 30px;
}

.ci-inline-options {
    display: flex;
    margin: 0;
    padding: 28px 0 0;
    border: 0;
    border-top: 1px solid rgba(144, 40, 34, .25);
    flex-wrap: wrap;
    gap: 16px 36px;
}

.ci-inline-options legend {
    width: 100%;
    margin-bottom: 12px;
    color: #171513;
    font-weight: 600;
}

.ci-inline-options legend span,
.ci-consent-group strong b {
    color: var(--color-primary);
}

.ci-select-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 40px;
}

.ci-field select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #5e5750 50%),
        linear-gradient(135deg, #5e5750 50%, transparent 50%);
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%;
    background-repeat: no-repeat;
    background-size: 6px 6px, 6px 6px;
}

.ci-field--medium {
    max-width: 620px;
}

.ci-check--inline {
    margin-top: 0;
}

#tshirt-size-field {
    margin-top: 28px;
}

#tshirt-size-field[hidden] {
    display: none;
}

.ci-consents {
    max-width: 980px;
    gap: 0;
}

.ci-privacy-copy a {
    color: var(--color-primary);
    text-underline-offset: 4px;
}

.ci-total > div[hidden] {
    display: none;
}

@media (max-width: 980px) {
    .ci-form > .ci-intro,
    .ci-form > .ci-contact {
        padding-block: 82px;
    }
}

@media (max-width: 700px) {
    .ci-form > .ci-intro,
    .ci-form > .ci-contact {
        padding-block: 70px;
    }

    .ci-form-block {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ci-form-block__index {
        margin-top: 0;
    }

    .ci-select-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ci-inline-options {
        display: grid;
        gap: 12px;
    }
}

@media (max-width: 430px) {
    .ci-form > .ci-intro,
    .ci-form > .ci-contact {
        padding-block: 64px;
    }
}

/* Corrections ciblées de lisibilité. */
.ci-field--top-aligned {
    align-self: start;
    align-content: start;
}

.ci-form-block {
    padding-block: clamp(40px, 4vw, 56px);
    gap: clamp(24px, 4vw, 54px);
}

.ci-form-block__content > h3 {
    margin-bottom: 14px;
    font-size: clamp(2.05rem, 3.5vw, 3rem);
}

.ci-form-block__content > p {
    margin-bottom: 24px;
}

.ci-select-grid {
    gap: 26px 34px;
}

.ci-form-subsection {
    max-width: 760px;
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid rgba(144, 40, 34, .25);
}

.ci-form-subsection h4,
.ci-option-column h3,
.ci-option-column h4 {
    margin: 0 0 10px;
    color: #171513;
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    font-weight: 500;
}

.ci-form-subsection > p {
    margin: 0 0 20px;
}

.ci-form-subsection > .ci-note {
    margin: 14px 0 0;
}

.ci-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 52px);
}

.ci-option-column {
    padding-top: 22px;
    border-top: 1px solid rgba(144, 40, 34, .25);
}

.ci-option-column > p {
    margin: 0 0 18px;
}

.ci-option-note {
    margin: 0 0 18px;
    color: #716d67;
    font-family: var(--font-body);
    font-size: .86rem;
    font-weight: 400;
    line-height: 1.45;
    text-align: left;
}

.ci-option-column .ci-check + .ci-check {
    margin-top: 8px;
}

.ci-option-column > .ci-note {
    margin: 16px 0 0;
}

.ci-option-column #tshirt-size-field {
    margin-top: 20px;
}

.ci-option-column #discount-reason-field {
    margin-top: 20px;
}

.ci-period-options {
    display: grid;
    margin: 0;
    padding: 0;
    border: 0;
    gap: 8px;
}

.ci-period-options[hidden] {
    display: none;
}

.ci-period-options .ci-check {
    min-height: 40px;
    margin-top: 0;
}

.ci-period-clear {
    display: inline-flex;
    margin-top: 10px;
    padding: 2px 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    color: var(--color-primary);
    font: 600 .82rem/1.4 var(--font-body);
    cursor: pointer;
}

.ci-period-clear[hidden] {
    display: none;
}

.ci-period-clear:focus-visible {
    outline: 3px solid var(--color-gold);
    outline-offset: 4px;
}

@media (max-width: 700px) {
    .ci-options-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .ci-form-subsection {
        margin-top: 32px;
        padding-top: 26px;
    }
}

.ci-payment-notes {
    display: grid;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgb(255 255 255 / 18%);
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 44px);
}

.ci-payment-note {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 10px;
    align-content: start;
}

.ci-payment-note > span {
    padding-top: 2px;
    color: #d4b879;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.ci-payment-note h3 {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--font-body);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.35;
}

.ci-payment-note p {
    margin: 0;
    color: #aaa39a;
    font-size: .84rem;
    line-height: 1.5;
}

.ci-payment-note p + p {
    margin-top: 7px;
}

.ci-payment-note strong {
    color: #d7d2ca;
}

@media (max-width: 980px) {
    .ci-options-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ci-option-column--period {
        grid-column: auto;
    }

    .ci-payment-notes {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ci-payment-note + .ci-payment-note {
        padding-top: 20px;
        border-top: 1px solid rgb(255 255 255 / 12%);
    }
}

@media (max-width: 700px) {
    .ci-options-grid {
        grid-template-columns: 1fr;
    }

    .ci-option-column--period {
        grid-column: auto;
    }

}

/* Structure condensée : Contact et Inscription sont les deux sections principales. */
.ci-contact {
    min-height: auto;
    padding-block: clamp(88px, 8vw, 122px);
}

.ci-registration {
    padding: 0 !important;
    background: #f3efe8;
}

.ci-registration__header {
    padding-block: clamp(82px, 8vw, 118px) clamp(52px, 5vw, 72px);
}

.ci-registration__header h2 {
    max-width: 15ch;
    margin: 0 0 24px;
    color: #171513;
    font-size: clamp(3.25rem, 5.6vw, 4.75rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: .98;
}

.ci-registration__header > p:last-child {
    max-width: 760px;
    margin: 0;
    font-size: 1.14rem;
    line-height: 1.62;
}

.ci-registration__steps {
    padding-inline: clamp(26px, 5vw, 70px);
    border: 1px solid #d8d0c5;
    border-bottom: 0;
    background: #fff;
}

.ci-step {
    padding-block: clamp(52px, 5.2vw, 72px);
    border-bottom: 1px solid #d8d0c5;
    background: transparent;
}

.ci-step > .wb-section-inner {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.ci-registration .ci-step .ci-section-heading {
    margin-bottom: clamp(32px, 3.5vw, 46px);
}

.ci-registration .ci-step .ci-section-heading h2 {
    max-width: 18ch;
    margin-bottom: 15px;
    font-size: clamp(2.35rem, 3.7vw, 3.25rem);
    letter-spacing: -.025em;
    line-height: 1;
}

.ci-registration .ci-step .ci-section-heading > p:last-child {
    max-width: 720px;
    font-size: 1.02rem;
    line-height: 1.55;
}

.ci-registration .ci-step .ci-section-heading::after {
    width: 34px;
    margin-top: 20px;
}

.ci-registration .ci-required-note {
    margin-bottom: 30px;
}

.ci-registration .ci-field-grid {
    max-width: none;
    gap: 28px clamp(28px, 3vw, 42px);
}

.ci-registration .ci-field input,
.ci-registration .ci-field select,
.ci-registration .ci-field textarea {
    min-height: 56px;
    padding: 13px 16px;
}

.ci-registration .ci-choice-group {
    margin-top: 40px;
    padding-top: 28px;
}

.ci-registration .ci-legal-guardian {
    margin-top: 28px;
    padding: 34px clamp(20px, 3vw, 36px) 18px;
}

.ci-registration .ci-days {
    column-gap: 34px;
}

.ci-registration .ci-day summary {
    min-height: 76px;
    font-size: clamp(1.6rem, 2.5vw, 2.1rem);
}

.ci-registration .ci-course {
    min-height: 88px;
    padding: 14px 15px;
}

.ci-weekend-option {
    display: grid;
    margin-top: clamp(38px, 4vw, 52px);
    padding-top: clamp(30px, 3.5vw, 42px);
    border-top: 1px solid rgba(144, 40, 34, .35);
    grid-template-columns: minmax(0, .8fr) minmax(330px, 1.2fr);
    gap: clamp(34px, 6vw, 82px);
    align-items: end;
}

.ci-weekend-option .ci-kicker {
    margin-bottom: 9px;
}

.ci-weekend-option h3 {
    margin: 0 0 10px;
    color: #171513;
    font-size: clamp(1.85rem, 3vw, 2.45rem);
    font-weight: 500;
}

.ci-weekend-option p:last-child {
    max-width: 500px;
    margin: 0;
    color: #716d67;
    line-height: 1.5;
}

.ci-weekend-fields {
    display: grid;
    gap: 24px;
}

.ci-membership > .wb-section-inner,
.ci-authorizations > .wb-section-inner {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
    gap: clamp(42px, 7vw, 92px);
    align-items: start;
}

.ci-membership .ci-section-heading,
.ci-authorizations .ci-section-heading {
    margin-bottom: 0 !important;
}

.ci-membership .ci-inline-options {
    padding-top: 0;
    border-top: 0;
}

.ci-options .ci-options-grid {
    gap: clamp(24px, 3vw, 38px);
}

.ci-options .ci-option-column {
    padding-top: 18px;
}

.ci-authorizations .ci-consents {
    max-width: none;
}

.ci-authorizations .ci-consents .ci-check {
    min-height: 0;
    padding: 17px 0;
}

.ci-authorizations .ci-privacy-copy {
    margin: 24px 0 0;
    grid-column: 2;
}

.ci-form > .ci-submit {
    min-height: auto;
    padding-block: clamp(68px, 7vw, 92px);
}

.ci-submit__inner {
    gap: 30px;
}

.ci-form > .ci-summary {
    padding-block: clamp(66px, 7vw, 94px);
}

@media (max-width: 980px) {
    .ci-registration__steps {
        padding-inline: clamp(24px, 5vw, 48px);
    }

    .ci-membership > .wb-section-inner,
    .ci-authorizations > .wb-section-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .ci-authorizations .ci-privacy-copy {
        grid-column: auto;
    }
}

@media (max-width: 700px) {
    .ci-contact {
        padding-block: 72px;
    }

    .ci-registration__header {
        padding-block: 72px 46px;
    }

    .ci-registration__header h2 {
        font-size: clamp(2.85rem, 13vw, 3.7rem);
    }

    .ci-registration__header > p:last-child {
        font-size: 1.03rem;
    }

    .ci-registration__steps {
        width: 100%;
        padding-inline: 18px;
        border-inline: 0;
    }

    .ci-step {
        padding-block: 48px;
    }

    .ci-registration .ci-step .ci-section-heading {
        margin-bottom: 32px;
    }

    .ci-registration .ci-step .ci-section-heading h2 {
        font-size: clamp(2.25rem, 10vw, 2.85rem);
    }

    .ci-registration .ci-field-grid {
        gap: 25px;
    }

    .ci-weekend-option {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ci-membership > .wb-section-inner,
    .ci-authorizations > .wb-section-inner {
        gap: 24px;
    }

    .ci-form > .ci-submit,
    .ci-form > .ci-summary {
        padding-block: 64px;
    }
}

/* Priorité finale pour le rythme compact, après les réglages de structure. */
.ci-contact {
    padding-block: clamp(58px, 6vw, 78px);
}

.ci-registration__header {
    padding-block: clamp(56px, 6vw, 76px) clamp(34px, 4vw, 48px);
}

.ci-registration__header h2 {
    margin-bottom: 18px;
    font-size: clamp(2.85rem, 4.8vw, 4rem);
}

.ci-registration__header > p:last-child {
    max-width: 720px;
    font-size: 1.04rem;
    line-height: 1.5;
}

.ci-registration__steps {
    padding-inline: clamp(22px, 4vw, 46px);
}

.ci-step {
    padding-block: clamp(36px, 4vw, 50px);
}

.ci-registration .ci-step .ci-section-heading {
    margin-bottom: clamp(24px, 3vw, 34px);
}

.ci-registration .ci-step .ci-section-heading h2 {
    margin-bottom: 11px;
    font-size: clamp(2rem, 3vw, 2.7rem);
}

.ci-registration .ci-step .ci-section-heading > p:last-child {
    font-size: .96rem;
    line-height: 1.48;
}

.ci-registration .ci-step .ci-section-heading::after {
    margin-top: 15px;
}

.ci-registration .ci-required-note {
    margin-bottom: 22px;
}

.ci-registration .ci-field-grid {
    gap: 20px clamp(22px, 2.5vw, 30px);
}

.ci-registration .ci-field input,
.ci-registration .ci-field select,
.ci-registration .ci-field textarea {
    min-height: 48px;
    padding: 10px 13px;
    font-size: .96rem;
}

.ci-registration .ci-choice-group {
    margin-top: 28px;
    padding-top: 20px;
    gap: 10px 24px;
}

.ci-registration .ci-legal-guardian {
    margin-top: 20px;
    padding: 26px clamp(16px, 2.5vw, 28px) 12px;
}

.ci-registration .ci-days {
    column-gap: 24px;
}

.ci-registration .ci-day summary {
    min-height: 62px;
    font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.ci-registration .ci-course {
    min-height: 72px;
    padding: 10px 12px;
}

.ci-weekend-option {
    margin-top: 28px;
    padding-top: 24px;
    gap: clamp(24px, 4vw, 48px);
}

.ci-membership > .wb-section-inner,
.ci-authorizations > .wb-section-inner {
    gap: clamp(28px, 5vw, 56px);
}

.ci-options .ci-options-grid {
    gap: 20px clamp(22px, 2.5vw, 30px);
}

.ci-options .ci-option-column {
    padding-top: 14px;
}

.ci-authorizations .ci-consents .ci-check {
    padding: 12px 0;
}

.ci-authorizations .ci-privacy-copy {
    margin-top: 18px;
    padding-left: 18px;
}

.ci-form > .ci-submit,
.ci-form > .ci-summary {
    padding-block: clamp(50px, 5.5vw, 68px);
}

@media (max-width: 700px) {
    .ci-hero {
        min-height: 520px;
    }

    .ci-contact {
        padding-block: 52px;
    }

    .ci-registration__header {
        padding-block: 52px 32px;
    }

    .ci-registration__header h2 {
        font-size: clamp(2.55rem, 11vw, 3.25rem);
    }

    .ci-registration__steps {
        padding-inline: 15px;
    }

    .ci-step {
        padding-block: 36px;
    }

    .ci-registration .ci-step .ci-section-heading {
        margin-bottom: 25px;
    }

    .ci-registration .ci-step .ci-section-heading h2 {
        font-size: clamp(2rem, 9vw, 2.55rem);
    }

    .ci-registration .ci-field-grid {
        gap: 18px;
    }

    .ci-registration .ci-course {
        min-height: 68px;
    }

    .ci-membership > .wb-section-inner,
    .ci-authorizations > .wb-section-inner {
        gap: 20px;
    }

    .ci-form > .ci-submit,
    .ci-form > .ci-summary {
        padding-block: 48px;
    }
}
