.journal-page { --ink:#252522; --muted:#605c54; --link:#78500e; color:var(--ink); }
.journal-page .header { position:relative; color-scheme:light; --ink:#252522; --line:#cdc7bb; color:var(--ink); border-bottom:1px solid var(--line); }
.journal-page .header .brand span { color:var(--link); }
.journal-page .header [aria-current] { text-decoration:underline; text-underline-offset:6px; }
.journal-page .header :focus-visible { outline-color:var(--link); }
.journal-page h1,.journal-page h2,.journal-page h3 { text-wrap:pretty; }
.journal-page .journal-breadcrumbs { display:flex; gap:8px 12px; flex-wrap:wrap; align-items:center; font-size:.82rem; color:var(--muted); margin-bottom:24px; }
.journal-breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.journal-index { padding-block:22px 80px; }
.journal-intro { display:grid; gap:24px; padding-block:8px 28px; }
.journal-eyebrow { font-size:.84rem; margin-bottom:14px; color:var(--link); }
.journal-intro h1 { font-size:clamp(2.35rem,4.5vw,3.65rem); max-width:17ch; }
.journal-intro>p { max-width:38ch; align-self:end; }
.journal-categories { display:flex; align-items:center; gap:8px 24px; flex-wrap:wrap; border-block:1px solid var(--line); padding-block:12px; margin-block:16px 32px; }
.journal-categories a { min-height:44px; display:inline-flex; align-items:center; gap:9px; font-size:.9rem; text-decoration:none; }
.journal-categories a span { color:var(--muted); font-size:.78rem; }
.journal-categories a[aria-current] { font-weight:600; text-decoration:underline; text-decoration-color:var(--link); text-decoration-thickness:2px; text-underline-offset:8px; }
.journal-categories a:hover { text-decoration:underline; }
.journal-rss { margin-left:auto; color:var(--link); }
.journal-featured { display:grid; gap:24px; padding-bottom:42px; border-bottom:1px solid var(--line); }
.journal-featured-image,.journal-card-image { display:block; border-radius:8px; overflow:hidden; background:var(--panel); }
.journal-featured-image img,.journal-card-image img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.journal-featured h2 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.15; margin:16px 0; }
.journal-featured h2 a,.journal-card h2 a { text-decoration:none; }
.journal-featured h2 a:hover,.journal-card h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.journal-featured>div>p:not(.journal-meta,.journal-eyebrow) { font-size:1rem; }
.journal-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; font-size:.8rem; line-height:1.65; color:var(--muted); }
.journal-meta a { color:var(--link); }
.journal-read { display:inline-flex; min-height:44px; align-items:center; gap:18px; color:var(--link); font-size:.95rem; margin-top:20px; }
.journal-archive { padding-top:38px; }
.journal-archive-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:30px; }
.journal-archive-heading h2 { font-size:1.6rem; }
.journal-archive-heading p { font-size:.84rem; }
.journal-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:42px 36px; }
.journal-card { min-width:0; }
.journal-card-image { margin-bottom:18px; }
.journal-card h2 { font-size:clamp(1.45rem,2.2vw,1.8rem); line-height:1.24; margin:12px 0; }
.journal-card>p:not(.journal-meta) { font-size:1rem; line-height:1.65; }
.journal-pagination { display:flex; gap:8px; flex-wrap:wrap; align-items:center; border-top:1px solid var(--line); padding-top:26px; margin-top:44px; }
.journal-pagination a { min-height:44px; min-width:44px; padding:8px 14px; display:inline-flex; align-items:center; justify-content:center; font-size:.88rem; border:1px solid #817c73; border-radius:4px; text-decoration:none; }
.journal-pagination [aria-current] { background:var(--ink); color:var(--bg); }
.journal-pagination a:hover { text-decoration:underline; }
.journal-category-list>a { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding:24px 0; align-items:center; text-decoration:none; }
.journal-category-list h2 { font-size:1.6rem; }
.journal-category-list>a:hover h2 { text-decoration:underline; }
.journal-article-header { padding-block:22px 32px; }
.journal-article-header h1 { max-width:950px; font-size:clamp(2.1rem,4.5vw,3.55rem); line-height:1.12; margin-top:18px; }
.journal-standfirst { max-width:800px; font-size:clamp(1.1rem,1.7vw,1.3rem); line-height:1.6; margin-top:24px; }
.journal-author { font-size:.88rem; margin-top:20px; }
.journal-author a { color:var(--ink); }
.journal-cover { margin-block:0 42px; }
.journal-cover img { width:100%; height:auto; max-height:580px; object-fit:cover; border-radius:8px; }
.journal-reading { display:grid; gap:32px; align-items:start; }
.journal-toc { font-size:.9rem; min-width:0; }
.journal-toc details { margin:0; border-block:1px solid var(--line); padding-block:12px; }
.journal-toc summary { min-height:44px; font-size:1rem; font-weight:500; }
.journal-toc ol { padding-left:20px; margin:10px 0 0; }
.journal-toc a { display:block; padding-block:8px; color:var(--muted); text-decoration:none; line-height:1.45; }
.journal-toc a:hover { color:var(--link); text-decoration:underline; }
.journal-toc .journal-back { margin-top:18px; text-decoration:underline; min-height:44px; }
.journal-article-body { min-width:0; max-width:740px; }
.blog-prose { font-size:1.125rem; line-height:1.8; overflow-wrap:anywhere; }
.blog-prose p { color:var(--ink); margin-block:0 22px; }
.blog-prose h2 { font-size:clamp(1.65rem,2.7vw,2.05rem); margin-block:48px 20px; scroll-margin-top:30px; }
.blog-prose h3 { font-size:1.4rem; line-height:1.3; margin-block:30px 14px; scroll-margin-top:30px; }
.blog-prose h4 { font-size:1.15rem; margin-block:24px 10px; }
.blog-prose>:first-child { margin-top:0; }
.blog-prose em { font-style:italic; color:inherit; }
.blog-prose strong { font-weight:650; }
.blog-prose a { color:var(--link); text-decoration-thickness:1px; }
.blog-prose ul,.blog-prose ol { margin-block:16px 26px; padding-left:25px; }
.blog-prose li { padding-block:5px; }
.blog-prose blockquote { margin:28px 0; padding:24px; background:var(--panel); border-radius:6px; }
.blog-prose blockquote p:last-child { margin:0; }
.blog-prose hr { border:0; border-top:1px solid var(--line); margin-block:36px; }
.blog-prose figure { margin:32px 0; }
.blog-prose figure img,.blog-prose>p>img { max-width:100%; height:auto; border-radius:6px; }
.blog-prose figcaption { color:var(--muted); font-size:.85rem; line-height:1.6; margin-top:10px; }
.blog-table-wrap { overflow-x:auto; margin:28px 0; border:1px solid #aaa295; border-radius:6px; }
.blog-prose table { border-collapse:collapse; width:100%; font-size:.88rem; line-height:1.6; }
.blog-prose th,.blog-prose td { padding:14px 16px; border-bottom:1px solid #c4baaa; text-align:left; vertical-align:top; min-width:130px; }
.blog-prose th { background:var(--panel); font-weight:600; }
.blog-prose table caption { text-align:left; padding:12px 16px; background:var(--panel); font-size:.82rem; }
.blog-prose .align-center { text-align:center; }
.blog-prose .align-right { text-align:right; }
.blog-prose tr:last-child td { border-bottom:0; }
.blog-prose code { font-family:Consolas,monospace; font-size:.84em; padding:2px 5px; background:var(--panel); border-radius:3px; }
.blog-code-block { background:#252522; color:#f2efe8; border-radius:6px; overflow:hidden; }
.blog-code-block figcaption { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 16px; margin:0; border-bottom:1px solid #817c73; color:#d1cbc0; }
.blog-code-block button { color:#f2efe8; border:1px solid #a69e90; padding:8px 14px; background:transparent; min-height:44px; border-radius:4px; margin-left:auto; }
.blog-code-block button:focus-visible { outline-color:#f2ad32; }
.blog-code-block pre { margin:0; padding:20px; overflow-x:auto; font-size:.95rem; line-height:1.65; tab-size:2; }
.blog-code-block code { padding:0; color:inherit; background:transparent; font-size:inherit; }
.blog-code-block[data-language="text"] pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.journal-copy-status { width:100%; }
.blog-video { width:100%; aspect-ratio:16/9; }
.blog-video iframe { width:100%; height:100%; border:0; }
.blog-checklist { list-style:none; padding-left:0!important; }
.blog-checklist>li { display:flex; align-items:baseline; gap:12px; }
.blog-checklist>li>div { min-width:0; }
.journal-cta { background:var(--panel); border-radius:8px; padding:28px; margin-top:44px; }
.journal-cta h2 { font-size:1.8rem; }
.journal-cta p { font-size:1rem; margin-top:18px; }
.journal-cta .button { margin-top:24px; }
.journal-service { display:block; width:fit-content; min-height:44px; padding-top:14px; color:var(--link); font-size:.9rem; }
.journal-author-note { border-block:1px solid var(--line); padding-block:24px; margin-top:32px; }
.journal-author-note p { font-size:.95rem; margin-block:10px; }
.journal-author-note a { display:inline-flex; min-height:44px; align-items:center; font-size:.9rem; color:var(--link); }
.journal-related { padding-block:52px 72px; }
.journal-related>h2 { font-size:1.9rem; margin-bottom:28px; }
.journal-related .journal-card h2 { font-size:1.4rem; }
.journal-footer { border-top:1px solid var(--line); background:var(--panel); padding-block:36px 20px; }
.journal-footer>.wrap { display:grid; gap:24px; }
.journal-footer .brand span { color:var(--link); }
.journal-footer p { font-size:.9rem; margin-top:10px; }
.journal-footer nav { display:flex; flex-wrap:wrap; gap:4px 22px; align-content:start; }
.journal-footer nav a,.journal-footer-bottom a { display:inline-flex; align-items:center; min-height:44px; font-size:.88rem; }
.journal-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; border-top:1px solid #c2b9a9; padding-top:14px; }
.journal-footer-bottom small { margin-right:auto; color:var(--muted); }
@media(min-width:701px) { .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .journal-intro { grid-template-columns:1.35fr 1fr; gap:44px; } .journal-featured { grid-template-columns:1.1fr 1fr; gap:36px; align-items:center; } .journal-footer>.wrap { grid-template-columns:1fr 1fr; } .journal-footer-bottom { grid-column:1/-1; } }
@media(min-width:901px) { .journal-reading { grid-template-columns:250px minmax(0,740px); gap:70px; } .journal-toc { position:sticky; top:26px; max-height:calc(100dvh - 52px); overflow:auto; } .blog-prose { font-size:1.2rem; } .journal-related .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .journal-page .header nav { background:var(--bg); color:var(--ink); box-shadow:0 8px 20px #2525221f; } .journal-intro { padding-top:0; } .journal-categories { gap:4px 18px; } .journal-rss { margin-left:0; } .journal-featured { gap:20px; padding-bottom:32px; } .journal-featured h2 { margin-top:12px; } .journal-index { padding-bottom:52px; } .journal-article-header { padding-bottom:26px; } .journal-cover { margin-bottom:28px; } .journal-cta { padding:24px 20px; } .journal-cta .button { width:100%; } .journal-category-list>a { align-items:flex-start; flex-direction:column; gap:6px; } }
