*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);line-height:1.15;margin:0 0 var(--space-3)}a{color:var(--color-primary);text-decoration:none;transition:opacity var(--dur) var(--ease)}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--space-3);padding-right:var(--space-3)}.btn{display:inline-block;background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:none;font:inherit;cursor:pointer;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:hover{text-decoration:none;opacity:.92}.motion-ok .btn:hover{transform:translateY(-1px)}.site-footer,.site-header{border-bottom:1px solid var(--color-border)}.site-footer{border-bottom:none;border-top:1px solid var(--color-border);color:var(--color-muted)}.site-footer .container,.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);padding-bottom:var(--space-3)}.site-nav{gap:var(--space-4)}.site-nav a{color:var(--color-text)}.hero{padding:var(--space-6) 0}.hero h1{font-size:clamp(2rem,5vw,3.25rem)}.hero p{color:var(--color-muted);font-size:1.2rem;max-width:42ch}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5) 0}.feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.feature h3{margin-bottom:var(--space-2)}.field{display:block;margin-bottom:var(--space-3)}.field label{display:block;margin-bottom:var(--space-1);font-weight:600}.field input,.field textarea{width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-bg);color:var(--color-text)}.topbar{background:#fff;font-size:12px;border-bottom:1px solid #eee}.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topbar a{color:#333;letter-spacing:.6px}.topbar-social{display:flex;gap:10px}.topbar-social a{color:var(--color-primary);font-size:15px}.site-header{background:transparent;border-bottom:1px solid #eee}.site-header .container.header-inner{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding-top:36px;padding-bottom:0}.site-logo img{width:auto;height:100px;display:block}.site-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0;padding:16px 0 31px}.nav-item{position:relative}.nav-item>a{display:inline-block;padding:8px 18px;font-family:var(--font-nav);font-size:12px;font-weight:100;letter-spacing:1.4px;text-transform:uppercase;color:#555;transition:color var(--dur) var(--ease)}.nav-item>a:hover{color:var(--color-primary);text-decoration:none}.nav-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid #eee;box-shadow:0 4px 10px rgba(0,0,0,.06);opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease),visibility var(--dur) var(--ease);z-index:50}.nav-item.has-children:focus-within .nav-dropdown,.nav-item.has-children:hover .nav-dropdown{opacity:1;visibility:visible}.nav-dropdown a{display:block;padding:10px 16px;font-family:var(--font-nav);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#555}.nav-dropdown a:hover{color:var(--color-primary);text-decoration:none}.mobile-nav{display:none}.btn-dark{display:inline-block;background:var(--color-btn);color:#fff;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:12px 24px;border:none;border-radius:2px;cursor:pointer;transition:background var(--dur) var(--ease)}.btn-dark:hover{background:#000;color:#fff;text-decoration:none}.page-title{text-align:center;padding:48px 16px 0}.page-title h1{font-family:var(--font-title-serif);font-size:40px;font-weight:400;letter-spacing:2px;color:var(--color-heading);margin:0 auto 24px}.page-title .rule{border-bottom:1px solid #d5d5d5;max-width:var(--maxw);margin:0 auto}.home-hero{text-align:center;padding:64px 16px 40px}.home-hero h2{display:inline-block;font-family:var(--font-heading);font-size:clamp(22px,3vw,40px);font-weight:400;color:var(--color-heading);border:2px solid var(--color-heading);padding:6px 22px;margin:0}.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:start;grid-gap:0;gap:0;padding:24px 0 48px}.tile{position:relative;display:block;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.tile-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-accent);font-size:20px;font-weight:600;letter-spacing:1px;color:#000;transition:transform var(--dur) var(--ease)}.motion-ok .tile:hover .tile-word{transform:scale(1.06)}.split-section{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center;padding:56px 0}.split-section img{width:100%;height:auto;display:block}.split-copy{text-align:center}.split-copy h2{font-family:var(--font-title-serif);font-size:29px;font-weight:600;letter-spacing:1px;color:#303030;margin-bottom:18px}.split-copy p{font-size:14px;color:var(--color-text);margin:0 0 22px}.testimonials{padding:40px 0}.testimonials-band{background:var(--color-band)}.testimonials-inner{position:relative;padding-top:28px;padding-bottom:28px}.bigquote{position:absolute;font-family:var(--font-title-serif);font-size:90px;line-height:1;color:#1b1b1b}.bigquote-open{top:8px;left:12px}.bigquote-close{bottom:-20px;right:12px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px;padding:28px 60px 12px}.testimonial blockquote{margin:0 0 16px;font-size:13.5px;color:var(--color-text);text-align:center}.testimonial figcaption{text-align:center;font-size:13.5px;color:var(--color-muted)}.carousel{position:relative;padding:40px 0 20px}.carousel-viewport{overflow:hidden;margin:0 auto;max-width:var(--maxw)}.carousel-track{display:flex;transition:transform .5s ease}.motion-ok .carousel-track{transition-duration:.5s}.carousel-slide{flex-shrink:0;padding:0 12px}.carousel-slide img{width:100%;height:auto;display:block}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;font-size:44px;line-height:1;color:#333;cursor:pointer;padding:4px 10px;z-index:2}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-dots{display:flex;justify-content:center;gap:8px;padding-top:22px}.carousel-dots .dot{width:8px;height:8px;border-radius:50%;border:none;background:#ccc;cursor:pointer;padding:0}.carousel-dots .dot.active{background:#333}.photo-strip{display:flex;gap:16px;max-width:var(--maxw);margin:0 auto;padding:32px 16px 48px}.photo-strip img{flex:1 1;min-width:0;object-fit:cover;width:100%;height:auto;align-self:flex-start}.site-footer{background:transparent;color:#fff;border:none;margin-top:8px}.footer-widgets{background:rgba(15,15,15,.97)}.site-footer .container.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;justify-content:normal;align-items:start;grid-gap:48px;gap:48px;padding-top:48px;padding-bottom:40px}.footer-brand h4{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:1px;color:#fff;border-left:3px solid var(--color-primary);padding-left:10px;margin:0 0 18px}.footer-brand p{margin:0 0 16px}.footer-label{display:block;font-size:13px;font-weight:600;color:#a5a5a5;margin-bottom:2px}.footer-line{display:block;font-size:14px;color:#fff;letter-spacing:.4px}.footer-brand a{color:#fff}.footer-links{display:flex;flex-direction:column}.footer-links a{color:#fff;font-size:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.15)}.footer-links a:hover{color:var(--color-primary);text-decoration:none}.footer-copyright{background:var(--color-dark);color:#fff;font-size:12px;text-align:center;padding:14px 16px}.scroll-top{position:fixed;right:18px;bottom:18px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#e5e5e5;color:#333;border:none;border-radius:2px;cursor:pointer;opacity:.85;transition:opacity var(--dur) var(--ease);z-index:60}.scroll-top:hover{opacity:1}.about-founder-name{text-align:center;font-family:var(--font-heading);font-size:20px;font-weight:400;color:#303030;margin:-28px 0 28px}.founder-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;grid-gap:40px;gap:40px;align-items:start;padding-bottom:40px}.founder-grid img{width:100%;height:auto;display:block}.founder-bio,.founder-quote{font-size:13.5px;color:var(--color-text);text-align:justify}.founder-bio p,.founder-quote p{margin:0 0 18px}.awards-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px;padding:24px 0 40px}.awards-row img{width:100%;height:auto;display:block}.centered-cta{text-align:center;padding:24px 16px 48px}.centered-cta h2{font-family:var(--font-title-serif);font-size:26px;font-weight:400;color:var(--color-heading);margin-bottom:22px}.staff-row{display:grid;grid-template-columns:380px 1fr;grid-gap:48px;gap:48px;align-items:center;padding:36px 0}.staff-photo{width:100%;max-width:378px;aspect-ratio:1/1;object-fit:cover;border-radius:400px;justify-self:center}.staff-copy h2{text-align:center;font-family:var(--font-heading);font-size:16px;font-weight:700;letter-spacing:.5px;color:#303030;margin-bottom:18px}.staff-copy p{font-size:13.5px;color:var(--color-text);text-align:justify;margin:0 0 16px}.classes-title{position:relative;text-align:center;padding:56px 16px 24px}.classes-title img{display:block;margin:0 auto;max-width:480px;width:100%;height:auto;opacity:.55}.classes-title h1{position:absolute;left:50%;top:58%;transform:translateX(-50%);font-family:var(--font-title-serif);font-size:clamp(34px,4vw,56px);font-weight:400;letter-spacing:3px;color:var(--color-heading);border-bottom:1px solid #555;padding:0 24px 6px;margin:0}.classes-intro{text-align:center;padding:40px 0 8px}.classes-intro h2{font-family:var(--font-heading);font-size:29px;font-weight:300;color:#303030;margin-bottom:22px}.classes-intro p{font-size:14px;text-align:left;margin:0 0 16px}.script-heading{font-family:var(--font-hand);font-size:clamp(26px,3vw,40px);text-align:center;color:#303030;padding:28px 0 8px}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:28px;gap:28px;padding:24px 0 40px}.class-card{border:1px solid #7a7a7a;padding:34px 20px;text-align:center}.class-card .star{margin-bottom:14px}.class-card h3{font-family:var(--font-accent);font-size:16px;font-weight:600;letter-spacing:1px;color:#303030;margin:0 0 10px}.class-card .ages{font-size:12.5px;color:var(--color-muted);letter-spacing:1px;margin-bottom:14px}.class-card p{font-size:13px;color:var(--color-text);margin:0}.center-btn{text-align:center;padding:8px 0 40px}.steps-box{border:1px solid #7a7a7a;max-width:1000px;margin:24px auto 48px;padding:40px 32px;text-align:center}.steps-box h2{font-family:var(--font-heading);font-size:24px;font-weight:300;letter-spacing:1px;color:#303030;margin-bottom:30px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.steps-grid>div{padding:0 24px}.steps-grid>div+div{border-left:1px solid #9a9a9a}.steps-grid h3{font-family:var(--font-accent);font-size:16px;font-weight:600;margin:0 0 10px}.steps-grid p{font-size:14px;margin:0}.tuition-banner{position:relative;height:450px;background-size:cover;background-position:center 30%;display:flex;align-items:center;justify-content:center}.tuition-banner:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.35)}.tuition-banner h1{position:relative;z-index:1;font-family:var(--font-title-serif);font-size:clamp(28px,4vw,46px);font-weight:400;letter-spacing:2px;color:#303030;margin:0}.tuition-intro{padding:48px 0 8px;max-width:980px;margin:0 auto}.tuition-intro p{margin:0 0 22px}.tuition-fee,.tuition-intro p{font-family:var(--font-heading);font-size:14px;text-align:center}.tuition-fee{margin-bottom:28px}.tuition-rule{border-bottom:1px solid #9a9a9a;max-width:980px;margin:0 auto}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;padding:40px 0;max-width:1060px;margin:0 auto}.price-card{border:1px solid #7a7a7a;text-align:center;padding:42px 16px}.price-card h3{font-family:var(--font-accent);font-size:17px;font-weight:600;color:#303030;margin:0 0 14px}.price-card p{font-size:14px;margin:0 0 4px}.tuition-additional{text-align:center;padding:32px 0 24px}.tuition-additional h2{font-family:var(--font-title-serif);font-size:34px;font-weight:400;letter-spacing:2px;color:var(--color-heading);margin-bottom:30px}.tuition-additional p{font-family:var(--font-heading);font-size:14px;max-width:980px;margin:0 auto 20px}.tuition-additional .no-refunds{font-weight:700;text-decoration:underline}.recitals-grid{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:48px;gap:48px;align-items:start;padding:40px 0 64px}.recitals-embed iframe{width:100%;aspect-ratio:540/960;border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.recitals-copy h2{text-align:center;font-family:var(--font-title-serif);font-size:34px;font-weight:400;color:var(--color-heading);margin-bottom:22px}.recitals-copy .fact{text-align:center;font-weight:700;font-size:18px}.recitals-copy .fact,.recitals-copy p{font-family:var(--font-heading);margin:0 0 18px}.recitals-copy p{font-size:14px}.recitals-copy ul{padding-left:24px}.recitals-copy li{font-family:var(--font-heading);margin-bottom:8px;font-size:14px}.recitals-copy li a{color:var(--color-text);font-weight:600;text-decoration:underline}.recitals-map{width:100%;height:300px;border:none;margin-top:24px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;padding:56px 0 64px;align-items:start}.contact-info h1{font-family:var(--font-heading);font-size:clamp(28px,3.4vw,44px);font-weight:300;letter-spacing:2px;color:#3a3a3a;margin-bottom:28px}.contact-info .line{font-size:14px;letter-spacing:1px;margin:0 0 14px}.contact-info .line,.contact-info .line a{color:var(--color-muted)}.contact-info h2{font-size:16px;letter-spacing:1px;text-decoration:underline;margin:28px 0 16px}.contact-info h2,.contact-info h3{font-family:var(--font-body);font-weight:700;color:#303030}.contact-info h3{font-size:15px;letter-spacing:.5px;margin:0 0 10px}.contact-info .addr{font-size:13.5px;color:var(--color-muted);margin:0 0 18px}.contact-info iframe{width:100%;height:300px;border:none;margin-bottom:28px}.contact-info .divider{border-bottom:1px solid #303030;margin:4px 0 28px}.contact-form-col h2{font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:.5px;color:#3a3a3a;margin-bottom:22px}@media (max-width:900px){.tile-grid{grid-template-columns:repeat(2,1fr)}.tile-word-chip{background:rgba(255,255,255,.92);border:1px solid var(--color-heading);padding:8px 20px}.class-grid,.price-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.founder-grid,.recitals-grid,.split-section,.staff-row,.testimonial-grid{grid-template-columns:1fr}.testimonial-grid{padding:28px 24px 12px}.awards-row{grid-template-columns:1fr;max-width:420px;margin:0 auto}.site-footer .container.footer-grid{grid-template-columns:1fr;gap:28px}.site-nav{display:none}.mobile-nav{display:block;padding:6px 0 30px}.mobile-toggle{background:none;border:none;font-family:var(--font-nav);font-size:13px;letter-spacing:1.4px;color:#555;cursor:pointer}.mobile-menu{display:flex;flex-direction:column;width:100%;border-top:1px solid #eee;margin-top:8px}.mobile-menu a{padding:12px 8px;border-bottom:1px solid #eee;font-family:var(--font-nav);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:#555}}@media (max-width:560px){.class-grid,.price-grid,.tile-grid{grid-template-columns:1fr}.photo-strip{flex-wrap:wrap}.photo-strip img{flex-basis:100%}.steps-grid{grid-template-columns:1fr}.steps-grid>div+div{border-left:none;border-top:1px solid #9a9a9a;padding-top:16px;margin-top:16px}}