/* Editorial news presentation. Scoped to public archive and article pages. */
body:is([data-page="news"],[data-page="article"]) { --news-border:#d5e2ea; --news-surface:#eaf1f5; }
body[data-page="news"] #page-content { padding-block:26px 80px; }
body[data-page="news"] .breadcrumb { margin-bottom:22px; }
body[data-page="news"] .page-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:44px; margin-bottom:30px; padding:30px 40px 34px; border-radius:2px; border:0; border-inline-start:4px solid var(--sky); background:radial-gradient(ellipse at 80% 0,#30708d77,transparent 75%),var(--navy); }
body[data-page="news"] .page-intro::before { width:420px; height:550px; inset-inline-end:30px; top:-200px; border-radius:50% 50% 0 0; transform:rotate(-18deg); box-shadow:0 0 0 22px #a7cee108,0 0 0 44px #a7cee108; }
body[data-page="news"] .page-intro .eyebrow { grid-column:1; margin-bottom:8px; font-size:.8rem; letter-spacing:.02em; }
body[data-page="news"] .page-intro h1 { grid-column:1; font-size:clamp(2rem,3vw,2.7rem); font-weight:800; line-height:1.65; }
body[data-page="news"] .page-intro > p:not(.eyebrow) { grid-column:2; grid-row:1/span 2; align-self:center; font-size:.95rem; margin-top:0; padding-inline-start:30px; border-inline-start:1px solid #a7cee144; max-width:700px; }
body[data-page="news"] .filters { margin-block:0 36px; gap:12px; padding-bottom:22px; border-bottom:1px solid var(--news-border); }
body[data-page="news"] .filter { border-radius:2px; padding:10px 24px; background:white; font-weight:700; border-color:var(--news-border); min-height:48px; }
body[data-page="news"] .filter[aria-current="page"] { background:var(--blue); color:white; border-color:var(--blue); }
body[data-page="news"] .filter[aria-current="page"]:hover { background:var(--navy); }
body[data-page="news"] .news-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:28px; counter-reset:news-story; }
body[data-page="news"] .news-card { grid-column:span 2; min-width:0; height:100%; border:1px solid var(--news-border); border-radius:2px; box-shadow:0 6px 24px #233c5505; position:relative; counter-increment:news-story; isolation:isolate; transition:transform .25s,border-color .25s,box-shadow .25s; }
body[data-page="news"] .news-image { height:auto; aspect-ratio:1.5; background:var(--news-surface); overflow:hidden; border-bottom:1px solid #d5e2ea88; }
body[data-page="news"] .news-image img { object-fit:contain; width:100%; height:100%; }
body[data-page="news"] .news-content { padding:26px 26px 23px; position:relative; }
body[data-page="news"] .news-content::before { content:counter(news-story,decimal-leading-zero); display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--blue); margin-bottom:12px; }
body[data-page="news"] .news-meta { font-size:.76rem; color:var(--muted); }
body[data-page="news"] .news-content h3 { font-size:1.02rem; line-height:2; letter-spacing:-.01em; }
body[data-page="news"] .read-link { display:flex; align-items:center; min-height:44px; margin-top:22px; padding-top:14px; border-top:1px solid #dfe9ef; font-size:.8rem; }
body[data-page="news"] .news-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.3fr 1fr; min-height:420px; background:var(--navy); border-color:var(--navy); box-shadow:0 18px 40px #233c5510; }
body[data-page="news"] .news-card:first-child .news-image { height:100%; min-height:420px; aspect-ratio:auto; border:0; border-inline-end:8px solid #ffffff0d; background:#e6eef3; }
body[data-page="news"] .news-card:first-child .news-content { padding:38px 40px; justify-content:center; background:radial-gradient(ellipse at 100% 0,#30708d55,transparent 80%),var(--navy); color:white; }
body[data-page="news"] .news-card:first-child .news-content::before { color:var(--sky); margin-bottom:20px; }
body[data-page="news"] .news-card:first-child .news-meta { color:#deebf3; margin-bottom:16px; }
body[data-page="news"] .news-card:first-child h3 { color:white; font-size:clamp(1.3rem,2vw,1.75rem); line-height:1.95; flex:none; }
body[data-page="news"] .news-card:first-child .read-link { color:var(--pale); border-top-color:#a7cee144; margin-top:28px; padding-top:18px; }
body[data-page="news"] .news-card:nth-child(2),body[data-page="news"] .news-card:nth-child(3) { grid-column:span 3; }
body[data-page="news"] .news-card:nth-child(2) .news-image,body[data-page="news"] .news-card:nth-child(3) .news-image { aspect-ratio:1.75; }
body[data-page="news"] .news-card:nth-child(2) h3,body[data-page="news"] .news-card:nth-child(3) h3 { font-size:1.16rem; }
body[data-page="news"] .news-card:hover { transform:translateY(-5px); border-color:#8ab7cd; box-shadow:0 18px 38px #233c5512; }
body[data-page="news"] .news-card:first-child:hover h3 { color:white; }
body[data-page="news"] .news-card:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
body[data-page="news"] .pagination { margin-top:44px; padding:22px 28px; border-radius:2px; border:1px solid var(--news-border); box-shadow:none; gap:30px; }
body[data-page="news"] .pagination button { border-radius:2px; min-height:48px; padding-inline:26px; }
body[data-page="news"] .pagination button:enabled { color:white; background:var(--blue); border-color:var(--blue); }
body[data-page="news"] .pagination button:hover:enabled { background:var(--navy); color:white; }
body[data-page="news"] .pagination span { font-size:.9rem; }
/* A quiet reading surface with the original article and editor-generated HTML. */
body[data-page="article"] .article-wrap { max-width:1140px; padding-block:26px 64px; }
body[data-page="article"] .breadcrumb { margin-bottom:22px; }
body[data-page="article"] .article-wrap > article { border:1px solid var(--news-border); border-radius:2px; box-shadow:0 14px 45px #233c5508; overflow:hidden; }
body[data-page="article"] .article-header { padding:40px 54px 0; background:white; color:var(--navy); border-top:4px solid var(--blue); position:relative; isolation:isolate; }
body[data-page="article"] .article-header > .text-link { color:var(--blue); background:#edf4f8; border:1px solid #d8e7ef; padding:6px 17px; min-height:44px; font-size:.83rem; border-radius:2px; }
body[data-page="article"] .article-header h1 { color:var(--navy); font-size:clamp(1.8rem,2.7vw,2.65rem); line-height:1.9; margin-block:22px 32px; letter-spacing:-.025em; text-wrap:balance; }
body[data-page="article"] .article-tools { padding:16px 0 22px; border-top:1px solid var(--news-border); gap:16px; }
body[data-page="article"] .article-tools .news-meta { color:var(--muted); font-size:.82rem; }
body[data-page="article"] .article-tools > div:last-child { gap:10px; flex-wrap:wrap; }
body[data-page="article"] .article-tools button { background:white; color:var(--blue); border:1px solid #c5d9e4; border-radius:2px; padding:9px 20px; min-height:46px; font-weight:700; font-size:.8rem; }
body[data-page="article"] .article-tools button:hover { background:#edf4f8; border-color:var(--blue); }
body[data-page="article"] .article-tools button:focus-visible,body[data-page="article"] .article-header a:focus-visible { outline-color:var(--blue); }
body[data-page="article"] .article-image { margin:0 22px; padding:18px; background:var(--news-surface); border:1px solid #dce7ee; border-radius:0; }
body[data-page="article"] .article-image img { max-height:650px; height:auto; width:auto; max-width:100%; object-fit:contain; }
body[data-page="article"] .article-body { width:calc(100% - 108px); max-width:800px; padding-block:36px 50px; font-size:1.13rem; line-height:2.35; color:var(--ink); }
body[data-page="article"] .article-body p { margin-block:1.25em; }
body[data-page="article"] .article-body > :first-child { margin-top:0; }
body[data-page="article"] .article-body > :last-child { margin-bottom:0; }
body[data-page="article"] .article-lead { width:calc(100% - 108px); max-width:800px; margin:36px auto 0; padding-inline-start:22px; border-inline-start:3px solid var(--sky); font-size:1.17rem; line-height:2.2; }
body[data-page="article"] .article-body :is(h2,h3) { color:var(--navy); }
body[data-page="article"] .article-body a { text-decoration-thickness:1px; text-underline-offset:5px; }
body[data-page="article"] .article-body blockquote { padding:22px 26px; background:#f0f6f9; border-inline-start:3px solid var(--blue); }
body[data-page="article"] .article-wrap > .section { text-align:center; padding-top:32px; }
body[data-page="article"] .article-wrap > .section .button { min-height:52px; border-radius:2px; background:white; border-color:#bdD3df; padding-inline:26px; }
body[data-page="article"] .article-wrap > .section .button:hover { background:var(--navy); color:white; border-color:var(--navy); }
body[data-page="article"] .news-reading-progress { position:fixed; inset:0 auto auto 0; width:100%; height:3px; background:var(--blue); transform:scaleX(0); transform-origin:right; pointer-events:none; z-index:100; }
[dir="ltr"] body[data-page="article"] .news-reading-progress { transform-origin:left; }
[lang="en"] body[data-page="article"] .article-body { line-height:2; }
@media(max-width:1100px) {
 body[data-page="news"] .news-grid { gap:22px; }
 body[data-page="news"] .news-card:first-child { grid-template-columns:1.12fr 1fr; min-height:360px; }
 body[data-page="news"] .news-card:first-child .news-image { min-height:360px; }
 body[data-page="news"] .news-card:first-child .news-content { padding:30px; }
 body[data-page="news"] .news-content { padding:22px; }
 body[data-page="news"] .news-content h3 { font-size:.95rem; }
}
@media(max-width:800px) {
 body[data-page="news"] .page-intro { display:block; padding:32px; }
 body[data-page="news"] .page-intro > p:not(.eyebrow) { padding-inline-start:0; border:0; margin-top:12px; }
 body[data-page="news"] .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 body[data-page="news"] .news-card { grid-column:auto; }
 body[data-page="news"] .news-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.1fr 1fr; min-height:310px; }
 body[data-page="news"] .news-card:first-child .news-image { min-height:310px; aspect-ratio:auto; }
 body[data-page="news"] .news-card:first-child .news-content { padding:26px; }
 body[data-page="news"] .news-card:first-child h3 { font-size:1.25rem; }
 body[data-page="news"] .news-card:nth-child(2),body[data-page="news"] .news-card:nth-child(3) { grid-column:auto; }
 body[data-page="news"] .news-card:nth-child(2) h3,body[data-page="news"] .news-card:nth-child(3) h3 { font-size:1.02rem; }
 body[data-page="news"] .news-card:nth-child(2) .news-image,body[data-page="news"] .news-card:nth-child(3) .news-image { aspect-ratio:1.5; }
 body[data-page="article"] .article-header { padding:32px 34px 0; }
 body[data-page="article"] .article-header h1 { font-size:1.95rem; }
 body[data-page="article"] .article-body,body[data-page="article"] .article-lead { width:calc(100% - 68px); }
 body[data-page="article"] .article-image { margin-inline:16px; padding:12px; }
}
@media(max-width:540px) {
 body[data-page="news"] #page-content,body[data-page="article"] .article-wrap { padding-top:18px; }
 body[data-page="news"] .page-intro { padding:27px 24px 30px; margin-bottom:22px; }
 body[data-page="news"] .page-intro h1 { font-size:2rem; }
 body[data-page="news"] .page-intro > p:not(.eyebrow) { font-size:.87rem; line-height:2; }
 body[data-page="news"] .filters { gap:10px; margin-bottom:26px; padding-bottom:18px; }
 body[data-page="news"] .filter { padding:9px 17px; font-size:.8rem; }
 body[data-page="news"] .news-grid { grid-template-columns:1fr; gap:22px; }
 body[data-page="news"] .news-card:first-child { display:flex; grid-column:auto; min-height:0; }
 body[data-page="news"] .news-card:first-child .news-image { height:auto; min-height:0; aspect-ratio:1.5; border:0; border-bottom:5px solid #a7cee155; }
 body[data-page="news"] .news-card:first-child .news-content { padding:24px; }
 body[data-page="news"] .news-card:first-child h3 { font-size:1.15rem; }
 body[data-page="news"] .news-card:first-child .news-content::before { margin-bottom:12px; }
 body[data-page="news"] .news-card:first-child .read-link { margin-top:20px; }
 body[data-page="news"] .news-content { padding:22px; }
 body[data-page="news"] .news-content h3 { font-size:1.02rem; }
 body[data-page="news"] .pagination { gap:12px; padding:18px 12px; }
 body[data-page="news"] .pagination button { min-width:76px; padding-inline:12px; font-size:.78rem; }
 body[data-page="news"] .pagination span { font-size:.76rem; }
 body[data-page="article"] .article-header { padding:25px 23px 0; }
 body[data-page="article"] .article-header > .text-link { font-size:.78rem; padding-inline:13px; }
 body[data-page="article"] .article-header h1 { font-size:1.55rem; line-height:2; margin-block:20px 25px; }
 body[data-page="article"] .article-tools { padding-bottom:19px; }
 body[data-page="article"] .article-tools button { padding-inline:15px; font-size:.77rem; }
 body[data-page="article"] .article-tools .news-meta { font-size:.76rem; }
 body[data-page="article"] .article-image { margin-inline:10px; padding:8px; }
 body[data-page="article"] .article-body { width:calc(100% - 46px); font-size:1.04rem; line-height:2.25; padding-block:26px 34px; }
 body[data-page="article"] .article-lead { width:calc(100% - 46px); padding-inline-start:16px; font-size:1.07rem; margin-top:26px; }
 body[data-page="article"] .article-body blockquote { padding:18px; }
 body[data-page="article"] .article-wrap > .section .button { font-size:.85rem; }
}
@media(prefers-reduced-motion:reduce) {
 body:is([data-page="news"],[data-page="article"]) *,body:is([data-page="news"],[data-page="article"]) *::before { animation:none!important; transition:none!important; }
 body[data-page="article"] .news-reading-progress { display:none; }
}
@media print {
 body[data-page="article"] .news-reading-progress { display:none; }
 body[data-page="article"] .article-wrap { max-width:100%; width:100%; padding:0; }
 body[data-page="article"] .article-wrap > article { border:0; box-shadow:none; }
 body[data-page="article"] .article-header { padding:0; background:white!important; border:0; }
 body[data-page="article"] .article-header h1 { font-size:20pt; color:black!important; }
 body[data-page="article"] .article-header > .text-link { color:black!important; border:0; padding:0; }
 body[data-page="article"] .article-image { margin:0; padding:10px 0; border:0; }
 body[data-page="article"] .article-body,body[data-page="article"] .article-lead { width:100%; max-width:100%; }
 body[data-page="article"] .article-body { font-size:12pt; line-height:1.9; padding-block:18px; }
}
