/**
 * HFZ Typography — aligned to hawkeyesports.com (SIDEARM / Nuxt theme)
 *
 * Official athletics site uses:
 *   Display  → Anton  (their .font-serif / heading titles)
 *   Body     → Poppins (html/body default)
 *   Root     → 16px
 *   Body LH  → 1.5 (24px at base)
 *   Display tracking → ~0.05rem
 *   Title sizes → ~38px → 50 / 60 / 70 / 80px across breakpoints
 *
 * Load after Google Fonts, before page theme CSS.
 */

:root {
  --font-display: "Anton", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --font-sans: "Poppins", "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  /* Hawkeye Sports–aligned type scale (px → rem @ 16) */
  --text-xs: 0.75rem;     /* 12 */
  --text-sm: 0.875rem;    /* 14 */
  --text-base: 1rem;      /* 16 */
  --text-lg: 1.125rem;    /* 18 */
  --text-xl: 1.25rem;     /* 20 */
  --text-2xl: 1.5rem;     /* 24 */
  --text-3xl: 1.625rem;   /* 26 — common HS UI */
  --text-4xl: 2rem;       /* 32 */
  --text-5xl: 2.25rem;    /* 36 */
  --text-display-sm: 2.375rem; /* 38 — mobile heading title */
  --text-display-md: 3.125rem; /* 50 — md+ */
  --text-display-lg: 3.75rem;  /* 60 — xl+ */
  --text-display-xl: 4.375rem; /* 70 — 2xl+ */
  --text-display-2xl: 5rem;    /* 80 — large section H2 */

  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  --tracking-display: 0.05rem;
  --tracking-wide: 0.025em;
  --tracking-label: 0.12em;

  font-size: 16px;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Default copy */
p, li {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
}

/* Display face — Anton (hawkeyesports .font-serif) */
.hfz-display,
.section-title,
.hero-headline,
.hero-rivalry-brand,
.hero-rivalry-title,
.f2-hero-brand,
.news-hero-brand,
.rec-hero-headline,
.fever-hero-title,
.nav-brand-name,
.seo-landing h1 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-none);
  text-transform: uppercase;
}

.hfz-h1,
.section-title {
  font-size: clamp(var(--text-display-sm), 4.5vw, var(--text-display-lg));
}

.hfz-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(var(--text-5xl), 4vw, var(--text-display-md));
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-none);
  text-transform: uppercase;
}

.hfz-h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl));
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-tight);
  text-transform: uppercase;
}

.hfz-h4 {
  font-family: var(--font-sans);
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: var(--tracking-wide);
  line-height: var(--leading-snug);
}

small, .hfz-meta, .hfz-caption {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
}

.hfz-label,
.hfz-kicker,
.hero-eyebrow,
.hero-rivalry-kicker {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  line-height: var(--leading-snug);
}

.hfz-body-lg,
.hero-body,
.seo-landing .lead {
  font-family: var(--font-sans);
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
}

/* Nav — Poppins compact like athletics chrome */
.nav-links a,
.nav-cta,
.nav-brand-sub {
  font-family: var(--font-sans);
}

.nav-brand-name {
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}

.nav-links a {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* Buttons / CTAs */
.btn-primary,
.btn-ghost,
.btn-ghost-rivalry,
.oz-btn-gold,
.oz-btn-ghost,
.team-btn,
.pappos-ad-btn,
.join-strip-btn,
.why-join-cta {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Utility mirrors of HS text-* */
.hfz-text-xs { font-size: var(--text-xs); line-height: 1rem; }
.hfz-text-sm { font-size: var(--text-sm); line-height: 1.25rem; }
.hfz-text-base { font-size: var(--text-base); line-height: 1.5rem; }
.hfz-text-lg { font-size: var(--text-lg); line-height: 1.75rem; }
.hfz-text-xl { font-size: var(--text-xl); line-height: 1.75rem; }
.hfz-text-2xl { font-size: var(--text-2xl); line-height: 2rem; }

@media (min-width: 768px) {
  .hfz-h1,
  .section-title {
    font-size: clamp(var(--text-display-md), 5vw, var(--text-display-xl));
  }
}

@media (min-width: 1280px) {
  .hfz-h1,
  .section-title {
    font-size: var(--text-display-lg);
  }
}
