/* Custom Color Palette & Utilities */
:root {
  --midnight-900: #0f172a;
  --midnight-800: #1e293b;
  --mint-600: #0d9488;
  --mint-500: #14b8a6;
  --mint-400: #2dd4bf;
  --mint-200: #99f6e4;
  --mint-50: #f0fdfa;
}

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

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

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #0f172a;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #0d9488;
}

/* Animation Utilities */
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile Menu Transitions */
#mobile-menu {
  box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

/* Form Focus States */
input:focus, select:focus, textarea:focus {
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
}

/* Button Hover Effects */
button, a {
  transition: all 0.3s ease;
}

/* Image Hover Zoom */
img {
  transition: transform 0.5s ease;
}

/* Print Styles */
@media print {
  nav, #contact, footer {
    display: none;
  }
  
  body {
    color: #000;
    background: #fff;
  }
}
