.insec-form-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 42px;
  background: #fff;
  color: #111;
  font-family: inherit;
}
.insec-form-wrap * { box-sizing: border-box; }
.insec-form-banner {
  display: block;
  width: calc(100% + 84px);
  max-width: none;
  height: auto;
  margin: 0 -42px 28px;
}
.insec-form-title {
  max-width: 760px;
  margin: 0 auto 20px;
  color: #111;
  font-size: 25px;
  line-height: 1.3;
  font-weight: 500;
  text-align: center;
}
.insec-event-details {
  margin: 0 0 24px;
  color: #008fcf;
  font-size: 20px;
  line-height: 1.35;
  text-align: center;
}
.insec-form-intro {
  margin: 0 0 34px;
  color: #111;
  font-size: 16px;
  line-height: 1.55;
  text-align: center;
}
.insec-form-intro p:last-child { margin-bottom: 0; }
.insec-form-intro a,
.insec-closing-text a,
.insec-legal-text a { color: #008fcf; text-decoration: underline; }
.insec-registration-form { display: block; }
.insec-field-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
  gap: 26px;
}
.insec-field { margin: 0 0 24px; padding: 0; border: 0; }
.insec-field > label,
.insec-options > legend {
  display: block;
  margin: 0 0 8px;
  color: #111;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
}
.insec-field > label > span,
.insec-options > legend > span:not(.insec-question-number),
.insec-consent strong { color: #f51c2b; }
.insec-field > input,
.insec-other-field input {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 10px 14px;
  border: 2px solid #008fcf;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font: inherit;
  box-shadow: none;
  outline: 0;
}
.insec-field > input:focus,
.insec-other-field input:focus {
  border-color: #17377d;
  box-shadow: 0 0 0 3px rgba(0, 143, 207, .14);
}
.insec-options { margin-top: 34px; }
.insec-options > legend { margin-bottom: 20px; font-size: 17px; font-weight: 600; }
.insec-question-number { display: inline-block; margin-right: 8px; color: inherit; font-weight: 700; }
.insec-options > label {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 14px;
  padding-left: 40px;
  color: #111;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  cursor: pointer;
}
.insec-options > label input,
.insec-consent input {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: #008fcf;
}
.insec-options > label span { color: inherit; }
.insec-other-field { margin: 4px 0 0 75px; }
.insec-other-field label { display: block; margin: 0 0 7px; font-size: 13px; }
.insec-other-field input { min-height: 43px; border-width: 1px; }
.insec-options-note { margin: 14px 0 0 60px; font-size: 12px; font-style: italic; }
.insec-closing-text {
  margin: 46px 0 26px;
  color: #111;
  font-size: 14px;
  line-height: 1.55;
  text-align: center;
}
.insec-closing-text p { margin: 0 0 18px; }
.insec-closing-text p:last-child {
  padding-top: 20px;
  border-top: 1px solid #64c9ec;
  font-size: 12px;
}
.insec-legal-text {
  margin: 28px 0 14px;
  padding: 20px;
  border: 1px solid #d8e6ec;
  background: #f7fbfd;
  color: #333;
  font-size: 12px;
  line-height: 1.55;
}
.insec-legal-text p { margin: 0 0 12px; }
.insec-legal-text p:last-child { margin-bottom: 0; }
.insec-consent { margin: 14px 0 28px; }
.insec-consent label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #111;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 700;
  cursor: pointer;
}
.insec-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 14px 25px;
  border: 0;
  border-radius: 0;
  background: #008fcf;
  color: #fff;
  font: inherit;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.insec-submit:hover,
.insec-submit:focus { background: #17377d; color: #fff; transform: translateY(-1px); }
.insec-submit svg { width: 21px; height: 21px; }
.insec-required { margin: 12px 0 0; font-size: 12px; opacity: .75; }
.insec-form-message { margin: 0 0 24px; padding: 15px 18px; border-left: 4px solid; }
.insec-form-message ul { margin: 8px 0 0; padding-left: 20px; }
.insec-form-success { border-color: #14804a; background: #eaf7f0; color: #0b6338; }
.insec-form-error { border-color: #c8212f; background: #fff0f1; color: #8b1420; }
@media (max-width: 767px) {
  .insec-form-wrap { padding: 26px 20px 30px; }
  .insec-form-banner { width: calc(100% + 40px); margin: 0 -20px 24px; }
  .insec-form-title { font-size: 21px; }
  .insec-event-details { font-size: 17px; }
  .insec-field-grid { grid-template-columns: 1fr; gap: 0; }
  .insec-options > label { padding-left: 0; }
  .insec-other-field { margin-left: 35px; }
  .insec-options-note { margin-left: 0; }
  .insec-submit { width: 100%; }
}
