/* v2.2 editorial presentation. Loaded after the existing functional styles.
   Screen only: article print rules retain precedence. */
@media screen {
  /* Reading index: a lead story, quiet rules, and legible supporting metadata. */
  .page-head {
    padding: 52px 32px 0;
    border-bottom: 0;
    background: transparent;
  }
  .page-head-inner { max-width: 1116px; }
  .page-heading {
    max-width: 26ch;
    margin-bottom: 28px;
    color: var(--cxv-navy, #152C46);
    font-size: clamp(30px, 3.6vw, 44px);
    line-height: 1.4;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
  }
  .page-head .search-count { margin: 0; font-size: 14px; color: var(--c-text2); }
  .page-head .cat-tabs { gap: 0 24px; border-bottom: 1px solid var(--c-bdr); }
  .page-head .cat-tab {
    min-height: 48px;
    margin: 0;
    padding: 12px 0 13px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--c-text2);
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
    transition: color .15s;
  }
  .page-head .cat-tab:is(:hover, .active, [aria-current="page"]) {
    color: var(--c-acc, #2B4C8A);
    background: transparent;
    border-bottom-color: var(--c-acc, #2B4C8A);
  }
  .col-layout {
    max-width: 1180px;
    grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
    gap: 48px;
    padding: 40px 32px 80px;
  }
  .col-layout .col-main { min-width: 0; }
  .col-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 28px; }
  :is(.col-layout, .cxv-article-layout) .art-card {
    min-width: 0;
    padding-bottom: 24px;
    border: 0;
    border-bottom: 1px solid var(--c-bdr);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: none;
  }
  :is(.col-layout, .cxv-article-layout) .art-card:hover { transform: none; box-shadow: none; }
  :is(.col-layout, .cxv-article-layout) .art-thumb { border: 0; background: var(--c-bg2, #F8F7F3); }
  :is(.col-layout, .cxv-article-layout) .art-body { padding: 20px 0 0; }
  :is(.col-layout, .cxv-article-layout) .art-meta { flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px; }
  :is(.col-layout, .cxv-article-layout) .art-meta .badge,
  .cxv-article-layout .article-cat .badge {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--c-acc, #2B4C8A);
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .035em;
  }
  :is(.col-layout, .cxv-article-layout) .art-date { font-size: 12px; letter-spacing: .015em; }
  .col-layout .art-title { margin: 0; font-size: 20px; line-height: 1.65; letter-spacing: -.02em; overflow-wrap: anywhere; }
  :is(.col-layout, .cxv-article-layout) .art-card:focus-within .art-title { color: var(--c-acc); }
  :is(.col-layout, .cxv-article-layout) .art-card-link:focus-visible { outline: 3px solid var(--c-acc); outline-offset: -3px; }
  :is(.col-layout, .cxk-tpl-archive) .pagination { margin-top: 48px; }
  :is(.col-layout, .cxk-tpl-archive) .pagination .page-numbers {
    min-width: 44px;
    width: auto;
    height: 44px;
    margin: 0 3px;
    padding: 0 10px;
    border-color: transparent;
    border-radius: 0;
    font-size: 14px;
  }
  .col-layout .search-empty { max-width: 640px; padding: 32px 0 56px; text-align: left; }
  .col-layout .search-empty-lead { font-size: 20px; line-height: 1.7; }

  /* Article text measures and scrollable table behavior remain in article-refresh. */
  .cxv-article-layout .article-header { margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--c-bdr); }
  .cxv-article-layout .article-cat { margin-bottom: 18px; }
  .cxv-article-layout .article-title {
    margin-bottom: 24px;
    color: var(--cxv-navy, #152C46);
    font-size: clamp(28px, 3.1vw, 40px);
    line-height: 1.45;
    letter-spacing: -.035em;
    text-wrap: pretty;
  }
  .cxv-article-layout .article-meta { gap: 7px 20px; font-variant-numeric: tabular-nums; padding-bottom: 0; border-bottom: 0; }
  .cxv-article-layout .article-hero-img { margin-bottom: 40px; }
  .cxv-article-layout .article-body h2 {
    margin-top: 3em;
    padding-bottom: 16px;
    color: var(--cxv-navy, #152C46);
    letter-spacing: -.02em;
  }
  .cxv-article-layout .article-body h3 { color: var(--cxv-navy, #152C46); letter-spacing: -.015em; }
  .cxv-article-layout .article-body blockquote { padding: 18px 24px; border-left: 2px solid var(--c-acc); }
  .cxv-article-layout .article-body :is(.toc, .cxv-toc) {
    margin: 36px 0 48px;
    padding: 24px 28px;
    border: 0;
    border-top: 2px solid var(--c-acc, #2B4C8A);
    border-radius: 0;
    background: var(--c-bg2, #F8F7F3);
  }
  .cxv-article-layout .article-body .toc :is(h2, h3),
  .cxv-article-layout .article-body .toc-title { margin-top: 0; padding-bottom: 0; letter-spacing: 0; }
  .cxv-article-layout .article-body :is(.toc, .cxv-toc) a { line-height: 1.85; }
  .cxv-article-layout .article-body table:not(.cx-card-table) th { background: var(--c-bg2, #F8F7F3); color: var(--cxv-navy, #152C46); }
  .cxv-article-layout .article-body table:not(.cx-card-table) :is(th, td) { border-color: var(--c-bdr); }
  .cxv-article-layout .share-section { border-top: 1px solid var(--c-bdr); border-bottom: 1px solid var(--c-bdr); }
  .cxv-article-layout .share-btn { min-height: 42px; border-radius: 0; }
  .cxv-article-layout .related { margin-top: 56px; }
  .cxv-article-layout :is(.related-title, .cxk-post-tpl-title) { margin-bottom: 22px; font-size: 24px; letter-spacing: -.02em; }
  .cxv-article-layout .related .art-title { font-size: 17px; line-height: 1.65; }
  .cxv-article-layout .cxk-post-tpl { margin: 48px 0; padding: 32px 0 0; background: transparent; border: 0; border-top: 1px solid var(--c-bdr); border-radius: 0; }
  .cxv-article-layout .cxk-post-tpl-lead { margin-bottom: 24px; font-size: 15px; line-height: 1.85; }
  .cxv-article-layout .cxk-post-tpl-card { gap: 24px; padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--c-bdr); border-radius: 0; background: transparent; transition: none; }
  .cxv-article-layout .cxk-post-tpl-card:hover { transform: none; box-shadow: none; }
  .cxv-article-layout .cxk-post-tpl-body { padding: 0; gap: 8px; }
  .cxv-article-layout .cxk-post-tpl-name { font-size: 19px; line-height: 1.6; }
  .cxv-article-layout .cxk-post-tpl-benefit { font-size: 14px; line-height: 1.8; }
  .cxv-article-layout .cxk-post-tpl-thumb img { object-fit: contain; }
  :is(.col-layout, .cxv-article-layout) .sidebar { padding-left: 24px; border-left: 1px solid var(--c-bdr); }
  :is(.col-layout, .cxv-article-layout) .sidebar-title { padding-bottom: 14px; border-bottom: 1px solid var(--c-bdr); font-size: 15px; letter-spacing: .015em; }
  :is(.col-layout, .cxv-article-layout) .sidebar-widget { margin-bottom: 36px; }
  :is(.col-layout, .cxv-article-layout) .sidebar-popular .pop-num { color: var(--c-acc); font-size: 15px; font-variant-numeric: tabular-nums; }
  :is(.col-layout, .cxv-article-layout) .sidebar-cat-list .count { padding: 0; background: transparent; border-radius: 0; }

  /* Resource catalogue: titles and summaries carry the hierarchy. */
  .cxk-tpl-archive { max-width: 1180px; padding: 0 32px 88px; }
  .cxk-tpl-single { max-width: 1060px; padding: 0 32px 88px; }
  :is(.cxk-tpl-archive, .cxk-tpl-single) .cxk-tpl-kicker {
    margin-bottom: 18px;
    padding: 0;
    border-radius: 0;
    color: var(--c-acc, #2B4C8A);
    background: transparent;
    font-size: 12px;
    letter-spacing: .07em;
  }
  .cxk-tpl-archive-head { padding: 48px 0 38px; margin-bottom: 40px; }
  .cxk-tpl-archive-head h1,
  .cxk-tpl-single .cxk-tpl-title { max-width: 24ch; color: var(--cxv-navy, #152C46); font-size: clamp(28px, 3.5vw, 42px); line-height: 1.45; letter-spacing: -.035em; }
  .cxk-tpl-archive-lead { max-width: 760px; font-size: 16px; line-height: 1.9; }
  .cxk-tpl-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
  .cxk-tpl-archive .cxk-tpl-card {
    min-width: 0;
    padding-bottom: 24px;
    border: 0;
    border-bottom: 1px solid var(--c-bdr);
    border-radius: 0;
    background: transparent;
    transition: none;
  }
  .cxk-tpl-archive .cxk-tpl-card:hover { transform: none; box-shadow: none; }
  .cxk-tpl-archive .cxk-tpl-card-thumb { border: 1px solid var(--c-bdr); background: var(--c-bg2, #F8F7F3); }
  .cxk-tpl-archive .cxk-tpl-card-thumb img { object-fit: contain; }
  .cxk-tpl-archive .cxk-tpl-card-body { padding: 22px 0 0; gap: 14px; }
  .cxk-tpl-archive .cxk-tpl-card-title { font-size: 22px; line-height: 1.6; letter-spacing: -.02em; }
  .cxk-tpl-archive .cxk-tpl-card-benefit { font-size: 15px; line-height: 1.85; }
  .cxk-tpl-archive .cxk-tpl-card-more { padding-top: 8px; font-size: 13px; text-decoration: underline; text-underline-offset: .25em; }
  .cxk-tpl-archive .cxk-tpl-card:is(:hover, :focus-visible) .cxk-tpl-card-title { color: var(--c-acc); }
  .cxk-tpl-archive-faq { max-width: 760px; margin-top: 64px; padding-top: 32px; }
  .cxk-tpl-archive-faq h2 { margin-bottom: 28px; font-size: 26px; }
  .cxk-tpl-archive-faq dl { gap: 10px; }
  .cxk-tpl-archive-faq dt { margin: 20px 0 0; font-size: 17px; line-height: 1.7; }
  .cxk-tpl-archive-faq dd { padding-bottom: 20px; border-bottom: 1px solid var(--c-bdr); font-size: 15px; line-height: 1.85; }

  .cxk-tpl-single .cxk-tpl-hero { padding: 48px 0 40px; }
  .cxk-tpl-single .cxk-tpl-benefit { max-width: 760px; margin-top: 22px; font-size: 17px; line-height: 1.9; }
  .cxk-tpl-single .cxk-tpl-section-title { margin-top: 56px; padding-bottom: 16px; font-size: 26px; line-height: 1.5; letter-spacing: -.02em; }
  .cxk-tpl-single .cxk-tpl-body { max-width: 760px; font-size: 18px; line-height: 1.9; }
  .cxk-tpl-single .cxk-tpl-body img { max-width: 100%; height: auto; }
  .cxk-tpl-single :is(.cxk-tpl-package-list, .cxk-tpl-solve-list) { gap: 0; }
  .cxk-tpl-single :is(.cxk-tpl-package-list, .cxk-tpl-solve-list) li { padding: 18px 0; border: 0; border-bottom: 1px solid var(--c-bdr); border-radius: 0; background: transparent; font-size: 16px; line-height: 1.85; }
  .cxk-tpl-single .cxk-tpl-usage-list { gap: 28px; }
  .cxk-tpl-single .cxk-tpl-usage-list li { padding: 20px 0; border: 0; border-top: 2px solid var(--c-acc); border-radius: 0; background: transparent; gap: 16px; }
  .cxk-tpl-single .cxk-tpl-step-num { padding: 0; border-radius: 0; background: transparent; font-size: 12px; }
  .cxk-tpl-single .cxk-tpl-step-text { font-size: 16px; line-height: 1.85; }
  .cxk-tpl-single :is(.cxv-button, .cxk-tpl-cta a) { min-height: 50px; padding: 13px 22px; border-radius: 3px; font-size: 15px; letter-spacing: 0; line-height: 1.7; transition: background-color .15s, color .15s; }
  .cxk-tpl-single .cxk-tpl-cta a:hover { transform: none; }
  .cxk-tpl-single .cxk-tpl-related-grid { gap: 28px; }
  .cxk-tpl-single .cxk-tpl-related-card { border: 0; border-bottom: 1px solid var(--c-bdr); border-radius: 0; background: transparent; transition: none; }
  .cxk-tpl-single .cxk-tpl-related-card:hover { transform: none; box-shadow: none; }
  .cxk-tpl-single .cxk-tpl-related-body { padding: 20px 0 24px; }
  .cxk-tpl-single .cxk-tpl-related-title { margin-bottom: 12px; font-size: 19px; line-height: 1.65; }
  .cxk-tpl-single .cxk-tpl-related-excerpt { font-size: 14px; line-height: 1.85; }
  .cxk-tpl-single .cxk-tpl-notice { margin-top: 56px; padding: 20px 0; border-top: 1px solid var(--c-bdr); border-radius: 0; background: transparent; }

  .cxk-tpl-single .cxv-material-intro > p { font-size: 16px; line-height: 1.9; }
  :is(.page-head, .col-layout, .cxk-tpl-archive, .cxk-tpl-single) :is(a, button, summary, textarea):focus-visible { outline: 3px solid var(--c-acc, #2B4C8A); outline-offset: 4px; }
}

@media screen and (min-width: 761px) {
  body:not(.search) .col-list-grid > .art-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 28px; padding-bottom: 32px; }
  body:not(.search) .col-list-grid > .art-card:first-child .art-body { padding: 0; }
  body:not(.search) .col-list-grid > .art-card:first-child .art-title { font-size: 26px; line-height: 1.6; }
}
@media screen and (max-width: 1000px) {
  .col-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  :is(.col-layout, .cxv-article-layout) .sidebar { padding-left: 0; padding-top: 28px; border-left: 0; border-top: 1px solid var(--c-bdr); position: static; }
  .cxk-tpl-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 760px) {
  .page-head { padding: 34px 24px 0; }
  .page-head .cat-tabs { column-gap: 20px; }
  .page-head .cat-tab { font-size: 13px; }
  .col-layout { padding: 32px 24px 56px; }
  .col-list-grid { gap: 28px 22px; }
  .col-layout .art-title { font-size: 19px; }
  .cxk-tpl-archive, .cxk-tpl-single { padding: 0 24px 64px; }
  .cxk-tpl-archive-head, .cxk-tpl-single .cxk-tpl-hero { padding: 34px 0 30px; }
  .cxk-tpl-archive-head { margin-bottom: 32px; }
  .cxk-tpl-single .cxk-tpl-section-title { margin-top: 42px; font-size: 23px; }
}
@media screen and (max-width: 600px) {
  .page-head { padding: 30px 20px 0; }
  .page-heading { font-size: 30px; margin-bottom: 22px; }
  .col-layout { padding: 28px 20px 48px; }
  .col-list-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .col-layout .art-title { font-size: 21px; }
  .cxv-article-layout .article-header { padding-bottom: 22px; margin-bottom: 26px; }
  .cxv-article-layout .article-title { font-size: 29px; line-height: 1.5; }
  .cxv-article-layout .article-meta { font-size: 12px; gap: 6px 14px; }
  .cxv-article-layout .article-body h2 { margin-top: 2.5em; }
  .cxv-article-layout .article-body :is(.toc, .cxv-toc) { padding: 20px; margin: 28px 0 36px; }
  .cxv-article-layout .article-body .toc :is(h2, h3) { margin-top: 0; }
  .cxv-article-layout :is(.related-title, .cxk-post-tpl-title) { font-size: 22px; }
  .cxv-article-layout .cxk-post-tpl-card { gap: 0; }
  .cxk-tpl-archive, .cxk-tpl-single { padding: 0 20px 52px; }
  .cxk-tpl-archive-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .cxk-tpl-archive .cxk-tpl-card-title { font-size: 23px; }
  .cxk-tpl-archive-faq { margin-top: 48px; }
  .cxk-tpl-single .cxk-tpl-body { font-size: 17px; }
  .cxk-tpl-single .cxk-tpl-benefit { font-size: 16px; }
}
