/* =========================================================
   K-MIRACLE MEDIA PAGE FONT / RESPONSIVE GUARD v1.5.42
   Scope: ONLY .kmmedia-page

   Goals
   1) never affect Main Home (.km-main / .kmmedia-home), header or footer
   2) desktop must remain desktop above 820px
   3) mobile shell width is preserved; only article inner padding is slightly reduced
   4) normal copy = Paperlogy 4 Regular / 400
   5) headings, labels and editor Bold = Paperlogy 5 Medium / 500
   6) Elementor/theme/legacy !important rules cannot shrink/grow Media typography
   ========================================================= */

@font-face{
  font-family:'KMMediaPaperlogyGuard';
  src:
    local('Paperlogy 4 Regular'),
    local('Paperlogy-4Regular'),
    url('https://k-miracle.net/wp-content/uploads/2025/12/Paperlogy-4Regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'KMMediaPaperlogyGuard';
  src:
    local('Paperlogy 5 Medium'),
    local('Paperlogy-5Medium'),
    url('https://k-miracle.net/wp-content/uploads/2025/12/Paperlogy-5Medium.ttf') format('truetype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

/* ---------- MEDIA PAGE ONLY: family + real 400 base ---------- */
html body .kmmedia-page,
html body .kmmedia-page *,
html body .elementor .kmmedia-page,
html body .elementor .kmmedia-page *{
  font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
  font-synthesis:none!important;
}

/* IMPORTANT: exact specificity override for the old
   html body .elementor .kmmedia-page * {font-weight:500!important}. */
html body .kmmedia-page *,
html body .elementor .kmmedia-page *{
  font-weight:400!important;
}

/* 500 is reserved for semantic headings / labels / actual Bold. */
html body .kmmedia-page :is(
  h1,h2,h3,h4,h5,h6,
  strong,b,
  button,
  .kmmedia-tab,
  .kmmedia-write,
  .kmmedia-archive-head__eyebrow,
  .kmmedia-detail__category,
  .kmmedia-card__title,
  .kmmedia-archive-feature__category,
  .kmmedia-archive-feature h3,
  .kmmedia-preview-card__title,
  .kmmedia-mobile-storyrow__category,
  .kmmedia-mobile-storyrow h4,
  .kmmedia-mobile-feature__category,
  .kmmedia-mobile-feature h3,
  .kmmedia-mobile-editorial-slide h3,
  .kmmedia-sidebar__title
),
html body .elementor .kmmedia-page :is(
  h1,h2,h3,h4,h5,h6,
  strong,b,
  button,
  .kmmedia-tab,
  .kmmedia-write,
  .kmmedia-archive-head__eyebrow,
  .kmmedia-detail__category,
  .kmmedia-card__title,
  .kmmedia-archive-feature__category,
  .kmmedia-archive-feature h3,
  .kmmedia-preview-card__title,
  .kmmedia-mobile-storyrow__category,
  .kmmedia-mobile-storyrow h4,
  .kmmedia-mobile-feature__category,
  .kmmedia-mobile-feature h3,
  .kmmedia-mobile-editorial-slide h3,
  .kmmedia-sidebar__title
){
  font-weight:500!important;
}

/* Editor / translator wrappers inherit instead of creating another size. */
html body .kmmedia-page :is(p,li,h1,h2,h3,h4,h5,h6) :is(span,font,em,a),
html body .elementor .kmmedia-page :is(p,li,h1,h2,h3,h4,h5,h6) :is(span,font,em,a){
  font-size:inherit!important;
  line-height:inherit!important;
}

html body .kmmedia-page :is(p,li) :is(strong,b),
html body .elementor .kmmedia-page :is(p,li) :is(strong,b){
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:500!important;
}

html body .kmmedia-page{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

/* =========================================================
   DESKTOP MODE LOCK
   A mobile renderer must never be exposed on a real desktop viewport.
========================================================= */
@media(min-width:821px){
  html body .kmmedia-page .kmmedia-desktop-results{
    display:block!important;
  }
  html body .kmmedia-page .kmmedia-mobile-results{
    display:none!important;
  }

  /* Desktop type safety floor/ceiling. */
  html body .kmmedia-page .kmmedia-archive-head h2{
    font-size:clamp(28px,2.35vw,34px)!important;
    line-height:1.16!important;
  }
  html body .kmmedia-page .kmmedia-archive-head p{
    font-size:15.5px!important;
    line-height:1.62!important;
  }
  html body .kmmedia-page .kmmedia-card__title,
  html body .kmmedia-page .kmmedia-card__title a{
    font-size:16.5px!important;
    line-height:1.46!important;
  }
  html body .kmmedia-page .kmmedia-card__excerpt{
    font-size:14.5px!important;
    line-height:1.62!important;
  }
}

/* =========================================================
   MOBILE FINAL LOCK — MEDIA PAGE ONLY
   NOTE: no .kmmedia-shell width/padding override.
========================================================= */
@media(max-width:820px){
  html body .kmmedia-page .kmmedia-desktop-results{
    display:none!important;
  }
  html body .kmmedia-page .kmmedia-mobile-results{
    display:block!important;
  }

  /* ---------- archive / category headings ---------- */
  html body .kmmedia-page .kmmedia-mobile-archive-head > span,
  html body .kmmedia-page .kmmedia-mobile-storylist > header > span,
  html body .kmmedia-page .kmmedia-mobile-headlines > header > span,
  html body .kmmedia-page .kmmedia-section-preview__head > div > span{
    font-size:13.3px!important;
    line-height:1.35!important;
    font-weight:500!important;
  }

  html body .kmmedia-page .kmmedia-mobile-archive-head h2{
    font-size:27.3px!important;
    line-height:1.16!important;
    font-weight:500!important;
  }

  html body .kmmedia-page .kmmedia-mobile-storylist > header h3,
  html body .kmmedia-page .kmmedia-mobile-headlines > header h3,
  html body .kmmedia-page .kmmedia-section-preview__head h3{
    font-size:24.3px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }

  html body .kmmedia-page .kmmedia-mobile-archive-head p,
  html body .kmmedia-page .kmmedia-section-preview__head p{
    font-size:16.3px!important;
    line-height:1.56!important;
    font-weight:400!important;
  }

  html body .kmmedia-page .kmmedia-mobile-archive-head :is(small,strong){
    font-size:13.3px!important;
    line-height:1.35!important;
  }

  /* ---------- mobile article cards ---------- */
  html body .kmmedia-page :is(
    .kmmedia-mobile-feature h3,
    .kmmedia-mobile-feature h3 a,
    .kmmedia-mobile-editorial-slide h3,
    .kmmedia-mobile-editorial-slide h3 a,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title a,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4 a
  ){
    font-size:16.5px!important;
    line-height:1.45!important;
    font-weight:500!important;
    text-align:left!important;
  }

  html body .kmmedia-page :is(
    .kmmedia-mobile-feature p,
    .kmmedia-mobile-editorial-slide p,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__excerpt,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt
  ){
    font-size:14.7px!important;
    line-height:1.57!important;
    font-weight:400!important;
    text-align:left!important;
  }

  html body .kmmedia-page :is(
    .kmmedia-mobile-feature__category,
    .kmmedia-mobile-storyrow__category,
    .kmmedia-mobile-editorial-slide span
  ){
    font-size:13.1px!important;
    font-weight:500!important;
  }

  html body .kmmedia-page .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow time,
  html body .kmmedia-page .kmmedia-preview-card__meta{
    font-size:13px!important;
    font-weight:400!important;
  }

  /* Keep ALL UPDATES / All Stories compact: title only. */
  html body .kmmedia-page .kmmedia-v152-mobile-results[data-mobile-category="all"] .kmmedia-mobile-storyrow__excerpt{
    display:none!important;
  }

  /* More breathing space between a thumbnail and the following copy. */
  html body .kmmedia-page .kmmedia-mobile-feature__copy,
  html body .kmmedia-page .kmmedia-mobile-editorial-slide__copy,
  html body .kmmedia-page .kmmedia-v1520-section-previews .kmmedia-preview-card__body{
    padding-top:15px!important;
  }

  /* ---------- SINGLE ARTICLE ----------
     Preserve the current outer shell width. Only reduce inner text padding
     slightly so the actual reading column becomes wider. */
  html body .kmmedia-page--detail .kmmedia-detail__head{
    padding-left:12px!important;
    padding-right:12px!important;
    text-align:left!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content{
    padding-left:12px!important;
    padding-right:12px!important;
    font-size:16.2px!important;
    line-height:1.64!important;
    font-weight:400!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content :is(
    p,li,blockquote,span,em,a
  ),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(
    p,li,blockquote,span,em,a
  ){
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:400!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(strong,b){
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:500!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content :is(
    h2,h3,h4,p.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(
    h2,h3,h4,p.kmmedia-auto-subheading
  ){
    font-size:20px!important;
    line-height:1.4!important;
    font-weight:500!important;
  }

  /* Tighter article rhythm. */
  html body .kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    margin-top:0!important;
    margin-bottom:.5em!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content :is(
    h2,h3,h4,p.kmmedia-auto-subheading
  ){
    margin-top:.58em!important;
    margin-bottom:.28em!important;
  }

  html body .kmmedia-page--detail .kmmedia-detail__content :is(
    figure,.wp-caption,.kmmedia-image-group
  ) + :is(h2,h3,h4,p.kmmedia-auto-subheading){
    margin-top:.48em!important;
  }

  /* Empty editor blocks must not create fake vertical gaps. */
  html body .kmmedia-page--detail .kmmedia-detail__content p:empty,
  html body .kmmedia-page--detail .kmmedia-detail__content p:has(> br:only-child){
    display:none!important;
    margin:0!important;
    padding:0!important;
  }

  /* Visual editor mirrors public 400/500 immediately. */
  html body .kmmedia-page .kmmedia-simple-editor__canvas,
  html body .kmmedia-page .kmmedia-simple-editor__canvas *{
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
  }
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(p,li,blockquote,span,em,a){
    font-weight:400!important;
  }
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(strong,b,h2,h3,h4){
    font-weight:500!important;
  }
}

@media(max-width:380px){
  html body .kmmedia-page .kmmedia-mobile-archive-head h2{font-size:25.3px!important;}
  html body .kmmedia-page .kmmedia-mobile-storylist > header h3,
  html body .kmmedia-page .kmmedia-section-preview__head h3{font-size:22.3px!important;}
  html body .kmmedia-page--detail .kmmedia-detail__content{font-size:16px!important;}
  html body .kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading){font-size:19px!important;}
}

/* =========================================================
   v1.5.41 MOBILE SEMANTIC WEIGHT + TITLE HARD FIX
========================================================= */
@media(max-width:820px){
  /* Category archive mobile cards are title-only by product decision. */
  html body .kmmedia-page .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt,
  html body .elementor .kmmedia-page .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt{
    display:none!important;
  }

  /* Final +1px title scale on all mobile MEDIA article cards. */
  html body .kmmedia-page :is(
    .kmmedia-mobile-feature h3,
    .kmmedia-mobile-feature h3 a,
    .kmmedia-mobile-editorial-slide h3,
    .kmmedia-mobile-editorial-slide h3 a,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title a,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4 a
  ),
  html body .elementor .kmmedia-page :is(
    .kmmedia-mobile-feature h3,
    .kmmedia-mobile-feature h3 a,
    .kmmedia-mobile-editorial-slide h3,
    .kmmedia-mobile-editorial-slide h3 a,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title a,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4 a
  ){
    font-size:17.5px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
  }

  /* Single page: paragraphs are real 400, semantic Bold and headings are real 500.
     Descendant spans/links inherit instead of resetting a Bold parent to 400. */
  html body .kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content{
    font-weight:400!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    font-weight:400!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(span,font,em,a),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(span,font,em,a){
    font-weight:inherit!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *,
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *{
    font-weight:500!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *,
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .elementor .kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *{
    font-weight:500!important;
  }

  /* Even tighter section rhythm after real-world mobile screenshots. */
  html body .kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    margin-bottom:.44em!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading){
    margin-top:.48em!important;
    margin-bottom:.24em!important;
  }
  html body .kmmedia-page--detail .kmmedia-detail__content :is(figure,.wp-caption,.kmmedia-image-group) + :is(h2,h3,h4,p.kmmedia-auto-subheading){
    margin-top:.4em!important;
  }

  /* Mirror semantic weight inside the frontend editor. */
  html body .kmmedia-page .kmmedia-simple-editor__canvas{font-weight:400!important;}
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(p,li,blockquote){font-weight:400!important;}
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(span,font,em,a){font-weight:inherit!important;}
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(strong,b),
  html body .kmmedia-page .kmmedia-simple-editor__canvas :is(strong,b) *{font-weight:500!important;}
}

/* v1.5.41 version-scoped last lock: survives older Additional CSS guards. */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt{
    display:none!important;
  }
  html body .kmmedia-page[data-kmmedia-board] :is(
    .kmmedia-mobile-feature h3,.kmmedia-mobile-feature h3 a,
    .kmmedia-mobile-editorial-slide h3,.kmmedia-mobile-editorial-slide h3 a,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title,
    .kmmedia-v1520-section-previews .kmmedia-preview-card__title a,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4 a
  ){
    font-size:17.5px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    font-weight:400!important;
    margin-bottom:.44em!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(span,font,em,a){
    font-weight:inherit!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *{
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *{
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading){
    margin-top:.48em!important;
    margin-bottom:.24em!important;
  }
}

/* =========================================================
   v1.5.41 FINAL MOBILE/PAGE HARD LOCK
   - premium mobile category rail mirrors desktop
   - mobile article titles +1px
   - Quick Headlines hierarchy normalized
   - Category Archive remains title-only
   - lower NEWS/ACADEMY/BUSINESS/INSIGHT preview typography aligned
========================================================= */

/* Desktop article type +1px title / +1.3px excerpt. */
@media(min-width:821px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature h3,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature h3{
    font-size:19.5px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature p,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature p{
    font-size:16.8px!important;
    line-height:1.64!important;
    font-weight:400!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-card__title,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-card__title a,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-card__title,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-card__title a{
    font-size:17.5px!important;
    line-height:1.46!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-card__excerpt,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-card__excerpt{
    font-size:15.8px!important;
    line-height:1.62!important;
    font-weight:400!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-preview-card__title,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-preview-card__title a{
    font-size:17.5px!important;
    line-height:1.46!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-preview-card__excerpt{
    font-size:15.8px!important;
    line-height:1.62!important;
    font-weight:400!important;
  }
}

@media(max-width:820px){
  /* MOBILE CATEGORY TABS = same visual language as desktop. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-toolbar,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    margin-top:8px!important;
    margin-bottom:16px!important;
    padding-bottom:12px!important;
    border-bottom:2px solid var(--kmmedia-navy)!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tabs,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-tabs{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:47px!important;
    margin:0!important;
    padding:5px!important;
    border:1px solid #dce4ed!important;
    border-radius:13px!important;
    background:linear-gradient(180deg,#f8fafc 0%,#f3f6fa 100%)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tabs::-webkit-scrollbar{display:none!important;}
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab:hover,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab:focus-visible,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-tab{
    position:relative!important;
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:0 12px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#66778d!important;
    -webkit-text-fill-color:#66778d!important;
    font-size:13.2px!important;
    line-height:1.2!important;
    font-weight:500!important;
    white-space:nowrap!important;
    scroll-snap-align:start!important;
    box-shadow:none!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab.is-active,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab.is-active:hover,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab.is-active:focus-visible,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-tab.is-active{
    border-color:var(--kmmedia-navy)!important;
    background:var(--kmmedia-navy)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 4px 11px rgba(6,23,47,.12)!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab::after{
    left:10px!important;
    right:10px!important;
    bottom:3px!important;
    height:2px!important;
    border-radius:999px!important;
    background:transparent!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tab.is-active::after{
    background:var(--kmmedia-red)!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-tools{
    display:flex!important;
    width:100%!important;
    gap:7px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-search{
    flex:1 1 auto!important;
    width:auto!important;
  }

  /* Global mobile article title +1px from v1.5.31. */
  html body .kmmedia-page[data-kmmedia-board] :is(
    .kmmedia-mobile-feature h3,.kmmedia-mobile-feature h3 a,
    .kmmedia-mobile-editorial-slide h3,.kmmedia-mobile-editorial-slide h3 a,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4,
    .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow h4 a
  ){
    font-size:18.5px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
  }
  html body .kmmedia-page[data-kmmedia-board] :is(
    .kmmedia-mobile-feature p,
    .kmmedia-mobile-editorial-slide p
  ){
    font-size:16px!important;
    line-height:1.58!important;
    font-weight:400!important;
    text-align:left!important;
  }

  /* Lower ALL-page category previews: +1.2px title/excerpt and shared rhythm. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__title,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__title a{
    font-size:18.7px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__excerpt{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-size:15.9px!important;
    line-height:1.58!important;
    font-weight:400!important;
    text-align:left!important;
    margin-top:9px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__body{
    padding-top:16px!important;
  }

  /* Category Archive rows: title only, no excerpt. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__excerpt{
    display:none!important;
  }

  /* Category page Quick Headlines hierarchy. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-headlines>header>span{
    font-size:13.3px!important;
    line-height:1.3!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-headlines>header h3{
    font-size:14.8px!important;
    line-height:1.3!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-headlines__list a>span{
    font-size:15.8px!important;
    line-height:1.46!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-headlines__list small{
    font-size:12.2px!important;
    line-height:1.35!important;
    font-weight:400!important;
  }

  /* News Stories / Academy Stories / Business Stories / Insight Stories: -1.5px. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-storylist>header h3{
    font-size:22.8px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }

  /* Semantic single article weight is non-negotiable. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    font-weight:400!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(span,font,em,a){
    font-weight:inherit!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *,
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *{
    font-weight:500!important;
  }
}

/* =========================================================
   v1.5.41 SINGLE IMAGE RHYTHM + THUMBNAIL CLARITY
   Scope: K-MIRACLE MEDIA only. No typography/layout changes.
========================================================= */

/* Public thumbnails: keep normal browser resampling and remove accidental filters. */
html body .kmmedia-page[data-kmmedia-board] :is(
  .kmmedia-card__media,
  .kmmedia-archive-feature__media,
  .kmmedia-sidebar__thumb,
  .kmmedia-all-sidebar-story__media,
  .kmmedia-mobile-sidebar-story__media,
  .kmmedia-preview-card__media,
  .kmmedia-mobile-storyrow__media,
  .kmmedia-mobile-editorial-slide__media
) img,
html body .kmmedia-home[data-kmmedia-home] img{
  image-rendering:auto!important;
  filter:none!important;
  backface-visibility:hidden;
}

/* Single article mid-body media: compact the vertical breathing room on desktop. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  figure.kmmedia-inline-image,
  figure.kmmedia-article-media,
  .wp-caption,
  .kmmedia-image-group
){
  margin-top:8px!important;
  margin-bottom:8px!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content > img,
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content p > img{
  margin-top:8px!important;
  margin-bottom:8px!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content p:has(> img:only-child){
  margin-top:8px!important;
  margin-bottom:8px!important;
}

@media(max-width:820px){
  /* Mobile gets an even tighter image rhythm without changing the current page width. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    figure.kmmedia-inline-image,
    figure.kmmedia-article-media,
    .wp-caption,
    .kmmedia-image-group
  ){
    margin-top:6px!important;
    margin-bottom:6px!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content > img,
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content p > img,
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content p:has(> img:only-child){
    margin-top:6px!important;
    margin-bottom:6px!important;
  }
}

/* =========================================================
   v1.5.41 FINAL ARTICLE / MOBILE ARCHIVE / SINGLE WEIGHT LOCK
   ========================================================= */
@media(min-width:821px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature h3,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-archive-feature h3{
    font-size:20.8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-card__title,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-card__title a,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-card__title,
  html body .elementor .kmmedia-page[data-kmmedia-board] .kmmedia-card__title a,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-preview-card__title,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-preview-card__title a{
    font-size:18.8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-editorial-headline__title{
    font-size:16.8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-all-sidebar-story__copy strong{
    font-size:14.8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-all-sidebar-brief__copy strong{
    font-size:14.3px!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-sidebar__title{
    font-size:13.8px!important;
  }
}

@media(max-width:820px){
  /* All Stories thumbnails: one exact geometry regardless of source aspect ratio. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow{
    grid-template-columns:118px minmax(0,1fr)!important;
    column-gap:13px!important;
    padding:15px 0!important;
    margin:0 0 5px!important;
    align-items:center!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__media{
    width:118px!important;
    height:78px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#f2f5f8!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__media img,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow__media .kmmedia-placeholder{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* ALL UPDATES / All Stories: requested -1px title adjustment. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results[data-mobile-category="all"] .kmmedia-mobile-storyrow h4,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results[data-mobile-category="all"] .kmmedia-mobile-storyrow h4 a{
    font-size:17.5px!important;
    line-height:1.43!important;
  }

  /* Lower category section headings News / Academy / Business / Insight: +1.3px. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-section-preview__head h3{
    font-size:25.6px!important;
    line-height:1.18!important;
    font-weight:500!important;
  }

  /* Category Archive page heading: News Stories etc. another -2.3px. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results:not([data-mobile-category="all"]) .kmmedia-mobile-storylist>header h3{
    font-size:20.5px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }

  /* Give every archive row a visible but compact separation. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-storylist__items .kmmedia-mobile-storyrow + .kmmedia-mobile-storyrow{
    border-top:1px solid #e2e8ef!important;
  }

  /* Public single article: body=400, semantic Bold/subheading=500, including nested wrappers. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-weight:400!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-weight:400!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote) :is(span,font,em,a),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote) :is(span,font,em,a){
    font-weight:inherit!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *,
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h1,h2,h3,h4,h5,h6,p.kmmedia-auto-subheading) *{
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-weight:500!important;
  }
}

/* =========================================================
   v1.5.41 MOBILE DATE / CARD GAP + SINGLE READING RHYTHM
   Scope: K-MIRACLE Media only.
========================================================= */

/* Single article: tighter line spacing inside a paragraph, while keeping
   a clearer paragraph-to-paragraph break. Applies on desktop and mobile. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
  line-height:1.62!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
  line-height:1.62!important;
  margin-top:0!important;
  margin-bottom:.76em!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading){
  margin-top:.58em!important;
  margin-bottom:.26em!important;
}

@media(max-width:820px){
  /* Mobile reading rhythm: slightly tighter lines than desktop. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
    line-height:1.57!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(p,li,blockquote){
    line-height:1.57!important;
    margin-bottom:.68em!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(h2,h3,h4,p.kmmedia-auto-subheading){
    margin-top:.5em!important;
    margin-bottom:.24em!important;
  }

  /* Category archive rows: date is a distinct right-aligned footer. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow time{
    display:block!important;
    align-self:flex-end!important;
    width:100%!important;
    margin-top:8px!important;
    margin-bottom:3px!important;
    text-align:right!important;
  }

  /* More air between one archive story and the next. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow{
    padding-top:15px!important;
    padding-bottom:18px!important;
    margin-bottom:10px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-mobile-results .kmmedia-mobile-storyrow + .kmmedia-mobile-storyrow{
    margin-top:6px!important;
  }

  /* ALL-page lower News/Academy/Business/Insight cards: category left, date right. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__meta{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    margin-top:10px!important;
    padding-bottom:8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card__meta time{
    margin-left:auto!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v1520-section-previews .kmmedia-preview-card{
    margin-bottom:18px!important;
  }

  /* Lead feature cards: move the date to the right and keep a small bottom gap. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature__meta{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%!important;
    margin-top:10px!important;
    margin-bottom:8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature__meta time{
    margin-left:auto!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  /* Home mobile slider metadata follows the same category-left / date-right rhythm. */
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-meta{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%!important;
    padding-bottom:5px!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-meta > :last-child{
    margin-left:auto!important;
    text-align:right!important;
  }
}

/* =========================================================
   v1.5.41 CATEGORY EDITORIAL CONSISTENCY HARD LOCK
   - Same desktop editorial geometry for NEWS/ACADEMY/BUSINESS/INSIGHT
   - Two feature cards match the exact height of three headline rows
   - Sparse categories keep the same shell and use global Latest Headlines fallback
   - Mobile keeps the same category-page typography/layout contract
========================================================= */

@media(min-width:1121px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck{
    --kmmedia-category-deck-height:332px;
    display:grid!important;
    grid-template-columns:minmax(0,2.15fr) minmax(310px,.85fr)!important;
    gap:16px!important;
    align-items:stretch!important;
    min-height:var(--kmmedia-category-deck-height)!important;
    height:var(--kmmedia-category-deck-height)!important;
    margin-bottom:30px!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-features{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    height:100%!important;
    min-height:0!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck.kmmedia-editorial-deck--features-1 .kmmedia-editorial-features,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck.kmmedia-editorial-deck--features-0 .kmmedia-editorial-features{
    grid-template-columns:minmax(0,1fr)!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature{
    display:grid!important;
    grid-template-columns:minmax(220px,.92fr) minmax(0,1.08fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature__media{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature__media img,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature__media .kmmedia-placeholder{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature__copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
    height:100%!important;
    padding:15px 16px!important;
    overflow:hidden!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature h3{
    font-size:18.5px!important;
    line-height:1.42!important;
    -webkit-line-clamp:3!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature p{
    font-size:15.5px!important;
    line-height:1.62!important;
    -webkit-line-clamp:4!important;
    margin-top:9px!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headlines{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    background:var(--kmmedia-navy)!important;
    border-top:4px solid var(--kmmedia-red)!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headlines__head{
    flex:0 0 auto!important;
    padding:11px 13px 9px!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headlines__list{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headline{
    flex:1 1 0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-height:0!important;
    padding:10px 13px!important;
  }

  /* Requested: headline-list title -1.3px from the previous 16.8px lock. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headline__title{
    font-size:15.5px!important;
    line-height:1.46!important;
    font-weight:500!important;
    -webkit-line-clamp:2!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headline__meta{
    margin-top:5px!important;
    font-size:11.8px!important;
    line-height:1.3!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-editorial-empty-feature{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    height:100%!important;
    min-height:0!important;
    padding:28px 30px!important;
    border:1px solid var(--kmmedia-border)!important;
    background:linear-gradient(135deg,#fff,#f7f9fc)!important;
    color:var(--kmmedia-text)!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-editorial-empty-feature span{
    color:var(--kmmedia-red)!important;
    font-size:12px!important;
    letter-spacing:.1em!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-editorial-empty-feature strong{
    margin-top:8px!important;
    color:var(--kmmedia-navy)!important;
    font-size:20px!important;
    line-height:1.4!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-editorial-empty-feature p{
    margin:8px 0 0!important;
    color:var(--kmmedia-text)!important;
    font-size:14px!important;
    line-height:1.6!important;
  }
}

@media(max-width:1120px){
  /* Same category-page visual language on every category, including sparse ones. */
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature--empty{
    margin-bottom:10px!important;
    border:1px solid var(--kmmedia-border)!important;
    background:#fff!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature--empty .kmmedia-mobile-feature__copy{
    padding:18px 16px!important;
    text-align:left!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature--empty h3{
    margin:5px 0 0!important;
    color:var(--kmmedia-navy)!important;
    font-size:17.5px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-mobile-feature--empty p{
    margin:8px 0 0!important;
    color:var(--kmmedia-text)!important;
    font-size:14.2px!important;
    line-height:1.6!important;
  }
}

/* =========================================================
   v1.5.41 DESKTOP CATEGORY EDITORIAL — SINGLE FEATURE + WIDER HEADLINES
   Scope: PC only. Mobile renderer remains unchanged.
========================================================= */
@media(min-width:1121px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck{
    grid-template-columns:minmax(0,1.92fr) minmax(350px,1.08fr)!important;
    gap:16px!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-features,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck.kmmedia-editorial-deck--features-1 .kmmedia-editorial-features,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck.kmmedia-editorial-deck--features-0 .kmmedia-editorial-features{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-archive-feature{
    grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr)!important;
    width:100%!important;
    height:var(--kmmedia-category-deck-height)!important;
    min-height:var(--kmmedia-category-deck-height)!important;
    max-height:var(--kmmedia-category-deck-height)!important;
  }

  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headlines{
    min-width:350px!important;
  }
}

/* =========================================================
   v1.5.42 MOBILE SINGLE SUBHEADING CONSISTENCY LOCK
   Scope: public Single only, mobile only.
   Every semantic/legacy subheading uses one exact size and weight.
========================================================= */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-size:20px!important;
    line-height:1.4!important;
    font-weight:500!important;
    letter-spacing:-.015em!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *{
    font-family:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:inherit!important;
    letter-spacing:inherit!important;
  }

  /* Normal body copy stays Regular 400. Inline Bold changes weight only,
     never its size. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ){
    font-weight:400!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b){
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:500!important;
  }

  /* Same rhythm for every subheading type so a legacy h1/h5/h6 cannot look
     larger than a newer h2/h3 or standalone bold subtitle. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    margin-top:.5em!important;
    margin-bottom:.24em!important;
  }
}

@media(max-width:380px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-size:19px!important;
  }
}

/* =========================================================
   v1.5.43 FINAL RELEASE — CONTACT BANNER + PC HEADLINES WIDTH
   Scope deliberately narrow. No mobile geometry / typography changes.
========================================================= */

/* Single-page media/copyright banner: centered, brighter, +1px. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__media-contact{
  text-align:center!important;
  color:#f4f7fb!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__contact-line{
  justify-content:center!important;
  text-align:center!important;
  color:#eef4fb!important;
  font-size:13px!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__contact-line strong{
  color:#fff!important;
  font-size:13.5px!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__contact-line a{
  color:#eef4fb!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__copyright{
  color:#d8e2ee!important;
  font-size:12.5px!important;
  text-align:center!important;
}

@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__contact-line{
    display:block!important;
    text-align:center!important;
    font-size:12.5px!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__contact-line strong{
    font-size:13.5px!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__copyright{
    font-size:12.5px!important;
  }
}

/* PC category editorial deck: give Headlines a little more horizontal room. */
@media(min-width:1121px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck{
    grid-template-columns:minmax(0,1.88fr) minmax(370px,1.12fr)!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-v152-editorial-deck .kmmedia-editorial-headlines{
    min-width:370px!important;
  }
}


/* =========================================================
   v1.5.44 FINAL MOBILE ARCHIVE PAGING + HOME CARD LOCK
   Scope: mobile only. Desktop is intentionally untouched.
========================================================= */
@media(max-width:820px){
  /* Category Archive rows: -1.2px from the approved 17.5px scale. */
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storyrow h4,
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storyrow h4 a{
    font-size:16.3px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
  }

  /* Five-row mobile category archive paging: stable visual separation. */
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storylist__items{
    display:block!important;
    width:100%!important;
  }
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storyrow{
    width:100%!important;
    margin:0 0 12px!important;
    padding:14px 0 17px!important;
  }
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-pagewheel{
    margin-top:12px!important;
  }

  /* Canonical HOME mobile card: one horizontal card per slide, five slides. */
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__body{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home1531{
    display:none!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobiledeck{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobiletrack{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    transform:translate3d(0,0,0);
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    min-height:146px!important;
    display:grid!important;
    grid-template-columns:39% minmax(0,1fr)!important;
    align-items:stretch!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #dce4ee!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(6,23,47,.035)!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-media{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:146px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#eef2f6!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-media img,
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-media .kmmedia-placeholder{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    min-width:0!important;
    padding:12px 13px!important;
    text-align:left!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-cat{
    margin:0 0 6px!important;
    font-size:11.8px!important;
    line-height:1.3!important;
    text-align:left!important;
  }
  /* Requested: HOME mobile article title -1.5px from the previous 17px lock. */
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-title,
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-title a{
    margin:0!important;
    font-size:15.5px!important;
    line-height:1.44!important;
    font-weight:500!important;
    text-align:left!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilecard-meta{
    margin-top:8px!important;
    font-size:11.4px!important;
    line-height:1.35!important;
  }
  html body .kmmedia-home[data-kmmedia-home] .kmmedia-home__mobilenav{
    display:grid!important;
    grid-template-columns:38px 1fr 38px!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px 2px 0!important;
  }
}

/* =========================================================
   v1.5.45 MOBILE PAGINATION FINAL POLISH
   arrows + page count only; no text labels or hint.
========================================================= */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-pagewheel{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    gap:8px!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-pagewheel__arrow{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    font-size:24px!important;
    line-height:1!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-pagewheel__count{
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:500!important;
  }
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-pagewheel__dots,
  html body .kmmedia-page[data-kmmedia-board] .kmmedia-pagewheel__hint{
    display:none!important;
  }
}


/* =========================================================
   v1.5.46 MOBILE CATEGORY ARCHIVE CONSISTENCY
   - Stories heading: one line, 2px smaller
   - Category Quick Headlines never borrow another category
   - Category Archive shell remains visible even when empty
========================================================= */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storylist>header{
    align-items:center!important;
    gap:8px!important;
  }

  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storylist>header h3{
    flex:0 1 auto!important;
    max-width:72%!important;
    margin:0!important;
    font-size:clamp(16px,4.72vw,18.5px)!important;
    line-height:1.15!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-weight:500!important;
  }

  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-v152-mobile-results:not([data-mobile-category="all"])
    .kmmedia-mobile-storylist>header>span{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  html body .kmmedia-page[data-kmmedia-board]
    .kmmedia-mobile-storylist__empty{
    min-height:96px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px 14px!important;
    border-bottom:1px solid #e2e8ef!important;
    color:#7d8998!important;
    font-size:13px!important;
    line-height:1.55!important;
    font-weight:400!important;
    text-align:center!important;
  }
}

/* =========================================================
   v1.5.47 SINGLE SUBHEADING FINAL CONSISTENCY LOCK
   Scope: Single article content only.
   Product rule:
   - body copy = Regular 400
   - inline Bold = same body size, Medium 500
   - section subheading block = body + exactly 1px, Medium 500
   - legacy h1~h6 and standalone-bold blocks share ONE size
   - italic / underline remain functional
========================================================= */

/* Desktop: current body is 17.2px, canonical subheading = 18.2px. */
@media(min-width:821px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
    font-size:17.2px!important;
    font-weight:400!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-size:18.2px!important;
    line-height:1.42!important;
    font-weight:500!important;
    letter-spacing:-.01em!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *{
    font-family:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:inherit!important;
    letter-spacing:inherit!important;
  }

  /* Inline Bold inside a normal paragraph changes weight only, never size. */
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b){
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:500!important;
  }
}

/* Mobile: current body is 16.2px, canonical subheading = 17.2px. */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
    font-size:16.2px!important;
    font-weight:400!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-family:'KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
    font-size:17.2px!important;
    line-height:1.4!important;
    font-weight:500!important;
    letter-spacing:-.01em!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ) *{
    font-family:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:inherit!important;
    letter-spacing:inherit!important;
  }

  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    p:not(.kmmedia-auto-subheading),li,blockquote
  ) :is(strong,b){
    font-size:inherit!important;
    line-height:inherit!important;
    font-weight:500!important;
  }
}

/* Very small phones: body 16px, subheading exactly +1px. */
@media(max-width:380px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
    font-size:16px!important;
  }
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-size:17px!important;
  }
}

/* Formatting support: do not let the typography guard flatten Italic/Underline. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(em,i),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(em,i){
  font-style:italic!important;
  font-synthesis:style!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content u,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content u{
  text-decoration:underline!important;
  text-decoration-thickness:from-font!important;
  text-underline-offset:.12em!important;
}

/* =========================================================
   v1.5.48 SINGLE COLOR / SUBHEADING + EXCERPT FINAL LOCK
   Scope: Single article typography + article excerpts only.
   - body copy: dark gray / 400
   - inline Bold: black / 500 / body size
   - section subheading: black / 500 / previous subheading +1px
   - every excerpt surface: dark gray across desktop/tablet/mobile
   ========================================================= */

/* Single body: readable dark gray. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
  color:#343d49!important;
  font-weight:400!important;
}

/* Normal paragraph descendants inherit the body color/weight unless semantic formatting overrides it. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
){
  color:#343d49!important;
  font-weight:400!important;
}

/* Inline Bold is black/500 but never becomes a larger subheading. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b){
  color:#0d1117!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:500!important;
}

/* Bold descendants keep the visual Bold even when the editor/translator inserted wrappers. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(strong,b) *{
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}

/* Desktop subheading: v1.5.47 18.2px -> 19.2px. */
@media(min-width:821px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    color:#0d1117!important;
    font-size:19.2px!important;
    font-weight:500!important;
  }
}

/* Mobile subheading: v1.5.47 17.2px -> 18.2px. */
@media(max-width:820px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    color:#0d1117!important;
    font-size:18.2px!important;
    font-weight:500!important;
  }
}

/* Very small phones: v1.5.47 17px -> 18px. */
@media(max-width:380px){
  html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ),
  html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
    h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
  ){
    font-size:18px!important;
  }
}

/* All excerpt surfaces: one dark-gray ink on every device. */
html body .kmmedia-page :is(
  .kmmedia-card__excerpt,
  .kmmedia-preview-card__excerpt,
  .kmmedia-mobile-storyrow__excerpt,
  .kmmedia-archive-feature__copy>p,
  .kmmedia-mobile-feature__copy>p,
  .kmmedia-mobile-editorial-slide__copy>p
),
html body .elementor .kmmedia-page :is(
  .kmmedia-card__excerpt,
  .kmmedia-preview-card__excerpt,
  .kmmedia-mobile-storyrow__excerpt,
  .kmmedia-archive-feature__copy>p,
  .kmmedia-mobile-feature__copy>p,
  .kmmedia-mobile-editorial-slide__copy>p
),
html body .kmmedia-home :is(
  .kmmedia-home__feature-excerpt,
  .kmmedia-v1413-featureexcerpt,
  .kmmedia-home1531__copy>p
),
html body .elementor .kmmedia-home :is(
  .kmmedia-home__feature-excerpt,
  .kmmedia-v1413-featureexcerpt,
  .kmmedia-home1531__copy>p
){
  color:#3f4a58!important;
}

/* =========================================================
   v1.5.49 LEGACY SUBHEADING DATA + MOBILE FINAL LOCK
   Scope is deliberately limited to Single public article typography and
   desktop HOME headline titles. No archive/layout/CRUD rules live here.
========================================================= */

/* Old article data may still carry WordPress/Elementor size classes on nested
   wrappers. On Single content, every non-heading text wrapper inherits the
   canonical body size. Semantic/auto subheadings are overridden below. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote,span,font,a,em,i,u
),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote,span,font,a,em,i,u
){
  font-size:inherit!important;
}

/* Canonical Single subheading: one exact size on every historic markup form.
   Desktop stays at the approved 19.2px. Mobile is +1px from the previous
   18.2px and is intentionally the same on small phones to prevent one legacy
   heading tag from appearing larger/smaller than another. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
){
  color:#0d1117!important;
  font-family:'KMMediaArticleMediumCanonical','KMMediaPaperlogy','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
  font-size:19.2px!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
) *,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
) *{
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}

/* Inline Bold remains body-sized; only its weight/color changes. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b){
  color:#0d1117!important;
  font-family:'KMMediaArticleMediumCanonical','KMMediaPaperlogy','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:500!important;
}

/* Desktop HOME: requested right-hand article headline treatment only. */
@media(min-width:821px){
  html body .kmmedia-home .kmmedia-home1531__headline-title{
    color:#111!important;
    font-size:15.5px!important;
    line-height:1.46!important;
    font-weight:400!important;
  }
}

/* =========================================================
   v1.5.50 SINGLE SUBHEADING CANONICAL FINAL LOCK
   One visual subheading scale across historic/new markup.
   This is intentionally LAST in the cascade.
========================================================= */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content{
  font-synthesis:none!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
){
  color:#0d1117!important;
  font-family:'KMMediaArticleMediumCanonical','KMMediaPaperlogyGuard','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Segoe UI',Arial,sans-serif!important;
  font-size:19.2px!important;
  line-height:1.42!important;
  font-weight:500!important;
  letter-spacing:-.01em!important;
}
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
) *,
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  h1,h2,h3,h4,h5,h6,.kmmedia-auto-subheading
) *{
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
}

/* Inline emphasis remains body-sized; only its weight changes. */
html body .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b),
html body .elementor .kmmedia-page[data-kmmedia-board].kmmedia-page--detail .kmmedia-detail__content :is(
  p:not(.kmmedia-auto-subheading),li,blockquote
) :is(strong,b){
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:500!important;
  color:#0d1117!important;
}
