html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", sans-serif;
  background:
    radial-gradient(circle at top, rgba(201, 169, 110, 0.14), transparent 32%),
    linear-gradient(180deg, #fbf7f1 0%, #f6efe3 100%);
  color: #171717;
}

.font-display {
  font-family: "Playfair Display", serif;
}

.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-logo-frame {
  background:
    radial-gradient(circle at top, rgba(201, 169, 110, 0.2), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
  box-shadow:
    inset 0 0 0 1px rgba(201, 169, 110, 0.18),
    0 10px 28px rgba(0, 0, 0, 0.18);
}

.text-gold {
  color: #c9a96e;
}

.bg-gold {
  background-color: #c9a96e;
}

.border-gold {
  border-color: rgba(201, 169, 110, 0.35);
}

.gold-glow {
  box-shadow:
    0 0 0 1px rgba(201, 169, 110, 0.18),
    0 18px 60px rgba(82, 55, 18, 0.14);
}

.luxury-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(201, 169, 110, 0.18);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px);
}

.luxury-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.42), transparent 55%);
  pointer-events: none;
}

.hero-glow::after,
.section-glow::after {
  content: "";
  position: absolute;
  border-radius: 9999px;
  filter: blur(80px);
  opacity: 0.35;
  pointer-events: none;
}

.hero-glow::after {
  width: 18rem;
  height: 18rem;
  right: -2rem;
  top: 2rem;
  background: rgba(201, 169, 110, 0.22);
}

.section-glow::after {
  width: 14rem;
  height: 14rem;
  left: -2rem;
  bottom: -2rem;
  background: rgba(0, 0, 0, 0.08);
}

.shine-border {
  position: relative;
}

.shine-border::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.55), rgba(255, 255, 255, 0.2));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.eyebrow {
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, #d6b67a, #b98c48);
  color: #111111;
  font-weight: 700;
  padding: 0.9rem 1.4rem;
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    opacity 220ms ease;
  box-shadow: 0 12px 28px rgba(185, 140, 72, 0.28);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(185, 140, 72, 0.34);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: #f7f0e5;
  font-weight: 600;
  padding: 0.9rem 1.4rem;
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease;
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(201, 169, 110, 0.4);
  background: rgba(255, 255, 255, 0.12);
}

.btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  background: #111111;
  color: #f8f3eb;
  font-weight: 600;
  padding: 0.9rem 1.4rem;
  transition:
    transform 220ms ease,
    box-shadow 220ms ease;
}

.btn-dark:hover,
.btn-dark:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(17, 17, 17, 0.18);
}

.card-lift {
  transition:
    transform 260ms ease,
    box-shadow 260ms ease,
    border-color 260ms ease;
}

.card-lift:hover,
.card-lift:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 22px 60px rgba(17, 17, 17, 0.08);
  border-color: rgba(201, 169, 110, 0.34);
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 700ms ease,
    transform 700ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.stagger-1 {
  transition-delay: 80ms;
}

.stagger-2 {
  transition-delay: 160ms;
}

.stagger-3 {
  transition-delay: 240ms;
}

.stagger-4 {
  transition-delay: 320ms;
}

.hero-image {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.38)),
    radial-gradient(circle at top, rgba(201, 169, 110, 0.36), transparent 34%),
    url("https://images.unsplash.com/photo-1522337660859-02fbefca4702?auto=format&fit=crop&w=1200&q=80") center/cover;
}

.gallery-tile-1 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1604654894610-df63bc536371?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-tile-2 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1519014816548-bf5fe059798b?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-tile-3 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1610992015732-2449b76344bc?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-tile-4 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-tile-5 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1596704017254-9c8a36454f2b?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-tile-6 {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.32)),
    url("https://images.unsplash.com/photo-1632345031435-8727f6897d53?auto=format&fit=crop&w=900&q=80") center/cover;
}

.gallery-card {
  min-height: 17rem;
}

.input-luxury,
.select-luxury,
.textarea-luxury {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(201, 169, 110, 0.24);
  background: rgba(255, 255, 255, 0.84);
  color: #181818;
  padding: 0.95rem 1rem;
  outline: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.input-luxury:focus,
.select-luxury:focus,
.textarea-luxury:focus {
  border-color: rgba(201, 169, 110, 0.72);
  box-shadow: 0 0 0 4px rgba(201, 169, 110, 0.12);
}

.mobile-nav-open {
  overflow: hidden;
}

.lightbox {
  transition:
    opacity 220ms ease,
    visibility 220ms ease;
}

.lightbox.hidden {
  opacity: 0;
  visibility: hidden;
}

.star-row svg {
  width: 1rem;
  height: 1rem;
  fill: #c9a96e;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
