* {
  box-sizing: border-box
}

html {
  font-size: 100%
}

body {
  margin: 0;
  position: relative;
  min-height: 100vh
}

.brand_accent {
  display: flex;
  align-items: stretch;
  background: linear-gradient(135deg, #3D2256 0%, #5a3478 100%);
  padding: 0 40px;
  min-height: 100%;
  border-right: 4px solid #FD654D;
  position: relative
}

.brand_accent::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 20%;
  height: 60%;
  width: 2px;
  background: linear-gradient(to bottom, transparent, #FD654D, transparent);
  border-radius: 1px
}

.brand_mark {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  padding: 20px 0
}

.brand_mark_logo_frame {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #ffffff1f;
  box-shadow: 0 1px 2px 0 #3d225614 0 5px 22px 0 #3d22561c;
  border: 1px solid #fff3;
  flex-shrink: 0;
  padding: 4px
}

.brand_mark_logo_frame img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block
}

.brand_name_text {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.02em;
  line-height: 1.1;
  white-space: nowrap
}

.brand_name_sub {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  font-weight: 400;
  color: #fff9;
  letter-spacing: .01em;
  line-height: 1.35;
  display: block;
  margin-top: 4px
}

.site_header {
  display: flex;
  align-items: stretch;
  background: #fff;
  box-shadow: 0 1px 2px 0 #3d225614 0 5px 22px 0 #3d22561c;
  overflow: hidden;
  position: relative;
  z-index: 100
}

.header_middle {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0 40px;
  background: #fff
}

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

.primary_nav li a {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  font-weight: 400;
  color: #3D2256;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  display: block;
  transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap;
  line-height: 1.35
}

.primary_nav li a:hover {
  color: #FD654D;
  border-color: #FD654D;
  background: #fd654d0f
}

.primary_nav li a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #fd654d59;
  border-radius: 6px
}

.header_contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 20px 40px;
  background: #EFEFEF;
  border-left: 1px solid #3d22561a;
  min-width: 220px
}

.contact_line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #3D2256;
  text-decoration: none;
  line-height: 1.35;
  transition: color .5s ease-in-out
}

.contact_line i {
  font-size: 14px;
  color: #FD654D;
  flex-shrink: 0
}

.contact_line:hover {
  color: #FD654D
}

.contact_line:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #fd654d59;
  border-radius: 1px
}

.site_footer {
  background: #3D2256;
  position: relative;
  overflow: hidden
}

.footer_organic_top {
  width: 100%;
  height: 40px;
  background: #EFEFEF;
  border-radius: 0 0 38px 38px;
  position: relative;
  z-index: 1
}

.footer_body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px 40px;
  position: relative;
  z-index: 2
}

.footer_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 80px
}

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

.footer_brand_name {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.1
}

.footer_brand_desc {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #fff9;
  line-height: 1.6
}

.footer_col_heading {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  font-weight: 700;
  color: #FD654D;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
  margin-bottom: 20px
}

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

.footer_topics_list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #ffffffbf;
  line-height: 1.6
}

.footer_topics_list li i {
  color: #FD654D;
  font-size: 14px;
  margin-top: 2px;
  flex-shrink: 0
}

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

.footer_contact_list li a,
.footer_contact_list li span {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #ffffffbf;
  text-decoration: none;
  line-height: 1.6;
  transition: color .5s ease-in-out
}

.footer_contact_list li a:hover {
  color: #FD654D
}

.footer_contact_list li a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #fd654d59;
  border-radius: 1px
}

.footer_contact_list li i {
  color: #FD654D;
  font-size: 14px;
  margin-top: 2px;
  flex-shrink: 0
}

.footer_divider {
  height: 1px;
  background: linear-gradient(to right, transparent, #fd654d66, transparent);
  margin-bottom: 40px;
  border-radius: 1px
}

.footer_bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px
}

.footer_logo_strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px
}

.footer_logo_frame {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #ffffff1a;
  box-shadow: 0 1px 2px 0 #3d225614 0 5px 22px 0 #fd654d1c;
  border: 1px solid #ffffff26;
  padding: 4px
}

.footer_logo_frame img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block
}

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

.footer_legal_nav li a {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #ffffff80;
  text-decoration: none;
  transition: color .5s ease-in-out;
  white-space: nowrap
}

.footer_legal_nav li a:hover {
  color: #FD654D
}

.footer_legal_nav li a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #fd654d59;
  border-radius: 1px
}

.footer_copy {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #fff6;
  line-height: 1.35
}

.footer_organic_blob {
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  background: #fd654d0f;
  border-radius: 38px;
  transform: rotate(30deg);
  pointer-events: none;
  z-index: 0
}

.consent_card {
  position: fixed;
  top: 20px;
  left: 20px;
  width: 340px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 40px 0 #3d225621;
  padding: 20px;
  z-index: 4000;
  display: none;
  border: 1.5px solid #3d22561a;
  font-family: 'Fira Code', 'Courier New', monospace
}

.consent_card.visible {
  display: block
}

.consent_card.sliding_in {
  animation: slideFromTop .38s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.consent_card.sliding_out {
  animation: slideToTop .38s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes slideFromTop {
  from {
    transform: translateY(-120%);
    opacity: 0
  }

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

@keyframes slideToTop {
  from {
    transform: translateY(0);
    opacity: 1
  }

  to {
    transform: translateY(-120%);
    opacity: 0
  }
}

.consent_headline {
  font-size: 16px;
  font-weight: 700;
  color: #3D2256;
  line-height: 1.35;
  margin-bottom: 8px
}

.consent_text {
  font-size: 14px;
  color: #3D2256;
  line-height: 1.6;
  margin-bottom: 20px;
  opacity: .8
}

.consent_settings_panel {
  margin-bottom: 20px;
  display: none
}

.consent_settings_panel.open {
  display: block
}

.consent_check_row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  color: #3D2256;
  line-height: 1.35
}

.consent_check_row input[type="checkbox"] {
  accent-color: #FD654D;
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

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

.consent_btn_accept {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  font-weight: 700;
  color: #FD654D;
  background: transparent;
  border: 1.5px solid #FD654D;
  border-radius: 6px;
  padding: 8px 20px;
  cursor: pointer;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 44px
}

.consent_btn_accept:hover {
  background: #FD654D;
  color: #fff
}

.consent_btn_accept:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #fd654d59
}

.consent_btn_settings {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 14px;
  color: #3d225699;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 4px;
  text-decoration: underline;
  min-height: 44px;
  transition: color .5s ease-in-out
}

.consent_btn_settings:hover {
  color: #3D2256
}

.consent_btn_settings:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #3d225633;
  border-radius: 1px
}

@media (max-width: 900px) {
  .site_header {
    flex-wrap: wrap
  }

  .brand_accent {
    width: 100%;
    border-right: none;
    border-bottom: 4px solid #FD654D;
    padding: 0 20px
  }

  .brand_accent::after {
    display: none
  }

  .header_middle {
    padding: 0 20px;
    order: 2;
    width: 100%
  }

  .header_contact {
    display: none
  }

  .footer_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

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

  .consent_card {
    width: calc(100vw - 40px);
    left: 20px
  }
}

.legal-info {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a1a3e;
  line-height: 1.8
}

.legal-info h1 {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #3D2256;
  margin-bottom: 40px;
  margin-top: 0
}

.legal-info h2 {
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #3D2256;
  margin-top: 80px;
  margin-bottom: 20px
}

.legal-info h3 {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -.005em;
  color: #3D2256;
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 8px
}

.legal-info h4,
.legal-info h5,
.legal-info h6 {
  font-size: 14px;
  line-height: 1.6;
  color: #3D2256;
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 8px
}

.legal-info p {
  font-size: 16px;
  line-height: 1.8;
  color: #2a1a3e;
  margin-top: 0;
  margin-bottom: 20px
}

.legal-info ul,
.legal-info ol {
  font-size: 16px;
  line-height: 1.8;
  color: #2a1a3e;
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 40px
}

.legal-info ul {
  list-style-type: disc
}

.legal-info ol {
  list-style-type: decimal
}

.legal-info li {
  margin-bottom: 8px;
  padding-left: 4px
}

.legal-info li:last-child {
  margin-bottom: 0
}

.legal-info ul ul,
.legal-info ol ol,
.legal-info ul ol,
.legal-info ol ul {
  margin-top: 8px;
  margin-bottom: 8px
}

.legal-info strong,
.legal-info b {
  font-weight: 700;
  color: #3D2256
}

.legal-info a {
  color: #FD654D;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), text-decoration-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.legal-info a:hover {
  color: #3D2256;
  text-decoration-color: #3D2256
}

.legal-info hr {
  border: none;
  border-top: 1px solid #EFEFEF;
  margin-top: 40px;
  margin-bottom: 40px
}

.legal-info div {
  font-size: 16px;
  line-height: 1.8
}

@media (max-width: 768px) {
  .legal-info {
    padding: 40px 20px
  }

  .legal-info h1 {
    font-size: 26px;
    margin-bottom: 20px
  }

  .legal-info h2 {
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: 8px
  }

  .legal-info h3,
  .legal-info h4,
  .legal-info h5,
  .legal-info h6 {
    font-size: 14px;
    margin-top: 20px
  }

  .legal-info ul,
  .legal-info ol {
    padding-left: 20px
  }

  .legal-info hr {
    margin-top: 20px;
    margin-bottom: 20px
  }
}

.press {
  background: #fff;
  overflow-x: clip;
  position: relative
}

.press .press_schema {
  display: none
}

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

.press .title_area::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#3d22560a 1px, transparent 1px), linear-gradient(90deg, #3d22560a 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0
}

.press .title_left {
  position: relative;
  z-index: 1
}

.press .title_label {
  display: inline-block;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .08em;
  color: #FD654D;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding: 4px 20px;
  border: 1px solid #fd654d4d;
  border-radius: 22px
}

.press .title_heading {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #3D2256;
  font-weight: 800;
  margin: 0 0 20px;
  -webkit-text-stroke: 0
}

.press .title_heading span {
  -webkit-text-stroke: 2px #3D2256;
  color: transparent;
  display: block
}

.press .title_desc {
  font-size: 16px;
  line-height: 1.6;
  color: #4a3a5a;
  margin: 0 0 40px;
  max-width: 480px
}

.press .title_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  background-image: linear-gradient(135deg, #3D2256, #FD654D);
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: 0 100%;
  padding-bottom: 4px;
  transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-size .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .title_link:hover {
  color: #FD654D;
  background-size: 100% 100%
}

.press .title_right {
  position: relative;
  z-index: 1
}

.press .image_card {
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 12px 40px 0 #3d225621
}

.press .image_card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  transition: transform .85s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .image_card:hover img {
  transform: scale(1.04)
}

.press .image_card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #3d22568c 0%, transparent 60%);
  pointer-events: none
}

.press .image_stat {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  color: #fff
}

.press .image_stat .big_num {
  font-size: 66px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #FD654D
}

.press .image_stat .big_num sup {
  font-size: 26px;
  color: #fff;
  font-weight: 600;
  vertical-align: super
}

.press .image_stat .stat_label {
  font-size: 14px;
  line-height: 1.35;
  color: #ffffffd9;
  display: block
}

.press .divider_double {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.press .divider_double span {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, #3D2256 0%, #FD654D 100%)
}

.press .divider_double span:last-child {
  background: #3d225626
}

.press .metrics_area {
  background: #f0ecf5;
  padding: 80px 40px;
  position: relative
}

.press .metrics_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 80px;
  align-items: start
}

.press .metrics_label_col {
  position: sticky;
  top: 40px
}

.press .metrics_eyebrow {
  font-size: 14px;
  line-height: 1.35;
  color: #FD654D;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.press .metrics_heading {
  font-size: 26px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 700;
  margin: 0 0 20px;
  -webkit-text-stroke: 1.5px #3D2256;
  color: transparent
}

.press .metrics_sub {
  font-size: 14px;
  line-height: 1.6;
  color: #5a4a6a;
  margin: 0
}

.press .diamond_accent {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #FD654D, #3D2256);
  transform: rotate(45deg);
  border-radius: 6px;
  margin-top: 40px
}

.press .metrics_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.press .metric_item {
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 0 5px 22px 0 #3d22561c;
  position: relative;
  transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .metric_item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px 0 #3d225621
}

.press .metric_item.wide {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center
}

.press .metric_number {
  font-size: 66px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #FD654D
}

.press .metric_number sup {
  font-size: 26px;
  font-weight: 700;
  color: #3D2256;
  vertical-align: super
}

.press .metric_title {
  font-size: 16px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 700;
  margin: 8px 0
}

.press .metric_desc {
  font-size: 14px;
  line-height: 1.6;
  color: #5a4a6a;
  margin: 0
}

.press .metric_bar_wrap {
  margin-top: 20px
}

.press .metric_bar_label {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 14px;
  line-height: 1.35;
  color: #5a4a6a;
  margin-bottom: 8px
}

.press .metric_bar {
  height: 6px;
  background: #EFEFEF;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 8px
}

.press .metric_bar_fill {
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(90deg, #3D2256, #FD654D);
  animation: bar_grow 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes bar_grow {
  from {
    width: 0 !important
  }
}

.press .reveal_ring {
  width: 160px;
  height: 160px;
  border-radius: 38px;
  background: linear-gradient(135deg, #3d225614, #fd654d14);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: box-shadow .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: default
}

.press .reveal_ring::before {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 22px;
  background: #3d22560f;
  transition: inset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .reveal_ring::after {
  content: '';
  position: absolute;
  inset: 24px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3D2256, #FD654D);
  transition: inset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: .9
}

.press .reveal_ring:hover::before {
  inset: 6px
}

.press .reveal_ring:hover::after {
  inset: 18px;
  opacity: 1
}

.press .reveal_ring:hover {
  box-shadow: 0 12px 40px 0 #3d225621
}

.press .ring_icon {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 26px
}

.press .list_area {
  padding: 80px 40px;
  background: #fff
}

.press .list_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 30%;
  gap: 80px;
  align-items: start
}

.press .list_items {
  display: flex;
  flex-direction: column;
  gap: 0
}

.press .list_heading_top {
  font-size: 26px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 700;
  margin: 0 0 40px
}

.press .topic_row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 20px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid #3d22561a;
  opacity: 0;
  transform: translateY(20px);
  animation: row_appear .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.press .topic_row:nth-child(1) {
  animation-delay: .1s
}

.press .topic_row:nth-child(2) {
  animation-delay: .25s
}

.press .topic_row:nth-child(3) {
  animation-delay: .4s
}

.press .topic_row:nth-child(4) {
  animation-delay: .55s
}

.press .topic_row:nth-child(5) {
  animation-delay: .7s
}

@keyframes row_appear {
  from {
    opacity: 0;
    transform: translateY(20px)
  }

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

.press .row_num {
  font-size: 14px;
  line-height: 1.35;
  color: #FD654D;
  font-weight: 700;
  padding-top: 4px
}

.press .row_title {
  font-size: 16px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 700;
  margin: 0 0 8px;
  transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .topic_row:hover .row_title {
  color: #FD654D
}

.press .row_text {
  font-size: 14px;
  line-height: 1.6;
  color: #5a4a6a;
  margin: 0
}

.press .row_tag {
  font-size: 14px;
  line-height: 1.35;
  color: #3D2256;
  background: #EFEFEF;
  border-radius: 6px;
  padding: 4px 8px;
  white-space: nowrap;
  font-weight: 500;
  margin-top: 4px;
  display: inline-block
}

.press .aside_panel {
  background: #3D2256;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 12px 40px 0 #3d225621;
  position: sticky;
  top: 40px
}

.press .aside_panel_title {
  font-size: 16px;
  line-height: 1.35;
  color: #fff9;
  font-weight: 500;
  margin: 0 0 20px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 14px
}

.press .aside_stat_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px
}

.press .aside_stat_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px
}

.press .aside_icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #fd654d33;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #FD654D;
  font-size: 16px
}

.press .aside_stat_val {
  font-size: 26px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700
}

.press .aside_stat_label {
  font-size: 14px;
  line-height: 1.35;
  color: #fff9;
  display: block
}

.press .aside_cta {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 700;
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.press .aside_cta:hover {
  background: #FD654D;
  color: #fff
}

@media (max-width: 900px) {
  .press .title_area {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 20px
  }

  .press .title_heading {
    font-size: 40px
  }

  .press .metrics_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

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

  .press .metric_item.wide {
    grid-column: span 1;
    grid-template-columns: 1fr;
    gap: 20px
  }

  .press .list_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .press .list_area {
    padding: 40px 20px
  }

  .press .metrics_area {
    padding: 40px 20px
  }

  .press .metrics_label_col {
    position: static
  }

  .press .aside_panel {
    position: static
  }

  .press .topic_row {
    grid-template-columns: 40px 1fr
  }

  .press .row_tag {
    grid-column: 2
  }
}

.partners {
  background: #fff;
  overflow-x: clip
}

.partners .split_block {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px
}

.partners .split_left {
  flex: 0 0 60%;
  max-width: 60%
}

.partners .split_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative
}

.partners .page_label {
  display: inline-block;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD654D;
  margin-bottom: 20px;
  font-weight: 600
}

.partners .main_heading {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 800;
  color: #3D2256;
  margin: 0 0 20px;
  -webkit-text-stroke: 1.5px #3D2256;
  color: transparent
}

.partners .lead_text {
  font-size: 16px;
  line-height: 1.6;
  color: #3D2256;
  margin: 0 0 20px;
  max-width: 520px
}

.partners .action_links {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 8px
}

.partners .link_primary {
  font-size: 16px;
  line-height: 1.35;
  color: #3D2256;
  text-decoration: none;
  font-weight: 700;
  padding: 8px 20px;
  border: 2px solid #3D2256;
  border-radius: 6px;
  background: transparent;
  transition: background .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: inline-block
}

.partners .link_primary:hover {
  background: #3D2256;
  color: #fff
}

.partners .link_secondary {
  font-size: 16px;
  line-height: 1.35;
  color: #FD654D;
  text-decoration: none;
  font-weight: 700;
  padding: 8px 20px;
  border: 2px solid #FD654D;
  border-radius: 6px;
  background: transparent;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: inline-block
}

.partners .link_secondary:hover {
  background: #FD654D;
  color: #fff
}

.partners .corner_deco {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  overflow: hidden
}

.partners .corner_deco span {
  position: absolute;
  border: 1.5px solid #3d22562e;
  border-radius: 1px
}

.partners .corner_deco span:nth-child(1) {
  inset: 0
}

.partners .corner_deco span:nth-child(2) {
  inset: 10px
}

.partners .corner_deco span:nth-child(3) {
  inset: 20px
}

.partners .corner_deco span:nth-child(4) {
  inset: 30px
}

.partners .image_wipe_wrap {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 40px 0 #3d225621;
  position: relative
}

.partners .image_wipe_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: wipe_in .9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  transform-origin: left center
}

@keyframes wipe_in {
  from {
    clip-path: inset(0 100% 0 0)
  }

  to {
    clip-path: inset(0 0% 0 0)
  }
}

.partners .image_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #3d225661 0%, #fd654d1a 100%);
  border-radius: 22px
}

.partners .stripe_bg {
  position: absolute;
  inset: 0;
  border-radius: 22px;
  overflow: hidden;
  pointer-events: none;
  z-index: 0
}

.partners .stripe_bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 12px, #3d22560a 12px, #3d22560a 13px)
}

.partners .title_area {
  background: linear-gradient(135deg, #f5f0fa 0%, #fff8f6 60%, #fff 100%);
  position: relative;
  overflow: hidden
}

.partners .title_area .split_block {
  position: relative;
  z-index: 1
}

.partners .radial_spot {
  position: absolute;
  top: -40px;
  left: -40px;
  width: 480px;
  height: 480px;
  background: radial-gradient(ellipse at 15% 20%, #fd654d21 0%, transparent 65%);
  pointer-events: none;
  z-index: 0
}

.partners .partners_grid_area {
  background: #3D2256;
  position: relative;
  overflow: hidden
}

.partners .partners_grid_area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #fd654d1a 0%, transparent 55%);
  pointer-events: none
}

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

.partners .grid_heading {
  font-size: 26px;
  line-height: 1.35;
  font-weight: 800;
  -webkit-text-stroke: 1px #EFEFEF;
  color: transparent;
  letter-spacing: -.01em;
  margin: 0 0 8px
}

.partners .grid_sub {
  font-size: 16px;
  line-height: 1.6;
  color: #efefefcc;
  margin: 0 0 40px;
  max-width: 560px
}

.partners .partner_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px
}

.partners .partner_item {
  background: #ffffff0f;
  border: 1px solid #efefef24;
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: default;
  box-shadow: 0 1px 2px 0 #3d225614
}

.partners .partner_item:hover {
  background: #ffffff1f;
  transform: scale(1.04);
  box-shadow: 0 12px 40px 0 #3d225621
}

.partners .partner_list:has(.partner_item:hover) .partner_item:not(:hover) {
  transform: scale(0.97);
  opacity: .7
}

.partners .partner_icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, #fd654d38 0%, #3d22564d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.partners .partner_icon i {
  font-size: 20px;
  color: #FD654D
}

.partners .partner_name {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #EFEFEF;
  margin: 0
}

.partners .partner_desc {
  font-size: 14px;
  line-height: 1.6;
  color: #efefefb3;
  margin: 0
}

.partners .partner_tag {
  display: inline-block;
  font-size: 14px;
  line-height: 1.35;
  color: #FD654D;
  font-weight: 600;
  padding: 4px 8px;
  background: #fd654d1f;
  border-radius: 6px;
  align-self: flex-start
}

.partners .two_col_bottom {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: stretch
}

.partners .image_panel {
  flex: 1;
  border-radius: 22px;
  overflow: hidden;
  min-height: 220px;
  position: relative;
  box-shadow: 0 5px 22px 0 #3d22561c
}

.partners .image_panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.partners .image_panel_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, #3d22568c 100%)
}

.partners .cta_panel {
  flex: 1;
  background: #ffffff12;
  border: 1px solid #efefef29;
  border-radius: 22px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center
}

.partners .cta_panel_heading {
  font-size: 26px;
  line-height: 1.35;
  font-weight: 800;
  color: #EFEFEF;
  margin: 0
}

.partners .cta_panel_text {
  font-size: 16px;
  line-height: 1.6;
  color: #efefefc7;
  margin: 0
}

.partners .cta_link {
  display: inline-block;
  align-self: flex-start;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #FD654D;
  text-decoration: none;
  border: 2px solid #FD654D;
  border-radius: 6px;
  padding: 8px 20px;
  background: transparent;
  transition: background .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.partners .cta_link:hover {
  background: #FD654D;
  color: #fff
}

.partners .deco_rect_corner {
  position: absolute;
  bottom: 40px;
  right: 40px;
  width: 60px;
  height: 60px;
  pointer-events: none
}

.partners .deco_rect_corner span {
  position: absolute;
  border: 1px solid #efefef26;
  border-radius: 1px
}

.partners .deco_rect_corner span:nth-child(1) {
  inset: 0
}

.partners .deco_rect_corner span:nth-child(2) {
  inset: 8px
}

.partners .deco_rect_corner span:nth-child(3) {
  inset: 16px
}

.partners .deco_rect_corner span:nth-child(4) {
  inset: 24px
}

@media (max-width: 900px) {
  .partners .split_block {
    flex-direction: column;
    padding: 40px 20px
  }

  .partners .split_left {
    flex: none;
    max-width: 100%
  }

  .partners .main_heading {
    font-size: 40px
  }

  .partners .partner_list {
    grid-template-columns: repeat(2, 1fr)
  }

  .partners .two_col_bottom {
    flex-direction: column
  }

  .partners .grid_inner {
    padding: 40px 20px
  }

  .partners .image_panel {
    min-height: 180px
  }
}

@media (max-width: 560px) {
  .partners .partner_list {
    grid-template-columns: 1fr
  }

  .partners .action_links {
    flex-direction: column;
    gap: 8px
  }

  .partners .cta_panel {
    padding: 20px
  }
}

.root {
  background-color: #fff;
  overflow-x: hidden
}

.root .title_block {
  background: linear-gradient(175deg, #3D2256 0%, #5a3478 55%, transparent 100%);
  padding: 80px 20px;
  position: relative
}

.root .title_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(120deg, #3d2256f2 0%, #fd654d2e 100%);
  pointer-events: none
}

.root .title_block .curved_lines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none
}

.root .title_block .curved_lines svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .13
}

.root .title_block .tb_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px;
  position: relative;
  z-index: 1
}

.root .title_block .tb_text {
  flex: 1 1 0
}

.root .title_block .tb_label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .22em;
  color: #FD654D;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.root .title_block .tb_heading {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #fff;
  margin: 0 0 20px;
  font-weight: 800
}

.root .title_block .tb_caption_line {
  display: block;
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, #FD654D, #fd654d33);
  margin-bottom: 20px
}

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

.root .title_block .tb_points li {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffd1;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.root .title_block .tb_points li .pt_dot {
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #FD654D;
  flex-shrink: 0;
  margin-top: 8px;
  transform: rotate(45deg)
}

.root .title_block .tb_image_wrap {
  flex: 0 0 380px;
  position: relative
}

.root .title_block .tb_image_wrap::before {
  content: '';
  position: absolute;
  inset: -8px;
  border: 1px solid #fd654d59;
  border-radius: 22px;
  pointer-events: none;
  z-index: 2
}

.root .title_block .tb_image_wrap::after {
  content: '';
  position: absolute;
  inset: -16px;
  border: 1px solid #fd654d26;
  border-radius: 38px;
  pointer-events: none;
  z-index: 2
}

.root .title_block .tb_image_wrap img {
  width: 380px;
  height: 420px;
  object-fit: cover;
  display: block;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
  border-radius: 10px;
  box-shadow: 0 12px 40px 0 #3d225621
}

.root .team_block {
  padding: 80px 20px;
  background-color: #EFEFEF;
  animation: bg_oscillate 7s ease-in-out infinite alternate
}

@keyframes bg_oscillate {
  0% {
    background-color: #EFEFEF
  }

  100% {
    background-color: #e8e4f0
  }
}

.root .team_block .team_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.root .team_block .team_left {
  flex: 0 0 420px;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.root .team_block .team_label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .2em;
  color: #FD654D;
  text-transform: uppercase
}

.root .team_block .team_heading {
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3D2256;
  margin: 0;
  font-weight: 800
}

.root .team_block .team_caption_line {
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #3D2256, #3d225626)
}

.root .team_block .team_desc {
  font-size: 16px;
  line-height: 1.6;
  color: #2a1a3a;
  margin: 0
}

.root .team_block .team_image_wrap {
  position: relative;
  margin-top: 8px
}

.root .team_block .team_image_wrap::before {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid #3d225640;
  border-radius: 22px;
  pointer-events: none
}

.root .team_block .team_image_wrap::after {
  content: '';
  position: absolute;
  inset: -14px;
  border: 1px solid #3d22561a;
  border-radius: 38px;
  pointer-events: none
}

.root .team_block .team_image_wrap img {
  width: 380px;
  height: 300px;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  box-shadow: 0 5px 22px 0 #3d22561c
}

.root .team_block .team_right {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.root .team_block .team_member {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 1px 2px 0 #3d225614;
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.root .team_block .team_member:hover {
  box-shadow: 0 12px 40px 0 #3d225621;
  transform: translateY(-2px)
}

.root .team_block .team_member .member_icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3D2256, #FD654D);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  font-size: 16px
}

.root .team_block .team_member .member_info {
  flex: 1 1 0
}

.root .team_block .team_member .member_name {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #3D2256;
  margin: 0 0 4px
}

.root .team_block .team_member .member_role {
  font-size: 14px;
  line-height: 1.35;
  color: #FD654D;
  margin: 0 0 8px
}

.root .team_block .team_member .member_bio {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3a5a;
  margin: 0
}

.root .practical_block {
  padding: 80px 20px;
  background-color: #3D2256;
  position: relative
}

.root .practical_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #FD654D, transparent);
  pointer-events: none
}

.root .practical_block .practical_divider {
  position: absolute;
  top: 3px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #fd654d4d, transparent);
  pointer-events: none
}

.root .practical_block .practical_inner {
  max-width: 1280px;
  margin: 0 auto
}

.root .practical_block .practical_top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px
}

.root .practical_block .practical_label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .2em;
  color: #FD654D;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.root .practical_block .practical_heading {
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #ffffffe6;
  margin: 0 0 8px;
  font-weight: 800
}

.root .practical_block .practical_caption_line {
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #FD654D, #fd654d33)
}

.root .practical_block .practical_sub {
  font-size: 16px;
  line-height: 1.6;
  color: #ffffffb8;
  max-width: 420px;
  margin: 0
}

.root .practical_block .practical_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.root .practical_block .practical_card {
  background: #ffffff0f;
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  padding: 20px;
  transition: background .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.root .practical_block .practical_card:hover {
  background: #fd654d1f;
  border-color: #fd654d59
}

.root .practical_block .practical_card .card_number {
  font-size: 66px;
  line-height: 1.1;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px #fd654d66;
  display: block;
  margin-bottom: 8px;
  letter-spacing: -.04em
}

.root .practical_block .practical_card .card_title {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px
}

.root .practical_block .practical_card .card_text {
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffad;
  margin: 0
}

.root .practical_block .practical_image_row {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 40px;
  align-items: stretch
}

.root .practical_block .practical_image_row .pimg_wrap {
  flex: 0 0 320px;
  position: relative
}

.root .practical_block .practical_image_row .pimg_wrap::before {
  content: '';
  position: absolute;
  inset: -5px;
  border: 1px solid #fd654d4d;
  border-radius: 22px;
  pointer-events: none;
  z-index: 1
}

.root .practical_block .practical_image_row .pimg_wrap::after {
  content: '';
  position: absolute;
  inset: -12px;
  border: 1px solid #fd654d1f;
  border-radius: 38px;
  pointer-events: none;
  z-index: 1
}

.root .practical_block .practical_image_row .pimg_wrap img {
  width: 320px;
  height: 240px;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  box-shadow: 0 12px 40px 0 #3d225621
}

.root .practical_block .practical_image_row .pimg_text {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center
}

.root .practical_block .practical_image_row .pimg_text .pimg_item {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start
}

.root .practical_block .practical_image_row .pimg_text .pimg_item .pitem_icon {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 1px solid #fd654d80;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #FD654D;
  font-size: 16px
}

.root .practical_block .practical_image_row .pimg_text .pimg_item .pitem_body {
  flex: 1 1 0
}

.root .practical_block .practical_image_row .pimg_text .pimg_item .pitem_body strong {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  color: #fff;
  margin-bottom: 4px;
  font-weight: 700
}

.root .practical_block .practical_image_row .pimg_text .pimg_item .pitem_body span {
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffa6
}

.root .longterm_block {
  padding: 80px 20px;
  background-color: #fff;
  position: relative
}

.root .longterm_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #EFEFEF, transparent);
  pointer-events: none
}

.root .longterm_block::after {
  content: '';
  position: absolute;
  top: 6px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #3d22561f, transparent);
  pointer-events: none
}

.root .longterm_block .longterm_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.root .longterm_block .lt_left {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.root .longterm_block .lt_label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .2em;
  color: #FD654D;
  text-transform: uppercase
}

.root .longterm_block .lt_heading {
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3D2256;
  margin: 0;
  font-weight: 800
}

.root .longterm_block .lt_caption_line {
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #FD654D, #fd654d26)
}

.root .longterm_block .lt_text {
  font-size: 16px;
  line-height: 1.6;
  color: #2a1a3a;
  margin: 0
}

.root .longterm_block .lt_image_wrap {
  position: relative;
  margin-top: 8px
}

.root .longterm_block .lt_image_wrap::before {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid #3d225633;
  border-radius: 22px;
  pointer-events: none
}

.root .longterm_block .lt_image_wrap::after {
  content: '';
  position: absolute;
  inset: -14px;
  border: 1px solid #3d225614;
  border-radius: 38px;
  pointer-events: none
}

.root .longterm_block .lt_image_wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  box-shadow: 0 5px 22px 0 #3d22561c
}

.root .longterm_block .lt_right {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.root .longterm_block .lt_row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  border-radius: 10px;
  background: #EFEFEF;
  transition: background .6s ease-in-out, box-shadow .6s ease-in-out
}

.root .longterm_block .lt_row:hover {
  background: #f5f0fa;
  box-shadow: 0 5px 22px 0 #3d22561c
}

.root .longterm_block .lt_row .row_heading {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #3D2256;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.root .longterm_block .lt_row .row_heading i {
  color: #FD654D;
  font-size: 16px
}

.root .longterm_block .lt_row .row_text {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3a5a;
  margin: 0
}

@media (max-width: 1024px) {
  .root .title_block .tb_inner {
    flex-direction: column;
    gap: 40px
  }

  .root .title_block .tb_image_wrap {
    flex: 0 0 auto
  }

  .root .title_block .tb_image_wrap img {
    width: 100%;
    height: 300px
  }

  .root .title_block .tb_heading {
    font-size: 40px
  }

  .root .team_block .team_inner {
    flex-direction: column;
    gap: 40px
  }

  .root .team_block .team_left {
    flex: 0 0 auto
  }

  .root .team_block .team_image_wrap img {
    width: 100%
  }

  .root .practical_block .practical_grid {
    grid-template-columns: 1fr 1fr
  }

  .root .practical_block .practical_image_row {
    flex-direction: column
  }

  .root .practical_block .practical_image_row .pimg_wrap img {
    width: 100%
  }

  .root .practical_block .practical_top {
    flex-direction: column;
    align-items: flex-start
  }

  .root .longterm_block .longterm_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

@media (max-width: 640px) {
  .root .title_block {
    padding: 40px 20px
  }

  .root .title_block .tb_heading {
    font-size: 26px
  }

  .root .practical_block .practical_grid {
    grid-template-columns: 1fr
  }

  .root .team_block,
  .root .practical_block,
  .root .longterm_block {
    padding: 40px 20px
  }
}

.about-us {
  overflow-x: clip;
  position: relative
}

.about-us .framed-block {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.about-us .image-frame {
  position: relative;
  border-radius: 22px;
  overflow: hidden
}

.about-us .image-frame::before {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid #3d22562e;
  border-radius: 22px;
  z-index: 1;
  pointer-events: none
}

.about-us .image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #fd654d38 0%, #3d225661 100%);
  border-radius: 22px;
  z-index: 2;
  pointer-events: none
}

.about-us .image-frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
  transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us .image-frame:hover img {
  transform: scale(1.04)
}

.about-us .deco-corner {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 80px;
  height: 80px;
  border-top: 1px solid #FD654D;
  border-left: 1px solid #FD654D;
  border-radius: 10px 1px 1px 1px;
  z-index: 3;
  pointer-events: none
}

.about-us .deco-corner-br {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-bottom: 1px solid #3D2256;
  border-right: 1px solid #3D2256;
  border-radius: 1px 1px 10px 1px;
  z-index: 3;
  pointer-events: none
}

.about-us .text-side {
  position: relative;
  padding: 40px 0
}

.about-us .quote-mark {
  position: absolute;
  top: 0;
  left: -20px;
  font-size: 160px;
  line-height: 1.1;
  color: #3d225612;
  pointer-events: none;
  user-select: none;
  font-weight: 700;
  letter-spacing: -4px
}

.about-us .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #FD654D;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px
}

.about-us .eyebrow-line {
  width: 28px;
  height: 1px;
  background: #FD654D;
  display: inline-block
}

.about-us .main-heading {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3D2256;
  margin: 0 0 20px;
  font-weight: 800
}

.about-us .sub-heading {
  font-size: 26px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 600;
  margin: 0 0 20px
}

.about-us .lead-text {
  font-size: 16px;
  line-height: 1.8;
  color: #2a1a3a;
  margin: 0 0 20px
}

.about-us .action-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.6;
  color: #3D2256;
  text-decoration: none;
  border: 1px solid #3D2256;
  padding: 8px 20px;
  border-radius: 6px;
  margin-top: 20px;
  transition: background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: transparent
}

.about-us .action-link:hover {
  background: #3D2256;
  color: #fff
}

.about-us .action-link:focus-visible {
  outline: 2px solid #FD654D;
  outline-offset: 4px
}

.about-us .divider-diamond {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 8px 0
}

.about-us .divider-diamond .line-seg {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, #3d22562e)
}

.about-us .divider-diamond .line-seg.right {
  background: linear-gradient(90deg, #3d22562e, transparent)
}

.about-us .diamond-shape {
  width: 10px;
  height: 10px;
  background: #FD654D;
  transform: rotate(45deg);
  border-radius: 1px;
  flex-shrink: 0
}

.about-us .team-block {
  background: linear-gradient(135deg, #3D2256 0%, #5a3070 60%, #3D2256 100%);
  position: relative
}

.about-us .team-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(200deg, #fd654d1f 0%, transparent 55%, #fd654d14 100%);
  pointer-events: none
}

.about-us .geo-motif {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  pointer-events: none;
  overflow: hidden
}

.about-us .geo-dot {
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #fd654d59;
  transform: rotate(45deg);
  flex-shrink: 0
}

.about-us .team-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  position: relative;
  z-index: 1
}

.about-us .team-top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 80px
}

.about-us .team-label {
  font-size: 14px;
  line-height: 1.6;
  color: #fd654de6;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 20px
}

.about-us .team-heading {
  font-size: 26px;
  line-height: 1.35;
  color: transparent;
  -webkit-text-stroke: 1px #ffffffd9;
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0
}

.about-us .team-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #efefefe0;
  margin: 0 0 20px
}

.about-us .team-desc-small {
  font-size: 14px;
  line-height: 1.6;
  color: #efefefad;
  margin: 0
}

.about-us .persons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.about-us .person-card {
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 22px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 1px 2px 0 #3d225614
}

.about-us .person-card:hover {
  background: #ffffff1c;
  box-shadow: 0 5px 22px 0 #3d22561c
}

.about-us .person-img-wrap {
  width: 64px;
  height: 64px;
  border-radius: 38px;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid #fd654d4d
}

.about-us .person-img-wrap img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us .person-card:hover .person-img-wrap img {
  transform: scale(1.08)
}

.about-us .person-name {
  font-size: 16px;
  line-height: 1.35;
  color: #fff;
  font-weight: 600;
  margin: 0
}

.about-us .person-role {
  font-size: 14px;
  line-height: 1.6;
  color: #FD654D;
  margin: 0
}

.about-us .person-bio {
  font-size: 14px;
  line-height: 1.6;
  color: #efefefb8;
  margin: 0
}

.about-us .metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #ffffff1a
}

.about-us .metric-item {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.about-us .metric-num {
  font-size: 26px;
  line-height: 1.1;
  color: #FD654D;
  font-weight: 700;
  letter-spacing: -.02em
}

.about-us .metric-label {
  font-size: 14px;
  line-height: 1.6;
  color: #efefefad
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }

  60% {
    opacity: 1;
    transform: translateY(-6px)
  }

  80% {
    transform: translateY(3px)
  }

  100% {
    transform: translateY(0)
  }
}

.about-us .framed-block .image-frame {
  animation: bounceIn .85s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.about-us .framed-block .text-side {
  animation: bounceIn .85s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

@media (max-width: 900px) {
  .about-us .framed-block {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 20px
  }

  .about-us .main-heading {
    font-size: 26px
  }

  .about-us .team-top {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px
  }

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

  .about-us .metrics-row {
    grid-template-columns: repeat(2, 1fr)
  }

  .about-us .team-inner {
    padding: 40px 20px
  }

  .about-us .quote-mark {
    font-size: 80px;
    left: 0
  }
}

@media (max-width: 600px) {
  .about-us .metrics-row {
    grid-template-columns: 1fr 1fr
  }

  .about-us .image-frame img {
    height: 280px
  }
}

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

.contact-us .reach {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.contact-us .reach_image_col {
  position: relative
}

.contact-us .reach_bracket {
  position: absolute;
  width: 28px;
  height: 28px;
  border-color: #FD654D;
  border-style: solid;
  z-index: 1
}

.contact-us .reach_bracket.tl {
  top: -8px;
  left: -8px;
  border-width: 2px 0 0 2px
}

.contact-us .reach_bracket.br {
  bottom: -8px;
  right: -8px;
  border-width: 0 2px 2px 0
}

.contact-us .reach_img_wrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 40px 0 #3d225621;
  animation: sharpen .75s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes sharpen {
  from {
    filter: blur(8px);
    opacity: 0
  }

  to {
    filter: blur(0);
    opacity: 1
  }
}

.contact-us .reach_img_wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block
}

.contact-us .reach_text {
  padding-top: 20px
}

.contact-us .reach_label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #FD654D;
  margin-bottom: 20px;
  display: block
}

.contact-us .reach_heading {
  font-size: 66px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3D2256;
  margin: 0 0 20px
}

.contact-us .reach_sub {
  font-size: 16px;
  line-height: 1.6;
  color: #3D2256;
  margin: 0 0 40px
}

.contact-us .reach_details {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.contact-us .reach_details li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.contact-us .reach_details li i {
  color: #FD654D;
  font-size: 16px;
  margin-top: 4px;
  flex-shrink: 0
}

.contact-us .reach_details li span {
  font-size: 14px;
  line-height: 1.6;
  color: #3D2256
}

.contact-us .reach_details li a {
  color: #3D2256;
  text-decoration: none;
  transition: font-size .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us .reach_details li a:hover {
  font-size: 15px;
  color: #FD654D
}

.contact-us .reach_press {
  margin-top: 40px;
  padding: 20px;
  border: 1.5px dashed #FD654D;
  border-radius: 10px;
  background: #EFEFEF
}

.contact-us .reach_press p {
  font-size: 14px;
  line-height: 1.6;
  color: #3D2256;
  margin: 0
}

.contact-us .reach_press a {
  color: #FD654D;
  text-decoration: none;
  font-size: 14px;
  transition: font-size .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us .reach_press a:hover {
  font-size: 15px
}

.contact-us .form_strip {
  background: linear-gradient(160deg, #3D2256 0%, #5a3478 60%, #3D2256 100%);
  position: relative
}

.contact-us .form_strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(200deg, #fd654d1f 0%, transparent 55%);
  pointer-events: none
}

.contact-us .form_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
  position: relative
}

.contact-us .form_aside {
  padding-top: 8px
}

.contact-us .form_aside_heading {
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1px #FD654D;
  margin: 0 0 20px
}

.contact-us .form_aside_text {
  font-size: 14px;
  line-height: 1.8;
  color: #efefefd9;
  margin: 0 0 40px
}

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

.contact-us .form_checks li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #EFEFEF
}

.contact-us .form_checks li i {
  color: #FD654D;
  font-size: 14px;
  flex-shrink: 0
}

.contact-us .form_box {
  background: #fff;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 12px 40px 0 #3d225621
}

.contact-us .form_row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px
}

.contact-us .form_row label {
  font-size: 14px;
  line-height: 1.35;
  color: #3D2256;
  font-weight: 600;
  letter-spacing: .04em
}

.contact-us .form_row input[type="email"],
.contact-us .form_row select,
.contact-us .form_row textarea {
  width: 100%;
  padding: 8px 20px;
  border: 1.5px solid #EFEFEF;
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.6;
  color: #3D2256;
  background: #fff;
  outline: none;
  transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-sizing: border-box
}

.contact-us .form_row input[type="email"]::placeholder,
.contact-us .form_row textarea::placeholder {
  color: #b0a0bf;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap
}

.contact-us .form_row input[type="email"]:focus,
.contact-us .form_row select:focus,
.contact-us .form_row textarea:focus {
  border-color: #FD654D;
  box-shadow: 0 5px 22px 0 #fd654d1c
}

.contact-us .form_row select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233D2256' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  cursor: pointer
}

.contact-us .form_row textarea {
  resize: vertical;
  min-height: 100px
}

.contact-us .form_privacy {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 20px
}

.contact-us .form_privacy input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 4px;
  accent-color: #FD654D;
  flex-shrink: 0;
  cursor: pointer
}

.contact-us .form_privacy_text {
  font-size: 14px;
  line-height: 1.6;
  color: #3D2256
}

.contact-us .form_privacy_text a {
  color: #FD654D;
  text-decoration: none;
  transition: font-size .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us .form_privacy_text a:hover {
  font-size: 15px
}

.contact-us .form_submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 40px;
  border: 2px solid #3D2256;
  border-radius: 6px;
  background: transparent;
  color: #3D2256;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us .form_submit:hover {
  background: #3D2256;
  color: #fff
}

.contact-us .form_submit:focus {
  outline: 3px solid #FD654D;
  outline-offset: 2px
}

.contact-us .divider_dashed {
  border: none;
  border-top: 2px dashed #FD654D;
  margin: 0;
  opacity: .35
}

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

  .contact-us .reach_heading {
    font-size: 40px
  }

  .contact-us .form_inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 20px
  }

  .contact-us .form_box {
    padding: 20px
  }
}

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

.success_page .card {
  background: #fff;
  border-radius: 22px;
  padding: 80px 40px;
  max-width: 560px;
  width: 100%;
  text-align: center;
  box-shadow: 0 5px 22px 0 #3d22561c 0 12px 40px 0 #3d225621
}

.success_page .card .icon_wrap {
  width: 72px;
  height: 72px;
  border-radius: 38px;
  background: linear-gradient(135deg, #3D2256 0%, #FD654D 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  box-shadow: 0 5px 22px 0 #fd654d1c
}

.success_page .card .icon_wrap svg {
  width: 36px;
  height: 36px
}

.success_page .card .heading {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: #3D2256;
  margin: 0 0 20px
}

.success_page .card .message {
  font-size: 16px;
  line-height: 1.6;
  color: #3D2256;
  opacity: .75;
  margin: 0 0 40px
}

.success_page .card .divider {
  width: 48px;
  height: 3px;
  border-radius: 1px;
  background: linear-gradient(90deg, #3D2256 0%, #FD654D 100%);
  margin: 0 auto 40px
}

.success_page .card .detail {
  font-size: 14px;
  line-height: 1.8;
  color: #3D2256;
  opacity: .6;
  margin: 0 0 40px
}

.success_page .card .action_link {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  color: #FD654D;
  text-decoration: none;
  border: 2px solid #FD654D;
  border-radius: 10px;
  padding: 20px 40px;
  transition: background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success_page .card .action_link:hover {
  background-color: #FD654D;
  color: #fff
}

.success_page .card .action_link:focus {
  outline: 3px solid #3D2256;
  outline-offset: 4px
}

@media (max-width: 600px) {
  .success_page {
    padding: 40px 20px
  }

  .success_page .card {
    padding: 40px 20px
  }
}