.editorial-hero .section-shell { padding-top: 4rem; padding-bottom: 4rem; }
.editorial-hero h1 { max-width: 19ch; font-size: clamp(2.5rem,5.5vw,5rem); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 1.5rem; }
.editorial-hero .page-summary { max-width: 750px; margin: 1.5rem 0 0; }
.editorial-shell { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.blog-card { min-width: 0; border: 1px solid #17261d24; background: var(--paper); display: flex; flex-direction: column; }
.blog-card-image { display: block; aspect-ratio: 16/10; overflow: hidden; }
.blog-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.blog-card-copy { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.article-category { font-size: .875rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; color: var(--accent-dark); margin: 0 0 .8rem; }
.blog-card h2 { font-size: 1.45rem; line-height: 1.3; margin: 0 0 1rem; }
.blog-card-copy>p:not(.article-category) { margin: 0 0 1.5rem; line-height: 1.7; }
.blog-card .card-action { margin-top: auto; }
.editorial-note { font-size: .9375rem; line-height: 1.75; border-top: 1px solid #17261d30; padding-top: 1.5rem; margin: 2rem 0 0; }
.editorial-note a,.article-copy a:not(.button),.article-toc a,.article-breadcrumb a { text-decoration: underline; text-underline-offset: .2em; }
.article-heading { color: var(--ink); background: var(--paper); }
.article-heading .editorial-shell { padding-bottom: 1rem; max-width: 1000px; }
.article-breadcrumb { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 2rem; font-size: .9375rem; }
.article-heading h1 { font-size: clamp(2.25rem,4.8vw,4.25rem); line-height: 1.13; letter-spacing: -.045em; margin: 0 0 1.5rem; max-width: 23ch; }
.article-meta { font-size: .9375rem; color: #526144; line-height: 1.7; }
.article-intro { font-size: 1.125rem; line-height: 1.85; margin: 1.5rem 0 0; }
.article-intro p { margin: 0 0 1rem; }
.article-body { color: var(--ink); background: var(--paper); max-width: 1000px; }
body:has(.article-body) { background: var(--paper); }
.article-image { margin: 0 0 2.5rem; }
.article-image img { width: 100%; height: auto; display: block; max-height: 480px; object-fit: cover; }
.article-image figcaption { font-size: .875rem; color: #526144; margin: .75rem 0 0; line-height: 1.6; }
.article-toc { padding: 1.5rem 2rem; background: #e8e1d5; border-left: 4px solid var(--accent-dark); margin: 0 0 3rem; }
.article-toc h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.article-toc ol { padding-left: 1.25rem; margin: 0; display: grid; gap: .6rem; }
.article-toc a { font-size: 1rem; line-height: 1.6; }
.article-copy { font-size: 1.0625rem; line-height: 1.85; }
.article-copy section { margin-bottom: 3rem; }
.article-copy h2 { font-size: clamp(1.6rem,2.5vw,2.1rem); line-height: 1.25; letter-spacing: -.025em; margin: 0 0 1.2rem; scroll-margin-top: 1.5rem; }
.article-copy p { margin: 0 0 1.1rem; overflow-wrap: break-word; }
.article-copy .button { font-size: 1rem; white-space: normal; line-height: 1.5; }
.editorial-table-wrap { max-width: 100%; margin: 1.5rem 0; }
.editorial-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.65; }
.editorial-table caption { text-align: left; margin-bottom: 1rem; color: #526144; font-size: .9375rem; }
.editorial-table th,.editorial-table td { vertical-align: top; padding: 1rem; border: 1px solid #17261d30; overflow-wrap: break-word; }
.editorial-table thead { background: #e8e1d5; }
.editorial-table th { text-align: left; font-weight: 700; }
.editorial-table th:first-child { width: 24%; }
.related-articles { border-top: 1px solid #17261d30; padding-top: 2rem; }
.related-articles h2 { font-size: 1.6rem; margin: 0 0 1rem; }
.related-links { display: grid; gap: 1rem; }
.related-links a { padding: 1rem 1.25rem; border: 1px solid #17261d30; line-height: 1.6; background: #e8e1d5; font-weight: 600; }
.youtube-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.youtube-card { min-width: 0; padding: 1.5rem; background: var(--paper); border: 1px solid #17261d24; }
.youtube-player { width: 100%; aspect-ratio: 16/9; min-height: 200px; margin: 0 auto; background: #17261d; }
.youtube-player iframe { width: 100%; height: 100%; display: block; border: 0; min-height: 200px; }
.youtube-copy { padding-top: 1.5rem; }
.youtube-copy h2 { font-size: 1.6rem; line-height: 1.3; margin: 0 0 1rem; }
.youtube-copy p { line-height: 1.75; }
.youtube-copy a:not(.card-action) { text-decoration: underline; text-underline-offset: .2em; }
.video-author { font-size: .9375rem; color: var(--accent-dark); }
.video-question { padding: 1rem; background: #e8e1d5; }
.video-channel { padding: 2rem; margin-top: 2rem; border: 1px solid #17261d30; background: var(--paper); }
.video-channel h2 { margin: 0; font-size: 1.75rem; }
.video-channel p { margin: 1rem 0 1.5rem; }
.editorial-shell>.related-links { margin-top: 2rem; }
@media(max-width:1000px) {
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .article-heading .editorial-shell { padding-top: 2.5rem; }
}
@media(max-width:720px) {
  .blog-grid,.youtube-grid { grid-template-columns: 1fr; }
  .editorial-shell { padding-top: 2rem; padding-bottom: 2rem; }
  .editorial-hero .section-shell { padding-top: 3rem; padding-bottom: 3rem; }
  .article-toc { padding: 1.25rem; }
  .youtube-card { padding: 1rem; }
  .video-channel { padding: 1.5rem; }
  .editorial-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .editorial-table,.editorial-table tbody,.editorial-table tr,.editorial-table th,.editorial-table td { display: block; width: 100%; }
  .editorial-table tr { border: 1px solid #17261d30; margin-bottom: 1rem; }
  .editorial-table th,.editorial-table td { border: 0; padding: 1rem; }
  .editorial-table th:first-child { width: 100%; background: #e8e1d5; }
  .editorial-table td+td { border-top: 1px solid #17261d20; }
  .editorial-table td::before { content: attr(data-label); display: block; font-weight: 700; margin-bottom: .5rem; }
  .article-heading h1,.related-links a { overflow-wrap: break-word; }
}
