/* Public heading fields only. Keep all established type and body spacing. */
body.readable-type main .page-intro,
body.readable-type main .hero,
body.readable-type .confirmation-page .confirmation-heading,
body.readable-type .about-page .about-page-heading {
  min-height: 136px;
}

body.readable-type main .page-intro,
body.readable-type .confirmation-page .confirmation-heading,
body.readable-type .about-page .about-page-heading {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Mobile About retains the existing homepage photograph. */
body.readable-type .about-page .about-page-heading {
  background: #30271f url('/hero-piano-material-v2.png') center 55% / cover !important;
  color: #fffaf2 !important;
}
body.readable-type .about-page .about-page-heading h1 {
  color: #fffaf2 !important;
}
body.readable-type .about-page .about-page-heading .eyebrow {
  color: #ecddc5 !important;
}

/* Other public title fields retain the warm ivory/beige theme. */
body.readable-type main .page-intro,
body.readable-type main .hero,
body.readable-type .confirmation-page .confirmation-heading {
  background: #f0ece4 !important;
  color: #293139 !important;
}
body.readable-type main .page-intro::before,
body.readable-type main .page-intro::after,
body.readable-type main .hero::before,
body.readable-type main .hero::after {
  content: none !important;
}
body.readable-type main .page-intro h1,
body.readable-type main .hero h1 {
  color: #293139 !important;
}
body.readable-type main .page-intro .eyebrow,
body.readable-type main .hero .eyebrow {
  color: #866743 !important;
}
body.readable-type .schedule-page .schedule-top-note {
  color: #59656d !important;
}
body.readable-type .guidelines-page .hero-inner,
body.readable-type main .hero-inner {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
/* The schedule note belongs below the shared two-line title field. */
body.readable-type .schedule-page .page-intro:has(+ .schedule-top-note) {
  margin-bottom: 0 !important;
}
body.readable-type .schedule-page .page-intro + .schedule-top-note {
  margin: 16px 0 28px;
}

/* Compact form/legal headings have no separate full-width banner. */
body.readable-type main.simple-application { padding-top: 26px; }
body.readable-type main.privacy-wrap,
body.readable-type main.terms-wrap { padding-top: 26px; }
.academy-site .academy-shell { padding-top: 18px; }

/* PC About matches the other image-free title fields. */
@media (min-width: 701px) {
  body.readable-type .about-page .about-page-heading {
    background: #f0ece4 !important;
    color: #293139 !important;
  }
  body.readable-type .about-page .about-page-heading h1 {
    color: #293139 !important;
  }
  body.readable-type .about-page .about-page-heading .eyebrow {
    color: #866743 !important;
  }
}

@media (max-width: 700px) {
  body.readable-type main .page-intro,
  body.readable-type main .hero,
  body.readable-type .confirmation-page .confirmation-heading,
  body.readable-type .about-page .about-page-heading {
    min-height: 96px;
  }
  body.readable-type main .page-intro,
  body.readable-type .confirmation-page .confirmation-heading,
  body.readable-type .about-page .about-page-heading,
  body.readable-type .guidelines-page .hero-inner,
  body.readable-type main .hero-inner {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  body.readable-type .schedule-page .page-intro + .schedule-top-note {
    margin: 12px 0 20px;
  }
  body.readable-type main.simple-application { padding-top: 12px; }
  body.readable-type main.privacy-wrap,
  body.readable-type main.terms-wrap { padding-top: 18px; }
  .academy-site .academy-shell { padding-top: 10px; }
}
