.journal { background: var(--paper); color: var(--ink); }
.mast nav a[aria-current] { color: #fff; text-decoration: underline; text-decoration-color: var(--light-red); text-decoration-thickness: 2px; text-underline-offset: 7px; }
.journal h1, .journal h2 { font-family: var(--display); font-weight: 400; text-transform: uppercase; }
.blog-index { padding-block: clamp(34px, 4vw, 70px) clamp(56px, 6vw, 96px); max-width: 1500px; }
.journal-head { padding-bottom: clamp(18px, 2vw, 30px); border-bottom: 3px solid var(--ink); margin-bottom: clamp(22px, 2.5vw, 40px); }
.journal-head h1 { font-size: clamp(64px, 7.6vw, 118px); line-height: .94; letter-spacing: -.02em; }
.journal h1 em { font-style: normal; color: var(--red); }
.lead-story > a { display: grid; grid-template-columns: 1.25fr 1fr; background: var(--charcoal); color: var(--paper); }
.image-wrap { overflow: hidden; background: var(--ink); }
.story-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.lead-story .image-wrap { min-height: clamp(270px, 28vw, 425px); }
.card-copy { min-width: 0; }
.lead-story .card-copy { padding: clamp(26px, 3.6vw, 64px); align-self: center; }
.story-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; align-items: baseline; font: 600 11px/1.5 var(--mono); }
.story-meta span { text-transform: uppercase; letter-spacing: .08em; color: #8c2a22; }
.lead-story .story-meta span { color: #ff8675; }
.story-meta time { font-weight: 400; }
.lead-story h2 { font-size: clamp(42px, 4vw, 75px); line-height: 1; margin: 15px 0 12px; }
.story-summary { line-height: 1.55; max-width: 57ch; }
.read-link, .blog-back { display: inline-flex; gap: 9px; align-items: center; font-weight: 650; font-size: 14px; }
.read-link { margin-top: 19px; }
.lead-story a:hover .read-link, .story-card a:hover .read-link { text-decoration: underline; text-underline-offset: 3px; }
.story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px, 3.3vw, 56px); margin-top: clamp(36px, 4vw, 68px); }
.story-card > a { display: block; border-top: 1px solid var(--ink); padding-top: 14px; }
.story-card .image-wrap { aspect-ratio: 2.25; }
.story-card .card-copy { padding: 18px 0; }
.story-card h2 { font-size: clamp(34px, 3.5vw, 55px); line-height: 1; margin: 12px 0; }
.post-top { background: var(--charcoal); color: var(--paper); }
.post-top > .shell { max-width: 1500px; padding-block: 18px clamp(32px, 4vw, 66px); }
.blog-back { min-height: 44px; color: #ddd5c7; }
.blog-back:hover { text-decoration: underline; }
.post-grid { display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: clamp(25px, 5vw, 80px); margin-top: 18px; }
.post-heading h1 { font-size: clamp(48px, 5.3vw, 87px); line-height: .98; letter-spacing: -.015em; }
.post-intro { margin-top: 18px; max-width: 56ch; color: #e2ddd2; font-size: clamp(17px, 1.35vw, 21px); }
.byline, .post-grid figcaption { font-size: 13px; color: #c3bdb1; }
.byline { margin-top: 18px; }
.byline span { padding: 0 5px; }
.post-grid figure { min-width: 0; }
.post-grid .story-image { aspect-ratio: 3 / 2; }
.post-grid figcaption { margin-top: 7px; }
.post-body { width: min(100% - 2 * var(--space), 700px); margin-inline: auto; padding-block: clamp(38px, 5vw, 80px); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; }
.post-body h2 { font-size: clamp(31px, 3vw, 44px); line-height: 1.06; margin: 1.15em 0 .36em; }
.post-body h2:first-child { margin-top: 0; }
.post-body p + p { margin-top: .85em; }
.post-body a { color: #83261c; text-decoration: underline; text-underline-offset: 3px; }
.post-body a:hover { color: var(--ink); }
.related { border-top: 1px solid #b4aea1; }
.related > .shell { max-width: 1500px; display: grid; grid-template-columns: .6fr 1fr; gap: 28px; padding-block: clamp(35px, 4vw, 65px); }
.related h2 { font-size: clamp(34px, 3.2vw, 54px); }
.related ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #b4aea1; }
.related a { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid #b4aea1; font-weight: 650; }
.related a:hover { color: #83261c; }
@media (max-width: 760px) {
  .lead-story > a, .post-grid, .related > .shell { grid-template-columns: 1fr; }
  .lead-story .image-wrap { min-height: 0; aspect-ratio: 16 / 9; }
  .lead-story .card-copy { padding: 22px; }
  .post-grid { gap: 22px; }
  .post-grid .story-image { aspect-ratio: 16 / 9; }
  .post-intro { margin-top: 12px; }
  .post-top > .shell { padding-block: 10px 24px; }
  .story-card .image-wrap { aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
  .story-grid { grid-template-columns: 1fr; gap: 18px; }
  .journal-head h1 { font-size: clamp(54px, 12.5vw, 72px); }
  .lead-story h2, .post-heading h1 { font-size: clamp(40px, 10.5vw, 54px); }
  .related > .shell { gap: 15px; }
}
