:root{--font-body:"Poppins",system-ui,sans-serif;--font-display:"Cormorant Garamond",Georgia,serif;--font-hand:"Caveat",cursive;--canvas:#FAFBF8;--canvas-rgb:250,251,248;--canvas-alt:#EEF2EB;--card:#FFFFFF;--field:#FFFFFF;--tint:#EEF2EB;--tint-2:#F4ECD3;--heading:#2F3A2B;--heading-2:#3D4E37;--link:#6B4F3A;--accent:#E9D9A6;--accent-hover:#DDC98C;--on-accent:#2F3A2B;--accent-ink:#6B4F3A;--accent-light:#E9D9A6;--primary:#566B4E;--primary-rgb:86,107,78;--primary-hover:#46593F;--on-primary:#FFFFFF;--sage:#809877;--on-bar:#E6EFE2;--on-bar-muted:#C3D2BC;--on-bar-strong:#FFFFFF;--bar-rule:rgba(255,255,255,.2);--soft:#566152;--ink:#2F3A2B;--line:#D5DECE;--shadow-rgb:47,58,43;--shadow:0 18px 34px rgba(47,58,43,.11);--overlay-rgb:24,32,22;--on-dark:#FFFFFF;--on-dark-rgb:255,255,255;--on-dark-2:#E6EFE2;--on-dark-soft:#CFDCC9;--disabled-line:#C9D1C4;--disabled-text:#7D8778;--error:#A1402F;--ease-ui:ease;--ease-out:cubic-bezier(.16,1,.3,1);--ease-glide:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;caret-color:var(--primary)}h1,h2,.display{font-family:var(--font-display);font-weight:600;color:var(--heading);line-height:1.15;text-wrap:balance;letter-spacing:-.005em}h3{font-family:var(--font-body);font-weight:600;color:var(--heading-2);line-height:1.3;text-wrap:balance}.logo-mark{display:block;flex:none;width:38px;height:38px;background:currentColor;-webkit-mask:url(/images/logo-mark.png) center/contain no-repeat;mask:url(/images/logo-mark.png) center/contain no-repeat}.section-alt{background:var(--canvas-alt)}p{text-wrap:pretty}.handwritten{font-family:var(--font-hand);font-weight:700;line-height:1;letter-spacing:0}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.num{font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:4px}html{scrollbar-color:rgba(var(--primary-rgb),.45) var(--canvas)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.4);border-radius:10px;border:2px solid var(--canvas)}.skip{position:absolute;left:12px;top:-60px;z-index:60;background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:5px;text-decoration:none;transition:top .2s var(--ease-ui)}.skip:focus{top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}.topbar{background:var(--primary);color:var(--on-bar);font-size:.78rem;padding:8px 0}.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.topbar a{text-decoration:none;color:var(--on-bar);transition:color .2s var(--ease-ui)}.topbar a:hover{color:var(--on-bar-strong)}.topbar-right{display:flex;gap:16px;flex-wrap:wrap}@media(max-width:600px){.topbar-loc{display:none}.topbar-inner{justify-content:center}.topbar-right{justify-content:center;gap:14px;font-size:.74rem}}.nav{background:rgba(var(--canvas-rgb),.94);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;transition:box-shadow .25s var(--ease-ui)}.nav.scrolled{box-shadow:0 6px 18px rgba(var(--shadow-rgb),.1)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;position:relative;gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--primary)}.brand .logo-mark{transition:transform .35s var(--ease-glide)}.brand-word{display:flex;flex-direction:column;line-height:1}.brand-word b{font-family:var(--font-display);font-weight:600;font-size:1.32rem;letter-spacing:.14em;color:var(--heading)}.brand-word small{font-size:.56rem;letter-spacing:.32em;color:var(--primary);margin-top:3px;font-weight:500}.nav-links-main{display:flex;gap:22px;font-size:.9rem;font-weight:500}.nav-links-main a{text-decoration:none;position:relative;padding:4px 0;color:var(--heading)}.nav-links-main a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--accent-ink);transition:right .25s var(--ease-ui)}.nav-links-main a:hover:after,.nav-links-main a[aria-current=true]:after{right:0}.nav-actions{display:flex;align-items:center;gap:10px}.nav-actions .btn-solid{white-space:nowrap;gap:0}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;border-radius:6px}.nav-toggle span{display:block;width:100%;height:2px;background:var(--primary);border-radius:2px;transition:transform .25s var(--ease-ui),opacity .25s var(--ease-ui)}.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.open .nav-toggle span:nth-child(2){opacity:0}.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:820px){.nav-links-main{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-rows:0fr;background:var(--card);box-shadow:0 16px 28px rgba(var(--shadow-rgb),0);transition:grid-template-rows .35s var(--ease-out),box-shadow .35s var(--ease-ui)}.nav-links-inner{overflow:hidden;display:flex;flex-direction:column}.nav.open .nav-links-main{grid-template-rows:1fr;box-shadow:0 16px 28px rgba(var(--shadow-rgb),.14);border-bottom:1px solid var(--line)}.nav-links-main a{padding:14px 24px;border-top:1px solid var(--line);font-size:.98rem;opacity:0;transform:translateY(-6px);transition:opacity .3s var(--ease-ui),transform .35s var(--ease-out)}.nav.open .nav-links-main a{opacity:1;transform:none;transition-delay:calc(var(--i) * 40ms + 60ms)}.nav-links-main a:after{display:none}.nav-toggle{display:flex}}@media(min-width:821px){.nav-links-inner{display:contents}}@media(max-width:380px){.nav-actions .btn-solid{padding:10px 14px;font-size:.82rem}}.btn-solid,.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:5px;text-decoration:none;font-size:.88rem;font-weight:500;cursor:pointer;font-family:var(--font-body)}.btn-solid{background:var(--primary);color:var(--on-primary);border:none;transition:transform .2s var(--ease-ui),box-shadow .2s var(--ease-ui),background .2s var(--ease-ui)}.btn-solid:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 10px 20px rgba(var(--shadow-rgb),.22)}.btn-solid:active{transform:translateY(0);box-shadow:none}.btn-outline{border:1px solid currentColor;color:var(--primary);background:none;padding:10px 21px;transition:transform .2s var(--ease-ui),background .2s var(--ease-ui),color .2s var(--ease-ui),border-color .2s var(--ease-ui)}.btn-outline:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary);transform:translateY(-2px)}.btn-solid svg,.btn-outline svg{width:16px;height:16px;transition:transform .25s var(--ease-out)}.btn-solid:hover svg,.btn-outline:hover svg{transform:translate(3px)}.moody{position:relative;color:var(--on-dark);overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 20% 10%,#566b4e,#2f3a2b,#18201a)}.moody .bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.moody:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(var(--overlay-rgb),.55),rgba(var(--overlay-rgb),.86));z-index:1}.moody .content{position:relative;z-index:2}.underline{display:block;width:170px;max-width:46%;height:12px;margin-top:4px;overflow:visible}.underline path{stroke:var(--accent-light);stroke-width:2.5;fill:none;stroke-linecap:round}.hero{padding:96px 0 112px;min-height:min(78vh,680px);display:flex;align-items:center}.hero>.content{width:100%}.hero h1{font-size:clamp(2.7rem,7.4vw,4.8rem);color:var(--on-dark);margin:0 0 6px}.hero h1>span{display:block}.hero h1 .accent{color:var(--accent-light)}.hero .underline{width:clamp(150px,26vw,250px);max-width:none;margin:0 0 24px}.hero-copy{max-width:46ch;color:var(--on-dark-2);margin:0 0 28px;font-size:1.02rem}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero .btn-solid{background:var(--accent);color:var(--on-accent)}.hero .btn-solid:hover{background:var(--accent-hover)}.hero .btn-outline{color:var(--on-dark)}.hero .btn-outline:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--heading-2)}@media(max-width:600px){.hero{padding:64px 0 92px;min-height:0}}.js .hero .bg{transform:scale(1.08);transition:transform 2.2s var(--ease-glide)}.js .hero h1{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease-out) .15s}.js .hero .underline path{stroke-dasharray:var(--len,300);stroke-dashoffset:var(--len,300);transition:stroke-dashoffset .9s var(--ease-out) 1s}.js .hero .hero-copy,.js .hero .hero-cta{opacity:0;transform:translateY(14px);filter:blur(4px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),filter .8s var(--ease-out)}.js .hero .hero-copy{transition-delay:.75s}.js .hero .hero-cta{transition-delay:.9s}.js .hero.is-in .bg{transform:scale(1)}.js .hero.is-in h1{clip-path:inset(0 -4% 0 0)}.js .hero.is-in .underline path{stroke-dashoffset:0}.js .hero.is-in .hero-copy,.js .hero.is-in .hero-cta{opacity:1;transform:none;filter:none}.badges{background:var(--card);border-radius:10px;box-shadow:var(--shadow);margin-top:-60px;padding:26px 12px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 12px;text-align:center;position:relative;z-index:2;list-style:none}@media(min-width:760px){.badges{grid-template-columns:repeat(4,1fr)}.badges li+li{border-left:1px solid var(--line)}}.badge-icon{width:46px;height:46px;border-radius:50%;background:var(--tint);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--heading)}.badge-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.badges p{font-size:.84rem;margin:0;color:var(--primary);font-weight:500;line-height:1.4}section{padding:72px 0}@media(max-width:600px){section{padding:52px 0}}.section-head{text-align:center;max-width:60ch;margin:0 auto 40px}.section-head h2{font-size:clamp(1.7rem,4vw,2.1rem);margin:0 0 8px}.section-head p{color:var(--soft);font-size:.95rem;margin:0}.grid-3{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:620px)and (max-width:979px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:980px){.grid-3{display:flex;justify-content:center;gap:24px}.grid-3>.p-card{flex:0 1 340px}}.p-card{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s var(--ease-ui),box-shadow .3s var(--ease-ui);display:flex;flex-direction:column}.p-card .ph-frame{aspect-ratio:4/3;overflow:hidden}.p-card img{width:100%;height:100%;object-fit:cover}.p-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}.p-card h3{font-size:1.12rem;margin:0 0 6px}.p-card p{font-size:.88rem;color:var(--soft);margin:0 0 16px}.p-card a{font-size:.85rem;color:var(--link);text-decoration:none;align-self:flex-start;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease-out);padding-bottom:1px}.p-card a:hover{background-size:0 1px;background-position:100% 100%}.ph-frame{position:relative;background:linear-gradient(135deg,var(--tint),var(--tint-2))}.ph-frame.no-photo:after{content:attr(data-label);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:1.7rem;color:var(--heading);opacity:.75}.panel{max-width:560px;margin:0 auto}.panel h2{text-align:center;font-size:clamp(2.4rem,6vw,3rem);color:var(--on-dark);margin:0}.panel .underline{margin:4px auto 32px}.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid rgba(var(--on-dark-rgb),.2);font-size:1rem}.price-row strong{font-size:1.08rem;color:var(--accent-light);font-variant-numeric:tabular-nums;white-space:nowrap}.price-note{font-size:.84rem;color:var(--on-dark-soft);margin:4px 0 8px}.price-sub{color:var(--on-dark);font-size:1.1rem;margin:30px 0 2px;font-family:var(--font-body);font-weight:600}.price-contact{text-align:center;margin-top:32px;font-size:.86rem;color:var(--on-dark-soft)}.price-contact a{color:var(--on-dark)}.rule{margin-bottom:24px}.rule h3{color:var(--on-dark);font-family:var(--font-body);font-size:1rem;margin:0 0 6px;font-weight:600}.rule p{color:var(--on-dark-2);font-size:.92rem;margin:0}.about{position:relative;border-radius:14px;overflow:hidden;color:var(--canvas);background:radial-gradient(120% 120% at 80% 30%,#566b4e,#18201a)}.about>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-glide)}.about-overlay{position:relative;min-height:440px;background:linear-gradient(100deg,rgba(var(--overlay-rgb),.88) 38%,rgba(var(--overlay-rgb),.2));display:flex;align-items:center}.about-text{padding:44px;max-width:470px}.about-text h2{color:var(--on-dark);font-size:clamp(1.7rem,4vw,2.1rem);margin:0 0 14px}.about-text p{font-size:.95rem;color:var(--on-dark-2);margin:0 0 24px}.about-text .btn-outline{color:var(--on-dark)}.about-text .btn-outline:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--heading-2)}@media(max-width:600px){.about-overlay{min-height:0;background:linear-gradient(180deg,rgba(var(--overlay-rgb),.8),rgba(var(--overlay-rgb),.9))}.about-text{padding:34px 24px;max-width:none}}.features{display:grid;grid-template-columns:1fr;gap:26px;margin:56px 0 0;padding:0;list-style:none}@media(min-width:760px){.features{grid-template-columns:repeat(4,1fr)}}.feature h3{font-family:var(--font-body);font-size:1rem;margin:0 0 6px;color:var(--heading)}.feature p{font-size:.88rem;color:var(--soft);margin:0}.schedule-controls{margin-bottom:22px;display:flex;flex-direction:column;gap:12px}.schedule-search{position:relative}.schedule-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--soft);pointer-events:none}.schedule-search input{width:100%;padding:13px 14px 13px 40px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-family:var(--font-body);font-size:16px;color:var(--ink);transition:border-color .2s var(--ease-ui),box-shadow .2s var(--ease-ui)}.schedule-search input::placeholder{color:#7a7365}.schedule-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}.filter-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{flex-shrink:0;padding:9px 18px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:.84rem;color:var(--primary);white-space:nowrap;cursor:pointer;font-family:var(--font-body);transition:background .2s var(--ease-ui),color .2s var(--ease-ui),border-color .2s var(--ease-ui)}.filter-chip:hover{border-color:var(--primary)}.filter-chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.no-results{padding:40px 20px;text-align:center;color:var(--soft);font-size:.92rem;margin:0}.schedule-panel{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:8px 30px;transition:opacity .18s var(--ease-ui),transform .18s var(--ease-ui)}.schedule-panel.is-swapping{opacity:0;transform:translateY(6px)}@media(max-width:600px){.schedule-panel{padding:6px 18px}}.practice{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line);animation:row-in .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}.practice:last-child{border-bottom:none}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}}.date{font-family:var(--font-display);color:var(--heading);text-align:center;min-width:64px;font-variant-numeric:lining-nums tabular-nums}.date .dow{display:block;font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--primary);margin-bottom:3px}.date .day{display:block;font-size:1.7rem;line-height:1}.date .mon{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.date .time{display:block;font-size:.7rem;color:var(--soft);margin-top:3px;font-family:var(--font-body)}.practice-body{flex:1;min-width:0}.practice-body h3{font-size:1.12rem;margin:0 0 4px}.practice-body p{margin:0;font-size:.88rem;color:var(--soft)}.practice-body .meta{margin-top:4px;font-size:.84rem;color:var(--primary)}.seats{font-variant-numeric:tabular-nums}.seats.low{color:var(--link);font-weight:600}.btn{display:inline-block;margin-top:12px;padding:9px 17px;border:1px solid var(--primary);border-radius:5px;background:none;color:var(--primary);font-size:.86rem;cursor:pointer;font-family:var(--font-body);transition:background .2s var(--ease-ui),color .2s var(--ease-ui),transform .2s var(--ease-ui)}.btn:hover{background:var(--primary);color:var(--on-primary);transform:translateY(-1px)}.btn:disabled{border-color:var(--disabled-line);color:var(--disabled-text);cursor:not-allowed;background:none;transform:none}.carousel{position:relative;max-width:1120px;margin:0 auto}.c-stage{position:relative;height:clamp(250px,46vw,440px);overflow:hidden;touch-action:pan-y;outline:none}.c-stage:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px;border-radius:16px}.c-stage:before,.c-stage:after{content:"";position:absolute;top:0;bottom:0;width:14%;z-index:12;pointer-events:none}.c-stage:before{left:0;background:linear-gradient(90deg,var(--canvas),rgba(var(--canvas-rgb),0))}.c-stage:after{right:0;background:linear-gradient(270deg,var(--canvas),rgba(var(--canvas-rgb),0))}.c-slide{position:absolute;top:0;left:50%;height:100%;width:min(560px,76%);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .9s var(--ease-glide),opacity .9s var(--ease-ui),filter .9s var(--ease-ui);will-change:transform,opacity}.c-slide.is-side{filter:saturate(.7)}.c-slide img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-glide)}.c-dots{display:flex;justify-content:center;gap:6px;margin-top:20px}.c-dot{width:24px;height:24px;border:none;padding:0;background:none;cursor:pointer;display:grid;place-items:center}.c-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(var(--primary-rgb),.25);transition:background .3s var(--ease-ui),transform .3s var(--ease-out)}.c-dot[aria-current=true]:before{background:var(--primary);transform:scale(1.4)}.map-embed{display:block;width:100%;height:340px;border:0;border-radius:14px;box-shadow:var(--shadow);background:var(--tint-2)}.loc-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.loc-row p{margin:0;font-size:.96rem}footer{background:var(--primary);color:var(--on-bar);padding:60px 0 24px}.foot-grid{display:grid;grid-template-columns:1fr;gap:34px}@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr}}.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}.foot-brand{color:var(--on-bar-strong)}.foot-brand .logo-mark{width:44px;height:44px}.foot-brand .brand-word b{color:var(--on-bar-strong)}.foot-brand .brand-word small{color:var(--on-bar-muted)}footer h2{font-family:var(--font-body);font-size:.92rem;color:var(--on-bar-strong);margin:0 0 14px}footer .display{color:var(--on-bar-strong);font-size:1.25rem;margin:0}footer p{font-size:.86rem;max-width:34ch;margin:0 0 14px}footer ul{list-style:none;margin:0;padding:0;font-size:.88rem}footer li{margin-bottom:9px}footer a{text-decoration:none;color:var(--on-bar);transition:color .2s var(--ease-ui)}footer a:hover{color:var(--on-bar-strong)}.foot-social a{margin-right:14px;font-size:.86rem;border-bottom:1px solid var(--accent)}.news-row{display:flex;gap:8px;margin-top:6px}.news-row input{flex:1;padding:12px;border-radius:5px;border:none;background:var(--field);color:var(--ink);font-family:var(--font-body);font-size:16px;min-width:0}.news-row button{background:var(--accent);color:var(--on-accent);font-weight:600;border:none;padding:10px 16px;border-radius:5px;font-size:.86rem;cursor:pointer;font-family:var(--font-body);transition:transform .2s var(--ease-ui),background .2s var(--ease-ui)}.news-row button:hover{transform:translateY(-2px);background:var(--accent-hover)}.news-msg{font-size:.8rem;margin-top:8px;color:var(--on-bar-muted);min-height:1.2em}.fine{text-align:center;font-size:.76rem;color:var(--on-bar-muted);border-top:1px solid var(--bar-rule);margin:44px 0 0;padding-top:20px;max-width:none}.modal{border:none;padding:0;background:transparent;max-width:440px;width:calc(100% - 32px);max-height:88vh;overflow:visible}.modal::backdrop{background:rgba(var(--overlay-rgb),0);transition:background .25s var(--ease-ui)}.modal.is-open::backdrop{background:rgba(var(--overlay-rgb),.55)}.modal-card{background:var(--card);border-radius:12px;padding:28px;position:relative;max-height:88vh;overflow-y:auto;box-shadow:0 30px 60px rgba(var(--shadow-rgb),.3);opacity:0;transform:scale(.94) translateY(10px);transition:opacity .25s var(--ease-ui),transform .35s var(--ease-out)}.modal.is-open .modal-card{opacity:1;transform:none}@media(max-width:480px){.modal-card{padding:24px 18px;border-radius:14px}}.modal h2{margin:0 0 4px;font-size:1.3rem;padding-right:40px}.modal .meta{font-size:.86rem;color:var(--primary);margin:0 0 16px}.modal label{display:block;font-size:.82rem;margin:14px 0 5px;color:var(--primary);font-weight:500}.modal input,.modal textarea,.modal select{width:100%;padding:11px 10px;border:1px solid var(--line);border-radius:6px;background:var(--field);font-family:var(--font-body);font-size:16px;color:var(--ink);transition:border-color .2s var(--ease-ui),box-shadow .2s var(--ease-ui)}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}.modal input[aria-invalid=true]{border-color:var(--error)}.modal textarea{resize:vertical;min-height:60px}.total{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 0;padding:12px 14px;background:var(--tint);border-radius:8px;font-size:.92rem}.total strong{font-family:var(--font-display);font-size:1.3rem;color:var(--heading);font-variant-numeric:lining-nums tabular-nums}.form-hint{font-size:.8rem;color:var(--soft);margin:8px 0 0}.form-error{color:var(--error);font-size:.84rem;margin:12px 0 0;min-height:1.2em}.submit{margin-top:14px;width:100%;justify-content:center;padding:14px;font-size:.95rem}.close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--primary);cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s var(--ease-ui),transform .25s var(--ease-out)}.close svg{width:18px;height:18px}.close:hover{background:rgba(var(--shadow-rgb),.08);transform:rotate(90deg)}.js .reveal{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out),filter .8s var(--ease-out);transition-delay:calc(var(--i,0) * 90ms)}.js .reveal.in-view{opacity:1;transform:none;filter:none}@media(hover:hover){.p-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px rgba(var(--shadow-rgb),.2)}.p-card img{transition:transform .7s var(--ease-glide)}.p-card:hover img{transform:scale(1.06)}.c-slide:hover img{transform:scale(1.05)}.about:hover>img{transform:scale(1.04)}.brand:hover .logo-mark{transform:rotate(-8deg) scale(1.08)}}.class-list{list-style:none;margin:0 0 16px;padding:0;flex:1;display:flex;flex-direction:column;gap:10px}.class-list li{font-size:.84rem;color:var(--soft);line-height:1.45}.class-list b{display:block;font-weight:600;color:var(--heading);font-size:.9rem}.lvl{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:500;letter-spacing:.02em;padding:4px 10px;border-radius:20px;background:var(--tint);color:var(--primary);margin-bottom:10px}.p-card .ph-frame img{object-position:center 60%}.price-row span small{display:block;font-size:.8rem;color:var(--on-dark-soft)}.faq{max-width:760px;margin:0 auto}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-weight:500;color:var(--heading);font-size:1rem;transition:color .2s var(--ease-ui)}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--primary)}.faq summary:after{content:"";flex:none;width:12px;height:12px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .35s var(--ease-out)}.faq details[open] summary:after{transform:translateY(2px) rotate(-135deg)}.faq details p{margin:0;padding:0 4px 20px;color:var(--soft);font-size:.93rem;max-width:62ch}@supports (interpolate-size:allow-keywords){.faq{interpolate-size:allow-keywords}.faq details::details-content{height:0;overflow:clip;opacity:0;transition:height .4s var(--ease-out),opacity .3s var(--ease-ui),content-visibility .4s allow-discrete}.faq details[open]::details-content{height:auto;opacity:1}}.schedule-note{font-size:.84rem;color:var(--soft);text-align:center;margin:18px auto 0;max-width:62ch}.choice{display:flex;flex-wrap:wrap;gap:8px;border:none;margin:0;padding:0}.choice legend{font-size:.82rem;color:var(--primary);font-weight:500;margin:14px 0 6px;padding:0}.choice label{margin:0;position:relative}.choice input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.choice span{display:block;padding:9px 14px;border:1px solid var(--line);border-radius:8px;font-size:.84rem;color:var(--ink);cursor:pointer;background:var(--field);transition:border-color .2s var(--ease-ui),background .2s var(--ease-ui),color .2s var(--ease-ui);line-height:1.35}.choice span small{display:block;font-size:.74rem;color:var(--soft)}.choice input:checked+span{border-color:var(--primary);background:var(--tint);color:var(--heading);box-shadow:inset 0 0 0 1px var(--primary)}.choice input:focus-visible+span{outline:2px solid var(--accent-ink);outline-offset:2px}.pay-box{margin-top:16px;padding:14px;border-radius:8px;background:var(--tint-2);font-size:.84rem;color:var(--ink)}.pay-box p{margin:0}.pay-box strong{font-variant-numeric:tabular-nums}.pay-box .copy{margin-left:6px;font:inherit;font-size:.78rem;color:var(--link);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.whatsapp-icon{width:18px;height:18px}.brand .logo-mark{width:40px;height:40px;color:var(--primary)}.choice{margin-top:16px}.choice legend{margin:0 0 8px}.meta .nw{white-space:nowrap}@media(max-width:480px){.nav-inner{padding:10px 16px;gap:8px}.brand{gap:8px}.brand .logo-mark{width:34px;height:34px}.brand-word b{font-size:1.08rem;letter-spacing:.1em}.brand-word small{font-size:.5rem;letter-spacing:.26em}.nav-actions{gap:4px}.nav-actions .btn-solid{padding:9px 14px;font-size:.82rem}.nav-actions .btn-solid .long{display:none}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lang-toggle{font:600 12px/1 var(--font-body);letter-spacing:.08em;color:var(--heading);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 11px;cursor:pointer;transition:background .2s,border-color .2s}.lang-toggle:hover{background:var(--tint);border-color:var(--primary)}.nav-account{font-weight:600}@media(min-width:961px){.nav-account{color:var(--primary)!important}}.promo{background:var(--accent);color:var(--on-accent)}.promo-inner{display:flex;align-items:center;gap:12px;justify-content:center;padding-block:9px}.promo-text{color:inherit;font:500 14px/1.4 var(--font-body);text-decoration:none;text-align:center}.promo-text:hover{text-decoration:underline}.promo-close{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}.promo-close:hover{background:#00000014}.about-concept{opacity:.9;font-size:.95em}.facility-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.facility-grid li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font:500 15px/1.35 var(--font-body);color:var(--heading);display:flex;align-items:center;gap:10px}.facility-grid li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage);flex:none}.price-buy{display:flex;align-items:center;gap:12px}.btn-buy{padding:7px 14px;font-size:13px}.price-row span small{display:block}.schedule-controls{display:flex;flex-direction:column;gap:14px}.date-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.ds-day{flex:none;scroll-snap-align:start;display:grid;justify-items:center;gap:1px;min-width:58px;padding:10px 8px 8px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--heading);cursor:pointer;font-family:var(--font-body);transition:background .2s,border-color .2s,color .2s;position:relative}.ds-day:hover{border-color:var(--primary)}.ds-day[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.ds-dow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.ds-num{font:600 22px/1.1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}.ds-mon{font-size:11px;opacity:.8}.ds-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-ink);margin-top:3px}.ds-day[aria-selected=true] .ds-dot{background:var(--accent)}.schedule-filters{display:flex;gap:10px;flex-wrap:wrap}.sel{flex:1 1 180px;min-width:0}.sel select{width:100%;font:500 14px var(--font-body);color:var(--heading);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 36px 10px 16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}.sel select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.practice .date .time{font-size:20px}.practice.is-cancelled .practice-body h3{text-decoration:line-through;opacity:.7}.st{display:inline-block;font:500 12px/1 var(--font-body);padding:5px 9px;border-radius:999px;margin-left:6px;white-space:nowrap}.st-ok{background:var(--tint);color:var(--primary-hover)}.st-almost{background:var(--tint-2);color:var(--accent-ink)}.st-full{background:#f1e3df;color:#8a3b2a}.st-cancelled{background:#ececea;color:#5b5b57}.socials{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.socials a{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--heading);text-decoration:none;font-size:14px;background:var(--card)}.socials a:hover{border-color:var(--primary);color:var(--primary)}.loc-hours{margin:4px 0 0;font-size:14px;color:var(--soft)}.tabs{display:flex;gap:4px;padding:4px;background:var(--tint);border-radius:999px;margin:6px 0 14px}.tabs button{flex:1;border:0;background:transparent;padding:9px 12px;border-radius:999px;font:500 14px var(--font-body);color:var(--soft);cursor:pointer}.tabs button[aria-selected=true]{background:var(--card);color:var(--heading);box-shadow:0 1px 3px #00000014}.modal .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.5;margin-top:14px}.modal .check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--primary)}.form-hint.center{text-align:center;margin-top:12px}.form-ok{color:var(--primary);font-size:13px;margin:6px 0 0}.signed-as{font-size:13px;color:var(--soft);margin:-4px 0 10px}.inline-row{display:flex;gap:8px}.inline-row input{flex:1;min-width:0}.inline-row .btn{flex:none}.friends{border:0;padding:0;margin:16px 0 0}.friends legend{font-weight:600;font-size:14px;color:var(--heading);margin-bottom:6px;padding:0}.friend-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.friend-row input{margin:0!important}.link-btn{border:0;background:transparent;color:var(--link);font:500 13px var(--font-body);padding:6px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.choice label.is-disabled{opacity:.55}.sum{margin-top:14px;font-size:14px;color:var(--soft);display:grid;gap:4px}.sum>div{display:flex;justify-content:space-between;gap:12px}.captcha:empty{display:none}.captcha{margin-top:12px}.done{text-align:center;display:grid;gap:10px;justify-items:center}.done-icon{width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--primary);display:grid;place-items:center;font-size:26px}.done p{margin:0}.done-code strong{font-variant-numeric:tabular-nums;letter-spacing:.04em}.done .submit{width:100%;justify-content:center}@media(max-width:480px){.friend-row{grid-template-columns:1fr 1fr}.friend-row .link-btn{grid-column:1 / -1;justify-self:start;padding-top:0}}.pay-first{margin:8px 0 0;padding:8px 12px;border-radius:10px;background:var(--tint-2);color:var(--accent-ink);font-weight:500}
