:root {
  --live-pink: #ed0061;
  --live-glow: rgba(237, 0, 97, .18);
  --live-ease: cubic-bezier(.22, 1, .36, 1);
}

@media (prefers-reduced-motion: no-preference) {
  .e-live .e-reveal {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition: opacity 680ms var(--live-ease), transform 680ms var(--live-ease);
    transition-delay: var(--e-delay, 0ms);
  }

  .e-live .e-reveal.e-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .e-live .hero-copy > .eyebrow,
  .e-live .hero-copy > h1,
  .e-live .hero-copy > .hero-description,
  .e-live .hero-copy > .hero-buttons {
    animation: e-live-rise 850ms var(--live-ease) both;
  }

  .e-live .hero-copy > h1 { animation-delay: 110ms; }
  .e-live .hero-copy > .hero-description { animation-delay: 220ms; }
  .e-live .hero-copy > .hero-buttons { animation-delay: 340ms; }

  .e-live .sp-hero-copy > .sp-eyebrow,
  .e-live .sp-hero-copy > h1,
  .e-live .sp-hero-copy > .sp-lead,
  .e-live .sp-hero-copy > .sp-hero-action {
    animation: e-live-rise 780ms var(--live-ease) both;
  }

  .e-live .sp-hero-copy > h1 { animation-delay: 100ms; }
  .e-live .sp-hero-copy > .sp-lead { animation-delay: 210ms; }
  .e-live .sp-hero-copy > .sp-hero-action { animation-delay: 310ms; }

  .e-live .e-reveal.e-visible .eyebrow-line,
  .e-live .e-reveal.e-visible .sp-eyebrow > span {
    transform-origin: left center;
    animation: e-live-line 650ms var(--live-ease) both;
  }

  .e-live .e-reveal.e-visible .sp-eyebrow > span { animation-delay: 130ms; }

  @keyframes e-live-rise {
    from { opacity: 0; transform: translate3d(0, 17px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes e-live-line {
    from { transform: scaleX(.06); opacity: .4; }
    to { transform: scaleX(1); opacity: 1; }
  }

  @media (min-width: 861px) {
    .e-live .hero-photo {
      transform-origin: 64% 40%;
      animation: e-live-hero 19s ease-in-out alternate infinite;
    }

    .e-live .hero::after {
      position: absolute;
      z-index: 0;
      inset: -10% -15%;
      background: radial-gradient(ellipse at 68% 28%, rgba(230, 26, 128, .16), transparent 48%);
      content: '';
      opacity: .52;
      pointer-events: none;
      animation: e-live-spotlight 17s ease-in-out infinite alternate;
    }

    .e-live .hero-inner { position: relative; z-index: 1; }

    @keyframes e-live-hero {
      from { transform: scale(1); }
      to { transform: scale(1.045); }
    }

    @keyframes e-live-spotlight {
      from { opacity: .34; transform: translate3d(-1%, 0, 0); }
      to { opacity: .64; transform: translate3d(3%, -1%, 0); }
    }
  }
}

.e-live .sp-hero-visual,
.e-live .about-image-wrap,
.e-live .sp-service-media,
.e-live .sp-video-image {
  isolation: isolate;
}

.e-live .sp-hero-visual::after,
.e-live .about-image-wrap::after,
.e-live .sp-video-image::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: inherit;
  box-shadow: inset 0 0 80px rgba(10, 15, 26, .09);
  content: '';
  pointer-events: none;
}

.e-live .sp-hero-visual img,
.e-live .about-image-wrap > img,
.e-live .sp-video-image > img,
.e-live .cms-video-card img,
.e-live .cms-album img {
  transition: transform 550ms var(--live-ease), filter 550ms ease;
}

.e-live .offer-card,
.e-live .sp-service-media,
.e-live .cms-gallery-item,
.e-live .cms-video-card,
.e-live .cms-album,
.e-live .cms-news-card,
.e-live .cms-home-event,
.e-live .cms-event,
.e-live .reference-item {
  transition: box-shadow 300ms ease, border-color 300ms ease, background-color 300ms ease;
}

.e-live .button-pink,
.e-live .sp-button--pink,
.e-live .footer-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.e-live .button-pink::after,
.e-live .sp-button--pink::after,
.e-live .footer-cta::after {
  position: absolute;
  z-index: -1;
  top: -80%;
  bottom: -80%;
  left: -65%;
  width: 42%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent);
  content: '';
  pointer-events: none;
  transform: skewX(-20deg) translate3d(-120%, 0, 0);
}

.e-live .sp-hero--dark::before {
  background: radial-gradient(circle, rgba(237, 0, 97, .095), transparent 70%);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .e-live .offer-card:hover,
  .e-live .cms-gallery-item:hover,
  .e-live .cms-album:hover,
  .e-live .cms-video-card:hover,
  .e-live .cms-news-card:hover,
  .e-live .cms-home-event:hover,
  .e-live .cms-event:hover {
    box-shadow: 0 18px 36px rgba(19, 28, 47, .12), 0 0 0 1px rgba(237, 0, 97, .1);
  }

  .e-live .offer-card:hover img { transform: scale(1.075); }
  .e-live .sp-hero-visual:not(.sp-hero-visual--band):hover img,
  .e-live .about-image-wrap:hover > img,
  .e-live .sp-video-image:hover > img,
  .e-live .cms-video-card:hover img,
  .e-live .cms-album:hover img { transform: scale(1.035); }

  .e-live .offer-card:hover .offer-arrow { background: var(--live-pink); }
  .e-live .cms-event:hover { border-color: rgba(237, 0, 97, .28); }
  .e-live .cms-event-link { display: inline-block; transition: transform 250ms ease; }
  .e-live .cms-event:hover .cms-event-link { transform: translateX(4px); }

  .e-live .button-pink:hover::after,
  .e-live .sp-button--pink:hover::after,
  .e-live .footer-cta:hover::after {
    transition: transform 520ms ease-out;
    transform: skewX(-20deg) translate3d(490%, 0, 0);
  }
}

@media (max-width: 860px) {
  .e-live .hero::after { display: none; }
  .e-live .hero-photo { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  .e-live .e-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .e-live .hero-photo,
  .e-live .hero::after,
  .e-live .hero-copy > *,
  .e-live .sp-hero-copy > * {
    animation: none !important;
  }

  .e-live .offer-card img,
  .e-live .sp-service img,
  .e-live .cms-gallery-item img,
  .e-live .cms-album img,
  .e-live .cms-video-card img {
    transition: none !important;
  }
}
