/* ==========================================================================
   HANARO — Korean typography overrides. Loaded after home.css / site.css
   on /ko/ pages only.

   design.md §4: "if a KR version is built, use IBM Plex Sans KR for body and
   keep Archivo for Latin display only. Never set Korean in a condensed or
   expanded face." This file is that rule, implemented.
   ========================================================================== */

:root {
  --display: 'IBM Plex Sans KR', 'Pretendard', 'Apple SD Gothic Neo',
             'Malgun Gothic', system-ui, sans-serif;
  --body:    'IBM Plex Sans KR', 'Pretendard', 'Apple SD Gothic Neo',
             'Malgun Gothic', system-ui, sans-serif;
}

/* Archivo has no Hangul, but the brand mark is Latin and stays in it */
.hero-wordmark,
.topbar-mark {
  font-family: 'Archivo', var(--display);
}

/* Hangul must not be stretched, condensed, or negatively tracked. Archivo's
   wdth axis is meaningless here, and tight tracking closes up the syllable
   blocks until they are hard to read. */
.h-section,
.h-sub,
.hero-thesis {
  font-variation-settings: normal;
  letter-spacing: -0.01em;
  line-height: 1.28;
  word-break: keep-all;      /* break between words, never inside one */
}
.hero-thesis { line-height: 1.16; }
.h-section { max-width: 24ch; }

/* Korean body copy needs more leading than Latin at the same size */
body { line-height: 1.78; }
.prose, .hero-lede { word-break: keep-all; }

/* Korean breaks after ANY syllable by default, so "부스터 연소 종료" split as
   "부스터 연소 종" / "료". keep-all forces the break to a space instead. */
.gets-val, .deviation, .contact-val, .role-remit, .rec-name, .rec-sub,
.mission-meta, .seq-name, .seq-state, .seq-caption, .shot figcaption,
.tag, .btn, .state, .code, .stamp, .fig-label { word-break: keep-all; }
/* added for the Latin word "SEPARATION"; it forces syllable breaks in Korean */
.seq-name { overflow-wrap: normal; }

/* 15ch resolves against the Latin "0", not a Hangul block, and clips the
   hand-set thesis while the KR webfont is still loading */
.hero-thesis { max-width: none; }

/* the vw term in the base clamp is dead below 437px, so it cannot shrink */
@media (max-width: 380px) { .hero-thesis { font-size: 2rem; } }

/* home.css sets .topbar .btn letter-spacing 0.12em at (0,2,0), which beat the
   0.01em above and pushed the Korean CTA past the bar at 375px */
@media (max-width: 560px) { .topbar .btn { letter-spacing: 0.01em; } }
/* 1ch is the width of the Latin "0" (0.6em), NOT a Hangul block (1.0em).
   So 46ch = 27.6em = about 27 syllables, which is a comfortable Korean
   measure. The number is right; do not "correct" it by counting syllables. */
.prose { max-width: 46ch; }
.hero-lede { max-width: 34ch; }
.role-remit { max-width: 46ch; }

/* ==========================================================================
   The utility face carries uppercase and 0.16-0.2em tracking. Both are wrong
   for Hangul: uppercase is a no-op, and tracking pulls syllable blocks apart.
   Korean labels move to the body face; numerals keep the instrument face.
   ========================================================================== */
.eyebrow,
.fig-label,
.fig-prov,
.gets-key,
.seq-name,
.seq-state,
.seq-caption,
.seq-scope,
.spine-name,
.tag,
.mission-meta,
.contact-list dt,
.footer-in,
.form-note,
.record-more,
.hero-backers,
.deviation-key,
.field label,
.topbar-nav a,
.map-note,
.shot figcaption,
.rec-meta,
.rec-sub,
.role-title,
.stamp,
.state,
.code,
.rec-spec dt,
.rec-spec .prov,
.rec-shot figcaption,
.skip,
.footer-meta,
.btn {
  font-family: var(--body);
  text-transform: none;
  letter-spacing: 0.01em;
  font-weight: 500;
}

/* figures, dates and codes stay in the mono face: they are instrument output */
.fig-n,
.rec-year,
.rec-spec dd,
.spine-idx {
  font-family: var(--util);
  letter-spacing: 0;
}
/* "31년" put a Hangul unit inside the mono face, which has no Hangul.
   (0,2,0) to beat home.css's .fig-n .unit. */
.fig-n .unit { font-family: var(--body); letter-spacing: 0.01em; font-size: 0.42em; }

/* ko.css sets body line-height 1.78 but home.css sets 1.55 on the element */
.hero-lede { line-height: 1.72; }
.deviation { line-height: 1.75; }

/* ==========================================================================
   Hangul needs a HIGHER size floor than Latin. An 11px Latin label carries
   1-2 strokes in a ~5.5px x-height; an 11px Hangul syllable carries a 2-3
   component block in an 11x11 box. The 11px floor in §3 was written for
   tracked caps and does not transfer.
   ========================================================================== */
.fig-prov, .gets-key, .seq-name, .seq-state, .seq-caption, .seq-scope,
.mission-meta, .tag, .contact-list dt, .field label, .deviation-key,
.shot figcaption, .form-note, .hero-backers, .fig-label, .footer-meta,
.state, .code, .rec-spec dt, .rec-spec .prov, .rec-shot figcaption, .skip,
.stamp, .rec-meta, .role-title, .topbar-nav a, .record-more, .map-note,
.eyebrow, .section--hero .eyebrow, .footer-in {
  font-size: 0.9375rem;
}
/* one size for every small grey label on the page, the hero included:
   the old hero eyebrow ran to 23px and the captions to 13px */
.section--hero .eyebrow { letter-spacing: 0.01em; }
.topbar-sub { font-size: 0.9375rem; }
/* the subtitle under a vehicle name is reading text, not a label */
.rec-sub { font-size: 1.0625rem; letter-spacing: 0; font-weight: 500; }
.account-label { font-size: 0.9375rem; }
.spine-name { font-size: 0.875rem; }
.tag { padding: 5px 9px; }
.seq-name { line-height: 1.45; }
