@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700-italic.css";

* {
  box-sizing: border-box
}

body {
  margin: 0;
  scrollbar-gutter: stable;
  min-height: 100vh;
  font-family: 'Nunito', sans-serif
}

.util_bar {
  background: linear-gradient(90deg, #972798 0%, #BD5FC2 100%);
  padding: 8px 20px
}

.util_bar_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap
}

.util_contacts {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.util_contact_lnk {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.2;
  transition: color .2s ease-in-out
}

.util_contact_lnk:focus {
  outline: none;
  border-bottom: 4px solid #fff
}

.util_contact_lnk:hover {
  color: #E0B2E1
}

.util_contact_lnk svg {
  flex-shrink: 0
}

.util_label {
  font-size: 16px;
  color: #ffffffd1;
  letter-spacing: .04em
}

.util_badge {
  background: #ffffff26;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 16px;
  color: #fff;
  line-height: 1.2
}

.hd_nav_row {
  background: #fff;
  border-bottom: 1px solid #E0B2E1;
  box-shadow: 0 4px 25px 0 #9727981c;
  padding: 0 20px
}

.hd_nav_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 40px;
  min-height: 80px
}

.logo_zone {
  display: flex;
  align-items: center;
  gap: 8px;
  border-left: 3px solid #972798;
  padding-left: 20px;
  text-decoration: none
}

.logo_img_box {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  box-shadow: 0 2px 4px 0 #9727980f 0 4px 25px 0 #9727981c;
  background: #fff;
  padding: 4px
}

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

.brand_nm {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: #972798;
  letter-spacing: .02em
}

.brand_yr {
  font-size: 16px;
  color: #BD5FC2;
  line-height: 1.2;
  display: block;
  font-weight: 400
}

.main_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap
}

.nav_lnk {
  font-size: 16px;
  font-weight: 700;
  color: #3a1a3b;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 3px;
  line-height: 1.2;
  transition: color .25s ease-in-out, padding .2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center
}

.nav_lnk:hover {
  color: #972798
}

.nav_lnk:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.nav_lnk.active {
  color: #972798
}

.hd_act_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #972798;
  text-decoration: none;
  border: 2px solid #972798;
  border-radius: 20px;
  padding: 8px 20px;
  min-height: 44px;
  white-space: nowrap;
  transition: color .2s ease-in-out, padding .25s cubic-bezier(0.4, 0, 0.2, 1), background .2s ease-in-out;
  background: transparent
}

.hd_act_btn:hover {
  color: #fff;
  background: #972798;
  padding-left: 28px;
  padding-right: 28px
}

.hd_act_btn:focus {
  outline: none;
  border-bottom: 4px solid #3a1a3b
}

@media (max-width: 1200px) {
  .hd_nav_inner {
    grid-template-columns: auto 1fr auto;
    gap: 20px
  }

  .nav_lnk {
    padding: 8px 12px
  }
}

@media (max-width: 900px) {
  .hd_nav_inner {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: auto;
    padding: 20px 0;
    gap: 20px
  }

  .logo_zone {
    justify-content: center
  }

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

  .hd_act_btn {
    width: auto
  }
}

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

  .util_contacts {
    gap: 8px;
    flex-direction: column;
    align-items: flex-start
  }

  .nav_lnk {
    font-size: 16px;
    padding: 8px
  }

  .brand_nm {
    font-size: 16px
  }
}

.ft_root {
  background: linear-gradient(160deg, #f7edf7 0%, #fff 60%);
  padding: 80px 20px 0;
  border-top: 2px solid #E0B2E1
}

.ft_top {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 80px
}

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

.ft_logo_zone {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none
}

.ft_logo_box {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 2px 4px 0 #9727980f 0 4px 25px 0 #9727981c;
  padding: 4px;
  flex-shrink: 0
}

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

.ft_brand_txt {
  font-size: 18px;
  font-weight: 700;
  color: #972798;
  line-height: 1.2
}

.ft_tagline {
  font-size: 16px;
  color: #5a3a5b;
  line-height: 1.8;
  max-width: 280px
}

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

.ft_addr_line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: #5a3a5b;
  line-height: 1.8
}

.ft_addr_line svg {
  flex-shrink: 0;
  margin-top: 4px
}

.ft_contact_lnk {
  color: #5a3a5b;
  text-decoration: none;
  transition: color .2s ease-in-out
}

.ft_contact_lnk:hover {
  color: #972798
}

.ft_contact_lnk:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.ft_col_head {
  font-size: 16px;
  font-weight: 700;
  color: #972798;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 20px
}

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

.ft_col_lnks li a {
  font-size: 16px;
  color: #5a3a5b;
  text-decoration: none;
  line-height: 1.8;
  transition: color .2s ease-in-out, padding .2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
  min-height: 44px;
  display: flex;
  align-items: center
}

.ft_col_lnks li a:hover {
  color: #972798;
  padding-left: 8px
}

.ft_col_lnks li a:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.ft_divider {
  max-width: 1320px;
  margin: 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, #E0B2E1, transparent)
}

.ft_legal_zone {
  background: #9727980a;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 20px 20px 0 0;
  margin: 0 auto;
  max-width: 1320px;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px
}

.ft_copy {
  font-size: 16px;
  color: #5a3a5b;
  line-height: 1.2
}

.ft_legal_lnks {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.ft_legal_lnk {
  font-size: 16px;
  color: #972798;
  text-decoration: none;
  transition: color .2s ease-in-out;
  line-height: 1.2;
  min-height: 44px;
  display: flex;
  align-items: center
}

.ft_legal_lnk:hover {
  color: #BD5FC2
}

.ft_legal_lnk:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.ft_bottom_pad {
  height: 20px;
  background: #fff
}

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

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

@media (max-width: 600px) {
  .ft_top {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-bottom: 40px
  }

  .ft_legal_zone {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    border-radius: 20px 20px 0 0
  }

  .ft_root {
    padding-top: 40px
  }
}

.ck_wrap {
  position: fixed;
  top: 20px;
  left: 0;
  right: 0;
  margin: auto;
  width: 560px;
  max-width: calc(100vw - 40px);
  z-index: 2000;
  display: none
}

.ck_card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 12px 44px 0 #9727981a 0 4px 25px 0 #9727981c;
  padding: 40px;
  border-top: 3px solid #972798
}

.ck_hdl {
  font-size: 18px;
  font-weight: 700;
  color: #3a1a3b;
  line-height: 1.2;
  margin: 0 0 8px
}

.ck_desc {
  font-size: 16px;
  color: #5a3a5b;
  line-height: 1.8;
  margin: 0 0 20px
}

.ck_btns {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.ck_btn_acc {
  font-size: 16px;
  font-weight: 700;
  color: #972798;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  transition: color .2s ease-in-out;
  min-height: 44px
}

.ck_btn_acc:hover {
  color: #BD5FC2
}

.ck_btn_acc:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.ck_btn_dec {
  font-size: 16px;
  color: #5a3a5b;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  transition: color .2s ease-in-out;
  min-height: 44px
}

.ck_btn_dec:hover {
  color: #972798
}

.ck_btn_dec:focus {
  outline: none;
  border-bottom: 4px solid #972798
}

.ck_mini {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 2000;
  display: none
}

.ck_mini_btn {
  background: #972798;
  color: #fff;
  border: none;
  border-radius: 32px;
  font-size: 16px;
  font-weight: 700;
  padding: 8px 20px;
  cursor: pointer;
  box-shadow: 0 4px 25px 0 #9727981c;
  min-height: 44px;
  transition: background .2s ease-in-out, color .2s ease-in-out;
  font-family: 'Nunito', sans-serif
}

.ck_mini_btn:hover {
  background: #BD5FC2
}

.ck_mini_btn:focus {
  outline: none;
  border-bottom: 4px solid #3a1a3b
}

.ioyn-info-legal {
  max-width: 1320px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a1a2e
}

.ioyn-info-legal h1 {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 700;
  color: #972798;
  margin-bottom: 40px;
  margin-top: 0;
  letter-spacing: -.5px
}

.ioyn-info-legal h2 {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 700;
  color: #2a1a2e;
  margin-top: 80px;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 2px solid #E0B2E1
}

.ioyn-info-legal h3 {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 700;
  color: #972798;
  margin-top: 40px;
  margin-bottom: 8px;
  letter-spacing: .02em
}

.ioyn-info-legal h4 {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 600;
  color: #3d1a3e;
  margin-top: 20px;
  margin-bottom: 8px
}

.ioyn-info-legal h5 {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 600;
  color: #3d1a3e;
  margin-top: 20px;
  margin-bottom: 4px;
  letter-spacing: .04em;
  text-transform: uppercase
}

.ioyn-info-legal h6 {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 600;
  color: #BD5FC2;
  margin-top: 20px;
  margin-bottom: 4px
}

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

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

.ioyn-info-legal ul {
  list-style: none;
  padding-left: 20px
}

.ioyn-info-legal ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px
}

.ioyn-info-legal ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #BD5FC2
}

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

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

.ioyn-info-legal ol li::marker {
  color: #972798;
  font-weight: 700
}

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

.ioyn-info-legal ul ul li::before {
  background-color: transparent;
  border: 1.5px solid #BD5FC2;
  width: 5px;
  height: 5px;
  top: 12px
}

.ioyn-info-legal strong,
.ioyn-info-legal b {
  font-weight: 700;
  color: #2a1a2e
}

.ioyn-info-legal a {
  color: #972798;
  text-decoration: underline;
  text-decoration-color: #E0B2E1;
  text-underline-offset: 3px;
  transition: color .25s ease-in-out, text-decoration-color .2s ease-in-out
}

.ioyn-info-legal a:hover {
  color: #BD5FC2;
  text-decoration-color: #BD5FC2
}

.ioyn-info-legal a:visited {
  color: #7a1f7b;
  text-decoration-color: #E0B2E1
}

.ioyn-info-legal table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.8;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 2px 4px 0 #9727980f
}

.ioyn-info-legal thead {
  background-color: #972798
}

.ioyn-info-legal thead th {
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 20px;
  text-align: left;
  letter-spacing: .04em
}

.ioyn-info-legal tbody tr {
  border-bottom: 1px solid #E0B2E1;
  transition: background-color .2s ease-in-out
}

.ioyn-info-legal tbody tr:nth-child(even) {
  background-color: #e0b2e11a
}

.ioyn-info-legal tbody tr:hover {
  background-color: #bd5fc212
}

.ioyn-info-legal td {
  padding: 20px;
  color: #2a1a2e;
  vertical-align: top
}

.ioyn-info-legal th {
  padding: 20px;
  text-align: left
}

.ioyn-info-legal hr {
  border: none;
  border-top: 1px solid #E0B2E1;
  margin-top: 40px;
  margin-bottom: 40px;
  opacity: .7
}

.ioyn-info-legal div {
  margin-bottom: 20px
}

@media (max-width: 900px) {
  .ioyn-info-legal {
    padding: 80px 20px
  }

  .ioyn-info-legal h1 {
    font-size: 52px
  }

  .ioyn-info-legal h2 {
    margin-top: 40px
  }

  .ioyn-info-legal table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }
}

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

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

  .ioyn-info-legal h2 {
    font-size: 18px;
    margin-top: 40px
  }

  .ioyn-info-legal h3 {
    font-size: 16px
  }

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

  .ioyn-info-legal ul {
    padding-left: 8px
  }

  .ioyn-info-legal thead th,
  .ioyn-info-legal td {
    padding: 8px;
    font-size: 16px
  }

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

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

.dgst_det .pg_band {
  position: relative;
  padding: 40px 0;
  background: linear-gradient(120deg, #972798 0%, #BD5FC2 50%, #E0B2E1 100%);
  background-size: 300% 300%;
  animation: grad_shift 8s ease-in-out infinite;
  overflow: hidden
}

@keyframes grad_shift {
  0% {
    background-position: 0 50%
  }

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

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

.dgst_det .pg_band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, #ffffff0a 0px, #ffffff0a 1px, transparent 1px, transparent 18px);
  animation: stripe_drift 14s linear infinite;
  pointer-events: none
}

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

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

.dgst_det .pg_band::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 48px;
  background: #fff;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  pointer-events: none
}

.dgst_det .band_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px
}

.dgst_det .band_txt {
  flex: 3;
  position: relative;
  z-index: 1
}

.dgst_det .band_deco {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  position: relative;
  z-index: 1
}

.dgst_det .deco_shape_a {
  width: 80px;
  height: 80px;
  border: 3px solid #ffffff40;
  border-radius: 32px;
  position: relative
}

.dgst_det .deco_shape_a::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px solid #ffffff26;
  border-radius: 20px
}

.dgst_det .deco_shape_b {
  width: 48px;
  height: 48px;
  background: #ffffff1f;
  border-radius: 20px;
  border: 2px solid #fff3
}

.dgst_det .cat_tag {
  display: inline-block;
  padding: 4px 20px;
  background: #ffffff2e;
  border: 1px solid #ffffff59;
  border-radius: 3px;
  color: #fff;
  font-size: 16px;
  letter-spacing: .08em;
  margin-bottom: 20px
}

.dgst_det .art_title {
  font-size: 52px;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 2px 18px #97279838;
  margin: 0 0 20px;
  font-weight: 700
}

.dgst_det .band_meta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center
}

.dgst_det .meta_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  color: #ffffffe0;
  font-size: 16px
}

.dgst_det .meta_icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.dgst_det .art_body_wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.dgst_det .art_main {
  flex: 3;
  min-width: 0
}

.dgst_det .art_aside {
  flex: 1;
  min-width: 0
}

.dgst_det .art_img_wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 40px;
  box-shadow: 0 4px 25px 0 #9727981c
}

.dgst_det .art_img_wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
  filter: blur(0);
  transition: filter .25s ease-in-out
}

.dgst_det .art_img_wrap img[data-loading] {
  filter: blur(8px)
}

.dgst_det .img_diag_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #97279861 0%, transparent 60%);
  border-radius: 20px;
  pointer-events: none
}

.dgst_det .art_text {
  font-size: 18px;
  line-height: 1.8;
  color: #2d1a2e
}

.dgst_det .art_text p:first-child {
  font-size: 18px;
  line-height: 1.8;
  color: #1e0f1f;
  font-weight: 500
}

.dgst_det .art_text p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2040;
  margin-bottom: 20px
}

.dgst_det .art_text h2 {
  font-size: 27px;
  line-height: 1.2;
  color: #972798;
  text-shadow: 0 2px 4px #9727980f;
  margin: 40px 0 20px
}

.dgst_det .art_text h3 {
  font-size: 18px;
  line-height: 1.2;
  color: #7a1f7b;
  text-shadow: 0 2px 4px #9727980f;
  margin: 20px 0 8px;
  font-weight: 600
}

.dgst_det .art_text strong {
  color: #972798;
  font-weight: 700
}

.dgst_det .art_text ol {
  padding-left: 20px;
  margin-bottom: 20px;
  list-style: decimal
}

.dgst_det .art_text ol li {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2040;
  margin-bottom: 8px;
  padding-left: 8px
}

.dgst_det .art_text blockquote {
  margin: 40px 0;
  padding: 20px 40px;
  background: #9727980d;
  border-top: 3px solid #972798;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1.8;
  color: #5a1f5b;
  font-style: italic
}

.dgst_det .art_text time {
  display: inline-block;
  font-size: 16px;
  color: #BD5FC2;
  letter-spacing: .04em
}

.dgst_det .aside_card {
  background: #9727980a;
  border-radius: 20px;
  padding: 40px 20px;
  margin-bottom: 40px;
  position: relative;
  box-shadow: 0 2px 4px 0 #9727980f
}

.dgst_det .aside_card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  background: #972798;
  border-radius: 3px
}

.dgst_det .aside_label {
  font-size: 16px;
  letter-spacing: .1em;
  color: #972798;
  font-weight: 700;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.dgst_det .aside_label svg {
  flex-shrink: 0
}

.dgst_det .aside_stat {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #9727981a;
  font-size: 16px;
  color: #3a2040
}

.dgst_det .aside_stat:last-child {
  border-bottom: none
}

.dgst_det .aside_stat svg {
  flex-shrink: 0;
  color: #BD5FC2
}

.dgst_det .aside_author_nm {
  font-size: 16px;
  color: #2d1a2e;
  font-weight: 600
}

.dgst_det .progress_block {
  margin-top: 8px
}

.dgst_det .prog_label {
  font-size: 16px;
  color: #5a1f5b;
  margin-bottom: 4px
}

.dgst_det .prog_bar_outer {
  width: 100%;
  height: 6px;
  background: #9727981f;
  border-radius: 3px;
  overflow: hidden
}

.dgst_det .prog_bar_inner {
  height: 6px;
  background: linear-gradient(90deg, #972798, #BD5FC2);
  border-radius: 3px;
  width: 0;
  animation: prog_fill 1.2s cubic-bezier(0.4, 0, 0.2, 1) .4s forwards
}

@keyframes prog_fill {
  to {
    width: var(--prog-w, 70%)
  }
}

.dgst_det .engage_strip {
  position: relative;
  background: #e0b2e12e;
  padding: 80px 0 60px;
  overflow: hidden
}

.dgst_det .engage_strip::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 48px;
  background: #fff;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  pointer-events: none
}

.dgst_det .engage_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: stretch
}

.dgst_det .engage_metrics {
  flex: 2;
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap
}

.dgst_det .metric_card {
  flex: 1;
  min-width: 120px;
  background: #fff;
  border-radius: 20px;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 25px 0 #9727981c;
  position: relative
}

.dgst_det .metric_card.pulse_key {
  animation: accent_pulse 3s ease-in-out infinite
}

@keyframes accent_pulse {

  0%,
  100% {
    box-shadow: 0 4px 25px 0 #9727981c
  }

  50% {
    box-shadow: 0 4px 25px 0 #97279847
  }
}

.dgst_det .metric_num {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 700;
  color: #972798;
  text-shadow: 0 2px 4px #9727980f
}

.dgst_det .metric_lbl {
  font-size: 16px;
  color: #5a1f5b;
  letter-spacing: .06em
}

.dgst_det .engage_cta {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px
}

.dgst_det .cta_heading {
  font-size: 27px;
  line-height: 1.2;
  color: #2d1a2e;
  text-shadow: 0 2px 4px #9727980f;
  margin: 0
}

.dgst_det .cta_desc {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2040;
  margin: 0
}

.dgst_det .btn_ghost {
  display: inline-block;
  padding: 20px 40px;
  border: 2px solid #972798;
  border-radius: 3px;
  color: #972798;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .06em;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  align-self: flex-start;
  transition: color .2s ease-in-out, border-color .2s ease-in-out, padding .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.dgst_det .btn_ghost:hover,
.dgst_det .btn_ghost:focus {
  color: #BD5FC2;
  border-color: #BD5FC2;
  padding: 20px 48px;
  outline: none
}

.dgst_det .btn_ghost:focus-visible {
  outline: 2px solid #972798;
  outline-offset: 3px
}

.dgst_det .contact_row {
  background: #fff;
  padding: 80px 0;
  position: relative
}

.dgst_det .contact_row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #972798, #E0B2E1, #972798)
}

.dgst_det .contact_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.dgst_det .contact_form_col {
  flex: 2
}

.dgst_det .contact_info_col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.dgst_det .form_heading {
  font-size: 27px;
  line-height: 1.2;
  color: #2d1a2e;
  text-shadow: 0 2px 4px #9727980f;
  margin: 0 0 8px
}

.dgst_det .form_sub {
  font-size: 16px;
  line-height: 1.8;
  color: #5a1f5b;
  margin: 0 0 40px
}

.dgst_det .form_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px
}

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

.dgst_det .form_field.full {
  grid-column: 1 / -1
}

.dgst_det .field_lbl {
  font-size: 16px;
  color: #3a2040;
  font-weight: 600
}

.dgst_det .field_inp {
  padding: 20px;
  border: 1.5px solid #97279838;
  border-radius: 3px;
  font-size: 16px;
  color: #2d1a2e;
  background: #e0b2e112;
  outline: none;
  transition: border-color .22s ease-in-out
}

.dgst_det .field_inp::placeholder {
  font-style: italic;
  opacity: .55
}

.dgst_det .field_inp:focus {
  border-color: #972798
}

.dgst_det .field_textarea {
  resize: vertical;
  min-height: 120px
}

.dgst_det .form_submit {
  display: inline-block;
  padding: 20px 40px;
  background: transparent;
  border: 2px solid #972798;
  border-radius: 3px;
  color: #972798;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  transition: color .2s ease-in-out, border-color .2s ease-in-out, padding .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.dgst_det .form_submit:hover,
.dgst_det .form_submit:focus {
  color: #BD5FC2;
  border-color: #BD5FC2;
  padding: 20px 52px;
  outline: none
}

.dgst_det .form_submit:focus-visible {
  outline: 2px solid #972798;
  outline-offset: 3px
}

.dgst_det .info_card {
  background: #9727980a;
  border-radius: 20px;
  padding: 40px 20px;
  box-shadow: 0 2px 4px 0 #9727980f
}

.dgst_det .info_card_ttl {
  font-size: 18px;
  line-height: 1.2;
  color: #972798;
  font-weight: 700;
  margin: 0 0 20px
}

.dgst_det .info_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 20px;
  font-size: 16px;
  color: #3a2040;
  line-height: 1.8
}

.dgst_det .info_row svg {
  margin-top: 3px;
  flex-shrink: 0;
  color: #BD5FC2
}

.dgst_det .info_link {
  color: #972798;
  text-decoration: none;
  transition: color .2s ease-in-out
}

.dgst_det .info_link:hover {
  color: #BD5FC2
}

.dgst_det .dbl_border_deco {
  display: inline-block;
  border: 2px solid #972798;
  border-radius: 3px;
  padding: 4px;
  margin-bottom: 20px
}

.dgst_det .dbl_border_deco span {
  display: block;
  border: 1px solid #97279859;
  border-radius: 3px;
  width: 40px;
  height: 40px;
  background: #97279812
}

@media (max-width: 1200px) {
  .dgst_det .art_body_wrap {
    padding: 80px 20px
  }

  .dgst_det .band_inner,
  .dgst_det .engage_inner,
  .dgst_det .contact_inner {
    padding: 0 20px
  }
}

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

  .dgst_det .art_aside {
    width: 100%
  }

  .dgst_det .band_inner {
    flex-direction: column;
    gap: 20px
  }

  .dgst_det .band_deco {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start
  }

  .dgst_det .art_title {
    font-size: 27px
  }

  .dgst_det .engage_inner {
    flex-direction: column
  }

  .dgst_det .contact_inner {
    flex-direction: column
  }

  .dgst_det .form_grid {
    grid-template-columns: 1fr
  }
}

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

  .dgst_det .art_title {
    font-size: 27px
  }

  .dgst_det .engage_metrics {
    flex-direction: column
  }

  .dgst_det .metric_num {
    font-size: 27px
  }

  .dgst_det .band_inner {
    padding: 0 20px
  }

  .dgst_det .engage_strip {
    padding: 60px 0 40px
  }

  .dgst_det .engage_inner {
    padding: 0 20px
  }

  .dgst_det .contact_inner {
    padding: 0 20px
  }

  .dgst_det .contact_row {
    padding: 40px 0
  }
}

.abt_us {
  position: relative;
  overflow-x: clip
}

.abt_us .pg_schema {
  display: none
}

.abt_us .blk_lead {
  padding: 80px 20px;
  background: linear-gradient(160deg, #f5eaf5 0%, #fff 55%, #ede0ee 100%);
  position: relative
}

.abt_us .blk_lead::before {
  content: '';
  position: absolute;
  top: 40px;
  left: 60px;
  width: 180px;
  height: 180px;
  background: radial-gradient(ellipse at center, #BD5FC2 0%, transparent 70%);
  opacity: .13;
  pointer-events: none
}

.abt_us .blk_lead::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 30px;
  width: 80px;
  height: 80px;
  background: radial-gradient(ellipse at center, #972798 0%, transparent 70%);
  opacity: .1;
  pointer-events: none
}

.abt_us .lead_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: end
}

.abt_us .lead_text {
  position: relative
}

.abt_us .lead_eyebrow {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #972798;
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600
}

.abt_us .lead_eyebrow::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #972798;
  vertical-align: middle;
  margin-right: 8px;
  margin-bottom: 2px
}

.abt_us .lead_h1 {
  font-size: 68px;
  line-height: 1.2;
  color: #1b0a1c;
  margin: 0 0 40px;
  text-shadow: 0 2px 4px #9727980f 0 4px 25px #9727980a
}

.abt_us .lead_h1 strong {
  background: linear-gradient(135deg, #972798 30%, #BD5FC2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.abt_us .lead_stat_row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-top: 40px
}

.abt_us .lead_stat {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt_us .stat_num {
  font-size: 52px;
  line-height: 1.2;
  color: #972798;
  font-weight: 700
}

.abt_us .stat_lbl {
  font-size: 16px;
  color: #4a2a4b;
  line-height: 1.8
}

.abt_us .lead_img_col {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-end
}

.abt_us .lead_img_frame {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4/3;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #9727981c;
  position: relative
}

.abt_us .lead_img_frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: sepia(0.18) contrast(1.06) saturate(0.9);
  transition: filter .25s ease-in-out, transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .lead_img_frame:hover img {
  filter: sepia(0) contrast(1.1) saturate(1.15)
}

.abt_us .lead_img_frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, #9727982e 100%);
  border-radius: 20px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease-in-out
}

.abt_us .lead_img_frame:hover::after {
  opacity: 1
}

.abt_us .dots_deco {
  position: absolute;
  top: -20px;
  right: -20px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  pointer-events: none
}

.abt_us .dot {
  background: #BD5FC2;
  border-radius: 50%;
  opacity: .22
}

.abt_us .dot.lg {
  width: 18px;
  height: 18px
}

.abt_us .dot.md {
  width: 11px;
  height: 11px;
  margin-top: 8px
}

.abt_us .dot.sm {
  width: 7px;
  height: 7px;
  margin-top: 14px
}

.abt_us .blk_team {
  padding: 80px 20px;
  background: #fff;
  position: relative
}

.abt_us .team_divider {
  text-align: center;
  position: relative;
  margin-bottom: 40px
}

.abt_us .team_divider::before {
  content: '';
  display: block;
  height: 1px;
  background: #E0B2E1;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0
}

.abt_us .team_divider span {
  position: relative;
  background: #fff;
  padding: 0 20px;
  font-size: 16px;
  color: #972798;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 600
}

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

.abt_us .team_h2 {
  font-size: 52px;
  line-height: 1.2;
  color: #1b0a1c;
  margin: 0 0 20px;
  text-shadow: 0 2px 4px #9727980f
}

.abt_us .team_intro {
  font-size: 18px;
  line-height: 1.8;
  color: #3a1f3b;
  max-width: 640px;
  margin-bottom: 40px
}

.abt_us .team_grid {
  display: grid;
  grid-template-columns: 2fr 1.2fr 2fr;
  gap: 40px;
  align-items: start
}

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

.abt_us .portrait_wrap {
  width: 100%;
  aspect-ratio: 2/3;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #bd5fc21c;
  position: relative
}

.abt_us .portrait_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .portrait_wrap:hover img {
  transform: scale(1.04)
}

.abt_us .portrait_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #97279826 0%, transparent 60%);
  opacity: 0;
  transition: opacity .25s ease-in-out;
  pointer-events: none;
  border-radius: 32px
}

.abt_us .portrait_wrap:hover::after {
  opacity: 1
}

.abt_us .person_name {
  font-size: 27px;
  line-height: 1.2;
  color: #1b0a1c;
  margin: 0 0 4px;
  text-shadow: 0 2px 4px #9727980f
}

.abt_us .person_role {
  font-size: 16px;
  color: #972798;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-weight: 600
}

.abt_us .person_bio {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1f3b;
  margin: 0
}

.abt_us .team_mid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding-top: 80px
}

.abt_us .pullquote {
  background: linear-gradient(135deg, #f5eaf5 0%, #ede0ee 100%);
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 4px 25px 0 #9727981c;
  position: relative
}

.abt_us .pullquote_mark {
  display: block;
  width: 32px;
  height: 24px;
  margin-bottom: 20px
}

.abt_us .pullquote_mark svg {
  width: 32px;
  height: 24px;
  fill: #BD5FC2
}

.abt_us .pullquote_text {
  font-size: 18px;
  line-height: 1.8;
  color: #1b0a1c;
  font-style: italic;
  margin: 0 0 20px
}

.abt_us .pullquote_attr {
  font-size: 16px;
  color: #972798;
  font-weight: 600;
  letter-spacing: .06em
}

.abt_us .blk_approach {
  padding: 80px 20px;
  background: linear-gradient(170deg, #f0e0f0 0%, #f9f3f9 40%, #fff 100%);
  position: relative
}

.abt_us .approach_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start
}

.abt_us .approach_aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative
}

.abt_us .approach_img_a {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px 0 #9727981a
}

.abt_us .approach_img_a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: sepia(0.12) contrast(1.05) saturate(0.95);
  transition: filter .4s cubic-bezier(0.4, 0, 0.2, 1), transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .approach_img_a:hover img {
  filter: sepia(0) contrast(1.08) saturate(1.1);
  transform: scale(1.03)
}

.abt_us .approach_img_b {
  width: 80%;
  align-self: flex-end;
  aspect-ratio: 4/3;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #bd5fc21c
}

.abt_us .approach_img_b img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: sepia(0.15) contrast(1.04) saturate(0.92);
  transition: filter .35s ease-in-out, transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .approach_img_b:hover img {
  filter: sepia(0) contrast(1.1) saturate(1.12);
  transform: scale(1.04)
}

.abt_us .approach_body {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.abt_us .approach_h2 {
  font-size: 52px;
  line-height: 1.2;
  color: #1b0a1c;
  margin: 0;
  text-shadow: 0 2px 4px #97279812
}

.abt_us .approach_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #2e1530;
  margin: 0
}

.abt_us .approach_body_txt {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1f3b;
  margin: 0
}

.abt_us .approach_steps {
  display: flex;
  flex-direction: column;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: steps
}

.abt_us .approach_steps li {
  counter-increment: steps;
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start
}

.abt_us .step_num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #972798 0%, #BD5FC2 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 25px 0 #9727981c
}

.abt_us .step_body {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt_us .step_ttl {
  font-size: 18px;
  line-height: 1.2;
  color: #1b0a1c;
  font-weight: 700;
  margin: 0
}

.abt_us .step_desc {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1f3b;
  margin: 0
}

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

.abt_us .metric_card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 2px 4px 0 #9727980f;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow .25s ease-in-out, transform .25s ease-in-out
}

.abt_us .metric_card:hover {
  box-shadow: 0 4px 25px 0 #9727981c;
  transform: translateY(-2px)
}

.abt_us .metric_val {
  font-size: 27px;
  line-height: 1.2;
  color: #972798;
  font-weight: 700
}

.abt_us .metric_lbl {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4b
}

.abt_us .approach_cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 3px;
  border: 2px solid #972798;
  color: #972798;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none;
  background: transparent;
  transition: background .2s ease-in-out, color .2s ease-in-out, padding .2s ease-in-out;
  align-self: flex-start
}

.abt_us .approach_cta:hover {
  background: #972798;
  color: #fff;
  padding-left: 48px;
  padding-right: 48px
}

.abt_us .approach_cta svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  transition: transform .2s ease-in-out
}

.abt_us .approach_cta:hover svg {
  transform: translateX(4px)
}

.abt_us .approach_dots {
  position: absolute;
  bottom: 40px;
  left: -20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none
}

@media (max-width: 1200px) {
  .abt_us .lead_inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px
  }

  .abt_us .lead_h1 {
    font-size: 52px
  }

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

  .abt_us .team_mid {
    display: none
  }

  .abt_us .approach_inner {
    grid-template-columns: 1fr 1.4fr;
    gap: 40px
  }
}

@media (max-width: 900px) {
  .abt_us .lead_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt_us .lead_img_col {
    align-items: flex-start
  }

  .abt_us .lead_img_frame {
    max-width: 100%
  }

  .abt_us .lead_h1 {
    font-size: 52px
  }

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

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

  .abt_us .approach_img_b {
    width: 60%
  }

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

@media (max-width: 600px) {

  .abt_us .blk_lead,
  .abt_us .blk_team,
  .abt_us .blk_approach {
    padding: 40px 20px
  }

  .abt_us .lead_h1 {
    font-size: 27px
  }

  .abt_us .team_h2,
  .abt_us .approach_h2 {
    font-size: 27px
  }

  .abt_us .stat_num {
    font-size: 27px
  }

  .abt_us .lead_stat_row {
    gap: 20px
  }

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

  .abt_us .pullquote {
    padding: 20px
  }
}

.prm {
  overflow-x: hidden;
  position: relative
}

.prm .split_scr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px
}

.prm .split_left {
  background: #f5eef5;
  padding: 80px 40px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative
}

.prm .split_right {
  background: #972798;
  padding: 80px 80px 80px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden
}

.prm .split_right .pat_el {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid #ffffff2e;
  border-radius: 3px;
  pointer-events: none
}

.prm .split_right .pat_el:nth-child(1) {
  top: 40px;
  left: 40px
}

.prm .split_right .pat_el:nth-child(2) {
  top: 40px;
  left: 80px
}

.prm .split_right .pat_el:nth-child(3) {
  top: 40px;
  left: 120px
}

.prm .split_right .pat_el:nth-child(4) {
  top: 80px;
  left: 60px
}

.prm .split_right .pat_el:nth-child(5) {
  top: 80px;
  left: 100px
}

.prm .split_right .pat_el:nth-child(6) {
  top: 120px;
  left: 40px
}

.prm .split_right .pat_el:nth-child(7) {
  bottom: 60px;
  right: 40px
}

.prm .split_right .pat_el:nth-child(8) {
  bottom: 60px;
  right: 80px
}

.prm .split_right .pat_el:nth-child(9) {
  bottom: 100px;
  right: 60px
}

.prm .lbl_tag {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #972798;
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600
}

.prm .split_left .q_head {
  font-size: 52px;
  line-height: 1.2;
  color: #1e0a1e;
  margin-bottom: 20px;
  text-shadow: 0 2px 4px #9727980f
}

.prm .split_left .q_head .acc_phrase {
  color: #972798
}

.prm .split_left .q_sub {
  font-size: 18px;
  line-height: 1.8;
  color: #3d1a3d;
  max-width: 480px;
  margin-bottom: 40px
}

.prm .btn_ghost {
  display: inline-block;
  padding: 20px 40px;
  border: 2px solid #972798;
  color: #972798;
  font-size: 16px;
  font-weight: 600;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: padding .25s cubic-bezier(0.4, 0, 0.2, 1), background .2s ease-in-out, color .2s ease-in-out;
  align-self: flex-start
}

.prm .btn_ghost:hover {
  background: #972798;
  color: #fff;
  padding: 20px 52px
}

.prm .btn_ghost:focus {
  outline: 3px solid #BD5FC2;
  outline-offset: 3px
}

.prm .img_blur_wrap {
  position: relative;
  width: 100%;
  height: 380px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #9727981c
}

.prm .img_blur_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(0px);
  transition: filter .4s ease-in-out
}

.prm .img_blur_wrap img.lazy_pending {
  filter: blur(8px)
}

.prm .img_blur_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #97279838 0%, transparent 60%);
  pointer-events: none
}

.prm .wave_div {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  pointer-events: none
}

.prm .wave_div svg {
  display: block;
  width: 100%
}

.prm .supp_sec {
  background: #fff;
  padding: 80px 0;
  max-width: 100%
}

.prm .supp_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start
}

.prm .supp_aside {
  position: relative
}

.prm .supp_img_wrap {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px 0 #9727981a;
  position: relative
}

.prm .supp_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .supp_img_wrap:hover img {
  transform: scale(1.04)
}

.prm .supp_img_wrap .grid_ov {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, #97279812 0px, transparent 1px, transparent 28px), repeating-linear-gradient(90deg, #97279812 0px, transparent 1px, transparent 28px);
  opacity: 0;
  transition: opacity .25s ease-in-out;
  pointer-events: none
}

.prm .supp_img_wrap:hover .grid_ov {
  opacity: 1
}

.prm .count_badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #972798;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 25px 0 #9727981c
}

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

.prm .supp_body .sec_head {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1e;
  text-shadow: 1px 1px 0 #97279814;
  margin-bottom: 8px
}

.prm .supp_body .sec_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #2e102e
}

.prm .supp_body .sec_para {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .acc_list {
  list-style: decimal;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.prm .acc_list li {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d;
  padding-left: 8px
}

.prm .acc_list li::marker {
  color: #972798;
  font-weight: 700
}

.prm .gap_sec {
  background: linear-gradient(160deg, #bd5fc214 0%, #e0b2e124 100%);
  padding: 80px 0
}

.prm .gap_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px
}

.prm .gap_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 40px
}

.prm .gap_card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 2px 4px 0 #9727980f;
  position: relative;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .gap_card:hover {
  box-shadow: 0 12px 44px 0 #9727981a;
  transform: translateY(-4px)
}

.prm .gap_card .card_num {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 52px;
  line-height: 1.2;
  color: #97279812;
  font-weight: 900;
  pointer-events: none;
  user-select: none
}

.prm .gap_card .card_ico {
  width: 40px;
  height: 40px;
  margin-bottom: 20px
}

.prm .gap_card h5 {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1e;
  margin-bottom: 8px;
  text-shadow: 0 1px 2px #9727980f
}

.prm .gap_card p {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .gap_head_row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 640px
}

.prm .gap_head_row .sec_head {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1e;
  text-shadow: 1px 1px 0 #97279814
}

.prm .gap_head_row .sec_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #2e102e
}

.prm .hes_sec {
  background: #972798;
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.prm .hes_sec .geo_outline {
  position: absolute;
  width: 320px;
  height: 320px;
  border: 2px solid #ffffff14;
  border-radius: 32px;
  top: -60px;
  right: -60px;
  pointer-events: none;
  animation: geo_pulse 3.5s ease-in-out infinite
}

.prm .hes_sec .geo_outline2 {
  position: absolute;
  width: 200px;
  height: 200px;
  border: 2px solid #ffffff0f;
  border-radius: 20px;
  bottom: -40px;
  left: 80px;
  pointer-events: none;
  animation: geo_pulse 4.2s ease-in-out infinite .8s
}

@keyframes geo_pulse {

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

  50% {
    opacity: .9;
    transform: scale(1.04)
  }
}

.prm .hes_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1
}

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

.prm .hes_body .sec_head {
  font-size: 27px;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 2px 8px #0000002e
}

.prm .hes_body .sec_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #ffffffeb
}

.prm .hes_body .sec_para {
  font-size: 16px;
  line-height: 1.8;
  color: #ffffffd1
}

.prm .hes_body .lbl_tag_inv {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #E0B2E1;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 8px
}

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

.prm .hes_stat_box {
  background: #ffffff1a;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.prm .hes_stat_box .stat_num {
  font-size: 52px;
  line-height: 1.2;
  color: #E0B2E1;
  font-weight: 900
}

.prm .hes_stat_box .stat_desc {
  font-size: 16px;
  line-height: 1.8;
  color: #ffffffd1
}

.prm .hes_btn {
  display: inline-block;
  padding: 20px 40px;
  border: 2px solid #fff;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: padding .25s cubic-bezier(0.4, 0, 0.2, 1), background .2s ease-in-out, color .2s ease-in-out;
  align-self: flex-start
}

.prm .hes_btn:hover {
  background: #fff;
  color: #972798;
  padding: 20px 52px
}

.prm .hes_btn:focus {
  outline: 3px solid #E0B2E1;
  outline-offset: 3px
}

.prm .exp_sec {
  background: #fff;
  padding: 80px 0
}

.prm .exp_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px
}

.prm .exp_head_row {
  max-width: 600px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.prm .exp_head_row .sec_head {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1e;
  text-shadow: 1px 1px 0 #97279814
}

.prm .exp_head_row .sec_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #2e102e
}

.prm .exp_flow {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative
}

.prm .exp_flow::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, #972798 0%, #E0B2E1 60%, transparent 100%);
  pointer-events: none
}

.prm .exp_item {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 20px;
  align-items: start;
  padding-left: 0
}

.prm .exp_dot {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #972798;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  box-shadow: 0 2px 4px 0 #9727980f;
  animation: border_glow 2.5s ease-in-out forwards;
  animation-delay: var(--gd, 0s)
}

@keyframes border_glow {
  0% {
    border-color: #97279800;
    box-shadow: 0 0 0 0 #97279800
  }

  100% {
    border-color: #972798;
    box-shadow: 0 2px 4px 0 #9727980f
  }
}

.prm .exp_dot svg {
  width: 18px;
  height: 18px
}

.prm .exp_txt {
  padding-top: 8px
}

.prm .exp_txt h5 {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1e;
  margin-bottom: 8px;
  text-shadow: 0 1px 2px #9727980f
}

.prm .exp_txt p {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .exp_img_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px
}

.prm .exp_img_box {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #9727981c;
  position: relative
}

.prm .exp_img_box img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .exp_img_box:hover img {
  transform: scale(1.04)
}

.prm .exp_img_box .grid_ov {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, #97279812 0px, transparent 1px, transparent 28px), repeating-linear-gradient(90deg, #97279812 0px, transparent 1px, transparent 28px);
  opacity: 0;
  transition: opacity .25s ease-in-out;
  pointer-events: none
}

.prm .exp_img_box:hover .grid_ov {
  opacity: 1
}

.prm .cond_sec {
  background: linear-gradient(160deg, #9727980f 0%, #e0b2e11f 100%);
  padding: 80px 0
}

.prm .cond_inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 80px;
  align-items: start
}

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

.prm .cond_body .lbl_tag {
  margin-bottom: 0
}

.prm .cond_body .sec_head {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1e;
  text-shadow: 1px 1px 0 #97279814
}

.prm .cond_body .sec_lead {
  font-size: 18px;
  line-height: 1.8;
  color: #2e102e
}

.prm .cond_body .sec_para {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .cond_checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

.prm .cond_check_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .cond_check_item .chk_ico {
  flex-shrink: 0;
  margin-top: 4px
}

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

.prm .rev_card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 4px 25px 0 #9727981c;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.prm .rev_card .rev_stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.prm .rev_card .rev_stars .star_svg {
  width: 18px;
  height: 18px
}

.prm .rev_card .rev_text {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .rev_card .rev_person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px
}

.prm .rev_card .rev_portrait {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0
}

.prm .rev_card .rev_portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.prm .rev_card .rev_name {
  font-size: 16px;
  font-weight: 700;
  color: #1e0a1e;
  line-height: 1.2
}

.prm .rev_card .rev_role {
  font-size: 16px;
  color: #972798;
  line-height: 1.2
}

.prm .rev_card2 {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 4px 25px 0 #9727981c;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.prm .rev_card2 .rev_stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.prm .rev_card2 .rev_text {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3d
}

.prm .rev_card2 .rev_person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px
}

.prm .rev_card2 .rev_portrait {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0
}

.prm .rev_card2 .rev_portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.prm .rev_card2 .rev_name {
  font-size: 16px;
  font-weight: 700;
  color: #1e0a1e;
  line-height: 1.2
}

.prm .rev_card2 .rev_role {
  font-size: 16px;
  color: #972798;
  line-height: 1.2
}

.prm .prog_bar_wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

.prm .prog_row {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.prm .prog_label {
  font-size: 16px;
  color: #3d1a3d;
  line-height: 1.2
}

.prm .prog_track {
  height: 8px;
  background: #9727981f;
  border-radius: 3px;
  overflow: hidden
}

.prm .prog_fill {
  height: 100%;
  background: #972798;
  border-radius: 3px;
  transition: width .4s cubic-bezier(0.4, 0, 0.2, 1)
}

@media (max-width: 1200px) {
  .prm .split_scr {
    grid-template-columns: 1fr 1fr
  }

  .prm .split_left {
    padding: 80px 20px 80px 40px
  }

  .prm .split_right {
    padding: 80px 40px 80px 20px
  }

  .prm .supp_inner {
    grid-template-columns: 1fr 2fr;
    gap: 40px
  }

  .prm .gap_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
  }

  .prm .hes_inner {
    gap: 40px
  }

  .prm .cond_inner {
    gap: 40px
  }
}

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

  .prm .split_left {
    padding: 80px 40px
  }

  .prm .split_right {
    padding: 40px
  }

  .prm .split_left .q_head {
    font-size: 52px
  }

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

  .prm .gap_grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px
  }

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

  .prm .exp_img_row {
    grid-template-columns: 1fr
  }

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

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

  .prm .split_right {
    padding: 40px 20px
  }

  .prm .split_left .q_head {
    font-size: 27px
  }

  .prm .supp_inner {
    padding: 0 20px
  }

  .prm .gap_inner {
    padding: 0 20px
  }

  .prm .gap_grid {
    grid-template-columns: 1fr
  }

  .prm .hes_inner {
    padding: 0 20px
  }

  .prm .exp_inner {
    padding: 0 20px
  }

  .prm .cond_inner {
    padding: 0 20px
  }

  .prm .supp_sec {
    padding: 40px 0
  }

  .prm .gap_sec {
    padding: 40px 0
  }

  .prm .hes_sec {
    padding: 40px 0
  }

  .prm .exp_sec {
    padding: 40px 0
  }

  .prm .cond_sec {
    padding: 40px 0
  }

  .prm .gap_card {
    padding: 20px
  }

  .prm .hes_stat_box {
    padding: 20px
  }

  .prm .rev_card {
    padding: 20px
  }

  .prm .rev_card2 {
    padding: 20px
  }
}

.cont_us {
  position: relative;
  overflow-x: clip
}

.cont_us .pg_ld {
  display: none
}

.cont_us .reach_blk {
  background: linear-gradient(158deg, #f5eaf5 0%, #fff 55%, #ede0ed 100%);
  padding: 80px 20px;
  position: relative
}

.cont_us .reach_blk::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: radial-gradient(ellipse at center, #BD5FC2 0%, transparent 70%);
  background-size: 12px 2px;
  background-repeat: repeat-x;
  opacity: .45
}

.cont_us .reach_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px;
  align-items: start
}

.cont_us .reach_txt {
  position: relative
}

.cont_us .reach_txt::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  width: 24px;
  height: 24px;
  border-top: 2px solid #972798;
  border-left: 2px solid #972798;
  border-radius: 3px 0 0 0
}

.cont_us .reach_txt::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: -20px;
  width: 24px;
  height: 24px;
  border-bottom: 2px solid #972798;
  border-left: 2px solid #972798;
  border-radius: 0 0 0 3px
}

.cont_us .reach_lbl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  letter-spacing: .12em;
  color: #972798;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase
}

.cont_us .reach_lbl .ic_dot {
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #972798;
  display: inline-block
}

.cont_us .reach_h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #2a0d2a;
  margin: 0 0 20px;
  text-shadow: 0 2px 4px #9727980f
}

.cont_us .reach_sub {
  font-size: 18px;
  line-height: 1.8;
  color: #4a2a4a;
  margin: 0 0 40px
}

.cont_us .dot_grid {
  position: absolute;
  top: 0;
  right: -40px;
  width: 180px;
  height: 180px;
  background-image: radial-gradient(circle, #9727982e 1.5px, transparent 1.5px);
  background-size: 18px 18px;
  pointer-events: none;
  z-index: 0
}

.cont_us .reach_details {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 8px
}

.cont_us .det_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px
}

.cont_us .det_ic {
  width: 44px;
  height: 44px;
  border-radius: 20px;
  background: #97279814;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .25s ease-in-out
}

.cont_us .det_row:hover .det_ic {
  background: #97279829
}

.cont_us .det_ic svg {
  width: 20px;
  height: 20px;
  fill: #972798
}

.cont_us .det_body {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.cont_us .det_lbl {
  font-size: 16px;
  color: #7a4a7a;
  letter-spacing: .06em;
  font-weight: 600
}

.cont_us .det_val {
  font-size: 18px;
  line-height: 1.8;
  color: #2a0d2a
}

.cont_us .det_val a {
  color: #972798;
  text-decoration: none;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .det_val a:hover {
  color: #BD5FC2
}

.cont_us .reach_side {
  position: relative;
  padding: 40px;
  background: #fff;
  border-radius: 32px;
  box-shadow: 0 4px 25px 0 #9727981c;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.cont_us .reach_side::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 24px;
  height: 24px;
  border-top: 2px solid #BD5FC2;
  border-right: 2px solid #BD5FC2;
  border-radius: 0 3px 0 0
}

.cont_us .reach_side::after {
  content: '';
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 24px;
  height: 24px;
  border-bottom: 2px solid #BD5FC2;
  border-right: 2px solid #BD5FC2;
  border-radius: 0 0 3px 0
}

.cont_us .side_head {
  font-size: 27px;
  line-height: 1.2;
  color: #2a0d2a;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.cont_us .side_txt {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4a;
  margin: 0
}

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

.cont_us .hrs_item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #97279814;
  font-size: 16px;
  color: #4a2a4a
}

.cont_us .hrs_item .day {
  font-weight: 600;
  color: #2a0d2a
}

.cont_us .hrs_item .time {
  color: #972798
}

.cont_us .form_blk {
  padding: 80px 20px;
  background: #fff;
  position: relative
}

.cont_us .form_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: radial-gradient(ellipse at center, #E0B2E1 0%, transparent 70%);
  background-size: 12px 2px;
  background-repeat: repeat-x
}

.cont_us .form_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 80px;
  align-items: start
}

.cont_us .form_meta {
  position: relative;
  padding-top: 8px
}

.cont_us .form_meta_h {
  font-size: 27px;
  line-height: 1.2;
  color: #2a0d2a;
  margin: 0 0 20px;
  text-shadow: 0 2px 4px #9727980f
}

.cont_us .form_meta_p {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4a;
  margin: 0 0 40px
}

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

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

.cont_us .bar_lbl {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 16px;
  color: #4a2a4a;
  font-weight: 600
}

.cont_us .bar_lbl span:last-child {
  color: #972798
}

.cont_us .bar_track {
  height: 8px;
  border-radius: 20px;
  background: #9727981a;
  overflow: hidden
}

.cont_us .bar_fill {
  height: 100%;
  border-radius: 20px;
  background: linear-gradient(90deg, #972798 0%, #BD5FC2 100%);
  transform-origin: left;
  animation: bar_grow .9s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes bar_grow {
  from {
    width: 0
  }

  to {
    width: var(--bw)
  }
}

.cont_us .form_wrap {
  background: linear-gradient(158deg, #f9f4f9 0%, #fff 100%);
  border-radius: 32px;
  padding: 40px;
  box-shadow: 0 4px 25px 0 #9727981c;
  position: relative
}

.cont_us .form_wrap::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 24px;
  height: 24px;
  border-top: 2px solid #972798;
  border-right: 2px solid #972798;
  border-radius: 0 3px 0 0
}

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

.cont_us .cf_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

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

.cont_us .cf_lbl {
  font-size: 16px;
  font-weight: 600;
  color: #2a0d2a;
  letter-spacing: .04em
}

.cont_us .cf_inp {
  border: 1.5px solid #97279833;
  border-radius: 20px;
  padding: 20px;
  font-size: 16px;
  color: #2a0d2a;
  background: #fff;
  outline: none;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s ease-in-out;
  width: 100%;
  box-sizing: border-box
}

.cont_us .cf_inp::placeholder {
  font-style: italic;
  opacity: .55;
  color: #7a4a7a
}

.cont_us .cf_inp:focus {
  border-color: #972798;
  box-shadow: 0 4px 25px 0 #9727981c
}

.cont_us .budget_lbl {
  font-size: 16px;
  font-weight: 600;
  color: #2a0d2a;
  letter-spacing: .04em;
  margin-bottom: 4px
}

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

.cont_us .bopt {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 8px 20px;
  border-radius: 20px;
  border: 1.5px solid #97279826;
  background: #fff;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 16px;
  color: #4a2a4a;
  position: relative
}

.cont_us .bopt input[type="radio"] {
  accent-color: #972798;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer
}

.cont_us .bopt:has(input:checked) {
  border-color: #972798;
  background: #9727980d;
  color: #2a0d2a
}

.cont_us .bopt:hover {
  border-color: #BD5FC2
}

.cont_us .priv_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.cont_us .priv_row input[type="checkbox"] {
  accent-color: #972798;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 3px;
  cursor: pointer
}

.cont_us .priv_txt {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4a
}

.cont_us .priv_txt a {
  color: #972798;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .priv_txt a:hover {
  color: #BD5FC2
}

.cont_us .cf_btn {
  align-self: flex-start;
  padding: 20px 40px;
  border-radius: 20px;
  background: transparent;
  border: 2px solid #972798;
  color: #972798;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .25s ease-in-out, color .2s cubic-bezier(0.4, 0, 0.2, 1), padding .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .cf_btn:hover {
  background: #972798;
  color: #fff;
  padding-left: 52px;
  padding-right: 52px
}

.cont_us .cf_btn:focus-visible {
  outline: 2px solid #972798;
  outline-offset: 3px
}

.cont_us .cf_btn:active {
  background: #7a1e7a;
  border-color: #7a1e7a;
  color: #fff
}

.cont_us .map_blk {
  padding: 80px 20px;
  background: linear-gradient(135deg, #e0b2e12e 0%, #bd5fc214 100%);
  position: relative
}

.cont_us .map_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: radial-gradient(ellipse at center, #972798 0%, transparent 70%);
  background-size: 12px 2px;
  background-repeat: repeat-x;
  opacity: .3
}

.cont_us .map_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.cont_us .map_head_row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px
}

.cont_us .map_h2 {
  font-size: 27px;
  line-height: 1.2;
  color: #2a0d2a;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.cont_us .map_sub {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4a;
  max-width: 520px;
  margin: 0
}

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

.cont_us .addr_card {
  background: #fff;
  border-radius: 32px;
  padding: 40px;
  box-shadow: 0 4px 25px 0 #9727981c;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .25s ease-in-out
}

.cont_us .addr_card:hover {
  box-shadow: 0 12px 44px 0 #9727981a
}

.cont_us .addr_card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #972798, #E0B2E1);
  border-radius: 0 0 32px 32px
}

.cont_us .acard_ic {
  width: 52px;
  height: 52px;
  border-radius: 20px;
  background: #97279814;
  display: flex;
  align-items: center;
  justify-content: center
}

.cont_us .acard_ic svg {
  width: 24px;
  height: 24px;
  fill: #972798
}

.cont_us .acard_h {
  font-size: 18px;
  font-weight: 700;
  color: #2a0d2a;
  margin: 0
}

.cont_us .acard_p {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2a4a;
  margin: 0
}

.cont_us .acard_link {
  font-size: 16px;
  color: #972798;
  text-decoration: none;
  font-weight: 600;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px
}

.cont_us .acard_link:hover {
  color: #BD5FC2
}

.cont_us .acard_link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .acard_link:hover svg {
  transform: translateX(4px)
}

@keyframes load_in {
  from {
    opacity: 0;
    transform: translateY(20px) rotate(-1.5deg)
  }

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

.cont_us .reach_blk {
  animation: load_in .4s cubic-bezier(0.4, 0, 0.2, 1) both
}

.cont_us .form_blk {
  animation: load_in .35s cubic-bezier(0.4, 0, 0.2, 1) .08s both
}

.cont_us .map_blk {
  animation: load_in .38s cubic-bezier(0.4, 0, 0.2, 1) .15s both
}

@media (max-width: 1200px) {
  .cont_us .reach_inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px
  }

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

@media (max-width: 900px) {
  .cont_us .reach_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

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

  .cont_us .addr_cards {
    grid-template-columns: 1fr 1fr
  }

  .cont_us .reach_h1 {
    font-size: 52px
  }

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

@media (max-width: 600px) {

  .cont_us .reach_blk,
  .cont_us .form_blk,
  .cont_us .map_blk {
    padding: 40px 20px
  }

  .cont_us .reach_h1 {
    font-size: 27px
  }

  .cont_us .cf_row {
    grid-template-columns: 1fr
  }

  .cont_us .addr_cards {
    grid-template-columns: 1fr
  }

  .cont_us .reach_side {
    padding: 20px
  }

  .cont_us .form_wrap {
    padding: 20px
  }

  .cont_us .addr_card {
    padding: 20px
  }
}

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

.dgst .pg_head {
  background: linear-gradient(135deg, #972798 0%, #BD5FC2 45%, #E0B2E1 100%);
  padding: 80px 20px;
  position: relative
}

.dgst .pg_head::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border-top: 1px solid #ffffff59;
  border-left: 1px solid #ffffff59;
  pointer-events: none
}

.dgst .pg_head::after {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border-bottom: 1px solid #ffffff59;
  border-right: 1px solid #ffffff59;
  pointer-events: none
}

.dgst .pg_head_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px
}

.dgst .pg_lbl {
  font-size: 16px;
  letter-spacing: .12em;
  color: #ffffffd9;
  text-transform: uppercase
}

.dgst .pg_h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 2px 4px #97279840;
  margin: 0
}

.dgst .pg_desc {
  font-size: 18px;
  line-height: 1.8;
  color: #ffffffe6;
  max-width: 620px;
  margin: 0
}

.dgst .svg_div {
  line-height: 0;
  overflow: hidden
}

.dgst .svg_div svg {
  display: block;
  width: 100%
}

.dgst .cards_area {
  padding: 80px 20px;
  background: #fff;
  max-width: 1320px;
  margin: 0 auto
}

.dgst .cards_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.dgst .crd {
  border-radius: 20px;
  box-shadow: 0 4px 25px 0 #9727981c;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer
}

.dgst .crd:hover {
  transform: scale(1.025);
  box-shadow: 0 12px 44px 0 #9727981a
}

.dgst .crd_img_wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative
}

.dgst .crd_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease-in-out
}

.dgst .crd:hover .crd_img_wrap img {
  transform: scale(1.06)
}

.dgst .crd_body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.dgst .crd_tag {
  font-size: 16px;
  letter-spacing: .09em;
  color: #972798;
  text-transform: uppercase;
  font-weight: 600
}

.dgst .crd_ttl {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0;
  text-shadow: 0 1px 2px #97279812
}

.dgst .crd_desc {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1a3e;
  margin: 0;
  flex: 1
}

.dgst .crd_meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px
}

.dgst .crd_author {
  font-size: 16px;
  color: #6a2d6b;
  font-weight: 500
}

.dgst .crd_dot {
  width: 3px;
  height: 3px;
  border-radius: 3px;
  background: #BD5FC2;
  display: inline-block
}

.dgst .crd_date {
  font-size: 16px;
  color: #6a2d6b
}

.dgst .crd_rt {
  font-size: 16px;
  color: #972798
}

.dgst .crd_stats {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 4px
}

.dgst .crd_stat {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  color: #6a2d6b
}

.dgst .crd_stat svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.dgst .crd_lnk {
  display: inline-block;
  margin-top: 8px;
  font-size: 16px;
  color: #972798;
  text-decoration: none;
  font-weight: 600;
  border: 1.5px solid #972798;
  border-radius: 3px;
  padding: 8px 20px;
  background: transparent;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), padding .2s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: flex-start
}

.dgst .crd_lnk:hover {
  background: #972798;
  color: #fff;
  padding: 8px 28px
}

.dgst .pullq_area {
  background: #972798 !important;
  padding: 80px 20px
}

.dgst .pullq_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.dgst .pullq_img_wrap {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px 0 #9727981a;
  height: 420px
}

.dgst .pullq_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease-in-out
}

.dgst .pullq_img_wrap:hover img {
  transform: scale(1.04)
}

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

.dgst .pullq_eyebrow {
  font-size: 16px;
  letter-spacing: .1em;
  color: #E0B2E1;
  text-transform: uppercase
}

.dgst .pullq_quote {
  font-size: 27px;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 2px 4px #97279840;
  margin: 0;
  font-style: italic
}

.dgst .pullq_body {
  font-size: 18px;
  line-height: 1.8;
  color: #ffffffe0;
  margin: 0
}

.dgst .pullq_accent_line {
  width: 40px;
  height: 3px;
  background: #E0B2E1;
  border-radius: 3px
}

.dgst .about_area {
  padding: 80px 20px;
  background: linear-gradient(160deg, #e0b2e12e 0%, #bd5fc212 100%)
}

.dgst .about_inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.dgst .about_row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start
}

.dgst .about_h2 {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0;
  text-shadow: 0 1px 3px #97279817
}

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

.dgst .about_p {
  font-size: 18px;
  line-height: 1.8;
  color: #2e0d2f;
  margin: 0
}

.dgst .about_p.lead {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1f
}

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

.dgst .astat {
  border-radius: 20px;
  border: 1.5px solid #9727982e;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
  box-shadow: 0 2px 4px 0 #9727980f;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.dgst .astat:hover {
  box-shadow: 0 4px 25px 0 #9727981c
}

.dgst .astat_num {
  font-size: 52px;
  line-height: 1.2;
  color: #972798;
  font-weight: 700
}

.dgst .astat_lbl {
  font-size: 16px;
  color: #3d1a3e;
  line-height: 1.8
}

.dgst .drop_anim {
  animation: drop_in .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

.dgst .drop_anim:nth-child(2) {
  animation-delay: .08s
}

.dgst .drop_anim:nth-child(3) {
  animation-delay: .16s
}

@keyframes drop_in {
  from {
    opacity: 0;
    transform: translateY(-22px)
  }

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

@media (max-width: 1200px) {
  .dgst .cards_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
  }

  .dgst .pullq_inner {
    gap: 40px
  }

  .dgst .about_row {
    grid-template-columns: 1fr;
    gap: 20px
  }
}

@media (max-width: 900px) {
  .dgst .pg_h1 {
    font-size: 52px
  }

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

  .dgst .pullq_img_wrap {
    height: 280px
  }

  .dgst .about_stats {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 600px) {
  .dgst .pg_h1 {
    font-size: 27px
  }

  .dgst .cards_grid {
    grid-template-columns: 1fr
  }

  .dgst .about_stats {
    grid-template-columns: 1fr
  }

  .dgst .pullq_quote {
    font-size: 18px
  }

  .dgst .cards_area {
    padding: 40px 20px
  }

  .dgst .pullq_area {
    padding: 40px 20px
  }

  .dgst .about_area {
    padding: 40px 20px
  }
}

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

.nws_pg .pg_bound {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

@media (max-width: 600px) {
  .nws_pg .pg_bound {
    padding-left: 20px;
    padding-right: 20px
  }
}

.nws_pg .zigzag_div {
  width: 100%;
  line-height: 0;
  display: block
}

.nws_pg .zigzag_div svg {
  display: block;
  width: 100%
}

.nws_pg .lede_band {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 40px;
  position: relative
}

.nws_pg .lede_band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 22px, #9727980a 22px, #9727980a 23px), repeating-linear-gradient(90deg, transparent, transparent 22px, #9727980a 22px, #9727980a 23px);
  pointer-events: none
}

.nws_pg .lede_inner {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 80px;
  align-items: start;
  position: relative
}

@media (max-width: 900px) {
  .nws_pg .lede_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

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

.nws_pg .lede_tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  letter-spacing: .08em;
  color: #972798;
  font-weight: 600;
  text-transform: uppercase
}

.nws_pg .lede_tag .tag_dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #972798;
  flex-shrink: 0
}

.nws_pg .lede_h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #1e0a1f;
  text-shadow: 0 2px 4px #9727980f;
  margin: 0
}

@media (max-width: 900px) {
  .nws_pg .lede_h1 {
    font-size: 27px
  }
}

.nws_pg .lede_desc {
  font-size: 18px;
  line-height: 1.8;
  color: #3a1a3b;
  max-width: 680px
}

.nws_pg .lede_img_wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 20px
}

.nws_pg .lede_img_wrap img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
  display: block
}

.nws_pg .lede_img_caption {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #972798d1 0%, transparent 55%);
  display: flex;
  align-items: flex-end;
  padding: 20px;
  opacity: 0;
  transition: opacity .25s ease-in-out
}

.nws_pg .lede_img_wrap:hover .lede_img_caption {
  opacity: 1
}

.nws_pg .lede_img_caption span {
  font-size: 16px;
  color: #fff;
  line-height: 1.8
}

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

.nws_pg .sidebar_card {
  background: #e0b2e12e;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 4px 25px 0 #9727981c
}

.nws_pg .sidebar_card_h {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0 0 8px;
  text-shadow: 0 2px 4px #9727980f
}

.nws_pg .sidebar_card_p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b;
  margin: 0
}

.nws_pg .sidebar_stat_row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  margin-top: 8px
}

.nws_pg .stat_num {
  font-size: 27px;
  line-height: 1.2;
  color: #972798;
  font-weight: 700
}

.nws_pg .stat_label {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b
}

.nws_pg .sidebar_progress_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px
}

.nws_pg .sidebar_progress_item+.nws_pg .sidebar_progress_item {
  margin-top: 8px
}

.nws_pg .prog_label_row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center
}

.nws_pg .prog_label {
  font-size: 16px;
  color: #3a1a3b
}

.nws_pg .prog_pct {
  font-size: 16px;
  color: #972798;
  font-weight: 600
}

.nws_pg .prog_bar_bg {
  width: 100%;
  height: 6px;
  background: #9727981f;
  border-radius: 3px;
  overflow: hidden
}

.nws_pg .prog_bar_fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #972798, #BD5FC2)
}

.nws_pg .art_band {
  background: #e0b2e124;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  overflow: hidden
}

.nws_pg .art_wave {
  position: absolute;
  inset: 0;
  pointer-events: none;
  animation: wave_pass 8s ease-in-out infinite alternate
}

@keyframes wave_pass {
  0% {
    background: transparent
  }

  50% {
    background: #bd5fc20a
  }

  100% {
    background: transparent
  }
}

.nws_pg .art_head_row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 40px;
  position: relative
}

@media (max-width: 600px) {
  .nws_pg .art_head_row {
    flex-direction: column;
    align-items: flex-start
  }
}

.nws_pg .art_h2 {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.nws_pg .art_sub {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b;
  max-width: 420px
}

.nws_pg .art_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  position: relative
}

@media (max-width: 900px) {
  .nws_pg .art_grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 600px) {
  .nws_pg .art_grid {
    grid-template-columns: 1fr
  }
}

.nws_pg .art_item {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 25px 0 #9727981c;
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s ease-in-out
}

.nws_pg .art_item:hover {
  box-shadow: 0 12px 44px 0 #9727981a
}

.nws_pg .art_img_box {
  position: relative;
  overflow: hidden
}

.nws_pg .art_img_box img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.nws_pg .art_item:hover .art_img_box img {
  transform: scale(1.04)
}

.nws_pg .art_img_caption {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #972798cc 0%, transparent 60%);
  display: flex;
  align-items: flex-end;
  padding: 20px;
  opacity: 0;
  transition: opacity .25s ease-in-out
}

.nws_pg .art_item:hover .art_img_caption {
  opacity: 1
}

.nws_pg .art_img_caption span {
  font-size: 16px;
  color: #fff;
  line-height: 1.8
}

.nws_pg .art_body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.nws_pg .art_cat {
  font-size: 16px;
  letter-spacing: .07em;
  color: #972798;
  font-weight: 600;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px
}

.nws_pg .art_cat_line {
  width: 20px;
  height: 2px;
  background: #BD5FC2;
  border-radius: 3px;
  flex-shrink: 0
}

.nws_pg .art_item_h {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.nws_pg .art_item_p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b;
  margin: 0;
  flex: 1
}

.nws_pg .art_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #972798;
  text-decoration: none;
  font-weight: 600;
  padding: 8px 20px;
  border: 2px solid #972798;
  border-radius: 3px;
  background: transparent;
  align-self: flex-start;
  transition: background .2s ease-in-out, color .2s ease-in-out, padding .2s ease-in-out;
  margin-top: 8px
}

.nws_pg .art_link:hover {
  background: #972798;
  color: #fff;
  padding-left: 28px;
  padding-right: 28px
}

.nws_pg .art_link svg {
  flex-shrink: 0;
  transition: transform .2s ease-in-out
}

.nws_pg .art_link:hover svg {
  transform: translateX(4px)
}

.nws_pg .feat_band {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.nws_pg .feat_inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 80px;
  align-items: start
}

@media (max-width: 1200px) {
  .nws_pg .feat_inner {
    grid-template-columns: 1fr 300px;
    gap: 40px
  }
}

@media (max-width: 900px) {
  .nws_pg .feat_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

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

.nws_pg .feat_eyebrow {
  font-size: 16px;
  letter-spacing: .09em;
  color: #BD5FC2;
  font-weight: 600;
  text-transform: uppercase
}

.nws_pg .feat_h2 {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0a1f;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.nws_pg .feat_p {
  font-size: 18px;
  line-height: 1.8;
  color: #3a1a3b;
  margin: 0
}

.nws_pg .feat_p_body {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b;
  margin: 0
}

.nws_pg .feat_list {
  list-style: decimal;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0
}

.nws_pg .feat_list li {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b
}

.nws_pg .feat_list li strong {
  color: #972798
}

.nws_pg .feat_img_wrap {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  margin-top: 8px
}

.nws_pg .feat_img_wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  display: block
}

.nws_pg .feat_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #972798bf 0%, transparent 50%);
  display: flex;
  align-items: flex-end;
  padding: 20px;
  opacity: 0;
  transition: opacity .25s ease-in-out
}

.nws_pg .feat_img_wrap:hover .feat_img_overlay {
  opacity: 1
}

.nws_pg .feat_img_overlay span {
  font-size: 16px;
  color: #fff;
  line-height: 1.8
}

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

.nws_pg .expert_card {
  background: #e0b2e133;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 2px 4px 0 #9727980f;
  display: flex;
  flex-direction: column;
  gap: 20px
}

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

.nws_pg .expert_portrait {
  width: 80px;
  height: 120px;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 25px 0 #9727981c
}

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

.nws_pg .expert_meta {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.nws_pg .expert_name {
  font-size: 18px;
  line-height: 1.2;
  color: #1e0a1f;
  font-weight: 700;
  text-shadow: 0 2px 4px #9727980f
}

.nws_pg .expert_role {
  font-size: 16px;
  line-height: 1.8;
  color: #972798
}

.nws_pg .expert_quote {
  font-size: 16px;
  line-height: 1.8;
  color: #3a1a3b;
  border-top: 1px solid #97279826;
  padding-top: 20px;
  font-style: italic
}

.nws_pg .metrics_card {
  background: #972798;
  border-radius: 20px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: 0 12px 44px 0 #9727981a
}

.nws_pg .metrics_h {
  font-size: 18px;
  line-height: 1.2;
  color: #fff;
  margin: 0
}

.nws_pg .metric_row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ffffff2e
}

.nws_pg .metric_row:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.nws_pg .metric_lbl {
  font-size: 16px;
  color: #ffffffd9
}

.nws_pg .metric_val {
  font-size: 18px;
  color: #fff;
  font-weight: 700
}

.nws_pg .curve_conn {
  position: relative;
  height: 40px;
  pointer-events: none
}

.nws_pg .curve_conn svg {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 40px
}

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

.succ_page .succ_wrap {
  max-width: 1320px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 40px
}

.succ_page .succ_icon_ring {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, #E0B2E1 0%, transparent 100%);
  border: 2px solid #BD5FC2;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 25px 0 #9727981c;
  flex-shrink: 0
}

.succ_page .succ_icon_ring svg {
  display: block
}

.succ_page .succ_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 560px
}

.succ_page .succ_label {
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: .12em;
  color: #BD5FC2;
  text-transform: uppercase;
  font-weight: 600
}

.succ_page .succ_heading {
  font-size: 52px;
  line-height: 1.2;
  color: #1b1b2e;
  margin: 0;
  text-shadow: 0 2px 4px #9727980f
}

.succ_page .succ_text {
  font-size: 18px;
  line-height: 1.8;
  color: #3a3a4a;
  margin: 0
}

.succ_page .succ_divider {
  width: 48px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #972798, #BD5FC2)
}

.succ_page .succ_actions {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center
}

.succ_page .succ_btn {
  display: inline-block;
  padding: 8px 40px;
  border-radius: 20px;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #972798;
  cursor: pointer;
  transition: color .25s ease-in-out, background-color .2s cubic-bezier(0.4, 0, 0.2, 1), padding .25s ease-in-out
}

.succ_page .succ_btn.primary {
  color: #972798;
  background-color: transparent
}

.succ_page .succ_btn.primary:hover {
  color: #fff;
  background-color: #972798;
  padding-left: 48px;
  padding-right: 48px
}

.succ_page .succ_btn.primary:focus-visible {
  outline: 2px solid #972798;
  outline-offset: 3px
}

.succ_page .succ_btn.secondary {
  color: #BD5FC2;
  background-color: transparent;
  border-color: #BD5FC2
}

.succ_page .succ_btn.secondary:hover {
  color: #fff;
  background-color: #BD5FC2;
  padding-left: 48px;
  padding-right: 48px
}

.succ_page .succ_btn.secondary:focus-visible {
  outline: 2px solid #BD5FC2;
  outline-offset: 3px
}

.succ_page .succ_note {
  font-size: 16px;
  line-height: 1.8;
  color: #6a5a6b;
  margin: 0
}

.succ_page .succ_note a {
  color: #972798;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s ease-in-out
}

.succ_page .succ_note a:hover {
  color: #BD5FC2
}

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

  .succ_page .succ_heading {
    font-size: 27px
  }

  .succ_page .succ_actions {
    flex-direction: column;
    align-items: center
  }

  .succ_page .succ_btn {
    width: 100%;
    text-align: center
  }
}