html { scroll-behavior: smooth; }

.gradient-text {
  background: linear-gradient(135deg, #1D4ED8 0%, #0D9488 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-bg {
  background: linear-gradient(135deg, #EFF6FF 0%, #F0FDFA 60%, #ffffff 100%);
}

.card-hover {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(29, 78, 216, 0.12);
}

.btn-primary {
  background: linear-gradient(135deg, #1D4ED8 0%, #0D9488 100%);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.btn-primary:hover { opacity: 0.9; transform: translateY(-2px); }

.nav-link {
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(135deg, #1D4ED8, #0D9488);
  transition: width 0.3s ease;
}
.nav-link:hover::after { width: 100%; }

#mobile-menu {
  transition: max-height 0.3s ease, opacity 0.3s ease;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
#mobile-menu.open { max-height: 400px; opacity: 1; }

#form-success { display: none; }

.social-icon { transition: transform 0.2s ease, opacity 0.2s ease; }
.social-icon:hover { transform: scale(1.15); opacity: 0.85; }
