/* Shared NR-7 identity; overrides are isolated to this new product. */
body, body * { letter-spacing: 0; }
.hero h1 { max-width: 960px; font-size: 60px; line-height: 1.1; }
.hero .wrap { padding-top: 64px; padding-bottom: 64px; }
.hero .lead { max-width: 650px; }
.hero .intro { max-width: 630px; }
.hero .hero-date { max-width: 560px; }
.video-toggle { position: absolute; z-index: 5; right: 24px; bottom: 24px; width: 44px; height: 44px; border: 1px solid #fff; border-radius: 4px; background: #162321; color: white; cursor: pointer; }
.audience { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 36px; }
.audience article { border-top: 2px solid var(--orange); padding-top: 12px; }
.audience p { color: var(--muted); font-size: 15px; }
.interest-layout { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 64px; }
.interest-layout p { max-width: 610px; }
.contact-note,.availability { font-size: 13px; color: #d5e3da; }
.teacher-portrait { margin: 0; }
.teacher-portrait figcaption span { max-width: 210px; }
@media(max-width:760px) {
  header { height: auto; min-height: 80px; padding: 16px 20px; gap: 12px; }
  header nav>a:not(.button) { display: none; }
  header .button { font-size: 12px; padding: 10px 12px; gap: 8px; }
  .brand small { max-width: 125px; }
  .hero h1 { font-size: 38px; overflow-wrap: break-word; }
  .hero .wrap { padding-top: 44px; padding-bottom: 64px; }
  .hero .lead { font-size: 19px; }
  .facts { gap: 18px; }
  .facts strong { font-size: 13px; }
  .audience,.interest-layout { grid-template-columns: 1fr; gap: 24px; }
  .interest-layout .button { max-width: 100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
