/* bootstrap parity: Tailwind utilities with no Bootstrap class, emulated once for both frameworks (kept first so the section rules below still win) */
.almanac-article__k-root { padding-top: 2.5rem; padding-bottom: 2.5rem; }
@media (min-width: 768px) { .almanac-article__k-root { padding-top: 3.5rem; padding-bottom: 3.5rem; } }
.almanac-article__k-wrap { gap: 3rem; max-width: 80rem; grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 1024px) { .almanac-article__k-wrap { gap: 2.5rem; grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.almanac-article__k-col { min-width: 0px; }
@media (min-width: 1024px) { .almanac-article__k-col { grid-column: span 8 / span 8; } }
.almanac-article__k-nav { font-size: 0.875rem; line-height: 1.25rem; margin-bottom: 1.25rem; }
.almanac-article__k-nav-link { text-decoration-line: none; }
.almanac-article__k-nav-link:hover { text-decoration-line: underline; }
.almanac-article__k-nav-label { letter-spacing: 0.025em; }
.almanac-article__k-title { font-size: 1.875rem; line-height: 2.25rem; line-height: 1.25; letter-spacing: -0.025em; }
@media (min-width: 768px) { .almanac-article__k-title { font-size: 3rem; line-height: 1; } }
.almanac-article__k-subtitle { font-size: 1.125rem; line-height: 1.75rem; line-height: 1.625; margin: 0px; margin-bottom: 1.25rem; }
@media (min-width: 768px) { .almanac-article__k-subtitle { font-size: 1.25rem; line-height: 1.75rem; } }
.almanac-article__k-meta { font-size: 0.875rem; line-height: 1.25rem; margin-bottom: 2rem; padding-bottom: 1.25rem; }
.almanac-article__k-meta-author { letter-spacing: 0.025em; text-decoration-style: dotted; text-underline-offset: 4px; }
.almanac-article__k-meta-label { gap: 0.375rem; }
.almanac-article__k-media { margin: 0px; margin-bottom: 2rem; }
.almanac-article__k-media-img { max-width: 100%; height: auto; }
.almanac-article__k-box { padding: 1.25rem; margin-bottom: 2.5rem; }
@media (min-width: 768px) { .almanac-article__k-box { padding: 1.5rem; } }
.almanac-article__k-box-title { font-size: 1rem; line-height: 1.5rem; margin: 0px; margin-bottom: 0.75rem; letter-spacing: 0.025em; }
.almanac-article__k-box-group { font-size: 1rem; line-height: 1.5rem; line-height: 1.625; padding-left: 1.25rem; list-style-type: disc; }
@media (min-width: 768px) { .almanac-article__k-box-group { font-size: 1.125rem; line-height: 1.75rem; } }
.almanac-article__k-block { gap: 2.5rem; }
.almanac-article__k-block-title { font-size: 1.5rem; line-height: 2rem; line-height: 1.375; }
@media (min-width: 768px) { .almanac-article__k-block-title { font-size: 1.875rem; line-height: 2.25rem; } }
.almanac-article__k-block-text { font-size: 1.125rem; line-height: 1.75rem; line-height: 1.625; }
.almanac-article__k-note { gap: 0.75rem; padding: 1.25rem; }
.almanac-article__k-note-icon { font-size: 1.125rem; line-height: 1.75rem; }
.almanac-article__k-note-label { font-size: 0.875rem; line-height: 1.25rem; letter-spacing: 0.025em; }
.almanac-article__k-note-text { font-size: 1rem; line-height: 1.5rem; line-height: 1.625; }
.almanac-article__k-panel { padding: 1.5rem; }
@media (min-width: 768px) { .almanac-article__k-panel { padding: 2rem; } }
.almanac-article__k-panel-title { font-size: 1.5rem; line-height: 2rem; margin: 0px; margin-bottom: 0.75rem; }
.almanac-article__k-panel-text { font-size: 1.125rem; line-height: 1.75rem; line-height: 1.625; }
.almanac-article__k-cite { font-size: 0.875rem; line-height: 1.25rem; line-height: 1.625; }
.almanac-article__k-area-title { font-size: 1.25rem; line-height: 1.75rem; margin: 0px; margin-bottom: 1.25rem; letter-spacing: 0.025em; }
.almanac-article__k-area-group { gap: 1.25rem; grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .almanac-article__k-area-group { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.almanac-article__k-area-media { color: inherit; text-decoration: inherit; }
.almanac-article__k-area-img { max-width: 100%; height: auto; }
.almanac-article__k-area-inner { min-width: 0px; }
.almanac-article__k-area-tag { font-size: 0.75rem; line-height: 1rem; letter-spacing: 0.025em; }
.almanac-article__k-area-link { font-size: 1rem; line-height: 1.5rem; line-height: 1.375; text-decoration-line: none; }
.almanac-article__k-area-link:hover { text-decoration-line: underline; }
@media (min-width: 1024px) { .almanac-article__k-aside { grid-column: span 4 / span 4; } }
.almanac-article__k-aside-inner { gap: 2rem; }
.almanac-article__k-aside-box { padding: 1.25rem; }
.almanac-article__k-aside-title { font-size: 1.125rem; line-height: 1.75rem; letter-spacing: 0.025em; }
.almanac-article__k-aside-item { gap: 0.75rem; }
.almanac-article__k-aside-link { font-size: 1rem; line-height: 1.5rem; line-height: 1.375; text-decoration-line: none; }
.almanac-article__k-aside-link:hover { text-decoration-line: underline; }
.almanac-article__k-aside-panel { padding: 1.25rem; }
.almanac-article__k-aside-label { font-size: 1.125rem; line-height: 1.75rem; }
.almanac-article__k-aside-text { font-size: 0.875rem; line-height: 1.25rem; line-height: 1.625; }
.almanac-article__k-btn { font-size: 1rem; line-height: 1.5rem; padding-left: 1rem; padding-right: 1rem; padding-top: 0.625rem; padding-bottom: 0.625rem; font-weight: 600; }

/* almanac article — image ratio, sticky rail, CSS-counter ranking, related thumbs (no colors) */
.almanac-article__title { text-wrap: balance; }
.almanac-article__img { aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 1024px) { .almanac-article__rail { position: sticky; top: 1.5rem; } }
.almanac-article__ranked { counter-reset: almanac-rank; }
.almanac-article__rank { counter-increment: almanac-rank; }
.almanac-article__rank::before { content: counter(almanac-rank); flex-shrink: 0; width: 1.75rem; font-size: 1.5rem; font-weight: 800; line-height: 1; opacity: 0.35; }
.almanac-article__thumb { width: 6.5rem; height: 4.5rem; object-fit: cover; }

