.editorial-page { padding-top: 112px; padding-bottom: 56px; color: #292522; }
.editorial-page .article-detail__inner { width: 100%; max-width: 900px; margin-inline: auto; }
.editorial-page .article-detail__title { font-family: var(--font-text), Arial, sans-serif; font-size: 42px; line-height: 1.17; letter-spacing: 0; overflow-wrap: anywhere; }
.editorial-page .editorial-byline { margin: 16px 0; font-size: 13px; color: #756a5e; }
.editorial-page .editorial-lead { font-size: 20px; line-height: 1.65; margin-bottom: 28px; }
.editorial-figure { margin: 0 0 30px; }
.editorial-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.editorial-figure figcaption { font-size: 12px; color: #756a5e; margin-top: 8px; }
.editorial-toc { border-block: 1px solid #d9c59f; padding-block: 22px; margin-bottom: 32px; }
.editorial-toc ol { padding-left: 22px; margin-top: 12px; }
.editorial-toc li { margin: 8px 0; line-height: 1.5; }
.editorial-page a:not(.btn):focus-visible { outline: 2px solid #ad8959; outline-offset: 3px; }
.editorial-toc a, .editorial-source a { text-decoration: underline; text-underline-offset: 3px; }
.editorial-page .article-detail__body section { scroll-margin-top: 110px; }
.editorial-page .article-detail__body h2 { font-family: var(--font-text), Arial, sans-serif; font-size: 26px; line-height: 1.3; letter-spacing: 0; }
.editorial-share { border-block: 1px solid #d9c59f; padding: 26px 0; margin: 36px 0; }
.editorial-share h2 { font: 700 26px/1.3 var(--font-text), Arial, sans-serif; margin-bottom: 12px; }
.editorial-share p { line-height: 1.65; }
.editorial-share-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.editorial-share-actions .btn { min-height: 48px; white-space: normal; text-align: center; }
.editorial-share-status { margin-top: 12px; color: #356344; }
.editorial-source { margin-top: 32px; border-top: 1px solid #e5d8c5; padding-top: 18px; color: #756a5e; font-size: 13px; line-height: 1.65; }
.editorial-source p + p { margin-top: 10px; }
@media (max-width: 640px) {
    .editorial-page { padding-top: 100px; }
    .editorial-page .article-detail__title { font-size: 30px; }
    .editorial-page .editorial-lead { font-size: 18px; }
    .editorial-page .article-detail__body h2, .editorial-share h2 { font-size: 23px; }
    .editorial-share-actions { flex-direction: column; }
    .editorial-share-actions .btn { width: 100%; padding-inline: 16px; }
}
