/* News & Events: live headlines with a 3D hero and tilting cards */
.nw-hero__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.nw-live { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px; padding: 8px 8px 8px 16px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .07); backdrop-filter: blur(10px); font-size: .9375rem; }
.nw-live strong { font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .75rem; }
.nw-live > span:last-of-type { color: #c9c9ce; }
.nw-live__dot { width: 9px; height: 9px; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 0 0 rgba(61, 220, 132, .6); animation: nw-pulse 1.8s infinite; }
@keyframes nw-pulse { 70%, 100% { box-shadow: 0 0 0 10px rgba(61, 220, 132, 0); } }
.nw-live__btn { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--red); color: #fff; transition: transform .4s var(--ease), background .25s; }
.nw-live__btn:hover { background: #fff; color: var(--red); transform: rotate(90deg); }
.nw-live__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.nw-live.is-loading .nw-live__btn i { animation: nw-spin .8s linear infinite; }
@keyframes nw-spin { to { transform: rotate(360deg); } }

/* 3D stage */
.nw-stage { position: relative; height: clamp(300px, 34vw, 420px); perspective: 1100px; --rx: 0deg; --ry: 0deg; }
.nw-stage__rig { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(calc(8deg + var(--ry))) rotateY(calc(-18deg + var(--rx))); transition: transform .25s ease-out; animation: nw-float 8s ease-in-out infinite alternate; }
@keyframes nw-float { to { translate: 0 -14px; } }
.nw-panel { position: absolute; width: 74%; padding: 18px 20px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 20px; background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .04)); backdrop-filter: blur(12px); box-shadow: 0 30px 50px -30px rgba(0, 0, 0, .8); color: #fff; }
.nw-panel p { margin: 10px 0 0; font-size: .9375rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nw-panel__tag { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 999px; background: var(--red); font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.nw-panel__tag .bi-stars, .nw-card__tag .bi-stars { color: #fff; }
.nw-panel p, .nw-panel__tag { transition: opacity .35s ease, transform .35s var(--ease); }
.nw-panel.is-swap p, .nw-panel.is-swap .nw-panel__tag { opacity: 0; transform: translateY(10px); }
.nw-panel--1 { top: 0; left: 0; transform: translateZ(80px); }
.nw-panel--2 { top: 34%; left: 18%; transform: translateZ(10px); }
.nw-panel--3 { top: 68%; left: 6%; transform: translateZ(-60px); opacity: .9; }
.nw-stage__ring { position: absolute; border: 1.5px dashed rgba(255, 255, 255, .22); border-radius: 50%; animation: nw-spin 30s linear infinite; }
.nw-stage__ring--a { inset: 6% 2% 6% 16%; }
.nw-stage__ring--b { inset: 22% 12% 22% 30%; border-color: rgba(242, 29, 53, .5); animation-duration: 20s; animation-direction: reverse; }

.nw-ticker { background: var(--red); }
.nw-ticker .x-ticker__track { animation-duration: 150s; }
.nw-ticker:hover .x-ticker__track { animation-play-state: paused; }

/* Board */
.nw-board { position: relative; overflow: hidden; background: #09090b; color: #fff; }
.nw-board::before { content: ""; position: absolute; width: 700px; height: 700px; left: -260px; top: -300px; border-radius: 50%; background: radial-gradient(circle, rgba(242, 29, 53, .22), transparent 66%); pointer-events: none; }
.nw-board .section-kicker { color: var(--red-soft); }
.nw-board .section-title { color: #fff; }
.nw-board__head { position: relative; margin-bottom: 30px; }
.nw-filters { position: relative; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; }
.nw-chip { display: inline-flex; align-items: center; gap: 9px; padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .04); color: #e9e9ec; font-family: var(--font-body); font-size: .9375rem; font-weight: 500; transition: background .3s, color .3s, border-color .3s, transform .35s var(--ease); }
.nw-chip em { min-width: 24px; padding: 1px 7px; border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: .75rem; font-style: normal; text-align: center; transition: background .3s, color .3s; }
.nw-chip:hover { transform: translateY(-3px); border-color: var(--red); }
.nw-chip.is-on { background: var(--red); border-color: var(--red); color: #fff; box-shadow: var(--shadow-red); }
.nw-chip.is-on em { background: rgba(0, 0, 0, .25); }
.nw-chip:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.nw-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; perspective: 1400px; }
.nw-card { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 210px; padding: 24px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--radius-lg); background: linear-gradient(160deg, #1a1a1d, #0e0e10); color: #fff; transform: rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg)); transition: transform .25s ease-out, border-color .3s, box-shadow .4s; animation: nw-in .7s var(--ease) both; animation-delay: calc(var(--i, 0) * 45ms); }
@keyframes nw-in { from { opacity: 0; transform: translateY(28px) rotateX(10deg); } }
.nw-card[hidden] { display: none; }
.nw-card:hover { border-color: var(--red); box-shadow: 0 34px 60px -34px rgba(242, 29, 53, .75); color: #fff; }
.nw-card__shine { position: absolute; inset: 0; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .12), transparent 45%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.nw-card:hover .nw-card__shine { opacity: 1; }
.nw-card__tag { position: relative; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; background: rgba(242, 29, 53, .16); color: var(--red-soft); font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.nw-card h3 { position: relative; flex: 1; margin: 0; font-family: var(--font-head); font-size: 1.1875rem; font-weight: 600; line-height: 1.35; letter-spacing: -.015em; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.nw-card__meta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #b4b4b8; font-size: .875rem; }
.nw-card__src { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nw-card__meta time { flex: none; }
.nw-card__go { position: absolute; top: 22px; right: 22px; color: #b4b4b8; font-size: 1.1rem; transition: transform .35s var(--ease), color .3s; }
.nw-card:hover .nw-card__go { color: var(--red-soft); transform: translate(4px, -4px); }
.nw-card.is-lead { grid-column: span 2; min-height: 260px; background: linear-gradient(135deg, var(--red-deep), #3a0008 70%); border-color: rgba(255, 255, 255, .22); }
.nw-card.is-lead h3 { font-size: clamp(1.4rem, 2.4vw, 2rem); -webkit-line-clamp: 5; }
.nw-card.is-lead .nw-card__tag { background: rgba(0, 0, 0, .3); color: #fff; }
.nw-card.is-new::after { content: "New"; position: absolute; top: 20px; right: 54px; padding: 3px 10px; border-radius: 999px; background: #fff; color: var(--red); font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

.nw-empty { display: grid; justify-items: center; gap: 8px; padding: 56px 20px; border: 1px dashed rgba(255, 255, 255, .2); border-radius: var(--radius-lg); text-align: center; color: #c9c9ce; }
.nw-empty[hidden] { display: none; }
.nw-empty i { font-size: 2.2rem; color: var(--red-soft); }
.nw-empty strong { color: #fff; font-family: var(--font-head); font-size: 1.25rem; font-weight: 600; }
.nw-empty p { margin: 0; }
.nw-more { display: flex; justify-content: center; margin-top: 34px; }
.nw-more [hidden] { display: none; }
.nw-note { max-width: 780px; margin: 34px auto 0; color: #8d8d93; font-size: .8125rem; line-height: 1.6; text-align: center; }

@media (max-width: 992px) {
  .nw-hero__row { grid-template-columns: 1fr; }
  .nw-stage { display: none; }
  .nw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .nw-grid { grid-template-columns: 1fr; }
  .nw-card.is-lead { grid-column: auto; }
  .nw-live { flex-wrap: wrap; border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .nw-live__dot, .nw-stage__ring, .nw-stage__rig, .nw-card { animation: none; }
  .nw-card, .nw-stage__rig { transition: none; }
}
