/* Zora v2 theme tokens — the single source for color, typography, spacing,
   radii, and responsive clamps. Components in styles.css consume var() only;
   no component declares a raw font size or ad-hoc breakpoint value. */

:root {
  /* Palette: warm ivory paper, plum serif, ochre CTA, sage botany. */
  --paper: #f7f0e2;
  --paper-plain: #f2e9d7;
  --paper-card: #fbf5e9;
  --ink: #3b3034;
  --ink-soft: #6d5d63;
  --plum: #6d4a5c;
  --plum-deep: #503a48;
  --plum-line: #7c5a6c;
  --ochre: #b0803d;
  --ochre-border: #966e2f;
  --ochre-soft: #d9c9a8;
  --sage: #8a9479;
  --sage-soft: #b9c0a9;
  --line: #d9cab5;
  --line-faint: #e6dac6;
  --error: #8a3033;
  --backdrop: rgba(59, 48, 52, 0.5);

  /* Typography: families, weights, line heights, and the full size scale. */
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-body: 1.65;
  --fs-eyebrow: clamp(0.68rem, 0.65rem + 0.2vw, 0.78rem);
  --fs-small: clamp(0.82rem, 0.8rem + 0.15vw, 0.9rem);
  --fs-body: clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
  --fs-lead: clamp(1.02rem, 0.98rem + 0.3vw, 1.15rem);
  --fs-h3: clamp(1.05rem, 1rem + 0.35vw, 1.22rem);
  --fs-h2: clamp(1.3rem, 1.2rem + 0.7vw, 1.65rem);
  --fs-h1: clamp(1.9rem, 1.5rem + 2.2vw, 3.1rem);
  --fs-brand: clamp(1.35rem, 1.25rem + 0.5vw, 1.6rem);

  /* Spacing and layout rhythm. */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.8rem;
  --sp-4: 1.2rem;
  --sp-5: 1.8rem;
  --sp-6: 2.6rem;
  --gutter: clamp(1rem, 4vw, 3rem);
  --content-max: 1150px;

  /* Surfaces and strokes. */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --focus-ring: 2px solid rgba(176, 128, 61, 0.55);
  --hairline: 1px solid var(--line);

  /* Cards: natural 300x527 ratio preserved, never cropped. The Celtic
     diagram scales locally so cross, staff, and invitation share a screen. */
  --card-w: clamp(120px, 15vw, 190px);
  --card-w-single: clamp(150px, 18vw, 200px);
  --card-w-celtic: clamp(80px, 9vw, 110px);
  --card-gap: clamp(0.6rem, 1.5vw, 1.2rem);

  /* Intention sprite: one atlas, three columns, two rows. */
  --icon-size: clamp(64px, 6vw, 88px);
  --icon-atlas: url("/art/intention-icons-v2.png");
}
