/* Custom Color Palette */
:root {
  --burgundy-50: #fdf2f2;
  --burgundy-100: #fce7e7;
  --burgundy-200: #f9d0d0;
  --burgundy-300: #f2a5a5;
  --burgundy-400: #e87070;
  --burgundy-500: #dc4c4c;
  --burgundy-600: #c42d2d;
  --burgundy-700: #780000;
  --burgundy-800: #600000;
  --burgundy-900: #330000;
  
  --blush-50: #fff1f2;
  --blush-100: #ffe4e6;
  --blush-200: #fecdd3;
  --blush-300: #fda4af;
}

/* Tailwind Custom Config via arbitrary values in HTML, but here for reference */
.bg-burgundy-700 { background-color: var(--burgundy-700); }
.bg-burgundy-600 { background-color: var(--burgundy-600); }
.bg-burgundy-800 { background-color: var(--burgundy-800); }
.bg-burgundy-100 { background-color: var(--burgundy-100); }
.bg-blush-50 { background-color: var(--blush-50); }
.bg-blush-100 { background-color: var(--blush-100); }
.bg-blush-200 { background-color: var(--blush-200); }
.bg-blush-300 { background-color: var(--blush-300); }
.text-burgundy-700 { color: var(--burgundy-700); }
.text-burgundy-600 { color: var(--burgundy-600); }

/* Typography */
body {
  font-family: 'Space Grotesk', sans-serif;
}

.font-syne {
  font-family: 'Syne', sans-serif;
}

/* Animations */
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.8s ease-out forwards;
  opacity: 0; /* Start hidden for JS enhancement */
}

.animate-fade-in-up[data-animate="true"] {
  opacity: 1;
}

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

/* Scroll Reveal (Progressive Enhancement) */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal.hidden {
  opacity: 0;
  transform: translateY(30px);
}

/* Service Card Hover Effect */
.service-card {
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--burgundy-700), var(--blush-300));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}

.service-card:hover::before {
  transform: scaleX(1);
}

/* Mobile Menu Transitions */
#mobile-menu {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

#mobile-menu.open {
  max-height: 400px;
  opacity: 1;
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--blush-50);
}

::-webkit-scrollbar-thumb {
  background: var(--burgundy-300);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--burgundy-500);
}
