*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.5;
  color: var(--color-text-primary);
  background: var(--color-bg-white);
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
input, textarea, select { font: inherit; color: inherit; }
table { border-collapse: collapse; width: 100%; }

:root {
  /* Colors */
  --color-bg-dark: #0D0D0D;
  --color-bg-surface: #1A1A1A;
  --color-bg-light: #F5F5F5;
  --color-bg-white: #FFFFFF;
  --color-text-primary: #111111;
  --color-text-inverse: #FFFFFF;
  --color-text-muted: #9A9A9A;
  --color-brand-red: #ED1C24;
  --color-brand-red-dark: #C4141B;
  --color-accent-youtube: #FF0000;

  /* Typography */
  --font-sans: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --fs-display: clamp(2rem, 4vw, 3rem);
  --fs-h1: clamp(1.75rem, 3vw, 2.5rem);
  --fs-h2: clamp(1.5rem, 2.5vw, 2rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;

  /* Layout */
  --max-container: 1200px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;

  /* Motion */
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-fast: 150ms;
  --dur-base: 300ms;
  --dur-slow: 600ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
