/* Locally hosted reading fonts; the Latin delivery subset retains the same glyphs. */
@font-face {
  font-family: "AFS Reading Latin";
  font-style: normal;
  font-display: swap;
  font-weight: 45 920;
  src: url("assets/fonts/afs-reading-latin/afs-reading-latin-854e2e335f.woff2") format("woff2");
  unicode-range: U+20-17F, U+2000-206F, U+20A0-20CF, U+2190-2199, U+25A0-25CF;
}

:root {
  --afs-font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
  font-family: var(--afs-font-sans);
  font-synthesis: none;
}

html[lang="en"] {
  --afs-font-sans: "AFS Reading Latin", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
}

body {
  font-family: var(--afs-font-sans);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: -.008em;
}

button, input, select, textarea { font-family: inherit; }

.magazine-site-header .wordmark strong { letter-spacing: .015em; font-weight: 750; }
.magazine-site-header .wordmark span { letter-spacing: .07em; }
.magazine-nav .nav-item { font-size: 14px; font-weight: 550; line-height: 1.4; min-height: 44px; }
.magazine-nav #saved-count { font-size: 11px; }
.magazine-header-tools .search-open, .magazine-header-tools select { font-size: 13px; }

.page-heading h1, .reading-article h1, .watch-detail-heading h1 {
  font-size: clamp(34px, 4.2vw, 60px);
  font-weight: 680;
  line-height: 1.16;
  letter-spacing: -.035em;
}

.page-heading > p, .lead-text { line-height: 1.8; }
.page-heading > p { font-size: 15px; }

.section-heading h2, .magazine-section > .section-heading h2,
html[lang="ko"] .section-heading h2 {
  font-size: clamp(27px, 2.6vw, 36px);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.section-heading .eyebrow, .magazine-section > .section-heading .eyebrow,
.story-top > span, .watch-card-kicker, .magazine-masthead {
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .06em;
}

.section-heading .text-button, .magazine-section > .section-heading .text-button,
.filters button, .journal-filters .filters a, .category-bar .small-label {
  font-size: 13px;
  line-height: 1.5;
}

.story-card h3, .magazine-story-grid .story-card h3,
.watch-card-copy h3, .watch-card-live .watch-card-copy h3,
html[lang="ko"] .story-card h3 {
  font-size: 24px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.story-card p, .magazine-story-grid .story-card > p,
.watch-card-copy p, .watch-card-live .watch-card-copy p,
.brand-card p, .magazine-section-intro {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: -.008em;
}

.story-meta, .reading-meta, .watch-card-meta,
.magazine-media.brand-media figcaption,
.reading-article > .magazine-media.brand-media figcaption {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0;
}

.brand-card h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.025em; }
.magazine-brand-wall > a, .magazine-directory-section .magazine-brand-wall > a { letter-spacing: -.025em; }
.article-content { font-size: 18px; line-height: 1.85; letter-spacing: -.006em; }
.article-content h2 { font-size: 29px; font-weight: 650; line-height: 1.4; letter-spacing: -.025em; }
.article-content h3 { font-size: 23px; font-weight: 650; line-height: 1.45; letter-spacing: -.02em; }
.sources { font-size: 15px; }
.sources h2 { letter-spacing: -.02em; }
.sources ol { font-size: 14px; line-height: 1.8; }
footer, footer .text-button { font-size: 12px; line-height: 1.6; }
.reading-breadcrumbs { margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.reading-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 5px 9px; list-style: none; padding: 0; margin: 0; }
.reading-breadcrumbs li { display: inline; min-width: 0; }
.reading-breadcrumbs li + li:before { content: "/"; margin-right: 9px; color: var(--muted); }
.reading-breadcrumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.reading-breadcrumbs a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
html[lang="ko"] .reading-breadcrumbs { word-break: keep-all; overflow-wrap: normal; }

/* Korean words stay intact; headings use shorter measures rather than tight tracking. */
html[lang="ko"] body { letter-spacing: -.005em; }
html[lang="ko"] .page-heading h1,
html[lang="ko"] .reading-article h1,
html[lang="ko"] .watch-detail-heading h1,
html[lang="ko"] .brand-card h2,
html[lang="ko"] .story-card h3,
html[lang="ko"] .article-content h2,
html[lang="ko"] .article-content h3 {
  letter-spacing: -.02em;
  word-break: keep-all;
  overflow-wrap: normal;
}
html[lang="ko"] .story-card p,
html[lang="ko"] .watch-card-copy p,
html[lang="ko"] .article-content p {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* Keep the existing WordPress Identity serif option available. */
.typography-editorial .reading-article h1,
.typography-editorial .story-card h3,
.typography-editorial .feature h2 {
  font-family: Georgia, "Noto Serif KR", "Batang", serif;
  font-weight: 600;
  letter-spacing: -.02em;
}

@media (max-width: 1100px) {
  .magazine-nav { gap: 16px; }
  .magazine-nav .nav-item { font-size: 13px; }
  .story-card h3, .magazine-story-grid .story-card h3,
  .watch-card-copy h3, .watch-card-live .watch-card-copy h3,
  html[lang="ko"] .story-card h3 { font-size: 22px; }
}

@media (max-width: 740px) {
  .magazine-nav { min-width: 0; max-width: 100%; overflow-x: auto; gap: 20px; justify-content: flex-start; }
  .magazine-nav .nav-item { flex: 0 0 auto; font-size: 14px; }
  .page-heading h1, .reading-article h1, .watch-detail-heading h1 { font-size: 36px; line-height: 1.2; }
  .article-content { font-size: 17px; line-height: 1.85; }
  .article-content h2 { font-size: 26px; }
  .article-content h3 { font-size: 22px; }
  .story-card h3, .magazine-story-grid .story-card h3,
  .watch-card-copy h3, .watch-card-live .watch-card-copy h3,
  html[lang="ko"] .story-card h3 { font-size: 24px; }
}

@media (max-width: 420px) {
  .brand-grid { grid-template-columns: minmax(0, 1fr); }
  .brand-card h2 { font-size: 28px; }
  .page-heading h1, .reading-article h1, .watch-detail-heading h1 { font-size: 32px; }
  .story-card h3, .magazine-story-grid .story-card h3,
  .watch-card-copy h3, .watch-card-live .watch-card-copy h3,
  html[lang="ko"] .story-card h3 { font-size: 22px; }
  .magazine-site-header .wordmark strong { font-size: 17px; }
  .magazine-site-header .wordmark span { font-size: 9px; }
}
.brand-reading{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.article-brand-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:28px 0;font-size:14px;line-height:1.6}
.article-brand-links>span{color:var(--muted)}
.article-brand-links a{text-decoration:underline;text-underline-offset:4px}
.brand-profile h2:first-child{margin-top:0}
.brand-card .brand-summary{font-size:15px;line-height:1.7;margin-bottom:34px}

/* Native disclosure and fragment links work without JavaScript, including saved copies. */
.reading-sections { margin: 24px 0 28px; border-block: 1px solid var(--line); font-size: 15px; line-height: 1.6; }
.reading-sections summary { min-height: 48px; padding: 12px 2px; cursor: pointer; font-weight: 650; }
.reading-sections ol { margin: 0 0 14px; padding-left: 26px; }
.reading-sections li { padding-left: 3px; }
.reading-sections a { display: block; padding: 9px 0; min-height: 44px; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.reading-sections a:hover { color: var(--blue); }
.reading-sections a:focus-visible, .reading-sections summary:focus-visible,
.article-content h2[id]:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.article-content h2[id] { scroll-margin-top: 24px; }
html[lang="ko"] .reading-sections { word-break: keep-all; }
@media print { .reading-sections { display: none; } }
