/* Hallmark · macrostructure: Split Studio · H2 hero knobs: ratio=7/5, right=photo, divider=negative-space
 * theme: custom · vibe: "warm trust, hand-made, parental calm" · paper: oklch(97% 0.012 85) · accent: oklch(55% 0.15 38)
 * display: Fraunces · body: IBM Plex Sans · axes: light / roman-serif / warm
 * genre: editorial · nav: N9 edge-aligned · footer: Ft1 mast-headed · enrichment: none (photo slots pending real photography)
 * studied: no · context: user-provided (docs/superpowers/specs/2026-08-17-replegend-store-design.md)
 */

@font-face {
  font-family: "Fraunces";
  src: url("fonts/fraunces-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/plexsans-latin.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

:root {
  /* colour — anchor: terracotta 38°, warm cream paper (ratified spec palette) */
  --color-paper:      oklch(97% 0.012 85);
  --color-paper-2:    oklch(94% 0.014 85);
  --color-rule:       oklch(86% 0.014 85);
  --color-rule-2:     oklch(90% 0.013 85);
  --color-neutral:    oklch(56% 0.010 70);
  --color-muted:      oklch(45% 0.012 60);
  --color-ink:        oklch(23% 0.012 55);
  --color-ink-2:      oklch(38% 0.012 55);
  --color-accent:     oklch(55% 0.15 38);
  --color-accent-ink: oklch(97% 0.012 85);
  --color-focus:      oklch(53% 0.19 38);

  /* type — display Fraunces · body IBM Plex Sans · scale 1.25 */
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --text-sm: 0.8rem;
  --text-base: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.5625rem;
  --text-xl: 1.9531rem;
  --text-2xl: 2.4414rem;
  --text-3xl: 3.0518rem;
  --text-display: clamp(2.5rem, 4.5vw + 1rem, 4.75rem);

  /* space — 4pt scale */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;

  /* z */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;

  /* rules */
  --rule-hairline: 1px solid var(--color-rule);
  --page-gutter: clamp(1rem, 4vw, 3rem);
}
