@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@400;500;600;700;800&display=swap');

/* Base Font & Styles */
body {
  font-family: 'Inter', sans-serif;
  color: #1C1E1D; /* Charcoal */
  background-color: #FAFAFA; /* Off-white */
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
}

/* Glassmorphism Navigation */
.glass-nav {
  background: rgba(250, 250, 250, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(28, 30, 29, 0.05);
}

/* Custom Desert Palette Utilities for fallback or specific layouts */
.bg-desert-red {
  background-color: #9A2B20;
}
.text-desert-red {
  color: #9A2B20;
}
.border-desert-red {
  borderColor: #9A2B20;
}

.bg-terracotta {
  background-color: #C6653E;
}
.text-terracotta {
  color: #C6653E;
}

.bg-desert-sand {
  background-color: #EFE9DF;
}
.text-desert-sand {
  color: #EFE9DF;
}

.bg-desert-charcoal {
  background-color: #1C1E1D;
}
.text-desert-charcoal {
  color: #1C1E1D;
}

.bg-desert-sage {
  background-color: #748C72;
}
.text-desert-sage {
  color: #748C72;
}

.bg-desert-sunset {
  background-color: #E07A5F;
}
.text-desert-sunset {
  color: #E07A5F;
}

/* CTA & Button Hover Animations */
.btn-primary {
  background-color: #9A2B20;
  color: #FAFAFA;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(154, 43, 32, 0.2), 0 2px 4px -1px rgba(154, 43, 32, 0.1);
}
.btn-primary:hover {
  background-color: #C6653E;
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(198, 101, 62, 0.3), 0 4px 6px -2px rgba(198, 101, 62, 0.2);
}

.btn-secondary {
  background-color: #EFE9DF;
  color: #1C1E1D;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-secondary:hover {
  background-color: #FAFAFA;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.btn-accent {
  background-color: #E07A5F;
  color: #FAFAFA;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(224, 122, 95, 0.2);
}
.btn-accent:hover {
  background-color: #C6653E;
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(198, 101, 62, 0.3);
}

/* Custom Cards */
.card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
}

/* Pulse Animation for Notification Bar */
@keyframes pulse-soft {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.25);
    opacity: 0.6;
  }
}
.pulse-dot {
  animation: pulse-soft 2s infinite ease-in-out;
}

/* Accordion Custom Transitions */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}
.accordion-content.active {
  max-height: 1000px;
  transition: max-height 0.5s cubic-bezier(1, 0, 1, 0);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #EFE9DF;
}
::-webkit-scrollbar-thumb {
  background: #C6653E;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: #9A2B20;
}

/* Lazy Load Transition */
img.lazy {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
img.lazy.loaded {
  opacity: 1;
}

/* Custom Timeline Styles */
.timeline-item::after {
  content: '';
  position: absolute;
  left: 21px;
  top: 36px;
  bottom: -20px;
  width: 2px;
  background-color: #EFE9DF;
}
.timeline-item:last-child::after {
  display: none;
}
