/* Editorial layout, shared by homepage highlights and the News page. */
.news-slide { position:relative; }
.news-carousel { padding:clamp(22px,3vw,36px); border:1px solid #ffffff21; border-radius:12px; background:rgba(145,148,155,.14); }
.news-carousel .news-controls { padding-top:18px; border-top:1px solid #ffffff16; }
.news-carousel .news-arrow { border:1px solid #ffffff24; background:#ffffff08; }
.news-rotation { font-size:17px; line-height:1; }
.news-play-icon { font-size:12px; }
.news-carousel .news-arrow:disabled { border-color:#ffffff10; background:transparent; }
.news-carousel .news-count { color:#c8c6ce; }
.news-carousel .news-marker:not(.is-active) { background:#77737c; }
@media (max-width:700px) {
  .news-carousel .news-controls { gap:12px; }
  .news-carousel .news-navigation { gap:6px; }
  .news-carousel .news-count { min-width:48px; }
  .news-carousel .news-markers { gap:4px; }
}
.news-slide-link, .news-card-link { position:absolute; inset:0; z-index:2; border-radius:inherit; }
.news-slide-link:focus-visible { outline-offset:-2px !important; }
.news-slide .news-source { pointer-events:none; }
.news-slide .news-source { gap:0; }
.news-source-prefix { color:#bd0218; margin-inline-end:.35em; }
.news-slide .news-source .news-source-arrow { margin-left:14px; }
.news-slide:hover .news-source { color:#fff; border-bottom-color:#bd0218; }
.news-slide:hover .news-source .news-source-arrow { transform:translateX(3px); }
.news-slide .news-source .news-source-prefix { transform:none; transition:none; }
.news-all { display:inline-flex; align-items:center; min-height:44px; margin-top:24px; color:#c3c1c8; font-size:.8rem; gap:12px; }
.news-all:hover { color:#fff; }
.news-page-main { width:min(var(--max), calc(100% - 56px)); margin:0 auto; padding:clamp(40px,6vw,80px) 0 70px; }
.news-back { display:inline-flex; align-items:center; min-height:44px; font-size:.76rem; color:#b8b8c0; gap:12px; margin-bottom:24px; }
.news-back:hover { color:#fff; }
.news-page-intro .section-kicker { color:#bd0218; margin:0 0 24px; text-align:left; }
.news-page-intro h1 { margin:0; font-size:clamp(2.35rem,4.5vw,4rem); line-height:1.12; font-weight:450; letter-spacing:-.055em; text-transform:none; }
.news-page-deck { max-width:58ch; margin:22px 0 0; color:#b9b7c0; font-size:1rem; line-height:1.8; }
.news-catalog-date { margin:27px 0 0; color:#aaa7b1; font-size:.73rem; letter-spacing:.02em; line-height:1.8; }
.news-editor { color:#bd0218; white-space:nowrap; }
.news-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:24px; margin-top:44px; }
.news-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid #ffffff15; border-radius:12px; background:linear-gradient(145deg,#ffffff04,transparent 75%); scroll-margin-top:20px; transition:border-color 200ms ease, background 200ms ease; }
.news-card .news-meta { margin-bottom:20px; font-size:.66rem; gap:8px 14px; }
.news-card h2 { margin:0 0 20px; font-size:clamp(1.38rem,2.1vw,1.82rem); font-weight:450; line-height:1.3; letter-spacing:-.035em; text-transform:none; text-wrap:balance; }
.news-context, .news-meaning p { color:#b8b5c0; font-size:.88rem; line-height:1.85; }
.news-meaning { margin-top:25px; padding-top:20px; border-top:1px solid #ffffff0d; }
.news-meaning h3 { margin:0 0 9px; font-size:.76rem; font-weight:550; color:#e1dfe5; letter-spacing:.015em; }
.news-card-foot { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:12px; margin-top:auto; padding-top:28px; font-size:.7rem; line-height:1.5; }
.news-attribution { color:#aaa6b2; }
.news-original { color:#e5e1e8; }
.news-card.is-selected { border-color:#bd021899; background:linear-gradient(145deg,#bd02180b,transparent 75%); }
.news-card:focus { outline:none; }
.news-card-link:focus-visible { outline:1px solid #eee; outline-offset:5px; }
.news-card:hover, .news-card:focus-within { border-color:#bd021866; background-color:#ffffff03; }
.news-card:hover .news-original { color:#fff; }
.news-page-status { margin-top:24px; color:#b8b5c0; }
.news-page-status:empty { display:none; }
.news-page-body .footer { max-width:var(--max); margin:0 auto; }
.news-editorial-notice { width:100%; margin-top:16px; padding-top:24px; border-top:1px solid #ffffff12; text-align:left; font-size:.72rem; line-height:1.85; color:#aaa7b1; }
.news-editorial-notice p { max-width:100ch; margin:0 0 10px; }
.news-editorial-notice .news-notice-title { color:#bd0218; font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.news-editorial-notice a { color:#d4d0da; text-decoration:underline; text-underline-offset:3px; }
.news-editorial-notice a:hover { color:#fff; }
.news-editorial-notice a:focus-visible { outline:1px solid #fff; outline-offset:4px; }
.nav-links a[aria-current="page"]::after { transform:scaleX(1); }
@media (max-width:700px) {
  .news-page-main { width:calc(100% - 36px); padding-top:28px; }
  .news-grid { grid-template-columns:1fr; grid-auto-rows:auto; gap:18px; margin-top:32px; }
  .news-card { padding:25px 22px; }
  .news-page-deck { font-size:.94rem; }
  .news-page-body .footer { margin:0 18px; }
}
@media (prefers-reduced-motion:reduce) {
  .news-card { transition:none; }
}

/* Original editorial photographs: preserve the entire image and its credit. */
.news-card--illustrated { display:grid; grid-template-columns:minmax(0,1fr) clamp(96px,28%,150px); column-gap:24px; align-content:start; }
.news-card--illustrated > :not(.news-image):not(.news-card-link) { grid-column:1; min-width:0; }
.news-image { grid-column:2; grid-row:1 / span 5; align-self:start; margin:0; }
.news-image-frame { aspect-ratio:2/3; overflow:hidden; border-radius:6px; background:#ffffff03; }
.news-image img { display:block; width:100%; height:100%; object-fit:contain; }
.news-image-credit { display:flex; flex-wrap:wrap; gap:2px 8px; margin-top:10px; color:#aaa7b1; font-size:.64rem; line-height:1.6; }
@media (max-width:700px) {
  .news-card--illustrated { grid-template-columns:minmax(0,1fr) clamp(80px,27%,120px); column-gap:16px; }
  .news-card--illustrated h2 { font-size:clamp(1.1rem,5vw,1.38rem); }
}
