/* KBRIDGE unified blog layout 2026-08-26 */
body.kb-blog-post{margin:0;background:#f3f6fa;color:#27364a;font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.8;letter-spacing:-.018em;-webkit-font-smoothing:antialiased}
html.kb-motion-ready body.kb-blog-post .kb-reveal,html.kb-motion-ready body.kb-blog-post .kb-reveal[data-kb-motion],body.kb-blog-post .kb-reveal{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;clip-path:none!important}
body.kb-blog-post main:is(.page,.page-wrap){width:min(1180px,calc(100% - 48px));max-width:1180px;margin:0 auto;padding:22px 0 72px;background:transparent}
body.kb-blog-post :is(.breadcrumb,.breadcrumbs,.crumb){display:flex;align-items:center;flex-wrap:wrap;gap:7px;width:100%;margin:0 0 14px;padding:0 2px;color:#6d7c91;font-size:13px;line-height:1.55}
body.kb-blog-post :is(.breadcrumb,.breadcrumbs,.crumb) a{color:#586a82;text-decoration:none}
body.kb-blog-post article:is(.article,.article-shell){width:100%;max-width:none;margin:0;overflow:visible;border:1px solid #dfe7f0;border-radius:0;background:#fff;box-shadow:0 12px 34px rgba(17,39,74,.07)}
body.kb-blog-post article>:is(.hero,.article-hero){min-height:0;margin:0;padding:46px 56px 40px;overflow:visible;border:0;border-bottom:1px solid #e7edf4;border-radius:0;background:radial-gradient(circle at 92% 12%,rgba(72,145,218,.16),transparent 29rem),linear-gradient(135deg,#f7f9fc 0%,#edf3f8 54%,#dcecf2 100%);color:#102b55;box-shadow:none;text-align:left}
body.kb-blog-post article>:is(.hero,.article-hero)::before,body.kb-blog-post article>:is(.hero,.article-hero)::after{content:none!important;display:none!important}
body.kb-blog-post article>:is(.hero,.article-hero) h1{position:relative;z-index:1;width:100%;max-width:940px;margin:0;color:#102b55;font-size:clamp(34px,3.15vw,46px);font-weight:820;line-height:1.27;letter-spacing:-.048em;text-align:left;text-wrap:balance;text-shadow:none}
body.kb-blog-post article>:is(.hero,.article-hero) :is(.hero-desc,.lead,.desc),body.kb-blog-post article>:is(.hero,.article-hero)>p{position:relative;z-index:1;max-width:860px;margin:17px 0 0;color:#52647b;font-size:17px;line-height:1.78;text-align:left}
body.kb-blog-post article>:is(.body,.content,.article-body){width:min(930px,100%);max-width:930px;margin:0 auto;padding:48px 38px 66px;color:#334155;font-size:17px;line-height:1.82}
body.kb-blog-post :is(.body,.content,.article-body) p,body.kb-blog-post :is(.body,.content,.article-body) li,body.kb-blog-post :is(.body,.content,.article-body) dd{color:#334155;font-size:17px;line-height:1.82}
body.kb-blog-post :is(.body,.content,.article-body) p{margin:0 0 18px}body.kb-blog-post :is(.body,.content,.article-body) li{margin:5px 0}
body.kb-blog-post :is(.body,.content,.article-body) h2{position:relative;margin:52px 0 18px;padding:0 0 0 17px;color:#102b55;font-size:28px;font-weight:800;line-height:1.42;letter-spacing:-.038em}
body.kb-blog-post :is(.body,.content,.article-body) h2::before{content:"";position:absolute;top:.18em;bottom:.18em;left:0;width:4px;border-radius:999px;background:linear-gradient(180deg,#2b5cdb,#18a9b7)}
body.kb-blog-post :is(.body,.content,.article-body) h3{margin:31px 0 11px;color:#163861;font-size:21px;font-weight:770;line-height:1.5;letter-spacing:-.028em}
body.kb-blog-post :is(.body,.content,.article-body) strong{color:#173f70;font-weight:780}
body.kb-blog-post :is(.body,.content,.article-body) .section{margin:48px 0 0;padding:36px 0 0;border-top:1px solid #e7edf4}
body.kb-blog-post :is(.cover-thumbnail,.body-visual,.visual,.figure,figure.visual,figure.body-visual){width:100%;max-width:100%;margin:28px 0 34px;overflow:visible;border:0;border-radius:0;background:#fff;box-shadow:none}
body.kb-blog-post :is(.cover-thumbnail,.body-visual,.visual,.figure,figure.visual,figure.body-visual) img,body.kb-blog-post :is(.body,.content,.article-body)>img{display:block;width:100%;max-width:100%;height:auto;border:0;border-radius:0;object-fit:contain}
body.kb-blog-post figcaption,body.kb-blog-post .figcap{margin-top:9px;color:#728197;font-size:13px;line-height:1.6}
body.kb-blog-post :is(.quick-summary,.brief,.summary-card,.toc,.note,.warn,blockquote){border:1px solid #dbe6f1;border-radius:0;background:#f7faff;box-shadow:none}
body.kb-blog-post :is(.quick-summary,.brief,.summary-card,.toc){margin:0 0 34px;padding:20px 22px}
body.kb-blog-post :is(.note,.warn,blockquote){margin:22px 0;padding:17px 19px;color:#3d5169;font-size:16px;line-height:1.72}
body.kb-blog-post .toc :is(li,a),body.kb-blog-post :is(.summary-card,.quick-summary,.brief) p{font-size:16px;line-height:1.72}
body.kb-blog-post :is(.compare-card,.alliance-card,.type-item,.term-card,.news-item,.card){border-radius:0;border-color:#dde7f1;box-shadow:none}
body.kb-blog-post :is(.compare-card,.alliance-card,.type-item,.term-card,.news-item,.card) p{font-size:16px;line-height:1.72}
body.kb-blog-post :is(.table-wrap,.doc-table-wrap,.table-card){width:100%;margin:24px 0 30px;overflow-x:auto;border:1px solid #dce5ef;border-radius:0;background:#fff;box-shadow:none}
body.kb-blog-post :is(.table-wrap,.doc-table-wrap,.table-card) table,body.kb-blog-post table:is(.doc-table,.data-table){width:100%;border-collapse:collapse}
body.kb-blog-post table th,body.kb-blog-post table td{padding:13px 14px;border-bottom:1px solid #e7edf4;color:#3b4b5f;font-size:15px;line-height:1.62;vertical-align:top}
body.kb-blog-post table th{background:#f2f6fb;color:#173a66;font-weight:760}
body.kb-blog-post :is(.faq-item,.faq details){border-radius:0;box-shadow:none}
body.kb-blog-post :is(.faq-q,.faq summary){color:#173a66;font-size:16px;line-height:1.6}body.kb-blog-post :is(.faq-a,.faq-answer){color:#4b5d73;font-size:16px;line-height:1.72}
body.kb-blog-post .cta{margin-top:46px;padding:30px 32px;border:0;border-radius:0}body.kb-blog-post .cta h2,body.kb-blog-post .cta h3{margin:0 0 10px;padding:0;color:#fff;font-size:24px;line-height:1.42}body.kb-blog-post .cta h2::before,body.kb-blog-post .cta h3::before{content:none;display:none}body.kb-blog-post .cta p{color:rgba(241,248,255,.92);font-size:16px;line-height:1.72}
body.kb-blog-post :is(.footer,.kb-footer){width:100%;margin:30px 0 0;border-radius:0;color:#d6e2f2}body.kb-blog-post :is(.footer,.kb-footer) :is(h3,h4,strong,.footer-brand){color:#fff}body.kb-blog-post :is(.footer,.kb-footer) :is(p,li,a,span){color:#cbd9eb}
@media(max-width:900px){body.kb-blog-post main:is(.page,.page-wrap){width:min(100% - 28px,1180px);padding-top:14px}body.kb-blog-post article>:is(.hero,.article-hero){padding:36px 30px 32px}body.kb-blog-post article>:is(.hero,.article-hero) h1{font-size:clamp(30px,6vw,38px)}body.kb-blog-post article>:is(.body,.content,.article-body){padding:38px 28px 54px}}
@media(max-width:560px){body.kb-blog-post{font-size:16px}body.kb-blog-post main:is(.page,.page-wrap){width:100%;padding:0 0 48px}body.kb-blog-post :is(.breadcrumb,.breadcrumbs,.crumb){margin:0;padding:12px 16px;background:#f3f6fa;font-size:12px}body.kb-blog-post article:is(.article,.article-shell){border-right:0;border-left:0}body.kb-blog-post article>:is(.hero,.article-hero){padding:31px 20px 28px}body.kb-blog-post article>:is(.hero,.article-hero) h1{font-size:28px;line-height:1.3}body.kb-blog-post article>:is(.hero,.article-hero) :is(.hero-desc,.lead,.desc),body.kb-blog-post article>:is(.hero,.article-hero)>p{font-size:15.5px}body.kb-blog-post article>:is(.body,.content,.article-body){width:100%;padding:32px 18px 46px}body.kb-blog-post :is(.body,.content,.article-body) p,body.kb-blog-post :is(.body,.content,.article-body) li{font-size:16px;line-height:1.78}body.kb-blog-post :is(.body,.content,.article-body) h2{margin-top:42px;font-size:23px}body.kb-blog-post :is(.body,.content,.article-body) h3{font-size:19px}body.kb-blog-post table th,body.kb-blog-post table td{padding:11px 12px;font-size:14px}body.kb-blog-post .cta{padding:25px 20px}}
/* Canonical blog header lock: identical to the KBRIDGE site header on every post. */
html body.kb-blog-post .header{height:60px;min-height:60px;max-height:60px;padding:0;background:rgba(22,40,74,.98);color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.09);box-shadow:none;font-size:13px}
html body.kb-blog-post .header .container.header-inner{width:min(1200px,calc(100% - 48px));max-width:1200px;height:60px;min-height:60px;margin:0 auto;padding:0;display:flex;align-items:center;gap:30px}
html body.kb-blog-post .header .brand{height:60px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;margin:0;padding:0;line-height:1}
html body.kb-blog-post .header .brand-symbol{width:25px;height:25px;min-width:25px;min-height:25px;flex:0 0 25px;border-radius:7px}
html body.kb-blog-post .header .brand-copy strong{font-size:14px;font-weight:850;line-height:1;letter-spacing:-.01em;white-space:nowrap}
html body.kb-blog-post .header .nav{height:60px;display:flex;align-items:center;gap:28px;flex:1 1 auto;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1}
html body.kb-blog-post .header .nav>a,html body.kb-blog-post .header .nav-dropdown-toggle{height:60px;min-height:60px;display:inline-flex;align-items:center;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1;white-space:nowrap}
html body.kb-blog-post .header .nav-dropdown{height:60px;min-height:60px;display:flex;align-items:center}
html body.kb-blog-post .header .header-actions{height:60px;display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
html body.kb-blog-post .header .header-link{font-size:12.5px;font-weight:650}
html body.kb-blog-post .header .header-btn{height:38px;padding:0 16px;border-radius:10px;font-size:12.5px;font-weight:750}
@media(max-width:1180px){html body.kb-blog-post .header .container.header-inner{width:calc(100% - 32px);max-width:none;gap:18px}}
@media(max-width:1180px){
  html body.kb-blog-post .header .nav,html body.kb-blog-post .header .header-actions{display:none!important}
  html body.kb-blog-post .header .menu-btn{display:inline-grid!important;place-items:center;margin-left:auto}
  html body.kb-blog-post .mobile-nav.open{display:block!important;visibility:visible!important;pointer-events:auto!important}
}
@media(max-width:560px){
  body.kb-blog-post :is(.table-wrap,.doc-table-wrap,.table-card)>table{min-width:100%!important;width:100%!important;max-width:100%!important;table-layout:auto}
  body.kb-blog-post table.info-table{table-layout:fixed}
  body.kb-blog-post table :is(th,td){white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
}

/* REV3: citation typography, article-width normalization, and paragraph rhythm */
html body.kb-blog-post article:is(.article,.article-shell){padding:0!important}

body.kb-blog-post :is(.body,.content,.article-body){word-break:keep-all;overflow-wrap:break-word}
body.kb-blog-post :is(.body,.content,.article-body) p{
  margin:0 0 17px!important;
  color:#334155;
  line-height:1.82!important;
  word-break:keep-all;
  overflow-wrap:break-word;
}
body.kb-blog-post :is(.body,.content,.article-body) :is(ul,ol){
  max-width:100%;
  margin:12px 0 20px;
  padding-left:1.35em;
}
body.kb-blog-post :is(.body,.content,.article-body) li{
  margin:6px 0!important;
  line-height:1.76!important;
  word-break:keep-all;
  overflow-wrap:break-word;
}
body.kb-blog-post :is(.body,.content,.article-body) :is(.section,section[id]){scroll-margin-top:78px}
body.kb-blog-post :is(.body,.content,.article-body) :is(.section,section[id])>p+p{margin-top:4px!important}

html body.kb-blog-post :is(
  .refs,.sources,.references,.source-list,.reference-list,.official-sources,
  .term-references,.citation,.citations,.bibliography,
  [class*="source"],[class*="reference"]
){
  max-width:100%!important;
  margin-top:32px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  border:1px solid #dfe7f0!important;
  background:#f7f9fc!important;
  color:#69778a!important;
}
html body.kb-blog-post :is(
  .refs,.sources,.references,.source-list,.reference-list,.official-sources,
  .term-references,.citation,.citations,.bibliography,
  [class*="source"],[class*="reference"]
) :is(h2,h3,h4){
  margin:0 0 7px!important;
  padding:0!important;
  color:#4b5c72!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.45!important;
  letter-spacing:-.015em!important;
}
html body.kb-blog-post :is(
  .refs,.sources,.references,.source-list,.reference-list,.official-sources,
  .term-references,.citation,.citations,.bibliography,
  [class*="source"],[class*="reference"]
) :is(p,li,a,span,strong,em){
  max-width:100%!important;
  margin-top:0;
  color:#69778a!important;
  font-size:11.5px!important;
  line-height:1.62!important;
  letter-spacing:-.005em!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
html body.kb-blog-post :is(
  .refs,.sources,.references,.source-list,.reference-list,.official-sources,
  .term-references,.citation,.citations,.bibliography,
  [class*="source"],[class*="reference"]
) :is(ol,ul){margin:0!important;padding-left:18px!important}
html body.kb-blog-post :is(
  .refs,.sources,.references,.source-list,.reference-list,.official-sources,
  .term-references,.citation,.citations,.bibliography,
  [class*="source"],[class*="reference"]
) li{margin:4px 0!important}

@media(max-width:560px){
  body.kb-blog-post :is(.body,.content,.article-body) p{margin-bottom:15px!important;line-height:1.76!important}
  html body.kb-blog-post :is(
    .refs,.sources,.references,.source-list,.reference-list,.official-sources,
    .term-references,.citation,.citations,.bibliography,
    [class*="source"],[class*="reference"]
  ){padding:13px 13px!important}
  html body.kb-blog-post :is(
    .refs,.sources,.references,.source-list,.reference-list,.official-sources,
    .term-references,.citation,.citations,.bibliography,
    [class*="source"],[class*="reference"]
  ) :is(h2,h3,h4){font-size:12.5px!important}
  html body.kb-blog-post :is(
    .refs,.sources,.references,.source-list,.reference-list,.official-sources,
    .term-references,.citation,.citations,.bibliography,
    [class*="source"],[class*="reference"]
  ) :is(p,li,a,span,strong,em){font-size:11px!important;line-height:1.58!important}
}
@media(max-width:560px){
  body.kb-blog-post .photo-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:14px!important}
  body.kb-blog-post .photo-grid>figure,body.kb-blog-post figure.photo,body.kb-blog-post figure.photo.wide,body.kb-blog-post figure.photo.portrait{width:100%!important;max-width:100%!important;min-width:0!important;grid-column:auto!important;margin-left:0!important;margin-right:0!important}
  body.kb-blog-post figure.photo :is(img,figcaption){width:100%!important;max-width:100%!important;min-width:0!important}
}

/* Final readability and containment pass.  Hero markup differs between older posts,
   so the frame as well as direct children must share the same sizing rules. */
body.kb-blog-post{font-size:15.5px;line-height:1.76;overflow-x:hidden}
body.kb-blog-post *,body.kb-blog-post *::before,body.kb-blog-post *::after{box-sizing:border-box}
body.kb-blog-post article>:is(.hero,.article-hero){min-height:334px;padding:34px 46px 30px;display:flex;flex-direction:column;justify-content:center}
body.kb-blog-post article>:is(.hero,.article-hero)>.kb-hero-frame,
body.kb-blog-post article>:is(.hero,.article-hero)>.hero-copy{width:100%;max-width:100%;margin:0;padding:0}
body.kb-blog-post article>:is(.hero,.article-hero) :is(h1){max-width:900px;margin:0;color:#102b55;font-size:clamp(29px,2.65vw,38px);font-weight:800;line-height:1.3;letter-spacing:-.044em;text-align:left;text-wrap:balance}
body.kb-blog-post article>:is(.hero,.article-hero) :is(.hero-desc,.lead,.desc),
body.kb-blog-post article>:is(.hero,.article-hero) .kb-hero-frame>p:not(.meta):not(.article-meta){max-width:850px;margin:13px 0 0;color:#52647b;font-size:15px;line-height:1.7}
body.kb-blog-post article>:is(.hero,.article-hero) :is(.meta,.article-meta){margin:11px 0 0;color:#718096;font-size:12.5px;line-height:1.55}
body.kb-blog-post article>:is(.body,.content,.article-body){font-size:15.5px;line-height:1.76}
body.kb-blog-post :is(.body,.content,.article-body) :is(p,li,dd){max-width:100%;font-size:15.5px;line-height:1.76;overflow-wrap:anywhere}
body.kb-blog-post :is(.body,.content,.article-body) h2{font-size:25px;line-height:1.42}
body.kb-blog-post :is(.body,.content,.article-body) h3{font-size:19px;line-height:1.48}
body.kb-blog-post :is(.body,.content,.article-body) :is(img,video,iframe,svg,canvas){max-width:100%;height:auto}
body.kb-blog-post :is(.body,.content,.article-body)>*,
body.kb-blog-post :is(.grid,.cards,.card-grid,.news-list,.briefs,.fact-grid,.photo-grid)>*{min-width:0;max-width:100%}
body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]){max-width:100%;margin-top:34px;padding:17px 18px;overflow:hidden;border:1px solid #dfe7f0;background:#f7f9fc;color:#66758a}
body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]) :is(h2,h3,h4){margin:0 0 9px;padding:0;color:#41536b;font-size:15px;line-height:1.5}
body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]) :is(p,li,a,span){max-width:100%;color:#66758a;font-size:12.5px;line-height:1.62;overflow-wrap:anywhere;word-break:break-word}
body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]) :is(ol,ul){margin:0;padding-left:19px}
body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]) li+li{margin-top:5px}
body.kb-blog-post :is(.table-wrap,.doc-table-wrap,.table-card,.market-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:900px){
  body.kb-blog-post article>:is(.hero,.article-hero){min-height:300px;padding:30px 28px 27px}
  body.kb-blog-post article>:is(.hero,.article-hero) :is(h1){font-size:30px}
}
@media(max-width:560px){
  body.kb-blog-post{font-size:15px}
  body.kb-blog-post article>:is(.hero,.article-hero){min-height:280px;padding:25px 18px 23px}
  body.kb-blog-post article>:is(.hero,.article-hero) :is(h1){font-size:25px;line-height:1.34}
  body.kb-blog-post article>:is(.hero,.article-hero) :is(.hero-desc,.lead,.desc),
  body.kb-blog-post article>:is(.hero,.article-hero) .kb-hero-frame>p:not(.meta):not(.article-meta){font-size:14px;line-height:1.65}
  body.kb-blog-post :is(.body,.content,.article-body) :is(p,li,dd){font-size:15px;line-height:1.72}
  body.kb-blog-post :is(.body,.content,.article-body) h2{font-size:22px}
  body.kb-blog-post :is(.body,.content,.article-body) h3{font-size:18px}
  body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]){padding:15px 14px}
  body.kb-blog-post :is(.refs,.sources,[class*="source"],[class*="reference"]) :is(p,li,a,span){font-size:12px}
}

/* REV3 final overrides: keep after every legacy compatibility rule. */
html body.kb-blog-post article:is(.article,.article-shell){padding:0!important}
html body.kb-blog-post article>:is(.hero,.article-hero){width:100%!important;max-width:none!important}
html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]){margin-top:32px!important;padding:14px 16px!important}
html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) :is(h2,h3,h4){margin:0 0 7px!important;padding:0!important;font-size:13px!important;line-height:1.45!important}
html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) :is(p,li,a,span,strong,em){font-size:11.5px!important;line-height:1.62!important;word-break:break-word!important;overflow-wrap:anywhere!important}
html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) :is(ol,ul){margin:0!important;padding-left:18px!important}
html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) li{margin:4px 0!important}
@media(max-width:560px){
  html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]){padding:13px!important}
  html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) :is(h2,h3,h4){font-size:12.5px!important}
  html body.kb-blog-post :is(.refs,.sources,.references,.source-list,.reference-list,.official-sources,.term-references,.citation,.citations,.bibliography,[class*="source"],[class*="reference"]) :is(p,li,a,span,strong,em){font-size:11px!important;line-height:1.58!important}
}
