:root {
  --color-bg: #f5f5f7;
  --color-bg-alt: #dcecf5;
  --color-highlight: #268cff;
  --color-dark: #0b0c0e;
  --color-text: #1d1d1f;
  --color-text-light: #f2efe9;
  --color-text-muted: #6e6e73;
  --font-ui:
    -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', sans-serif;
  --font-body:
    -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', sans-serif;
  --gaga-display:
    -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', 'Segoe UI', sans-serif;
  --gaga-ink: #1d1d1f;
  --gaga-blue: #268cff;
  --gaga-site-ink: #0b0c0e;
  --gaga-site-warm: #f2efe9;
  --gaga-white-progress: 0;
  --gaga-dark-progress: 0;
  --gaga-header-progress: 1;
  --gaga-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

html[data-brand='gagaai'] {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

html[data-brand='gagaai'] .gaga-intro-header,
html[data-brand='gagaai'] .gaga-intro-header button,
html[data-brand='gagaai'] .gaga-intro-header a,
html[data-brand='gagaai'] .hero,
html[data-brand='gagaai'] .flow {
  font-family: var(--font-body);
}

html[data-brand='gagaai'] .gaga-intro-header ::selection,
html[data-brand='gagaai'] .hero ::selection,
html[data-brand='gagaai'] .flow ::selection {
  color: #fff;
  background: var(--gaga-blue);
}

html[data-brand='gagaai'] .gaga-intro-header a:focus-visible,
html[data-brand='gagaai'] .gaga-intro-header button:focus-visible {
  outline: 3px solid rgb(38 140 255 / 42%);
  outline-offset: 3px;
}

/*
 * Final color handoff:
 * 1. the live scene blooms to white;
 * 2. the white dissolves into gaga8888.com's #0b0c0e and #268cff palette;
 * 3. at 6000ms the overlay is removed over an identically colored mount point.
 */
#gaga-color-transition {
  position: absolute;
  z-index: 99990;
  top: calc(var(--gaga-overlay-scroll-y, 0px) - 32px);
  right: -32px;
  left: -32px;
  height: calc(100vh + 64px);
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

#gaga-color-transition::before,
#gaga-color-transition::after {
  position: absolute;
  inset: 0;
  content: '';
  will-change: opacity;
}

#gaga-color-transition::before {
  opacity: var(--gaga-white-progress);
  background:
    radial-gradient(circle at 50% 48%, #fff 0%, rgb(255 255 255 / 96%) 34%, transparent 78%),
    linear-gradient(180deg, rgb(255 255 255 / 88%), rgb(244 249 252 / 94%));
}

#gaga-color-transition::after {
  opacity: var(--gaga-dark-progress);
  background:
    radial-gradient(circle at 85% -12%, rgb(38 140 255 / 10%), transparent 432px), #0b0c0e;
}

/* Header stays faithful to the light intro, then disappears for the real site. */
html[data-brand='gagaai'] .gaga-intro-header {
  z-index: 99991 !important;
  height: 76px;
  padding: 0 24px;
  isolation: isolate;
  opacity: var(--gaga-header-progress);
  background: transparent !important;
  will-change: opacity;
}

html[data-brand='gagaai'] .gaga-intro-header::before {
  position: absolute;
  z-index: -1;
  inset: 10px 14px;
  border: 1px solid rgb(255 255 255 / 46%);
  border-radius: 20px;
  background: rgb(255 255 255 / 58%);
  box-shadow:
    0 1px 0 rgb(255 255 255 / 66%) inset,
    0 8px 32px rgb(23 43 56 / 8%);
  content: '';
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
}

html[data-brand='gagaai'] .gaga-intro-header::after {
  display: none;
}

html[data-brand='gagaai'] .gaga-intro-header > * {
  z-index: 1;
}

html[data-brand='gagaai'] .gaga-intro-header .header__nav-left,
html[data-brand='gagaai'] .gaga-intro-header .header__logo,
html[data-brand='gagaai'] .gaga-intro-header .header__nav-right {
  position: relative;
}

html[data-brand='gagaai'] .gaga-intro-header .header__logo {
  position: absolute;
}

html[data-brand='gagaai'] .gaga-intro-header .header__logo a {
  padding: 16px 22px;
}

html[data-brand='gagaai'] .gaga-intro-header .gaga-wordmark {
  display: inline-block;
  width: auto;
  height: auto;
  color: var(--gaga-ink);
  font-family: var(--gaga-display);
  font-size: 22px;
  font-weight: 680;
  line-height: 1;
  letter-spacing: -0.055em;
  white-space: nowrap;
}

html[data-brand='gagaai'] .gaga-intro-header .header__nav-left a {
  padding: 16px 13px;
  color: rgb(29 29 31 / 78%);
  font-size: 12px;
  font-weight: 520;
  letter-spacing: 0;
  text-transform: none;
}

html[data-brand='gagaai'] .gaga-intro-header .header__nav-left a:hover {
  color: var(--gaga-blue);
}

html[data-brand='gagaai'] .gaga-intro-header .header__ctas {
  gap: 8px;
}

html[data-brand='gagaai'] .gaga-intro-header .pill-btn {
  height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 980px;
  font-size: 13px;
  font-weight: 560;
  letter-spacing: -0.01em;
  text-transform: none;
  transition:
    color 0.25s var(--gaga-ease),
    background-color 0.25s var(--gaga-ease),
    transform 0.25s var(--gaga-ease);
}

html[data-brand='gagaai'] .gaga-intro-header .pill-btn:hover {
  transform: translateY(-1px);
}

html[data-brand='gagaai'] .gaga-intro-header .pill-btn--glass {
  color: var(--gaga-ink);
  background: rgb(255 255 255 / 58%);
  box-shadow: 0 0 0 1px rgb(29 29 31 / 8%) inset;
}

html[data-brand='gagaai'] .gaga-intro-header .pill-btn--dark {
  color: #fff;
  background: var(--gaga-ink);
}

html[data-brand='gagaai'] .gaga-intro-header .pill-btn--dark:hover {
  background: #000;
}

html[data-brand='gagaai'] .hero__content {
  gap: 32px;
  padding-top: 122px;
}

html[data-brand='gagaai'] .hero__title {
  max-width: min(1220px, calc(100vw - 48px));
  color: var(--gaga-ink);
  font-family: var(--gaga-display);
  font-size: clamp(72px, 6.7vw, 104px);
  font-weight: 620;
  line-height: 0.93;
  letter-spacing: -0.057em;
}

html[data-brand='gagaai'] .hero__subtitle {
  max-width: 720px;
  color: rgb(29 29 31 / 72%);
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 420;
  line-height: 1.38;
  letter-spacing: -0.022em;
}

html[data-brand='gagaai'] .hero__subtitle span:first-child {
  color: var(--gaga-ink);
  font-weight: 580;
}

html[data-brand='gagaai'] .hero__scroll-btn {
  bottom: 27px;
  color: rgb(29 29 31 / 58%);
  font-size: 11px;
  font-weight: 560;
  letter-spacing: 0.075em;
}

html[data-brand='gagaai'] .flow__steps {
  margin: 0 0 24px 24px;
  padding: 22px 24px;
  border: 1px solid rgb(255 255 255 / 52%);
  border-radius: 28px;
  background: rgb(255 255 255 / 50%);
  box-shadow:
    0 1px 0 rgb(255 255 255 / 75%) inset,
    0 20px 60px rgb(44 70 85 / 10%);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
}

html[data-brand='gagaai'] .flow__header {
  gap: 16px;
}

html[data-brand='gagaai'] .flow__number {
  width: 42px;
  height: 42px;
  border: 1px solid rgb(29 29 31 / 8%);
  border-radius: 13px;
  color: rgb(29 29 31 / 62%);
  background: rgb(255 255 255 / 62%);
  font-size: 12px;
  font-weight: 620;
  box-shadow: 0 5px 18px rgb(31 50 61 / 5%);
}

html[data-brand='gagaai'] .flow__number::before {
  border-radius: 12px;
  background: var(--gaga-blue);
}

html[data-brand='gagaai'] .flow__step--active .flow__number {
  border-color: transparent;
  color: #fff;
}

html[data-brand='gagaai'] .flow__title {
  color: var(--gaga-ink);
  font-family: var(--gaga-display);
  font-size: 22px;
  font-weight: 580;
  letter-spacing: -0.035em;
}

html[data-brand='gagaai'] .flow__description {
  max-width: 460px;
  color: #6e6e73;
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: -0.012em;
}

html[data-brand='gagaai'] .flow__track-bar {
  background: rgb(29 29 31 / 9%);
}

html[data-brand='gagaai'] .flow__track-fill {
  background: var(--gaga-blue);
}

/*
 * Integration seam. Pre-mount the existing site inside #gaga-content-slot.
 * Keep data-gaga-handoff, .features and .gaga-handoff on this section because
 * the verified six-second controller uses its top edge as the destination.
 */
html[data-brand='gagaai'] .features.gaga-handoff {
  position: relative;
  z-index: 0;
  isolation: isolate;
  width: 100%;
  height: auto !important;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% -12%, rgb(38 140 255 / 10%), transparent 432px), #0b0c0e;
}

#gaga-content-slot {
  min-height: 100vh;
  min-height: 100dvh;
}

html[data-gagaai-intro='complete'] .gaga-intro-header {
  visibility: hidden;
  pointer-events: none;
}

html[data-gagaai-intro='complete'],
html[data-gagaai-intro='complete'] body {
  background-color: #0b0c0e !important;
}

/* Mobile menu */
html[data-brand='gagaai'] .gaga-intro-header .mobile-nav {
  position: fixed;
  z-index: 9;
}

html[data-brand='gagaai'] .gaga-intro-header .mobile-nav__panel {
  color: var(--gaga-ink);
  background: transparent;
}

html[data-brand='gagaai'] .gaga-intro-header .mobile-nav.is-open .mobile-nav__panel {
  background: rgb(250 250 252 / 96%);
  -webkit-backdrop-filter: saturate(180%) blur(24px);
  backdrop-filter: saturate(180%) blur(24px);
}

html[data-brand='gagaai'] .gaga-intro-header .mobile-nav__logo .gaga-wordmark {
  font-size: 22px;
}

html[data-brand='gagaai'] .gaga-intro-header .mobile-nav__item a {
  font-family: var(--gaga-display);
  font-size: 22px;
  font-weight: 570;
  letter-spacing: -0.035em;
  text-transform: none;
}

@media (max-width: 820px) {
  html[data-brand='gagaai'] .gaga-intro-header {
    height: 66px;
    padding: 0 12px;
  }

  html[data-brand='gagaai'] .gaga-intro-header::before {
    inset: 7px 8px;
    border-radius: 17px;
  }

  html[data-brand='gagaai'] .gaga-intro-header .header__logo {
    position: static;
  }

  html[data-brand='gagaai'] .gaga-intro-header .header__logo a {
    padding: 13px 14px;
  }

  html[data-brand='gagaai'] .gaga-intro-header .header__logo .gaga-wordmark {
    font-size: 20px;
  }

  html[data-brand='gagaai'] .menu-btn {
    margin-right: 6px;
  }

  html[data-brand='gagaai'] .hero__content {
    gap: 24px;
    padding: 112px 20px 0;
  }

  html[data-brand='gagaai'] .hero__title {
    max-width: 720px;
    font-size: clamp(54px, 11.6vw, 76px);
    line-height: 0.96;
    letter-spacing: -0.052em;
  }

  html[data-brand='gagaai'] .hero__subtitle {
    max-width: 560px;
    font-size: 17px;
  }

  html[data-brand='gagaai'] .flow__steps {
    max-width: calc(100vw - 32px);
    margin: 0 0 16px 16px;
    padding: 18px;
    border-radius: 23px;
  }

  html[data-brand='gagaai'] .flow__number {
    width: 38px;
    height: 38px;
  }

  html[data-brand='gagaai'] .flow__title {
    font-size: 20px;
  }

  html[data-brand='gagaai'] .flow__description {
    max-width: min(370px, calc(100vw - 116px));
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  html[data-brand='gagaai'] .hero__content {
    padding-top: 102px;
  }

  html[data-brand='gagaai'] .hero__title {
    font-size: clamp(45px, 13vw, 58px);
  }

  html[data-brand='gagaai'] .hero__subtitle span:last-child {
    display: none;
  }

  html[data-brand='gagaai'] .hero__scroll-btn {
    bottom: 20px;
  }

  html[data-brand='gagaai'] .flow__steps {
    max-width: calc(100vw - 24px);
    margin-left: 12px;
    padding: 15px;
  }

  html[data-brand='gagaai'] .flow__header {
    gap: 12px;
  }

  html[data-brand='gagaai'] .flow__description {
    max-width: calc(100vw - 98px);
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-brand='gagaai'] .gaga-intro-header .pill-btn {
    transition-duration: 0.01ms;
  }
}
