@charset "utf-8";

:root {
  /* Colors - Brand */
  --color-primary: #000000;
  --color-secondary: #FFFFFF;
  --color-accent: #000000;

  /* Colors - Surface */
  --color-bg: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-surface-muted: #F3F4F6;
  --color-surface-dark: #000000;

  /* Colors - Text */
  --color-text-base: #1A1A1A;
  --color-text-muted: #6B7280;
  --color-text-inverse: #FFFFFF;

  /* Typography - Stack */
  --font-display: 'Playfair Display', serif;
  --font-body: 'Inter', 'Pretendard', sans-serif;

  /* Typography - Scale */
  --font-size-hero: 4rem;
  --font-size-h1: 3rem;
  --font-size-h2: 2.25rem;
  --font-size-h3: 1.875rem;
  --font-size-h4: 1.5rem;
  --font-size-body: 1rem;
  --font-size-small: 0.875rem;
  --font-size-xs: 0.75rem;

  /* Shapes */
  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

  /* Spacing */
  --container-max: 1200px;
  --gutter: 1.5rem;
  --section-padding: 6rem;
}

/* Global Styles based on tokens */
body {
  font-family: var(--font-body);
  color: var(--color-text-base);
  background-color: var(--color-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  line-height: 1.1;
  color: var(--color-text-base);
}

.break-keep {
  word-break: keep-all;
}
