.rt-logo-lockup {
  position: relative;
  display: grid;
  justify-items: center;
  width: fit-content;
  max-width: 100%;
  isolation: isolate;
}

.rt-logo-3d {
  position: relative;
  width: clamp(132px, 15vw, 230px);
  aspect-ratio: 1;
  filter: drop-shadow(0 24px 38px rgba(0, 0, 0, .58));
}

.rt-logo-3d::before {
  position: absolute;
  z-index: -1;
  inset: 18%;
  content: '';
  border-radius: 50%;
  background: radial-gradient(circle, rgba(228, 0, 43, .3), rgba(228, 0, 43, 0) 70%);
  filter: blur(18px);
  transform: scale(.88);
  transition: opacity .7s ease, transform .9s cubic-bezier(.16, 1, .3, 1);
}

.rt-logo-3d canvas,
.rt-logo-3d__fallback {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.rt-logo-3d canvas {
  z-index: 2;
  opacity: 0;
  transition: opacity .45s ease;
}

.rt-logo-3d__fallback {
  z-index: 1;
  object-fit: contain;
  opacity: 1;
  transition: opacity .35s ease;
}

.rt-logo-3d.is-ready canvas { opacity: 1; }
.rt-logo-3d.is-ready .rt-logo-3d__fallback { opacity: 0; }

.rt-logo-wordmark {
  position: relative;
  z-index: 3;
  display: block;
  width: clamp(190px, 22vw, 340px);
  max-width: 100%;
  height: auto;
  margin-top: clamp(-12px, -1vw, -6px);
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .62));
}

.theme-1 .rt-intro-logo .rt-logo-lockup { gap: 0; }
.theme-1 .rt-intro-logo .rt-logo-3d__fallback { width: 100%; }
.theme-1 .rt-intro-logo .rt-logo-wordmark { width: clamp(190px, 22vw, 340px); }

.theme-1 .rt-hero.is-video-finishing .rt-intro-logo .rt-logo-3d,
.theme-1 .rt-hero.is-video-complete .rt-intro-logo .rt-logo-3d {
  width: clamp(108px, 11vw, 152px);
  transition: width 1s cubic-bezier(.16, 1, .3, 1);
}

.theme-1 .rt-hero.is-video-finishing .rt-intro-logo .rt-logo-wordmark,
.theme-1 .rt-hero.is-video-complete .rt-intro-logo .rt-logo-wordmark {
  width: clamp(164px, 17vw, 238px);
  transition: width 1s cubic-bezier(.16, 1, .3, 1);
}

@media (max-width: 780px) {
  .theme-1 .rt-intro-logo .rt-logo-3d { width: clamp(112px, 27vw, 148px); }
  .theme-1 .rt-intro-logo .rt-logo-wordmark { width: clamp(180px, 46vw, 238px); }

  .theme-1 .rt-hero.is-video-finishing .rt-intro-logo .rt-logo-3d,
  .theme-1 .rt-hero.is-video-complete .rt-intro-logo .rt-logo-3d { width: 102px; }

  .theme-1 .rt-hero.is-video-finishing .rt-intro-logo .rt-logo-wordmark,
  .theme-1 .rt-hero.is-video-complete .rt-intro-logo .rt-logo-wordmark { width: 174px; }
}

@media (prefers-reduced-motion: reduce) {
  .rt-logo-3d canvas,
  .rt-logo-3d__fallback,
  .rt-logo-3d::before { transition: none; }
}
