/* ==========================================================================
   타이포그래피 — 제목: Gowun Batang(세리프) / 본문: Pretendard
   에디토리얼: 초대형 디스플레이 · 인덱스 번호 · 강한 대비
   ========================================================================== */

body {
  font-size: var(--text-body);
  line-height: 1.7;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* 한글: 음절 중간에서 절대 끊기지 않도록. 어절(띄어쓰기) 경계에서만 줄바꿈.
     overflow-wrap는 normal로 둬야 keep-all 보호가 폭이 좁아져도 유지된다.
     (break-word는 폭 부족 시 음절을 강제로 쪼개므로 사용 금지) */
  word-break: keep-all;
  overflow-wrap: normal;
}

h1,
h2,
h3,
.serif {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.02em;
  /* 줄을 고르게 분배해 한 단어만 떨어지는 어색한 줄바꿈 방지 */
  text-wrap: balance;
}

.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold-dark);
}
.on-dark .eyebrow,
.section--cine .eyebrow {
  color: var(--gold);
}

.mega {
  font-size: var(--text-mega);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.hero-title {
  font-size: var(--text-hero);
  line-height: 1.12;
}
.display {
  font-size: var(--text-display);
  line-height: 1.1;
}
.title {
  font-size: var(--text-title);
}

/* 에디토리얼 인덱스 번호 */
.index-num {
  font-family: var(--font-serif);
  font-size: var(--text-index);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--gold-dark);
  -webkit-text-stroke: 0;
}
.index-num--outline {
  color: transparent;
  -webkit-text-stroke: 1.2px var(--gray-500);
}

/* 에디토리얼 라벨 / kicker */
.kicker {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-dark);
}

.lead {
  font-size: var(--text-lead);
  line-height: 1.55;
  color: var(--color-text-muted);
  text-wrap: pretty;
}
.text-muted {
  color: var(--color-text-muted);
}
.balance {
  text-wrap: balance;
}

.accent {
  color: var(--gold);
}
.accent-deep {
  color: var(--gold-dark);
}

/* 다크 위 */
.on-dark,
.section--cine {
  color: var(--white);
}
.on-dark .lead,
.on-dark .text-muted,
.section--cine .lead,
.section--cine .text-muted {
  color: rgba(255, 255, 255, 0.65);
}

/* 에디토리얼 섹션 헤더: 좌측 정렬 + 굵은 hairline */
.ed-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-line);
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  flex-wrap: wrap;
}
.ed-head__title {
  font-size: var(--text-title);
}
.ed-head__meta {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  max-width: 32ch;
}
.section--cine .ed-head {
  border-color: rgba(255, 255, 255, 0.16);
}
