.intro-card {
  align-items: stretch;
  justify-content: center;
  padding: clamp(1.15rem, 3.1vw, 2.5rem);
}

.intro-card-inner {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .35rem;
  text-align: center;
  transition: opacity 360ms var(--motion-ease), transform 480ms var(--spring);
}

.intro-card-inner.has-no-tiny-title {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
}

.deck.is-static {
  cursor: default;
  touch-action: auto;
  user-select: text;
  -webkit-user-select: text;
}

body.is-returning-home .intro-card-inner {
  opacity: .82;
  transform: translateY(.8rem) scale(.985);
}

.tiny-title {
  position: relative;
  z-index: 3;
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  font-weight: 400;
  transition: opacity 320ms var(--motion-ease), transform 480ms var(--spring);
}

.intro-stage,
.intro-logos {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.intro-stage {
  isolation: isolate;
}

.intro-copy {
  position: absolute;
  z-index: 2;
  top: 51%;
  left: 50%;
  width: min(72%, 50rem);
  transform: translate(-50%, -50%);
}

.intro-copy h1 {
  margin: 0;
  font-size: clamp(3rem, 4.6vw, 4.55rem);
  font-weight: 550;
  line-height: .98;
  letter-spacing: -.05em;
  transition: opacity 520ms var(--motion-ease), transform 620ms var(--spring);
  transition-delay: 80ms;
}

.intro-copy h1 span {
  display: block;
}

.intro-copy p {
  max-width: 42rem;
  margin: 2rem auto 0;
  color: var(--muted);
  font-size: clamp(.88rem, .95vw, 1rem);
  line-height: 1.52;
  text-wrap: balance;
  transition: opacity 380ms var(--motion-ease), transform 520ms var(--spring);
  transition-delay: 820ms;
}

.intro-logos {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}

.intro-logo {
  --tilt: 0deg;
  --enter-x: 0;
  --enter-y: 0;
  --enter-rotate: 0deg;
  --float-duration: 9s;
  --float-delay: -2s;
  --float-y: 4px;
  --float-turn: 1deg;
  position: absolute;
  display: block;
  transform: rotate(var(--tilt));
  transform-origin: center;
  transition: opacity 480ms var(--motion-ease), transform 620ms var(--spring);
  transition-delay: calc(60ms + (var(--intro-order) * 70ms));
  will-change: transform, opacity;
}

.intro-logo-float {
  display: block;
  animation: intro-logo-float var(--float-duration) ease-in-out var(--float-delay) infinite alternate;
  transform-origin: center;
}

.intro-logo img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
}

.intro-logo--kit {
  --tilt: -7deg;
  --enter-x: -9rem;
  --enter-y: -5rem;
  --enter-rotate: -18deg;
  --float-duration: 10.6s;
  --float-delay: -3.4s;
  top: 5%;
  left: 10%;
  width: clamp(8.5rem, 15vw, 11rem);
}

.intro-logo--openai {
  --tilt: -5deg;
  --enter-x: -8rem;
  --enter-y: 1rem;
  --enter-rotate: -20deg;
  --float-duration: 8.2s;
  --float-delay: -5.8s;
  --float-y: 5px;
  top: 37%;
  left: 11%;
  width: clamp(4rem, 5.7vw, 5.1rem);
}

.intro-logo--cscart {
  --tilt: 8deg;
  --enter-x: -7rem;
  --enter-y: 5rem;
  --enter-rotate: 22deg;
  --float-duration: 9.4s;
  --float-delay: -1.7s;
  bottom: 5%;
  left: 12%;
  width: clamp(3.8rem, 5.4vw, 4.7rem);
}

.intro-logo--ozon {
  --tilt: 7deg;
  --enter-x: 8rem;
  --enter-y: -5rem;
  --enter-rotate: 20deg;
  --float-duration: 10.9s;
  --float-delay: -7.1s;
  top: 7%;
  right: 11%;
  width: clamp(5.7rem, 8.6vw, 7rem);
}

.intro-logo--1c {
  --tilt: -4deg;
  --enter-x: 8rem;
  --enter-y: -.5rem;
  --enter-rotate: -18deg;
  --float-duration: 7.8s;
  --float-delay: -4.4s;
  --float-y: 6px;
  top: 34%;
  right: 13%;
  width: clamp(4.7rem, 6.5vw, 5.9rem);
}

.intro-logo--claude {
  --tilt: 9deg;
  --enter-x: 8rem;
  --enter-y: 3rem;
  --enter-rotate: 24deg;
  --float-duration: 8.7s;
  --float-delay: -6.2s;
  top: 54%;
  right: 11.5%;
  width: clamp(3.4rem, 4.8vw, 4.3rem);
}

.intro-logo--figma {
  --tilt: -8deg;
  --enter-x: 2rem;
  --enter-y: 6rem;
  --enter-rotate: -22deg;
  --float-duration: 10.1s;
  --float-delay: -2.6s;
  right: 18%;
  bottom: -3%;
  width: clamp(2.8rem, 3.8vw, 3.4rem);
}

.intro-logo--figma img {
  transform: scale(2.3);
}

.intro-logo--wb {
  --tilt: 6deg;
  --enter-x: 8rem;
  --enter-y: 5rem;
  --enter-rotate: 18deg;
  --float-duration: 7.4s;
  --float-delay: -5.2s;
  right: auto;
  left: 23%;
  bottom: 2%;
  width: clamp(2.7rem, 3.5vw, 3.3rem);
}

.intro-card-inner.is-intro-pending .tiny-title,
.intro-card-inner.is-intro-pending .intro-copy h1,
.intro-card-inner.is-intro-pending .intro-copy p,
.intro-card-inner.is-intro-pending .intro-logo {
  opacity: 0;
  transition: none;
}

.intro-card-inner.is-intro-pending .tiny-title {
  transform: translateY(-.75rem);
}

.intro-card-inner.is-intro-pending .intro-copy h1 {
  transform: translateY(1.4rem) scale(.98);
}

.intro-card-inner.is-intro-pending .intro-copy p {
  transform: translateY(1rem);
}

.intro-card-inner.is-intro-pending .intro-logo {
  transform: translate(var(--enter-x), var(--enter-y)) rotate(calc(var(--tilt) + var(--enter-rotate))) scale(.72);
}

body.is-leaving-home .intro-card .tiny-title,
body.is-leaving-home .intro-card .intro-copy,
body.is-leaving-home .intro-card .intro-logo {
  opacity: 0;
  transition-delay: 0ms;
}

body.is-leaving-home .intro-card .tiny-title {
  transform: translateY(-3rem) scale(.84);
}

body.is-leaving-home .intro-card .intro-copy {
  transform: translate(-50%, -54%) scale(.985);
}

body.is-leaving-home .intro-card .intro-logo {
  transform: rotate(var(--tilt)) scale(.86);
}

@keyframes intro-logo-float {
  from {
    transform: translate3d(0, -2px, 0) rotate(-.65deg);
  }
  to {
    transform: translate3d(0, var(--float-y), 0) rotate(var(--float-turn));
  }
}

@media (max-width: 760px) {
  .intro-card {
    padding: .95rem;
  }

  .intro-card-inner {
    gap: .15rem;
  }

  .tiny-title {
    font-size: .78rem;
  }

  .intro-copy {
    top: 50%;
    width: 88%;
  }

  .intro-copy h1 {
    font-size: clamp(2.05rem, 9.3vw, 2.55rem);
    line-height: .98;
    letter-spacing: -.055em;
  }

  .intro-copy p {
    max-width: 15.5rem;
    margin-top: 1.1rem;
    font-size: .82rem;
    line-height: 1.4;
  }

  .intro-logo--kit {
    top: 4%;
    left: 0;
    width: 5.6rem;
  }

  .intro-logo--ozon {
    top: 5%;
    right: 0;
    width: 4.1rem;
  }

  .intro-logo--openai {
    top: 1%;
    left: 43%;
    width: 2.55rem;
  }

  .intro-logo--cscart {
    bottom: 4%;
    left: 0;
    width: 2.65rem;
  }

  .intro-logo--1c {
    top: auto;
    right: auto;
    bottom: 0;
    left: 19%;
    width: 3.55rem;
  }

  .intro-logo--claude {
    top: auto;
    right: auto;
    bottom: 5%;
    left: 46%;
    width: 2.55rem;
  }

  .intro-logo--figma {
    right: 22%;
    bottom: 2%;
    width: 2.05rem;
  }

  .intro-logo--wb {
    left: auto;
    right: 0;
    bottom: 0;
    width: 2.45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-card-inner,
  .tiny-title,
  .intro-copy h1,
  .intro-copy p,
  .intro-logo {
    transition: none !important;
  }

  .intro-logo-float {
    animation: none !important;
  }

  .intro-card-inner.is-intro-pending .tiny-title,
  .intro-card-inner.is-intro-pending .intro-copy h1,
  .intro-card-inner.is-intro-pending .intro-copy p,
  .intro-card-inner.is-intro-pending .intro-logo {
    opacity: 1;
    transform: none;
  }
}
