@import "https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,400;1,400;0,700;1,700&display=swap";

*,
::before,
::after {
  box-sizing: border-box
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #1d1d1d;
  background: #fff;
  display: flex;
  flex-direction: column
}

.top_bar {
  background: linear-gradient(135deg, #544BAA 0%, #7066c4 100%);
  padding: 16px 24px;
  position: relative;
  overflow: hidden
}

.top_bar::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, #e6e6eb26 0%, transparent 70%);
  pointer-events: none
}

.top_bar::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #abacc91f 0%, transparent 65%);
  pointer-events: none
}

.top_bar_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  z-index: 2
}

.mark_holder {
  width: 90px;
  height: 90px;
  border-radius: 28px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 18px 1px #544baa17 0 8px 60px 1px #544baa21;
  flex-shrink: 0;
  position: relative
}

.mark_holder::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 28px;
  background: linear-gradient(135deg, #abacc966 0%, #e6e6eb99 100%);
  z-index: -1
}

.mark_holder img {
  width: 68px;
  height: 68px;
  object-fit: contain
}

.trust_display {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #ffffff2e;
  padding: 16px 24px;
  border-radius: 18px;
  backdrop-filter: blur(8px);
  border: 1px solid #ffffff40;
  box-shadow: 0 3px 4px 1px #544baa12
}

.rating_visual {
  display: flex;
  gap: 8px;
  align-items: center
}

.star_icon {
  width: 21px;
  height: 21px;
  position: relative
}

.star_icon svg {
  width: 100%;
  height: 100%;
  fill: #ffc107;
  filter: drop-shadow(0 2px 3px #544baa26)
}

.rating_text {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .02em
}

.divider_line {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #abacc94d 15%, #abacc94d 85%, transparent 100%);
  margin: 24px 0 0
}

.nav_container {
  background: #fafbfd;
  padding: 24px;
  border-bottom: 3px solid #E6E6EB;
  position: relative
}

.nav_container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #ABACC9 50%, transparent 100%);
  opacity: .4
}

.nav_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px
}

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

.nav_item {
  position: relative
}

.nav_link {
  display: block;
  padding: 16px 24px;
  font-size: 15px;
  font-weight: 700;
  color: #544BAA;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 10px;
  background: #fff;
  border: 2px solid transparent;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 0 3px 4px 1px #544baa12;
  position: relative;
  overflow: hidden
}

.nav_link::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0;
  background: linear-gradient(180deg, #544baa14 0%, #544baa26 100%);
  transition: height .16s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0
}

.nav_link:hover::before {
  height: 100%
}

.nav_link:hover {
  border-color: #ABACC9;
  transform: translateY(-2px);
  box-shadow: 0 5px 18px 1px #544baa17
}

.nav_link:focus {
  outline: 3px solid #544BAA;
  outline-offset: 3px;
  background: #544BAA;
  color: #fff
}

.nav_link:active {
  transform: translateY(0)
}

.bottom_structure {
  background: linear-gradient(180deg, #f4f4f8 0%, #fff 100%);
  padding: 48px 24px 24px;
  border-top: 1px solid #E6E6EB;
  margin-top: auto
}

.bottom_inner {
  max-width: 1280px;
  margin: 0 auto
}

.bottom_top {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 48px;
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 2px solid #E6E6EB;
  position: relative
}

.bottom_top::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 2px;
  background: #544BAA;
  border-radius: 3px
}

.brand_block {
  display: flex;
  align-items: center;
  gap: 24px
}

.brand_mark_wrapper {
  width: 80px;
  height: 80px;
  border-radius: 18px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 18px 1px #544baa17 0 3px 4px 1px #544baa12;
  flex-shrink: 0;
  border: 2px solid #E6E6EB
}

.brand_mark_wrapper img {
  width: 51px;
  height: 51px;
  object-fit: contain
}

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

.company_label {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 700;
  color: #544BAA;
  letter-spacing: -.02em
}

.tagline_text {
  font-size: 15px;
  line-height: 1.4;
  color: #5a5a6e;
  font-style: italic
}

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

.reach_heading {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
  color: #2d2d3d;
  letter-spacing: -.01em
}

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

.reach_item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #E6E6EB;
  transition: border-color .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.reach_item:hover {
  border-color: #ABACC9;
  box-shadow: 0 3px 4px 1px #544baa12
}

.reach_icon_holder {
  width: 37px;
  height: 37px;
  border-radius: 10px;
  background: linear-gradient(135deg, #544BAA 0%, #6b5fc7 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 4px 1px #544baa12
}

.reach_icon_holder svg {
  width: 21px;
  height: 21px;
  fill: #fff
}

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

.reach_label {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #2d2d3d
}

.reach_value {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  text-decoration: none;
  transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.reach_value:hover {
  color: #6b5fc7
}

.reach_value:focus {
  outline: 3px solid #544BAA;
  outline-offset: 2px;
  background: #544BAA;
  color: #fff;
  border-radius: 3px;
  padding: 0 8px
}

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

.links_heading {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
  color: #2d2d3d;
  letter-spacing: -.01em
}

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

.service_link_item {
  display: block
}

.service_link {
  display: inline-block;
  padding: 8px 16px;
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  text-decoration: none;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #E6E6EB;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1), color .1s cubic-bezier(0.4, 0, 1, 1)
}

.service_link:hover {
  background: #f4f4f8;
  border-color: #ABACC9;
  color: #6b5fc7
}

.service_link:focus {
  outline: 3px solid #544BAA;
  outline-offset: 2px;
  background: #544BAA;
  color: #fff
}

.bottom_base {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  padding: 24px 0 0
}

.copyright_text {
  font-size: 15px;
  line-height: 1.4;
  color: #5a5a6e
}

.established_year {
  font-size: 15px;
  line-height: 1.4;
  color: #5a5a6e;
  font-style: italic
}

@media (max-width: 1024px) {
  .top_bar_inner {
    flex-direction: column;
    align-items: center;
    text-align: center
  }

  .trust_display {
    width: 100%;
    justify-content: center
  }

  .nav_inner {
    justify-content: center
  }

  .bottom_top {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .brand_block {
    justify-content: center
  }

  .bottom_base {
    flex-direction: column;
    text-align: center
  }
}

@media (max-width: 768px) {
  .top_bar {
    padding: 16px
  }

  .mark_holder {
    width: 68px;
    height: 68px
  }

  .mark_holder img {
    width: 51px;
    height: 51px
  }

  .trust_display {
    padding: 16px;
    flex-direction: column;
    gap: 8px
  }

  .nav_container {
    padding: 16px
  }

  .nav_links {
    gap: 8px
  }

  .nav_link {
    padding: 16px;
    font-size: 15px
  }

  .bottom_structure {
    padding: 24px 16px 16px
  }

  .bottom_top {
    gap: 24px;
    margin-bottom: 24px;
    padding-bottom: 24px
  }

  .brand_block {
    flex-direction: column;
    text-align: center
  }

  .company_label {
    font-size: 21px
  }

  .reach_heading,
  .links_heading {
    font-size: 21px
  }
}

@media (max-width: 375px) {
  .nav_link {
    padding: 16px;
    font-size: 15px;
    width: 100%;
    text-align: center
  }

  .nav_links {
    width: 100%
  }

  .nav_item {
    width: 100%
  }
}

.consent_card {
  position: fixed;
  top: 24px;
  left: 24px;
  width: 380px;
  max-width: calc(100vw - 48px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 60px 1px #544baa21 0 5px 18px 1px #544baa17;
  z-index: 1500;
  padding: 24px;
  border: 2px solid #E6E6EB;
  display: none;
  opacity: 0;
  transform: translateX(-400px);
  transition: opacity 320ms cubic-bezier(0.4, 0, 1, 1), transform 320ms cubic-bezier(0.4, 0, 1, 1)
}

.consent_card.visible {
  opacity: 1;
  transform: translateX(0)
}

.consent_icon_row {
  display: flex;
  justify-content: center;
  margin-bottom: 16px
}

.consent_icon_shape {
  width: 51px;
  height: 51px;
  border-radius: 10px;
  background: linear-gradient(135deg, #544BAA 0%, #6b5fc7 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 4px 1px #544baa12
}

.consent_icon_shape svg {
  width: 28px;
  height: 28px;
  fill: #fff
}

.consent_intro {
  font-size: 15px;
  line-height: 1.4;
  color: #2d2d3d;
  margin-bottom: 16px
}

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

.consent_use_item {
  font-size: 15px;
  line-height: 1.4;
  color: #5a5a6e;
  padding-left: 24px;
  position: relative
}

.consent_use_item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: #544BAA
}

.consent_primary_actions {
  display: flex;
  gap: 8px;
  margin-bottom: 16px
}

.consent_btn {
  flex: 1;
  padding: 16px 24px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 10px;
  border: 2px solid #544BAA;
  background: transparent;
  color: #544BAA;
  cursor: pointer;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), color .12s cubic-bezier(0.4, 0, 1, 1), border-color .1s cubic-bezier(0.4, 0, 1, 1);
  font-family: 'Rubik', sans-serif
}

.consent_btn:hover {
  background: #544BAA;
  color: #fff
}

.consent_btn:focus {
  outline: 3px solid #544BAA;
  outline-offset: 3px;
  background: #544BAA;
  color: #fff
}

.consent_btn:active {
  transform: scale(0.98)
}

.consent_settings_trigger {
  display: block;
  width: 100%;
  padding: 16px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: center;
  color: #544BAA;
  background: transparent;
  border: 2px solid #ABACC9;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1);
  font-family: 'Rubik', sans-serif
}

.consent_settings_trigger:hover {
  background: #f4f4f8;
  border-color: #544BAA
}

.consent_settings_trigger:focus {
  outline: 3px solid #544BAA;
  outline-offset: 3px;
  background: #544BAA;
  color: #fff;
  border-color: #544BAA
}

.consent_detail_view {
  display: none
}

.consent_detail_view.active {
  display: block
}

.consent_toggles {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px
}

.consent_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  background: #f4f4f8;
  border-radius: 10px;
  border: 1px solid #E6E6EB
}

.consent_toggle_label {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #2d2d3d
}

.consent_checkbox {
  width: 48px;
  height: 28px;
  border-radius: 28px;
  background: #E6E6EB;
  border: 2px solid #ABACC9;
  cursor: pointer;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
  flex-shrink: 0
}

.consent_checkbox::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 18px;
  background: #fff;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 0 2px 4px #544baa26
}

.consent_checkbox.active {
  background: #544BAA;
  border-color: #544BAA
}

.consent_checkbox.active::before {
  transform: translateX(20px)
}

.consent_checkbox:hover {
  border-color: #544BAA
}

.consent_checkbox:focus {
  outline: 3px solid #544BAA;
  outline-offset: 2px
}

.consent_back_btn {
  display: block;
  width: 100%;
  padding: 16px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: center;
  color: #544BAA;
  background: transparent;
  border: 2px solid #ABACC9;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1);
  font-family: 'Rubik', sans-serif;
  margin-bottom: 8px
}

.consent_back_btn:hover {
  background: #f4f4f8;
  border-color: #544BAA
}

.consent_back_btn:focus {
  outline: 3px solid #544BAA;
  outline-offset: 3px;
  background: #544BAA;
  color: #fff;
  border-color: #544BAA
}

@media (max-width: 768px) {
  .consent_card {
    left: 16px;
    top: 16px;
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px)
  }
}

@media (max-width: 375px) {
  .consent_card {
    left: 8px;
    top: 8px;
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    padding: 16px
  }

  .consent_primary_actions {
    flex-direction: column
  }

  .consent_btn {
    width: 100%
  }
}

.terms-content-yeqc {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 24px;
  background: #fff
}

.terms-content-yeqc h1 {
  font-size: 68px;
  line-height: 1.1;
  margin: 0 0 48px;
  color: #544BAA;
  letter-spacing: -.02em
}

.terms-content-yeqc h2 {
  font-size: 51px;
  line-height: 1.1;
  margin: 48px 0 24px;
  color: #544BAA;
  letter-spacing: -.01em
}

.terms-content-yeqc h3 {
  font-size: 37px;
  line-height: 1.4;
  margin: 48px 0 16px;
  color: #544BAA;
  letter-spacing: -.01em
}

.terms-content-yeqc h4 {
  font-size: 21px;
  line-height: 1.4;
  margin: 24px 0 16px;
  color: #544BAA
}

.terms-content-yeqc h5 {
  font-size: 21px;
  line-height: 1.4;
  margin: 24px 0 8px;
  color: #544BAA
}

.terms-content-yeqc h6 {
  font-size: 15px;
  line-height: 1.4;
  margin: 24px 0 8px;
  color: #544BAA;
  text-transform: uppercase;
  letter-spacing: .05em
}

.terms-content-yeqc p {
  font-size: 21px;
  line-height: 1.7;
  margin: 0 0 24px;
  color: #2a2a2a
}

.terms-content-yeqc strong,
.terms-content-yeqc b {
  font-weight: 600;
  color: #1a1a1a
}

.terms-content-yeqc em,
.terms-content-yeqc i {
  font-style: italic
}

.terms-content-yeqc a {
  color: #544BAA;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .14s cubic-bezier(0.4, 0, 1, 1)
}

.terms-content-yeqc a:hover {
  color: #3d3580
}

.terms-content-yeqc a:focus {
  outline: 2px solid #544BAA;
  outline-offset: 3px;
  border-radius: 3px
}

.terms-content-yeqc table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0 48px;
  font-size: 21px;
  line-height: 1.4;
  box-shadow: 0 3px 4px 1px #544baa12;
  border-radius: 10px;
  overflow: hidden
}

.terms-content-yeqc thead {
  background: #544BAA;
  color: #fff
}

.terms-content-yeqc thead th {
  padding: 16px 24px;
  text-align: left;
  font-weight: 600;
  font-size: 21px
}

.terms-content-yeqc tbody tr {
  border-bottom: 1px solid #E6E6EB;
  transition: background-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.terms-content-yeqc tbody tr:last-child {
  border-bottom: none
}

.terms-content-yeqc tbody tr:hover {
  background: #f9f9fc
}

.terms-content-yeqc tbody td {
  padding: 16px 24px;
  color: #2a2a2a
}

.terms-content-yeqc tbody th {
  padding: 16px 24px;
  text-align: left;
  font-weight: 600;
  color: #1a1a1a
}

@media (max-width: 1024px) {
  .terms-content-yeqc {
    padding: 48px 16px
  }

  .terms-content-yeqc h1 {
    font-size: 51px
  }

  .terms-content-yeqc h2 {
    font-size: 37px
  }

  .terms-content-yeqc h3 {
    font-size: 21px
  }
}

@media (max-width: 768px) {
  .terms-content-yeqc {
    padding: 24px 16px
  }

  .terms-content-yeqc h1 {
    font-size: 37px;
    margin-bottom: 24px
  }

  .terms-content-yeqc h2 {
    font-size: 21px;
    margin-top: 24px
  }

  .terms-content-yeqc h3 {
    font-size: 21px;
    margin-top: 24px
  }

  .terms-content-yeqc p {
    font-size: 15px
  }

  .terms-content-yeqc table {
    font-size: 15px;
    margin: 16px 0 24px
  }

  .terms-content-yeqc thead th {
    padding: 8px 16px;
    font-size: 15px
  }

  .terms-content-yeqc tbody td,
  .terms-content-yeqc tbody th {
    padding: 8px 16px
  }
}

@media (max-width: 375px) {
  .terms-content-yeqc {
    padding: 24px 8px
  }

  .terms-content-yeqc thead th {
    padding: 8px
  }

  .terms-content-yeqc tbody td,
  .terms-content-yeqc tbody th {
    padding: 8px
  }
}

.evt_plng_cntct {
  max-width: 1280px;
  margin: 0 auto
}

.evt_plng_cntct .intk_hdr {
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  padding: 96px 24px 48px;
  position: relative;
  overflow: hidden;
  border-radius: 0 0 28px 28px
}

.evt_plng_cntct .intk_hdr::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 240px;
  height: 240px;
  background: repeating-linear-gradient(0deg, #ffffff0a 0px, #ffffff0a 2px, transparent 2px, transparent 10px), repeating-linear-gradient(90deg, #ffffff0a 0px, #ffffff0a 2px, transparent 2px, transparent 10px);
  opacity: .6
}

.evt_plng_cntct .intk_hdr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 180px;
  background: repeating-linear-gradient(0deg, #ffffff08 0px, #ffffff08 2px, transparent 2px, transparent 12px), repeating-linear-gradient(90deg, #ffffff08 0px, #ffffff08 2px, transparent 2px, transparent 12px)
}

.evt_plng_cntct .intk_vis_cntnr {
  position: relative;
  max-width: 840px;
  margin: 0 auto 48px
}

.evt_plng_cntct .intk_vis_cntnr img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  display: block;
  box-shadow: 0 8px 60px 1px #544baa21;
  position: relative
}

.evt_plng_cntct .intk_vis_cntnr::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 18px;
  background: radial-gradient(circle at 0% 0%, #00000059 0%, transparent 60%), radial-gradient(circle at 100% 0%, #00000059 0%, transparent 60%), radial-gradient(circle at 0% 100%, #00000059 0%, transparent 60%), radial-gradient(circle at 100% 100%, #00000059 0%, transparent 60%);
  pointer-events: none;
  z-index: 1
}

.evt_plng_cntct .intk_txt_wr {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin: 0 auto
}

.evt_plng_cntct .intk_ttl {
  font-size: 68px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 24px;
  text-shadow: 0 4px 12px #0003;
  letter-spacing: -.02em
}

.evt_plng_cntct .intk_dsc {
  font-size: 21px;
  line-height: 1.4;
  color: #fffffff2;
  margin: 0
}

.evt_plng_cntct .frm_wrp {
  padding: 48px 24px;
  background: #fff
}

.evt_plng_cntct .frm_cntnt {
  max-width: 680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px
}

.evt_plng_cntct .frm_lft {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.evt_plng_cntct .frm_rght {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.evt_plng_cntct .frm_hdr {
  grid-column: 1 / -1;
  margin: 0 0 8px
}

.evt_plng_cntct .frm_hdr_ttl {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 16px;
  letter-spacing: -.01em;
  text-shadow: 2px 2px 0 #544baa14
}

.evt_plng_cntct .frm_hdr_txt {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0
}

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

.evt_plng_cntct .fld_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  font-weight: 600;
  display: block
}

.evt_plng_cntct .fld_inpt {
  font-size: 15px;
  line-height: 1.4;
  padding: 16px;
  border: 2px solid #E6E6EB;
  border-radius: 10px;
  background: #fff;
  color: #2a2a2a;
  transition: border-color .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: inset 0 2px 3px #544baa0a
}

.evt_plng_cntct .fld_inpt::placeholder {
  color: #3a3a3a66
}

.evt_plng_cntct .fld_inpt:hover {
  border-color: #ABACC9
}

.evt_plng_cntct .fld_inpt:focus {
  outline: none;
  border-color: #544BAA;
  box-shadow: 0 0 0 3px #544baa1f inset 0 2px 3px #544baa0a
}

.evt_plng_cntct .intrst_blk {
  grid-column: 1 / -1;
  padding: 24px;
  background: linear-gradient(163deg, #e6e6eb66 0%, #abacc926 100%);
  border-radius: 18px;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .intrst_blk::before {
  content: '';
  position: absolute;
  top: -1px;
  right: -1px;
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, transparent 0%, transparent 49%, #544baa08 50%, transparent 51%);
  pointer-events: none
}

.evt_plng_cntct .intrst_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 16px;
  font-weight: 700
}

.evt_plng_cntct .intrst_grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px
}

.evt_plng_cntct .chkbx_wrp {
  position: relative
}

.evt_plng_cntct .chkbx_inpt {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.evt_plng_cntct .chkbx_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  padding: 16px 16px 16px 48px;
  background: #fff;
  border: 2px solid #E6E6EB;
  border-radius: 10px;
  display: block;
  cursor: pointer;
  position: relative;
  transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), background-color .12s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 0 3px 4px 1px #544baa12
}

.evt_plng_cntct .chkbx_lbl::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 2px solid #ABACC9;
  border-radius: 3px;
  background: #fff;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .14s cubic-bezier(0.4, 0, 1, 1)
}

.evt_plng_cntct .chkbx_lbl::after {
  content: '';
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%) scale(0);
  width: 12px;
  height: 12px;
  background: #fff;
  clip-path: polygon(15% 50%, 40% 75%, 85% 20%, 100% 35%, 40% 100%, 0% 65%);
  transition: transform .16s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}

.evt_plng_cntct .chkbx_lbl:hover {
  border-color: #ABACC9;
  transform: translateY(-1px);
  box-shadow: 0 5px 18px 1px #544baa17
}

.evt_plng_cntct .chkbx_inpt:checked+.chkbx_lbl {
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  border-color: #544BAA;
  color: #fff
}

.evt_plng_cntct .chkbx_inpt:checked+.chkbx_lbl::before {
  background: #544BAA;
  border-color: #544BAA
}

.evt_plng_cntct .chkbx_inpt:checked+.chkbx_lbl::after {
  transform: translateY(-50%) scale(1)
}

.evt_plng_cntct .chkbx_inpt:focus+.chkbx_lbl {
  box-shadow: 0 0 0 3px #544baa1f
}

.evt_plng_cntct .prvc_blk {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #e6e6eb4d;
  border-radius: 10px
}

.evt_plng_cntct .prvc_chkbx_wrp {
  flex-shrink: 0;
  position: relative;
  margin-top: 2px
}

.evt_plng_cntct .prvc_chkbx {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.evt_plng_cntct .prvc_chkbx_cstm {
  width: 24px;
  height: 24px;
  border: 2px solid #ABACC9;
  border-radius: 3px;
  background: #fff;
  display: block;
  cursor: pointer;
  position: relative;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1), border-color .14s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: inset 0 2px 3px #544baa0a
}

.evt_plng_cntct .prvc_chkbx_cstm::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 14px;
  height: 14px;
  background: #fff;
  clip-path: polygon(15% 50%, 40% 75%, 85% 20%, 100% 35%, 40% 100%, 0% 65%);
  transition: transform .16s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}

.evt_plng_cntct .prvc_chkbx:checked+.prvc_chkbx_cstm {
  background: #544BAA;
  border-color: #544BAA
}

.evt_plng_cntct .prvc_chkbx:checked+.prvc_chkbx_cstm::after {
  transform: translate(-50%, -50%) scale(1)
}

.evt_plng_cntct .prvc_chkbx:focus+.prvc_chkbx_cstm {
  box-shadow: 0 0 0 3px #544baa1f
}

.evt_plng_cntct .prvc_txt {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0
}

.evt_plng_cntct .prvc_txt a {
  color: #544BAA;
  text-decoration: none;
  font-weight: 600;
  transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.evt_plng_cntct .prvc_txt a:hover {
  color: #6d63c9
}

.evt_plng_cntct .prvc_txt a:focus {
  outline: 2px solid #544BAA;
  outline-offset: 2px;
  border-radius: 3px
}

.evt_plng_cntct .sbmt_wrp {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  margin-top: 8px
}

.evt_plng_cntct .sbmt_btn {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 18px 48px;
  background: #544BAA;
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
  box-shadow: 0 5px 18px 1px #544baa17
}

.evt_plng_cntct .sbmt_btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(163deg, #6d63c9 0%, #7d74d4 100%);
  transition: height .16s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 0
}

.evt_plng_cntct .sbmt_btn span {
  position: relative;
  z-index: 1
}

.evt_plng_cntct .sbmt_btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 60px 1px #544baa21
}

.evt_plng_cntct .sbmt_btn:hover::before {
  height: 100%
}

.evt_plng_cntct .sbmt_btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 4px 1px #544baa12
}

.evt_plng_cntct .sbmt_btn:focus {
  outline: none;
  box-shadow: 0 0 0 4px #544baa33 0 5px 18px 1px #544baa17
}

.evt_plng_cntct .dtls_sctn {
  background: #E6E6EB;
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .dtls_sctn::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 280px;
  background: linear-gradient(to bottom, transparent 0%, #544baa14 50%, transparent 100%);
  transform: rotate(-25deg);
  transform-origin: bottom right
}

.evt_plng_cntct .dtls_sctn::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 40px;
  width: 1px;
  height: 220px;
  background: linear-gradient(to bottom, transparent 0%, #544baa0f 50%, transparent 100%);
  transform: rotate(-25deg);
  transform-origin: bottom right
}

.evt_plng_cntct .dtls_cntnt {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  animation: dtls_rvl .8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards
}

@keyframes dtls_rvl {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

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

.evt_plng_cntct .dtls_mn {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: col_1_rvl .6s cubic-bezier(0.175, 0.885, 0.32, 1.275) .1s backwards
}

@keyframes col_1_rvl {
  from {
    opacity: 0;
    transform: translateX(-16px)
  }

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

.evt_plng_cntct .dtls_sd_1 {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: col_2_rvl .6s cubic-bezier(0.175, 0.885, 0.32, 1.275) .2s backwards
}

@keyframes col_2_rvl {
  from {
    opacity: 0;
    transform: translateX(-16px)
  }

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

.evt_plng_cntct .dtls_sd_2 {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: col_3_rvl .6s cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s backwards
}

@keyframes col_3_rvl {
  from {
    opacity: 0;
    transform: translateX(-16px)
  }

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

.evt_plng_cntct .dtls_hdr {
  margin: 0 0 8px
}

.evt_plng_cntct .dtls_ttl {
  font-size: 51px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 16px;
  letter-spacing: -.02em;
  text-shadow: 3px 3px 0 #544baa0f
}

.evt_plng_cntct .dtls_sbt {
  font-size: 21px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0
}

.evt_plng_cntct .crd_blk {
  background: #fff;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 5px 18px 1px #544baa17;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .crd_blk:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 60px 1px #544baa21
}

.evt_plng_cntct .crd_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  opacity: 0;
  transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.evt_plng_cntct .crd_blk:hover::before {
  opacity: 1
}

.evt_plng_cntct .crd_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 8px;
  font-weight: 700
}

.evt_plng_cntct .crd_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0
}

.evt_plng_cntct .crd_txt a {
  color: #544BAA;
  text-decoration: none;
  font-weight: 600;
  transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.evt_plng_cntct .crd_txt a:hover {
  color: #6d63c9
}

.evt_plng_cntct .crd_txt a:focus {
  outline: 2px solid #544BAA;
  outline-offset: 2px;
  border-radius: 3px
}

.evt_plng_cntct .hrs_blk {
  background: linear-gradient(163deg, #e6e6eb99 0%, #abacc933 100%);
  padding: 24px;
  border-radius: 18px;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .hrs_blk::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, #544baa0f 0%, transparent 70%);
  pointer-events: none
}

.evt_plng_cntct .hrs_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 16px;
  font-weight: 700
}

.evt_plng_cntct .hrs_itm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #544baa1a
}

.evt_plng_cntct .hrs_itm:last-child {
  border-bottom: none
}

.evt_plng_cntct .hrs_dy {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  font-weight: 600
}

.evt_plng_cntct .hrs_tm {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA
}

.evt_plng_cntct .actv_fd {
  background: #fff;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 5px 18px 1px #544baa17
}

.evt_plng_cntct .actv_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 16px;
  font-weight: 700
}

.evt_plng_cntct .actv_lst {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.evt_plng_cntct .actv_ntry {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: #e6e6eb66;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  transition: background-color .14s cubic-bezier(0.4, 0, 1, 1)
}

.evt_plng_cntct .actv_ntry:hover {
  background: #abacc926
}

.evt_plng_cntct .actv_icn {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .actv_icn::before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  opacity: .3
}

.evt_plng_cntct .actv_cntnt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.evt_plng_cntct .actv_tm {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  font-weight: 600
}

.evt_plng_cntct .actv_dsc {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0
}

.evt_plng_cntct .cmprsn_blk {
  background: #fff;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 5px 18px 1px #544baa17;
  display: flex;
  gap: 24px;
  align-items: center;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .cmprsn_blk::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, #544baa26 50%, transparent 100%)
}

.evt_plng_cntct .cmprsn_itm {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 1
}

.evt_plng_cntct .cmprsn_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600
}

.evt_plng_cntct .cmprsn_vl {
  font-size: 51px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0;
  font-weight: 700;
  letter-spacing: -.02em
}

.evt_plng_cntct .cmprsn_itm.bfr .cmprsn_vl {
  color: #ABACC9
}

.evt_plng_cntct .ntfy_blk {
  background: linear-gradient(163deg, #e6e6eb99 0%, #abacc933 100%);
  padding: 24px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  overflow: hidden
}

.evt_plng_cntct .ntfy_blk::before {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, #544baa14 0%, transparent 70%);
  pointer-events: none
}

.evt_plng_cntct .ntfy_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0;
  font-weight: 700
}

.evt_plng_cntct .ntfy_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0
}

.evt_plng_cntct .ntfy_sts {
  display: flex;
  gap: 16px;
  margin-top: 8px
}

.evt_plng_cntct .ntfy_sts_itm {
  flex: 1;
  padding: 16px;
  background: #fff;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 3px 4px 1px #544baa12
}

.evt_plng_cntct .ntfy_sts_vl {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 4px;
  font-weight: 700
}

.evt_plng_cntct .ntfy_sts_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a3a;
  margin: 0
}

@media (max-width: 1024px) {
  .evt_plng_cntct .intk_hdr {
    padding: 72px 24px 48px
  }

  .evt_plng_cntct .intk_ttl {
    font-size: 51px
  }

  .evt_plng_cntct .intk_vis_cntnr img {
    height: 360px
  }

  .evt_plng_cntct .dtls_cntnt {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .evt_plng_cntct .dtls_ttl {
    font-size: 37px
  }

  .evt_plng_cntct .frm_cntnt {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .evt_plng_cntct .intrst_grd {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .evt_plng_cntct .intk_hdr {
    padding: 48px 16px 24px;
    border-radius: 0 0 18px 18px
  }

  .evt_plng_cntct .intk_ttl {
    font-size: 37px
  }

  .evt_plng_cntct .intk_dsc {
    font-size: 15px
  }

  .evt_plng_cntct .intk_vis_cntnr {
    margin-bottom: 24px
  }

  .evt_plng_cntct .intk_vis_cntnr img {
    height: 280px;
    border-radius: 10px
  }

  .evt_plng_cntct .frm_wrp {
    padding: 24px 16px
  }

  .evt_plng_cntct .frm_hdr_ttl {
    font-size: 21px
  }

  .evt_plng_cntct .dtls_sctn {
    padding: 24px 16px
  }

  .evt_plng_cntct .dtls_ttl {
    font-size: 21px
  }

  .evt_plng_cntct .dtls_sbt {
    font-size: 15px
  }

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

  .evt_plng_cntct .cmprsn_blk::before {
    width: 60%;
    height: 1px;
    top: 50%;
    left: 50%
  }

  .evt_plng_cntct .cmprsn_vl {
    font-size: 37px
  }

  .evt_plng_cntct .ntfy_sts {
    flex-direction: column
  }

  .evt_plng_cntct .ntfy_sts_vl {
    font-size: 21px
  }
}

@media (max-width: 375px) {
  .evt_plng_cntct .intk_ttl {
    font-size: 21px
  }

  .evt_plng_cntct .intk_vis_cntnr img {
    height: 220px
  }

  .evt_plng_cntct .sbmt_btn {
    width: 100%;
    padding: 16px 24px
  }
}

.learn_prog {
  max-width: 1280px;
  margin: 0 auto
}

.learn_prog .intro_zone {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 48px 16px;
  position: relative;
  overflow: hidden
}

.learn_prog .intro_zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 24px, #544baa08 24px, #544baa08 48px), repeating-linear-gradient(-45deg, transparent, transparent 24px, #544baa08 24px, #544baa08 48px);
  pointer-events: none;
  z-index: 0
}

.learn_prog .intro_content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1
}

.learn_prog .intro_visual {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  position: relative;
  z-index: 1
}

.learn_prog .intro_img_wrap {
  position: relative;
  width: 100%;
  height: 380px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 5px 18px 1px #544baa17
}

.learn_prog .intro_img_wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, transparent 30%, #0009);
  pointer-events: none
}

.learn_prog .intro_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  clip-path: inset(0 100% 0 0);
  animation: wipe_reveal 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) .3s forwards
}

@keyframes wipe_reveal {
  to {
    clip-path: inset(0 0 0 0)
  }
}

.learn_prog .intro_head {
  font-size: 51px;
  line-height: 1.1;
  color: #544BAA;
  letter-spacing: -.02em;
  text-shadow: 0 2px 8px #544baa26
}

.learn_prog .intro_desc {
  font-size: 21px;
  line-height: 1.4;
  color: #3a3a3a;
  max-width: 640px
}

.learn_prog .structure_zone {
  padding: 48px 16px;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  position: relative
}

.learn_prog .structure_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.learn_prog .structure_main {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.learn_prog .structure_head {
  font-size: 37px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -.01em
}

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

.learn_prog .structure_item {
  background: #fffffff2;
  padding: 24px;
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  box-shadow: 0 3px 4px 1px #544baa12;
  transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1), border .14s cubic-bezier(0.4, 0, 1, 1);
  border: 2px solid transparent
}

.learn_prog .structure_item:hover {
  box-shadow: 0 8px 60px 1px #544baa21;
  border: 2px dashed #544BAA
}

.learn_prog .structure_num_wrap {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center
}

.learn_prog .structure_ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid #E6E6EB
}

.learn_prog .structure_arc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #544BAA;
  border-right-color: #544BAA;
  transform: rotate(-45deg)
}

.learn_prog .structure_num {
  font-size: 21px;
  font-weight: 700;
  color: #544BAA;
  position: relative;
  z-index: 1
}

.learn_prog .structure_item_content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.learn_prog .structure_item_head {
  font-size: 21px;
  line-height: 1.1;
  color: #2a2a2a;
  font-weight: 600
}

.learn_prog .structure_item_txt {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a
}

.learn_prog .structure_aside {
  background: #ffffff26;
  padding: 24px;
  border-radius: 10px;
  backdrop-filter: blur(8px)
}

.learn_prog .structure_aside_head {
  font-size: 21px;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 600
}

.learn_prog .structure_aside_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #fffffff2
}

.learn_prog .method_zone {
  padding: 48px 16px;
  background: #fafcfd;
  position: relative
}

.learn_prog .method_zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 12px, #544baa05 12px, #544baa05 13px), repeating-linear-gradient(90deg, transparent, transparent 12px, #544baa05 12px, #544baa05 13px), repeating-linear-gradient(45deg, transparent, transparent 24px, #544baa03 24px, #544baa03 26px), repeating-linear-gradient(-45deg, transparent, transparent 24px, #544baa03 24px, #544baa03 26px);
  pointer-events: none
}

.learn_prog .method_inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 48px
}

.learn_prog .method_head {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  letter-spacing: -.01em;
  text-align: center
}

.learn_prog .method_comparison {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.learn_prog .method_stage {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 3px 4px 1px #544baa12;
  position: relative;
  overflow: hidden
}

.learn_prog .method_stage.before {
  border: 2px solid #E6E6EB
}

.learn_prog .method_stage.after {
  border: 2px solid #544BAA
}

.learn_prog .method_stage_label {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 28px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 16px
}

.learn_prog .method_stage.before .method_stage_label {
  background: #E6E6EB;
  color: #6a6a6a
}

.learn_prog .method_stage.after .method_stage_label {
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  color: #fff
}

.learn_prog .method_stage_head {
  font-size: 21px;
  line-height: 1.1;
  color: #2a2a2a;
  margin-bottom: 16px;
  font-weight: 600
}

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

.learn_prog .method_stage_point {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a;
  padding-left: 24px;
  position: relative
}

.learn_prog .method_stage_point::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ABACC9
}

.learn_prog .method_stage.after .method_stage_point::before {
  background: #544BAA
}

.learn_prog .method_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0
}

.learn_prog .method_arrow svg {
  width: 32px;
  height: 32px;
  fill: #544BAA;
  animation: bounce_arrow 2s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite
}

@keyframes bounce_arrow {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(12px)
  }
}

.learn_prog .outcomes_zone {
  padding: 48px 16px;
  background: #fff
}

.learn_prog .outcomes_layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.learn_prog .outcomes_main {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.learn_prog .outcomes_head {
  font-size: 37px;
  line-height: 1.1;
  color: #2a2a2a;
  letter-spacing: -.01em;
  text-shadow: 0 1px 3px #544baa1a
}

.learn_prog .outcomes_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a4a
}

.learn_prog .outcomes_cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px
}

.learn_prog .outcomes_card {
  background: #fff;
  border: 2px solid #E6E6EB;
  border-radius: 10px;
  padding: 24px;
  transition: transform .16s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1), border-color .16s cubic-bezier(0.4, 0, 1, 1);
  position: relative;
  overflow: hidden
}

.learn_prog .outcomes_card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  transition: height .18s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0
}

.learn_prog .outcomes_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 60px 1px #544baa21;
  border-color: #544BAA
}

.learn_prog .outcomes_card:hover::before {
  height: 4px
}

.learn_prog .outcomes_card_content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.learn_prog .outcomes_card_head {
  font-size: 21px;
  line-height: 1.1;
  color: #2a2a2a;
  font-weight: 600
}

.learn_prog .outcomes_card_txt {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a
}

.learn_prog .outcomes_note {
  background: #fafcfd;
  border-left: 3px solid #544BAA;
  padding: 16px 24px;
  border-radius: 3px;
  box-shadow: inset 2px 0 4px #544baa0d
}

.learn_prog .outcomes_note_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a4a;
  font-style: italic
}

.learn_prog .path_curve {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2
}

.learn_prog .path_curve path {
  stroke: #544BAA;
  stroke-width: 2;
  stroke-dasharray: 8 6;
  fill: none;
  opacity: .3
}

@media (min-width: 768px) {
  .learn_prog .intro_zone {
    flex-direction: row;
    align-items: center;
    gap: 48px;
    padding: 48px 24px
  }

  .learn_prog .intro_content {
    flex: 1
  }

  .learn_prog .intro_visual {
    flex-shrink: 0;
    width: 420px
  }

  .learn_prog .intro_img_wrap {
    height: 320px
  }

  .learn_prog .structure_zone {
    padding: 48px 24px
  }

  .learn_prog .structure_grid {
    grid-template-columns: 3fr 1fr;
    gap: 48px
  }

  .learn_prog .method_zone {
    padding: 48px 24px
  }

  .learn_prog .method_comparison {
    flex-direction: row;
    gap: 48px
  }

  .learn_prog .method_stage {
    flex: 1
  }

  .learn_prog .method_arrow {
    flex-direction: column;
    padding: 0 16px
  }

  .learn_prog .method_arrow svg {
    transform: rotate(90deg)
  }

  @keyframes bounce_arrow {

    0%,
    100% {
      transform: rotate(90deg) translateY(0)
    }

    50% {
      transform: rotate(90deg) translateY(12px)
    }
  }

  .learn_prog .outcomes_zone {
    padding: 48px 24px
  }

  .learn_prog .outcomes_layout {
    grid-template-columns: 2fr 1fr;
    gap: 48px
  }

  .learn_prog .outcomes_cards {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 1024px) {
  .learn_prog .intro_zone {
    padding: 48px
  }

  .learn_prog .intro_visual {
    width: 520px
  }

  .learn_prog .intro_img_wrap {
    height: 380px
  }

  .learn_prog .structure_zone {
    padding: 48px
  }

  .learn_prog .method_zone {
    padding: 48px
  }

  .learn_prog .outcomes_zone {
    padding: 48px
  }

  .learn_prog .outcomes_cards {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (min-width: 1280px) {
  .learn_prog .intro_head {
    font-size: 68px
  }

  .learn_prog .structure_head {
    font-size: 51px
  }

  .learn_prog .method_head {
    font-size: 51px
  }

  .learn_prog .outcomes_head {
    font-size: 51px
  }
}

.abt_us {
  max-width: 1280px;
  margin: 0 auto
}

.abt_us .hero_zone {
  position: relative;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 35%, #544BAA 65%, #E6E6EB 100%);
  padding: 120px 24px 48px;
  overflow: hidden;
  border-radius: 28px;
  margin: 24px 16px
}

.abt_us .hero_zone::before {
  content: '';
  position: absolute;
  top: -10%;
  left: 5%;
  width: 180px;
  height: 180px;
  background: #ffffff14;
  border-radius: 50%;
  animation: mesh_blob_1 8s ease-in-out infinite
}

.abt_us .hero_zone::after {
  content: '';
  position: absolute;
  bottom: 10%;
  right: 8%;
  width: 240px;
  height: 240px;
  background: #ffffff0f;
  border-radius: 50%;
  animation: mesh_blob_2 10s ease-in-out infinite
}

@keyframes mesh_blob_1 {

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

  50% {
    transform: translate(30px, -20px) scale(1.1)
  }
}

@keyframes mesh_blob_2 {

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

  50% {
    transform: translate(-40px, 30px) scale(1.15)
  }
}

.abt_us .depth_letter {
  position: absolute;
  top: 10%;
  right: 8%;
  font-size: 280px;
  font-weight: 700;
  color: #ffffff0a;
  line-height: 1;
  pointer-events: none;
  user-select: none
}

.abt_us .hero_content {
  position: relative;
  z-index: 2
}

.abt_us .hero_h1 {
  font-size: 68px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 48px;
  letter-spacing: -.02em;
  text-shadow: 0 3px 12px #544baa4d
}

.abt_us .hero_desc {
  font-size: 21px;
  line-height: 1.7;
  color: #fffffff2;
  max-width: 680px;
  margin: 0
}

.abt_us .rotating_shape {
  position: absolute;
  bottom: 8%;
  left: 6%;
  width: 140px;
  height: 140px;
  pointer-events: none;
  animation: slow_rotate 40s linear infinite
}

@keyframes slow_rotate {
  from {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

.abt_us .rotating_shape svg {
  width: 100%;
  height: 100%;
  opacity: .15
}

.abt_us .svg_divider_1 {
  display: block;
  width: 100%;
  height: 60px;
  margin: 0;
  padding: 0
}

.abt_us .story_section {
  background: #fff;
  padding: 48px 24px;
  position: relative
}

.abt_us .story_container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 24px;
  align-items: start
}

.abt_us .story_col_1 {
  background: linear-gradient(163deg, #E6E6EB 0%, #ABACC9 100%);
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 3px 4px 1px #544baa12
}

.abt_us .story_col_2 {
  background: #F8F8FC;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 3px 4px 1px #544baa12
}

.abt_us .story_col_3 {
  background: #fff;
  padding: 24px;
  border-radius: 18px;
  border: 2px solid #E6E6EB
}

.abt_us .story_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 16px;
  letter-spacing: -.01em
}

.abt_us .story_text {
  font-size: 15px;
  line-height: 1.7;
  color: #2A2A2A;
  margin: 0 0 16px
}

.abt_us .story_text:last-child {
  margin-bottom: 0
}

.abt_us .story_col_1 .story_h2 {
  color: #544BAA;
  text-shadow: 0 2px 6px #544baa26
}

.abt_us .story_col_2 .story_h2 {
  color: #544BAA;
  font-size: 21px;
  text-shadow: 0 1px 4px #544baa1f
}

.abt_us .story_col_3 .story_h2 {
  color: #2A2A2A;
  margin-bottom: 24px
}

.abt_us .num_circle_wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px
}

.abt_us .num_circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #544BAA;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  font-weight: 700;
  flex-shrink: 0;
  box-shadow: 0 3px 4px 1px #544baa12
}

.abt_us .num_circle_text {
  font-size: 15px;
  line-height: 1.4;
  color: #2A2A2A;
  margin: 0
}

.abt_us .team_section {
  background: #F2F2F8;
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.abt_us .parallax_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-image: url(./photo_files/slideshow-1.jpg);
  background-size: cover;
  background-position: center;
  opacity: .08;
  transform: translateY(0);
  pointer-events: none
}

.abt_us .team_container {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.abt_us .team_h2 {
  font-size: 51px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 48px;
  letter-spacing: -.02em;
  text-align: center
}

.abt_us .team_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.abt_us .team_card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 5px 18px 1px #544baa17;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
  position: relative
}

.abt_us .team_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 60px 1px #544baa21
}

.abt_us .team_card:hover~.team_card {
  transform: translateX(6px)
}

.abt_us .team_img_wrap {
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative
}

.abt_us .team_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .16s cubic-bezier(0.4, 0, 1, 1), filter .16s cubic-bezier(0.4, 0, 1, 1)
}

.abt_us .team_card:hover .team_img {
  transform: scale(1.08);
  filter: brightness(1.05)
}

.abt_us .team_info {
  padding: 24px
}

.abt_us .team_name {
  font-size: 21px;
  line-height: 1.4;
  color: #2A2A2A;
  margin: 0 0 8px;
  font-weight: 600
}

.abt_us .team_role {
  font-size: 15px;
  line-height: 1.4;
  color: #6B6B80;
  margin: 0
}

.abt_us .values_section {
  background: #fff;
  padding: 48px 24px;
  position: relative
}

.abt_us .values_container {
  max-width: 1280px;
  margin: 0 auto
}

.abt_us .values_h2 {
  font-size: 51px;
  line-height: 1.1;
  color: #2A2A2A;
  margin: 0 0 48px;
  letter-spacing: -.02em
}

.abt_us .values_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.abt_us .value_card {
  background: #fff;
  border: 2px solid #E6E6EB;
  border-radius: 18px;
  padding: 24px;
  position: relative;
  overflow: hidden;
  transition: border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.abt_us .value_card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(163deg, #E6E6EB 0%, #ABACC9 100%);
  transition: height .15s cubic-bezier(0.4, 0, 1, 1);
  z-index: 1
}

.abt_us .value_card:hover::before {
  height: 100%
}

.abt_us .value_card:hover {
  border-color: #ABACC9
}

.abt_us .value_content {
  position: relative;
  z-index: 2
}

.abt_us .value_h3 {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 16px;
  font-weight: 600;
  text-shadow: 0 1px 3px #544baa1a
}

.abt_us .value_text {
  font-size: 15px;
  line-height: 1.7;
  color: #2A2A2A;
  margin: 0
}

.abt_us .svg_divider_2 {
  display: block;
  width: 100%;
  height: 60px;
  margin: 0;
  padding: 0
}

.abt_us .metrics_section {
  background: linear-gradient(163deg, #544BAA 0%, #ABACC9 100%);
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.abt_us .metrics_container {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.abt_us .metrics_h2 {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 48px;
  letter-spacing: -.02em;
  text-align: center
}

.abt_us .metrics_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.abt_us .metric_card {
  background: #ffffff1f;
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  backdrop-filter: blur(8px);
  box-shadow: 0 3px 4px 1px #544baa12;
  transition: background .13s cubic-bezier(0.4, 0, 1, 1), transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.abt_us .metric_card:hover {
  background: #ffffff2e;
  transform: translateY(-3px)
}

.abt_us .metric_num {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 8px;
  font-weight: 700
}

.abt_us .metric_label {
  font-size: 15px;
  line-height: 1.4;
  color: #ffffffe6;
  margin: 0
}

.abt_us .donut_section {
  background: #F8F8FC;
  padding: 48px 24px;
  position: relative
}

.abt_us .donut_container {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: center
}

.abt_us .donut_content {
  flex: 1
}

.abt_us .donut_h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 24px;
  letter-spacing: -.01em
}

.abt_us .donut_text {
  font-size: 15px;
  line-height: 1.7;
  color: #2A2A2A;
  margin: 0 0 16px
}

.abt_us .donut_visual {
  flex: 0 0 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px
}

.abt_us .donut_chart {
  position: relative;
  width: 280px;
  height: 280px
}

.abt_us .donut_svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg)
}

.abt_us .donut_segment {
  fill: none;
  stroke-width: 50;
  transition: stroke-width .14s cubic-bezier(0.4, 0, 1, 1)
}

.abt_us .donut_segment:hover {
  stroke-width: 58
}

.abt_us .donut_center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center
}

.abt_us .donut_center_num {
  font-size: 51px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0;
  font-weight: 700
}

.abt_us .donut_center_label {
  font-size: 15px;
  line-height: 1.4;
  color: #6B6B80;
  margin: 0
}

.abt_us .donut_legend {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%
}

.abt_us .legend_item {
  display: flex;
  align-items: center;
  gap: 16px
}

.abt_us .legend_color {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  flex-shrink: 0;
  box-shadow: 0 3px 4px 1px #544baa12
}

.abt_us .legend_text {
  flex: 1
}

.abt_us .legend_name {
  font-size: 15px;
  line-height: 1.4;
  color: #2A2A2A;
  margin: 0 0 4px;
  font-weight: 600
}

.abt_us .legend_value {
  font-size: 15px;
  line-height: 1.4;
  color: #6B6B80;
  margin: 0
}

@media (max-width: 1024px) {
  .abt_us .hero_zone {
    padding: 80px 24px 48px
  }

  .abt_us .hero_h1 {
    font-size: 51px
  }

  .abt_us .depth_letter {
    font-size: 200px
  }

  .abt_us .story_container {
    grid-template-columns: 1fr
  }

  .abt_us .team_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt_us .values_grid {
    grid-template-columns: 1fr
  }

  .abt_us .metrics_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt_us .donut_container {
    flex-direction: column
  }

  .abt_us .donut_visual {
    flex: 1;
    width: 100%
  }
}

@media (max-width: 768px) {
  .abt_us .hero_zone {
    padding: 48px 16px 24px;
    margin: 16px 8px
  }

  .abt_us .hero_h1 {
    font-size: 37px;
    margin-bottom: 24px
  }

  .abt_us .hero_desc {
    font-size: 15px
  }

  .abt_us .depth_letter {
    font-size: 140px
  }

  .abt_us .rotating_shape {
    width: 80px;
    height: 80px
  }

  .abt_us .story_section,
  .abt_us .team_section,
  .abt_us .values_section,
  .abt_us .metrics_section,
  .abt_us .donut_section {
    padding: 24px 16px
  }

  .abt_us .story_h2,
  .abt_us .team_h2,
  .abt_us .values_h2,
  .abt_us .metrics_h2 {
    font-size: 37px;
    margin-bottom: 24px
  }

  .abt_us .donut_h2 {
    font-size: 21px
  }

  .abt_us .team_grid {
    grid-template-columns: 1fr
  }

  .abt_us .team_img_wrap {
    height: 200px
  }

  .abt_us .metrics_grid {
    grid-template-columns: 1fr
  }

  .abt_us .donut_chart {
    width: 220px;
    height: 220px
  }

  .abt_us .donut_center_num {
    font-size: 37px
  }
}

@media (max-width: 375px) {
  .abt_us .hero_h1 {
    font-size: 21px
  }

  .abt_us .story_h2,
  .abt_us .team_h2,
  .abt_us .values_h2,
  .abt_us .metrics_h2 {
    font-size: 21px
  }
}

.prtl {
  max-width: 1280px;
  margin: 0 auto
}

.prtl .lnd_hd {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px;
  padding: 48px 16px;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  position: relative;
  overflow: hidden
}

.prtl .lnd_hd::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -8%;
  width: 280px;
  height: 280px;
  background: #ffffff14;
  border-radius: 50%;
  pointer-events: none
}

.prtl .lnd_hd::after {
  content: '';
  position: absolute;
  bottom: -15%;
  left: 5%;
  width: 180px;
  height: 180px;
  background: #ffffff0d;
  border-radius: 50%;
  pointer-events: none
}

.prtl .txt_col {
  flex: 1;
  z-index: 2;
  animation: slide_up .14s cubic-bezier(0.4, 0, 1, 1)
}

@keyframes slide_up {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

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

.prtl .img_col {
  flex: 0 0 420px;
  height: 380px;
  position: relative;
  z-index: 2;
  animation: fade_in .16s cubic-bezier(0.4, 0, 1, 1) .1s backwards
}

@keyframes fade_in {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.prtl .img_col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(15% 0, 100% 0, 100% 85%, 85% 100%, 0 100%, 0 15%)
}

.prtl .main_ttl {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px;
  text-shadow: 0 2px 8px #544baa4d
}

.prtl .sub_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #fff;
  margin: 0;
  opacity: .95
}

.prtl .exp_blk {
  padding: 48px 16px;
  background: #fff;
  position: relative
}

.prtl .exp_inner {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 48px;
  align-items: start
}

.prtl .exp_main {
  position: relative;
  animation: offset_reveal_1 .15s cubic-bezier(0.4, 0, 1, 1)
}

@keyframes offset_reveal_1 {
  from {
    opacity: 0;
    transform: translateY(16px)
  }

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

.prtl .exp_main::before {
  content: '"';
  position: absolute;
  top: -24px;
  left: -16px;
  font-size: 120px;
  line-height: 1;
  color: #E6E6EB;
  font-weight: 700;
  pointer-events: none
}

.prtl .exp_hd {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 24px;
  position: relative;
  display: inline-block
}

.prtl .exp_hd::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 60%;
  height: 3px;
  background: #ABACC9;
  border-radius: 3px
}

.prtl .exp_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #2a2a2a;
  margin: 0 0 16px
}

.prtl .exp_aside {
  background: #E6E6EB;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 3px 4px 1px #544baa12;
  animation: offset_reveal_2 .16s cubic-bezier(0.4, 0, 1, 1) .08s backwards
}

@keyframes offset_reveal_2 {
  from {
    opacity: 0;
    transform: translateY(32px)
  }

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

.prtl .aside_ttl {
  font-size: 21px;
  line-height: 1.4;
  color: #544BAA;
  margin: 0 0 16px;
  font-weight: 600
}

.prtl .aside_note {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0
}

.prtl .gap_blk {
  padding: 48px 16px;
  background: #2d2654;
  background-color: #2d2654 !important;
  position: relative;
  overflow: hidden
}

.prtl .gap_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(163deg, #abacc91a 0%, #544baa26 100%);
  pointer-events: none
}

.prtl .gap_inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  position: relative;
  z-index: 2
}

.prtl .gap_card {
  background: #ffffff14;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #ffffff1f;
  transition: background .12s cubic-bezier(0.4, 0, 1, 1), transform .14s cubic-bezier(0.4, 0, 1, 1);
  animation: offset_reveal_3 .17s cubic-bezier(0.4, 0, 1, 1)
}

@keyframes offset_reveal_3 {
  from {
    opacity: 0;
    transform: translateY(48px)
  }

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

.prtl .gap_card:nth-child(2) {
  animation-delay: .06s
}

.prtl .gap_card:nth-child(3) {
  animation-delay: .12s
}

.prtl .gap_card:hover {
  background: #ffffff1f;
  transform: translateY(-4px)
}

.prtl .gap_card_hd {
  font-size: 21px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 16px;
  font-weight: 600
}

.prtl .gap_card_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #ffffffe6;
  margin: 0
}

.prtl .val_blk {
  padding: 48px 16px;
  background: #fff;
  position: relative
}

.prtl .val_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: #fff;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 80" preserveAspectRatio="none"><path d="M0,20 Q150,40 300,25 T600,30 T900,20 T1200,35 L1200,80 L0,80 Z" fill="white"/></svg>');
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  pointer-events: none
}

.prtl .val_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-top: 24px
}

.prtl .val_content {
  animation: offset_reveal_4 .18s cubic-bezier(0.4, 0, 1, 1)
}

@keyframes offset_reveal_4 {
  from {
    opacity: 0;
    transform: translateY(64px)
  }

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

.prtl .val_hd {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 24px;
  text-shadow: 1px 1px 2px #544baa26
}

.prtl .val_txt {
  font-size: 15px;
  line-height: 1.7;
  color: #2a2a2a;
  margin: 0 0 16px
}

.prtl .val_img_wrap {
  position: relative;
  height: 340px;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 5px 18px 1px #544baa17;
  animation: offset_reveal_5 .16s cubic-bezier(0.4, 0, 1, 1) .1s backwards
}

@keyframes offset_reveal_5 {
  from {
    opacity: 0;
    transform: translateY(80px)
  }

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

.prtl .val_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.prtl .metric_row {
  display: flex;
  flex-direction: row;
  gap: 24px;
  margin-top: 24px;
  flex-wrap: wrap
}

.prtl .metric_item {
  background: linear-gradient(163deg, #E6E6EB 0%, #fff 100%);
  padding: 16px 24px;
  border-radius: 10px;
  border: 1px solid #ABACC9;
  flex: 1;
  min-width: 200px;
  transition: box-shadow .11s cubic-bezier(0.4, 0, 1, 1), transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.prtl .metric_item:hover {
  box-shadow: 0 5px 18px 1px #544baa17;
  transform: translateY(-2px)
}

.prtl .metric_val {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 8px;
  font-weight: 700
}

.prtl .metric_lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #4a4a4a;
  margin: 0
}

@media (max-width: 1024px) {
  .prtl .lnd_hd {
    flex-direction: column;
    gap: 24px;
    padding: 24px 16px
  }

  .prtl .img_col {
    flex: 0 0 auto;
    width: 100%;
    height: 280px
  }

  .prtl .main_ttl {
    font-size: 37px
  }

  .prtl .sub_ttl {
    font-size: 15px
  }

  .prtl .exp_inner {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .prtl .gap_inner {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .prtl .val_grid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .prtl .val_img_wrap {
    height: 260px
  }

  .prtl .metric_row {
    flex-direction: column
  }

  .prtl .metric_item {
    min-width: 0
  }
}

@media (max-width: 768px) {
  .prtl .lnd_hd {
    padding: 16px
  }

  .prtl .main_ttl {
    font-size: 37px;
    margin-bottom: 8px
  }

  .prtl .sub_ttl {
    font-size: 15px
  }

  .prtl .img_col {
    height: 240px
  }

  .prtl .exp_blk,
  .prtl .gap_blk,
  .prtl .val_blk {
    padding: 24px 16px
  }

  .prtl .exp_hd,
  .prtl .val_hd {
    font-size: 21px
  }

  .prtl .aside_ttl,
  .prtl .gap_card_hd {
    font-size: 15px
  }

  .prtl .metric_val {
    font-size: 21px
  }

  .prtl .val_img_wrap {
    height: 220px
  }
}

@media (max-width: 375px) {
  .prtl .lnd_hd {
    padding: 16px 8px
  }

  .prtl .main_ttl {
    font-size: 21px
  }

  .prtl .exp_blk,
  .prtl .gap_blk,
  .prtl .val_blk {
    padding: 16px 8px
  }

  .prtl .exp_aside {
    padding: 16px
  }

  .prtl .gap_card {
    padding: 16px
  }

  .prtl .metric_item {
    padding: 16px
  }
}

.prtl ::selection {
  background: #544baa1a;
  color: inherit
}

.prtl input::placeholder,
.prtl textarea::placeholder {
  color: #2a2a2a66
}

.prtl button {
  cursor: pointer;
  border: none;
  outline: none;
  font-family: inherit
}

.prtl button:focus-visible {
  outline: 2px solid #544BAA;
  outline-offset: 2px
}

.prtl a:focus-visible {
  outline: 2px solid #544BAA;
  outline-offset: 2px;
  border-radius: 3px
}

.compare {
  background: #fff;
  color: #1a0f2e;
  overflow-x: clip
}

.compare .cmp_intro {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  position: relative
}

.compare .cmp_intro::after {
  content: '';
  position: absolute;
  top: 8%;
  right: -5%;
  width: 120%;
  height: 1px;
  background: linear-gradient(163deg, #ABACC9 0%, transparent 70%);
  transform: rotate(-12deg);
  pointer-events: none
}

.compare .intro_frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 5px 18px 1px #544baa17;
  border-bottom: 3px solid #544BAA
}

.compare .intro_img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.82);
  animation: intro_fade .16s cubic-bezier(0.4, 0, 1, 1) forwards
}

@keyframes intro_fade {
  from {
    opacity: 0;
    transform: scale(1.04)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}

.compare .intro_img:hover {
  filter: brightness(1.08);
  transition: filter .14s cubic-bezier(0.4, 0, 1, 1)
}

.compare .intro_txt {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.compare .intro_h {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 700;
  color: #544BAA;
  text-shadow: 0 2px 4px #544baa26
}

.compare .intro_desc {
  font-size: 15px;
  line-height: 1.7;
  color: #2d2640
}

.compare .intro_note {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  padding: 16px;
  background: #e6e6eb80;
  border-radius: 10px;
  border-left: 4px solid #544BAA;
  margin-top: 8px
}

@media (min-width: 768px) {
  .compare .cmp_intro {
    grid-template-columns: 380px 1fr;
    gap: 48px;
    padding: 48px 24px
  }

  .compare .intro_img {
    height: 420px
  }

  .compare .intro_h {
    font-size: 51px
  }

  .compare .intro_txt {
    gap: 24px
  }
}

@media (min-width: 1024px) {
  .compare .cmp_intro {
    grid-template-columns: 460px 1fr;
    padding: 48px
  }

  .compare .intro_img {
    height: 480px
  }
}

.compare .cmp_matrix {
  background: linear-gradient(163deg, #ABACC9 0%, #E6E6EB 100%);
  padding: 48px 16px;
  position: relative
}

.compare .matrix_wrap {
  max-width: 1280px;
  margin: 0 auto
}

.compare .matrix_head {
  text-align: center;
  margin-bottom: 48px
}

.compare .matrix_title {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 700;
  color: #1a0f2e;
  text-shadow: 0 1px 3px #1a0f2e1f;
  margin-bottom: 16px
}

.compare .matrix_subtitle {
  font-size: 15px;
  line-height: 1.4;
  color: #3d3454
}

.compare .matrix_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.compare .matrix_col {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 3px 4px 1px #abacc912;
  position: relative;
  overflow: hidden
}

.compare .matrix_col.featured {
  border: 2px solid #544BAA;
  box-shadow: 0 8px 60px 1px #544baa21
}

.compare .col_badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #544BAA;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  padding: 8px 16px;
  border-radius: 28px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600
}

.compare .col_name {
  font-size: 21px;
  line-height: 1.1;
  font-weight: 700;
  color: #544BAA;
  margin-bottom: 8px
}

.compare .col_tagline {
  font-size: 15px;
  line-height: 1.4;
  color: #5a5070;
  margin-bottom: 24px
}

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

.compare .col_feature {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  font-size: 15px;
  line-height: 1.4;
  color: #2d2640
}

.compare .feature_icon {
  width: 18px;
  height: 18px;
  border-radius: 3px;
  background: #544BAA;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative
}

.compare .feature_icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #fff;
  clip-path: polygon(0 50%, 35% 85%, 100% 15%, 85% 0, 35% 60%, 15% 40%)
}

.compare .col_cta {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #E6E6EB
}

.compare .col_btn {
  display: block;
  width: 100%;
  padding: 16px 24px;
  background: #544BAA;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  position: relative;
  overflow: hidden;
  transition: transform .12s cubic-bezier(0.4, 0, 1, 1)
}

.compare .col_btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: #6d5fc7;
  transition: height .16s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0
}

.compare .col_btn:hover::before {
  height: 100%
}

.compare .col_btn:hover {
  transform: translateY(-2px)
}

.compare .col_btn span {
  position: relative;
  z-index: 1
}

.compare .col_btn.secondary {
  background: #ABACC9
}

.compare .col_btn.secondary::before {
  background: #c0c1d8
}

@media (min-width: 768px) {
  .compare .cmp_matrix {
    padding: 48px 24px
  }

  .compare .matrix_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .compare .matrix_title {
    font-size: 51px
  }
}

@media (min-width: 1024px) {
  .compare .cmp_matrix {
    padding: 48px
  }

  .compare .matrix_grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.compare .cmp_details {
  background: #fff;
  padding: 48px 16px;
  position: relative
}

.compare .details_wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.compare .details_visual {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 3px 4px 1px #544baa12
}

.compare .details_pic {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.82);
  transition: filter .14s cubic-bezier(0.4, 0, 1, 1)
}

.compare .details_pic:hover {
  filter: brightness(1.08)
}

.compare .details_content {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.compare .details_heading {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 700;
  color: #544BAA;
  text-shadow: 0 2px 4px #544baa26
}

.compare .details_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

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

.compare .detail_label {
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
  color: #544BAA;
  text-transform: uppercase;
  letter-spacing: .08em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.compare .detail_label::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #544BAA;
  transform: rotate(45deg);
  flex-shrink: 0
}

.compare .detail_text {
  font-size: 15px;
  line-height: 1.7;
  color: #2d2640;
  padding-left: 14px
}

@media (min-width: 768px) {
  .compare .cmp_details {
    padding: 48px 24px
  }

  .compare .details_wrap {
    grid-template-columns: 1fr 420px;
    gap: 48px
  }

  .compare .details_heading {
    font-size: 51px
  }

  .compare .details_pic {
    height: 480px
  }
}

@media (min-width: 1024px) {
  .compare .cmp_details {
    padding: 48px
  }

  .compare .details_wrap {
    grid-template-columns: 1fr 520px
  }
}

.compare .cmp_decision {
  background: #fefefe;
  padding: 48px 16px;
  position: relative;
  background-image: url(./photo_files/attachment-12.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat
}

.compare .cmp_decision::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffffeb;
  pointer-events: none
}

.compare .decision_wrap {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.compare .decision_header {
  text-align: center;
  margin-bottom: 48px
}

.compare .decision_title {
  font-size: 51px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 700;
  color: #544BAA;
  text-shadow: 0 2px 6px #544baa33;
  margin-bottom: 16px
}

.compare .decision_intro {
  font-size: 15px;
  line-height: 1.4;
  color: #2d2640;
  max-width: 720px;
  margin: 0 auto
}

.compare .decision_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.compare .decision_card {
  background: #ffffffd9;
  backdrop-filter: blur(8px);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 5px 18px 1px #544baa17;
  border: 1px solid #544baa1f;
  position: relative;
  overflow: hidden;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1)
}

.compare .decision_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 60px 1px #544baa21
}

.compare .decision_card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  transition: height .18s cubic-bezier(0.4, 0, 1, 1)
}

.compare .decision_card:hover::before {
  height: 100%
}

.compare .card_icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(163deg, #ABACC9 0%, #544BAA 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  animation: icon_pulse 3s ease-in-out infinite
}

@keyframes icon_pulse {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: .75
  }
}

.compare .card_icon svg {
  width: 24px;
  height: 24px;
  fill: #fff
}

.compare .card_name {
  font-size: 21px;
  line-height: 1.1;
  font-weight: 700;
  color: #544BAA;
  margin-bottom: 8px
}

.compare .card_summary {
  font-size: 15px;
  line-height: 1.7;
  color: #2d2640
}

@media (min-width: 768px) {
  .compare .cmp_decision {
    padding: 48px 24px
  }

  .compare .decision_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .compare .decision_title {
    font-size: 68px
  }
}

@media (min-width: 1024px) {
  .compare .cmp_decision {
    padding: 48px
  }

  .compare .decision_grid {
    grid-template-columns: repeat(4, 1fr)
  }
}

.success_confirm {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 16px
}

.success_confirm .confirm_visual {
  text-align: center;
  padding: 48px 16px;
  background: linear-gradient(163deg, #ABACC9, #544BAA);
  border-radius: 28px;
  margin-bottom: 48px;
  overflow: hidden;
  position: relative
}

.success_confirm .confirm_visual::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, #ffffff26, transparent 50%);
  pointer-events: none
}

.success_confirm .check_icon {
  width: 120px;
  height: 120px;
  margin: 0 auto 24px;
  position: relative
}

.success_confirm .check_icon svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 5px 18px #544baa17)
}

.success_confirm .check_icon circle {
  fill: #fff
}

.success_confirm .check_icon path {
  fill: none;
  stroke: #544BAA;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round
}

.success_confirm .confirm_heading {
  font-size: 51px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px;
  text-shadow: 0 3px 8px #544baa33
}

.success_confirm .confirm_subtext {
  font-size: 21px;
  line-height: 1.4;
  color: #fffffff2;
  margin: 0
}

.success_confirm .details_section {
  background: #fff;
  padding: 48px 24px;
  border-radius: 18px;
  box-shadow: 0 3px 4px 1px #544baa12;
  margin-bottom: 48px
}

.success_confirm .section_label {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0 0 16px
}

.success_confirm .main_message {
  font-size: 37px;
  line-height: 1.1;
  color: #1a1a1a;
  margin: 0 0 24px
}

.success_confirm .info_text {
  font-size: 21px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0 0 16px
}

.success_confirm .info_text:last-child {
  margin-bottom: 0
}

.success_confirm .next_steps {
  background: #E6E6EB;
  padding: 48px 24px;
  border-radius: 18px;
  margin-bottom: 24px
}

.success_confirm .steps_heading {
  font-size: 37px;
  line-height: 1.1;
  color: #544BAA;
  margin: 0 0 24px;
  text-shadow: 0 2px 4px #544baa14
}

.success_confirm .step_list {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.success_confirm .step_item {
  display: flex;
  gap: 16px;
  align-items: flex-start
}

.success_confirm .step_number {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: #544BAA;
  color: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 700;
  box-shadow: 0 3px 4px 1px #544baa12
}

.success_confirm .step_content {
  flex: 1
}

.success_confirm .step_title {
  font-size: 21px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 8px;
  font-weight: 600
}

.success_confirm .step_desc {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0
}

.success_confirm .action_group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center
}

.success_confirm .primary_btn {
  display: inline-block;
  padding: 16px 48px;
  background: #544BAA;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 5px 18px 1px #544baa17;
  position: relative;
  overflow: hidden;
  transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.success_confirm .primary_btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: #6b5fd4;
  transition: height .16s cubic-bezier(0.4, 0, 1, 1);
  z-index: 0
}

.success_confirm .primary_btn:hover::before {
  height: 100%
}

.success_confirm .primary_btn:hover {
  transform: translateY(-2px)
}

.success_confirm .primary_btn span {
  position: relative;
  z-index: 1
}

.success_confirm .secondary_link {
  font-size: 15px;
  line-height: 1.4;
  color: #544BAA;
  text-decoration: none;
  transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.success_confirm .secondary_link:hover {
  color: #6b5fd4
}

@media (min-width: 768px) {
  .success_confirm {
    padding: 48px 24px
  }

  .success_confirm .confirm_visual {
    padding: 48px
  }

  .success_confirm .details_section {
    padding: 48px
  }

  .success_confirm .next_steps {
    padding: 48px
  }

  .success_confirm .action_group {
    flex-direction: row;
    justify-content: center
  }
}

@media (min-width: 1024px) {
  .success_confirm .step_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
  }
}