:root {
  --fc-h: clamp(33px, 1.94rem + 1.4vw, 58px);
  --fc-area-h: clamp(70px, 4rem + 2.7vw, 136px);
  --fc-radius: clamp(8px, 0.425rem + 0.38vw, 16px);
  --fc-radius-sm: clamp(6px, 0.31rem + 0.28vw, 12px);
  --fc-bw: clamp(1.2px, 1.05px + 0.04vw, 2px);
  --fc-pad-x: clamp(8px, 0.5rem + 0.63vw, 22px);
  --fc-pad-y: clamp(9px, 0.55rem + 0.33vw, 18px);
  --fc-gap: clamp(5px, 0.34rem + 0.5vw, 16px);
  --fc-fs: clamp(11px, 0.6875rem + 0.32vw, 19px);
  --fc-label-fs: clamp(9.5px, 0.62rem + 0.19vw, 15px);
  --fc-help-fs: clamp(9px, 0.588rem + 0.19vw, 14.5px);
  --fc-opt-fs: clamp(10.5px, 0.66rem + 0.31vw, 18px);
  --fc-icon: clamp(12px, 0.8rem + 0.38vw, 24px);
  --fc-box: clamp(16px, 1.025rem + 0.5vw, 30px);
  --fc-ring: clamp(15px, 0.94rem + 0.45vw, 27px);
  --fc-label-gap: clamp(4px, 0.25rem + 0.2vw, 10px);
  --fc-foot-gap: clamp(4px, 0.22rem + 0.2vw, 10px);
  --fc-opt-pad-y: clamp(6.5px, 0.425rem + 0.38vw, 16px);
  --fc-opt-pad-x: clamp(7px, 0.4875rem + 0.38vw, 17px);
  --fc-radio-pad-y: clamp(7px, 0.4625rem + 0.5vw, 19px);
  --fc-stack: clamp(7px, 0.42rem + 0.44vw, 16px);
  --fc-form-gap: clamp(11px, 0.7rem + 0.66vw, 28px);
  --fc-ring-w: clamp(2px, 1.4px + 0.23vw, 6px);
  --fc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --fc-dur: 0.18s;
}

.field {
  --st-accent: var(--c-brand, #1D6FE0);
  --st-border: var(--c-line-light, #D8ECFF);
  --st-bg: #F8FBFF;
  --st-bg-focus: var(--c-white, #FFFFFF);
  --st-label: var(--c-ink-2, #48607F);
  --st-icon: var(--c-ink-3, #94A9C4);
  --st-hint: var(--c-ink-3, #94A9C4);
  --st-mark: #C9DFF7;
  --st-ring-color: rgba(29, 111, 224, 0.13);
  --st-ring: 0 0 0 0 rgba(29, 111, 224, 0);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
}

.field > * {
  grid-column: 1 / -1;
}

.field--error {
  --st-accent: var(--c-err, #DC3B4B);
  --st-border: var(--c-err, #DC3B4B);
  --st-bg: #FFF7F8;
  --st-bg-focus: #FFF7F8;
  --st-label: var(--c-err, #DC3B4B);
  --st-icon: var(--c-err, #DC3B4B);
  --st-hint: var(--c-ink-3, #94A9C4);
  --st-mark: var(--c-err, #DC3B4B);
  --st-ring-color: rgba(220, 59, 75, 0.16);
}

.field--success {
  --st-accent: var(--c-ok, #12A57A);
  --st-border: var(--c-ok, #12A57A);
  --st-bg: #F5FCF9;
  --st-bg-focus: #F5FCF9;
  --st-label: var(--c-ok, #12A57A);
  --st-icon: var(--c-ok, #12A57A);
  --st-hint: var(--c-ok, #12A57A);
  --st-mark: var(--c-ok, #12A57A);
  --st-ring-color: rgba(18, 165, 122, 0.16);
}

.field--checkbox {
  margin-top: var(--fc-stack);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  min-height: 0;
  align-items: start;
}

.field--checkbox .field__hint,
.field--checkbox .field__error {
  margin-top: calc(var(--fc-foot-gap) * 0.5);
  padding-left: calc(var(--fc-box) + var(--fc-gap));
}

.field:focus-within {
  --st-border: var(--st-accent);
  --st-bg: var(--st-bg-focus);
  --st-label: var(--st-accent);
  --st-icon: var(--st-accent);
  --st-ring: 0 0 0 var(--fc-ring-w) var(--st-ring-color);
}

.field__label {
  display: block;
  margin: 0 0 var(--fc-label-gap);
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-label-fs);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.005em;
  color: var(--st-label, var(--c-ink-2, #48607F));
  transition: color var(--fc-dur) var(--fc-ease);
  cursor: pointer;
  overflow-wrap: anywhere;
}

.field__control {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--fc-gap);
  width: 100%;
  min-width: 0;
  min-height: var(--fc-h);
  padding: 0 var(--fc-pad-x);
  border: var(--fc-bw) solid var(--st-border, var(--c-line-light, #D8ECFF));
  border-radius: var(--fc-radius);
  background-color: var(--st-bg, #F8FBFF);
  box-shadow: var(--st-ring, none);
  cursor: text;
  transition:
    border-color var(--fc-dur) var(--fc-ease),
    background-color var(--fc-dur) var(--fc-ease),
    box-shadow var(--fc-dur) var(--fc-ease);
}

.field__icon {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--fc-icon);
  height: var(--fc-icon);
  color: var(--st-icon, var(--c-ink-3, #94A9C4));
  transition: color var(--fc-dur) var(--fc-ease);
  pointer-events: none;
}

.field__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.field__input {
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-fs);
  font-weight: 400;
  line-height: 1.4;
  color: var(--c-ink, #0B1B33);
  appearance: none;
  -webkit-appearance: none;
}

.field__input::placeholder {
  color: var(--c-ink-3, #94A9C4);
  opacity: 1;
}

.field__input::-webkit-search-cancel-button,
.field__input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.field__input:disabled,
.field__input[readonly] {
  color: var(--c-ink-3, #94A9C4);
  cursor: not-allowed;
}

.field__input--area {
  align-self: stretch;
  min-height: var(--fc-area-h);
  height: auto;
  padding: var(--fc-pad-y) 0;
  line-height: 1.55;
  resize: vertical;
  overflow: auto;
  scrollbar-width: thin;
}

.field__control:has(.field__input--area) {
  align-items: flex-start;
}

.field__control:has(.field__input--area) .field__icon {
  align-self: flex-start;
  margin-top: var(--fc-pad-y);
}

.field__control:has(.field__input--area) .field__state {
  align-self: flex-start;
  margin-top: var(--fc-pad-y);
}

.field__state {
  position: relative;
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--fc-icon);
  height: var(--fc-icon);
  font-size: var(--fc-icon);
  color: var(--st-accent, var(--c-brand, #1D6FE0));
  pointer-events: none;
}

.field__state svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.field--error .field__state,
.field--success .field__state {
  display: inline-flex;
}

.field--error .field__state:empty::before {
  content: "";
  display: block;
  width: 0.15em;
  height: 0.4em;
  border-radius: 0.08em;
  background: currentColor;
  transform: translateY(-0.11em);
}

.field--error .field__state:empty::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.14em;
  width: 0.15em;
  height: 0.15em;
  margin-left: -0.075em;
  border-radius: 50%;
  background: currentColor;
}

.field--success .field__state:empty::before {
  content: "";
  display: block;
  width: 0.28em;
  height: 0.54em;
  border: solid currentColor;
  border-width: 0 0.15em 0.15em 0;
  transform: rotate(45deg) translate(-0.04em, -0.07em);
}

.field__hint {
  grid-column: 1;
  justify-self: start;
  margin: var(--fc-foot-gap) 0 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-help-fs);
  line-height: 1.45;
  color: var(--st-hint, var(--c-ink-3, #94A9C4));
  transition: color var(--fc-dur) var(--fc-ease);
  overflow-wrap: anywhere;
}

.field__hint:empty {
  display: none;
}

.field__counter {
  grid-column: 2;
  justify-self: end;
  align-self: start;
  margin: var(--fc-foot-gap) 0 0;
  padding-left: var(--fc-gap);
  font-family: var(--f-head, "Manrope", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-help-fs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
  white-space: nowrap;
  color: var(--c-ink-3, #94A9C4);
  transition: color var(--fc-dur) var(--fc-ease);
}

.field__counter.is-near {
  color: var(--c-warn, #E0A21D);
}

.field__counter.is-full {
  color: var(--c-err, #DC3B4B);
}

.field__error {
  display: block;
  margin: var(--fc-foot-gap) 0 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-help-fs);
  font-weight: 500;
  line-height: 1.45;
  color: var(--c-err, #DC3B4B);
  overflow-wrap: anywhere;
}

.field__error:empty {
  display: none;
}

.field__input:-webkit-autofill,
.field__input:-webkit-autofill:hover,
.field__input:-webkit-autofill:focus,
.field__input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--c-ink, #0B1B33);
  -webkit-box-shadow: 0 0 0 100px var(--st-bg, #F8FBFF) inset;
  box-shadow: 0 0 0 100px var(--st-bg, #F8FBFF) inset;
  caret-color: var(--c-ink, #0B1B33);
  transition: background-color 100000s ease 0s, color 100000s ease 0s;
}

.field__input:autofill {
  -webkit-text-fill-color: var(--c-ink, #0B1B33);
  box-shadow: 0 0 0 100px var(--st-bg, #F8FBFF) inset;
  caret-color: var(--c-ink, #0B1B33);
  transition: background-color 100000s ease 0s, color 100000s ease 0s;
}

.field__native-select:-webkit-autofill {
  -webkit-text-fill-color: var(--c-ink, #0B1B33);
  -webkit-box-shadow: 0 0 0 100px var(--st-bg, #F8FBFF) inset;
  box-shadow: 0 0 0 100px var(--st-bg, #F8FBFF) inset;
}

.field__native-select {
  width: 100%;
  min-width: 0;
  min-height: var(--fc-h);
  padding: 0 var(--fc-pad-x);
  border: var(--fc-bw) solid var(--st-border, var(--c-line-light, #D8ECFF));
  border-radius: var(--fc-radius);
  background-color: var(--st-bg, #F8FBFF);
  box-shadow: var(--st-ring, none);
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-fs);
  color: var(--c-ink, #0B1B33);
  cursor: pointer;
  transition:
    border-color var(--fc-dur) var(--fc-ease),
    background-color var(--fc-dur) var(--fc-ease),
    box-shadow var(--fc-dur) var(--fc-ease);
}

.field__native-select:focus-visible {
  outline: 2px solid var(--c-azure, #3B9EFF);
  outline-offset: 2px;
}

.field__control > .field__native-select {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.field__native-checkbox,
.field__native-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.select {
  position: relative;
  width: 100%;
  min-width: 0;
  grid-column: 1 / -1;
}

.field__control > .select {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.field__control > .select > .select__button {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.field__control > .select > .select__button:hover {
  border-color: transparent;
}

.field__control > .select > .select__list {
  left: calc(var(--fc-pad-x) * -1);
  right: calc(var(--fc-pad-x) * -1);
}

.select__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fc-gap);
  width: 100%;
  min-width: 0;
  min-height: var(--fc-h);
  margin: 0;
  padding: 0 var(--fc-pad-x);
  border: var(--fc-bw) solid var(--st-border, var(--c-line-light, #D8ECFF));
  border-radius: var(--fc-radius);
  background-color: var(--st-bg, #F8FBFF);
  box-shadow: var(--st-ring, none);
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-fs);
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  color: var(--c-ink, #0B1B33);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition:
    border-color var(--fc-dur) var(--fc-ease),
    background-color var(--fc-dur) var(--fc-ease),
    box-shadow var(--fc-dur) var(--fc-ease);
}

.select__button:hover {
  border-color: var(--c-sky, #7CC4FF);
}

.select__button:focus-visible {
  outline: 2px solid var(--c-azure, #3B9EFF);
  outline-offset: 2px;
}

.select__button:disabled {
  background-color: var(--c-mist, #EEF6FF);
  border-color: var(--c-line-light, #D8ECFF);
  color: var(--c-ink-3, #94A9C4);
  cursor: not-allowed;
}

.select__value {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select__value:empty::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  vertical-align: -0.15em;
}

.select__value[data-placeholder="true"],
.select__value--placeholder,
.select--placeholder .select__value,
.select.is-empty .select__value {
  color: var(--c-ink-3, #94A9C4);
}

.select__caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--fc-icon);
  height: var(--fc-icon);
  color: var(--st-accent, var(--c-brand, #1D6FE0));
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform var(--fc-dur) var(--fc-ease);
  pointer-events: none;
}

.select__caret svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.select__button[aria-expanded="true"] .select__caret {
  transform: rotate(180deg);
}

.select.is-open .select__caret {
  transform: rotate(180deg);
}

.select__list {
  position: absolute;
  z-index: var(--z-dropdown, 60);
  top: calc(100% + var(--fc-foot-gap));
  left: 0;
  right: 0;
  display: block;
  max-height: clamp(150px, 44vh, 460px);
  margin: 0;
  padding: 6px;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--c-line-light, #D8ECFF);
  border-radius: 12px;
  background: var(--c-white, #FFFFFF);
  box-shadow: 0 18px 44px rgba(11, 27, 51, 0.14);
  scrollbar-width: thin;
  scrollbar-color: #C9DFF7 transparent;
  animation: fc-drop 0.16s var(--fc-ease) both;
}

.select__list[hidden] {
  display: none;
}

.select__list--up {
  top: auto;
  bottom: calc(100% + var(--fc-foot-gap));
  animation-name: fc-drop-up;
}

.select__list::-webkit-scrollbar {
  width: 8px;
}

.select__list::-webkit-scrollbar-track {
  background: transparent;
}

.select__list::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: content-box;
  background-color: #C9DFF7;
}

@keyframes fc-drop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fc-drop-up {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.select__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fc-gap);
  padding: var(--fc-opt-pad-y) var(--fc-opt-pad-x);
  border-radius: var(--fc-radius-sm);
  background: transparent;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-opt-fs);
  font-weight: 400;
  line-height: 1.4;
  color: var(--c-ink-2, #48607F);
  cursor: pointer;
  transition:
    background-color 0.14s var(--fc-ease),
    color 0.14s var(--fc-ease);
}

.select__option + .select__option {
  margin-top: 2px;
}

.select__option:hover {
  background: var(--c-mist, #EEF6FF);
  color: var(--c-ink, #0B1B33);
}

.select__option.is-active,
.select__option[data-active="true"] {
  background: var(--c-mist, #EEF6FF);
  color: var(--c-ink, #0B1B33);
  box-shadow: inset 0 0 0 1px var(--c-ice, #D8ECFF);
}

.select__option[aria-selected="true"] {
  background: var(--c-mist, #EEF6FF);
  color: var(--c-ink, #0B1B33);
  font-weight: 600;
}

.select__option[aria-disabled="true"] {
  color: var(--c-ink-3, #94A9C4);
  cursor: not-allowed;
  background: transparent;
}

.select__dot {
  display: none;
  flex: 0 0 auto;
  width: clamp(5px, 0.31rem + 0.14vw, 10px);
  height: clamp(5px, 0.31rem + 0.14vw, 10px);
  border-radius: 50%;
  background: var(--dot, var(--c-azure, #3B9EFF));
}

.select__label {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.select__check {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(11px, 0.68rem + 0.3vw, 20px);
  height: clamp(11px, 0.68rem + 0.3vw, 20px);
  color: var(--c-brand, #1D6FE0);
}

.select__check svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.select__option[aria-selected="true"] .select__check {
  display: inline-flex;
}

.checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--fc-gap);
  min-width: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: var(--fc-stack);
}

.checkbox + .checkbox {
  margin-top: var(--fc-stack);
}

.checkbox__box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--fc-box);
  height: var(--fc-box);
  margin-top: 0.1em;
  border: var(--fc-bw) solid var(--st-mark, #C9DFF7);
  border-radius: calc(var(--fc-box) * 0.32);
  background-color: var(--c-white, #FFFFFF);
  background-image: none;
  box-shadow: none;
  transition:
    border-color var(--fc-dur) var(--fc-ease),
    background-color var(--fc-dur) var(--fc-ease),
    box-shadow var(--fc-dur) var(--fc-ease);
}

.checkbox__tick {
  display: block;
  width: calc(var(--fc-box) * 0.6);
  height: calc(var(--fc-box) * 0.6);
  fill: none;
  stroke: var(--c-white, #FFFFFF);
  stroke-width: 3.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  transform: scale(0.5);
  transition:
    opacity var(--fc-dur) var(--fc-ease),
    transform var(--fc-dur) var(--fc-ease);
}

.checkbox__text {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-opt-fs);
  line-height: 1.5;
  color: var(--c-ink-2, #48607F);
  overflow-wrap: anywhere;
  transition: color var(--fc-dur) var(--fc-ease);
}

.checkbox__text a {
  color: var(--c-brand, #1D6FE0);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.checkbox:hover .checkbox__box {
  border-color: var(--c-sky, #7CC4FF);
}

.field__native-checkbox:focus-visible + .checkbox__box {
  outline: 2px solid var(--c-azure, #3B9EFF);
  outline-offset: 3px;
}

.field__native-checkbox:checked + .checkbox__box {
  border-color: transparent;
  background-image: var(--g-brand, linear-gradient(135deg, #1D6FE0 0%, #3B9EFF 55%, #7CC4FF 100%));
  box-shadow: 0 4px 12px rgba(29, 111, 224, 0.28);
}

.field__native-checkbox:checked + .checkbox__box .checkbox__tick {
  opacity: 1;
  transform: scale(1);
}

.field__native-checkbox:checked ~ .checkbox__text {
  color: var(--c-ink, #0B1B33);
}

.field__native-checkbox:disabled + .checkbox__box {
  background-color: var(--c-mist, #EEF6FF);
  background-image: none;
  border-color: var(--c-ice, #D8ECFF);
  box-shadow: none;
}

.field__native-checkbox:disabled ~ .checkbox__text {
  color: var(--c-ink-3, #94A9C4);
}

.checkbox:has(.field__native-checkbox:checked) .checkbox__box {
  border-color: transparent;
  background-image: var(--g-brand, linear-gradient(135deg, #1D6FE0 0%, #3B9EFF 55%, #7CC4FF 100%));
  box-shadow: 0 4px 12px rgba(29, 111, 224, 0.28);
}

.checkbox:has(.field__native-checkbox:checked) .checkbox__tick {
  opacity: 1;
  transform: scale(1);
}

.checkbox:has(.field__native-checkbox:checked) .checkbox__text {
  color: var(--c-ink, #0B1B33);
}

.checkbox:has(.field__native-checkbox:disabled) {
  cursor: not-allowed;
}

.checkbox.is-checked .checkbox__box {
  border-color: transparent;
  background-image: var(--g-brand, linear-gradient(135deg, #1D6FE0 0%, #3B9EFF 55%, #7CC4FF 100%));
  box-shadow: 0 4px 12px rgba(29, 111, 224, 0.28);
}

.checkbox.is-checked .checkbox__tick {
  opacity: 1;
  transform: scale(1);
}

.checkbox.is-checked .checkbox__text {
  color: var(--c-ink, #0B1B33);
}

.checkbox.is-disabled {
  cursor: not-allowed;
}

.field__native-checkbox:checked + .checkbox__box:empty::after {
  content: "";
  display: block;
  width: calc(var(--fc-box) * 0.26);
  height: calc(var(--fc-box) * 0.5);
  border: solid var(--c-white, #FFFFFF);
  border-width: 0 0.16em 0.16em 0;
  transform: rotate(45deg) translate(-0.05em, -0.08em);
}

.checkbox.is-checked .checkbox__box:empty::after {
  content: "";
  display: block;
  width: calc(var(--fc-box) * 0.26);
  height: calc(var(--fc-box) * 0.5);
  border: solid var(--c-white, #FFFFFF);
  border-width: 0 0.16em 0.16em 0;
  transform: rotate(45deg) translate(-0.05em, -0.08em);
}

.radio {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--fc-gap);
  min-width: 0;
  padding: var(--fc-radio-pad-y) var(--fc-pad-x);
  border: var(--fc-bw) solid #E3EFFC;
  border-radius: var(--fc-radius);
  background: var(--c-white, #FFFFFF);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    border-color var(--fc-dur) var(--fc-ease),
    background-color var(--fc-dur) var(--fc-ease),
    box-shadow var(--fc-dur) var(--fc-ease);
}

.radio-group {
  display: flex;
  flex-direction: column;
  gap: var(--fc-stack);
}

.radio-group__title {
  display: block;
  width: 100%;
  margin: 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fs-xs);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: var(--ls-caps, 0.1em);
  text-transform: uppercase;
  color: var(--c-ink-2, #48607F);
  overflow-wrap: anywhere;
}

.radio-group__title:not(:first-child) {
  margin-top: var(--fc-stack);
}

.radio + .radio {
  margin-top: var(--fc-stack);
}

.radio:hover {
  border-color: var(--c-ice, #D8ECFF);
  background: #FAFDFF;
}

.radio__ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--fc-ring);
  height: var(--fc-ring);
  border: clamp(1.5px, 1.2px + 0.06vw, 3px) solid var(--st-mark, #C9DFF7);
  border-radius: 50%;
  background: var(--c-white, #FFFFFF);
  transition: border-color var(--fc-dur) var(--fc-ease);
}

.radio__dot {
  display: block;
  width: calc(var(--fc-ring) * 0.5);
  height: calc(var(--fc-ring) * 0.5);
  border-radius: 50%;
  background-image: var(--g-brand, linear-gradient(135deg, #1D6FE0 0%, #3B9EFF 55%, #7CC4FF 100%));
  opacity: 0;
  transform: scale(0.4);
  transition:
    opacity var(--fc-dur) var(--fc-ease),
    transform var(--fc-dur) var(--fc-ease);
}

.radio__text {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-opt-fs);
  font-weight: 400;
  line-height: 1.45;
  color: var(--c-ink-2, #48607F);
  overflow-wrap: anywhere;
  transition: color var(--fc-dur) var(--fc-ease);
}

.field__native-radio:focus-visible + .radio__ring {
  outline: 2px solid var(--c-azure, #3B9EFF);
  outline-offset: 3px;
}

.field__native-radio:checked + .radio__ring {
  border-color: var(--c-brand, #1D6FE0);
}

.field__native-radio:checked + .radio__ring .radio__dot {
  opacity: 1;
  transform: scale(1);
}

.field__native-radio:checked ~ .radio__text {
  font-weight: 600;
  color: var(--c-ink, #0B1B33);
}

.field__native-radio:disabled + .radio__ring {
  border-color: var(--c-ice, #D8ECFF);
  background: var(--c-mist, #EEF6FF);
}

.field__native-radio:disabled ~ .radio__text {
  color: var(--c-ink-3, #94A9C4);
}

.radio:has(.field__native-radio:checked) {
  background: var(--c-mist, #EEF6FF);
  border-color: var(--c-brand, #1D6FE0);
}

.radio:has(.field__native-radio:disabled) {
  cursor: not-allowed;
  background: var(--c-mist, #EEF6FF);
  border-color: var(--c-ice, #D8ECFF);
}

.radio.is-checked {
  background: var(--c-mist, #EEF6FF);
  border-color: var(--c-brand, #1D6FE0);
}

.radio.is-checked .radio__ring {
  border-color: var(--c-brand, #1D6FE0);
}

.radio.is-checked .radio__dot {
  opacity: 1;
  transform: scale(1);
}

.radio.is-checked .radio__text {
  font-weight: 600;
  color: var(--c-ink, #0B1B33);
}

.radio.is-disabled {
  cursor: not-allowed;
}

.field__honeypot,
.field__honeypot-input {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.form {
  display: flex;
  flex-direction: column;
  gap: var(--fc-form-gap);
  min-width: 0;
}

.form__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fc-form-gap);
  min-width: 0;
}

.form__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--fc-form-gap);
  min-width: 0;
  grid-column: 1 / -1;
}

.form__row > * {
  flex: 1 1 min(100%, 15rem);
  min-width: 0;
}

.form__row--stack {
  flex-direction: column;
  flex-wrap: nowrap;
}

.form__row--stack > * {
  flex: 0 0 auto;
  width: 100%;
}

.form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fc-stack);
  grid-column: 1 / -1;
}

.form__actions--stretch .btn {
  flex: 1 1 auto;
}

.form__note {
  grid-column: 1 / -1;
  margin: 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-help-fs);
  line-height: 1.5;
  color: var(--c-ink-2, #48607F);
  overflow-wrap: anywhere;
}

.form__note a {
  color: var(--c-brand, #1D6FE0);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.form__message {
  --msg-mark: var(--c-brand, #1D6FE0);
  display: flex;
  align-items: flex-start;
  gap: var(--fc-gap);
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--fc-pad-y) var(--fc-pad-x);
  border: var(--fc-bw) solid var(--c-line-light, #D8ECFF);
  border-radius: var(--fc-radius);
  background: var(--c-mist, #EEF6FF);
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-opt-fs);
  font-weight: 500;
  line-height: 1.5;
  color: var(--c-ink, #0B1B33);
  overflow-wrap: anywhere;
  animation: fc-message 0.2s var(--fc-ease) both;
}

.form__message[hidden] {
  display: none;
}

.form__message:empty {
  display: none;
}

.form__message::before {
  content: "";
  flex: 0 0 auto;
  width: 0.6em;
  height: 0.6em;
  margin-top: 0.46em;
  border-radius: 50%;
  background: var(--msg-mark);
}

.form__message:has(svg)::before {
  display: none;
}

.form__message svg {
  flex: 0 0 auto;
  width: var(--fc-icon);
  height: var(--fc-icon);
  margin-top: 0.1em;
  fill: none;
  stroke: var(--msg-mark);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.form__message--success,
.form__message--ok {
  --msg-mark: var(--c-ok, #12A57A);
  border-color: var(--c-ok, #12A57A);
  background: #F5FCF9;
}

.form__message--error,
.form__message--err {
  --msg-mark: var(--c-err, #DC3B4B);
  border-color: var(--c-err, #DC3B4B);
  background: #FFF7F8;
}

.form__message--warn {
  --msg-mark: var(--c-warn, #E0A21D);
  border-color: var(--c-warn, #E0A21D);
  background: var(--c-warn-bg, #FFFAF0);
}

.form__message-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: center;
  color: var(--msg-mark);
}

.form__message-icon:empty {
  display: none;
}

.form__message-body {
  flex: 1 1 auto;
  min-width: 0;
}

.form__message-title {
  margin: 0;
  font-family: var(--f-head, "Manrope", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-opt-fs);
  font-weight: 700;
  line-height: 1.35;
  color: var(--c-ink, #0B1B33);
}

.form__message-title:empty {
  display: none;
}

.form__message-text {
  margin: var(--fc-foot-gap) 0 0;
  font-family: var(--f-body, "Golos Text", "Segoe UI", system-ui, sans-serif);
  font-size: var(--fc-help-fs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--c-ink-2, #48607F);
}

.form__message-text:empty {
  display: none;
}

.form__message-title:empty + .form__message-text {
  margin-top: 0;
}

@keyframes fc-message {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 300px) {
  .field__icon {
    display: inline-flex;
  }

  .select__dot {
    display: block;
  }
}

@media (min-width: 515px) {
  .form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 920px) {
  .radio-group--inline {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .radio-group--inline .radio {
    flex: 1 1 clamp(180px, 30%, 320px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .field__label,
  .field__control,
  .field__icon,
  .field__hint,
  .field__counter,
  .field__native-select,
  .select__button,
  .select__caret,
  .select__list,
  .select__option,
  .checkbox__box,
  .checkbox__tick,
  .checkbox__text,
  .radio,
  .radio__ring,
  .radio__dot,
  .radio__text,
  .form__message {
    transition: none;
    animation: none;
  }
}
