/* variables.css — Thawcraft brand tokens.
   All colours, typography, spacing, and radii live here.
   Never hardcode values elsewhere — reference these tokens only. */

:root {
  /* --- Brand colours (locked) --- */
  --color-cyan: #00C2FF;          /* Electric Cyan */
  --color-orange: #C85A00;        /* Burned Orange */
  --color-navy: #0F172A;          /* Deep Navy — background */
  --color-ring: #94A3B8;          /* Ring / secondary neutral */
  --color-wordmark: #E5E7EB;      /* Wordmark text */
  --color-white: #FFFFFF;

  /* --- Semantic aliases --- */
  --color-bg: var(--color-navy);
  --color-bg-elevated: #16223D;
  --color-text: var(--color-wordmark);
  --color-text-muted: var(--color-ring);
  --color-accent-primary: var(--color-cyan);
  --color-accent-secondary: var(--color-orange);
  --color-border: rgba(148, 163, 184, 0.18);
  --color-border-strong: rgba(148, 163, 184, 0.35);

  /* --- Typography --- */
  --font-primary: "Poppins", "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --letter-spacing-tight: -0.045em;
  --letter-spacing-normal: 0;

  /* Type scale */
  --fs-100: 0.75rem;
  --fs-200: 0.875rem;
  --fs-300: 1rem;
  --fs-400: 1.125rem;
  --fs-500: 1.375rem;
  --fs-600: 1.75rem;
  --fs-700: 2.25rem;
  --fs-800: clamp(2.5rem, 4vw + 1rem, 3.5rem);
  --fs-900: clamp(2.75rem, 6vw + 1rem, 4.75rem);

  --line-tight: 1.1;
  --line-snug: 1.25;
  --line-normal: 1.55;
  --line-relaxed: 1.7;

  /* Spacing scale (4px base) */
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* Layout */
  --container-max: 1200px;
  --container-narrow: 880px;
  --container-pad: var(--space-5);

  /* Radii */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* Shadow / glow */
  --shadow-card: 0 6px 24px rgba(0, 0, 0, 0.35);
  --glow-cyan: 0 0 0 1px rgba(0, 194, 255, 0.35), 0 4px 24px rgba(0, 194, 255, 0.18);

  /* Motion */
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --duration-fast: 140ms;
  --duration-base: 240ms;
  --duration-slow: 480ms;

  /* Z-index */
  --z-canvas: 0;
  --z-content: 1;
  --z-nav: 100;
  --z-overlay: 200;
}

/* --- Local fonts — files served from assets/fonts/ only, no CDN --- */
@font-face {
  font-family: "Poppins";
  src: url("../fonts/poppins-v24-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("../fonts/poppins-v24-latin-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk-v22-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk-v22-latin-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* --- Base body --- */
body {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--fs-300);
  line-height: var(--line-normal);
  letter-spacing: var(--letter-spacing-normal);
  color: var(--color-text);
  background-color: var(--color-bg);
}
