@font-face { font-family: 'General Sans'; font-weight: 400; font-display: swap; src: url('GeneralSans-Regular.woff2') format('woff2'); }
@font-face { font-family: 'General Sans'; font-weight: 500; font-display: swap; src: url('GeneralSans-Medium.woff2') format('woff2'); }
@font-face { font-family: 'General Sans'; font-weight: 600; font-display: swap; src: url('GeneralSans-Semibold.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-weight: 400; font-display: swap; src: url('DMMono-Regular.ttf') format('truetype'); }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* ─── GREEN — SIGNAL ONLY ─── */
  --green-brand:   #50C800;  /* Bright lime — logo primary */
  --green:         #40A800;  /* Deep grass — buttons, accents on light */
  --green-dark:    #2E7A00;  /* Hover states */
  --green-dim:     #143C00;  /* Deep accent surfaces */

  /* ─── NEUTRALS ─── */
  --ink:          #111111;
  --ink-90:       #1A1A1A;
  --ink-80:       #2A2A2A;
  --ink-60:       #444444;
  --ash:          #6B6B6B;
  --ash-light:    #9A9A9A;
  --ash-dark-bg:  #B0B0B0;
  --stone:        #F5F4F1;
  --stone-2:      #ECEAE5;
  --stone-3:      #E0DDD7;
  --white:        #FFFFFF;
  --forest:       #0A2009;
  --forest-2:     #11331A;

  /* ─── TYPOGRAPHY ─── */
  --display: 'General Sans', system-ui, sans-serif;  /* @kind font */
  --sans:    'General Sans', system-ui, sans-serif;  /* @kind font */
  --mono:    'DM Mono', 'Courier New', monospace;    /* @kind font */

  /* ─── SPACING ─── */
  --s4: 4px; --s8: 8px; --s12: 12px; --s16: 16px;
  --s20: 20px; --s24: 24px; --s32: 32px; --s40: 40px;
  --s48: 48px; --s64: 64px; --s80: 80px;

  /* ─── RADIUS ─── */
  --r4: 4px; --r6: 6px; --r8: 8px; --r12: 12px; --r16: 16px;

  --ease: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);  /* @kind other */
}

html { scroll-behavior: smooth; color-scheme: light; background: var(--stone); }

body {
  font-family: var(--sans);
  background: var(--stone);
  color: var(--ink);
  color-scheme: light;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.005em;
}
