:root {
  /* Color */
  --bg-cream:               #F4EEE3;
  --text-ink:               #1A1614;
  --accent-oxblood:         #8B2500;
  --accent-oxblood-bright:  #A8311A;
  --text-muted:             #6B5D52;
  --surface-sunk:           rgba(26, 22, 20, 0.04);
  --border-faint:           rgba(26, 22, 20, 0.15);

  /* Type */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans:    'Inter', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --tracking-tight:    -0.025em;
  --tracking-normal:   0;
  --tracking-loose:    0.22em;
  --leading-body:      1.65;
  --leading-display:   1.05;

  /* Spacing scale (px) */
  --space-1:   8px;
  --space-2:  16px;
  --space-3:  24px;
  --space-4:  32px;
  --space-5:  48px;
  --space-6:  64px;
  --space-7:  96px;
  --space-8: 128px;

  /* Section padding */
  --section-y-desktop: 96px;
  --section-y-mobile:  64px;

  /* Easing */
  --ease-hover:   cubic-bezier(0.19, 1, 0.22, 1);
  --ease-reveal:  cubic-bezier(0.65, 0, 0.35, 1);
  --ease-curtain: cubic-bezier(0.86, 0, 0.07, 1);

  /* Durations */
  --dur-quick:   400ms;
  --dur-hover:   600ms;
  --dur-reveal: 1100ms;

  /* Layout */
  --maxw-prose:    640px;
  --maxw-content: 1120px;
  --maxw-wide:    1280px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg-cream);
  color: var(--text-ink);
  font-family: var(--font-sans);
  line-height: var(--leading-body);
  font-feature-settings: 'kern', 'liga';
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

/* Focus-visible: oxblood ring, 2px offset */
:focus-visible {
  outline: 2px solid var(--accent-oxblood);
  outline-offset: 2px;
}

/* Skip-to-content link */
.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--text-ink); color: var(--bg-cream);
  padding: 12px 16px; font-weight: 600; z-index: 1000;
}
.skip-link:focus { left: 16px; top: 16px; }
