/* ============================================================
   SPECTRALMOON STUDIO — canonical brand tokens
   Typography locked 10 September 2026.
   ============================================================ */

/* Two separate imports on purpose: Fontshare's v2 API silently DROPS the second
   family when two f[] params are combined — that request returned Satoshi only,
   and every var(--font-serif) on the site was falling through to Georgia.
   The 401/501 codes are the italic cuts; @400,500 alone returns roman only,
   and the header wordmark is italic. Verified against the API 11 Sep 2026. */
@import url('https://api.fontshare.com/v2/css?f%5B%5D=satoshi@400,500,700,900&display=swap');
@import url('https://api.fontshare.com/v2/css?f%5B%5D=erode@400,401,500,501&display=swap');

:root{

  /* ---------- TYPE ----------
   * Satoshi · Fontshare · geometric grotesque. UI, body, headlines.
   * Erode   · Fontshare · literary serif. Wordmark, pull quotes, editorial voice.
   *           REPLACES Bodoni Moda AND Fraunces — the "which serif" question is closed.
   * Anton   · Google · condensed. THE LETTER MASK ONLY, because the locked hero
   *           geometry is measured against Anton's condensed metrics. Satoshi is
   *           not condensed and would break it.
   */
  --font-ui:    'Satoshi', -apple-system, BlinkMacSystemFont, 'Inter Tight', sans-serif;
  --font-serif: 'Erode', 'Bodoni Moda', Georgia, serif;
  --font-mask:  'Anton', Impact, sans-serif;

  --w-body: 400;
  --w-med:  500;
  --w-bold: 700;

  /* ---------- TYPE SCALE ----------
   * One clamp per role, so nothing depends on a media query firing. */
  --t-hero:    clamp(19px, 2.6vw, 40px);
  --t-display: clamp(26px, 3.4vw, 46px);
  --t-h2:      clamp(21px, 2.4vw, 32px);
  --t-body:    clamp(13px, 1.05vw, 15px);
  --t-small:   12px;
  --t-label:   10px;
  --track-label: .18em;

  /* ---------- COLOUR — NOT YET CHOSEN ----------
   * Five directions live at /lab/palette/.
   * Gold and the subdued rose only work on a DARK ground
   * (champagne 8.79 on espresso, 1.73 on white).
   * Ochre is the only one that survives a light ground.
   *
   * NOTE, 10 Sep: these are declared but NOT wired into this preview yet — the
   * page keeps its current ground until Susana picks. This file therefore loads
   * BEFORE preview.css, so preview.css's own --surface still wins. Wiring colour
   * is a separate, deliberate step, not a side effect of the type lock. */
  --espresso:   #2A201A;
  --cream:      #F1EAE0;
  --paper:      #FAFAF7;
  --surface:    #F2EBDC;
  --rose-light: #AF5D78;   /* accent on light grounds · 4.51:1 */
  --rose-dark:  #E68FA8;   /* accent on dark grounds  · 6.71:1 */

  /* ---------- MOTION ---------- */
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ---------- CUT, do not reintroduce ----------
   Bodoni Moda    → Erode
   Fraunces       → Erode (was loaded live and referenced only in comments — dead payload)
   Inter Tight    → Satoshi (fallback only)
   Caveat         3 hard-coded uses
   Caprasimo      2 hard-coded uses, the roman numerals
   Archivo Black  mobile letter mask only — move to Anton
   Helvetica Neue had crept into the barrel panel titles → Satoshi
   ------------------------------------------------ */
