@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/figtree.woff) format("woff");font-weight:300 900;font-style:normal;font-display:swap}:root{--bg: #faf6fd;--ink: #2a1840;--mute: #5d4a75;--violet: #7a4bb0;--lav: #eadcf8;--card: #fff;--night: #1f1747;--gold: #e8c46a;--line: #ddcdef;--err: #b3261e;--ok: #2e7d4f;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17102a;--ink: #f1e8fb;--mute: #bba9d3;--violet: #b48ae6;--lav: #2b1f47;--card: #211838;--line: #3a2c5c;--err: #ff8a80;--ok: #7fd3a0}}:root[data-theme=dark]{--bg: #17102a;--ink: #f1e8fb;--mute: #bba9d3;--violet: #b48ae6;--lav: #2b1f47;--card: #211838;--line: #3a2c5c;--err: #ff8a80;--ok: #7fd3a0}html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 Figtree,system-ui,sans-serif}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;line-height:1.1;margin:0 0 .5em;font-weight:600;font-variant-numeric:lining-nums}h2{font-size:clamp(2rem,5vw,3rem)}p{max-width:62ch}a{color:inherit}img{max-width:100%;height:auto}.wrap{max-width:1040px;margin:0 auto;padding:0 22px}section{padding:72px 0}[hidden]{display:none!important}.btn{display:inline-block;background:var(--violet);color:#fff;padding:14px 26px;border-radius:999px;text-decoration:none;font-weight:600;border:0;font-size:1rem;cursor:pointer;font-family:inherit;text-align:center}.btn:hover{filter:brightness(1.1)}.btn[disabled]{opacity:.6;cursor:progress}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--violet)}.btn.sm{padding:7px 14px;font-size:.9rem}.btn.danger{border-color:var(--err);color:var(--err)}.linkish{background:none;border:0;padding:6px 0;color:var(--violet);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.hero{background:radial-gradient(circle at 50% 0,var(--lav),var(--bg) 70%);padding:28px 0 52px;text-align:center}.hero img{width:min(110px,30vw);border-radius:50%;mix-blend-mode:multiply;display:block;margin:0 auto 12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hero img{mix-blend-mode:normal;box-shadow:0 0 60px #7a4bb066}}.hero h1{font-size:clamp(1.7rem,5vw,2.6rem);letter-spacing:-.01em}.hero p{margin:0 auto 28px;color:var(--mute);font-size:1.15rem}.hero .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:28px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.card h3{font-size:1.5rem}.grid .card p{margin:0;color:var(--mute);font-size:.98rem}.trainer{background:var(--lav)}.trainer .t-grid{display:flow-root}.trainer figure{float:left;width:clamp(110px,22vw,190px);margin:4px 24px 10px 0}.trainer img{width:100%;display:block;border-radius:14px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 6px 20px #2a184033}.trainer p{color:var(--ink)}.trainer .t-name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--violet);margin:-.2em 0 .8em}@media(max-width:480px){.trainer figure{margin-right:16px}}.reels{--reel-scale: .8}.reels .rail-wrap{position:relative;margin-top:24px}.reels .rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.reels .rail::-webkit-scrollbar{display:none}.reels .rcard{flex:0 0 calc(238px * var(--reel-scale));scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #0000002e}.reels .rframe{position:relative;width:calc(238px * var(--reel-scale));height:calc(425px * var(--reel-scale));overflow:hidden;background:#000}.reels iframe{position:absolute;left:calc(-51px * var(--reel-scale));top:calc(-54px * var(--reel-scale));width:340px;height:600px;border:0;transform:scale(var(--reel-scale));transform-origin:0 0}.reels .rlink{display:block;padding:9px 12px;font-size:.85rem;font-weight:600;color:var(--violet);text-decoration:none;text-align:center}.reels .rlink:hover{text-decoration:underline}.reels .rnav{position:absolute;top:calc(425px * var(--reel-scale) / 2 - 22px);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--violet);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px #00000040;display:grid;place-items:center;transition:opacity .2s}.reels .rnav.prev{left:-8px}.reels .rnav.next{right:-8px}.reels .rnav:disabled{opacity:0;pointer-events:none}.reels .rail-wrap:before,.reels .rail-wrap:after{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:1;pointer-events:none;transition:opacity .2s}.reels .rail-wrap:before{left:0;background:linear-gradient(to right,var(--bg),transparent)}.reels .rail-wrap:after{right:0;background:linear-gradient(to left,var(--bg),transparent)}.reels .rail-wrap.at-start:before,.reels .rail-wrap.at-end:after{opacity:0}@media(hover:none){.reels .rnav{display:none}}.night{background:var(--night);color:#efe6fb}.night p{color:#cfc1e8}.facts{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:28px;border-top:1px solid #ffffff2e}.facts div{padding:20px 12px 0 0}.facts b{font-variant-numeric:lining-nums;display:block;font-family:Cormorant Garamond,serif;font-size:1.6rem;color:var(--gold);font-weight:600}.facts span{color:#cfc1e8;font-size:.95rem}.form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:26px}.form .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-weight:500;font-size:.95rem}.form input:not([type=checkbox]),.form textarea,.form select{font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}.form select{-webkit-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--violet) 50%),linear-gradient(135deg,var(--violet) 50%,transparent 50%);background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px;background-repeat:no-repeat}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--violet);outline:3px solid color-mix(in srgb,var(--violet) 25%,transparent);outline-offset:0}.form [aria-invalid=true]{border-color:var(--err)!important}.chk{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:.95rem}.chk input{margin-top:5px;width:18px;height:18px;flex:none;accent-color:var(--violet)}.hint{font-size:.85rem;color:var(--mute)}.field-err{color:var(--err);font-size:.88rem;font-weight:600}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.msg{margin:0;font-weight:600}.msg.error{color:var(--err)}.msg.info{color:var(--violet)}.notice{color:var(--err);font-weight:600}.small{font-size:.88rem;color:var(--mute)}.pay{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:start;margin-top:26px}.amt{font-family:Cormorant Garamond,serif;font-variant-numeric:lining-nums;font-size:3rem;font-weight:700;color:var(--violet);line-height:1}ul.ticks{list-style:none;padding:0;margin:14px 0 0}ul.ticks li{padding:6px 0 6px 28px;position:relative}ul.ticks li:before{content:"";position:absolute;left:4px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--violet)}.summary{margin:12px 0 16px;display:grid;gap:0}.summary>div{display:grid;grid-template-columns:8.5rem 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.summary dt{color:var(--mute);font-size:.95rem}.summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}@media(max-width:520px){.summary>div{grid-template-columns:6.5rem 1fr}}.done{margin-top:26px;max-width:720px}.done:focus{outline:none}.done-mark{width:56px;height:56px;margin-bottom:10px}.done-mark circle{fill:none;stroke:var(--ok);stroke-width:2.5}.done-mark path{fill:none;stroke:var(--ok);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@media(prefers-reduced-motion:no-preference){.done-mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:tick .5s .15s ease-out forwards}@keyframes tick{to{stroke-dashoffset:0}}}.row-left{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.closed,.loading{margin-top:26px;max-width:720px}footer{background:var(--night);color:#cfc1e8;text-align:center;padding:40px 22px;font-size:.95rem}footer img{width:90px;border-radius:50%;margin-bottom:8px}footer a{color:var(--gold)}footer .small-print{margin-top:10px;font-size:.82rem;color:#a99bc6}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.admin{min-height:100vh;font-size:15px;line-height:1.5}.admin section{padding:0}.nowrap{white-space:nowrap}.admin-loading{padding:40px}.admin .login{max-width:380px;margin:10vh auto;display:grid;gap:14px;text-align:left}.admin .login img{border-radius:50%;mix-blend-mode:multiply}.admin .login h1{font-size:2rem;margin:0}.admin label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.92rem}.admin input,.admin select,.admin textarea{font:inherit;font-weight:400;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--line)}.admin-bar div{display:flex;gap:16px;align-items:center}.admin-main{max-width:1240px;margin:0 auto;padding:22px 20px 60px}.admin-head{margin-bottom:4px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.admin-head h1{font-size:2rem;margin:0 0 4px}.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.82rem;font-weight:600;background:var(--lav);color:var(--ink);white-space:nowrap}.badge-paid{background:#dff2e6;color:#1e6b3f}.badge-pending{background:#efe6fb;color:#5b2f99}.badge-failed,.badge-refunded{background:#fbe4e2;color:#9b2119}.badge-cancelled{background:#ece9f1;color:#5d5470}.dup{color:#9b2119;font-weight:600}.ws-line{display:block}.ws-line+.ws-line{margin-top:6px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0}.stats div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px}.stats dt{color:var(--mute);font-size:.88rem}.stats dd{margin:2px 0 0;font-size:1.7rem;font-weight:700}.stats dd small{font-size:.85rem;font-weight:500;color:var(--mute)}.tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.tools input[type=search]{flex:1 1 260px}.tools .btn{padding:9px 16px;font-size:.92rem}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px}.admin table{width:100%;border-collapse:collapse;min-width:860px}.admin th,.admin td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.admin th{font-size:.82rem;color:var(--mute);font-weight:600}.admin td a{color:var(--violet)}.admin td.empty{color:var(--mute);padding:28px 12px}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.settings h2,.settings .full{grid-column:1 / -1}.settings h2{font-size:1.7rem;margin:0}.settings .small{font-weight:400}.overlay{position:fixed;inset:0;background:#1f174799;display:flex;justify-content:flex-end;z-index:10}.panel{width:min(560px,100%);height:100%;overflow-y:auto;border-radius:0;position:relative}.panel h2{font-size:1.8rem;padding-right:40px}.panel h3{font-size:1.35rem;margin-top:18px}.close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--ink)}.events{list-style:none;padding:0;margin:0}.events li{padding:8px 0;border-bottom:1px solid var(--line)}.actions{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
