/* Knowledge library and article template: preserve cascade and media order. */
.article-editorial-lead{ border-bottom: 1px solid var(--color-border); background: #fff; }
.article-editorial-lead > .shell{ padding-block: clamp(28px, 4vw, 52px); }
.article-direct-answer{
  max-width: 960px;
  margin: 0;
  padding: clamp(22px, 3vw, 34px);
  border-inline-start: 6px solid #ffd84d;
  background: #fffbed;
  color: var(--color-ink-700);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.8;
}
.article-direct-answer strong{ color: var(--color-ink-900); }
.article-editorial-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 22px 0 0;
}
.article-editorial-meta > div{
  min-width: 155px;
  display: grid;
  gap: 4px;
  padding: 8px 18px;
  border-inline-start: 1px solid var(--color-border);
}
.article-editorial-meta > div:first-child{ padding-inline-start: 0; border-inline-start: 0; }
.article-editorial-meta dt{ color: var(--color-text-secondary); font-size: .68rem; font-weight: 750; }
.article-editorial-meta dd{ margin: 0; color: var(--color-ink-900); font-size: .78rem; font-weight: 800; }
.article-editorial-meta a{ color: var(--color-accent); }
.article-body{ font-size: 1.04rem; }
.article-body > section{ scroll-margin-top: 118px; }
.article-body h2{ font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.08; letter-spacing: -.035em; }
.article-body h3{ margin: 34px 0 14px; color: var(--color-ink-900); font-size: clamp(1.3rem, 2vw, 1.7rem); line-height: 1.2; }
.article-subsection{ scroll-margin-top: 118px; }
.article-toc-group{ display: grid; }
.article-toc .article-toc-subitem{ min-height: 36px; padding-inline-start: 12px; border-bottom: 0; color: var(--color-text-secondary); font-size: .78rem; }
.article-context-links{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 24px 0 8px;
  padding: 16px 18px;
  border: 1px solid var(--color-border);
  background: #fff;
  font-size: .8rem;
}
.article-context-links strong{ color: var(--color-ink-900); }
.article-context-links a{ color: var(--color-accent); font-weight: 800; }
.article-original-contribution{
  margin: 30px 0 44px;
  padding: 22px 24px;
  border: 1px solid var(--color-border);
  border-block-start: 4px solid var(--color-cobalt);
  background: #f4f7ff;
}
.article-original-contribution p{ margin: 10px 0 0; }
.article-tags{ margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--color-border); }
.article-tags > strong{ color: var(--color-ink-900); }
.article-tags > div{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.article-tags a{ min-height: 42px; display: inline-flex; align-items: center; padding: 8px 13px; border: 1px solid var(--color-border); border-radius: 999px; background: #fff; color: var(--color-ink-700); font-size: .76rem; font-weight: 750; }
.article-tags a:hover{ border-color: var(--color-accent); color: var(--color-accent); }
.knowledge-article-card{
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-block-start-width: 1px;
}
.knowledge-article-card:hover{ transform: none; }
.knowledge-article-image{
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eeeae4;
}
.knowledge-article-image img{ object-fit: cover; transition: transform .3s ease; }
.knowledge-article-card:hover .knowledge-article-image img{ transform: scale(1.025); }
.knowledge-article-card > :not(.knowledge-article-image):not(.knowledge-article-number){ margin-inline: 24px; }
.knowledge-article-card .knowledge-article-meta{ margin-top: 20px; }
.knowledge-article-card h3{ margin-block: 22px 12px; }
.knowledge-article-card h3 a{ color: inherit; }
.knowledge-article-byline{ display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: .7rem; }
.knowledge-article-tags{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.knowledge-article-tags a{ padding: 5px 8px; background: #f4f0ea; color: var(--color-ink-700); font-size: .65rem; font-weight: 750; }
.knowledge-article-card .knowledge-article-footer{ margin-bottom: 24px; }
.knowledge-article-footer a{ color: var(--color-accent); font-weight: 800; }
@media (max-width: 700px){.article-editorial-meta{ display: grid; grid-template-columns: 1fr 1fr; }
.article-editorial-meta > div,
  .article-editorial-meta > div:first-child{ min-width: 0; padding: 10px 0; border-inline-start: 0; border-block-end: 1px solid var(--color-border); }
.article-body{ font-size: 1rem; }
.article-context-links{ display: grid; }
.knowledge-article-card > :not(.knowledge-article-image):not(.knowledge-article-number){ margin-inline: 20px; }
}
@media (prefers-reduced-motion: reduce){
  .knowledge-article-image img{ transition: none; }
}

.knowledge-editorial-section :focus-visible,
.article-takeaways :focus-visible{
  outline-color: #fff;
  box-shadow: 0 0 0 6px rgba(23, 23, 22, .88);
}
.knowledge-category-nav{ position: relative; z-index: 5; border-block: 1px solid var(--color-border); background: rgba(255,253,248,.96); }
.knowledge-category-nav .shell{ overflow-x: auto; display: flex; gap: 6px; padding-block: 10px; scrollbar-width: thin; }
.knowledge-category-nav a{ flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; padding: 8px 16px; border: 1px solid transparent; border-radius: 999px; color: var(--color-ink-700); font-size: .88rem; font-weight: 700; }
.knowledge-category-nav a:hover, .knowledge-category-nav a:focus-visible{ border-color: var(--color-ink-900); background: var(--color-ink-900); color: #fff; }
.knowledge-category-nav a:focus-visible{ outline-color: #fff; box-shadow: 0 0 0 6px var(--color-ink-900); }
.knowledge-library-intro{ max-width: 72ch; margin-bottom: clamp(38px, 6vw, 72px); }
.knowledge-library-intro p{ margin: 10px 0 0; color: var(--color-text-secondary); font-size: 1.08rem; }
.knowledge-category-section{ padding-block: clamp(34px, 5vw, 62px); border-block-start: 1px solid var(--color-border); }
.knowledge-category-heading{ display: grid; grid-template-columns: minmax(240px, .8fr) minmax(280px, 1.2fr); gap: 28px; align-items: end; margin-bottom: 26px; }
.knowledge-category-heading > div{ display: flex; align-items: baseline; gap: 16px; }
.knowledge-category-heading span{ color: #9b9388; font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.knowledge-category-heading h2{ margin: 0; color: var(--color-ink-900); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -.04em; }
.knowledge-category-heading p{ max-width: 58ch; margin: 0; color: var(--color-text-secondary); }
.knowledge-article-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.knowledge-article-card{ position: relative; overflow: hidden; min-height: 340px; display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--color-border); border-block-start: 4px solid var(--color-ink-900); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(23,23,22,.04); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.knowledge-article-card:hover{ transform: translateY(-4px); border-color: #b8afa2; box-shadow: var(--shadow-card); }
.knowledge-article-card-skills{ border-block-start-color: #9b604e; }
.knowledge-article-card-ai{ border-block-start-color: #741f2a; }
.knowledge-article-card-organization{ border-block-start-color: #5a6558; }
.knowledge-article-meta{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--color-text-secondary); font-size: .75rem; font-weight: 700; }
.knowledge-article-card h3{ margin: 48px 0 14px; color: var(--color-ink-900); font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.2; }
.knowledge-article-card > p{ margin: 0; color: var(--color-text-secondary); font-size: .92rem; line-height: 1.7; }
.knowledge-article-footer{ display: grid; gap: 10px; margin-top: auto; padding-top: 24px; border-block-start: 1px solid var(--color-border); }
.knowledge-article-footer span{ color: var(--color-text-secondary); font-size: .76rem; line-height: 1.5; }
.knowledge-article-footer strong{ color: var(--color-ink-900); font-size: .86rem; }
.knowledge-article-number{ position: absolute; inset-block-start: 55px; inset-inline-end: 24px; color: #dfdad1; font-size: 2rem; font-weight: 800; line-height: 1; }
.knowledge-editorial-section{ background: #171716; color: #fff; }
.knowledge-editorial-layout{ display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); gap: clamp(34px, 7vw, 96px); align-items: center; }
.knowledge-editorial-layout > img{ width: 100%; max-height: 560px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 22px; filter: saturate(.8); }
.knowledge-editorial-layout .eyebrow{ color: #d9b5ad; }
.knowledge-editorial-layout h2{ max-width: 760px; margin: 12px 0 18px; color: #fff; font-size: clamp(2.2rem, 4.8vw, 4.5rem); line-height: 1; letter-spacing: -.045em; }
.knowledge-editorial-layout p{ max-width: 68ch; color: #d7d2c9; }
.knowledge-editorial-layout > div > div{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.article-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.article-card{ min-height: 320px; display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.article-card h2, .article-card h3{ color: var(--color-ink-900); }
.article-card p{ color: var(--color-text-secondary); }
.article-card strong{ margin-top: auto; color: var(--color-teal-700); }
.article-detail-layout{ display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 72ch); align-items: start; justify-content: center; gap: clamp(28px, 5vw, 72px); }
.article-body{ width: 100%; max-width: 72ch; margin-inline: auto; }
.article-body p{ color: var(--color-text-secondary); line-height: 1.8; text-align: start; }
.article-body h2{ margin-top: 42px; color: var(--color-ink-900); font-size: 1.8rem; }
.article-toc{ position: sticky; inset-block-start: 104px; padding: 22px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-sky-100); }
.article-toc summary{ min-height: 44px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.article-toc summary::marker{ color: var(--color-accent); }
.article-toc-count{ color: var(--color-text-secondary); font-size: .78rem; font-weight: 700; }
.article-toc nav{ display: grid; gap: 8px; margin-top: 14px; }
.article-toc a{ min-height: 44px; display: flex; align-items: center; padding-block: 9px; border-bottom: 1px solid var(--color-border); color: var(--color-ink-700); font-size: .9rem; font-weight: 650; line-height: 1.4; }
@media (min-width: 921px){.article-toc{
    max-height: calc(100vh - 120px);
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
    scrollbar-gutter: stable;
    scroll-padding-block: 12px;
  }
}
.article-reading-time{ align-self: center; color: rgba(255,255,255,.85); font-size: .82rem; }
.article-audience{ padding: 16px 18px; border-inline-start: 4px solid var(--color-accent); background: #fff; }
.article-important-notice{ margin: 18px 0 30px; padding: 20px 22px; border: 1px solid #b98a91; border-inline-start: 5px solid var(--color-accent); border-radius: 12px; background: #fff7f4; }
.article-important-notice h2{ margin: 0 0 8px; font-size: 1.22rem; }
.article-important-notice p{ margin: 0; color: var(--color-ink-700); }
.article-hero-image{ overflow: hidden; margin: 0 0 28px; border: 1px solid var(--color-border); border-radius: 18px; background: var(--color-sand-100); }
.article-hero-image img{ width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-takeaways{ margin-bottom: 44px; padding: clamp(24px, 4vw, 38px); border-radius: var(--radius-md); background: var(--color-ink-900); color: #fff; }
.article-takeaways h2{ margin-top: 0; color: #fff; }
.article-takeaways ol{ display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; counter-reset: takeaway; }
.article-takeaways li{ display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; }
.article-takeaways li{ counter-increment: takeaway; }
.article-takeaways li::before{ content: counter(takeaway, decimal-leading-zero); color: #f0c9ce; font-size: .75rem; font-weight: 800; }
.article-takeaways li p{ margin: 0; color: rgba(255,255,255,.86); text-align: start; }
.article-practical-tool{ margin: 34px 0 48px; padding: clamp(24px, 4vw, 38px); border: 1px solid #c8bbb0; border-radius: 18px; background: linear-gradient(145deg, #fffdf8, #eee8de); }
.article-practical-tool h2{ margin: 8px 0 12px; }
.article-practical-tool ol{ display: grid; gap: 10px; padding-inline-start: 24px; }
.article-section-citations{ display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 18px; color: var(--color-text-secondary); font-size: .85rem; }
.article-section-citations strong{ color: var(--color-ink-900); }
.article-section-citations a{ min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--color-accent); font-weight: 800; }
.article-section-citations a:hover{ background: var(--color-sand-100); }
.article-sources{ margin-top: 52px; padding-top: 8px; border-top: 1px solid var(--color-border); }
.article-sources ol{ display: grid; gap: 12px; padding-inline-start: 26px; }
.article-sources li{ padding: 12px 14px; scroll-margin-top: 110px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; }
.article-sources a{ display: inline-flex; gap: 8px; align-items: center; color: var(--color-accent); font-weight: 700; line-height: 1.5; }
.article-sources small{ display: block; margin-top: 5px; color: var(--color-text-secondary); }
.article-faq{ margin-top: 52px; }
.article-faq .faq-list{ display: grid; gap: 10px; }
.article-faq details{ padding: 16px 18px; border: 1px solid transparent; border-radius: 14px; background: #fff; }
.article-faq summary{ cursor: pointer; color: var(--color-ink-900); font-weight: 750; }
.article-author-section{ padding-block: 50px; background: var(--color-canvas); }
.article-author{ display: grid; grid-template-columns: 64px minmax(0, 620px); justify-content: center; gap: 18px; }
.article-author-mark{ width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--color-ink-900); color: #fff; font-size: 1.5rem; font-weight: 800; }
.article-author h2{ margin: 3px 0 5px; }
.article-author p{ margin: 0 0 7px; color: var(--color-text-secondary); }
.article-author a{ color: var(--color-accent); font-weight: 750; }
.article-author .article-reviewer{ margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--color-border); }
@media (max-width: 1120px){.knowledge-article-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px){ .article-detail-layout{ grid-template-columns: 1fr; }
.knowledge-library-intro, .knowledge-category-heading, .knowledge-editorial-layout{ grid-template-columns: 1fr; }
.knowledge-editorial-layout > img{ width: min(100%, 520px); }
.article-toc{ position: static; }
.knowledge-article-grid{ grid-template-columns: 1fr 1fr; }
.knowledge-category-heading{ grid-template-columns: 1fr; align-items: start; }
.knowledge-editorial-layout{ grid-template-columns: 1fr; }
.knowledge-editorial-layout > img{ width: min(100%, 440px); }
 .article-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){.knowledge-article-grid{ grid-template-columns: 1fr; }
.knowledge-article-card{ min-height: 300px; padding: 22px; }
.knowledge-category-nav .shell{ width: 100%; padding-inline: 18px; }
.knowledge-editorial-layout > div > div{ display: grid; }
.knowledge-editorial-layout .button{ width: 100%; }
 .article-grid{ grid-template-columns: 1fr; }
.article-author{ grid-template-columns: 48px minmax(0, 1fr); }
.article-author-mark{ width: 48px; height: 48px; }
}
.page-hero .article-reading-time{
  color: var(--color-text-secondary);
}
.article-takeaways{
  border-radius: 0;
}
.article-hero-image{
  border-radius: 0;
}
.knowledge-article-card{
  border-radius: 0;
}
.knowledge-article-card{
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-block-start-width: 1px;
}
.knowledge-article-card:hover{ transform: none; }
.knowledge-article-card > :not(.knowledge-article-image):not(.knowledge-article-number){ margin-inline: 24px; }
.knowledge-article-card .knowledge-article-meta{ margin-top: 20px; }
.knowledge-article-card h3{ margin-block: 22px 12px; }
.knowledge-article-card .knowledge-article-footer{ margin-bottom: 24px; }
.article-body{ font-size: 1.04rem; }
.article-body > section{ scroll-margin-top: 118px; }
.article-body h2{ font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.08; letter-spacing: -.035em; }
.article-body h3{ margin: 34px 0 14px; color: var(--color-ink-900); font-size: clamp(1.3rem, 2vw, 1.7rem); line-height: 1.2; }
@media (max-width: 700px){.knowledge-article-card > :not(.knowledge-article-image):not(.knowledge-article-number){ margin-inline: 20px; }
.article-body{ font-size: 1rem; }
}

.article-editorial-meta{
  font-size: 14px;
}
.article-detail-layout{
  width: 100%;
  grid-template-columns: 260px minmax(0, 1fr);
  justify-content: stretch;
  gap: 48px;
}
.article-body{
  max-width: none;
  margin-inline: 0;
  font-size: 18px;
  line-height: 1.75;
}
.article-body > section,
.article-body > aside,
.article-body > figure,
.article-body > .related-video{
  width: 100%;
  max-width: none;
}
.article-body > p,
.article-body > section > p,
.article-body > section > ul,
.article-body > section > ol,
.article-body > section > h2,
.article-body > section > h3,
.article-body > section > div:not(.article-source-grid){
  max-inline-size: 84ch;
}
.article-body h2{
  font-size: clamp(2rem, 3.2vw, 3rem);
}
.article-body h3{
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}
@media (max-width: 920px){.article-detail-layout{
    grid-template-columns: 1fr;
  }
.article-toc{
    position: static;
  }
}
@media (max-width: 700px){.article-body{ font-size: 17px; }
}
.article-body{ max-width: 70ch; font-size: 18px; line-height: 1.9; }
.article-body > section{ margin-block: clamp(48px, 7vw, 76px); }
.article-body > section > p{ max-inline-size: 68ch; margin-block: 0 1.35em; line-height: 1.9; }
.article-body > section > p + p{ margin-top: 1.1em; }
.article-body > section > h2{ max-inline-size: 24ch; margin-block: 0 24px; line-height: 1.16; }
.article-body > section > ul,
.article-body > section > ol{ margin-block: 24px 32px; padding-inline-start: 1.3em; }
.article-body > section > ul li,
.article-body > section > ol li{ margin-block: 10px; line-height: 1.75; }
.article-context-links{ display: grid; gap: 12px; margin-top: 28px; padding: 24px; border-inline-start: 4px solid var(--color-accent); background: var(--color-sand-100); }
@media (max-width: 700px){.article-body{ max-width: 100%; font-size: 17px; line-height: 1.85; }
.article-body > section{ margin-block: 42px; }
.article-body > section > h2{ font-size: clamp(1.65rem, 8vw, 2.15rem); }
}
.article-author-photo{ width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.article-disclosure{ margin-top: .75rem; font-size: .875rem; color: var(--color-ink-600, #555); }
@media (max-width: 640px){.article-author-photo{ width: 48px; height: 48px; }
}
.article-table-wrap{ overflow-x: auto; margin: 1.25rem 0 1.5rem; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 12px; }
.article-table{ width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.55; min-width: 520px; }
.article-table caption{ caption-side: top; text-align: start; font-weight: 700; padding: .75rem 1rem .5rem; }
.article-table th, .article-table td{ text-align: start; vertical-align: top; padding: .65rem .85rem; border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.article-table thead th{ background: color-mix(in srgb, currentColor 6%, transparent); font-weight: 700; border-top: 0; }
.article-table tbody th{ font-weight: 700; white-space: nowrap; }
@media (max-width: 640px){.article-table{ font-size: .9rem; min-width: 480px; }
.article-table tbody th{ white-space: normal; }
}
.article-body, .article-body > section, .article-table-wrap{ min-width: 0; max-width: 100%; }
.article-table a{position:relative;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:700px){.article-detail-layout{grid-template-columns:minmax(0,1fr)}
.article-body{width:100%;overflow-x:clip}
.article-table-wrap{width:100%;box-sizing:border-box}
}

