* {
  box-sizing: border-box
}

body {
  margin: 0
}

.site_header_shell {
  padding: 16px 32px;
  background-color: #FEFDFE
}

.site_header_round {
  max-width: 1440px;
  margin: 0 auto;
  background: linear-gradient(135deg, #836FC0 0%, #a593d4 60%, #D5C9DA 100%);
  border-radius: 28px;
  padding: 0;
  box-shadow: -1px 9px 52px -1px #836fc01f;
  overflow: hidden
}

.site_header_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px;
  border-bottom: 1px solid #d5c9da59
}

.brand_mark_hold {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0
}

.brand_logo_mount {
  background-color: #fff;
  border-radius: 8px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  border: 1.5px solid #d5c9da99;
  width: 120px;
  height: 70px
}

.brand_logo_mount img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block
}

.brand_name_text {
  font-family: 'Raleway', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #FEFDFE;
  letter-spacing: -.02em;
  line-height: 1.1;
  white-space: nowrap
}

.header_tagline_strip {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #fefdfed1;
  line-height: 1.35;
  text-align: right;
  flex-shrink: 0
}

.site_header_nav_row {
  padding: 8px 32px 16px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px
}

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

.primary_nav_list li {
  display: flex
}

.primary_nav_link {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #FEFDFE;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 8px;
  border: 2px solid #fefdfe4d;
  line-height: 1.35;
  display: inline-flex;
  align-items: center;
  transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  min-height: 44px
}

.primary_nav_link:hover,
.primary_nav_link:focus {
  background-color: #fefdfe2e;
  border-color: #fefdfeb3;
  color: #fff;
  text-decoration: underline;
  outline: none
}

.primary_nav_link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px
}

.primary_nav_link.active_page {
  background-color: #fefdfe38;
  border-color: #FEFDFE
}

.site_footer_shell {
  background: linear-gradient(180deg, #FEFDFE 0%, #f4f0f8 100%);
  border-top: 1px solid #836fc026;
  padding: 64px 32px 32px
}

.site_footer_inner {
  max-width: 1440px;
  margin: 0 auto
}

.footer_columns_hold {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 64px
}

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

.footer_brand_name {
  font-family: 'Raleway', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #836FC0;
  letter-spacing: -.02em;
  line-height: 1.1
}

.footer_brand_desc {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #3d3050;
  line-height: 1.55
}

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

.footer_col_heading {
  font-family: 'Raleway', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #836FC0;
  letter-spacing: -.01em;
  line-height: 1.1;
  text-transform: uppercase
}

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

.footer_contact_list li {
  display: flex;
  align-items: flex-start;
  gap: 8px
}

.footer_contact_label {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #3d3050;
  line-height: 1.55;
  flex-shrink: 0
}

.footer_contact_value {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #3d3050;
  line-height: 1.55;
  word-break: break-word
}

.footer_contact_link {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #836FC0;
  line-height: 1.55;
  text-decoration: none;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_contact_link:hover,
.footer_contact_link:focus {
  color: #5a4a8a;
  text-decoration: underline
}

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

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

.footer_nav_link {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #3d3050;
  text-decoration: none;
  line-height: 1.55;
  display: inline-block;
  padding: 8px 0;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1);
  border-bottom: 1px solid transparent
}

.footer_nav_link:hover,
.footer_nav_link:focus {
  color: #836FC0;
  border-bottom-color: #836fc066;
  text-decoration: underline
}

.footer_bottom_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 32px;
  border-top: 1px solid #836fc01f
}

.footer_copyright {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #6b5f8a;
  line-height: 1.55
}

.footer_logo_mount {
  background-color: #fff;
  border-radius: 8px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 4px 28px -1px #836fc017;
  border: 1.5px solid #d5c9dab3;
  width: 120px;
  height: 70px
}

.footer_logo_mount img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block
}

.cookie_notice_box {
  display: none;
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 4000;
  background-color: #FEFDFE;
  border: 2px solid #836FC0;
  border-radius: 8px;
  padding: 16px;
  max-width: 340px;
  box-shadow: -1px 9px 52px -1px #836fc01f;
  font-family: 'Manrope', sans-serif
}

.cookie_notice_text {
  font-size: 16px;
  font-weight: 400;
  color: #2a1f45;
  line-height: 1.55;
  margin-bottom: 16px
}

.cookie_notice_actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.cookie_btn_accept {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #836FC0;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  line-height: 1.35;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie_btn_accept:hover,
.cookie_btn_accept:focus {
  color: #5a4a8a;
  outline: 2px solid #836FC0;
  outline-offset: 2px
}

.cookie_btn_decline {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #6b5f8a;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  line-height: 1.35;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie_btn_decline:hover,
.cookie_btn_decline:focus {
  color: #2a1f45;
  outline: 2px solid #836FC0;
  outline-offset: 2px
}

@media (max-width: 900px) {
  .footer_columns_hold {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 600px) {
  .site_header_top {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 16px
  }

  .site_header_nav_row {
    padding: 8px 16px 16px;
    justify-content: flex-start
  }

  .footer_columns_hold {
    grid-template-columns: 1fr
  }

  .site_header_shell {
    padding: 16px
  }

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

  .cookie_notice_box {
    right: 16px;
    left: 16px;
    max-width: none;
    bottom: 16px
  }
}

.policy-page {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 32px;
  box-sizing: border-box
}

.policy-page p {
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 16px;
  color: #2a2230
}

.policy-page ul,
.policy-page ol {
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 16px;
  padding-left: 32px
}

.policy-page ul {
  list-style-type: disc
}

.policy-page ol {
  list-style-type: decimal
}

.policy-page li {
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 8px;
  color: #2a2230
}

.policy-page li:last-child {
  margin-bottom: 0
}

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

.policy-page strong,
.policy-page b {
  font-weight: 700;
  color: #3d2e5c
}

.policy-page em,
.policy-page i {
  font-style: italic;
  color: #4a3870
}

.policy-page div {
  margin-bottom: 32px
}

.policy-page div:last-child {
  margin-bottom: 0
}

@media (max-width: 768px) {
  .policy-page {
    padding: 32px 16px
  }

  .policy-page p,
  .policy-page ul,
  .policy-page ol,
  .policy-page li {
    font-size: 16px
  }

  .policy-page ul,
  .policy-page ol {
    padding-left: 16px
  }
}

.jrnl_det {
  max-width: 1440px;
  margin: 0 auto;
  background: #FEFDFE;
  overflow-x: clip
}

.jrnl_det .title_strip {
  padding: 96px 64px 64px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 64px;
  align-items: start;
  position: relative;
  background: linear-gradient(180deg, #D5C9DA 100%, #FEFDFE 100%)
}

.jrnl_det .blob_layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0
}

.jrnl_det .blob_layer .blob_a {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 28px;
  background: #836FC0;
  opacity: .08;
  filter: blur(48px);
  top: -40px;
  right: 120px
}

.jrnl_det .blob_layer .blob_b {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 28px;
  background: #D5C9DA;
  opacity: .18;
  filter: blur(32px);
  bottom: 32px;
  left: 200px
}

.jrnl_det .title_strip .img_card {
  position: relative;
  z-index: 1;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 4px 28px -1px #836fc017;
  border: 2px solid #836FC0
}

.jrnl_det .title_strip .img_card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 320px;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.15)
}

.jrnl_det .title_strip .txt_zone {
  position: relative;
  z-index: 1
}

.jrnl_det .title_strip .txt_zone .meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px
}

.jrnl_det .title_strip .txt_zone .cat_badge {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 0;
  border: 2px solid #836FC0;
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  letter-spacing: .04em;
  font-weight: 700;
  background: transparent
}

.jrnl_det .title_strip .txt_zone .read_time {
  font-size: 16px;
  line-height: 1.35;
  color: #4a3f6b
}

.jrnl_det .title_strip .txt_zone .pub_date {
  font-size: 16px;
  line-height: 1.35;
  color: #4a3f6b
}

.jrnl_det .title_strip .txt_zone .art_heading {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0 0 16px;
  text-shadow: 1px 2px 0 #836fc02e
}

.jrnl_det .title_strip .txt_zone .art_heading .heading_first {
  color: #2a1f4a
}

.jrnl_det .title_strip .txt_zone .art_heading .heading_accent {
  color: #836FC0
}

.jrnl_det .title_strip .txt_zone .art_sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0 0 32px;
  max-width: 560px
}

.jrnl_det .title_strip .txt_zone .author_line {
  font-size: 16px;
  line-height: 1.35;
  color: #4a3f6b
}

.jrnl_det .title_strip .txt_zone .author_line strong {
  color: #2a1f4a
}

.jrnl_det .words_reveal {
  overflow: hidden;
  display: inline
}

.jrnl_det .words_reveal .word_item {
  display: inline-block;
  opacity: 0;
  transform: translateY(24px);
  animation: word_up .25s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

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

.jrnl_det .divider_cross {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 0 64px;
  margin: 0
}

.jrnl_det .divider_cross .d_line {
  flex: 1;
  height: 1px;
  background: #836FC0;
  opacity: .3
}

.jrnl_det .divider_cross .d_cross {
  width: 16px;
  height: 16px;
  position: relative;
  flex-shrink: 0
}

.jrnl_det .divider_cross .d_cross::before,
.jrnl_det .divider_cross .d_cross::after {
  content: "";
  position: absolute;
  background: #836FC0;
  border-radius: 0
}

.jrnl_det .divider_cross .d_cross::before {
  width: 1px;
  height: 16px;
  left: 50%;
  top: 0;
  transform: translateX(-50%)
}

.jrnl_det .divider_cross .d_cross::after {
  width: 16px;
  height: 1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.jrnl_det .body_area {
  padding: 64px 64px 64px 96px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 64px;
  align-items: start;
  margin-left: 32px
}

.jrnl_det .article_body {
  min-width: 0
}

.jrnl_det .article_body .full_intro {
  font-size: 18px;
  line-height: 1.55;
  color: #2a1f4a;
  margin: 0 0 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #D5C9DA
}

.jrnl_det .article_body .two_col_body {
  column-count: 2;
  column-gap: 32px;
  font-size: 16px;
  line-height: 1.55;
  color: #2a1f4a
}

.jrnl_det .article_body .two_col_body p {
  margin: 0 0 16px;
  break-inside: avoid
}

.jrnl_det .article_body .two_col_body h2 {
  font-size: 27px;
  line-height: 1.35;
  color: #2a1f4a;
  margin: 32px 0 16px;
  letter-spacing: -.01em;
  text-shadow: 0 1px 0 #836fc026;
  break-inside: avoid;
  break-after: avoid;
  column-span: all
}

.jrnl_det .article_body .two_col_body blockquote {
  border-left: 4px solid #836FC0;
  border-top: 1px solid #D5C9DA;
  border-right: 1px solid #D5C9DA;
  border-bottom: 1px solid #D5C9DA;
  margin: 32px 0;
  padding: 16px 16px 16px 32px;
  border-radius: 0 8px 8px 0;
  background: #FEFDFE;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  break-inside: avoid;
  column-span: all
}

.jrnl_det .article_body .two_col_body blockquote p {
  font-size: 18px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0 0 8px;
  font-style: italic
}

.jrnl_det .article_body .two_col_body blockquote cite {
  font-size: 16px;
  color: #836FC0;
  font-style: normal
}

.jrnl_det .article_body .two_col_body figure {
  margin: 32px 0;
  break-inside: avoid;
  column-span: all
}

.jrnl_det .article_body .two_col_body figure img {
  width: 100%;
  max-width: 100%;
  border-radius: 8px;
  display: block;
  object-fit: contain
}

.jrnl_det .article_body .two_col_body figcaption {
  font-size: 16px;
  color: #836FC0;
  margin-top: 8px;
  line-height: 1.35
}

.jrnl_det .article_body .two_col_body ul {
  padding-left: 16px;
  margin: 0 0 16px
}

.jrnl_det .article_body .two_col_body ul li {
  font-size: 16px;
  line-height: 1.55;
  margin-bottom: 8px;
  color: #2a1f4a
}

.jrnl_det .article_body .two_col_body ul li:nth-child(odd) {
  color: #2a1f4a
}

.jrnl_det .article_body .two_col_body ul li:nth-child(even) {
  color: #3d3060
}

.jrnl_det .article_body .two_col_body abbr {
  text-decoration: underline dotted #836FC0;
  cursor: help
}

.jrnl_det .article_body .two_col_body del {
  color: #836FC0;
  opacity: .6
}

.jrnl_det .article_body .two_col_body a {
  color: #836FC0;
  text-decoration: underline dotted #836FC0;
  text-underline-offset: 3px;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .article_body .two_col_body a:hover {
  color: #2a1f4a
}

.jrnl_det .aside_panel {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: sticky;
  top: 32px
}

.jrnl_det .aside_panel .copy_url_card {
  border-radius: 8px;
  border: 2px solid #836FC0;
  padding: 16px;
  background: #FEFDFE;
  box-shadow: -1px 4px 28px -1px #836fc017;
  position: relative;
  overflow: hidden
}

.jrnl_det .aside_panel .copy_url_card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 32px 32px 0;
  border-color: transparent #836FC0 transparent transparent
}

.jrnl_det .aside_panel .copy_url_card .card_lbl {
  font-size: 16px;
  line-height: 1.35;
  color: #4a3f6b;
  margin: 0 0 16px;
  font-weight: 600
}

.jrnl_det .aside_panel .copy_url_card .url_display {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  word-break: break-all;
  margin: 0 0 16px;
  padding: 8px;
  border-radius: 0;
  background: #D5C9DA;
  opacity: .85
}

.jrnl_det .aside_panel .copy_url_card .btn_copy {
  display: block;
  width: 100%;
  padding: 8px 16px;
  border-radius: 0;
  border: 2px solid #836FC0;
  background: transparent;
  color: #836FC0;
  font-size: 16px;
  line-height: 1.35;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .03em;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.jrnl_det .aside_panel .copy_url_card .btn_copy::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #836FC0 50%, transparent 50%);
  transform: translateX(-100%);
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.jrnl_det .aside_panel .copy_url_card .btn_copy:hover::before {
  transform: translateX(0)
}

.jrnl_det .aside_panel .copy_url_card .btn_copy:hover {
  color: #FEFDFE !important
}

.jrnl_det .aside_panel .copy_url_card .btn_copy:focus-visible {
  outline: 2px solid #836FC0;
  outline-offset: 2px
}

.jrnl_det .aside_panel .poll_card {
  border-radius: 8px;
  border: 2px solid #D5C9DA;
  padding: 16px;
  background: linear-gradient(162deg, #D5C9DA 0%, #FEFDFE 55%);
  box-shadow: -1px 9px 52px -1px #836fc01f;
  position: relative
}

.jrnl_det .aside_panel .poll_card .poll_heading {
  font-size: 18px;
  line-height: 1.35;
  color: #2a1f4a;
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-shadow: 0 1px 0 #836fc01f
}

.jrnl_det .aside_panel .poll_card .poll_question {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3060;
  margin: 0 0 16px
}

.jrnl_det .aside_panel .poll_card .poll_opt {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  cursor: pointer
}

.jrnl_det .aside_panel .poll_card .poll_opt input[type="radio"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 28px;
  border: 2px solid #836FC0;
  background: #FEFDFE;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .aside_panel .poll_card .poll_opt input[type="radio"]:checked {
  background: #836FC0;
  border-color: #836FC0;
  box-shadow: inset 0 0 0 4px #FEFDFE
}

.jrnl_det .aside_panel .poll_card .poll_opt .opt_txt {
  font-size: 16px;
  line-height: 1.35;
  color: #2a1f4a;
  cursor: pointer;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .aside_panel .poll_card .poll_opt input[type="radio"]:checked+.opt_txt {
  color: #836FC0;
  font-weight: 700
}

.jrnl_det .aside_panel .poll_card .poll_opt:has(input:checked) .opt_txt {
  color: #836FC0;
  font-weight: 700
}

.jrnl_det .aside_panel .poll_card .poll_note {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  margin: 16px 0 0;
  opacity: .75
}

.jrnl_det .divider_cross.shifted {
  padding: 0 96px 0 128px
}

.jrnl_det .tags_ribbon {
  padding: 32px 64px;
  margin-left: 64px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: #FEFDFE;
  border-top: 1px solid #D5C9DA
}

.jrnl_det .tags_ribbon .ribbon_lbl {
  font-size: 16px;
  line-height: 1.35;
  color: #4a3f6b;
  font-weight: 600
}

.jrnl_det .tags_ribbon .tag_item {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 28px;
  border: 2px solid #D5C9DA;
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  background: #FEFDFE;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .tags_ribbon .tag_item:hover {
  border-color: #836FC0;
  background: #D5C9DA
}

.jrnl_det .curl_deco {
  position: absolute;
  pointer-events: none;
  opacity: .07
}

.jrnl_det .body_area {
  position: relative
}

.jrnl_det .body_area .curl_deco {
  bottom: 32px;
  right: 16px;
  width: 80px;
  height: 80px
}

.jrnl_det .aside_panel .poll_card .poll_opt:has(input:checked) {
  background: #836fc00f;
  border-radius: 8px;
  padding: 8px;
  margin-left: -8px;
  margin-right: -8px
}

@media (max-width: 1024px) {
  .jrnl_det .title_strip {
    grid-template-columns: 220px 1fr;
    padding: 64px 32px 32px;
    gap: 32px
  }

  .jrnl_det .body_area {
    grid-template-columns: 1fr 280px;
    padding: 32px 32px 32px 64px;
    margin-left: 0;
    gap: 32px
  }

  .jrnl_det .art_heading {
    font-size: 27px !important
  }

  .jrnl_det .divider_cross {
    padding: 0 32px
  }

  .jrnl_det .tags_ribbon {
    padding: 32px;
    margin-left: 0
  }
}

@media (max-width: 768px) {
  .jrnl_det .title_strip {
    grid-template-columns: 1fr;
    padding: 32px 16px;
    gap: 16px;
    background: linear-gradient(180deg, #D5C9DA 100%, #FEFDFE 40%)
  }

  .jrnl_det .title_strip .img_card img {
    height: 200px
  }

  .jrnl_det .title_strip .txt_zone .art_heading {
    font-size: 27px;
    line-height: 1.1
  }

  .jrnl_det .body_area {
    grid-template-columns: 1fr;
    padding: 32px 16px;
    margin-left: 0
  }

  .jrnl_det .article_body .two_col_body {
    column-count: 1
  }

  .jrnl_det .aside_panel {
    position: static
  }

  .jrnl_det .divider_cross {
    padding: 0 16px
  }

  .jrnl_det .divider_cross.shifted {
    padding: 0 16px
  }

  .jrnl_det .tags_ribbon {
    padding: 16px;
    margin-left: 0
  }
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(1) {
  animation-delay: .05s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(2) {
  animation-delay: .1s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(3) {
  animation-delay: .15s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(4) {
  animation-delay: .2s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(5) {
  animation-delay: .25s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(6) {
  animation-delay: .3s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(7) {
  animation-delay: .35s
}

.jrnl_det .title_strip .txt_zone .art_heading .word_item:nth-child(8) {
  animation-delay: .4s
}

.jrnl_det .aside_panel:has(.poll_card) .copy_url_card:hover,
.jrnl_det .aside_panel:has(.copy_url_card) .poll_card:hover {
  opacity: 1
}

.jrnl_det .aside_panel> :not(:hover) {
  transition: opacity .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .aside_panel:hover> :not(:hover) {
  opacity: .72
}

.jrnl_det .article_body .two_col_body> :not(:hover) {
  transition: opacity .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .article_body:hover .two_col_body> :not(:hover) {
  opacity: .88
}

.debut_pg {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip
}

.debut_pg .title_split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  align-items: stretch
}

.debut_pg .title_img_zone {
  position: relative;
  overflow: hidden
}

.debut_pg .title_img_zone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.7) hue-rotate(0deg);
  transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.debut_pg .title_img_zone::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #836fc061 50%, #d5c9da73 100%);
  pointer-events: none
}

.debut_pg .title_text_zone {
  padding: 96px 64px 64px;
  background: #FEFDFE;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px
}

.debut_pg .title_eyebrow {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .08em;
  color: #836FC0;
  text-transform: uppercase;
  border-bottom: 2px solid #D5C9DA;
  padding-bottom: 8px;
  display: inline-block
}

.debut_pg .title_h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0;
  color: #1e1a2e
}

.debut_pg .title_h1 .accent_half {
  color: #836FC0
}

.debut_pg .title_sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3347;
  max-width: 480px;
  margin: 0
}

.debut_pg .title_cta_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap
}

.debut_pg .btn_primary_border {
  font-size: 16px;
  line-height: 1.35;
  padding: 16px 32px;
  border: 3px solid #836FC0;
  border-radius: 8px;
  background: transparent;
  color: #836FC0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.debut_pg .btn_primary_border::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #836FC0 0%, #5a4a9a 100%);
  transform: translateX(-101%) skewX(-8deg);
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.debut_pg .btn_primary_border:hover::before {
  transform: translateX(0) skewX(0deg)
}

.debut_pg .btn_primary_border:hover {
  color: #FEFDFE;
  border-color: #5a4a9a
}

.debut_pg .btn_secondary_border {
  font-size: 16px;
  line-height: 1.35;
  padding: 16px 32px;
  border: 3px solid #D5C9DA;
  border-radius: 8px;
  background: transparent;
  color: #3a3347;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.debut_pg .btn_secondary_border::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #D5C9DA 0%, #b8a8c4 100%);
  transform: translateX(-101%) skewX(-8deg);
  transition: transform .2s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: -1
}

.debut_pg .btn_secondary_border:hover::before {
  transform: translateX(0) skewX(0deg)
}

.debut_pg .btn_secondary_border:hover {
  color: #1e1a2e;
  border-color: #b8a8c4
}

.debut_pg .experience_band {
  padding: 96px 64px;
  background: #FEFDFE;
  border-top: 1px solid #D5C9DA;
  position: relative
}

.debut_pg .experience_band::before {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, #836FC0 0%, #D5C9DA 60%, #FEFDFE 100%);
  position: absolute;
  top: 0;
  left: 0
}

.debut_pg .exp_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto
}

.debut_pg .exp_portrait {
  position: relative
}

.debut_pg .exp_portrait img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  filter: saturate(0.6);
  transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -1px 4px 28px -1px #836fc017
}

.debut_pg .exp_portrait:hover img {
  filter: saturate(1)
}

.debut_pg .exp_portrait_caption {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: #fefdfeeb;
  border-radius: 8px;
  padding: 16px;
  border-left: 4px solid #836FC0;
  border-top: 1px solid #D5C9DA;
  border-right: 1px solid #D5C9DA;
  border-bottom: 1px solid #D5C9DA;
  box-shadow: -1px 3px 4px -1px #836fc00d
}

.debut_pg .exp_portrait_caption p {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0 0 8px
}

.debut_pg .exp_portrait_caption .caption_name {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  margin: 0
}

.debut_pg .exp_text_col {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 32px
}

.debut_pg .exp_label {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  letter-spacing: .06em;
  text-transform: uppercase
}

.debut_pg .exp_h2 {
  font-size: 27px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0;
  text-shadow: 1px 1px 0 #836fc01f
}

.debut_pg .exp_h2 .accent_half {
  color: #836FC0
}

.debut_pg .exp_body p {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0 0 16px
}

.debut_pg .exp_body p:last-child {
  margin-bottom: 0
}

.debut_pg .exp_metrics {
  display: flex;
  flex-direction: row;
  gap: 32px
}

.debut_pg .metric_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  background: #FEFDFE;
  flex: 1;
  box-shadow: -1px 3px 4px -1px #836fc00d
}

.debut_pg .metric_num {
  font-size: 27px;
  line-height: 1.1;
  color: #836FC0;
  letter-spacing: -.02em
}

.debut_pg .metric_desc {
  font-size: 16px;
  line-height: 1.35;
  color: #3a3347
}

.debut_pg .catalog_strip {
  padding: 64px;
  background: linear-gradient(180deg, #D5C9DA 50%, #FEFDFE 100%);
  position: relative
}

.debut_pg .catalog_strip::before {
  content: "";
  display: block;
  height: 3px;
  background: #836FC0;
  width: 64px;
  margin-bottom: 32px
}

.debut_pg .catalog_top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 64px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto
}

.debut_pg .catalog_h2 {
  font-size: 27px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0;
  text-shadow: 1px 2px 0 #836fc01a;
  max-width: 480px
}

.debut_pg .catalog_h2 .accent_half {
  color: #836FC0
}

.debut_pg .catalog_intro {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3347;
  max-width: 360px;
  margin: 0
}

.debut_pg .catalog_four_col {
  display: grid;
  grid-template-columns: 80px 1fr 80px 1fr;
  gap: 0;
  max-width: 1100px;
  margin: 0 auto;
  border: 2px dashed #836FC0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 9px 52px -1px #836fc01f
}

.debut_pg .cat_label_col {
  background: #836FC0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 8px;
  gap: 16px
}

.debut_pg .cat_label_col.alt {
  background: #5a4a9a
}

.debut_pg .cat_label_text {
  font-size: 16px;
  line-height: 1.35;
  color: #FEFDFE;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  letter-spacing: .06em
}

.debut_pg .cat_content_col {
  padding: 32px;
  background: #FEFDFE;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.debut_pg .cat_content_col.alt {
  background: #f7f4fc
}

.debut_pg .cat_subject_title {
  font-size: 18px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0;
  text-shadow: 1px 1px 0 #836fc014
}

.debut_pg .cat_subject_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0
}

.debut_pg .cat_tag_row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.debut_pg .cat_tag {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  border: 2px solid #D5C9DA;
  border-radius: 28px;
  padding: 8px 16px;
  background: #FEFDFE
}

.debut_pg .journey_band {
  padding: 96px 64px;
  background: #FEFDFE;
  position: relative
}

.debut_pg .journey_band::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FEFDFE 0%, #D5C9DA 40%, #836FC0 100%)
}

.debut_pg .journey_inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 64px
}

.debut_pg .journey_heading_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end
}

.debut_pg .journey_h2 {
  font-size: 27px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0;
  text-shadow: 1px 1px 0 #836fc01a
}

.debut_pg .journey_h2 .accent_half {
  color: #836FC0
}

.debut_pg .journey_lead {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0
}

.debut_pg .journey_phases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.debut_pg .phase_card {
  border: 3px solid #D5C9DA;
  border-radius: 8px;
  padding: 32px;
  background: #FEFDFE;
  position: relative;
  overflow: hidden;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -1px 3px 4px -1px #836fc00d
}

.debut_pg .phase_card:hover {
  border-color: #836FC0;
  box-shadow: -1px 4px 28px -1px #836fc017
}

.debut_pg .phase_card .reveal_mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #836fc012 0%, #d5c9da1f 100%);
  border-radius: 50%;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: width .28s cubic-bezier(0.0, 0, 0.2, 1), height .28s cubic-bezier(0.0, 0, 0.2, 1);
  pointer-events: none
}

.debut_pg .phase_card:hover .reveal_mask {
  width: 120%;
  height: 120%;
  border-radius: 50%
}

.debut_pg .phase_num {
  font-size: 68px;
  line-height: 1.1;
  color: #D5C9DA;
  letter-spacing: -.04em;
  display: block;
  margin-bottom: 8px
}

.debut_pg .phase_h4 {
  font-size: 18px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0 0 16px
}

.debut_pg .phase_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0
}

.debut_pg .journey_img_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.debut_pg .journey_img_wrap {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 4px 28px -1px #836fc017
}

.debut_pg .journey_img_wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: saturate(0.55);
  transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.debut_pg .journey_img_wrap:hover img {
  filter: saturate(1)
}

.debut_pg .journey_aside {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.debut_pg .journey_aside_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start
}

.debut_pg .aside_dot {
  width: 12px;
  height: 12px;
  border-radius: 0;
  background: #836FC0;
  flex-shrink: 0;
  margin-top: 6px;
  transform: rotate(45deg)
}

.debut_pg .aside_text {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0
}

.debut_pg .longterm_band {
  padding: 96px 64px;
  background: #f7f4fc;
  position: relative
}

.debut_pg .longterm_band::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(./media_storage/pic_0006.jpg);
  background-size: cover;
  background-position: center;
  filter: grayscale(1);
  opacity: .08;
  pointer-events: none
}

.debut_pg .longterm_inner {
  max-width: 1100px;
  margin: 0 auto;
  position: relative
}

.debut_pg .longterm_top_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  margin-bottom: 64px;
  align-items: start
}

.debut_pg .longterm_h2 {
  font-size: 27px;
  line-height: 1.35;
  color: #1e1a2e;
  margin: 0 0 32px;
  text-shadow: 1px 2px 0 #836fc01f
}

.debut_pg .longterm_h2 .accent_half {
  color: #836FC0
}

.debut_pg .longterm_body_full {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0 0 32px
}

.debut_pg .longterm_two_col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.debut_pg .longterm_two_col p {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3347;
  margin: 0
}

.debut_pg .longterm_img_col {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.debut_pg .longterm_img_wrap {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 9px 52px -1px #836fc01f
}

.debut_pg .longterm_img_wrap img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  filter: saturate(0.5) brightness(0.95);
  transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.debut_pg .longterm_img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.debut_pg .longterm_stat_list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  overflow: hidden
}

.debut_pg .stat_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px 32px;
  border-bottom: 1px solid #D5C9DA;
  background: #FEFDFE
}

.debut_pg .stat_row:nth-child(even) {
  background: #f0edf8
}

.debut_pg .stat_row:last-child {
  border-bottom: none !important
}

.debut_pg .stat_icon_shape {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.debut_pg .stat_row_text {
  font-size: 16px;
  line-height: 1.35;
  color: #3a3347
}

.debut_pg .longterm_bottom_dashed {
  border: 2px dashed #836FC0;
  border-radius: 28px;
  padding: 32px 64px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: #fefdfed9;
  box-shadow: -1px 4px 28px -1px #836fc017
}

.debut_pg .dashed_quote {
  font-size: 18px;
  line-height: 1.55;
  color: #1e1a2e;
  margin: 0;
  max-width: 600px
}

.debut_pg .dashed_link {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  text-decoration: underline dotted;
  text-underline-offset: 4px;
  white-space: nowrap;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.debut_pg .dashed_link:hover {
  color: #5a4a9a
}

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

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

.debut_pg .title_text_zone {
  animation: slide_up_load .28s cubic-bezier(0.0, 0, 0.2, 1) both
}

.debut_pg .exp_text_col {
  animation: slide_up_load .22s cubic-bezier(0.4, 0, 0.2, 1) .1s both
}

.debut_pg .catalog_four_col {
  animation: slide_up_load .25s cubic-bezier(0.4, 0, 0.2, 1) .05s both
}

@media (max-width: 900px) {
  .debut_pg .title_split {
    grid-template-columns: 1fr
  }

  .debut_pg .title_img_zone {
    height: 320px
  }

  .debut_pg .title_text_zone {
    padding: 64px 32px
  }

  .debut_pg .title_h1 {
    font-size: 27px
  }

  .debut_pg .exp_grid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .debut_pg .catalog_four_col {
    grid-template-columns: 1fr
  }

  .debut_pg .cat_label_col {
    writing-mode: horizontal-tb;
    padding: 16px 32px
  }

  .debut_pg .cat_label_text {
    writing-mode: horizontal-tb;
    transform: none
  }

  .debut_pg .journey_heading_row {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .debut_pg .journey_phases {
    grid-template-columns: 1fr
  }

  .debut_pg .journey_img_row {
    grid-template-columns: 1fr
  }

  .debut_pg .longterm_top_row {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .debut_pg .longterm_two_col {
    grid-template-columns: 1fr
  }

  .debut_pg .longterm_bottom_dashed {
    flex-direction: column;
    padding: 32px;
    align-items: flex-start
  }

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

  .debut_pg .experience_band,
  .debut_pg .catalog_strip,
  .debut_pg .journey_band,
  .debut_pg .longterm_band {
    padding: 64px 32px
  }

  .debut_pg .exp_metrics {
    flex-direction: column
  }
}

.abt_us {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip;
  position: relative
}

.abt_us .identity_panel {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  min-height: 560px;
  padding: 96px 64px 64px;
  gap: 64px;
  position: relative;
  background: #FEFDFE;
  align-items: center
}

.abt_us .identity_panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #D5C9DA18 0%, #FEFDFE 55%);
  pointer-events: none
}

.abt_us .identity_panel .circles_bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0
}

.abt_us .identity_panel .circles_bg span {
  position: absolute;
  border-radius: 28px;
  border: 1.5px solid #836FC020
}

.abt_us .identity_panel .circles_bg span:nth-child(1) {
  width: 320px;
  height: 320px;
  top: -80px;
  right: 18%;
  animation: circle_drift 9s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

.abt_us .identity_panel .circles_bg span:nth-child(2) {
  width: 180px;
  height: 180px;
  bottom: 32px;
  left: 8%;
  animation: circle_drift 12s cubic-bezier(0.0, 0, 0.2, 1) infinite alternate-reverse
}

.abt_us .identity_panel .circles_bg span:nth-child(3) {
  width: 90px;
  height: 90px;
  top: 40%;
  right: 6%;
  animation: circle_drift 7s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes circle_drift {
  0% {
    opacity: .35;
    transform: scale(1) translateY(0px)
  }

  100% {
    opacity: .7;
    transform: scale(1.06) translateY(-12px)
  }
}

.abt_us .identity_panel .left_col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abt_us .identity_panel .img_frame {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 9px 52px -1px #836fc01f;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .identity_panel .img_frame:hover {
  box-shadow: -1px 9px 72px -1px #836fc038
}

.abt_us .identity_panel .img_frame::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 55%;
  background: linear-gradient(135deg, #d5c9da8c 0%, transparent 70%);
  pointer-events: none;
  border-radius: 8px 0 0 0
}

.abt_us .identity_panel .img_frame img {
  display: block;
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 8px
}

.abt_us .identity_panel .founded_badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #836FC0;
  border-radius: 0;
  padding: 8px 16px;
  width: fit-content
}

.abt_us .identity_panel .founded_badge .badge_yr {
  font-size: 27px;
  line-height: 1.1;
  color: #836FC0;
  font-weight: 700;
  letter-spacing: -.02em
}

.abt_us .identity_panel .founded_badge .badge_label {
  font-size: 16px;
  line-height: 1.35;
  color: #3a2e5a
}

.abt_us .identity_panel .right_col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abt_us .identity_panel .tagline_group {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt_us .identity_panel .problem_line {
  font-size: 18px;
  line-height: 1.55;
  color: #836FC0;
  letter-spacing: .01em;
  border-left: 3px solid #836FC0;
  border-bottom: 1px solid #D5C9DA;
  padding: 8px 16px;
  border-radius: 0
}

.abt_us .identity_panel .main_heading {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0;
  color: #1e1530;
  text-shadow: 1px 2px 0 #836fc01f
}

.abt_us .identity_panel .main_heading .accent_half {
  color: #836FC0
}

.abt_us .identity_panel .about_body {
  font-size: 18px;
  line-height: 1.55;
  color: #2e2540;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 32px
}

.abt_us .identity_panel .about_body .lead_para {
  grid-column: 1 / -1;
  font-size: 18px;
  line-height: 1.55;
  color: #2e2540;
  margin: 0
}

.abt_us .identity_panel .about_body .col_para {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3355;
  margin: 0
}

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

.abt_us .identity_panel .divider_line::before,
.abt_us .identity_panel .divider_line::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #D5C9DA 0%, #836FC040 100%)
}

.abt_us .identity_panel .divider_line .deco_dot {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: #836FC0;
  transform: rotate(45deg);
  flex-shrink: 0
}

.abt_us .metrics_strip {
  display: flex;
  flex-direction: row;
  gap: 0;
  background: #836FC0;
  padding: 0;
  position: relative;
  overflow: hidden
}

.abt_us .metrics_strip .strip_bg_anim {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #6b57a8 0%, #836FC0 50%, #9d89d0 100%);
  background-size: 200% 200%;
  animation: bg_shift 8s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
  pointer-events: none
}

@keyframes bg_shift {
  0% {
    background-position: 0 0
  }

  100% {
    background-position: 100% 100%
  }
}

.abt_us .metrics_strip .metric_item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 32px;
  position: relative;
  z-index: 1;
  border-right: 1px solid #ffffff26;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .metrics_strip .metric_item:last-child {
  border-right: none
}

.abt_us .metrics_strip .metric_item:hover {
  background: #ffffff14
}

.abt_us .metrics_strip .metric_num {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.04em;
  color: #FEFDFE;
  font-weight: 700;
  text-shadow: 1px 3px 0 #836fc059
}

.abt_us .metrics_strip .metric_num .metric_unit {
  font-size: 27px;
  vertical-align: super;
  letter-spacing: -.01em
}

.abt_us .metrics_strip .metric_label {
  font-size: 16px;
  line-height: 1.35;
  color: #D5C9DA;
  text-align: center;
  margin-top: 8px;
  letter-spacing: .02em
}

.abt_us .team_values {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0;
  background: #FEFDFE;
  position: relative
}

.abt_us .team_values::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 31px, #836fc00a 31px, #836fc00a 32px), repeating-linear-gradient(90deg, transparent, transparent 31px, #836fc00a 31px, #836fc00a 32px);
  pointer-events: none
}

.abt_us .team_values .tv_left {
  padding: 64px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
  z-index: 1;
  background: #D5C9DA22
}

.abt_us .team_values .tv_heading {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: #1e1530;
  margin: 0;
  text-shadow: 0 1px 3px #836fc026
}

.abt_us .team_values .tv_heading .accent_half {
  color: #836FC0
}

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

.abt_us .team_values .team_member {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border-radius: 8px;
  border: 1.5px solid #D5C9DA;
  border-top: 3px solid #836FC0;
  background: #FEFDFE;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .team_values .team_member:nth-child(even) {
  border-top-color: #D5C9DA;
  border-left: 3px solid #836FC0;
  border-top: 1.5px solid #D5C9DA
}

.abt_us .team_values .team_member:hover {
  box-shadow: -1px 4px 28px -1px #836fc017;
  border-color: #836FC080
}

.abt_us .team_values .member_name {
  font-size: 18px;
  line-height: 1.35;
  color: #1e1530;
  font-weight: 600;
  margin: 0
}

.abt_us .team_values .member_role {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  margin: 0
}

.abt_us .team_values .member_note {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3355;
  margin: 0
}

.abt_us .team_values .tv_right {
  padding: 64px 64px 64px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
  z-index: 1
}

.abt_us .team_values .values_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: val_counter
}

.abt_us .team_values .val_item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 8px;
  position: relative;
  counter-increment: val_counter
}

.abt_us .team_values .val_item:nth-child(odd) {
  background: #836fc00f;
  border: 1px solid #D5C9DA
}

.abt_us .team_values .val_item:nth-child(even) {
  background: #d5c9da2e;
  border: 1px solid #836fc026
}

.abt_us .team_values .val_num {
  font-size: 27px;
  line-height: 1.1;
  color: #836FC0;
  font-weight: 700;
  min-width: 32px;
  letter-spacing: -.03em;
  flex-shrink: 0
}

.abt_us .team_values .val_body {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.abt_us .team_values .val_title {
  font-size: 18px;
  line-height: 1.35;
  color: #1e1530;
  font-weight: 600;
  margin: 0
}

.abt_us .team_values .val_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3355;
  margin: 0
}

.abt_us .team_values .img_secondary {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 4px 28px -1px #836fc017;
  transition: box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt_us .team_values .img_secondary:hover {
  box-shadow: -1px 9px 52px -1px #836fc02e
}

.abt_us .team_values .img_secondary img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 8px
}

.abt_us .team_values .approach_blurb {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3355;
  margin: 0;
  padding: 16px;
  background: #836fc00d;
  border-radius: 8px;
  border: 1px solid #D5C9DA;
  box-shadow: inset 0 3px 6px #836fc00d
}

.abt_us .team_values .cta_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.abt_us .team_values .btn_primary {
  display: inline-block;
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  background: #FEFDFE;
  border: 2.5px solid #836FC0;
  border-radius: 0;
  padding: 16px 32px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 600;
  letter-spacing: .01em;
  z-index: 0
}

.abt_us .team_values .btn_primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #836FC0 0%, #6b57a8 100%);
  transform: translateX(-105%) skewX(-8deg);
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.abt_us .team_values .btn_primary:hover {
  color: #FEFDFE
}

.abt_us .team_values .btn_primary:hover::before {
  transform: translateX(0%) skewX(0deg)
}

.abt_us .team_values .btn_primary:focus-visible {
  outline: 3px solid #836FC0;
  outline-offset: 2px
}

.abt_us .team_values .btn_secondary {
  display: inline-block;
  font-size: 16px;
  line-height: 1.35;
  color: #3d3355;
  background: transparent;
  border: 2.5px solid #D5C9DA;
  border-radius: 0;
  padding: 16px 32px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  z-index: 0
}

.abt_us .team_values .btn_secondary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #D5C9DA 0%, #c4b6cc 100%);
  transform: translateX(-105%) skewX(-8deg);
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.abt_us .team_values .btn_secondary:hover {
  color: #1e1530;
  border-color: #836FC060
}

.abt_us .team_values .btn_secondary:hover::before {
  transform: translateX(0%) skewX(0deg)
}

.abt_us .team_values .btn_secondary:focus-visible {
  outline: 3px solid #836FC0;
  outline-offset: 2px
}

.abt_us .team_values .extra_imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.abt_us .team_values .extra_imgs .img_tile {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .team_values .extra_imgs .img_tile:hover {
  box-shadow: -1px 4px 28px -1px #836fc01f
}

.abt_us .team_values .extra_imgs .img_tile img {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 8px
}

@media (max-width: 1024px) {
  .abt_us .identity_panel {
    grid-template-columns: 1fr;
    padding: 64px 32px 32px;
    gap: 32px
  }

  .abt_us .identity_panel .main_heading {
    font-size: 48px
  }

  .abt_us .identity_panel .about_body {
    grid-template-columns: 1fr
  }

  .abt_us .identity_panel .about_body .lead_para {
    grid-column: 1
  }

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

  .abt_us .team_values .tv_left {
    padding: 64px 32px 32px
  }

  .abt_us .team_values .tv_right {
    padding: 32px 32px 64px
  }

  .abt_us .metrics_strip {
    flex-wrap: wrap
  }

  .abt_us .metrics_strip .metric_item {
    flex: 1 1 45%;
    border-right: none;
    border-bottom: 1px solid #ffffff26
  }
}

@media (max-width: 640px) {
  .abt_us .identity_panel {
    padding: 64px 16px 32px
  }

  .abt_us .identity_panel .main_heading {
    font-size: 36px
  }

  .abt_us .metrics_strip .metric_item {
    flex: 1 1 100%
  }

  .abt_us .metrics_strip .metric_num {
    font-size: 48px
  }

  .abt_us .team_values .tv_left,
  .abt_us .team_values .tv_right {
    padding: 32px 16px
  }

  .abt_us .team_values .extra_imgs {
    grid-template-columns: 1fr
  }

  .abt_us .team_values .cta_row {
    flex-direction: column
  }
}

.lrn-prog {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip
}

.lrn-prog .prog-title-block {
  position: relative;
  background: #FEFDFE;
  padding: 96px 64px 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  border-bottom: 2px solid #D5C9DA
}

.lrn-prog .prog-title-block .bg-depth-num {
  position: absolute;
  top: -16px;
  right: 32px;
  font-size: 280px;
  font-weight: 900;
  color: #D5C9DA;
  opacity: .22;
  line-height: 1.1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px
}

.lrn-prog .prog-title-block .title_left_col {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.lrn-prog .prog-title-block .prog_label_tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #836FC0;
  border-radius: 0;
  padding: 8px 16px;
  width: fit-content
}

.lrn-prog .prog-title-block .prog_label_tag span {
  font-size: 16px;
  color: #836FC0;
  letter-spacing: .08em;
  text-transform: uppercase
}

.lrn-prog .prog-title-block .prog_label_tag .tag_dot {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: #836FC0;
  display: inline-block
}

.lrn-prog .prog-title-block h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -2px;
  margin: 0
}

.lrn-prog .prog-title-block h1 .h1_part_a {
  color: #2a2040
}

.lrn-prog .prog-title-block h1 .h1_part_b {
  color: #836FC0;
  display: block
}

.lrn-prog .prog-title-block .title_num_stat {
  display: flex;
  flex-direction: row;
  gap: 32px;
  padding-top: 16px;
  border-top: 1px solid #D5C9DA
}

.lrn-prog .prog-title-block .stat_item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lrn-prog .prog-title-block .stat_item .stat_num {
  font-size: 27px;
  font-weight: 700;
  color: #836FC0;
  line-height: 1.1
}

.lrn-prog .prog-title-block .stat_item .stat_desc {
  font-size: 16px;
  color: #4a4060;
  line-height: 1.35
}

.lrn-prog .prog-title-block .title_right_col {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 16px
}

.lrn-prog .prog-title-block .title_right_col .desc_text {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3050;
  margin: 0
}

.lrn-prog .prog-title-block .title_right_col .img_frame {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 4px 28px -1px #836fc017;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .prog-title-block .title_right_col .img_frame:hover {
  box-shadow: -1px 9px 52px -1px #836fc02e
}

.lrn-prog .prog-title-block .title_right_col .img_frame img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block
}

.lrn-prog .prog-title-block .title_right_col .img_frame .img_gradient_foot {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, #836fc02e, transparent);
  pointer-events: none
}

.lrn-prog .prog-title-block .curved_connector {
  position: absolute;
  bottom: 0;
  left: 64px;
  width: 2px;
  height: 48px;
  background: linear-gradient(to bottom, #836FC0, transparent);
  border-radius: 28px
}

.lrn-prog .prog-structure-block {
  background: linear-gradient(180deg, #FEFDFE 0%, #D5C9DA 100%);
  padding: 96px 64px;
  position: relative
}

.lrn-prog .prog-structure-block .section_bg_accent {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, #836fc012 0%, transparent 70%);
  pointer-events: none
}

.lrn-prog .prog-structure-block .struct_top_row {
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: 64px;
  margin-bottom: 64px
}

.lrn-prog .prog-structure-block .struct_intro_full {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .prog-structure-block h2 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin: 0;
  text-shadow: 1px 2px 0 #836fc01f
}

.lrn-prog .prog-structure-block h2 .h2_a {
  color: #2a2040
}

.lrn-prog .prog-structure-block h2 .h2_b {
  color: #836FC0
}

.lrn-prog .prog-structure-block .struct_intro_full .intro_lead {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3050;
  margin: 0;
  max-width: 600px
}

.lrn-prog .prog-structure-block .struct_aside_meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  background: #FEFDFE;
  border-radius: 8px;
  border: 2px solid #836FC0;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  align-self: start
}

.lrn-prog .prog-structure-block .struct_aside_meta h4 {
  font-size: 16px;
  color: #836FC0;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0
}

.lrn-prog .prog-structure-block .struct_aside_meta .meta_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lrn-prog .prog-structure-block .struct_aside_meta .meta_list li {
  font-size: 16px;
  line-height: 1.35;
  color: #2a2040;
  padding: 8px 16px;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 8px
}

.lrn-prog .prog-structure-block .struct_aside_meta .meta_list li:nth-child(odd) {
  background: #836fc014
}

.lrn-prog .prog-structure-block .struct_aside_meta .meta_list li:nth-child(even) {
  background: #d5c9da40
}

.lrn-prog .prog-structure-block .struct_aside_meta .meta_list li .meta_icon {
  width: 10px;
  height: 10px;
  border-radius: 0;
  background: #836FC0;
  flex-shrink: 0;
  transform: rotate(45deg)
}

.lrn-prog .prog-structure-block .body_two_col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 64px
}

.lrn-prog .prog-structure-block .body_two_col .body_col p {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3050;
  margin: 0 0 16px
}

.lrn-prog .prog-structure-block .process_flow_row {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: stretch;
  position: relative
}

.lrn-prog .prog-structure-block .proc_step {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  background: #FEFDFE;
  border-radius: 8px;
  position: relative;
  border: 2px solid #D5C9DA;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden
}

.lrn-prog .prog-structure-block .proc_step::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  border: 2px solid transparent;
  transition: border-color .25s cubic-bezier(0.0, 0, 0.2, 1);
  pointer-events: none
}

.lrn-prog .prog-structure-block .proc_step:hover::before {
  border-color: #836FC0
}

.lrn-prog .prog-structure-block .proc_step:hover {
  box-shadow: -1px 4px 28px -1px #836fc017
}

.lrn-prog .prog-structure-block .proc_step .step_num {
  font-size: 27px;
  font-weight: 800;
  color: #836FC0;
  line-height: 1.1
}

.lrn-prog .prog-structure-block .proc_step h5 {
  font-size: 16px;
  font-weight: 700;
  color: #2a2040;
  margin: 0;
  line-height: 1.35
}

.lrn-prog .prog-structure-block .proc_step p {
  font-size: 16px;
  line-height: 1.55;
  color: #4a4060;
  margin: 0
}

.lrn-prog .prog-structure-block .proc_step .step_foot_gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 32px;
  background: linear-gradient(to top, #836fc01a, transparent);
  pointer-events: none
}

.lrn-prog .prog-structure-block .proc_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  flex-shrink: 0;
  position: relative
}

.lrn-prog .prog-structure-block .proc_arrow .arrow_line {
  width: 100%;
  height: 2px;
  background: #836FC0;
  position: relative
}

.lrn-prog .prog-structure-block .proc_arrow .arrow_line::after {
  content: '';
  position: absolute;
  right: -1px;
  top: -4px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #836FC0
}

.lrn-prog .prog-structure-block .modules_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 64px
}

.lrn-prog .prog-structure-block h3 {
  font-size: 27px;
  line-height: 1.35;
  color: #2a2040;
  margin: 0 0 32px;
  text-shadow: 0 1px 0 #836fc01a
}

.lrn-prog .prog-structure-block .module_card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px 16px 16px;
  border-radius: 8px;
  background: #FEFDFE;
  border: 2px solid #D5C9DA;
  position: relative;
  overflow: hidden;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .prog-structure-block .module_card.accent_left {
  border-left: 6px solid #836FC0;
  border-top: 2px solid #836FC0
}

.lrn-prog .prog-structure-block .module_card:hover {
  box-shadow: -1px 9px 52px -1px #836fc01f
}

.lrn-prog .prog-structure-block .module_card .card_icon_wrap {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #836fc01f;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.lrn-prog .prog-structure-block .module_card .card_icon_wrap svg {
  width: 22px;
  height: 22px
}

.lrn-prog .prog-structure-block .module_card h6 {
  font-size: 16px;
  font-weight: 700;
  color: #2a2040;
  margin: 0;
  line-height: 1.35
}

.lrn-prog .prog-structure-block .module_card p {
  font-size: 16px;
  line-height: 1.55;
  color: #4a4060;
  margin: 0;
  flex: 1
}

.lrn-prog .prog-structure-block .module_card .card_bottom_gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 28px;
  background: linear-gradient(to top, #d5c9da38, transparent);
  pointer-events: none
}

.lrn-prog .prog-structure-block .second_img_wrap {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 32px;
  align-items: center
}

.lrn-prog .prog-structure-block .second_img_wrap .img_box {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 4px 28px -1px #836fc017;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .prog-structure-block .second_img_wrap .img_box:hover {
  box-shadow: -1px 9px 52px -1px #836fc026
}

.lrn-prog .prog-structure-block .second_img_wrap .img_box img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .prog-structure-block .second_img_wrap .img_box:hover img {
  transform: scale(1.03)
}

.lrn-prog .prog-structure-block .second_img_wrap .img_box .img_foot_grad {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: linear-gradient(to top, #836fc029, transparent);
  pointer-events: none
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text h4 {
  font-size: 27px;
  line-height: 1.35;
  color: #2a2040;
  margin: 0;
  text-shadow: 0 1px 0 #836fc01a
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text p {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3050;
  margin: 0
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 0;
  border: 3px solid #836FC0;
  background: transparent;
  color: #836FC0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  width: fit-content
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn::before {
  content: '';
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  background: #836FC0;
  transform: rotate(-35deg);
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn:hover::before {
  transform: rotate(-35deg) translate(40%, 40%)
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn:hover {
  color: #FEFDFE
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn span {
  position: relative;
  z-index: 1
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn:focus-visible {
  outline: 2px solid #836FC0;
  outline-offset: 4px
}

.lrn-prog .prog-structure-block .second_img_wrap .img_aside_text .prog_cta_btn:active {
  opacity: .85
}

@keyframes pattern_drift {
  0% {
    background-position: 0 0
  }

  100% {
    background-position: 48px 48px
  }
}

.lrn-prog .prog-structure-block .animated_pattern_bg {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, #836fc008 0px, #836fc008 1px, transparent 1px, transparent 24px);
  background-size: 48px 48px;
  animation: pattern_drift 12s linear infinite;
  pointer-events: none;
  z-index: 0
}

.lrn-prog .prog-structure-block>* {
  position: relative;
  z-index: 1
}

@media (max-width: 1100px) {
  .lrn-prog .prog-title-block {
    grid-template-columns: 1fr;
    padding: 64px 32px;
    gap: 32px
  }

  .lrn-prog .prog-title-block h1 {
    font-size: 68px
  }

  .lrn-prog .prog-title-block .bg_depth_num {
    font-size: 160px
  }

  .lrn-prog .prog-structure-block {
    padding: 64px 32px
  }

  .lrn-prog .prog-structure-block .struct_top_row {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lrn-prog .prog-structure-block .body_two_col {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lrn-prog .prog-structure-block .modules_grid {
    grid-template-columns: 1fr 1fr
  }

  .lrn-prog .prog-structure-block .second_img_wrap {
    grid-template-columns: 1fr
  }
}

@media (max-width: 700px) {
  .lrn-prog .prog-title-block {
    padding: 64px 16px 32px;
    gap: 32px
  }

  .lrn-prog .prog-title-block h1 {
    font-size: 27px
  }

  .lrn-prog .prog-title-block .title_num_stat {
    flex-direction: column;
    gap: 16px
  }

  .lrn-prog .prog-structure-block {
    padding: 64px 16px
  }

  .lrn-prog .prog-structure-block h2 {
    font-size: 27px
  }

  .lrn-prog .prog-structure-block .process_flow_row {
    flex-direction: column;
    gap: 16px
  }

  .lrn-prog .prog-structure-block .proc_arrow {
    width: 100%;
    height: 32px;
    transform: rotate(90deg)
  }

  .lrn-prog .prog-structure-block .modules_grid {
    grid-template-columns: 1fr
  }

  .lrn-prog .prog-title-block .bg-depth-num {
    font-size: 100px;
    right: 8px
  }
}

.jrnl_root {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip
}

.jrnl_root .page_band {
  background: linear-gradient(180deg, #836FC0 100%, #D5C9DA 50%);
  padding: 64px 64px 96px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center
}

.jrnl_root .page_band::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 50%, #836FC0 100%)
}

.jrnl_root .page_band_eyebrow {
  display: inline-block;
  border: 2px solid #FEFDFE;
  color: #FEFDFE;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .08em;
  padding: 8px 16px;
  border-radius: 0;
  margin-bottom: 32px
}

.jrnl_root .page_band_h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0 0 16px;
  max-width: 800px
}

.jrnl_root .page_band_h1 .half_a {
  color: #FEFDFE
}

.jrnl_root .page_band_h1 .half_b {
  color: #2a1f4a
}

.jrnl_root .page_band_desc {
  font-size: 18px;
  line-height: 1.55;
  color: #2a1f4a;
  max-width: 560px;
  margin: 0 0 32px
}

.jrnl_root .dot_path {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  justify-content: center
}

.jrnl_root .dot_path .dot_item {
  width: 8px;
  height: 8px;
  border-radius: 28px;
  background: #836FC0;
  opacity: .4
}

.jrnl_root .dot_path .dot_item.active {
  opacity: 1;
  background: #2a1f4a;
  width: 24px
}

.jrnl_root .card_grid_area {
  padding: 96px 64px;
  background: #FEFDFE;
  position: relative
}

.jrnl_root .card_grid_area::after {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #836FC0 40%, #D5C9DA 70%, transparent 100%);
  margin-top: 96px
}

.jrnl_root .card_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto
}

.jrnl_root .post_card {
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  overflow: hidden;
  background: #FEFDFE;
  display: flex;
  flex-direction: column;
  box-shadow: -1px 4px 28px -1px #836fc017;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_root .post_card:hover {
  box-shadow: -1px 9px 52px -1px #836fc01f;
  border-color: #836FC0
}

.jrnl_root .post_card_img_wrap {
  position: relative;
  overflow: hidden;
  height: 200px
}

.jrnl_root .post_card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.7);
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_root .post_card:hover .post_card_img_wrap img {
  transform: scale(1.04);
  filter: saturate(1)
}

.jrnl_root .post_card_tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #836FC0;
  color: #FEFDFE;
  font-size: 16px;
  line-height: 1.35;
  padding: 8px 16px;
  border-radius: 0;
  border: 2px solid #836FC0;
  letter-spacing: .04em
}

.jrnl_root .post_card_body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px
}

.jrnl_root .post_card_meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0
}

.jrnl_root .post_card_meta .meta_sep {
  width: 4px;
  height: 4px;
  border-radius: 28px;
  background: #D5C9DA;
  display: inline-block
}

.jrnl_root .post_card_h2 {
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #2a1f4a;
  margin: 0;
  text-shadow: -1px 3px 4px -1px #836fc00d
}

.jrnl_root .post_card_subtitle {
  font-size: 16px;
  line-height: 1.55;
  color: #836FC0;
  margin: 0;
  font-style: italic
}

.jrnl_root .post_card_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #3d2f6a;
  margin: 0;
  flex: 1
}

.jrnl_root .post_card_footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid #D5C9DA;
  border-left: 3px solid #836FC0;
  padding-left: 16px
}

.jrnl_root .post_card_author {
  font-size: 16px;
  line-height: 1.35;
  color: #2a1f4a;
  font-weight: 600
}

.jrnl_root .post_card_readtime {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0
}

.jrnl_root .post_card_link {
  display: inline-block;
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #2a1f4a;
  text-decoration: underline dotted #836FC0;
  text-underline-offset: 3px;
  font-weight: 600;
  border: 2px solid #2a1f4a;
  padding: 8px 16px;
  border-radius: 0;
  background: transparent;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  align-self: flex-start
}

.jrnl_root .post_card_link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 100%);
  transition: left .25s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.jrnl_root .post_card_link:hover::before {
  left: 0
}

.jrnl_root .post_card_link:hover {
  color: #FEFDFE;
  border-color: #836FC0
}

.jrnl_root .post_card_link span {
  position: relative;
  z-index: 1
}

.jrnl_root .about_strip {
  background: #836FC0;
  padding: 64px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
  position: relative
}

.jrnl_root .about_strip::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #D5C9DA 0%, #FEFDFE 50%, #D5C9DA 100%)
}

.jrnl_root .about_strip_icon_left,
.jrnl_root .about_strip_icon_right {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

.jrnl_root .about_strip_icon_left svg,
.jrnl_root .about_strip_icon_right svg {
  width: 48px;
  height: 48px;
  opacity: .4
}

.jrnl_root .about_strip_text {
  flex: 1;
  text-align: center
}

.jrnl_root .about_strip_text h2 {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #FEFDFE;
  margin: 0 0 16px;
  text-shadow: -1px 3px 4px -1px #836fc01f
}

.jrnl_root .about_strip_text p {
  font-size: 18px;
  line-height: 1.55;
  color: #D5C9DA;
  margin: 0
}

.jrnl_root .feature_stack_area {
  padding: 96px 64px;
  background: #D5C9DA;
  position: relative
}

.jrnl_root .feature_stack_area::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(135deg, #836FC0 0%, transparent 60%)
}

.jrnl_root .feature_stack_inner {
  max-width: 900px;
  margin: 0 auto
}

.jrnl_root .feature_stack_header {
  margin-bottom: 64px
}

.jrnl_root .feature_stack_header h2 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0 0 16px;
  color: #2a1f4a;
  text-shadow: -1px 4px 28px -1px #836fc017
}

.jrnl_root .feature_stack_header p {
  font-size: 18px;
  line-height: 1.55;
  color: #3d2f6a;
  max-width: 560px
}

.jrnl_root .feature_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0
}

.jrnl_root .feature_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 32px;
  padding: 32px 0;
  border-bottom: 1px solid #836fc033
}

.jrnl_root .feature_item:nth-child(odd) {
  flex-direction: row
}

.jrnl_root .feature_item:nth-child(even) {
  flex-direction: row-reverse;
  background: transparent
}

.jrnl_root .feature_item:nth-child(odd) .feature_icon_wrap {
  background: #836FC0
}

.jrnl_root .feature_item:nth-child(even) .feature_icon_wrap {
  background: #2a1f4a
}

.jrnl_root .feature_icon_wrap {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.jrnl_root .feature_icon_wrap svg {
  width: 28px;
  height: 28px;
  fill: #FEFDFE
}

.jrnl_root .feature_text h4 {
  font-size: 18px;
  line-height: 1.35;
  color: #2a1f4a;
  margin: 0 0 8px;
  letter-spacing: -.01em
}

.jrnl_root .feature_text p {
  font-size: 16px;
  line-height: 1.55;
  color: #3d2f6a;
  margin: 0
}

.jrnl_root .img_showcase {
  padding: 0 64px 96px;
  background: #FEFDFE;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto
}

.jrnl_root .img_showcase_wrap {
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: -1px 9px 52px -1px #836fc01f;
  position: relative
}

.jrnl_root .img_showcase_wrap img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  filter: saturate(0.65);
  transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_root .img_showcase_wrap:hover img {
  filter: saturate(1);
  transform: scale(1.03)
}

.jrnl_root .img_showcase_copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.jrnl_root .img_showcase_copy h2 {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: #2a1f4a;
  margin: 0;
  text-shadow: -1px 3px 4px -1px #836fc00d
}

.jrnl_root .img_showcase_copy .intro_full {
  font-size: 18px;
  line-height: 1.55;
  color: #3d2f6a;
  margin: 0
}

.jrnl_root .img_showcase_copy .two_col_body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 8px
}

.jrnl_root .img_showcase_copy .two_col_body p {
  font-size: 16px;
  line-height: 1.55;
  color: #3d2f6a;
  margin: 0
}

.jrnl_root .contact_band {
  padding: 96px 64px;
  background: #2a1f4a;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
  position: relative
}

.jrnl_root .contact_band::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #836FC0, #D5C9DA, #836FC0, transparent)
}

.jrnl_root .contact_band h2 {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #FEFDFE;
  margin: 0;
  text-shadow: -1px 4px 28px -1px #836fc017
}

.jrnl_root .contact_band p {
  font-size: 18px;
  line-height: 1.55;
  color: #D5C9DA;
  max-width: 520px;
  margin: 0
}

.jrnl_root .contact_btn {
  display: inline-block;
  font-size: 18px;
  line-height: 1.35;
  color: #FEFDFE;
  border: 2px solid #836FC0;
  padding: 16px 32px;
  border-radius: 0;
  background: transparent;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none
}

.jrnl_root .contact_btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 100%);
  transition: left .22s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.jrnl_root .contact_btn:hover::before {
  left: 0
}

.jrnl_root .contact_btn:hover {
  color: #2a1f4a;
  border-color: #D5C9DA
}

.jrnl_root .contact_btn span {
  position: relative;
  z-index: 1
}

.jrnl_root .wavy_divider {
  display: block;
  width: 100%;
  height: 32px;
  overflow: hidden
}

.jrnl_root .wavy_divider svg {
  width: 100%;
  height: 100%
}

@media (max-width: 1024px) {
  .jrnl_root .card_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .jrnl_root .about_strip {
    flex-direction: column;
    gap: 32px;
    text-align: center
  }

  .jrnl_root .img_showcase {
    flex-direction: column;
    padding: 64px 32px
  }

  .jrnl_root .img_showcase_wrap {
    width: 100%
  }
}

@media (max-width: 768px) {
  .jrnl_root .page_band {
    padding: 64px 32px
  }

  .jrnl_root .page_band_h1 {
    font-size: 27px
  }

  .jrnl_root .card_grid_area {
    padding: 64px 32px
  }

  .jrnl_root .card_grid {
    grid-template-columns: 1fr
  }

  .jrnl_root .feature_stack_area {
    padding: 64px 32px
  }

  .jrnl_root .feature_stack_header h2 {
    font-size: 27px
  }

  .jrnl_root .feature_item:nth-child(even) {
    flex-direction: row
  }

  .jrnl_root .contact_band {
    padding: 64px 32px
  }

  .jrnl_root .about_strip {
    padding: 64px 32px
  }

  .jrnl_root .img_showcase_copy .two_col_body {
    grid-template-columns: 1fr
  }
}

.cont_us_pg {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip;
  position: relative
}

.cont_us_pg .pg_opener {
  padding: 96px 64px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  background: linear-gradient(180deg, #FEFDFE 50%, #D5C9DA 100%)
}

.cont_us_pg .pg_opener::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #836fc014 0%, transparent 55%), linear-gradient(315deg, #d5c9da26 0%, transparent 55%);
  pointer-events: none;
  z-index: 0
}

.cont_us_pg .pg_opener_text {
  position: relative;
  z-index: 1
}

.cont_us_pg .pg_opener_text .label_tag {
  display: inline-block;
  border: 2px solid #836FC0;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  letter-spacing: .04em;
  margin-bottom: 32px;
  background: #836fc00f
}

.cont_us_pg .pg_opener_text .opener_h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 32px;
  text-shadow: 1px 2px 8px #836fc01f
}

.cont_us_pg .pg_opener_text .opener_h1 .half_a {
  color: #2a2040
}

.cont_us_pg .pg_opener_text .opener_h1 .half_b {
  color: #836FC0
}

.cont_us_pg .pg_opener_text .opener_desc {
  font-size: 18px;
  line-height: 1.55;
  color: #3d3550;
  margin: 0 0 32px
}

.cont_us_pg .pg_opener_text .opener_desc .term_highlight {
  background: #836fc026;
  border-radius: 0;
  padding: 0 6px;
  color: #4a3880;
  font-weight: 600
}

.cont_us_pg .pg_opener_visual {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

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

.cont_us_pg .info_card {
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  padding: 16px;
  background: #FEFDFE;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  box-shadow: -1px 3px 4px -1px #836fc00d;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.cont_us_pg .info_card:hover {
  border-color: #836FC0;
  box-shadow: -1px 4px 28px -1px #836fc017
}

.cont_us_pg .info_card .card_ico {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 100%);
  display: flex;
  align-items: center;
  justify-content: center
}

.cont_us_pg .info_card .card_ico svg {
  width: 20px;
  height: 20px;
  fill: #FEFDFE
}

.cont_us_pg .info_card .card_body {
  flex: 1
}

.cont_us_pg .info_card .card_body .card_lbl {
  font-size: 16px;
  line-height: 1.35;
  color: #836FC0;
  font-weight: 600;
  margin: 0 0 8px;
  letter-spacing: .03em
}

.cont_us_pg .info_card .card_body .card_val {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2040;
  margin: 0;
  text-decoration: none;
  display: block
}

.cont_us_pg .info_card .card_body a.card_val {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  color: #2a2040;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us_pg .info_card .card_body a.card_val:hover {
  color: #836FC0
}

.cont_us_pg .corner_rect_deco {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 64px;
  height: 64px;
  pointer-events: none;
  z-index: 0
}

.cont_us_pg .corner_rect_deco span {
  position: absolute;
  border: 1px solid #836fc02e;
  border-radius: 0
}

.cont_us_pg .corner_rect_deco span:nth-child(1) {
  inset: 0
}

.cont_us_pg .corner_rect_deco span:nth-child(2) {
  inset: 8px
}

.cont_us_pg .corner_rect_deco span:nth-child(3) {
  inset: 16px
}

.cont_us_pg .corner_rect_deco span:nth-child(4) {
  inset: 24px
}

.cont_us_pg .divider_double_curve {
  position: relative;
  height: 48px;
  overflow: hidden;
  background: #D5C9DA
}

.cont_us_pg .divider_double_curve svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.cont_us_pg .form_area {
  padding: 96px 64px;
  background: #FEFDFE;
  position: relative;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 64px;
  align-items: start
}

.cont_us_pg .form_area::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(225deg, #d5c9da33 0%, transparent 40%), linear-gradient(45deg, #836fc00a 0%, transparent 40%);
  pointer-events: none;
  z-index: 0;
  animation: bg_shift 6s ease-in-out infinite alternate
}

@keyframes bg_shift {
  0% {
    background: linear-gradient(225deg, #d5c9da33 0%, transparent 40%), linear-gradient(45deg, #836fc00a 0%, transparent 40%)
  }

  100% {
    background: linear-gradient(225deg, #836fc01a 0%, transparent 40%), linear-gradient(45deg, #d5c9da2e 0%, transparent 40%)
  }
}

.cont_us_pg .form_area .form_side_txt {
  position: relative;
  z-index: 1
}

.cont_us_pg .form_area .form_side_txt .side_h2 {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #2a2040;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #836fc01a
}

.cont_us_pg .form_area .form_side_txt .side_h2 .half_b {
  color: #836FC0
}

.cont_us_pg .form_area .form_side_txt .side_para {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3550;
  margin: 0 0 32px
}

.cont_us_pg .response_bar_block {
  margin-top: 32px;
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  padding: 16px;
  background: #836fc00a;
  position: relative
}

.cont_us_pg .response_bar_block .bar_lbl_row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 8px
}

.cont_us_pg .response_bar_block .bar_lbl_row .bar_lbl_left {
  font-size: 16px;
  color: #836FC0;
  font-weight: 600
}

.cont_us_pg .response_bar_block .bar_lbl_row .bar_lbl_right {
  font-size: 16px;
  color: #3d3550
}

.cont_us_pg .response_bar_block .bar_track {
  height: 8px;
  background: #D5C9DA;
  border-radius: 0;
  position: relative;
  overflow: hidden
}

.cont_us_pg .response_bar_block .bar_track .bar_fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 30%;
  background: linear-gradient(90deg, #836FC0 0%, #D5C9DA 100%);
  border-radius: 0
}

.cont_us_pg .response_bar_block .bar_caption {
  font-size: 16px;
  color: #3d3550;
  margin: 8px 0 0;
  line-height: 1.35
}

.cont_us_pg .form_col {
  position: relative;
  z-index: 1
}

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

.cont_us_pg .contact_form .field_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.cont_us_pg .contact_form .field_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us_pg .contact_form .field_grp .f_label {
  font-size: 16px;
  line-height: 1.35;
  color: #2a2040;
  font-weight: 600;
  letter-spacing: .02em
}

.cont_us_pg .contact_form .field_grp .f_input {
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  padding: 16px;
  font-size: 16px;
  line-height: 1.35;
  color: #2a2040;
  background: #FEFDFE;
  outline: none;
  box-shadow: inset 0 3px 6px #836fc00d;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
  width: 100%;
  box-sizing: border-box
}

.cont_us_pg .contact_form .field_grp .f_input::placeholder {
  color: #9e8fb5
}

.cont_us_pg .contact_form .field_grp .f_input:focus {
  border-color: #836FC0;
  box-shadow: inset 0 3px 6px #836fc014 -1px 4px 28px -1px #836fc017
}

.cont_us_pg .contact_form .checkboxes_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us_pg .contact_form .checkboxes_grp .chk_grp_lbl {
  font-size: 16px;
  line-height: 1.35;
  color: #2a2040;
  font-weight: 600;
  letter-spacing: .02em;
  margin-bottom: 8px
}

.cont_us_pg .contact_form .checkboxes_grp .chk_items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px
}

.cont_us_pg .contact_form .checkboxes_grp .chk_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  padding: 8px 16px;
  cursor: pointer;
  transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.0, 0, 0.2, 1);
  background: #FEFDFE
}

.cont_us_pg .contact_form .checkboxes_grp .chk_item:hover {
  border-color: #836FC0;
  background: #836fc00d
}

.cont_us_pg .contact_form .checkboxes_grp .chk_item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #836FC0;
  cursor: pointer;
  flex-shrink: 0
}

.cont_us_pg .contact_form .checkboxes_grp .chk_item .chk_lbl_txt {
  font-size: 16px;
  line-height: 1.35;
  color: #2a2040;
  cursor: pointer
}

.cont_us_pg .contact_form .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  border: 2px solid #D5C9DA;
  border-radius: 8px;
  background: #d5c9da1f
}

.cont_us_pg .contact_form .privacy_row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #836FC0;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px
}

.cont_us_pg .contact_form .privacy_row .privacy_txt {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3550;
  margin: 0
}

.cont_us_pg .contact_form .privacy_row .privacy_txt a {
  color: #836FC0;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us_pg .contact_form .privacy_row .privacy_txt a:hover {
  color: #4a3880
}

.cont_us_pg .contact_form .submit_btn {
  border: 3px solid #836FC0;
  border-radius: 8px;
  padding: 16px 32px;
  font-size: 18px;
  line-height: 1.35;
  color: #836FC0;
  background: linear-gradient(135deg, transparent 0%, transparent 50%, #836fc014 50%, #836fc014 100%);
  background-size: 200% 200%;
  background-position: 0 0;
  cursor: pointer;
  letter-spacing: .03em;
  font-weight: 700;
  transition: background-position .25s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.0, 0, 0.2, 1), background-color .22s cubic-bezier(0.0, 0, 0.2, 1);
  align-self: flex-start;
  position: relative;
  overflow: hidden
}

.cont_us_pg .contact_form .submit_btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, transparent 50%, #836FC0 50%, #836FC0 100%);
  background-size: 250% 250%;
  background-position: 0 0;
  z-index: 0;
  transition: background-position .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us_pg .contact_form .submit_btn:hover::before {
  background-position: 100% 100%
}

.cont_us_pg .contact_form .submit_btn:hover {
  color: #FEFDFE
}

.cont_us_pg .contact_form .submit_btn:focus {
  outline: 3px solid #836FC0;
  outline-offset: 3px
}

.cont_us_pg .contact_form .submit_btn span {
  position: relative;
  z-index: 1
}

.cont_us_pg .divider_b {
  position: relative;
  height: 48px;
  overflow: hidden;
  background: #FEFDFE
}

.cont_us_pg .divider_b svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.cont_us_pg .detail_strip {
  padding: 64px;
  background: linear-gradient(180deg, #D5C9DA 0%, #FEFDFE 100%);
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: start
}

.cont_us_pg .detail_strip .strip_item {
  border: 2px solid #836fc033;
  border-radius: 8px;
  padding: 32px;
  background: #fefdfed9;
  position: relative;
  box-shadow: -1px 4px 28px -1px #836fc017;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.0, 0, 0.2, 1)
}

.cont_us_pg .detail_strip .strip_item:hover {
  box-shadow: -1px 9px 52px -1px #836fc01f;
  border-color: #836FC0
}

.cont_us_pg .detail_strip .strip_item .item_deco {
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 56px;
  height: 56px;
  pointer-events: none
}

.cont_us_pg .detail_strip .strip_item .item_deco span {
  position: absolute;
  border: 1px solid #836fc01f;
  border-radius: 0
}

.cont_us_pg .detail_strip .strip_item .item_deco span:nth-child(1) {
  inset: 0
}

.cont_us_pg .detail_strip .strip_item .item_deco span:nth-child(2) {
  inset: 8px
}

.cont_us_pg .detail_strip .strip_item .item_deco span:nth-child(3) {
  inset: 16px
}

.cont_us_pg .detail_strip .strip_item .item_ico_wrap {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  box-shadow: -1px 3px 4px -1px #836fc00d
}

.cont_us_pg .detail_strip .strip_item .item_ico_wrap svg {
  width: 24px;
  height: 24px;
  fill: #FEFDFE
}

.cont_us_pg .detail_strip .strip_item .item_h4 {
  font-size: 18px;
  line-height: 1.35;
  color: #2a2040;
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-shadow: 0 1px 4px #836fc014
}

.cont_us_pg .detail_strip .strip_item .item_para {
  font-size: 16px;
  line-height: 1.55;
  color: #3d3550;
  margin: 0
}

.cont_us_pg .detail_strip .strip_item .item_para a {
  color: #836FC0;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us_pg .detail_strip .strip_item .item_para a:hover {
  color: #4a3880
}

.cont_us_pg .detail_strip .strip_item .odd_item_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us_pg .detail_strip .strip_item .odd_item_list li {
  font-size: 16px;
  line-height: 1.55;
  padding: 8px 16px;
  border-radius: 8px;
  color: #2a2040
}

.cont_us_pg .detail_strip .strip_item .odd_item_list li:nth-child(odd) {
  background: #836fc01a;
  color: #2a2040
}

.cont_us_pg .detail_strip .strip_item .odd_item_list li:nth-child(even) {
  background: #d5c9da59;
  color: #3d3550
}

@media (max-width: 1024px) {
  .cont_us_pg .pg_opener {
    grid-template-columns: 1fr;
    padding: 64px 32px;
    gap: 32px
  }

  .cont_us_pg .pg_opener_text .opener_h1 {
    font-size: 48px
  }

  .cont_us_pg .form_area {
    grid-template-columns: 1fr;
    padding: 64px 32px;
    gap: 32px
  }

  .cont_us_pg .detail_strip {
    grid-template-columns: 1fr;
    padding: 64px 32px;
    gap: 32px
  }

  .cont_us_pg .contact_form .field_row {
    grid-template-columns: 1fr
  }

  .cont_us_pg .contact_form .checkboxes_grp .chk_items {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .cont_us_pg .pg_opener {
    padding: 64px 16px
  }

  .cont_us_pg .pg_opener_text .opener_h1 {
    font-size: 36px
  }

  .cont_us_pg .form_area {
    padding: 64px 16px
  }

  .cont_us_pg .detail_strip {
    padding: 64px 16px
  }
}

.success_page_root {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: linear-gradient(180deg, #FEFDFE 50%, #D5C9DA 100%);
  max-width: 1440px;
  margin: 0 auto
}

.success_page_root .success_card {
  background: #FEFDFE;
  border-radius: 28px;
  padding: 64px;
  max-width: 560px;
  width: 100%;
  box-shadow: -1px 9px 52px -1px #836fc01f;
  border: 2px solid #D5C9DA;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px
}

.success_page_root .success_icon_wrap {
  width: 80px;
  height: 80px;
  border-radius: 28px;
  background: linear-gradient(180deg, #836FC0 50%, #D5C9DA 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 4px 28px -1px #836fc017;
  flex-shrink: 0
}

.success_page_root .success_icon_svg {
  width: 40px;
  height: 40px
}

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

.success_page_root .success_heading {
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: #2d2540;
  margin: 0;
  text-shadow: 0 1px 3px #836fc014
}

.success_page_root .success_heading .heading_accent {
  color: #836FC0
}

.success_page_root .success_body {
  font-size: 16px;
  line-height: 1.55;
  color: #4a4060;
  margin: 0;
  max-width: 400px
}

.success_page_root .success_divider {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #836FC0, #D5C9DA);
  border-radius: 0;
  border: none;
  margin: 0
}

.success_page_root .success_return_link {
  display: inline-block;
  font-size: 16px;
  line-height: 1.35;
  color: #2d2540;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  border: 2px solid #836FC0;
  border-radius: 8px;
  padding: 16px 32px;
  background: transparent;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.0, 0, 0.2, 1);
  text-decoration: none;
  font-weight: 600
}

.success_page_root .success_return_link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #836FC0 0%, #D5C9DA 100%);
  transform: translateX(-101%) skewX(-8deg);
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  border-radius: 8px
}

.success_page_root .success_return_link:hover::before {
  transform: translateX(0) skewX(0deg)
}

.success_page_root .success_return_link:hover {
  color: #FEFDFE
}

.success_page_root .success_return_link:focus {
  outline: 2px solid #836FC0;
  outline-offset: 3px
}

.success_page_root .success_return_link span {
  position: relative;
  z-index: 1
}

@media (max-width: 600px) {
  .success_page_root {
    padding: 64px 16px
  }

  .success_page_root .success_card {
    padding: 32px 16px;
    gap: 16px
  }

  .success_page_root .success_heading {
    font-size: 27px
  }
}