/* Gamma Research — shared foundation (tokens, fonts, reset). Direction sheets layer on top. */

@font-face { font-family: "ES Build"; src: url(../fonts/ESBuild-Regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ES Build"; src: url(../fonts/ESBuild-Medium.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "ES Build"; src: url(../fonts/ESBuild-Semibold.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "ES Build"; src: url(../fonts/ESBuild-Bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "PP Mori"; src: url(../fonts/PPMori-Regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "PP Mori"; src: url(../fonts/PPMori-RegularItalic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "PP Mori"; src: url(../fonts/PPMori-Medium.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "PP Mori"; src: url(../fonts/PPMori-SemiBold.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "PP Mori"; src: url(../fonts/PPMori-Bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  /* Brand palette (brand.gamma.app) */
  --sparkling-white: #ffffff;
  --moonbeam: #faf9f5;
  --glacier: #e8eefc;
  --periwinkle: #cddafa;
  --sky: #84c1fa;
  --ultramarine: #1862d4;
  --deep-ocean: #002253;
  --deep-space: #000e21;
  --flamingo: #f578de;
  --bordeaux: #921653;
  --rocket-fire: #ff5000;
  --evergreen: #1a561c;

  /* Roles */
  --ink: #0b1b3d;            /* body text: a hair softer than Deep Space, warmer than black */
  --ink-strong: var(--deep-ocean);
  --ink-2: rgba(0, 34, 83, 0.70);
  --ink-3: rgba(0, 34, 83, 0.50);
  --rule: rgba(0, 34, 83, 0.12);
  --rule-strong: rgba(0, 34, 83, 0.22);
  --link: var(--ultramarine);
  --fail: var(--rocket-fire);
  --pass: #2e8b3e;           /* Evergreen lifted for legibility at small sizes on white */

  --font-display: "ES Build", "PP Mori", system-ui, sans-serif;
  --font-text: "PP Mori", system-ui, -apple-system, sans-serif;
  --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Layout */
  --measure: 664px;          /* ~68 characters of PP Mori at 19px */
  --wide: 1000px;
  --full: 1280px;
  --gutter: clamp(20px, 4vw, 48px);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
body { margin: 0; font-family: var(--font-text); color: var(--ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }

.mono { font-family: var(--font-mono); font-feature-settings: "zero" 0; }
.tnum { font-variant-numeric: tabular-nums; }
.bauhaus { font-feature-settings: "ss01" 1; }   /* ES Build "Full Bauhaus set" */
.neutral { font-feature-settings: "ss02" 1; }   /* ES Build "Neutral set" */
