html {
  scroll-behavior: smooth;
  scroll-padding-top: 5.75rem;
}

body {
  font-family: Outfit, sans-serif;
  background: #f6f1ea;
  color: #2c2622;
}

.font-display {
  font-family: "Cormorant Garamond", Georgia, serif;
}

.nav-link {
  position: relative;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.35rem;
  width: 100%;
  height: 1px;
  background: #c4a06a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.nav-link:hover::after,
.nav-link.is-active::after {
  transform: scaleX(1);
}

.dropdown {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.group:hover .dropdown,
.group:focus-within .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.card-lift {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.card-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(44, 38, 34, 0.12);
}

.img-zoom {
  overflow: hidden;
}

.img-zoom img {
  transition: transform 0.6s ease;
}

.img-zoom:hover img {
  transform: scale(1.05);
}

input,
textarea,
select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #c4a06a;
  box-shadow: 0 0 0 3px rgba(196, 160, 106, 0.25);
}

.btn {
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:active {
  transform: translateY(0);
}

.filter-btn.is-on {
  background: #2c2622;
  color: #f6f1ea;
}

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

  .card-lift,
  .img-zoom img,
  .btn,
  .dropdown,
  .nav-link::after {
    transition: none;
  }
}
