@font-face { font-family: "TT Commons Pro"; src: url("assets/fonts/TT-Commons-Pro-Medium.woff") format("woff"); font-weight: 500; font-display: swap; }
@font-face { font-family: "TT Commons Pro"; src: url("assets/fonts/TT-Commons-Pro-Bold.woff") format("woff"); font-weight: 700; font-display: swap; }
.client-registration { left: 420px; top: 3333px; width: 1080px; min-height: 0; display: flex; flex-direction: column; align-items: center; gap: 48px; --font-form: "TT Commons Pro", Arial, sans-serif; }
.client-registration-title { position: relative; width: 100%; height: 100px; margin: 0 auto; }
.client-registration-title img { position: absolute; left: 0; top: 0; display: block; max-width: none; transform-origin: 0 0; }
.client-registration-subtitle { position: relative; width: 100%; margin: 0; font: 500 36px/1.2 var(--font-tt); letter-spacing: normal; text-transform: none; text-align: center; white-space: nowrap; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.client-registration-form { position: relative; margin: 0; width: 100%; min-height: 740px; border-radius: 96px; background: rgba(222,243,255,.64); -webkit-backdrop-filter: blur(32px); backdrop-filter: blur(32px); color: #12112f; overflow: hidden; }
.client-registration-loading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; margin: 0; padding: 50px; font: 500 25.222px/1.3 var(--font-form); text-align: center; }
.client-registration-loading-message { margin: 0; max-width: 760px; }
.client-registration-form.is-ready { min-height: 0; }
.client-registration-form.is-ready > .client-registration-loading { display: none; }
.client-registration-fallback { width: 100%; margin: -16px 0 0; color: rgba(255,255,255,.85); font: 500 28px/1.4 var(--font-tt); text-align: center; }
.client-registration-fallback a { color: #fff; text-decoration: underline; text-underline-offset: .16em; }
.client-registration-fallback a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 2px; }
#client-registration-form .b24-form-wrapper { min-width: 0; max-width: none; background: transparent; box-shadow: none; border: 0; border-radius: 0; }
#client-registration-form .b24-form-header, #client-registration-form .b24-form-header-padding, #client-registration-form .b24-form-sign { display: none; }
#client-registration-form .b24-form-content { padding: 80px 88px 88px; }
#client-registration-form .b24-form-field { margin: 0; }
#client-registration-form form > div:first-of-type { display: flex; flex-direction: column; gap: 20px; }
#client-registration-form .b24-form-control-container { margin: 0; }
#client-registration-form input.b24-form-control { min-height: 115.2px; height: 115.2px; padding: 30px; box-sizing: border-box; border: 2px solid #d9dce8; border-radius: 28px; background: #fff; color: #34334d; opacity: 1; font: 500 30px/39px var(--font-form); }
#client-registration-form .b24-form-control-label { left: 30px; top: 50%; transform: translateY(-50%); padding: 0; width: auto; font: 500 30px/39px var(--font-form); color: #34334d; opacity: 1; pointer-events: none; transition: color .18s ease, opacity .18s ease; }
#client-registration-form input.b24-form-control { background-image: url("assets/client-registration-input-icon.svg?v=2"); background-repeat: no-repeat; background-position: right 30px center; background-size: 45.4px; }
#client-registration-form .b24-form-control:focus + .b24-form-control-label { color: #a09fa9; }
#client-registration-form .b24-form-control-not-empty + .b24-form-control-label { opacity: 0; }
#client-registration-form .b24-form-control:focus { border: 2px solid #08a6ff; outline: none; box-shadow: none; }
#client-registration-form .b24-form-control-alert-message { font: 500 24px/1.3 var(--font-form); }
#client-registration-form .b24-form-btn { display: flex; align-items: center; justify-content: center; width: 640px; max-width: 100%; height: 96px; min-height: 96px; margin: 0 auto; padding: 0 48px; border: 0; border-radius: 80px; background: var(--lime); color: var(--lime-text); font: 600 38.4px/1 var(--font-body); cursor: pointer; transition: background-color .15s ease; }
#client-registration-form .b24-form-btn:hover { background: var(--lime-hover); }
#client-registration-form [data-testid="crm-agreements-root"] { display: flex; flex-direction: column; gap: 34px; margin-top: 48px; }
#client-registration-form .b24-form-field-agreement { margin: 0; }
#client-registration-form .b24-form-field-agreement label { display: block; position: relative; padding-left: 48px; color: rgba(18,17,47,.8); opacity: 1; font: 500 20px/28px var(--font-form); }
#client-registration-form .b24-form-control-desc { color: inherit; opacity: 1; font: inherit; }
#client-registration-form .b24-form-field-agreement .b24-form-control-required { color: inherit; font: inherit; }
#client-registration-form .b24-form-field-agreement a { color: inherit; opacity: 1; font: inherit; text-decoration: underline; }
#client-registration-form .b24-form-field-agreement input { appearance: none; position: absolute; left: 3.153px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; margin: 0; border: 1.576px solid #fff; border-radius: 2px; background: #fff; cursor: pointer; }
#client-registration-form .b24-form-field-agreement input:checked { border: 0; background: #fff url("assets/client-registration-checkbox.svg") center/contain no-repeat; filter: grayscale(1) brightness(.65) contrast(20) invert(1); }
#client-registration-form .b24-form-field-agreement input:focus-visible { outline: 2px solid #08a6ff; outline-offset: 3px; }
#client-registration-form .b24-form-btn-container { margin: 88px 0 0; }
#client-registration-form .b24-form-btn-block { padding: 0; }
@media (max-width: 600px) {
  .client-registration { position: relative; left: auto; top: auto; width: 100%; min-height: 0; gap: 24px; margin: 0 0 76px; }
  .client-registration-title { width: 100%; height: auto; aspect-ratio: 730/100; }
  .client-registration-subtitle { position: relative; left: auto; top: auto; width: 100%; margin: 0 !important; font-size: clamp(17px,4.4vw,22px); line-height: 1.25; letter-spacing: normal; }
  .client-registration-form { width: 100%; min-height: 540px; margin: 0; border-radius: 41px; }
  .client-registration-loading { padding: 32px 20px; font-size: 18px; }
  .mobile-content .client-registration-fallback { margin: -8px 0 0; font-size: 14px; }
  #client-registration-form .b24-form-content { padding: 40px 34px 44px; }
  #client-registration-form input.b24-form-control { min-height: 72px; height: 72px; padding: 19px; border-width: 2px; border-radius: 15px; font-size: 18px; line-height: 24px; }
  #client-registration-form input.b24-form-control { background-position: right 19px center; background-size: 29px; }
  #client-registration-form .b24-form-control-label { left: 19px; font-size: 18px; line-height: 24px; }
  #client-registration-form .b24-form-control-alert-message { font-size: 14px; }
  #client-registration-form form > div:first-of-type { gap: 15px; }
  #client-registration-form [data-testid="crm-agreements-root"] { gap: 24px; margin-top: 34px; }
  #client-registration-form .b24-form-field-agreement label { padding-left: 36px; font-size: 14px; line-height: 19px; }
  #client-registration-form .b24-form-field-agreement input { width: 22px; height: 22px; left: 0; border-width: 1px; }
  #client-registration-form .b24-form-btn-container { margin-top: 44px; }
  #client-registration-form .b24-form-btn { width: 100%; height: 60px; min-height: 60px; padding: 17px 32px; border-radius: 50px; font: 600 19.2px/1.3 var(--font-body); }
}

/* Registration confirmation uses the landing palette and typography. */
#client-registration-form .b24-form-success { inset: 0; width: 100%; height: 100%; background: transparent; color: #12112f; border-radius: inherit; }
#client-registration-form .b24-form-success .b24-form-state-inner { position: absolute; inset: 0; width: 100%; max-width: none; min-width: 0; height: 100%; margin: 0; padding: 80px 88px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 36px; transform: none; }
#client-registration-form .b24-form-success .b24-form-inner-box { display: none; }
#client-registration-form .b24-form-success-icon { position: relative; flex: 0 0 auto; display: block; width: 169px; height: 169px; margin: 0; border: 0; border-radius: 0; box-sizing: border-box; background: url("assets/client-registration-success.svg") center/contain no-repeat; }
#client-registration-form .b24-form-success-icon::after { content: none; }
#client-registration-form .b24-form-success .b24-form-state-text { width: 100%; max-width: 880px; min-width: 0; margin: 0; color: #12112f; opacity: 1; font: 500 44px/1.3 var(--font-tt); text-align: center; overflow-wrap: break-word; }
#client-registration-form .b24-form-success .b24-form-state-text p { margin: 0; color: inherit; font: inherit; }
#client-registration-form .b24-form-success .b24-form-state-text p + p:not(:empty) { margin-top: 16px; }
@media (max-width: 600px) {
  #client-registration-form .b24-form-success .b24-form-state-inner { padding: 40px 28px; gap: 24px; }
  #client-registration-form .b24-form-success-icon { width: 96px; height: 96px; }
  #client-registration-form .b24-form-success .b24-form-state-text { font-size: 24px; }
}

#client-registration-form .b24-form-wrapper:has(.b24-form-success:not([style*="display: none"])) .b24-form-content { visibility: hidden; }

/* Sending state keeps the same translucent card until CRM responds. */
#client-registration-form .b24-form-loader { inset: 0; background: transparent; border-radius: inherit; }
#client-registration-form .b24-form-wrapper:has(.b24-form-loader:not([style*="display: none"])) .b24-form-content { visibility: hidden; }

#client-registration-form .b24-form-loader-icon { left: 50%; top: 50%; transform: translate(-50%,-50%); }
#client-registration-form .bx-sun-lines-animate { fill: #006DFF; }
#client-registration-form .b24-form-loader-icon-sun-ring { stroke: #006DFF; }
