/* ============================================================
   Golden Ratio Typography (GENERATED by grt.py v2, do not hand-edit)
   Base 16px  |  Content width 860px  |  x-height/cap 0.7833
   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: 1rem;  /* 16.00px */
  --grt-scale-2: 1.625rem;  /* 26.00px */
  --grt-scale-3: 2.625rem;  /* 42.00px */
  --grt-scale-4: 4.25rem;  /* 68.00px */
  --grt-scale-5: 6.875rem;  /* 110.00px */
  --grt-scale-6: 11.0625rem;  /* 177.00px */

  --grt-lh-1: 1.875rem;  /* 30px */
  --grt-lh-2: 2.8125rem;  /* 45px */
  --grt-lh-3: 4.25rem;  /* 68px */
  --grt-lh-4: 6.6875rem;  /* 107px */
  --grt-lh-5: 10.5625rem;  /* 169px */
  --grt-lh-6: 16.8125rem;  /* 269px */
  --grt-lh-ratio-1: 1.8750;
  --grt-lh-ratio-2: 1.7308;
  --grt-lh-ratio-3: 1.6190;
  --grt-lh-ratio-4: 1.5735;
  --grt-lh-ratio-5: 1.5364;
  --grt-lh-ratio-6: 1.5198;

  /* Headings (calculator scale: φ², φ^1.5, φ, √φ; h5 φ^0.25; h6 body) */
  --grt-h1-size: 2.625rem;  /* 42.00px */
  --grt-h1-lh: 4.25rem;  /* 68px, ratio 1.6190 */
  --grt-h2-size: 2.0625rem;  /* 33.00px */
  --grt-h2-lh: 3.4375rem;  /* 55px, ratio 1.6667 */
  --grt-h3-size: 1.625rem;  /* 26.00px */
  --grt-h3-lh: 2.8125rem;  /* 45px, ratio 1.7308 */
  --grt-h4-size: 1.25rem;  /* 20.00px */
  --grt-h4-lh: 2.25rem;  /* 36px, ratio 1.8000 */
  --grt-h5-size: 1.125rem;  /* 18.00px */
  --grt-h5-lh: 2.0625rem;  /* 33px, ratio 1.8333 */
  --grt-h6-size: 1rem;  /* 16.00px */
  --grt-h6-lh: 1.875rem;  /* 30px, ratio 1.8750 */

  /* 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: 53.75rem;  /* 860px */

  /* Fluid steps: step-0 body, 1-4 = h4..h1 at the max viewport */
  --grt-step--1: clamp(0.7812rem, 0.7792rem + 0.0089vw, 0.7862rem);  /* 12.5 -> 12.6px */
  --grt-step-lh--1: clamp(1.375rem, 1.2983rem + 0.3409vw, 1.5625rem);  /* 22 -> 25px */
  --grt-step-0: clamp(0.9375rem, 0.9119rem + 0.1136vw, 1rem);  /* 15.0 -> 16.0px */
  --grt-step-lh-0: clamp(1.5625rem, 1.4347rem + 0.5682vw, 1.875rem);  /* 25 -> 30px */
  --grt-step-1: clamp(1.125rem, 1.0649rem + 0.2673vw, 1.272rem);  /* 18.0 -> 20.4px */
  --grt-step-lh-1: clamp(1.8125rem, 1.6335rem + 0.7955vw, 2.25rem);  /* 29 -> 36px */
  --grt-step-2: clamp(1.35rem, 1.2403rem + 0.4873vw, 1.618rem);  /* 21.6 -> 25.9px */
  --grt-step-lh-2: clamp(2.1875rem, 1.9318rem + 1.1364vw, 2.8125rem);  /* 35 -> 45px */
  --grt-step-3: clamp(1.62rem, 1.4407rem + 0.7967vw, 2.0582rem);  /* 25.9 -> 32.9px */
  --grt-step-lh-3: clamp(2.5625rem, 2.2045rem + 1.5909vw, 3.4375rem);  /* 41 -> 55px */
  --grt-step-4: clamp(1.944rem, 1.6683rem + 1.2255vw, 2.618rem);  /* 31.1 -> 41.9px */
  --grt-step-lh-4: clamp(3rem, 2.4886rem + 2.2727vw, 4.25rem);  /* 48 -> 68px */
  --grt-step-5: clamp(2.3328rem, 1.9248rem + 1.8134vw, 3.3302rem);  /* 37.3 -> 53.3px */
  --grt-step-lh-5: clamp(3.5625rem, 2.8466rem + 3.1818vw, 5.3125rem);  /* 57 -> 85px */
}

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