/* ─── BASE ─── */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── GEOMETRIC SHAPES (HERO) ─── */
.geo-shape {
  position: absolute;
  pointer-events: none;
  opacity: 0.12;
}

.geo-circle-1 {
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffc000 0%, transparent 70%);
  top: -10%;
  right: -5%;
  animation: float-slow 18s ease-in-out infinite;
}

.geo-circle-2 {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, #e8b8ff 0%, transparent 70%);
  bottom: 5%;
  left: -3%;
  animation: float-slow 14s ease-in-out infinite reverse;
}

.geo-rect-1 {
  width: 180px;
  height: 180px;
  background: #ffc000;
  top: 20%;
  left: 8%;
  transform: rotate(45deg);
  opacity: 0.08;
  animation: spin-slow 30s linear infinite;
}

.geo-triangle-1 {
  width: 0;
  height: 0;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  border-bottom: 173px solid #d480ff;
  top: 60%;
  right: 10%;
  opacity: 0.07;
  animation: float-slow 20s ease-in-out infinite;
}

.geo-dots {
  width: 120px;
  height: 120px;
  background-image: radial-gradient(circle, #ffc000 1.5px, transparent 1.5px);
  background-size: 16px 16px;
  bottom: 25%;
  left: 15%;
  opacity: 0.2;
}

@keyframes float-slow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-30px) rotate(3deg); }
}

@keyframes spin-slow {
  from { transform: rotate(45deg); }
  to { transform: rotate(405deg); }
}

/* ─── ROOM CARDS ─── */
.room-card {
  will-change: transform;
}

/* ─── AMENITY CARDS ─── */
.amenity-card {
  will-change: transform;
}

/* ─── MOBILE MENU ANIMATION ─── */
#menu-toggle.active .menu-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
#menu-toggle.active .menu-line:nth-child(2) {
  opacity: 0;
}
#menu-toggle.active .menu-line:nth-child(3) {
  width: 20px;
  transform: rotate(-45deg) translate(5px, -5px);
  margin-left: 0;
  margin-right: 0;
}

/* ─── MOBILE LINKS ─── */
.mobile-link {
  display: block;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mobile-link:last-child {
  border-bottom: none;
}

/* ─── SCROLL REVEAL (progressive enhancement) ─── */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  .reveal.revealed {
    opacity: 1;
    transform: translateY(0);
  }
  .reveal-delay-1 { transition-delay: 0.1s; }
  .reveal-delay-2 { transition-delay: 0.2s; }
  .reveal-delay-3 { transition-delay: 0.3s; }
}

/* ─── NAVBAR SCROLLED STATE ─── -->
