.contact-form { display: flex; flex-direction: column; gap: 12px; max-width: 520px; }
    .contact-form label {
      font-size: 0.85rem;
      color: #555;
      font-weight: 500;
    }
    .contact-form input,
    .contact-form textarea {
      width: 100%;
      padding: 10px 12px;
      font-size: 1rem;
      font-family: inherit;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      background: #fff;
      color: #1a1a1a;
    }
    .contact-form input:focus,
    .contact-form textarea:focus {
      outline: 2px solid #2563eb;
      outline-offset: 1px;
      border-color: #2563eb;
    }
    .contact-form input.has-error,
    .contact-form textarea.has-error {
      border-color: #dc3545;
      outline-color: #dc3545;
    }
    .contact-form textarea { resize: vertical; min-height: 120px; }
    .contact-form button {
      align-self: flex-start;
      padding: 10px 24px;
      font-size: 1rem;
      font-weight: 600;
      background: #2563eb;
      color: #fff;
      border: none;
      border-radius: 6px;
      cursor: pointer;
    }
    .contact-form button:hover { background: #1d4ed8; }
    .contact-form button:disabled { opacity: 0.6; cursor: not-allowed; }
    .contact-form .form-error {
      color: #dc3545;
      font-size: 0.85rem;
      margin: 0;
    }
    .contact-success {
      background: #ecfdf5;
      border: 1px solid #10b981;
      color: #065f46;
      padding: 16px;
      border-radius: 6px;
      margin-top: 16px;
    }
