/* Zimo journal: the same warm cafe palette, with room for a good read. */
.journal-intro, .journal-stories, .journal-social, .journal-visit { width:min(calc(100% - 48px),var(--max)); margin-inline:auto; }
.journal-intro { padding-top:150px; padding-bottom:60px; max-width:1180px; }
.journal-intro h1 { margin:15px 0 22px; font:500 clamp(4.1rem,8vw,7.5rem)/.98 Georgia,serif; letter-spacing:-.055em; }
.journal-intro h1 em { color:var(--rust); font-weight:400; }
.journal-lede { max-width:650px; color:var(--muted); font-size:1.2rem; line-height:1.7; }
.journal-small, .journal-byline { color:var(--muted); font-size:.85rem; }
.journal-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:26px; }
.journal-section-heading h2, .journal-social h2, .journal-visit h2 { margin:0; font:500 clamp(2rem,3vw,2.8rem)/1.15 Georgia,serif; letter-spacing:-.025em; }
.journal-section-heading p { color:var(--muted); }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.journal-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--cream); }
.journal-card-image { display:block; aspect-ratio:4/3; overflow:hidden; }
.journal-card-image img { width:100%; height:100%; object-fit:cover; }
.journal-card-copy { padding:28px; }
.journal-card-copy :is(h2,h3) { margin:12px 0 16px; font:500 1.85rem/1.15 Georgia,serif; letter-spacing:-.025em; }
.journal-card-copy :is(h2,h3) a { text-decoration:none; }
.journal-card-copy :is(h2,h3) a:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-card-copy > p:not(.eyebrow) { color:var(--muted); margin-bottom:24px; }
.journal-card-copy .text-link { font-size:.9rem; }
.journal-social { margin-top:70px; padding:35px; border:1px solid var(--line); border-radius:24px; }
.journal-social p { max-width:65ch; color:var(--muted); }
.journal-social-links { display:flex; flex-wrap:wrap; gap:12px 26px; font-weight:650; }
.journal-social-links a { text-underline-offset:4px; }
.journal-visit { margin-top:70px; margin-bottom:80px; padding:45px; border-radius:26px; color:var(--paper); background:var(--rust-dark); }
.journal-visit .eyebrow { color:var(--peach); }
.journal-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:25px; }
.journal-actions .button { background:var(--paper); color:var(--rust-dark); border-color:var(--paper); }
.journal-actions .text-link { color:var(--paper); }
.journal-article { padding-top:115px; }
.journal-article-header { width:min(calc(100% - 48px),850px); margin:0 auto 38px; }
.journal-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:.82rem; margin:15px 0 36px; }
.journal-article h1 { font:500 clamp(2.7rem,5.2vw,4.8rem)/1.06 Georgia,serif; letter-spacing:-.04em; margin:18px 0 24px; }
.journal-byline { display:flex; flex-wrap:wrap; gap:8px; }
.journal-article-image { width:min(calc(100% - 48px),1050px); margin:0 auto 55px; aspect-ratio:16/8; overflow:hidden; border-radius:26px; }
.journal-article-image img { width:100%; height:100%; object-fit:cover; }
.journal-prose { width:min(calc(100% - 48px),700px); margin:auto; font-size:1.06rem; line-height:1.85; }
.journal-prose h2 { font:500 2rem/1.2 Georgia,serif; margin:42px 0 18px; letter-spacing:-.025em; }
.journal-prose p { margin:0 0 22px; }
.journal-prose a { text-underline-offset:4px; text-decoration-color:var(--rust); }
.journal-post-link { margin-top:38px; border-left:3px solid var(--rust); padding:20px 25px; background:var(--cream); }
.journal-post-link p:last-child { margin-bottom:0; }
.journal-related { margin-top:80px; padding-top:45px; border-top:1px solid var(--line); }
.journal-related .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:960px) { .journal-grid { gap:18px; } .journal-card-copy { padding:22px; } .journal-card-copy :is(h2,h3) { font-size:1.55rem; } }
@media(max-width:760px) { .journal-intro { padding-top:120px; padding-bottom:35px; } .journal-grid, .journal-related .journal-grid { grid-template-columns:1fr; } .journal-section-heading { display:block; } .journal-article-header { margin-bottom:28px; } .journal-article-image { aspect-ratio:4/3; margin-bottom:35px; } .journal-social, .journal-visit { padding:28px; margin-top:45px; } .journal-byline { font-size:.8rem; } .journal-card-copy :is(h2,h3) { font-size:1.9rem; } }

.archive-date {display:block;font-size:.82rem;line-height:1.65;color:var(--muted);margin:12px 0 18px;}
.archive-pagination {display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:40px 0 70px;}
.archive-pagination a,.archive-pagination [aria-current] {padding:10px 16px;border:1px solid var(--line);border-radius:12px;}
.archive-pagination [aria-current] {background:var(--rust-dark);color:var(--paper);}

/* Subject shortcuts and editorial related stories keep the journal easy to browse. */
.journal-topic-nav { width:min(calc(100% - 48px),var(--max)); margin:0 auto 45px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.journal-topic-nav > span { flex-basis:100%; color:var(--muted); font-weight:650; }
.journal-topic-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid var(--line); border-radius:24px; text-decoration:none; background:var(--cream); }
.journal-topic-nav a:hover { border-color:var(--rust); }
.journal-topic-nav a:focus-visible { outline:3px solid var(--rust); outline-offset:4px; }
.journal-topic-group { margin-bottom:60px; scroll-margin-top:110px; }
@media(max-width:760px) { .journal-topic-group { margin-bottom:45px; scroll-margin-top:90px; } .journal-topic-nav { margin-bottom:35px; } }

/* Direct visit actions remain easy to select from any cafe guide. */
.journal-visit-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.journal-visit-links a { display:inline-flex; align-items:center; gap:8px; min-height:44px; max-width:100%; padding-block:8px; color:var(--paper); font-weight:650; text-underline-offset:4px; overflow-wrap:anywhere; }
.journal-visit-links a:focus-visible { outline:3px solid var(--paper); outline-offset:4px; border-radius:3px; }
