/* ── Google Fonts ─────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Nunito+Sans:wght@300;400;600;700&display=swap');

/* ── Base ─────────────────────────────────────── */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* ── Hero Carousel — pure CSS, zero JS ───────── */
.hero-wrapper {
  position: relative;
  height: 100vh;
  min-height: 640px;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: slideShow 24s infinite;
  animation-fill-mode: backwards;
}

/* Slide 1 starts fully visible; others fade in */
.hero-slide:nth-child(1) { animation-name: slideShowFirst; animation-delay: 0s;  }
.hero-slide:nth-child(2) { animation-delay: 6s;  }
.hero-slide:nth-child(3) { animation-delay: 12s; }
.hero-slide:nth-child(4) { animation-delay: 18s; }

@keyframes slideShowFirst {
  0%   { opacity: 1; }
  22%  { opacity: 1; }
  28%  { opacity: 0; }
  96%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes slideShow {
  0%   { opacity: 0; }
  4%   { opacity: 1; }
  22%  { opacity: 1; }
  28%  { opacity: 0; }
  96%  { opacity: 0; }
  100% { opacity: 0; }
}

/* ── Scroll indicator bounce ──────────────────── */
@keyframes bounce {
  0%, 100% { transform: translateY(0);    }
  50%       { transform: translateY(10px); }
}
.scroll-indicator { animation: bounce 2s ease-in-out infinite; }

/* ── Nav scroll effect — JS adds .scrolled ────── */
.site-header.scrolled {
  background: rgba(253, 248, 245, 0.97) !important;
  box-shadow: 0 2px 20px rgba(61, 26, 40, 0.08);
}

/* ── Smooth card hover lift ───────────────────── */
.lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(61, 26, 40, 0.14);
}

/* ── Details/summary accordion (Contact FAQ) ──── */
details summary {
  cursor: pointer;
  list-style: none;
}
details summary::-webkit-details-marker { display: none; }
details summary::after {
  content: '+';
  font-size: 1.4rem;
  color: #8B4560;
  transition: transform 0.25s ease;
}
details[open] summary::after {
  content: '−';
}
details > div {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
details[open] > div {
  max-height: 400px;
}

/* ── Custom scrollbar ─────────────────────────── */
::-webkit-scrollbar       { width: 6px; }
::-webkit-scrollbar-track { background: #FDF8F5; }
::-webkit-scrollbar-thumb { background: #C4748A; border-radius: 3px; }
