/* Confirmation shown only after the form endpoint accepts the request. */
.request-success {
  box-sizing: border-box;
  width: min(28rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 2.5rem 2rem 2rem;
  overflow-y: auto;
  border: 1px solid #dce6f2;
  border-radius: 1.5rem;
  background: #fff;
  color: #3d4a5b;
  box-shadow: 0 1.5rem 6rem #10243d33;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: center;
}
.request-success::backdrop { background: #10243d80; backdrop-filter: blur(5px); }
body.request-success-open { overflow: hidden; }
.request-success .request-success-close {
  position: absolute; top: .5rem; right: .5rem;
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem;
  margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent;
  color: #607286; cursor: pointer;
}
.request-success-close svg { width: 1.125rem; height: 1.125rem; }
.request-success .request-success-close:hover { color: #3d4a5b; background: #f3f7fd; }
.request-success-art { width: 8rem; height: 8rem; margin: 0 auto 1.375rem; }
.request-success-art svg { display: block; width: 100%; height: 100%; overflow: visible; }
.request-success-art .success-ring { transform-origin: 60px 60px; }
.request-success-art .success-circle { stroke-dasharray: 264; stroke-dashoffset: 264; transform: rotate(-90deg); transform-origin: 60px 60px; }
.request-success-art .success-check { stroke-dasharray: 56; stroke-dashoffset: 56; }
.request-success-art .success-spark { opacity: 0; transform-origin: 60px 60px; }
.request-success h2 { margin: 0 0 .875rem; color: #3d4a5b; font-size: clamp(1.5rem, 5vw, 1.875rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.2; }
.request-success .request-success-copy { max-width: 21rem; margin: 0 auto; color: #5a6d82; font-size: 1rem; line-height: 1.75; white-space: pre-line; }
.request-success .request-success-email { margin: 1rem 0 0; color: #5a6d82; font-size: .8125rem; line-height: 1.6; }
.request-success .request-success-email[hidden] { display: none; }
.request-success .request-success-done { display: block; width: 100%; min-height: 3rem; margin: 1.75rem 0 0; padding: .75rem 1.5rem; border: 0; border-radius: .625rem; background: #e51d35; color: #fff; font: inherit; font-size: .9375rem; font-weight: 750; cursor: pointer; transition: background .15s ease; }
.request-success .request-success-done:hover { background: #bd1429; }
.request-success button:focus-visible { outline: 3px solid #26abd2; outline-offset: 4px; }
.request-success.is-animating { animation: request-dialog-in .26s ease-out both; }
.request-success.is-animating .success-ring { animation: request-ring-in .55s ease-out both; }
.request-success.is-animating .success-circle { animation: request-stroke .55s .08s ease-out forwards; }
.request-success.is-animating .success-check { animation: request-stroke .36s .4s ease-out forwards; }
.request-success.is-animating .success-spark { animation: request-sparks .8s .25s ease-out both; }
@keyframes request-dialog-in { from { opacity: 0; transform: translateY(.75rem) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes request-ring-in { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: scale(1); } }
@keyframes request-stroke { to { stroke-dashoffset: 0; } }
@keyframes request-sparks { 0% { opacity: 0; transform: scale(.75); } 50% { opacity: .85; } 100% { opacity: 0; transform: scale(1.12); } }
@media (max-width: 380px) { .request-success { padding: 2rem 1.25rem 1.5rem; border-radius: 1.125rem; } .request-success-art { width: 6.5rem; height: 6.5rem; } }
@media (prefers-reduced-motion: reduce) {
  .request-success, .request-success * { animation: none !important; transition: none !important; }
  .request-success-art .success-circle, .request-success-art .success-check { stroke-dashoffset: 0; }
}
