/* Blog and events remain part of the same Plena visual system. */
:root[data-editorial-page] {
  --bg: #fafafc; --band: #f0f2f5; --card: #fff; --surface-2: #f5f6f8;
  --text: #17191d; --muted: #626771; --line: #e1e3e8; --gutter: 32px;
}
:root[data-editorial-page][data-theme="dark"] {
  --bg: #090a0f; --band: #191c23; --card: #12141d; --surface-2: #1c1f29;
  --text: #f5f5f7; --muted: #b4b8c3; --line: #2b2e39;
}
[data-editorial-page] .site-header { background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(16px); }
[data-editorial-page] main { color: var(--text); }
[data-editorial-page] main h1, [data-editorial-page] main h2, [data-editorial-page] main h3 { letter-spacing: 0; }
.journal-heading { padding-top: 24px; padding-bottom: 44px; }
.journal-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; color: var(--muted); font-size: 12px; margin-bottom: 40px; }
.journal-breadcrumb a { color: inherit; text-decoration: none; }
.journal-breadcrumb a:hover { color: var(--text); text-decoration: underline; }
.journal-kicker { font-size: 13px; font-weight: 500; color: var(--muted); margin: 0 0 14px; }
.journal-heading h1 { font-size: 56px; line-height: 1.2; font-weight: 600; max-width: 24ch; text-wrap: balance; margin: 0; }
.journal-lead { max-width: 760px; color: var(--muted); font-size: 16px; line-height: 1.8; margin: 20px 0 0; }
.journal-event-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 12px; line-height: 1.8; color: var(--muted); margin: 24px 0 18px; }
.journal-event-meta span:last-child { color: var(--muted); }
.journal-list { padding-bottom: 80px; }
.journal-event { padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid var(--line); }
.journal-event:last-child { margin-bottom: 0; }
.journal-cover { margin: 0; max-width: 1120px; }
.journal-cover > a { display: block; overflow: hidden; }
.journal-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1800 / 1013; object-fit: contain; transition: opacity 200ms ease; }
.journal-cover a:hover img { opacity: .94; }
.journal-cover a:focus-visible { outline: 2px solid var(--denim); outline-offset: 5px; }
.journal-cover figcaption { font-size: 11px; line-height: 1.6; color: var(--muted); margin-top: 12px; }
.journal-event h2, .journal-empty h2, .journal-body h2, .journal-post h2 { font-size: 18px; font-weight: 600; line-height: 1.55; margin: 0; }
.journal-event > p, .journal-empty p, .journal-post p { max-width: 760px; color: var(--muted); font-size: 15px; line-height: 1.8; margin: 14px 0 0; }
.journal-link { display: inline-flex; gap: 12px; align-items: center; color: var(--text); font-size: 13px; font-weight: 500; text-decoration: none; margin-top: 24px; transition: color 180ms ease; }
.journal-link span { transition: transform 180ms ease; }
.journal-link:hover { color: var(--muted); }
.journal-link:hover span { transform: translate(2px,-2px); }
.journal-link:focus-visible { outline: 2px solid var(--denim); outline-offset: 5px; }
.journal-empty { padding-bottom: 100px; padding-top: 16px; }
.journal-empty-line { height: 2px; max-width: 1120px; background: var(--line); position: relative; margin: 0 0 48px; }
.journal-empty-line::before { content: ''; position: absolute; left: 0; top: 0; width: 80px; height: 2px; background: var(--ocean); }
.journal-body { max-width: 760px; padding: 64px 0 88px; margin-inline: auto; }
.journal-body section + section { margin-top: 42px; }
.journal-body p { color: var(--muted); font-size: 16px; line-height: 1.9; margin: 16px 0 0; }
.journal-body > .journal-link { border-top: 1px solid var(--line); width: 100%; padding-top: 28px; margin-top: 48px; }
[data-editorial-page] main p, [data-editorial-page] main h1, [data-editorial-page] main h2 { overflow-wrap: anywhere; }
[data-editorial-page] .cookie { max-width: 720px; width: calc(100% - 32px); }
[data-editorial-page] .cookie__box { padding: 20px; border-radius: 8px; }
[data-editorial-page] .cookie__box > p { font-size: 12px; line-height: 1.65; }
[data-editorial-page] .cookie__actions { gap: 8px; }
[data-editorial-page] .cookie__actions .btn { font-size: 12px; }
.journal-heading h1, .journal-heading .journal-lead { animation: journal-enter 400ms ease both; }
.journal-heading .journal-lead { animation-delay: 80ms; }
@keyframes journal-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1024px) { .journal-heading h1 { font-size: 48px; } .journal-body { max-width: calc(100% - 64px); } }
@media (max-width: 767px) {
  :root[data-editorial-page] { --gutter: 24px; }
  .journal-heading { padding-top: 20px; padding-bottom: 32px; }
  .journal-breadcrumb { margin-bottom: 28px; font-size: 11px; }
  .journal-heading h1 { font-size: 36px; }
  .journal-lead, .journal-event > p, .journal-empty p, .journal-body p { font-size: 14px; }
  .journal-event h2, .journal-empty h2, .journal-body h2 { font-size: 16px; }
  .journal-body { max-width: calc(100% - 48px); padding-block: 40px 56px; }
  .journal-list { padding-bottom: 48px; }
  .journal-event { margin-bottom: 32px; padding-bottom: 32px; }
  .journal-empty { padding-bottom: 64px; }
  .journal-empty-line { margin-bottom: 32px; }
  .journal-event-meta { gap: 6px 16px; margin-top: 18px; font-size: 11px; }
}
@media (max-width: 359px) { :root[data-editorial-page] { --gutter: 20px; } .journal-heading h1 { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) {
  .journal-heading h1, .journal-heading .journal-lead { animation: none; }
  .journal-cover img, .journal-link, .journal-link span { transition: none; }
}