.top-events {
  --news-gap: clamp(20px, 2.15vw, 44px);
  padding: clamp(24px, 2vw, 38px) var(--news-gap) clamp(40px, 4.8vw, 100px);
  background: #fff;
  color: var(--navy);
}
.top-events-container { max-width: 1920px; margin: 0 auto; }
.news-grid { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--news-gap); }
.news-grid > .featured-news:first-child { grid-column: 1 / -1; }
.news-controls { display: none; }
.top-events-heading {
  --heading-gap: clamp(9px, 1.15vw, 22px);
  --number-track: 1.3em;
  --wave-bar-width: clamp(2px, .2vw, 4px);
  --wave-bar-gap: clamp(1.5px, .16vw, 3px);
  --wave-width: calc(9 * var(--wave-bar-width) + 8 * var(--wave-bar-gap));
  --wave-side-gap: 5px;
  display: inline-grid;
  grid-template-columns: max-content var(--number-track) max-content;
  column-gap: var(--heading-gap);
  row-gap: clamp(3px, .25vw, 5px);
  align-items: center;
  max-width: 100%;
  margin: 0 0 clamp(20px, 1.8vw, 36px);
  padding-top: 2px;
  font-family: var(--display);
  font-size: clamp(32px, 4.25vw, 88px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.025em;
}
.top-events-word { grid-row: 1; white-space: nowrap; }
.top-events-word--first { grid-column: 1; justify-self: end; }
.top-events-word--last { grid-column: 3; justify-self: start; }
.top-events-number {
  grid-column: 2;
  grid-row: 1;
  font-family: "Cy Grotesk Grand Dark", var(--display);
  font-weight: 800;
  font-size: 1.3em;
  line-height: .84;
  letter-spacing: -.04em;
  text-align: center;
  color: transparent;
  -webkit-text-stroke: clamp(1.25px, .12vw, 2.25px) var(--blue);
}
/* Brand words keep the exact typography of their own homepage heading. */
.home-brand-outline {
  font-family: inherit;
  font-weight: inherit;
  font-size: 1em;
  line-height: inherit;
  letter-spacing: inherit;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: clamp(1.25px,.022em,2.25px) var(--blue);
  background: none;
  text-shadow: none;
  white-space: nowrap;
}
.top-events-heading::before, .top-events-heading::after {
  content: '';
  grid-row: 2;
  height: 1px;
  width: calc(100% + var(--heading-gap) + (var(--number-track) - var(--wave-width)) / 2 - var(--wave-side-gap));
  border-radius: 2px;
  background: var(--blue);
}
.top-events-heading::before { grid-column: 1; }
.top-events-heading::after { grid-column: 3; justify-self: end; }
.top-events-wave {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wave-bar-gap);
  width: var(--wave-width);
  justify-self: center;
  height: clamp(14px, 1.25vw, 24px);
  pointer-events: none;
  user-select: none;
}
.top-events-wave i {
  display: block;
  flex: 0 0 var(--wave-bar-width);
  height: var(--wave-height);
  border-radius: 3px;
  background: var(--blue);
  transform-origin: center;
  animation: top-radio-wave var(--wave-period, 1.1s) var(--wave-delay, 0s) ease-in-out infinite;
  animation-play-state: paused;
}
.top-events-wave.is-running i { animation-play-state: running; }
@keyframes top-radio-wave {
  0%, 100% { transform: scaleY(.45); }
  38% { transform: scaleY(1); }
  72% { transform: scaleY(.62); }
}
.news-clip-defs { position: absolute; pointer-events: none; }
.featured-news {
  --news-inset: clamp(24px, 2.1vw, 42px);
  --news-arrow-size: clamp(70px, 6.15vw, 118px);
  --news-arrow-gap: clamp(9px, .65vw, 12px);
  position: relative;
  width: 100%;
  aspect-ratio: 1573 / 848;
  isolation: isolate;
}
.featured-news-surface {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  border-radius: 32px;
}
.featured-news-visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--navy);
  border-radius: clamp(24px, 2.5vw, 46px);
}
.featured-news-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: var(--news-image-height,100%);
  object-fit: cover;
  object-position: var(--news-image-position,50% 50%);
  transition: transform .85s cubic-bezier(.2,.65,.3,1);
}
.featured-news-photo-link { position: absolute; inset: 0; display: block; }
.featured-news-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #002b3c0d 5%, transparent 36%, #00233026 53%, #002b3cd9 87%, #002b3cfa 100%);
  pointer-events: none;
}
.featured-news-meta {
  position: absolute;
  top: var(--news-inset);
  left: var(--news-inset);
  right: var(--news-inset);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(12px, 1.1vw, 20px);
  z-index: 1;
}
.news-badge {
  display: inline-flex;
  align-items: center;
  gap: clamp(10px, .8vw, 16px);
  padding: clamp(8px, .65vw, 12px) clamp(14px, 1vw, 20px) clamp(8px, .65vw, 12px) clamp(10px, .85vw, 16px);
  background: #fff;
  color: var(--navy);
  font-family: var(--display);
  font-size: clamp(12px, 1.1vw, 20px);
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
  border-radius: clamp(10px, .8vw, 15px);
  box-shadow: 0 4px 18px #001b3320;
}
.news-badge-icon {
  display: grid;
  place-items: center;
  width: clamp(28px, 2.25vw, 42px);
  height: clamp(28px, 2.25vw, 42px);
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
}
.news-badge-icon svg { width: 68%; height: 68%; }
.news-breadcrumb-arrow { display: inline-flex; width: 1.2em; height: 1.2em; flex-shrink: 0; }
.news-breadcrumb-arrow svg { width: 100%; height: 100%; }
.news-category-link { text-underline-offset: .2em; transition: color .2s; }
.news-category-link:hover { color: #477b91; text-decoration: underline; }
.news-category-link:focus-visible {   border-radius: 3px; }
.featured-news-title {
  position: absolute;
  left: clamp(24px, 2.8vw, 56px);
  right: calc(var(--news-arrow-size) + 38px);
  bottom: clamp(28px, 2.4vw, 48px);
  z-index: 1;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(26px, 2.6vw, 52px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.025em;
  text-shadow: 0 2px 12px #00223040;
}
.news-title-line { display: block; }
.featured-news-arrow {
  position: absolute;
  display: grid;
  place-items: center;
  right: 0;
  bottom: 0;
  width: var(--news-arrow-size);
  height: var(--news-arrow-size);
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  box-shadow: 0 0 0 var(--news-arrow-gap) #fff;
  transition: background .3s, transform .3s, box-shadow .3s;
}
.featured-news-arrow svg { width: 34%; height: 34%; transition: transform .35s; }
.featured-news:hover .featured-news-image { transform: scale(1.012); }
.featured-news-arrow:hover,
.featured-news-arrow:focus-visible { background: #27627a; }
.featured-news-arrow:hover svg,
.featured-news-arrow:focus-visible svg { transform: rotate(-35deg); }
[data-reveal] { --reveal-distance: 12px; }
[data-reveal="fade"] { --reveal-distance: 0px; }
[data-reveal].will-reveal:not(.is-visible) { opacity: 0; translate: 0 var(--reveal-distance); }
[data-reveal].will-reveal.is-visible { animation: content-reveal .48s cubic-bezier(.2,.65,.3,1); }
@keyframes content-reveal {
  from { opacity: 0; translate: 0 var(--reveal-distance); }
  to { opacity: 1; translate: 0 0; }
}
.featured-news--secondary { --news-inset: clamp(20px,2.5vw,52px); aspect-ratio: 1; }
.featured-news--secondary .featured-news-title { left: var(--news-inset); right: calc(var(--news-arrow-size) + 22px); bottom: var(--news-inset); font-size: clamp(20px,1.85vw,37px); line-height: 1.2; }
.featured-news--secondary .news-badge { font-size: clamp(10px,.92vw,18px); gap: clamp(7px,.75vw,14px); }
.featured-news--secondary .news-badge-icon { width: clamp(26px,2vw,40px); height: clamp(26px,2vw,40px); border-radius: clamp(6px,.6vw,10px); }

@media (max-width:1100px) {
  .featured-news--lead { min-height: 430px; }
  .featured-news-title { font-size: clamp(24px, 2.6vw, 30px); }
  .news-title-line { display: inline; }
  .featured-news--secondary .featured-news-title { font-size: clamp(19px,2.5vw,27px); right: calc(var(--news-arrow-size) + 16px); }
}
@media (max-width:760px) {
  .top-events { padding: 24px 20px 46px; }
  .top-events-heading { --heading-gap: 9px; --wave-bar-width: 2px; --wave-bar-gap: 1.5px; font-size: clamp(28px, 5.4vw, 40px); margin-bottom: 20px; }
  .top-events-wave { height: 14px; }
  .top-events-wave i { border-radius: 1.5px; }
  .news-carousel { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: auto; scrollbar-width: none; border-radius: 24px; }
  .news-carousel::-webkit-scrollbar { display: none; }
  .news-grid { display: flex; gap: 16px; }
  .news-grid > .featured-news { flex: 0 0 100%; width: 100%; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
  .featured-news { --news-inset: 16px; --news-arrow-size: 56px; aspect-ratio: auto; height: 600px; min-height: 0; }
  .featured-news-visual { clip-path: none; border-radius: 24px; }
  .featured-news-image { object-position: var(--news-image-position-mobile,14% 50%); }
  .featured-news-shade { background: linear-gradient(180deg, #002b3c1a 0, transparent 24%, #002b3c33 38%, #002b3ce6 71%, #002b3cfc 100%); }
  .featured-news-meta { align-items: flex-start; gap: 9px; }
  .news-badge { gap: 8px; font-size: 11px; padding: 8px 11px 8px 9px; border-radius: 10px; }
  .news-category-badge { gap: 6px; font-size: clamp(9px,2.7vw,11px); max-width: 100%; }
  .news-badge-icon { width: 27px; height: 27px; }
  .featured-news-title,.featured-news--secondary .featured-news-title { left: 22px; right: 22px; bottom: 96px; font-size: clamp(21px, 4.55vw, 28px); line-height: 1.25; letter-spacing: -.025em; text-wrap: pretty; }
  .featured-news--secondary .news-badge { gap: 8px; font-size: 11px; }
  .featured-news--secondary .news-category-badge { gap: 6px; font-size: clamp(9px,2.7vw,11px); }
  .featured-news--secondary .news-badge-icon { width: 27px; height: 27px; }
  .featured-news-arrow { right: 20px; bottom: 20px; box-shadow: none; background: var(--blue); color: var(--navy); }
  .featured-news-arrow:hover,
  .featured-news-arrow:focus-visible { color: #fff; }
  .news-controls { display: flex; align-items: center; justify-content: center; gap: 18px; padding-top: 22px; color: var(--navy); }
  .news-step { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #002b3c30; border-radius: 50%; color: var(--navy); background: #fff; transition: background .2s; }
  .news-step:hover { background: #eaf2f5; }
  .news-step svg { width: 20px; height: 20px; }
  .news-dots { display: flex; align-items: center; gap: 0; }
  .news-dot { width: 30px; height: 36px; padding: 0; display: grid; place-items: center; background: transparent; }
  .news-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #002b3c35; transition: background .2s, width .2s; }
  .news-dot[aria-pressed="true"]::before { background: var(--navy); width: 23px; border-radius: 20px; }
  .news-counter { font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
}
@media (max-width:380px) {
  .top-events { padding-left: 16px; padding-right: 16px; }
  .top-events-heading { font-size: 26px; }
  .featured-news { height: 620px; }
  .featured-news-title,.featured-news--secondary .featured-news-title { left: 20px; right: 20px; font-size: 20px; }
  .news-badge { font-size: 10px; }
}
/* Compact phone cards in TOP 3 only; desktop and other archives retain their layout. */
@media (max-width:760px) {
  .top-events .top-events-heading { display:grid; width:max-content; margin-inline:auto; }
  .top-events .featured-news { --news-inset:14px; --news-arrow-size:46px; height:clamp(440px,122vw,510px); min-height:0; }
  .top-events .featured-news-meta { gap:8px; }
  .top-events .news-badge { gap:6px; padding:6px 8px; font-size:9.5px; border-radius:8px; }
  .top-events .news-category-badge { flex-wrap:wrap; gap:3px; min-width:0; max-width:100%; font-size:clamp(8.5px,2.25vw,9.5px); white-space:normal; }
  .top-events .news-category-link { min-width:0; max-width:100%; overflow-wrap:anywhere; }
  .top-events .news-badge-icon { width:22px; height:22px; }
  .top-events .news-breadcrumb-arrow { width:9px; height:9px; }
  .top-events .featured-news-title { left:18px; right:18px; bottom:76px; font-size:clamp(18px,4.75vw,22px); line-height:1.23; }
  .top-events .featured-news-arrow { right:16px; bottom:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .top-events-wave i { animation: none; transform: none; }
  [data-reveal].will-reveal { opacity: 1 !important; translate: none !important; filter: none !important; animation: none !important; }
  .featured-news:hover .featured-news-image,
  .featured-news-arrow:hover svg,
  .featured-news-arrow:focus-visible svg { transform: none; }
}
