/* Korean screens only. Keep this after page styles; never vend it to global.
   Print uses the original base/report fonts, metrics and pagination. */
@media screen {
  body[data-kr-typography] {
    --kr-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --sans: var(--kr-font); --serif: var(--kr-font);
    font-family: var(--kr-font); font-size: 16px; font-weight: 400;
    line-height: 1.7; letter-spacing: -.01em;
  }
  /* Older page-specific font shorthands must not reintroduce a second family. */
  body[data-kr-typography] :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,summary,.brand,.brand span,.library-footer) {
    font-family: var(--kr-font)!important;
  }
  body[data-kr-typography] :is(h1,h2,h3,h4):not(.report *) { font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
  body[data-kr-typography] :is(.hero h1,.article>h1,.detail-hero h1,.compare-hero h1,.article-hero h1,.premium-offer h1,.consultation-introduction h1,.toss-heading h1) {
    font-size: clamp(30px,4.2vw,44px); line-height: 1.3; font-weight: 700;
  }
  body[data-kr-typography].library-product .premium-offer h1 { font-size: clamp(30px,4.2vw,44px); line-height: 1.3; max-width: 12em; }
  body[data-kr-typography].library-home :is(h2,.premium-band h2,.closing h2,.library-guides-intro h2,.articles-home h2) {
    font-size: clamp(26px,3vw,34px); line-height: 1.35; font-weight: 700;
  }
  body[data-kr-typography].library-home :is(.reason-grid h3,.steps h3,.article-card h3) { font-size: 23px; line-height: 1.45; font-weight: 600; }
  body[data-kr-typography].library-content :is(.article>section>h2,.paid-head h2,.bundle-contents-heading h3,.premium-bundle-offer h2) {
    font-size: clamp(23px,2.6vw,28px); line-height: 1.4; font-weight: 600;
  }
  body[data-kr-typography] :is(.type-card-title strong,.guide-card h2,.expert-card h2,.toss-form-heading h2) { font-size: 24px; font-weight: 600; line-height: 1.4; }
  body[data-kr-typography] :is(.eyebrow,.section-tag,.toss-eyebrow,.question-kicker) { font-size: 14px; font-weight: 500; letter-spacing: .015em; }
  body[data-kr-typography] :is(.hero-lead,.premium-offer-summary,.article>.lead,.detail-hero>.lead,.consultation-introduction .intro) { font-family: var(--kr-font); font-size: 17px; line-height: 1.75; font-weight: 400; }
  body[data-kr-typography] :is(.article-prose,.article section>p,.guide-content p) { line-height: 1.75; }
  body[data-kr-typography] :is(button,.button,.primary,.secondary,.nav-cta,.text-button,.report-print) { font-weight: 600!important; letter-spacing: -.01em; }
  body[data-kr-typography] :is(.button,.primary,.secondary,.nav-cta,.text-button) { font-size: 16px; }
  body[data-kr-typography] :is(input,textarea,select) { font-size: 16px; }
  body[data-kr-typography] :is(.library-nav a,.library-footer,.library-footer p,.library-footer small,.library-footer a,.toss-consent,.toss-form-heading p,.premium-inquiry-note,.preview-note,.save-note,.result-note,.candidate p,.candidate .rank) { font-size: 14px; }
  body[data-kr-typography] :is(.toss-order small,.toss-summary-label,.premium-price span,.premium-license-button small) { font-size: 14px; }
  body[data-kr-typography] :is(.toss-order strong,.premium-price strong) { font-weight: 700; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
  body[data-kr-typography] :is(.library-header .brand span,.library-footer .brand span,.site-header .brand span) { font-weight: 700; letter-spacing: -.025em; }
  body[data-kr-typography] .library-nav a { font-weight: 500; }
  body[data-kr-typography] :is(.answer label,.scale-hint,.privacy) { font-size: 14px; }
  body[data-kr-typography] .answer label span { max-width: 100%; font-size: 14px; line-height: 1.35; word-break: keep-all; overflow-wrap: anywhere; }
  body[data-kr-typography] #answers:not(.answers-10) .answer label span { min-height: 2.7em; display: flex; align-items: center; justify-content: center; }
  /* On-screen reports keep their document geometry. Only the font family changes;
     the screen media boundary leaves all original print metrics intact. */
  body[data-kr-typography] :is(.report,.report-preview,.report-sample) { --sans: var(--kr-font); --serif: var(--kr-font); }
  @media (max-width: 600px) {
    body[data-kr-typography] :is(.type-card-title strong,.guide-card h2,.expert-card h2,.toss-form-heading h2) { font-size: 22px; }
    body[data-kr-typography].library-home :is(.reason-grid h3,.steps h3,.article-card h3) { font-size: 22px; }
    body[data-kr-typography] .library-footer { line-height: 1.8; }
  }
}
