/* ==========================================================================
   CalmWaves — Design Tokens
   The nervous system protocol company.
   Locked palette — 2026-04-17. Single font system: Inter.
   ========================================================================== */

/* ---------- Inter 18pt — body ------------------------------------------- */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100; font-display: swap;
  src: url('fonts/Inter_18pt-Thin.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 100; font-display: swap;
  src: url('fonts/Inter_18pt-ThinItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 200; font-display: swap;
  src: url('fonts/Inter_18pt-ExtraLight.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 200; font-display: swap;
  src: url('fonts/Inter_18pt-ExtraLightItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('fonts/Inter_18pt-Light.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 300; font-display: swap;
  src: url('fonts/Inter_18pt-LightItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/Inter_18pt-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('fonts/Inter_18pt-Italic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('fonts/Inter_18pt-Medium.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 500; font-display: swap;
  src: url('fonts/Inter_18pt-MediumItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('fonts/Inter_18pt-SemiBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 600; font-display: swap;
  src: url('fonts/Inter_18pt-SemiBoldItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('fonts/Inter_18pt-Bold.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 700; font-display: swap;
  src: url('fonts/Inter_18pt-BoldItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap;
  src: url('fonts/Inter_18pt-ExtraBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 800; font-display: swap;
  src: url('fonts/Inter_18pt-ExtraBoldItalic.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 900; font-display: swap;
  src: url('fonts/Inter_18pt-Black.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: italic; font-weight: 900; font-display: swap;
  src: url('fonts/Inter_18pt-BlackItalic.ttf') format('truetype'); }

/* ---------- Inter 24pt — subhead ---------------------------------------- */
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/Inter_24pt-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('fonts/Inter_24pt-Medium.ttf') format('truetype'); }
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('fonts/Inter_24pt-SemiBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('fonts/Inter_24pt-Bold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 800; font-display: swap;
  src: url('fonts/Inter_24pt-ExtraBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Sub'; font-style: normal; font-weight: 900; font-display: swap;
  src: url('fonts/Inter_24pt-Black.ttf') format('truetype'); }

/* ---------- Inter 28pt — display ---------------------------------------- */
@font-face { font-family: 'Inter Disp'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/Inter_28pt-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Inter Disp'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('fonts/Inter_28pt-SemiBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Disp'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('fonts/Inter_28pt-Bold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Disp'; font-style: normal; font-weight: 800; font-display: swap;
  src: url('fonts/Inter_28pt-ExtraBold.ttf') format('truetype'); }
@font-face { font-family: 'Inter Disp'; font-style: normal; font-weight: 900; font-display: swap;
  src: url('fonts/Inter_28pt-Black.ttf') format('truetype'); }

:root {
  /* COLOR — base tokens */
  --cw-black:         #0A0A0A;
  --cw-white:         #FFFFFF;
  --cw-grey-100:      #F5F5F5;
  --cw-grey-500:      #6B7280;
  --cw-indigo:        #4338CA;

  --cw-grey-50:       #FAFAFA;
  --cw-grey-200:      #E5E5E5;
  --cw-grey-300:      #D4D4D4;
  --cw-grey-700:      #374151;

  --cw-indigo-hover:  #3730A3;
  --cw-indigo-press:  #312E81;
  --cw-indigo-tint:   #EEF2FF;

  /* COLOR — semantic */
  --fg-primary:       var(--cw-black);
  --fg-secondary:     var(--cw-grey-500);
  --fg-inverse:       var(--cw-white);
  --fg-accent:        var(--cw-indigo);

  --bg-primary:       var(--cw-white);
  --bg-secondary:     var(--cw-grey-100);
  --bg-inverse:       var(--cw-black);
  --bg-accent:        var(--cw-indigo);

  --border-subtle:    var(--cw-grey-200);
  --border-strong:    var(--cw-black);
  --focus-ring:       var(--cw-indigo);

  /* TYPE */
  --font-sans:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-sub:     'Inter Sub', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-display: 'Inter Disp', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --fw-extrabold: 800;
  --fw-black:     900;

  --fs-hero:      72px;
  --fs-h1:        56px;
  --fs-h2:        40px;
  --fs-h3:        22px;
  --fs-body-lg:   18px;
  --fs-body:      16px;
  --fs-label:     14px;
  --fs-caption:   13px;
  --fs-eyebrow:   12px;

  --lh-hero:      0.96;
  --lh-heading:   1.08;
  --lh-sub:       1.25;
  --lh-body:      1.55;
  --lh-caption:   1.45;

  --tr-hero:      -0.03em;
  --tr-heading:   -0.02em;
  --tr-body:      0em;
  --tr-eyebrow:   0.12em;

  /* SPACING */
  --sp-0:   0;
  --sp-1:   4px;
  --sp-2:   8px;
  --sp-3:   12px;
  --sp-4:   16px;
  --sp-5:   24px;
  --sp-6:   32px;
  --sp-7:   48px;
  --sp-8:   64px;
  --sp-9:   96px;
  --sp-10:  128px;
  --sp-11:  192px;

  --container-max:    1240px;
  --container-gutter: var(--sp-7);
  --section-y:        var(--sp-10);

  /* RADII */
  --radius-0:    0;
  --radius-1:    2px;
  --radius-2:    4px;
  --radius-3:    8px;
  --radius-pill: 999px;

  /* ELEVATION */
  --shadow-none:  none;
  --shadow-sm:    0 1px 2px rgba(10, 10, 10, 0.04);
  --shadow-md:    0 4px 16px rgba(10, 10, 10, 0.06);
  --shadow-focus: 0 0 0 3px rgba(67, 56, 202, 0.25);

  /* MOTION */
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-entrance: cubic-bezier(0, 0, 0, 1);
  --ease-exit:     cubic-bezier(0.4, 0, 1, 1);
  --dur-fast:      120ms;
  --dur-base:      200ms;
  --dur-slow:      400ms;
}

html, body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--fg-primary);
  background: var(--bg-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv11", "ss01", "ss03";
}
