:root {
  --bg: #070b12;
  --bg-2: #0e1420;
  --panel: rgba(255, 255, 255, 0.06);
  --line: rgba(255, 255, 255, 0.12);
  --text: #eaf1ff;
  --muted: #95a3ba;
  --gold: #f6c56e;
  --gold-2: #ffd98f;
  --cyan: #6ee7f9;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

html { scroll-behavior: smooth; }
body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 15%, rgba(246,197,110,0.08), transparent 22%),
    radial-gradient(circle at 90% 12%, rgba(110,231,249,0.08), transparent 24%),
    linear-gradient(180deg, #05080f 0%, #0b1018 40%, #05080f 100%);
  color: var(--text);
  overflow-x: hidden;
}

.noise-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .06;
  background-image: radial-gradient(rgba(255,255,255,.8) .5px, transparent .5px);
  background-size: 6px 6px;
  mix-blend-mode: soft-light;
  z-index: 0;
}

.cursor-glow {
  position: fixed;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(246,197,110,0.16), rgba(246,197,110,0.04) 42%, transparent 68%);
  pointer-events: none;
  z-index: 1;
  transform: translate(-50%, -50%);
  filter: blur(12px);
}

.floating-nav {
  margin: 1rem auto 0;
  width: min(1140px, calc(100% - 1rem));
  left: 0;
  right: 0;
  border-radius: 999px;
  background: rgba(9, 14, 22, 0.65);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}

.brand-orb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--cyan));
  box-shadow: 0 0 18px rgba(246,197,110,.7);
}

.navbar .nav-link { color: rgba(255,255,255,.8); }
.navbar .nav-link:hover, .navbar .nav-link.active { color: #fff; }
.btn-luxe {
  background: linear-gradient(135deg, #c89435, var(--gold-2));
  color: #161108;
  border: none;
  box-shadow: 0 18px 35px rgba(200, 148, 53, 0.28);
}
.btn-luxe:hover { color: #161108; transform: translateY(-1px); }

.hero-shell { position: relative; }
.hero-copy { max-width: 620px; }
.hero-aurora {
  position: absolute;
  border-radius: 50%;
  filter: blur(30px);
  opacity: .45;
  animation: drift 14s ease-in-out infinite;
}
.aurora-a {
  width: 480px; height: 480px; top: 4rem; right: -4rem;
  background: radial-gradient(circle, rgba(110,231,249,.24), transparent 60%);
}
.aurora-b {
  width: 420px; height: 420px; bottom: 4rem; left: -6rem;
  background: radial-gradient(circle, rgba(246,197,110,.18), transparent 60%);
  animation-delay: -4s;
}

.eyebrow-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: #f4ddb0;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .75rem;
}

.metric-card,
.booking-panel,
.glass-card,
.suite-card,
.experience-banner,
.gallery-card,
.showcase-panel {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow: var(--shadow);
}

.metric-card {
  padding: 1.25rem;
  border-radius: 1.4rem;
  backdrop-filter: blur(10px);
}
.metric-card h3 { color: #fff; font-size: 2rem; margin-bottom: .2rem; }
.metric-card p { margin: 0; color: var(--muted); }

.booking-panel {
  padding: 1.6rem;
  border-radius: 1.8rem;
  backdrop-filter: blur(16px);
  position: relative;
  overflow: hidden;
}
.booking-panel::before {
  content: "";
  position: absolute;
  inset: auto -20% 75% auto;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(246,197,110,.2), transparent 65%);
}
.price-tag {
  background: rgba(246,197,110,.12);
  border: 1px solid rgba(246,197,110,.25);
  color: #ffdfa3;
  border-radius: 999px;
  padding: .5rem .85rem;
  font-weight: 700;
}
.form-label { color: #cad7ec; }
.glass-input {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: #fff;
  border-radius: 1rem;
}
.glass-input:focus {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(246,197,110,.55);
  box-shadow: 0 0 0 .25rem rgba(246,197,110,.12);
}
option { color: #111; }

.floating-ribbon {
  position: absolute;
  border-radius: 999px;
  transform: rotate(-24deg);
  filter: blur(.3px);
  opacity: .5;
}
.ribbon-one {
  width: 520px; height: 72px; right: -8rem; top: 38%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  animation: floatRibbon 12s linear infinite;
}
.ribbon-two {
  width: 420px; height: 56px; left: -9rem; bottom: 12%;
  background: linear-gradient(90deg, transparent, rgba(246,197,110,.16), transparent);
  animation: floatRibbon 16s linear infinite reverse;
}

.section-pad { padding: 6rem 0; position: relative; z-index: 2; }
.section-tag {
  display: inline-block;
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #f0cf8b;
  margin-bottom: 1rem;
}
.text-secondary { color: var(--muted) !important; }
.text-light-emphasis { color: #cbd8ef !important; }

.glass-card, .showcase-panel, .experience-banner, .gallery-card, .suite-card {
  border-radius: 1.8rem;
  overflow: hidden;
}
.card-icon {
  width: 60px; height: 60px; display: grid; place-items: center;
  border-radius: 1rem;
  font-size: 1.4rem;
  background: linear-gradient(135deg, rgba(246,197,110,.22), rgba(110,231,249,.16));
  color: #fff;
}
.showcase-stack {
  min-height: 530px;
  position: relative;
}
.showcase-panel {
  position: absolute;
  inset: 0;
}
.panel-a {
  background: linear-gradient(135deg, #0d2231, #203d52 45%, #7ed3e0);
  transform: rotate(-8deg) translate(-4%, 8%);
}
.panel-b {
  background: linear-gradient(135deg, #251b12, #6c4a26, #f3d59a);
  transform: rotate(7deg) translate(5%, -4%);
}
.panel-c {
  background: linear-gradient(180deg, rgba(8,12,20,.2), rgba(8,12,20,.9)), linear-gradient(135deg, #071018, #0f1b29);
}

.suites-intro { max-width: 420px; }
.suite-card { transition: transform .35s ease, border-color .35s ease; }
.suite-card:hover { transform: translateY(-8px); border-color: rgba(246,197,110,.28); }
.suite-visual { height: 260px; }
.visual-a { background: linear-gradient(135deg, #0c1422, #294a61 45%, #8ee8f7); }
.visual-b { background: linear-gradient(135deg, #19120d, #6b4a1c 45%, #f9dea1); }
.visual-c { background: linear-gradient(135deg, #0d1018, #323846 45%, #b8c0cf); }
.suite-price {
  color: #ffdfa3;
  font-weight: 700;
}

.experiences-wrap::before {
  content: "";
  position: absolute;
  left: 50%; top: 0;
  transform: translateX(-50%);
  width: min(1200px, 94%);
  height: 100%;
  border-radius: 2rem;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.05);
  z-index: -1;
}
.experience-banner { min-height: 100%; }
.chip-dark {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: #d8e3f8;
}
.timeline-mini > div {
  position: relative;
  padding-left: 1.6rem;
  padding-bottom: 1.25rem;
  color: var(--muted);
}
.timeline-mini > div:last-child { padding-bottom: 0; }
.timeline-mini span {
  position: absolute;
  left: 0; top: .35rem;
  width: .7rem; height: .7rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--cyan));
  box-shadow: 0 0 18px rgba(246,197,110,.35);
}
.timeline-mini strong { display: block; color: #fff; }
.timeline-mini small { color: var(--muted); }

.gallery-card { min-height: 230px; }
.gallery-card.tall { min-height: 480px; }
.grad-1 { background: linear-gradient(180deg, #0f151d, #254156 50%, #8de0f0); }
.grad-2 { background: linear-gradient(135deg, #1b1510, #7d5524 50%, #f5d193); }
.grad-3 { background: linear-gradient(135deg, #12151c, #313847 45%, #d4dce7); }
.grad-4 { background: linear-gradient(180deg, #09101a, #14273a 50%, #54b7d2); }

.tilt-card { transform-style: preserve-3d; will-change: transform; }
.magnetic { transition: transform .2s ease; }

.scroll-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.65,.2,1);
}
.scroll-reveal.reveal-left { transform: translateX(-55px); }
.scroll-reveal.reveal-right { transform: translateX(55px); }
.scroll-reveal.reveal-scale { transform: scale(.9); }
.scroll-reveal.is-visible { opacity: 1; transform: none; }

@keyframes drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -18px, 0) scale(1.06); }
}

@keyframes floatRibbon {
  0% { transform: rotate(-24deg) translateX(0); }
  50% { transform: rotate(-22deg) translateX(30px); }
  100% { transform: rotate(-24deg) translateX(0); }
}

@media (max-width: 991.98px) {
  .floating-nav {
    width: calc(100% - 1rem);
    border-radius: 1.25rem;
    margin-top: .5rem;
  }
  .hero-shell .container { padding-top: 7rem; padding-bottom: 3rem; }
  .showcase-stack { min-height: 380px; }
  .gallery-card.tall { min-height: 260px; }
}
