/* Shared resets and tokens */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* Variation-scoped roots — each variation has its own root with full font/color stack */

/* ===========================
   V1 — Editorial Grid
=========================== */
.v1 {
  --bg: #FAFAF7;
  --ink: #111111;
  --muted: #6B6B66;
  --line: #1f1f1f;
  --line-soft: #d8d8d2;
  --accent: #C2410C; /* burnt orange */
  --paper: #FFFFFF;
  --text: var(--ink);
  --rule: var(--line-soft);
  font-family: "Söhne", "Inter", system-ui, -apple-system, "Helvetica Neue", sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
}
.v1 .serif { font-family: "GT Sectra", "Tiempos Headline", "Source Serif Pro", "Iowan Old Style", Georgia, serif; }

/* ===========================
   V2 — Swiss Index
=========================== */
.v2 {
  --bg: #F4F4F1;
  --ink: #0A0A0A;
  --muted: #707070;
  --line: #0A0A0A;
  --line-soft: #cfcfca;
  --accent: #1438F5; /* electric blue */
  --paper: #FFFFFF;
  --text: var(--ink);
  --rule: var(--line-soft);
  font-family: "Neue Haas Grotesk", "Inter", "Helvetica Neue", system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: -0.005em;
}
.v2 .mono { font-family: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; }

/* ===========================
   V3 — Soft Brutalist
=========================== */
.v3 {
  --bg: #EFE9DD;
  --ink: #1A1A18;
  --muted: #5C584F;
  --line: #1A1A18;
  --line-soft: #cdc6b6;
  --accent: #2B5BCC; /* cobalt */
  --accent-2: #E64A19;
  --paper: #F8F4E9;
  --text: var(--ink);
  --rule: var(--line-soft);
  font-family: "ABC Diatype", "Inter", system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
}
.v3 .display { font-family: "PP Neue Montreal", "Inter Tight", "Inter", system-ui, sans-serif; font-weight: 500; letter-spacing: -0.03em; }

/* shared utility */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
