/**
 * VATECH Asia Customer Portal Typography System
 * Font-face declarations for Vatech Sans & Pretendard, Typographic Utilities
 */

/* ==========================================================================
   Font-Face Declarations: Vatech Sans (Display & Brand Voice)
   ========================================================================== */
@font-face {
  font-family: 'Vatech Sans';
  src: url('../fonts/vatech-sans/Vatech-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vatech Sans';
  src: url('../fonts/vatech-sans/Vatech-Regular.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vatech Sans';
  src: url('../fonts/vatech-sans/Vatech-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vatech Sans';
  src: url('../fonts/vatech-sans/Vatech-ExtraLight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* ==========================================================================
   Font-Face Declarations: Pretendard (UI & Body Legibility)
   ========================================================================== */
@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/pretendard/Pretendard-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/pretendard/Pretendard-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/pretendard/Pretendard-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/pretendard/Pretendard-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ==========================================================================
   Typographic Base & Helpers
   ========================================================================== */
body {
  font-family: var(--font-body, 'Pretendard', sans-serif);
  color: var(--color-text-secondary);
  line-height: 1.55;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Display Headings */
h1, h2, h3, h4, .font-display, .type-display {
  font-family: var(--font-display, 'Vatech Sans', sans-serif);
  font-weight: 700;
  color: var(--color-text-primary);
  letter-spacing: -0.025em;
}

/* Section Eyebrow Labels */
.type-eyebrow, .nav-group-label {
  font-family: var(--font-body, 'Pretendard', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

/* Subheadings & Card Titles */
.type-subheading {
  font-family: var(--font-body, 'Pretendard', sans-serif);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--color-text-primary);
}

/* Stat & Metric Numbers */
.type-stat-number {
  font-family: var(--font-display, 'Vatech Sans', sans-serif);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

/* Monospace UID / File hashes */
.type-code, .type-mono {
  font-family: var(--font-mono);
  font-size: 0.85em;
  color: var(--color-text-light);
}
