/* V50.1.2: shared process plus mobile-only contrast, related-link wrapping and USA header unification. */
html.v50-cookie-clean,
body.v50-cookie-clean {
  overflow-x: hidden !important;
}

#s16-settings-button,
#s16-cookie-banner,
#s16-cookie-modal,
#s16-consent-banner,
#cookie-settings-button,
#cookie-consent-banner,
#cookie-consent-modal,
.cookie-settings-button,
.cookies-settings,
.cookie-banner,
.cookie-consent-banner,
.cookie-consent-modal,
.consent-banner,
.consent-modal,
[data-cookie-banner],
[data-cookie-consent],
[data-consent-modal] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.v50-process-section,
.v50-process-section * {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.v50-process-section {
  display: block !important;
  width: calc(100% - 28px) !important;
  max-width: 1180px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 28px auto !important;
  padding: 24px !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background:
    linear-gradient(rgba(41, 83, 243, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(41, 83, 243, .035) 1px, transparent 1px),
    #fff !important;
  background-size: 28px 28px !important;
  box-shadow: 0 24px 60px rgba(16, 33, 59, .08) !important;
}

.v50-process-header {
  display: block !important;
  width: 100% !important;
  max-width: 840px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.v50-process-kicker {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #3158f5 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.v50-process-title {
  display: block !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #10213b !important;
  font-family: inherit !important;
  font-size: clamp(31px, 5vw, 58px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  text-wrap: balance !important;
}

.v50-process-intro {
  display: block !important;
  width: 100% !important;
  max-width: 790px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  color: #61738c !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.v50-process-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.v50-process-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 7px 14px !important;
  width: 100% !important;
  min-height: 185px !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid #dce6f2 !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fff, #f7faff) !important;
  box-shadow: 0 12px 26px rgba(16, 33, 59, .055) !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.v50-process-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: 4px !important;
  background: linear-gradient(90deg, #2853f3, #704ff2, #20c7a4) !important;
  transform-origin: left center !important;
  animation: v50-stage-line .55s cubic-bezier(.22, .8, .25, 1) both !important;
  animation-delay: calc(var(--v50-index, 0) * 90ms) !important;
}

.v50-process-number {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  color: #fff !important;
  background: linear-gradient(145deg, #2853f3, #704ff2) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(49, 88, 245, .24) !important;
}

.v50-process-card-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: #10213b !important;
  font-family: inherit !important;
  font-size: 19px !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.v50-process-card-copy {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #63758f !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.v49-start,
.v49-submit,
.v49-card-action,
.v49-start *,
.v49-submit *,
.v49-card-action * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.v49-start,
.v49-submit,
.v49-card-action {
  text-shadow: none !important;
  opacity: 1 !important;
}

@keyframes v50-stage-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (max-width: 980px) {
  .v50-process-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html[data-v50-public="ready"],
  body.v50-public-ready {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.v50-public-ready > .v47-mission,
  body.v50-public-ready > .v47-public-section,
  body.v50-public-ready > .v47-start-bar,
  body.v50-public-ready .v47-obsolete-carousel-ui {
    display: none !important;
  }

  .v49-root,
  .v49-root * {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .v50-process-section {
    width: calc(100% - 28px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 14px !important;
    padding: 20px !important;
    border-radius: 24px !important;
    box-shadow: none !important;
  }

  .v50-process-header {
    margin-bottom: 20px !important;
  }

  .v50-process-title {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.08 !important;
  }

  .v50-process-intro {
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .v50-process-list {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .v50-process-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 5px 12px !important;
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 19px !important;
    box-shadow: none !important;
  }

  .v50-process-number {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
  }

  .v50-process-card-title {
    font-size: 17px !important;
  }

  .v50-process-card-copy {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .v50-mobile-contrast-cta,
  .v50-mobile-contrast-cta:link,
  .v50-mobile-contrast-cta:visited,
  .v50-mobile-contrast-cta:hover,
  .v50-mobile-contrast-cta:active,
  .v50-mobile-contrast-cta:focus,
  .v50-mobile-contrast-cta *,
  .v50-mobile-contrast-cta span,
  .v50-mobile-contrast-cta b,
  .v50-mobile-contrast-cta strong {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    mix-blend-mode: normal !important;
  }

  .v50-mobile-contrast-cta {
    filter: none !important;
    isolation: isolate !important;
  }

  .v50-related-card,
  .v50-related-links {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .v50-related-links {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-right: 0 !important;
  }

  .v50-related-card a[href],
  .v50-related-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }

  .v50-mobile-obsolete-header,
  .v50-mobile-obsolete-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .v50-shared-mobile-header {
    position: relative !important;
    z-index: 40 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 14px !important;
    padding: 14px !important;
    border: 1px solid #dbe5f2 !important;
    border-radius: 21px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 12px 34px rgba(19, 48, 92, .09) !important;
  }

  .v50-shared-mobile-header .v49-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    color: #10213b !important;
    text-decoration: none !important;
  }

  .v50-shared-mobile-header .v49-brand-mark {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 43px !important;
    width: 43px !important;
    height: 43px !important;
    border-radius: 15px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: linear-gradient(145deg, #2853f3, #704ff2) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
  }

  .v50-shared-mobile-header .v49-brand-copy {
    min-width: 0 !important;
    color: #10213b !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  .v50-shared-mobile-header .v49-brand-copy small {
    display: block !important;
    margin-top: 4px !important;
    color: #6b7c94 !important;
    font-size: 7px !important;
    line-height: 1.15 !important;
    letter-spacing: .095em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .v50-shared-mobile-header .v49-start {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-radius: 15px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: linear-gradient(105deg, #2853f3 0%, #3e5dff 56%, #704ff2 100%) !important;
    box-shadow: 0 13px 30px rgba(51, 81, 220, .23) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
  }
}

@media (max-width: 390px) {
  .v50-process-section {
    padding: 18px !important;
  }

  .v50-process-title {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  .v50-process-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 5px 10px !important;
    padding: 14px !important;
  }

  .v50-process-number {
    width: 46px !important;
    height: 46px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v50-process-card::before {
    animation: none !important;
    transform: scaleX(1) !important;
  }
}
