/* ============================================================================
   POST — BRAND DESIGN TOKENS
   Post Exit Founders (PEF). The room you're invited into after the exit.
   Import alongside fonts.css. Light (bone) is the default; add data-theme="ink"
   on any container for the reversed dark treatment.
   ============================================================================ */

:root {
  /* ---- Core palette ---- */
  --post-bone: #EDE6D6;          /* warm bone — the page */
  --post-bone-deep: #E4DCC9;     /* a half-tone bone for cards/mats */
  --post-ink: #14110D;           /* deep ink — the type, never cold black */
  --post-ink-soft: #2A2521;      /* softened ink for large dark fields */
  --post-oxblood: #6E2B2B;       /* the one rationed accent — the full stop */
  --post-oxblood-deep: #5A2222;  /* pressed/active oxblood */
  --post-bronze: #B08D57;        /* aged bronze — one earned glint of gold */

  /* ---- Semantic (LIGHT / bone is default) ---- */
  --post-bg: var(--post-bone);
  --post-surface: #F3EEE2;       /* raised surface on bone */
  --post-fg: var(--post-ink);
  --post-fg-muted: color-mix(in srgb, var(--post-ink) 68%, transparent);
  --post-fg-faint: color-mix(in srgb, var(--post-ink) 62%, transparent);  /* label/folio text — AA on bone (4.9:1) */
  --post-hairline: color-mix(in srgb, var(--post-ink) 16%, transparent);
  /* --post-accent / --post-link are FUNCTIONAL accents (links, active UI) and flip to bronze on ink.
     The logo full-stop DEVICE is separate (--post-stop, always oxblood — see below). */
  --post-accent: var(--post-oxblood);
  --post-link: var(--post-oxblood);
  --post-stop: var(--post-oxblood);  /* the signature full-stop device — oxblood on EVERY ground, by design */

  /* ---- Type families ---- */
  --post-serif: "Fraunces", "Georgia", "Times New Roman", serif;       /* display + editorial */
  --post-sans:  "Schibsted Grotesk", "Helvetica Neue", system-ui, sans-serif; /* UI + body + labels */

  /* ---- Fraunces variable axes (use via font-variation-settings) ---- */
  --post-fraunces-display: "opsz" 144, "wght" 460, "SOFT" 0, "WONK" 0;
  --post-fraunces-text:    "opsz" 28,  "wght" 400, "SOFT" 0, "WONK" 0;

  /* ---- Type scale (fluid-ready; rem at 16px base) ---- */
  --post-step--1: 0.833rem;   /* fine print / labels */
  --post-step-0:  1rem;       /* body */
  --post-step-1:  1.25rem;    /* lead / large body */
  --post-step-2:  1.6rem;
  --post-step-3:  2.25rem;
  --post-step-4:  3.25rem;
  --post-step-5:  4.75rem;    /* display headlines */
  --post-step-6:  7rem;       /* hero */

  --post-tracking-label: 0.18em;  /* small-caps labels */
  --post-tracking-tight: -0.02em; /* large serif display */
  --post-leading-tight: 1.02;
  --post-leading-body: 1.6;

  /* ---- Space / radius / motion ---- */
  --post-gutter: clamp(1.25rem, 5vw, 5.5rem);
  --post-radius: 2px;            /* quiet luxury keeps corners nearly square */
  --post-radius-tile: 22%;       /* the app-icon squircle ratio */
  --post-ease: cubic-bezier(.22, .61, .36, 1);
  --post-measure: 64ch;          /* ideal reading width */
}

/* ---- DARK / ink theme: bone-on-ink, fully reversible ---- */
[data-theme="ink"] {
  --post-bg: var(--post-ink);
  --post-surface: #1C1813;
  --post-fg: var(--post-bone);
  --post-fg-muted: color-mix(in srgb, var(--post-bone) 70%, transparent);
  --post-fg-faint: color-mix(in srgb, var(--post-bone) 60%, transparent);  /* AA on ink (6:1) */
  --post-hairline: color-mix(in srgb, var(--post-bone) 18%, transparent);
  /* FUNCTIONAL accents step to bronze on dark (oxblood is ~1.8:1 on ink, illegible).
     --post-stop is deliberately NOT flipped: the logo full-stop device stays oxblood everywhere. */
  --post-accent: var(--post-bronze);
  --post-link: var(--post-bronze);
}

/* ---- Opinionated primitives a site can build on ---- */
.post-label {            /* the small-caps grotesque label */
  font-family: var(--post-sans);
  font-size: var(--post-step--1);
  letter-spacing: var(--post-tracking-label);
  text-transform: uppercase;
  font-weight: 600;
  color: var(--post-fg-faint);
}
.post-display {          /* the Fraunces display headline */
  font-family: var(--post-serif);
  font-variation-settings: var(--post-fraunces-display);
  letter-spacing: var(--post-tracking-tight);
  line-height: var(--post-leading-tight);
  color: var(--post-fg);
}
.post-display em { font-style: italic; }
.post-body {
  font-family: var(--post-sans);
  font-size: var(--post-step-0);
  line-height: var(--post-leading-body);
  color: var(--post-fg-muted);
  max-width: var(--post-measure);
}
/* the brand full-stop, reusable as a deliberate punctuation device — always oxblood, on any ground */
.post-stop { color: var(--post-stop); }
