/* Editorial templates: no inline presentation or legacy font overrides. */
.journal-hero { padding-block:72px 56px; }
.journal-hero-copy { max-width:760px; }
.journal-hero .ms-lead { max-width:650px; font-size:1.125rem; }
.journal-list { padding-bottom:64px; }
.journal-filters { display:flex; flex-wrap:wrap; gap:10px; border-top:1px solid var(--ms-line); padding-block:24px 32px; }
.journal-filter { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--ms-muted); border-radius:var(--ms-radius-button); font-size:.875rem; color:var(--ms-ink); text-decoration:none; }
.journal-filter[aria-current] { background:var(--ms-green); color:white; border-color:var(--ms-green); }
.journal-filter:not([aria-current]):hover { background:var(--ms-sage); }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.journal-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:20px; padding:28px; background:var(--ms-white); border:1px solid var(--ms-line); border-radius:var(--ms-radius-card); }
.journal-card h2,.journal-card h3 { font-size:1.375rem; font-weight:500; line-height:1.4; }
.journal-card h2 a,.journal-card h3 a { color:var(--ms-ink); text-decoration:none; }
.journal-card h2 a:hover,.journal-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-card p { color:var(--ms-muted); font-size:1rem; }
.journal-card-footer { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; width:100%; font-size:.875rem; }
.journal-card-footer span { color:var(--ms-muted); }
.journal-card-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--ms-green); text-underline-offset:4px; }
.journal-empty { grid-column:1/-1; padding:40px 24px; border:1px solid var(--ms-line); border-radius:12px; }
.journal-cta { background:var(--ms-closing-surface); border-radius:16px; padding:48px; text-align:center; }
.journal-cta p { max-width:65ch; margin-inline:auto; }
.journal-reading { width:min(72ch,calc(100% - 2 * var(--ms-gutter))); margin-inline:auto; }
.journal-article-header { padding-block:56px; border-bottom:1px solid var(--ms-line); }
.journal-article-header h1 { font-size:clamp(2.4rem,4.5vw,3.5rem); }
.journal-meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:.875rem; color:var(--ms-muted); }
.journal-article-content { padding-block:48px 0; }
.journal-prose { font-size:1.0625rem; line-height:1.8; overflow-wrap:anywhere; }
.journal-prose > * + * { margin-top:1.5em; }
.journal-prose :is(h2,h3,h4) { line-height:1.3; margin-top:1.8em; }
.journal-prose h2 { font-family:var(--ms-font-display); font-size:2rem; font-weight:400; }
.journal-prose h3 { font-size:1.25rem; font-weight:600; }
.journal-prose a:not(.ms-button) { color:var(--ms-green); text-underline-offset:4px; }
.journal-prose ul,.journal-prose ol { padding-left:1.5em; }
.journal-prose li + li { margin-top:.5em; }
.journal-prose blockquote { margin-inline:0; padding:20px; border-left:3px solid var(--ms-green); background:var(--ms-sage); }
.journal-prose table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-size:1rem; }
.journal-prose th,.journal-prose td { padding:12px; border:1px solid var(--ms-line); text-align:left; vertical-align:top; min-width:7rem; }
.journal-prose th { background:var(--ms-sage); }
.journal-prose img { max-width:100%; height:auto; border-radius:12px; }
.journal-prose pre { overflow-x:auto; }
.journal-article-content > .journal-cta { margin-top:48px; }
.journal-inline-cta { padding:28px; background:var(--ms-sage); border-radius:12px; }
.journal-inline-cta[hidden] { display:none; }
.journal-related { padding-top:56px; }
.journal-preview { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; padding:16px; background:var(--ms-butter); color:var(--ms-ink); }
@media(max-width:950px) { .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
 .journal-hero { padding-block:40px; }
 .journal-grid { grid-template-columns:minmax(0,1fr); }
 .journal-card { padding:24px; }
 .journal-cta { padding:32px 20px; }
 .journal-article-header { padding-block:40px; }
 .journal-article-content { padding-top:32px; }
 .journal-inline-cta { padding:24px; }
}
