.news-page{max-width:1120px;padding-bottom:88px}
.news-list{margin:0 0 80px;border-top:1px solid var(--line)}
.news-list li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:32px 0;border-bottom:1px solid var(--line)}
.news-list time,.news-date{color:var(--muted);font-size:14px}
.news-list a{position:relative;padding-right:36px;font-size:clamp(18px,2vw,24px);line-height:1.9;text-decoration:none;overflow-wrap:anywhere}
.news-list a:hover{text-decoration:underline;text-underline-offset:6px}
.news-arrow{position:absolute;right:0;top:0;color:var(--accent)}
.news-image{margin:32px 0}
.news-image img{width:100%;height:auto}
.news-hero{margin:0 0 48px}
.news-header{padding-bottom:40px;border-bottom:1px solid var(--line)}
.news-date{margin:12px 0 24px}
.news-header h1{font-size:clamp(25px,3vw,38px);font-weight:600;line-height:1.7;letter-spacing:.04em;overflow-wrap:anywhere}
.news-subtitle{margin-top:24px;font-size:clamp(16px,1.7vw,20px);line-height:2;color:var(--ink-soft)}
.news-body{max-width:820px;margin:0 auto}
.news-section{margin-top:48px}
.news-section h2{font-size:clamp(23px,2.3vw,30px);font-weight:600;line-height:1.7;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
.news-section h3{font-size:19px;line-height:1.8;margin:32px 0 12px}
.news-section p{margin:20px 0;line-height:2.2;overflow-wrap:anywhere}
.news-section a{text-underline-offset:4px;overflow-wrap:anywhere}
.news-section ul{list-style:disc;padding-left:1.5em}
.news-section li{margin:12px 0}
.news-section blockquote{border-left:3px solid var(--accent);padding:8px 24px;background:#f5f6f2}
.news-table table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.9;table-layout:fixed}
.news-table th,.news-table td{border:1px solid var(--line);padding:16px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.news-table th{background:var(--panel);font-weight:600}
.news-table th:first-child{width:50%}
.news-section:has(h2) .news-table th:first-child{width:48%}
.news-document{max-width:560px;margin:32px auto}
.news-logo{max-width:300px;margin:56px auto 0}
@media(max-width:600px){
 .news-page{padding-top:92px;padding-bottom:48px}
 .news-list li{grid-template-columns:1fr;gap:12px;padding:24px 0}
 .news-hero{margin-bottom:28px}
 .news-header{padding-bottom:28px}
 .news-section{margin-top:36px}
 .news-table th,.news-table td{padding:12px 10px;font-size:14px}
 .news-section blockquote{padding:4px 16px}
 .news-logo{max-width:240px}
}
