/* Editorial layout uses the existing Trade Review palette and typography. */
.journal-main, .journal-preview { max-width: 1180px; margin: 0 auto; padding: 40px 30px 80px; }
.journal-intro { max-width: 820px; margin: 36px 0 44px; }
.journal-main h1 { font-family: Georgia, serif; font-weight: 500; font-size: clamp(34px, 4vw, 54px); line-height: 1.15; letter-spacing: -.025em; margin: 16px 0 24px; }
.journal-intro > p { color: var(--muted); font-size: 18px; line-height: 1.75; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.journal-card { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); transition: border-color .2s; min-width: 0; }
.journal-card:hover { border-color: var(--green); }
.journal-card h2, .journal-card h3 { font-family: Georgia, serif; font-weight: 500; font-size: 25px; line-height: 1.3; margin: 0; }
.journal-card p { font-size: 15px; line-height: 1.7; color: var(--muted); margin: 0 0 auto; }
.journal-meta { font-size: 13px; color: var(--muted); line-height: 1.8; }
.journal-read, .journal-all { color: var(--green); font-size: 15px; font-weight: 600; }
.journal-all { display: inline-block; margin-top: 28px; padding: 10px 0; }
.journal-breadcrumbs { display: block; margin: 0; }
.journal-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 12px; list-style: none; padding: 0; margin: 0; font-size: 13px; color: var(--muted); }
.journal-breadcrumbs li { min-width: 0; }
.journal-breadcrumbs li + li::before { content: '/'; margin-right: 12px; color: var(--muted); }
.journal-breadcrumbs a { font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }
.journal-article { max-width: 790px; margin: 44px auto 60px; overflow-wrap: anywhere; }
.journal-article > header { margin-bottom: 40px; }
.journal-prose { font-size: 18px; line-height: 1.85; }
.journal-prose p { margin: 0 0 20px; }
.journal-prose h2, .journal-cta h2, .journal-related > h2 { font-family: Georgia, serif; font-weight: 500; font-size: 32px; line-height: 1.25; margin: 46px 0 22px; }
.journal-prose h3 { font-size: 23px; line-height: 1.4; margin: 30px 0 16px; }
.journal-cta { margin-top: 44px; padding: 32px; background: var(--green-soft); border: 1px solid var(--line); border-radius: var(--radius); }
.journal-cta h2 { margin-top: 0; }
.journal-cta p { font-size: 17px; line-height: 1.7; }
.journal-cta .button { max-width: 100%; padding: 14px 22px; text-align: center; }
.journal-related .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.journal-preview { border-top: 1px solid var(--line); padding-top: 60px; }
.journal-skip { position: fixed; left: 16px; top: -100px; background: white; padding: 12px; z-index: 20; }
.journal-skip:focus { top: 12px; }
.journal-main a:focus-visible, .journal-preview a:focus-visible, .header-with-journal a:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
@media (max-width: 900px) {
  .header-with-journal { height: auto; min-height: 72px; flex-wrap: wrap; padding-top: 12px; padding-bottom: 8px; gap: 8px; }
  .header-with-journal nav { display: flex; order: 3; width: 100%; margin: 0; gap: 8px 20px; flex-wrap: wrap; }
  .header-with-journal nav a { font-size: 12px; padding: 8px 0; }
  .journal-grid { grid-template-columns: 1fr; }
  html { scroll-padding-top: 124px; }
}
@media (max-width: 620px) {
  .journal-main, .journal-preview { padding: 28px 20px 48px; }
  .journal-intro { margin: 28px 0; }
  .journal-article { margin: 30px auto 40px; }
  .journal-article > header { margin-bottom: 28px; }
  .journal-prose { font-size: 17px; line-height: 1.8; }
  .journal-prose h2, .journal-cta h2, .journal-related > h2 { font-size: 27px; }
  .journal-card { padding: 24px; }
  .journal-cta { padding: 24px 20px; }
  .journal-cta .button { width: 100%; font-size: 14px; }
  .journal-related .journal-grid { grid-template-columns: 1fr; }
}
