/* Dreamfare — design tokens
 * Palette derived from Temi's own Instagram brand system: deep forest green,
 * brass/gold, warm cream. Type: Newsreader (display) + Instrument Sans (body).
 * Every colour pair used for text is measured against WCAG AA.
 */

@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("assets/fonts/newsreader-latin.woff2") format("woff2");
  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: "Newsreader";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("assets/fonts/newsreader-latin-ext.woff2") format("woff2");
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url("assets/fonts/newsreader-italic-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/instrumentsans-latin.woff2") format("woff2");
  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: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/instrumentsans-latin-ext.woff2") format("woff2");
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* colour — warm cream paper, forest ink, brass + coral accents */
  --color-paper:       oklch(96.5% 0.018 88);
  --color-paper-2:     oklch(93.5% 0.022 88);
  --color-paper-3:     oklch(90% 0.024 86);
  --color-ink:         oklch(24% 0.045 155);
  --color-ink-2:       oklch(38% 0.040 155);
  --color-muted:       oklch(46% 0.030 150);
  --color-green:       oklch(33% 0.070 152);
  --color-green-deep:  oklch(25% 0.055 152);
  --color-brass:       oklch(64% 0.115 78);
  --color-brass-ink:   oklch(45% 0.095 72);
  /* Gold for text sitting over photography or video, where the backdrop can be
     bright sky. Measured against sampled hero frames — --color-brass is too close
     to a gold sunset in luminance and fails AA there. */
  --color-brass-bright: oklch(86% 0.105 88);
  --color-coral:       oklch(56% 0.165 38);
  --color-coral-ink:   oklch(47% 0.150 36);
  --color-rule:        oklch(86% 0.022 88);
  --color-rule-2:      oklch(90% 0.020 88);
  --color-on-dark:     oklch(96.5% 0.018 88);
  --color-on-dark-2:   oklch(86% 0.030 100);

  /* semantic */
  --color-error:       oklch(45% 0.180 27);
  --color-error-bg:    oklch(94% 0.030 30);
  --color-success:     oklch(42% 0.100 155);
  --color-success-bg:  oklch(93% 0.035 150);

  /* type */
  --font-display: "Newsreader", ui-serif, Georgia, serif;
  --font-body: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* scale — 1.25 major third from 16px */
  --text-xs:   0.8rem;
  --text-sm:   0.9rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-3xl:  3.0518rem;
  --text-display-s: clamp(1.9rem, 2.6vw + 1rem, 2.9rem);
  --text-display:   clamp(2.5rem, 4.4vw + 1rem, 5rem);

  /* space — 4pt scale */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* rules & radius */
  --rule-hair: 1px;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-pill: 999px;

  /* motion */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* z-scale */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;

  /* layout */
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --page-max: 76rem;
  --measure: 62ch;
}
