  .contact-section {
    background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
  }

  .contact-form {
    max-width: 850px;
    margin: auto;
    border: 1px solid #e1e1e1;
    transition: all 0.3s ease;
  }

  .form-control, .form-select {
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    transition: 0.3s ease;
    color: #333;
  }

  .form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 10px rgba(13, 110, 253, 0.2);
  }

  .form-floating label {
    color: #777;
    transition: 0.2s;
  }

  .form-floating input:focus ~ label,
  .form-floating textarea:focus ~ label,
  .form-floating select:focus ~ label {
    color: #0d6efd;
    font-weight: 500;
  }

  .btn-submit {
    background: linear-gradient(135deg, #0d6efd, #002147);
    color: #fff;
    border: none;
    font-size: 1rem;
    transition: all 0.4s ease;
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3);
  }

  .btn-submit:hover {
    background: linear-gradient(135deg, #002147, #0d6efd);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(13, 110, 253, 0.4);
  }

  .error-msg {
    display: none;
    font-size: 0.85rem;
    color: red;
    margin-top: 5px;
  }

  /* Animations */
  @keyframes fadeIn {
    from {opacity: 0; transform: translateY(20px);}
    to {opacity: 1; transform: translateY(0);}
  }

  .animate-fadein { animation: fadeIn 0.8s ease forwards; }
  .animate-fadein-delay { animation: fadeIn 1.2s ease forwards; opacity: 0; }
  .animate-slideup { animation: fadeIn 1s ease forwards; }

  @media (max-width: 768px) {
    .contact-form { padding: 25px; }
    .form-floating label { font-size: 0.9rem; }
    .btn-submit { width: 100%; font-size: 1rem; }
  }