:root{--navy:#061c32;--navy2:#0a2947;--yellow:#e8a800;--cream:#f1efe8;--paper:#fbfaf6;--ink:#101820;--orange:#d9692d;--white:#fff;--wrap:min(1240px,calc(100vw - 48px));--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Kumbh Sans",sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:var(--wrap);margin-inline:auto}.section{padding:clamp(90px,10vw,160px) 0}.skip-link{position:fixed;left:16px;top:16px;padding:12px 18px;background:var(--yellow);z-index:10000;transform:translateY(-160%)}.skip-link:focus{transform:none}.display{margin:0;font-size:clamp(3.1rem,7vw,7.5rem);line-height:.88;letter-spacing:-.065em;text-transform:uppercase;font-weight:800}.display em,.hero__title span{color:var(--yellow);font-family:"Permanent Marker",cursive;font-weight:400;text-transform:none;letter-spacing:-.035em}.section-label{display:flex;gap:20px;align-items:center;margin:0 0 44px;text-transform:uppercase;font-size:.75rem;letter-spacing:.2em;font-weight:700}.section-label:after{content:"";width:72px;height:1px;background:currentColor;opacity:.4}.section-label span{color:var(--yellow)}.section-label--light{color:white}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-radius:999px;background:var(--yellow);color:var(--navy);padding:18px 22px 18px 26px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .3s,background .3s}.button b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:white;font-size:1rem}.button:hover{background:#ffc229}.button--small{padding:10px 12px 10px 18px;gap:18px}.button--small b{width:27px;height:27px}.note{font-family:"Permanent Marker",cursive;color:var(--yellow);transform:rotate(-6deg)}
.loader{position:fixed;inset:0;z-index:9999;background:var(--navy);display:grid;place-items:center;transition:opacity .6s,visibility .6s}.loader.is-hidden{opacity:0;visibility:hidden}.loader__line{position:absolute;width:170px;height:3px;background:rgba(255,255,255,.15);transform:rotate(-18deg);overflow:hidden}.loader__line:after{content:"";position:absolute;inset:0;background:var(--yellow);animation:loadLine 1s ease both}.loader__ball{width:42px;height:42px;border:3px solid var(--ink);border-radius:50%;background:var(--yellow);animation:loadBall 1s cubic-bezier(.5,0,.3,1) both}@keyframes loadLine{from{transform:translateX(-100%)}to{transform:none}}@keyframes loadBall{from{transform:translate(-75px,25px) rotate(0)}to{transform:translate(75px,-25px) rotate(540deg)}}
.header{position:fixed;z-index:100;top:0;left:0;right:0;height:96px;padding:0 clamp(24px,4vw,66px);display:grid;grid-template-columns:260px 1fr 260px;align-items:center;color:white;transition:height .35s,background .35s,backdrop-filter .35s}.header.is-scrolled{height:76px;background:rgba(6,28,50,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:185px;height:auto;filter:brightness(0) invert(1)}.nav{display:flex;justify-content:center;gap:clamp(22px,3vw,48px)}.nav a{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--yellow);transition:right .3s}.nav a:hover:after{right:0}.header>.button{justify-self:end}.menu-toggle{display:none;color:white;background:none;border:0;padding:10px;gap:5px;align-items:center}.menu-toggle span{margin-right:8px;text-transform:uppercase;font-size:.68rem;letter-spacing:.15em}.menu-toggle i{width:20px;height:1px;background:white}.mobile-menu{position:fixed;inset:0;z-index:200;background:var(--yellow);color:var(--navy);padding:80px 28px}.mobile-menu__close{position:absolute;right:24px;top:20px;font-size:3rem;background:none;border:0}.mobile-menu nav{display:grid;gap:14px}.mobile-menu a{font-size:clamp(2.2rem,10vw,4rem);font-weight:800;text-transform:uppercase;letter-spacing:-.05em}.mobile-menu small{font-size:.65rem;margin-right:16px;letter-spacing:.1em}
.hero{min-height:100svh;position:relative;background:radial-gradient(circle at 68% 46%,#123d63 0,var(--navy2) 22%,var(--navy) 62%);color:white;overflow:hidden}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.hero__grain{position:absolute;inset:0;z-index:1;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.court{position:absolute;inset:0;pointer-events:none}.court svg{width:100%;height:100%}.court__line{fill:none;stroke:rgba(255,255,255,.12);stroke-width:2}.play,.cross,.mark{fill:none;stroke:var(--yellow);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900}.mark{stroke-dasharray:100;stroke-dashoffset:100}.court--hero{left:51%;right:-3%;top:8%;bottom:-12%;z-index:3;transform:rotate(-3deg)}.hero__content{position:relative;z-index:5;width:min(820px,55vw);padding:clamp(170px,19vh,230px) 0 100px clamp(24px,7vw,120px)}.eyebrow{display:flex;gap:18px;align-items:center;margin:0 0 34px;text-transform:uppercase;font-size:.72rem;letter-spacing:.18em}.eyebrow span{color:var(--yellow);font-weight:800}.eyebrow em{font-style:normal;opacity:.65}.hero__title{font-size:clamp(4.3rem,8.2vw,9rem);line-height:.82;letter-spacing:-.07em;text-transform:uppercase;margin:0;font-weight:800}.hero__title span{font-size:.92em}.hero__lead{font-size:clamp(1rem,1.25vw,1.3rem);line-height:1.55;max-width:570px;margin:36px 0;color:rgba(255,255,255,.74)}.hero__actions{display:flex;align-items:center;gap:34px}.text-link{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.text-link span{color:var(--yellow);margin-left:10px}.hero__note{position:absolute;z-index:5;right:6vw;top:19%;font-size:1.35rem}.hero__stat{position:absolute;z-index:5;right:4vw;bottom:8vh;display:flex;gap:12px;align-items:center;margin:0}.hero__stat b{font-size:2.5rem;color:var(--yellow)}.hero__stat span{font-size:.7rem;line-height:1.4;text-transform:uppercase;letter-spacing:.1em}.hero__scroll{position:absolute;z-index:6;left:32px;bottom:28px;display:flex;align-items:center;gap:12px;transform:rotate(-90deg);transform-origin:left center}.hero__scroll span{font-size:.62rem;text-transform:uppercase;letter-spacing:.22em}.hero__scroll i{display:block;width:46px;height:1px;background:var(--yellow)}
.manifesto{background:var(--paper)}.manifesto__title{max-width:1120px}.manifesto__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw;margin:100px 0}.manifesto__lead{font-size:clamp(1.7rem,3vw,3.1rem);line-height:1.16;letter-spacing:-.04em;margin:0;font-weight:600}.manifesto__text{border-left:1px solid #ccd0d2;padding-left:44px;font-size:1.02rem;line-height:1.8;color:#4d5660}.manifesto__text p{margin:0 0 24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfd2d3;border-bottom:1px solid #cfd2d3}.principles article{padding:44px 40px 48px 0;border-right:1px solid #cfd2d3}.principles article+article{padding-left:40px}.principles article:last-child{border-right:0}.principles b{color:var(--yellow);font-size:.7rem}.principles h3{font-size:2rem;text-transform:uppercase;margin:42px 0 16px}.principles p{color:#687079;line-height:1.7;margin:0}
.skills{background:var(--navy);color:white;padding-bottom:0;overflow:hidden}.skills__sticky{padding-bottom:clamp(90px,10vw,160px)}.skills__head{margin-bottom:70px}.skills__track{display:flex;gap:18px;width:max-content;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:10vw}.skill-card{width:min(390px,78vw);min-height:490px;padding:34px;border-radius:var(--radius);display:flex;flex-direction:column;color:var(--navy);transform:rotate(-1deg)}.skill-card:nth-child(even){transform:rotate(1deg) translateY(22px)}.skill-card>span{font-size:.7rem;font-weight:800}.skill-card__icon{font-size:5rem;margin:auto 0;text-align:center;font-family:"Permanent Marker"}.skill-card h3{font-size:clamp(2.8rem,4vw,4.4rem);line-height:.9;text-transform:uppercase;letter-spacing:-.06em;margin:0 0 18px}.skill-card p{line-height:1.55;margin:0;opacity:.78}.skill-card--yellow{background:var(--yellow)}.skill-card--blue{background:#7eb7d8}.skill-card--cream{background:var(--cream)}.skill-card--orange{background:var(--orange);color:white}
.coach{background:var(--paper)}.coach__grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(60px,9vw,140px);align-items:center}.coach__media{position:relative}.coach__media img{width:100%;aspect-ratio:4/5.25;object-fit:cover;filter:saturate(.72) contrast(1.08);clip-path:polygon(5% 0,100% 4%,96% 100%,0 96%)}.coach__frame{position:absolute;inset:-22px 8px 15px -18px;border:3px solid var(--yellow);transform:rotate(-3deg);border-radius:49% 51% 53% 47% / 3% 4% 96% 97%;z-index:2;pointer-events:none}.coach__note{position:absolute;z-index:3;right:-35px;bottom:12%;font-size:1.45rem;text-shadow:0 2px 12px rgba(0,0,0,.25)}.coach .display{font-size:clamp(3.2rem,5.5vw,6rem)}.coach__intro{font-size:clamp(1.4rem,2vw,2.05rem);line-height:1.3;font-weight:600;margin:48px 0 32px}.coach__copy{color:#5c6570;line-height:1.75}.coach__numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #ccd0d2;padding-top:30px;margin-top:40px}.coach__numbers b,.coach__numbers span{display:block}.coach__numbers b{font-size:1.35rem;color:var(--navy)}.coach__numbers span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-top:5px;color:#6b7278}
.proof{background:var(--navy);color:white;overflow:hidden}.proof__top{display:flex;justify-content:space-between;align-items:end}.proof__controls{display:flex;gap:8px}.proof__controls button{width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:white;font-size:1.4rem;transition:.3s}.proof__controls button:hover{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}.testimonials{position:relative;min-height:400px;margin-top:90px}.testimonial{position:absolute;inset:0;opacity:0;transform:translateX(60px);pointer-events:none;transition:opacity .55s,transform .55s}.testimonial.is-active{opacity:1;transform:none;pointer-events:auto}.testimonial blockquote{font-size:clamp(1.75rem,3.6vw,4.15rem);line-height:1.18;letter-spacing:-.045em;margin:0;max-width:1080px}.testimonial footer{display:flex;align-items:center;gap:18px;margin-top:48px}.testimonial footer img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid var(--yellow)}.testimonial footer b,.testimonial footer span{display:block}.testimonial footer b{text-transform:uppercase}.testimonial footer span{opacity:.55;font-size:.82rem;margin-top:5px}
.academic{position:relative;min-height:900px;color:white;display:flex;align-items:end;overflow:hidden}.academic__photo{position:absolute;inset:0}.academic__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,50,.92),rgba(6,28,50,.35)),linear-gradient(0deg,rgba(6,28,50,.88),transparent 65%)}.academic__photo img{width:100%;height:100%;object-fit:cover}.academic__inner{position:relative;z-index:2}.academic .display{max-width:900px}.academic__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.25);margin-top:80px}.academic__cards article{padding:32px;background:rgba(6,28,50,.68);backdrop-filter:blur(14px)}.academic__cards b{color:var(--yellow);font-size:.7rem}.academic__cards h3{font-size:1.7rem;text-transform:uppercase;margin:24px 0 10px}.academic__cards p{margin:0;color:rgba(255,255,255,.65);line-height:1.6}
.practical{background:var(--paper)}.practical__head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:10vw}.practical__head>p{font-size:1.15rem;line-height:1.75;color:#5b6570;margin:0}.practical__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid #cdd0d1}.practical__grid article{padding:34px 30px 0 0;border-right:1px solid #cdd0d1;min-height:260px}.practical__grid article+article{padding-left:30px}.practical__grid article:last-child{border:0}.practical__grid span{font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:#687079}.practical__grid h3{font-size:2rem;text-transform:uppercase;margin:34px 0 20px}.practical__grid p{line-height:1.7;color:#687079;font-size:.9rem}
.contact{background:var(--navy);color:white;position:relative;overflow:hidden}.contact__grid{display:grid;grid-template-columns:.8fr 1fr;gap:10vw;position:relative;z-index:2}.contact__intro>p:not(.section-label){max-width:490px;line-height:1.7;color:rgba(255,255,255,.64);font-size:1.08rem;margin:45px 0}.contact__direct{display:grid;gap:10px;font-weight:700}.contact__direct a:first-child{font-size:1.7rem;color:var(--yellow)}.contact__plays span{position:absolute;color:rgba(232,168,0,.14);font-family:"Permanent Marker";font-size:12rem}.contact__plays span:nth-child(1){left:4%;top:12%}.contact__plays span:nth-child(2){left:34%;bottom:-4%}.contact__plays span:nth-child(3){right:2%;top:4%;transform:rotate(-22deg)}.contact__plays span:nth-child(4){right:9%;bottom:2%}.form{display:grid;gap:28px;padding:42px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form label>span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58);margin-bottom:9px}.form input:not([type=checkbox]),.form textarea{width:100%;color:white;border:0;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;padding:10px 0 13px;outline:none;resize:vertical}.form input:focus,.form textarea:focus{border-color:var(--yellow)}.form ::placeholder{color:rgba(255,255,255,.25)}.form__consent{display:flex;gap:12px;align-items:flex-start}.form__consent input{accent-color:var(--yellow);margin-top:2px}.form__consent span{font-size:.69rem!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}.form__trap{position:absolute;left:-9999px}.form__submit{justify-self:start}.form__submit:disabled{opacity:.55}.form__status{min-height:22px;margin:0;font-size:.85rem}.form__status.is-ok{color:#7ee4aa}.form__status.is-error{color:#ff9f8f}
.footer{background:#041321;color:white;padding:55px clamp(24px,4vw,66px) 28px}.footer__top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:44px}.footer__top img{width:185px;filter:brightness(0) invert(1)}.footer__top p{justify-self:center;text-transform:uppercase;font-size:.7rem;letter-spacing:.15em;line-height:1.7;color:rgba(255,255,255,.55)}.footer__top div{justify-self:end;display:flex;gap:24px;font-size:.75rem;text-transform:uppercase}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;gap:28px;font-size:.68rem;color:rgba(255,255,255,.45)}.footer__bottom a:last-child{margin-left:auto}.legal{padding:60px 0;line-height:1.7}.legal main{max-width:800px}.legal h1{font-size:4rem;margin:70px 0 30px}.legal h2{margin-top:40px}
.js [data-reveal]{opacity:0;transform:translateY(28px)}.word{display:inline-block;overflow:hidden;vertical-align:bottom}.word>span{display:inline-block}.is-split{visibility:visible}
@media(max-width:1050px){.header{grid-template-columns:1fr auto}.header .nav,.header>.button{display:none}.menu-toggle{display:flex;flex-direction:row}.hero__content{width:70vw}.hero__note{display:none}.court--hero{left:36%}.coach__grid{gap:60px}.practical__grid{grid-template-columns:1fr 1fr}.practical__grid article:nth-child(2){border-right:0}.contact__grid{gap:50px}.skill-card{min-height:440px}}
@media(max-width:760px){:root{--wrap:calc(100vw - 34px)}.section{padding:85px 0}.display{font-size:clamp(2.8rem,15vw,5rem);line-height:.92}.header{height:76px;padding:0 17px}.brand img{width:145px}.hero{min-height:900px}.hero__content{width:auto;padding:155px 17px 120px}.hero__title{font-size:clamp(4.1rem,19vw,6rem)}.hero__lead{max-width:86%;margin:30px 0}.hero__actions{align-items:flex-start;flex-direction:column;gap:24px}.hero__canvas{inset:300px -22% 0 12%;width:110%;height:60%}.court--hero{left:5%;top:42%;bottom:-4%;right:-25%}.hero__stat{bottom:34px;right:20px}.hero__scroll{display:none}.manifesto__grid{grid-template-columns:1fr;gap:45px;margin:65px 0}.manifesto__text{padding-left:24px}.principles{grid-template-columns:1fr}.principles article,.principles article+article{padding:28px 0;border-right:0;border-bottom:1px solid #cfd2d3}.principles article:last-child{border:0}.principles h3{margin:22px 0 10px}.skills__head{margin-bottom:45px}.skill-card{min-height:410px}.coach__grid{grid-template-columns:1fr}.coach__media{width:92%}.coach__note{right:-22px}.coach__numbers{gap:10px}.coach__numbers b{font-size:1rem}.testimonials{min-height:510px;margin-top:60px}.proof__top{display:block}.proof__controls{margin-top:38px}.testimonial blockquote{font-size:1.7rem}.academic{min-height:1100px}.academic__cards{grid-template-columns:1fr}.practical__head{grid-template-columns:1fr;gap:40px}.practical__grid{grid-template-columns:1fr;margin-top:70px}.practical__grid article,.practical__grid article+article{border-right:0;border-bottom:1px solid #cdd0d1;padding:30px 0;min-height:auto}.contact__grid{grid-template-columns:1fr}.form{padding:27px 20px}.form__row{grid-template-columns:1fr}.footer__top{grid-template-columns:1fr;gap:30px}.footer__top p,.footer__top div{justify-self:start}.footer__bottom{flex-wrap:wrap}.footer__bottom a:last-child{margin-left:0}.legal h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}}
.brand img,.footer__top img{filter:none}

/* Ajustements v2 — Rock Salt, grille directe, témoignages scrollables */
html{scroll-behavior:auto}
.display em,.hero__title span,.note{font-family:"Rock Salt",cursive}
.skill-card__icon,.contact__plays span{font-family:"Rock Salt",cursive}
.display em{display:inline-block;font-size:.54em;line-height:1.35;letter-spacing:-.055em;padding:.08em .03em}
.hero__title span{display:inline-block;font-size:.66em;line-height:1.4;letter-spacing:-.065em;padding:.06em .02em}
.note{line-height:1.65}
.brand{height:58px;display:flex;align-items:center;overflow:hidden}
.brand img{width:auto;height:auto;max-height:56px;max-width:185px;object-fit:contain}
.header.is-scrolled .brand{height:50px}.header.is-scrolled .brand img{max-height:48px}
.coach__media img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;clip-path:none}
.coach__frame{inset:-18px -12px -18px -18px;border-radius:3px;transform:rotate(-1.5deg)}
.skills__sticky{padding-bottom:0}
.skills__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:var(--wrap);margin-inline:auto;padding:0;transform:none!important}
.skill-card,.skill-card:nth-child(even){width:auto;min-width:0;min-height:430px;transform:none}
.testimonials{position:relative;display:flex;gap:24px;min-height:0;margin-top:70px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 28px;overscroll-behavior-inline:contain;scrollbar-color:var(--yellow) rgba(255,255,255,.12);scrollbar-width:thin}
.testimonial,.testimonial.is-active{position:relative;inset:auto;flex:0 0 min(940px,88vw);min-height:440px;padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);opacity:1;transform:none;pointer-events:auto;scroll-snap-align:start;background:rgba(255,255,255,.035)}
.testimonial blockquote{font-size:clamp(1.65rem,3vw,3.35rem)}
.testimonial footer{margin-top:48px}.testimonial footer img{width:140px;height:140px;flex:0 0 140px;border-width:4px}
.js [data-reveal]{opacity:1;transform:none}
.word{overflow:visible;padding-block:.1em;margin-block:-.1em}

/* Ajustements v3 — scrollbar dorée (comme marcmercier.com) */
::-webkit-scrollbar{width:14px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{box-shadow:inset 0 0 14px 14px var(--yellow);border:solid 3px transparent;border-radius:8px}
html{scrollbar-color:var(--yellow) transparent}
.word>span{will-change:transform,opacity}
.footer__top img{width:185px;height:auto;max-height:none}
.legal-trigger{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.legal-trigger:hover{color:white}
.legal-modal{width:min(760px,calc(100vw - 34px));max-height:min(82vh,780px);padding:0;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.legal-modal::backdrop{background:rgba(4,19,33,.82);backdrop-filter:blur(8px)}
.legal-modal__head{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:var(--paper);border-bottom:1px solid #d8d8d3}
.legal-modal__head .section-label{margin:0}.legal-modal__close{width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);color:white;font-size:1.8rem;line-height:1}
.legal-modal__content{padding:clamp(30px,6vw,70px)}
.legal-modal__content h2{margin:0 0 36px;font-size:clamp(2.5rem,6vw,5rem);line-height:.9;text-transform:uppercase;letter-spacing:-.06em}
.legal-modal__content h3{margin:36px 0 12px;font-size:1.2rem;text-transform:uppercase}
.legal-modal__content p{line-height:1.75;color:#5d6670}.legal-modal__content a{color:var(--navy);font-weight:700;text-decoration:underline}
@media(max-width:1100px){.skills__track{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{min-height:390px}}
@media(max-width:760px){.brand{height:50px}.brand img{max-height:47px;max-width:150px}.display em{font-size:.5em}.hero__title span{font-size:.57em}.skills__track{grid-template-columns:1fr}.skill-card{min-height:370px}.testimonial,.testimonial.is-active{flex-basis:94%;min-height:500px}.testimonial footer{align-items:flex-start}.testimonial footer img{width:104px;height:104px;flex-basis:104px}.legal-modal__head{padding:18px 20px}.legal-modal__content{padding:30px 22px}}

/* Ajustements v3 — rythme du hero, tracés et carrousel */
.brand,.brand img{transition:height .42s cubic-bezier(.22,1,.36,1),max-height .42s cubic-bezier(.22,1,.36,1),max-width .42s cubic-bezier(.22,1,.36,1)}
.hero__title>span{display:block;margin-top:-.15em;line-height:1.08;padding:.05em .02em}
.skills{padding-bottom:clamp(90px,10vw,160px)}
.skills__track{margin-bottom:0}
.skill-card__icon{width:78px;height:78px;display:grid;place-items:center;margin:auto 0;border:2px solid currentColor;border-radius:50%;font-family:inherit;font-size:2.25rem;text-align:center;transform:rotate(-5deg)}
.skill-card:nth-child(even) .skill-card__icon{transform:rotate(5deg)}
.coach__frame{border:0;overflow:visible}
.coach__frame i{position:absolute;display:block;background:var(--yellow);transform:scale(0)}
.coach__frame i:nth-child(1){left:0;top:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left center}
.coach__frame i:nth-child(2){right:0;top:0;width:3px;height:100%;transform:scaleY(0);transform-origin:center top}
.coach__frame i:nth-child(3){right:0;bottom:0;width:100%;height:3px;transform:scaleX(0);transform-origin:right center}
.coach__frame i:nth-child(4){left:0;bottom:0;width:3px;height:100%;transform:scaleY(0);transform-origin:center bottom}
.testimonials{gap:0;padding:0;scrollbar-width:none}
.testimonials::-webkit-scrollbar{display:none}
.testimonial,.testimonial.is-active{flex:0 0 100%;width:100%;min-height:470px;scroll-snap-align:start;scroll-snap-stop:always;border-radius:0;border-left:0;border-right:0}
.testimonial-dots{display:flex;justify-content:center;align-items:center;gap:11px;margin-top:34px}
.testimonial-dots button{width:10px;height:10px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;transition:width .3s,background .3s,border-color .3s}
.testimonial-dots button.is-active{width:30px;border-radius:999px;background:var(--yellow);border-color:var(--yellow)}
.js [data-reveal]{opacity:0;transform:translateY(30px);clip-path:inset(0 0 18px 0);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1),clip-path .75s cubic-bezier(.22,1,.36,1)}
.js [data-reveal].is-revealed{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
@media(max-width:760px){.hero__title>span{margin-top:-.08em}.skill-card__icon{width:68px;height:68px;font-size:2rem}.testimonial,.testimonial.is-active{flex-basis:100%;min-height:540px}.testimonial footer img{width:112px;height:112px;flex-basis:112px}}
@media(prefers-reduced-motion:reduce){.js [data-reveal],.js [data-reveal].is-revealed{opacity:1;transform:none;clip-path:none;transition:none}.coach__frame i{transform:none!important}}

/* Ajustements v4 — loader, hero et finitions typographiques */
.loader{transform:translateY(-100%);visibility:hidden;opacity:1;transition:none;will-change:transform}
html.loading .loader{transform:translateY(0);visibility:visible}
html.loading body{overflow:hidden}
.loader__inner{display:grid;justify-items:center;gap:24px;width:min(72vw,360px)}
.loader__inner img{width:min(260px,62vw);height:auto}
.loader__bar{position:relative;display:block;width:100%;height:2px;background:rgba(255,255,255,.18);overflow:hidden;border-radius:2px;transform:none}
.loader__bar>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#e99e00,#d9da00);transform:scaleX(0);transform-origin:left center}
.hero__title{display:grid;justify-items:start;line-height:1;margin:0}
.hero__title>span{display:block;margin:0;padding:0}
.hero__title-main,.hero__title-main span{font-family:"Kumbh Sans",sans-serif!important;color:white;font-size:1em!important;font-weight:800;text-transform:uppercase;letter-spacing:-.07em;line-height:.86}
.hero__title-script,.hero__title-script span{font-family:"Rock Salt",cursive!important;color:var(--yellow);font-size:clamp(1.65rem,3.35vw,4.15rem)!important;font-weight:400;text-transform:none;letter-spacing:-.055em;line-height:1.5}
.hero__title-script{margin-top:.08em!important;white-space:nowrap}
.skill-card h3{max-width:100%;font-size:clamp(1.7rem,2.25vw,2.65rem);line-height:1.02;overflow-wrap:anywhere;hyphens:auto}
.coach__frame i{transition:transform .58s cubic-bezier(.22,1,.36,1)}
.coach__media.is-frame-visible .coach__frame i:nth-child(1){transform:scaleX(1);transition-delay:0s}
.coach__media.is-frame-visible .coach__frame i:nth-child(2){transform:scaleY(1);transition-delay:.5s}
.coach__media.is-frame-visible .coach__frame i:nth-child(3){transform:scaleX(1);transition-delay:1s}
.coach__media.is-frame-visible .coach__frame i:nth-child(4){transform:scaleY(1);transition-delay:1.5s}
@media(max-width:760px){.hero__title-script,.hero__title-script span{font-size:clamp(1.45rem,6.4vw,2rem)!important;letter-spacing:-.07em}.hero__title-script{margin-top:.22em!important}.skill-card h3{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){.loader__bar>span{transform:scaleX(1)}.coach__media .coach__frame i{transform:none!important;transition:none}}

/* Terrain réglementaire fourni — perspective du hero */
.court--hero{inset:auto -8% auto auto;top:18%;width:min(64vw,1000px);height:auto;aspect-ratio:940/500;z-index:1;transform:rotate(-5deg);opacity:1}
.court--hero svg{width:100%;height:auto;overflow:visible;filter:saturate(.78)}
.court--hero svg>:not(.play):not(.cross):not(.mark){opacity:.22}
.court--hero .play,.court--hero .cross,.court--hero .mark{stroke:var(--yellow);stroke-width:5;opacity:.82}
@media(max-width:1050px){.court--hero{left:auto;right:-22%;top:30%;width:92vw}}
@media(max-width:760px){.court--hero{left:auto;right:-38%;top:53%;bottom:auto;width:148vw;transform:rotate(-7deg)}}

/* Court portrait au premier plan */
.court--hero{inset:auto 1% auto auto;top:9%;width:min(44vw,660px);height:84%;aspect-ratio:auto;z-index:4;transform:rotate(-3deg);opacity:1}
.court--hero svg{width:100%;height:100%;overflow:visible;filter:none}
.court--hero svg>g{opacity:1!important}
.court--hero .court__icon{fill:#000;opacity:.38}
@media(max-width:1050px){.court--hero{left:auto;right:-9%;top:20%;width:58vw;height:72%}}
@media(max-width:760px){.court--hero{left:auto;right:-18%;top:45%;bottom:auto;width:100vw;height:54%;transform:rotate(-4deg)}}

/* Motifs tactiques du hero, sans SVG */
.hero__plays{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero__plays span{position:absolute;color:rgba(232,168,0,.17);font-family:"Rock Salt",cursive;font-size:clamp(5rem,9vw,10rem);line-height:1}
.hero__plays span:nth-child(1){left:5%;top:16%;transform:rotate(-14deg)}
.hero__plays span:nth-child(2){left:43%;top:8%;transform:rotate(8deg)}
.hero__plays span:nth-child(3){right:7%;top:22%;transform:rotate(17deg)}
.hero__plays span:nth-child(4){left:31%;bottom:4%;transform:rotate(-11deg)}
.hero__plays span:nth-child(5){right:17%;bottom:7%;transform:rotate(9deg)}
.coach__media,.coach__media.is-revealed{overflow:visible;clip-path:none!important}
.coach__note{right:-58px}
@media(max-width:760px){.hero__plays span{font-size:5.5rem}.hero__plays span:nth-child(2){left:68%;top:13%}.hero__plays span:nth-child(4){left:8%;bottom:14%}.coach__note{right:-34px}}

/* Ajustements v5 — contour du ballon, stabilité au chargement, burger et témoignages complets */
/* Barre de défilement toujours présente : plus aucun décalage quand le loader, le menu
   ou la modale libèrent/verrouillent le défilement (overflow:hidden la faisait disparaître) */
html{overflow-y:scroll;scrollbar-gutter:stable}
html.loading body,body.menu-open{overflow-x:hidden;overflow-y:visible}

/* Burger classique */
.menu-toggle{display:none;position:relative;width:46px;height:46px;padding:0;margin-right:-9px;justify-self:end;place-items:center;background:none;border:0;color:#fff;transition:color .3s}
.menu-toggle__box{position:relative;display:block;width:26px;height:16px}
.menu-toggle i{position:absolute;left:0;display:block;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .45s cubic-bezier(.66,-.25,.3,1.3),opacity .22s ease,width .3s ease}
.menu-toggle i:nth-child(1){top:0}
.menu-toggle i:nth-child(2){top:7px;width:76%}
.menu-toggle i:nth-child(3){top:14px}
.menu-toggle:hover i:nth-child(2){width:100%}
.menu-toggle.is-active{color:var(--navy)}
.menu-toggle.is-active i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-active i:nth-child(2){opacity:0;transform:translateX(-14px)}
.menu-toggle.is-active i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.menu-open .header{z-index:300;background:transparent;backdrop-filter:none;border-bottom:0}
body.menu-open .brand img{filter:brightness(0)}

/* Panneau mobile : ouverture en rideau + items en cascade */
.mobile-menu{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(104px,16vh,146px) clamp(24px,7vw,48px) 42px;clip-path:inset(0 0 100% 0);transition:clip-path .66s cubic-bezier(.76,0,.24,1)}
.mobile-menu.is-open{clip-path:inset(0 0 0 0)}
.mobile-menu nav{display:grid;gap:clamp(2px,1.2vh,12px)}
.mobile-menu nav a{display:block;overflow:hidden;padding:.06em 0;font-size:clamp(2.1rem,9.2vw,3.6rem);line-height:1.12}
.mobile-menu nav a>span{display:block;transform:translateY(118%);transition:transform .32s cubic-bezier(.5,0,1,1)}
.mobile-menu.is-open nav a>span{transform:none;transition:transform .74s cubic-bezier(.22,1,.36,1)}
.mobile-menu.is-open nav a:nth-child(1)>span{transition-delay:.2s}
.mobile-menu.is-open nav a:nth-child(2)>span{transition-delay:.26s}
.mobile-menu.is-open nav a:nth-child(3)>span{transition-delay:.32s}
.mobile-menu.is-open nav a:nth-child(4)>span{transition-delay:.38s}
.mobile-menu.is-open nav a:nth-child(5)>span{transition-delay:.44s}
.mobile-menu small{display:inline-block;margin-right:14px;font-size:.6rem;font-weight:700;letter-spacing:.16em;vertical-align:middle;opacity:.5}
.mobile-menu__foot{display:grid;gap:7px;padding-top:24px;border-top:1px solid rgba(16,24,32,.2);opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.mobile-menu.is-open .mobile-menu__foot{opacity:1;transform:none;transition-delay:.5s}
.mobile-menu__foot a{font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none}
.mobile-menu__foot a:first-child{font-size:1.45rem;letter-spacing:-.02em}
@media(max-width:1050px){.menu-toggle{display:grid}}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu nav a>span,.mobile-menu__foot,.menu-toggle i{transition-duration:0s!important}}

/* Témoignages intégraux : passage d'une citation display à un texte lisible */
.testimonial blockquote{font-size:clamp(1.05rem,.84rem + .66vw,1.62rem);line-height:1.56;letter-spacing:-.004em;font-weight:500;max-width:64ch;color:rgba(255,255,255,.9)}
.testimonial footer{margin-top:auto;padding-top:36px}
.testimonial footer img{width:96px;height:96px;flex:0 0 96px;border-width:3px}
.testimonial,.testimonial.is-active{min-height:430px}
@media(max-width:760px){.testimonial blockquote{line-height:1.55}.testimonial,.testimonial.is-active{min-height:600px}.testimonial footer{padding-top:26px;align-items:center}.testimonial footer img{width:74px;height:74px;flex-basis:74px}}

/* Ajustements v6 — signature GW Studio */
.footer__credit a{color:var(--yellow);font-weight:700;transition:opacity .3s}
.footer__credit a:hover{opacity:.75;text-decoration:underline;text-underline-offset:3px}

/* Ajustements v7 — ballon calé sur le bas du hero en mobile */
@media(max-width:760px){.hero__canvas{top:auto;bottom:0;height:62%}}

/* Ajustements v8 — mention légale sous le formulaire */
.form__legal{margin:-14px 0 0;font-size:.68rem;line-height:1.65;color:rgba(255,255,255,.42)}
.form__legal a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px;transition:color .3s}
.form__legal a:hover{color:var(--yellow)}

/* Ajustements v9 — section News (fond clair identique à la section suivante,
   pour rester supprimable sans casser l'alternance des fonds) */
.news{background:var(--paper);padding-bottom:0}
.news__title{margin-bottom:clamp(48px,6vw,80px)}
.news__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2vw,26px)}
.news-card{display:flex;flex-direction:column;padding:clamp(26px,2.6vw,40px);border:1px solid #d7d8d2;border-radius:var(--radius);background:var(--white)}
.news-card__tag{display:flex;align-items:center;gap:14px;margin:0 0 26px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7b838c}
.news-card__tag span{padding:6px 12px;border-radius:999px;background:var(--yellow);color:var(--navy);font-size:.62rem;font-weight:800;letter-spacing:.14em}
.news-card h3{margin:0 0 18px;font-size:clamp(1.75rem,2.4vw,2.6rem);line-height:.98;letter-spacing:-.05em;text-transform:uppercase;font-weight:800}
.news-card__lead{margin:0 0 30px;line-height:1.7;color:#5d6670}
.news-card__meta{display:grid;gap:16px;margin:0 0 28px;padding:26px 0;border-top:1px solid #e2e3dd;border-bottom:1px solid #e2e3dd}
.news-card__meta>div{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:baseline}
.news-card__meta dt{font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.news-card__meta dd{margin:0;line-height:1.55;font-size:.95rem}
.news-card__program{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:11px}
.news-card__program li{position:relative;padding-left:30px;font-size:.95rem;font-weight:600}
.news-card__program li:before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--navy);border-radius:50%;font-size:.6rem;font-weight:800}
.news-card__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:26px;border-top:1px solid #e2e3dd}
.news-card__price{margin:0;display:grid;gap:2px}
.news-card__price span{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7b838c}
.news-card__price b{font-size:2.1rem;line-height:1;letter-spacing:-.04em}
.news__contact{margin:clamp(34px,4vw,48px) 0 0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7b838c}
.news__contact a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.news__contact a:hover{color:var(--yellow)}
@media(max-width:900px){.news__grid{grid-template-columns:1fr}}
@media(max-width:760px){.news-card__meta>div{grid-template-columns:1fr;gap:5px}.news-card__foot{gap:16px}}

/* ============================================================
   Ajustements v10 — apparitions, effets d'entrée, FAQ
   (Font Awesome retiré : les 4 icônes Expertise sont en SVG inline)
   ============================================================ */

/* --- Icônes SVG des cartes Expertise --- */
.skill-card__icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.skill-card__icon svg .is-filled{fill:currentColor;stroke:none}
.skill-card{--icon-tilt:-5deg}
.skill-card:nth-child(even){--icon-tilt:5deg}
.skill-card__icon,.skill-card:nth-child(even) .skill-card__icon{transform:rotate(var(--icon-tilt));transition:transform .7s cubic-bezier(.22,1,.36,1),border-width .4s}
.skills__track .skill-card{transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){
  .skills__track .skill-card:hover{transform:translateY(-12px);box-shadow:0 34px 60px -30px rgba(0,0,0,.55)}
  .skills__track .skill-card:hover .skill-card__icon{transform:rotate(calc(var(--icon-tilt) * -1.6)) scale(1.1)}
}

/* --- Masque des mots : rideau propre sur les capitales,
       marge respirée sur les lignes manuscrites (jambages) --- */
.display .word,.hero__title-main .word{overflow:hidden;padding-block:.16em;margin-block:-.16em}
.display em .word,.hero__title-script .word{overflow:visible;padding-block:.12em;margin-block:-.12em}

/* --- Trait des libellés de section : il se dessine à l'apparition --- */
.section-label:after{transform:scaleX(0);transform-origin:left center;transition:transform .9s cubic-bezier(.22,1,.36,1) .18s}
.section-label.is-revealed:after,.legal-modal .section-label:after{transform:scaleX(1)}

/* --- Cascade des apparitions : le délai est posé par le script --- */
.js [data-reveal]{transition-delay:var(--reveal-delay,0s)}

/* --- Hero : filet de sécurité si le script ne démarre pas --- */
.js [data-hero]{opacity:0}
html.hero-fallback [data-hero],html.hero-fallback .hero__canvas,html:not(.js) [data-hero]{opacity:1!important;clip-path:none!important;filter:none!important}
/* Onglet qui ne peint pas : rien ne doit rester invisible (voir main.js, garde-fou 6 s) */
html.motion-off [data-reveal],html.motion-off [data-card],html.motion-off .word>span{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
html.motion-off .section-label:after{transform:scaleX(1)!important}
.hero__canvas{opacity:0}
html.hero-fallback .hero__canvas,html.motion-off .hero__canvas{opacity:1!important}

/* --- Boutons : remplissage qui monte + flèche qui décolle --- */
/* Le texte ne passe au blanc qu une fois le remplissage navy arrivé sous lui */
.button{position:relative;overflow:hidden;isolation:isolate;transition:color .22s,background .35s}
.button:hover{transition:color .3s .12s,background .35s}
.button>span,.button>b{position:relative;z-index:2}
.button:before{content:"";position:absolute;z-index:1;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .55s cubic-bezier(.65,0,.35,1)}
.button b{transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .35s,color .35s}
@media(hover:hover){
  .button:hover{background:var(--yellow);color:#fff}
  .button:hover:before{transform:translateY(0)}
  .button:hover b{background:var(--yellow);color:var(--navy);transform:translate(3px,-3px)}
}
.proof__controls button{transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s,color .3s,border-color .3s}
.proof__controls button:hover{transform:scale(1.08)}

/* --- Repère « Scroll » : le trait se relance en boucle --- */
.hero__scroll i{position:relative;overflow:hidden;background:rgba(255,255,255,.28)}
.hero__scroll i:after{content:"";position:absolute;inset:0;background:var(--yellow);animation:scrollSweep 2.1s cubic-bezier(.65,0,.35,1) infinite}
@keyframes scrollSweep{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

/* --- Cartes qui réagissent au survol --- */
.news-card{transition:transform .6s cubic-bezier(.22,1,.36,1),border-color .5s,box-shadow .6s}
@media(hover:hover){.news-card:hover{transform:translateY(-8px);border-color:var(--yellow);box-shadow:0 30px 60px -34px rgba(6,28,50,.5)}}
.principles article,.academic__cards article,.practical__grid article{position:relative}
.principles article:after,.practical__grid article:after{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left center;transition:transform .6s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.principles article:hover:after,.practical__grid article:hover:after{transform:scaleX(1)}}
.academic__cards article{transition:background .5s}
@media(hover:hover){.academic__cards article:hover{background:rgba(6,28,50,.85)}}

/* --- FAQ (dans « Infos pratiques », sans numéro de section) --- */
.faq{margin-top:clamp(64px,7vw,110px);padding-top:clamp(44px,5vw,70px);border-top:1px solid #cdd0d1}
.faq__title{margin:0 0 clamp(20px,2.6vw,34px);font-size:clamp(1.45rem,2.3vw,2.3rem);line-height:1;text-transform:uppercase;letter-spacing:-.045em;font-weight:800}
.faq__item{border-bottom:1px solid #d9dcdd}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,40px);padding:22px 0;list-style:none;cursor:pointer;font-size:clamp(1rem,1.25vw,1.24rem);font-weight:700;letter-spacing:-.015em;transition:color .3s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::marker{content:""}
.faq__item summary:hover{color:var(--yellow)}
.faq__item summary:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.faq__item summary i{position:relative;flex:0 0 34px;width:34px;height:34px;border:1px solid #c6cacb;border-radius:50%;transition:transform .5s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,color .35s}
.faq__item summary i:before,.faq__item summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s}
.faq__item summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item summary:hover i{border-color:var(--yellow)}
.faq__item[open] summary i{background:var(--yellow);border-color:var(--yellow);color:var(--navy);transform:rotate(180deg)}
.faq__item[open] summary i:after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.faq__answer{overflow:hidden;padding-bottom:28px;max-width:80ch}
.faq__answer p{margin:0;line-height:1.75;color:#5b6570}
.faq__answer a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.faq__answer a:hover{color:var(--yellow)}
@media(max-width:760px){.faq__item summary{padding:19px 0}.faq__item summary i{flex-basis:30px;width:30px;height:30px}}

/* --- Compteurs : la largeur ne doit pas sauter pendant le décompte --- */
[data-count]{font-variant-numeric:tabular-nums}

/* --- Sobriété si le visiteur limite les animations --- */
@media(prefers-reduced-motion:reduce){
  .js [data-hero],.hero__canvas{opacity:1!important;transform:none!important;filter:none!important}
  .hero__scroll i:after{animation:none;transform:none}
  .section-label:after{transform:scaleX(1)}
  .button:before{display:none}
  .faq__answer{height:auto!important}
}

/* ============================================================
   Ajustements v11 — alignement des cartes, menu actif, masques
   ============================================================ */

/* --- Les 4 titres Expertise doivent partir de la même ligne ---------------
   L'icône était centrée par `margin:auto 0` : le titre se retrouvait donc
   poussé par la hauteur du paragraphe, qui varie d'une carte à l'autre.
   On cale le rythme depuis le HAUT, l'espace restant tombe en bas de carte. */
.skill-card__icon,.skill-card:nth-child(even) .skill-card__icon{margin:clamp(46px,5.4vw,78px) 0 clamp(32px,3.4vw,48px)}
.skill-card p{margin:0}
/* La grille étire déjà toutes les cartes sur la plus haute : une hauteur mini figée
   ne servait qu à creuser du vide sous le texte en dessous de 1100 px. */
.skills__track .skill-card{min-height:340px}

/* --- Menu : rubrique active au défilement --- */
.nav a.is-active{color:var(--yellow)}
.nav a.is-active:after{right:0}
.mobile-menu nav a.is-active>span{color:var(--navy)}
.mobile-menu nav a.is-active small{opacity:1}
.mobile-menu nav a.is-active>span:after{content:"";display:inline-block;width:.28em;height:.28em;margin-left:.22em;border-radius:50%;background:var(--navy);vertical-align:.28em}
.mobile-menu.is-open nav a:nth-child(6)>span{transition-delay:.5s}
.mobile-menu{overflow-y:auto}

/* --- Cinq rubriques : on resserre avant de basculer sur le burger ---
   Borné en bas : sous 1050 px la barre passe au burger et repasse en `1fr auto`.
   Sans le plancher, `200px 1fr 200px` écrasait la colonne du milieu sur mobile et
   plantait le burger au centre de l écran au lieu de la marge droite. */
@media(min-width:1051px) and (max-width:1240px){
  .header{grid-template-columns:200px 1fr 200px}
  .nav{gap:clamp(15px,1.9vw,30px)}
  .nav a{font-size:.67rem;letter-spacing:.1em}
}

/* --- Masque des titres : il ne doit rogner que verticalement --------------
   `overflow:hidden` coupe aussi sur les côtés, et le crénage négatif des
   gros titres fait dépasser la dernière lettre de sa boîte. */
/* Mesuré sur la police du site : l'encre déborde de sa boîte de .074em à droite et de
   .078em à gauche sur les gros titres — d'où .11em de marge de sécurité. */
.display .word,.hero__title-main .word{padding-inline:.11em;margin-inline:-.11em}
.display em .word,.hero__title-script .word{padding-inline:.06em;margin-inline:-.06em}
.mobile-menu nav a{padding-inline:.1em;margin-inline:-.1em}

/* --- FAQ : le panneau se déplie sans à-coup --- */
.faq__answer{will-change:height}
.faq__item:not([open]) .faq__answer{will-change:auto}

/* --- Portrait rond du coach, en signature sous son parcours --- */
.coach__signature{display:flex;align-items:center;gap:clamp(16px,1.9vw,26px);margin:clamp(34px,4vw,48px) 0 0}
.coach__signature img{flex:0 0 auto;width:clamp(92px,8.6vw,132px);height:clamp(92px,8.6vw,132px);border-radius:50%;object-fit:cover;background:var(--navy);border:3px solid var(--yellow);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.coach__signature figcaption{display:grid;gap:6px}
.coach__signature b{font-size:clamp(1rem,1.1vw,1.15rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.coach__signature span{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:#6b7278}
@media(hover:hover){.coach__signature:hover img{transform:scale(1.05)}}
@media(max-width:760px){.coach__signature{gap:16px}.coach__signature span{font-size:.66rem}}

/* ============================================================
   Ajustements v12 — découpe des apparitions, glisser du carrousel
   ============================================================ */

/* La découpe d'apparition est levée une fois l'animation finie (classe posée par le
   script) : `inset(0)` reste une zone de rognage, et elle coupait les flèches agrandies
   au survol comme les ombres portées des cartes. */
.js [data-reveal].is-settled{clip-path:none}

/* Les flèches ont désormais la place de grandir dans leur rangée. */
.proof__controls{padding:5px;margin:-5px}

/* Carrousel de témoignages : glisser à la souris ------------------------- */
.testimonials{touch-action:pan-x pan-y}
.testimonials.is-dragging{scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.testimonials.is-dragging *{cursor:grabbing}
@media(hover:hover) and (pointer:fine){
  .testimonials{cursor:grab}
  .testimonials.is-dragging{cursor:grabbing}
}
@media(prefers-reduced-motion:reduce){.testimonials.is-dragging{scroll-behavior:auto}}

/* ============================================================
   Ajustements v13 — centrage des flèches, gouttière unique
   ============================================================ */

/* Les flèches étaient des caractères « ← / → » que Kumbh Sans ne possède pas : le
   navigateur retombait sur une police système dont les métriques posaient l'encre 1 px
   à gauche et 2 px sous le centre du cercle. En SVG, le centrage est géométrique. */
.proof__controls button{display:grid;place-items:center;padding:0;line-height:1}
/* 24 px pour 24 unités de viewBox : les traits tombent sur la grille de pixels. */
.proof__controls svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Une seule gouttière pour le logo, le burger, la croix et les entrées du menu :
   le panneau mobile avait sa propre marge, la croix ne tombait donc jamais en face. */
:root{--gutter:clamp(24px,4vw,66px)}
@media(max-width:760px){:root{--gutter:17px}}
.header{padding-inline:var(--gutter)}
.mobile-menu{padding-inline:var(--gutter)}
/* Les trois barres sont centrées dans une cible de 46 px : on rattrape les 10 px de
   marge interne pour que le trait, et non la zone de clic, s'aligne sur la gouttière. */
.menu-toggle{margin-right:-10px}
/* Reliquat de l'ancien burger étiqueté « MENU » : cette marge décalait les trois
   barres de 4 px vers la gauche dans leur cible. */
/* Écrit sur le même sélecteur : `.menu-toggle span` (classe + type) l emporte sur
   `.menu-toggle__box` (classe seule), une simple classe ne suffisait pas. */
.menu-toggle span{margin-right:0}

/* ============================================================
   Ajustements v14 — bloc vidéo « Une séance de l'intérieur »
   Même fond que la section Expertise qui précède : l'alternance
   clair/foncé tient toujours si le bloc est retiré.
   ============================================================ */
.reel{background:var(--navy);color:#fff;overflow:hidden;padding-top:0}
.reel__grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
/* Plafonnée : en 9:16, au-delà de 380 px de large la carte dépasse la hauteur d écran. */
.reel__player{position:relative;margin:0;width:100%;max-width:380px;border-radius:var(--radius);overflow:hidden;background:#04111d;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.reel__player video{display:block;width:100%;height:auto;aspect-ratio:464/832;object-fit:cover;background:#04111d}
/* Le bouton couvre l'affiche tant que la vidéo n'a pas démarré. */
.reel__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;padding:0;border:0;color:#fff;background:linear-gradient(180deg,rgba(4,17,29,.15),rgba(4,17,29,.72));transition:opacity .45s ease,visibility .45s}
.reel__play-icon{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--yellow);color:var(--navy);box-shadow:0 18px 40px -14px rgba(0,0,0,.75);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.reel__play-icon svg{width:30px;height:30px;fill:currentColor;margin-left:4px}
.reel__play-text{display:grid;gap:5px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.reel__play-text b{font-size:.66rem;font-weight:600;letter-spacing:.14em;opacity:.65}
@media(hover:hover){.reel__play:hover .reel__play-icon{transform:scale(1.09)}}
.reel__play:focus-visible{outline:3px solid var(--yellow);outline-offset:-6px}
.reel.is-playing .reel__play{opacity:0;visibility:hidden;pointer-events:none}
.reel__lead{max-width:46ch;margin:38px 0 0;font-size:clamp(1.02rem,1.2vw,1.22rem);line-height:1.75;color:rgba(255,255,255,.68)}
.reel__actions{display:flex;align-items:center;gap:clamp(22px,3vw,38px);flex-wrap:wrap;margin-top:clamp(34px,4vw,46px)}
.reel .text-link{color:rgba(255,255,255,.72);transition:color .3s}
.reel .text-link:hover{color:#fff}
@media(max-width:900px){
  .reel__grid{grid-template-columns:1fr;gap:clamp(34px,7vw,52px)}
  .reel__player{width:min(340px,80vw);margin-inline:auto}
  .reel__lead{max-width:none}
}
@media(max-width:760px){
  .reel__play-icon{width:70px;height:70px}
  .reel__play-icon svg{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){.reel__play,.reel__play-icon{transition:none}}

/* ============================================================
   Ajustements v15 — passage en site de 8 pages (contenu éditorial
   du 27/10/2026) : en-têtes de pages, offres, piliers, dates du
   dimanche, tarifs, accompagnement, mosaïques, bandeau contact.
   ============================================================ */

/* --- Menu à six rubriques --- */
.nav{gap:clamp(18px,2.2vw,36px)}
@media(min-width:1051px) and (max-width:1320px){
  .header{grid-template-columns:170px 1fr 150px}
  .nav{gap:clamp(13px,1.45vw,22px)}
  .nav a{font-size:.64rem;letter-spacing:.075em}
}
.header>.button[aria-current]{background:#fff}
.mobile-menu nav a{font-size:clamp(1.75rem,7.6vw,3.1rem)}
.mobile-menu.is-open nav a:nth-child(7)>span{transition-delay:.56s}

/* --- Accueil : ligne de références sous les boutons du hero --- */
.hero__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:46px 0 0;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hero__meta i{width:5px;height:5px;border-radius:50%;background:var(--yellow)}

/* --- En-tête des pages intérieures --- */
.page-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 74% 42%,#123d63 0,var(--navy2) 26%,var(--navy) 66%);padding:calc(96px + clamp(44px,6vw,96px)) 0 clamp(72px,8vw,124px)}
.page-hero__grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,96px);align-items:center}
.page-hero .eyebrow{margin-bottom:30px}
.page-hero .display{font-size:clamp(2.8rem,5.1vw,5.6rem)}
.page-hero__lead{max-width:50ch;margin:34px 0 0;font-size:clamp(1.02rem,1.25vw,1.26rem);line-height:1.65;color:rgba(255,255,255,.74)}
.page-hero__actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:40px}
.page-hero__media{position:relative;margin:0;width:100%;aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;background:#04111d;box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.page-hero__media--portrait{aspect-ratio:4/5;max-width:480px;justify-self:end}
.page-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 40%}
.page-hero__media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.page-hero .hero__plays span{color:rgba(232,168,0,.11)}
@media(max-width:900px){
  .page-hero__grid{grid-template-columns:1fr}
  .page-hero__media,.page-hero__media--portrait{aspect-ratio:16/11;max-width:none;justify-self:stretch}
}
@media(max-width:760px){
  .page-hero{padding:126px 0 72px}
  .page-hero .display{font-size:clamp(2.3rem,10.6vw,3.6rem)}
  .page-hero__media,.page-hero__media--portrait{aspect-ratio:4/3.4}
  .page-hero__actions{gap:22px}
}

/* --- Gros titres en mobile : un mot long ne doit jamais déborder --- */
@media(max-width:760px){.display{font-size:clamp(2.3rem,11.2vw,4.4rem)}}

/* --- Bandeau « Prochain stage » --- */
.stage-band{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:14px clamp(16px,3vw,40px);padding:22px var(--gutter);background:var(--yellow);color:var(--navy)}
.stage-band__label{padding:7px 14px;border-radius:999px;background:var(--navy);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.stage-band strong{font-size:clamp(1.02rem,1.55vw,1.45rem);font-weight:800;letter-spacing:-.02em;text-transform:uppercase}
.stage-band__link{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.stage-band__link b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
@media(hover:hover){.stage-band:hover .stage-band__link b{transform:translate(3px,-3px)}}
.stage-band--inline{margin-top:clamp(48px,6vw,84px);padding:22px clamp(22px,2.6vw,34px);border-radius:var(--radius)}
@media(max-width:760px){.stage-band__link{margin-left:0}}

/* --- Titre + chapeau côte à côte --- */
.intro-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:clamp(54px,6vw,90px)}
.intro-head>p{margin:0;font-size:1.1rem;line-height:1.75;color:#5b6570}
.intro-head--light>p{color:rgba(255,255,255,.68)}
@media(max-width:900px){.intro-head{grid-template-columns:1fr;gap:34px}}

/* --- Accueil : les deux offres --- */
.offers{background:var(--paper)}
.offers__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px)}
.offer-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #d7d8d2;border-radius:var(--radius);background:#fff;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s,border-color .5s}
.offer-card__media{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.offer-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.offer-card__body{flex:1;display:flex;flex-direction:column;gap:18px;padding:clamp(26px,3vw,42px)}
.offer-card__eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7b838c}
.offer-card__eyebrow span{margin-right:10px;color:var(--yellow)}
.offer-card h3{margin:0;font-size:clamp(1.7rem,2.6vw,2.8rem);line-height:.98;letter-spacing:-.05em;text-transform:uppercase;font-weight:800}
.offer-card__body>p:not(.offer-card__eyebrow){margin:0;line-height:1.7;color:#5d6670}
.offer-card .text-link{margin-top:auto;padding-top:8px}
.offer-card--navy{background:var(--navy);border-color:var(--navy);color:#fff}
.offer-card--navy .offer-card__eyebrow{color:rgba(255,255,255,.55)}
.offer-card--navy .offer-card__body>p:not(.offer-card__eyebrow){color:rgba(255,255,255,.68)}
@media(hover:hover){
  .offer-card:hover{transform:translateY(-8px);border-color:var(--yellow);box-shadow:0 34px 64px -36px rgba(6,28,50,.55)}
  .offer-card:hover .offer-card__media img{transform:scale(1.05)}
}
@media(max-width:900px){.offers__grid{grid-template-columns:1fr}}

/* --- Rangées de principes : variante sombre, cinq colonnes, étapes --- */
.pillars,.steps{background:var(--navy);color:#fff}
.pillars .principles,.steps .principles{margin-top:clamp(54px,6vw,90px)}
.principles--dark,.principles--dark article{border-color:rgba(255,255,255,.16)!important}
.principles--dark p{color:rgba(255,255,255,.62)}
.principles--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.principles--5 article{padding:36px 24px 40px 0}
.principles--5 article+article{padding-left:24px}
.principles--5 h3{margin:34px 0 14px;font-size:clamp(1.12rem,1.45vw,1.5rem);line-height:1.1}
.principles--steps b{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.principles--steps h3{margin-top:30px}
@media(max-width:1100px){
  .principles--5{grid-template-columns:1fr}
  .principles--5 article,.principles--5 article+article{display:grid;grid-template-columns:52px minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:baseline;padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .principles--5 article:last-child{border-bottom:0}
  .principles--5 h3{margin:0}
}
@media(max-width:760px){
  .principles--5 article,.principles--5 article+article{grid-template-columns:1fr;gap:10px}
}

/* --- Bloc deux colonnes texte / photo --- */
.teaser,.next-stage,.bridge,.rates{background:var(--navy);color:#fff}
.method,.pro,.gallery,.prices{background:var(--paper)}
.split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(48px,8vw,130px);align-items:center}
.split--top{align-items:start;margin-bottom:clamp(54px,6vw,90px)}
.split__media{position:relative;margin:0;width:100%;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--navy)}
.split__media--portrait,.split--top .split__media{aspect-ratio:4/5;max-width:500px}
.split--top .split__media{justify-self:end;max-width:440px}
/* Image plus haute que son cadre : la parallaxe la fait glisser sans découvrir le fond. */
.split__media img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover}
.split__media figcaption{position:absolute;z-index:2;left:clamp(20px,2.4vw,32px);bottom:clamp(18px,2.2vw,28px);font-size:clamp(1.05rem,1.5vw,1.4rem);text-shadow:0 2px 14px rgba(0,0,0,.45)}
.split__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,17,29,.55),transparent 42%);pointer-events:none}
.split__media:not(:has(figcaption)):after{display:none}
.split__lead{max-width:32ch;margin:40px 0 0;font-size:clamp(1.18rem,1.65vw,1.7rem);line-height:1.42;font-weight:600;color:rgba(255,255,255,.86)}
.split__lead--dark{color:var(--ink)}
.split__actions{margin-top:40px}
.body-text{max-width:56ch;margin-top:36px;color:#5c6570;line-height:1.75}
.body-text p{margin:0 0 18px}
.split .news-card__program{margin:30px 0 0}
@media(max-width:900px){
  .split{grid-template-columns:1fr;gap:48px}
  .teaser .split__media{order:2}
  .split--top .split__media,.split__media--portrait{justify-self:start;max-width:520px;aspect-ratio:4/4.4}
}

/* --- Phrase de conclusion de l'approche --- */
.manifesto__signature{max-width:34ch;margin:clamp(44px,5vw,72px) 0 0 auto;padding-left:28px;border-left:3px solid var(--yellow);font-size:clamp(1.3rem,2.2vw,2.15rem);line-height:1.28;font-weight:700;letter-spacing:-.03em}
@media(max-width:900px){.manifesto__signature{margin-left:0}}

/* --- Accompagnement : cartes des quatre dimensions --- */
.skills__head--split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:end}
.skills__intro p{margin:0;font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.68)}
.skill-card--text h3{margin-top:clamp(72px,8vw,124px);font-size:clamp(1.3rem,1.6vw,1.8rem);line-height:1.08;overflow-wrap:normal;hyphens:manual}
@media(max-width:900px){.skills__head--split{grid-template-columns:1fr}}
@media(max-width:760px){.skill-card--text h3{margin-top:56px;font-size:1.7rem}}

/* --- Les dimanches : deux cartes de dates + lieu --- */
.sessions{background:var(--paper)}
.sessions__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:clamp(48px,6vw,80px)}
.sessions__meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;font-size:1.05rem;line-height:1.5;color:#5b6570}
.sessions__meta b{color:var(--navy)}
.sessions__meta span{color:var(--yellow);font-weight:800}
.sessions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px)}
.session-card{display:flex;flex-direction:column;padding:clamp(26px,2.8vw,42px);border:1px solid #d7d8d2;border-radius:var(--radius);background:#fff}
.session-card h3{margin:0 0 16px;font-size:clamp(2rem,3.4vw,3.4rem);line-height:.95;letter-spacing:-.05em;font-weight:800}
.session-card__lead{margin:0 0 30px;line-height:1.7;color:#5d6670}
.date-list{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid #e2e3dd}
.date-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;border-bottom:1px solid #e2e3dd}
.date-list span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7b838c}
.date-list b{font-size:clamp(1rem,1.25vw,1.2rem);letter-spacing:-.01em}
.date-list li.is-past{opacity:.42}
.date-list li.is-past b{text-decoration:line-through;text-decoration-thickness:1px}
.session-card--navy{background:var(--navy);border-color:var(--navy);color:#fff}
.session-card--navy .news-card__tag{color:rgba(255,255,255,.55)}
.session-card--navy .session-card__lead{color:rgba(255,255,255,.68)}
.session-card--navy .date-list,.session-card--navy .date-list li{border-color:rgba(255,255,255,.16)}
.session-card--navy .date-list span{color:rgba(255,255,255,.55)}
.venue{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;gap:clamp(22px,4vw,60px);align-items:center;margin-top:clamp(18px,2vw,26px);padding:clamp(24px,2.6vw,36px) clamp(26px,3vw,42px);border-radius:var(--radius);background:var(--cream)}
.venue h3{margin:0 0 8px;font-size:1.3rem;letter-spacing:-.02em;text-transform:uppercase}
.venue p{margin:0;font-size:.95rem;line-height:1.65;color:#5b6570}
@media(max-width:1050px){.venue{grid-template-columns:1fr;justify-items:start}}
@media(max-width:900px){.sessions__head,.sessions__grid{grid-template-columns:1fr}}

/* --- Accueil : citation mise en avant --- */
.quote-feature{background:var(--navy);color:#fff}
.quote-feature__body{margin:0 0 44px}
.quote-feature blockquote{max-width:24ch;margin:0;font-size:clamp(1.9rem,4.2vw,4.4rem);line-height:1.08;letter-spacing:-.045em;font-weight:700}
.quote-feature figcaption{display:flex;align-items:center;gap:18px;margin-top:42px}
.quote-feature figcaption img{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--yellow)}
.quote-feature figcaption b{display:block;text-transform:uppercase}
.quote-feature figcaption span{font-size:.82rem;color:rgba(255,255,255,.55)}

/* --- Bandeau contact en fin de page --- */
.cta-band{background:var(--yellow);color:var(--navy);padding:clamp(80px,9vw,140px) 0}
.cta-band__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,7vw,110px);align-items:end}
.cta-band .display em{color:var(--navy)}
.cta-band__eyebrow{margin:0 0 30px;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.cta-band__side{display:flex;flex-direction:column;align-items:flex-start}
.cta-band__side p{max-width:44ch;margin:0 0 32px;font-size:1.1rem;line-height:1.7}
.cta-band__phone{margin-top:22px;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.cta-band__phone:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.cta-band__inner{grid-template-columns:1fr}}
.button--navy{background:var(--navy);color:#fff}
.button--navy b{background:var(--yellow);color:var(--navy)}
.button--navy:before{background:#fff}
@media(hover:hover){
  .button--navy:hover{background:var(--navy);color:var(--navy)}
  .button--navy:hover b{background:var(--navy);color:#fff}
}

/* --- Entraînements : tarifs --- */
.prices__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);margin-top:clamp(54px,6vw,90px)}
.price-card{display:flex;flex-direction:column;padding:clamp(26px,2.6vw,38px);border:1px solid #d7d8d2;border-radius:var(--radius);background:#fff;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s,border-color .5s}
.price-card__label{margin:0 0 30px;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#7b838c}
.price-card__amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0 0 24px}
.price-card__amount b{font-size:clamp(3rem,4.6vw,4.6rem);line-height:.9;letter-spacing:-.06em}
.price-card__amount small{font-size:.9rem;font-weight:700;color:#7b838c}
.price-card__text{margin:0 0 30px;line-height:1.7;color:#5d6670}
.price-card .text-link{margin-top:auto}
.price-card:last-child{background:var(--navy);border-color:var(--navy);color:#fff}
.price-card:last-child .price-card__label,.price-card:last-child .price-card__amount small{color:rgba(255,255,255,.55)}
.price-card:last-child .price-card__amount b{color:var(--yellow)}
.price-card:last-child .price-card__text{color:rgba(255,255,255,.68)}
@media(hover:hover){.price-card:hover{transform:translateY(-8px);border-color:var(--yellow);box-shadow:0 34px 64px -36px rgba(6,28,50,.5)}}
@media(max-width:1000px){.prices__grid{grid-template-columns:1fr}}

/* --- Entraînements : passerelle vers l'accompagnement --- */
.bridge__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,8vw,120px);align-items:end}
.bridge__copy p{margin:0 0 36px;font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.7)}
.bridge__links{display:flex;flex-wrap:wrap;align-items:center;gap:22px 30px}
@media(max-width:900px){.bridge__grid{grid-template-columns:1fr}}

/* --- Photo pleine largeur --- */
.photo-band{position:relative;margin:0;aspect-ratio:21/9;border-radius:var(--radius);overflow:hidden;background:var(--navy)}
.photo-band img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover}
@media(max-width:760px){.photo-band{aspect-ratio:4/3}}

/* --- Accompagnement : grille tarifaire --- */
.rate-list{border-top:1px solid rgba(255,255,255,.18)}
.rate-list__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(190px,.7fr);gap:clamp(18px,3vw,48px);align-items:baseline;padding:clamp(24px,2.6vw,34px) 0;border-bottom:1px solid rgba(255,255,255,.18)}
.rate-list__row h3{margin:0;font-size:clamp(1.15rem,1.65vw,1.65rem);letter-spacing:-.03em;text-transform:uppercase;transition:color .3s}
.rate-list__row p{margin:0;line-height:1.65;color:rgba(255,255,255,.66)}
.rate-list__row .rate-list__price{text-align:right;color:#fff}
.rate-list__price b{display:block;font-size:clamp(1.8rem,2.6vw,2.6rem);line-height:1;letter-spacing:-.05em;color:var(--yellow)}
.rate-list__price small{display:block;margin-top:6px;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media(hover:hover){.rate-list__row:hover h3{color:var(--yellow)}}
.rates__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;margin-top:clamp(36px,4vw,54px)}
.rates__foot p{max-width:60ch;margin:0;line-height:1.7;color:rgba(255,255,255,.66)}
@media(max-width:900px){
  .rate-list__row{grid-template-columns:1fr auto;gap:10px 24px}
  .rate-list__row p:not(.rate-list__price){grid-column:1}
  .rate-list__row .rate-list__price{grid-column:2;grid-row:1/3;align-self:center}
}

/* --- Encadré tarif (formule pro, stage) --- */
.price-panel{padding:clamp(30px,3.4vw,50px);border-radius:var(--radius);background:var(--yellow);color:var(--navy);box-shadow:0 40px 80px -50px rgba(6,28,50,.6)}
.price-panel__label{margin:0 0 22px;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.price-panel__amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0 0 26px}
.price-panel__amount b{font-size:clamp(3.4rem,6vw,6rem);line-height:.85;letter-spacing:-.065em}
.price-panel__amount small{font-size:1rem;font-weight:800}
.price-panel>p:not([class]){margin:0 0 30px;line-height:1.7}
.price-panel__list{display:grid;gap:12px;margin:0 0 22px;padding:22px 0 0;list-style:none;border-top:1px solid rgba(6,28,50,.2)}
.price-panel__list li{position:relative;padding-left:28px;font-weight:700;line-height:1.5}
.price-panel__list li:before{content:"";position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--navy)}

/* --- Mosaïques de photos --- */
.mosaic{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:repeat(2,clamp(200px,22vw,330px));gap:clamp(12px,1.4vw,20px);margin-top:clamp(48px,6vw,80px)}
.gallery .intro-head+.mosaic{margin-top:0}
.mosaic__item{position:relative;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--navy)}
.mosaic__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.mosaic__item--wide{grid-column:1/3}
.mosaic__item--tall{grid-column:3;grid-row:1/3}
@media(hover:hover){.mosaic__item:hover img{transform:scale(1.04)}}
@media(max-width:760px){
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:170px}
  .mosaic__item--wide{grid-column:1/3}
  .mosaic__item--tall{grid-column:2;grid-row:span 2}
}

/* --- Page Témoignages --- */

/* --- Page Contact --- */
.contact--page{padding-top:calc(96px + clamp(44px,6vw,90px))}
.contact--page .display{font-size:clamp(2.8rem,5.6vw,6rem)}
.contact--page .contact__intro>.eyebrow{max-width:none;margin:0 0 34px;font-size:.72rem;line-height:1.4;color:#fff}
.contact--page .hero__plays span{color:rgba(232,168,0,.1)}
.contact__place{margin-top:44px;padding-top:30px;border-top:1px solid rgba(255,255,255,.14)}
.contact__place p{margin:0 0 14px;line-height:1.65;color:rgba(255,255,255,.7)}
.contact__place .contact__place-label{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow)}
.contact__social{display:flex;gap:24px;margin-top:22px!important;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact__social a{color:#fff}
.contact__social a:hover{color:var(--yellow)}
.form select{width:100%;padding:10px 28px 13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.28);outline:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8a800' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center/18px;color:#fff;font:inherit;appearance:none;cursor:pointer}
.form select:focus{border-color:var(--yellow)}
.form select option{color:var(--ink);background:#fff}
.faq--page{margin-top:clamp(48px,6vw,80px);padding-top:0;border-top:0}

/* --- Pied de page : plan du site --- */
.footer__nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 0 30px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.footer__nav a{transition:color .3s}
.footer__nav a:hover{color:var(--yellow)}
.footer__brand{justify-self:start}

/* --- v15 : retouches après captures --- */
.skill-card--text>span{text-transform:uppercase;letter-spacing:.12em}
.pro .display,.next-stage .display{font-size:clamp(2.6rem,4.6vw,5rem)}
@media(max-width:760px){.pro .display,.next-stage .display{font-size:clamp(2.1rem,9.6vw,3.4rem)}}
@media(max-width:760px){.hero__meta{display:none}}

/* ==========================================================================
   Ajustements v16 — retours de Marc (29/10/2026)
   ========================================================================== */
/* Dimanches : féminin en orange, masculin en navy, repérables d'un coup d'œil */
.session-card__note{margin:-6px 0 22px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.session-card--feminin{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.session-card--feminin .news-card__tag{color:rgba(6,28,50,.7)}
.session-card--feminin .news-card__tag span{background:var(--navy);color:#fff}
.session-card--feminin .session-card__lead{color:rgba(6,28,50,.82)}
.session-card--feminin .date-list,.session-card--feminin .date-list li{border-color:rgba(6,28,50,.2)}
.session-card--feminin .date-list span{color:rgba(6,28,50,.66)}
.session-card--masculin .news-card__tag span{background:#7eb7d8;color:var(--navy)}
.session-card--masculin .session-card__note{color:#7eb7d8}
.session-card--masculin .date-list b{color:#fff}

/* Entraînements : niveaux concernés par le tarif pro */
.price-card__levels{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 28px;padding:0;list-style:none}
.price-card__levels li{padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}

/* Accompagnement : panneau pro sans tarif */
.price-panel__title{margin:0 0 18px;font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:.95;letter-spacing:-.05em;font-weight:800;text-transform:uppercase}

/* Accompagnement : « Crée ta formule » */
.builder{background:var(--cream)}
.builder__panel{display:grid;gap:clamp(26px,3vw,40px);padding:clamp(24px,3.4vw,50px);border-radius:var(--radius);background:#fff;box-shadow:0 40px 80px -60px rgba(6,28,50,.45)}
.builder__group{margin:0;padding:0;border:0;min-width:0}
.builder__group legend{padding:0;margin:0 0 18px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}
.builder__options{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.builder__options--rhythm{display:flex;flex-wrap:wrap}
.builder__option{position:relative;cursor:pointer}
.builder__option input{position:absolute;opacity:0;pointer-events:none}
.builder__option>span{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px 18px 50px;border:1.5px solid #d7d8d2;border-radius:16px;transition:border-color .25s,background .25s,color .25s}
.builder__option>span:before{content:"";position:absolute;left:18px;top:20px;width:18px;height:18px;border:1.5px solid #9aa1a8;border-radius:5px;transition:background .25s,border-color .25s}
.builder__option b{font-size:1rem;letter-spacing:-.01em}
.builder__option small{font-size:.82rem;line-height:1.45;color:#5d6670}
.builder__option:hover>span{border-color:var(--navy)}
.builder__option input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}
.builder__option input:checked+span small{color:rgba(255,255,255,.7)}
.builder__option input:checked+span:before{border-color:var(--yellow);background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061c32' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat}
.builder__option input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:3px}
.builder__option--pill>span{padding:13px 22px 13px 46px;border-radius:999px}
.builder__option--pill>span:before{top:50%;margin-top:-9px;border-radius:50%}
.builder__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 30px;padding-top:clamp(22px,2.6vw,32px);border-top:1px solid #e2e3dd}
.builder__summary{margin:0;flex:1 1 320px;font-size:1rem;line-height:1.55;color:#7b838c;transition:color .25s}
.builder__summary.is-filled{color:var(--navy);font-weight:800}
.builder__summary.is-alert{color:var(--orange);animation:builder-shake .45s}
@keyframes builder-shake{25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:560px){.builder__options{grid-template-columns:1fr}.builder__foot .button{width:100%}}

/* Témoignages : portraits agrandis (ce sont des photos en pied, illisibles en pastille) */

/* Accompagnement : titres des 4 dimensions plus petits et aérés (ils touchaient le bord des cartes) */
.skill-card--text h3{font-size:clamp(1.15rem,1.3vw,1.45rem);line-height:1.18;letter-spacing:-.015em;word-spacing:.06em;margin-bottom:20px}
@media(max-width:760px){.skill-card--text h3{font-size:1.4rem}}

/* Titres des pages intérieures : la colonne plafonne à ~600 px, donc la taille aussi,
   sinon les lignes voulues se cassent sur grand écran (« TA / PERFORMANCE », « CHANGE DE / RYTHME »). */
.page-hero .display{font-size:clamp(2.8rem,5.1vw,4.2rem)}
@media(max-width:760px){.page-hero .display{font-size:clamp(1.9rem,9.4vw,3.6rem)}}
/* Contact : « PARLE-MOI » ne doit pas se couper au trait d'union sur grand écran */
.contact--page .display{font-size:clamp(2.8rem,5.6vw,4.8rem)}
.contact--page .display .word{white-space:nowrap}

/* Entraînements : deux vidéos côte à côte (séance collective + séance 100 % féminine) */
.reel__players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);align-items:start}
.reel__players .reel__player{max-width:none}
.reel__players .reel__player:nth-child(2){margin-top:clamp(28px,4vw,64px)}
.reel__player.is-playing .reel__play{opacity:0;visibility:hidden;pointer-events:none}
.reel__players .reel__play-icon{width:clamp(56px,5vw,72px);height:clamp(56px,5vw,72px)}
.reel__players .reel__play-text{text-align:center}
@media(min-width:901px){.reel__grid:has(.reel__players){grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}}
@media(max-width:900px){.reel__players{width:min(560px,100%);margin-inline:auto}.reel__players .reel__player{width:auto;margin-inline:0}}
@media(max-width:480px){.reel__players .reel__play-text{font-size:.62rem;letter-spacing:.1em}}
/* Plein écran : la vidéo verticale s'affiche en entier (sans le recadrage de la vignette) */
.reel__player video:fullscreen{object-fit:contain;aspect-ratio:auto;width:100%;height:100%;background:#000}
.reel__player video:-webkit-full-screen{object-fit:contain;aspect-ratio:auto;width:100%;height:100%;background:#000}

/* ==========================================================================
   Page Témoignages — joueurs détourés
   ========================================================================== */
.lineup__head{position:relative;z-index:3}
.lineup__head .page-hero__lead{max-width:44ch}

.players{overflow:hidden}
.player{--c:var(--yellow);--ink:var(--navy);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6vw,100px);align-items:center;scroll-margin-top:110px}
.player+.player{margin-top:clamp(90px,10vw,150px)}
.player:nth-child(even) .player__visual{order:2}
.player--navy{--c:var(--navy);--ink:#fff}
.player--orange{--c:var(--orange);--ink:var(--navy)}
.player--cream{--c:#e6e1d3;--ink:var(--navy)}
.player--blue{--c:#7eb7d8;--ink:var(--navy)}
.player__visual{position:relative;margin:0;height:clamp(380px,42vw,580px);display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.player__visual:before{content:"";position:absolute;inset:24% 0 0;border-radius:var(--radius);background:var(--c);z-index:-2}
.player__court{position:absolute;left:50%;bottom:0;translate:-50% 0;width:74%;aspect-ratio:2/1;border:2px solid currentColor;border-bottom:0;border-radius:999px 999px 0 0;color:var(--ink);opacity:.22;z-index:-1}
.player__visual img{position:relative;height:94%;width:auto;max-width:92%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 30px 34px rgba(6,28,50,.32))}
.player__badge{position:absolute;left:clamp(14px,1.6vw,22px);bottom:clamp(14px,1.6vw,22px);display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 14px 30px -16px rgba(6,28,50,.6)}
.player__badge b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--yellow);font-size:.82rem}
.player__badge span{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.player__club{display:inline-block;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:var(--c);color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.player--cream .player__club{background:var(--navy);color:#fff}
.player__name{margin:0 0 clamp(22px,2.4vw,34px);font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase;font-weight:800;color:var(--navy)}
.player__quote{position:relative;margin:0;padding-left:clamp(22px,2.4vw,34px);border-left:3px solid var(--c);font-size:clamp(1.02rem,.94rem + .32vw,1.22rem);line-height:1.75;color:#2a3540}
.player--cream .player__quote{border-color:var(--navy)}
@media(max-width:900px){
  .player{grid-template-columns:1fr;gap:30px}
  .player:nth-child(even) .player__visual{order:0}
  .player__visual{height:clamp(340px,92vw,460px)}
}
.player__visual{container-type:inline-size}
.player__name{overflow-wrap:anywhere;hyphens:manual}
@media(max-width:900px){.player{grid-template-columns:minmax(0,1fr)}}
/* Témoignages : le nom de famille prend la couleur du joueur, à côté du prénom */
.player{--accent:var(--c)}
.player--navy{--accent:#2f7dbd}
.player--cream{--accent:#a5864f}
.player--blue{--accent:#3d8fc0}
.player__name span{color:var(--accent)}
.player__visual:before{inset:18% 0 0}

/* v17 — accueil : encart chiffré Mathys Pomar (remplace la citation) */
.case{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.case__grid{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);align-items:center}
.case__visual{position:relative;margin:0;height:clamp(440px,48vw,680px);display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.case__visual:before{content:"";position:absolute;inset:20% 0 0;border-radius:var(--radius);background:var(--yellow);z-index:-2}
.case__court{position:absolute;left:50%;bottom:0;translate:-50% 0;width:78%;aspect-ratio:2/1;border:2px solid var(--navy);border-bottom:0;border-radius:999px 999px 0 0;opacity:.2;z-index:-1}
.case__visual img{height:96%;width:auto;max-width:96%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 30px 34px rgba(6,28,50,.4))}
.case__tag{position:absolute;left:clamp(14px,1.6vw,22px);bottom:clamp(14px,1.6vw,22px);padding:12px 18px;border-radius:16px;background:#fff;color:var(--navy);box-shadow:0 14px 30px -16px rgba(6,28,50,.6)}
.case__tag b{display:block;text-transform:uppercase;letter-spacing:-.01em}
.case__tag span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5c6570}
.case .display{font-size:clamp(2.8rem,5.4vw,5.8rem)}
.case__lead{margin:34px 0 0;max-width:560px;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.65;color:rgba(255,255,255,.72)}
.case__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);margin:clamp(36px,4vw,56px) 0 0}
.case__stat{padding:clamp(18px,2vw,28px);border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.04)}
.case__stat b{display:block;font-size:clamp(2.6rem,4.6vw,4.6rem);line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.case__stat small{display:block;margin-top:8px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.case__stat i{display:block;height:6px;margin:18px 0 16px;border-radius:9px;background:rgba(255,255,255,.12);position:relative;transform-origin:0 50%}
.case__stat i:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--w) * 100%);border-radius:inherit;background:#fff}
.case__stat h3{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.02em}
.case__stat p{margin:4px 0 0;font-size:.8rem;color:rgba(255,255,255,.6)}
.case__stat--peak{background:var(--yellow);border-color:var(--yellow);color:var(--navy);box-shadow:0 30px 60px -30px rgba(232,168,0,.7)}
.case__stat--peak small,.case__stat--peak p{color:rgba(6,28,50,.7)}
.case__stat--peak i{background:rgba(6,28,50,.15)}
.case__stat--peak i:after{background:var(--navy)}
.case__delta{margin:28px 0 0;font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.5}
.case__delta strong{color:var(--yellow)}
.case__note{margin:14px 0 0;max-width:640px;font-size:.7rem;line-height:1.6;color:rgba(255,255,255,.42)}
.case__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;margin-top:38px}
@media(max-width:900px){
  .case__grid{grid-template-columns:minmax(0,1fr)}
  .case__visual{height:clamp(380px,100vw,520px);max-width:520px;width:100%;margin-inline:auto}
}
@media(max-width:620px){
  .case__stats{grid-template-columns:minmax(0,1fr)}
  .case__stat b{display:inline-block}
  .case__stat small{display:inline-block;margin:0 0 0 10px}
}
