/* Journal: scoped .journal-*; reuses site tokens and fonts */
.journal-wrap{max-width:960px}
.journal-prose{max-width:42rem;margin-inline:auto}
.journal-hero{background:var(--surface-alt);border-bottom:1px solid var(--border);padding:clamp(48px,7vw,88px) 0 clamp(32px,5vw,56px)}
.journal-h1{font-family:var(--font-serif);font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.08;margin:6px 0 12px;color:var(--brand-main)}
[data-theme="dark"] .journal-h1{color:var(--brand-light)}
.journal-sub{font-size:clamp(1.05rem,2vw,1.3rem);font-weight:600;margin:0 0 8px}
.journal-intro{max-width:36em;color:var(--text-muted);line-height:1.65;margin:0}
.journal-kicker,.journal-label{font-family:var(--font-sans);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--brand-main);margin:0 0 8px}
[data-theme="dark"] .journal-kicker,[data-theme="dark"] .journal-label{color:var(--brand-light)}
.journal-kicker a{color:inherit}
.journal-meta{font-size:.78rem;font-weight:600;color:var(--text-muted);margin:8px 0 0}
.journal-main{padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(56px,8vw,96px)}
.journal-main>*+*{margin-top:clamp(36px,5vw,56px)}
.journal-chips{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.journal-chip{display:inline-block;padding:8px 14px;border:1px solid var(--border);border-radius:4px;font-size:.82rem;font-weight:600;color:var(--brand-main);background:var(--surface)}
[data-theme="dark"] .journal-chip{color:var(--brand-light)}
.journal-chip:hover{background:var(--brand-light);color:var(--brand-dark)}
.journal-chip[aria-current="true"]{background:var(--brand-main);border-color:var(--brand-main);color:#fff}
[data-theme="dark"] .journal-chip[aria-current="true"]{background:var(--brand-light);border-color:var(--brand-light);color:var(--brand-dark)}
.journal-chip-clear{border-style:dashed}
.journal-link{font-size:.82rem;font-weight:700;color:var(--brand-main);text-decoration:underline;text-underline-offset:3px}
[data-theme="dark"] .journal-link{color:var(--brand-light)}

.journal-feature{display:grid;gap:20px 32px;padding-top:12px;border-top:2px solid var(--brand-main)}
.journal-feature-img img,.journal-row-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;border:1px solid var(--border)}
@media(min-width:760px){.journal-feature.has-img{grid-template-columns:1.1fr 1fr;align-items:center}}
.journal-feature-title{font-family:var(--font-serif);font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.15;margin:0 0 10px}
.journal-feature-title a,.journal-row-title a,.journal-teaser-title a{color:var(--text-main)}
.journal-feature-title a:hover,.journal-row-title a:hover,.journal-teaser-title a:hover{text-decoration:underline;text-underline-offset:4px}
.journal-dek{font-size:1.1rem;line-height:1.6;color:var(--text-muted);margin:0}

.journal-latest-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;border-bottom:2px solid var(--brand-main);padding-bottom:10px}
.journal-latest-head .journal-label{margin:0}
.journal-active{font-size:.9rem;margin:0}
.journal-active .journal-link{margin-left:10px}
.journal-rows{list-style:none;margin:0;padding:0}
.journal-row{display:grid;gap:14px 24px;padding:22px 0;border-bottom:1px solid var(--border)}
@media(min-width:680px){.journal-row.has-img{grid-template-columns:200px 1fr}}
.journal-row-title{font-family:var(--font-serif);font-size:clamp(1.25rem,2.4vw,1.65rem);line-height:1.22;margin:0 0 6px}
.journal-excerpt{line-height:1.6;max-width:38em;margin:0;color:var(--text-main)}
.journal-empty{border:1px solid var(--border);background:var(--surface-alt);border-radius:4px;padding:clamp(22px,4vw,36px);margin-top:20px}
.journal-empty h3{font-family:var(--font-serif);font-size:1.4rem;margin:0 0 6px}
.journal-empty p{margin:0;color:var(--text-muted);line-height:1.6}
.journal-empty a{text-decoration:underline;color:var(--brand-main)}
[data-theme="dark"] .journal-empty a{color:var(--brand-light)}
.journal-connect{border-left:3px solid var(--brand-main);padding:4px 0 4px 20px;max-width:42rem}
[data-theme="dark"] .journal-connect{border-color:var(--brand-light)}
.journal-connect p{margin:0;line-height:1.65;color:var(--text-muted)}

/* Teasers */
.journal-teasers{padding:clamp(44px,6vw,80px) 0;border-top:1px solid var(--border)}
.journal-teasers-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}
.journal-teasers-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.1rem);margin:0}
.journal-teasers-list{list-style:none;margin:0;padding:0;display:grid;gap:0 32px;border-top:2px solid var(--brand-main)}
@media(min-width:760px){.journal-teasers-list{grid-template-columns:repeat(3,1fr)}}
.journal-teaser{padding:18px 0;border-bottom:1px solid var(--border)}
.journal-teaser-title{font-family:var(--font-serif);font-size:1.25rem;line-height:1.25;margin:0 0 6px}
.journal-teaser-text{font-size:.9rem;line-height:1.55;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Article */
.journal-art-head{padding-top:clamp(16px,3vw,32px)}
.journal-title{font-family:var(--font-serif);font-size:clamp(2rem,4.8vw,3rem);line-height:1.12;margin:0 0 14px}
.journal-tags{margin-top:14px}
.journal-hero-fig{max-width:960px;margin-top:28px}
.journal-hero-fig img{width:100%;max-height:460px;object-fit:cover;border-radius:4px;border:1px solid var(--border);background:var(--surface-alt)}
.journal-body{padding-top:28px;font-size:1.05rem;line-height:1.8;overflow-wrap:break-word}
.journal-body>*+*{margin-top:1.1em}
.journal-body .lede{font-size:1.22rem;line-height:1.6}
.journal-body h2{font-family:var(--font-serif);font-size:1.6rem;line-height:1.25;margin-top:2em}
.journal-body h3{font-size:1.15rem;line-height:1.3;margin-top:1.6em}
.journal-body ul,.journal-body ol{padding-left:1.4em}
.journal-body li{margin-bottom:.45em}
.journal-body a{color:var(--brand-main);text-decoration:underline;text-underline-offset:3px}
[data-theme="dark"] .journal-body a{color:var(--brand-light)}
.journal-body blockquote{border-left:3px solid var(--brand-main);padding:2px 0 2px 20px;font-family:var(--font-serif);font-style:italic;color:var(--text-muted)}
.journal-body figure{margin-inline:0}
.journal-body figure img{width:100%;height:auto;border-radius:4px;border:1px solid var(--border)}
.journal-body figcaption{font-size:.85rem;line-height:1.5;color:var(--text-muted);margin-top:8px}
.journal-body table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.5}
.journal-body table:focus-visible{outline:2px solid var(--brand-main);outline-offset:4px}
[data-theme="dark"] .journal-body table:focus-visible{outline-color:var(--brand-light)}
.journal-body caption{text-align:left;font-weight:700;padding-bottom:8px}
.journal-body th,.journal-body td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
.journal-body th{background:var(--surface-alt);font-weight:700}
.journal-body aside{background:var(--surface-alt);border:1px solid var(--border);border-left:3px solid var(--brand-main);border-radius:4px;padding:16px 20px;font-size:.98rem;line-height:1.65}
[data-theme="dark"] .journal-body aside{border-left-color:var(--brand-light)}
.journal-body aside>*+*{margin-top:.7em}
.journal-body aside h2,.journal-body aside h3,.journal-body aside strong:first-child{font-family:var(--font-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin:0}
.journal-body dl{display:grid;grid-template-columns:minmax(0,max-content) 1fr;gap:6px 18px}
.journal-body dt{font-weight:700}
.journal-body dd{margin:0}
@media(max-width:520px){.journal-body dl{grid-template-columns:1fr}.journal-body dd{margin-bottom:8px}}
.journal-caveat{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-top:36px;padding-top:14px;border-top:1px solid var(--border)}
.journal-related{padding:clamp(36px,5vw,56px) 0 0}
.journal-related .journal-label{border-bottom:2px solid var(--brand-main);padding-bottom:10px;margin-bottom:18px}
.journal-rows-compact{max-width:42rem}
.journal-endnav{padding:36px 0 clamp(56px,8vw,96px)}

:is(.journal-chip,.journal-link,.journal-kicker a,.journal-feature-title a,.journal-row-title a,.journal-teaser-title a,.journal-body a,.journal-empty a):focus-visible{outline:2px solid var(--brand-main);outline-offset:3px}
[data-theme="dark"] :is(.journal-chip,.journal-link,.journal-kicker a,.journal-feature-title a,.journal-row-title a,.journal-teaser-title a,.journal-body a,.journal-empty a):focus-visible{outline-color:var(--brand-light)}
