.journal-main { min-height: 60vh; padding-bottom: 100px; }
.journal-intro { padding-top: 110px; padding-bottom: 66px; }
.journal-intro h1 { max-width: 850px; margin: 20px 0 18px; font-size: clamp(46px, 6vw, 86px); line-height: 1.03; letter-spacing: -.055em; font-weight: 500; }
.journal-intro > p { max-width: 640px; color: var(--muted, #69716d); font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.journal-list { padding-top: 12px; }
.journal-status { padding: 50px 0; color: #69716d; font-size: 18px; }
.journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.journal-card { min-width: 0; border: 1px solid var(--line, #e1e4dd); border-radius: 14px; overflow: hidden; background: var(--pale, #f8faf5); padding-bottom: 24px; }
.journal-card-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #111c30; }
.journal-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
.journal-card:hover .journal-card-image img { transform: scale(1.025); }
.journal-card > :not(.journal-card-image) { margin-left: 28px; margin-right: 28px; }
.journal-card .journal-meta { margin-top: 26px; }
.journal-card h2 { font-size: clamp(23px, 2.3vw, 34px); line-height: 1.16; font-weight: 550; letter-spacing: -.035em; margin-top: 12px; margin-bottom: 12px; }
.journal-card h2 a { color: inherit; text-decoration: none; }
.journal-card h2 a:hover, .journal-read:hover { color: #27775c; }
.journal-meta { color: #557465; text-transform: uppercase; font: 500 11px/1.5 'IBM Plex Mono', monospace; letter-spacing: .08em; }
.journal-summary { color: #69716d; line-height: 1.65; font-size: 15px; }
.journal-read { display: inline-block; margin-top: 20px; color: #28785d; text-decoration: none; font-weight: 600; font-size: 14px; }
.journal-article { max-width: 860px; margin: 30px auto 0; }
.journal-back { display: inline-block; color: #347a61; text-decoration: none; font-size: 14px; margin: 26px 0 34px; }
.journal-article h1 { font-size: clamp(42px, 5.6vw, 76px); font-weight: 500; line-height: 1.07; letter-spacing: -.052em; margin: 14px 0 20px; }
.journal-deck { font-size: clamp(19px, 2vw, 23px); color: #69716d; line-height: 1.5; margin-bottom: 38px; }
.journal-cover { display: block; width: 100%; border-radius: 12px; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 52px; background: #111c30; }
.journal-prose { font-size: 17px; line-height: 1.78; color: var(--page-text, #29312e); }
.journal-prose p, .journal-prose ul, .journal-prose ol { margin: 0 0 1.5em; }
.journal-prose h2 { font-size: 34px; line-height: 1.2; letter-spacing: -.035em; margin: 2.1em 0 .65em; font-weight: 550; }
.journal-prose h3 { font-size: 25px; margin: 1.8em 0 .5em; font-weight: 550; }
.journal-prose li { margin-bottom: .45em; }
.journal-prose a { color: #217a5b; text-decoration: underline; text-underline-offset: 3px; }
.journal-prose pre { overflow-x: auto; padding: 20px; border-radius: 10px; background: #112033; color: #e8f3ef; font-size: 14px; }
.journal-prose code { font-family: 'IBM Plex Mono', monospace; }
.journal-prose figure { margin: 2.2em 0; }
.journal-prose img { width: 100%; height: auto; border-radius: 10px; }
.journal-prose figcaption { color: #69716d; font-size: 13px; text-align: center; margin-top: 8px; }
.journal-prose blockquote { border-left: 3px solid #348b68; padding-left: 20px; margin: 2em 0; color: #58645d; }
.journal-prose table { display: block; overflow-x: auto; border-collapse: collapse; margin: 2em 0; }
.journal-prose th, .journal-prose td { border: 1px solid #dbe0da; padding: 10px 14px; text-align: left; }
.journal-author { border-top: 1px solid #dce4db; margin-top: 65px; padding: 28px 0; }
.journal-author strong { font-size: 16px; }
.journal-author p { color: #69716d; font-size: 14px; margin: 8px 0 0; }
.journal-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
@media (max-width: 720px) { .journal-intro { padding-top: 72px; padding-bottom: 42px; } .journal-grid { grid-template-columns: 1fr; } .journal-card > :not(.journal-card-image) { margin-left: 20px; margin-right: 20px; } .journal-article { margin: 0 20px; } .journal-prose { font-size: 16px; } .journal-prose h2 { font-size: 28px; } }
