/* Vyana motion layer — mirrors Framer Motion timings from React site */

.hero-title-wrap {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.hero-title-wrap.is-visible {
  opacity: 1;
  transform: scale(1);
}

.elite-immersive-bg-slide {
  transition: none;
}

.elite-immersive-bg-slide.is-animating {
  will-change: transform, opacity;
}

.elite-immersive-copy [data-motion-text] {
  display: block;
}

.elite-immersive-copy .motion-text-enter {
  animation: vyanaTextIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elite-immersive-copy .motion-kicker-enter {
  animation: vyanaTextIn 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elite-immersive-hint.motion-hint-enter {
  animation: vyanaTextIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
}

.elite-previews-below {
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.elite-previews-below.is-hidden {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.elite-previews-below.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  height: auto;
}

.elite-clip-card {
  opacity: 0;
  transform: translateY(24px) scale(0.97);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.elite-clip-card.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.elite-clip-card:hover {
  transform: translateY(-4px) scale(1.01);
}

.elite-building-detail-layer {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.elite-building-detail-layer.is-open {
  opacity: 1;
  pointer-events: auto;
}

.elite-building-detail-sheet {
  opacity: 0;
  transform: translateY(36px) scale(0.98);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.elite-building-detail-layer.is-open .elite-building-detail-sheet {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.elite-mini-card-wrap {
  transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.elite-mini-card-wrap:hover {
  transform: translateY(-4px);
}

.elite-mini-card-wrap:active {
  transform: scale(0.97);
}

.elite-card {
  transition: transform 0.12s linear;
}

.elite-card:hover:not(.elite-card--soon) {
  transform: scale(1.05) !important;
}

.why-choose-flip {
  transition: transform 0.72s cubic-bezier(0.22, 1.05, 0.36, 1);
}

.why-choose-timeline-item-wrap {
  animation: vyanaFloat 4.8s ease-in-out infinite;
}

.why-choose-timeline-item-wrap:nth-child(2) {
  animation-delay: 0.25s;
  animation-duration: 5.15s;
}

.why-choose-timeline-item-wrap:nth-child(3) {
  animation-delay: 0.5s;
  animation-duration: 5.5s;
}

.why-choose-timeline-item-wrap:nth-child(4) {
  animation-delay: 0.75s;
  animation-duration: 5.85s;
}

.why-choose-timeline-card {
  opacity: 0;
  transform: translateX(64px) rotateZ(-2.5deg);
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.why-choose-timeline-card.is-visible {
  opacity: 1;
  transform: translateX(0) rotateZ(0);
}

.yd-dial-pill {
  transition: left 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.yd-progress-fill {
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.yd-portal-content {
  transition: opacity 0.8s ease;
}

.yd-portal-content.is-fading {
  opacity: 0;
}

.yd-bg-year-outline {
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

.yd-bg-year-outline.is-active {
  opacity: 0.1;
  transform: scale(1) translateY(0);
}

.yd-bg-year-outline.is-reset {
  opacity: 0;
  transform: scale(0.8) translateY(100px);
}

.yd-portal-title {
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.yd-portal-title.is-active {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

.yd-portal-title.is-reset {
  opacity: 0;
  filter: blur(20px);
  transform: translateY(30px);
}

.yd-stat-pill,
.yd-portal-tag {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.yd-stat-pill.is-visible,
.yd-portal-tag.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.yd-portal-video {
  transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.yd-portal-video.is-active {
  transform: scale(1);
  filter: grayscale(0) brightness(1);
}

.yd-portal-video.is-reset {
  transform: scale(1.2);
  filter: grayscale(1) brightness(0.5);
}

.sd-map-marker {
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sd-map-marker.is-visible {
  opacity: 1;
  transform: scale(1);
}

.sd-hub-card,
.sd-kicker,
.sd-elite-title .section-title-word,
.sd-map-caption {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

.sd-kicker.is-visible,
.sd-hub-card.is-visible,
.sd-map-caption.is-visible,
.sd-elite-title .section-title-word.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pr-header,
.pr-mobile-card,
.legal-page-p,
.legal-contact-card,
.legal-page-form-wrap,
.why-choose-header,
.partners-heading {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

.pr-header.is-visible,
.pr-mobile-card.is-visible,
.legal-page-p.is-visible,
.legal-contact-card.is-visible,
.legal-page-form-wrap.is-visible,
.why-choose-header.is-visible,
.partners-heading.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.header-mobile-panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.header-mobile-panel.is-open {
  max-height: 520px;
  opacity: 1;
}

@keyframes vyanaTextIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes vyanaFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-title-wrap,
  .elite-previews-below,
  .elite-clip-card,
  .elite-building-detail-layer,
  .elite-building-detail-sheet,
  .why-choose-timeline-item-wrap,
  .why-choose-timeline-card,
  .yd-portal-content,
  .sd-map-marker,
  .sd-hub-card,
  .pr-header,
  .pr-mobile-card,
  .legal-page-p,
  .header-mobile-panel {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
