/* News listing and shared articles. Brand type, shell and spacing come from main.css. */
:where(.news-page,.news-article) :is(h1,h2,h3,p,figure) { margin:0; }
:where(.news-page,.news-article) svg { width:20px; height:20px; }
:where(.news-page,.news-article) a { text-decoration:none; }
.news-hero { color:#fff; background:var(--navy); padding-block:48px; }
.news-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--layout-gap); align-items:center; }
.news-hero h1 { font-size:clamp(64px,5.6vw,92px); line-height:.99; letter-spacing:-.055em; }
.news-hero h1 span { color:var(--yellow); }
.news-hero p { color:#c7ccd6; max-width:480px; }
.news-stories { padding-block:var(--section-padding); }
.news-featured-wrap { margin-bottom:var(--section-padding); }
.news-card { min-width:0; display:flex; flex-direction:column; background:#fff; }
.news-card-image { display:block; overflow:hidden; background:#e8ebea; }
.news-card-image > img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.news-card-copy { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.news-meta { display:flex; flex-wrap:wrap; gap:6px 10px; color:var(--muted); font-size:var(--type-label); line-height:1.5; }
.news-card-copy h3 { font-size:var(--type-subheading); line-height:1.2; margin-block:16px; }
.news-card-copy h3 a:hover,.news-card-copy h2 a:hover { text-decoration:underline; text-underline-offset:5px; }
.news-card-copy .news-card-excerpt { margin-bottom:20px; color:var(--muted); }
.news-text-link { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding-block:12px; font-size:.9375rem; font-weight:800; }
.news-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.news-card-copy > .news-text-link { margin-top:auto; }
.news-card--featured { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; background:#e9eceb; }
.news-card--featured .news-card-image { align-self:stretch; display:flex; align-items:center; }
.news-card--featured .news-card-image > img { max-height:400px; aspect-ratio:16/10; }
.news-card--featured .news-card-copy { padding:36px; }
.news-card--featured h2 { font-size:var(--type-feature-title); margin-block:20px; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.news-results-heading { margin-bottom:32px; }
.news-results-heading h2 { font-size:var(--type-feature-title); margin-bottom:28px; }
.news-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; }
.news-filters label { display:grid; gap:8px; font-size:var(--type-label); font-weight:800; flex:1; min-width:160px; }
.news-filters select { width:100%; min-height:54px; border:1px solid #b8bec8; background-color:var(--canvas); border-radius:0; padding:12px; color:var(--navy); font-size:var(--type-body); font-weight:400; }
.news-filters .button { gap:16px; }
.news-filters > a { min-height:54px; }
.news-empty { padding:40px; background:#e9eceb; }
.news-empty p { margin-top:16px; color:var(--muted); }
.news-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px 24px; margin-top:40px; }
.news-pagination a { display:inline-flex; align-items:center; gap:10px; padding:12px 16px; background:var(--navy); color:#fff; font-weight:800; }
.news-pagination a:focus-visible { outline-color:var(--navy); }
.news-archive-more { margin-top:32px; }
.news-archive-more > summary { display:flex; align-items:center; justify-content:center; gap:12px; width:fit-content; min-height:52px; padding:12px 24px; margin-inline:auto; background:var(--navy); color:var(--canvas); font-weight:800; cursor:pointer; list-style:none; }
.news-archive-more > summary::-webkit-details-marker { display:none; }
.news-archive-more > summary:hover { background:var(--panel); }
.news-archive-more > summary:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
.news-archive-plus { position:relative; width:16px; height:16px; flex-shrink:0; }
.news-archive-plus::before,.news-archive-plus::after { content:""; position:absolute; background:currentColor; }
.news-archive-plus::before { width:16px; height:2px; top:7px; left:0; }
.news-archive-plus::after { width:2px; height:16px; left:7px; top:0; }
.news-archive-collapse,.news-archive-more[open] .news-archive-expand,.news-archive-more[open] .news-archive-plus::after { display:none; }
.news-archive-more[open] .news-archive-collapse { display:inline; }
.news-archive-more > .news-grid { margin-top:32px; }
.news-image-placeholder { display:grid; place-items:center; width:100%; aspect-ratio:3/2; background:var(--navy); }
.news-image-placeholder img { width:140px; height:auto; }
.news-article-header { padding-block:48px 32px; max-width:1160px; }
.news-article-header > .news-text-link { padding-top:0; min-height:36px; margin-bottom:24px; }
.news-article-header > .news-text-link svg { transform:rotate(180deg); }
.news-article-header .news-meta { margin-bottom:20px; }
.news-article-header h1 { font-size:clamp(44px,4.8vw,72px); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.news-article-header .news-article-intro { margin-top:24px; color:var(--muted); max-width:820px; }
.news-article-cover { max-width:1280px; margin-bottom:40px; }
.news-article-cover > img { width:100%; height:auto; max-height:620px; object-fit:contain; }
.news-article-body { max-width:920px; padding-bottom:var(--section-padding); }
.news-article-content { font-size:var(--type-body); line-height:1.75; overflow-wrap:break-word; }
.news-article-content > * + * { margin-top:24px; }
.news-article-content :is(h2,h3) { line-height:1.15; }
.news-article-content h2 { font-size:var(--type-feature-title); margin-top:48px; margin-bottom:24px; letter-spacing:-.035em; }
.news-article-content h3 { font-size:var(--type-subheading); margin-top:32px; margin-bottom:20px; }
.news-article-content > :first-child { margin-top:0; }
.news-article-content :is(ul,ol) { padding-left:24px; }
.news-article-content li + li { margin-top:12px; }
.news-article-content a:not(.wp-block-image a) { text-decoration:underline; text-underline-offset:4px; }
.news-article-content blockquote { border-left:3px solid var(--navy); margin-inline:0; padding-left:24px; font-size:1.25rem; }
.news-article-content :is(img,video,iframe) { max-width:100%; }
.news-article-content figure.wp-block-image { margin-block:32px; }
.news-article-content .wp-block-image img { height:auto !important; width:100%; aspect-ratio:auto !important; max-height:none !important; object-fit:contain !important; }
.news-article-content .wp-block-image a { display:block; }
.news-article-content figcaption { font-size:var(--type-label); color:var(--muted); margin-top:10px; }
.news-article-content .wp-block-gallery.has-nested-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:12px; margin-block:32px; }
.news-article-content .wp-block-gallery.columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.news-article-content .wp-block-gallery.columns-1 { grid-template-columns:1fr; }
.news-article-content .wp-block-gallery.columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.news-article-content .wp-block-gallery.columns-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.news-article-content .wp-block-gallery.columns-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.news-article-content .wp-block-gallery.columns-7 { grid-template-columns:repeat(7,minmax(0,1fr)); }
.news-article-content .wp-block-gallery.columns-8 { grid-template-columns:repeat(8,minmax(0,1fr)); }
/* Core's :not(#individual-image) rules give each figure a percentage width for
   flex layouts. Reset those widths inside our grid so they are not applied twice.
   The scoped overrides also handle core styles loaded after the theme stylesheet. */
.news-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image { display:block; width:100% !important; height:auto !important; min-width:0; max-width:100%; margin:0 !important; }
.news-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image > :is(a,div:not(.components-drop-zone)) { display:block !important; width:100%; height:auto !important; flex:none !important; }
.news-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image img { display:block; aspect-ratio:auto !important; width:100% !important; height:auto !important; object-fit:contain !important; flex:none !important; }
.news-article-content .wp-block-gallery.has-nested-images > .blocks-gallery-caption { grid-column:1 / -1; }
.news-article-content .wp-block-table { overflow-x:auto; }
.news-article-content table { border-collapse:collapse; width:100%; }
.news-article-content :is(th,td) { border-bottom:1px solid var(--border); padding:12px; text-align:left; }
.news-archive-note { background:#e9eceb; padding:24px; margin-bottom:32px; }
.news-archive-note > strong { font-size:var(--type-item-title); }
.news-archive-note p { margin-block:10px; color:var(--muted); }
.news-archive-note a { display:inline-flex; align-items:center; gap:10px; padding-top:8px; font-weight:800; }
.news-article-end { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-top:40px; padding-top:20px; border-top:1px solid var(--border); }
.news-related { background:#e9eceb; padding-block:var(--section-padding); }
.news-related h2 { font-size:var(--type-feature-title); margin-bottom:var(--heading-gap); }
html.news-photo-open { overflow:hidden; }
.news-lightbox { position:fixed; width:min(1200px,calc(100vw - 32px)); max-width:none; max-height:calc(100svh - 32px); margin:auto; padding:52px 24px 16px; background:var(--deep); color:#fff; border:0; }
.news-lightbox:not([open]) { display:none; }
.news-lightbox::backdrop { background:#0b0d14e6; }
.news-lightbox button { display:grid; place-items:center; width:44px; height:44px; background:transparent; color:#fff; border:0; padding:10px; }
.news-lightbox button:focus-visible { outline-color:var(--yellow); }
.news-lightbox svg { width:22px; height:22px; }
.news-lightbox-close { position:absolute; top:4px; right:8px; }
.news-lightbox > img { width:100%; height:auto; max-height:calc(100svh - 160px); object-fit:contain; }
.news-lightbox-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:12px; }
.news-lightbox-controls p { margin:0; font-size:var(--type-label); }
.news-lightbox [data-news-previous] svg { transform:rotate(180deg); }
@media(max-width:1100px) {
 .news-card--featured .news-card-copy { padding:28px; }
 .news-card--featured h2 { font-size:2.5rem; }
 .news-grid { gap:16px; }
 .news-card-copy { padding:22px; }
}
@media(max-width:900px) {
 .news-hero-grid { grid-template-columns:1fr; gap:24px; text-align:center; }
 .news-hero p { margin-inline:auto; }
 .news-card--featured { grid-template-columns:1fr; }
 .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .news-hero { padding-block:32px; }
 .news-hero h1 { font-size:clamp(44px,11.8vw,56px); }
 .news-card--featured .news-card-copy { padding:24px 22px; }
 .news-card--featured h2 { font-size:var(--type-feature-title); }
 .news-card--featured .news-card-image > img { aspect-ratio:16/10; }
 .news-grid { grid-template-columns:1fr; gap:24px; }
 .news-card-copy h3 { font-size:var(--type-subheading); }
 .news-filters { gap:16px 12px; }
 .news-filters label { min-width:0; flex-basis:calc(50% - 6px); }
 .news-filters label:first-child { flex-basis:100%; }
 .news-filters .button { flex:1; min-width:145px; padding-inline:16px; gap:12px; }
 .news-filters > a { min-height:44px; padding-block:8px; }
 .news-results-heading { margin-bottom:24px; }
 .news-empty { padding:28px 22px; }
 .news-article-header { padding-block:32px 24px; }
 .news-article-header h1 { font-size:clamp(36px,9.2vw,48px); }
 .news-article-header .news-article-intro { margin-top:20px; }
 .news-article-cover { margin-bottom:32px; }
 .news-article-content h2 { margin-top:36px; }
 .news-article-content h3 { margin-top:28px; }
 .news-article-content .wp-block-gallery.has-nested-images { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .news-article-content .wp-block-gallery.has-nested-images.columns-1 { grid-template-columns:1fr; }
 .news-archive-note { padding:22px; }
 .news-article-end { margin-top:32px; }
 .news-lightbox { padding:48px 12px 12px; }
}
