.consult-modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 3000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 24px;
    }

    .consult-modal-overlay.open {
      display: flex;
    }

    .consult-modal-overlay .modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(8, 8, 74, 0.58);
      backdrop-filter: blur(4px);
      animation: modalFadeIn .3s ease;
    }

    .consult-modal {
      position: relative;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow-lg);
      max-width: 560px;
      width: 100%;
      max-height: 90vh;
      overflow-y: auto;
      padding: 40px;
      animation: modalPopIn .35s cubic-bezier(.2, .9, .3, 1.2);
    }

    @keyframes modalFadeIn {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }

    @keyframes modalPopIn {
      from {
        opacity: 0;
        transform: translateY(24px) scale(.97);
      }

      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .consult-modal .modal-close {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid var(--line);
      background: var(--parchment);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: var(--ink);
      transition: background .2s ease;
      padding: 0;
    }

    .consult-modal .modal-close:hover {
      background: #fff;
    }

    .consult-modal h3 {
      font-size: 22px;
      margin-bottom: 8px;
      padding-right: 30px;
    }

    .consult-modal p.modal-sub {
      color: var(--slate);
      margin-bottom: 24px;
      font-size: 14.5px;
    }

    .consult-modal .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      margin-bottom: 18px;
    }

    @media (max-width:560px) {
      .consult-modal .form-row {
        grid-template-columns: 1fr;
      }

      .consult-modal {
        padding: 30px 22px;
      }
    }

    .consult-modal label {
      display: block;
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 6px;
      color: var(--ink);
    }

    .consult-modal input,
    .consult-modal select,
    .consult-modal textarea {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid var(--line);
      border-radius: 10px;
      font-family: 'Inter', sans-serif;
      font-size: 14.5px;
      color: var(--ink);
      background: #fff;
    }

    .consult-modal textarea {
      resize: vertical;
      min-height: 100px;
    }

    .consult-modal .full {
      margin-bottom: 22px;
    }

    .consult-modal button.btn-brass {
      border: none;
      width: 100%;
      font-family: 'Inter', sans-serif;
    }

    .form-status {
      margin-top: 12px;
      color: var(--slate);
      font-size: 13px;
    }

    .form-status.error {
      color: #a52a2a;
    }

    .consult-modal .modal-success {
      display: none;
      text-align: center;
      padding: 12px 0 6px;
    }

    .consult-modal .modal-success svg {
      margin-bottom: 14px;
    }

    .consult-modal .modal-success h4 {
      font-size: 19px;
      margin-bottom: 8px;
    }

    .consult-modal .modal-success p {
      color: var(--slate);
      font-size: 14.5px;
    }
