:root {
  /* typography */
  --font-display:      'Playfair Display', Georgia, serif;
  --font-display-sans: 'Space Grotesk', 'Inter', sans-serif;
  --font-body-serif:   'Source Serif 4', Georgia, serif;
  --font-body:         'Inter', system-ui, sans-serif;

  --fs-display-xl: 6rem;
  --fs-display-l:  4.5rem;
  --fs-display-m:  3rem;
  --fs-h1:         2.25rem;
  --fs-h2:         1.75rem;
  --fs-h3:         1.375rem;
  --fs-body-l:     1.125rem;
  --fs-body:       1rem;
  --fs-caption:    0.875rem;
  --fs-micro:      0.75rem;

  --lh-display: 1.08;
  --lh-body:    1.6;
  --lh-ui:      1.4;

  --tracking-display: -0.02em;
  --tracking-caps:     0.15em;
  --tracking-body:     0;

  /* color — core editorial neutral-warm */
  --ink:       #1A1816;
  --charcoal:  #2B2A28;
  --graphite:  #4A4743;
  --warm-gray: #8F8880;
  --bone:      #D9D3C9;
  --cream:     #FAF8F5;
  --ivory:     #F5F2ED;
  --white:     #FFFFFF;

  /* seasonal accent (autumn default) */
  --accent:    #4A3C2A;
  --accent-2:  #8B6F47;

  /* spacing (8px base) */
  --sp-1: 0.25rem; --sp-2: 0.5rem;  --sp-3: 1rem;   --sp-4: 1.5rem;
  --sp-5: 2rem;    --sp-6: 3rem;    --sp-7: 4rem;   --sp-8: 6rem;

  /* layout */
  --content-max: 1440px;
  --gutter-desktop: 96px;
  --gutter-mobile:  24px;

  /* image aspect locks */
  --ar-cover:  4/5;
  --ar-look:   4/5;
  --ar-ig:     1/1;
  --ar-tiktok: 9/16;
}
