.journal { --journal-ink: #19191b; --journal-muted: #73706e; --journal-line: #dcd8d3; color: var(--journal-ink); background: #faf9f6; padding: clamp(3.5rem, 6vw, 6rem) 0; }
.journal-wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 4rem); padding-right: clamp(1.25rem, 7.5vw, 6rem); }
.journal-header { display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: 3rem; padding-bottom: 2rem; margin-bottom: 2.25rem; border-bottom: 1px solid var(--journal-line); }
.journal-kicker { display: block; margin-bottom: 1rem; font-size: .65rem; font-weight: 550; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; color: #6e615e; }
.journal-header h1, .journal-header h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.3rem, 4.3vw, 3.75rem); font-weight: 450; line-height: 1.04; letter-spacing: -.045em; }
.journal-header h1 span, .journal-header h2 span { display: block; }
.journal-header-note { max-width: 22rem; justify-self: end; }
.journal-header-note p { margin: 0 0 .85rem; color: #696663; font-size: .95rem; line-height: 1.65; }
.journal-all { display: inline-flex; align-items: center; min-height: 32px; color: var(--journal-ink); font-size: .85rem; font-weight: 500; text-decoration: none; }
.journal-all:hover { color: #82646c; }
.journal-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 3rem; }
.journal-card { min-width: 0; }
.journal-card-link { display: block; color: inherit; text-decoration: none; }
.journal-media { display: block; overflow: hidden; background: #efede9; aspect-ratio: 4 / 3; }
.journal-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.journal-media--airdrop { background: #e8edf1; }
.journal-media--airdrop img { object-fit: contain; padding: .9rem; }
.journal-media--battery { background: #ded7cd; }
.journal-media--battery img { object-fit: contain; padding: .8rem; }
.journal-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin: 1.2rem 0 .65rem; color: var(--journal-muted); font-size: .7rem; line-height: 1.5; }
.journal-meta > span:first-child { color: #5e5652; font-weight: 550; }
.journal .journal-meta time { display: inline; visibility: visible; font-variant-numeric: tabular-nums; }
.journal-feature h2, .journal-feature h3 { max-width: 30rem; margin: 0; font-family: var(--font-display); font-size: clamp(1.7rem, 2.65vw, 2.3rem); font-weight: 480; letter-spacing: -.035em; line-height: 1.16; }
.journal-card p { max-width: 30rem; margin: .85rem 0 1rem; font-size: .9rem; line-height: 1.65; color: #696663; }
.journal-read { display: inline-flex; min-height: 30px; align-items: center; font-size: .78rem; font-weight: 550; color: #292729; }
.journal-side { display: grid; align-content: start; gap: 2rem; }
.journal-side .journal-card { border-bottom: 1px solid var(--journal-line); padding-bottom: 2rem; }
.journal-side .journal-card-link { display: grid; grid-template-columns: .85fr 1fr; gap: 1.5rem; }
.journal-side .journal-meta { margin-top: 0; }
.journal-side h2, .journal-side h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.2rem, 1.7vw, 1.5rem); font-weight: 500; line-height: 1.18; letter-spacing: -.025em; }
.journal-side .journal-card p { margin: .75rem 0 .5rem; font-size: .8rem; line-height: 1.6; }
.journal-card-link:focus-visible, .journal-all:focus-visible { outline: 2px solid #82646c; outline-offset: 7px; }
@media (hover: hover) and (pointer: fine) { .journal-card-link:hover .journal-media img { transform: scale(1.035); } .journal-card-link:hover h2, .journal-card-link:hover h3, .journal-card-link:hover .journal-read { color: #82646c; } }

/* Article pages retain the same typography, with a comfortable reading measure. */
.journal-article { padding: 3.5rem 0 5rem; background: #faf9f6; color: #19191b; }
.journal-article-header { max-width: 850px; margin: 0 auto 2.5rem; }
.journal-back { display: inline-block; padding: .5rem 0; margin-bottom: 2rem; font-size: .8rem; color: #696663; }
.journal-article-header h1 { margin: 0; font-size: clamp(2.4rem, 5vw, 4.5rem); font-weight: 450; line-height: 1.06; letter-spacing: -.045em; text-wrap: balance; }
.journal-article-deck { max-width: 42rem; margin: 1.5rem 0; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.65; color: #696663; }
.journal-article-figure { max-width: 850px; margin: 0 auto 3rem; }
.journal-article-figure .journal-media { aspect-ratio: 16 / 10; }
.journal-article-figure figcaption { margin-top: .75rem; color: #73706e; font-size: .7rem; }
.journal-article-figure .journal-media--airdrop img { padding: 2rem; }
.journal-reading-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 650px; margin: 0 auto; align-items: start; }
.journal-body { min-width: 0; }
.journal-body section { margin-bottom: 2.5rem; scroll-margin-top: 2rem; }
.journal-body h2 { margin: 0 0 1rem; font-size: clamp(1.5rem, 3vw, 1.85rem); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; }
.journal-body p, .journal-body li { font-size: 1rem; line-height: 1.85; color: #53514f; }
.journal-body p { margin: 0 0 1rem; }
.journal-body ol, .journal-body ul { padding-left: 1.3rem; margin-bottom: 1.25rem; }
.journal-body li { padding-left: .25rem; margin-bottom: .7rem; }
.journal-body a { color: #715563; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) { .journal-grid, .journal-header { gap: 2rem; } .journal-side .journal-card-link { grid-template-columns: 1fr; gap: 1rem; } .journal-side .journal-media { aspect-ratio: 16 / 9; } }
@media (max-width: 700px) {
  .journal-wrap { padding-left: 1.25rem; padding-right: 1.25rem; }
  .journal-header { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.5rem; }
  .journal-header-note { justify-self: start; }
  .journal-header-note p { font-size: .85rem; }
  .journal-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .journal-side .journal-card-link { grid-template-columns: 110px minmax(0, 1fr); gap: 1rem; }
  .journal-side .journal-media { aspect-ratio: 3 / 4; }
  .journal-side .journal-card p { display: none; }
  .journal-side .journal-meta { font-size: .65rem; gap: .3rem .75rem; }
  .journal-side h2, .journal-side h3 { font-size: 1.2rem; }
  .journal-reading-layout { grid-template-columns: 1fr; }
  .journal-article { padding-top: 2rem; }
  .journal-article-figure .journal-media { aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) { .journal-media img { transition: none; transform: none !important; } }
