/* News cards reuse the site's colors and typography. */
.news-section{padding-block:64px;border-top:1px solid var(--line)}
.news-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.news-heading h2{font-family:var(--display);font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0}
.news-heading a{font-size:15px;color:var(--ink-2)}
.news-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;scroll-padding-inline:4px;overscroll-behavior-x:contain;scrollbar-width:thin}
.news-card{display:flex;flex-direction:column;flex:0 0 min(360px,calc(100vw - 64px));min-width:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;background:var(--surface);color:var(--ink)}
.news-card img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover}
.news-card-body{padding:20px;display:flex;flex-direction:column;gap:12px}
.news-card time{font-size:13px;color:var(--ink-2)}
.news-card h3{font-family:var(--display);font-size:22px;line-height:1.2;margin:0}
.news-card p{font-size:15px;line-height:1.6;color:var(--ink-2);margin:0}
.news-card .news-read{font-size:14px;font-weight:700;color:var(--red)}
.news-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.news-rail:focus-visible,.news-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.news-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;padding-block:16px;border-bottom:1px solid var(--line)}
.news-top nav{display:flex;gap:20px;font-size:14px}
.news-top .logo{font-size:clamp(14px,3vw,19px)}
.news-photo{margin:28px auto;text-align:center;max-width:100%}
.news-photo img{display:block;width:100%;height:auto;border-radius:10px;margin:auto}
.news-photo.portrait{max-width:460px}
.news-photo figcaption{font-size:13px;color:var(--ink-2);margin-top:10px}
.news-meta{font-size:14px;color:var(--ink-2);margin-bottom:24px}
.news-foot{border-top:1px solid var(--line);padding-block:28px;font-size:14px;color:var(--ink-2)}
