/* Journal: quiet editorial layouts on the shared white design system. */
.journal-intro { display:grid; grid-template-columns:1.25fr 1fr; gap:80px; align-items:end; padding-block:104px 88px; }
.journal-intro h1 { font-size:clamp(48px,5.5vw,78px); line-height:1.05; letter-spacing:-.055em; }
.journal-intro > p { max-width:400px; justify-self:end; font-size:16px; line-height:1.8; color:var(--secondary); }
.journal-list { border-top:1px solid var(--line); padding-block:32px 88px; }
.journal-filters { display:flex; flex-wrap:wrap; gap:12px 28px; margin-bottom:40px; }
.journal-filters a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--secondary); border-bottom:1px solid transparent; }
.journal-filters a[aria-current],.journal-filters a:hover { color:var(--ink); border-bottom-color:var(--ink); }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 32px; }
.journal-card { min-width:0; }
.journal-card-link { display:block; height:100%; }
.journal-image { aspect-ratio:16/10; background:var(--surface); overflow:hidden; border-radius:var(--radius); display:flex; align-items:center; justify-content:center; }
.journal-image img { width:100%; height:100%; object-fit:cover; }
.journal-image img,.journal-cover img { filter:grayscale(100%); }
.journal-placeholder { font-size:30px; letter-spacing:-1.5px; color:#777; }
.journal-placeholder > span { font-weight:400; }
.journal-card-copy { padding-top:24px; }
.journal-category { font-size:11px; color:var(--secondary); margin-bottom:12px; }
.journal-card h2,.journal-card h3 { font-size:25px; line-height:1.3; letter-spacing:-.035em; overflow-wrap:anywhere; }
.journal-card-link:hover h2,.journal-card-link:hover h3 { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.journal-excerpt { color:var(--secondary); font-size:14px; line-height:1.8; margin-top:16px; }
.journal-meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12px; color:var(--secondary); margin-top:20px; }
.journal-card .text-link { margin-top:12px; }
.journal-empty { grid-column:1/-1; padding-block:56px; max-width:600px; }
.journal-empty p { color:var(--secondary); margin-top:20px; }
.journal-empty .text-link { margin-top:16px; }
.journal-pagination { border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px; padding-top:32px; margin-top:56px; font-size:13px; }
.journal-cta-band { background:var(--surface); }
.journal-cta { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; padding-block:80px; }
.journal-cta p { color:var(--secondary); font-size:15px; margin-bottom:24px; }
.journal-article { padding-top:48px; }
.journal-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--secondary); }
.journal-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-article-header { max-width:900px; margin-inline:auto; padding-block:64px 56px; }
.journal-article-header h1 { font-size:clamp(38px,5vw,68px); line-height:1.1; letter-spacing:-.045em; overflow-wrap:anywhere; }
.journal-standfirst { font-size:clamp(17px,2vw,21px); color:var(--secondary); line-height:1.75; max-width:760px; margin-top:28px; }
.journal-article-header .journal-meta { margin-top:28px; }
.journal-cover { margin-bottom:56px; }
.journal-cover img { width:100%; max-height:640px; object-fit:contain; background:var(--surface); border-radius:var(--radius); }
.journal-reading { max-width:760px; margin-inline:auto; padding-bottom:72px; }
.journal-content { font-size:17px; line-height:1.9; overflow-wrap:anywhere; }
.journal-content > :first-child { margin-top:0; }
.journal-content p,.journal-content ul,.journal-content ol,.journal-content figure,.journal-content pre,.journal-content blockquote,.journal-content table { margin-block:24px; }
.journal-content h1,.journal-content h2 { font-size:34px; letter-spacing:-.035em; line-height:1.25; margin:48px 0 20px; }
.journal-content h3 { font-size:26px; letter-spacing:-.025em; margin:36px 0 16px; }
.journal-content h4,.journal-content h5,.journal-content h6 { font-size:20px; line-height:1.4; margin:28px 0 12px; }
.journal-content li { margin-block:8px; }
.journal-content a { text-decoration:underline; text-underline-offset:4px; }
.journal-content img { max-width:100%; height:auto; border-radius:5px; }
.journal-content video,.journal-content iframe { max-width:100%; }
.journal-content figcaption { color:var(--secondary); font-size:12px; margin-top:12px; }
.journal-content blockquote { border-left:2px solid var(--ink); padding:8px 0 8px 24px; font-size:21px; color:var(--secondary); }
.journal-content blockquote p { margin-block:8px; }
.journal-content pre { background:var(--surface); border:1px solid var(--line); padding:24px; border-radius:5px; overflow-x:auto; font-size:14px; line-height:1.7; }
.journal-content code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.88em; }
.journal-content :not(pre) > code { background:var(--surface); padding:2px 5px; border-radius:3px; }
.journal-content table { border-collapse:collapse; width:100%; font-size:14px; }
.journal-content th,.journal-content td { text-align:left; padding:12px 16px; border:1px solid var(--line); min-width:100px; }
.journal-content th { background:var(--surface); }
.journal-table-scroll { overflow-x:auto; max-width:100%; }
.journal-table-scroll:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.journal-content hr { border:0; border-top:1px solid var(--line); margin-block:40px; }
.journal-tags { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:40px 0; }
.journal-tags li { font-size:11px; padding:6px 12px; border:1px solid var(--line); border-radius:4px; }
.journal-share { border-block:1px solid var(--line); margin-block:40px 24px; padding-block:24px; }
.journal-share h2 { font-size:18px; letter-spacing:-.02em; }
.journal-share > div { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-top:12px; }
#article-share-status { font-size:12px; color:var(--secondary); margin-top:12px; overflow-wrap:anywhere; }
#article-share-status:empty { display:none; }
.journal-related { padding-block:56px 80px; border-top:1px solid var(--line); }
.journal-related-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin-bottom:40px; }
@media(max-width:999px) {
 .navigation { height:76px; } .nav-links,.nav-actions { display:none; } .menu-toggle { display:inline-flex; }
 .journal-intro { padding-block:64px; gap:40px; }
 .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .journal-cta { gap:40px; }
}
@media(max-width:699px) {
 .navigation { height:72px; }
 .journal-intro,.journal-cta { grid-template-columns:1fr; gap:28px; padding-block:48px; }
 .journal-intro h1 { font-size:clamp(44px,11vw,64px); }
 .journal-intro > p { max-width:none; justify-self:start; }
 .journal-grid { grid-template-columns:1fr; gap:40px; }
 .journal-list { padding-bottom:48px; }
 .journal-filters { gap:8px 20px; margin-bottom:32px; }
 .journal-article { padding-top:32px; }
 .journal-article-header { padding-block:40px; }
 .journal-cover { margin-bottom:32px; }
 .journal-reading { padding-bottom:48px; }
 .journal-content { font-size:16px; }
 .journal-content h1,.journal-content h2 { font-size:28px; }
 .journal-content blockquote { font-size:18px; padding-left:18px; }
 .journal-content pre { padding:16px; }
 .journal-related { padding-block:40px 48px; }
 .footer-top { grid-template-columns:1fr 1fr; gap:32px 24px; } .footer-brand { grid-column:1/-1; }
 .footer-bottom { flex-wrap:wrap; gap:16px; } .footer-bottom > div { flex-wrap:wrap; }
 .modal { padding:28px 24px; } .modal .form-row { grid-template-columns:1fr; }
 input:not([type=checkbox]),textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
