/* Journal only: keep every article readable before any enhancement runs. */
.blog-page .page-intro { position: relative; }
.blog-page .journal-intro-rule { position: absolute; left: 0; bottom: 24px; width: 92px; height: 2px; background: var(--red-text); transform-origin: left; }
.blog-page .journal-feature { position: relative; transition: border-color 220ms ease; }
.blog-page .journal-feature-rule { position: absolute; left: 0; top: 0; width: 100%; height: 2px; background: linear-gradient(90deg,var(--red-text),rgba(239,68,68,.12)); transform-origin: left; z-index: 1; pointer-events: none; }
.blog-page .journal-feature > img { transition: filter 250ms ease; }
.blog-page .journal-feature .text-link, .blog-page .story .text-link { align-self: flex-start; width: fit-content; position: relative; }
.blog-page .journal-feature .text-link::after, .blog-page .story .text-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: var(--red-text); transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
.blog-page .article-card .arrow { display: inline-block; transition: transform 180ms ease-out; }
.blog-page .story-media img { transition: transform 320ms cubic-bezier(.22,1,.36,1); }
.blog-page .story:hover img { transform: none; }
.blog-page .filter { position: relative; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease; }
.blog-page .filter::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 5px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: center; transition: transform 220ms ease-out; }
.blog-page .filter[aria-pressed=true]::after { transform: scaleX(1); }
.blog-page .search-label input { transition: border-color 180ms ease, background-color 180ms ease; }
.blog-page .search-label input:focus { border-color: var(--data); }
.blog-page .article-card:focus-visible .arrow { transform: translate(3px,-3px); }
.blog-page .article-card:focus-visible .text-link::after { transform: scaleX(1); }
.blog-page .journal-feature:focus-visible { border-color: var(--red-text); }
@media (hover:hover) and (pointer:fine) {
  .blog-page .article-card:hover .arrow { transform: translate(3px,-3px); }
  .blog-page .article-card:hover .text-link::after { transform: scaleX(1); }
  .blog-page .story:hover img { transform: scale(1.025); }
  .blog-page .journal-feature:hover { border-color: var(--red-text); }
  .blog-page .journal-feature:hover > img { filter: brightness(1.04); }
}
@media (prefers-reduced-motion:reduce) {
  html:has(body.blog-page) { scroll-behavior: auto; }
  .blog-page .article-card .arrow, .blog-page .article-card .text-link::after, .blog-page .story-media img,
  .blog-page .journal-feature, .blog-page .journal-feature > img, .blog-page .filter, .blog-page .filter::after,
  .blog-page .search-label input { transition: none; }
  .blog-page .article-card:hover .arrow, .blog-page .article-card:focus-visible .arrow, .blog-page .story:hover img { transform: none; }
}
@media print {
  .blog-page .journal-intro-rule, .blog-page .journal-feature-rule { display: none; }
}
