/* ============================================================
   Golden Ratio Typography (GENERATED by grt.py v2, do not hand-edit)
   Base 18px  |  Content width 680px  |  x-height/cap 0.7233
   Calibrated to grtcalculator.com; regenerate when size, column (>40px) or face changes.
   ============================================================ */

:root {
  /* Typographic scale: scale-1 is the body, each step ×φ */
  --grt-scale-1: 1.125rem;  /* 18.00px */
  --grt-scale-2: 1.8125rem;  /* 29.00px */
  --grt-scale-3: 2.9375rem;  /* 47.00px */
  --grt-scale-4: 4.75rem;  /* 76.00px */
  --grt-scale-5: 7.6875rem;  /* 123.00px */
  --grt-scale-6: 12.5rem;  /* 200.00px */

  --grt-lh-1: 1.9375rem;  /* 31px */
  --grt-lh-2: 2.9375rem;  /* 47px */
  --grt-lh-3: 4.5625rem;  /* 73px */
  --grt-lh-4: 7.1875rem;  /* 115px */
  --grt-lh-5: 11.4375rem;  /* 183px */
  --grt-lh-6: 18.375rem;  /* 294px */
  --grt-lh-ratio-1: 1.7222;
  --grt-lh-ratio-2: 1.6207;
  --grt-lh-ratio-3: 1.5532;
  --grt-lh-ratio-4: 1.5132;
  --grt-lh-ratio-5: 1.4878;
  --grt-lh-ratio-6: 1.4700;

  /* Headings (calculator scale: φ², φ^1.5, φ, √φ; h5 φ^0.25; h6 body) */
  --grt-h1-size: 2.9375rem;  /* 47.00px */
  --grt-h1-lh: 4.5625rem;  /* 73px, ratio 1.5532 */
  --grt-h2-size: 2.3125rem;  /* 37.00px */
  --grt-h2-lh: 3.625rem;  /* 58px, ratio 1.5676 */
  --grt-h3-size: 1.8125rem;  /* 29.00px */
  --grt-h3-lh: 2.9375rem;  /* 47px, ratio 1.6207 */
  --grt-h4-size: 1.4375rem;  /* 23.00px */
  --grt-h4-lh: 2.375rem;  /* 38px, ratio 1.6522 */
  --grt-h5-size: 1.25rem;  /* 20.00px */
  --grt-h5-lh: 2.125rem;  /* 34px, ratio 1.7000 */
  --grt-h6-size: 1.125rem;  /* 18.00px */
  --grt-h6-lh: 1.9375rem;  /* 31px, ratio 1.7222 */

  /* Spacing from the body line height */
  --grt-space-3xs: 0.25rem;  /* 4px */
  --grt-space-2xs: 0.4375rem;  /* 7px */
  --grt-space-xs: 0.75rem;  /* 12px */
  --grt-space-sm: 1.1875rem;  /* 19px */
  --grt-space-md: 1.9375rem;  /* 31px */
  --grt-space-lg: 3.125rem;  /* 50px */
  --grt-space-xl: 5.0625rem;  /* 81px */
  --grt-space-xxl: 8.1875rem;  /* 131px */

  --grt-content-width: 42.5rem;  /* 680px */

  /* Fluid steps: step-0 body, 1-4 = h4..h1 at the max viewport */
  --grt-step--1: clamp(0.8844rem, 0.8858rem + -0.0018vw, 0.8854rem);  /* 14.2 -> 14.2px */
  --grt-step-lh--1: clamp(1.4375rem, 1.3864rem + 0.2273vw, 1.5625rem);  /* 23 -> 25px */
  --grt-step-0: clamp(1.0625rem, 1.0369rem + 0.1136vw, 1.125rem);  /* 17.0 -> 18.0px */
  --grt-step-lh-0: clamp(1.6875rem, 1.5852rem + 0.4545vw, 1.9375rem);  /* 27 -> 31px */
  --grt-step-1: clamp(1.275rem, 1.2112rem + 0.2837vw, 1.431rem);  /* 20.4 -> 22.9px */
  --grt-step-lh-1: clamp(1.9375rem, 1.7585rem + 0.7955vw, 2.375rem);  /* 31 -> 38px */
  --grt-step-2: clamp(1.53rem, 1.4112rem + 0.5278vw, 1.8203rem);  /* 24.5 -> 29.1px */
  --grt-step-lh-2: clamp(2.3125rem, 2.0568rem + 1.1364vw, 2.9375rem);  /* 37 -> 47px */
  --grt-step-3: clamp(1.836rem, 1.6399rem + 0.8717vw, 2.3154rem);  /* 29.4 -> 37.0px */
  --grt-step-lh-3: clamp(2.75rem, 2.3920rem + 1.5909vw, 3.625rem);  /* 44 -> 58px */
  --grt-step-4: clamp(2.2032rem, 1.8996rem + 1.3493vw, 2.9453rem);  /* 35.3 -> 47.1px */
  --grt-step-lh-4: clamp(3.3125rem, 2.8011rem + 2.2727vw, 4.5625rem);  /* 53 -> 73px */
  --grt-step-5: clamp(2.6438rem, 2.1928rem + 2.0048vw, 3.7465rem);  /* 42.3 -> 59.9px */
  --grt-step-lh-5: clamp(3.9375rem, 3.1960rem + 3.2955vw, 5.75rem);  /* 63 -> 92px */
}

/* Applied defaults (override in style.css; no borders or colours here) */
body { font-size: var(--grt-step-0); line-height: var(--grt-step-lh-0); }
body p { margin-block: 0 var(--grt-space-md); }
body h1 { font-size: var(--grt-step-4); line-height: var(--grt-step-lh-4); margin-block: var(--grt-space-lg) var(--grt-space-sm); }
body h2 { font-size: var(--grt-step-3); line-height: var(--grt-step-lh-3); margin-block: var(--grt-space-lg) var(--grt-space-sm); }
body h3 { font-size: var(--grt-step-2); line-height: var(--grt-step-lh-2); margin-block: var(--grt-space-lg) var(--grt-space-sm); }
body h4 { font-size: var(--grt-step-1); line-height: var(--grt-step-lh-1); margin-block: var(--grt-space-lg) var(--grt-space-sm); }
body small, body figcaption { font-size: var(--grt-step--1); line-height: var(--grt-step-lh--1); }
