@font-face {
  font-family: 'Sprite Graffiti';
  src: url('fonts/SpriteGraffiti.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.sdc-graffiti, .sdc-graffiti em,
#page-sdc .page-hero h1, #page-sdc .page-hero h1 em,
#page-sdc .group-card h2, #page-sdc #calendar-heading, #page-sdc #calendar-heading em,
#page-home .hero-title, #page-home .hero-title em,
#page-about .section-head h2, #page-about .section-head h2 em,
#page-about .page-hero h1, #page-about .page-hero h1 em,
#page-performances .page-hero h1, #page-performances .page-hero h1 em {
  font-family: 'Sprite Graffiti', 'Bricolage Grotesque', sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: .015em;
  line-height: 1.2;
}
.class-row.lesson-detail { grid-template-columns: 48px minmax(190px,.85fr) minmax(260px,1.6fr); gap: 1.5rem 2rem; align-items: start; }
.lesson-detail .num { padding-top: .6rem; }
.lesson-heading { min-width: 0; }
.lesson-detail .name { font-size: clamp(1.7rem,2.6vw,2.8rem); line-height: 1.15; overflow-wrap: anywhere; }
.lesson-age { display: block; color: var(--gold); font-weight: 700; margin-top: .8rem; }
.lesson-detail .desc p { margin: 0 0 1rem; line-height: 1.8; }
.lesson-detail .lesson-schedule { grid-column: 3; text-align: left; white-space: normal; font-family: 'Manrope', sans-serif; font-style: normal; color: var(--cream); }
.lesson-schedule span { display: block; color: var(--cream-mute); font-size: .75rem; text-transform: uppercase; letter-spacing: .13em; margin-bottom: .5rem; }
.lesson-schedule strong { display: block; color: var(--gold); font-size: .95rem; line-height: 1.8; }
.performance-intro { max-width: 850px; color: var(--cream-soft); line-height: 1.8; margin-top: 1.5rem; }
.performance-intro p + p { margin-top: 1rem; }
.performance-intro a { color: var(--gold); }
.video-grid { grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); }
.contact-block .studio-social { display:block; margin-top:.8rem; overflow-wrap:anywhere; font-size:clamp(.95rem,1.5vw,1.3rem); }
.studio-poster { max-width: 1200px; margin: 0 auto 5rem; padding: 0 3rem; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; align-items:center; }
.studio-poster img { display:block; width:100%; height:auto; border-radius:12px; }
.studio-poster h2 { font-size:clamp(2rem,4vw,3.5rem); margin:1rem 0; }
.studio-poster p { color:var(--cream-soft); line-height:1.8; margin-bottom:1.5rem; }
@media(max-width:968px) {
  .class-row.lesson-detail { grid-template-columns:36px minmax(0,1fr); gap:1rem; }
  .lesson-detail .num { grid-row:1; }
  .lesson-heading { grid-row:1; grid-column:2; }
  .lesson-detail .desc { grid-row:2; grid-column:1 / -1; }
  .lesson-detail .lesson-schedule { grid-row:3; grid-column:1 / -1; }
}
@media(max-width:700px) {
  .studio-poster { grid-template-columns:1fr; padding:0 1.5rem; gap:1.5rem; }
}
