.journal-hero { padding: 85px 0 72px; background: var(--cream); border-bottom: 1px solid var(--line); }
.journal-hero h1 { max-width: 950px; font-size: clamp(2.7rem,6vw,5.5rem); }
.journal-hero .lead { max-width: 680px; margin-top: 25px; }
.journal-rss { display: inline-block; margin-top: 24px; font-size: .85rem; }
.journal-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.journal-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.journal-filters button { padding: 11px 16px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); font: inherit; font-size: .85rem; cursor: pointer; }
.journal-filters button[aria-pressed="true"] { color: white; background: var(--pine); border-color: var(--pine); }
.journal-search { width: 260px; flex-shrink: 0; }
.journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.journal-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: white; }
.journal-card[hidden], .journal-empty[hidden] { display: none; }
.journal-image { display: block; height: 210px; overflow: hidden; }
.journal-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.journal-image:hover img { transform: scale(1.04); }
.journal-card-body { padding: 26px; display: flex; flex: 1; flex-direction: column; }
.journal-category { color: #8d6932; font-size: .75rem; font-weight: 800; }
.journal-card h2 { margin-top: 16px; font-size: 1.7rem; line-height: 1.22; }
.journal-card h2 a { text-decoration: none; }
.journal-card p { margin-top: 17px; color: var(--ink-2); font-size: .94rem; }
.journal-card-meta { margin-top: auto; padding-top: 24px; display: flex; gap: 12px; justify-content: space-between; font-size: .76rem; }
.journal-card-meta a { font-weight: 800; }
.journal-article-hero { padding: 70px 0 45px; background: var(--cream); }
.journal-article-hero h1 { font-size: clamp(2.4rem,4.5vw,4rem); }
.journal-article-hero .lead { margin-top: 24px; }
.journal-byline { display: grid; gap: 8px; margin-top: 26px; color: #65736f; font-size: .83rem; }
.journal-prose { max-width: 820px; min-width: 0; }
.journal-prose section, .journal-answer { scroll-margin-top: 110px; }
.journal-answer { padding: 28px; border-left: 4px solid var(--gold); border-radius: 0 18px 18px 0; background: var(--sage-2); }
.journal-answer > p:last-child { font-size: 1.14rem; margin-top: 12px; }
.journal-article-image { width: 100%; max-height: 330px; object-fit: cover; border-radius: 20px; margin: 35px 0; }
.journal-prose section { margin-bottom: 35px; }
.journal-prose h2 { font-size: clamp(1.6rem,3vw,2.2rem); }
.journal-prose section > p { margin-top: 16px; color: var(--ink-2); line-height: 1.85; }
.journal-sources { padding-top: 25px; border-top: 1px solid var(--line); }
.journal-sources ul { padding-left: 20px; }
.journal-note { color: #63746e; font-size: .85rem; }
.journal-contact { margin-top: 32px; padding: 32px; border-radius: 20px; background: var(--cream); }
.journal-contact p { margin-top: 15px; }
.journal-empty { padding: 32px; background: var(--sage-2); border-radius: 18px; }
@media(min-width:981px) { .site-header .nav-links { gap: 16px; } .site-header .nav { gap: 20px; } .site-header .brand { width: 250px; } }
@media(max-width:980px) { .journal-grid { grid-template-columns: repeat(2,1fr); } .journal-toolbar { align-items: stretch; flex-direction: column; } .journal-search { width: 100%; } }
@media(max-width:680px) { .journal-grid { grid-template-columns: 1fr; } .journal-hero, .journal-article-hero { padding: 48px 0; } .journal-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; } .journal-filters button { flex-shrink: 0; } .journal-contact, .journal-answer { padding: 24px; } }
