.inquiry-modal {
  width: min(720px, calc(100vw - 48px));
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 14px;
  background: #fff;
  color: #111;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .22);
}

.inquiry-modal:not([open]) { display: none; }
.inquiry-modal::backdrop { background: rgba(12, 17, 10, .72); }

.inquiry-modal__bar {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  padding: 16px 18px 0;
  background: #fff;
}

.inquiry-modal__close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}

.inquiry-modal__close:hover { background: #f5f0e6; }
.inquiry-modal__close:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.inquiry-modal__content { padding: 0 48px 48px; }
.inquiry-modal .inquiry__intro { position: static; }
.inquiry-modal .inquiry__intro .v2-title { max-width: 550px; font-size: clamp(36px, 3.5vw, 48px); }
.inquiry-modal .inquiry__intro .v2-copy { margin-top: 12px; max-width: 540px; font-size: 16px; }
.inquiry-modal .inquiry__body { margin-top: 32px; }
.inquiry-modal .inquiry-form__progress { margin-bottom: 22px; }
.inquiry-modal .inquiry-form__progress:focus { outline: none; }
.inquiry-modal .inquiry-form__required { margin: 0 0 20px; }
.inquiry-modal .inquiry-form__navigation { justify-content: flex-end; gap: 12px; margin-top: 28px; }
.inquiry-form__verification { margin-top: 24px; }
.inquiry-modal .inquiry-form__grid,
.inquiry-modal .inquiry-form__location-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.inquiry-modal [hidden] { display: none !important; }

.inquiry-modal.is-complete .inquiry__body { margin-top: 0; }
.inquiry-modal.is-complete .inquiry-modal__content { padding-top: 12px; }
.inquiry-modal .inquiry-form__success {
  padding: 0 0 12px;
  border: 0;
  text-align: center;
}
.inquiry-success__mark {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto 28px;
  overflow: visible;
}
.inquiry-success__disc { fill: #edf2e7; }
.inquiry-success__ring,
.inquiry-success__check { stroke: #3d5631; }
.inquiry-success__ring { stroke-width: 1.5; }
.inquiry-success__check { stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.inquiry-modal.is-complete .inquiry-success__mark {
  animation: inquiry-success-appear 420ms cubic-bezier(.2,.7,.3,1) both;
}
.inquiry-modal.is-complete .inquiry-success__check {
  stroke-dasharray: 1;
  animation: inquiry-success-draw 440ms 160ms cubic-bezier(.4,0,.2,1) both;
}
.inquiry-modal .inquiry-form__success h2 {
  max-width: 480px;
  margin: 0 auto 16px;
  font-size: clamp(30px, 3.5vw, 40px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.045em;
}
/* The heading receives programmatic focus for announcement, without a card outline. */
.inquiry-modal .inquiry-form__success h2:focus { outline: none; }
.inquiry-modal .inquiry-form__success p {
  max-width: 400px;
  margin: 0 auto;
  color: #555;
  font-size: 16px;
  line-height: 1.6;
}
.inquiry-success__done { min-width: 132px; margin-top: 28px; }

@keyframes inquiry-success-appear {
  from { opacity: 0; transform: scale(.86); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes inquiry-success-draw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .inquiry-modal.is-complete .inquiry-success__mark,
  .inquiry-modal.is-complete .inquiry-success__check { animation: none; }
  .inquiry-modal.is-complete .inquiry-success__check { stroke-dashoffset: 0; }
}

@media (max-width: 700px) {
  .inquiry-modal { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .inquiry-modal__content { padding: 0 22px 28px; }
  .inquiry-modal.is-complete .inquiry-modal__content { padding: 8px 24px 36px; }
  .inquiry-success__mark { width: 72px; height: 72px; margin-bottom: 24px; }
}
