.journal-page { background:#000; color:#f2f2ef; }
.journal-page .desktop-nav a[aria-current="page"] { color:var(--ink); }
.journal-shell { width:min(100% - 2 * var(--gutter), 1120px); margin-inline:auto; }
.journal-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:3.5rem 2.75rem; }
.journal-heading h1 { font-size:1.65rem; font-weight:600; letter-spacing:-.045em; }
.journal-tools { display:flex; gap:1rem; align-items:center; }
.journal-tools a, .journal-tools button { display:grid; place-items:center; width:44px; height:44px; border:0; padding:12px; background:none; color:#aaa; cursor:pointer; }
.journal-tools a:hover, .journal-tools button:hover { color:#fff; }
.journal-tools svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; fill:none; }
.journal-search { margin-bottom:2rem; }
.journal-search[hidden] { display:none; }
.journal-search label { display:block; color:#aaa; font-size:.85rem; margin-bottom:.75rem; }
.journal-search > div { display:flex; gap:1rem; }
.journal-search input { flex:1; min-width:0; border:1px solid #333; border-radius:4px; background:#111; padding:.9rem 1rem; color:#fff; font:inherit; }
.journal-search input:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.journal-search button, .journal-search > a { background:none; color:#fff; border:0; padding:.75rem 0; font-weight:600; font-size:.85rem; cursor:pointer; }
.journal-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.journal-card { grid-column:span 2; min-width:0; overflow:hidden; border-radius:16px; background:#191919; }
.journal-card:nth-child(-n+2) { grid-column:span 3; }
.journal-card__link { display:flex; flex-direction:column; height:100%; }
.journal-card:has(a:focus-visible) { outline:2px solid #fff; outline-offset:5px; }
.journal-card__cover { aspect-ratio:2.16; overflow:hidden; background:#101010; }
.journal-card__cover > img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease); }
.journal-card__placeholder { display:grid; place-items:center; height:100%; background:radial-gradient(ellipse at center,#222,#0d0d0d 70%); }
.journal-card__placeholder img { width:18%; height:auto; filter:invert(1); opacity:.5; }
.journal-card__copy { flex:1; padding:24px; }
.journal-card__byline { display:flex; align-items:center; gap:8px; color:#b0b0b0; font-size:.65rem; margin-bottom:16px; }
.journal-card__byline > img { width:22px; height:22px; border-radius:50%; object-fit:cover; }
.journal-card__byline > .journal-author-mark { filter:invert(1); border-radius:0; object-fit:contain; width:19px; }
.journal-card__category { color:#aaa; font-size:.8rem; margin-bottom:10px; }
.journal-card h2 { font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.4; letter-spacing:-.025em; font-weight:600; text-wrap:pretty; }
.journal-card__date { margin-top:18px; font-size:.65rem; color:#888; }
.journal-card__date span { padding-inline:4px; }
@media (hover:hover) { .journal-card a:hover .journal-card__cover > img { transform:scale(1.035); } .journal-card a:hover h2 { color:#fff; } }
.journal-pagination { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-block:3rem; font-size:.85rem; }
.journal-pagination > span { color:#888; }
.journal-empty { min-height:440px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1rem; }
.journal-empty h2, .journal-empty h1 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.045em; }
.journal-empty p { color:#aaa; line-height:1.7; }
.journal-empty a { margin-top:.75rem; padding-block:.75rem; font-size:.85rem; font-weight:700; }
.journal-footer { margin-top:6rem; border-top:1px solid #1a1a1a; }
.journal-preview { margin-top:1.5rem; display:flex; justify-content:space-between; gap:1rem; padding:1rem; color:#ccc; background:#171717; font-size:.8rem; line-height:1.5; }
.journal-preview a { font-weight:600; }
.journal-article__heading { max-width:820px; margin:4rem auto 2.5rem; }
.journal-back { display:inline-flex; align-items:center; min-height:44px; font-size:.85rem; color:#aaa; margin-bottom:2rem; }
.journal-category { color:#aaa; font-size:.8rem; margin-bottom:1rem; }
.journal-article h1 { font-size:clamp(2.3rem,5vw,4.5rem); letter-spacing:-.05em; line-height:1.08; text-wrap:balance; }
.journal-subtitle { margin-top:1.5rem; color:#bbb; font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.6; }
.journal-article__meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.5rem; margin-top:1.5rem; color:#999; font-size:.75rem; }
.journal-article__meta button { margin-left:auto; padding:.75rem 0; min-height:44px; border:0; background:none; color:#eee; font-size:.75rem; font-weight:600; cursor:pointer; }
.journal-article__cover { margin:0 0 3.5rem; overflow:hidden; border-radius:12px; }
.journal-article__cover img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.journal-prose { max-width:720px; margin-inline:auto; font-size:1.05rem; line-height:1.8; color:#ccc; overflow-wrap:anywhere; }
.journal-standfirst, .bj-lead { font-size:1.25rem; color:#eee; line-height:1.7; }
.journal-standfirst { margin-bottom:2rem; }
.bj-block { margin:0 0 1.75rem; }
.bj-paragraph, .bj-lead { white-space:pre-line; }
.bj-heading-block { margin-top:3rem; }
.bj-heading-block h2, .bj-accordion h2 { font-size:1.8rem; color:#f2f2ef; letter-spacing:-.035em; line-height:1.25; }
.bj-heading-block h3 { font-size:1.35rem; color:#f2f2ef; }
.bj-heading-block > span { font-size:.75rem; color:#888; }
.bj-media img, .bj-media video { width:100%; border-radius:6px; }
.bj-media-portrait { max-width:420px; margin-inline:auto; }
.journal-prose figcaption { margin-top:.65rem; font-size:.75rem; line-height:1.6; color:#999; }
.bj-gallery > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.bj-gallery figure { margin:0; }
.bj-gallery img { width:100%; border-radius:4px; }
.bj-quote, .bj-pullquote { margin-inline:0; padding:1rem 1.5rem; border-left:2px solid #777; }
.bj-pullquote { font-size:1.6rem; line-height:1.4; letter-spacing:-.025em; color:#eee; }
.bj-quote cite, .bj-pullquote cite { display:block; font-size:.8rem; color:#999; margin-top:1rem; font-style:normal; }
.bj-callout, .bj-cta { background:#171717; padding:1.5rem; border-radius:6px; }
.bj-callout strong, .bj-cta h2 { display:block; margin-bottom:.5rem; color:#eee; }
.bj-cta > span { font-size:.8rem; color:#999; }
.bj-cta a { display:inline-flex; padding-block:.75rem; margin-top:.5rem; font-weight:700; color:#fff; gap:1rem; }
.bj-code { background:#111; border:1px solid #292929; border-radius:6px; overflow:hidden; }
.bj-code-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.65rem 1rem; border-bottom:1px solid #292929; font-size:.75rem; }
.bj-code-head button { min-height:32px; color:#fff; background:none; border:0; cursor:pointer; }
.bj-code pre { overflow-x:auto; padding:1rem; font-size:.85rem; margin:0; }
.bj-code figcaption { padding:0 1rem 1rem; }
.bj-stats > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:1.5rem; }
.bj-stats article { display:flex; flex-direction:column; gap:.4rem; }
.bj-stats strong { color:#eee; font-size:2rem; letter-spacing:-.04em; }
.bj-stats small { color:#999; font-size:.75rem; }
.bj-table-wrap { margin-inline:0; }
.bj-table-wrap > div { overflow-x:auto; }
.bj-table-wrap table { width:100%; border-collapse:collapse; text-align:left; font-size:.85rem; }
.bj-table-wrap th, .bj-table-wrap td { border-bottom:1px solid #333; padding:.75rem; min-width:110px; }
.bj-accordion details { padding:1rem 0; border-bottom:1px solid #333; }
.bj-accordion summary { cursor:pointer; color:#eee; }
.bj-accordion details p { margin-top:1rem; white-space:pre-line; }
.bj-divider { height:1px; background:#333; margin-block:3rem; }
.journal-author { max-width:720px; margin:3rem auto; padding-top:2rem; border-top:1px solid #292929; font-size:.85rem; line-height:1.7; color:#aaa; }
.journal-author strong { color:#eee; }
.journal-related { margin-top:5rem; }
.journal-related > h2 { font-size:1.3rem; margin-bottom:1.75rem; letter-spacing:-.025em; }
.journal-grid--related .journal-card:nth-child(n) { grid-column:span 2; }
@media (max-width:900px) and (min-width:601px) { .journal-card:nth-child(n), .journal-grid--related .journal-card:nth-child(n) { grid-column:span 3; } }
@media (max-width:600px) { .journal-heading { padding-block:2rem 1.75rem; } .journal-grid { gap:20px; } .journal-card:nth-child(n), .journal-grid--related .journal-card:nth-child(n) { grid-column:1/-1; } .journal-card__copy { padding:22px; } .journal-card h2 { font-size:1.15rem; } .journal-card__byline { margin-bottom:14px; } .journal-article__heading { margin-top:2rem; } .journal-article__meta { gap:.5rem 1rem; } .journal-article__meta button { margin-left:0; } .journal-preview { flex-direction:column; } .journal-footer { margin-top:4rem; } }
