/* Public article listing. Content, categories and featured ordering remain CMS controlled. */
.journal-index { padding:40px 0 64px; background:#0a0f0a; color:#f4f4f2; }
.journal-container { max-width:1280px; margin:0 auto; padding:0 24px; }
.journal-header { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:end; margin-bottom:32px; }
.journal-introduction { max-width:720px; }
.journal-introduction h1 { margin:0 0 16px; font:600 clamp(2rem,3.3vw,3rem)/1.15 'Playfair Display',Georgia,serif; letter-spacing:-.025em; }
.journal-introduction p { margin:0; max-width:620px; color:#b6bdb6; font-size:16px; line-height:1.7; }
.journal-search label { display:block; margin-bottom:8px; font-size:12px; font-weight:500; color:#bcc3bc; }
.journal-search-controls { display:flex; gap:8px; }
.journal-search input[type=search] { flex:1; min-width:0; width:100%; min-height:44px; padding:11px 12px; background:#101710; border:1px solid #465047; border-radius:4px; color:#f4f4f2; font:400 14px/1.4 Inter,system-ui,sans-serif; }
.journal-search input::placeholder { color:#929c93; }
.journal-search button { min-height:44px; padding:10px 16px; border:1px solid #d4a017; border-radius:4px; background:#d4a017; color:#101510; font:600 14px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
.journal-categories { display:flex; flex-wrap:wrap; gap:0 26px; margin-bottom:36px; border-bottom:1px solid #303930; }
.journal-categories a { display:inline-flex; align-items:center; min-height:48px; padding:12px 0; margin-bottom:-1px; border-bottom:2px solid transparent; color:#afb9b0; font-size:14px; font-weight:500; text-decoration:none; }
.journal-categories a[aria-current=page] { color:#e8bc51; border-bottom-color:#d4a017; }
.journal-categories a:hover { color:#fff; }
.journal-mobile-category { display:none; }
.journal-results { scroll-margin-top:112px; }
.journal-results-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:24px; }
.journal-results-heading h2 { margin:0; color:#f4f4f2; font-size:18px; font-weight:500; }
.journal-results-heading p { margin:0; color:#9da89f; font-size:13px; }
.journal-search-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 24px; margin:0 0 24px; color:#b6bdb6; font-size:14px; }
.journal-search-summary p { margin:0; }
.journal-search-summary strong { color:#f4f4f2; font-weight:500; overflow-wrap:anywhere; }
.journal-search-summary a,.journal-empty a { color:#e8bc51; text-underline-offset:4px; }
.journal-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:40px 32px; }
.journal-card { min-width:0; display:flex; flex-direction:column; padding-bottom:24px; border-bottom:1px solid #303930; }
.journal-card-image { display:block; aspect-ratio:3/2; overflow:hidden; border-radius:4px; background:#101710; }
.journal-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.journal-card-copy { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding-top:20px; }
.journal-card-category { margin:0 0 10px; color:#c7ac66; font-size:12px; font-weight:500; line-height:1.5; }
.journal-card h3 { margin:0 0 14px; font:600 25px/1.3 'Playfair Display',Georgia,serif; letter-spacing:-.015em; overflow-wrap:anywhere; }
.journal-card h3 a { color:#f4f4f2; text-decoration:none; }
.journal-card h3 a:hover { color:#e8bc51; }
.journal-card-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:14px; color:#939f95; font-size:12px; line-height:1.5; }
.journal-card-excerpt { margin:0 0 20px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; color:#b6bdb6; font-size:15px; line-height:1.7; }
.journal-featured { grid-column:1/-1; }
.journal-read-link { display:inline-flex; align-items:center; gap:10px; min-height:36px; margin-top:auto; color:#e8bc51; font-size:13px; font-weight:500; text-decoration:none; }
.journal-read-link:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:16px; padding-top:28px; margin-top:8px; }
.journal-pagination>div:last-child { text-align:right; }
.journal-pagination p { margin:0; color:#9da89f; font-size:13px; }
.journal-page-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 18px; border:1px solid #465047; border-radius:4px; color:#e4e9e4; font-size:14px; font-weight:500; text-decoration:none; }
.journal-page-next { background:#d4a017; color:#101510; border-color:#d4a017; }
.journal-page-link:hover { border-color:#e8bc51; }
.journal-page-next:hover,.journal-search button:hover { background:#e0ad27; }
.journal-empty { padding:40px 0 56px; border-bottom:1px solid #303930; }
.journal-empty h3 { margin:0 0 12px; font:600 24px/1.3 'Playfair Display',Georgia,serif; }
.journal-empty p { margin:0 0 20px; color:#b6bdb6; font-size:15px; }
.journal-contact { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; margin-top:56px; padding-top:28px; border-top:1px solid #303930; }
.journal-contact h2 { margin:0 0 8px; font:600 22px/1.3 'Playfair Display',Georgia,serif; }
.journal-contact p { margin:0; color:#9da89f; font-size:14px; line-height:1.6; }
.journal-contact-links { display:flex; flex-wrap:wrap; gap:16px 24px; }
.journal-contact-links a { padding:10px 0; color:#e8bc51; font-size:14px; font-weight:500; text-decoration:underline; text-underline-offset:5px; }
.journal-index :is(a,button,input):focus-visible { outline:2px solid #d4a017; outline-offset:4px; }
/* Phones use one lead story followed by compact, readable article rows. */
@media(max-width:767px) {
    .journal-index { padding:16px 0 32px; }
    .journal-container { padding:0 16px; }
    .journal-header { gap:16px; margin-bottom:14px; }
    .journal-introduction h1 { font-size:28px; line-height:1.18; margin-bottom:10px; }
    .journal-introduction p { font-size:14px; line-height:1.6; }
    .journal-search label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .journal-search input[type=search] { font-size:16px; min-height:46px; }
    .journal-search button { min-width:76px; min-height:46px; }
    .journal-categories { display:none; }
    .journal-mobile-category { display:block; margin:0 0 20px; }
    .journal-mobile-category label { display:block; margin-bottom:6px; color:#bcc3bc; font-size:12px; font-weight:500; }
    .journal-category-controls { display:flex; gap:8px; }
    .journal-category-controls select { flex:1; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #465047; border-radius:4px; color:#f4f4f2; background:#101710; font:400 16px/1.4 Inter,system-ui,sans-serif; color-scheme:dark; }
    .journal-category-controls button { min-width:76px; min-height:46px; padding:10px 16px; border:1px solid #465047; border-radius:4px; color:#e4e9e4; background:#101710; font:500 14px/1.4 Inter,system-ui,sans-serif; cursor:pointer; }
    .journal-category-controls :is(select,button):focus-visible { outline:2px solid #d4a017; outline-offset:3px; }
    .journal-results { scroll-margin-top:88px; }
    .journal-index :is(a,button,input,select) { scroll-margin-top:88px; scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
    .journal-results-heading { gap:8px 12px; margin-bottom:16px; }
    .journal-results-heading h2 { font-size:16px; }
    .journal-results-heading p { font-size:12px; }
    .journal-search-summary { margin-bottom:16px; font-size:14px; }
    .journal-grid { gap:20px; }
    .journal-card { padding-bottom:16px; }
    .journal-card:not(.journal-featured) { display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:14px; align-items:start; }
    .journal-card:not(.journal-featured) .journal-card-image { grid-column:2; grid-row:1; aspect-ratio:1; }
    .journal-card:not(.journal-featured) .journal-card-copy { grid-column:1; grid-row:1; min-width:0; padding-top:0; }
    .journal-card-category { margin-bottom:6px; font-size:12px; }
    .journal-card h3 { margin-bottom:10px; font-size:20px; line-height:1.3; }
    .journal-card-meta { gap:4px 10px; margin-bottom:4px; font-size:12px; }
    .journal-card:not(.journal-featured) .journal-card-excerpt { display:none; }
    .journal-read-link { min-height:44px; margin-top:0; font-size:14px; }
    .journal-featured .journal-card-image { aspect-ratio:16/10; }
    .journal-featured .journal-card-copy { padding-top:14px; }
    .journal-featured h3 { font-size:25px; line-height:1.25; }
    .journal-featured .journal-card-meta { margin-bottom:10px; }
    .journal-featured .journal-card-excerpt { -webkit-line-clamp:2; margin-bottom:8px; font-size:15px; line-height:1.6; }
    .journal-pagination { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:0; padding-top:24px; scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
    .journal-pagination p { grid-column:1/-1; grid-row:1; text-align:center; }
    .journal-pagination>div:first-child { grid-column:1; grid-row:2; }
    .journal-pagination>div:last-child { grid-column:2; grid-row:2; }
    .journal-pagination>div:empty { display:none; }
    .journal-pagination-first>div:last-child,.journal-pagination-last>div:first-child { grid-column:1/-1; }
    .journal-page-link { width:100%; min-height:48px; padding:12px 16px; }
    .journal-contact { gap:12px; margin-top:32px; padding-top:24px; }
    .journal-contact h2 { font-size:21px; }
    .journal-contact p { font-size:14px; }
    .journal-contact-links { gap:8px 20px; }
    .journal-contact-links a { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; }
}
@media(max-width:359px) {
    .journal-card:not(.journal-featured) { grid-template-columns:minmax(0,1fr) 80px; gap:12px; }
    .journal-card h3 { font-size:19px; }
    .journal-featured h3 { font-size:23px; }
}
@media(min-width:768px) {
    .journal-index { padding-top:48px; }
    .journal-container { padding:0 28px; }
    .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .journal-featured { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:32px; padding-bottom:32px; }
    .journal-featured .journal-card-copy { min-width:0; padding-top:0; }
    .journal-featured h3 { font-size:clamp(26px,2.6vw,36px); }
    .journal-featured .journal-card-excerpt { display:block; overflow:visible; }
    .journal-featured .journal-read-link { margin-top:4px; }
}
@media(min-width:1100px) {
    .journal-header { grid-template-columns:minmax(0,1fr) 340px; gap:48px; }
    .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
