/* ============================================================
   Golden Ratio Typography (GENERATED by grt.py v2, do not hand-edit)
   Base 17px  |  Content width 720px  |  x-height/cap 0.7151
   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.0625rem;  /* 17.00px */
  --grt-scale-2: 1.75rem;  /* 28.00px */
  --grt-scale-3: 2.8125rem;  /* 45.00px */
  --grt-scale-4: 4.5rem;  /* 72.00px */
  --grt-scale-5: 7.3125rem;  /* 117.00px */
  --grt-scale-6: 11.8125rem;  /* 189.00px */

  --grt-lh-1: 1.875rem;  /* 30px */
  --grt-lh-2: 2.8125rem;  /* 45px */
  --grt-lh-3: 4.375rem;  /* 70px */
  --grt-lh-4: 6.8125rem;  /* 109px */
  --grt-lh-5: 10.875rem;  /* 174px */
  --grt-lh-6: 17.375rem;  /* 278px */
  --grt-lh-ratio-1: 1.7647;
  --grt-lh-ratio-2: 1.6071;
  --grt-lh-ratio-3: 1.5556;
  --grt-lh-ratio-4: 1.5139;
  --grt-lh-ratio-5: 1.4872;
  --grt-lh-ratio-6: 1.4709;

  /* Headings (calculator scale: φ², φ^1.5, φ, √φ; h5 φ^0.25; h6 body) */
  --grt-h1-size: 2.8125rem;  /* 45.00px */
  --grt-h1-lh: 4.375rem;  /* 70px, ratio 1.5556 */
  --grt-h2-size: 2.1875rem;  /* 35.00px */
  --grt-h2-lh: 3.4375rem;  /* 55px, ratio 1.5714 */
  --grt-h3-size: 1.75rem;  /* 28.00px */
  --grt-h3-lh: 2.8125rem;  /* 45px, ratio 1.6071 */
  --grt-h4-size: 1.375rem;  /* 22.00px */
  --grt-h4-lh: 2.3125rem;  /* 37px, ratio 1.6818 */
  --grt-h5-size: 1.1875rem;  /* 19.00px */
  --grt-h5-lh: 2rem;  /* 32px, ratio 1.6842 */
  --grt-h6-size: 1.0625rem;  /* 17.00px */
  --grt-h6-lh: 1.875rem;  /* 30px, ratio 1.7647 */

  /* 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.875rem;  /* 30px */
  --grt-space-lg: 3.0625rem;  /* 49px */
  --grt-space-xl: 4.9375rem;  /* 79px */
  --grt-space-xxl: 8rem;  /* 128px */

  --grt-content-width: 45rem;  /* 720px */

  /* Fluid steps: step-0 body, 1-4 = h4..h1 at the max viewport */
  --grt-step--1: clamp(0.8333rem, 0.8325rem + 0.0036vw, 0.8353rem);  /* 13.3 -> 13.4px */
  --grt-step-lh--1: clamp(1.3125rem, 1.2358rem + 0.3409vw, 1.5rem);  /* 21 -> 24px */
  --grt-step-0: clamp(1rem, 0.9744rem + 0.1136vw, 1.0625rem);  /* 16.0 -> 17.0px */
  --grt-step-lh-0: clamp(1.5625rem, 1.4347rem + 0.5682vw, 1.875rem);  /* 25 -> 30px */
  --grt-step-1: clamp(1.2rem, 1.1380rem + 0.2755vw, 1.3515rem);  /* 19.2 -> 21.6px */
  --grt-step-lh-1: clamp(1.875rem, 1.6960rem + 0.7955vw, 2.3125rem);  /* 30 -> 37px */
  --grt-step-2: clamp(1.44rem, 1.3258rem + 0.5076vw, 1.7192rem);  /* 23.0 -> 27.5px */
  --grt-step-lh-2: clamp(2.1875rem, 1.9318rem + 1.1364vw, 2.8125rem);  /* 35 -> 45px */
  --grt-step-3: clamp(1.728rem, 1.5403rem + 0.8342vw, 2.1868rem);  /* 27.6 -> 35.0px */
  --grt-step-lh-3: clamp(2.6875rem, 2.3807rem + 1.3636vw, 3.4375rem);  /* 43 -> 55px */
  --grt-step-4: clamp(2.0736rem, 1.7839rem + 1.2874vw, 2.7817rem);  /* 33.2 -> 44.5px */
  --grt-step-lh-4: clamp(3.125rem, 2.6136rem + 2.2727vw, 4.375rem);  /* 50 -> 70px */
  --grt-step-5: clamp(2.4883rem, 2.0588rem + 1.9091vw, 3.5383rem);  /* 39.8 -> 56.6px */
  --grt-step-lh-5: clamp(3.75rem, 3.0597rem + 3.0682vw, 5.4375rem);  /* 60 -> 87px */
}

/* 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); }
