.schedule-hero{position:relative;min-height:570px;background:#21121c;color:#fff;overflow:hidden}.schedule-photo{position:absolute;inset:0 0 0 35%;background:url('assets/studio-teaching-updated.webp') center 48%/cover no-repeat}.schedule-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#21121c,transparent 50%),linear-gradient(180deg,#160d1855,transparent 35%)}.hero-copy{position:relative;padding-top:200px;padding-bottom:65px}.hero-copy h1{font:500 clamp(36px,4vw,64px)/1.05 Montserrat,sans-serif;letter-spacing:-1.5px}.hero-copy p{font:400 24px/1.4 Montserrat,sans-serif;margin:24px 0}.hero-copy .button{font-size:14px;padding:15px 24px}.schedule-jumps{background:#fff3f8;padding:17px 0}.schedule-jumps .wrap{display:flex;gap:18px;justify-content:center}.schedule-jumps a{border:1px solid var(--pink);padding:13px 30px;text-align:center;color:#d92873;flex:0 1 400px;font:500 20px Montserrat,sans-serif}.schedule-jumps a:first-child{background:var(--pink);color:#fff}.schedule-section{padding:48px 0;background:#fff;scroll-margin-top:20px}.schedule-section h2,.schedule-cta h2{font:600 clamp(27px,3vw,45px)/1.15 Montserrat,sans-serif;letter-spacing:-1px}.intro{font:18px/1.5 Montserrat,sans-serif;margin:12px 0 28px;color:#59515b}.table-scroll{overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font:15px/1.4 Montserrat,sans-serif;text-align:left}caption{text-align:left;font-size:12px;color:#736574;margin-bottom:12px}th,td{border:1px solid #f0dce6;padding:17px 20px}thead{background:#fbeaf2}tbody th{color:#d92873;background:#fff6fa;font-weight:500;vertical-align:top}tbody td:first-of-type{white-space:nowrap}tbody tr:nth-child(even){background:#fffbfd}.schedule-note{font-size:12px;line-height:1.5;color:#6b626b;margin-top:12px}.availability{display:flex;align-items:center;gap:30px;border:1px solid var(--pink);background:#fff8fb;padding:25px;margin-top:25px}.availability h3{font:500 22px/1.3 Montserrat,sans-serif;color:#d92873;margin-bottom:8px}.availability p{font-size:14px;line-height:1.6}.availability .button{flex-shrink:0;white-space:nowrap}.schedule-page .button{font-size:13px;padding:13px 24px}.blush{background:#fff3f8}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}.event-grid article{display:flex;gap:18px;padding:10px 20px 10px 0;border-right:1px solid #edccd9}.event-grid article:last-child{border:0}.event-symbol{color:#d92873;font-size:48px;line-height:1}.event-grid h3{font:600 18px/1.3 Montserrat,sans-serif;margin-bottom:10px}.event-grid p{font-size:14px;line-height:1.5}#events>.wrap>.button{display:table;margin:25px auto 0}.faq details{border:1px solid #eadfe5;margin-top:8px;background:#fff}.faq summary{font:500 15px/1.5 Montserrat,sans-serif;padding:17px 50px 17px 24px;cursor:pointer;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'⌄';position:absolute;right:24px;top:11px;font-size:26px;color:#d92873}.faq details[open]{background:#fff6fa}.faq details[open] summary:after{content:'⌃'}.faq details p{padding:0 24px 20px;font-size:14px;line-height:1.7;color:#655966}.schedule-cta{text-align:center;background:#fff5fa url('assets/classes-waves.svg') center bottom/cover no-repeat;padding:45px 0}.schedule-cta h2{font-size:30px}.schedule-cta p{margin:14px 0 22px;font-size:18px}.privacy-link{color:#f5a2c6!important;font-size:12px!important;text-decoration:underline;margin-left:20px}.policy-hero{background:linear-gradient(115deg,#27101e,#10060d);color:white;padding:180px 0 60px}.policy-hero h1{font:500 48px/1.15 Montserrat,sans-serif;margin:20px 0}.policy-content{padding-top:45px;padding-bottom:60px;max-width:1000px}.policy-content section{margin-top:32px}.policy-content h2{font:600 24px/1.3 Montserrat,sans-serif;margin-bottom:14px}.policy-content p{font:16px/1.8 'Open Sans',sans-serif;color:#50454f}.privacy-page .request-note a,.schedule-page .request-note a{text-decoration:underline}
@media(max-width:900px){.schedule-hero{min-height:550px}.hero-copy{padding-top:190px}.hero-copy h1{font-size:40px}.hero-copy p{font-size:19px;max-width:40%}.schedule-photo{left:30%;background-position:58% center}.schedule-section{padding:35px 0}.intro{font-size:15px}.schedule-jumps a{font-size:16px;padding:12px}.table-scroll table{min-width:680px;font-size:13px}th,td{padding:14px}.event-grid{gap:12px}.event-grid article{display:block}.event-grid h3{font-size:16px;margin-top:12px}.availability{gap:20px}.availability h3{font-size:20px}.privacy-link{margin-left:0}.policy-hero{padding-top:150px}.policy-content p{font-size:15px}}
@media(max-width:600px){.schedule-hero{min-height:710px}.schedule-photo{inset:0 0 auto;height:410px;background-position:center 40%}.schedule-photo:after{background:linear-gradient(0deg,#21121c,transparent 40%),linear-gradient(180deg,#170b2270,transparent 30%)}.hero-copy{padding-top:415px;padding-bottom:40px}.hero-copy h1{font-size:37px;letter-spacing:-1px}.hero-copy p{font-size:17px;max-width:100%;margin:20px 0}.hero-copy p br{display:none}.schedule-jumps .wrap{gap:10px}.schedule-jumps a{font-size:13px}.schedule-section h2{font-size:29px}.table-scroll{margin-right:0}.availability{display:block;padding:20px}.availability .button{margin-top:20px;font-size:11px}.event-grid{grid-template-columns:1fr;gap:0;margin:20px 0}.event-grid article{display:flex;border-right:0;border-bottom:1px solid #edccd9;padding:20px 0;align-items:center}.event-grid h3{margin-top:0}.event-symbol{width:50px;flex-shrink:0}.faq summary{padding:16px 40px 16px 16px;font-size:13px}.faq summary:after{right:15px}.faq details p{padding:0 16px 18px;font-size:13px}.schedule-cta h2{font-size:26px}.schedule-cta p{font-size:15px}.policy-hero h1{font-size:38px}.policy-content h2{font-size:22px}.policy-content p{font-size:14px;overflow-wrap:anywhere}}

.schedule-photo{background-position:center 25%}.schedule-page .hero-copy{width:52%;margin:0}.schedule-page .hero-copy>p{color:#f3e9ed;font-size:24px;max-width:100%}.schedule-page .availability .outline{color:#d92873;border-color:#d92873}.event-symbol svg{width:48px;height:48px}.schedule-page .event-symbol{font-size:0}@media(max-width:900px){.schedule-page .hero-copy{width:60%}.schedule-page .hero-copy>p{font-size:19px}}@media(max-width:600px){.schedule-page .hero-copy{width:100%}.schedule-page .hero-copy>p{font-size:17px}.schedule-photo{background-position:center 40%}.table-scroll table{min-width:0}.table-scroll thead,.table-scroll tbody th{display:none}.table-scroll tbody,.table-scroll tr,.table-scroll td{display:block;width:100%}.table-scroll tr{border:1px solid #efd4e0;margin-bottom:12px;background:#fff!important;padding:14px}.table-scroll tr:before{content:attr(data-day);display:block;color:#d92873;font-weight:600;margin-bottom:12px}.table-scroll td{border:0;padding:6px 0;white-space:normal!important}.table-scroll td:before{content:attr(data-label) ' · ';color:#786572}.schedule-hero{min-height:650px}}

.accessibility-contact{border:1px solid #f1d5e3;background:#fff5fa;padding:28px}.accessibility-contact a{color:#b82565;text-decoration:underline;overflow-wrap:anywhere}.policy-content>p:last-child{margin-top:30px}
/* Approved mockup hero composition, full width beneath transparent navigation. */
.schedule-photo{inset:0;background-image:url('assets/schedule-hero-approved.webp');background-position:center center;background-size:cover}.schedule-photo:after{background:linear-gradient(180deg,#160c1826,transparent 30%)}
@media(max-width:600px){.schedule-photo{inset:0 0 auto;height:410px;background-size:auto 410px;background-position:75% top}.schedule-photo:after{background:linear-gradient(0deg,#21121c,transparent 42%)} }
.season-eyebrow{color:#c52c6d;font-size:12px;letter-spacing:2px;margin-bottom:14px}.season-subheading{font:500 22px Montserrat,sans-serif;margin:26px 0 20px}.season-list,.closure-list{list-style:none;padding:0;margin:0;display:grid;gap:13px}.season-list li{display:grid;grid-template-columns:240px 1fr auto;gap:30px;align-items:center;background:#fff;padding:22px 26px;border:1px solid #edd9e3}.season-date{font:500 16px/1.5 Montserrat,sans-serif;color:#bc2566}.season-date small{display:block;font-size:11px;line-height:1.5;color:#7d6b79;margin-top:5px}.season-list h3,.closure-list h3{font:500 18px/1.4 Montserrat,sans-serif}.season-list p,.closure-list p{font:14px/1.5 Montserrat,sans-serif;color:#776777;margin-top:7px}.season-participation{background:#fff7fb;border-left:3px solid #d92873;padding:24px 28px;margin-top:25px}.season-participation strong{font:500 18px Montserrat,sans-serif}.season-participation p{font-size:14px;line-height:1.7;margin-top:12px;color:#6e5b6b}.season-participation .button{margin-top:20px}.past-competitions{margin-top:26px}.past-competitions summary{cursor:pointer;font:500 15px Montserrat,sans-serif;color:#a1235d;padding:15px 0}.season-tag,.closure-tag{font-size:11px;color:#a42661;background:#fff0f7;padding:7px 12px;white-space:nowrap}.closure-list{grid-template-columns:1fr 1fr;gap:16px}.closure-list li{border:1px solid #eed9e5;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.closure-tag{align-self:flex-start}.closure-list h3{font-size:17px}.closure-list p{font-size:13px}
@media(max-width:900px){.season-list li{grid-template-columns:180px 1fr;gap:20px;padding:20px}.season-date{font-size:14px}.season-list h3{font-size:16px}.season-list p{font-size:13px}.season-tag{grid-column:2;justify-self:start}.closure-list li{display:block}.closure-tag{display:inline-block;margin-top:14px}}
@media(max-width:600px){.season-list li{grid-template-columns:1fr;gap:12px;padding:19px}.season-date{font-size:14px}.season-date small{font-size:10px}.season-list h3{font-size:16px}.season-tag{grid-column:auto}.season-subheading{font-size:20px}.season-participation{padding:20px}.season-participation p{font-size:12px}.past-competitions summary{font-size:13px}.closure-list{grid-template-columns:1fr;gap:12px}.closure-list li{padding:20px}.closure-list h3{font-size:16px}}
