/* Contact confirmation: navy sweep over the form card, then the check draws in. */
.contact-form-wrap{position:relative;overflow:hidden}
.contact-form[hidden]{display:none!important}
.contact-confirmation[hidden]{display:none!important}
.contact-confirmation{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding:clamp(56px,11vh,130px) 28px 40px;text-align:center;color:#fff;
  background:radial-gradient(circle at 80% 8%,rgba(112,71,205,.45),transparent 55%),#080d32;
  clip-path:inset(0 0 0 100%);transition:clip-path .85s cubic-bezier(.7,0,.2,1)}
.is-confirmed>.contact-confirmation{clip-path:inset(0 0 0 0)}
.cc-inner{max-width:560px}
.cc-check{position:relative;width:84px;height:84px;margin:0 auto 26px}
.cc-check svg{display:block;width:84px;height:84px;overflow:visible}
.cc-ring{fill:none;stroke:url(#ccg);stroke-width:3;stroke-dasharray:240;stroke-dashoffset:240}
.cc-tick{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.cc-fill{fill:rgba(255,255,255,.12);opacity:0;transform-origin:center;transform:scale(.6)}
.cc-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #a98bff;opacity:0}
.is-play .cc-ring{animation:ccdash .7s ease .05s forwards}
.is-play .cc-tick{animation:ccdash .4s ease .6s forwards}
.is-play .cc-fill{animation:ccpop .5s cubic-bezier(.34,1.56,.64,1) .5s forwards}
.is-play .cc-pulse{animation:ccping 1.2s ease-out .65s}
@keyframes ccdash{to{stroke-dashoffset:0}}
@keyframes ccpop{to{opacity:1;transform:scale(1)}}
@keyframes ccping{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
.cc-rule{display:block;width:0;height:3px;margin:0 auto 22px;border-radius:3px;background:linear-gradient(100deg,#f6b684,#d08f9b 38%,#a362b7 68%,#6220e0);transition:width .8s cubic-bezier(.22,1,.36,1) .1s}
.is-play .cc-rule{width:120px}
.contact-confirmation h3,.contact-confirmation p,.contact-confirmation button{opacity:0;transform:translateY(14px)}
.is-play h3,.is-play p,.is-play button{animation:ccrise .6s cubic-bezier(.22,1,.36,1) forwards}
.is-play h3{animation-delay:.15s}.is-play p{animation-delay:.25s}.is-play button{animation-delay:.35s}
@keyframes ccrise{to{opacity:1;transform:none}}
.contact-confirmation h3{margin:0 0 12px;color:#fff;font-size:34px;font-weight:500;letter-spacing:-.03em}
.contact-confirmation p{max-width:520px;margin:0 auto 24px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.65}
.contact-confirmation button{padding:12px 18px;border:1px solid rgba(255,255,255,.4);border-radius:7px;background:transparent;color:#fff;cursor:pointer;font:600 14px "Inter",sans-serif}
.contact-confirmation button:hover,.contact-confirmation button:focus-visible{background:rgba(255,255,255,.1)}
.contact-confirmation:focus{outline:none}
@media(max-width:700px){.contact-confirmation{padding:56px 20px 32px}.contact-confirmation h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.contact-confirmation{transition:none}.is-play *{animation-duration:.01s!important;animation-delay:0s!important}.cc-rule{transition:none}}
