.news-heading { display:flex; align-items:center; justify-content:space-between; padding:10px 18px; background:#32c981; color:white; }
.news-heading h1 { font-size:19px; font-weight:500; margin:0; }
.news-heading button { color:inherit; background:transparent; width:38px; height:36px; font-size:30px; line-height:1; }
.news-heading>span { width:38px; }
.news-list { display:grid; gap:16px; padding:16px 18px 32px; background:#f5fbff; min-height:calc(100vh - 230px); align-content:start; }
.news-card { display:flex; align-items:stretch; gap:14px; padding:14px; border-radius:12px; background:white; box-shadow:0 5px 18px #5da3d322; text-align:left; color:#20382f; width:100%; }
.news-card img { width:154px; height:98px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.news-card-copy { display:flex; flex-direction:column; justify-content:space-between; min-width:0; gap:14px; }
.news-card strong { font-size:18px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card time,.news-meta { color:#989f9b; font-size:14px; }
.news-detail { background:white; margin:18px; padding:24px; border-radius:14px; color:#33453d; line-height:1.85; }
.news-detail h2 { font-size:24px; line-height:1.5; margin:14px 0; }
.news-detail h3 { font-size:18px; margin:24px 0 8px; }
.news-detail li { padding-left:3px; margin:10px 0; }
.news-status { display:inline-block; background:#fff0df; color:#ad7029; border-radius:15px; padding:2px 12px; font-size:13px; }
.news-detail-image { display:block; width:100%; max-height:400px; object-fit:contain; background:#f5f8f6; border-radius:8px; }
.news-caption,.news-footnote { font-size:12px; color:#83918b; }
.news-links { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.news-links a { background:#eafaef; color:#248754; border-radius:8px; padding:9px 14px; text-decoration:none; }
.news-card:focus-visible,.news-links a:focus-visible { outline:3px solid #1b73e8; outline-offset:3px; }
@media(max-width:480px){.news-card img{width:122px;height:90px}.news-card{gap:12px;padding:12px}.news-card strong{font-size:16px}.news-list{padding:14px;gap:15px}.news-detail{margin:14px;padding:20px}.news-detail h2{font-size:22px}}
