/* Reading typography. The condensed face is reserved for the brand and motion hero. */
.bond-site {
  --heading-size: clamp(30px, 3.2vw, 46px);
  -webkit-font-smoothing: antialiased;
}
.bond-site :is(h2, .page-title),
.bond-site :is(.join-content, .support-section) h2 {
  font-family: var(--body);
  font-size: var(--heading-size);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.bond-site :is(.about-grid, .schedule-intro, .support-copy) > h2 { max-width: 22ch; }
.bond-site .family-section h2 { max-width: 24ch; }
.bond-site :is(.coach h3, .values h3, .bond-registration-columns h3) {
  font-family: var(--body);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.bond-site .coach-meta { padding-top: 20px; }
.bond-site .coach-meta > span { display: block; line-height: 1.5; }
.bond-site :is(.about-copy p, .support-copy > p, .join-content > div > p) {
  font-size: 16px;
  line-height: 1.8;
}
.bond-site .about-copy > p:first-child {
  font-size: 18px;
  line-height: 1.65;
  letter-spacing: -.015em;
}
.bond-site :is(.coach details p, .coach details ul) {
  font-size: 15px;
  line-height: 1.8;
}
.bond-site .coach details h4 { font-size: 15px; line-height: 1.5; }
.bond-site .calendar-top > span { font: 600 22px/1.3 var(--body); letter-spacing: -.02em; }
.bond-site .event-date strong { font: 600 32px/1 var(--body); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.bond-site .event-date strong.date-range { font-size: 25px; }
.bond-site .event-info h3 { font-size: 16px; line-height: 1.45; font-weight: 500; }
.bond-site .event-info p { font-size: 14px; line-height: 1.6; }
.bond-site :is(.season-note > span, .event-kind, .event-date > span) { font-size: 11px; letter-spacing: .06em; }
.bond-site :is(.eyebrow, .section-label, .donation-eyebrow) { font-size: 12px; letter-spacing: .08em; line-height: 1.5; }
.bond-site .button { font-weight: 600; letter-spacing: .025em; }
.bond-site .club-tagline { font: 400 14px/1.7 var(--body); }
.bond-site .request-intro h2 { font-size: clamp(26px, 2.7vw, 36px); line-height: 1.2; }
.bond-site .request-group > legend:not(.sr-only) {
  font: 600 18px/1.4 var(--body);
  letter-spacing: -.015em;
  text-transform: none;
}
@media (max-width: 700px) {
  .bond-site { --heading-size: clamp(28px, 7.5vw, 36px); }
  .bond-site .family-section .section-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
  .bond-site .family-section h2 { max-width: 21ch; }
  .bond-site .coach h3 { font-size: 20px; line-height: 1.25; }
  .bond-site .coach-meta { padding: 0; }
  .bond-site .coach-meta > span { font-size: 13px; }
  .bond-site .event-date strong { font-size: 30px; }
  .bond-site .event-date strong.date-range { font-size: 22px; }
  .bond-site .calendar-top > span { font-size: 20px; }
  .bond-site .support-copy > p { max-width: 38ch; }
  .bond-site .join-content > div > .join-note { font-size: 13px; }
}
