:root {
  /* Color — PST documentary/editorial palette */
  --pst-color-ink: #14110d;
  --pst-color-ink-2: #1c1812;
  --pst-color-ink-3: #241e17;
  --pst-color-ink-quiet: #8a8073;
  --pst-color-ivory: #ede2ca;
  --pst-color-ivory-soft: #d8ceb8;
  --pst-color-ivory-muted: rgba(237, 226, 202, 0.78);
  --pst-color-ivory-dim: rgba(237, 226, 202, 0.54);
  --pst-color-tally: #c1442f;
  --pst-color-tally-bright: #d55440;
  --pst-color-tally-soft: #dc7657;
  --pst-color-warm-field: #e7dac1;
  --pst-color-warm-deep: #594532;
  --pst-color-white: #ffffff;

  /* Type families — two voices only */
  --pst-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  --pst-font-body: "Söhne", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  /* Type scale — semantic roles, not raw H-tag styling */
  --pst-type-display-hero: clamp(2rem, 4.75vw, 4.25rem);
  --pst-type-display-xl: clamp(2.5rem, 5.55vw, 5rem);
  --pst-type-display-lg: clamp(2.25rem, 4.7vw, 4.25rem);
  --pst-type-display-md: clamp(2.125rem, 4.15vw, 3.75rem);
  --pst-type-heading-lg: clamp(2.625rem, 5vw, 4.5rem);
  --pst-type-heading-md: clamp(1.875rem, 3.6vw, 3.25rem);
  --pst-type-heading-sm: clamp(1.75rem, 3vw, 2.75rem);
  --pst-type-statement: clamp(1.5625rem, 2.7vw, 2.5rem);
  --pst-type-statement-sm: clamp(1.5625rem, 2.3vw, 2.0625rem);
  --pst-type-pullquote: clamp(1.375rem, 2vw, 1.875rem);
  --pst-type-body-lead: clamp(1.125rem, 1.35vw, 1.25rem);
  --pst-type-body: 1.0625rem;
  --pst-type-body-compact: 1rem;
  --pst-type-interface: 0.875rem;
  --pst-type-utility: 0.78125rem;
  --pst-type-eyebrow: 0.6875rem;
  --pst-type-source: 0.625rem;

  /* Leading */
  --pst-leading-display-tight: 0.98;
  --pst-leading-display: 1.05;
  --pst-leading-heading: 1.12;
  --pst-leading-statement: 1.26;
  --pst-leading-reading: 1.58;
  --pst-leading-compact: 1.45;
  --pst-leading-utility: 1.45;

  /* Tracking */
  --pst-tracking-display-tight: -0.038em;
  --pst-tracking-display: -0.025em;
  --pst-tracking-heading: -0.018em;
  --pst-tracking-body: 0;
  --pst-tracking-interface: 0.12em;
  --pst-tracking-utility: 0.16em;
  --pst-tracking-eyebrow: 0.2em;

  /* Weight */
  --pst-weight-regular: 400;
  --pst-weight-medium: 500;
  --pst-weight-semibold: 600;
  --pst-weight-label: 650;

  /* Spacing — shared 4px family rhythm */
  --pst-space-0: 0;
  --pst-space-1: 0.25rem;
  --pst-space-2: 0.5rem;
  --pst-space-3: 0.75rem;
  --pst-space-4: 1rem;
  --pst-space-5: 1.5rem;
  --pst-space-6: 2rem;
  --pst-space-7: 3rem;
  --pst-space-8: 4.5rem;
  --pst-space-9: 6.5rem;

  /* Containers */
  --pst-width-reading: 45rem;
  --pst-width-content: 73.75rem;
  --pst-width-wide: 90rem;
  --pst-width-shell: 100rem;
  --pst-page-gutter: clamp(2.5rem, 7.7vw, 7.75rem);

  /* Rules, focus, radius */
  --pst-rule-dark: rgba(20, 17, 13, 0.16);
  --pst-rule-light: rgba(237, 226, 202, 0.18);
  --pst-focus-color-dark: var(--pst-color-tally-soft);
  --pst-focus-color-light: var(--pst-color-tally);
  --pst-focus-width: 2px;
  --pst-focus-offset: 4px;
  --pst-radius-none: 0;
  --pst-radius-quiet: 2px;

  /* Primary enrollment action anatomy */
  --pst-cta-min-height: 3.25rem;
  --pst-cta-padding-inline: 1.5rem;
  --pst-cta-gap: 0.75rem;
  --pst-cta-font-size: var(--pst-type-utility);
  --pst-cta-font-weight: var(--pst-weight-medium);
  --pst-cta-tracking: 0.16em;
  --pst-cta-rule-width: 1.125rem;
  --pst-cta-border-primary: rgba(255, 255, 255, 0.12);
  --pst-cta-border-inverse: rgba(237, 226, 202, 0.76);

  /* Motion — same cadence family used across PST/SBF surfaces */
  --pst-motion-fast: 140ms;
  --pst-motion-standard: 220ms;
  --pst-motion-slow: 280ms;
  --pst-ease-standard: cubic-bezier(.2, .7, .2, 1);

  /* Compatibility aliases for the homepage family. */
  --ink: var(--pst-color-ink);
  --ink-2: var(--pst-color-ink-2);
  --ink-3: var(--pst-color-ink-3);
  --ink-quiet: var(--pst-color-ink-quiet);
  --ivory: var(--pst-color-ivory);
  --ivory-soft: var(--pst-color-ivory-soft);
  --ivory-mute: var(--pst-color-ivory-muted);
  --ivory-dim: var(--pst-color-ivory-dim);
  --tally: var(--pst-color-tally);
  --tally-hi: var(--pst-color-tally-bright);
  --page-gutter: var(--pst-page-gutter);
  --display-size: clamp(3.125rem, 4.7vw, 4.25rem);
  --reading-size: var(--pst-type-body-lead);
  --utility-size: var(--pst-type-utility);
  --micro-size: var(--pst-type-eyebrow);
  --serif: var(--pst-font-display);
  --grot: var(--pst-font-body);
}
