:root {
  --gold: #c9a227;
  --gold-light: #e8c547;
  --ink: #111111;
  --cream: #f6f1e8;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: Outfit, system-ui, sans-serif;
  background: #fbfaf7;
  color: #1a1a1a;
}

.font-display {
  font-family: Oswald, system-ui, sans-serif;
  letter-spacing: 0.02em;
}

.gold-line {
  height: 3px;
  width: 72px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}

.hero-overlay {
  background:
    linear-gradient(105deg, rgba(10, 10, 10, 0.88) 0%, rgba(10, 10, 10, 0.58) 48%, rgba(10, 10, 10, 0.35) 100%);
}

.nav-link {
  position: relative;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--gold);
  transition: width 0.25s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

.card-lift {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.card-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

.reveal {
  animation: rise 0.8s ease both;
}

.reveal-delay-1 { animation-delay: 0.12s; }
.reveal-delay-2 { animation-delay: 0.24s; }
.reveal-delay-3 { animation-delay: 0.36s; }
.reveal-delay-4 { animation-delay: 0.48s; }

@keyframes rise {
  from {
    opacity: 0.2;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.btn-gold {
  background: linear-gradient(180deg, #e3c04a 0%, #c9a227 100%);
  color: #111;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  box-shadow: 0 8px 20px rgba(201, 162, 39, 0.28);
}

.btn-gold:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 12px 26px rgba(201, 162, 39, 0.38);
}

.btn-gold:active {
  transform: translateY(0);
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map-wrap iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
  border: 0;
}

.drop-panel {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: 0.2s ease;
}

.group:hover .drop-panel,
.drop-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { animation: none; opacity: 1; transform: none; }
}
