/* ============================================================
   Golden Ratio Typography (GENERATED by grt.py v2, do not hand-edit)
   Base 18px  |  Content width 680px  |  x-height/cap 0.6883
   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.875rem;  /* 30px */
  --grt-lh-2: 2.875rem;  /* 46px */
  --grt-lh-3: 4.5rem;  /* 72px */
  --grt-lh-4: 7.0625rem;  /* 113px */
  --grt-lh-5: 11.25rem;  /* 180px */
  --grt-lh-6: 18.125rem;  /* 290px */
  --grt-lh-ratio-1: 1.6667;
  --grt-lh-ratio-2: 1.5862;
  --grt-lh-ratio-3: 1.5319;
  --grt-lh-ratio-4: 1.4868;
  --grt-lh-ratio-5: 1.4634;
  --grt-lh-ratio-6: 1.4500;

  /* Headings (calculator scale: φ², φ^1.5, φ, √φ; h5 φ^0.25; h6 body) */
  --grt-h1-size: 2.9375rem;  /* 47.00px */
  --grt-h1-lh: 4.5rem;  /* 72px, ratio 1.5319 */
  --grt-h2-size: 2.3125rem;  /* 37.00px */
  --grt-h2-lh: 3.5625rem;  /* 57px, ratio 1.5405 */
  --grt-h3-size: 1.8125rem;  /* 29.00px */
  --grt-h3-lh: 2.875rem;  /* 46px, ratio 1.5862 */
  --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.0625rem;  /* 33px, ratio 1.6500 */
  --grt-h6-size: 1.125rem;  /* 18.00px */
  --grt-h6-lh: 1.875rem;  /* 30px, ratio 1.6667 */

  /* 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: 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.375rem, 1.2983rem + 0.3409vw, 1.5625rem);  /* 22 -> 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.6108rem + 0.3409vw, 1.875rem);  /* 27 -> 30px */
  --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.25rem, 1.9943rem + 1.1364vw, 2.875rem);  /* 36 -> 46px */
  --grt-step-3: clamp(1.836rem, 1.6399rem + 0.8717vw, 2.3154rem);  /* 29.4 -> 37.0px */
  --grt-step-lh-3: clamp(2.75rem, 2.4176rem + 1.4773vw, 3.5625rem);  /* 44 -> 57px */
  --grt-step-4: clamp(2.2032rem, 1.8996rem + 1.3493vw, 2.9453rem);  /* 35.3 -> 47.1px */
  --grt-step-lh-4: clamp(3.25rem, 2.7386rem + 2.2727vw, 4.5rem);  /* 52 -> 72px */
  --grt-step-5: clamp(2.6438rem, 2.1928rem + 2.0048vw, 3.7465rem);  /* 42.3 -> 59.9px */
  --grt-step-lh-5: clamp(3.875rem, 3.1591rem + 3.1818vw, 5.625rem);  /* 62 -> 90px */
}

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