@layer utilities {
  .content-auto {
      content-visibility: auto;
  }
  .text-shadow {
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  .text-shadow-lg {
      text-shadow: 0 4px 8px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.08);
  }
  .backdrop-blur {
      backdrop-filter: blur(8px);
  }
  .bg-grid {
      background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 20px 20px;
  }
  .animate-gradient {
      background-size: 200% 200%;
      animation: gradientShift 15s ease infinite;
  }
  @keyframes gradientShift {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
  }
  .hover-lift {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .hover-lift:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  .card-glow {
      box-shadow: 0 0 15px rgba(0, 194, 255, 0.1);
      transition: box-shadow 0.3s ease;
  }
  .card-glow:hover {
      box-shadow: 0 0 25px rgba(0, 194, 255, 0.3);
  }
  .mobile-nav-active {
      max-height: 500px;
      opacity: 1;
      visibility: visible;
  }
  .mobile-nav-inactive {
      max-height: 0;
      opacity: 0;
      visibility: hidden;
  }
  .nav-link {
      position: relative;
      overflow: hidden;
  }
  .nav-link::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #00c2ff;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
  }
  .nav-link:hover::after {
      transform: translateX(0);
  }
  .mobile-nav-link {
      position: relative;
      padding-left: 15px;
  }
  .mobile-nav-link::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background-color: #00c2ff;
      opacity: 0;
      transition: opacity 0.3s ease;
  }
  .mobile-nav-link:hover::before {
      opacity: 1;
  }
  .card-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .card-hover:hover {
      transform: translateY(-8px) scale(1.02);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  }
  .btn-pulse {
      animation: btnPulse 2s infinite;
  }
  @keyframes btnPulse {
      0% { box-shadow: 0 0 0 0 rgba(0, 194, 255, 0.4); }
      70% { box-shadow: 0 0 0 10px rgba(0, 194, 255, 0); }
      100% { box-shadow: 0 0 0 0 rgba(0, 194, 255, 0); }
  }
  .text-gradient {
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      background-image: linear-gradient(135deg, #0d58a2, #00c2ff);
  }
  .text-balance {
      text-wrap: balance;
  }
  .timeline-item {
      position: relative;
      padding-left: 2rem;
      margin-bottom: 2.5rem;
  }
  .timeline-item::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.5rem;
      width: 1rem;
      height: 1rem;
      border-radius: 50%;
      background-color: #00c2ff;
      box-shadow: 0 0 10px rgba(0, 194, 255, 0.6);
  }
  .timeline-item::after {
      content: '';
      position: absolute;
      left: 0.45rem;
      top: 1.5rem;
      width: 2px;
      height: calc(100% + 1rem);
      background-color: rgba(0, 194, 255, 0.3);
  }
  .timeline-item:last-child::after {
      display: none;
  }
  .team-card {
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease;
  }
  .team-card:hover {
      transform: translateY(-8px);
  }
  .team-card:hover .team-overlay {
      opacity: 1;
      transform: translateY(0);
  }
  .team-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(13, 88, 162, 0.9), rgba(13, 88, 162, 0.7), transparent);
      color: white;
      padding: 1.5rem;
      transform: translateY(100%);
      opacity: 0;
      transition: all 0.4s ease;
  }
  .stats-number-animate {
      counter-reset: num var(--num-start);
      animation: countUp 2s forwards ease-out;
  }
  .stats-number-animate::after {
      content: counter(num);
  }
  @keyframes countUp {
      to {
          counter-increment: num var(--num-end);
      }
  }
  .bg-pattern {
      background-image: radial-gradient(rgba(0, 194, 255, 0.1) 1px, transparent 1px);
      background-size: 20px 20px;
  }
  .animate-float {
      animation: float 6s ease-in-out infinite;
  }
  .animate-float-delay-1 {
      animation: float 6s ease-in-out 1s infinite;
  }
  .animate-float-delay-2 {
      animation: float 6s ease-in-out 2s infinite;
  }
  .animate-float-delay-3 {
      animation: float 6s ease-in-out 3s infinite;
  }
  .feature-icon {
      transition: all 0.3s ease;
  }
  .feature-card:hover .feature-icon {
      transform: scale(1.1) rotate(5deg);
      color: #00c2ff;
  }
  .contact-card {
      transition: all 0.3s ease;
  }
  .contact-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
  }
  .form-input {
      transition: all 0.3s ease;
  }
  .form-input:focus {
      border-color: #00c2ff;
      box-shadow: 0 0 0 3px rgba(0, 194, 255, 0.2);
  }
  .map-container {
      height: 400px;
      width: 100%;
      border-radius: 1rem;
      overflow: hidden;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
  }
}