/* Loupetron — Design Tokens
   Ported from Design/tokens/*.css (source of truth for the brand system).
   Only the fonts this site actually uses (Changa One, Inter) are declared here. */

@font-face {
  font-family: 'Changa One';
  src: url('../fonts/ChangaOne-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Changa One';
  src: url('../fonts/ChangaOne-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter-Variable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter-Variable-Italic.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Primary */
  --color-accent:        #FF2600; /* Loupetron Red — emphasis only, never a background fill */
  --color-accent-hover:  #E62200;
  --color-dark:          #111111;
  --color-white:         #FFFFFF;

  /* Secondary */
  --color-lens-grey:     #867B7B;
  --color-mid-grey:      #4D4D4D;
  --color-highlight:     #E4E4E4;
  --color-neutral:       #D9D9D9;

  /* Illustration tints */
  --color-blush-light:   #FCE2E2;
  --color-blush-mid:     #ECC8C8;

  /* Semantic aliases */
  --surface-dark:        var(--color-dark);
  --text-on-dark:        var(--color-white);
  --surface-light:       var(--color-white);
  --text-on-light:       var(--color-dark);
  --border-subtle:       var(--color-neutral);
  --text-secondary:      var(--color-lens-grey);
  --focus-ring:          var(--color-accent);

  /* Fonts */
  --font-display: 'Changa One', sans-serif; /* wordmark only — never other words */
  --font-body:    'Inter', sans-serif;

  --font-weight-regular: 400;
  --font-weight-medium:  500;
  --font-weight-bold:    700;
  --font-weight-black:   900;

  --text-h1:        clamp(2rem, 1.2rem + 3.5vw, 2.5rem);
  --text-h2:         clamp(1.75rem, 1.3rem + 2vw, 2.5rem);
  --text-body-lg:   1.19rem;
  --text-body:      1.0625rem;
  --text-caption:   0.875rem;

  --line-height-tight:   1.1;
  --line-height-heading: 1.2;
  --line-height-body:    1.5;

  --letter-spacing-tagline: 0.08em;

  /* Spacing — 8px base grid; 4px only for micro-adjustments */
  --space-xs:  4px;
  --space-sm:  8px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;

  --grid-margin-x: clamp(20px, 4vw, 64px);

  /* Radii — sparing, UI components only, never on logo/wordmark */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-pill: 999px;

  --border-width-default: 2px;

  --shadow-sm: 0 1px 2px rgba(17,17,17,0.08);
  --shadow-md: 0 4px 12px rgba(17,17,17,0.12);
  --shadow-lg: 0 12px 32px rgba(17,17,17,0.18);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast:    120ms;
  --duration-default: 200ms;

  /* Circuit pattern (ghost variant — white traces on dark surfaces) */
  --circuit-color-ghost:   var(--color-white);
  --circuit-opacity-ghost: 0.2;
  --circuit-size-standard: 256px;
}
