* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 16px;
  line-height: 1.55
}

body {
  margin: 0
}

:focus {
  outline: 2px solid;
  outline-offset: 2px;
  filter: invert(1)
}

.site_header {
  position: relative;
  border-bottom: 2px solid #920AA4;
  background: #fff;
  box-shadow: 0 8px 40px -1px #920aa424
}

.brand_strip {
  background: linear-gradient(135deg, #920AA4 0%, #F32B70 60%, #41F2F4 100%);
  padding: 8px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.brand_strip_contact {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap
}

.brand_strip_contact_item {
  font-size: 16px;
  line-height: 1.3;
  color: #fff;
  text-decoration: none;
  letter-spacing: .04em;
  transition: opacity .1s ease-out
}

.brand_strip_contact_item:hover {
  opacity: .8
}

.brand_strip_label {
  font-size: 16px;
  color: #ffffffd9;
  letter-spacing: .06em
}

.identity_row {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 40px 16px;
  gap: 40px;
  flex-direction: column
}

.logo_bordered_box {
  background-color: #1a0020;
  border: 2px solid #920AA4;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 1px 2px -1px #920aa414 0 7px 14px -1px #920aa41c;
  display: flex;
  align-items: center;
  justify-content: center
}

.logo_bordered_box img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block
}

.company_wordmark {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: #920AA4;
  letter-spacing: .08em;
  text-align: center
}

.company_wordmark span {
  color: #F32B70
}

.trust_badge_box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(120deg, #920aa412 0%, #41f2f41f 100%);
  border: 1px solid #920aa433;
  border-radius: 12px;
  padding: 8px 16px;
  box-shadow: 0 1px 2px -1px #920aa414
}

.trust_stars {
  display: flex;
  gap: 4px
}

.trust_star {
  width: 16px;
  height: 16px;
  display: block
}

.trust_star svg {
  width: 16px;
  height: 16px
}

.trust_rating_text {
  font-size: 16px;
  line-height: 1.3;
  color: #2a002f;
  font-weight: 700;
  letter-spacing: .03em
}

.trust_rating_sub {
  font-size: 16px;
  line-height: 1.3;
  color: #5a2060;
  letter-spacing: .04em
}

.primary_navigation_box {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px 40px
}

.primary_navigation_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center
}

.primary_navigation_list li {
  display: block
}

.primary_navigation_list a {
  display: block;
  font-size: 18px;
  line-height: 1.3;
  color: #2a002f;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 2px;
  border: 1px solid transparent;
  letter-spacing: .03em;
  transition: color .08s ease-out, border-color .1s ease-out, background .12s ease-out
}

.primary_navigation_list a:hover {
  color: #920AA4;
  border-color: #920aa44d;
  background: #920aa40d
}

.primary_navigation_list a.active_page {
  color: #920AA4;
  font-weight: 700;
  border-color: #920AA4
}

.site_footer {
  background: #f5f0f7;
  border-top: 2px solid #920aa433
}

.footer_full_band {
  background: linear-gradient(135deg, #920AA4 0%, #F32B70 100%);
  padding: 40px
}

.footer_full_band_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: wrap
}

.footer_brand_block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  min-width: 180px
}

.footer_logo_box {
  background-color: #1a0020;
  border: 2px solid #ffffff4d;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 1px 2px -1px #f32b7014;
  display: flex;
  align-items: center;
  justify-content: center
}

.footer_logo_box img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  display: block
}

.footer_tagline {
  font-size: 16px;
  line-height: 1.55;
  color: #ffffffe6;
  max-width: 240px
}

.footer_description_block {
  flex: 1;
  min-width: 220px
}

.footer_description_text {
  font-size: 18px;
  line-height: 1.75;
  color: #ffffffeb;
  max-width: 540px
}

.footer_contact_band {
  background: #fff;
  padding: 40px;
  border-bottom: 1px solid #920aa41f
}

.footer_contact_band_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start
}

.footer_contact_group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer_contact_label {
  font-size: 16px;
  line-height: 1.3;
  color: #5a2060;
  letter-spacing: .06em;
  font-weight: 700
}

.footer_contact_value {
  font-size: 18px;
  line-height: 1.55;
  color: #2a002f;
  text-decoration: none;
  transition: color .09s linear
}

.footer_contact_value:hover {
  color: #920AA4
}

.footer_links_band {
  background: #f5f0f7;
  padding: 40px
}

.footer_links_band_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start
}

.footer_links_group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer_links_group_label {
  font-size: 16px;
  line-height: 1.3;
  color: #5a2060;
  letter-spacing: .06em;
  font-weight: 700
}

.footer_policy_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer_policy_list a {
  font-size: 16px;
  line-height: 1.55;
  color: #3a1042;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .1s ease-out, border-color .1s ease-out
}

.footer_policy_list a:hover {
  color: #920AA4;
  border-color: #920AA4
}

.footer_support_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer_support_list a {
  font-size: 16px;
  line-height: 1.55;
  color: #3a1042;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .1s ease-out, border-color .1s ease-out
}

.footer_support_list a:hover {
  color: #F32B70;
  border-color: #F32B70
}

.footer_copyright_band {
  background: #2a002f;
  padding: 16px 40px
}

.footer_copyright_band_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px
}

.footer_copyright_text {
  font-size: 16px;
  line-height: 1.3;
  color: #ffffffbf;
  letter-spacing: .03em
}

.footer_since_text {
  font-size: 16px;
  line-height: 1.3;
  color: #ffffff80;
  letter-spacing: .04em
}

.cookie_popup_box {
  position: fixed;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 560px;
  max-width: calc(100vw - 80px);
  background: #fff;
  border: 2px solid #920aa440;
  border-radius: 12px;
  box-shadow: 0 8px 40px -1px #920aa424;
  z-index: 1200;
  padding: 40px;
  transform: translateY(-16px);
  opacity: 1;
  transition: transform .26s ease-out, opacity .26s ease-out
}

.cookie_popup_box.cookie_hiding {
  transform: translateY(-40px);
  opacity: 0
}

.cookie_popup_box.cookie_entering {
  transform: translateY(16px);
  opacity: 0
}

.cookie_description_text {
  font-size: 16px;
  line-height: 1.55;
  color: #2a002f;
  margin: 0 0 16px
}

.cookie_headline {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #920AA4;
  margin: 0 0 16px
}

.cookie_toggles_box {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px
}

.cookie_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px;
  background: #920aa40a;
  border-radius: 2px
}

.cookie_toggle_label_text {
  font-size: 16px;
  line-height: 1.3;
  color: #2a002f;
  flex: 1
}

.cookie_toggle_switch {
  position: relative;
  width: 40px;
  height: 22px;
  flex-shrink: 0
}

.cookie_toggle_switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute
}

.cookie_toggle_track {
  position: absolute;
  inset: 0;
  background: #d0b8d8;
  border-radius: 12px;
  cursor: pointer;
  transition: background .12s ease-out
}

.cookie_toggle_track::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 12px;
  background: #fff;
  top: 3px;
  left: 3px;
  transition: transform .12s ease-out
}

.cookie_toggle_switch input:checked+.cookie_toggle_track {
  background: #920AA4
}

.cookie_toggle_switch input:checked+.cookie_toggle_track::after {
  transform: translateX(18px)
}

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

.cookie_accept_button {
  flex: 1;
  min-width: 100px;
  padding: 8px 16px;
  background: #920AA4;
  color: #fff;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 16px;
  line-height: 1.3;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  letter-spacing: .04em;
  transition: background .1s ease-out
}

.cookie_accept_button:hover {
  background: #7a0890
}

.cookie_decline_button {
  flex: 1;
  min-width: 100px;
  padding: 8px 16px;
  background: #f5f0f7;
  color: #2a002f;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 16px;
  line-height: 1.3;
  border: 1px solid #920aa44d;
  border-radius: 2px;
  cursor: pointer;
  letter-spacing: .04em;
  transition: background .1s ease-out, border-color .1s ease-out
}

.cookie_decline_button:hover {
  background: #ede0f2;
  border-color: #920AA4
}

@media (max-width: 900px) {
  .brand_strip {
    padding: 8px 16px;
    flex-direction: column;
    align-items: flex-start
  }

  .brand_strip_contact {
    gap: 16px
  }

  .identity_row {
    padding: 40px 16px 16px;
    gap: 16px
  }

  .primary_navigation_box {
    padding: 0 16px 40px
  }

  .footer_full_band {
    padding: 40px 16px
  }

  .footer_contact_band {
    padding: 40px 16px
  }

  .footer_links_band {
    padding: 40px 16px
  }

  .footer_copyright_band {
    padding: 16px
  }
}

@media (max-width: 600px) {
  .footer_full_band_inner {
    flex-direction: column
  }

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

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

  .footer_copyright_band_inner {
    flex-direction: column;
    align-items: flex-start
  }

  .cookie_popup_box {
    bottom: 16px;
    padding: 16px
  }
}

.policy-block {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px
}

.policy-block h1 {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #920AA4;
  margin-bottom: 40px;
  margin-top: 0
}

.policy-block h2 {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  margin-top: 80px;
  margin-bottom: 16px;
  letter-spacing: -.01em
}

.policy-block h3 {
  font-size: 22px;
  line-height: 1.3;
  color: #2a0035;
  margin-top: 40px;
  margin-bottom: 16px
}

.policy-block h4 {
  font-size: 18px;
  line-height: 1.55;
  color: #2a0035;
  margin-top: 40px;
  margin-bottom: 8px;
  letter-spacing: .01em
}

.policy-block h5 {
  font-size: 16px;
  line-height: 1.55;
  color: #3a0045;
  margin-top: 16px;
  margin-bottom: 8px;
  letter-spacing: .03em;
  text-transform: uppercase
}

.policy-block h6 {
  font-size: 16px;
  line-height: 1.55;
  color: #555;
  margin-top: 16px;
  margin-bottom: 8px;
  letter-spacing: .05em;
  text-transform: uppercase
}

.policy-block p {
  font-size: 18px;
  line-height: 1.75;
  color: #2a2030;
  margin-top: 0;
  margin-bottom: 16px
}

.policy-block ul,
.policy-block ol {
  font-size: 18px;
  line-height: 1.75;
  color: #2a2030;
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 40px
}

.policy-block ul {
  list-style: none;
  padding-left: 40px
}

.policy-block ul li {
  position: relative;
  margin-bottom: 8px
}

.policy-block ul li::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #920AA4;
  transform: rotate(45deg)
}

.policy-block ol {
  list-style: decimal
}

.policy-block ol li {
  margin-bottom: 8px;
  padding-left: 8px
}

.policy-block ol li::marker {
  color: #920AA4;
  font-size: 16px
}

.policy-block ul ul,
.policy-block ol ul,
.policy-block ul ol,
.policy-block ol ol {
  margin-top: 8px;
  margin-bottom: 0
}

.policy-block strong,
.policy-block b {
  font-weight: 700;
  color: #1a0020
}

.policy-block a {
  color: #920AA4;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .1s ease-out, text-decoration-color .12s linear
}

.policy-block a:hover {
  color: #F32B70;
  text-decoration-color: #F32B70
}

.policy-block a:visited {
  color: #6a0880
}

.policy-block hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, #920AA4 0%, #F32B70 50%, #41F2F4 100%);
  margin-top: 40px;
  margin-bottom: 40px;
  opacity: .3;
  border-radius: 0
}

.policy-block table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.55;
  color: #2a2030;
  margin-bottom: 40px;
  box-shadow: 0 7px 14px -1px #920aa41c;
  border-radius: 12px;
  overflow: hidden
}

.policy-block thead {
  background: linear-gradient(135deg, #920AA4 0%, #F32B70 100%)
}

.policy-block thead th {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 16px;
  text-align: left;
  border: none
}

.policy-block tbody tr {
  border-bottom: 1px solid #920aa414;
  transition: background-color .08s ease-out
}

.policy-block tbody tr:last-child {
  border-bottom: none
}

.policy-block tbody tr:nth-child(even) {
  background: #920aa408
}

.policy-block tbody tr:hover {
  background: #920aa40f
}

.policy-block td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  vertical-align: top;
  border: none
}

@media (max-width: 900px) {
  .policy-block {
    padding: 40px 16px
  }

  .policy-block h1 {
    font-size: 28px
  }

  .policy-block h2 {
    font-size: 22px;
    margin-top: 40px
  }

  .policy-block h3 {
    font-size: 18px
  }

  .policy-block table {
    display: block;
    overflow-x: auto
  }
}

.support_root {
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden
}

.support_root .eyebrow_label {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .12em;
  color: #920AA4;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px
}

.support_root .accent_line {
  width: 40px;
  height: 3px;
  background: #920AA4;
  margin: 0 auto 16px;
  border-radius: 2px
}

.support_root .accent_line_left {
  width: 40px;
  height: 3px;
  background: #920AA4;
  margin-bottom: 16px;
  border-radius: 2px
}

.support_root .anchor_block {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1.4fr;
  gap: 40px;
  padding: 80px 40px;
  background: #fff;
  border-bottom: 1px solid #e8d0ec
}

.support_root .anchor_block_background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 0
}

.support_root .anchor_block_background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .04
}

.support_root .anchor_left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 16px;
  position: relative;
  z-index: 1
}

.support_root .anchor_left .page_heading {
  font-size: 72px;
  line-height: 1.1;
  color: #1b0a1e;
  margin: 0 0 16px
}

.support_root .anchor_left .page_heading span {
  color: #920AA4
}

.support_root .anchor_left .sub_paragraph {
  font-size: 18px;
  line-height: 1.55;
  color: #2d1a33;
  margin: 0;
  columns: 1
}

.support_root .circle_group {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1
}

.support_root .circle_stack {
  position: relative;
  width: 180px;
  height: 180px
}

.support_root .circle_stack .ring_outer {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid #920aa41f;
  animation: ring_pulse 2.4s sine-in-out infinite
}

.support_root .circle_stack .ring_mid {
  position: absolute;
  inset: 20px;
  border-radius: 50%;
  border: 2px solid #f32b702e;
  animation: ring_pulse 2.4s sine-in-out infinite .6s
}

.support_root .circle_stack .ring_inner {
  position: absolute;
  inset: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #920AA4 50%, #F32B70 50%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center
}

.support_root .circle_stack .ring_inner svg {
  width: 36px;
  height: 36px;
  fill: #fff
}

@keyframes ring_pulse {

  0%,
  100% {
    transform: scale(1);
    opacity: 1
  }

  50% {
    transform: scale(1.06);
    opacity: .6
  }
}

.support_root .anchor_right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: flex-start;
  padding-top: 16px;
  position: relative;
  z-index: 1
}

.support_root .channel_card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  border-top: 3px solid #920AA4;
  border-right: 1px solid #e8d0ec;
  border-bottom: 1px solid #e8d0ec;
  border-left: 1px solid #e8d0ec;
  box-shadow: 0 7px 14px -1px #920aa41c;
  transition: box-shadow .12s ease-out, transform .1s ease-out
}

.support_root .channel_card:hover {
  box-shadow: 0 8px 40px -1px #920aa424;
  transform: translateY(-2px)
}

.support_root .channel_icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #920AA4 50%, #F32B70 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.support_root .channel_icon svg {
  width: 20px;
  height: 20px;
  fill: #fff
}

.support_root .channel_text {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.support_root .channel_label {
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  font-weight: 700;
  letter-spacing: .04em
}

.support_root .channel_value {
  font-size: 16px;
  line-height: 1.3;
  color: #1b0a1e
}

.support_root .channel_value a {
  color: #1b0a1e;
  text-decoration: none;
  position: relative;
  display: inline-block
}

.support_root .channel_value a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #F32B70;
  transition: width .13s linear
}

.support_root .channel_value a:hover::after {
  width: 100%
}

.support_root .channel_detail {
  font-size: 16px;
  line-height: 1.55;
  color: #5a3a63
}

.support_root .divider_svg {
  display: block;
  width: 100%;
  height: 28px;
  overflow: hidden
}

.support_root .faq_area {
  padding: 80px 40px;
  background: linear-gradient(135deg, #f5eaf8 50%, #fde8ef 50%);
  position: relative
}

.support_root .faq_area_texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.support_root .faq_area_texture::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, #920aa40a 0px, #920aa40a 1px, transparent 1px, transparent 10px)
}

.support_root .faq_header {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 1
}

.support_root .faq_header .section_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1b0a1e;
  margin: 0
}

.support_root .faq_header .section_sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3d1847;
  margin: 16px 0 0;
  columns: 2;
  gap: 40px
}

.support_root .faq_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto
}

.support_root .faq_item {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 2px -1px #920aa414;
  border-left: 3px solid #F32B70;
  border-top: 1px solid #e8d0ec;
  border-right: 1px solid #e8d0ec;
  border-bottom: 1px solid #e8d0ec;
  transition: box-shadow .11s ease-out
}

.support_root .faq_item:hover {
  box-shadow: 0 7px 14px -1px #920aa41c
}

.support_root .faq_question {
  font-size: 18px;
  line-height: 1.3;
  color: #1b0a1e;
  margin: 0 0 8px;
  font-weight: 700
}

.support_root .faq_answer {
  font-size: 16px;
  line-height: 1.55;
  color: #3d1847;
  margin: 0
}

.support_root .faq_highlight {
  color: #920AA4;
  font-weight: 700
}

.support_root .small_circle_accent {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #F32B70;
  margin-right: 8px;
  vertical-align: middle;
  flex-shrink: 0
}

.support_root .location_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px
}

.support_root .location_text {
  font-size: 16px;
  line-height: 1.55;
  color: #5a3a63
}

@media (max-width: 900px) {
  .support_root .anchor_block {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto
  }

  .support_root .circle_group {
    grid-column: 1 / -1;
    grid-row: 1
  }

  .support_root .anchor_left {
    grid-column: 1 / -1
  }

  .support_root .anchor_right {
    grid-column: 1 / -1
  }

  .support_root .anchor_left .page_heading {
    font-size: 28px
  }

  .support_root .faq_grid {
    grid-template-columns: 1fr
  }

  .support_root .faq_header .section_sub {
    columns: 1
  }
}

@media (max-width: 600px) {
  .support_root .anchor_block {
    grid-template-columns: 1fr;
    padding: 40px 16px
  }

  .support_root .faq_area {
    padding: 40px 16px
  }

  .support_root .anchor_left .page_heading {
    font-size: 22px
  }
}

.about-us-page {
  background-color: #fff;
  overflow-x: clip;
  position: relative
}

.about-us-page *,
.about-us-page ::before,
.about-us-page ::after {
  box-sizing: border-box
}

.about-us-page ::selection {
  background-color: #F32B70;
  color: #fff
}

.about-us-page .visually_hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap
}

.about-us-page .page_lead {
  position: relative;
  padding: 80px 40px;
  text-align: center;
  overflow: hidden;
  background-color: #fff
}

.about-us-page .page_lead::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./site_images/btn_2_2.jpg);
  background-size: cover;
  background-position: center;
  opacity: .04;
  pointer-events: none;
  z-index: 0
}

.about-us-page .spotlight_layer {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle 600px at 30% 40%, #920aa412 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: spotlight_move 8s sine-in-out infinite alternate
}

@keyframes spotlight_move {
  0% {
    background: radial-gradient(circle 600px at 20% 30%, #920aa412 0%, transparent 70%)
  }

  50% {
    background: radial-gradient(circle 600px at 70% 60%, #f32b700f 0%, transparent 70%)
  }

  100% {
    background: radial-gradient(circle 600px at 80% 20%, #41f2f40d 0%, transparent 70%)
  }
}

.about-us-page .page_lead_picture {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 40px
}

.about-us-page .page_lead_picture img {
  width: 320px;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  box-shadow: 0 8px 40px -1px #920aa424;
  opacity: 0;
  animation: fade_in_image .9s ease-out .2s forwards;
  transition: transform .12s ease-out
}

.about-us-page .page_lead_picture img:hover {
  transform: scale(1.025)
}

@keyframes fade_in_image {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.about-us-page .lead_decoration {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 80px;
  height: 80px;
  border-radius: 0;
  pointer-events: none;
  z-index: 0
}

.about-us-page .lead_decoration svg {
  width: 100%;
  height: 100%;
  opacity: .12
}

.about-us-page .page_lead_text {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto
}

.about-us-page .company_label {
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.about-us-page .page_lead_heading {
  font-size: 72px;
  line-height: 1.1;
  color: #1d1124;
  margin: 0 0 16px
}

.about-us-page .page_lead_description {
  font-size: 18px;
  line-height: 1.75;
  color: #3a2640;
  margin: 0
}

.about-us-page .mosaic_divider {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.about-us-page .mosaic_divider svg {
  display: block;
  width: 100%
}

.about-us-page .story_band {
  position: relative;
  background: linear-gradient(135deg, #f5edf8 50%, #fce8f0 50%);
  padding: 80px 40px;
  overflow: hidden
}

.about-us-page .story_band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./site_images/160226-040426-slideshow.jpg);
  background-size: cover;
  background-position: center;
  opacity: .035;
  pointer-events: none
}

.about-us-page .diagonal_accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.about-us-page .diagonal_accent svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .08
}

.about-us-page .story_grid {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.about-us-page .story_image_column {
  position: relative
}

.about-us-page .story_image_frame {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 14px -1px #920aa41c
}

.about-us-page .story_image_frame img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  transition: transform .15s ease-out
}

.about-us-page .story_image_frame:hover img {
  transform: scale(1.04)
}

.about-us-page .story_image_caption {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: #ffffffeb;
  border-radius: 2px;
  padding: 8px 16px;
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  box-shadow: 0 1px 2px -1px #920aa414
}

.about-us-page .story_text_column {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .accent_line {
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #920AA4 50%, #F32B70 50%);
  border-radius: 0;
  margin-bottom: 8px;
  display: block
}

.about-us-page .story_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1d1124;
  margin: 0;
  text-align: center
}

.about-us-page .story_body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.about-us-page .story_paragraph {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2640;
  margin: 0
}

.about-us-page .story_paragraph_single {
  font-size: 18px;
  line-height: 1.55;
  color: #3a2640;
  margin: 0;
  font-style: italic
}

.about-us-page .metrics_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 8px
}

.about-us-page .metric_chip {
  background: #fff;
  border-radius: 2px;
  padding: 8px 16px;
  box-shadow: 0 1px 2px -1px #920aa414;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 2px solid #920AA4;
  border-right: 1px solid #920aa41f;
  border-bottom: 1px solid #920aa41f;
  border-left: 1px solid #920aa41f;
  transition: border-color .1s ease-out, box-shadow .1s ease-out;
  flex: 1
}

.about-us-page .metric_chip:hover {
  border-color: #F32B70;
  box-shadow: 0 7px 14px -1px #920aa41c
}

.about-us-page .metric_number {
  font-size: 28px;
  line-height: 1.1;
  color: #920AA4;
  display: block
}

.about-us-page .metric_label {
  font-size: 16px;
  line-height: 1.3;
  color: #3a2640;
  display: block
}

.about-us-page .ragged_divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  display: block
}

.about-us-page .ragged_divider svg {
  display: block;
  width: 100%
}

.about-us-page .process_band {
  position: relative;
  background-color: #1d1124;
  padding: 80px 40px;
  overflow: hidden
}

.about-us-page .process_band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./site_images/240326_old-310825.jpg);
  background-size: cover;
  background-position: center;
  opacity: .06;
  pointer-events: none
}

.about-us-page .process_spotlight {
  position: absolute;
  inset: 0;
  pointer-events: none;
  animation: process_spotlight_drift 10s ease-in-out infinite alternate
}

@keyframes process_spotlight_drift {
  0% {
    background: radial-gradient(circle 500px at 10% 50%, #920aa426 0%, transparent 70%)
  }

  100% {
    background: radial-gradient(circle 500px at 90% 50%, #41f2f41a 0%, transparent 70%)
  }
}

.about-us-page .process_inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto
}

.about-us-page .process_top {
  text-align: center;
  margin-bottom: 40px
}

.about-us-page .accent_line_centered {
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #920AA4 50%, #F32B70 50%);
  border-radius: 0;
  margin: 0 auto 8px;
  display: block
}

.about-us-page .process_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 16px;
  text-align: center
}

.about-us-page .process_description {
  font-size: 18px;
  line-height: 1.55;
  color: #c9b8d4;
  max-width: 560px;
  margin: 0 auto;
  text-align: center
}

.about-us-page .process_steps {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: stretch;
  margin-top: 40px
}

.about-us-page .process_step {
  flex: 1;
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 40px 16px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background .12s ease-out, border-color .12s ease-out
}

.about-us-page .process_step:hover {
  background: #920aa41f;
  border-color: #920aa466
}

.about-us-page .step_arrow {
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px;
  height: 36px;
  background: #920AA4;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center
}

.about-us-page .step_arrow svg {
  width: 18px;
  height: 18px
}

.about-us-page .process_step:last-child .step_arrow {
  display: none
}

.about-us-page .step_number {
  font-size: 22px;
  line-height: 1.1;
  color: #41F2F4;
  display: block;
  letter-spacing: .04em
}

.about-us-page .step_title {
  font-size: 18px;
  line-height: 1.3;
  color: #fff;
  margin: 0
}

.about-us-page .step_text {
  font-size: 16px;
  line-height: 1.55;
  color: #c9b8d4;
  margin: 0
}

.about-us-page .process_image_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 80px;
  align-items: center
}

.about-us-page .process_image_frame {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px -1px #920aa424;
  position: relative
}

.about-us-page .process_image_frame img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  transition: transform .15s ease-out, filter .1s ease-out;
  filter: saturate(0.85)
}

.about-us-page .process_image_frame:hover img {
  transform: scale(1.03);
  filter: saturate(1.1)
}

.about-us-page .process_image_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #920aa44d 0%, transparent 60%);
  pointer-events: none;
  border-radius: 12px
}

.about-us-page .process_aside {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .process_aside_heading {
  font-size: 22px;
  line-height: 1.3;
  color: #fff;
  margin: 0;
  text-align: center
}

.about-us-page .process_aside_text {
  font-size: 16px;
  line-height: 1.75;
  color: #c9b8d4;
  margin: 0
}

.about-us-page .support_link_block {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #41F2F4;
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: 1px solid #41f2f44d;
  padding-bottom: 2px;
  transition: border-color .1s ease-out, color .1s ease-out
}

.about-us-page .support_link_block:hover {
  color: #fff;
  border-color: #fff
}

.about-us-page .support_link_block:focus-visible {
  outline: 2px solid #41F2F4;
  outline-offset: 4px;
  border-radius: 2px
}

.about-us-page .ragged_divider_bottom {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  display: block
}

.about-us-page .ragged_divider_bottom svg {
  display: block;
  width: 100%
}

.about-us-page .signup_band {
  position: relative;
  background-color: #fff;
  padding: 80px 40px;
  overflow: hidden
}

.about-us-page .signup_band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #920aa40a 50%, #41f2f408 50%);
  pointer-events: none
}

.about-us-page .signup_inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.about-us-page .signup_benefits {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .signup_tag {
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  letter-spacing: .1em;
  text-transform: uppercase;
  display: block
}

.about-us-page .signup_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1d1124;
  margin: 0;
  text-align: center
}

.about-us-page .signup_subtext {
  font-size: 18px;
  line-height: 1.55;
  color: #3a2640;
  margin: 0
}

.about-us-page .benefit_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .benefit_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start
}

.about-us-page .benefit_dot {
  width: 8px;
  height: 8px;
  background: #920AA4;
  border-radius: 2px;
  flex-shrink: 0;
  margin-top: 6px
}

.about-us-page .benefit_text {
  font-size: 16px;
  line-height: 1.55;
  color: #3a2640;
  margin: 0
}

.about-us-page .benefit_text strong {
  color: #920AA4
}

.about-us-page .signup_form_column {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .form_frame {
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 8px 40px -1px #920aa424;
  border: 1px solid #920aa41a
}

.about-us-page .form_heading {
  font-size: 22px;
  line-height: 1.3;
  color: #1d1124;
  margin: 0 0 16px;
  text-align: center
}

.about-us-page .signup_form {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us-page .field_group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.about-us-page .field_label {
  font-size: 16px;
  line-height: 1.3;
  color: #1d1124;
  display: block;
  letter-spacing: .04em
}

.about-us-page .field_input {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.3;
  color: #1d1124;
  background: #f5edf8;
  border: 1px solid #920aa426;
  border-radius: 2px;
  outline: none;
  transition: border-color .1s ease-out, box-shadow .1s ease-out
}

.about-us-page .field_input::placeholder {
  color: #8a6e95;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.about-us-page .field_input:focus {
  border-color: #920AA4;
  box-shadow: inset 0 2px 6px #920aa414
}

.about-us-page .field_select {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.3;
  color: #1d1124;
  background: #f5edf8;
  border: 1px solid #920aa426;
  border-radius: 2px;
  outline: none;
  appearance: none;
  cursor: pointer;
  transition: border-color .1s ease-out
}

.about-us-page .field_select:focus {
  border-color: #920AA4
}

.about-us-page .submit_button {
  width: 100%;
  padding: 16px;
  font-size: 18px;
  line-height: 1.3;
  color: #fff;
  background: #920AA4;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background .1s ease-out
}

.about-us-page .submit_button::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background: #41F2F4;
  transition: width .08s linear
}

.about-us-page .submit_button:hover {
  background: #7a0890
}

.about-us-page .submit_button:active::after {
  width: 100%
}

.about-us-page .submit_button:focus-visible {
  outline: 2px solid #920AA4;
  outline-offset: 3px
}

.about-us-page .form_note {
  font-size: 16px;
  line-height: 1.55;
  color: #8a6e95;
  margin: 0;
  text-align: center
}

.about-us-page .form_note a {
  color: #920AA4;
  text-decoration: none;
  background-image: linear-gradient(#920AA4, #920AA4);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size .1s ease-out
}

.about-us-page .form_note a:hover {
  background-size: 100% 1px
}

@media (max-width: 1024px) {
  .about-us-page .story_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .about-us-page .process_steps {
    flex-direction: column;
    gap: 40px
  }

  .about-us-page .step_arrow {
    display: none
  }

  .about-us-page .process_image_row {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .about-us-page .signup_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .about-us-page .story_body {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .about-us-page .page_lead {
    padding: 40px 16px 80px
  }

  .about-us-page .page_lead_picture img {
    width: 100%;
    height: 200px
  }

  .about-us-page .page_lead_heading {
    font-size: 28px
  }

  .about-us-page .story_band,
  .about-us-page .process_band,
  .about-us-page .signup_band {
    padding: 40px 16px
  }

  .about-us-page .metrics_row {
    flex-direction: column
  }

  .about-us-page .form_frame {
    padding: 16px
  }
}

.learning-program {
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden
}

.learning-program .program-lead {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  padding: 80px 40px;
  align-items: start;
  position: relative
}

.learning-program .lead-background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  pointer-events: none
}

.learning-program .lead-circle-one {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #920AA4;
  opacity: .06;
  top: -80px;
  left: -60px
}

.learning-program .lead-circle-two {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #F32B70;
  opacity: .07;
  bottom: 40px;
  left: 220px
}

.learning-program .lead-circle-three {
  position: absolute;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #41F2F4;
  opacity: .08;
  top: 60px;
  right: 380px
}

.learning-program .lead-text-column {
  position: relative;
  z-index: 1
}

.learning-program .lead-accent-line {
  width: 40px;
  height: 2px;
  background: #920AA4;
  margin-bottom: 16px
}

.learning-program .lead-heading {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a0020;
  margin: 0 0 16px;
  text-align: center;
  letter-spacing: -1px
}

.learning-program .lead-heading-accent {
  color: #920AA4
}

.learning-program .lead-subhead {
  font-size: 22px;
  line-height: 1.3;
  color: #3a0040;
  font-weight: 400;
  text-align: left;
  margin: 0 0 16px
}

.learning-program .lead-description {
  font-size: 16px;
  line-height: 1.55;
  color: #2a0030;
  margin: 0;
  text-align: left
}

.learning-program .lead-image-column {
  position: relative;
  z-index: 1
}

.learning-program .lead-image-frame {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px -1px #920aa424
}

.learning-program .lead-image-frame img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block
}

.learning-program .lead-image-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, #920aa473 0%, #920aa400 100%);
  pointer-events: none
}

.learning-program .lead-divider {
  height: 48px;
  background: linear-gradient(180deg, #fff 0%, #f0e6f5 50%, #fff 100%);
  filter: blur(8px);
  margin: 0 40px
}

.learning-program .curriculum-block {
  padding: 80px 40px;
  background: linear-gradient(135deg, #f7f0fb 0%, #f7f0fb 50%, #fce4ef 100%);
  position: relative
}

.learning-program .curriculum-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 18px, #920aa40a 18px, #920aa40a 20px);
  pointer-events: none
}

.learning-program .curriculum-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px
}

.learning-program .curriculum-label {
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 8px;
  text-align: center
}

.learning-program .curriculum-heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  font-weight: 700;
  margin: 0 0 16px;
  text-align: center
}

.learning-program .curriculum-heading-accent {
  color: #F32B70
}

.learning-program .curriculum-intro {
  font-size: 16px;
  line-height: 1.55;
  color: #2a0030;
  margin: 0;
  column-count: 2;
  column-gap: 40px;
  text-align: left
}

.learning-program .curriculum-accent-line {
  width: 40px;
  height: 2px;
  background: #F32B70;
  margin: 0 auto 8px
}

.learning-program .curriculum-top-left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start
}

.learning-program .curriculum-top-right {
  display: flex;
  flex-direction: column;
  justify-content: flex-start
}

.learning-program .modules-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 16px;
  position: relative;
  z-index: 1
}

.learning-program .module-card {
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 7px 14px -1px #920aa41c;
  position: relative;
  overflow: hidden;
  transition: box-shadow .12s ease-out, transform .1s ease-out
}

.learning-program .module-card:hover {
  box-shadow: 0 8px 40px -1px #920aa424;
  transform: translateY(-2px)
}

.learning-program .module-card-large {
  grid-row: span 2
}

.learning-program .module-number {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #920AA4;
  opacity: .12;
  position: absolute;
  top: 8px;
  right: 16px;
  pointer-events: none;
  user-select: none
}

.learning-program .module-accent-line {
  width: 32px;
  height: 2px;
  background: #920AA4;
  margin-bottom: 16px
}

.learning-program .module-title {
  font-size: 18px;
  line-height: 1.3;
  color: #1a0020;
  font-weight: 700;
  margin: 0 0 8px;
  text-align: left
}

.learning-program .module-title-accent {
  color: #920AA4
}

.learning-program .module-description {
  font-size: 16px;
  line-height: 1.55;
  color: #2a0030;
  margin: 0 0 16px;
  text-align: left
}

.learning-program .module-topics {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.learning-program .module-topics li {
  font-size: 16px;
  line-height: 1.55;
  color: #3a0040;
  padding-left: 16px;
  position: relative;
  text-align: left
}

.learning-program .module-topics li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F32B70
}

.learning-program .module-card-accent {
  background: linear-gradient(135deg, #920AA4 0%, #920AA4 50%, #F32B70 100%)
}

.learning-program .module-card-accent .module-title {
  color: #fff
}

.learning-program .module-card-accent .module-description {
  color: #ffffffe0
}

.learning-program .module-card-accent .module-accent-line {
  background: #41F2F4
}

.learning-program .module-card-accent .module-number {
  color: #fff;
  opacity: .15
}

.learning-program .module-card-accent .module-topics li {
  color: #ffffffe6
}

.learning-program .module-card-accent .module-topics li::before {
  background: #41F2F4
}

.learning-program .connecting-lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0
}

.learning-program .modules-wrapper {
  position: relative
}

.learning-program .draw-line {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: draw-path 1.4s .3s sine-ease forwards
}

.learning-program .draw-line-two {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: draw-path 1.1s .6s sine-ease forwards
}

@keyframes draw-path {
  to {
    stroke-dashoffset: 0
  }
}

.learning-program .format-strip {
  display: flex;
  flex-direction: row;
  gap: 0;
  margin-top: 40px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 14px -1px #f32b701c;
  position: relative;
  z-index: 1
}

.learning-program .format-item {
  flex: 1;
  padding: 40px 16px;
  background: #fff;
  text-align: center;
  border-right: 1px solid #920aa414;
  transition: background .1s linear
}

.learning-program .format-item:last-child {
  border-right: none
}

.learning-program .format-item:hover {
  background: #faf0fc
}

.learning-program .format-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 8px
}

.learning-program .format-label {
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #920AA4;
  margin: 0 0 8px
}

.learning-program .format-detail {
  font-size: 16px;
  line-height: 1.55;
  color: #2a0030;
  margin: 0
}

.learning-program .quotemark {
  font-size: 72px;
  line-height: 1.1;
  color: #920AA4;
  opacity: .13;
  font-weight: 900;
  display: block;
  margin-bottom: -16px;
  user-select: none
}

@media (max-width: 1024px) {
  .learning-program .program-lead {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 80px 40px
  }

  .learning-program .lead-image-column {
    max-width: 480px
  }

  .learning-program .modules-grid {
    grid-template-columns: 1fr 1fr
  }

  .learning-program .module-card-large {
    grid-column: span 2;
    grid-row: span 1
  }

  .learning-program .curriculum-intro {
    column-count: 1
  }
}

@media (max-width: 768px) {
  .learning-program .program-lead {
    padding: 40px 16px
  }

  .learning-program .lead-heading {
    font-size: 28px
  }

  .learning-program .modules-grid {
    grid-template-columns: 1fr
  }

  .learning-program .module-card-large {
    grid-column: span 1
  }

  .learning-program .curriculum-block {
    padding: 40px 16px
  }

  .learning-program .curriculum-top {
    grid-template-columns: 1fr
  }

  .learning-program .format-strip {
    flex-direction: column
  }

  .learning-program .format-item {
    border-right: none;
    border-bottom: 1px solid #920aa414
  }

  .learning-program .format-item:last-child {
    border-bottom: none
  }

  .learning-program .lead-divider {
    margin: 0 16px
  }
}

.lead {
  max-width: 100%;
  overflow-x: hidden
}

.lead .lead_row {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

.lead .opening_block {
  padding-top: 40px;
  padding-bottom: 80px;
  position: relative;
  background: radial-gradient(circle at 50% 40%, #f3e8ff 0%, #fdf0f8 40%, #f0fefe 100%);
  overflow: hidden
}

.lead .dot_field {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.lead .dot_field circle {
  opacity: .18
}

.lead .opening_inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 1
}

.lead .opening_text {
  flex: 1 1 0
}

.lead .opening_label {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #920AA4;
  border-top: 2px solid #920AA4;
  padding-top: 8px;
  margin-bottom: 16px;
  text-transform: uppercase
}

.lead .opening_headline {
  font-size: 72px;
  line-height: 1.1;
  color: #1a0020;
  margin-bottom: 16px;
  font-weight: 800
}

.lead .opening_headline span {
  color: #920AA4
}

.lead .opening_sub {
  font-size: 22px;
  line-height: 1.55;
  color: #2d0038;
  margin-bottom: 40px;
  max-width: 520px
}

.lead .opening_detail {
  font-size: 18px;
  line-height: 1.75;
  color: #3a0048;
  max-width: 480px
}

.lead .opening_image_col {
  flex: 0 0 420px;
  max-width: 420px;
  position: relative
}

.lead .channel_shift_wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden
}

.lead .channel_shift_wrap img {
  display: block;
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 12px;
  filter: saturate(1.3) hue-rotate(10deg);
  transition: filter .12s ease-out
}

.lead .channel_shift_wrap::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #920aa438 50%, #41f2f42e 50%);
  pointer-events: none
}

.lead .channel_shift_wrap:hover img {
  filter: saturate(1.6) hue-rotate(20deg);
  transition: filter .15s linear
}

.lead .image_border_hover {
  border-radius: 12px;
  box-shadow: 0 1px 2px -1px #920aa414 0 7px 14px -1px #920aa41c;
  transition: box-shadow .12s ease-out, border .1s ease-out;
  border: 2px solid transparent
}

.lead .image_border_hover:hover {
  border: 2px solid #920AA4;
  box-shadow: 0 8px 40px -1px #920aa424
}

.lead .opening_numbers {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 40px
}

.lead .stat_pill {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lead .stat_number {
  font-size: 28px;
  line-height: 1.1;
  color: #920AA4;
  font-weight: 800
}

.lead .stat_desc {
  font-size: 16px;
  line-height: 1.3;
  color: #3a0048
}

.lead .wave_divider {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lead .wave_divider svg {
  display: block;
  width: 100%
}

.lead .hesitation_block {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.lead .hesitation_inner {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.lead .hesitation_image {
  flex: 0 0 380px;
  max-width: 380px
}

.lead .hesitation_image img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 12px;
  border: 2px solid transparent;
  box-shadow: 0 1px 2px -1px #f32b7014 0 7px 14px -1px #f32b701c;
  transition: border .1s linear, box-shadow .12s ease-out
}

.lead .hesitation_image img:hover {
  border: 2px solid #F32B70;
  box-shadow: 0 8px 40px -1px #f32b7024
}

.lead .hesitation_text {
  flex: 1 1 0
}

.lead .accent_line {
  display: block;
  width: 40px;
  height: 3px;
  background: #920AA4;
  margin-bottom: 16px;
  border-radius: 2px
}

.lead .hesitation_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  margin-bottom: 16px;
  text-align: center;
  font-weight: 700
}

.lead .hesitation_lead {
  font-size: 18px;
  line-height: 1.75;
  color: #2d0038;
  margin-bottom: 16px
}

.lead .hesitation_columns {
  display: flex;
  flex-direction: row;
  gap: 40px
}

.lead .hesitation_col {
  flex: 1 1 0;
  font-size: 16px;
  line-height: 1.55;
  color: #2d0038
}

.lead .concern_cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px
}

.lead .concern_item {
  background: #f9f0ff;
  border-radius: 12px;
  padding: 16px;
  border-left: 3px solid #920AA4;
  border-top: 1px solid #920aa41f;
  box-shadow: 0 1px 2px -1px #920aa414
}

.lead .concern_question {
  font-size: 16px;
  font-weight: 700;
  color: #920AA4;
  margin-bottom: 8px;
  line-height: 1.3
}

.lead .concern_answer {
  font-size: 16px;
  line-height: 1.55;
  color: #2d0038
}

.lead .wave_divider_b {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lead .wave_divider_b svg {
  display: block;
  width: 100%
}

.lead .experience_block {
  background: #1a0020;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.lead .experience_block::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-image: url(./site_images/new-2-3.jpg);
  background-size: cover;
  background-position: center;
  opacity: .18;
  pointer-events: none
}

.lead .experience_inner {
  position: relative;
  z-index: 1
}

.lead .experience_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700
}

.lead .experience_heading span {
  color: #41F2F4
}

.lead .experience_accent_line {
  display: block;
  width: 40px;
  height: 3px;
  background: #41F2F4;
  margin: 0 auto 16px;
  border-radius: 2px
}

.lead .stories_grid {
  display: flex;
  flex-direction: row;
  gap: 16px
}

.lead .story_card {
  flex: 1 1 0;
  background: #ffffff0f;
  border-radius: 12px;
  padding: 40px;
  border: 1px solid #41f2f433;
  box-shadow: 0 7px 14px -1px #920aa41c;
  opacity: 0;
  animation: card_arrive .55s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.lead .story_card:nth-child(1) {
  animation-delay: .1s
}

.lead .story_card:nth-child(2) {
  animation-delay: .22s
}

.lead .story_card:nth-child(3) {
  animation-delay: .36s
}

@keyframes card_arrive {
  from {
    opacity: 0;
    transform: rotate(-4deg) translateY(24px)
  }

  to {
    opacity: 1;
    transform: rotate(0deg) translateY(0)
  }
}

.lead .story_person {
  font-size: 16px;
  font-weight: 700;
  color: #41F2F4;
  margin-bottom: 8px;
  letter-spacing: .06em;
  text-transform: uppercase
}

.lead .story_role {
  font-size: 16px;
  color: #fff9;
  margin-bottom: 16px;
  line-height: 1.3
}

.lead .story_quote {
  font-size: 16px;
  line-height: 1.75;
  color: #ffffffe0
}

.lead .solid_divider {
  height: 2px;
  background: linear-gradient(90deg, #920AA4 50%, #41F2F4 50%);
  width: 100%
}

.lead .available_block {
  background: #fdf6ff;
  padding-top: 80px;
  padding-bottom: 80px
}

.lead .available_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  text-align: center;
  margin-bottom: 8px;
  font-weight: 700
}

.lead .available_sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3a0048;
  text-align: center;
  margin-bottom: 40px
}

.lead .available_accent_line {
  display: block;
  width: 40px;
  height: 3px;
  background: #F32B70;
  margin: 0 auto 16px;
  border-radius: 2px
}

.lead .modules_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px
}

.lead .module_wide {
  grid-column: span 2
}

.lead .module_tall {
  grid-row: span 2
}

.lead .module_card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px -1px #920aa414 0 7px 14px -1px #920aa41c;
  border: 1px solid #920aa414;
  border-right: 3px solid #920AA4;
  display: flex;
  flex-direction: column
}

.lead .module_card_image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  border: 2px solid transparent;
  transition: border .1s linear
}

.lead .module_card:hover .module_card_image {
  border: 2px solid #920AA4
}

.lead .module_card_body {
  padding: 16px;
  flex: 1 1 auto
}

.lead .module_number {
  font-size: 22px;
  font-weight: 800;
  color: #920AA4;
  line-height: 1.1;
  margin-bottom: 8px
}

.lead .module_name {
  font-size: 18px;
  font-weight: 700;
  color: #1a0020;
  margin-bottom: 8px;
  line-height: 1.3
}

.lead .module_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #2d0038
}

.lead .module_tall .module_card_image {
  height: 260px
}

.lead .border_divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #920AA4, #F32B70, transparent);
  margin: 0
}

.lead .after_block {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.lead .after_inner {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.lead .after_image_col {
  flex: 0 0 360px;
  max-width: 360px
}

.lead .after_image_col img {
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
  border: 2px solid transparent;
  box-shadow: 0 7px 14px -1px #920aa41c;
  transition: border .1s linear, box-shadow .12s ease-out
}

.lead .after_image_col img:hover {
  border: 2px solid #920AA4;
  box-shadow: 0 8px 40px -1px #920aa424
}

.lead .after_text {
  flex: 1 1 0
}

.lead .after_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  text-align: center;
  margin-bottom: 16px;
  font-weight: 700
}

.lead .after_accent_line {
  display: block;
  width: 40px;
  height: 3px;
  background: #920AA4;
  margin: 0 auto 16px;
  border-radius: 2px
}

.lead .after_intro {
  font-size: 18px;
  line-height: 1.75;
  color: #2d0038;
  margin-bottom: 16px
}

.lead .after_columns {
  display: flex;
  flex-direction: row;
  gap: 40px
}

.lead .after_col {
  flex: 1 1 0
}

.lead .outcome_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lead .outcome_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.55;
  color: #2d0038
}

.lead .outcome_dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 2px;
  background: #F32B70;
  margin-top: 6px
}

.lead .approach_block {
  background: linear-gradient(160deg, #f3e8ff 50%, #e8fefe 50%);
  padding-top: 80px;
  padding-bottom: 80px
}

.lead .approach_inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

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

.lead .approach_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1a0020;
  text-align: center;
  font-weight: 700;
  grid-column: span 2;
  margin-bottom: 8px
}

.lead .approach_accent_line {
  display: block;
  width: 40px;
  height: 3px;
  background: #920AA4;
  margin: 0 auto 16px;
  border-radius: 2px
}

.lead .approach_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.lead .distinction_item {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  border-top: 3px solid #920AA4;
  border-right: 1px solid #920aa41a;
  box-shadow: 0 1px 2px -1px #920aa414 0 7px 14px -1px #920aa41c;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lead .distinction_label {
  font-size: 16px;
  font-weight: 700;
  color: #920AA4;
  line-height: 1.3;
  letter-spacing: .04em
}

.lead .distinction_text {
  font-size: 16px;
  line-height: 1.55;
  color: #2d0038
}

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

.lead .approach_image_wrap {
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid transparent;
  box-shadow: 0 7px 14px -1px #920aa41c;
  transition: border .1s linear
}

.lead .approach_image_wrap:hover {
  border: 2px solid #920AA4
}

.lead .approach_image_wrap img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover
}

.lead .approach_closing {
  font-size: 18px;
  line-height: 1.75;
  color: #2d0038;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  border-left: 3px solid #F32B70;
  border-top: 1px solid #f32b701a;
  box-shadow: 0 1px 2px -1px #f32b7014
}

@media (max-width: 1024px) {
  .lead .opening_inner {
    flex-direction: column
  }

  .lead .opening_image_col {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%
  }

  .lead .hesitation_inner {
    flex-direction: column
  }

  .lead .hesitation_image {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%
  }

  .lead .stories_grid {
    flex-direction: column
  }

  .lead .modules_layout {
    grid-template-columns: 1fr 1fr
  }

  .lead .module_wide {
    grid-column: span 2
  }

  .lead .module_tall {
    grid-row: span 1
  }

  .lead .after_inner {
    flex-direction: column
  }

  .lead .after_image_col {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%
  }

  .lead .approach_grid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 720px) {
  .lead .lead_row {
    padding-left: 16px;
    padding-right: 16px
  }

  .lead .opening_headline {
    font-size: 28px
  }

  .lead .modules_layout {
    grid-template-columns: 1fr
  }

  .lead .module_wide {
    grid-column: span 1
  }

  .lead .hesitation_columns {
    flex-direction: column
  }

  .lead .after_columns {
    flex-direction: column
  }

  .lead .opening_numbers {
    flex-direction: column;
    gap: 16px
  }
}

.faq_page {
  max-width: 100%;
  overflow-x: hidden
}

.faq_page .faq_lead {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: center;
  position: relative
}

.faq_page .faq_lead::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #920AA4;
  border-radius: 0 2px 2px 0
}

.faq_page .faq_lead_text {
  padding-left: 40px
}

.faq_page .faq_lead_label {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .12em;
  color: #920AA4;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.faq_page .faq_lead_heading {
  font-size: 72px;
  line-height: 1.1;
  color: #1b1b2e;
  margin: 0 0 16px;
  text-align: left
}

.faq_page .faq_lead_heading .faq_gradient_word {
  background: linear-gradient(90deg, #920AA4 50%, #F32B70 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.faq_page .faq_lead_sub {
  font-size: 18px;
  line-height: 1.55;
  color: #2d2d3e;
  margin: 0 0 40px;
  max-width: 480px
}

.faq_page .faq_lead_stat_row {
  display: flex;
  flex-direction: row;
  gap: 40px
}

.faq_page .faq_stat_item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.faq_page .faq_stat_number {
  font-size: 28px;
  line-height: 1.1;
  color: #920AA4
}

.faq_page .faq_stat_desc {
  font-size: 16px;
  line-height: 1.3;
  color: #3a3a50
}

.faq_page .faq_lead_image_strip {
  position: relative;
  height: 480px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px -1px #920aa424
}

.faq_page .faq_lead_image_strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: contrast(1.08) saturate(1.05)
}

.faq_page .faq_lead_image_strip::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, #920aa42e 0%, transparent 100%);
  pointer-events: none
}

.faq_page .faq_divider_band {
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, #920AA4 50%, transparent 50%)
}

.faq_page .faq_questions_outer {
  background: #f4eef6;
  padding: 80px 0;
  position: relative
}

.faq_page .faq_questions_outer::before,
.faq_page .faq_questions_outer::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  pointer-events: none
}

.faq_page .faq_questions_outer::before {
  top: 0;
  background: linear-gradient(90deg, #920AA4, #F32B70, transparent)
}

.faq_page .faq_questions_outer::after {
  bottom: 0;
  background: linear-gradient(90deg, transparent, #41F2F4, transparent)
}

.faq_page .faq_edge_glow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  box-shadow: inset 0 0 40px -8px #920aa414;
  animation: faq_edge_breathe 4s sine-ease-in-out infinite alternate;
  border-radius: 0
}

@keyframes faq_edge_breathe {
  0% {
    box-shadow: inset 0 0 30px -10px #920aa40f
  }

  100% {
    box-shadow: inset 0 0 60px -4px #920aa429
  }
}

.faq_page .faq_questions_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1
}

.faq_page .faq_section_label {
  display: block;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .1em;
  color: #920AA4;
  text-transform: uppercase;
  margin-bottom: 8px;
  text-align: center
}

.faq_page .faq_section_title {
  font-size: 28px;
  line-height: 1.3;
  color: #1b1b2e;
  text-align: center;
  margin: 0 0 40px;
  position: relative;
  padding-top: 16px
}

.faq_page .faq_section_title::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #F32B70;
  margin: 0 auto 16px;
  border-radius: 2px
}

.faq_page .faq_columns_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 40px
}

.faq_page .faq_role_card {
  background: #fff;
  border-radius: 12px;
  padding: 40px 16px 16px;
  box-shadow: 0 1px 2px -1px #920aa414;
  border-top: 4px solid transparent;
  position: relative;
  transition: box-shadow .12s ease-out, border-top-color .1s ease-out
}

.faq_page .faq_role_card.beginner {
  border-top-color: #920AA4
}

.faq_page .faq_role_card.arranger {
  border-top-color: #F32B70
}

.faq_page .faq_role_card.advanced {
  border-top-color: #41F2F4
}

.faq_page .faq_role_card:hover {
  box-shadow: 0 7px 14px -1px #920aa41c
}

.faq_page .faq_role_badge {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-weight: 700
}

.faq_page .faq_role_card.beginner .faq_role_badge {
  color: #920AA4
}

.faq_page .faq_role_card.arranger .faq_role_badge {
  color: #F32B70
}

.faq_page .faq_role_card.advanced .faq_role_badge {
  color: #2abfc0
}

.faq_page .faq_role_scenario {
  font-size: 16px;
  line-height: 1.55;
  color: #2d2d3e;
  margin: 0 0 16px
}

.faq_page .faq_role_questions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.faq_page .faq_role_questions li {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3a50;
  padding-left: 16px;
  border-left: 2px solid #e8d8ec;
  border-bottom: 1px solid #f0e6f3;
  padding-bottom: 8px
}

.faq_page .faq_role_card.arranger .faq_role_questions li {
  border-left-color: #f9cad7;
  border-bottom-color: #fdeef3
}

.faq_page .faq_role_card.advanced .faq_role_questions li {
  border-left-color: #b8f0f1;
  border-bottom-color: #e6fafa
}

.faq_page .faq_accordion_list {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.faq_page .faq_item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 2px -1px #920aa414;
  overflow: hidden
}

.faq_page .faq_item_toggle {
  display: none
}

.faq_page .faq_item_label {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  cursor: pointer;
  gap: 16px;
  transition: background .1s ease-out
}

.faq_page .faq_item_label:hover {
  background: #f9f0fb
}

.faq_page .faq_item_question {
  font-size: 18px;
  line-height: 1.3;
  color: #1b1b2e;
  flex: 1
}

.faq_page .faq_item_chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.faq_page .faq_item_chevron svg {
  width: 16px;
  height: 16px;
  stroke: #920AA4;
  transition: transform .12s ease-out
}

.faq_page .faq_item_body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .15s ease-out
}

.faq_page .faq_item_toggle:checked~.faq_item_label .faq_item_chevron svg {
  transform: rotate(180deg)
}

.faq_page .faq_item_toggle:checked~.faq_item_body {
  grid-template-rows: 1fr
}

.faq_page .faq_item_body_inner {
  overflow: hidden
}

.faq_page .faq_item_answer {
  padding: 0 16px 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.faq_page .faq_item_answer_col {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a50
}

.faq_page .faq_item_answer_col.single {
  grid-column: 1 / -1
}

.faq_page .faq_expand_line {
  display: block;
  height: 2px;
  background: linear-gradient(90deg, #920AA4, #F32B70);
  border-radius: 2px;
  width: 0;
  transition: width .15s ease-out;
  margin: 0 16px
}

.faq_page .faq_item_toggle:checked~.faq_expand_line {
  width: calc(100% - 32px)
}

.faq_page .faq_image_aside {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 40px;
  align-items: center;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 14px -1px #920aa41c
}

.faq_page .faq_image_aside_img {
  height: 280px;
  overflow: hidden;
  flex-shrink: 0
}

.faq_page .faq_image_aside_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.faq_page .faq_image_aside_text {
  padding: 40px 40px 40px 0
}

.faq_page .faq_image_aside_heading {
  font-size: 22px;
  line-height: 1.3;
  color: #1b1b2e;
  margin: 0 0 16px;
  padding-top: 16px;
  position: relative
}

.faq_page .faq_image_aside_heading::before {
  content: '';
  display: block;
  width: 32px;
  height: 3px;
  background: #920AA4;
  margin-bottom: 16px;
  border-radius: 2px
}

.faq_page .faq_image_aside_body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a50;
  margin: 0
}

.faq_page .faq_image_aside_body .faq_accent_num {
  color: #920AA4;
  font-weight: 700
}

.faq_page .faq_contact_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap
}

.faq_page .faq_contact_link {
  font-size: 16px;
  line-height: 1.3;
  color: #920AA4;
  text-decoration: none;
  position: relative;
  padding-bottom: 2px
}

.faq_page .faq_contact_link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #F32B70;
  transition: width .12s ease-out
}

.faq_page .faq_contact_link:hover::after {
  width: 100%
}

@media (max-width: 1024px) {
  .faq_page .faq_lead {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 16px
  }

  .faq_page .faq_lead_text {
    padding-left: 16px
  }

  .faq_page .faq_lead_heading {
    font-size: 28px
  }

  .faq_page .faq_lead_image_strip {
    height: 260px
  }

  .faq_page .faq_columns_grid {
    grid-template-columns: 1fr
  }

  .faq_page .faq_questions_inner {
    padding: 0 16px
  }

  .faq_page .faq_image_aside {
    grid-template-columns: 1fr
  }

  .faq_page .faq_image_aside_img {
    height: 200px
  }

  .faq_page .faq_image_aside_text {
    padding: 16px
  }

  .faq_page .faq_item_answer {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .faq_page .faq_lead_stat_row {
    flex-direction: column;
    gap: 16px
  }

  .faq_page .faq_questions_outer {
    padding: 40px 0
  }
}

.contact-us-page {
  background: #fff;
  overflow-x: clip
}

.contact-us-page *,
.contact-us-page ::before,
.contact-us-page ::after {
  box-sizing: border-box
}

.contact-us-page .reach-block {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px 40px
}

.contact-us-page .reach-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 80px;
  align-items: start
}

.contact-us-page .reach-divider {
  background: linear-gradient(180deg, #920AA4 0%, #920AA4 50%, #F32B70 50%, #F32B70 100%);
  align-self: stretch;
  min-height: 400px
}

.contact-us-page .reach-left {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.contact-us-page .reach-label {
  font-size: 16px;
  letter-spacing: .12em;
  color: #920AA4;
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.contact-us-page .reach-label-line {
  width: 32px;
  height: 2px;
  background: #920AA4;
  display: block
}

.contact-us-page .reach-heading {
  font-size: 72px;
  line-height: 1.1;
  color: #1b0020;
  margin: 0;
  text-align: center
}

.contact-us-page .reach-sub {
  font-size: 18px;
  line-height: 1.55;
  color: #2a0035;
  margin: 0
}

.contact-us-page .info-stack {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.contact-us-page .info-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid #f0e0f5;
  border-left: 4px solid #920AA4;
  border-radius: 0;
  background: #fdf5ff;
  box-shadow: 0 1px 2px -1px #920aa414;
  transition: box-shadow .12s ease-out, border-left-color .1s ease-out
}

.contact-us-page .info-row:hover {
  box-shadow: 0 7px 14px -1px #920aa41c;
  border-left-color: #F32B70
}

.contact-us-page .info-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.contact-us-page .info-icon svg {
  width: 22px;
  height: 22px
}

.contact-us-page .info-detail {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contact-us-page .info-kind {
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #920AA4
}

.contact-us-page .info-value {
  font-size: 18px;
  line-height: 1.3;
  color: #1b0020;
  text-decoration: none;
  position: relative;
  display: inline-block
}

.contact-us-page .info-value::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #F32B70;
  transition: width .12s linear
}

.contact-us-page .info-value:hover::after {
  width: 100%
}

.contact-us-page .reach-right {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.contact-us-page .form-heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1b0020;
  margin: 0;
  text-align: center;
  position: relative;
  padding-top: 16px
}

.contact-us-page .form-heading::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #F32B70;
  margin: 0 auto 16px
}

.contact-us-page .contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.contact-us-page .field-group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contact-us-page .field-label {
  font-size: 16px;
  letter-spacing: .06em;
  color: #2a0035;
  text-transform: uppercase
}

.contact-us-page .field-input,
.contact-us-page .field-select,
.contact-us-page .field-textarea {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  color: #1b0020;
  background: #fff;
  border: 1px solid #d0a8e0;
  border-radius: 2px;
  outline: none;
  box-shadow: inset 0 2px 4px #920aa40f;
  transition: border-color .1s linear, box-shadow .1s linear;
  appearance: none;
  -webkit-appearance: none
}

.contact-us-page .field-input::placeholder,
.contact-us-page .field-textarea::placeholder {
  color: #b080c0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap
}

.contact-us-page .field-input:focus,
.contact-us-page .field-select:focus,
.contact-us-page .field-textarea:focus {
  border-color: #920AA4;
  box-shadow: inset 0 2px 6px #920aa41a 0 0 0 2px #920aa41f
}

.contact-us-page .field-textarea {
  resize: vertical;
  min-height: 120px
}

.contact-us-page .field-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23920AA4' d='M3 5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px
}

.contact-us-page .field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.contact-us-page .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  background: #fdf5ff;
  border: 1px solid #e8c8f5;
  border-radius: 2px
}

.contact-us-page .privacy-check {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: #920AA4;
  margin-top: 2px;
  cursor: pointer
}

.contact-us-page .privacy-text {
  font-size: 16px;
  line-height: 1.55;
  color: #2a0035;
  margin: 0
}

.contact-us-page .privacy-text a {
  color: #920AA4;
  text-decoration: none;
  position: relative
}

.contact-us-page .privacy-text a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #F32B70;
  transition: width .12s linear
}

.contact-us-page .privacy-text a:hover::after {
  width: 100%
}

.contact-us-page .submit-button {
  padding: 16px 40px;
  font-size: 18px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  background: #920AA4;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  align-self: flex-start;
  box-shadow: 0 7px 14px -1px #920aa41c;
  position: relative;
  overflow: hidden;
  transition: background .1s ease-out, box-shadow .12s ease-out
}

.contact-us-page .submit-button::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  background: #F32B70;
  transition: width .6s ease-out;
  z-index: 0
}

.contact-us-page .submit-button:active::after {
  width: 100%
}

.contact-us-page .submit-button span {
  position: relative;
  z-index: 1
}

.contact-us-page .submit-button:hover {
  background: #7a0890;
  box-shadow: 0 8px 40px -1px #920aa424
}

.contact-us-page .submit-button:focus-visible {
  outline: 2px solid #41F2F4;
  outline-offset: 3px
}

.contact-us-page .matrix-block {
  background: linear-gradient(90deg, #1b0020 50%, #2a0035 50%);
  padding: 80px 0;
  position: relative
}

.contact-us-page .matrix-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, #920AA4, #F32B70, #41F2F4)
}

.contact-us-page .matrix-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.contact-us-page .matrix-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center
}

.contact-us-page .matrix-title {
  font-size: 28px;
  line-height: 1.3;
  color: #fff;
  margin: 0;
  text-align: center;
  position: relative;
  padding-top: 16px
}

.contact-us-page .matrix-title::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #41F2F4;
  margin: 0 auto 16px
}

.contact-us-page .matrix-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #d0b0e0;
  margin: 0;
  text-align: center;
  max-width: 640px
}

.contact-us-page .matrix-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px
}

.contact-us-page .matrix-cell {
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 2px;
  position: relative
}

.contact-us-page .matrix-cell.quick {
  background: #41f2f414;
  border: 1px solid #41f2f440
}

.contact-us-page .matrix-cell.scheduled {
  background: #920aa440;
  border: 1px solid #920aa466
}

.contact-us-page .matrix-cell.detailed {
  background: #f32b7026;
  border: 1px solid #f32b704d
}

.contact-us-page .matrix-cell.async {
  background: #ffffff0a;
  border: 1px solid #ffffff1a
}

.contact-us-page .matrix-zone-tag {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase
}

.contact-us-page .matrix-cell.quick .matrix-zone-tag {
  color: #41F2F4
}

.contact-us-page .matrix-cell.scheduled .matrix-zone-tag {
  color: #d080f0
}

.contact-us-page .matrix-cell.detailed .matrix-zone-tag {
  color: #F32B70
}

.contact-us-page .matrix-cell.async .matrix-zone-tag {
  color: #a08090
}

.contact-us-page .matrix-cell-title {
  font-size: 22px;
  line-height: 1.3;
  color: #fff;
  margin: 0
}

.contact-us-page .matrix-cell-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #c8aad8;
  margin: 0
}

.contact-us-page .matrix-cell.quick .matrix-cell-desc {
  color: #b0e8e8
}

.contact-us-page .matrix-cell.detailed .matrix-cell-desc {
  color: #f0b0c0
}

.contact-us-page .matrix-axis {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0 8px
}

.contact-us-page .axis-label {
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #807090
}

.contact-us-page .axis-divider {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #807090, #920AA4, #807090);
  margin: 0 16px
}

.contact-us-page .diagonal-deco {
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  pointer-events: none;
  overflow: hidden
}

.contact-us-page .diagonal-deco svg {
  width: 100%;
  height: 100%;
  opacity: .06
}

.contact-us-page .wave-divider {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #1b0020
}

.contact-us-page .wave-divider svg {
  display: block;
  width: 100%
}

.contact-us-page .zigzag-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff
}

.contact-us-page .zigzag-divider svg {
  display: block;
  width: 100%
}

@keyframes gentle-scale {
  from {
    transform: scale(0.97)
  }

  to {
    transform: scale(1)
  }
}

.contact-us-page .reach-block {
  animation: gentle-scale .5s cubic-bezier(0.45, 0, 0.55, 1) both
}

@keyframes accent-pulse {

  0%,
  100% {
    box-shadow: 0 7px 14px -1px #920aa41c
  }

  50% {
    box-shadow: 0 8px 40px -1px #920aa447
  }
}

.contact-us-page .submit-button {
  animation: accent-pulse 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite
}

.contact-us-page .submit-button:hover {
  animation: none
}

@media (max-width: 900px) {
  .contact-us-page .reach-grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .contact-us-page .reach-divider {
    display: none
  }

  .contact-us-page .field-row {
    grid-template-columns: 1fr
  }

  .contact-us-page .reach-heading {
    font-size: 40px
  }

  .contact-us-page .matrix-grid {
    grid-template-columns: 1fr
  }

  .contact-us-page .matrix-cell {
    padding: 40px 16px
  }
}

@media (max-width: 600px) {
  .contact-us-page .reach-block {
    padding: 40px 16px
  }

  .contact-us-page .matrix-inner {
    padding: 0 16px
  }

  .contact-us-page .reach-heading {
    font-size: 28px
  }

  .contact-us-page .submit-button {
    width: 100%;
    text-align: center
  }
}

.success_page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 16px;
  background: #fff
}

.success_page .success_wrapper {
  max-width: 1280px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.success_page .success_icon_ring {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background: linear-gradient(135deg, #920AA4 50%, #F32B70 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 40px -1px #920aa424;
  flex-shrink: 0
}

.success_page .success_icon_ring svg {
  display: block
}

.success_page .success_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center
}

.success_page .success_label {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #920AA4;
  font-weight: 600
}

.success_page .success_heading {
  font-size: 28px;
  line-height: 1.3;
  color: #1b0020;
  font-weight: 700;
  margin: 0
}

.success_page .success_text {
  font-size: 18px;
  line-height: 1.55;
  color: #3a2040;
  max-width: 520px;
  margin: 0
}

.success_page .success_divider {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #920AA4 50%, #F32B70 50%);
  border-radius: 2px
}

.success_page .success_detail {
  font-size: 16px;
  line-height: 1.55;
  color: #5a3a66;
  max-width: 420px;
  margin: 0
}

.success_page .success_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 8px
}

.success_page .action_primary {
  display: inline-block;
  padding: 16px 40px;
  background: #920AA4;
  color: #fff;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 600;
  border-radius: 12px;
  text-decoration: none;
  border: 2px solid #920AA4;
  box-shadow: 0 7px 14px -1px #920aa41c;
  transition: background .09s ease-out, border-color .09s ease-out, box-shadow .12s ease-out
}

.success_page .action_primary:hover {
  background: #7a0890;
  border-color: #7a0890;
  box-shadow: 0 8px 40px -1px #920aa424
}

.success_page .action_primary:focus-visible {
  outline: 3px solid #41F2F4;
  outline-offset: 3px
}

.success_page .action_secondary {
  display: inline-block;
  padding: 16px 40px;
  background: transparent;
  color: #920AA4;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 600;
  border-radius: 12px;
  text-decoration: none;
  border: 2px solid #920AA4;
  transition: background .1s linear, color .1s linear
}

.success_page .action_secondary:hover {
  background: #920AA4;
  color: #fff
}

.success_page .action_secondary:focus-visible {
  outline: 3px solid #41F2F4;
  outline-offset: 3px
}

.success_page .success_note {
  font-size: 16px;
  line-height: 1.55;
  color: #7a5e88;
  max-width: 400px;
  text-align: center;
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid #e8d6ee;
  padding-left: 16px;
  padding-right: 16px
}

.success_page .success_note strong {
  color: #920AA4;
  font-weight: 700
}