/* Shared Z2PL typography. Opt in on content with .z2pl-type; menus stay independent.
   Values implement docs/reference/web-typography.md at a user-controlled root size. */
.z2pl-type {
  --type-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --type-mono: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
  --type-ink: #1d1d1f;
  --type-muted: #6e6e73;
  --type-control: 1rem;
  --type-caption: .875rem;
  --type-display-leading: 1.1;
  --type-page-leading: 1.1;
  --type-section-leading: 1.15;
  --type-card-leading: 1.25;
  --type-intro-leading: 1.45;
  --type-body-leading: 1.6;
  --type-control-leading: 1.4;
  --type-caption-leading: 1.5;
  --type-code-leading: 1.6;
  --type-display: clamp(3.5rem, 0.669811rem + 7.547170vw, 5.5rem);
  --type-page: clamp(2.5rem, 0.377358rem + 5.660377vw, 4rem);
  --type-section: clamp(2rem, 0.584906rem + 3.773585vw, 3rem);
  --type-card: clamp(1.5rem, 1.146226rem + 0.943396vw, 1.75rem);
  --type-intro: clamp(1.25rem, 0.896226rem + 0.943396vw, 1.5rem);
  --type-body: clamp(1.0625rem, 0.974057rem + 0.235849vw, 1.125rem);
  --type-code: clamp(0.875rem, 0.786557rem + 0.235849vw, 0.9375rem);
}

/* Fixed rem endpoints retain full text enlargement on wide screens. */
@media (min-width: 64rem) {
  .z2pl-type {
    --type-display: 5.5rem;
    --type-page: 4rem;
    --type-section: 3rem;
    --type-card: 1.75rem;
    --type-intro: 1.5rem;
    --type-body: 1.125rem;
    --type-code: 0.9375rem;
  }
}
