/* Form feedback: native disclosure, server-confirmed success, no extra library. */
.creative .form-more summary::after {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: linear-gradient(currentColor,currentColor) center/14px 1px no-repeat,
              linear-gradient(currentColor,currentColor) center/1px 14px no-repeat;
  transition: background-size .28s ease, transform .38s cubic-bezier(.22,1,.36,1);
}
.creative .form-more.is-expanded summary::after,
.creative .form-more[open]:not([data-form-motion]) summary::after {
  background-size: 14px 1px, 1px 0;
  transform: rotate(180deg);
}
.creative .form-more summary:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 5px;
  border-radius: 2px;
}
.creative [data-form-fields][hidden],
.creative .form-success[hidden] { display: none; }
.creative .contact-paper.is-complete > .contact-form-heading,
.creative .contact-paper.is-complete > p { display: none; }
.creative .form-success {
  padding: 34px 0;
  text-align: center;
  color: var(--red);
  scroll-margin-block: 110px;
}
.creative .form-success:focus { outline: none; }
.creative .form-success-mark { width: 76px; height: 76px; margin: 0 auto 24px; }
.creative .form-success-mark svg { display: block; width: 100%; height: 100%; overflow: visible; }
.creative .form-success-mark circle { fill: var(--red); }
.creative .form-success-mark path { fill: none; stroke: var(--paper); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.creative .form-success h3 { font-size: clamp(36px, 4vw, 48px); line-height: 1.08; margin: 0 0 20px; }
.creative .form-success p { max-width: 32ch; margin: 0 auto; font-size: 15px; line-height: 1.75; color: var(--text); }
.creative .form-success p strong { display: block; color: var(--red); font-weight: 500; }
.creative .form-success .form-success-next { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 12px; }
.creative .form-success-next a { color: var(--red); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.creative [data-submit] .spin { display: inline-block; width: 14px; height: 14px; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; margin-right: 7px; vertical-align: -2px; }
.creative [data-submit]:disabled { cursor: wait; }
@media (prefers-reduced-motion: no-preference) {
  .creative .form-more.is-expanded .form-more-fields { animation: af-form-fields .32s .06s ease-out both; }
  .creative .form-success:not([hidden]) .form-success-mark { animation: af-success-mark .55s cubic-bezier(.2,.8,.2,1) both; }
  .creative .form-success:not([hidden]) path { stroke-dasharray: 30; stroke-dashoffset: 30; animation: af-success-check .5s .25s ease-out forwards; }
  .creative .form-success:not([hidden]) :is(h3,p) { animation: af-form-fields .5s .2s ease-out both; }
  .creative .form-success:not([hidden]) .form-success-next { animation-delay: .3s; }
  .creative [data-submit] .spin { animation: af-form-spin .8s linear infinite; }
  @keyframes af-form-fields { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  @keyframes af-success-mark { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: scale(1); } }
  @keyframes af-success-check { to { stroke-dashoffset: 0; } }
  @keyframes af-form-spin { to { transform: rotate(360deg); } }
}
@media (prefers-reduced-motion: reduce) {
  .creative .form-more summary::after { transition: none; }
  .creative .form-success *, .creative .form-more-fields, .creative [data-submit] .spin { animation: none !important; }
}
@media (max-width:700px) {
  .creative .form-success { padding: 24px 0; }
  .creative .form-success-mark { width: 64px; height: 64px; }
  .creative .form-success p { font-size: 14px; }
}
