/*
Korean (한국어) typography and layout adjustments.

Loaded only by the pages under /ko/, after templatemo.css and custom.css.

The two language versions share one design. Rather than restyle it, this file
appends Korean faces (Noto Sans KR / Noto Serif KR) to the existing font stacks
so Latin runs -- "EPIC", author names, journal titles -- still render in Open
Sans and Playfair Display, while Hangul falls through to the Noto faces.
Everything else here compensates for the two ways Hangul differs from Latin at
the same nominal size: it sets a denser block, so it needs more leading, and it
has no hyphenation, so it needs keep-all to avoid breaking mid-word.
*/

/* ===== Font stacks ===== */
html,
body {
  font-family: 'Open Sans', 'Noto Sans KR', sans-serif;
}

/* templatemo.css pins these weight helpers with !important, so restate them. */
.light-300 {
  font-family: 'Open Sans', 'Noto Sans KR', sans-serif !important;
}
.regular-400 {
  font-family: 'Open Sans', 'Noto Sans KR', sans-serif !important;
}
.semi-bold-600 {
  font-family: 'Open Sans', 'Noto Sans KR', sans-serif !important;
}
.bold-800 {
  font-family: 'Open Sans', 'Noto Sans KR', sans-serif !important;
}

/* Mirrors the heading stack in custom.css, plus the Korean serif. */
.h1, .h2, .h3, h1, h2, h3, .display-3,
.banner-heading, .creative-heading, .pricing-header,
.epic-wordmark {
  font-family: 'Playfair Display', 'Noto Serif KR', Georgia, 'Times New Roman', serif;
}

/* ===== Line breaking =====
   Korean is written without hyphenation, and the default `break-word`
   behaviour splits words (어절) at arbitrary syllables. `keep-all` restricts
   breaks to spaces; `break-word` stays on as the escape hatch for long
   unbroken Latin tokens such as URLs. */
body {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* ===== Vertical rhythm =====
   Hangul syllable blocks fill more of the em box than Latin lowercase, so the
   same 1.5 line-height reads as cramped. */
p,
li,
.card-text,
.banner-body,
.team-member-caption {
  line-height: 1.8;
}

/* ===== Tracking =====
   Open Sans tracking set for Latin is too loose for Hangul at display sizes. */
.banner-heading,
.display-3,
.creative-heading,
.pricing-header,
.h2 {
  letter-spacing: -.02em;
}
.banner-tagline {
  letter-spacing: .01em;
}

/* ===== Navbar =====
   The English tagline runs 50 characters and needs 502px beside the wordmark,
   which is why index.html/about.html/positions.html hold it back to d-xxl-inline
   -- below 1400px there is no room for it, the three nav pills and the language
   switch on one row. The Korean rendering is 16 Hangul characters; at .9rem it
   measures 219px, so the whole navbar still fits on a single 74px row down to
   the 992px collapse point (measured at 1440/1200/992). The Korean pages
   therefore keep d-lg-inline and show the tagline a breakpoint earlier -- a
   deliberate locale difference, not a parity slip. */
#main_nav .navbar-brand .epic-nav-tagline {
  font-size: .9rem;
}

/* ===== Project cards =====
   The overlay captions sit in a fixed image area, so Korean labels have to
   wrap gracefully instead of pushing the pill out of the card. */
.service-work-content .btn {
  white-space: normal;
  font-size: .85rem;
}
.service-work-content .card-text {
  font-size: .95rem;
  line-height: 1.6;
  margin-bottom: 0;
}

/* ===== Alumni / visitor cards =====
   Three stacked lines of Korean institution names need a touch more room than
   the English originals. */
.partner-wap p {
  line-height: 1.7;
  margin-bottom: 0;
  padding: 0 .5rem;
}

/* ===== Positions cards ===== */
.pricing-table-heading {
  letter-spacing: -.01em;
}
.pricing-table ul.pricing-table-body li {
  line-height: 1.7;
  margin-bottom: .35rem;
}
