/* =====================================================================
   OTTO JAKOB — tokens.css: palette, type, spacing, motion and the
   self-hosted fonts. Pairs with site.css (layout).
   ===================================================================== */

/* Archivo (OFL) — variable font, weights 400–600, latin + latin-ext subsets. */
@font-face {
  font-family: 'Archivo';
  src: url("../fonts/archivo-latin.92895abae7c5.woff2") format('woff2');
  font-weight: 400 600; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  src: url("../fonts/archivo-latin-ext.288d2a1c9f04.woff2") format('woff2');
  font-weight: 400 600; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Bodoni Antiqua — the client's licensed cut (woff2 converted from the OTFs in
   fonts_src/Bodoni, which are never published): display headings, piece names
   (small-caps cut), descriptions and the biography. */
@font-face {
  font-family: 'Bodoni Antiqua';
  src: url("../fonts/bodoni-ant-regular.36bb45a4ec02.woff2") format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Bodoni Antiqua';
  src: url("../fonts/bodoni-ant-italic.8feec6d94074.woff2") format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Bodoni Antiqua';
  src: url("../fonts/bodoni-ant-demibold.023ccc9547a1.woff2") format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Bodoni Antiqua SC';
  src: url("../fonts/bodoni-ant-sc-regular.2abff5edc567.woff2") format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}

:root {
  /* Colour — gallery white and near-black ink. */
  --paper:        #FFFFFF;
  --ink:          #131210;   /* primary text, rules */
  --ink-soft:     #3A3733;   /* secondary text */
  --ink-mute:     #79746C;   /* captions, meta */
  --ink-faint:    #ADA89E;   /* hairline labels, inactive */
  --line:         #E4E1D9;   /* hairline border on paper */
  --line-strong:  #CFCABE;   /* emphasised hairline */
  --noir:         #0C0B0A;   /* dark stage, landing ground */
  --on-noir:      #F4F1E9;   /* text on noir */
  --gold-deep:    #7E6C49;   /* accent on white (AA for small text) */
  --gold-light:   #C8B894;   /* accent on noir */

  /* Type */
  --serif:    'Bodoni Antiqua', 'Didot', Georgia, serif;
  --serif-sc: 'Bodoni Antiqua SC', 'Bodoni Antiqua', Georgia, serif;
  --sans:     'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --fs-h2:    clamp(1.75rem, 3vw, 2.75rem);
  --fs-body:  1rem;
  --fs-sm:    0.8125rem;     /* 13px caption */
  --fs-nav:   11.7px;        /* header and subnav links */
  --fs-label: 0.6875rem;     /* 11px tracked label */

  --w-reg:  400;
  --w-med:  500;
  --w-semi: 600;

  --track-label: 0.22em;     /* the editorial signature: wide-tracked tiny labels */
  --track-nav:   0.16em;
  --track-tight: -0.01em;

  --lh-tight: 1.08;
  --lh-body:  1.62;

  /* Spacing (base 8), radius (corners stay square), motion (slow, no bounce) */
  --s-7:  56px;
  --s-8:  64px;
  --r-sm: 2px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur:  420ms;
}

/* The editorial signature: tiny, wide-tracked, uppercase sans label */
.oj-label {
  font-family: var(--sans);
  font-weight: var(--w-med);
  font-size: var(--fs-label);
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--ink-mute);
}
