.journal-main { padding-top: 132px; }

.journal-hero {
  padding-top: 82px;
  padding-bottom: 78px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: end;
  gap: 70px;
}

.journal-hero h1 { max-width: 760px; margin-bottom: 0; font-size: clamp(58px, 7.4vw, 104px); }
.journal-hero h1 span { display: block; }
.journal-hero > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 20px; line-height: 1.7; }

.journal-grid {
  padding-bottom: 150px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.blog-card {
  grid-column: span 4;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: linear-gradient(145deg, rgba(25,28,39,.94), rgba(15,17,24,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.blog-card:nth-child(1), .blog-card:nth-child(6) { grid-column: span 8; }
.blog-card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--panel); }
.blog-card:nth-child(1) .blog-card-image, .blog-card:nth-child(6) .blog-card-image { aspect-ratio: 16 / 7.8; }
.blog-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.22,.61,.36,1), filter .3s ease; }
.blog-card:hover img { transform: scale(1.035); filter: saturate(1.05); }
.blog-card-copy { padding: 28px; }
.blog-card-meta { margin: 0 0 14px; color: #aaa8b4; font-size: 13px; font-weight: 700; }
.blog-card-tag { color: var(--coral); }
.blog-card h2 { margin: 0; font-size: 29px; line-height: 1.12; }
.blog-card:nth-child(1) h2, .blog-card:nth-child(6) h2 { max-width: 720px; font-size: 38px; }
.blog-card h2 a:hover { color: var(--lime); }
.blog-card-copy > p:last-child { margin: 17px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }

.article-main { padding-top: 132px; }
.article-hero { padding-top: 78px; padding-bottom: 54px; }
.article-breadcrumb { margin: 0 0 34px; color: #c6c2cc; font-size: 15px; font-weight: 700; }
.article-breadcrumb a { color: var(--lime); }
.article-category { margin: 0 0 20px; color: var(--coral); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.article-hero h1 { max-width: 1040px; margin-bottom: 28px; font-size: clamp(48px, 7vw, 86px); line-height: 1.01; }
.article-standfirst { max-width: 820px; margin: 0 0 32px; color: #c4c1ca; font-family: Georgia, serif; font-size: clamp(21px, 2.3vw, 28px); line-height: 1.58; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; color: #aaa8b4; font-size: 15px; }
.article-meta strong { color: var(--ink); }

.article-hero-image { width: min(1320px, calc(100vw - 28px)); margin: 12px auto 0; overflow: hidden; border: 1px solid var(--line); border-radius: 32px 32px 0 0; background: var(--panel); }
.article-hero-image img { width: 100%; max-height: 720px; aspect-ratio: 16 / 8.4; object-fit: cover; }

.article-paper { background: #f6f2e9; color: #24232a; }
.article-layout { width: min(1120px, calc(100vw - 48px)); margin: 0 auto; padding: 85px 0 110px; display: grid; grid-template-columns: minmax(0, 710px) 260px; justify-content: space-between; gap: 70px; }
.article-body { min-width: 0; }
.article-body p, .article-body li { color: #3e3b43; font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.85; }
.article-body p { margin: 0 0 30px; }
.article-body h2 { margin: 64px 0 21px; color: #222129; font-size: 38px; line-height: 1.12; letter-spacing: -.035em; }
.article-body h2:first-child { margin-top: 0; }
.article-body h3 { margin: 42px 0 16px; color: #222129; font-size: 26px; line-height: 1.2; }
.article-body ul { margin: 0 0 32px; padding-left: 28px; }
.article-body li + li { margin-top: 12px; }
.article-body a { color: #8a2942; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-body blockquote { margin: 44px 0; padding: 25px 30px; border-left: 5px solid #ff6675; background: #ece7de; }
.article-body blockquote p { margin: 0; color: #2d2b32; font-size: 23px; line-height: 1.65; }
.article-summary { margin-bottom: 46px; padding: 25px 28px; border: 1px solid #d8d0c4; border-radius: 17px; background: #eee9df; }
.article-summary strong { display: block; margin-bottom: 8px; color: #28262d; font-family: Inter, ui-sans-serif, sans-serif; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.article-summary p { margin: 0; font-size: 19px; }
.article-sources { margin-top: 58px; padding-top: 30px; border-top: 1px solid #d4cdc2; }
.article-sources h2 { margin-top: 0; font-size: 27px; }
.article-sources p, .article-sources li { font-family: Inter, ui-sans-serif, sans-serif; font-size: 15px; line-height: 1.7; }

.article-sidebar { align-self: start; position: sticky; top: 110px; }
.author-card { padding: 25px; border: 1px solid #d8d0c4; border-radius: 20px; background: #eee9df; }
.author-card img { width: 54px; height: 54px; margin-bottom: 18px; border-radius: 14px; box-shadow: 0 10px 24px rgba(48,35,39,.12); }
.author-card span { color: #8a2942; font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.author-card h2 { margin: 8px 0 12px; color: #25232a; font-size: 23px; }
.author-card p { margin: 0; color: #55515a; font-size: 15px; line-height: 1.7; }
.article-share-note { margin: 20px 0 0; color: #716c75; font-size: 13px; line-height: 1.6; }

.more-reading { padding-top: 110px; padding-bottom: 125px; }
.more-reading-heading { margin-bottom: 38px; display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.more-reading h2 { margin: 0; font-size: clamp(36px, 4.4vw, 55px); }
.more-reading-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.more-reading-card { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.more-reading-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.more-reading-card div { padding: 22px; }
.more-reading-card p { margin: 0 0 9px; color: #aaa8b4; font-size: 13px; }
.more-reading-card h3 { margin: 0; font-size: 22px; line-height: 1.2; }

@media (max-width: 980px) {
  .journal-hero { grid-template-columns: 1fr; gap: 25px; }
  .journal-hero > p { max-width: 720px; }
  .blog-card, .blog-card:nth-child(1), .blog-card:nth-child(6) { grid-column: span 6; }
  .blog-card:nth-child(1) .blog-card-image, .blog-card:nth-child(6) .blog-card-image { aspect-ratio: 16 / 10; }
  .blog-card:nth-child(1) h2, .blog-card:nth-child(6) h2 { font-size: 30px; }
  .article-layout { grid-template-columns: minmax(0, 710px); justify-content: center; }
  .article-sidebar { position: static; }
  .author-card { display: grid; grid-template-columns: 64px 1fr; gap: 0 18px; }
  .author-card img { grid-row: span 3; }
  .author-card span, .author-card h2, .author-card p { grid-column: 2; }
}

@media (max-width: 760px) {
  .journal-main, .article-main { padding-top: 88px; }
  .journal-hero, .article-hero { padding-top: 60px; }
  .journal-hero h1 { font-size: 58px; }
  .journal-hero > p { font-size: 18px; }
  .journal-grid { padding-bottom: 90px; }
  .blog-card, .blog-card:nth-child(1), .blog-card:nth-child(6) { grid-column: 1 / -1; }
  .blog-card-copy { padding: 23px; }
  .blog-card h2, .blog-card:nth-child(1) h2, .blog-card:nth-child(6) h2 { font-size: 28px; }
  .article-hero h1 { font-size: 48px; }
  .article-standfirst { font-size: 21px; }
  .article-hero-image { width: calc(100vw - 16px); border-radius: 22px 22px 0 0; }
  .article-hero-image img { aspect-ratio: 4 / 3; }
  .article-layout { width: calc(100vw - 32px); padding: 58px 0 78px; gap: 45px; }
  .article-body p, .article-body li { font-size: 19px; line-height: 1.8; }
  .article-body h2 { margin-top: 52px; font-size: 32px; }
  .article-body blockquote { margin-inline: 0; padding: 22px; }
  .article-body blockquote p { font-size: 21px; }
  .author-card { display: block; }
  .author-card img { width: 54px; height: 54px; }
  .more-reading { padding-top: 80px; padding-bottom: 90px; }
  .more-reading-heading { align-items: flex-start; flex-direction: column; }
  .more-reading-grid { grid-template-columns: 1fr; }
}

@media (prefers-contrast: more) {
  .article-body p, .article-body li { color: #242129; }
  .article-paper { background: #fffdf7; }
}
