html {
  box-sizing: border-box
}

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

body {
  margin: 0;
  min-height: 100dvh;
  overflow-x: hidden
}

.hd {
  position: relative;
  font-family: 'Fira Sans', 'Source Sans Pro', sans-serif;
  background: linear-gradient(135deg, #2a0a24 0%, #3d1035 40%, #1e0818 100%);
  overflow: hidden
}

.hd__arc {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: linear-gradient(160deg, #c655af38 0%, #d8b5da14 100%);
  pointer-events: none;
  z-index: 0
}

.hd__arc--sm {
  top: auto;
  bottom: -60px;
  right: auto;
  left: 30%;
  width: 220px;
  height: 220px;
  background: #c655af1a
}

.hd__row {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1320px;
  margin: 0 auto;
  padding: 32px 48px 16px;
  gap: 32px
}

.hd__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-left: 8px;
  text-decoration: none
}

.hd__brand-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 5px;
  background: #faf8fa21;
  border: 1px solid #c655af61;
  box-shadow: 1px 3px 2px -1px #c655af0d 1px 5px 14px -1px #c655af1c;
  flex-shrink: 0
}

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

.hd__brand-name {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
  color: #FAF8FA;
  letter-spacing: 0
}

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

.hd__menu-item {
  margin: 0;
  padding: 0
}

.hd__menu-lnk {
  display: block;
  font-family: 'Fira Sans', 'Source Sans Pro', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #faf8fad1;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 5px;
  transition: color .15s ease-out, background .15s ease-out, transform .12s ease-out
}

.hd__menu-lnk:hover {
  color: #FAF8FA;
  background: #c655af2e;
  transform: scale(0.97)
}

.hd__menu-lnk:focus {
  outline: none;
  filter: invert(1)
}

.hd__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0
}

.hd__contact-lnk {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Fira Sans', 'Source Sans Pro', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.1;
  color: #faf8facc;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 3px;
  min-height: 44px;
  transition: color .18s ease-out, background .18s ease-out, transform .12s ease-out
}

.hd__contact-lnk:hover {
  color: #FAF8FA;
  background: #c655af24;
  transform: scale(0.97)
}

.hd__contact-lnk:focus {
  outline: none;
  filter: invert(1)
}

.hd__contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0
}

.hd__contact-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #C655AF;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.hd__divider {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px
}

.hd__divider-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #c655af59 30%, #d8b5da40 70%, transparent 100%)
}

.hd__tagline-row {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 48px 32px;
  gap: 16px
}

.hd__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #c655af24;
  border: 1px solid #c655af47;
  border-radius: 32px;
  padding: 4px 16px;
  font-family: 'Source Sans Pro', 'Fira Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #D8B5DA
}

.hd__tag-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C655AF;
  flex-shrink: 0
}

@media (max-width: 1366px) {
  .hd__row {
    padding: 32px 32px 16px;
    gap: 16px
  }

  .hd__divider {
    padding: 0 32px
  }

  .hd__tagline-row {
    padding: 12px 32px 32px
  }
}

@media (max-width: 768px) {
  .hd__row {
    flex-wrap: wrap;
    padding: 24px 16px 12px;
    gap: 16px
  }

  .hd__brand {
    margin-left: 0
  }

  .hd__contacts {
    flex-direction: row;
    align-items: center;
    gap: 4px;
    order: 3;
    width: 100%;
    justify-content: flex-end
  }

  .hd__menu {
    order: 2;
    width: 100%;
    justify-content: flex-start;
    gap: 0
  }

  .hd__menu-lnk {
    padding: 8px 12px;
    font-size: 16px
  }

  .hd__divider {
    padding: 0 16px
  }

  .hd__tagline-row {
    padding: 8px 16px 24px;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start
  }

  .hd__arc {
    width: 260px;
    height: 260px;
    top: -60px;
    right: -60px
  }
}

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

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

  .hd__tagline-row {
    padding: 8px 12px 16px
  }

  .hd__divider {
    padding: 0 12px
  }

  .hd__tag {
    font-size: 16px;
    padding: 4px 12px
  }
}

.ft {
  font-family: 'Source Sans Pro', 'Fira Sans', sans-serif;
  background: #1a0d17;
  color: #faf8fab3
}

.ft__top {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 48px 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px
}

.ft__col-head {
  font-family: 'Fira Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: #D8B5DA;
  margin: 0 0 16px;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0
}

.ft__brand-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px
}

.ft__brand-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 5px;
  background: #faf8fa1a;
  border: 1px solid #c655af4d;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  flex-shrink: 0
}

.ft__brand-img img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block
}

.ft__brand-name {
  font-family: 'Fira Sans', sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
  color: #FAF8FA
}

.ft__desc {
  font-size: 16px;
  line-height: 1.75;
  color: #faf8fa94;
  margin: 0;
  padding: 0
}

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

.ft__links-item {
  margin: 0;
  padding: 0
}

.ft__link {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  color: #faf8faa6;
  text-decoration: none;
  padding: 4px 0;
  border-radius: 3px;
  transition: color .15s ease-out, transform .12s ease-out
}

.ft__link:hover {
  color: #D8B5DA;
  transform: scale(0.97)
}

.ft__link:focus {
  outline: none;
  filter: invert(1)
}

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

.ft__contact-item {
  margin: 0;
  padding: 0
}

.ft__contact-row {
  display: flex;
  align-items: flex-start;
  gap: 8px
}

.ft__contact-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px
}

.ft__contact-ico svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #C655AF;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ft__contact-val {
  font-size: 16px;
  line-height: 1.75;
  color: #faf8faa6;
  text-decoration: none;
  transition: color .15s ease-out
}

.ft__contact-val:hover {
  color: #D8B5DA
}

.ft__contact-val:focus {
  outline: none;
  filter: invert(1)
}

.ft__sep {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px
}

.ft__sep-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #c655af38 40%, #d8b5da26 70%, transparent 100%)
}

.ft__bottom {
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 48px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap
}

.ft__copy {
  font-size: 16px;
  line-height: 1.75;
  color: #faf8fa66;
  margin: 0;
  padding: 0
}

.ft__copy-accent {
  color: #c655afb3
}

.ft__addr {
  font-size: 16px;
  line-height: 1.75;
  color: #faf8fa59;
  margin: 0;
  padding: 0;
  text-align: right
}

@media (max-width: 1366px) {
  .ft__top {
    padding: 48px 32px 32px;
    gap: 32px
  }

  .ft__sep {
    padding: 0 32px
  }

  .ft__bottom {
    padding: 24px 32px 32px
  }
}

@media (max-width: 768px) {
  .ft__top {
    grid-template-columns: 1fr 1fr;
    padding: 32px 16px 24px;
    gap: 32px
  }

  .ft__sep {
    padding: 0 16px
  }

  .ft__bottom {
    padding: 16px 16px 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
  }

  .ft__addr {
    text-align: left
  }
}

@media (max-width: 375px) {
  .ft__top {
    grid-template-columns: 1fr;
    padding: 24px 12px 16px;
    gap: 24px
  }

  .ft__sep {
    padding: 0 12px
  }

  .ft__bottom {
    padding: 12px 12px 20px
  }
}

.ck-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  background: #2a0a24;
  border-top: 1px solid #c655af4d;
  box-shadow: 1px 10px 60px -1px #c655af24;
  font-family: 'Fira Sans', 'Source Sans Pro', sans-serif
}

.ck-bar__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 16px 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap
}

.ck-bar__txt-grp {
  flex: 1;
  min-width: 240px
}

.ck-bar__head {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: #FAF8FA;
  margin: 0 0 4px
}

.ck-bar__desc {
  font-size: 16px;
  line-height: 1.75;
  color: #faf8faa6;
  margin: 0
}

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

.ck-bar__ok {
  font-family: 'Fira Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: #FAF8FA;
  background: #C655AF;
  border: none;
  border-radius: 5px;
  padding: 12px 32px;
  cursor: pointer;
  min-height: 44px;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: background .15s ease-out, transform .12s ease-out
}

.ck-bar__ok:hover {
  background: #b04a9c;
  transform: scale(0.97)
}

.ck-bar__ok:focus {
  outline: none;
  filter: invert(1)
}

.ck-bar__skip {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #faf8fa8c;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  min-height: 44px;
  transition: color .15s ease-out
}

.ck-bar__skip:hover {
  color: #D8B5DA
}

.ck-bar__skip:focus {
  outline: none;
  filter: invert(1)
}

@media (max-width: 768px) {
  .ck-bar__inner {
    padding: 16px;
    gap: 16px
  }

  .ck-bar__acts {
    width: 100%;
    justify-content: flex-end
  }
}

@media (max-width: 375px) {
  .ck-bar__inner {
    padding: 12px
  }

  .ck-bar__acts {
    flex-direction: column;
    align-items: stretch;
    gap: 8px
  }

  .ck-bar__ok {
    text-align: center
  }
}

.doc-body {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px;
  color: #2d1f2b
}

.doc-body h1 {
  font-size: 44px;
  line-height: 1.1;
  margin-bottom: 32px;
  color: #1a0d18;
  padding-bottom: 16px;
  border-bottom: 2px solid #D8B5DA
}

.doc-body h2 {
  font-size: 32px;
  line-height: 1.1;
  margin-top: 48px;
  margin-bottom: 16px;
  color: #1a0d18
}

.doc-body h3 {
  font-size: 24px;
  line-height: 1.1;
  margin-top: 32px;
  margin-bottom: 12px;
  color: #2d1f2b
}

.doc-body h4 {
  font-size: 19px;
  line-height: 1.75;
  margin-top: 32px;
  margin-bottom: 8px;
  color: #2d1f2b;
  font-weight: 700
}

.doc-body h5 {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 16px;
  margin-bottom: 8px;
  color: #3d2b3b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em
}

.doc-body h6 {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 16px;
  margin-bottom: 4px;
  color: #5a3d57;
  font-weight: 600
}

.doc-body p {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 16px;
  color: #2d1f2b
}

.doc-body ul {
  margin: 16px 0 16px 32px;
  padding: 0;
  list-style: none
}

.doc-body ol {
  margin: 16px 0 16px 32px;
  padding: 0;
  list-style: none;
  counter-reset: policy-counter
}

.doc-body ul li {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 8px;
  color: #2d1f2b;
  padding-left: 16px;
  position: relative
}

.doc-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C655AF
}

.doc-body ol li {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 8px;
  color: #2d1f2b;
  padding-left: 16px;
  position: relative;
  counter-increment: policy-counter
}

.doc-body ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: -16px;
  top: 0;
  color: #C655AF;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.75
}

.doc-body em,
.doc-body i {
  font-style: italic;
  color: #4a2f47
}

.doc-body a {
  color: #C655AF;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .15s ease-out, text-decoration-color .15s ease-out
}

.doc-body a:hover {
  color: #9e3f8a;
  text-decoration-color: #9e3f8a
}

.doc-body a:visited {
  color: #a04898
}

.doc-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 16px;
  line-height: 1.75;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  border-radius: 5px;
  overflow: hidden
}

.doc-body thead {
  background: #C655AF
}

.doc-body thead th {
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 12px 16px;
  text-align: left
}

.doc-body tbody tr {
  border-bottom: 1px solid #D8B5DA;
  transition: background .12s ease-out
}

.doc-body tbody tr:last-child {
  border-bottom: none
}

.doc-body tbody tr:hover {
  background: #FAF8FA
}

.doc-body tbody tr:nth-child(even) {
  background: #d8b5da1f
}

.doc-body tbody tr:nth-child(even):hover {
  background: #FAF8FA
}

.doc-body td {
  padding: 12px 16px;
  color: #2d1f2b;
  vertical-align: top
}

.doc-body th {
  padding: 12px 16px;
  vertical-align: middle
}

.doc-body div {
  font-size: 16px;
  line-height: 1.75
}

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

  .doc-body h1 {
    font-size: 32px
  }

  .doc-body h2 {
    font-size: 24px;
    margin-top: 32px
  }

  .doc-body h3 {
    font-size: 19px;
    margin-top: 32px
  }

  .doc-body table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .doc-body ul {
    margin-left: 16px
  }

  .doc-body ol {
    margin-left: 16px
  }
}

@media (max-width: 375px) {
  .doc-body {
    padding: 16px 12px
  }

  .doc-body h1 {
    font-size: 24px
  }

  .doc-body h2 {
    font-size: 19px
  }

  .doc-body h3 {
    font-size: 16px
  }

  .doc-body ul {
    margin-left: 8px
  }

  .doc-body ol {
    margin-left: 8px
  }

  .doc-body td,
  .doc-body th {
    padding: 8px 12px
  }
}

.ctus {
  background: #fff;
  overflow-x: clip;
  padding: 0
}

.ctus .pg-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.ctus .reach__band {
  background: linear-gradient(253deg, #C655AF 0%, #FAF8FA 100%);
  padding: 80px 32px 48px;
  position: relative;
  overflow: hidden
}

.ctus .reach__band::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 320px;
  height: 320px;
  border: 2px solid #c655af2e;
  border-radius: 50%;
  animation: geo-pulse 4s ease-in-out infinite;
  pointer-events: none
}

.ctus .reach__band::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: 80px;
  width: 200px;
  height: 200px;
  border: 1.5px solid #c655af1f;
  border-radius: 50%;
  animation: geo-pulse 5.5s ease-in-out infinite reverse;
  pointer-events: none
}

@keyframes geo-pulse {

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

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

.ctus .reach__cols {
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start;
  max-width: 1320px;
  margin: 0 auto
}

.ctus .reach__img-col {
  flex: 0 0 420px;
  position: relative;
  padding-top: 48px
}

.ctus .reach__img-wrap {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: 1px 10px 60px -1px #c655af24
}

.ctus .reach__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.ctus .reach__img-tint {
  position: absolute;
  inset: 0;
  background: #c655af2e;
  pointer-events: none
}

.ctus .reach__bracket {
  position: absolute;
  width: 28px;
  height: 28px;
  pointer-events: none
}

.ctus .reach__bracket--tl {
  top: 40px;
  left: -8px;
  border-top: 2px solid #C655AF;
  border-left: 2px solid #C655AF;
  border-radius: 3px 0 0 0
}

.ctus .reach__bracket--tr {
  top: 40px;
  right: -8px;
  border-top: 2px solid #C655AF;
  border-right: 2px solid #C655AF;
  border-radius: 0 3px 0 0
}

.ctus .reach__bracket--bl {
  bottom: -8px;
  left: -8px;
  border-bottom: 2px solid #C655AF;
  border-left: 2px solid #C655AF;
  border-radius: 0 0 0 3px
}

.ctus .reach__bracket--br {
  bottom: -8px;
  right: -8px;
  border-bottom: 2px solid #C655AF;
  border-right: 2px solid #C655AF;
  border-radius: 0 0 3px 0
}

.ctus .reach__txt-col {
  flex: 1;
  padding-top: 48px
}

.ctus .reach__label {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block
}

.ctus .reach__h1 {
  font-size: 60px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 32px;
  overflow: hidden
}

.ctus .reach__h1-inner {
  display: block;
  animation: split-reveal .7s ease-out both
}

@keyframes split-reveal {
  0% {
    letter-spacing: .3em;
    opacity: 0;
    transform: translateY(24px)
  }

  100% {
    letter-spacing: normal;
    opacity: 1;
    transform: translateY(0)
  }
}

.ctus .reach__divider {
  width: 48px;
  height: 3px;
  background: #C655AF;
  border-radius: 3px;
  margin-bottom: 32px
}

.ctus .reach__desc {
  font-size: 19px;
  line-height: 1.75;
  color: #2e2e2e;
  max-width: 480px;
  text-indent: -1em;
  padding-left: 1em
}

.ctus .reach__meta {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ctus .reach__meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.ctus .reach__meta-icon {
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: #c655af1a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ctus .reach__meta-icon svg {
  width: 18px;
  height: 18px;
  stroke: #C655AF;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ctus .reach__meta-text {
  font-size: 16px;
  line-height: 1.75;
  color: #2e2e2e
}

.ctus .reach__meta-text a {
  color: #C655AF;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color .15s ease-out
}

.ctus .reach__meta-text a:hover {
  color: #9e3e88
}

.ctus .form-band {
  background: #FAF8FA;
  padding: 80px 32px;
  position: relative
}

.ctus .form-band__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start
}

.ctus .form-band__aside {
  flex: 0 0 300px;
  padding-top: 8px
}

.ctus .form-band__aside-head {
  font-size: 32px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 16px;
  position: relative;
  padding-left: 16px
}

.ctus .form-band__aside-head::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: #C655AF;
  border-radius: 3px
}

.ctus .form-band__aside-body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a3a;
  text-indent: -1em;
  padding-left: 1em
}

.ctus .form-band__aside-tags {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ctus .form-band__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #d8b5da4d;
  border-radius: 32px;
  padding: 4px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #2e2e2e;
  width: fit-content
}

.ctus .form-band__tag-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C655AF;
  flex-shrink: 0
}

.ctus .form-band__form-col {
  flex: 1
}

.ctus .ctus-form {
  background: #fff;
  border-radius: 5px;
  padding: 48px;
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.ctus .ctus-form__row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 16px
}

.ctus .ctus-form__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.ctus .ctus-form__field--full {
  flex: 1 1 100%
}

.ctus .ctus-form__label {
  font-size: 16px;
  line-height: 1.75;
  color: #1b1b1b;
  font-weight: 600
}

.ctus .ctus-form__label--req::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #C655AF;
  border-radius: 50%;
  margin-left: 4px;
  vertical-align: super
}

.ctus .ctus-form__input {
  border: 1.5px solid #d4c4d6;
  border-radius: 5px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1b1b1b;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s ease-out, box-shadow .2s ease-out;
  outline: none;
  box-shadow: inset 0 2px 4px #c655af0d
}

.ctus .ctus-form__input::placeholder {
  color: #a08aa2
}

.ctus .ctus-form__input:focus {
  border-color: #C655AF !important;
  box-shadow: inset 0 2px 4px #c655af0d 0 0 0 3px #c655af24 !important
}

.ctus .ctus-form__input:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 2px !important
}

.ctus .ctus-form__select {
  border: 1.5px solid #d4c4d6;
  border-radius: 5px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1b1b1b;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s ease-out;
  outline: none;
  appearance: none;
  cursor: pointer;
  box-shadow: inset 0 2px 4px #c655af0d
}

.ctus .ctus-form__select:focus {
  border-color: #C655AF !important;
  box-shadow: inset 0 2px 4px #c655af0d 0 0 0 3px #c655af24 !important
}

.ctus .ctus-form__select:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 2px !important
}

.ctus .ctus-form__checks-label {
  font-size: 16px;
  line-height: 1.75;
  color: #1b1b1b;
  font-weight: 600;
  margin-bottom: 12px;
  display: block
}

.ctus .ctus-form__checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin-bottom: 16px
}

.ctus .ctus-form__check-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer
}

.ctus .ctus-form__check-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #C655AF;
  cursor: pointer;
  flex-shrink: 0
}

.ctus .ctus-form__check-item input[type="checkbox"]:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 2px !important
}

.ctus .ctus-form__check-text {
  font-size: 16px;
  line-height: 1.75;
  color: #2e2e2e
}

.ctus .ctus-form__textarea {
  border: 1.5px solid #d4c4d6;
  border-radius: 5px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1b1b1b;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  min-height: 120px;
  resize: vertical;
  transition: border-color .15s ease-out, box-shadow .2s ease-out;
  outline: none;
  box-shadow: inset 0 3px 6px #c655af0d
}

.ctus .ctus-form__textarea::placeholder {
  color: #a08aa2
}

.ctus .ctus-form__textarea:focus {
  border-color: #C655AF !important;
  box-shadow: inset 0 3px 6px #c655af0d 0 0 0 3px #c655af24 !important
}

.ctus .ctus-form__textarea:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 2px !important
}

.ctus .ctus-form__privacy {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
  margin-top: 8px
}

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

.ctus .ctus-form__privacy input[type="checkbox"]:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 2px !important
}

.ctus .ctus-form__privacy-text {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a3a
}

.ctus .ctus-form__privacy-text a {
  color: #C655AF;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color .15s ease-out
}

.ctus .ctus-form__privacy-text a:hover {
  color: #9e3e88
}

.ctus .ctus-form__submit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.ctus .ctus-form__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #C655AF;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 16px 32px;
  font-size: 19px;
  line-height: 1.1;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .15s ease-out, background .15s ease-out, box-shadow .2s ease;
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.ctus .ctus-form__btn-icon {
  width: 0;
  overflow: hidden;
  transition: width .15s ease-out;
  display: flex;
  align-items: center
}

.ctus .ctus-form__btn-icon svg {
  width: 20px;
  height: 20px;
  stroke: #fff;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0
}

.ctus .ctus-form__btn:hover {
  transform: scale(0.97);
  background: #a83d94;
  box-shadow: 1px 10px 60px -1px #c655af24
}

.ctus .ctus-form__btn:hover .ctus-form__btn-icon {
  width: 20px
}

.ctus .ctus-form__btn:focus-visible {
  outline: 2px solid #C655AF !important;
  outline-offset: 3px !important
}

.ctus .ctus-form__btn:active {
  transform: scale(0.95)
}

.ctus .ctus-form__note {
  font-size: 16px;
  line-height: 1.75;
  color: #7a6a7c
}

.ctus .signals-band {
  background: #fff;
  padding: 80px 32px;
  position: relative
}

.ctus .signals-band__geo {
  position: absolute;
  top: 32px;
  left: 32px;
  width: 180px;
  height: 180px;
  border: 1.5px solid #c655af1a;
  border-radius: 50%;
  animation: geo-pulse 6s ease-in-out infinite;
  pointer-events: none
}

.ctus .signals-band__inner {
  max-width: 1320px;
  margin: 0 auto
}

.ctus .signals-band__head {
  text-align: center;
  margin-bottom: 48px
}

.ctus .signals-band__h2 {
  font-size: 44px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 16px;
  position: relative;
  display: inline-block
}

.ctus .signals-band__sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a3a;
  max-width: 560px;
  margin: 0 auto;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em
}

.ctus .signals-band__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px
}

.ctus .sig-card {
  border-radius: 5px;
  padding: 32px;
  background: #FAF8FA;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  transition: transform .15s ease-out, box-shadow .2s ease;
  position: relative
}

.ctus .sig-card:hover {
  transform: scale(0.97);
  box-shadow: 1px 10px 60px -1px #c655af24
}

.ctus .sig-card__num {
  font-size: 70px;
  line-height: 1.1;
  color: #c655af1f;
  font-weight: 900;
  position: absolute;
  top: 16px;
  right: 16px;
  pointer-events: none;
  user-select: none
}

.ctus .sig-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 5px;
  background: #c655af1a;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px
}

.ctus .sig-card__icon svg {
  width: 22px;
  height: 22px;
  stroke: #C655AF;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ctus .sig-card__h3 {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 12px;
  position: relative;
  padding-left: 12px
}

.ctus .sig-card__h3::before {
  content: '';
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 3px;
  background: #C655AF;
  border-radius: 3px
}

.ctus .sig-card__body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a3a;
  text-indent: -1em;
  padding-left: 1em
}

.ctus .sig-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color .15s ease-out, gap .15s ease-out
}

.ctus .sig-card__link:hover {
  color: #9e3e88;
  gap: 12px
}

.ctus .sig-card__link svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .15s ease-out
}

.ctus .sig-card__link:hover svg {
  transform: translateX(4px)
}

.ctus .word-cycle {
  display: inline
}

.ctus .word-cycle__word {
  display: none;
  color: #C655AF;
  background: #c655af1a;
  border-radius: 3px;
  padding: 0 8px
}

.ctus .word-cycle__word--a1 {
  animation: word-show 6s 0s infinite
}

.ctus .word-cycle__word--a2 {
  animation: word-show 6s 2s infinite
}

.ctus .word-cycle__word--a3 {
  animation: word-show 6s 4s infinite
}

@keyframes word-show {
  0% {
    display: none;
    opacity: 0
  }

  1% {
    display: inline;
    opacity: 0
  }

  8% {
    opacity: 1
  }

  28% {
    opacity: 1
  }

  33% {
    opacity: 0;
    display: inline
  }

  34% {
    display: none
  }

  100% {
    display: none
  }
}

@media (max-width: 1366px) {
  .ctus .reach__img-col {
    flex: 0 0 340px
  }

  .ctus .reach__h1 {
    font-size: 44px
  }
}

@media (max-width: 768px) {
  .ctus .reach__band {
    padding: 48px 16px 32px
  }

  .ctus .reach__cols {
    flex-direction: column;
    gap: 32px
  }

  .ctus .reach__img-col {
    flex: none;
    width: 100%;
    padding-top: 0
  }

  .ctus .reach__txt-col {
    padding-top: 0
  }

  .ctus .reach__h1 {
    font-size: 32px
  }

  .ctus .form-band {
    padding: 48px 16px
  }

  .ctus .form-band__inner {
    flex-direction: column;
    gap: 32px
  }

  .ctus .form-band__aside {
    flex: none;
    width: 100%
  }

  .ctus .ctus-form {
    padding: 32px 16px
  }

  .ctus .ctus-form__row {
    flex-direction: column;
    gap: 16px
  }

  .ctus .ctus-form__checks {
    grid-template-columns: 1fr
  }

  .ctus .signals-band {
    padding: 48px 16px
  }

  .ctus .signals-band__grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .ctus .signals-band__h2 {
    font-size: 32px
  }

  .ctus .ctus-form__submit-row {
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 375px) {
  .ctus .reach__h1 {
    font-size: 24px
  }

  .ctus .ctus-form__btn {
    font-size: 16px;
    padding: 12px 24px
  }

  .ctus .signals-band__h2 {
    font-size: 24px
  }
}

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

.srv .strip {
  background: linear-gradient(253deg, #C655AF, #FAF8FA);
  border-radius: 32px;
  height: 8px;
  margin: 0 auto;
  max-width: 320px
}

.srv .pg-strip {
  margin: 32px auto
}

.srv .title-band {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px
}

.srv .title-band__img-row {
  border-radius: 5px;
  margin-bottom: 32px;
  overflow: hidden;
  position: relative;
  width: 100%
}

.srv .title-band__img-row img {
  display: block;
  height: 260px;
  object-fit: cover;
  object-position: center;
  width: 100%
}

.srv .title-band__img-row::before {
  background: linear-gradient(to right, #c655af61 0%, transparent 40%, transparent 60%, #c655af61 100%);
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1
}

.srv .title-band__deco {
  background: linear-gradient(253deg, #c655af12, #d8b5da1f);
  border-radius: 32px;
  bottom: 0;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 80%;
  z-index: 0
}

.srv .title-band__txt {
  position: relative;
  text-align: center;
  z-index: 1
}

.srv .title-band__txt-wrap {
  position: relative
}

.srv .title-band__label {
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  border-radius: 32px;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 16px;
  padding: 4px 16px
}

.srv .title-band__h1 {
  color: #1a0a18;
  font-size: 60px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 auto 16px;
  max-width: 860px
}

.srv .title-band__sub {
  color: #3d1a38;
  font-size: 19px;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 640px;
  text-align: left
}

.srv .title-band__sub strong {
  color: #C655AF
}

.srv .svc-grid {
  background: #FAF8FA;
  padding: 48px 32px
}

.srv .svc-grid__inner {
  max-width: 1320px;
  margin: 0 auto
}

.srv .svc-grid__head {
  margin-bottom: 32px;
  text-align: center
}

.srv .svc-grid__h2 {
  color: #1a0a18;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px
}

.srv .svc-grid__desc {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 560px;
  text-align: left
}

.srv .svc-grid__cols {
  display: grid;
  gap: 16px;
  grid-template-columns: 2fr 1fr 1fr 1fr
}

.srv .svc-card {
  background: #fff;
  border-radius: 5px;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  overflow: hidden;
  position: relative;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.srv .svc-card:hover {
  box-shadow: 1px 10px 60px -1px #c655af24;
  transform: scale(0.97)
}

.srv .svc-card__img-wrap {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
  width: 100%
}

.srv .svc-card__img-wrap img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .2s ease-out;
  width: 100%
}

.srv .svc-card:hover .svc-card__img-wrap img {
  transform: scale(1.04)
}

.srv .svc-card__caption {
  background: #c655afe0;
  bottom: 0;
  color: #fff;
  font-size: 16px;
  left: 0;
  line-height: 1.75;
  opacity: 0;
  padding: 16px;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity .18s ease;
  display: flex;
  align-items: flex-end
}

.srv .svc-card:hover .svc-card__caption {
  opacity: 1
}

.srv .svc-card__body {
  padding: 16px
}

.srv .svc-card__tag {
  background: #D8B5DA;
  border-radius: 32px;
  color: #3d1a38;
  display: inline-block;
  font-size: 16px;
  margin-bottom: 8px;
  padding: 4px 12px
}

.srv .svc-card__h3 {
  color: #1a0a18;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 8px
}

.srv .svc-card__h3--lg {
  font-size: 24px
}

.srv .svc-card__p {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75;
  margin: 0
}

.srv .svc-card--featured {
  display: flex;
  flex-direction: column
}

.srv .svc-card--featured .svc-card__img-wrap {
  aspect-ratio: 1/1;
  flex: 1 1 auto
}

.srv .svc-card--text {
  display: flex;
  flex-direction: column;
  justify-content: center
}

.srv .svc-card--text .svc-card__body {
  padding: 32px 16px
}

.srv .svc-card__price {
  color: #C655AF;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  margin: 12px 0 4px
}

.srv .svc-card__price-note {
  color: #6b4a68;
  font-size: 16px;
  line-height: 1.75
}

.srv .svc-card__btn {
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  border: none;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  gap: 8px;
  margin-top: 16px;
  overflow: hidden;
  padding: 12px 24px;
  position: relative;
  text-decoration: none;
  transition: transform .12s ease-out, box-shadow .12s ease-out
}

.srv .svc-card__btn:hover {
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transform: scale(0.97)
}

.srv .svc-card__btn-icon {
  display: inline-block;
  margin-left: -4px;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .15s ease-out, transform .15s ease-out
}

.srv .svc-card__btn:hover .svc-card__btn-icon {
  opacity: 1;
  transform: translateX(0)
}

.srv .svc-card__btn-text {
  transition: transform .15s ease-out
}

.srv .svc-card__btn:hover .svc-card__btn-text {
  transform: translateX(4px)
}

.srv .process-sect {
  background: #2a0425;
  padding: 48px 32px;
  position: relative
}

.srv .process-sect__pattern {
  bottom: 0;
  left: 0;
  opacity: .06;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden
}

.srv .process-sect__pattern svg {
  height: 100%;
  width: 100%
}

.srv .process-sect__inner {
  max-width: 1320px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.srv .process-sect__head {
  margin-bottom: 48px;
  text-align: center
}

.srv .process-sect__h2 {
  color: #FAF8FA;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px
}

.srv .process-sect__sub {
  color: #D8B5DA;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 520px;
  text-align: left
}

.srv .steps-row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr)
}

.srv .step-item {
  background: #c655af14;
  border-radius: 5px;
  box-shadow: inset 0 4px 6px #c655af14;
  padding: 32px 16px;
  position: relative;
  transition: background .18s ease-out, transform .15s ease-out
}

.srv .step-item:hover {
  background: #c655af2e;
  transform: scale(0.97)
}

.srv .step-item__num {
  color: #C655AF;
  display: block;
  font-size: 44px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 12px
}

.srv .step-item__h4 {
  border-left: 3px solid #C655AF;
  color: #FAF8FA;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px;
  padding-left: 12px
}

.srv .step-item__p {
  color: #D8B5DA;
  font-size: 16px;
  line-height: 1.75;
  margin: 0
}

.srv .step-item:nth-child(1) {
  animation: fadeup .18s ease-out both
}

.srv .step-item:nth-child(2) {
  animation: fadeup .18s .05s ease-out both
}

.srv .step-item:nth-child(3) {
  animation: fadeup .18s .1s ease-out both
}

.srv .step-item:nth-child(4) {
  animation: fadeup .18s .15s ease-out both
}

@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

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

.srv .expert-sect {
  padding: 48px 32px
}

.srv .expert-sect__inner {
  display: grid;
  gap: 48px;
  grid-template-columns: 1fr 1.6fr;
  max-width: 1320px;
  margin: 0 auto;
  align-items: start
}

.srv .expert-sect__portrait-wrap {
  border-radius: 5px;
  aspect-ratio: 5/7;
  box-shadow: 1px 10px 60px -1px #c655af24;
  overflow: hidden;
  position: relative;
  width: 100%
}

.srv .expert-sect__portrait-wrap img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%
}

.srv .expert-sect__right {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.srv .expert-sect__head-block {
  border-left: 3px solid #C655AF;
  padding-left: 16px
}

.srv .expert-sect__h2 {
  color: #1a0a18;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px;
  text-align: center
}

.srv .expert-sect__lead {
  color: #3d1a38;
  font-size: 19px;
  line-height: 1.75;
  margin: 0;
  text-align: left
}

.srv .expert-sect__metrics {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr)
}

.srv .metric-box {
  background: #FAF8FA;
  border-radius: 5px;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  padding: 16px;
  text-align: center;
  transition: box-shadow .15s ease-out, transform .12s ease-out
}

.srv .metric-box:hover {
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transform: scale(0.97)
}

.srv .metric-box__val {
  color: #C655AF;
  display: block;
  font-size: 44px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 4px
}

.srv .metric-box__label {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75
}

.srv .expert-sect__body {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.srv .expert-sect__p {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  padding-left: 16px;
  text-indent: -16px
}

.srv .expert-sect__name-row {
  align-items: center;
  background: linear-gradient(253deg, #c655af12, #faf8fae6);
  border-radius: 5px;
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 16px
}

.srv .expert-sect__name {
  color: #1a0a18;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0
}

.srv .expert-sect__role {
  color: #6b4a68;
  font-size: 16px;
  line-height: 1.75;
  margin: 0
}

.srv .expert-sect__badge {
  background: #C655AF;
  border-radius: 32px;
  color: #fff;
  font-size: 16px;
  padding: 4px 16px;
  white-space: nowrap
}

.srv .faq-sect {
  background: linear-gradient(253deg, #c655af0f, #d8b5da1a);
  padding: 48px 32px
}

.srv .faq-sect__inner {
  max-width: 1320px;
  margin: 0 auto
}

.srv .faq-sect__head {
  margin-bottom: 32px;
  text-align: center
}

.srv .faq-sect__h2 {
  color: #1a0a18;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 12px
}

.srv .faq-sect__sub {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 520px;
  text-align: left
}

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

.srv .faq-item {
  background: #fff;
  border-radius: 5px;
  box-shadow: 1px 3px 2px -1px #c655af0d
}

.srv .faq-item__toggle {
  background: none;
  border: none;
  border-radius: 5px;
  color: #1a0a18;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 19px;
  font-weight: 700;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.1;
  padding: 16px;
  text-align: left;
  transition: background .15s ease-out;
  width: 100%
}

.srv .faq-item__toggle:hover {
  background: #c655af0d
}

.srv .faq-item__toggle:focus-visible {
  outline: 2px solid #C655AF;
  outline-offset: 2px
}

.srv .faq-item__icon {
  background: #C655AF;
  border-radius: 32px;
  color: #fff;
  flex-shrink: 0;
  font-size: 19px;
  font-weight: 700;
  height: 28px;
  line-height: 28px;
  text-align: center;
  transition: transform .15s ease-out;
  width: 28px
}

.srv .faq-item__body {
  color: #3d1a38;
  font-size: 16px;
  line-height: 1.75;
  max-height: 0;
  overflow: hidden;
  padding: 0 16px;
  transition: max-height .2s ease-out, padding .15s ease-out
}

.srv .faq-item--open .faq-item__body {
  max-height: 400px;
  padding: 0 16px 16px
}

.srv .faq-item--open .faq-item__icon {
  transform: rotate(45deg)
}

@media (max-width: 1366px) {
  .srv .title-band__h1 {
    font-size: 44px
  }

  .srv .svc-grid__cols {
    grid-template-columns: 2fr 1fr 1fr
  }

  .srv .steps-row {
    grid-template-columns: repeat(2, 1fr)
  }

  .srv .expert-sect__metrics {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (max-width: 768px) {
  .srv .title-band {
    padding: 32px 16px
  }

  .srv .title-band__h1 {
    font-size: 32px
  }

  .srv .title-band__img-row img {
    height: 160px
  }

  .srv .svc-grid {
    padding: 32px 16px
  }

  .srv .svc-grid__cols {
    grid-template-columns: 1fr 1fr
  }

  .srv .svc-grid__h2 {
    font-size: 32px
  }

  .srv .process-sect {
    padding: 32px 16px
  }

  .srv .process-sect__h2 {
    font-size: 32px
  }

  .srv .steps-row {
    grid-template-columns: 1fr 1fr
  }

  .srv .expert-sect {
    padding: 32px 16px
  }

  .srv .expert-sect__inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .srv .expert-sect__h2 {
    font-size: 32px
  }

  .srv .expert-sect__metrics {
    grid-template-columns: repeat(3, 1fr)
  }

  .srv .faq-sect {
    padding: 32px 16px
  }

  .srv .faq-sect__h2 {
    font-size: 32px
  }
}

@media (max-width: 375px) {
  .srv .title-band__h1 {
    font-size: 24px
  }

  .srv .svc-grid__cols {
    grid-template-columns: 1fr
  }

  .srv .steps-row {
    grid-template-columns: 1fr
  }

  .srv .expert-sect__metrics {
    grid-template-columns: 1fr
  }

  .srv .expert-sect__name-row {
    flex-direction: column;
    align-items: flex-start
  }

  .srv .faq-item__toggle {
    font-size: 16px
  }
}

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

.frst .pg-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.frst .fade-in {
  animation: frst-appear .18s ease-out both
}

@keyframes frst-appear {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.frst .sec-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0;
  padding: 0 32px
}

.frst .sec-divider__line {
  width: 48px;
  height: 1px;
  background: #D8B5DA
}

.frst .sec-divider__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C655AF;
  display: block
}

.frst .acc-line {
  display: inline-block;
  width: 3px;
  height: 1em;
  background: #C655AF;
  border-radius: 3px;
  margin-right: 12px;
  vertical-align: middle;
  flex-shrink: 0
}

.frst .ttl {
  position: relative;
  padding: 48px 0 0;
  overflow: clip
}

.frst .ttl__atmo {
  position: absolute;
  top: -60px;
  left: -80px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: #D8B5DA;
  opacity: .13;
  filter: blur(80px);
  pointer-events: none
}

.frst .ttl__atmo--r {
  left: auto;
  right: -100px;
  top: 40px;
  width: 340px;
  height: 340px;
  background: #C655AF;
  opacity: .08
}

.frst .ttl__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  align-items: center
}

.frst .ttl__label {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 16px;
  border: 1px solid #D8B5DA;
  border-radius: 32px;
  padding: 4px 16px;
  background: #FAF8FA
}

.frst .ttl__heading {
  font-size: 70px;
  line-height: 1.1;
  color: #1e1226;
  text-align: center;
  margin: 0 0 24px;
  max-width: 900px
}

.frst .ttl__desc {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2e48;
  text-align: center;
  max-width: 620px;
  margin: 0 0 48px
}

.frst .ttl__img-wrap {
  width: 100%;
  max-width: 1100px;
  border-radius: 5px;
  overflow: clip;
  position: relative
}

.frst .ttl__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, #1e122661 100%);
  border-radius: 5px;
  pointer-events: none
}

.frst .ttl__img {
  width: 100%;
  aspect-ratio: 16/7;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.82);
  transition: filter .15s ease-out
}

.frst .ttl__img-wrap:hover .ttl__img {
  filter: saturate(1)
}

.frst .diff {
  padding: 64px 0 48px;
  background: #FAF8FA;
  position: relative
}

.frst .diff__bg-tex {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(253deg, transparent, transparent 18px, #c655af06 18px, #c655af06 19px);
  pointer-events: none
}

.frst .diff__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.frst .diff__top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px;
  margin-bottom: 48px
}

.frst .diff__label {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
  padding-top: 8px
}

.frst .diff__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center
}

.frst .diff__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.frst .diff__card {
  background: #fff;
  border-radius: 5px;
  padding: 32px;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transition: transform .15s ease-out, box-shadow .12s ease
}

.frst .diff__cards:hover .diff__card {
  opacity: .55
}

.frst .diff__cards:hover .diff__card:hover {
  opacity: 1;
  transform: scale(0.97);
  box-shadow: 1px 10px 60px -1px #c655af24
}

.frst .diff__card-num {
  font-size: 60px;
  line-height: 1.1;
  color: #D8B5DA;
  font-weight: 700;
  display: block;
  margin-bottom: 8px
}

.frst .diff__card-h {
  font-size: 24px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0 0 12px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.frst .diff__card-p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  margin: 0;
  padding-left: 16px
}

.frst .commit {
  padding: 64px 0
}

.frst .commit__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center
}

.frst .commit__visual {
  position: relative;
  border-radius: 5px;
  overflow: clip
}

.frst .commit__img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 5px;
  filter: saturate(0.8);
  transition: filter .18s ease-out
}

.frst .commit__visual:hover .commit__img {
  filter: saturate(1)
}

.frst .commit__badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  background: #fff;
  border-radius: 5px;
  padding: 12px 16px;
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.frst .commit__badge-num {
  font-size: 32px;
  line-height: 1.1;
  color: #C655AF;
  font-weight: 700;
  display: block
}

.frst .commit__badge-lbl {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48
}

.frst .commit__txt {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frst .commit__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center
}

.frst .commit__p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  margin: 0;
  padding-left: 16px
}

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

.frst .commit__item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48
}

.frst .commit__item-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #C655AF;
  margin-top: 8px;
  flex-shrink: 0
}

.frst .obj {
  padding: 64px 0;
  background: linear-gradient(253deg, #C655AF 0%, #FAF8FA 100%);
  position: relative
}

.frst .obj__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.frst .obj__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

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

.frst .obj__q-tag {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  color: #fff;
  background: #c655afb3;
  border-radius: 32px;
  padding: 4px 16px;
  align-self: flex-start
}

.frst .obj__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0
}

.frst .obj__q-p {
  font-size: 19px;
  line-height: 1.75;
  color: #1e1226;
  margin: 0;
  padding-left: 16px
}

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

.frst .obj__ans-card {
  background: #ffffffe0;
  border-radius: 5px;
  padding: 24px 32px;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  transition: transform .12s ease-out
}

.frst .obj__ans-card:hover {
  transform: scale(0.97)
}

.frst .obj__ans-h {
  font-size: 19px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0 0 8px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.frst .obj__ans-p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  margin: 0
}

.frst .ctx {
  padding: 64px 0;
  background: #fff
}

.frst .ctx__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.frst .ctx__top {
  text-align: center;
  margin-bottom: 48px
}

.frst .ctx__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0 0 16px
}

.frst .ctx__sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2e48;
  max-width: 560px;
  margin: 0 auto;
  text-align: left
}

.frst .ctx__row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px
}

.frst .ctx__row:hover .ctx__person {
  opacity: .5
}

.frst .ctx__row:hover .ctx__person:hover {
  opacity: 1
}

.frst .ctx__person {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  transition: opacity .15s ease-out
}

.frst .ctx__person--no-img {
  justify-content: flex-start
}

.frst .ctx__portrait {
  width: 120px;
  height: 180px;
  border-radius: 32px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.8);
  transition: filter .15s ease-out, transform .12s ease-out;
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.frst .ctx__person:hover .ctx__portrait {
  filter: saturate(1);
  transform: scale(0.97)
}

.frst .ctx__person-name {
  font-size: 19px;
  line-height: 1.1;
  color: #1e1226;
  font-weight: 600;
  text-align: center
}

.frst .ctx__person-role {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  text-align: center
}

.frst .ctx__person-p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  text-align: left;
  margin: 0
}

.frst .ctx__no-port {
  width: 120px;
  height: 120px;
  border-radius: 32px;
  background: #FAF8FA;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 2px 4px 6px #c655af14
}

.frst .ctx__no-port-ic {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #D8B5DA;
  opacity: .6
}

.frst .recog {
  padding: 64px 0;
  background: #FAF8FA;
  position: relative
}

.frst .recog__tex {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 28px, #d8b5da12 28px, #d8b5da12 29px), repeating-linear-gradient(0deg, transparent, transparent 28px, #d8b5da12 28px, #d8b5da12 29px);
  pointer-events: none
}

.frst .recog__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative
}

.frst .recog__head-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
  gap: 32px
}

.frst .recog__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center
}

.frst .recog__sub {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  max-width: 380px;
  text-align: left;
  margin: 0
}

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

.frst .recog__items:hover .recog__item {
  opacity: .45
}

.frst .recog__items:hover .recog__item:hover {
  opacity: 1
}

.frst .recog__item {
  background: #fff;
  border-radius: 5px;
  padding: 24px;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: opacity .15s ease-out, transform .12s ease-out, box-shadow .12s ease
}

.frst .recog__item:hover {
  transform: scale(0.97);
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.frst .recog__item-icon {
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.frst .recog__item-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round
}

.frst .recog__item-h {
  font-size: 16px;
  line-height: 1.1;
  color: #1e1226;
  font-weight: 600;
  margin: 0
}

.frst .recog__item-p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  margin: 0
}

.frst .situ {
  padding: 64px 0 80px
}

.frst .situ__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px
}

.frst .situ__head-wrap {
  text-align: center;
  margin-bottom: 48px
}

.frst .situ__head {
  font-size: 44px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0 0 16px
}

.frst .situ__head-sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2e48;
  max-width: 540px;
  margin: 0 auto;
  text-align: left
}

.frst .situ__chess {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.frst .situ__tile {
  border-radius: 5px;
  overflow: clip;
  position: relative;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transition: transform .15s ease-out, box-shadow .12s ease
}

.frst .situ__tile:hover {
  transform: scale(0.97);
  box-shadow: 1px 10px 60px -1px #c655af24
}

.frst .situ__chess:hover .situ__tile {
  opacity: .6
}

.frst .situ__chess:hover .situ__tile:hover {
  opacity: 1
}

.frst .situ__tile--wide {
  grid-column: span 2
}

.frst .situ__tile--offset {
  margin-top: 32px
}

.frst .situ__tile-img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.78);
  transition: filter .18s ease-out
}

.frst .situ__tile--wide .situ__tile-img {
  aspect-ratio: 16/6
}

.frst .situ__tile:hover .situ__tile-img {
  filter: saturate(1)
}

.frst .situ__tile-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, #1e1226b8 100%);
  pointer-events: none
}

.frst .situ__tile-txt {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px
}

.frst .situ__tile-h {
  font-size: 19px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 8px
}

.frst .situ__tile-p {
  font-size: 16px;
  line-height: 1.75;
  color: #ffffffd9;
  margin: 0
}

.frst .pc-wrap {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.frst .pc-col {
  border-radius: 5px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.frst .pc-col--pro {
  background: #c655af0f;
  box-shadow: inset 2px 4px 6px #c655af12
}

.frst .pc-col--con {
  background: #d8b5da1f;
  box-shadow: inset 2px 4px 6px #c655af0d
}

.frst .pc-col__head {
  font-size: 19px;
  line-height: 1.1;
  color: #1e1226;
  margin: 0 0 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.frst .pc-ind {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0
}

.frst .pc-ind--pro {
  background: #C655AF
}

.frst .pc-ind--con {
  background: #D8B5DA
}

.frst .pc-col__item {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2e48;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.frst .pc-col__item-mark {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 10px;
  flex-shrink: 0
}

.frst .pc-col__item-mark--pro {
  background: #C655AF
}

.frst .pc-col__item-mark--con {
  background: #D8B5DA
}

@media (max-width: 1366px) {
  .frst .ttl__heading {
    font-size: 60px
  }

  .frst .recog__items {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 768px) {
  .frst .ttl__heading {
    font-size: 44px
  }

  .frst .diff__cards {
    grid-template-columns: 1fr
  }

  .frst .diff__top {
    flex-direction: column;
    gap: 16px
  }

  .frst .commit__inner {
    grid-template-columns: 1fr
  }

  .frst .obj__grid {
    grid-template-columns: 1fr
  }

  .frst .ctx__row {
    grid-template-columns: 1fr
  }

  .frst .recog__items {
    grid-template-columns: 1fr 1fr
  }

  .frst .recog__head-row {
    flex-direction: column;
    align-items: flex-start
  }

  .frst .situ__chess {
    grid-template-columns: 1fr
  }

  .frst .situ__tile--wide {
    grid-column: span 1
  }

  .frst .situ__tile--offset {
    margin-top: 0
  }

  .frst .pc-wrap {
    grid-template-columns: 1fr
  }
}

@media (max-width: 375px) {

  .frst .pg-wrap,
  .frst .ttl__inner,
  .frst .diff__inner,
  .frst .commit__inner,
  .frst .obj__inner,
  .frst .ctx__inner,
  .frst .recog__inner,
  .frst .situ__inner {
    padding: 0 16px
  }

  .frst .ttl__heading {
    font-size: 32px
  }

  .frst .diff__head,
  .frst .commit__head,
  .frst .obj__head,
  .frst .ctx__head,
  .frst .recog__head,
  .frst .situ__head {
    font-size: 32px
  }

  .frst .recog__items {
    grid-template-columns: 1fr
  }
}

.abt-us {
  overflow-x: clip;
  padding: 0
}

.abt-us .sym-hero {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 48px
}

.abt-us .sym-hero__left {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 32px;
  padding: 48px 32px 48px 0;
  border-right: 1.5px solid #D8B5DA;
  position: relative
}

.abt-us .sym-hero__left::after {
  content: '';
  position: absolute;
  top: 0;
  right: -1px;
  width: 1.5px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, #C655AF 40%, #D8B5DA 70%, transparent 100%)
}

.abt-us .sym-hero__tagline {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600
}

.abt-us .sym-hero__h1 {
  font-size: 70px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 800;
  margin: 0
}

.abt-us .sym-hero__h1 span {
  color: #C655AF;
  display: block
}

.abt-us .sym-hero__desc {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0;
  text-indent: -16px;
  padding-left: 16px
}

.abt-us .sym-hero__nums {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-end
}

.abt-us .num-pair {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px
}

.abt-us .num-pair__val {
  font-size: 60px;
  line-height: 1.1;
  font-weight: 800;
  color: #C655AF
}

.abt-us .num-pair__val--contrast {
  color: #1b1b1b
}

.abt-us .num-pair__label {
  font-size: 16px;
  line-height: 1.75;
  color: #5a5a5a
}

.abt-us .num-divider {
  font-size: 44px;
  line-height: 1.1;
  color: #D8B5DA;
  font-weight: 300;
  align-self: center
}

.abt-us .sym-hero__right {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
  padding: 48px 0 48px 32px
}

.abt-us .hero-img-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 5px;
  position: relative;
  box-shadow: 1px 10px 60px -1px #c655af24
}

.abt-us .hero-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.55) contrast(1.05);
  display: block;
  transition: filter .2s ease-out
}

.abt-us .hero-img-wrap:hover img {
  filter: saturate(0.85) contrast(1.02)
}

.abt-us .hero-arrow {
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  opacity: .55;
  pointer-events: none
}

.abt-us .hero-arrow svg {
  width: 32px;
  height: 32px
}

.abt-us .rot-deco {
  width: 64px;
  height: 64px;
  animation: abt-spin 12s linear infinite;
  opacity: .22;
  pointer-events: none;
  align-self: flex-end
}

@keyframes abt-spin {
  from {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

.abt-us .zigzag-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  display: block
}

.abt-us .zigzag-divider svg {
  display: block;
  width: 100%
}

.abt-us .story-seg {
  background: linear-gradient(253deg, #FAF8FA 0%, #f3eaf3 100%);
  padding: 0
}

.abt-us .story-seg__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px;
  display: grid;
  grid-template-columns: 1fr 1.4fr 1.9fr;
  gap: 32px;
  align-items: start
}

.abt-us .story-col {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-us .story-col__heading {
  font-size: 24px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 700;
  margin: 0;
  padding-left: 12px;
  border-left: 3px solid #C655AF
}

.abt-us .story-col__sub {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
  margin: 0;
  text-align: left
}

.abt-us .story-col__body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0;
  text-indent: -16px;
  padding-left: 16px
}

.abt-us .story-col--wide .story-col__heading {
  font-size: 32px
}

.abt-us .story-col--wide .story-col__body {
  font-size: 19px
}

.abt-us .img-stack {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.abt-us .img-stack__item {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transition: box-shadow .15s ease-out, transform .15s ease-out
}

.abt-us .img-stack__item:hover {
  transform: scale(0.97);
  box-shadow: 1px 3px 2px -1px #c655af0d
}

.abt-us .img-stack__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-us .team-strip {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abt-us .team-strip__heading {
  font-size: 32px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 700;
  text-align: center;
  margin: 0
}

.abt-us .team-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start
}

.abt-us .team-card {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 32px 16px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  transition: transform .18s ease-out, box-shadow .18s ease-out
}

.abt-us .team-card:hover {
  transform: scale(0.97);
  box-shadow: 1px 3px 2px -1px #c655af0d
}

.abt-us .team-card__portrait {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #D8B5DA;
  flex-shrink: 0
}

.abt-us .team-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-us .team-card__name {
  font-size: 19px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 700;
  margin: 0;
  text-align: center
}

.abt-us .team-card__role {
  font-size: 16px;
  line-height: 1.75;
  color: #C655AF;
  margin: 0;
  text-align: center
}

.abt-us .team-card__quote {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
  margin: 0;
  text-align: left
}

.abt-us .team-card--nophoto {
  background: linear-gradient(253deg, #FAF8FA 0%, #f0e6f0 100%)
}

.abt-us .team-card--nophoto .team-card__avatar-ph {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: #D8B5DA;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.abt-us .team-card--nophoto .team-card__avatar-ph svg {
  width: 40px;
  height: 40px;
  opacity: .6
}

.abt-us .metrics-band {
  background: #1b1b1b;
  padding: 48px 32px;
  position: relative;
  overflow: hidden
}

.abt-us .metrics-band__deco {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #c655af1f;
  pointer-events: none
}

.abt-us .metrics-band__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: center;
  justify-content: space-between
}

.abt-us .metrics-band__txt {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-us .metrics-band__h {
  font-size: 32px;
  line-height: 1.1;
  color: #FAF8FA;
  font-weight: 700;
  margin: 0;
  padding-left: 12px;
  border-left: 3px solid #C655AF
}

.abt-us .metrics-band__p {
  font-size: 16px;
  line-height: 1.75;
  color: #c0b0c0;
  margin: 0;
  text-indent: -16px;
  padding-left: 16px
}

.abt-us .metrics-band__stats {
  flex: 2 1 0;
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: stretch;
  justify-content: flex-end
}

.abt-us .stat-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 24px;
  background: #c655af14;
  border-radius: 5px;
  border: 1px solid #d8b5da2e;
  min-width: 120px;
  box-shadow: inset 0 4px 6px #c655af12
}

.abt-us .stat-box__val {
  font-size: 44px;
  line-height: 1.1;
  font-weight: 800;
  color: #C655AF
}

.abt-us .stat-box__label {
  font-size: 16px;
  line-height: 1.75;
  color: #c0b0c0;
  text-align: center
}

.abt-us .img-wide-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.abt-us .img-wide-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-us .proc-seg {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start
}

.abt-us .proc-seg__left {
  flex: 1.2 1 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-us .proc-seg__h {
  font-size: 32px;
  line-height: 1.1;
  color: #1b1b1b;
  font-weight: 700;
  margin: 0;
  text-align: center
}

.abt-us .proc-seg__sub {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
  margin: 0;
  text-align: left
}

.abt-us .proc-seg__body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0;
  text-indent: -16px;
  padding-left: 16px
}

.abt-us .proc-seg__right {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.abt-us .proc-step {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #FAF8FA;
  border-radius: 5px;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  transition: box-shadow .12s ease, transform .12s ease
}

.abt-us .proc-step:hover {
  transform: scale(0.97);
  box-shadow: 1px 5px 14px -1px #c655af1c
}

.abt-us .proc-step__num {
  font-size: 24px;
  line-height: 1.1;
  font-weight: 800;
  color: #C655AF;
  min-width: 32px;
  text-align: center
}

.abt-us .proc-step__txt {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt-us .proc-step__name {
  font-size: 16px;
  line-height: 1.1;
  font-weight: 700;
  color: #1b1b1b;
  margin: 0
}

.abt-us .proc-step__detail {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
  margin: 0
}

.abt-us .icon-swap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  position: relative
}

.abt-us .icon-swap .icon-default {
  display: block;
  transition: opacity .15s ease-out
}

.abt-us .icon-swap .icon-alt {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity .15s ease-out
}

.abt-us .proc-step:hover .icon-swap .icon-default {
  opacity: 0
}

.abt-us .proc-step:hover .icon-swap .icon-alt {
  opacity: 1
}

.abt-us .before-after {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-end;
  margin: 8px 0
}

.abt-us .ba-num {
  font-size: 60px;
  line-height: 1.1;
  font-weight: 800
}

.abt-us .ba-num--before {
  color: #D8B5DA
}

.abt-us .ba-num--after {
  color: #C655AF
}

.abt-us .ba-sep {
  font-size: 32px;
  line-height: 1.1;
  color: #c0b0c0;
  font-weight: 300;
  padding-bottom: 8px
}

.abt-us .ba-labels {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center
}

.abt-us .ba-label {
  font-size: 16px;
  line-height: 1.75;
  color: #5a5a5a
}

.abt-us .ba-label--after {
  color: #C655AF;
  font-weight: 600
}

.abt-us .ba-sep-label {
  font-size: 16px;
  color: #c0b0c0
}

@media (max-width: 1366px) {
  .abt-us .sym-hero__h1 {
    font-size: 60px
  }

  .abt-us .story-seg__inner {
    grid-template-columns: 1fr 1.3fr 1.7fr
  }
}

@media (max-width: 768px) {
  .abt-us .sym-hero {
    flex-direction: column;
    padding: 32px 16px;
    gap: 32px
  }

  .abt-us .sym-hero__left {
    border-right: none;
    padding: 0
  }

  .abt-us .sym-hero__left::after {
    display: none
  }

  .abt-us .sym-hero__right {
    padding: 0
  }

  .abt-us .sym-hero__h1 {
    font-size: 44px
  }

  .abt-us .story-seg__inner {
    grid-template-columns: 1fr;
    padding: 32px 16px
  }

  .abt-us .team-row {
    flex-direction: column
  }

  .abt-us .metrics-band__inner {
    flex-direction: column;
    gap: 32px
  }

  .abt-us .metrics-band__stats {
    justify-content: flex-start;
    flex-wrap: wrap
  }

  .abt-us .proc-seg {
    flex-direction: column;
    padding: 32px 16px
  }

  .abt-us .team-strip {
    padding: 32px 16px
  }

  .abt-us .metrics-band {
    padding: 32px 16px
  }
}

@media (max-width: 375px) {
  .abt-us .sym-hero__h1 {
    font-size: 32px
  }

  .abt-us .num-pair__val {
    font-size: 44px
  }

  .abt-us .metrics-band__stats {
    gap: 8px
  }

  .abt-us .stat-box {
    min-width: 88px;
    padding: 16px 12px
  }

  .abt-us .stat-box__val {
    font-size: 32px
  }

  .abt-us .story-seg__inner {
    padding: 32px 8px;
    gap: 16px
  }

  .abt-us .proc-seg {
    padding: 32px 8px
  }

  .abt-us .team-strip {
    padding: 32px 8px
  }
}

.succ-page {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 72vh;
  padding: 48px 16px
}

.succ-page .succ-card {
  background: #FAF8FA;
  border-radius: 5px;
  box-shadow: 1px 5px 14px -1px #c655af1c;
  max-width: 560px;
  padding: 48px 32px;
  text-align: center;
  width: 100%
}

.succ-page .succ-card__icon {
  display: flex;
  justify-content: center;
  margin-bottom: 32px
}

.succ-page .succ-card__icon-shape {
  align-items: center;
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  border-radius: 32px;
  display: flex;
  height: 72px;
  justify-content: center;
  width: 72px
}

.succ-page .succ-card__icon-shape svg {
  display: block;
  flex-shrink: 0
}

.succ-page .succ-card__heading {
  color: #2b1a27;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 16px
}

.succ-page .succ-card__text {
  color: #4a3245;
  font-size: 19px;
  line-height: 1.75;
  margin-bottom: 32px
}

.succ-page .succ-card__text strong {
  color: #C655AF
}

.succ-page .succ-card__divider {
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  border: none;
  border-radius: 3px;
  height: 2px;
  margin-bottom: 32px;
  width: 100%
}

.succ-page .succ-card__meta {
  color: #6a4d62;
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 32px
}

.succ-page .succ-card__btn {
  background: linear-gradient(253deg, #C655AF, #D8B5DA);
  border: none;
  border-radius: 5px;
  box-shadow: 1px 3px 2px -1px #c655af0d;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  gap: 8px;
  overflow: hidden;
  padding: 12px 32px;
  position: relative;
  text-decoration: none;
  transition: transform .15s ease-out, box-shadow .2s ease
}

.succ-page .succ-card__btn:hover {
  box-shadow: 1px 10px 60px -1px #c655af24;
  transform: scale(0.97)
}

.succ-page .succ-card__btn:focus-visible {
  outline: 2px solid #C655AF;
  outline-offset: 3px
}

.succ-page .succ-card__btn:active {
  transform: scale(0.95)
}

.succ-page .succ-card__btn-icon {
  flex-shrink: 0;
  height: 16px;
  width: 16px
}

@media (max-width: 375px) {
  .succ-page .succ-card {
    padding: 32px 16px
  }

  .succ-page .succ-card__heading {
    font-size: 24px
  }

  .succ-page .succ-card__text {
    font-size: 16px
  }
}