@font-face {
  font-family: 'KCC-Ahnchangho';
  src: url('../fonts/KCC-Ahnchangho.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'NanumMyeongjo';
  src: url('../fonts/NanumMyeongjo.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NanumMyeongjo';
  src: url('../fonts/NanumMyeongjoBold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NanumMyeongjo';
  src: url('../fonts/NanumMyeongjoExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'OptimusPrinceps';
  src: url('../fonts/OptimusPrinceps.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'OptimusPrinceps';
  src: url('../fonts/OptimusPrincepsSemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Playball';
  src: url('../fonts/Playball.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SUIT';
  src: url('../fonts/SUIT-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* 폰트 패밀리 유틸 */
.font-ahnchangho { font-family: 'KCC-Ahnchangho', sans-serif; }
.font-nanum { font-family: 'NanumMyeongjo', serif; }
.font-optimus { font-family: 'OptimusPrinceps', serif; }
.font-playball { font-family: 'Playball', cursive; }
.font-suit { font-family: 'SUIT', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; }

/* 프로젝트 기본 조합 */
.font-ambassador { font-family: 'SUIT', 'NanumMyeongjo', system-ui, -apple-system, 'Segoe UI', Roboto, Arial; }

/* 범용 굵기 유틸 (HTML에 class로 적용) */
.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900 !important; }

/* 의미 기반 굵기 클래스 */
.weight-light { font-weight: 300 !important; }
.weight-regular { font-weight: 400 !important; }
.weight-medium { font-weight: 500 !important; }
.weight-semibold { font-weight: 600 !important; }
.weight-bold { font-weight: 700 !important; }
.weight-heavy { font-weight: 800 !important; }

/* 폰트별 권장 굵기 클래스 (해당 폰트의 실제 제공 굵기로 매핑) */
.font-nanum--regular {font-family: 'NanumMyeongjo', serif;font-weight: 400;font-size: 0.8rem;}
.font-nanum--bold { font-family: 'NanumMyeongjo', serif; font-weight: 700; }
.font-nanum--extrabold { font-family: 'NanumMyeongjo', serif; font-weight: 800; }

.font-optimus--regular { font-family: 'OptimusPrinceps', serif; font-weight: 400; }
.font-optimus--semibold { font-family: 'OptimusPrinceps', serif; font-weight: 600; }

.font-suit--light { font-family: 'SUIT', system-ui, -apple-system, 'Segoe UI', Roboto, Arial; font-weight: 300; }

/* 사용 예: font-ambassador + 굵기 조합 */
/* <p class="font-ambassador fw-700">굵은 본문</p> */

/* 접근성 권장: 텍스트 렌더링 개선 */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: 'NanumMyeongjo';}