/* Finish the contact form at its reading edge. Retain the existing submit
   progress fill, arrow, focus treatment and delivery-status region. */
html #contact .contact-form > .contact-submit {
  align-self: flex-end;
  margin-inline-start: auto;
  margin-inline-end: 0;
  border-radius: 4px;
}

/* Readiness fills in ink. Gold is a separate face, crossfaded over it on
   intent, so pointer exit never resets the form's progress. */
html #contact .contact-submit.contact-send {
  transition: color 260ms ease, border-color 320ms ease;
}
html #contact .contact-submit.contact-send::before {
  transition: transform 600ms cubic-bezier(.22, .61, .36, 1);
}
html #contact .contact-submit.contact-send::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: #D4AF37; /* SIGNAL / Złoto · Świetliste */
  transform: scaleX(var(--contact-fill));
  transform-origin: left;
  opacity: 0;
  transition: transform 600ms cubic-bezier(.22, .61, .36, 1), opacity 360ms cubic-bezier(.4, 0, .2, 1);
}
html[dir=rtl] #contact .contact-submit.contact-send::after {
  transform-origin: right;
}
html #contact .contact-submit .contact-send-mask {
  transition: clip-path 600ms cubic-bezier(.22, .61, .36, 1), color 260ms ease;
}
html #contact .contact-submit.contact-send:not(:disabled):focus-visible {
  color: var(--ink, #171813);
  border-color: #9E7C12;
}
html #contact .contact-submit.contact-send:not(:disabled):focus-visible::after {
  opacity: 1;
}
html #contact .contact-submit.contact-send:not(:disabled):focus-visible .contact-send-mask {
  color: #171813;
}
@media (hover: hover) and (pointer: fine) {
  html #contact .contact-submit.contact-send:not(:disabled):hover {
    color: var(--ink, #171813);
    border-color: #9E7C12;
  }
  html #contact .contact-submit.contact-send:not(:disabled):hover::after {
    opacity: 1;
  }
  html #contact .contact-submit.contact-send:not(:disabled):hover .contact-send-mask {
    color: #171813;
  }
}
@media (prefers-reduced-motion: reduce) {
  html #contact .contact-submit.contact-send,
  html #contact .contact-submit.contact-send::before,
  html #contact .contact-submit.contact-send::after,
  html #contact .contact-submit .contact-send-mask {
    transition: none;
  }
}
html.motion-paused #contact .contact-submit.contact-send,
html.motion-paused #contact .contact-submit.contact-send::before,
html.motion-paused #contact .contact-submit.contact-send::after,
html.motion-paused #contact .contact-submit .contact-send-mask {
  transition: none;
}
@media (forced-colors: active) {
  html #contact .contact-submit.contact-send::after { display: none; }
  html #contact .contact-submit.contact-send,
  html #contact .contact-submit.contact-send .contact-send-mask {
    color: ButtonText !important;
    border-color: ButtonText !important;
  }
}
