/*
 * An-Nizam shared typography standard — 2026-10-19
 * Grounded in the production parent website https://annizam.com/css/site.css.
 * Exact parent font stack; current parent on macOS falls back to native SF.
 * Brand colors, layouts, content and registrations remain unit-specific.
 */
:root {
  --anz-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --anz-body-size: 16px;
  --anz-body-leading: 1.6;
  --anz-head-weight: 700;
  --anz-ui-weight: 650;
  --anz-label-weight: 800;
}
body.site, body.hub {
  font-family: var(--anz-font);
  font-size: var(--anz-body-size);
  line-height: var(--anz-body-leading);
  font-synthesis: none;
}
body.site button, body.hub button { font-family: inherit; }

/* Header: parent navigation is 14px / 650 and wordmark is 14px / 700. */
.site .brand-copy strong {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .06em;
}
.site .brand-copy small {
  font-size: 10px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .12em;
}
.site .brand-copy em {
  font-size: 10px;
  line-height: 1.45;
  font-weight: 600;
}
.site .navlinks > a:not(.nav-register) {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
  letter-spacing: normal;
}
.site .navlinks .nav-register, .site .btn, .site .sma-button {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 750;
}
.site .navlinks .nav-register { padding: 10px 15px; }

/* Eyebrows: parent 12px/800 with 0.13em tracking. */
.site .eyebrow, .site .sma-eyebrow,
.site .hero-eyebrow, .site .sma-kicker {
  font-size: 12px;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: .13em;
}

/* Home hero: parent 68px/700/1.04. Long school taglines use a 60px cap. */
.site .hero h1 {
  font-size: clamp(40px, 4.15vw, 60px);
  font-weight: var(--anz-head-weight);
  line-height: 1.07;
  letter-spacing: -.04em;
}
.site .hero p {
  font-size: 17px;
  line-height: 1.7;
  font-weight: 400;
}

/* Common school cards and inner pages. */
.site .benefit h2 {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
}
.site .section-heading h2,
.site .split h2,
.site .empty-state h2 {
  font-size: clamp(30px, 3.3vw, 44px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.site .program-caption strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.site .subtle-link,
.site .hub-link {
  font-size: 14px;
  font-weight: 750;
}
.site .page-banner h1 {
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.site .page-banner p, .site .split p, .site .empty-state p {
  font-size: 16px;
  line-height: 1.75;
}
.site .footer-brand strong { font-size: 15px; font-weight: 700; }
.site .footer-brand span, .site .footer-row > a { font-size: 13px; line-height: 1.6; }

/* SMA hero: cap below parent's 68px to preserve three-line title/photo split. */
.site--sma .sma-hero h1 {
  font-size: clamp(42px, 3.65vw, 54px);
  font-weight: 700;
  line-height: 1.075;
  letter-spacing: -.04em;
}
.site--sma .sma-hero-copy > p {
  font-size: 17px;
  line-height: 1.72;
  font-weight: 400;
}
.site--sma .sma-hero-tags span { font-size: 12px; font-weight: 500; }
.site--sma .sma-photo-credit { font-size: 11px; font-weight: 600; }

/* Secondary navigation and supporting feature strips. */
.site--sma .sma-value h2,
.site--sma .sma-inner-values .sma-value h3 {
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}
.site--sma .sma-value p { font-size: 12px; line-height: 1.5; }

/* Parent section h2 runs up to 46px / 700 / 1.12. */
.site--sma .sma-about-copy h2,
.site--sma .sma-section-top h2,
.site--sma .sma-highlight h2,
.site--sma .sma-cta h2,
.site--sma .sma-inner-lead h2,
.site--sma .sma-inner-contact h2 {
  font-size: clamp(31px, 3vw, 44px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.site--sma .sma-about-copy p,
.site--sma .sma-inner-lead p,
.site--sma .sma-inner-contact p,
.site--sma .sma-highlight p,
.site--sma .sma-cta p {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 400;
}
.site--sma .sma-section-top p { font-size: 16px; line-height: 1.7; }
.site--sma .sma-about-bullets span { font-size: 12px; font-weight: 700; }
.site--sma .sma-text-link { font-size: 14px; font-weight: 750; }

/* Parent card h3: 20px/700/1.25. Use 18px on narrow multi-column layouts. */
.site--sma .sma-program-content h3,
.site--sma .sma-news-body h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.01em;
}
.site--sma .sma-program-content p {
  font-size: 14px;
  line-height: 1.65;
}
.site--sma .sma-news-meta { font-size: 12px; line-height: 1.5; }
.site--sma .sma-card-index { font-size: 11px; letter-spacing: .08em; }
.site--sma .sma-news-read { font-size: 14px; font-weight: 750; }
.site--sma .sma-facility-overlay strong { font-size: 20px; font-weight: 700; line-height: 1.2; }
.site--sma .sma-facility-overlay small { font-size: 14px; line-height: 1.4; }
.site--sma .sma-highlight-side { font-weight: 700; }

/* Footer: parent uses 14px body text and modest link hierarchy. */
.site--sma .sma-footer-brand strong { font-size: 17px; font-weight: 700; }
.site--sma .sma-footer-brand span { font-size: 12px; }
.site--sma .sma-footer-identity > p {
  font-size: 14px;
  line-height: 1.6;
}
.site--sma .sma-footer-column h2 { font-size: 15px; font-weight: 700; }
.site--sma .sma-footer-column a,
.site--sma .sma-footer-column p {
  font-size: 13px;
  line-height: 1.6;
}
.site--sma .sma-footer-bottom { font-size: 12px; }
.site--sma .sma-preview-note { font-size: 12px; line-height: 1.6; }

/* Preview gallery typography uses the same parent standard. */
.hub .hub-wrap > h1 { font-size: clamp(32px, 3.5vw, 46px); font-weight: 700; line-height: 1.12; letter-spacing: -.025em; }
.hub .hub-wrap > p { font-size: 16px; line-height: 1.7; }
.hub .hub-card h2 { font-size: 23px; font-weight: 700; line-height: 1.2; }
.hub .hub-card p { font-size: 14px; line-height: 1.6; }

/* Intermediate screens should remain uncluttered despite larger parent nav. */
@media (min-width: 881px) and (max-width: 1120px) {
  .site .navlinks > a:not(.nav-register) { font-size: 12px; }
  .site .navlinks { gap: 11px; }
  .site .navlinks .nav-register { font-size: 12px; padding: 10px 12px; }
  .site--sma .sma-hero h1 { font-size: clamp(37px, 4vw, 46px); }
}
@media (max-width: 880px) {
  .site .navlinks > a:not(.nav-register) { font-size: 14px; padding: 12px 4px; }
  .site .navlinks .nav-register { font-size: 14px; }
  .site .hero h1 { font-size: clamp(35px, 5.3vw, 48px); }
  .site--sma .sma-hero h1 { font-size: clamp(37px, 5vw, 47px); }
  .site--sma .sma-about-copy h2,
  .site--sma .sma-section-top h2,
  .site--sma .sma-highlight h2,
  .site--sma .sma-cta h2,
  .site--sma .sma-inner-lead h2,
  .site--sma .sma-inner-contact h2 { font-size: clamp(30px, 4vw, 40px); }
}
@media (max-width: 680px) {
  .site .brand-copy strong { font-size: 14px; }
  .site .brand-copy small { font-size: 9px; }
  .site .brand-copy em { font-size: 10px; }
  .site .hero h1 { font-size: clamp(32px, 7.3vw, 39px); }
  .site .hero p { font-size: 15px; }
  .site .eyebrow, .site .sma-eyebrow, .site .hero-eyebrow, .site .sma-kicker { font-size: 11px; }
  .site .btn, .site .sma-button { font-size: 13px; }
  .site .benefit h2 { font-size: 12px; }
  .site .section-heading h2, .site .split h2, .site .empty-state h2 { font-size: 28px; }
  .site .program-caption strong { font-size: 14px; }
  .site .page-banner h1 { font-size: 32px; }
  .site--sma .sma-hero h1 { font-size: clamp(31px, 7.35vw, 38px); }
  .site--sma .sma-hero-copy > p { font-size: 15px; }
  .site--sma .sma-hero-tags span { font-size: 11px; }
  .site--sma .sma-value h2, .site--sma .sma-inner-values .sma-value h3 { font-size: 13px; }
  .site--sma .sma-value p { font-size: 11px; }
  .site--sma .sma-about-copy h2,
  .site--sma .sma-section-top h2,
  .site--sma .sma-highlight h2,
  .site--sma .sma-cta h2,
  .site--sma .sma-inner-lead h2,
  .site--sma .sma-inner-contact h2 { font-size: 28px; line-height: 1.16; }
  .site--sma .sma-about-copy p,
  .site--sma .sma-inner-lead p,
  .site--sma .sma-inner-contact p,
  .site--sma .sma-highlight p,
  .site--sma .sma-cta p,
  .site--sma .sma-section-top p { font-size: 15px; line-height: 1.7; }
  .site--sma .sma-program-content h3 { font-size: 16px; }
  .site--sma .sma-program-content p { font-size: 13px; }
  .site--sma .sma-news-body h3 { font-size: 18px; }
  .site--sma .sma-news-meta { font-size: 12px; }
  .site--sma .sma-footer-column h2 { font-size: 14px; }
  .site--sma .sma-footer-column a,
  .site--sma .sma-footer-column p { font-size: 12px; }
  .site--sma .sma-footer-identity > p { font-size: 13px; }
  .hub .hub-card h2 { font-size: 20px; }
}
