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

html {
  box-sizing: border-box
}

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

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  scrollbar-gutter: stable;
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #2c2c2c;
  background: #fff
}

img {
  max-width: 100%;
  height: auto;
  display: block
}

a {
  text-decoration: none;
  color: inherit;
  transition: color .52s cubic-bezier(0.22, 1, 0.36, 1)
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0
}

.hdr-shell {
  background: linear-gradient(135deg, #f5f5f5 0%, #fefefe 100%);
  border-bottom: 1px solid #8e73f01f;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  position: relative
}

.hdr-shell::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #8e73f04d 0%, #8b080133 50%, #8e73f04d 100%);
  opacity: .6
}

.hdr-top {
  max-width: 1366px;
  margin: 0 auto;
  padding: 24px 36px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.logo-hold {
  width: 62px;
  height: 62px;
  padding: 6px;
  background: #fff;
  border: 1px solid #3a3a3a;
  border-radius: 2px;
  box-shadow: 2px 4px 20px -1px #8e73f017;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow .48s cubic-bezier(0.22, 1, 0.36, 1), transform .48s cubic-bezier(0.22, 1, 0.36, 1)
}

.logo-hold:hover {
  box-shadow: 2px 10px 52px -1px #8e73f021;
  transform: translateY(-2px)
}

.logo-hold img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.hdr-accent {
  width: 72px;
  height: 4px;
  background: linear-gradient(90deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 24px;
  box-shadow: inset 1px 1px 2px #8e73f033
}

.hdr-nav {
  max-width: 1366px;
  margin: 0 auto;
  padding: 12px 36px 24px
}

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

.nav-item {
  position: relative
}

.nav-lnk {
  display: block;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 700;
  color: #4a4a4a;
  background: #fafbfc;
  border: 1px solid transparent;
  border-radius: 24px;
  transition: background .56s cubic-bezier(0.22, 1, 0.36, 1), color .56s cubic-bezier(0.22, 1, 0.36, 1), border-color .56s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .56s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.nav-lnk::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, #8e73f026 0%, #8b08011a 100%);
  transition: left .64s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0
}

.nav-lnk:hover::before {
  left: 0
}

.nav-lnk:hover {
  background: linear-gradient(135deg, #8e73f014 0%, #fffce966 100%);
  color: #8E73F0;
  border-color: #8e73f04d;
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.nav-lnk:focus {
  outline: 2px solid #8E73F0;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #8e73f026
}

@media (max-width: 1024px) {
  .hdr-top {
    padding: 24px 24px 12px
  }

  .hdr-nav {
    padding: 12px 24px 24px
  }

  .nav-list {
    gap: 12px
  }

  .nav-lnk {
    padding: 12px 18px;
    font-size: 14px
  }
}

@media (max-width: 768px) {
  .hdr-top {
    padding: 24px 12px 12px;
    flex-direction: column;
    gap: 12px
  }

  .hdr-nav {
    padding: 12px 12px 24px
  }

  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 6px
  }

  .nav-lnk {
    text-align: center
  }

  .hdr-accent {
    width: 100%;
    max-width: 120px
  }
}

.ftr-shell {
  background: linear-gradient(180deg, #f8f8f8 0%, #f2f2f2 100%);
  border-top: 1px solid #8e73f026;
  position: relative;
  margin-top: 72px
}

.ftr-shell::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #8e73f066 50%, transparent 100%)
}

.ftr-divider {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 36px
}

.ftr-divider-line {
  height: 3px;
  background: linear-gradient(90deg, #8e73f033 0%, #8b080126 50%, #8e73f033 100%);
  border-radius: 24px;
  margin: 36px 0;
  position: relative;
  overflow: hidden
}

.ftr-divider-line::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #fffce980 50%, transparent 100%);
  box-shadow: inset 0 1px 2px #8e73f01a
}

.ftr-main {
  max-width: 1366px;
  margin: 0 auto;
  padding: 48px 36px 36px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 36px
}

.ftr-col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ftr-logo-hold {
  width: 60px;
  height: 60px;
  padding: 6px;
  background: #fff;
  border: 1px solid #3a3a3a;
  border-radius: 2px;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-logo-hold:hover {
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.ftr-logo-hold img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.ftr-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #5a5a5a;
  max-width: 420px
}

.ftr-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: #5a5a5a;
  transition: color .48s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-contact-item:hover {
  color: #8E73F0
}

.ftr-contact-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  fill: currentColor;
  transition: transform .48s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-contact-item:hover .ftr-contact-icon {
  transform: scale(1.1)
}

.ftr-heading {
  font-size: 15px;
  font-weight: 700;
  color: #3a3a3a;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .5px
}

.ftr-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ftr-nav-lnk {
  display: inline-block;
  font-size: 14px;
  color: #5a5a5a;
  padding: 6px 0;
  position: relative;
  transition: color .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-nav-lnk::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, #8E73F0 0%, #8B0801 100%);
  transition: width .56s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-nav-lnk:hover {
  color: #8E73F0
}

.ftr-nav-lnk:hover::after {
  width: 100%
}

.ftr-nav-lnk:focus {
  outline: 2px solid #8E73F0;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px #8e73f01f;
  border-radius: 2px
}

.ftr-sub-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.ftr-sub-lnk {
  display: inline-block;
  font-size: 14px;
  color: #6a6a6a;
  padding: 6px 0;
  padding-left: 18px;
  position: relative;
  transition: color .52s cubic-bezier(0.22, 1, 0.36, 1), padding-left .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-sub-lnk::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #8E73F0;
  border-radius: 50%;
  opacity: 0;
  transition: opacity .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-sub-lnk:hover {
  color: #8E73F0;
  padding-left: 24px
}

.ftr-sub-lnk:hover::before {
  opacity: 1
}

.ftr-sub-lnk:focus {
  outline: 2px solid #8E73F0;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px #8e73f01a;
  border-radius: 2px
}

.ftr-btm {
  max-width: 1366px;
  margin: 0 auto;
  padding: 24px 36px 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid #8e73f01a
}

.ftr-copy {
  font-size: 14px;
  color: #6a6a6a;
  line-height: 1.4
}

.ftr-meta-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px
}

.ftr-meta-lnk {
  font-size: 14px;
  color: #6a6a6a;
  transition: color .48s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative
}

.ftr-meta-lnk::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #8B0801;
  transition: width .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-meta-lnk:hover {
  color: #8B0801
}

.ftr-meta-lnk:hover::after {
  width: 100%
}

.ftr-meta-lnk:focus {
  outline: 2px solid #8B0801;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px #8b08011a;
  border-radius: 2px
}

@media (max-width: 1024px) {
  .ftr-main {
    padding: 36px 24px 24px;
    gap: 24px
  }

  .ftr-divider {
    padding: 0 24px
  }

  .ftr-btm {
    padding: 24px 24px 36px
  }
}

@media (max-width: 768px) {
  .ftr-main {
    padding: 36px 12px 24px;
    grid-template-columns: 1fr;
    gap: 36px
  }

  .ftr-divider {
    padding: 0 12px
  }

  .ftr-divider-line {
    margin: 24px 0
  }

  .ftr-btm {
    padding: 24px 12px 36px;
    flex-direction: column;
    align-items: flex-start
  }

  .ftr-meta-list {
    flex-direction: column;
    gap: 12px
  }
}

@media (max-width: 640px) {
  .ftr-col {
    gap: 18px
  }

  .ftr-txt {
    font-size: 14px
  }

  .ftr-heading {
    font-size: 14px
  }
}

.policy-article-g {
  max-width: 1366px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #fff
}

@media (min-width: 768px) {
  .policy-article-g {
    padding: 72px 36px
  }
}

@media (min-width: 1024px) {
  .policy-article-g {
    padding: 72px
  }
}

.policy-article-g h1 {
  font-size: clamp(26px, 4vw, 48px);
  line-height: 1.2;
  color: #1a1a2e;
  margin: 0 0 36px;
  font-weight: 700
}

.policy-article-g h2 {
  font-size: clamp(15px, 3vw, 26px);
  line-height: 1.4;
  color: #2d2d44;
  margin: 72px 0 24px;
  font-weight: 600
}

.policy-article-g h3 {
  font-size: 15px;
  line-height: 1.4;
  color: #3a3a52;
  margin: 36px 0 24px;
  font-weight: 600
}

.policy-article-g h4,
.policy-article-g h5,
.policy-article-g h6 {
  font-size: 14px;
  line-height: 1.4;
  color: #3a3a52;
  margin: 24px 0 12px;
  font-weight: 600
}

.policy-article-g p {
  font-size: 15px;
  line-height: 1.9;
  color: #4a4a62;
  margin: 0 0 24px
}

.policy-article-g ul,
.policy-article-g ol {
  font-size: 15px;
  line-height: 1.9;
  color: #4a4a62;
  margin: 0 0 24px;
  padding: 0 0 0 24px
}

.policy-article-g li {
  margin: 0 0 12px
}

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

.policy-article-g ul ul,
.policy-article-g ol ol,
.policy-article-g ul ol,
.policy-article-g ol ul {
  margin: 12px 0 0
}

.policy-article-g strong,
.policy-article-g b {
  font-weight: 600;
  color: #2d2d44
}

.policy-article-g a {
  color: #8E73F0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.policy-article-g a:hover {
  color: #8B0801
}

.policy-article-g table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 36px;
  font-size: 14px;
  line-height: 1.6;
  background: #fff;
  border: 1px solid #e8e8f0;
  border-radius: 2px;
  overflow: hidden
}

.policy-article-g thead {
  background: #f7f7fb
}

.policy-article-g th {
  padding: 12px 24px;
  text-align: left;
  font-weight: 600;
  color: #2d2d44;
  border-bottom: 2px solid #e8e8f0
}

.policy-article-g td {
  padding: 12px 24px;
  color: #4a4a62;
  border-bottom: 1px solid #f0f0f5
}

.policy-article-g tbody tr:last-child td {
  border-bottom: none
}

.policy-article-g tbody tr {
  transition: background-color .4s ease-in-out
}

.policy-article-g tbody tr:hover {
  background: #fafafe
}

.policy-article-g hr {
  border: none;
  height: 1px;
  background: #e8e8f0;
  margin: 72px 0
}

@media (max-width: 767px) {
  .policy-article-g table {
    font-size: 14px
  }

  .policy-article-g th,
  .policy-article-g td {
    padding: 12px
  }
}

.tm-pg ::selection {
  background: #8e73f024;
  color: inherit
}

.tm-pg input::placeholder,
.tm-pg textarea::placeholder {
  color: #8e73f052
}

.tm-pg {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff
}

.tm-pg .bnr {
  position: relative;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  padding: 72px 24px;
  overflow: hidden
}

.tm-pg .bnr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fffce947
}

.tm-pg .bnr__inner {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.tm-pg .bnr__hdg {
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
  margin: 0;
  text-align: center;
  font-weight: 700
}

@media (max-width: 768px) {
  .tm-pg .bnr {
    padding: 36px 24px
  }

  .tm-pg .bnr__hdg {
    font-size: 26px;
    line-height: 1.4
  }
}

.tm-pg .prof-grid {
  padding: 72px 24px;
  background: #fafbfc
}

.tm-pg .prof-grid__inner {
  max-width: 1200px;
  margin: 0 auto
}

.tm-pg .prof-grid__intro {
  max-width: 840px;
  margin: 0 auto 72px;
  text-align: center
}

.tm-pg .prof-grid__intro-hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1d24;
  margin: 0 0 24px;
  font-weight: 600;
  display: inline-block;
  background: linear-gradient(323deg, #8e73f01c 0%, #8b080117 100%);
  padding: 6px 24px;
  border-radius: 2px
}

.tm-pg .prof-grid__intro-txt {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3f4a;
  margin: 0
}

.tm-pg .prof-grid__intro-txt+.prof-grid__intro-txt {
  margin-top: 12px;
  text-indent: 36px
}

.tm-pg .prof-grid__cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 36px
}

.tm-pg .prf-crd {
  background: #fff;
  border-radius: 24px;
  padding: 36px 24px;
  box-shadow: 2px 4px 20px -1px #8e73f017;
  position: relative;
  transition: transform .52s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .52s cubic-bezier(0.22, 1, 0.36, 1)
}

.tm-pg .prf-crd::before,
.tm-pg .prf-crd::after {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  border: 2px solid #8e73f02e;
  opacity: 0;
  transition: opacity .61s ease-in-out
}

.tm-pg .prf-crd::before {
  top: 12px;
  left: 12px;
  border-right: none;
  border-bottom: none;
  border-radius: 2px 0 0 0
}

.tm-pg .prf-crd::after {
  bottom: 12px;
  right: 12px;
  border-left: none;
  border-top: none;
  border-radius: 0 0 2px 0
}

.tm-pg .prf-crd:hover {
  transform: scale(1.04);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.tm-pg .prf-crd:hover::before,
.tm-pg .prf-crd:hover::after {
  opacity: 1
}

.tm-pg .prf-crd__img-wrp {
  width: 120px;
  height: 150px;
  margin: 0 auto 24px;
  border-radius: 24px;
  overflow: hidden;
  position: relative
}

.tm-pg .prf-crd__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.tm-pg .prf-crd__nm {
  font-size: 15px;
  line-height: 1.4;
  color: #1a1d24;
  margin: 0 0 6px;
  font-weight: 600;
  text-align: center
}

.tm-pg .prf-crd__rl {
  font-size: 14px;
  line-height: 1.6;
  color: #6a6f7a;
  margin: 0 0 24px;
  text-align: center
}

.tm-pg .prf-crd__bio {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3f4a;
  margin: 0;
  text-align: center
}

@media (max-width: 1024px) {
  .tm-pg .prof-grid__cards {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 640px) {
  .tm-pg .prof-grid {
    padding: 36px 24px
  }

  .tm-pg .prof-grid__intro {
    margin-bottom: 36px
  }

  .tm-pg .prof-grid__intro-hdg {
    font-size: 15px
  }

  .tm-pg .prof-grid__cards {
    grid-template-columns: 1fr;
    gap: 24px
  }
}

.tm-pg .val-sec {
  padding: 72px 24px;
  background: #fff;
  position: relative
}

.tm-pg .val-sec__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: 72px;
  align-items: flex-start
}

.tm-pg .val-sec__lft {
  flex: 1
}

.tm-pg .val-sec__rgt {
  flex: 1;
  position: relative
}

.tm-pg .val-sec__hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1d24;
  margin: 0 0 36px;
  font-weight: 600
}

.tm-pg .val-lst {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.tm-pg .val-itm {
  position: relative;
  padding-left: 36px
}

.tm-pg .val-itm::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 2px;
  transition: transform .47s cubic-bezier(0.22, 1, 0.36, 1)
}

.tm-pg .val-itm:hover::before {
  transform: scale(1.5)
}

.tm-pg .val-itm__hdg {
  font-size: 15px;
  line-height: 1.4;
  color: #1a1d24;
  margin: 0 0 6px;
  font-weight: 600
}

.tm-pg .val-itm__txt {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3f4a;
  margin: 0
}

.tm-pg .val-sec__qt-wrp {
  position: relative;
  padding: 36px;
  background: linear-gradient(323deg, #8e73f00f 0%, #8b08010a 100%);
  border-radius: 24px;
  margin-bottom: 36px
}

.tm-pg .val-sec__qt-wrp::before {
  content: '';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-top: 2px solid #8e73f038;
  border-right: 2px solid #8e73f038;
  border-radius: 0 2px 0 0
}

.tm-pg .val-sec__qt-wrp::after {
  content: '';
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 36px;
  height: 36px;
  border-bottom: 2px solid #8b08012e;
  border-left: 2px solid #8b08012e;
  border-radius: 0 0 0 2px
}

.tm-pg .val-sec__qt {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2f3a;
  margin: 0;
  font-style: italic;
  position: relative;
  z-index: 1
}

.tm-pg .val-sec__img-wrp {
  width: 100%;
  height: 340px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #8e73f01f
}

.tm-pg .val-sec__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

@media (max-width: 1024px) {
  .tm-pg .val-sec__inner {
    flex-direction: column;
    gap: 36px
  }
}

@media (max-width: 640px) {
  .tm-pg .val-sec {
    padding: 36px 24px
  }

  .tm-pg .val-sec__hdg {
    font-size: 15px;
    margin-bottom: 24px
  }

  .tm-pg .val-sec__qt-wrp {
    padding: 24px
  }

  .tm-pg .val-sec__img-wrp {
    height: 240px
  }
}

.tm-pg .exp-sec {
  padding: 72px 24px;
  background: #0e0f12;
  position: relative
}

.tm-pg .exp-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 12px;
  width: 180px;
  height: 1px;
  background: linear-gradient(90deg, #8e73f052 0%, transparent 100%)
}

.tm-pg .exp-sec::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 12px;
  width: 420px;
  height: 1px;
  background: linear-gradient(270deg, #8b080147 0%, transparent 100%)
}

.tm-pg .exp-sec__inner {
  max-width: 1100px;
  margin: 0 auto
}

.tm-pg .exp-sec__hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 36px;
  font-weight: 600;
  text-align: center
}

.tm-pg .exp-sec__grid {
  display: grid;
  grid-template-columns: 1fr 0.7fr 1fr;
  gap: 36px;
  align-items: start
}

.tm-pg .exp-crd {
  background: #ffffff0a;
  border-radius: 24px;
  padding: 36px 24px;
  border: 1px solid #8e73f014;
  position: relative;
  transition: background .56s cubic-bezier(0.22, 1, 0.36, 1), border-color .56s cubic-bezier(0.22, 1, 0.36, 1)
}

.tm-pg .exp-crd:hover {
  background: #ffffff12;
  border-color: #8e73f029
}

.tm-pg .exp-crd.shrt {
  padding: 24px;
  margin-top: 48px
}

.tm-pg .exp-crd__num {
  font-size: 48px;
  line-height: 1.2;
  color: #8E73F0;
  margin: 0 0 12px;
  font-weight: 700
}

.tm-pg .exp-crd__lbl {
  font-size: 14px;
  line-height: 1.4;
  color: #ffffffad;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .5px
}

.tm-pg .exp-crd__dsc {
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffd1;
  margin: 0
}

.tm-pg .exp-crd__cnct-wrp {
  position: relative;
  margin-top: 24px
}

.tm-pg .exp-crd__cnct-ln {
  position: absolute;
  top: -24px;
  left: 50%;
  width: 2px;
  height: 24px;
  background: linear-gradient(180deg, transparent 0%, #8e73f03d 100%);
  transform: translateX(-50%);
  animation: ln-drw 1.8s ease-in-out forwards;
  transform-origin: top
}

@keyframes ln-drw {
  0% {
    transform: translateX(-50%) scaleY(0)
  }

  100% {
    transform: translateX(-50%) scaleY(1)
  }
}

.tm-pg .exp-crd.shrt .exp-crd__num {
  font-size: 26px;
  color: #8B0801
}

@media (max-width: 1024px) {
  .tm-pg .exp-sec__grid {
    grid-template-columns: 1fr
  }

  .tm-pg .exp-crd.shrt {
    margin-top: 0
  }
}

@media (max-width: 640px) {
  .tm-pg .exp-sec {
    padding: 36px 24px
  }

  .tm-pg .exp-sec__hdg {
    font-size: 15px;
    margin-bottom: 24px
  }

  .tm-pg .exp-crd {
    padding: 24px
  }

  .tm-pg .exp-crd__num {
    font-size: 26px
  }
}

.tm-pg .appr-sec {
  padding: 72px 24px;
  background: #fff
}

.tm-pg .appr-sec__inner {
  max-width: 1000px;
  margin: 0 auto
}

.tm-pg .appr-sec__hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1d24;
  margin: 0 0 36px;
  font-weight: 600;
  text-align: center;
  display: inline-block;
  width: 100%;
  background: linear-gradient(323deg, #8e73f017 0%, #8b080112 100%);
  padding: 12px 24px;
  border-radius: 2px
}

.tm-pg .appr-sec__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px
}

.tm-pg .appr-col__txt {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3f4a;
  margin: 0
}

.tm-pg .appr-col__txt+.appr-col__txt {
  margin-top: 12px;
  text-indent: 36px
}

.tm-pg .appr-col__img-wrp {
  width: 100%;
  height: 280px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #8e73f024;
  margin-top: 24px
}

.tm-pg .appr-col__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

@media (max-width: 768px) {
  .tm-pg .appr-sec {
    padding: 36px 24px
  }

  .tm-pg .appr-sec__hdg {
    font-size: 15px;
    margin-bottom: 24px
  }

  .tm-pg .appr-sec__cols {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .tm-pg .appr-col__img-wrp {
    height: 220px
  }
}

.spnsr {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff
}

.spnsr ::selection {
  background: #8e73f02e;
  color: inherit
}

.spnsr ::placeholder {
  color: #8e73f059
}

.spnsr .ttl-bnr {
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  padding: 72px 24px;
  position: relative;
  overflow: hidden;
  clip-path: inset(0)
}

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

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

.spnsr .ttl-bnr {
  animation: vrt-clp .9s cubic-bezier(0.22, 1, 0.36, 1) both
}

.spnsr .ttl-bnr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: #fffce966;
  border-radius: 24px 24px 0 0
}

.spnsr .ttl-ctr {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2
}

.spnsr .ttl-lbl {
  font-size: 15px;
  line-height: 1.4;
  color: #ffffffd9;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 12px;
  display: block
}

.spnsr .ttl-hdg {
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 24px;
  font-weight: 700
}

.spnsr .ttl-dsc {
  font-size: 15px;
  line-height: 1.6;
  color: #ffffffeb;
  margin: 0;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto
}

.spnsr .ptnr-wrp {
  padding: 72px 24px;
  background: linear-gradient(to bottom, #f4f4f4 0%, #f4f4f4 52%, #fff 52%, #fff 100%);
  position: relative
}

.spnsr .ptnr-wrp::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1100px;
  height: 2px;
  background: repeating-linear-svg;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 8 L10 0 L20 8' fill='none' stroke='%238E73F0' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 20px 8px;
  background-repeat: repeat-x;
  opacity: .6
}

.spnsr .ptnr-ctr {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 72px
}

.spnsr .ptnr-fcs {
  background: #fff;
  border: 3px dashed #8e73f04d;
  border-radius: 24px;
  padding: 36px;
  box-shadow: 2px 10px 52px -1px #8e73f021;
  position: relative;
  overflow: hidden;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1);
  animation: vrt-clp .9s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: .2s
}

.spnsr .ptnr-fcs:hover {
  border-color: #8e73f099
}

.spnsr .ptnr-fcs::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(323deg, #8e73f00d 0%, #8b08010d 100%);
  opacity: 0;
  transition: opacity .65s ease-in-out;
  pointer-events: none
}

.spnsr .ptnr-fcs:hover::before {
  opacity: 1
}

.spnsr .ptnr-fcs-inr {
  position: relative;
  z-index: 2
}

.spnsr .ptnr-hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 24px;
  text-align: center;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  display: inline-block;
  padding: 12px 36px;
  border-radius: 24px;
  color: #fff;
  width: 100%
}

.spnsr .ptnr-txt {
  font-size: 15px;
  line-height: 1.9;
  color: #2a2a2a;
  margin: 0 0 24px;
  text-indent: 24px
}

.spnsr .ptnr-txt:last-of-type {
  margin-bottom: 0
}

.spnsr .ptnr-grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
  margin-top: 36px
}

.spnsr .ptnr-itm {
  background: #fafafa;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid #e8e8e8;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.spnsr .ptnr-itm::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(323deg, #8e73f014 0%, #8b080114 100%);
  opacity: 0;
  transition: opacity .6s ease-in-out;
  pointer-events: none
}

.spnsr .ptnr-itm:hover::before {
  opacity: 1
}

.spnsr .ptnr-itm:hover {
  transform: scale(1.03);
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.spnsr .ptnr-itm-hdg {
  font-size: 15px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 12px;
  font-weight: 600;
  position: relative;
  z-index: 2
}

.spnsr .ptnr-itm-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0;
  position: relative;
  z-index: 2
}

.spnsr .ptnr-dcr {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: 36px
}

.spnsr .ptnr-dcr-dt {
  width: 12px;
  height: 12px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 999px;
  animation: pls-dt 1.8s ease-in-out infinite
}

.spnsr .ptnr-dcr-dt:nth-child(2) {
  animation-delay: .2s
}

.spnsr .ptnr-dcr-dt:nth-child(3) {
  animation-delay: .4s
}

.spnsr .ptnr-dcr-dt:nth-child(4) {
  animation-delay: .6s
}

.spnsr .ptnr-dcr-dt:nth-child(5) {
  animation-delay: .8s
}

@keyframes pls-dt {

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

  50% {
    opacity: 1;
    transform: scale(1.3)
  }
}

.spnsr .bnft-wrp {
  padding: 72px 24px;
  background: #fff;
  position: relative
}

.spnsr .bnft-wrp::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1100px;
  height: 2px;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0 L10 8 L20 0' fill='none' stroke='%238B0801' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 20px 8px;
  background-repeat: repeat-x;
  opacity: .6
}

.spnsr .bnft-ctr {
  max-width: 1100px;
  margin: 0 auto
}

.spnsr .bnft-hdr {
  text-align: center;
  margin-bottom: 36px
}

.spnsr .bnft-hdg {
  font-size: 26px;
  line-height: 1.4;
  color: #fff;
  margin: 0 0 24px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  display: inline-block;
  padding: 12px 36px;
  border-radius: 24px
}

.spnsr .bnft-dsc {
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
  margin: 0;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto
}

.spnsr .bnft-lyt {
  display: flex;
  flex-direction: row;
  gap: 36px;
  align-items: flex-start;
  margin-top: 36px
}

.spnsr .bnft-img-wrp {
  flex: 0 0 45%;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 2px 10px 52px -1px #8b080121;
  border: 2px solid #e8e8e8;
  animation: vrt-clp .9s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: .3s
}

.spnsr .bnft-img-wrp::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(323deg, #8e73f026 0%, #8b080126 100%);
  opacity: 0;
  transition: opacity .7s ease-in-out;
  pointer-events: none;
  z-index: 2
}

.spnsr .bnft-img-wrp:hover::after {
  opacity: 1
}

.spnsr .bnft-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.spnsr .bnft-img-wrp:hover .bnft-img {
  transform: scale(1.06)
}

.spnsr .bnft-cnt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.spnsr .bnft-stps {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px
}

.spnsr .bnft-stp {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative
}

.spnsr .bnft-stp::after {
  content: '';
  position: absolute;
  top: 18px;
  left: 50%;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, #8e73f04d 0%, #8e73f01a 100%);
  z-index: 1
}

.spnsr .bnft-stp:last-child::after {
  display: none
}

.spnsr .bnft-stp-num {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
  position: relative;
  z-index: 3;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.spnsr .bnft-stp:hover .bnft-stp-num {
  transform: scale(1.15)
}

.spnsr .bnft-stp-lbl {
  font-size: 14px;
  line-height: 1.4;
  color: #3a3a3a;
  text-align: center;
  position: relative;
  z-index: 2
}

.spnsr .bnft-lst {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.spnsr .bnft-crd {
  background: #fafafa;
  padding: 24px;
  border-radius: 2px;
  border-left: 4px solid transparent;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1), transform .4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.spnsr .bnft-crd::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(323deg, #8e73f00f 0%, #8b08010f 100%);
  transition: left .6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.spnsr .bnft-crd:hover::before {
  left: 0
}

.spnsr .bnft-crd:hover {
  border-left-color: #8E73F0;
  transform: translateX(6px)
}

.spnsr .bnft-crd-hdg {
  font-size: 15px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 12px;
  font-weight: 600;
  position: relative;
  z-index: 2
}

.spnsr .bnft-crd-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0;
  position: relative;
  z-index: 2
}

@media (max-width: 1024px) {
  .spnsr .ttl-hdg {
    font-size: clamp(26px, 5vw, 48px)
  }

  .spnsr .ptnr-grd {
    grid-template-columns: 1fr
  }

  .spnsr .bnft-lyt {
    flex-direction: column
  }

  .spnsr .bnft-img-wrp {
    flex: 0 0 100%
  }

  .spnsr .bnft-stps {
    flex-wrap: wrap
  }

  .spnsr .bnft-stp {
    flex: 0 0 calc(50% - 6px)
  }

  .spnsr .bnft-stp:nth-child(2)::after,
  .spnsr .bnft-stp:nth-child(4)::after {
    display: none
  }
}

@media (max-width: 768px) {
  .spnsr .ttl-bnr {
    padding: 36px 24px
  }

  .spnsr .ptnr-wrp {
    padding: 36px 24px
  }

  .spnsr .ptnr-fcs {
    padding: 24px
  }

  .spnsr .ptnr-ctr {
    gap: 36px
  }

  .spnsr .ptnr-grd {
    gap: 24px;
    margin-top: 24px
  }

  .spnsr .bnft-wrp {
    padding: 36px 24px
  }

  .spnsr .bnft-img {
    height: 320px
  }

  .spnsr .bnft-stp {
    flex: 0 0 100%
  }

  .spnsr .bnft-stp::after {
    display: none
  }
}

@media (max-width: 640px) {
  .spnsr .ttl-hdg {
    font-size: 26px
  }

  .spnsr .ttl-lbl {
    font-size: 14px
  }

  .spnsr .ttl-dsc {
    font-size: 14px
  }

  .spnsr .ptnr-hdg {
    font-size: 15px;
    padding: 12px 24px
  }

  .spnsr .ptnr-txt {
    font-size: 14px
  }

  .spnsr .bnft-hdg {
    font-size: 15px;
    padding: 12px 24px
  }

  .spnsr .bnft-dsc {
    font-size: 14px
  }
}

.prm {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff
}

.prm ::selection {
  background: #8e73f02e;
  color: #000
}

.prm ::-moz-selection {
  background: #8e73f02e;
  color: #000
}

.prm ::placeholder {
  color: #8e73f06b
}

.prm ::-moz-placeholder {
  color: #8e73f06b;
  opacity: 1
}

.prm img {
  border: 1px solid #8e73f01c
}

.prm__anc {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  align-items: center;
  gap: 72px;
  padding: 72px 36px;
  min-height: 86vh;
  overflow: visible
}

.prm__anc::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 58%;
  height: 100%;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  z-index: 0;
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%)
}

.prm__anc::after {
  content: '';
  position: absolute;
  bottom: 24px;
  left: 36px;
  width: 120px;
  height: 120px;
  background: #fffce924;
  border-radius: 24px;
  z-index: 1;
  transform: rotate(12deg)
}

.prm__anc-txt {
  position: relative;
  z-index: 2;
  color: #FFFCE9;
  padding: 36px 24px
}

.prm__anc-h {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 24px;
  font-weight: 700
}

.prm__anc-dsc {
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 36px;
  max-width: 520px
}

.prm__anc-acts {
  display: flex;
  gap: 24px;
  flex-wrap: wrap
}

.prm__anc-lnk {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.4;
  padding: 12px 24px;
  border-radius: 2px;
  text-decoration: none;
  transition: transform .52s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .48s ease-in-out;
  background: #fff;
  color: #1a1a1a;
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.prm__anc-lnk:hover {
  transform: scale(1.06);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.prm__anc-lnk--alt {
  background: transparent;
  color: #FFFCE9;
  border: 1px solid #fffce97a;
  box-shadow: none
}

.prm__anc-lnk--alt:hover {
  background: #fffce914;
  border-color: #FFFCE9
}

.prm__anc-vis {
  position: relative;
  z-index: 2
}

.prm__anc-img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  position: relative;
  filter: brightness(0.88);
  transition: filter .58s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm__anc-img::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #8e73f03d 0%, transparent 100%);
  pointer-events: none
}

.prm__anc-vis:hover .prm__anc-img {
  filter: brightness(1.08)
}

@media (max-width: 1024px) {
  .prm__anc {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 48px 24px
  }

  .prm__anc::before {
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 94%, 0 100%)
  }

  .prm__anc-h {
    font-size: 26px
  }

  .prm__anc-img {
    height: 380px
  }
}

@media (max-width: 640px) {
  .prm__anc {
    padding: 36px 12px
  }

  .prm__anc-acts {
    flex-direction: column
  }

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

.prm__appr {
  padding: 72px 36px;
  background: #fafbfc;
  position: relative
}

.prm__appr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, #8e73f052 0px, #8e73f052 12px, transparent 12px, transparent 18px, #8e73f052 18px, #8e73f052 42px, transparent 42px, transparent 48px)
}

.prm__appr-inr {
  max-width: 920px;
  margin: 0 auto
}

.prm__appr-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 36px;
  text-align: center;
  color: #1a1a1a;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%)
}

.prm__appr-h::before {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%)
}

.prm__appr-grd {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 48px 0 0
}

.prm__appr-crd {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  transition: transform .62s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .54s ease-in-out;
  position: relative
}

.prm__appr-crd::before {
  content: '';
  position: absolute;
  top: -6px;
  right: -6px;
  width: 32px;
  height: 32px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 2px;
  opacity: 0;
  transition: opacity .46s ease-in-out
}

.prm__appr-crd:hover::before {
  opacity: 1
}

.prm__appr-crd:hover {
  transform: translateY(-4px);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.prm__appr-crd-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #1a1a1a;
  font-weight: 600
}

.prm__appr-crd-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a
}

.prm__appr-crd-txt+.prm__appr-crd-txt {
  margin-top: 12px
}

@media (max-width: 1024px) {
  .prm__appr-grd {
    grid-template-columns: 1fr;
    gap: 24px
  }
}

@media (max-width: 640px) {
  .prm__appr {
    padding: 48px 12px
  }
}

.prm__obj {
  padding: 72px 36px;
  background: linear-gradient(180deg, #fff 0%, #FFFCE9 100%);
  position: relative
}

.prm__obj::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: repeating-linear-gradient(to right, #8b080147 0px, #8b080147 18px, transparent 18px, transparent 24px, #8b080147 24px, #8b080147 36px, transparent 36px, transparent 42px)
}

.prm__obj-inr {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 72px;
  align-items: start
}

.prm__obj-lft {
  position: sticky;
  top: 72px
}

.prm__obj-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 24px;
  color: #1a1a1a
}

.prm__obj-sub {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a
}

.prm__obj-rgt {
  display: flex;
  flex-direction: column;
  gap: 36px
}

.prm__obj-blk {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 2px 4px 20px -1px #8b080117;
  animation: prm-clip-reveal 1.2s cubic-bezier(0.22, 1, 0.36, 1) backwards
}

.prm__obj-blk:nth-child(1) {
  animation-delay: .1s
}

.prm__obj-blk:nth-child(2) {
  animation-delay: .3s
}

.prm__obj-blk:nth-child(3) {
  animation-delay: .5s
}

@keyframes prm-clip-reveal {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0
  }

  to {
    clip-path: inset(0 0 0 0);
    opacity: 1
  }
}

.prm__obj-blk-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #1a1a1a;
  font-weight: 600;
  background: linear-gradient(323deg, #8e73f024 0%, #8b080124 100%);
  padding: 6px 12px;
  display: inline-block;
  border-radius: 2px
}

.prm__obj-blk-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a;
  text-indent: 24px
}

.prm__obj-blk-txt+.prm__obj-blk-txt {
  margin-top: 0
}

@media (max-width: 1024px) {
  .prm__obj-inr {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .prm__obj-lft {
    position: static
  }
}

@media (max-width: 640px) {
  .prm__obj {
    padding: 48px 12px
  }
}

.prm__aud {
  padding: 72px 36px;
  background: #fff;
  position: relative
}

.prm__aud::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: repeating-linear-gradient(to right, #8e73f061 0px, #8e73f061 8px, transparent 8px, transparent 14px, #8e73f061 14px, #8e73f061 32px, transparent 32px, transparent 38px)
}

.prm__aud-inr {
  max-width: 1120px;
  margin: 0 auto
}

.prm__aud-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 48px;
  text-align: center;
  color: #1a1a1a
}

.prm__aud-grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px
}

.prm__aud-itm {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 24px;
  align-items: start;
  background: #fafbfc;
  padding: 24px;
  border-radius: 24px;
  transition: background .56s ease-in-out, box-shadow .48s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 2px 3px 6px -1px #8e73f014;
  position: relative
}

.prm__aud-itm::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  width: 24px;
  height: 24px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 24px;
  opacity: 0;
  transition: opacity .52s ease-in-out
}

.prm__aud-itm:hover::before {
  opacity: .24
}

.prm__aud-itm:hover {
  background: #fff;
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.prm__aud-img-wrp {
  overflow: hidden;
  border-radius: 24px
}

.prm__aud-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.88);
  transition: filter .64s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm__aud-itm:hover .prm__aud-img {
  filter: brightness(1.08)
}

.prm__aud-cnt {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.prm__aud-cnt-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  color: #1a1a1a;
  font-weight: 600
}

.prm__aud-cnt-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a
}

@media (max-width: 1024px) {
  .prm__aud-grd {
    grid-template-columns: 1fr
  }

  .prm__aud-itm {
    grid-template-columns: 1fr
  }

  .prm__aud-img {
    height: 280px
  }
}

@media (max-width: 640px) {
  .prm__aud {
    padding: 48px 12px
  }
}

.prm__ptrn {
  padding: 72px 36px;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
  position: relative
}

.prm__ptrn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, #8b080152 0px, #8b080152 24px, transparent 24px, transparent 32px, #8b080152 32px, #8b080152 48px, transparent 48px, transparent 56px)
}

.prm__ptrn-inr {
  max-width: 960px;
  margin: 0 auto
}

.prm__ptrn-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 36px;
  text-align: center;
  color: #1a1a1a
}

.prm__ptrn-lst {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 48px 0 0
}

.prm__ptrn-crd {
  background: #fff;
  padding: 24px 36px;
  border-radius: 2px;
  box-shadow: 2px 4px 20px -1px #8b080117;
  transition: transform .58s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .52s ease-in-out;
  border-left: 4px solid transparent;
  position: relative;
  animation: prm-clip-reveal 1.1s cubic-bezier(0.22, 1, 0.36, 1) backwards
}

.prm__ptrn-crd:nth-child(1) {
  animation-delay: .15s
}

.prm__ptrn-crd:nth-child(2) {
  animation-delay: .35s
}

.prm__ptrn-crd:nth-child(3) {
  animation-delay: .55s
}

.prm__ptrn-crd:nth-child(4) {
  animation-delay: .75s
}

.prm__ptrn-crd::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  opacity: 0;
  transition: opacity .46s ease-in-out
}

.prm__ptrn-crd:hover::before {
  opacity: 1
}

.prm__ptrn-crd:hover {
  transform: translateX(6px);
  box-shadow: 2px 10px 52px -1px #8b080121
}

.prm__ptrn-crd-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #1a1a1a;
  font-weight: 600
}

.prm__ptrn-crd-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a;
  text-indent: 24px
}

.prm__ptrn-crd-txt+.prm__ptrn-crd-txt {
  margin-top: 0
}

@media (max-width: 640px) {
  .prm__ptrn {
    padding: 48px 12px
  }

  .prm__ptrn-crd {
    padding: 24px
  }
}

.prm__ctx {
  padding: 72px 36px;
  background: #FFFCE9;
  position: relative
}

.prm__ctx::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: repeating-linear-gradient(to right, #8e73f05c 0px, #8e73f05c 16px, transparent 16px, transparent 22px, #8e73f05c 22px, #8e73f05c 44px, transparent 44px, transparent 50px)
}

.prm__ctx-inr {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 72px;
  align-items: start
}

.prm__ctx-lft {
  display: flex;
  flex-direction: column;
  gap: 36px
}

.prm__ctx-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0;
  color: #1a1a1a;
  text-align: center
}

.prm__ctx-grd {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.prm__ctx-crd {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  transition: transform .64s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .56s ease-in-out
}

.prm__ctx-crd:hover {
  transform: scale(1.04);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.prm__ctx-crd-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #1a1a1a;
  font-weight: 600;
  background: linear-gradient(323deg, #8e73f029 0%, #8b080129 100%);
  padding: 6px 12px;
  display: inline-block;
  border-radius: 2px
}

.prm__ctx-crd-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a
}

.prm__ctx-rgt {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 2px 4px 20px -1px #8e73f017;
  position: sticky;
  top: 72px
}

.prm__ctx-rgt-h {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 24px;
  color: #1a1a1a;
  font-weight: 600;
  text-align: center
}

.prm__ctx-prf {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px
}

.prm__ctx-prf-img-wrp {
  overflow: hidden;
  border-radius: 24px;
  width: 100%;
  max-width: 240px
}

.prm__ctx-prf-img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: top;
  display: block;
  filter: brightness(0.88);
  transition: filter .62s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm__ctx-prf:hover .prm__ctx-prf-img {
  filter: brightness(1.08)
}

.prm__ctx-prf-nm {
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  color: #1a1a1a;
  font-weight: 600
}

.prm__ctx-prf-rl {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a
}

@media (max-width: 1024px) {
  .prm__ctx-inr {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .prm__ctx-rgt {
    position: static
  }

  .prm__ctx-grd {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .prm__ctx {
    padding: 48px 12px
  }
}

.prm__out {
  padding: 72px 36px;
  background: #fff;
  position: relative
}

.prm__out::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #fafbfc;
  z-index: 0
}

.prm__out-inr {
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.prm__out-h {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 48px;
  text-align: center;
  color: #1a1a1a
}

.prm__out-grd {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px
}

.prm__out-crd {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  box-shadow: 2px 4px 20px -1px #8b080117;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .66s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .58s ease-in-out;
  position: relative;
  animation: prm-clip-reveal 1.3s cubic-bezier(0.22, 1, 0.36, 1) backwards
}

.prm__out-crd:nth-child(1) {
  animation-delay: .2s
}

.prm__out-crd:nth-child(2) {
  animation-delay: .4s
}

.prm__out-crd:nth-child(3) {
  animation-delay: .6s
}

.prm__out-crd::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -8px;
  width: 40px;
  height: 40px;
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  border-radius: 24px;
  opacity: 0;
  transition: opacity .48s ease-in-out
}

.prm__out-crd:hover::before {
  opacity: .28
}

.prm__out-crd:hover {
  transform: translateY(-8px);
  box-shadow: 2px 10px 52px -1px #8b080121
}

.prm__out-crd-nm {
  font-size: 15px;
  line-height: 1.4;
  margin: 0;
  color: #1a1a1a;
  font-weight: 600;
  background: linear-gradient(323deg, #8e73f02e 0%, #8b08012e 100%);
  padding: 6px 12px;
  display: inline-block;
  border-radius: 2px;
  align-self: flex-start
}

.prm__out-crd-sit {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a;
  font-style: italic
}

.prm__out-crd-txt {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #2a2a2a;
  text-indent: 24px
}

.prm__out-crd-txt+.prm__out-crd-txt {
  margin-top: 0
}

.prm__out-crd-rslt {
  font-size: 14px;
  line-height: 1.6;
  margin: 12px 0 0;
  color: #1a1a1a;
  font-weight: 600;
  padding: 12px;
  background: linear-gradient(323deg, #8e73f014 0%, #8b080114 100%);
  border-radius: 2px
}

@media (max-width: 1024px) {
  .prm__out-grd {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .prm__out {
    padding: 48px 12px
  }
}

.cntct-pg {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff;
  color: #2a2a2a
}

.cntct-pg ::selection {
  background: #8e73f02e;
  color: #2a2a2a
}

.cntct-pg .hero-intro {
  position: relative;
  padding: 72px 24px;
  background: linear-gradient(323deg, #f8f7fc 0%, #fff 100%);
  overflow: hidden
}

.cntct-pg .hero-intro::before {
  content: '';
  position: absolute;
  top: 24px;
  right: 24px;
  width: 180px;
  height: 180px;
  border: 1px solid #8e73f01f;
  border-radius: 2px;
  pointer-events: none
}

.cntct-pg .hero-intro::after {
  content: '';
  position: absolute;
  top: 36px;
  right: 36px;
  width: 156px;
  height: 156px;
  border: 1px solid #8e73f014;
  border-radius: 2px;
  pointer-events: none
}

.cntct-pg .hero-grid {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 72px;
  max-width: 1200px;
  margin: 0 auto
}

.cntct-pg .hero-txt {
  flex: 1;
  min-width: 0
}

.cntct-pg .hero-txt h1 {
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 24px;
  color: #2a2a2a
}

.cntct-pg .hero-txt h1 .acc-phrase {
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.cntct-pg .hero-txt p {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
  margin: 0 0 12px
}

.cntct-pg .hero-txt p:last-child {
  margin-bottom: 0
}

.cntct-pg .hero-img-wrap {
  flex-shrink: 0;
  width: 340px;
  position: relative
}

.cntct-pg .hero-img-wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 0% 0%, #8e73f026, transparent 70%);
  border-radius: 24px;
  pointer-events: none;
  z-index: 2
}

.cntct-pg .hero-img-wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 100% 100%, #8b08011f, transparent 70%);
  border-radius: 24px;
  pointer-events: none;
  z-index: 2
}

.cntct-pg .hero-img-card {
  width: 100%;
  height: 280px;
  border-radius: 24px;
  border: 1px solid #e8e8e8;
  background: linear-gradient(323deg, #f5f3fb 0%, #faf9fc 100%);
  position: relative;
  overflow: hidden
}

.cntct-pg .corner-deco {
  position: absolute;
  bottom: 24px;
  left: 24px;
  width: 120px;
  height: 1px;
  background: #8e73f033
}

.cntct-pg .corner-deco::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 80px;
  background: #8e73f033
}

.cntct-pg .form-sect {
  position: relative;
  padding: 72px 24px;
  background: #fff;
  overflow: hidden
}

.cntct-pg .form-sect::before {
  content: '';
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 100px;
  background: #fff;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: scaleY(-1)
}

.cntct-pg .form-sect::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #fffce966, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: fog-drift 18s ease-in-out infinite;
  opacity: .6
}

@keyframes fog-drift {

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

  25% {
    transform: translate(200px, 100px)
  }

  50% {
    transform: translate(400px, -50px)
  }

  75% {
    transform: translate(150px, 150px)
  }
}

.cntct-pg .form-contain {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.cntct-pg .form-hd {
  text-align: center;
  margin-bottom: 36px
}

.cntct-pg .form-hd h2 {
  font-size: 26px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #2a2a2a;
  display: inline-block;
  background: linear-gradient(323deg, #8e73f01f, #8b080114);
  padding: 6px 24px;
  border-radius: 2px
}

.cntct-pg .form-hd p {
  font-size: 15px;
  line-height: 1.6;
  color: #5a5a5a;
  margin: 0
}

.cntct-pg .reach-form {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cntct-pg .fld-grp {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.cntct-pg .fld-grp label {
  font-size: 14px;
  line-height: 1.4;
  color: #3a3a3a;
  font-weight: 500
}

.cntct-pg .fld-grp input[type="text"],
.cntct-pg .fld-grp input[type="email"],
.cntct-pg .fld-grp textarea {
  width: 100%;
  padding: 12px 24px;
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.cntct-pg .fld-grp input[type="text"]::placeholder,
.cntct-pg .fld-grp input[type="email"]::placeholder,
.cntct-pg .fld-grp textarea::placeholder {
  color: #8e73f059
}

.cntct-pg .fld-grp input[type="text"]:focus,
.cntct-pg .fld-grp input[type="email"]:focus,
.cntct-pg .fld-grp textarea:focus {
  outline: none;
  border-color: #8e73f080;
  box-shadow: 2px 3px 6px -1px #8e73f014
}

.cntct-pg .fld-grp textarea {
  min-height: 140px;
  resize: vertical
}

.cntct-pg .priv-wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #f9f9f9;
  border-radius: 2px
}

.cntct-pg .priv-wrap input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  cursor: pointer
}

.cntct-pg .priv-wrap label {
  font-size: 14px;
  line-height: 1.6;
  color: #4a4a4a;
  cursor: pointer
}

.cntct-pg .priv-wrap a {
  color: #8E73F0;
  text-decoration: none;
  transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.cntct-pg .priv-wrap a:hover {
  color: #8B0801
}

.cntct-pg .sbmt-btn {
  padding: 12px 36px;
  font-size: 15px;
  line-height: 1.4;
  color: #fff;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 2px 3px 6px -1px #8e73f014;
  align-self: flex-start
}

.cntct-pg .sbmt-btn:hover {
  transform: scale(1.04);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.cntct-pg .sbmt-btn:active {
  transform: scale(0.98)
}

.cntct-pg .details-sect {
  position: relative;
  padding: 72px 24px;
  background: linear-gradient(143deg, #fff 0%, #f9f8fd 50%, #fff 100%)
}

.cntct-pg .details-sect::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(323deg, transparent 0%, transparent 48%, #8e73f008 48%, #8e73f008 52%, transparent 52%, transparent 100%);
  pointer-events: none
}

.cntct-pg .details-inner {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.cntct-pg .details-hd {
  margin-bottom: 36px;
  position: relative
}

.cntct-pg .details-hd::before {
  content: '';
  position: absolute;
  left: -24px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  border-radius: 2px
}

.cntct-pg .details-hd h2 {
  font-size: 26px;
  line-height: 1.4;
  margin: 0;
  color: #2a2a2a;
  padding-left: 24px
}

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

.cntct-pg .dtl-card {
  padding: 24px;
  border-radius: 24px;
  border: 1px solid #e8e8e8;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .7s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.cntct-pg .dtl-card.bg-a {
  background: linear-gradient(323deg, #fafafa 0%, #fff 100%)
}

.cntct-pg .dtl-card.bg-b {
  background: linear-gradient(323deg, #f9f8fd 0%, #fdfcfe 100%)
}

.cntct-pg .dtl-card.bg-c {
  background: linear-gradient(323deg, #fffcf5 0%, #fffef9 100%)
}

.cntct-pg .dtl-card:hover {
  transform: translateY(-6px);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.cntct-pg .dtl-card::before {
  content: '';
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 60px;
  height: 60px;
  border: 1px solid #8e73f01a;
  border-radius: 2px;
  pointer-events: none
}

.cntct-pg .dtl-card::after {
  content: '';
  position: absolute;
  bottom: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  border: 1px solid #8b080114;
  border-radius: 2px;
  pointer-events: none
}

.cntct-pg .dtl-ico {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  background: linear-gradient(323deg, #8e73f014, #8b08010f)
}

.cntct-pg .dtl-ico svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #8E73F0;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.cntct-pg .dtl-card h3 {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 6px;
  color: #3a3a3a;
  font-weight: 600
}

.cntct-pg .dtl-card p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #5a5a5a
}

.cntct-pg .dtl-card a {
  color: #2a2a2a;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
  word-break: break-word
}

.cntct-pg .dtl-card a:hover {
  color: #8E73F0
}

.cntct-pg .prog-wrap {
  margin-top: 36px;
  padding: 24px;
  background: #fff;
  border-radius: 24px;
  border: 1px solid #e8e8e8;
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.cntct-pg .prog-hd {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #3a3a3a;
  font-weight: 600
}

.cntct-pg .prog-bar {
  display: flex;
  flex-direction: row;
  gap: 6px;
  height: 24px
}

.cntct-pg .prog-seg {
  flex: 1;
  background: #f0f0f0;
  border-radius: 2px;
  position: relative;
  overflow: hidden
}

.cntct-pg .prog-seg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1)
}

.cntct-pg .prog-seg.filled::before {
  transform: scaleX(1)
}

.cntct-pg .prog-lbls {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 6px
}

.cntct-pg .prog-lbls span {
  font-size: 14px;
  line-height: 1.4;
  color: #6a6a6a
}

@media (max-width: 1024px) {
  .cntct-pg .hero-grid {
    flex-direction: column;
    gap: 36px
  }

  .cntct-pg .hero-img-wrap {
    width: 100%;
    max-width: 400px
  }

  .cntct-pg .details-grid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .cntct-pg .hero-intro {
    padding: 36px 24px
  }

  .cntct-pg .hero-txt h1 {
    font-size: 26px
  }

  .cntct-pg .form-sect {
    padding: 36px 24px
  }

  .cntct-pg .form-hd h2 {
    font-size: 26px
  }

  .cntct-pg .details-sect {
    padding: 36px 24px
  }

  .cntct-pg .details-hd h2 {
    font-size: 26px
  }

  .cntct-pg .sbmt-btn {
    width: 100%;
    align-self: stretch
  }
}

@media (max-width: 640px) {

  .cntct-pg .hero-intro::before,
  .cntct-pg .hero-intro::after {
    display: none
  }

  .cntct-pg .hero-txt h1 {
    font-size: 26px
  }

  .cntct-pg .prog-lbls {
    flex-direction: column;
    gap: 6px
  }
}

.abt-pg {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff
}

.abt-pg::selection {
  background: #8e73f026;
  color: inherit
}

.abt-pg ::selection {
  background: #8e73f026;
  color: inherit
}

.abt-pg input::placeholder,
.abt-pg textarea::placeholder {
  color: #8e73f059
}

.abt-pg .intro-rad {
  position: relative;
  padding: 72px 24px 144px;
  background: radial-gradient(ellipse at 50% 20%, #8e73f014 0%, #fffce908 35%, #fff 70%);
  overflow: hidden
}

.abt-pg .intro-rad::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, transparent 48%, #8e73f005 48%, #8e73f005 52%, transparent 52%), linear-gradient(-45deg, transparent 48%, #8b080104 48%, #8b080104 52%, transparent 52%);
  background-size: 48px 48px;
  pointer-events: none
}

.abt-pg .intro-rad__inner {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.abt-pg .intro-rad__title-grp {
  text-align: center;
  margin-bottom: 72px
}

.abt-pg .intro-rad__h1 {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 12px;
  font-weight: 700
}

.abt-pg .intro-rad__h2 {
  font-size: 26px;
  line-height: 1.4;
  color: #4a4a4a;
  margin: 0 0 24px;
  font-weight: 500
}

.abt-pg .intro-rad__h3 {
  font-size: 15px;
  line-height: 1.6;
  color: #6a6a6a;
  margin: 0;
  font-weight: 400
}

.abt-pg .intro-rad__img-wrap {
  position: relative;
  width: 100%;
  max-width: 720px;
  margin: 0 auto 36px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.abt-pg .intro-rad__img-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 50%, transparent 30%, #0006 100%);
  pointer-events: none
}

.abt-pg .intro-rad__img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center
}

.abt-pg .intro-rad__txt {
  max-width: 680px;
  margin: 0 auto;
  text-align: center
}

.abt-pg .intro-rad__p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a3a3a;
  margin: 0 0 24px
}

.abt-pg .intro-rad__p:last-child {
  margin-bottom: 0
}

.abt-pg .val-cards {
  position: relative;
  padding: 72px 24px;
  background: linear-gradient(180deg, #fff 0%, #fffce940 15%, #fff 85%)
}

.abt-pg .val-cards::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  height: 70%;
  background-image: polygon(30% 10%, 70% 15%, 85% 45%, 75% 80%, 40% 90%, 15% 60%), polygon(20% 25%, 50% 20%, 80% 35%, 70% 65%, 35% 75%, 10% 50%);
  clip-path: polygon(35% 8%, 42% 12%, 48% 8%, 55% 14%, 62% 10%, 68% 16%, 75% 12%, 82% 20%, 88% 28%, 92% 38%, 94% 48%, 92% 58%, 88% 68%, 82% 76%, 75% 82%, 68% 86%, 62% 90%, 55% 88%, 48% 92%, 42% 88%, 35% 90%, 28% 86%, 22% 80%, 16% 72%, 12% 62%, 8% 52%, 10% 42%, 14% 32%, 20% 24%, 28% 16%);
  background: #8e73f005;
  pointer-events: none
}

.abt-pg .val-cards__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.abt-pg .val-cards__hdr {
  text-align: center;
  margin-bottom: 72px
}

.abt-pg .val-cards__h {
  font-size: 26px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0 0 24px;
  font-weight: 600;
  display: inline-block;
  position: relative;
  padding: 6px 24px;
  background: linear-gradient(323deg, #8e73f014, #8b08010d);
  border-radius: 2px
}

.abt-pg .val-cards__intro {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
  max-width: 720px;
  margin: 0 auto
}

.abt-pg .val-cards__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 72px
}

.abt-pg .val-card {
  background: #fff;
  border-radius: 24px;
  padding: 36px;
  border: 1px solid #8e73f01f;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  transition: all .52s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.abt-pg .val-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .64s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-pg .val-card:hover {
  transform: translateY(-6px);
  box-shadow: 2px 10px 52px -1px #8e73f021;
  border-color: #8e73f038
}

.abt-pg .val-card:hover::before {
  transform: scaleX(1)
}

.abt-pg .val-card__h {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0 0 24px;
  font-weight: 600
}

.abt-pg .val-card__txt {
  font-size: 14px;
  line-height: 1.6;
  color: #4a4a4a
}

.abt-pg .val-card__p {
  margin: 0 0 12px;
  text-indent: 24px
}

.abt-pg .val-card__p:first-of-type {
  text-indent: 0
}

.abt-pg .val-card__p:last-child {
  margin-bottom: 0
}

.abt-pg .val-cards__prcs {
  max-width: 960px;
  margin: 0 auto
}

.abt-pg .prcs-trk {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  margin-bottom: 72px
}

.abt-pg .prcs-trk::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #8e73f040 0%, #8b080126 50%, #8e73f040 100%);
  z-index: 0
}

.abt-pg .prcs-stp {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1
}

.abt-pg .prcs-stp__num {
  width: 40px;
  height: 40px;
  border-radius: 24px;
  background: #fff;
  border: 2px solid #8e73f04d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #8E73F0;
  margin-bottom: 12px;
  transition: all .48s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-pg .prcs-stp:hover .prcs-stp__num {
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  color: #fff;
  border-color: transparent;
  transform: scale(1.15)
}

.abt-pg .prcs-stp__lbl {
  font-size: 14px;
  line-height: 1.4;
  color: #3a3a3a;
  text-align: center;
  font-weight: 500
}

.abt-pg .val-cards__team {
  display: flex;
  align-items: center;
  gap: 36px;
  max-width: 840px;
  margin: 0 auto;
  padding: 36px;
  background: #fff;
  border-radius: 24px;
  border: 1px solid #8b08011f;
  box-shadow: 2px 4px 20px -1px #8b080117
}

.abt-pg .tm-prof {
  flex-shrink: 0;
  width: 180px
}

.abt-pg .tm-prof__img-wrap {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 2/3;
  border: 2px solid #8e73f026
}

.abt-pg .tm-prof__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: filter .56s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-pg .tm-prof__img-wrap:hover .tm-prof__img {
  filter: saturate(1.2) brightness(1.05)
}

.abt-pg .tm-prof__img-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(323deg, #8e73f04d, #8b080140);
  opacity: 0;
  transition: opacity .56s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.abt-pg .tm-prof__img-wrap:hover::after {
  opacity: 1
}

.abt-pg .tm-inf {
  flex: 1
}

.abt-pg .tm-inf__name {
  font-size: 15px;
  line-height: 1.4;
  color: #2a2a2a;
  margin: 0 0 6px;
  font-weight: 600
}

.abt-pg .tm-inf__role {
  font-size: 14px;
  line-height: 1.4;
  color: #6a6a6a;
  margin: 0 0 24px;
  font-weight: 400
}

.abt-pg .tm-inf__bio {
  font-size: 14px;
  line-height: 1.6;
  color: #4a4a4a
}

.abt-pg .tm-inf__p {
  margin: 0 0 12px;
  text-indent: 24px
}

.abt-pg .tm-inf__p:first-of-type {
  text-indent: 0
}

.abt-pg .tm-inf__p:last-child {
  margin-bottom: 0
}

.abt-pg .val-cards__dvdr {
  height: 2px;
  width: 120px;
  margin: 72px auto;
  position: relative;
  background: linear-gradient(90deg, transparent 0%, #8e73f04d 50%, transparent 100%)
}

.abt-pg .val-cards__dvdr::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #8E73F0;
  border-radius: 2px;
  box-shadow: 0 0 0 4px #fff, 0 0 0 6px #8e73f033
}

.abt-pg .val-cards__gal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.abt-pg .gal-itm {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 4/3;
  border: 1px solid #8e73f01f;
  box-shadow: 2px 3px 6px -1px #8e73f014
}

.abt-pg .gal-itm__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .68s cubic-bezier(0.22, 1, 0.36, 1), filter .68s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-pg .gal-itm:hover .gal-itm__img {
  transform: scale(1.08);
  filter: saturate(1.15) brightness(1.08)
}

.abt-pg .gal-itm::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(323deg, #8e73f059, #8b08014d);
  opacity: 0;
  transition: opacity .68s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.abt-pg .gal-itm:hover::after {
  opacity: 1
}

@media (max-width: 1024px) {
  .abt-pg .val-cards__gal {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt-pg .val-cards__team {
    flex-direction: column;
    text-align: center
  }

  .abt-pg .tm-prof {
    width: 200px
  }
}

@media (max-width: 768px) {
  .abt-pg .intro-rad {
    padding: 36px 24px 72px
  }

  .abt-pg .intro-rad__h1 {
    font-size: 26px
  }

  .abt-pg .intro-rad__h2 {
    font-size: 15px
  }

  .abt-pg .intro-rad__h3 {
    font-size: 14px
  }

  .abt-pg .intro-rad__title-grp {
    margin-bottom: 36px
  }

  .abt-pg .val-cards {
    padding: 36px 24px
  }

  .abt-pg .val-cards__h {
    font-size: 15px
  }

  .abt-pg .val-cards__hdr {
    margin-bottom: 36px
  }

  .abt-pg .val-cards__grid {
    margin-bottom: 36px
  }

  .abt-pg .val-card {
    padding: 24px
  }

  .abt-pg .prcs-trk {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 36px
  }

  .abt-pg .prcs-trk::before {
    display: none
  }

  .abt-pg .prcs-stp {
    flex-direction: row;
    width: 100%;
    text-align: left
  }

  .abt-pg .prcs-stp__num {
    margin-bottom: 0;
    margin-right: 12px
  }

  .abt-pg .prcs-stp__lbl {
    text-align: left
  }

  .abt-pg .val-cards__gal {
    grid-template-columns: 1fr
  }

  .abt-pg .val-cards__dvdr {
    margin: 36px auto
  }
}

@media (max-width: 640px) {

  .abt-pg .intro-rad__p,
  .abt-pg .val-cards__intro,
  .abt-pg .val-card__txt,
  .abt-pg .tm-inf__bio {
    font-size: 14px
  }
}

@keyframes abt-pg-reveal {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0
  }

  to {
    clip-path: inset(0 0 0 0);
    opacity: 1
  }
}

.abt-pg .intro-rad {
  animation: abt-pg-reveal .8s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.svc-hub {
  max-width: 1366px;
  margin: 0 auto;
  background: #fff;
  color: #2a2a2a
}

.svc-hub ::selection {
  background: #8e73f02e;
  color: #2a2a2a
}

.svc-hub .intro-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 72px 24px 36px;
  overflow: hidden;
  background: #fafbfc
}

.svc-hub .intro-stage__quote {
  position: absolute;
  top: 12px;
  left: 24px;
  font-size: 240px;
  line-height: 1;
  color: #8e73f00f;
  font-weight: 700;
  pointer-events: none;
  user-select: none
}

.svc-hub .intro-stage__label {
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #666;
  margin-bottom: 12px;
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(24px);
  animation: reveal-lift .6s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards
}

@keyframes reveal-lift {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.svc-hub .intro-stage__title {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 0 24px;
  max-width: 720px;
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(24px);
  animation: reveal-lift .6s cubic-bezier(0.22, 1, 0.36, 1) .2s forwards
}

.svc-hub .intro-stage__text {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  max-width: 680px;
  position: relative;
  z-index: 2;
  margin-bottom: 36px;
  opacity: 0;
  transform: translateY(24px);
  animation: reveal-lift .6s cubic-bezier(0.22, 1, 0.36, 1) .3s forwards
}

.svc-hub .intro-stage__img-wrap {
  position: relative;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(24px);
  animation: reveal-lift .6s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards
}

.svc-hub .intro-stage__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover
}

@media (min-width: 768px) {
  .svc-hub .intro-stage {
    padding: 72px 36px
  }

  .svc-hub .intro-stage__quote {
    font-size: 320px;
    left: 36px
  }
}

@media (min-width: 1024px) {
  .svc-hub .intro-stage {
    flex-direction: row;
    align-items: flex-start;
    gap: 72px;
    padding: 96px 72px
  }

  .svc-hub .intro-stage__content {
    flex: 1 1 60%;
    padding-top: 36px
  }

  .svc-hub .intro-stage__img-wrap {
    flex: 1 1 40%;
    margin: 0;
    max-width: none
  }
}

.svc-hub .offerings {
  background: linear-gradient(323deg, #8E73F0 0%, #8B0801 100%);
  padding: 72px 24px;
  position: relative
}

.svc-hub .offerings::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 36px 36px 0;
  border-color: #8B0801 transparent transparent
}

.svc-hub .offerings__hdr {
  text-align: center;
  margin-bottom: 48px
}

.svc-hub .offerings__hdr-bg {
  display: inline-block;
  background: #ffffff26;
  padding: 6px 24px;
  border-radius: 2px
}

.svc-hub .offerings__hdr-txt {
  font-size: 26px;
  line-height: 1.4;
  color: #fff;
  margin: 0
}

.svc-hub .offerings__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto
}

.svc-hub .svc-card {
  background: #fff;
  border-radius: 24px;
  padding: 36px 24px;
  box-shadow: 2px 3px 6px -1px #8e73f014;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.svc-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #8E73F0, #8B0801);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc-card:hover::before {
  transform: scaleX(1)
}

.svc-hub .svc-card:hover {
  transform: translateY(-6px);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.svc-hub .svc-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #8e73f01a, #8b08011a);
  border-radius: 2px
}

.svc-hub .svc-card__icon svg {
  width: 28px;
  height: 28px;
  fill: #8E73F0;
  transition: fill .45s ease-in-out
}

.svc-hub .svc-card:hover .svc-card__icon svg {
  fill: #8B0801
}

.svc-hub .svc-card__ttl {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 12px
}

.svc-hub .svc-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

@media (min-width: 640px) {
  .svc-hub .offerings__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 768px) {
  .svc-hub .offerings {
    padding: 96px 36px
  }
}

@media (min-width: 1024px) {
  .svc-hub .offerings {
    padding: 120px 72px
  }

  .svc-hub .offerings__grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.svc-hub .approach {
  background: #f7f7f7;
  padding: 72px 24px
}

.svc-hub .approach__inner {
  max-width: 1200px;
  margin: 0 auto
}

.svc-hub .approach__hdr-wrap {
  text-align: center;
  margin-bottom: 48px
}

.svc-hub .approach__hdr {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0;
  display: inline-block;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.svc-hub .approach__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px
}

.svc-hub .approach__col {
  background: #fff;
  border-radius: 24px;
  padding: 36px 24px;
  box-shadow: 2px 4px 20px -1px #8b080117;
  position: relative;
  overflow: hidden
}

.svc-hub .approach__col::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  background: linear-gradient(180deg, #8E73F0, #8B0801);
  opacity: 0;
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc-hub .approach__col:hover::before {
  opacity: 1
}

.svc-hub .approach__col-num {
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
  color: #8e73f01f;
  margin: 0 0 12px
}

.svc-hub .approach__col-ttl {
  font-size: 26px;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0 0 12px
}

.svc-hub .approach__col-txt {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin: 0
}

@media (min-width: 768px) {
  .svc-hub .approach {
    padding: 96px 36px
  }

  .svc-hub .approach__cols {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 1024px) {
  .svc-hub .approach {
    padding: 120px 72px
  }

  .svc-hub .approach__cols {
    grid-template-columns: repeat(4, 1fr)
  }
}

.svc-hub .experts {
  background: #2d1b4e;
  padding: 72px 24px;
  position: relative
}

.svc-hub .experts__inner {
  max-width: 1200px;
  margin: 0 auto
}

.svc-hub .experts__hdr-wrap {
  margin-bottom: 48px
}

.svc-hub .experts__hdr-bg {
  display: inline-block;
  background: #fffce914;
  padding: 6px 24px;
  border-radius: 2px
}

.svc-hub .experts__hdr {
  font-size: 26px;
  line-height: 1.4;
  color: #FFFCE9;
  margin: 0
}

.svc-hub .experts__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px
}

.svc-hub .expert-profile {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #ffffff0a;
  padding: 24px;
  border-radius: 24px;
  border: 2px solid transparent;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc-hub .expert-profile:hover {
  border-color: #8e73f04d;
  background: #ffffff0f
}

.svc-hub .expert-profile__img-wrap {
  width: 160px;
  height: 224px;
  border-radius: 2px;
  overflow: hidden;
  border: 1px solid #fffce926;
  flex-shrink: 0
}

.svc-hub .expert-profile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.svc-hub .expert-profile__info {
  flex: 1
}

.svc-hub .expert-profile__name {
  font-size: 26px;
  line-height: 1.4;
  color: #FFFCE9;
  margin: 0 0 6px
}

.svc-hub .expert-profile__role {
  font-size: 15px;
  line-height: 1.4;
  color: #fffce9b3;
  margin: 0 0 12px
}

.svc-hub .expert-profile__bio {
  font-size: 15px;
  line-height: 1.6;
  color: #fffce9d9;
  margin: 0
}

.svc-hub .experts__cta-wrap {
  margin-top: 48px;
  text-align: center
}

.svc-hub .experts__cta {
  display: inline-block;
  padding: 12px 36px;
  font-size: 15px;
  line-height: 1.4;
  color: #fff;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  border: none;
  border-radius: 2px;
  text-decoration: none;
  cursor: pointer;
  transition: transform .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 2px 3px 6px -1px #8e73f014
}

.svc-hub .experts__cta:hover {
  transform: scale(1.05);
  box-shadow: 2px 10px 52px -1px #8e73f021
}

.svc-hub .experts__cta:focus-visible {
  outline: 2px solid #FFFCE9 !important;
  outline-offset: 3px !important
}

@media (min-width: 640px) {
  .svc-hub .expert-profile {
    flex-direction: row
  }
}

@media (min-width: 768px) {
  .svc-hub .experts {
    padding: 96px 36px
  }

  .svc-hub .experts__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width: 1024px) {
  .svc-hub .experts {
    padding: 120px 72px
  }
}

.success-pg {
  max-width: 1366px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #fff
}

.success-pg .confirm-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  max-width: 680px;
  margin: 0 auto;
  text-align: center
}

.success-pg .status-icon {
  width: 96px;
  height: 96px;
  border-radius: 24px;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 4px 20px -1px #8e73f017
}

.success-pg .status-icon svg {
  width: 52px;
  height: 52px;
  stroke: #fff;
  stroke-width: 3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round
}

.success-pg .confirm-title {
  font-size: 48px;
  line-height: 1.2;
  color: #1a1a2e;
  margin: 0
}

.success-pg .confirm-msg {
  font-size: 15px;
  line-height: 1.6;
  color: #2d2d44;
  margin: 0
}

.success-pg .details-box {
  background: #FFFCE9;
  border-radius: 24px;
  padding: 36px;
  margin: 24px 0;
  text-align: left;
  box-shadow: 2px 3px 6px -1px #8b080114
}

.success-pg .details-box .info-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 24px
}

.success-pg .details-box .info-row:last-child {
  margin: 0
}

.success-pg .details-box .info-label {
  font-size: 14px;
  line-height: 1.4;
  color: #6b6b7d;
  margin: 0
}

.success-pg .details-box .info-value {
  font-size: 15px;
  line-height: 1.4;
  color: #1a1a2e;
  margin: 0
}

.success-pg .next-steps {
  background: #f7f7fa;
  border-radius: 24px;
  padding: 36px;
  margin: 36px 0;
  text-align: left
}

.success-pg .next-steps .step-title {
  font-size: 26px;
  line-height: 1.2;
  color: #1a1a2e;
  margin: 0 0 24px;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  display: inline-block;
  padding: 6px 24px;
  border-radius: 2px;
  color: #fff
}

.success-pg .next-steps .step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.success-pg .next-steps .step-item {
  display: flex;
  gap: 12px;
  align-items: flex-start
}

.success-pg .next-steps .step-num {
  width: 32px;
  height: 32px;
  border-radius: 24px;
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1.2;
  flex-shrink: 0
}

.success-pg .next-steps .step-txt {
  font-size: 15px;
  line-height: 1.6;
  color: #2d2d44;
  margin: 0;
  padding: 6px 0 0
}

.success-pg .action-grp {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center
}

.success-pg .btn-primary {
  background: linear-gradient(323deg, #8E73F0, #8B0801);
  color: #fff;
  border: none;
  border-radius: 2px;
  padding: 12px 36px;
  font-size: 15px;
  line-height: 1.4;
  cursor: pointer;
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 2px 4px 20px -1px #8e73f017;
  text-decoration: none;
  display: inline-block
}

.success-pg .btn-primary:hover {
  transform: scale(1.05)
}

.success-pg .btn-secondary {
  background: transparent;
  color: #8E73F0;
  border: 2px solid #8E73F0;
  border-radius: 2px;
  padding: 12px 36px;
  font-size: 15px;
  line-height: 1.4;
  cursor: pointer;
  transition: all .6s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.success-pg .btn-secondary:hover {
  background: #8E73F0;
  color: #fff;
  transform: scale(1.05)
}

.success-pg .contact-note {
  font-size: 14px;
  line-height: 1.6;
  color: #6b6b7d;
  margin: 36px 0 0;
  text-align: center
}

.success-pg .contact-note a {
  color: #8E73F0;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.success-pg .contact-note a:hover {
  border-bottom-color: #8E73F0
}

@media (max-width: 640px) {
  .success-pg {
    padding: 36px 12px
  }

  .success-pg .confirm-title {
    font-size: 26px
  }

  .success-pg .details-box {
    padding: 24px
  }

  .success-pg .next-steps {
    padding: 24px
  }

  .success-pg .btn-primary,
  .success-pg .btn-secondary {
    width: 100%;
    text-align: center
  }
}