/* bootstrap parity: Tailwind utilities with no Bootstrap class, emulated once for both frameworks (kept first so the section rules below still win) */
.almanac-index__k-root { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .almanac-index__k-root { padding-top: 4rem; padding-bottom: 4rem; } }
.almanac-index__k-wrap { max-width: 80rem; }
.almanac-index__k-box { gap: 0.75rem; margin-bottom: 2rem; }
.almanac-index__k-box-title { font-size: 2.25rem; line-height: 2.5rem; line-height: 1.25; letter-spacing: -0.025em; }
@media (min-width: 768px) { .almanac-index__k-box-title { font-size: 3rem; line-height: 1; } }
.almanac-index__k-box-text { font-size: 1.125rem; line-height: 1.75rem; line-height: 1.625; max-width: 48rem; }
.almanac-index__k-grid { gap: 3rem; grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 1024px) { .almanac-index__k-grid { gap: 2.5rem; grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.almanac-index__k-col { min-width: 0px; }
@media (min-width: 1024px) { .almanac-index__k-col { grid-column: span 8 / span 8; } }
.almanac-index__k-nav-btn { cursor: pointer; font-size: 0.875rem; line-height: 1.25rem; padding-left: 1rem; padding-right: 1rem; padding-top: 0.375rem; padding-bottom: 0.375rem; font-weight: 600; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.almanac-index__k-item { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.almanac-index__k-item:first-child { padding-top: 0px; }
.almanac-index__k-card { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .almanac-index__k-card { grid-template-columns: 14rem 1fr; } }
.almanac-index__k-card-media { color: inherit; text-decoration: inherit; }
.almanac-index__k-card-img { max-width: 100%; }
.almanac-index__k-card-inner { min-width: 0px; }
.almanac-index__k-card-tag { font-size: 0.75rem; line-height: 1rem; letter-spacing: 0.025em; }
.almanac-index__k-card-title { font-size: 1.25rem; line-height: 1.75rem; line-height: 1.375; }
@media (min-width: 768px) { .almanac-index__k-card-title { font-size: 1.5rem; line-height: 2rem; } }
.almanac-index__k-card-link { text-decoration-line: none; }
.almanac-index__k-card-link:hover { text-decoration-line: underline; }
.almanac-index__k-card-text { font-size: 1rem; line-height: 1.5rem; line-height: 1.625; }
.almanac-index__k-card-meta { font-size: 0.875rem; line-height: 1.25rem; }
.almanac-index__k-card-btn { text-decoration-line: none; }
.almanac-index__k-card-btn:hover { text-decoration-line: underline; }
.almanac-index__k-note { font-size: 1rem; line-height: 1.5rem; padding-left: 1rem; padding-right: 1rem; padding-top: 0.75rem; padding-bottom: 0.75rem; }
.almanac-index__k-aside { gap: 2rem; }
@media (min-width: 1024px) { .almanac-index__k-aside { grid-column: span 4 / span 4; } }
.almanac-index__k-aside-box { padding: 1.25rem; }
.almanac-index__k-aside-title { font-size: 1.125rem; line-height: 1.75rem; letter-spacing: 0.025em; }
.almanac-index__k-aside-item { gap: 0.75rem; }
.almanac-index__k-aside-link { font-size: 1rem; line-height: 1.5rem; line-height: 1.375; text-decoration-line: none; }
.almanac-index__k-aside-link:hover { text-decoration-line: underline; }
.almanac-index__k-aside-panel { padding: 1.25rem; }
.almanac-index__k-aside-label { font-size: 1.125rem; line-height: 1.75rem; }
.almanac-index__k-aside-text { font-size: 0.875rem; line-height: 1.25rem; line-height: 1.625; }
.almanac-index__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 index — thumbnail ratio, chip state, CSS-counter ranking, chip reset (no colors except theme tokens) */
.almanac-index__img { aspect-ratio: 16 / 10; object-fit: cover; }
.almanac-index__chip { appearance: none; cursor: pointer; font: inherit; font-weight: 600; }
.almanac-index__ranked { counter-reset: almanac-rank; }
.almanac-index__rank { counter-increment: almanac-rank; }
.almanac-index__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; }

