:root{--navy:#08243d;--navy-dark:#05192b;--navy-mid:#123b5b;--blue:#55b9e6;--blue-dark:#1788bc;--blue-soft:#e5f5fb;--paper:#0a2236;--white:#fff;--ink:#eaf4fa;--muted:#91aabd;--line:#29475d;--surface:#0a2236;--surface-raised:#0d2a42;--success:#176b4c;--error:#a93535;--shadow:0 18px 50px #08243d1c;--font:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{color:#c6d5df;font-family:var(--font);-webkit-font-smoothing:antialiased;background:#061827;margin:0;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1160px,100% - 48px);margin-inline:auto}.skip-link{z-index:1000;background:var(--white);color:var(--navy);border-radius:4px;padding:10px 16px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#05192bf0;border-bottom:1px solid #70bee226;height:74px;position:sticky;top:0}.site-header.scrolled{box-shadow:0 8px 30px #08243d14}.nav-row{align-items:center;gap:30px;height:100%;display:flex}.logo{color:#f3f9fc;flex:none;align-items:center;gap:11px;display:inline-flex}.logo-mark{background:var(--blue);width:35px;height:35px;color:var(--navy-dark);border-radius:5px;place-items:center;font-size:20px;font-weight:800;line-height:1;display:grid}.logo strong,.logo small{line-height:1.05;display:block}.logo strong{letter-spacing:.01em;font-size:16px}.logo small{color:#91aabd;letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.site-nav{align-items:center;gap:26px;margin-left:auto;display:flex}.site-nav a,.nav-login{color:#aec0cc;font-size:13px;font-weight:700}.site-nav a{position:relative}.site-nav a:after{content:"";background:var(--blue-dark);height:2px;transition:right .2s;position:absolute;bottom:-10px;left:0;right:100%}.site-nav a:hover:after,.site-nav a.active:after{right:0}.nav-actions{align-items:center;gap:18px;display:flex}.nav-login:hover,.site-nav a:hover{color:var(--white)}.menu-button{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:11px;display:none}.menu-button span{background:var(--blue);width:20px;height:2px;margin:0;transition:transform .2s;display:block}.button{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 20px;font-size:14px;font-weight:750;line-height:1.2;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.slot:focus-visible{outline-offset:2px;outline:3px solid #55b9e673}.button-primary{background:var(--blue);color:var(--navy-dark);box-shadow:0 9px 22px #1b8dc12e}.button-primary:hover{background:#75c9eb;box-shadow:0 12px 28px #1b8dc140}.button-secondary{color:#e7f2f8;background:0 0;border-color:#315069}.button-light{background:var(--white);color:var(--navy)}.button-outline{color:var(--white);border-color:#ffffff73}.button-small{min-height:40px;padding:9px 15px;font-size:12px}.button[disabled]{opacity:.45;pointer-events:none}.text-link{color:var(--blue);border-bottom:1px solid #55b9e680;font-size:14px;font-weight:750;display:inline-block}.hero{background:#071b2c;align-items:center;min-height:calc(100svh - 74px);padding:58px 0 68px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:#55b9e62e;width:48vw;height:1px;position:absolute;top:15%;right:-12vw;transform:rotate(-18deg);box-shadow:0 54px #55b9e61a,0 108px #55b9e60f}.hero-layout{display:block}.hero-copy{z-index:1;text-align:center;max-width:850px;margin-inline:auto;position:relative}.hero-copy h1{margin-inline:auto}.hero-copy .action-row{justify-content:center}.overline{color:var(--blue-dark);letter-spacing:.18em;text-transform:uppercase;margin:0 0 17px;font-size:11px;font-weight:800;line-height:1.3}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:#f5fbff;letter-spacing:-.035em;line-height:1.07}h1{max-width:720px;margin-bottom:22px;font-size:clamp(44px,5.4vw,68px);font-weight:750}h1 span{color:var(--blue-dark)}h2{margin-bottom:18px;font-size:clamp(32px,4vw,48px);font-weight:740}h3{margin-bottom:8px;font-size:19px}.hero-text{color:#aec0cc;max-width:590px;margin:0 auto 30px;font-size:18px;line-height:1.65}.action-row{flex-wrap:wrap;gap:12px;display:flex}.hero-meta{border-top:1px solid #29455a;grid-template-columns:repeat(2,auto);gap:19px 38px;width:max-content;max-width:100%;margin:44px auto 0;padding-top:22px;display:grid}.hero-meta div{min-width:110px}.hero-meta dt{color:#7590a3;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.hero-meta dd{color:#e9f2f7;margin:4px 0 0;font-size:13px;font-weight:700}.hero-meta .hero-location{text-align:center;grid-column:1/-1;min-width:0}.hero-location a{color:var(--blue);border-bottom:1px solid #55b9e666}.hero-location a:hover{color:#86d2ef}.hero-location span{margin-top:2px;display:block}.hero-rule{background:var(--blue);width:23vw;height:7px;position:absolute;bottom:28px;left:-3vw;transform:skew(-34deg)}.section{padding:102px 0}.section-light{background:var(--surface)}.section-intro{max-width:590px;margin-bottom:48px}.section-intro>p:last-child{color:#9db2c0}.program-list{border-top:1px solid #29475d}.program-list article{border-bottom:1px solid #29475d;grid-template-columns:65px 1fr 180px;align-items:center;gap:20px;padding:27px 0;display:grid}.program-list article>span{color:var(--blue-dark);font-size:11px;font-weight:800}.program-list h3,.program-list p{margin-bottom:0}.program-list p{color:#9db2c0;font-size:14px}.program-list small{color:#dce9f0;text-align:right;font-size:12px;font-weight:750}.teacher-band{color:#d7e2ea;background:#061827}.teacher-band h2{color:var(--white)}.teacher-band .overline,.performance .overline,.contact .overline{color:var(--blue)}.teacher-layout{grid-template-columns:.65fr 1.25fr;align-items:center;gap:90px;display:grid}.teacher-photo{background:#0b2438;border:1px solid #29475d;border-radius:24px;width:min(100%,440px);margin:0;padding:12px;position:relative;overflow:hidden;box-shadow:0 22px 55px #00000047}.teacher-photo img{object-fit:contain;border-radius:16px;width:100%;height:auto}.teacher-photo figcaption{text-align:center;justify-content:center;align-items:baseline;gap:8px;padding:14px 2px 1px;display:flex}.teacher-photo figcaption span{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:800}.teacher-photo figcaption i{color:#7590a3;font-size:12px;font-style:normal}.teacher-photo figcaption strong{color:var(--white);font-size:14px}.teacher-layout>div:last-child{max-width:650px}.teacher-layout .lead{color:var(--white);font-size:20px;line-height:1.55}.teacher-layout p:last-child{color:#b8c9d5}.approach-layout{grid-template-columns:.8fr 1.2fr;gap:80px;display:grid}.process{border-top:1px solid #29475d;margin:0;padding:0;list-style:none}.process li{border-bottom:1px solid #29475d;grid-template-columns:55px 1fr;gap:15px;padding:24px 0;display:grid}.process li>span{color:var(--blue-dark);font-size:11px;font-weight:800}.process p{color:#9db2c0;margin-bottom:0;font-size:14px}.performance{color:#bacbd7;background:#0d2a42}.performance h2{color:var(--white)}.performance-layout{grid-template-columns:1.45fr .55fr;align-items:center;gap:70px;display:grid}.video{background:#000;border:8px solid #ffffff0f;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #00000047}.video iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.fees-intro{justify-content:space-between;align-items:end;gap:40px;max-width:none;display:flex}.fees-section{background:#061827;border-top:1px solid #244258}.fees-intro>p{max-width:330px}.fees{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.fee{background:#0d2a42;border:1px solid #315069;border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:255px;padding:28px;display:flex;overflow:hidden}.fee>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:auto;font-size:11px;font-weight:800}.fee strong{color:#f5fbff;letter-spacing:-.05em;font-size:43px}.fee p{color:#e1edf3;margin:0;font-weight:750}.fee small{color:var(--muted);margin-top:14px}.fee.featured{background:#123b5b;border-color:#55b9e6;position:relative;box-shadow:0 18px 50px #0000003d}.fee.featured:before{content:"";background:var(--blue);transform-origin:0;height:6px;position:absolute;top:0;left:0;right:46%;transform:skew(-30deg)}.fee.featured>span,.fee.featured small{color:#bcd0dc}.fee.featured strong,.fee.featured p{color:var(--white)}.faq-section{padding-top:20px}.faq-layout{grid-template-columns:.75fr 1.25fr;gap:80px;display:grid}.faq-list{border-top:1px solid #29475d}.faq-list article,.faq-list details{border-bottom:1px solid #29475d}.faq-list summary{color:#eef7fb;cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:22px 0;font-weight:750;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--blue-dark);font-size:24px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{color:var(--muted);padding:0 45px 22px 0;font-size:14px}.faq-list button{color:#eef7fb;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:22px 0;font-weight:750;display:flex}.faq-list button span{color:var(--blue-dark);font-size:24px;font-weight:400;transition:transform .2s}.faq-list button[aria-expanded=true] span{transform:rotate(45deg)}.faq-list article>div{color:var(--muted);padding:0 45px 22px 0;font-size:14px}.contact{color:#bdcdd8;background:#0d2a42;border-top:1px solid #244258;padding:92px 0}.contact h2{color:var(--white)}.contact-content{gap:38px;display:grid}.contact-copy{text-align:center;max-width:650px;margin-inline:auto}.contact-copy>p:not(.overline){max-width:570px;margin:0 auto}.contact-tools{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:32px;display:grid}.contact-tools .studio-widget-contact,.studio-map{background:#020617;border:1px solid #315069;border-radius:24px;width:100%;min-width:0;overflow:hidden;box-shadow:0 22px 55px #00000038}.contact-tools .studio-widget-contact{min-height:0}.studio-map{padding:24px;display:flex}.map-card{background:#061827;border:1px solid #315069;border-radius:24px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.studio-map iframe{filter:saturate(.72)contrast(1.02);border:0;flex:1;width:100%;min-height:0;display:block}.map-details{justify-content:space-between;align-items:center;gap:30px;padding:20px 23px;display:flex}.map-details strong,.map-details span{display:block}.map-details strong{color:var(--white);font-size:14px}.map-details span{color:#91aabd;margin-top:3px;font-size:12px}.map-details a{color:var(--blue);border-bottom:1px solid #55b9e659;flex:none;font-size:12px;font-weight:750}.policy-section{background:#061827;border-top:1px solid #244258}.policy-intro{text-align:center;max-width:680px;margin:0 auto 48px}.policy-grid{border-top:1px solid #29475d;border-bottom:1px solid #29475d;grid-template-columns:repeat(3,1fr);display:grid}.policy-grid article{border-left:1px solid #29475d;padding:32px 30px}.policy-grid article:first-child{border-left:0}.policy-grid article>span{color:var(--blue);letter-spacing:.14em;margin-bottom:28px;font-size:10px;font-weight:800;display:block}.policy-grid h3{font-size:18px}.policy-grid p{color:#9db2c0;margin-bottom:0;font-size:13px;line-height:1.75}.policy-note{color:#7893a5;text-align:center;max-width:760px;margin:28px auto 0;font-size:11px}footer{color:#91a7b7;background:#03111e;border-top:1px solid #1e3a4f;padding:36px 0}.footer-layout{grid-template-columns:auto 1fr auto;align-items:center;gap:35px;display:grid}footer .logo{color:var(--white)}footer .logo small{color:#91a7b7}footer p{text-align:center;margin:0;font-size:11px}footer nav{gap:18px;font-size:11px;display:flex}.social-links{justify-items:start;gap:8px;margin-top:27px;display:grid}.social-links span{color:#8fa8b9;margin-bottom:3px;font-size:12px}.social-links a{color:var(--blue);border-bottom:1px solid #55b9e659;font-size:14px;font-weight:750}.mobile-bar{display:none}[data-reveal]{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(18px)}[data-reveal].visible{opacity:1;transform:none}.widget-body{background:#061827;min-height:100svh}.widget-header{background:#05192b;border-bottom:1px solid #244258;height:68px}.widget-header .container{justify-content:space-between;align-items:center;height:100%;display:flex}.back-home{color:#9eb2c0;font-size:12px;font-weight:750}.back-home:hover{color:var(--white)}.widget-main{padding:46px 0 70px}.booking-shell{grid-template-columns:275px minmax(0,680px);justify-content:center;align-items:start;gap:38px;display:grid}.booking-progress{color:#b8cad6;background:#0d2a42;border:1px solid #315069;border-radius:6px;padding:27px;position:sticky;top:98px}.booking-progress .eyebrow{color:var(--blue)}.progress-number{color:var(--white);align-items:baseline;gap:5px;margin:14px 0 12px;display:flex}.progress-number strong{letter-spacing:-.05em;font-size:48px;line-height:1}.progress-number span{font-size:16px}.progress-track{background:#ffffff24;border-radius:10px;height:5px;overflow:hidden}.progress-track span{background:var(--blue);width:20%;height:100%;transition:width .3s;display:block}.progress-label{margin:12px 0 0;font-size:12px}.step-list{margin:30px 0 0;padding:0;list-style:none}.step-list li{color:#829cac;align-items:center;gap:10px;margin:13px 0;font-size:12px;font-weight:700;display:flex}.step-list span{border:1px solid #607d90;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;display:grid}.step-list li.active{color:var(--white)}.step-list li.active span,.step-list li.done span{background:var(--blue);border-color:var(--blue);color:var(--navy)}.widget-card{background:#0a2236;border:1px solid #29475d;border-radius:6px;min-height:600px;padding:clamp(26px,5vw,48px);box-shadow:0 20px 55px #00000042}.eyebrow{color:var(--blue-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:800}.widget-card h1{margin-bottom:12px;font-size:clamp(30px,4vw,42px)}.widget-card>p,.step-copy{color:#9fb3c1}.form-step[hidden]{display:none}.field-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label,fieldset legend{color:#e4eef3;font-size:12px;font-weight:800}.field input,.field select,.field textarea,.code-input{color:#edf7fb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071b2c;border:1px solid #3a586d;border-radius:4px;width:100%;min-height:48px;padding:11px 13px}.field textarea{resize:vertical;min-height:105px}.field-error{color:var(--error);font-size:11px}fieldset{border:0;margin:26px 0 0;padding:0}.choice-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.choice{position:relative}.choice input{opacity:0;position:absolute}.choice label{cursor:pointer;color:#e4eef3;text-align:center;border:1px solid #3a586d;border-radius:4px;padding:14px;font-size:13px;font-weight:750;display:block}.choice input:checked+label{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#123b5b}.status-panel{border:1px solid #29475d;border-left:4px solid var(--blue);background:#071b2c;margin-top:28px;padding:22px}.status-panel strong{color:#edf7fb;display:block}.status-panel p{color:#9fb3c1;margin:5px 0 0;font-size:13px}.status-panel+.button{margin-top:14px}.test-warning{color:#6b5200;letter-spacing:.05em;background:#fff2cc;border-radius:3px;margin:20px 0 0;padding:10px 13px;font-size:11px;font-weight:800}.slots{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.slot{color:#eef7fb;cursor:pointer;text-align:left;background:#071b2c;border:1px solid #315069;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:15px;padding:15px 17px;display:grid}.slot:hover{border-color:var(--blue-dark)}.slot.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#123b5b}.slot strong,.slot small{display:block}.slot strong{font-size:13px;line-height:1.35}.slot small{color:var(--muted);margin-top:5px;line-height:1.35}.slot time{font-size:13px;font-weight:800}.form-actions{border-top:1px solid #29475d;justify-content:space-between;align-items:center;gap:12px;margin-top:34px;padding-top:22px;display:flex}.button-plain{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:750}.review-list{border-top:1px solid #29475d;margin:28px 0 0}.review-row{border-bottom:1px solid #29475d;grid-template-columns:145px 1fr;gap:20px;padding:13px 0;display:grid}.review-row dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.review-row dd{color:#edf7fb;margin:0;font-size:13px;font-weight:700}.availability-source{color:#7fa5bc;letter-spacing:.04em;margin:24px 0 0;font-size:11px;font-weight:750}.calendar-shell{background:#071b2c;border:1px solid #315069;grid-template-columns:minmax(0,1fr) 220px;margin-top:26px;display:grid;overflow:hidden}.calendar-panel{min-width:0;padding:24px}.calendar-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.calendar-head h2{color:var(--blue);margin:0;font-size:20px}.calendar-nav{gap:8px;display:flex}.calendar-nav button{color:#ddecf4;cursor:pointer;background:#0a2236;border:1px solid #3a586d;width:36px;height:36px}.calendar-nav button:disabled{opacity:.35;cursor:default}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:#829cac;margin-top:20px;font-size:10px;font-weight:800}.calendar-weekdays span{padding:8px 0}.calendar-days{grid-auto-rows:54px}.calendar-day{color:#3f5b6f;background:0 0;border:0;place-items:center;min-width:0;font-size:12px;display:grid}button.calendar-day{color:#eef7fb;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}button.calendar-day span{background:#123b5b52;border:1px solid #55b9e633;border-radius:50%;place-items:center;width:31px;height:31px;transition:background .16s,border-color .16s,color .16s;display:grid}button.calendar-day:after{content:"";background:var(--blue);border-radius:50%;flex:none;width:6px;height:6px;position:static;box-shadow:0 0 8px #55b9e66b}button.calendar-day:hover span{border-color:var(--blue);background:#123b5b}button.calendar-day.selected span{border-color:var(--blue);background:var(--blue);color:var(--navy-dark);font-weight:800;box-shadow:0 0 0 3px #55b9e61f}button.calendar-day.selected:after{background:#fff;box-shadow:0 0 0 2px #071b2c,0 0 8px #ffffff59}.calendar-options{background:#0a2236;border-left:1px solid #315069;padding:24px 18px}.calendar-options>p{color:#829cac;letter-spacing:.13em;text-transform:uppercase;margin-bottom:15px;font-size:10px;font-weight:800}.time-option{color:#edf7fb;cursor:pointer;text-align:left;background:#071b2c;border:1px solid #315069;width:100%;margin-bottom:9px;padding:13px}.time-option strong,.time-option small{display:block}.time-option small{color:var(--muted);margin-top:4px;font-size:10px}.time-option.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#123b5b}.student-panel{background:#071b2c;border:1px solid #315069;margin-top:22px;padding:22px}.student-panel h2{margin:0;font-size:20px}.compact-top{margin-top:20px}.birthday-group{margin-top:22px}.birthday-group>p{color:#e4eef3;margin:0 0 8px;font-size:12px;font-weight:800}.birthday-grid{grid-template-columns:.7fr 1.1fr 1fr;gap:12px;display:grid}.field-after{margin-top:18px}.success-state{text-align:center;place-items:center;min-height:450px;display:grid}.success-icon{background:var(--blue-soft);width:58px;height:58px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:24px;display:grid}.portal-shell{background:#0a2236;border:1px solid #29475d;grid-template-columns:.8fr 1.2fr;width:min(960px,100% - 48px);margin:0 auto;display:grid;box-shadow:0 20px 55px #00000042}.portal-aside{color:#b8cad6;background:#0d2a42;padding:52px 42px}.portal-aside h1{color:var(--white);font-size:40px}.portal-aside ul{margin:34px 0 0;padding:0;list-style:none}.portal-aside li{margin:14px 0;padding-left:23px;font-size:13px;position:relative}.portal-aside li:before{content:"";background:var(--blue);width:8px;height:8px;position:absolute;top:9px;left:0;transform:rotate(45deg)}.store-downloads{grid-template-columns:1fr 1fr;gap:9px;margin-top:34px;display:grid}.store-downloads>p{color:#dbeaf2;letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;margin:0 0 2px;font-size:11px;font-weight:800}.store-button{min-height:52px;color:var(--white);background:#061827;border:1px solid #416078;border-radius:5px;align-items:center;gap:9px;padding:9px 11px;transition:border-color .18s,transform .18s;display:flex}.store-button:hover{border-color:var(--blue);transform:translateY(-2px)}.store-button svg{fill:currentColor;flex:none;width:23px;height:23px}.store-button span,.store-button small,.store-button strong{line-height:1.05;display:block}.store-button small{color:#aec0cc;font-size:8px}.store-button strong{margin-top:4px;font-size:12px}.portal-form{background:#0a2236;flex-direction:column;justify-content:center;min-height:510px;padding:52px;display:flex}.portal-form h2{font-size:34px}.portal-form .field{margin-top:24px}.portal-form .button{width:100%;margin-top:18px}.local-note{color:#c9e8f5;background:#123b5b;border-radius:4px;margin-top:20px;padding:12px;font-size:12px}.code-input{letter-spacing:.3em;text-align:center;font-size:26px;font-weight:800}.portal-status{color:var(--muted);margin-top:18px;font-size:13px}.legal-shell{background:#0a2236;border:1px solid #29475d;width:min(820px,100% - 48px);margin:0 auto;padding:clamp(28px,6vw,60px);box-shadow:0 20px 55px #00000042}.legal-shell h1{font-size:clamp(38px,6vw,56px)}.legal-shell section{border-top:1px solid var(--line);padding:27px 0 13px}.legal-shell section:first-of-type{margin-top:38px}.legal-shell h2{margin-bottom:9px;font-size:21px}.legal-shell section p,.legal-lede{color:var(--muted)}.legal-note{background:var(--blue-soft);color:var(--navy-mid);margin-top:34px;padding:15px;font-size:12px}@media (width<=1000px){.site-nav{gap:16px}.nav-login{display:none}.hero-layout{grid-template-columns:1fr .72fr;gap:45px}.teacher-layout,.approach-layout,.faq-layout{gap:50px}.booking-shell{grid-template-columns:235px minmax(0,650px);gap:24px}}@media (width<=800px){.container{width:min(100% - 32px,680px)}.site-header{height:66px}.nav-row{justify-content:space-between}.menu-button{order:3;display:flex}.site-nav{box-shadow:var(--shadow);background:#071d30;border-bottom:1px solid #29475d;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:20px 24px 30px;display:none;position:fixed;inset:66px 0 auto}.site-nav.open{display:flex}.site-nav a{padding:13px 0;font-size:15px}.site-nav a:after{display:none}.nav-actions{margin-left:auto}.nav-actions .button{display:none}.hero{background:#071b2c;min-height:auto;padding:54px 0 60px}.hero-copy{text-align:center;max-width:620px;margin-inline:auto}.hero-copy .action-row{justify-content:center}.hero-meta{margin-inline:auto}.hero-rule{width:42vw}.section{padding:78px 0}.teacher-layout,.approach-layout,.performance-layout,.faq-layout{grid-template-columns:1fr;gap:38px}.contact-tools{grid-template-columns:1fr}.performance-layout{flex-direction:column-reverse;align-items:stretch;display:flex}.fees{grid-template-columns:1fr}.fee{min-height:210px}.fees-intro{display:block}.footer-layout{grid-template-columns:1fr;justify-items:start}footer p{text-align:left}.mobile-bar{z-index:90;border-radius:5px;grid-template-columns:.65fr 1.35fr;display:grid;position:fixed;bottom:10px;left:12px;right:12px;overflow:hidden;box-shadow:0 12px 35px #05192b47}.mobile-bar a{color:var(--navy);text-align:center;background:#e8f3f8;padding:13px;font-size:12px;font-weight:800}.mobile-bar a:last-child{background:var(--blue);color:var(--navy-dark)}footer{padding-bottom:90px}.booking-shell{display:block}.booking-progress{margin-bottom:14px;padding:20px;position:static}.step-list{display:none}.slots,.calendar-shell{grid-template-columns:1fr}.calendar-options{border-top:1px solid #315069;border-left:0}.progress-number{margin:8px 0}.progress-number strong{font-size:35px}.portal-shell{grid-template-columns:1fr;width:min(100% - 32px,620px)}.portal-aside{padding:35px}.portal-aside ul{display:none}.portal-form{min-height:440px;padding:35px}.policy-grid{grid-template-columns:1fr}.policy-grid article{border-top:1px solid #29475d;border-left:0}.policy-grid article:first-child{border-top:0}}@media (width<=540px){body{font-size:15px}h1{font-size:clamp(39px,12vw,50px)}h2{font-size:32px}.hero{padding-top:42px}.hero-text{font-size:16px}.action-row{display:grid}.hero-meta{grid-template-columns:1fr 1fr;gap:18px;width:100%}.hero-meta div:last-child{grid-column:1/-1}.map-details{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.studio-map{padding:16px}.studio-map iframe{flex:none;height:300px}.program-list article{grid-template-columns:35px 1fr;gap:12px}.program-list small{text-align:left;grid-column:2}.store-downloads,.field-grid,.choice-row{grid-template-columns:1fr}.birthday-grid{grid-template-columns:1fr 1fr 1fr}.calendar-panel{padding:18px 12px}.calendar-days{grid-auto-rows:43px}.student-panel{padding:18px 14px}.widget-main{padding-top:24px}.widget-card{min-height:0;padding:25px 20px}.review-row{grid-template-columns:1fr;gap:4px}.form-actions .button{padding-inline:15px}.portal-aside,.portal-form{padding:28px 22px}.portal-aside h1{font-size:34px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}.widget-page{background:#061827;min-height:calc(100svh - 74px);padding:44px 0 78px}.widget-page-intro{text-align:center;max-width:760px;margin:0 auto 28px}.widget-page-intro h1{max-width:none;margin-bottom:12px;font-size:clamp(34px,5vw,52px)}.widget-page-intro p:last-child{color:var(--muted)}.studio-widget{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#020617;border:1px solid #29475d;border-radius:6px;width:min(1120px,100% - 48px);min-height:640px;margin:0 auto;display:block}.studio-widget-newStudent{min-height:980px}.booking-widget-frame{clip-path:inset(0 round 24px);background:#020617;border:1px solid #29475d;border-radius:24px;width:min(1120px,100% - 48px);margin:0 auto;overflow:hidden}.booking-widget-frame .studio-widget-newStudent{background:0 0;border:0;border-radius:0;width:100%;margin:0}.portal-widget-frame{clip-path:inset(0 round 24px);background:#020617;border-radius:24px;width:min(640px,100% - 32px);margin:0 auto;overflow:hidden}.portal-widget-frame .studio-widget-studentLogin{background:0 0;border:0;border-radius:0;width:100%;min-height:0;margin:0}@media (width<=800px){.widget-page{padding-top:28px}.studio-widget{border-inline:0;border-radius:0;width:100%}.booking-widget-frame{width:min(100% - 24px,1120px)}.portal-widget-frame{width:min(100% - 24px,640px)}.widget-page-intro{width:min(100% - 32px,680px)}}
