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

:root {
  --base: #FDFCF8;
  --text: #172554; /* Slate/Midnight Blue */
  --accent-gold: #D97706; /* Saffron Gold */
  --accent-silver: #E2E8F0; /* Soft Silver */
  --border-light: rgba(23, 37, 84, 0.1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--base);
  color: var(--text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .font-serif {
  font-family: 'Playfair Display', serif;
}

/* Typography Utilities */
.text-balance {
  text-wrap: balance;
}

/* Lenis Recommended CSS for smooth scrolling */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Navigation */
.nav-scrolled {
  background-color: rgba(253, 252, 248, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* Swiper Hero */
.hero-swiper {
  width: 100%;
  height: 100vh;
}
.hero-swiper .swiper-slide {
  position: relative;
}
.hero-swiper .swiper-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 100%);
  z-index: 1;
}

/* Swiper Background Zoom Effect (Ken Burns) */
.swiper-zoom-bg {
  transform: scale(1.15);
  transition: transform 7s linear;
}
.swiper-slide-active .swiper-zoom-bg {
  transform: scale(1);
}

/* Swiper Text Slide Up Effect */
.slide-up-element {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.swiper-slide-active .slide-up-element {
  opacity: 1;
  transform: translateY(0);
}

/* Hero Content z-index fix */
.hero-content-overlay {
  z-index: 10;
}

/* Global fade in class */
.reveal-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Card Hover Utilities */
.premium-card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.premium-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.premium-card img {
  transition: transform 0.8s ease;
}
.premium-card:hover img {
  transform: scale(1.05);
}

/* Testimonial Swiper */
.testimonial-swiper .swiper-pagination-bullet {
  background-color: var(--accent-gold);
}
.testimonial-swiper {
  padding-bottom: 3rem !important;
}

/* Footer Links */
.footer-link {
  position: relative;
  display: inline-block;
}
.footer-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: var(--accent-gold);
  transition: width 0.3s ease;
}
.footer-link:hover::after {
  width: 100%;
}
