/* Base Styles */
html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  color: #fff;
  background-color: #111;
}

/* Custom Colors */
/* Header/Nav colors - emerald */
.bg-nav {
  background-color: #065f46; /* emerald-800 */
}

.bg-nav-hover {
  background-color: #047857; /* emerald-700 */
}

.text-nav {
  color: #059669; /* emerald-600 */
}

/* Button/Accent colors - emerald */
.bg-primary {
  background-color: #047857; /* emerald-700 */
}

.bg-primary-light {
  background-color: #059669; /* emerald-600 */
}

.bg-primary-hover {
  background-color: #065f46; /* emerald-800 */
}

.text-primary {
  color: #047857; /* emerald-700 */
}

.hover\:bg-primary:hover {
  background-color: #047857; /* emerald-700 */
}

.hover\:bg-primary-hover:hover {
  background-color: #065f46; /* emerald-800 */
}

.hover\:text-primary:hover {
  color: #047857; /* emerald-700 */
}

/* Animation Classes */
.animate-fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

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

/* Header Styles */
header {
  background-color: transparent;
  transition: all 0.3s ease;
}

header.scrolled {
  background-color: #063831;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

header.scrolled .text-white {
  color: #111827;
}

header.scrolled .nav-link {
  color: #ffffff;
}

header.scrolled .nav-link:hover {
  color: #0d7680;
}

header.scrolled .nav-link.active {
  color: #0d7680;
  border-bottom: 2px solid #0d7680;
}

.nav-link.active {
  color: #0d7680;
  border-bottom: 2px solid #0d7680;
}

/* Hero Section */
#hero {
  background-color: #065f46;
  background-image: linear-gradient(#065f46c1, rgba(12, 16, 25, 0.95)), url('assets/laptop_hero.webp');
  background-size: cover;
  background-position: center;
  position: relative;
}

/* Helper Classes */
.text-accent {
  color: #0d7680; /* Accent color */
}

.bg-accent {
  background-color: #063831; /* Primary brand color */
}

/* Form Elements */
input, textarea {
  transition: all 0.3s ease;
}

input:focus, textarea:focus {
  border-color: #0d7680;
  outline: none;
}

button {
  transition: all 0.3s ease;
}

/* Image hover effects */
.hover-lift {
  transition: transform 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-5px);
}

/* Mobile Menu */
#mobile-menu {
  transition: opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
  opacity: 1;
  transform: translateY(0);
  z-index: 50;
  background-color: #065f46;
  display: block;
  height: auto;
  max-height: 0;
  overflow: hidden;
}

#mobile-menu.hidden {
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
}

#mobile-menu.open {
  max-height: 300px;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
  
  h2 {
    font-size: 2rem;
  }
  
  .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  #mobile-menu {
    background-color: #065f46;
  }
  
  #mobile-menu a:hover {
    background-color: #047857;
  }
}