.aqp-overlay {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  overflow-y: auto;
  background: rgb(8 20 34 / 72%);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 180ms ease;
}

.aqp-overlay[hidden] { display: none; }
.aqp-overlay.is-visible { opacity: 1; }

.aqp-dialog {
  position: relative;
  width: min(100%, 520px);
  max-height: min(90vh, 760px);
  max-height: min(90dvh, 760px);
  overflow-y: auto;
  border: 1px solid #dce5ef;
  border-top: 5px solid #f36b21;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 80px rgb(0 0 0 / 30%);
  transform: translateY(10px) scale(.985);
  transition: transform 180ms ease;
  overscroll-behavior: contain;
}

.aqp-overlay.is-visible .aqp-dialog { transform: translateY(0) scale(1); }

.aqp-close {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 14px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #102f53;
  color: #fff;
  font: 400 28px/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 3px 10px rgb(0 0 0 / 18%);
}

.aqp-close:hover { background: #f36b21; }
.aqp-close:focus-visible, .aqp-submit:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

.aqp-content { padding: 34px 38px 30px; }
.aqp-eyebrow { display: block; margin: 0 46px 8px 0; color: #e45f1d; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.aqp-content h2 { margin: 0 42px 8px 0; color: #123a61; font-size: clamp(23px, 5vw, 29px); font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.aqp-description { margin: 0 0 16px; color: #536273; font-size: 14px; line-height: 1.5; }
.aqp-note { margin: 0 0 20px; padding: 12px 15px; border: 1px dashed #ef9a35; border-radius: 9px; background: #fff8e6; color: #43413d; font-size: 14px; line-height: 1.5; }
.aqp-note strong { color: #163b5f; }
.aqp-form { display: grid; gap: 14px; }
.aqp-form label { display: grid; gap: 6px; color: #223448; font-size: 14px; font-weight: 700; }
.aqp-form label > .aqp-label-text { color: #223448; }
.aqp-form .aqp-label-required { color: #e14b36; }
.aqp-form label small { display: inline; color: #7c8794; font-size: 12px; font-weight: 400; }
.aqp-form input:not([type="hidden"]), .aqp-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #cad5e0;
  border-radius: 7px;
  background: #fff;
  color: #1a2e43;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: inset 0 1px 2px rgb(18 42 66 / 5%);
}
.aqp-form textarea { min-height: 82px; resize: vertical; }
.aqp-form input:focus, .aqp-form textarea:focus { border-color: #1875bb; outline: 3px solid rgb(24 117 187 / 14%); }
.aqp-form input::placeholder, .aqp-form textarea::placeholder { color: #8995a3; opacity: 1; }
.aqp-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.aqp-submit {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 2px;
  padding: 12px 20px;
  border: 0;
  border-radius: 7px;
  background: #f36b21;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .015em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 150ms ease, transform 150ms ease;
}
.aqp-submit:hover { background: #d95317; transform: translateY(-1px); }
.aqp-submit:disabled { opacity: .7; cursor: wait; transform: none; }
.aqp-status { margin: 0; padding: 11px 13px; border-radius: 7px; background: #edf7ef; color: #176339; font-size: 14px; line-height: 1.5; }
.aqp-status[data-type="error"] { background: #fff0ed; color: #a82d20; }
.aqp-status[hidden] { display: none; }
.aqp-privacy { display: block; color: #7b8792; font-size: 11px; text-align: center; }
body.aqp-open { overflow: hidden; }

@media (max-width: 600px) {
  .aqp-overlay { align-items: center; padding: 12px; }
  .aqp-dialog { width: 100%; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 12px; }
  .aqp-content { padding: 29px 21px 22px; }
  .aqp-eyebrow { font-size: 10px; }
  .aqp-content h2 { font-size: 23px; }
  .aqp-description { margin-bottom: 13px; font-size: 13px; }
  .aqp-note { margin-bottom: 16px; padding: 10px 12px; font-size: 13px; }
  .aqp-form { gap: 12px; }
  .aqp-form label { gap: 5px; font-size: 13px; }
  .aqp-form input:not([type="hidden"]) { min-height: 46px; }
  .aqp-form textarea { min-height: 70px; }
  .aqp-submit { min-height: 48px; font-size: 14px; }
  .aqp-close { top: 10px; right: 10px; width: 35px; height: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .aqp-overlay, .aqp-dialog, .aqp-submit { transition: none; }
}
