/* News: listing (journal.html), article pages and the homepage News block.
   Load after page-frame.css / footer.css and before link-states.css.
   Outer frame comes from .studio-wrap / .journal-home; nothing here changes it. */

/* ---------- Shared card ---------- */
.news-card{position:relative;min-width:0}
.news-thumb{overflow:hidden;background:#d9d9e8;aspect-ratio:3/1}
/* Images are ~3:1; the fixed 3:1 box keeps cards aligned with negligible crop. */
.news-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.news-date{margin:0 0 .5rem;font-family:Manrope,sans-serif;font-size:1rem;font-weight:650;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;color:#56597a}
.news-page .news-card-title,.journal-home .news-card-title{margin:0;font-family:Manrope,sans-serif;font-weight:550;letter-spacing:-.03em;line-height:1.2;color:#23264a;text-wrap:pretty;overflow-wrap:break-word}
.news-card-link,.studio .news-card-link,.journal-home .news-card-title a{color:#23264a;text-decoration:none}
/* Whole card is one link: the title anchor's overlay covers the card. */
.news-card-link::after{content:'';position:absolute;inset:0;z-index:1}
.news-summary{margin:.6rem 0 0;font-size:1.125rem;line-height:1.55;color:#4d5175}
.news-card:hover .news-card-link,:root .news-card .news-card-link:focus-visible{color:#161637;text-decoration:underline;text-decoration-color:var(--link-underline);text-decoration-thickness:1px;text-underline-offset:4px}
:root .news-card .news-card-link:focus-visible{outline:none}
.news-card .news-card-link:focus-visible::after{outline:2px solid #343474;outline-offset:6px}
.news-card .news-thumb img{transition:opacity .2s ease}
.news-card:hover .news-thumb img{opacity:.9}

/* ---------- Listing ---------- */
.news-index-head{padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.25rem)}
.news-index-head h1{margin:0}
/* All listing rows share the same image/text columns and typography. */
.news-lead{padding-bottom:clamp(1.5rem,2.6vw,2.25rem)}
.news-lead .news-card,.news-list .news-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center}
.news-lead .news-card-title,.news-list .news-card-title{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.2;text-wrap:wrap}
.news-card-text{min-width:0}
.news-page .news-summary,.journal-home .news-summary{max-width:none;width:100%;text-wrap:wrap}
.news-list{list-style:none;margin:0;padding:0 0 clamp(3rem,6vw,5rem)}
.news-list>li{border-top:1px solid var(--studio-line,#c3c3d3)}
.news-list>li:last-child{border-bottom:1px solid var(--studio-line,#c3c3d3)}
.news-list .news-card{padding-block:clamp(1.5rem,2.6vw,2.25rem)}

/* ---------- Article ---------- */
.news-article{padding-top:clamp(2.5rem,5vw,4rem)}
.news-article-head,.news-prose{max-width:46rem;margin-inline:auto}
.news-kicker{margin:0 0 1.25rem;font-family:Manrope,sans-serif;font-size:1rem;font-weight:650;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;color:#56597a}
.news-kicker a{color:#343474;text-decoration:none}
.news-kicker a:hover{text-decoration:underline;text-decoration-color:var(--link-underline)}
.news-page .news-article h1{font-size:clamp(2.2rem,4.2vw,3.75rem);line-height:1.08;letter-spacing:-.045em;margin:0;text-wrap:pretty}
.news-hero{margin:clamp(2rem,4vw,3.25rem) 0;background:#d9d9e8}
/* Natural proportions once loaded; 3:1 reserves space before then. */
.news-hero img{display:block;width:100%;height:auto;aspect-ratio:auto 3/1}
.news-prose{font-size:1.1875rem;line-height:1.75;color:#2b2d50;padding-bottom:clamp(2.5rem,5vw,4rem)}
.news-prose p{margin:0 0 1.35em}
.news-prose p:last-child{margin-bottom:0}
.news-prose a{color:#343474;text-decoration:underline;text-decoration-color:rgba(52,52,116,.4);text-underline-offset:4px}
.news-prose a:hover{color:#161637;text-decoration-color:var(--link-underline)}
.news-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:max(1rem,.9em);overflow-wrap:anywhere}
.news-prose strong{font-weight:650;color:#23264a}
.news-more{border-top:1px solid var(--studio-line,#c3c3d3);padding-block:clamp(2rem,4vw,3rem) clamp(3rem,6vw,5rem)}
.news-more-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:clamp(1.25rem,2.5vw,2rem)}
.news-page .news-more-head h2{font-size:clamp(1.6rem,2.4vw,2.2rem);margin:0}
.news-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.news-more .news-thumb{margin-bottom:1.1rem}
.news-more .news-card-title{font-size:clamp(1.3rem,1.7vw,1.6rem)}

/* ---------- Homepage News block (inside .journal-news) ---------- */
.journal-home .journal-news{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,40px) clamp(20px,2.4vw,36px)}
.journal-home .journal-news .news-card{border-top:0;padding:0}
.journal-home .journal-news .news-card.lead-entry{grid-column:1/-1;padding:0}
.journal-home .news-thumb{margin-bottom:16px}
.journal-home .news-date{margin-bottom:8px}
.journal-home .journal-news .news-card-title{font-size:clamp(1.2rem,1.5vw,1.4rem);line-height:1.25;letter-spacing:-.02em;font-weight:600;margin:0}
.journal-home .journal-news .lead-entry .news-card-title{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.15;letter-spacing:-.035em;font-weight:550}
.journal-home .journal-news .news-summary{margin-top:8px;font-size:var(--banner-body,1.125rem);line-height:1.55;color:#4d5175}

/* ---------- Responsive ---------- */
@media(max-width:900px){
 .news-lead .news-card,.news-list .news-card{grid-template-columns:minmax(0,1fr);gap:1.25rem}
}
@media(max-width:760px){
 .news-more-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}
 .news-prose{font-size:1.125rem}
}
@media(max-width:760px){
 .journal-home .journal-news{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.news-card .news-thumb img{transition:none}}

.news-brand-name{white-space:nowrap}

.journal-home .news-secondary{margin-top:clamp(28px,3vw,40px)}

.journal-home .news-secondary .news-card{grid-column:auto}

.news-publication{margin:0;font-size:1rem;line-height:1.5;color:#56597a}
.news-publication a{color:inherit;text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:4px}
.news-resource-links{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:1rem;line-height:1.6}

.news-prose p:has(+ .news-publication){margin-bottom:1.5rem}
.news-prose .news-publication{margin:0 0 1.5rem}
