.signsend {
  --ss-bg: #ffffff;
  --ss-text: #17211b;
  --ss-muted: #53625a;
  --ss-border: #cbd5cf;
  --ss-primary: #17365d;
  --ss-primary-hover: var(--ss-primary);
  --ss-accent: #ffffff;
  --ss-danger: #b42318;
  --ss-radius: 16px;
  max-width: 820px;
  margin-inline: auto;
  color: var(--ss-text);
  font-family: inherit;
}
.signsend *, .signsend *::before, .signsend *::after { box-sizing: border-box; }
.signsend__header { margin-bottom: 1.5rem; }
.signsend__header h2 { margin: 0 0 .5rem; font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.15; }
.signsend__header p, .signsend__help { color: var(--ss-muted); font-size: 1rem; line-height: 1.6; }
.signsend__form { background: var(--ss-bg); border: 1px solid var(--ss-border); border-radius: 24px; padding: clamp(1rem, 4vw, 2rem); box-shadow: 0 18px 50px rgba(23, 54, 93, .10); }
.signsend__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.signsend__field { margin-bottom: 1.15rem; }
.signsend label, .signsend legend { display: block; font-weight: 700; margin-bottom: .45rem; }
.signsend input[type="text"], .signsend input[type="email"], .signsend input[type="url"], .signsend textarea {
  width: 100%; min-height: 48px; border: 2px solid var(--ss-border); border-radius: 10px; padding: .75rem .9rem; color: var(--ss-text); background: #fff; font: inherit;
}
.signsend textarea { min-height: 140px; resize: vertical; }
.signsend input:focus, .signsend textarea:focus, .signsend button:focus-visible { outline: 3px solid var(--ss-primary); outline-offset: 2px; border-color: var(--ss-primary); }
.signsend__choice, .signsend__video-fieldset { margin: 1.5rem 0; padding: 0; border: 0; }
.signsend__choice-options { display:flex; flex-wrap:wrap; gap:.75rem; }
.signsend__choice-options label { margin:0; cursor:pointer; }
.signsend__choice-options input { position:absolute; opacity:0; }
.signsend__choice-options span { display:block; padding:.8rem 1.15rem; border:2px solid var(--ss-primary); border-radius:999px; color:var(--ss-primary); }
.signsend__choice-options input:checked + span { background:var(--ss-primary); color:#fff; }
.signsend__choice-options input:focus-visible + span { outline:3px solid var(--ss-primary); outline-offset:3px; }
.signsend__video-fieldset legend { font-size: 1.2rem; }
.signsend__video-shell { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; overflow: hidden; border: 2px dashed var(--ss-border); border-radius: var(--ss-radius); background: #eef3f0; }
.signsend__preview, .signsend__playback { width: 100%; height: 100%; object-fit: cover; background: #000; }
.signsend__placeholder { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .65rem; padding: 1rem; text-align: center; color: var(--ss-muted); }
.signsend__placeholder[hidden] { display: none; }
.signsend__camera-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--ss-primary); color: var(--ss-accent); font-size: 1.8rem; }
.signsend__video-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; }
.signsend__timer { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 800; }
.signsend__button { min-height: 48px; border: 2px solid transparent; border-radius: 999px; padding: .75rem 1.15rem; font: inherit; font-weight: 800; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.signsend__button:hover { transform: translateY(-1px); }
.signsend__button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.signsend__button--submit, .signsend__button--record { background: var(--ss-primary); color: #fff; }
.signsend__button--submit:hover, .signsend__button--record:hover { filter: brightness(.88); }
.signsend__button--record.is-recording { background: var(--ss-danger); }
.signsend__button--secondary { background: #fff; color: var(--ss-primary); border-color: var(--ss-primary); }
.signsend__status { min-height: 1.5em; color: var(--ss-muted); }
.signsend__consent { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; margin: 1.5rem 0; }
.signsend__consent input { width: 22px; height: 22px; margin-top: .1rem; }
.signsend__consent label { font-weight: 500; line-height: 1.5; }
.signsend__result { margin-top: 1rem; padding: 0; border-radius: 10px; }
.signsend__result.is-success, .signsend__result.is-error { padding: 1rem; }
.signsend__result.is-success { background: #eef4fb; border: 1px solid #8ba4c2; color:#17365d; }
.signsend__result.is-error { background: #fff0ef; border: 1px solid #e29a94; color: #7a1510; }
.signsend__hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }
@media (max-width: 640px) {
  .signsend__grid { grid-template-columns: 1fr; gap: 0; }
  .signsend__timer { width: 100%; margin-left: 0; }
  .signsend__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .signsend__button { transition: none; } }

/* SignSend 1.3 accessible typography and captcha */
.signsend__video-title { font-size: 2rem; line-height: 1.2; font-weight: 800; margin-bottom: .65rem; }
.signsend__video-help { font-size: 1.125rem; line-height: 1.7; max-width: 46rem; }
.signsend--font-medium .signsend__field > label,
.signsend--font-medium .signsend__choice legend { font-size: 1rem; }
.signsend--font-large .signsend__field > label,
.signsend--font-large .signsend__choice legend { font-size: 1.125rem; }
.signsend--font-large .signsend__help { font-size: 1.125rem; }
.signsend--font-extra_large .signsend__field > label,
.signsend--font-extra_large .signsend__choice legend { font-size: 1.25rem; }
.signsend--font-extra_large .signsend__help { font-size: 1.25rem; }
.signsend--font-extra_large .signsend__video-title { font-size: 2.25rem; }
.signsend__spam { margin: 1.5rem 0; min-height: 1px; }
.signsend__spam-note { margin: 0; color: var(--ss-muted); font-size: .95rem; }
@media (max-width: 640px) { .signsend__video-title { font-size: 1.75rem; } .signsend--font-extra_large .signsend__video-title { font-size: 2rem; } }
