html {
  font-size: 100%
}

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

:focus {
  outline: 3px solid #060817;
  outline-offset: 2px;
  filter: invert(1)
}

.top-bar {
  background: #060817;
  padding: 10px 20px
}

.top-bar__inner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px
}

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

.top-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB;
  text-decoration: none;
  letter-spacing: .03em;
  transition: color .5s ease-in-out
}

.top-bar__item:hover {
  color: #FC5367
}

.top-bar__item svg {
  flex-shrink: 0
}

.top-bar__tagline {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.5;
  color: #FC5367;
  letter-spacing: .04em
}

.site-header {
  background: #fff;
  border-bottom: 3px solid #FC5367;
  box-shadow: 0 6px 22px 0 #06081714;
  position: relative
}

.site-header__inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 40px
}

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

.brand__mark {
  width: 64px;
  height: 64px;
  border: 3px solid #060817;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 5px 0 #0608170d 0 6px 22px 0 #06081714;
  overflow: hidden;
  padding: 4px;
  flex-shrink: 0
}

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

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

.brand__name {
  font-family: 'Spectral', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  color: #060817;
  letter-spacing: .06em
}

.brand__sub {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.1;
  color: #FC5367;
  letter-spacing: .03em
}

.primary-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end
}

.primary-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end
}

.primary-nav__link {
  font-family: 'Spectral', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #060817;
  text-decoration: none;
  padding: 10px 20px;
  border: 2px solid transparent;
  border-radius: 4px;
  display: block;
  letter-spacing: .02em;
  transition: border-color .5s ease-in-out, color .5s ease-in-out, padding .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap
}

.primary-nav__link:hover {
  color: #FC5367;
  border-color: #FC5367;
  padding-left: 24px;
  padding-right: 24px
}

.primary-nav__link--active {
  color: #FC5367;
  border-color: #FC5367
}

.site-footer {
  background: #060817;
  border-top: 3px solid #FC5367
}

.footer-main {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 20px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px
}

.footer-brand__mark {
  width: 60px;
  height: 60px;
  border: 2px solid #FC5367;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 4px;
  box-shadow: 0 3px 5px 0 #fc53670d 0 6px 22px 0 #fc536714;
  flex-shrink: 0
}

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

.footer-brand__name {
  font-family: 'Spectral', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  letter-spacing: .06em
}

.footer-brand__desc {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  line-height: 1.9;
  color: #DCDBDB
}

.footer-col__heading {
  font-family: 'Spectral', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  color: #FC5367;
  letter-spacing: .08em;
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dcdbdb33;
  border-left: 3px solid #FC5367;
  border-right: 1px solid #dcdbdb1a;
  padding-left: 10px
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.footer-links__link {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .45s ease-in-out;
  display: inline-block
}

.footer-links__link:hover {
  color: #FC5367
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.footer-contact__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB;
  text-decoration: none;
  transition: color .45s ease-in-out
}

.footer-contact__item:hover {
  color: #FC5367
}

.footer-contact__item svg {
  flex-shrink: 0;
  margin-top: 3px
}

.footer-bottom {
  border-top: 1px solid #dcdbdb26;
  max-width: 1366px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap
}

.footer-bottom__copy {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB;
  letter-spacing: .03em
}

.footer-bottom__copy span {
  color: #FC5367
}

.footer-bottom__addr {
  font-family: 'Spectral', Georgia, serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.5;
  color: #DCDBDB;
  letter-spacing: .02em
}

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

  .footer-brand {
    grid-column: 1 / -1
  }
}

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

  .top-bar__tagline {
    display: none
  }

  .site-header__inner {
    flex-wrap: wrap;
    gap: 20px
  }

  .primary-nav {
    width: 100%
  }

  .primary-nav__list {
    justify-content: flex-start
  }

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

.ap-policy-container {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #060817;
  background: #fff
}

.ap-policy-container h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #060817;
  margin-bottom: 40px;
  margin-top: 0;
  letter-spacing: -.5px
}

.ap-policy-container h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin-top: 80px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #DCDBDB
}

.ap-policy-container h3 {
  font-size: 22px;
  line-height: 1.5;
  color: #060817;
  margin-top: 40px;
  margin-bottom: 20px;
  letter-spacing: .01em
}

.ap-policy-container h4 {
  font-size: 18px;
  line-height: 1.5;
  color: #060817;
  margin-top: 40px;
  margin-bottom: 10px;
  letter-spacing: .02em
}

.ap-policy-container h5 {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  margin-top: 20px;
  margin-bottom: 10px;
  letter-spacing: .03em;
  text-transform: uppercase
}

.ap-policy-container h6 {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  margin-top: 20px;
  margin-bottom: 10px;
  letter-spacing: .04em;
  text-transform: uppercase
}

.ap-policy-container p {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  margin-top: 0;
  margin-bottom: 20px
}

.ap-policy-container ul {
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 40px;
  list-style: none
}

.ap-policy-container ol {
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 40px;
  list-style: none;
  counter-reset: policy-counter
}

.ap-policy-container ul li {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px
}

.ap-policy-container ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #FC5367;
  transform: rotate(45deg)
}

.ap-policy-container ol li {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
  counter-increment: policy-counter
}

.ap-policy-container ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 16px;
  font-weight: 700;
  color: #FC5367;
  line-height: 1.9;
  transform: translateX(-100%);
  padding-right: 8px
}

.ap-policy-container ul ul,
.ap-policy-container ol ol,
.ap-policy-container ul ol,
.ap-policy-container ol ul {
  margin-top: 10px;
  margin-bottom: 10px;
  padding-left: 20px
}

.ap-policy-container ul ul li::before {
  background: #DCDBDB;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  top: 15px
}

.ap-policy-container strong,
.ap-policy-container b {
  font-weight: 700;
  color: #060817
}

.ap-policy-container em,
.ap-policy-container i {
  font-style: italic;
  color: #060817
}

.ap-policy-container a {
  color: #FC5367;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .5s ease-in-out, text-decoration-color .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ap-policy-container a:hover {
  color: #060817;
  text-decoration-color: #FC5367
}

.ap-policy-container a:visited {
  color: #060817
}

.ap-policy-container table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: 0 3px 5px 0 #0608170d 0 6px 22px 0 #06081714;
  border-radius: 8px;
  overflow: hidden
}

.ap-policy-container thead {
  background: #060817
}

.ap-policy-container thead tr {
  border: none
}

.ap-policy-container thead th {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  padding: 20px;
  text-align: left;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none
}

.ap-policy-container tbody {
  background: #fff
}

.ap-policy-container tbody tr {
  border-bottom: 1px solid #DCDBDB;
  transition: background-color .5s ease-in-out
}

.ap-policy-container tbody tr:last-child {
  border-bottom: none
}

.ap-policy-container tbody tr:hover {
  background: #fc53670a
}

.ap-policy-container td {
  padding: 20px;
  font-size: 16px;
  line-height: 1.9;
  color: #060817;
  vertical-align: top
}

.ap-policy-container th {
  padding: 20px;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: top
}

.ap-policy-container div {
  font-size: 18px;
  line-height: 1.9
}

.ap-policy-container div.notice,
.ap-policy-container div[class*="notice"] {
  background: #fc53670f;
  border-top: 4px solid #FC5367;
  border-radius: 4px;
  padding: 20px 40px;
  margin-top: 40px;
  margin-bottom: 40px;
  box-shadow: inset 0 2px 6px 0 #fc53670d
}

.ap-policy-container div.info,
.ap-policy-container div[class*="info"] {
  background: #06081708;
  border-top: 4px solid #DCDBDB;
  border-radius: 4px;
  padding: 20px 40px;
  margin-top: 40px;
  margin-bottom: 40px;
  box-shadow: inset 0 2px 6px 0 #0608170a
}

@media (max-width: 768px) {
  .ap-policy-container {
    padding: 40px 20px
  }

  .ap-policy-container h1 {
    font-size: 40px;
    margin-bottom: 20px
  }

  .ap-policy-container h2 {
    font-size: 22px;
    margin-top: 40px
  }

  .ap-policy-container h3 {
    font-size: 18px;
    margin-top: 20px
  }

  .ap-policy-container h4,
  .ap-policy-container h5,
  .ap-policy-container h6 {
    font-size: 16px;
    margin-top: 20px
  }

  .ap-policy-container table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 4px
  }

  .ap-policy-container ul {
    padding-left: 20px
  }

  .ap-policy-container ol {
    padding-left: 20px
  }

  .ap-policy-container div.notice,
  .ap-policy-container div[class*="notice"],
  .ap-policy-container div.info,
  .ap-policy-container div[class*="info"] {
    padding: 20px
  }
}

@media (max-width: 480px) {
  .ap-policy-container {
    padding: 40px 10px
  }

  .ap-policy-container h1 {
    font-size: 40px
  }

  .ap-policy-container p,
  .ap-policy-container ul li,
  .ap-policy-container ol li,
  .ap-policy-container td,
  .ap-policy-container div {
    font-size: 16px
  }
}

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

.abt-us .pg-reveal {
  animation: slideFromRight .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abt-us .pg-reveal--2 {
  animation: slideFromRight .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .12s both
}

.abt-us .pg-reveal--3 {
  animation: slideFromRight .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .22s both
}

@keyframes slideFromRight {
  from {
    opacity: 0;
    transform: translateX(48px)
  }

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

.abt-us .strip-img {
  width: 100%;
  height: 120px;
  overflow: hidden;
  position: relative
}

.abt-us .strip-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: brightness(0.82) saturate(1.1);
  transition: filter .55s ease-in-out
}

.abt-us .strip-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #06081761 0%, #fc53672e 55%, #dcdbdb14 100%);
  pointer-events: none
}

.abt-us .title-zone {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 80px;
  position: relative
}

.abt-us .title-zone::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 1px dashed #fc53672e;
  pointer-events: none
}

.abt-us .title-zone::after {
  content: "";
  position: absolute;
  bottom: 40px;
  right: 80px;
  width: 260px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid #06081712;
  pointer-events: none
}

.abt-us .title-left {
  flex: 0 0 auto;
  width: 340px
}

.abt-us .title-right {
  flex: 1 1 auto
}

.abt-us .title-label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.abt-us .title-h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px
}

.abt-us .title-h1 em {
  font-style: normal;
  display: block;
  font-size: 40px;
  color: #060817;
  opacity: .55;
  line-height: 1.1
}

.abt-us .title-h1 strong {
  font-style: normal;
  display: block;
  font-size: 72px;
  color: #060817;
  position: relative;
  line-height: 1.1
}

.abt-us .title-h1 strong .marker {
  background: linear-gradient(211deg, #fc536747 0%, #fc53671f 100%);
  padding: 0 4px;
  border-radius: 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone
}

.abt-us .title-desc {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  opacity: .72;
  max-width: 420px;
  margin: 0
}

.abt-us .title-stat-box {
  margin-top: 40px;
  border: 2px solid #060817;
  border-radius: 8px;
  padding: 20px;
  display: inline-block;
  position: relative
}

.abt-us .title-stat-box::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 20px;
  width: 60px;
  height: 3px;
  background: #FC5367;
  border-radius: 1px
}

.abt-us .title-stat-num {
  font-size: 40px;
  line-height: 1.1;
  color: #FC5367;
  display: block;
  font-weight: 700
}

.abt-us .title-stat-text {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  opacity: .68;
  display: block;
  max-width: 240px;
  margin-top: 10px
}

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

.abt-us .about-body {
  background: #fff;
  padding: 80px 0 0
}

.abt-us .about-body-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px
}

.abt-us .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.abt-us .col-visual {
  position: relative
}

.abt-us .col-visual .main-img-wrap {
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 9px 36px 0 #0608171c;
  position: relative
}

.abt-us .col-visual .main-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.9) saturate(1.05);
  transition: filter .55s ease-in-out
}

.abt-us .col-visual .main-img-wrap:hover img {
  filter: brightness(1) saturate(1.15)
}

.abt-us .col-visual .main-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #fc536738 0%, #0608174d 60%, #dcdbdb0d 100%);
  transition: opacity .55s ease-in-out;
  pointer-events: none;
  border-radius: 8px
}

.abt-us .col-visual .main-img-wrap:hover .img-overlay {
  opacity: 0
}

.abt-us .ann-block {
  position: absolute;
  right: -40px;
  bottom: 60px;
  background: #fff;
  border: 2px solid #060817;
  border-radius: 8px;
  padding: 20px;
  width: 200px;
  box-shadow: 0 6px 22px 0 #06081714
}

.abt-us .ann-block .ann-num {
  font-size: 40px;
  line-height: 1.1;
  color: #FC5367;
  font-weight: 700;
  display: block
}

.abt-us .ann-block .ann-label {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  opacity: .7;
  display: block;
  margin-top: 10px
}

.abt-us .ann-tag {
  position: absolute;
  top: 20px;
  left: -20px;
  background: #FC5367;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  padding: 10px 20px;
  border-radius: 4px;
  box-shadow: 0 3px 5px 0 #fc53670d;
  white-space: nowrap
}

.abt-us .col-text {
  padding-top: 20px
}

.abt-us .sec-label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .1em;
  color: #FC5367;
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px
}

.abt-us .sec-label .shape-anchor {
  width: 10px;
  height: 10px;
  background: #FC5367;
  border-radius: 1px;
  transform: rotate(45deg);
  flex-shrink: 0
}

.abt-us .col-h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px
}

.abt-us .col-text p {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  opacity: .75;
  margin: 0 0 20px
}

.abt-us .fact-row {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 40px;
  padding: 20px;
  background: linear-gradient(211deg, #0608170a 0%, #fc53670f 55%, #dcdbdb1f 100%);
  border-radius: 8px;
  border: 1px solid #06081714;
  box-shadow: inset 0 3px 6px 0 #0608170a
}

.abt-us .fact-item {
  flex: 1;
  text-align: center
}

.abt-us .fact-item .fact-val {
  font-size: 40px;
  line-height: 1.1;
  color: #FC5367;
  font-weight: 700;
  display: block
}

.abt-us .fact-item .fact-desc {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  opacity: .65;
  display: block;
  margin-top: 10px
}

.abt-us .fact-sep {
  width: 1px;
  background: #0608171a;
  align-self: stretch
}

.abt-us .approach-belt {
  margin-top: 80px;
  background: #060817 !important;
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.abt-us .approach-belt::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 1px dashed #fc536740;
  pointer-events: none
}

.abt-us .approach-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px
}

.abt-us .approach-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 40px
}

.abt-us .approach-h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  max-width: 500px
}

.abt-us .approach-sub {
  font-size: 18px;
  line-height: 1.9;
  color: #dcdbdbb8;
  max-width: 360px;
  margin: 0
}

.abt-us .steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px
}

.abt-us .step-card {
  background: #ffffff0a;
  border: 1px solid #dcdbdb1f;
  border-radius: 8px;
  padding: 20px;
  position: relative;
  transition: background .5s ease-in-out, border-color .5s ease-in-out
}

.abt-us .step-card:hover {
  background: #fc53671a;
  border-color: #fc536759
}

.abt-us .step-num {
  font-size: 40px;
  line-height: 1.1;
  color: #fc536738;
  font-weight: 700;
  display: block;
  margin-bottom: 20px;
  transition: color .5s ease-in-out
}

.abt-us .step-card:hover .step-num {
  color: #fc53678c
}

.abt-us .step-title {
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
  display: block;
  margin-bottom: 10px;
  font-weight: 600
}

.abt-us .step-text {
  font-size: 16px;
  line-height: 1.9;
  color: #dcdbdba6;
  margin: 0
}

.abt-us .team-strip {
  padding: 80px 0;
  background: #fff
}

.abt-us .team-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px
}

.abt-us .team-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 80px;
  align-items: start
}

.abt-us .team-portrait-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px
}

.abt-us .portrait-frame {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 9px 36px 0 #fc53671c;
  border: 3px solid #FC5367;
  flex-shrink: 0
}

.abt-us .portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.abt-us .portrait-name {
  font-size: 18px;
  line-height: 1.5;
  color: #060817;
  font-weight: 600;
  text-align: center
}

.abt-us .portrait-role {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase
}

.abt-us .team-content {
  padding-top: 20px
}

.abt-us .team-h3 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px
}

.abt-us .team-content p {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  opacity: .75;
  margin: 0 0 20px
}

.abt-us .method-list {
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.abt-us .method-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  border-radius: 4px;
  border: 1px solid #06081714;
  background: #fff;
  transition: box-shadow .5s ease-in-out, border-color .5s ease-in-out
}

.abt-us .method-list li:hover {
  box-shadow: 0 6px 22px 0 #06081714;
  border-color: #fc53674d
}

.abt-us .method-list .ml-marker {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: linear-gradient(211deg, #FC5367 0%, #fc536799 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.abt-us .method-list .ml-text {
  font-size: 16px;
  line-height: 1.9;
  color: #060817;
  opacity: .75
}

.abt-us .method-list .ml-text strong {
  color: #060817;
  opacity: 1;
  font-weight: 600
}

.abt-us .img-secondary-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
  margin-top: 40px;
  box-shadow: 0 6px 22px 0 #06081714;
  position: relative
}

.abt-us .img-secondary-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.88) saturate(1.1);
  transition: filter .6s ease-in-out
}

.abt-us .img-secondary-wrap:hover img {
  filter: brightness(1) saturate(1.2)
}

.abt-us .img-secondary-wrap .sec-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #fc536733 0%, #06081747 55%, #dcdbdb0a 100%);
  transition: opacity .6s ease-in-out;
  pointer-events: none;
  border-radius: 8px
}

.abt-us .img-secondary-wrap:hover .sec-overlay {
  opacity: 0
}

.abt-us .dashed-accent {
  border: 2px dashed #fc536759;
  border-radius: 8px;
  padding: 20px;
  margin-top: 40px;
  background: linear-gradient(211deg, #fc53670a 0%, #06081705 55%, #dcdbdb0f 100%)
}

.abt-us .dashed-accent .da-quote {
  font-size: 22px;
  line-height: 1.5;
  color: #060817;
  font-style: italic;
  margin: 0 0 10px
}

.abt-us .dashed-accent .da-attr {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  letter-spacing: .08em;
  text-transform: uppercase
}

.abt-us .btn-primary {
  display: inline-block;
  margin-top: 40px;
  padding: 20px 40px;
  background: transparent;
  color: #060817;
  border: 3px solid #060817;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: width .5s ease-in-out, background .5s ease-in-out, color .5s ease-in-out, padding .5s ease-in-out;
  white-space: nowrap
}

.abt-us .btn-primary:hover {
  background: #060817;
  color: #fff;
  padding: 20px 60px
}

.abt-us .btn-primary:focus {
  outline: 2px solid #FC5367;
  outline-offset: 3px
}

.abt-us .btn-primary:active {
  background: #FC5367;
  border-color: #FC5367;
  color: #fff
}

.abt-us .bottom-img-zone {
  padding: 0 0 80px;
  background: #fff
}

.abt-us .bottom-img-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px
}

.abt-us .bottom-img-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start
}

.abt-us .bottom-img-txt h3 {
  font-size: 22px;
  line-height: 1.5;
  color: #060817;
  margin: 0 0 10px
}

.abt-us .bottom-img-txt p {
  font-size: 16px;
  line-height: 1.9;
  color: #060817;
  opacity: .7;
  margin: 0
}

.abt-us .bottom-img-txt {
  padding: 20px 0
}

@media (max-width: 1100px) {
  .abt-us .title-zone {
    padding: 80px 40px;
    gap: 40px
  }

  .abt-us .title-left {
    width: 260px
  }

  .abt-us .about-body-inner,
  .abt-us .approach-inner,
  .abt-us .team-inner,
  .abt-us .bottom-img-inner {
    padding: 0 40px
  }

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

  .abt-us .ann-block {
    right: -10px
  }
}

@media (max-width: 768px) {
  .abt-us .title-zone {
    flex-direction: column;
    padding: 40px 20px;
    gap: 20px
  }

  .abt-us .title-left {
    width: 100%
  }

  .abt-us .title-h1 strong {
    font-size: 40px
  }

  .abt-us .title-h1 {
    font-size: 40px
  }

  .abt-us .about-body-inner,
  .abt-us .approach-inner,
  .abt-us .team-inner,
  .abt-us .bottom-img-inner {
    padding: 0 20px
  }

  .abt-us .two-col {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt-us .ann-block {
    position: static;
    width: auto;
    margin-top: 20px
  }

  .abt-us .ann-tag {
    position: static;
    display: inline-block;
    margin-bottom: 10px
  }

  .abt-us .steps-grid {
    grid-template-columns: 1fr
  }

  .abt-us .approach-top {
    flex-direction: column;
    align-items: flex-start
  }

  .abt-us .team-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt-us .team-portrait-col {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 20px
  }

  .abt-us .portrait-frame {
    width: 120px;
    height: 120px
  }

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

  .abt-us .fact-sep {
    width: 100%;
    height: 1px
  }

  .abt-us .bottom-img-grid {
    grid-template-columns: 1fr
  }

  .abt-us .approach-belt {
    margin-top: 40px
  }
}

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

.opn .ed-col {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px
}

.opn .divider-grad {
  height: 2px;
  background: linear-gradient(211deg, #FC5367 0%, #FC5367 30%, #060817 100%);
  border: none;
  margin: 0
}

.opn .shape-anchor {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #FC5367;
  border-radius: 1px;
  margin-right: 10px;
  vertical-align: middle;
  flex-shrink: 0
}

.opn .bracket-tl,
.opn .bracket-br {
  position: absolute;
  width: 22px;
  height: 22px;
  pointer-events: none
}

.opn .bracket-tl {
  top: 8px;
  left: 8px;
  border-top: 2px solid #FC5367;
  border-left: 2px solid #FC5367;
  border-radius: 1px 0 0 0
}

.opn .bracket-br {
  bottom: 8px;
  right: 8px;
  border-bottom: 2px solid #FC5367;
  border-right: 2px solid #FC5367;
  border-radius: 0 0 1px 0
}

.opn .vignette-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 80% at 50% 50%, transparent 40%, #06081747 100%);
  animation: vign-pulse 5s ease-in-out infinite;
  z-index: 0
}

@keyframes vign-pulse {

  0%,
  100% {
    opacity: .7
  }

  50% {
    opacity: 1
  }
}

.opn .t-blk {
  padding: 80px 0 40px;
  position: relative
}

.opn .t-blk .ed-col {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 40px
}

.opn .t-blk__img-col {
  flex: 0 0 280px;
  position: relative
}

.opn .t-blk__img-wrap {
  position: relative;
  width: 280px;
  height: 340px;
  border-radius: 4px;
  overflow: hidden
}

.opn .t-blk__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: sepia(0.35) contrast(1.1) brightness(0.85) saturate(0.75);
  transition: filter .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .t-blk__img-wrap:hover img {
  filter: sepia(0) contrast(1.05) brightness(1.0) saturate(1.0)
}

.opn .t-blk__img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #fc53672e 0%, #06081752 100%);
  border-radius: 4px;
  pointer-events: none;
  transition: opacity .55s ease-in-out
}

.opn .t-blk__img-wrap:hover .t-blk__img-overlay {
  opacity: 0
}

.opn .t-blk__txt-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  position: relative;
  background: linear-gradient(211deg, #f9f5f5 0%, #ede8e8 60%, #DCDBDB 100%);
  border-radius: 4px
}

.opn .t-blk__label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .t-blk__h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px;
  position: relative;
  display: inline-block
}

.opn .t-blk__h1 .und-word {
  position: relative;
  display: inline-block
}

.opn .t-blk__h1 .und-word::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: linear-gradient(211deg, #FC5367 0%, #060817 100%);
  border-radius: 1px
}

.opn .t-blk__quote {
  font-size: 18px;
  line-height: 1.9;
  color: #3a3a4a;
  margin: 0;
  font-style: italic;
  border-top: 1px solid #DCDBDB;
  padding-top: 20px;
  margin-top: 10px
}

.opn .invest {
  padding: 80px 0;
  background: #060817;
  position: relative;
  overflow: hidden
}

.opn .invest .vignette-bg {
  z-index: 0
}

.opn .invest .ed-col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.opn .invest__left {
  flex: 0 0 340px
}

.opn .invest__right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.opn .invest__eyebrow {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .invest__h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 20px
}

.opn .invest__desc {
  font-size: 18px;
  line-height: 1.9;
  color: #DCDBDB;
  margin: 0
}

.opn .invest__card {
  background: #ffffff0d;
  border: 1.5px solid #dcdbdb26;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background .5s ease-in-out, border-color .5s ease-in-out
}

.opn .invest__card:hover {
  background: #fc536714;
  border-color: #fc536759
}

.opn .invest__card:active {
  background: #fc536738
}

.opn .invest__card-label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .08em;
  color: #FC5367;
  text-transform: uppercase
}

.opn .invest__card-val {
  font-size: 40px;
  line-height: 1.1;
  color: #fff
}

.opn .invest__card-note {
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB
}

.opn .invest__img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  filter: brightness(0.75) saturate(0.8);
  transition: filter .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .invest__img:hover {
  filter: brightness(1.0) saturate(1.0)
}

.opn .rep {
  padding: 80px 0;
  background: #fff
}

.opn .rep .ed-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.opn .rep__top {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-end
}

.opn .rep__top-txt {
  flex: 1
}

.opn .rep__eyebrow {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .rep__h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px
}

.opn .rep__h2 .und-word {
  position: relative;
  display: inline-block
}

.opn .rep__h2 .und-word::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: linear-gradient(211deg, #FC5367 0%, #060817 100%);
  border-radius: 1px
}

.opn .rep__desc {
  font-size: 18px;
  line-height: 1.9;
  color: #3a3a4a;
  margin: 0
}

.opn .rep__stat-col {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
  text-align: right
}

.opn .rep__stat-num {
  font-size: 72px;
  line-height: 1.1;
  color: #060817
}

.opn .rep__stat-lbl {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  letter-spacing: .08em;
  text-transform: uppercase
}

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

.opn .rep__item {
  border: 1.5px solid #DCDBDB;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: box-shadow .5s ease-in-out, border-color .5s ease-in-out;
  position: relative
}

.opn .rep__item:hover {
  box-shadow: 0 6px 22px 0 #06081714;
  border-color: #FC5367
}

.opn .rep__item:active {
  background: #DCDBDB
}

.opn .rep__item-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.opn .rep__item-name {
  font-size: 18px;
  line-height: 1.5;
  color: #060817
}

.opn .rep__item-note {
  font-size: 16px;
  line-height: 1.5;
  color: #5a5a6a
}

.opn .tst {
  padding: 80px 0;
  background: linear-gradient(211deg, #f5f4f4 0%, #ede8e8 55%, #e8e2e2 100%);
  position: relative
}

.opn .tst .ed-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.opn .tst__hd {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 40px
}

.opn .tst__eyebrow {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .tst__h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0;
  flex: 1
}

.opn .tst__rating {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px
}

.opn .tst__rating-num {
  font-size: 40px;
  line-height: 1.1;
  color: #060817
}

.opn .tst__rating-lbl {
  font-size: 16px;
  line-height: 1.5;
  color: #5a5a6a
}

.opn .tst__stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.opn .tst__star {
  width: 16px;
  height: 16px
}

.opn .tst__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.opn .tst__card {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 3px 5px 0 #0608170d;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .tst__card:hover {
  box-shadow: 0 9px 36px 0 #0608171c
}

.opn .tst__card-quote {
  font-size: 18px;
  line-height: 1.9;
  color: #060817;
  margin: 0;
  font-style: italic
}

.opn .tst__card-author {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-top: 10px
}

.opn .tst__card-portrait {
  width: 48px;
  height: 48px;
  border-radius: 22px;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
  filter: brightness(0.88);
  transition: filter .5s ease-in-out
}

.opn .tst__card:hover .tst__card-portrait {
  filter: brightness(1.0)
}

.opn .tst__card-name {
  font-size: 16px;
  line-height: 1.5;
  color: #060817
}

.opn .tst__card-role {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  letter-spacing: .06em
}

.opn .tst__center-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  filter: brightness(0.8) saturate(0.85);
  transition: filter .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .tst__center-img:hover {
  filter: brightness(1.0) saturate(1.0)
}

.opn .team {
  padding: 80px 0;
  background: #060817;
  position: relative;
  overflow: hidden
}

.opn .team .vignette-bg {
  z-index: 0
}

.opn .team .ed-col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.opn .team__txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.opn .team__eyebrow {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .team__h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #fff;
  margin: 0
}

.opn .team__desc {
  font-size: 18px;
  line-height: 1.9;
  color: #DCDBDB;
  margin: 0
}

.opn .team__profiles {
  flex: 0 0 480px;
  display: flex;
  flex-direction: row;
  gap: 20px
}

.opn .team__profile {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.opn .team__portrait-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 7/9;
  border-radius: 8px;
  overflow: hidden
}

.opn .team__portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  filter: brightness(0.78) saturate(0.75);
  transition: filter .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .team__portrait-wrap:hover .team__portrait {
  filter: brightness(1.0) saturate(1.0)
}

.opn .team__portrait-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #fc53671f 0%, #06081761 100%);
  pointer-events: none;
  transition: opacity .55s ease-in-out
}

.opn .team__portrait-wrap:hover .team__portrait-overlay {
  opacity: 0
}

.opn .team__name {
  font-size: 18px;
  line-height: 1.5;
  color: #fff
}

.opn .team__role {
  font-size: 16px;
  line-height: 1.5;
  color: #FC5367;
  letter-spacing: .06em
}

.opn .team__bio {
  font-size: 16px;
  line-height: 1.9;
  color: #DCDBDB
}

.opn .team__cred-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.opn .team__cred-list li {
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px
}

.opn .team__cred-dot {
  width: 8px;
  height: 8px;
  background: #FC5367;
  border-radius: 1px;
  flex-shrink: 0;
  margin-top: 6px
}

.opn .mirror {
  padding: 80px 0;
  background: #fff;
  position: relative
}

.opn .mirror .ed-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.opn .mirror__eyebrow {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  align-items: center
}

.opn .mirror__h2 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 10px
}

.opn .mirror__contrast {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 40px;
  align-items: stretch
}

.opn .mirror__divider-v {
  background: linear-gradient(211deg, #FC5367 0%, #060817 100%);
  border-radius: 1px
}

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

.opn .mirror__side-label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 4px;
  display: inline-block
}

.opn .mirror__side-label.before {
  background: #dcdbdb66;
  color: #060817
}

.opn .mirror__side-label.after {
  background: #fc53671a;
  color: #FC5367
}

.opn .mirror__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.opn .mirror__list li {
  font-size: 18px;
  line-height: 1.9;
  color: #3a3a4a;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px
}

.opn .mirror__list-dot {
  width: 8px;
  height: 8px;
  border-radius: 1px;
  flex-shrink: 0;
  margin-top: 8px
}

.opn .mirror__list-dot.bd {
  background: #DCDBDB
}

.opn .mirror__list-dot.ad {
  background: #FC5367
}

.opn .mirror__img-row {
  display: flex;
  flex-direction: row;
  gap: 20px
}

.opn .mirror__img-wrap {
  flex: 1;
  height: 200px;
  border-radius: 8px;
  overflow: hidden;
  position: relative
}

.opn .mirror__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.8) saturate(0.8);
  transition: filter .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opn .mirror__img-wrap:hover img {
  filter: brightness(1.0) saturate(1.0)
}

.opn .mirror__img-cap {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
  background: #06081799;
  padding: 4px 10px;
  border-radius: 4px;
  letter-spacing: .06em
}

.opn .btn-prim {
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #FC5367;
  background: transparent;
  border: 2.5px solid #FC5367;
  border-radius: 4px;
  padding: 10px 40px;
  cursor: pointer;
  text-decoration: none;
  transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease-in-out, color .5s ease-in-out
}

.opn .btn-prim:hover {
  padding: 10px 60px;
  background: #FC5367;
  color: #fff
}

.opn .btn-prim:focus-visible {
  outline: 3px solid #FC5367 !important;
  outline-offset: 3px !important
}

.opn .btn-prim:active {
  background: #060817;
  color: #FC5367;
  border-color: #060817
}

.opn .btn-sec {
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #060817;
  background: transparent;
  border: 2.5px solid #060817;
  border-radius: 4px;
  padding: 10px 40px;
  cursor: pointer;
  text-decoration: none;
  transition: padding .48s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .48s ease-in-out, color .48s ease-in-out
}

.opn .btn-sec:hover {
  padding: 10px 60px;
  background: #060817;
  color: #fff
}

.opn .btn-sec:focus-visible {
  outline: 3px solid #060817 !important;
  outline-offset: 3px !important
}

@media (max-width: 900px) {
  .opn .ed-col {
    padding: 0 20px
  }

  .opn .t-blk .ed-col {
    flex-direction: column
  }

  .opn .t-blk__img-col {
    flex: 0 0 auto
  }

  .opn .t-blk__img-wrap {
    width: 100%;
    height: 220px
  }

  .opn .t-blk__h1 {
    font-size: 40px
  }

  .opn .invest .ed-col {
    flex-direction: column
  }

  .opn .invest__left {
    flex: 0 0 auto
  }

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

  .opn .rep__grid {
    grid-template-columns: 1fr
  }

  .opn .tst__cards {
    grid-template-columns: 1fr
  }

  .opn .team .ed-col {
    flex-direction: column
  }

  .opn .team__profiles {
    flex: 0 0 auto;
    width: 100%
  }

  .opn .mirror__contrast {
    grid-template-columns: 1fr;
    grid-template-rows: auto
  }

  .opn .mirror__divider-v {
    width: 100%;
    height: 2px
  }

  .opn .mirror__img-row {
    flex-direction: column
  }

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

  .opn .rep__stat-col {
    align-items: flex-start;
    text-align: left
  }
}

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

.srv-pg .bento-top {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px
}

.srv-pg .bento-img-cell {
  grid-column: 1;
  grid-row: 1 / 3;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  min-height: 340px
}

.srv-pg .bento-img-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: saturate(0.7) brightness(0.88);
  transition: filter .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv-pg .bento-img-cell:hover img {
  filter: saturate(1) brightness(1)
}

.srv-pg .bento-img-cell .img-deco {
  position: absolute;
  inset: 0;
  background: linear-gradient(211deg, #06081761 0%, #fc53671f 60%, #dcdbdb0a 100%);
  pointer-events: none;
  border-radius: 8px
}

.srv-pg .bento-tag {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #FC5367;
  border: 2px solid #FC5367;
  border-radius: 4px;
  padding: 4px 10px;
  margin-bottom: 20px;
  text-transform: uppercase
}

.srv-pg .bento-head-cell {
  grid-column: 2 / 4;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 20px 10px;
  background: linear-gradient(211deg, #f5f4f4 0%, #ececec 55%, #dcdbd9 100%);
  border-radius: 8px;
  position: relative
}

.srv-pg .bento-head-cell::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  background: #FC5367;
  border-radius: 1px
}

.srv-pg .bento-h1 {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0
}

.srv-pg .bento-sub-cell {
  grid-column: 2 / 4;
  grid-row: 2;
  padding: 20px;
  background: #060817;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.srv-pg .bento-sub-cell p {
  font-size: 18px;
  line-height: 1.5;
  color: #DCDBDB;
  margin: 0
}

.srv-pg .zigzag-div {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.srv-pg .zigzag-div svg {
  display: block;
  width: 100%
}

.srv-pg .svc-grid-wrap {
  background: #f2f1f0;
  position: relative;
  padding: 80px 0 40px
}

.srv-pg .svc-grid-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#0608170a 1px, transparent 1px), linear-gradient(90deg, #0608170a 1px, transparent 1px);
  background-size: 48px 48px;
  animation: grid-pulse 5s ease-in-out infinite;
  pointer-events: none
}

@keyframes grid-pulse {

  0%,
  100% {
    opacity: .5
  }

  50% {
    opacity: 1
  }
}

.srv-pg .svc-grid-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 40px 40px;
  position: relative;
  z-index: 1
}

.srv-pg .svc-section-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px
}

.srv-pg .svc-section-label .geo-shape {
  width: 14px;
  height: 14px;
  background: #FC5367;
  border-radius: 1px;
  transform: rotate(45deg);
  flex-shrink: 0
}

.srv-pg .svc-section-label h2 {
  font-size: 22px;
  line-height: 1.1;
  color: #060817;
  margin: 0;
  letter-spacing: .04em
}

.srv-pg .svc-featured {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px
}

.srv-pg .svc-card {
  background: #fff;
  border-radius: 8px;
  padding: 40px 20px 20px;
  box-shadow: 0 6px 22px 0 #06081714;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  border: 2px solid transparent;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv-pg .svc-card:hover {
  border-color: #FC5367;
  box-shadow: 0 9px 36px 0 #fc53671c
}

.srv-pg .svc-card .card-num {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 40px;
  line-height: 1.1;
  color: #0608170f;
  font-weight: 700
}

.srv-pg .svc-card .card-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 10px;
  flex-shrink: 0
}

.srv-pg .svc-card h3 {
  font-size: 22px;
  line-height: 1.1;
  color: #060817;
  margin: 0
}

.srv-pg .svc-card h4 {
  font-size: 18px;
  line-height: 1.1;
  color: #060817;
  margin: 0
}

.srv-pg .svc-card p {
  font-size: 16px;
  line-height: 1.5;
  color: #3a3a4a;
  margin: 0
}

.srv-pg .svc-card .card-tag {
  font-size: 16px;
  letter-spacing: .09em;
  color: #FC5367;
  text-transform: uppercase;
  margin-top: auto
}

.srv-pg .svc-card.feat {
  padding: 40px
}

.srv-pg .svc-card.feat h3 {
  font-size: 40px;
  line-height: 1.1
}

.srv-pg .svc-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 40px
}

.srv-pg .svc-row3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 40px
}

.srv-pg .svc-card.dark {
  background: #060817
}

.srv-pg .svc-card.dark h4 {
  color: #DCDBDB
}

.srv-pg .svc-card.dark p {
  color: #dcdbdbbf
}

.srv-pg .svc-card.dark .card-num {
  color: #dcdbdb0f
}

.srv-pg .svc-card.dark .card-tag {
  color: #FC5367
}

.srv-pg .svc-card.accent {
  background: linear-gradient(211deg, #FC5367 0%, #d63a4d 70%, #b02a3a 100%);
  border-color: transparent
}

.srv-pg .svc-card.accent h4 {
  color: #fff
}

.srv-pg .svc-card.accent p {
  color: #ffffffd1
}

.srv-pg .svc-card.accent .card-num {
  color: #ffffff14
}

.srv-pg .reviews-strip {
  border-top: 1px dashed #0608172e;
  padding-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.srv-pg .rev-item {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start
}

.srv-pg .rev-portrait {
  width: 64px;
  height: 86px;
  border-radius: 22px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 3px 5px 0 #0608170d
}

.srv-pg .rev-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top
}

.srv-pg .rev-body {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.srv-pg .rev-stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.srv-pg .star-shape {
  width: 14px;
  height: 14px;
  display: inline-block
}

.srv-pg .rev-name {
  font-size: 16px;
  font-weight: 700;
  color: #060817;
  letter-spacing: .04em
}

.srv-pg .rev-text {
  font-size: 16px;
  line-height: 1.5;
  color: #3a3a4a;
  margin: 0
}

.srv-pg .svc-bottom-bar {
  max-width: 1366px;
  margin: 0 auto;
  padding: 40px 40px 80px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px
}

.srv-pg .svc-bottom-bar .bar-text {
  font-size: 22px;
  line-height: 1.5;
  color: #060817;
  max-width: 600px
}

.srv-pg .btn-primary {
  display: inline-block;
  font-size: 18px;
  line-height: 1.1;
  color: #060817;
  background: transparent;
  border: 3px solid #060817;
  border-radius: 4px;
  padding: 20px 40px;
  text-decoration: none;
  cursor: pointer;
  transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .45s ease-in-out, color .45s ease-in-out;
  white-space: nowrap
}

.srv-pg .btn-primary:hover {
  padding: 20px 60px;
  background: #060817;
  color: #fff
}

.srv-pg .btn-primary:focus {
  outline: 2px solid #FC5367;
  outline-offset: 3px
}

.srv-pg .btn-primary:active {
  background: #FC5367;
  border-color: #FC5367;
  color: #fff
}

.srv-pg .noise-band {
  background: #060817;
  position: relative;
  overflow: hidden
}

.srv-pg .noise-band::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  opacity: .35;
  pointer-events: none
}

.srv-pg .metrics-row {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
  z-index: 1
}

.srv-pg .metric-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
  border: 1px solid #dcdbdb26;
  border-radius: 8px;
  box-shadow: inset 0 4px 6px 0 #fc53670a
}

.srv-pg .metric-val {
  font-size: 72px;
  line-height: 1.1;
  color: #FC5367;
  display: block
}

.srv-pg .metric-label {
  font-size: 16px;
  line-height: 1.5;
  color: #DCDBDB
}

.srv-pg .metric-deco {
  width: 32px;
  height: 2px;
  background: #fc536780;
  border-radius: 1px;
  margin-top: 10px
}

@media (max-width: 1024px) {
  .srv-pg .bento-top {
    grid-template-columns: 1fr 1fr;
    padding: 40px 20px
  }

  .srv-pg .bento-img-cell {
    grid-column: 1;
    grid-row: 1;
    min-height: 260px
  }

  .srv-pg .bento-head-cell {
    grid-column: 2;
    grid-row: 1
  }

  .srv-pg .bento-sub-cell {
    grid-column: 1 / 3;
    grid-row: 2
  }

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

  .srv-pg .svc-card.feat {
    grid-column: 1 / 3
  }

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

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

  .srv-pg .metrics-row {
    grid-template-columns: 1fr 1fr;
    padding: 40px 20px
  }

  .srv-pg .svc-grid-inner {
    padding: 0 20px 40px
  }

  .srv-pg .svc-bottom-bar {
    padding: 40px 20px;
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 680px) {
  .srv-pg .bento-top {
    grid-template-columns: 1fr;
    padding: 40px 20px
  }

  .srv-pg .bento-img-cell {
    grid-column: 1;
    grid-row: 1;
    min-height: 220px
  }

  .srv-pg .bento-head-cell {
    grid-column: 1;
    grid-row: 2
  }

  .srv-pg .bento-sub-cell {
    grid-column: 1;
    grid-row: 3
  }

  .srv-pg .bento-h1 {
    font-size: 22px
  }

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

  .srv-pg .svc-card.feat {
    grid-column: 1
  }

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

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

  .srv-pg .reviews-strip {
    grid-template-columns: 1fr
  }

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

  .srv-pg .metric-val {
    font-size: 40px
  }

  .srv-pg .svc-bottom-bar .bar-text {
    font-size: 18px
  }
}

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

.ct-us .pg-decor {
  position: absolute;
  pointer-events: none;
  overflow: hidden
}

.ct-us .strip-left {
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(211deg, #FC5367 0%, #060817 55%, #DCDBDB 100%);
  pointer-events: none
}

.ct-us .reach-band {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  position: relative
}

.ct-us .reach-band::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 320px;
  background: linear-gradient(211deg, #0608170a 0%, #fc53670f 45%, #dcdbdb08 100%);
  pointer-events: none
}

.ct-us .dot-grid-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #06081712 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .4;
  pointer-events: none
}

.ct-us .info-col {
  position: relative;
  padding-top: 20px
}

.ct-us .geo-shape {
  width: 10px;
  height: 10px;
  background: #FC5367;
  transform: rotate(45deg);
  display: inline-block;
  margin-bottom: 20px
}

.ct-us .info-col__label {
  font-size: 16px;
  letter-spacing: .18em;
  color: #FC5367;
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
  line-height: 1.5
}

.ct-us .info-col__heading {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 10px;
  font-weight: 700
}

.ct-us .info-col__sub {
  display: block;
  height: 2px;
  width: 48px;
  background: linear-gradient(211deg, #FC5367 0%, #060817 100%);
  margin-bottom: 20px
}

.ct-us .info-col__desc {
  font-size: 18px;
  line-height: 1.9;
  color: #3a3d52;
  margin: 0 0 40px
}

.ct-us .contact-details {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.ct-us .cd-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  background: #fff;
  border: 2px solid #DCDBDB;
  border-radius: 8px;
  box-shadow: 0 3px 5px 0 #0608170d;
  transition: border-color .5s ease-in-out, box-shadow .55s ease-in-out;
  position: relative
}

.ct-us .cd-item::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #FC5367;
  border-left: 2px solid #FC5367;
  border-radius: 1px
}

.ct-us .cd-item::after {
  content: '';
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #FC5367;
  border-right: 2px solid #FC5367;
  border-radius: 1px
}

.ct-us .cd-item:hover {
  border-color: #FC5367;
  box-shadow: 0 6px 22px 0 #fc536714
}

.ct-us .cd-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(211deg, #fc53671a 0%, #0608170d 100%);
  border-radius: 8px
}

.ct-us .cd-icon svg {
  width: 20px;
  height: 20px
}

.ct-us .cd-text__type {
  font-size: 16px;
  letter-spacing: .1em;
  color: #FC5367;
  text-transform: uppercase;
  display: block;
  line-height: 1.5
}

.ct-us .cd-text__val {
  font-size: 18px;
  line-height: 1.5;
  color: #060817;
  display: block;
  font-weight: 600
}

.ct-us .cd-text__val a {
  color: #060817;
  text-decoration: none;
  transition: color .5s ease-in-out
}

.ct-us .cd-text__val a:hover {
  color: #FC5367
}

.ct-us .rotating-badge {
  width: 80px;
  height: 80px;
  position: relative;
  margin-top: 40px
}

.ct-us .rotating-badge svg {
  animation: badge-spin 14s linear infinite;
  transform-origin: center
}

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

  to {
    transform: rotate(360deg)
  }
}

.ct-us .rotating-badge .badge-center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.ct-us .badge-dot {
  width: 12px;
  height: 12px;
  background: #FC5367;
  border-radius: 22px
}

.ct-us .form-col {
  position: relative
}

.ct-us .form-col__card {
  background: #fff;
  border: 2px solid #DCDBDB;
  border-radius: 8px;
  padding: 40px;
  box-shadow: 0 9px 36px 0 #0608171c;
  position: relative;
  overflow: hidden
}

.ct-us .form-col__card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(211deg, #FC5367 0%, #060817 60%, #DCDBDB 100%)
}

.ct-us .form-heading {
  font-size: 22px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 10px;
  font-weight: 700
}

.ct-us .form-sub {
  font-size: 16px;
  line-height: 1.5;
  color: #6e7189;
  margin: 0 0 40px
}

.ct-us .field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px
}

.ct-us .field-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px
}

.ct-us .field-group.no-mb {
  margin-bottom: 0
}

.ct-us .f-label {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  font-weight: 600;
  letter-spacing: .04em
}

.ct-us .f-input {
  width: 100%;
  padding: 10px 20px;
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  background: #fafcff;
  border: 2px solid #DCDBDB;
  border-radius: 4px;
  outline: none;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: inset 0 2px 4px 0 #0608170a;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none
}

.ct-us .f-input::placeholder {
  color: #06081759
}

.ct-us .f-input:focus {
  border-color: #FC5367;
  box-shadow: inset 0 2px 4px 0 #0608170a 0 0 0 3px #fc53671f;
  background: #fff
}

.ct-us .f-select {
  width: 100%;
  padding: 10px 20px;
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  background: #fafcff;
  border: 2px solid #DCDBDB;
  border-radius: 4px;
  outline: none;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: inset 0 2px 4px 0 #0608170a;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23060817' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer
}

.ct-us .f-select:focus {
  border-color: #FC5367;
  box-shadow: inset 0 2px 4px 0 #0608170a 0 0 0 3px #fc53671f;
  background-color: #fff
}

.ct-us .f-textarea {
  width: 100%;
  padding: 10px 20px;
  font-size: 16px;
  line-height: 1.9;
  color: #060817;
  background: #fafcff;
  border: 2px solid #DCDBDB;
  border-radius: 4px;
  outline: none;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: inset 0 3px 6px 0 #0608170d;
  box-sizing: border-box;
  resize: vertical;
  min-height: 100px
}

.ct-us .f-textarea::placeholder {
  color: #06081759
}

.ct-us .f-textarea:focus {
  border-color: #FC5367;
  box-shadow: inset 0 3px 6px 0 #0608170d 0 0 0 3px #fc53671f;
  background: #fff
}

.ct-us .opt-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px
}

.ct-us .opt-label {
  font-size: 16px;
  line-height: 1.5;
  color: #060817;
  font-weight: 600;
  letter-spacing: .04em
}

.ct-us .opt-items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px
}

.ct-us .opt-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  cursor: pointer
}

.ct-us .opt-item input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #FC5367;
  cursor: pointer;
  flex-shrink: 0
}

.ct-us .opt-item__text {
  font-size: 16px;
  line-height: 1.5;
  color: #060817
}

.ct-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 20px;
  padding: 20px;
  background: #06081708;
  border-radius: 4px;
  border: 1px solid #DCDBDB
}

.ct-us .privacy-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #FC5367;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  border: none !important
}

.ct-us .privacy-text {
  font-size: 16px;
  line-height: 1.5;
  color: #3a3d52
}

.ct-us .privacy-text a {
  color: #FC5367;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .5s ease-in-out
}

.ct-us .privacy-text a:hover {
  color: #060817
}

.ct-us .submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 40px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #FC5367;
  background: transparent;
  border: 3px solid #FC5367;
  border-radius: 4px;
  cursor: pointer;
  transition: width .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease-in-out, color .5s ease-in-out, box-shadow .55s ease-in-out, padding .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: auto;
  min-width: 200px
}

.ct-us .submit-btn:hover {
  background: #FC5367;
  color: #fff;
  box-shadow: 0 6px 22px 0 #fc536714;
  padding: 10px 60px
}

.ct-us .submit-btn:focus {
  outline: 3px solid #fc536766;
  outline-offset: 2px
}

.ct-us .submit-btn:active {
  background: #060817;
  border-color: #060817;
  color: #fff
}

.ct-us .divider-torn {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin: 0
}

.ct-us .divider-torn svg {
  display: block;
  width: 100%
}

.ct-us .hours-band {
  background: #060817;
  position: relative;
  overflow: hidden
}

.ct-us .hours-band__anim {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(211deg, transparent, transparent 40px, #fc53670a 40px, #fc53670a 42px);
  background-size: 200% 200%;
  animation: diag-drift 12s linear infinite;
  pointer-events: none
}

@keyframes diag-drift {
  0% {
    background-position: 0 0
  }

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

.ct-us .hours-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1
}

.ct-us .hours-left__tag {
  font-size: 16px;
  letter-spacing: .18em;
  color: #dcdbdb99;
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
  line-height: 1.5
}

.ct-us .hours-left__heading {
  font-size: 40px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 10px;
  font-weight: 700
}

.ct-us .hours-left__line {
  display: block;
  height: 2px;
  width: 48px;
  background: linear-gradient(211deg, #FC5367 0%, #DCDBDB 100%);
  margin-bottom: 20px
}

.ct-us .hours-left__note {
  font-size: 16px;
  line-height: 1.9;
  color: #dcdbdbb3;
  margin: 0
}

.ct-us .hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.ct-us .hour-card {
  background: #ffffff0d;
  border: 1px solid #dcdbdb26;
  border-radius: 8px;
  padding: 20px;
  position: relative;
  transition: background .55s ease-in-out, border-color .5s ease-in-out
}

.ct-us .hour-card::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fc536780;
  border-left: 2px solid #fc536780;
  border-radius: 1px
}

.ct-us .hour-card:hover {
  background: #fc536714;
  border-color: #fc53674d
}

.ct-us .hour-card__day {
  font-size: 16px;
  letter-spacing: .08em;
  color: #dcdbdb99;
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
  line-height: 1.5
}

.ct-us .hour-card__time {
  font-size: 22px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
  display: block
}

.ct-us .hour-card__time.closed {
  color: #fc5367b3
}

.ct-us .hour-card.full {
  grid-column: span 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between
}

.ct-us .checklist-block {
  margin-top: 40px;
  background: #ffffff0a;
  border: 1px solid #dcdbdb1f;
  border-radius: 8px;
  padding: 20px
}

.ct-us .checklist-block__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px
}

.ct-us .checklist-block__title {
  font-size: 16px;
  letter-spacing: .1em;
  color: #dcdbdbb3;
  text-transform: uppercase
}

.ct-us .checklist-block__count {
  font-size: 16px;
  color: #FC5367;
  font-weight: 700
}

.ct-us .progress-bar {
  height: 4px;
  background: #dcdbdb26;
  border-radius: 22px;
  margin-bottom: 20px;
  overflow: hidden
}

.ct-us .progress-fill {
  height: 100%;
  width: 71.4%;
  background: linear-gradient(211deg, #FC5367 0%, #fc536780 100%);
  border-radius: 22px;
  transition: width .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ct-us .check-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0
}

.ct-us .check-items li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #dcdbdbcc
}

.ct-us .check-items li.done {
  color: #dcdbdb80
}

.ct-us .check-mark {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center
}

.ct-us .check-mark.filled {
  background: #FC5367
}

.ct-us .check-mark.empty {
  border: 2px solid #dcdbdb4d
}

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

  .ct-us .hours-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 20px
  }

  .ct-us .field-row {
    grid-template-columns: 1fr
  }

  .ct-us .hours-grid {
    grid-template-columns: 1fr
  }

  .ct-us .hour-card.full {
    grid-column: span 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
  }

  .ct-us .form-col__card {
    padding: 20px
  }

  .ct-us .info-col__heading {
    font-size: 40px
  }
}

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

.pg-success .success-wrap {
  max-width: 560px;
  width: 100%;
  text-align: center
}

.pg-success .success-wrap .icon-wrap {
  width: 72px;
  height: 72px;
  margin: 0 auto 40px;
  border: 3px solid #FC5367;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 22px 0 #06081714
}

.pg-success .success-wrap .icon-wrap svg {
  display: block
}

.pg-success .success-wrap .success-label {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #FC5367;
  text-transform: uppercase;
  margin-bottom: 20px
}

.pg-success .success-wrap .success-heading {
  font-size: 40px;
  line-height: 1.1;
  color: #060817;
  margin: 0 0 20px
}

.pg-success .success-wrap .success-text {
  font-size: 18px;
  line-height: 1.5;
  color: #4a4b56;
  margin: 0 0 40px
}

.pg-success .success-wrap .divider {
  width: 40px;
  height: 3px;
  background: linear-gradient(211deg, #FC5367 0%, #DCDBDB 60%, #060817 100%);
  border-radius: 1px;
  margin: 0 auto 40px
}

.pg-success .success-wrap .info-row {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px
}

.pg-success .success-wrap .info-row .info-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px;
  border: 2px solid #DCDBDB;
  border-radius: 8px;
  min-width: 140px;
  box-shadow: 0 3px 5px 0 #0608170d
}

.pg-success .success-wrap .info-row .info-item .item-dot {
  width: 8px;
  height: 8px;
  background: #FC5367;
  border-radius: 1px;
  flex-shrink: 0
}

.pg-success .success-wrap .info-row .info-item .item-text {
  font-size: 16px;
  line-height: 1.5;
  color: #060817
}

.pg-success .success-wrap .btn-home {
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #060817;
  background: transparent;
  border: 3px solid #060817;
  border-radius: 4px;
  padding: 10px 40px;
  text-decoration: none;
  cursor: pointer;
  transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .55s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
  box-shadow: 0 3px 5px 0 #0608170d
}

.pg-success .success-wrap .btn-home:hover {
  background: #060817;
  color: #fff;
  padding: 10px 52px;
  border-color: #060817
}

.pg-success .success-wrap .btn-home:focus {
  outline: 3px solid #FC5367;
  outline-offset: 3px
}

.pg-success .success-wrap .btn-home:active {
  background: #FC5367;
  border-color: #FC5367;
  color: #fff
}

@media (max-width: 480px) {
  .pg-success {
    padding: 40px 20px
  }

  .pg-success .success-wrap .success-heading {
    font-size: 22px
  }

  .pg-success .success-wrap .info-row {
    flex-direction: column;
    align-items: center
  }

  .pg-success .success-wrap .info-row .info-item {
    width: 100%;
    min-width: unset
  }
}