:root {
  --ink: #21182e;
  --plum: #321a46;
  --gold: #c7a46b;
}

body {
  font-family: 'Raleway', sans-serif;
  color: var(--ink);
  background: #fbf8f2;
}

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

.hero-overlay {
  background: linear-gradient(90deg, rgba(22,13,33,0.84) 0%, rgba(22,13,33,0.58) 45%, rgba(22,13,33,0.18) 100%);
}

.card-lift {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.card-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 40px rgba(37,20,55,0.16);
}

.image-zoom img {
  transition: transform 0.55s ease;
}
.image-zoom:hover img {
  transform: scale(1.05);
}

/* Modal Animation */
.modal-panel {
  animation: modalIn 0.28s ease both;
}
@keyframes modalIn {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
/* Previous styles + new modal styles */
.tab-button {
  color: #6b5b7e;
  transition: all 0.2s;
}
.tab-button.active {
  color: #321a46;
  border-bottom: 4px solid #c7a46b;
  background: white;
  font-weight: 700;
}

.custom-scroll {
  scrollbar-width: thin;
  scrollbar-color: #c7a46b #f3f0e8;
}
.custom-scroll::-webkit-scrollbar { width: 8px; }
.custom-scroll::-webkit-scrollbar-thumb {
  background: #c7a46b;
  border-radius: 20px;
}