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

:root {
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: 'Outfit', sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;

  --forest-900: #13241C;
  --forest-800: #1B3527;
  --forest-700: #254937;
  --forest-600: #33614A;
  --forest-50: #F1F6F3;

  --cream-50: #FCFAF7;
  --cream-100: #F7F3EC;
  --cream-200: #EEE7DC;
  --cream-300: #E0D6C6;

  --caramel-500: #D87D26;
  --caramel-600: #B86518;
  --caramel-100: #FDF3E7;

  --berry-500: #C2384E;
  --berry-100: #FDECEF;

  --espresso-900: #141211;
  --espresso-800: #211E1D;
  --espresso-600: #5C5552;
  --espresso-400: #8C8480;
}

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

html {
  scroll-behavior: smooth;
  font-family: var(--font-sans);
  background-color: var(--cream-50);
  color: var(--espresso-800);
  -webkit-font-smoothing: antialiased;
}

body {
  overflow-x: hidden;
  line-height: 1.6;
}

/* Typography Helpers */
.font-serif {
  font-family: var(--font-serif);
}

.font-display {
  font-family: var(--font-display);
}

/* Glassmorphism */
.glass-nav {
  background: rgba(252, 250, 247, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(224, 214, 198, 0.4);
}

.glass-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(238, 231, 220, 0.7);
}

.glass-card-dark {
  background: rgba(27, 53, 39, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Glow & Shimmers */
.hero-glow {
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(62, 107, 82, 0.12) 0%, rgba(216, 125, 38, 0.08) 45%, transparent 70%);
  filter: blur(50px);
  pointer-events: none;
  z-index: 0;
}

.hero-glow-alt {
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(194, 56, 78, 0.1) 0%, rgba(247, 243, 236, 0) 70%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}

/* Micro-animations */
@keyframes floatSlow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(1deg); }
}

@keyframes pulseSubtle {
  0%, 100% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.02); }
}

.animate-float {
  animation: floatSlow 6s ease-in-out infinite;
}

.animate-pulse-subtle {
  animation: pulseSubtle 3s ease-in-out infinite;
}

/* Card Hover Elevate */
.hover-lift {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 35px -10px rgba(19, 36, 28, 0.09), 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #F7F3EC;
}
::-webkit-scrollbar-thumb {
  background: #C8BDAB;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #9A8D78;
}

/* Badges & Pills */
.pill-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 9999px;
}

/* Lightbox Modal */
.modal-overlay {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal-overlay.hidden-modal {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.modal-overlay.active-modal {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#lightbox-modal img {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(0.95);
}
#lightbox-modal.active-modal img {
  transform: scale(1);
}


/* Netlify Badge Suppression Safeguard */
[data-netlify-badge],
.netlify-badge,
#netlify-badge,
iframe[id*="netlify-badge"],
div[class*="netlify-badge"] {
  display: none !important;
}
