.events-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 83% 18%, rgba(185, 67, 43, .34), transparent 24rem),
    radial-gradient(circle at 18% 92%, rgba(255, 180, 0, .12), transparent 28rem),
    #040c34;
}

.events-hero::before,
.events-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.events-hero::before {
  inset: 0;
  opacity: .55;
  background-image:
    linear-gradient(118deg, transparent 0 47%, rgba(255, 255, 255, .045) 47.2% 47.4%, transparent 47.6%),
    radial-gradient(circle, rgba(255, 180, 0, .26) 1.5px, transparent 2px);
  background-size: 100% 100%, 42px 42px;
  mask-image: linear-gradient(90deg, transparent 0, #000 45%, #000 100%);
}

.events-hero::after {
  top: -16rem;
  right: -13rem;
  width: 42rem;
  height: 42rem;
  border: 1px solid rgba(255, 180, 0, .2);
  border-radius: 50%;
  box-shadow: 0 0 0 86px rgba(255, 255, 255, .018), 0 0 0 172px rgba(255, 255, 255, .012);
}

.events-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 720px;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  padding-block: calc(var(--header-height) + 78px) 92px;
}

.events-hero__copy { max-width: 760px; }

.events-hero h1 {
  max-width: 760px;
  margin: 14px 0 22px;
  font-family: var(--font-display);
  font-size: clamp(5rem, 9vw, 9rem);
  letter-spacing: -.045em;
  line-height: .78;
  text-transform: uppercase;
}

.events-hero h1 em { color: var(--yellow); font-style: normal; }

.events-hero__copy > p:not(.eyebrow) {
  max-width: 550px;
  margin: 0 0 32px;
  color: rgba(255, 255, 255, .82);
  font-size: 1.08rem;
  line-height: 1.75;
}

.events-hero__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 32px;
  color: rgba(255, 255, 255, .66);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.events-hero__legend span { display: inline-flex; align-items: center; gap: 8px; }
.events-hero__legend span::before { width: 5px; height: 5px; background: var(--yellow); border-radius: 50%; content: ""; }

.events-command {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: rgba(5, 18, 66, .78);
  border: 1px solid rgba(255, 180, 0, .38);
  border-radius: 4px 58px 4px 58px;
  box-shadow: 0 34px 80px rgba(0, 0, 0, .28);
  backdrop-filter: blur(10px);
}

.events-command::before {
  position: absolute;
  inset: 48px 0 52px;
  opacity: .2;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 34px 34px;
  content: "";
}

.events-command__top,
.events-command__footer {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 24px;
  color: rgba(255, 255, 255, .72);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.events-command__top span { display: inline-flex; align-items: center; gap: 8px; }
.events-command__top i { width: 7px; height: 7px; background: #42d99c; border-radius: 50%; box-shadow: 0 0 0 5px rgba(66,217,156,.12); }
.events-command__top strong { color: var(--yellow); font-family: var(--font-display); font-size: 1rem; }

.events-route {
  position: relative;
  min-height: 330px;
  color: var(--yellow);
}

.events-route svg { position: absolute; inset: 22px; width: calc(100% - 44px); height: calc(100% - 44px); }
.events-route path:first-child { stroke: currentColor; stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; }
.events-route circle { fill: var(--yellow); stroke: #040c34; stroke-width: 5; }
.events-route p { position: absolute; right: 25px; bottom: 22px; margin: 0; color: rgba(255,255,255,.76); font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; letter-spacing: .04em; line-height: .79; text-align: right; }

.events-command__nodes {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.events-command__nodes span { display: grid; gap: 3px; padding: 17px 18px; color: rgba(255,255,255,.72); border-right: 1px solid rgba(255,255,255,.12); font-size: .68rem; }
.events-command__nodes span:last-child { border-right: 0; }
.events-command__nodes b { color: var(--yellow); font-family: var(--font-display); font-size: 1rem; letter-spacing: .08em; }
.events-command__footer { min-height: 46px; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 0; }

.events-services {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 94% 13%, rgba(255, 180, 0, .12), transparent 19rem),
    linear-gradient(180deg, #fffdf8, #f5efe6);
}

.events-services::before {
  position: absolute;
  z-index: -1;
  top: 13rem;
  right: -14rem;
  width: 36rem;
  height: 36rem;
  border: 1px solid rgba(4, 12, 52, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 64px rgba(4,12,52,.025), 0 0 0 128px rgba(4,12,52,.018);
  content: "";
}

.events-services__grid { display: grid; margin-top: 64px; border-top: 1px solid rgba(4, 12, 52, .18); }

.events-service {
  display: grid;
  min-height: 210px;
  grid-template-columns: minmax(130px, .28fr) minmax(0, 1.72fr);
  align-items: stretch;
  border-bottom: 1px solid rgba(4, 12, 52, .18);
}

.events-station__line {
  position: relative;
  display: grid;
  min-height: 100%;
  place-items: center;
  border-right: 1px solid rgba(4, 12, 52, .14);
}

.events-station__line::before,
.events-station__line::after {
  position: absolute;
  left: 50%;
  width: 1px;
  height: calc(50% - 29px);
  background: rgba(185, 67, 43, .36);
  content: "";
}

.events-station__line::before { top: 0; }
.events-station__line::after { bottom: 0; }
.events-station__line span { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; color: var(--navy); background: var(--yellow); border: 8px solid #f8f2e8; border-radius: 50%; font-family: var(--font-display); font-size: 1rem; font-weight: 800; }
.events-station__line i { position: absolute; right: -1px; width: 18px; height: 1px; background: var(--terracotta); }

.events-station__copy {
  display: grid;
  grid-template-columns: minmax(150px, .42fr) minmax(260px, .88fr) minmax(280px, 1fr);
  gap: clamp(24px, 5vw, 74px);
  align-items: center;
  padding: 34px clamp(24px, 4.5vw, 70px);
  transition: background-color 240ms ease, transform 360ms var(--motion-ease-out);
}

.events-station__copy > p:first-child { margin: 0; color: var(--terracotta); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.events-station__copy h3 { margin: 0; color: var(--navy); font-family: var(--font-display); font-size: clamp(2.4rem, 4.2vw, 4.7rem); letter-spacing: -.035em; line-height: .82; text-transform: uppercase; }
.events-station__copy > p:last-child { max-width: 52ch; margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.72; }
.events-service:nth-child(even) .events-station__copy { background: rgba(255,255,255,.55); }

.events-proof {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--white);
  background: var(--terracotta);
}

.events-proof::after { position: absolute; z-index: -1; right: -6rem; bottom: -15rem; width: 34rem; height: 34rem; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 68px rgba(255,255,255,.035), 0 0 0 136px rgba(255,255,255,.022); content: ""; }
.events-proof__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); gap: clamp(54px, 8vw, 120px); align-items: end; padding-block: clamp(78px, 9vw, 128px); }
.events-proof h2 { margin: 14px 0 0; font-family: var(--font-display); font-size: clamp(4.3rem, 7vw, 7.4rem); letter-spacing: -.04em; line-height: .8; text-transform: uppercase; }
.events-proof h2 em { color: var(--yellow); font-style: normal; }
.events-proof ul { margin: 0; padding: 0; list-style: none; counter-reset: proof; }
.events-proof li { position: relative; padding: 22px 0 22px 48px; border-top: 1px solid rgba(255,255,255,.35); font-size: 1rem; line-height: 1.55; counter-increment: proof; }
.events-proof li::before { position: absolute; top: 20px; left: 0; color: var(--yellow); content: "0" counter(proof); font-family: var(--font-display); font-size: 1rem; font-weight: 800; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .events-service:hover .events-station__copy { background: rgba(255,180,0,.09); transform: translate3d(8px,0,0); }
}

@media (prefers-reduced-motion: no-preference) {
  .motion-ready .events-command .events-route path:first-child { animation: events-route-draw 700ms 220ms var(--motion-ease-out) forwards; }
  .motion-ready .events-command__nodes span { animation: events-node-in 560ms var(--node-delay, 500ms) var(--motion-ease-out) backwards; }
  .motion-ready .events-command__nodes span:nth-child(2) { --node-delay: 620ms; }
  .motion-ready .events-command__nodes span:nth-child(3) { --node-delay: 740ms; }
}

@keyframes events-route-draw { to { stroke-dashoffset: 0; } }
@keyframes events-node-in { from { opacity: 0; transform: translate3d(0,12px,0); } }

@media (max-width: 980px) {
  .events-hero__layout { min-height: 0; grid-template-columns: 1fr; padding-block: calc(var(--header-height) + 62px) 72px; }
  .events-command { width: min(100%, 650px); }
  .events-station__copy { grid-template-columns: minmax(120px, .36fr) minmax(240px, 1fr); }
  .events-station__copy > p:last-child { grid-column: 1 / -1; }
  .events-proof__layout { grid-template-columns: 1fr; }
}

@media (max-width: 599px) {
  .events-hero__layout { gap: 42px; padding-block: 114px 54px; }
  .events-hero h1 { font-size: clamp(4.15rem, 20vw, 6.4rem); }
  .events-hero__copy > p:not(.eyebrow) { font-size: .96rem; }
  .events-command { border-radius: 3px 34px 3px 34px; }
  .events-route { min-height: 240px; }
  .events-route p { font-size: 1.75rem; }
  .events-command__top, .events-command__footer { padding-inline: 16px; }
  .events-command__nodes span { padding: 13px 9px; font-size: .58rem; }
  .events-services__grid { margin-top: 40px; }
  .events-service { min-height: 0; grid-template-columns: 54px minmax(0,1fr); }
  .events-station__line span { width: 38px; height: 38px; border-width: 5px; font-size: .75rem; }
  .events-station__line::before, .events-station__line::after { height: calc(50% - 19px); }
  .events-station__copy { grid-template-columns: 1fr; gap: 12px; padding: 30px 14px 32px 22px; }
  .events-station__copy > p:last-child { grid-column: auto; font-size: .86rem; }
  .events-station__copy h3 { font-size: clamp(2.4rem, 13vw, 3.45rem); }
  .events-proof h2 { font-size: clamp(3.8rem, 17vw, 5.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .events-route path:first-child { stroke-dashoffset: 0; }
  .events-command__nodes span, .events-station__copy { animation: none !important; transition: none !important; transform: none !important; }
}

@media (forced-colors: active) {
  .events-command, .events-service { border: 2px solid currentColor; }
}
