:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--lime: #e6efc3;--card: #1c1c1b}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .22s var(--ease-out) both}::view-transition-new(root){animation:vt-in .38s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1200;background:linear-gradient(90deg,var(--lime),#f6ffd9);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--d, 0ms)}.reveal.in{opacity:1;transform:none}.split-word{display:inline-block;overflow:hidden;vertical-align:bottom}.split-word>span{display:inline-block;transform:translateY(105%);transition:transform .8s var(--ease-out);transition-delay:var(--d, 0ms)}.split-in .split-word>span{transform:none}.spot{position:relative;isolation:isolate}.spot:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),rgba(230,239,195,.13),transparent 60%);opacity:0;transition:opacity .3s ease}.spot:hover:after{opacity:1}.tarif-card.spot:after{background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),rgba(24,24,23,.06),transparent 60%)}.class-card,.tarif-card,.balance-tile,.service-card,.bchip,.day-pill{transition:transform .25s var(--ease-out),border-color .2s ease,box-shadow .25s ease,background .2s ease}@media(hover:hover){.class-card:hover,.tarif-card:hover,.service-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px #000c}.bchip:hover,.day-pill:hover{transform:translateY(-2px)}}.magnetic{transform:translate(var(--tx, 0),var(--ty, 0));transition:transform .35s var(--ease-spring);will-change:transform}.btn-neon:active,.btn-ghost:active,.tarif-cta:active,.bchip:active,.slot-time:active,.slot-day:active{transform:scale(.97)}.tarif-card.is-featured{outline:none!important}.tarif-card.is-featured:before{content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-2;padding:2px;background:conic-gradient(from var(--angle, 0deg),var(--lime),transparent 30%,transparent 70%,var(--lime));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin-border 6s linear infinite}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes spin-border{to{--angle: 360deg}}.tarif-ribbon{animation:ribbon-in .6s var(--ease-spring) .2s both}@keyframes ribbon-in{0%{opacity:0;transform:translateY(6px) scale(.9)}}.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;background:radial-gradient(40% 35% at 30% 30%,rgba(230,239,195,.1),transparent 70%),radial-gradient(35% 30% at 75% 60%,rgba(111,127,232,.08),transparent 70%);animation:aurora 18s ease-in-out infinite alternate}.hero>*{position:relative;z-index:1}@keyframes aurora{to{transform:translate3d(4%,-3%,0) rotate(8deg) scale(1.05)}}.bk-modal{background:#0a0a0a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bk-modal.active{animation:fade-in .25s ease both}.bk-modal .bk-modal-content{background:var(--card);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px -30px #000000e6;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.bk-modal.active .bk-modal-content{animation:pop-in .38s var(--ease-spring) both}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}@media(max-width:600px){.bk-modal{align-items:flex-end;padding:0}.bk-modal .bk-modal-content{width:100%;max-width:none;border-radius:22px 22px 0 0;max-height:92dvh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.bk-modal.active .bk-modal-content{animation:sheet-up .42s var(--ease-out) both}}@keyframes sheet-up{0%{transform:translateY(100%)}}.toast{transition:transform .45s var(--ease-spring),opacity .3s ease;box-shadow:0 16px 40px -16px #000c}.skeleton{background:linear-gradient(100deg,#ffffff0d 30%,#ffffff1c,#ffffff0d 70%)!important;background-size:300% 100%!important;animation:sheen 1.3s linear infinite!important;border-radius:18px}@keyframes sheen{0%{background-position:100% 0}to{background-position:-100% 0}}.sk-pills{display:flex;gap:8px;margin:4px 0 18px;overflow:hidden}.sk-pill{flex:0 0 54px;height:64px;border-radius:16px}.sk-card{height:92px;margin-bottom:10px}.sk-offer{height:260px;border-radius:16px}.sk-offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.day-pill.on{animation:pill-on .35s var(--ease-spring)}@keyframes pill-on{0%{transform:scale(.92)}}.seg button{transition:background .25s var(--ease-out),color .25s ease,transform .2s ease}button[aria-busy=true]{position:relative;color:transparent!important;pointer-events:none}button[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-color:#181817 transparent #181817 transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}img{max-width:100%;height:auto}html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}@media(max-width:1100px){.nav-auth .btn-ghost,.nav-auth .btn-neon{padding:8px 12px;font-size:.8rem}}@media(max-width:420px){.booking-header h1{font-size:clamp(2rem,11vw,2.6rem)}.booking-container{padding-left:16px;padding-right:16px}.balance-tile strong{font-size:1.6rem}}@media(min-width:1600px){.app-like{max-width:860px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.split-word>span{opacity:1!important;transform:none!important}.magnetic{transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}.cours-next{margin:14px 0 16px;font-size:.92rem;line-height:1.45;opacity:.9}.cours-next strong{font-weight:800}.cours-grid .service-cta{display:inline-flex}.cours-more{text-align:center;margin-top:28px}.cours-empty{grid-column:1 / -1;text-align:center;opacity:.8}.cours-empty a{text-decoration:underline}
