/* Article index, reading pages and homepage cards. */
.journal-preview { margin-top: 42px; }
.journal-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.journal-heading h2 { margin-top: 9px; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.2; }
.journal-heading > a { flex: 0 0 auto; font-size: .9375rem; color: #ffda70; text-decoration: none; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.journal-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.journal-card { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border: 1px solid #2c374c; border-radius: 18px; background: #111925; text-decoration: none; color: #eef2fc; transition: border-color .2s, background .2s; }
.journal-card:hover { border-color: #a18a52; background: #152032; color: #fff; }
.journal-card__image { aspect-ratio: 16/9; overflow: hidden; background: #141a2b; }
.journal-card__image img { width: 100%; height: 100%; object-fit: cover; }
.journal-card__image--symbol { background: radial-gradient(ellipse at center, #58307c55, #0d1423 75%); }
.journal-card__image--symbol img { object-fit: contain; padding: 14px; }
.journal-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.journal-card__category { font-size: .875rem; line-height: 1.5; color: #acbad0; }
.journal-card .journal-card__body h3 { margin: 13px 0 12px; font-size: 1.25rem; line-height: 1.35; letter-spacing: -.025em; text-wrap: pretty; color: #f2f5fc; }
.journal-card p { margin: 0 0 22px; color: #afbed4; font-size: 1rem; line-height: 1.7; }
.journal-card__read { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; color: #ffda70; font-size: .9375rem; font-weight: 600; }
.journal-main { padding-top: 30px; padding-bottom: 64px; }
.journal-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; color: #8e9fb9; font-size: .875rem; line-height: 1.5; }
.journal-breadcrumbs a { color: #bac8df; text-decoration: none; }
.journal-intro { margin: 36px 0 32px; max-width: 900px; }
.journal-intro .eyebrow { font-size: .8125rem; letter-spacing: .12em; }
.journal-intro h1 { margin-top: 16px; color: #f2f5fd; font-size: clamp(2.25rem, 4.4vw, 3.7rem); line-height: 1.12; letter-spacing: -.04em; }
.journal-intro > p:not(.eyebrow):not(.journal-meta) { margin-top: 24px; max-width: 78ch; color: #bdcce2; font-size: 1.125rem; line-height: 1.8; }
.journal-intro .journal-meta { margin-top: 18px; color: #8fa2be; font-size: .875rem; }
.journal-entry { max-width: 920px; margin-inline: auto; }
.journal-toc { padding: 24px 28px; border-block: 1px solid #2a374d; color: #dbe5f6; }
.journal-toc strong { font-size: 1rem; }
.journal-toc ol { padding-left: 20px; margin: 12px 0 0; }
.journal-toc li { padding: 6px 0; font-size: 1rem; }
.journal-toc a { color: #c5d0e5; text-underline-offset: .2em; }
.journal-section { margin-top: 42px; }
.journal-section h2 { color: #eef3ff; margin: 0 0 24px; font-size: clamp(1.65rem, 3vw, 2.15rem); line-height: 1.25; }
.journal-section > p { font-size: 1.0625rem; color: #c4d0e3; line-height: 1.9; }
.journal-section > p + p { margin-top: 22px; }
.journal-section > :is(.table-wrap, .note) { margin-block: 28px; }
.journal-section .note p { font-size: 1rem; line-height: 1.8; }
.journal-section caption, .journal-section thead th { font-size: .875rem; }
.journal-section td, .journal-section tbody th { font-size: .9375rem; }
.journal-demo-callout { display: flex; align-items: center; gap: 30px; justify-content: space-between; padding: 30px; margin-top: 42px; background: #161d2c; border: 1px solid #534935; border-radius: 16px; }
.journal-demo-callout > div { min-width: 0; }
.journal-demo-callout h2 { font-size: 1.4rem; line-height: 1.3; }
.journal-demo-callout p { margin-top: 12px; color: #aebdd4; font-size: 1rem; line-height: 1.7; }
.journal-demo-callout .button { flex: 0 0 auto; }
.journal-related { margin-top: 64px; }
.journal-page .primary-nav a[aria-current="page"] { color: #ffda70; }
@media (max-width: 900px) {
    .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .journal-grid > :last-child:nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1fr; }
    .journal-grid > :last-child:nth-child(3) .journal-card__image { height: 100%; aspect-ratio: auto; }
}
@media (max-width: 620px) {
    .journal-grid, .journal-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); }
    .journal-grid > :last-child:nth-child(3) { display: flex; grid-column: auto; }
    .journal-grid > :last-child:nth-child(3) .journal-card__image { height: auto; aspect-ratio: 16/9; }
    .journal-card__body { padding: 21px; }
    .journal-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
    .journal-intro { margin-top: 26px; }
    .journal-intro h1 { font-size: 2.15rem; }
    .journal-intro > p:not(.eyebrow):not(.journal-meta) { font-size: 1.0625rem; }
    .journal-toc { padding: 22px 12px; }
    .journal-demo-callout { flex-direction: column; align-items: stretch; gap: 20px; padding: 24px; }
    .journal-section .table-wrap table { min-width: 540px; }
    .journal-section { margin-top: 34px; }
}
@media (prefers-reduced-motion: reduce) { .journal-card { transition: none; } }
