.journal-hero { padding-top:clamp(1.6rem,4vw,3.5rem); }
.journal-hero h1,.journal-index-hero h1 { max-width:24ch; font-size:clamp(2rem,4.3vw,3.65rem); line-height:1.1; letter-spacing:-.035em; text-wrap:balance; }
.journal-deck { max-width:66ch; font-size:clamp(1.05rem,1.5vw,1.22rem); margin-block:1.3rem; color:var(--ink-soft); }
.journal-meta { font-size:.84rem; color:var(--ink-soft); line-height:1.5; margin-bottom:1rem; }
.journal-cover { margin:2rem 0 0; }
.journal-cover img { width:100%; height:auto; aspect-ratio:2.3/1; object-fit:cover; }
.journal-cover figcaption { color:var(--ink-soft); font-size:.8rem; padding-top:.65rem; }
.journal-layout { display:grid; grid-template-columns:minmax(190px,260px) minmax(0,760px); gap:clamp(2rem,5vw,6rem); justify-content:center; padding-block:3.25rem 4rem; }
.journal-sidebar { min-width:0; }
.journal-toc { position:sticky; top:108px; border-top:3px solid var(--brand-blue); padding-top:1rem; }
.journal-toc summary { cursor:pointer; font-weight:700; font-size:1rem; }
.journal-toc ol { margin:1rem 0 0; padding:0; list-style:none; }
.journal-toc li { margin:0; border-bottom:1px solid var(--line); }
.journal-toc a { display:block; color:var(--ink-soft); font-size:.9rem; line-height:1.4; padding:.8rem .3rem; text-decoration:none; }
.journal-toc a:hover,.journal-toc a:focus-visible { color:var(--ink); background:var(--paper); text-decoration:underline; text-decoration-color:var(--brand-blue); text-underline-offset:4px; }
.journal-content { font-size:1.08rem; line-height:1.8; overflow-wrap:anywhere; }
.journal-content h2 { font-size:clamp(1.45rem,2.3vw,2rem); line-height:1.2; margin:2.5rem 0 1rem; scroll-margin-top:120px; }
.journal-content p { margin:0 0 1.35rem; }
.journal-content ul { margin:1rem 0 1.5rem; padding-left:1.3rem; }
.journal-content li { padding-left:.3rem; margin-block:.6rem; }
.journal-content li::marker { color:var(--ink); }
.journal-content a { color:var(--ink); text-decoration:underline; text-decoration-color:var(--brand-blue); text-decoration-thickness:2px; text-underline-offset:4px; }
.journal-content a:hover { background:var(--paper); text-decoration-color:var(--ink); }
.journal-share { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.5rem; }
.journal-share > p { font-weight:700; }
.journal-share > div { display:flex; flex-wrap:wrap; gap:.6rem; }
.journal-share a,.journal-share button { display:inline-flex; align-items:center; min-height:44px; padding:.6rem .85rem; border:1px solid #aaa; background:white; color:var(--ink); border-radius:3px; font:inherit; font-size:.87rem; cursor:pointer; text-decoration:none; }
.journal-share a:hover,.journal-share button:hover { border-color:var(--ink); background:var(--paper); }
.journal-share-status { display:block; min-height:1.7em; margin-top:.5rem; font-size:.88rem; }
.journal-contact { border-left:4px solid var(--brand-blue); background:var(--paper); padding:clamp(1.3rem,3vw,2.4rem); margin-top:2rem; }
.journal-contact h2 { font-size:1.8rem; }
.journal-contact p { max-width:56ch; }
.journal-contact .journal-button { background:white; color:var(--ink); border:2px solid var(--brand-blue); }
.journal-contact .journal-button:hover { background:white; color:var(--ink); text-decoration:underline; }
.journal-index-hero { padding-block:2.5rem 3rem; background:var(--paper); }
.journal-index-intro { max-width:62ch; margin-top:1.5rem; font-size:1.12rem; line-height:1.65; color:var(--ink-soft); }
.journal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.journal-card { min-width:0; background:var(--paper); }
.journal-card-image { display:block; overflow:hidden; }
.journal-card-image img { width:100%; height:auto; aspect-ratio:1.8/1; object-fit:cover; transition:transform .4s ease; }
.journal-card:hover .journal-card-image img { transform:scale(1.025); }
.journal-card-copy { padding:clamp(1.25rem,2.5vw,2rem); }
.journal-card-copy h2 { font-size:clamp(1.35rem,2.1vw,1.9rem); line-height:1.2; }
.journal-card-copy h2 a { text-decoration:none; color:var(--ink); }
.journal-card-copy h2 a:hover { text-decoration:underline; text-decoration-color:var(--brand-blue); text-underline-offset:4px; }
.journal-card-copy > p:not(.journal-meta) { color:var(--ink-soft); font-size:1rem; }
.journal-grid-index .journal-card:first-child,.journal-grid-home .journal-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
.journal-grid-index .journal-card:first-child img,.journal-grid-home .journal-card:first-child img { aspect-ratio:1.35/1; }
.journal-grid-home .journal-card h2 { font-size:clamp(1.3rem,2vw,1.75rem); }
@media(max-width:900px) {
 .journal-layout { grid-template-columns:1fr; gap:1.5rem; padding-top:2rem; }
 .journal-toc { position:static; }
 .journal-toc ol { display:grid; grid-template-columns:1fr 1fr; column-gap:1rem; }
 .journal-cover img { aspect-ratio:1.7/1; }
}
@media(max-width:640px) {
 .journal-grid { grid-template-columns:1fr; gap:1.3rem; }
 .journal-grid-index .journal-card:first-child,.journal-grid-home .journal-card:first-child { display:block; }
 .journal-toc ol { grid-template-columns:1fr; }
 .journal-content { font-size:1rem; line-height:1.75; }
 .journal-cover img { aspect-ratio:1.4/1; }
 .journal-hero .breadcrumb { font-size:.82rem; }
 .journal-share > div { flex-direction:column; align-items:stretch; }
 .journal-share a,.journal-share button { justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { .journal-card-image img { transition:none; } .journal-card:hover .journal-card-image img { transform:none; } }
