@font-face {
  font-family: 'Insaniburger';
  src: url('../fonts/insaniburger.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ── Color Palette ── */
  --color-bg:          #0a0a0a;
  --color-bg-elevated: #141414;
  --color-bg-card:     #1a1a1a;
  --color-surface:     #222222;
  --color-accent:      #FFFF00;
  --color-accent-dim:  #cccc00;
  --color-accent-glow: rgba(255, 255, 0, 0.15);
  --color-text:        #FFFFFF;
  --color-text-muted:  #a0a0a0;
  --color-text-dim:    #666666;
  --color-border:      #2a2a2a;
  --color-success:     #22c55e;
  --color-error:       #ef4444;

  /* ── Typography ── */
  --font-display:  'Insaniburger', 'Impact', sans-serif;
  --font-heading:  'Inter', 'Helvetica Neue', sans-serif;
  --font-body:     'Inter', 'Helvetica Neue', sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  2rem;
  --text-4xl:  2.5rem;
  --text-5xl:  3.5rem;
  --text-6xl:  5rem;
  --text-hero: clamp(3rem, 8vw, 8rem);

  --leading-tight:  1.1;
  --leading-snug:   1.3;
  --leading-normal: 1.6;

  --weight-normal:    400;
  --weight-medium:    500;
  --weight-semibold:  600;
  --weight-bold:      700;
  --weight-extrabold: 800;

  /* ── Spacing Scale ── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ── Border Radius ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:   0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md:   0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg:   0 8px 32px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 24px var(--color-accent-glow);

  /* ── Motion ── */
  --duration-fast:   150ms;
  --duration-base:   300ms;
  --duration-slow:   500ms;
  --duration-slower: 800ms;
  --ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:     cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Layout ── */
  --container-max: 1200px;
  --container-pad: var(--space-6);
  --section-pad-y: var(--space-24);

  /* ── 3D ── */
  --perspective:     1000px;
  --rotate-hover:    8deg;
  --translate-hover: 20px;
}

@media (max-width: 768px) {
  :root {
    --container-pad: var(--space-4);
    --section-pad-y: var(--space-16);
  }
}
