@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Lato', sans-serif;
  background-color: #F8FAFC;
  color: #0F172A;
}

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

/* Custom styles for animations and effects */
.hero-gradient {
  background: radial-gradient(circle at top center, rgba(30, 58, 138, 0.05) 0%, rgba(248, 250, 252, 1) 100%);
}

.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 200px;
  padding-bottom: 1rem;
}

.faq-icon {
  transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: #1E3A8A;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

.pulse-icon {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(180, 83, 9, 0.7);
  }
  
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(180, 83, 9, 0);
  }
  
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(180, 83, 9, 0);
  }
}

/* Mobile Optimizations */
@media (max-width: 640px) {
  /* Prevent auto-zoom on iOS Safari when focusing inputs */
  input, select, textarea, .form-input {
    font-size: 16px !important;
  }
  
  /* Safe touch targets */
  button, a.btn, input[type="button"], input[type="submit"] {
    min-height: 44px;
  }
}
