:root{
  --deep:#1e3a5f;
  --gold:#c9b37d;
}

html{
  scroll-behavior:smooth;
}

/* Premium nav links */
.navlink{
  font-weight:600;
  font-size:0.9rem;
  color:rgba(11,18,32,0.72);
  letter-spacing:0.02em;
  transition:color .2s ease, opacity .2s ease;
}
.navlink:hover{
  color:var(--deep);
}

/* Footer links */
.footerlink{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:rgba(255,255,255,0.75);
  font-weight:600;
  transition:color .2s ease, opacity .2s ease;
}
.footerlink:hover{
  color:white;
}

/* Hero subtle parallax */
.hero-parallax{
  transform:translate3d(0,0,0) scale(1.06);
  will-change:transform;
}

/* Reveal animations */
.reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Slider */
.room-slider{
  position:relative;
  touch-action: pan-y;
}
.room-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.room-slide.is-active{
  opacity:1;
  pointer-events:auto;
}
.slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  height:44px;
  width:44px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(0,0,0,0.25);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  line-height:1;
  backdrop-filter: blur(10px);
  transition:background .2s ease, transform .2s ease;
}
.slider-btn:hover{
  background:rgba(0,0,0,0.35);
}
.slider-btn:active{
  transform:translateY(-50%) scale(0.98);
}
.dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,0.45);
  transition:transform .2s ease, background .2s ease;
}
.dot.is-active{
  background:rgba(255,255,255,0.95);
  transform:scale(1.15);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-parallax{ transform:none; }
}

