@font-face{font-display:swap;font-family:'Source Sans 3';font-style:normal;font-weight:400;src:url('fonts/source-sans-3-v19-latin-regular.woff2') format('woff2')}@font-face{font-display:swap;font-family:'Source Sans 3';font-style:normal;font-weight:500;src:url('fonts/source-sans-3-v19-latin-500.woff2') format('woff2')}@font-face{font-display:swap;font-family:'Source Sans 3';font-style:normal;font-weight:600;src:url('fonts/source-sans-3-v19-latin-600.woff2') format('woff2')}:root{--bg-primary:#fff;--brand-wordmark:#352720;--text-primary:#1f1f1d;--text-secondary:#4a4743;--text-muted:#6f6a64;--accent-terracotta:#B04030;--accent-terracotta-hover:#943528;--font-family:"Source Sans 3","Source Sans Pro",sans-serif;--body-size:17px;--body-lh:26px;--h1-size:28px;--h1-lh:36px;--h2-size:22px;--h2-lh:30px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;--header-height:56px;--button-height:44px;--radius:8px;--content-max-width:640px;--page-padding:16px}@media (width>=768px){:root{--content-max-width:720px;--page-padding:24px;--h1-size:32px;--h1-lh:40px;--h2-size:24px;--h2-lh:32px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--body-size);line-height:var(--body-lh);color:var(--text-primary);background-color:var(--bg-primary);font-weight:400}.header{height:var(--header-height);z-index:100;background:#f7f5f0;border-bottom:1px solid #ebe8e4;position:sticky;top:0}.header-inner{max-width:var(--content-max-width);padding:0 var(--page-padding);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.header-nav{align-items:center;gap:24px;display:flex}.header-nav-link{color:var(--text-secondary);font-size:15px;font-weight:500;text-decoration:none}.header-nav-link:hover{color:var(--accent-terracotta);opacity:1;text-decoration:none}.header-cta{border:1.5px solid var(--accent-terracotta);color:var(--accent-terracotta);font-size:14px;font-weight:600;padding:5px 14px;border-radius:var(--radius);text-decoration:none;transition:background .15s,color .15s}.header-cta:hover{background:var(--accent-terracotta);color:#fff;opacity:1;text-decoration:none}.header-logo{width:auto;height:20px}@media (width>=768px){.header-logo{height:22px}}@media (width>=1024px){.header-logo{height:24px}}.content{max-width:var(--content-max-width);padding:0 var(--page-padding);margin:0 auto}.section{padding-top:var(--space-lg);padding-bottom:var(--space-md);scroll-margin-top:var(--header-height)}.dance-photo{border-radius:var(--radius);width:100%;max-width:100%;height:auto;margin:var(--space-md)auto;display:block}@media (width>=768px){.dance-photo{width:55%;max-width:380px}}.section--hero{padding-top:var(--space-md)}.section+.section{border-top:1px solid #ebe8e4}h1{font-size:var(--h1-size);line-height:var(--h1-lh);color:var(--brand-wordmark);margin-bottom:16px;font-weight:600}h2{font-size:var(--h2-size);line-height:var(--h2-lh);color:var(--brand-wordmark);margin-bottom:12px;font-weight:600}p{margin-bottom:var(--space-sm);color:var(--text-primary)}p:last-child{margin-bottom:0}.teacher-portrait{border-radius:var(--radius);width:100%;max-width:100%;height:auto;margin-bottom:var(--space-sm);display:block}@media (width>=768px){.teacher-portrait{float:left;width:44%;max-width:280px;margin-right:var(--space-lg);margin-bottom:var(--space-sm)}}.schedule-block{margin-bottom:var(--space-md)}.schedule-day{margin-bottom:var(--space-xs);font-weight:600}.schedule-item{color:var(--text-secondary);margin-bottom:4px}.price-block{margin-top:var(--space-md);margin-bottom:var(--space-md)}.info-note{color:var(--text-secondary);margin-top:var(--space-md);font-size:15px}.schedule-divider{border:none;border-top:1px solid #ebe8e4;margin:32px 0}a{color:var(--accent-terracotta);font-weight:600;text-decoration:none}a:hover{opacity:.85;text-decoration:underline}.btn-primary{height:var(--button-height);background:var(--accent-terracotta);color:#fff;border-radius:var(--radius);font-family:var(--font-family);font-size:var(--body-size);cursor:pointer;border:none;justify-content:center;align-items:center;width:fit-content;padding:0 20px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-terracotta-hover);opacity:1;text-decoration:none}.btn-secondary{height:var(--button-height);color:var(--brand-wordmark);border:1px solid var(--brand-wordmark);border-radius:var(--radius);font-family:var(--font-family);font-size:var(--body-size);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:fit-content;padding:0 20px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn-secondary:hover{opacity:1;background:#3527200d;text-decoration:none}.cta-section{margin-top:var(--space-lg);scroll-margin-top:var(--header-height)}.cta-box-title{color:var(--brand-wordmark);margin-bottom:20px;font-size:20px;font-weight:600}.cta-box{border-radius:var(--radius);background:#f0ebe3;padding:28px 24px}.cta-row{margin-bottom:20px}.cta-row:last-child{margin-bottom:0}.cta-venue-name{color:var(--brand-wordmark);margin-bottom:4px;font-size:18px;font-weight:600}.cta-venue-detail{color:var(--text-secondary);margin-bottom:2px;font-size:15px}.cta-venue-link{color:var(--accent-terracotta);font-weight:500;text-decoration:none}.cta-venue-link:hover{opacity:1;text-decoration:underline}.cta-signup-label{color:var(--text-secondary);margin-bottom:10px;font-size:15px;font-weight:600}.cta-row-label{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:600}.cta-row-link{color:var(--accent-terracotta);font-size:18px;font-weight:600;text-decoration:none}.cta-row-link:hover{opacity:1;text-decoration:underline}.cta-divider{border:none;border-top:1px solid #ebe8e4;margin:20px 0}.cta-secondary-contact{color:var(--text-muted);font-size:14px;margin-top:var(--space-sm)}.footer{padding:var(--space-lg)var(--page-padding);text-align:center;color:var(--text-muted);font-size:14px}