*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px;-webkit-text-size-adjust:100%}body{margin:0;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent,#d1ff67);outline-offset:5px}button:disabled{cursor:default}button{color:inherit}svg{width:1.2em;height:1.2em;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;padding:12px;background:#fff;color:#111}.skip-link:focus{top:52px}.review-bar{height:44px;position:sticky;top:0;z-index:90;background:#f4f2ec;color:#1b211e;border-bottom:1px solid #d5d5cd;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font:11px/1 Arial,sans-serif;letter-spacing:.04em}.review-back{display:flex;gap:9px;align-items:center;font-weight:700}.review-center{display:flex;align-items:center;gap:12px}.review-center label{font-size:10px;text-transform:uppercase;color:#59645b}.review-center select{border:0;background:transparent;color:#1b211e;font-weight:700;max-width:190px;font-size:11px;padding:5px;cursor:pointer}.review-arrows{display:flex;align-items:center;gap:14px}.review-arrows a{font-size:20px}.review-arrows span{font-size:10px}.concept{background:var(--bg,#0c0d0c);color:var(--ink,#fff)}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;border-radius:50%;width:44px;height:44px;align-items:center;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:15px 25px;background:var(--accent,#c7ff6c);color:var(--button-ink,#111);font-weight:700;font-size:13px;border:1px solid transparent;transition:transform .2s,filter .2s}.btn:hover{filter:brightness(1.07);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--ink);border-color:var(--line)}.section{padding:92px max(6vw,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-heading h2{font-size:clamp(35px,5vw,66px);line-height:1.05;letter-spacing:-.045em;font-family:var(--heading-font,Arial,sans-serif);font-weight:500}.section-heading .eyebrow{margin-bottom:12px}.schedule-filters{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.schedule-filter{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);padding:11px 18px;font-size:12px;min-height:42px}.schedule-filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--button-ink,#111)}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.class-card{border:1px solid var(--line);padding:28px;background:var(--surface,transparent);display:flex;flex-direction:column;gap:25px}.class-card[hidden]{display:none}.class-top{display:flex;align-items:center;justify-content:space-between}.class-day{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.class-number{font-size:10px;opacity:.55}.class-time{font-family:var(--heading-font,Arial,sans-serif);font-size:44px;line-height:1;letter-spacing:-.05em}.class-time small{font:12px Arial,sans-serif;letter-spacing:0;margin-left:5px}.class-location{font-size:15px;line-height:1.5;margin-top:8px}.class-address{font-size:12px;color:var(--muted);line-height:1.5;margin-top:4px;min-height:36px}.class-card .btn{width:100%;margin-top:auto;min-height:46px}.class-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:20px;max-width:660px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:17px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:22px;line-height:1;flex-shrink:0}.faq-list details[open] summary:after{content:'−'}.faq-list details p{max-width:640px;color:var(--muted);font-size:14px;line-height:1.8;padding:0 30px 25px 0}.site-footer{margin:0 max(6vw,24px);padding:28px 0 34px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.footer-brand{font-weight:700;color:var(--ink)}.site-footer a{text-decoration:underline;text-underline-offset:4px}.class-dialog{width:min(520px,calc(100% - 32px));border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:36px;max-height:90vh;overflow-y:auto}.class-dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:12px;font-size:26px;background:transparent;border:0;min-width:40px;min-height:40px}.class-dialog h2{font-family:var(--heading-font,Arial,sans-serif);font-size:40px;line-height:1.1;letter-spacing:-.04em;margin:25px 0}.dialog-facts{font-size:15px;line-height:1.9}.dialog-address{color:var(--muted);font-size:13px}.dialog-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px}.dialog-note{font-size:11px;line-height:1.6;color:var(--muted);margin-top:20px}.plan-status{font-size:13px;line-height:1.6;color:var(--accent);margin-top:15px;min-height:21px}.class-dialog .venue-link{margin-top:12px;display:inline-block;text-decoration:underline;text-underline-offset:4px;font-size:13px}.concept-current .plan-status,.concept-daylight .plan-status,.concept-studio .plan-status,.concept-afterhours .plan-status{color:var(--ink)}
@media(min-width:1800px){.concept main,.concept .site-nav{max-width:1800px;margin-left:auto;margin-right:auto}}
@media(max-width:760px){.review-bar{padding:0 16px}.review-center label,.review-arrows span{display:none}.review-center{gap:0}.review-center select{font-size:10px;max-width:150px}.review-back{font-size:10px}.review-arrows{gap:10px}.nav-links{gap:20px}.section{padding:64px 24px}.section-heading{display:block}.section-heading h2{margin-top:12px}.class-grid{grid-template-columns:1fr}.class-card{gap:18px}.class-address{min-height:0}.class-time{font-size:42px}.site-footer{margin:0 24px;flex-direction:column;gap:14px}.menu-toggle{display:flex}.site-nav .nav-links{display:none;position:absolute;top:calc(100% - 2px);right:20px;left:20px;z-index:30;padding:24px;background:var(--bg);border:1px solid var(--line);flex-direction:column;align-items:stretch;box-shadow:0 20px 35px #0002}.site-nav .nav-links.is-open{display:flex}.site-nav .nav-links a{padding:8px}.class-dialog{padding:30px 24px}.class-dialog h2{font-size:34px}.faq-list summary{font-size:16px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.is-embedded .review-bar,.is-embedded .skip-link{display:none!important}
.is-embedded{scrollbar-width:none}.is-embedded::-webkit-scrollbar,.is-embedded body::-webkit-scrollbar{display:none}.concept-current a.btn{color:var(--button-ink)}.concept-current a.btn-outline{color:var(--ink)}
.class-dialog .venue-link[hidden]{display:none}
@media(max-width:900px){.class-grid{grid-template-columns:1fr}.class-address{min-height:0}}.concept-studio a:focus-visible,.concept-studio button:focus-visible,.concept-studio select:focus-visible,.concept-studio summary:focus-visible{outline:3px solid #315749;outline-offset:5px}
.class-pricing{border:1px solid var(--line);padding:25px 28px;margin:0 0 32px;background:var(--surface,transparent);max-width:900px}
.pricing-heading h3{font:700 17px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.02em;text-transform:none}
.pricing-heading>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}
.pricing-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 20px}
.pricing-options>div+div{border-left:1px solid var(--line);padding-left:22px}
.pricing-options dt{font-size:11px;line-height:1.4;color:var(--muted);margin-bottom:8px}
.pricing-options dd{margin:0;font:600 32px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.045em}
.pricing-detail,.gym-pricing{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px}
.gym-pricing{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.gym-pricing strong{color:var(--ink)}
.class-entry,.class-duration{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}
.class-entry{padding-top:10px;border-top:1px solid var(--line)}
.empty-timetable{font-size:14px;line-height:1.8;color:var(--muted);padding:24px 0}
.dialog-price{font-size:13px;line-height:1.8;margin:20px 0 10px;padding-block:16px;border-block:1px solid var(--line)}
.class-dialog .class-booking{display:flex;margin-top:24px}.class-dialog .class-booking[hidden]{display:none}
@media(max-width:760px){
  .class-pricing{padding:22px 18px;margin-bottom:32px}
  .pricing-heading h3{font-size:16px}
  .pricing-options{gap:10px;margin-block:22px 18px}
  .pricing-options>div+div{padding-left:12px}
  .pricing-options dt{font-size:10px}
  .pricing-options dd{font-size:27px}
  .pricing-detail,.gym-pricing{font-size:12px;line-height:1.7}
}
.class-location,.class-address,.dialog-facts,.dialog-address,.class-booking{overflow-wrap:anywhere}
.class-contact{font-size:12px;line-height:1.8;margin-top:16px;max-width:650px;color:var(--ink)}.dialog-contact{font-size:13px;line-height:1.8;color:var(--muted);margin-block:16px}
.class-contact a,.dialog-contact a,.faq-list p a{text-decoration:underline;text-underline-offset:3px}.contact-action{display:inline-flex;gap:14px;align-items:center;justify-content:center;min-height:44px;max-width:100%;margin-top:18px;padding:12px 16px;background:var(--accent);color:var(--button-ink);font:700 12px/1.4 Arial,Helvetica,sans-serif;text-align:center}.contact-action:hover{filter:brightness(1.06)}.social-links{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.social-links a{white-space:nowrap}
