.paper-stack .rsvp-card {
  position: absolute;
  left: -4%;
  top: 16%;
  width: clamp(128px, 20vw, 188px);
  min-height: unset;
  aspect-ratio: 0.72 / 1;
  padding: clamp(18px, 2.2vw, 28px) clamp(12px, 1.8vw, 18px);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 242, 237, 0.98) 100%);
  box-shadow:
    0 28px 45px rgba(32, 27, 22, 0.12),
    0 10px 18px rgba(32, 27, 22, 0.08),
    inset 0 0 0 1px rgba(42, 35, 30, 0.06);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, 0.9vw, 9px);
  text-align: center;
  color: rgba(55, 48, 42, 0.96);
  transform: translate(-12px, 16px) scale(0.92);
}

.paper-stack .rsvp-card::before {
  content: "";
  position: absolute;
  inset: 2.8% 5.5%;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), transparent 26%, transparent 72%, rgba(0, 0, 0, 0.02) 100%),
    radial-gradient(circle at 50% 16%, rgba(255, 255, 255, 0.26), transparent 34%);
  pointer-events: none;
}

.paper-stack .rsvp-card__title,
.paper-stack .rsvp-card__text,
.paper-stack .rsvp-card__link {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.paper-stack .rsvp-card__title {
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  line-height: 1;
  letter-spacing: 0.03em;
}

.paper-stack .rsvp-card__number {
  position: relative;
  z-index: 1;
  width: 100%;
  font-size: clamp(3rem, 5.6vw, 4.8rem);
  line-height: 0.86;
  font-weight: 500;
}

.paper-stack .rsvp-card__text {
  font-size: clamp(0.84rem, 1.25vw, 1.08rem);
  line-height: 1;
  letter-spacing: 0.12em;
}

.paper-stack .rsvp-card__link {
  cursor: pointer;
  margin-top: clamp(4px, 0.7vw, 8px);
  padding-top: clamp(8px, 1vw, 10px);
  font-size: clamp(0.76rem, 0.95vw, 0.96rem);
  line-height: 1.08;
  color: rgba(84, 75, 68, 0.9);
  text-decoration: none;
}

.paper-stack .rsvp-card__link::before {
  content: "";
  display: block;
  width: clamp(44px, 5vw, 60px);
  height: 1px;
  margin: 0 auto clamp(8px, 0.9vw, 10px);
  background: rgba(66, 59, 53, 0.24);
}

.scene.open .paper-stack .rsvp-card {
  transform: translate(0, 0) scale(1);
}

@media (min-width: 768px) {
  .paper-stack .rsvp-card {
    left: -7%;
    top: 13%;
    width: clamp(148px, 18vw, 196px);
  }
}

@media (min-width: 1200px) {
  .paper-stack .rsvp-card {
    left: -8%;
    top: 12%;
    width: clamp(156px, 15vw, 204px);
  }
}

@media (max-width: 767px) {
  .paper-stack .rsvp-card {
    left: -2%;
    top: 18%;
    width: clamp(118px, 35vw, 154px);
    padding: 18px 12px;
    transform: translate(-9px, 14px) scale(0.92);
  }

  .paper-stack .rsvp-card__title {
    font-size: clamp(0.98rem, 4.2vw, 1.22rem);
  }

  .paper-stack .rsvp-card__number {
    font-size: clamp(2.7rem, 11vw, 3.8rem);
  }

  .paper-stack .rsvp-card__text {
    font-size: clamp(0.72rem, 2.8vw, 0.9rem);
    letter-spacing: 0.1em;
  }

  .paper-stack .rsvp-card__link {
    font-size: clamp(0.68rem, 2.5vw, 0.84rem);
  }
}

@media (max-width: 479px) {
  .paper-stack .rsvp-card {
    left: 0;
    top: 19%;
    width: clamp(108px, 39vw, 138px);
    aspect-ratio: 0.7 / 1;
    padding: 16px 10px;
    transform: translate(-7px, 12px) scale(0.92);
  }

  .paper-stack .rsvp-card__title {
    font-size: 0.96rem;
  }

  .paper-stack .rsvp-card__number {
    font-size: clamp(2.45rem, 10.6vw, 3.35rem);
  }

  .paper-stack .rsvp-card__text {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }

  .paper-stack .rsvp-card__link {
    font-size: 0.66rem;
  }
}
