/* Small interaction utilities; the surrounding form keeps the site's design. */
[data-subscribe] [hidden] { display: none !important; }
.subscription-status { min-height: 1.5em; margin-top: .7rem; }
.subscription-status.is-error { color: #ae2031; }
.subscription-spinner { display: inline-block; width: 1em; height: 1em; margin-right: .5em; vertical-align: -.15em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: subscription-spin .75s linear infinite; }
.subscription-success { padding-block: 1.25rem; }
.subscription-success:focus { outline: 2px solid currentColor; outline-offset: 4px; }
.subscription-success svg { display: block; width: 3.75rem; height: 3.75rem; color: inherit; animation: subscription-appear .45s both; }
.subscription-success svg path { stroke-dasharray: 34; stroke-dashoffset: 34; animation: subscription-check .5s .22s ease forwards; }
.subscription-success p { font-weight: 700; }
@keyframes subscription-spin { to { transform: rotate(360deg); } }
@keyframes subscription-appear { from { opacity: 0; transform: scale(.72); } to { opacity: 1; transform: scale(1); } }
@keyframes subscription-check { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .subscription-spinner, .subscription-success svg, .subscription-success svg path { animation: none; }
  .subscription-success svg path { stroke-dashoffset: 0; }
}
