* {
  box-sizing: border-box
}

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

.topbar {
  background: linear-gradient(135deg, #737CBD 0%, #5a63a8 100%);
  padding: 8px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.topbar-addr {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #F9F9FB;
  letter-spacing: .03em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 8px
}

.topbar-addr svg {
  flex-shrink: 0
}

.topbar-contact {
  display: flex;
  align-items: center;
  gap: 32px
}

.topbar-link {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #F9F9FB;
  text-decoration: none;
  letter-spacing: .03em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative
}

.topbar-link::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #F9F9FB;
  transition: width .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.topbar-link:hover::after,
.topbar-link:focus::after {
  width: 100%
}

.topbar-link:focus {
  outline: 2px solid #F9F9FB;
  outline-offset: 2px;
  border-radius: 1px
}

.hdrwrap {
  background: #F9F9FB;
  border-bottom: 1px solid #C2C7E1;
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.hdrin {
  max-width: 1500px;
  margin: 0 auto;
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px
}

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

.logobox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 56px;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  box-shadow: inset 2px 3px 4px -2px #737cbd14 2px 3px 4px -2px #737cbd14;
  padding: 8px 16px;
  flex-shrink: 0
}

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

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

.brandname {
  font-family: 'Bitter', serif;
  font-size: 27px;
  font-weight: 700;
  color: #2d3260;
  line-height: 1.1;
  letter-spacing: -.02em
}

.brandtag {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #737CBD;
  line-height: 1.3;
  letter-spacing: .02em
}

.mainnav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  justify-content: flex-end
}

.navitem {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #2d3260;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  line-height: 1.3;
  letter-spacing: .01em;
  position: relative;
  transition: color .2s ease-in-out, background .2s ease-in-out
}

.navitem::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 16px;
  width: 0;
  height: 2px;
  background: #737CBD;
  border-radius: 1px;
  transition: width .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.navitem:hover {
  color: #737CBD;
  background: #737cbd0f
}

.navitem:hover::after {
  width: calc(100% - 32px)
}

.navitem:focus {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  color: #737CBD
}

.navitem.active {
  color: #737CBD;
  font-weight: 700;
  background: #737cbd14
}

.navitem.active::after {
  width: calc(100% - 32px)
}

.navbtn {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #F9F9FB;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.3;
  padding: 8px 32px;
  background: linear-gradient(135deg, #737CBD 0%, #5a63a8 100%);
  border-radius: 4px;
  border: none;
  display: inline-block;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .2s ease-in-out, background .2s ease-in-out
}

.navbtn:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  background: linear-gradient(135deg, #5a63a8 0%, #737CBD 100%)
}

.navbtn:focus {
  outline: 2px solid #2d3260;
  outline-offset: 2px
}

.ftrwrap {
  background: linear-gradient(180deg, #F9F9FB 0%, #eef0f8 100%);
  border-top: 1px solid #C2C7E1
}

.ftrin {
  max-width: 1500px;
  margin: 0 auto;
  padding: 56px 32px 32px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 56px;
  flex-wrap: wrap
}

.ftrbrand {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 200px
}

.ftrlogobox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 50px;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  box-shadow: inset 2px 3px 4px -2px #737cbd14;
  padding: 8px 16px
}

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

.ftrbrandname {
  font-family: 'Bitter', serif;
  font-size: 21px;
  font-weight: 700;
  color: #2d3260;
  line-height: 1.1;
  letter-spacing: -.01em
}

.ftrmail {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #737CBD;
  text-decoration: none;
  line-height: 1.55;
  position: relative;
  display: inline-block
}

.ftrmail::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #737CBD;
  transition: width .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.ftrmail:hover::after,
.ftrmail:focus::after {
  width: 100%
}

.ftrmail:focus {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  border-radius: 1px
}

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

.ftrnav-label {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #2d3260;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 8px
}

.ftrnav-link {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #4a5080;
  text-decoration: none;
  line-height: 1.55;
  position: relative;
  display: inline-block
}

.ftrnav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #737CBD;
  transition: width .22s ease-in-out
}

.ftrnav-link:hover {
  color: #737CBD
}

.ftrnav-link:hover::after,
.ftrnav-link:focus::after {
  width: 100%
}

.ftrnav-link:focus {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  border-radius: 1px;
  color: #737CBD
}

.ftrbar {
  max-width: 1500px;
  margin: 0 auto;
  padding: 16px 32px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  border-top: 1px solid #C2C7E1
}

.ftrcopy {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #737CBD;
  line-height: 1.55;
  letter-spacing: .01em
}

.ftrpol {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.ftrpol-link {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #737CBD;
  text-decoration: none;
  line-height: 1.55;
  position: relative
}

.ftrpol-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #737CBD;
  transition: width .2s ease-in-out
}

.ftrpol-link:hover::after,
.ftrpol-link:focus::after {
  width: 100%
}

.ftrpol-link:focus {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  border-radius: 1px
}

.ftrpol-sep {
  color: #C2C7E1;
  font-size: 16px;
  line-height: 1.55;
  user-select: none
}

.cookiepop {
  position: fixed;
  top: 16px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 520px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 10px;
  border: 1px solid #C2C7E1;
  box-shadow: 2px 12px 44px -2px #737cbd24;
  z-index: 1200;
  padding: 32px;
  display: none
}

.cookiepop-desc {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #2d3260;
  line-height: 1.55;
  margin-bottom: 16px
}

.cookiepop-head {
  font-family: 'Bitter', serif;
  font-size: 21px;
  font-weight: 700;
  color: #2d3260;
  line-height: 1.3;
  margin-bottom: 8px
}

.cookiepop-acts {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 16px
}

.cook-accept {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #F9F9FB;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: linear-gradient(135deg, #737CBD 0%, #5a63a8 100%);
  border: none;
  border-radius: 4px;
  padding: 8px 32px;
  cursor: pointer;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .2s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.cook-accept:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24
}

.cook-accept:focus {
  outline: 2px solid #2d3260;
  outline-offset: 2px
}

.cook-decline {
  font-family: 'Lexend', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #737CBD;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 8px 0;
  transition: color .2s ease-in-out
}

.cook-decline:hover {
  color: #2d3260
}

.cook-decline:focus {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  border-radius: 1px
}

@media (max-width: 900px) {
  .hdrin {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 16px
  }

  .mainnav {
    justify-content: flex-start
  }

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

  .topbar-contact {
    gap: 16px
  }

  .ftrin {
    flex-direction: column;
    gap: 32px;
    padding: 32px 16px 16px
  }

  .ftrbar {
    padding: 16px
  }
}

.policy-block {
  max-width: 1500px;
  margin: 0 auto;
  padding: 56px 32px;
  background: #F9F9FB;
  color: #1e2140
}

.policy-block p {
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 16px;
  letter-spacing: .01em
}

.policy-block ul,
.policy-block ol {
  margin: 16px 0 16px 32px;
  padding: 0
}

.policy-block ul {
  list-style-type: disc
}

.policy-block ol {
  list-style-type: decimal
}

.policy-block li {
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 8px;
  padding-left: 8px;
  letter-spacing: .01em
}

.policy-block li::marker {
  color: #737CBD
}

.policy-block strong,
.policy-block b {
  font-weight: 700;
  color: #2b2f5a
}

.policy-block em,
.policy-block i {
  font-style: italic;
  color: #3d4170
}

.policy-block a {
  color: #737CBD;
  text-decoration: none;
  font-size: inherit;
  line-height: inherit;
  position: relative;
  display: inline;
  background-image: linear-gradient(#737CBD, #737CBD);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size .2s cubic-bezier(0.4, 0, 0.2, 1), color .18s ease-in-out
}

.policy-block a:hover {
  color: #2b2f5a;
  background-size: 100% 1px
}

.policy-block a:focus-visible {
  outline: 2px solid #737CBD;
  outline-offset: 2px;
  border-radius: 1px
}

.policy-block table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 16px;
  line-height: 1.55;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  border-radius: 4px;
  overflow: hidden
}

.policy-block thead {
  background: linear-gradient(135deg, #737CBD 0%, #9ba3d0 100%)
}

.policy-block thead tr {
  border-bottom: none
}

.policy-block th {
  padding: 16px;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1.3
}

.policy-block tbody tr {
  border-bottom: 1px solid #C2C7E1;
  transition: background-color .18s ease-in-out
}

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

.policy-block tbody tr:nth-child(even) {
  background-color: #c2c7e12e
}

.policy-block tbody tr:hover {
  background-color: #737cbd12
}

.policy-block td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  color: #2b2f5a;
  vertical-align: top
}

.policy-block div {
  margin-bottom: 16px
}

.policy-block div p:last-child {
  margin-bottom: 0
}

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

  .policy-block p {
    font-size: 16px
  }

  .policy-block li {
    font-size: 16px
  }

  .policy-block ul,
  .policy-block ol {
    margin-left: 16px
  }

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

  .policy-block th,
  .policy-block td {
    padding: 8px;
    font-size: 16px
  }
}

@media (max-width: 480px) {
  .policy-block {
    padding: 16px 8px
  }
}

.updprog {
  background: #F9F9FB;
  padding: 0;
  overflow-x: clip
}

.updprog .pg-top {
  position: relative;
  padding: 56px 32px 96px;
  text-align: center;
  background: #F9F9FB
}

.updprog .pg-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(83deg, #C2C7E1 0%, #737CBD 48%, #C2C7E1 100%)
}

.updprog .atmo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden
}

.updprog .atmo-spot {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: .18
}

.updprog .atmo-spot.a1 {
  width: 320px;
  height: 320px;
  background: #737CBD;
  top: -80px;
  left: 10%;
  animation: warmcool 9s ease-in-out infinite
}

.updprog .atmo-spot.a2 {
  width: 240px;
  height: 240px;
  background: #C2C7E1;
  top: 20px;
  right: 8%;
  animation: warmcool 12s ease-in-out infinite reverse
}

.updprog .atmo-spot.a3 {
  width: 180px;
  height: 180px;
  background: #737CBD;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  animation: warmcool 7s ease-in-out infinite 2s
}

@keyframes warmcool {

  0%,
  100% {
    opacity: .13
  }

  50% {
    opacity: .26
  }
}

.updprog .img-frame {
  position: relative;
  display: inline-block;
  margin-bottom: 32px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 12px 44px -2px #737cbd24
}

.updprog .img-frame img {
  display: block;
  width: 100%;
  max-width: 680px;
  height: 360px;
  object-fit: cover;
  border-radius: 10px;
  filter: sepia(0.28) contrast(1.08) brightness(0.97) saturate(0.85);
  transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.updprog .img-frame:hover img {
  filter: sepia(0) contrast(1) brightness(1) saturate(1)
}

.updprog .img-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(83deg, #737cbd38 0%, #c2c7e11a 100%);
  border-radius: 10px;
  transition: opacity .22s ease-in-out;
  pointer-events: none
}

.updprog .img-frame:hover::after {
  opacity: 0
}

.updprog .meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  position: relative;
  z-index: 1
}

.updprog .badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: .04em;
  background: #fff;
  color: #737CBD;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  border: 1px solid #C2C7E1
}

.updprog .badge.cat {
  background: linear-gradient(83deg, #737CBD 0%, #9099CC 100%);
  color: #fff;
  border: none
}

.updprog .badge.lvl {
  background: #fff;
  color: #4a5296;
  border: 1px solid #737CBD
}

.updprog .pg-h1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 2px #3d4580;
  text-stroke: 2px #3d4580;
  margin: 0 auto 16px;
  max-width: 900px;
  position: relative;
  z-index: 1
}

.updprog .sub-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1
}

.updprog .sub-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px
}

.updprog .sub-label {
  font-size: 16px;
  line-height: 1.3;
  color: #737CBD;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 600
}

.updprog .sub-val {
  font-size: 18px;
  line-height: 1.55;
  color: #2a2d4a;
  font-weight: 500
}

.updprog .divider {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  margin: 0 auto;
  max-width: 1500px;
  padding: 0 32px
}

.updprog .div-line {
  flex: 1;
  height: 1px;
  background: #C2C7E1
}

.updprog .div-accent {
  width: 56px;
  height: 3px;
  background: linear-gradient(83deg, #737CBD, #C2C7E1);
  border-radius: 1px;
  margin: 0 8px;
  transform: translateY(-1px)
}

.updprog .body-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 56px 32px 96px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items: start
}

.updprog .col-main {
  display: flex;
  flex-direction: column;
  gap: 56px
}

.updprog .desc-block {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  position: relative
}

.updprog .desc-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  border-radius: 10px 10px 0 0
}

.updprog .blk-heading {
  font-size: 27px;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3d4580;
  text-stroke: 1.5px #3d4580;
  margin-bottom: 16px
}

.updprog .desc-block p {
  font-size: 18px;
  line-height: 1.75;
  color: #2a2d4a;
  margin-bottom: 16px
}

.updprog .desc-block p:last-child {
  margin-bottom: 0
}

.updprog .desc-block h2 {
  font-size: 27px;
  line-height: 1.3;
  color: #3d4580;
  margin: 32px 0 16px
}

.updprog .desc-block mark {
  background: linear-gradient(83deg, #737cbd2e 0%, #c2c7e138 100%);
  color: #2a2d4a;
  border-radius: 4px;
  padding: 0 8px
}

.updprog .desc-block strong {
  color: #3d4580;
  font-weight: 700
}

.updprog .desc-block ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.updprog .desc-block ul li {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 18px;
  line-height: 1.55;
  color: #2a2d4a;
  background: #F9F9FB;
  border-radius: 4px;
  padding: 8px 16px;
  border: 1px solid #C2C7E1
}

.updprog .desc-block ul li::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 50%;
  background: #737CBD;
  margin-top: 6px
}

.updprog .desc-block dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  margin: 0 0 16px
}

.updprog .desc-block dt {
  font-size: 16px;
  font-weight: 700;
  color: #737CBD;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding-top: 4px
}

.updprog .desc-block dd {
  font-size: 18px;
  line-height: 1.55;
  color: #2a2d4a;
  margin: 0
}

.updprog .desc-block figure {
  margin: 32px 0;
  border-radius: 10px;
  overflow: hidden
}

.updprog .desc-block figcaption {
  font-size: 16px;
  color: #737CBD;
  margin-top: 8px;
  font-style: italic
}

.updprog .desc-block details {
  border: 1px solid #C2C7E1;
  border-radius: 4px;
  margin-bottom: 8px
}

.updprog .desc-block summary {
  padding: 16px;
  font-size: 18px;
  font-weight: 600;
  color: #3d4580;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.updprog .desc-block summary::-webkit-details-marker {
  display: none
}

.updprog .prog-block {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  position: relative
}

.updprog .prog-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(83deg, #C2C7E1 0%, #737CBD 100%);
  border-radius: 10px 10px 0 0
}

.updprog .prog-block p {
  font-size: 18px;
  line-height: 1.75;
  color: #2a2d4a;
  margin-bottom: 16px
}

.updprog .prog-block h2 {
  font-size: 27px;
  line-height: 1.3;
  color: #3d4580;
  margin: 32px 0 16px
}

.updprog .prog-block h3 {
  font-size: 21px;
  line-height: 1.3;
  color: #3d4580;
  margin: 16px 0 8px
}

.updprog .prog-block small {
  font-size: 16px;
  color: #737CBD;
  display: block;
  margin-bottom: 8px
}

.updprog .prog-block ol {
  padding: 0 0 0 16px;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.updprog .prog-block ol li {
  font-size: 18px;
  line-height: 1.55;
  color: #2a2d4a;
  padding: 8px 16px;
  background: #F9F9FB;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  list-style-position: outside
}

.updprog .prog-block figure {
  margin: 32px 0;
  border-radius: 10px;
  overflow: hidden
}

.updprog .prog-block figcaption {
  font-size: 16px;
  color: #737CBD;
  margin-top: 8px;
  font-style: italic
}

.updprog .prog-block details {
  border: 1px solid #C2C7E1;
  border-radius: 4px;
  margin-bottom: 8px
}

.updprog .prog-block summary {
  padding: 16px;
  font-size: 18px;
  font-weight: 600;
  color: #3d4580;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.updprog .prog-block summary::-webkit-details-marker {
  display: none
}

.updprog .fact-inline {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  margin: 32px 0
}

.updprog .fact-item {
  flex: 1;
  min-width: 140px;
  background: linear-gradient(83deg, #737cbd1a 0%, #c2c7e124 100%);
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  border: 1px solid #C2C7E1;
  position: relative;
  overflow: hidden
}

.updprog .fact-item::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10px;
  box-shadow: inset 0 0 0 0 #737cbd00;
  transition: box-shadow .22s ease-in-out;
  pointer-events: none
}

.updprog .fact-item:hover::after {
  box-shadow: inset 0 0 12px 0 #737cbd2e
}

.updprog .fact-num {
  font-size: 37px;
  line-height: 1.1;
  font-weight: 800;
  color: #737CBD;
  letter-spacing: -.02em
}

.updprog .fact-desc {
  font-size: 16px;
  line-height: 1.3;
  color: #4a5296;
  margin-top: 8px
}

.updprog .col-side {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: sticky;
  top: 32px
}

.updprog .price-card {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 12px 44px -2px #737cbd24;
  border: 1px solid #C2C7E1;
  position: relative
}

.updprog .price-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  border-radius: 10px 10px 0 0
}

.updprog .price-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(83deg, #C2C7E1 0%, #737CBD 100%);
  border-radius: 0 0 10px 10px
}

.updprog .price-label {
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #737CBD;
  font-weight: 700;
  margin-bottom: 8px
}

.updprog .price-val {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 800;
  color: #3d4580;
  letter-spacing: -.03em;
  margin-bottom: 8px
}

.updprog .price-des {
  font-size: 16px;
  line-height: 1.55;
  color: #737CBD;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #C2C7E1
}

.updprog .price-note {
  font-size: 16px;
  line-height: 1.55;
  color: #4a5296;
  font-style: italic;
  margin-bottom: 32px
}

.updprog .seats-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
  padding: 16px;
  background: #F9F9FB;
  border-radius: 4px;
  border: 1px solid #C2C7E1
}

.updprog .seats-label {
  font-size: 16px;
  color: #737CBD;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em
}

.updprog .seats-num {
  font-size: 21px;
  font-weight: 800;
  color: #3d4580
}

.updprog .btn-primary {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: linear-gradient(83deg, #737CBD 0%, #8a93cc 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), background .2s ease-in-out;
  outline-offset: 4px;
  position: relative;
  overflow: hidden
}

.updprog .btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 4px;
  border: 2px solid transparent;
  transition: border-color .22s ease-in-out;
  pointer-events: none
}

.updprog .btn-primary:hover {
  box-shadow: 2px 12px 44px -2px #737cbd38;
  background: linear-gradient(83deg, #5c65a8 0%, #737CBD 100%)
}

.updprog .btn-primary:hover::before {
  border-color: #ffffff4d
}

.updprog .btn-primary:focus-visible {
  outline: 3px solid #3d4580
}

.updprog .btn-secondary {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: #fff;
  color: #737CBD;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #737CBD;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .2s ease-in-out, background .18s ease-in-out, color .18s ease-in-out;
  position: relative;
  overflow: hidden
}

.updprog .btn-secondary::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #737CBD;
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.updprog .btn-secondary:hover {
  background: #F9F9FB;
  box-shadow: 2px 5px 18px -2px #737cbd1f
}

.updprog .btn-secondary:hover::after {
  width: 100%
}

.updprog .btn-secondary:focus-visible {
  outline: 3px solid #3d4580;
  outline-offset: 4px
}

.updprog .util-row {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.updprog .readtime-badge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #F9F9FB;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  font-size: 16px;
  color: #737CBD
}

.updprog .readtime-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.updprog .outline-hover-wrap {
  position: relative;
  border-radius: 10px
}

.updprog .outline-hover-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color .25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 1
}

.updprog .outline-hover-wrap:hover::before {
  border-color: #737CBD
}

@media (max-width: 900px) {
  .updprog .body-wrap {
    grid-template-columns: 1fr;
    padding: 32px 16px 56px;
    gap: 32px
  }

  .updprog .col-side {
    position: static
  }

  .updprog .pg-top {
    padding: 32px 16px 56px
  }

  .updprog .pg-h1 {
    font-size: 37px
  }

  .updprog .img-frame img {
    height: 240px
  }

  .updprog .fact-inline {
    flex-direction: column
  }

  .updprog .sub-meta {
    gap: 16px
  }
}

.uprog {
  background: #F9F9FB;
  overflow-x: clip;
  position: relative
}

.uprog .fog-layer {
  position: fixed;
  top: 0;
  left: -20%;
  width: 60%;
  height: 100%;
  background: linear-gradient(105deg, #ffffff2e 0%, #fff0 70%);
  pointer-events: none;
  animation: fogmove 18s ease-in-out infinite alternate;
  z-index: 0
}

@keyframes fogmove {
  0% {
    transform: translateX(0) translateY(0)
  }

  100% {
    transform: translateX(18%) translateY(4%)
  }
}

.uprog .pg-strip {
  width: 100%;
  height: 7px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 60%, #F9F9FB 100%)
}

.uprog .titblock {
  padding: 96px 32px 56px;
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.uprog .titblock::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, #737cbd0f 0px, #737cbd0f 1px, transparent 1px, transparent 18px), repeating-linear-gradient(-45deg, #737cbd0f 0px, #737cbd0f 1px, transparent 1px, transparent 18px);
  pointer-events: none;
  z-index: 0
}

.uprog .titblock-img {
  width: 100%;
  height: 120px;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 56px;
  position: relative;
  z-index: 1
}

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

.uprog .titblock-img:hover img {
  transform: scale(1.03)
}

.uprog .titblock-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(83deg, #737cbd38 0%, #c2c7e11a 100%);
  transition: opacity .2s ease-in-out;
  pointer-events: none
}

.uprog .titblock-img:hover::after {
  opacity: 0
}

.uprog .titblock-h {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 2px #737CBD;
  position: relative;
  z-index: 1;
  margin: 0
}

.uprog .divider-concave {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  position: relative;
  z-index: 1
}

.uprog .divider-concave svg {
  display: block;
  width: 100%
}

.uprog .cardgrid-wrap {
  background: #fff;
  padding: 56px 32px;
  position: relative;
  z-index: 1
}

.uprog .cardgrid-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 20%, #c2c7e12e 0%, transparent 60%), linear-gradient(83deg, #737cbd0a 0%, #f9f9fb00 100%);
  pointer-events: none
}

.uprog .cardgrid-inner {
  max-width: 1500px;
  margin: 0 auto
}

.uprog .cardgrid-label {
  font-size: 16px;
  letter-spacing: .12em;
  color: #737CBD;
  text-transform: uppercase;
  margin-bottom: 32px;
  display: block
}

.uprog .cardgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 32px
}

.uprog .pcard {
  background: #F9F9FB;
  border-radius: 10px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.uprog .pcard:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-3px)
}

.uprog .pcard:active {
  transform: translateY(1px) scale(0.99);
  box-shadow: 2px 3px 4px -2px #737cbd14
}

.uprog .pcard-corner {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 48px 48px 0;
  border-color: transparent #737CBD transparent transparent;
  z-index: 2
}

.uprog .pcard-imgwrap {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0
}

.uprog .pcard-imgwrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #737cbd47 0%, #737cbd0d 100%);
  transition: opacity .2s ease-in-out;
  pointer-events: none
}

.uprog .pcard:hover .pcard-imgwrap::after {
  opacity: 0
}

.uprog .pcard-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.uprog .pcard:hover .pcard-imgwrap img {
  transform: scale(1.04)
}

.uprog .pcard-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px
}

.uprog .pcard-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px
}

.uprog .tag-pill {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .04em;
  background: #737cbd1f;
  color: #737CBD;
  border-radius: 4px;
  padding: 4px 8px;
  display: inline-block
}

.uprog .tag-pill.userlvl {
  background: #c2c7e159;
  color: #3d4480
}

.uprog .tag-pill.readtime {
  background: #737cbd12;
  color: #5a6199
}

.uprog .pcard-title {
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: #1e2240;
  margin: 0
}

.uprog .pcard-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #3d4480;
  margin: 0;
  flex: 1
}

.uprog .pcard-meta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid #737cbd1f
}

.uprog .pcard-dur {
  font-size: 16px;
  color: #5a6199;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.uprog .pcard-dur svg {
  flex-shrink: 0
}

.uprog .pcard-seats {
  font-size: 16px;
  color: #737CBD;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.uprog .pcard-seats svg {
  flex-shrink: 0
}

.uprog .pcard-price-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 8px
}

.uprog .pcard-price {
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #737CBD;
  font-weight: 700
}

.uprog .pcard-pricedes {
  font-size: 16px;
  line-height: 1.55;
  color: #5a6199;
  margin-bottom: 2px
}

.uprog .pcard-pricenote {
  font-size: 16px;
  color: #9ba3cc;
  width: 100%;
  font-style: italic
}

.uprog .pcard-btn {
  display: block;
  width: 100%;
  padding: 16px;
  background: linear-gradient(83deg, #737CBD 0%, #9aa0d4 100%);
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 0 0 10px 10px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), background .18s ease-in-out;
  outline: none;
  margin-top: auto
}

.uprog .pcard-btn:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  background: linear-gradient(83deg, #5a6199 0%, #737CBD 100%)
}

.uprog .pcard-btn:focus-visible {
  outline: 3px solid #1e2240 !important;
  outline-offset: 2px !important
}

.uprog .pcard-btn:active {
  box-shadow: 2px 3px 4px -2px #737cbd14
}

.uprog .divider-concave2 {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff;
  position: relative;
  z-index: 1
}

.uprog .divider-concave2 svg {
  display: block;
  width: 100%
}

.uprog .whyblock {
  background: #F9F9FB;
  padding: 56px 32px;
  position: relative;
  z-index: 1
}

.uprog .whyblock-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start
}

.uprog .whyblock-text h2 {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #737CBD;
  margin: 0 0 32px
}

.uprog .whyblock-text p {
  font-size: 18px;
  line-height: 1.55;
  color: #2a2f5c;
  margin: 0 0 16px
}

.uprog .whyblock-steps {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.uprog .wstep {
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.uprog .wstep:hover {
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.uprog .wstep-num {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 4px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700
}

.uprog .wstep-txt h4 {
  font-size: 18px;
  line-height: 1.3;
  color: #1e2240;
  margin: 0 0 8px
}

.uprog .wstep-txt p {
  font-size: 16px;
  line-height: 1.55;
  color: #5a6199;
  margin: 0
}

.uprog .diamond-acc {
  position: absolute;
  bottom: -14px;
  right: -14px;
  width: 28px;
  height: 28px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  transform: rotate(45deg);
  border-radius: 1px;
  pointer-events: none
}

.uprog .divider-concave3 {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #F9F9FB;
  position: relative;
  z-index: 1
}

.uprog .divider-concave3 svg {
  display: block;
  width: 100%
}

.uprog .crossbg {
  background: #fff;
  padding: 56px 32px;
  position: relative;
  z-index: 1
}

.uprog .crossbg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #737cbd2e 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  pointer-events: none
}

.uprog .faqblock-inner {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.uprog .faqblock-inner h2 {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #737CBD;
  margin: 0 0 32px;
  text-align: center
}

.uprog .faq-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
  margin: 0 auto
}

.uprog .faq-item {
  background: #F9F9FB;
  border-radius: 10px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  overflow: hidden
}

.uprog .faq-item summary {
  font-size: 18px;
  line-height: 1.3;
  color: #1e2240;
  padding: 16px;
  cursor: pointer;
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: background .18s ease-in-out
}

.uprog .faq-item summary::-webkit-details-marker {
  display: none
}

.uprog .faq-item summary:hover {
  background: #737cbd0f
}

.uprog .faq-item summary:focus-visible {
  outline: 3px solid #1e2240 !important;
  outline-offset: 2px !important
}

.uprog .faq-arrow {
  width: 20px;
  height: 20px;
  min-width: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.uprog .faq-item[open] .faq-arrow {
  transform: rotate(180deg)
}

.uprog .faq-body {
  padding: 0 16px 16px;
  font-size: 16px;
  line-height: 1.55;
  color: #3d4480
}

.uprog .divider-concave4 {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff;
  position: relative;
  z-index: 1
}

.uprog .divider-concave4 svg {
  display: block;
  width: 100%
}

.uprog .ctastrip {
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  padding: 56px 32px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.uprog .ctastrip-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap
}

.uprog .ctastrip-txt h2 {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 8px
}

.uprog .ctastrip-txt p {
  font-size: 18px;
  line-height: 1.55;
  color: #ffffffe0;
  margin: 0;
  max-width: 560px
}

.uprog .cta-btn {
  display: inline-block;
  padding: 16px 32px;
  background: #fff;
  color: #737CBD;
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), color .18s ease-in-out;
  white-space: nowrap;
  flex-shrink: 0
}

.uprog .cta-btn:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  color: #3d4480
}

.uprog .cta-btn:focus-visible {
  outline: 3px solid #1e2240 !important;
  outline-offset: 2px !important
}

.uprog .cta-btn:active {
  transform: scale(0.98);
  box-shadow: 2px 3px 4px -2px #737cbd14
}

@media (max-width: 900px) {
  .uprog .titblock-h {
    font-size: 37px
  }

  .uprog .whyblock-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .uprog .cardgrid {
    grid-template-columns: 1fr
  }

  .uprog .ctastrip-inner {
    flex-direction: column;
    align-items: flex-start
  }

  .uprog .titblock {
    padding: 56px 16px 32px
  }

  .uprog .cardgrid-wrap,
  .uprog .whyblock,
  .uprog .crossbg,
  .uprog .ctastrip {
    padding: 32px 16px
  }
}

@media (max-width: 600px) {
  .uprog .titblock-h {
    font-size: 27px
  }

  .uprog .whyblock-text h2,
  .uprog .faqblock-inner h2,
  .uprog .ctastrip-txt h2 {
    font-size: 27px
  }
}

.abus {
  display: block;
  width: 100%;
  overflow-x: hidden
}

.abus * {
  box-sizing: border-box
}

.abus .reveal {
  opacity: 0;
  transform: scale(0.97);
  animation: revealIn .4s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.abus .reveal.d1 {
  animation-delay: .08s
}

.abus .reveal.d2 {
  animation-delay: .18s
}

.abus .reveal.d3 {
  animation-delay: .28s
}

.abus .reveal.d4 {
  animation-delay: .38s
}

.abus .reveal.d5 {
  animation-delay: .48s
}

@keyframes revealIn {
  to {
    opacity: 1;
    transform: scale(1)
  }
}

.abus .divider-grad {
  width: 100%;
  height: 2px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  border: none;
  margin: 0
}

.abus .divider-arc {
  width: 100%;
  height: 2px;
  background: linear-gradient(83deg, #C2C7E1 0%, #737CBD 55%, #C2C7E1 100%);
  border: none;
  margin: 0
}

.abus .ident {
  position: relative;
  background: #F9F9FB;
  padding: 96px 0 0;
  border-right: 3px solid #C2C7E1
}

.abus .ident-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start
}

.abus .ident-text {
  padding: 0 32px 96px 0;
  position: relative
}

.abus .ident-overnum {
  position: absolute;
  top: -32px;
  left: -16px;
  font-size: 180px;
  font-weight: 900;
  line-height: 1.1;
  color: #C2C7E1;
  opacity: .22;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px
}

.abus .ident-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #737CBD;
  color: #fff;
  font-size: 16px;
  letter-spacing: .08em;
  padding: 8px 16px;
  border-radius: 4px;
  margin-bottom: 32px;
  font-weight: 600;
  text-transform: uppercase
}

.abus .ident-h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -2px;
  color: transparent;
  -webkit-text-stroke: 2px #737CBD;
  margin: 0 0 32px
}

.abus .ident-h1 span {
  display: block
}

.abus .ident-lead {
  font-size: 21px;
  line-height: 1.55;
  color: #2a2d4a;
  margin: 0 0 32px;
  max-width: 480px
}

.abus .ident-body {
  font-size: 18px;
  line-height: 1.75;
  color: #3d4060;
  margin: 0 0 32px;
  max-width: 480px
}

.abus .ident-metrics {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 32px
}

.abus .metric-card {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  flex: 1;
  position: relative;
  transition: box-shadow .25s ease-in-out, transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abus .metric-card:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-2px)
}

.abus .metric-num {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -2px;
  color: transparent;
  -webkit-text-stroke: 2px #737CBD;
  display: block;
  font-weight: 900
}

.abus .metric-label {
  font-size: 16px;
  line-height: 1.55;
  color: #5a5f80;
  margin-top: 8px;
  display: block
}

.abus .ident-visual {
  position: relative;
  padding: 0 0 96px
}

.abus .ident-imgwrap {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 12px 44px -2px #737cbd24
}

.abus .ident-imgwrap img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
  animation: slowzoom 12s ease-in-out infinite alternate
}

@keyframes slowzoom {
  from {
    transform: scale(1)
  }

  to {
    transform: scale(1.06)
  }
}

.abus .ident-imgwrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #737cbd14 0%, #737cbd52 100%);
  border-radius: 10px;
  pointer-events: none;
  transition: opacity .25s ease-in-out
}

.abus .ident-imgwrap:hover::after {
  opacity: 0
}

.abus .pullquote {
  margin: 32px 0 0;
  padding: 32px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  position: relative
}

.abus .pullquote-bar {
  width: 40px;
  height: 3px;
  background: linear-gradient(83deg, #737CBD, #C2C7E1);
  border-radius: 1px;
  margin-bottom: 16px
}

.abus .pullquote-text {
  font-size: 21px;
  line-height: 1.55;
  color: #2a2d4a;
  font-style: italic;
  margin: 0 0 16px
}

.abus .pullquote-attr {
  font-size: 16px;
  color: #737CBD;
  font-weight: 600;
  letter-spacing: .05em
}

.abus .approach {
  position: relative;
  padding: 96px 0;
  background: #fff
}

.abus .approach-diag {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.abus .approach-diag::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 45%;
  height: 100%;
  background: linear-gradient(83deg, #F9F9FB 0%, #C2C7E1 100%);
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%)
}

.abus .approach-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
  z-index: 1
}

.abus .approach-top {
  margin-bottom: 56px
}

.abus .approach-h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -1.5px;
  color: transparent;
  -webkit-text-stroke: 2px #737CBD;
  margin: 0 0 16px
}

.abus .approach-sub {
  font-size: 18px;
  line-height: 1.75;
  color: #3d4060;
  max-width: 600px
}

.abus .approach-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 56px
}

.abus .apcard {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  position: relative;
  transition: box-shadow .22s ease-in-out, transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abus .apcard:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-3px)
}

.abus .apcard-ico {
  width: 40px;
  height: 40px;
  margin-bottom: 16px
}

.abus .apcard-h3 {
  font-size: 21px;
  line-height: 1.3;
  color: #2a2d4a;
  margin: 0 0 16px;
  font-weight: 700
}

.abus .apcard-p {
  font-size: 16px;
  line-height: 1.75;
  color: #5a5f80;
  margin: 0
}

.abus .approach-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center
}

.abus .team-col {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abus .team-h4 {
  font-size: 27px;
  line-height: 1.3;
  color: #2a2d4a;
  margin: 0 0 8px;
  font-weight: 700
}

.abus .team-intro {
  font-size: 18px;
  line-height: 1.75;
  color: #3d4060;
  margin: 0
}

.abus .team-cards {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abus .tcard {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  background: #F9F9FB;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .22s ease-in-out
}

.abus .tcard:hover {
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.abus .tcard-portrait {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 2px 3px 4px -2px #737cbd14
}

.abus .tcard-portrait img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  object-position: center;
  display: block
}

.abus .tcard-info {
  flex: 1
}

.abus .tcard-name {
  font-size: 18px;
  line-height: 1.3;
  color: #2a2d4a;
  font-weight: 700;
  margin: 0 0 4px
}

.abus .tcard-role {
  font-size: 16px;
  line-height: 1.55;
  color: #737CBD;
  margin: 0 0 4px
}

.abus .tcard-note {
  font-size: 16px;
  line-height: 1.55;
  color: #5a5f80;
  margin: 0
}

.abus .img-col {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abus .img-stack-top {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.abus .img-stack-top img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
  animation: slowpan 14s ease-in-out infinite alternate
}

@keyframes slowpan {
  from {
    transform: scale(1) translateX(0)
  }

  to {
    transform: scale(1.05) translateX(-12px)
  }
}

.abus .img-stack-top::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #737cbd0f 0%, #737cbd47 100%);
  pointer-events: none;
  transition: opacity .25s ease-in-out
}

.abus .img-stack-top:hover::after {
  opacity: 0
}

.abus .img-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.abus .img-thumb {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  position: relative
}

.abus .img-thumb img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.abus .img-thumb:hover img {
  transform: scale(1.06)
}

.abus .img-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #737cbd0a 0%, #737cbd38 100%);
  pointer-events: none;
  transition: opacity .25s ease-in-out
}

.abus .img-thumb:hover::after {
  opacity: 0
}

.abus .badges-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.abus .badge {
  display: inline-flex;
  align-items: center;
  background: #F9F9FB;
  border: 1px solid #C2C7E1;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 16px;
  color: #3d4060;
  font-weight: 500;
  letter-spacing: .03em;
  transition: background .2s ease-in-out, color .2s ease-in-out
}

.abus .badge:hover {
  background: #737CBD;
  color: #fff;
  border-color: #737CBD
}

@media (max-width: 1024px) {
  .abus .ident-inner {
    grid-template-columns: 1fr;
    padding: 0 32px;
    gap: 32px
  }

  .abus .ident-text {
    padding: 0 0 32px
  }

  .abus .ident-visual {
    padding: 0 0 56px
  }

  .abus .approach-inner {
    padding: 0 32px
  }

  .abus .approach-grid {
    grid-template-columns: 1fr 1fr
  }

  .abus .approach-bottom {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .abus .approach-diag::before {
    display: none
  }
}

@media (max-width: 768px) {
  .abus .ident {
    padding: 56px 0 0;
    border-right: none
  }

  .abus .ident-inner {
    padding: 0 16px;
    gap: 16px
  }

  .abus .ident-h1 {
    font-size: 37px;
    letter-spacing: -1px
  }

  .abus .ident-overnum {
    font-size: 100px;
    top: -16px;
    left: -8px
  }

  .abus .ident-metrics {
    flex-direction: column;
    gap: 16px
  }

  .abus .metric-num {
    font-size: 37px
  }

  .abus .approach {
    padding: 56px 0
  }

  .abus .approach-inner {
    padding: 0 16px
  }

  .abus .approach-h2 {
    font-size: 37px;
    letter-spacing: -1px
  }

  .abus .approach-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .abus .img-row {
    grid-template-columns: 1fr
  }

  .abus .ident-text {
    padding: 0 0 16px
  }

  .abus .ident-visual {
    padding: 0 0 32px
  }

  .abus .ident-imgwrap img {
    height: 300px
  }

  .abus .team-h4 {
    font-size: 21px
  }
}

.lnch {
  max-width: 1500px;
  margin: 0 auto;
  overflow-x: clip
}

.lnch .ttl-blk {
  position: relative;
  padding: 56px 96px 96px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 55%, #F9F9FB 100%);
  background-size: 300% 300%;
  animation: bgshift 6s ease-in-out infinite;
  overflow: hidden
}

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

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

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

.lnch .ttl-blk .atm-spot {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0
}

.lnch .ttl-blk .atm-spot.a1 {
  width: 420px;
  height: 420px;
  background: #737CBD;
  opacity: .18;
  filter: blur(80px);
  top: -80px;
  left: -60px
}

.lnch .ttl-blk .atm-spot.a2 {
  width: 320px;
  height: 320px;
  background: #C2C7E1;
  opacity: .22;
  filter: blur(60px);
  bottom: -40px;
  right: 80px
}

.lnch .ttl-blk .atm-spot.a3 {
  width: 200px;
  height: 200px;
  background: #737CBD;
  opacity: .12;
  filter: blur(50px);
  top: 40px;
  right: 200px
}

.lnch .ttl-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 56px;
  max-width: 1100px;
  margin: 0 auto
}

.lnch .ttl-text {
  flex: 1
}

.lnch .ttl-text h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #1a2040;
  margin: 0 0 32px;
  -webkit-text-stroke: 1.5px #3a4580;
  color: transparent
}

.lnch .ttl-text h1 .accent-wd {
  -webkit-text-stroke: 0;
  color: #2d3560;
  background: linear-gradient(83deg, #2d3560, #737CBD);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.lnch .ttl-sub {
  font-size: 21px;
  line-height: 1.55;
  color: #2d3560;
  max-width: 540px;
  margin: 0 0 32px
}

.lnch .ttl-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.lnch .ttl-tag {
  display: inline-block;
  padding: 8px 16px;
  background: #737cbd26;
  border: 1px solid #737cbd59;
  border-radius: 4px;
  font-size: 16px;
  color: #2d3560;
  letter-spacing: .04em;
  text-transform: uppercase
}

.lnch .ttl-img-wrap {
  width: 280px;
  flex-shrink: 0;
  position: relative
}

.lnch .ttl-img-wrap::before {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid #737cbd66;
  pointer-events: none;
  z-index: 2
}

.lnch .ttl-img-wrap::after {
  content: "";
  position: absolute;
  inset: -16px;
  border: 1px solid #737cbd2e;
  pointer-events: none;
  z-index: 2
}

.lnch .ttl-img {
  width: 280px;
  height: 360px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: grayscale(1) contrast(1.1);
  transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .ttl-img-wrap:hover .ttl-img {
  filter: grayscale(0) contrast(1)
}

.lnch .ttl-img-overlay {
  position: absolute;
  inset: 0;
  background: #737cbd40;
  pointer-events: none;
  transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.lnch .ttl-img-wrap:hover .ttl-img-overlay {
  opacity: 0
}

.lnch .supp-blk {
  padding: 96px;
  background: #F9F9FB;
  position: relative
}

.lnch .supp-blk::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(83deg, transparent, #C2C7E1 40%, transparent);
  margin-bottom: 56px
}

.lnch .supp-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start
}

.lnch .supp-lead h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.025em;
  -webkit-text-stroke: 1px #737CBD;
  color: transparent;
  margin: 0 0 32px
}

.lnch .supp-lead p {
  font-size: 18px;
  line-height: 1.55;
  color: #2d3560;
  margin: 0
}

.lnch .supp-cards {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .supp-card {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  border: 1px solid #c2c7e180;
  position: relative;
  overflow: hidden;
  transition: box-shadow .22s ease-in-out
}

.lnch .supp-card:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24
}

.lnch .supp-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, #737CBD, #C2C7E1)
}

.lnch .supp-card-ico {
  width: 36px;
  height: 36px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.lnch .supp-card-ico svg {
  width: 32px;
  height: 32px
}

.lnch .supp-card h4 {
  font-size: 18px;
  line-height: 1.3;
  color: #2d3560;
  margin: 0 0 8px;
  letter-spacing: .01em
}

.lnch .supp-card p {
  font-size: 16px;
  line-height: 1.55;
  color: #4a5280;
  margin: 0
}

.lnch .supp-img-row {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 8px
}

.lnch .supp-img-wrap {
  flex: 1;
  height: 200px;
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

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

.lnch .supp-img-wrap:hover img {
  transform: scale(1.04)
}

.lnch .supp-img-cover {
  position: absolute;
  inset: 0;
  background: #737cbd4d;
  transition: opacity .35s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none
}

.lnch .supp-img-wrap:hover .supp-img-cover {
  opacity: 0
}

.lnch .fit-blk {
  padding: 96px;
  background: #fff;
  position: relative
}

.lnch .fit-blk::after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(83deg, transparent, #737CBD 50%, transparent);
  margin-top: 56px
}

.lnch .fit-inner {
  max-width: 1100px;
  margin: 0 auto
}

.lnch .fit-inner h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.025em;
  -webkit-text-stroke: 1px #737CBD;
  color: transparent;
  margin: 0 0 16px
}

.lnch .fit-desc {
  font-size: 18px;
  line-height: 1.55;
  color: #4a5280;
  max-width: 680px;
  margin: 0 0 56px
}

.lnch .fit-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.lnch .fit-col {
  padding: 32px;
  border-radius: 10px;
  box-shadow: inset 0 2px 8px #737cbd14
}

.lnch .fit-col.yes {
  background: #737cbd0f;
  border: 1px solid #737cbd33
}

.lnch .fit-col.no {
  background: #c2c7e11f;
  border: 1px solid #c2c7e166
}

.lnch .fit-col h5 {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #737CBD;
  margin: 0 0 16px
}

.lnch .fit-col.no h5 {
  color: #9a9fb8
}

.lnch .fit-items {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lnch .fit-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.55;
  color: #2d3560
}

.lnch .fit-item .fit-dot {
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: #737CBD;
  flex-shrink: 0;
  margin-top: 8px
}

.lnch .fit-col.no .fit-item .fit-dot {
  background: #C2C7E1
}

.lnch .fit-col.no .fit-item {
  color: #6a7090
}

.lnch .fit-imgs {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 32px
}

.lnch .fit-img-wrap {
  flex: 1;
  height: 180px;
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

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

.lnch .fit-img-wrap:hover img {
  transform: scale(1.05)
}

.lnch .fit-img-cov {
  position: absolute;
  inset: 0;
  background: #737cbd47;
  transition: opacity .4s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none
}

.lnch .fit-img-wrap:hover .fit-img-cov {
  opacity: 0
}

.lnch .inv-blk {
  padding: 96px;
  background: #F9F9FB;
  position: relative;
  animation: brtpulse 7s ease-in-out infinite
}

@keyframes brtpulse {
  0% {
    filter: brightness(1)
  }

  50% {
    filter: brightness(1.015)
  }

  100% {
    filter: brightness(1)
  }
}

.lnch .inv-blk .entry-mark {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 56px
}

.lnch .inv-blk .entry-mark .em-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #737CBD, transparent)
}

.lnch .inv-blk .entry-mark .em-label {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #737CBD;
  white-space: nowrap
}

.lnch .inv-inner {
  max-width: 1100px;
  margin: 0 auto;
  position: relative
}

.lnch .inv-inner::before {
  content: "";
  position: absolute;
  left: -32px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, #737CBD 0%, #737cbd1a 100%);
  pointer-events: none
}

.lnch .inv-inner::after {
  content: "";
  position: absolute;
  left: -40px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, #737cbd33 0%, transparent 100%);
  pointer-events: none
}

.lnch .inv-head h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.025em;
  -webkit-text-stroke: 1px #737CBD;
  color: transparent;
  margin: 0 0 16px
}

.lnch .inv-head p {
  font-size: 18px;
  line-height: 1.55;
  color: #4a5280;
  max-width: 620px;
  margin: 0 0 56px
}

.lnch .inv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 56px
}

.lnch .inv-card {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  border: 1px solid #c2c7e180;
  position: relative;
  transition: box-shadow .22s ease-in-out, transform .22s ease-in-out
}

.lnch .inv-card:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-2px)
}

.lnch .inv-card-num {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #737CBD;
  font-weight: 700;
  margin-bottom: 8px
}

.lnch .inv-card h5 {
  font-size: 16px;
  line-height: 1.3;
  color: #2d3560;
  margin: 0 0 8px;
  letter-spacing: .02em;
  text-transform: uppercase
}

.lnch .inv-card p {
  font-size: 16px;
  line-height: 1.55;
  color: #4a5280;
  margin: 0
}

.lnch .inv-note {
  background: #737cbd14;
  border-radius: 4px;
  padding: 32px;
  border: 1px solid #737cbd2e;
  box-shadow: inset 2px 3px 4px -2px #737cbd14;
  font-size: 18px;
  line-height: 1.55;
  color: #2d3560;
  max-width: 760px
}

.lnch .inv-blk .exit-mark {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-top: 56px
}

.lnch .inv-blk .exit-mark .em-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, #737CBD)
}

.lnch .inv-blk .exit-mark .em-label {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #737CBD;
  white-space: nowrap
}

.lnch .exp-blk {
  padding: 96px;
  background: #fff;
  position: relative
}

.lnch .exp-blk::before {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 60%, transparent 100%);
  margin-bottom: 56px
}

.lnch .exp-inner {
  max-width: 1100px;
  margin: 0 auto
}

.lnch .exp-inner h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.025em;
  -webkit-text-stroke: 1px #737CBD;
  color: transparent;
  margin: 0 0 56px
}

.lnch .exp-stories {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.lnch .exp-story {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  align-items: start;
  padding: 32px;
  border-radius: 10px;
  background: #F9F9FB;
  border: 1px solid #c2c7e166;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .28s ease-in-out
}

.lnch .exp-story:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24
}

.lnch .exp-portrait {
  width: 80px;
  height: 112px;
  object-fit: cover;
  object-position: center;
  display: block;
  flex-shrink: 0
}

.lnch .exp-portrait-wrap {
  position: relative;
  display: inline-block
}

.lnch .exp-portrait-wrap::before {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid #737cbd59;
  pointer-events: none;
  z-index: 1
}

.lnch .exp-portrait-wrap::after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid #737cbd26;
  pointer-events: none;
  z-index: 1
}

.lnch .exp-story-txt {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .exp-person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.lnch .exp-name {
  font-size: 18px;
  line-height: 1.3;
  color: #2d3560;
  font-weight: 600
}

.lnch .exp-role-tag {
  display: inline-block;
  padding: 4px 8px;
  background: #737cbd1f;
  border-radius: 4px;
  font-size: 16px;
  color: #737CBD;
  letter-spacing: .04em
}

.lnch .exp-quote {
  font-size: 18px;
  line-height: 1.75;
  color: #2d3560;
  margin: 0;
  font-style: italic
}

.lnch .exp-detail {
  font-size: 16px;
  line-height: 1.55;
  color: #4a5280;
  margin: 0
}

.lnch .exp-no-portrait {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 112px;
  background: #737cbd1a;
  border-radius: 4px
}

.lnch .exp-no-portrait svg {
  width: 36px;
  height: 36px;
  opacity: .5
}

@media (max-width: 900px) {
  .lnch .ttl-blk {
    padding: 32px 32px 56px
  }

  .lnch .ttl-inner {
    flex-direction: column;
    gap: 32px
  }

  .lnch .ttl-text h1 {
    font-size: 37px
  }

  .lnch .ttl-img-wrap {
    width: 100%
  }

  .lnch .ttl-img {
    width: 100%;
    height: 220px
  }

  .lnch .supp-blk,
  .lnch .fit-blk,
  .lnch .inv-blk,
  .lnch .exp-blk {
    padding: 56px 32px
  }

  .lnch .supp-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lnch .supp-lead h2 {
    font-size: 37px
  }

  .lnch .supp-img-row {
    flex-direction: column
  }

  .lnch .fit-inner h2,
  .lnch .inv-head h2,
  .lnch .exp-inner h2 {
    font-size: 37px
  }

  .lnch .fit-cols {
    grid-template-columns: 1fr
  }

  .lnch .fit-imgs {
    flex-direction: column
  }

  .lnch .inv-grid {
    grid-template-columns: 1fr
  }

  .lnch .exp-story {
    grid-template-columns: 1fr
  }

  .lnch .inv-inner::before,
  .lnch .inv-inner::after {
    display: none
  }
}

@media (max-width: 600px) {
  .lnch .ttl-text h1 {
    font-size: 27px
  }

  .lnch .ttl-sub {
    font-size: 18px
  }

  .lnch .supp-lead h2,
  .lnch .fit-inner h2,
  .lnch .inv-head h2,
  .lnch .exp-inner h2 {
    font-size: 27px
  }
}

.ctus {
  background: #F9F9FB;
  overflow-x: clip;
  position: relative
}

.ctus .geo-bg {
  position: fixed;
  top: -120px;
  right: -120px;
  width: 520px;
  height: 520px;
  border: 1px solid #737cbd1a;
  border-radius: 10px;
  animation: geospin 28s linear infinite;
  pointer-events: none;
  z-index: 0
}

.ctus .geo-bg2 {
  position: fixed;
  bottom: 80px;
  left: -80px;
  width: 320px;
  height: 320px;
  border: 1px solid #c2c7e121;
  border-radius: 10px;
  animation: geospin 40s linear infinite reverse;
  pointer-events: none;
  z-index: 0
}

@keyframes geospin {
  from {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

.ctus .pg-strip {
  display: flex;
  flex-direction: row;
  min-height: 480px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.ctus .pg-text {
  flex: 1 1 0;
  padding: 96px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative
}

.ctus .dot-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #737cbd2e 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  pointer-events: none;
  z-index: 0
}

.ctus .pg-text-inner {
  position: relative;
  z-index: 1;
  max-width: 620px
}

.ctus .pg-label {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #737CBD;
  background: #737cbd17;
  border-radius: 4px;
  padding: 4px 16px;
  margin-bottom: 32px;
  font-weight: 600;
  text-transform: uppercase
}

.ctus .pg-h1 {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 2px #737CBD;
  text-stroke: 2px #737CBD;
  margin: 0 0 32px;
  clip-path: inset(0 100% 0 0);
  animation: wipe-in .35s cubic-bezier(0.4, 0, 0.2, 1) .1s forwards
}

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

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

.ctus .pg-sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3d5c;
  max-width: 480px;
  margin: 0
}

.ctus .pg-img-strip {
  width: 340px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden
}

.ctus .pg-img-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  animation: fade-img .6s ease-in-out .25s forwards;
  transition: filter .25s ease-in-out;
  filter: saturate(0.7)
}

@keyframes fade-img {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.ctus .pg-img-strip:hover img {
  filter: saturate(1)
}

.ctus .pg-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(83deg, #737cbd47 0%, #c2c7e11a 100%);
  transition: opacity .25s ease-in-out;
  pointer-events: none
}

.ctus .pg-img-strip:hover .pg-img-overlay {
  opacity: 0
}

.ctus .pg-corner-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #737CBD;
  color: #fff;
  font-size: 16px;
  border-radius: 4px;
  padding: 4px 8px;
  font-weight: 700;
  letter-spacing: .06em;
  z-index: 2
}

.ctus .divider-a {
  height: 4px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 60%, #F9F9FB 100%);
  position: relative;
  z-index: 1
}

.ctus .info-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  max-width: 1500px;
  margin: 0 auto;
  padding: 56px;
  position: relative;
  z-index: 1;
  background: #fff
}

.ctus .info-card {
  border-radius: 10px;
  padding: 32px;
  background: #F9F9FB;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow .25s ease-in-out, transform .2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.ctus .info-card:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-3px)
}

.ctus .info-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ctus .info-card-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ctus .info-card-lbl {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #737CBD
}

.ctus .info-card-val {
  font-size: 18px;
  line-height: 1.55;
  color: #2b2d42
}

.ctus .info-card-val a {
  color: #737CBD;
  text-decoration: none;
  position: relative;
  display: inline-block
}

.ctus .info-card-val a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #737CBD;
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus .info-card-val a:hover::after {
  width: 100%
}

.ctus .info-corner-tag {
  position: absolute;
  top: -1px;
  right: 16px;
  background: #C2C7E1;
  color: #3a3d5c;
  font-size: 16px;
  border-radius: 0 0 4px 4px;
  padding: 2px 8px;
  font-weight: 600;
  letter-spacing: .04em
}

.ctus .divider-b {
  height: 2px;
  background: linear-gradient(83deg, #F9F9FB 0%, #C2C7E1 50%, #737CBD 100%);
  position: relative;
  z-index: 1
}

.ctus .form-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 96px 56px;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 56px;
  align-items: start
}

.ctus .form-aside {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative
}

.ctus .form-aside-h2 {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3a3d5c;
  text-stroke: 1.5px #3a3d5c;
  margin: 0
}

.ctus .form-aside-p {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3d5c;
  margin: 0
}

.ctus .form-aside-pills {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ctus .form-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #737cbd17;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 16px;
  color: #3a3d5c;
  font-weight: 500
}

.ctus .form-pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: #737CBD;
  flex-shrink: 0
}

.ctus .form-box {
  background: #fff;
  border-radius: 10px;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  padding: 56px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative
}

.ctus .form-box-tag {
  position: absolute;
  top: -1px;
  right: 32px;
  background: #737CBD;
  color: #fff;
  font-size: 16px;
  border-radius: 0 0 4px 4px;
  padding: 4px 16px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase
}

.ctus .fld-group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ctus .fld-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.ctus .fld-lbl {
  font-size: 16px;
  font-weight: 600;
  color: #3a3d5c;
  letter-spacing: .04em
}

.ctus .fld-lbl span {
  color: #737CBD;
  margin-left: 2px
}

.ctus .fld-inp {
  width: 100%;
  padding: 12px 16px;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  background: #F9F9FB;
  font-size: 18px;
  color: #2b2d42;
  outline: none;
  box-sizing: border-box;
  transition: border-color .22s ease-in-out, box-shadow .22s ease-in-out;
  box-shadow: inset 2px 3px 4px -2px #c2c7e12e
}

.ctus .fld-inp:focus {
  border-color: #737CBD;
  box-shadow: inset 2px 3px 4px -2px #737cbd1f 0 0 0 2px #737cbd21
}

.ctus .fld-inp::placeholder {
  font-style: italic;
  opacity: .55;
  color: #3a3d5c
}

.ctus .fld-inp:required {
  border-left: none !important
}

.ctus .fld-sel {
  width: 100%;
  padding: 12px 16px;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  background: #F9F9FB;
  font-size: 18px;
  color: #2b2d42;
  outline: none;
  box-sizing: border-box;
  transition: border-color .22s ease-in-out, box-shadow .22s ease-in-out;
  appearance: none;
  cursor: pointer
}

.ctus .fld-sel:focus {
  border-color: #737CBD;
  box-shadow: 0 0 0 2px #737cbd21
}

.ctus .fld-textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  background: #F9F9FB;
  font-size: 18px;
  color: #2b2d42;
  outline: none;
  box-sizing: border-box;
  resize: vertical;
  min-height: 120px;
  transition: border-color .22s ease-in-out, box-shadow .22s ease-in-out;
  box-shadow: inset 2px 3px 4px -2px #c2c7e12e
}

.ctus .fld-textarea:focus {
  border-color: #737CBD;
  box-shadow: inset 2px 3px 4px -2px #737cbd1f 0 0 0 2px #737cbd21
}

.ctus .fld-textarea::placeholder {
  font-style: italic;
  opacity: .55;
  color: #3a3d5c
}

.ctus .method-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px
}

.ctus .method-opt {
  position: relative
}

.ctus .method-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.ctus .method-opt label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  border-radius: 4px;
  border: 1px solid #C2C7E1;
  background: #F9F9FB;
  cursor: pointer;
  font-size: 16px;
  color: #3a3d5c;
  font-weight: 500;
  transition: border-color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out;
  text-align: center
}

.ctus .method-opt label svg {
  width: 24px;
  height: 24px;
  stroke: #737CBD;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ctus .method-opt input[type="radio"]:checked+label {
  border-color: #737CBD;
  background: #737cbd17;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  color: #737CBD;
  font-weight: 700
}

.ctus .method-opt input[type="radio"]:focus-visible+label {
  outline: 2px solid #737CBD;
  outline-offset: 2px
}

.ctus .cond-field {
  display: none;
  flex-direction: column;
  gap: 8px
}

.ctus .method-opt input#mth-phone:checked~.ctus .cond-phone {
  display: flex
}

.ctus .cond-phone,
.ctus .cond-email,
.ctus .cond-video {
  display: none;
  flex-direction: column;
  gap: 8px
}

.ctus .method-opt-phone input:checked~* .cond-phone {
  display: flex
}

.ctus .cond-fields-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ctus #mth-phone:checked~.cond-fields-wrap .cond-phone,
.ctus #mth-email:checked~.cond-fields-wrap .cond-email,
.ctus #mth-video:checked~.cond-fields-wrap .cond-video {
  display: flex
}

.ctus .method-block {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ctus .radio-cond-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ctus .cond-target-phone,
.ctus .cond-target-email,
.ctus .cond-target-video {
  display: none;
  flex-direction: column;
  gap: 8px
}

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

.ctus .privacy-chk {
  width: 20px;
  height: 20px;
  accent-color: #737CBD;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer
}

.ctus .privacy-txt {
  font-size: 16px;
  line-height: 1.55;
  color: #3a3d5c
}

.ctus .privacy-txt a {
  color: #737CBD;
  text-decoration: none;
  position: relative;
  display: inline-block
}

.ctus .privacy-txt a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #737CBD;
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus .privacy-txt a:hover::after {
  width: 100%
}

.ctus .submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 56px;
  background: linear-gradient(83deg, #737CBD 0%, #9099c9 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  transition: box-shadow .22s ease-in-out, transform .18s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: flex-start
}

.ctus .submit-btn:hover {
  box-shadow: 2px 12px 44px -2px #737cbd38;
  transform: translateY(-2px)
}

.ctus .submit-btn:active {
  transform: translateY(0);
  box-shadow: 2px 3px 4px -2px #737cbd14
}

.ctus .submit-btn:focus-visible {
  outline: 2px solid #737CBD;
  outline-offset: 3px
}

.ctus .submit-btn svg {
  width: 18px;
  height: 18px;
  stroke: #fff;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ctus .sel-wrap {
  position: relative
}

.ctus .sel-wrap::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-right: 2px solid #737CBD;
  border-bottom: 2px solid #737CBD;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none
}

@media (max-width: 1024px) {
  .ctus .form-wrap {
    grid-template-columns: 1fr;
    padding: 56px 32px;
    gap: 32px
  }

  .ctus .info-row {
    grid-template-columns: 1fr;
    padding: 56px 32px;
    gap: 16px
  }

  .ctus .pg-img-strip {
    width: 220px
  }

  .ctus .pg-h1 {
    font-size: 52px
  }
}

@media (max-width: 768px) {
  .ctus .pg-strip {
    flex-direction: column
  }

  .ctus .pg-img-strip {
    width: 100%;
    height: 220px
  }

  .ctus .pg-text {
    padding: 56px 32px
  }

  .ctus .pg-h1 {
    font-size: 37px
  }

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

  .ctus .fld-row {
    grid-template-columns: 1fr
  }

  .ctus .method-options {
    grid-template-columns: 1fr
  }

  .ctus .info-row {
    padding: 32px 16px
  }

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

.hiw {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: clip
}

.hiw .pgband {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10
}

.hiw * {
  box-sizing: border-box
}

.hiw ::selection {
  background: #1a1a2e;
  color: #fff
}

.hiw ::-moz-selection {
  background: #1a1a2e;
  color: #fff
}

.hiw ::-webkit-input-placeholder {
  font-style: italic;
  opacity: .55
}

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

.hiw .titrow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  position: relative
}

.hiw .titleft {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 56px 56px 96px;
  background: #F9F9FB;
  position: relative;
  z-index: 1
}

.hiw .titstripe {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%)
}

.hiw .titlabel {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .12em;
  color: #737CBD;
  text-transform: uppercase;
  margin-bottom: 16px;
  font-weight: 600
}

.hiw .titlabel::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(83deg, #737CBD 0%, #C2C7E1 100%);
  margin-top: 8px
}

.hiw .tith1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #737CBD;
  text-stroke: 1.5px #737CBD;
  margin: 0 0 16px
}

.hiw .titsub {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3d5c;
  margin: 0 0 32px;
  max-width: 420px
}

.hiw .titlink {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(83deg, #737CBD 0%, #5a609e 100%);
  padding: 16px 32px;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 2px 5px 18px -2px #737cbd17;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s ease-in-out;
  align-self: flex-start
}

.hiw .titlink:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-2px)
}

.hiw .titlink:focus {
  outline: 2px solid #737CBD;
  outline-offset: 3px
}

.hiw .titright {
  position: relative;
  overflow: hidden
}

.hiw .titright img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.85);
  transition: filter .35s ease-in-out
}

.hiw .titright:hover img {
  filter: brightness(1)
}

.hiw .titrightoverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(83deg, #f9f9fbd9 0%, #737cbd2e 60%, transparent 100%);
  pointer-events: none
}

.hiw .div1 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.hiw .div1 svg {
  display: block;
  width: 100%
}

.hiw .proc {
  background: linear-gradient(83deg, #737cbd0f 0%, #c2c7e11f 100%);
  padding: 96px 0;
  position: relative;
  animation: bgpulse 6s ease-in-out infinite
}

@keyframes bgpulse {

  0%,
  100% {
    filter: brightness(1)
  }

  50% {
    filter: brightness(1.04)
  }
}

.hiw .procgeodeco {
  position: absolute;
  top: 32px;
  right: 56px;
  width: 180px;
  height: 180px;
  pointer-events: none;
  overflow: hidden
}

.hiw .procinner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px
}

.hiw .proctoph {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: transparent;
  -webkit-text-stroke: 1.5px #3a3d5c;
  text-stroke: 1.5px #3a3d5c;
  margin: 0 0 8px
}

.hiw .proctopsub {
  font-size: 18px;
  line-height: 1.55;
  color: #4a4e6e;
  margin: 0 0 56px;
  max-width: 580px
}

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

.hiw .stepcard {
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s ease-in-out;
  position: relative;
  overflow: hidden
}

.hiw .stepcard::before {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px #737cbd26;
  border-radius: 10px;
  pointer-events: none
}

.hiw .stepcard:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-3px)
}

.hiw .stepnum {
  font-size: 68px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: transparent;
  -webkit-text-stroke: 1px #737cbd33;
  text-stroke: 1px #737cbd33;
  font-weight: 700;
  position: absolute;
  top: 16px;
  right: 16px;
  pointer-events: none
}

.hiw .stepicon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(83deg, #737cbd1f 0%, #c2c7e133 100%);
  border-radius: 10px;
  flex-shrink: 0
}

.hiw .stepicon svg {
  width: 24px;
  height: 24px
}

.hiw .stepcard h3 {
  font-size: 21px;
  line-height: 1.3;
  color: #2c2f4a;
  margin: 0 0 8px;
  letter-spacing: -.01em
}

.hiw .stepcard p {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4e6e;
  margin: 0
}

.hiw .steplabel {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #737CBD;
  font-weight: 600;
  margin-bottom: 8px
}

.hiw .steplabel::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: #737CBD;
  margin-top: 4px
}

.hiw .div2 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.hiw .div2 svg {
  display: block;
  width: 100%
}

.hiw .experts {
  padding: 96px 0;
  background: #F9F9FB;
  position: relative
}

.hiw .exppattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.hiw .expinner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start
}

.hiw .expleft {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.hiw .expleft h2 {
  font-size: 37px;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: transparent;
  -webkit-text-stroke: 1.5px #2c2f4a;
  text-stroke: 1.5px #2c2f4a;
  margin: 0
}

.hiw .expleft p {
  font-size: 18px;
  line-height: 1.55;
  color: #4a4e6e;
  margin: 0
}

.hiw .metricrow {
  display: flex;
  flex-direction: row;
  gap: 32px
}

.hiw .metric {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: linear-gradient(83deg, #737cbd14 0%, #c2c7e11f 100%);
  border-radius: 4px;
  flex: 1
}

.hiw .metricval {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #737CBD;
  font-weight: 700
}

.hiw .metriclbl {
  font-size: 16px;
  line-height: 1.3;
  color: #4a4e6e
}

.hiw .metricdiv {
  width: 100%;
  height: 1px;
  background: linear-gradient(83deg, #737CBD 0%, #c2c7e14d 100%);
  margin: 4px 0
}

.hiw .expright {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.hiw .expertcard {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 16px;
  align-items: start;
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.hiw .expertcard:hover {
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.hiw .expertimg {
  width: 88px;
  height: 112px;
  overflow: hidden;
  border-radius: 0;
  flex-shrink: 0
}

.hiw .expertimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.88);
  transition: filter .35s ease-in-out
}

.hiw .expertcard:hover .expertimg img {
  filter: brightness(1)
}

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

.hiw .expertinfo h4 {
  font-size: 18px;
  line-height: 1.3;
  color: #2c2f4a;
  margin: 0;
  letter-spacing: -.01em
}

.hiw .expertrole {
  font-size: 16px;
  color: #737CBD;
  font-weight: 600;
  letter-spacing: .04em
}

.hiw .expertdiv {
  width: 100%;
  height: 1px;
  background: linear-gradient(83deg, #737cbd4d 0%, #c2c7e126 100%)
}

.hiw .expertquote {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4e6e;
  margin: 0;
  font-style: italic
}

.hiw .tagrow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.hiw .tag {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .06em;
  color: #737CBD;
  background: #737cbd1a;
  border-radius: 4px;
  padding: 4px 8px;
  font-weight: 600
}

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

  .hiw .titright {
    height: 320px
  }

  .hiw .titleft {
    padding: 56px 32px
  }

  .hiw .tith1 {
    font-size: 37px
  }

  .hiw .stepsgrid {
    grid-template-columns: 1fr
  }

  .hiw .procinner {
    padding: 0 32px
  }

  .hiw .expinner {
    grid-template-columns: 1fr;
    padding: 0 32px
  }

  .hiw .metricrow {
    flex-direction: row
  }
}

@media (max-width: 640px) {
  .hiw .titleft {
    padding: 32px 16px 56px
  }

  .hiw .tith1 {
    font-size: 27px
  }

  .hiw .proctoph {
    font-size: 27px
  }

  .hiw .procinner {
    padding: 0 16px
  }

  .hiw .proc {
    padding: 56px 0
  }

  .hiw .experts {
    padding: 56px 0
  }

  .hiw .expinner {
    padding: 0 16px;
    gap: 32px
  }

  .hiw .metricrow {
    flex-direction: column
  }

  .hiw .expertcard {
    grid-template-columns: 72px 1fr
  }

  .hiw .expertimg {
    width: 72px;
    height: 92px
  }
}

.successPage {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: linear-gradient(83deg, #F9F9FB 60%, #C2C7E1 100%);
  position: relative;
  overflow: hidden
}

.successPage::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #737cbd21, #c2c7e10f 70%);
  pointer-events: none
}

.successPage::after {
  content: "";
  position: absolute;
  bottom: -60px;
  left: -60px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle at 70% 70%, #737cbd1a, transparent 70%);
  pointer-events: none
}

.successPage .card {
  background: #fff;
  border-radius: 10px;
  padding: 56px;
  max-width: 560px;
  width: 100%;
  box-shadow: 2px 12px 44px -2px #737cbd24;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  position: relative;
  z-index: 1
}

.successPage .card .iconWrap {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(83deg, #737CBD, #C2C7E1);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 5px 18px -2px #737cbd17 inset 0 1px 4px #ffffff4d;
  flex-shrink: 0
}

.successPage .card .iconWrap svg {
  display: block
}

.successPage .card .textBlock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center
}

.successPage .card .textBlock .heading {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px #737CBD;
  margin: 0
}

.successPage .card .textBlock .sub {
  font-size: 18px;
  line-height: 1.55;
  color: #3a3d52;
  margin: 0;
  max-width: 400px
}

.successPage .card .divider {
  width: 56px;
  height: 2px;
  background: linear-gradient(83deg, #737CBD, #C2C7E1);
  border-radius: 1px;
  flex-shrink: 0
}

.successPage .card .metaNote {
  font-size: 16px;
  line-height: 1.55;
  color: #737CBD;
  text-align: center;
  margin: 0;
  background: #F9F9FB;
  border-radius: 4px;
  padding: 16px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: inset 2px 3px 4px -2px #737cbd14
}

.successPage .card .actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center
}

.successPage .card .actions .btnPrimary {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(83deg, #737CBD, #C2C7E1);
  color: #fff;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s ease-in-out
}

.successPage .card .actions .btnPrimary:hover {
  box-shadow: 2px 12px 44px -2px #737cbd24;
  transform: translateY(-1px)
}

.successPage .card .actions .btnPrimary:focus {
  outline: 2px solid #737CBD;
  outline-offset: 3px
}

.successPage .card .actions .btnPrimary:active {
  transform: translateY(0);
  box-shadow: 2px 3px 4px -2px #737cbd14
}

.successPage .card .actions .btnGhost {
  display: inline-block;
  padding: 16px 32px;
  background: transparent;
  color: #737CBD;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #737CBD;
  cursor: pointer;
  box-shadow: 2px 3px 4px -2px #737cbd14;
  transition: box-shadow .22s ease-in-out, background .18s ease-in-out, color .18s ease-in-out;
  position: relative;
  overflow: hidden
}

.successPage .card .actions .btnGhost::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #737CBD;
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.successPage .card .actions .btnGhost:hover {
  background: #F9F9FB;
  box-shadow: 2px 5px 18px -2px #737cbd17
}

.successPage .card .actions .btnGhost:hover::after {
  width: 100%
}

.successPage .card .actions .btnGhost:focus {
  outline: 2px solid #737CBD;
  outline-offset: 3px
}

.successPage .card .actions .btnGhost:active {
  background: #C2C7E1
}

.successPage .brandTag {
  margin-top: 32px;
  font-size: 16px;
  line-height: 1.3;
  color: #737CBD;
  letter-spacing: .04em;
  opacity: .75;
  z-index: 1;
  position: relative
}

@media (max-width: 600px) {
  .successPage {
    padding: 56px 16px
  }

  .successPage .card {
    padding: 32px 16px;
    gap: 16px
  }

  .successPage .card .textBlock .heading {
    font-size: 27px
  }

  .successPage .card .textBlock .sub {
    font-size: 16px
  }

  .successPage .card .actions {
    flex-direction: column;
    align-items: stretch
  }

  .successPage .card .actions .btnPrimary,
  .successPage .card .actions .btnGhost {
    text-align: center
  }
}