@charset "UTF-8";
/* Voice Security — "Request early access" modal (Figma 13090:5849) */
.modal.vs_modal {
  position: fixed;
  inset: 0;
  z-index: 100001; /* above the sticky header and top promo banner */
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 20, 26, 0.6);
}
.modal.vs_modal.show {
  display: flex;
}
.modal.vs_modal * {
  box-sizing: border-box;
}

.vs_modal_inner {
  display: flex;
  width: 880px;
  max-width: 100%;
  max-height: 92vh;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
}

.vs_modal_aside {
  flex: 0 0 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #b2e2ff 0%, #cfcafa 100%);
}
.vs_modal_aside img {
  width: 160px;
  height: 160px;
}

.vs_modal_content {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  /* Hold the form's height after submit so the modal doesn't shrink to the
     shorter success message. */
  min-height: 660px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 32px;
  overflow-y: auto;
}

.vs_modal_close {
  position: absolute;
  top: 24px;
  right: 24px;
  display: inline-flex;
  padding: 6px;
  border: 0;
  background: none;
  cursor: pointer;
}

.vs_modal_title {
  margin: 0;
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  color: #1a1a22;
}

.vs_form {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.vs_form_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.vs_field {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vs_field--half {
  flex: 1 1 calc(50% - 8px);
}
.vs_field input {
  width: 100%;
  height: 52px;
  padding: 12px 16px;
  border: 1px solid #e7e7ea;
  border-radius: 10px;
  font-size: 16px;
  color: #1a1a22;
}
.vs_field input::placeholder {
  color: #757585;
}
.vs_field.has_error input {
  border-color: #e4002b;
}

.vs_field_error {
  font-size: 12px;
  line-height: 16px;
  color: #e4002b;
}

.vs_form_products {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.vs_form_label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #757585;
}

.vs_radio_group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.vs_radio {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 12px 16px;
  border: 1px solid #e7e7ea;
  border-radius: 10px;
  cursor: pointer;
  /* No radio dot — the bordered box itself is the selectable control. */
}
.vs_radio input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.vs_radio:has(input:checked) {
  border: 2px solid #614efa;
}

.vs_radio_label {
  font-size: 16px;
  line-height: 24px;
  color: #1a1a22;
}

.vs_form_footer {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.vs_form_message {
  font-size: 12px;
  line-height: 16px;
  color: #757585;
  text-align: right;
}
.vs_form_message.error {
  color: #e4002b;
}

.vs_submit_holder.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.vs_form_success {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vs_form_success[hidden] {
  display: none;
}
.vs_form_success p {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  color: #434351;
}

@media screen and (max-width: 768px) {
  .vs_modal_inner {
    flex-direction: column;
    max-height: 90vh;
  }
  .vs_modal_content {
    min-height: 0;
  }
  .vs_modal_aside {
    display: none;
  }
  .vs_field--half {
    flex: 1 1 100%;
  }
}
/* "See it in action" demo modal — tabbed multi-video player. */
.modal.vs_demo_modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 20, 26, 0.6);
}
.modal.vs_demo_modal.show {
  display: flex;
}
.modal.vs_demo_modal * {
  box-sizing: border-box;
}

.vs_demo_modal_inner {
  position: relative;
  width: 996px;
  max-width: 100%;
  max-height: 92vh;
  overflow: auto;
  padding: 32px;
  background: #fff;
  border-radius: 24px;
}

.vs_demo_modal_close {
  position: absolute;
  top: 24px;
  right: 24px;
  opacity: 0.8;
  z-index: 2;
  cursor: pointer;
}

.vs_demo_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding-right: 40px;
}

.vs_demo_tab {
  padding: 8px 16px;
  border: 1px solid #e7e7ea;
  border-radius: 48px;
  background: #fff;
  color: #1a1a22;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.vs_demo_tab:hover {
  border-color: #614efa;
}
.vs_demo_tab.active {
  background: #131032;
  border-color: #131032;
  color: #fff;
}

.vs_demo_modal .video_holder {
  width: 100%;
  aspect-ratio: 996/550;
  border-radius: 16px;
  overflow: hidden;
}
.vs_demo_modal .video_holder #vs_demo_player,
.vs_demo_modal .video_holder iframe {
  width: 100% !important;
  height: 100% !important;
  display: block;
  border: 0;
  border-radius: 16px;
}

@media screen and (max-width: 768px) {
  .vs_demo_modal_inner {
    padding: 24px;
  }
  .vs_demo_nav {
    padding-right: 36px;
  }
}
