/* Gidge Bulldogs: site-wide display-type spacing, 8 November 2026.
   Loaded last. Retains the club's solid/outline style and readable body text.
   Uses installed system fonts only. No font downloads or third-party requests. */
:root {
  --heading: Impact, Haettenschweiler, 'Arial Narrow', 'Liberation Sans Narrow', sans-serif;
  --display-tracking: .025em;
}
h1, h2 {
  font-family: var(--heading);
  font-synthesis: none;
  letter-spacing: var(--display-tracking);
  word-spacing: .06em;
  line-height: 1.14;
  overflow-wrap: break-word;
}
h3, h4 { letter-spacing: .015em; line-height: 1.3; }
/* Explicit selectors override the older compact tracking on cards and banners. */
.hero h1,
.page-hero h1,
.program-card h3,
.team-card h3,
.article-sidebar h3,
.empty-state h3 {
  letter-spacing: var(--display-tracking);
  word-spacing: .06em;
  font-synthesis: none;
  line-height: 1.14;
}
/* Keep the homepage's approved sizing and outlined ENERGY. */
.hero h1 { line-height: 1.12; word-spacing: .04em; }
.page-hero h1 { font-weight: 700; text-wrap: balance; }
.club-panel .panel-type,
.art-words,
.footer-wordmark,
.hero-art .hero-stamp,
.ground-graphic strong,
.event-date strong {
  letter-spacing: var(--display-tracking);
  word-spacing: .06em;
  line-height: 1.16;
  font-synthesis: none;
}
.hero-art .art-word { letter-spacing: .03em; }
.program-number { letter-spacing: .025em; }
.brand-name, .quick-card strong { letter-spacing: .01em; }
.program-card h3, .team-card h3, .article-sidebar h3,
.empty-state h3 { font-family: var(--heading); }
/* Supporting headings keep their standard-width typeface, with open tracking. */
.prose h2, .partner-card h3 { letter-spacing: .015em; }
.partner-directory h2, .partners-home h2, .partner-community h2,
.partner-more h2, .partner-spotlight h2,
.partner-profile-main h2, .partner-contact h2 {
  font-family: var(--heading);
  letter-spacing: var(--display-tracking);
  word-spacing: .06em;
  line-height: 1.17;
  font-synthesis: none;
}
.partner-hero-note p { letter-spacing: .015em; }
/* Sponsor profile mastheads use the same blue banner as other inner pages. */
.page-hero.partner-profile-hero { padding: 72px 0 76px; }
.page-hero.partner-profile-hero h1 {
  font-family: var(--heading);
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  letter-spacing: var(--display-tracking);
  line-height: 1.15;
}
.page-hero.partner-profile-hero .partner-profile-intro p.eyebrow {
  font-size: 12px;
  letter-spacing: .08em;
}
/* Prevent letter spacing from pushing decorative text outside a narrow card. */
.club-panel, .news-art { min-width: 0; }
.club-panel .panel-type { overflow-wrap: normal; }
.art-words { max-width: 100%; }
/* Admin stays in its existing standard-width font; only tracking is relaxed. */
.admin-body h1, .admin-body h2, .admin-body h3, .admin-body h4 {
  font-family: var(--body);
  letter-spacing: .015em;
  line-height: 1.25;
}
@media (max-width: 720px) {
  .page-hero h1 { line-height: 1.16; }
  .page-hero.partner-profile-hero { padding: 46px 0 52px; }
  .page-hero.partner-profile-hero h1 { font-size: 36px; line-height: 1.16; }
}
@media (forced-colors: active) {
  .hero h1 em { color: CanvasText; -webkit-text-stroke: 0; }
}

/* Compact news tiles, footer, counters and legacy sponsor-header variants. */
.step::before, .brand-mark { letter-spacing: var(--display-tracking); font-synthesis: none; }
.partner-hero h1 { font-family: var(--heading); letter-spacing: var(--display-tracking); word-spacing: .06em; line-height: 1.14; font-synthesis: none; }
.admin-brand { letter-spacing: .015em; }
/* Use fluid card lettering so added tracking never crops the last word. */
@media (max-width: 420px) {
  .club-panel .panel-type { font-size: clamp(38px, 12vw, 50px); line-height: 1.16; }
  .art-words { font-size: clamp(26px, 8.5vw, 35px); }
}
