* {
  box-sizing: border-box
}

html {
  font-size: 100%
}

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

.site-hd {
  background: #fff;
  border-bottom: 1px solid #A8B6E2;
  position: relative
}

.hd-accent-bar {
  height: 4px;
  background: linear-gradient(90deg, #3E85CB 0%, #A8B6E2 60%, #E7EFF1 100%);
  width: 100%
}

.hd-plate {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0
}

.hd-brand-pod {
  background: linear-gradient(160deg, #3E85CB 0%, #2a6aaa 100%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 16px 32px;
  gap: 8px;
  min-width: 220px;
  box-shadow: 4px 0 18px 0 #3e85cb21;
  position: relative
}

.hd-brand-pod::after {
  content: '';
  position: absolute;
  right: -16px;
  top: 0;
  bottom: 0;
  width: 16px;
  background: linear-gradient(90deg, #2a6aaa 0%, transparent 100%);
  pointer-events: none
}

.brand-link {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none
}

.brand-img-cell {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1px solid #ffffff8c;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 3px 1px #3e85cb1a inset 0 0 0 2px #ffffff2e;
  flex-shrink: 0;
  overflow: hidden
}

.brand-img-cell img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block
}

.brand-label {
  font-family: 'EB Garamond', serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  letter-spacing: .04em
}

.brand-sub {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #ffffffc7;
  line-height: 1.3;
  letter-spacing: .08em
}

.hd-right-pod {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
  min-width: 0
}

.hd-util-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding: 8px 32px;
  border-bottom: 1px solid #E7EFF1;
  background: #f4f7fb
}

.hd-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #1b3a5c;
  line-height: 1.3;
  text-decoration: none;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.hd-contact-item:hover,
.hd-contact-item:focus {
  color: #3E85CB;
  outline: none
}

.hd-contact-item:focus-visible {
  transform: scale(1.02)
}

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

.hd-proof-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #A8B6E2;
  border-radius: 5px;
  padding: 4px 16px;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #2a5a8c;
  line-height: 1.3;
  box-shadow: 0 2px 3px 1px #3e85cb0d
}

.proof-flag {
  width: 20px;
  height: 14px;
  border-radius: 2px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0
}

.hd-nav-row {
  display: flex;
  align-items: center;
  padding: 0 32px;
  flex-wrap: wrap;
  gap: 4px
}

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

.site-nav li {
  margin: 0
}

.site-nav a {
  display: inline-flex;
  align-items: center;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1b3a5c;
  text-decoration: none;
  padding: 16px;
  border-radius: 2px;
  letter-spacing: .04em;
  line-height: 1.3;
  position: relative;
  transition: color .24s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.0, 0, 0.2, 1);
  min-height: 44px
}

.site-nav a::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: #3E85CB;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.site-nav a:hover,
.site-nav a:focus {
  color: #3E85CB;
  background: #E7EFF1;
  outline: none
}

.site-nav a:hover::after,
.site-nav a:focus::after {
  transform: scaleX(1)
}

.site-nav a:focus-visible {
  transform: scale(1.02)
}

.site-nav a[aria-current="page"] {
  color: #3E85CB
}

.site-nav a[aria-current="page"]::after {
  transform: scaleX(1)
}

.site-ft {
  background: #1b3a5c
}

.ft-upper {
  background: #1b3a5c;
  padding: 64px 0 32px
}

.ft-upper-plate {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px
}

.ft-brand-cell {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #a8b6e238
}

.ft-logo-cell {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1px solid #ffffff4d;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 3px 1px #3e85cb1a 0 0 0 3px #a8b6e22e;
  flex-shrink: 0;
  overflow: hidden
}

.ft-logo-cell img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block
}

.ft-brand-text {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ft-brand-name {
  font-family: 'EB Garamond', serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  letter-spacing: .04em
}

.ft-brand-since {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #A8B6E2;
  line-height: 1.3;
  letter-spacing: .06em
}

.ft-cols-deck {
  display: flex;
  flex-wrap: wrap;
  gap: 32px
}

.ft-col {
  flex: 1;
  min-width: 180px
}

.ft-col-head {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #E7EFF1;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 16px;
  line-height: 1.3;
  padding-bottom: 8px;
  border-bottom: 2px solid #3E85CB;
  display: inline-block
}

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

.ft-link-list a {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #A8B6E2;
  text-decoration: none;
  line-height: 1.6;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block
}

.ft-link-list a:hover,
.ft-link-list a:focus {
  color: #fff;
  outline: none
}

.ft-link-list a:focus-visible {
  transform: scale(1.02)
}

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

.ft-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px
}

.ft-contact-list a,
.ft-contact-list span {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #A8B6E2;
  text-decoration: none;
  line-height: 1.6;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft-contact-list a:hover,
.ft-contact-list a:focus {
  color: #fff;
  outline: none
}

.ft-contact-list a:focus-visible {
  transform: scale(1.02)
}

.ft-icon-sm {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 4px;
  opacity: .7
}

.ft-lower {
  background: #122840;
  padding: 16px 0
}

.ft-lower-plate {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.ft-copy {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #a8b6e2b3;
  line-height: 1.3
}

.ft-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0
}

.ft-legal-links a {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #a8b6e2b3;
  text-decoration: none;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  line-height: 1.3
}

.ft-legal-links a:hover,
.ft-legal-links a:focus {
  color: #fff;
  outline: none
}

.ft-legal-links a:focus-visible {
  transform: scale(1.02)
}

@media (max-width: 768px) {
  .hd-plate {
    flex-direction: column
  }

  .hd-brand-pod {
    min-width: 0;
    width: 100%;
    padding: 16px
  }

  .hd-brand-pod::after {
    display: none
  }

  .hd-util-row {
    padding: 8px 16px;
    flex-wrap: wrap;
    justify-content: flex-start
  }

  .hd-nav-row {
    padding: 0 16px
  }

  .ft-upper-plate {
    padding: 0 16px
  }

  .ft-lower-plate {
    padding: 0 16px;
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 640px) {
  .hd-proof-chip {
    display: none
  }

  .hd-contact-item.addr-item {
    display: none
  }

  .ft-cols-deck {
    flex-direction: column;
    gap: 32px
  }
}

.policy-region {
  max-width: 860px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #1b2a3b;
  line-height: 1.9;
  font-size: 18px
}

.policy-region ul,
.policy-region ol {
  padding-left: 32px;
  margin-top: 16px;
  margin-bottom: 16px
}

.policy-region ul {
  list-style: none;
  padding-left: 16px
}

.policy-region ul li {
  padding-left: 16px;
  position: relative
}

.policy-region ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background-color: #3E85CB
}

.policy-region ol {
  list-style: decimal
}

.policy-region ol li {
  padding-left: 8px
}

.policy-region ol li::marker {
  color: #3E85CB;
  font-size: 16px
}

.policy-region li {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.9;
  color: #1b2a3b
}

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

.policy-region ul ul,
.policy-region ol ol,
.policy-region ul ol,
.policy-region ol ul {
  margin-top: 8px;
  margin-bottom: 8px
}

.policy-region strong,
.policy-region b {
  font-weight: 700;
  color: #162233;
  letter-spacing: .01em
}

.policy-region em,
.policy-region i {
  font-style: italic;
  color: #2c4a6a
}

.policy-region table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 16px;
  line-height: 1.6;
  box-shadow: 0 2px 3px 1px #3e85cb0d 0 7px 25px 1px #3e85cb1a;
  border-radius: 5px;
  overflow: hidden
}

.policy-region thead {
  background: linear-gradient(135deg, #3E85CB 0%, #5a9bd6 100%)
}

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

.policy-region tbody tr {
  border-bottom: 1px solid #E7EFF1;
  transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

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

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

.policy-region tbody tr:hover {
  background-color: #e8f1f9
}

.policy-region td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.6;
  color: #1b2a3b;
  vertical-align: top;
  border-right: 1px solid #E7EFF1
}

.policy-region td:last-child {
  border-right: none
}

.policy-region th:not(:last-child) {
  border-right: 1px solid #ffffff2e
}

.policy-region hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, #3E85CB 0%, #A8B6E2 60%, #E7EFF1 100%);
  margin-top: 32px;
  margin-bottom: 32px;
  border-radius: 2px;
  opacity: .55
}

@media (max-width: 768px) {
  .policy-region {
    padding: 32px 16px;
    font-size: 16px
  }

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

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

  .policy-region thead th,
  .policy-region td {
    padding: 8px 16px;
    white-space: nowrap
  }
}

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

  .policy-region ul,
  .policy-region ol {
    padding-left: 16px
  }

  .policy-region ul {
    padding-left: 8px
  }
}

.svc-det {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.svc-det .ttl-blk {
  background: #1a2540;
  padding: 32px 64px 64px;
  position: relative
}

.svc-det .ttl-blk .dec-stripe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2, transparent)
}

.svc-det .ttl-blk .ttl-grid {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.svc-det .ttl-blk .ttl-left {
  flex: 1 1 0;
  min-width: 0
}

.svc-det .ttl-blk .ttl-right {
  flex: 0 0 340px;
  width: 340px
}

.svc-det .ttl-blk .svc-label {
  display: inline-block;
  font-size: 16px;
  letter-spacing: .18em;
  color: #A8B6E2;
  text-transform: uppercase;
  margin-bottom: 16px
}

.svc-det .ttl-blk .pg-heading {
  font-size: 62px;
  line-height: 1.1;
  color: #E7EFF1;
  margin: 0 0 32px;
  font-weight: 700
}

.svc-det .ttl-blk .pg-heading .grad-word {
  background: linear-gradient(107deg, #3E85CB, #A8B6E2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc-det .ttl-blk .meta-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  flex-wrap: wrap;
  align-items: center
}

.svc-det .ttl-blk .meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.svc-det .ttl-blk .meta-lbl {
  font-size: 16px;
  color: #A8B6E2;
  letter-spacing: .1em;
  text-transform: uppercase
}

.svc-det .ttl-blk .meta-val {
  font-size: 18px;
  color: #E7EFF1;
  font-weight: 600
}

.svc-det .ttl-blk .img-wrap {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 10px 52px 1px #3e85cb21;
  position: relative
}

.svc-det .ttl-blk .img-wrap img {
  display: block;
  width: 100%;
  filter: saturate(1.18) contrast(1.06);
  transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-det .ttl-blk .img-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(107deg, #3e85cb2e, transparent);
  pointer-events: none
}

.svc-det .ttl-blk .eng-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px;
  align-items: center
}

.svc-det .ttl-blk .eng-item {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  color: #A8B6E2;
  font-size: 16px
}

.svc-det .ttl-blk .eng-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.svc-det .split-anim {
  display: inline-flex;
  flex-direction: row;
  gap: 0;
  overflow: visible
}

.svc-det .split-anim .sw-a,
.svc-det .split-anim .sw-b {
  display: inline-block;
  animation: svc-split-reveal .82s cubic-bezier(0.0, 0, 0.2, 1) both
}

.svc-det .split-anim .sw-b {
  animation-delay: .08s
}

@keyframes svc-split-reveal {
  from {
    opacity: 0;
    letter-spacing: .22em
  }

  to {
    opacity: 1;
    letter-spacing: normal
  }
}

.svc-det .stats-prog {
  background: linear-gradient(107deg, #E7EFF1 70%, transparent);
  padding: 64px 64px 32px;
  position: relative
}

.svc-det .stats-prog::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(107deg, #3e85cb12, transparent);
  pointer-events: none
}

.svc-det .stats-prog .sp-top {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-bottom: 32px;
  flex-wrap: wrap
}

.svc-det .stats-prog .stat-card {
  flex: 1 1 140px;
  background: #fff;
  border-radius: 5px;
  padding: 16px;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  border-top: 3px solid #3E85CB;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-det .stats-prog .stat-card:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.svc-det .stats-prog .stat-num {
  font-size: 32px;
  line-height: 1.1;
  color: #3E85CB;
  font-weight: 700
}

.svc-det .stats-prog .stat-desc {
  font-size: 16px;
  color: #2c3a52;
  line-height: 1.3
}

.svc-det .stats-prog .vis-bar {
  height: 6px;
  background: #E7EFF1;
  border-radius: 2px;
  margin-top: 8px;
  overflow: hidden
}

.svc-det .stats-prog .vis-fill {
  height: 100%;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2);
  border-radius: 2px;
  animation: svc-bar-grow 1.1s cubic-bezier(0.0, 0, 0.2, 1) both;
  animation-delay: .3s
}

@keyframes svc-bar-grow {
  from {
    width: 0
  }

  to {
    width: var(--bar-w, 70%)
  }
}

.svc-det .stats-prog .prog-grid {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
  flex-wrap: wrap
}

.svc-det .stats-prog .prog-col {
  flex: 1 1 340px;
  min-width: 0
}

.svc-det .stats-prog .prog-col h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #1a2540;
  margin: 0 0 16px
}

.svc-det .stats-prog .prog-col h2::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 8px;
  vertical-align: middle
}

.svc-det .stats-prog .prog-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.svc-det .stats-prog .prog-list li {
  font-size: 16px;
  line-height: 1.6;
  color: #2c3a52;
  padding: 8px 16px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start
}

.svc-det .stats-prog .prog-list li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  min-width: 8px;
  background: #A8B6E2;
  border-radius: 50%;
  margin-top: 7px
}

.svc-det .stats-prog .prog-col .prog-text {
  font-size: 16px;
  line-height: 1.6;
  color: #2c3a52;
  margin: 0
}

.svc-det .desc-blk {
  background: #fff;
  padding: 32px 64px;
  position: relative
}

.svc-det .desc-blk .four-col {
  display: grid;
  grid-template-columns: 120px 1fr 120px 1fr;
  gap: 16px 32px;
  align-items: start
}

.svc-det .desc-blk .col-lbl {
  font-size: 16px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #3E85CB;
  font-weight: 600;
  padding-top: 4px
}

.svc-det .desc-blk .col-body {
  font-size: 16px;
  line-height: 1.6;
  color: #1a2540
}

.svc-det .desc-blk .col-body p {
  margin: 0 0 8px
}

.svc-det .desc-blk .col-body p:last-child {
  margin-bottom: 0
}

.svc-det .desc-blk .col-body ul {
  margin: 0;
  padding: 0 0 0 16px
}

.svc-det .desc-blk .col-body li {
  margin-bottom: 4px
}

.svc-det .desc-blk .col-body strong {
  color: #1a2540
}

.svc-det .desc-blk .col-body small {
  font-size: 16px;
  color: #5a6a8a
}

.svc-det .desc-blk .col-body blockquote {
  margin: 8px 0;
  padding: 8px 16px;
  border-radius: 2px;
  background: #E7EFF1;
  color: #1a2540;
  font-size: 16px;
  line-height: 1.6
}

.svc-det .desc-blk .col-body cite {
  font-style: italic;
  color: #3E85CB
}

.svc-det .desc-blk .col-body dl {
  margin: 0
}

.svc-det .desc-blk .col-body dt {
  font-weight: 600;
  color: #1a2540
}

.svc-det .desc-blk .col-body dd {
  margin: 0 0 8px 16px;
  color: #2c3a52
}

.svc-det .desc-blk .col-body details summary {
  cursor: pointer;
  color: #3E85CB;
  font-weight: 600;
  padding: 4px 0
}

.svc-det .desc-blk .col-body h2 {
  font-size: 24px;
  line-height: 1.3;
  color: #1a2540;
  margin: 0 0 8px
}

.svc-det .desc-blk .sep-line {
  grid-column: 1 / -1;
  height: 1px;
  background: linear-gradient(107deg, #A8B6E2, transparent);
  margin: 8px 0
}

.svc-det .price-blk {
  background: #1a2540;
  padding: 32px 64px 64px;
  position: relative
}

.svc-det .price-blk::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(107deg, #3e85cb21, transparent);
  pointer-events: none
}

.svc-det .price-blk .geo-dec {
  position: absolute;
  top: 32px;
  right: 64px;
  width: 120px;
  height: 120px;
  border: 2px solid #a8b6e226;
  border-radius: 24px;
  pointer-events: none;
  animation: svc-geo-pulse 3.4s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes svc-geo-pulse {
  from {
    opacity: .3;
    transform: scale(1)
  }

  to {
    opacity: .7;
    transform: scale(1.06)
  }
}

.svc-det .price-blk .geo-dec-inner {
  position: absolute;
  top: 48px;
  right: 80px;
  width: 88px;
  height: 88px;
  border: 1px solid #3e85cb33;
  border-radius: 16px;
  pointer-events: none;
  animation: svc-geo-pulse 2.8s cubic-bezier(0.0, 0, 0.2, 1) infinite alternate-reverse
}

.svc-det .price-blk .pr-inner {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
  flex-wrap: wrap
}

.svc-det .price-blk .pr-left {
  flex: 1 1 340px
}

.svc-det .price-blk .pr-right {
  flex: 0 0 320px;
  width: 320px
}

.svc-det .price-blk .pr-lbl {
  font-size: 16px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #A8B6E2;
  margin-bottom: 8px
}

.svc-det .price-blk .pr-amount {
  font-size: 72px;
  line-height: 1.1;
  color: #E7EFF1;
  font-weight: 700;
  margin: 0 0 8px
}

.svc-det .price-blk .pr-terms {
  font-size: 18px;
  color: #A8B6E2;
  margin: 0 0 16px
}

.svc-det .price-blk .pr-note {
  font-size: 16px;
  color: #8a9bbf;
  line-height: 1.6;
  margin: 0 0 32px
}

.svc-det .price-blk .pr-user {
  display: inline-block;
  background: #3e85cb2e;
  border: 1px solid #3e85cb59;
  border-radius: 5px;
  padding: 4px 16px;
  font-size: 16px;
  color: #A8B6E2;
  margin-bottom: 32px
}

.svc-det .price-blk .pr-seats {
  font-size: 18px;
  color: #E7EFF1;
  margin-bottom: 16px
}

.svc-det .price-blk .pr-seats strong {
  color: #3E85CB
}

.svc-det .price-blk .seats-track {
  height: 8px;
  background: #ffffff1a;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 32px
}

.svc-det .price-blk .seats-fill {
  height: 100%;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2);
  border-radius: 2px;
  width: var(--seats-pct, 60%);
  transition: width .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-det .price-blk .enroll-btn {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: #3E85CB;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 7px 25px 1px #3e85cb21;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-det .price-blk .enroll-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #1a2540;
  transition: height .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.svc-det .price-blk .enroll-btn:hover::after {
  height: 100%
}

.svc-det .price-blk .enroll-btn:hover {
  box-shadow: 0 10px 52px 1px #3e85cb2e;
  color: #E7EFF1
}

.svc-det .price-blk .enroll-btn span {
  position: relative;
  z-index: 1
}

.svc-det .price-blk .enroll-btn:focus {
  outline: 2px solid #A8B6E2;
  outline-offset: 2px
}

.svc-det .price-blk .enroll-btn:active {
  box-shadow: inset 0 2px 8px #3e85cb40
}

.svc-det .price-blk .pr-dur {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 32px
}

.svc-det .price-blk .pr-dur .dur-lbl {
  font-size: 16px;
  color: #A8B6E2;
  letter-spacing: .1em;
  text-transform: uppercase
}

.svc-det .price-blk .pr-dur .dur-val {
  font-size: 24px;
  color: #E7EFF1;
  font-weight: 600
}

.svc-det .price-blk .pr-right .contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.svc-det .price-blk .pr-right .contact-list li {
  font-size: 16px;
  color: #A8B6E2;
  line-height: 1.6
}

.svc-det .price-blk .pr-right .contact-list a {
  color: #E7EFF1;
  text-decoration: none;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-det .price-blk .pr-right .contact-list a:hover {
  color: #3E85CB
}

.svc-det .price-blk .pr-right .pr-r-head {
  font-size: 24px;
  color: #E7EFF1;
  margin: 0 0 16px;
  line-height: 1.3
}

.svc-det .price-blk .pr-right .pr-r-head::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 8px;
  vertical-align: middle
}

@media (max-width: 1024px) {
  .svc-det .ttl-blk {
    padding: 32px 32px 64px
  }

  .svc-det .ttl-blk .ttl-grid {
    flex-direction: column;
    gap: 32px
  }

  .svc-det .ttl-blk .ttl-right {
    flex: none;
    width: 100%
  }

  .svc-det .ttl-blk .pg-heading {
    font-size: 32px
  }

  .svc-det .stats-prog {
    padding: 32px
  }

  .svc-det .desc-blk {
    padding: 32px
  }

  .svc-det .desc-blk .four-col {
    grid-template-columns: 1fr
  }

  .svc-det .desc-blk .sep-line {
    display: none
  }

  .svc-det .price-blk {
    padding: 32px 32px 64px
  }

  .svc-det .price-blk .geo-dec,
  .svc-det .price-blk .geo-dec-inner {
    display: none
  }

  .svc-det .price-blk .pr-inner {
    flex-direction: column;
    gap: 32px
  }

  .svc-det .price-blk .pr-right {
    flex: none;
    width: 100%
  }

  .svc-det .price-blk .pr-amount {
    font-size: 62px
  }
}

@media (max-width: 768px) {
  .svc-det .ttl-blk {
    padding: 16px 16px 32px
  }

  .svc-det .ttl-blk .pg-heading {
    font-size: 32px
  }

  .svc-det .ttl-blk .meta-row {
    gap: 16px
  }

  .svc-det .stats-prog {
    padding: 16px
  }

  .svc-det .stats-prog .prog-grid {
    flex-direction: column;
    gap: 32px
  }

  .svc-det .stats-prog .sp-top {
    gap: 16px
  }

  .svc-det .desc-blk {
    padding: 16px
  }

  .svc-det .price-blk {
    padding: 16px 16px 32px
  }

  .svc-det .price-blk .pr-amount {
    font-size: 32px
  }
}

@media (max-width: 640px) {
  .svc-det .ttl-blk .pg-heading {
    font-size: 24px
  }

  .svc-det .stats-prog .stat-card {
    flex: 1 1 100%
  }
}

.wbn-pg {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.wbn-pg .reveal-left {
  animation: slideLeft .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

.wbn-pg .reveal-right {
  animation: slideRight .22s cubic-bezier(0.0, 0, 0.2, 1) both
}

.wbn-pg .reveal-up {
  animation: slideUp .24s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes slideLeft {
  from {
    opacity: 0;
    transform: translateX(-32px)
  }

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

@keyframes slideRight {
  from {
    opacity: 0;
    transform: translateX(32px)
  }

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

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

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

.wbn-pg .reveal-left {
  animation-delay: .05s
}

.wbn-pg .reveal-right {
  animation-delay: .12s
}

.wbn-pg .reveal-up {
  animation-delay: .18s
}

.wbn-pg .pg-split {
  display: flex;
  flex-direction: row;
  min-height: 520px;
  position: relative;
  background: #fff
}

.wbn-pg .pg-split-left {
  flex: 0 0 60%;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2
}

.wbn-pg .pg-split-right {
  flex: 0 0 40%;
  position: relative;
  overflow: hidden
}

.wbn-pg .pg-split-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1.18) brightness(0.92) sepia(0.18)
}

.wbn-pg .pg-split-right::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(107deg, #fff 0%, transparent 60%);
  pointer-events: none
}

.wbn-pg .fade-num {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 220px;
  line-height: 1.1;
  font-weight: 900;
  color: #E7EFF1;
  opacity: .55;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px;
  z-index: 1
}

.wbn-pg .pg-eyebrow {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .18em;
  color: #3E85CB;
  text-transform: uppercase;
  margin-bottom: 16px;
  font-weight: 600
}

.wbn-pg .pg-h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #1b2a3b;
  margin: 0 0 16px;
  font-weight: 800;
  position: relative;
  z-index: 2
}

.wbn-pg .pg-h1 .dot-acc {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3E85CB;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -4px
}

.wbn-pg .pg-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #2e3f52;
  max-width: 520px;
  margin: 0;
  position: relative;
  z-index: 2
}

.wbn-pg .pg-split-divider {
  position: relative;
  height: 40px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible
}

.wbn-pg .pg-split-divider svg {
  display: block
}

.wbn-pg .wbn-detail {
  background: #E7EFF1;
  position: relative
}

.wbn-pg .wbn-detail-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 64px
}

.wbn-pg .detail-cols {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: stretch
}

.wbn-pg .detail-col-a {
  flex: 0 0 55%;
  padding-right: 64px;
  border-right: 1.5px solid #A8B6E2;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.wbn-pg .detail-col-b {
  flex: 0 0 45%;
  padding-left: 64px;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.wbn-pg .detail-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #1b2a3b;
  font-weight: 700;
  margin: 0 0 8px;
  position: relative
}

.wbn-pg .detail-h2 .dot-acc {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3E85CB;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.wbn-pg .detail-para {
  font-size: 16px;
  line-height: 1.6;
  color: #2e3f52;
  margin: 0
}

.wbn-pg .detail-img-wrap {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.wbn-pg .detail-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover
}

.wbn-pg .detail-img-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 48%;
  background: linear-gradient(107deg, #E7EFF1 0%, transparent 80%);
  pointer-events: none
}

.wbn-pg .metric-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.wbn-pg .metric-item {
  flex: 1 1 120px;
  background: #fff;
  border-radius: 5px;
  padding: 16px;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 2px solid #3E85CB;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.wbn-pg .metric-item:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21;
  transform: translateY(-3px)
}

.wbn-pg .metric-val {
  font-size: 32px;
  line-height: 1.1;
  font-weight: 800;
  color: #3E85CB
}

.wbn-pg .metric-lbl {
  font-size: 16px;
  line-height: 1.3;
  color: #2e3f52;
  letter-spacing: .04em
}

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

.wbn-pg .topic-list li {
  font-size: 16px;
  line-height: 1.6;
  color: #2e3f52;
  padding: 8px 16px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.wbn-pg .topic-list li:hover {
  background: #3E85CB;
  color: #fff;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.wbn-pg .topic-list li .t-mark {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: #A8B6E2;
  flex-shrink: 0;
  transition: background .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.wbn-pg .topic-list li:hover .t-mark {
  background: #fff
}

.wbn-pg .prof-card {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  display: flex;
  flex-direction: row;
  gap: 0;
  overflow: hidden
}

.wbn-pg .prof-img-col {
  flex: 0 0 120px;
  position: relative
}

.wbn-pg .prof-img-col img {
  width: 120px;
  height: 160px;
  object-fit: cover;
  object-position: center;
  display: block
}

.wbn-pg .prof-txt-col {
  flex: 1 1 auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px
}

.wbn-pg .prof-name {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: #1b2a3b;
  margin: 0
}

.wbn-pg .prof-role {
  font-size: 16px;
  line-height: 1.3;
  color: #3E85CB;
  letter-spacing: .08em;
  margin: 0
}

.wbn-pg .prof-bio {
  font-size: 16px;
  line-height: 1.6;
  color: #2e3f52;
  margin: 0
}

.wbn-pg .dashed-path-wrap {
  position: relative;
  pointer-events: none
}

.wbn-pg .dashed-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible
}

.wbn-pg .detail-col-a>* {
  position: relative;
  z-index: 1
}

.wbn-pg .detail-col-b>* {
  position: relative;
  z-index: 1
}

.wbn-pg .mask-reveal-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  cursor: pointer
}

.wbn-pg .mask-reveal-wrap img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.wbn-pg .mask-reveal-wrap:hover img {
  transform: scale(1.04)
}

.wbn-pg .mask-reveal-overlay {
  position: absolute;
  inset: 0;
  background: #1e3250d1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  clip-path: polygon(50% 50%, 50% 50%, 50% 50%);
  transition: clip-path .28s cubic-bezier(0.0, 0, 0.2, 1);
  padding: 16px
}

.wbn-pg .mask-reveal-wrap:hover .mask-reveal-overlay {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.wbn-pg .mask-reveal-overlay .ov-label {
  font-size: 18px;
  line-height: 1.3;
  color: #E7EFF1;
  font-weight: 700;
  text-align: center
}

.wbn-pg .mask-reveal-overlay .ov-sub {
  font-size: 16px;
  line-height: 1.6;
  color: #A8B6E2;
  text-align: center
}

.wbn-pg .cta-btn {
  display: inline-block;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
  background: #1b2a3b;
  border: none;
  border-radius: 5px;
  padding: 16px 32px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  align-self: flex-start
}

.wbn-pg .cta-btn::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #3E85CB;
  transition: height .24s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.wbn-pg .cta-btn:hover::before {
  height: 100%
}

.wbn-pg .cta-btn span {
  position: relative;
  z-index: 1
}

.wbn-pg .cta-btn:focus {
  outline: 2px solid #3E85CB;
  outline-offset: 3px
}

@media (max-width: 1024px) {
  .wbn-pg .pg-split-left {
    padding: 64px 32px
  }

  .wbn-pg .pg-h1 {
    font-size: 48px
  }

  .wbn-pg .fade-num {
    font-size: 140px
  }

  .wbn-pg .wbn-detail-inner {
    padding: 64px 32px
  }

  .wbn-pg .detail-col-a {
    padding-right: 32px
  }

  .wbn-pg .detail-col-b {
    padding-left: 32px
  }
}

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

  .wbn-pg .pg-split-left {
    flex: none;
    padding: 64px 32px 32px
  }

  .wbn-pg .pg-split-right {
    flex: none;
    height: 280px
  }

  .wbn-pg .pg-split-right::after {
    background: linear-gradient(180deg, #fff 0%, transparent 50%)
  }

  .wbn-pg .pg-h1 {
    font-size: 32px
  }

  .wbn-pg .fade-num {
    font-size: 100px;
    opacity: .3
  }

  .wbn-pg .detail-cols {
    flex-direction: column
  }

  .wbn-pg .detail-col-a {
    flex: none;
    padding-right: 0;
    border-right: none;
    border-bottom: 1.5px solid #A8B6E2;
    padding-bottom: 32px
  }

  .wbn-pg .detail-col-b {
    flex: none;
    padding-left: 0;
    padding-top: 32px
  }

  .wbn-pg .wbn-detail-inner {
    padding: 32px 16px
  }

  .wbn-pg .pg-split-left {
    padding: 32px 16px
  }
}

@media (max-width: 640px) {
  .wbn-pg .pg-h1 {
    font-size: 32px
  }

  .wbn-pg .metric-row {
    flex-direction: column
  }

  .wbn-pg .prof-card {
    flex-direction: column
  }

  .wbn-pg .prof-img-col img {
    width: 100%;
    height: 180px
  }

  .wbn-pg .prof-img-col {
    flex: none
  }
}

.rt-page {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.rt-page .grid-container {
  max-width: 1600px;
  margin: 0 auto
}

.rt-page .t-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  background: #fff;
  position: relative
}

.rt-page .t-block .dot-scatter {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.rt-page .t-block .dot-scatter span {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #3E85CB;
  opacity: .08
}

.rt-page .t-block .dot-scatter span:nth-child(1) {
  top: 12%;
  left: 8%
}

.rt-page .t-block .dot-scatter span:nth-child(2) {
  top: 28%;
  left: 22%
}

.rt-page .t-block .dot-scatter span:nth-child(3) {
  top: 55%;
  left: 5%
}

.rt-page .t-block .dot-scatter span:nth-child(4) {
  top: 70%;
  left: 18%
}

.rt-page .t-block .dot-scatter span:nth-child(5) {
  top: 40%;
  left: 35%
}

.rt-page .t-block .dot-scatter span:nth-child(6) {
  top: 82%;
  left: 30%
}

.rt-page .t-block .dot-scatter span:nth-child(7) {
  top: 10%;
  left: 45%
}

.rt-page .t-block .dot-scatter span:nth-child(8) {
  top: 65%;
  left: 48%
}

.rt-page .t-block .dot-scatter span:nth-child(9) {
  top: 20%;
  left: 60%
}

.rt-page .t-block .dot-scatter span:nth-child(10) {
  top: 88%;
  left: 72%
}

.rt-page .t-block .dot-scatter span:nth-child(11) {
  top: 35%;
  left: 80%
}

.rt-page .t-block .dot-scatter span:nth-child(12) {
  top: 50%;
  left: 90%
}

.rt-page .t-txt {
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  position: relative;
  z-index: 1
}

.rt-page .t-pre {
  font-size: 16px;
  line-height: 1.6;
  color: #3E85CB;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 8px
}

.rt-page .t-h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #111820;
  font-weight: 800;
  margin: 0
}

.rt-page .t-h1 .t-accent {
  color: #3E85CB
}

.rt-page .t-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #2a3540;
  max-width: 480px;
  margin-top: 8px
}

.rt-page .t-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3E85CB;
  margin-left: 4px;
  vertical-align: middle
}

.rt-page .t-img-zone {
  position: relative;
  overflow: hidden
}

.rt-page .t-img-zone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.82) brightness(0.93) contrast(1.06)
}

.rt-page .t-img-zone::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 50%, transparent 30%, #3e85cb2e 100%);
  pointer-events: none
}

.rt-page .t-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #E7EFF1;
  border-radius: 5px;
  padding: 8px 16px;
  font-size: 16px;
  color: #1a2d3d;
  font-weight: 500;
  width: fit-content;
  margin-top: 16px
}

.rt-page .t-badge .badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3E85CB;
  flex-shrink: 0
}

.rt-page .ex-sec {
  background: #E7EFF1;
  padding: 64px 0;
  position: relative
}

.rt-page .ex-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(107deg, #E7EFF1, transparent)
}

.rt-page .ex-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 64px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: start
}

.rt-page .ex-lbl {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #3E85CB;
  font-weight: 600;
  margin-bottom: 16px
}

.rt-page .ex-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #111820;
  font-weight: 700;
  margin: 0 0 16px
}

.rt-page .ex-body {
  font-size: 18px;
  line-height: 1.6;
  color: #2a3540
}

.rt-page .ex-body p {
  margin: 0 0 16px
}

.rt-page .ex-body p:last-child {
  margin-bottom: 0
}

.rt-page .ex-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px
}

.rt-page .ex-stat {
  background: #fff;
  border-radius: 5px;
  padding: 16px;
  box-shadow: 0 2px 3px 1px #3e85cb0d
}

.rt-page .ex-stat .stat-num {
  font-size: 32px;
  font-weight: 800;
  color: #3E85CB;
  line-height: 1.1
}

.rt-page .ex-stat .stat-desc {
  font-size: 16px;
  color: #2a3540;
  line-height: 1.6;
  margin-top: 4px
}

.rt-page .ex-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px
}

.rt-page .ex-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  position: relative
}

.rt-page .ex-img-wrap img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center
}

.rt-page .ex-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 32px #3e85cb1f;
  pointer-events: none;
  border-radius: 5px
}

.rt-page .ex-img-wrap.tall {
  grid-row: span 2
}

.rt-page .ex-img-wrap.tall img {
  height: 100%
}

.rt-page .sit-sec {
  padding: 64px 0;
  background: #fff;
  position: relative
}

.rt-page .sit-monogram {
  text-align: center;
  font-size: 62px;
  font-weight: 900;
  color: #E7EFF1;
  line-height: 1.1;
  margin-bottom: 32px;
  letter-spacing: -2px;
  user-select: none;
  pointer-events: none
}

.rt-page .sit-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 64px
}

.rt-page .sit-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 32px
}

.rt-page .sit-lbl {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #3E85CB;
  font-weight: 600;
  margin-bottom: 16px
}

.rt-page .sit-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #111820;
  font-weight: 700;
  margin: 0;
  max-width: 640px
}

.rt-page .sit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.rt-page .sit-card {
  background: #E7EFF1;
  border-radius: 16px;
  padding: 32px;
  position: relative;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.rt-page .sit-card:hover {
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.rt-page .sit-card .card-num {
  font-size: 62px;
  font-weight: 900;
  color: #3e85cb17;
  line-height: 1;
  position: absolute;
  top: 16px;
  right: 16px
}

.rt-page .sit-card .card-ring {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  flex-shrink: 0
}

.rt-page .sit-card .card-h {
  font-size: 18px;
  font-weight: 700;
  color: #111820;
  margin: 0 0 8px;
  line-height: 1.3
}

.rt-page .sit-card .card-p {
  font-size: 16px;
  line-height: 1.6;
  color: #2a3540;
  margin: 0
}

.rt-page .sit-img-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-top: 32px
}

.rt-page .sit-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  position: relative
}

.rt-page .sit-img-wrap img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center
}

.rt-page .sit-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 40px #3e85cb24;
  pointer-events: none
}

.rt-page .rel-sec {
  padding: 64px 0;
  background: linear-gradient(107deg, #E7EFF1 0%, transparent 100%), #f4f7f9;
  position: relative
}

.rt-page .rel-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat
}

.rt-page .rel-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 64px
}

.rt-page .rel-top {
  display: grid;
  grid-template-columns: 0.55fr 0.45fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 32px
}

.rt-page .rel-lbl {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #3E85CB;
  font-weight: 600;
  margin-bottom: 16px
}

.rt-page .rel-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #111820;
  font-weight: 700;
  margin: 0 0 16px
}

.rt-page .rel-body {
  font-size: 18px;
  line-height: 1.6;
  color: #2a3540
}

.rt-page .rel-body p {
  margin: 0 0 16px
}

.rt-page .rel-body p:last-child {
  margin-bottom: 0
}

.rt-page .rel-person {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.rt-page .rel-portrait {
  width: 80px;
  height: 112px;
  border-radius: 5px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.rt-page .rel-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.rt-page .rel-quote-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 10px 52px 1px #3e85cb21;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.rt-page .rel-q-text {
  font-size: 16px;
  line-height: 1.9;
  color: #2a3540;
  font-style: italic
}

.rt-page .rel-q-attr {
  display: flex;
  align-items: center;
  gap: 16px
}

.rt-page .rel-q-name {
  font-size: 16px;
  font-weight: 700;
  color: #111820
}

.rt-page .rel-q-role {
  font-size: 16px;
  color: #3E85CB
}

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

.rt-page .rel-step {
  background: #fff;
  border-radius: 5px;
  padding: 24px;
  border-top: 2px solid #3E85CB;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  transition: box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.rt-page .rel-step:hover {
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.rt-page .rel-step .step-n {
  font-size: 32px;
  font-weight: 900;
  color: #3E85CB;
  line-height: 1.1;
  margin-bottom: 8px
}

.rt-page .rel-step .step-h {
  font-size: 18px;
  font-weight: 700;
  color: #111820;
  margin: 0 0 8px;
  line-height: 1.3
}

.rt-page .rel-step .step-p {
  font-size: 16px;
  line-height: 1.6;
  color: #2a3540;
  margin: 0
}

.rt-page .rel-img-full {
  margin-top: 32px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.rt-page .rel-img-full img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  max-height: 320px
}

.rt-page .rel-img-full::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 64px #3e85cb29;
  pointer-events: none
}

.rt-page .wave-anim .sit-card {
  opacity: 0;
  transform: translateY(24px);
  animation: cardwave .26s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.rt-page .wave-anim .sit-card:nth-child(1) {
  animation-delay: .04s
}

.rt-page .wave-anim .sit-card:nth-child(2) {
  animation-delay: .12s
}

.rt-page .wave-anim .sit-card:nth-child(3) {
  animation-delay: .2s
}

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

.rt-page .btn-primary {
  display: inline-block;
  padding: 16px 32px;
  background: #111820;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 5px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.rt-page .btn-primary::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background: #3E85CB;
  transition: height .24s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.rt-page .btn-primary:hover::before {
  height: 100%
}

.rt-page .btn-primary:focus {
  outline: 2px solid #3E85CB;
  outline-offset: 2px
}

@media (max-width: 1280px) {
  .rt-page .t-h1 {
    font-size: 62px
  }

  .rt-page .ex-inner {
    padding: 0 32px;
    gap: 32px
  }

  .rt-page .sit-inner {
    padding: 0 32px
  }

  .rt-page .rel-inner {
    padding: 0 32px
  }

  .rt-page .t-txt {
    padding: 64px 32px
  }
}

@media (max-width: 1024px) {
  .rt-page .t-block {
    grid-template-columns: 1fr
  }

  .rt-page .t-img-zone {
    min-height: 320px
  }

  .rt-page .t-h1 {
    font-size: 62px
  }

  .rt-page .ex-inner {
    grid-template-columns: 1fr
  }

  .rt-page .ex-imgs {
    grid-template-columns: 1fr 1fr
  }

  .rt-page .ex-img-wrap.tall {
    grid-row: auto
  }

  .rt-page .sit-grid {
    grid-template-columns: 1fr 1fr
  }

  .rt-page .sit-img-row {
    grid-template-columns: 1fr 1fr
  }

  .rt-page .rel-top {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .rt-page .rel-steps {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .rt-page .t-h1 {
    font-size: 32px
  }

  .rt-page .t-txt {
    padding: 32px 16px
  }

  .rt-page .ex-inner {
    padding: 0 16px;
    gap: 32px
  }

  .rt-page .ex-stats {
    grid-template-columns: 1fr
  }

  .rt-page .sit-inner {
    padding: 0 16px
  }

  .rt-page .sit-grid {
    grid-template-columns: 1fr
  }

  .rt-page .sit-img-row {
    grid-template-columns: 1fr
  }

  .rt-page .rel-inner {
    padding: 0 16px
  }

  .rt-page .rel-steps {
    grid-template-columns: 1fr
  }

  .rt-page .ex-sec {
    padding: 32px 0
  }

  .rt-page .sit-sec {
    padding: 32px 0
  }

  .rt-page .rel-sec {
    padding: 32px 0
  }
}

@media (max-width: 640px) {
  .rt-page .t-h1 {
    font-size: 32px
  }

  .rt-page .ex-imgs {
    grid-template-columns: 1fr
  }
}

.ptfl {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.ptfl .pg-reveal {
  animation: pgReveal .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes pgReveal {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.ptfl .strip-img {
  width: 100%;
  height: 7px;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2, transparent);
  display: block
}

.ptfl .ttl-blk {
  background: #fff;
  padding: 64px 64px 48px;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 64px
}

.ptfl .ttl-blk .corner-line-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  pointer-events: none
}

.ptfl .ttl-blk .corner-line-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 90px;
  height: 90px;
  pointer-events: none
}

.ptfl .ttl-txt {
  flex: 1 1 0
}

.ptfl .ttl-label {
  font-size: 16px;
  letter-spacing: .18em;
  color: #3E85CB;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.ptfl .ttl-h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #111827;
  margin: 0 0 16px
}

.ptfl .ttl-h1 .dot-acc {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -6px
}

.ptfl .ttl-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #374151;
  max-width: 560px;
  margin: 0 0 32px
}

.ptfl .ttl-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.ptfl .btn-prim {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #111827;
  border: 2px solid #111827;
  padding: 12px 32px;
  border-radius: 5px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.ptfl .btn-prim::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #3E85CB;
  border-radius: 5px;
  transition: height .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: -1
}

.ptfl .btn-prim:hover::after {
  height: 100%
}

.ptfl .btn-prim:hover {
  color: #fff;
  border-color: #3E85CB
}

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

.ptfl .btn-sec {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  color: #111827;
  background: transparent;
  border: 2px solid #A8B6E2;
  padding: 12px 32px;
  border-radius: 5px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1
}

.ptfl .btn-sec::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #E7EFF1;
  border-radius: 5px;
  transition: height .22s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: -1
}

.ptfl .btn-sec:hover::after {
  height: 100%
}

.ptfl .btn-sec:hover {
  border-color: #3E85CB
}

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

.ptfl .ttl-img-col {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ptfl .ttl-img-wrap {
  width: 320px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  position: relative
}

.ptfl .ttl-img-wrap img {
  width: 320px;
  height: 210px;
  object-fit: cover;
  object-position: center;
  display: block
}

.ptfl .ttl-img-wrap .img-tint {
  position: absolute;
  inset: 0;
  background: #3e85cb21;
  pointer-events: none
}

.ptfl .divider-clip {
  width: 100%;
  height: 32px;
  background: #E7EFF1;
  clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%)
}

.ptfl .works-sec {
  background: #E7EFF1;
  padding: 64px 64px 48px
}

.ptfl .sec-label {
  font-size: 16px;
  letter-spacing: .16em;
  color: #3E85CB;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px
}

.ptfl .works-head {
  font-size: 32px;
  line-height: 1.3;
  color: #111827;
  margin: 0 0 8px
}

.ptfl .works-head .dot-acc {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -4px
}

.ptfl .works-sub {
  font-size: 16px;
  line-height: 1.6;
  color: #374151;
  margin: 0 0 32px;
  max-width: 640px
}

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

.ptfl .work-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column
}

.ptfl .work-card:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21;
  transform: translateY(-3px)
}

.ptfl .work-card-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block
}

.ptfl .work-card-body {
  padding: 16px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ptfl .work-tag {
  font-size: 16px;
  letter-spacing: .12em;
  color: #3E85CB;
  text-transform: uppercase;
  font-weight: 700
}

.ptfl .work-card-h {
  font-size: 18px;
  line-height: 1.3;
  color: #111827;
  margin: 0
}

.ptfl .work-card-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #4B5563;
  margin: 0
}

.ptfl .work-meta {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px
}

.ptfl .work-badge {
  font-size: 16px;
  background: #E7EFF1;
  color: #374151;
  border-radius: 2px;
  padding: 4px 8px;
  font-weight: 600
}

.ptfl .divider-wave {
  width: 100%;
  height: 40px;
  background: #fff;
  clip-path: polygon(0 40%, 100% 0, 100% 100%, 0 100%)
}

.ptfl .radar-sec {
  background: #fff;
  padding: 64px 64px 48px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.ptfl .radar-txt {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ptfl .radar-h {
  font-size: 32px;
  line-height: 1.3;
  color: #111827;
  margin: 0
}

.ptfl .radar-h .dot-acc {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #A8B6E2;
  border-radius: 50%;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -4px
}

.ptfl .radar-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #374151;
  margin: 0
}

.ptfl .radar-skills {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

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

.ptfl .skill-name {
  font-size: 16px;
  color: #374151;
  width: 160px;
  flex-shrink: 0
}

.ptfl .skill-bar-bg {
  flex: 1 1 0;
  height: 6px;
  background: #E7EFF1;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px #3e85cb21
}

.ptfl .skill-bar-fill {
  height: 100%;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2);
  border-radius: 2px;
  transition: width .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptfl .skill-pct {
  font-size: 16px;
  color: #3E85CB;
  font-weight: 700;
  width: 40px;
  text-align: right
}

.ptfl .radar-chart-col {
  flex: 0 0 360px;
  display: flex;
  flex-direction: column;
  align-items: center
}

.ptfl .radar-chart-wrap {
  width: 340px;
  height: 340px;
  position: relative
}

.ptfl .radar-chart-wrap svg {
  width: 340px;
  height: 340px;
  display: block
}

.ptfl .divider-solid {
  width: 100%;
  height: 4px;
  background: linear-gradient(107deg, #E7EFF1, #A8B6E2, transparent)
}

.ptfl .reviews-sec {
  background: linear-gradient(107deg, #E7EFF1 60%, transparent);
  padding: 64px
}

.ptfl .reviews-head-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
  gap: 32px
}

.ptfl .reviews-h {
  font-size: 32px;
  line-height: 1.3;
  color: #111827;
  margin: 0
}

.ptfl .reviews-h .dot-acc {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -4px
}

.ptfl .reviews-note {
  font-size: 16px;
  color: #4B5563;
  max-width: 360px;
  line-height: 1.6;
  margin: 0
}

.ptfl .reviews-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.ptfl .review-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 3px 1px #a8b6e20d;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptfl .review-card:hover {
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.ptfl .review-card .inner-shadow {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  box-shadow: inset 0 2px 8px #3e85cb12;
  pointer-events: none
}

.ptfl .diag-line {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: 16px;
  overflow: hidden
}

.ptfl .review-stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.ptfl .star-svg {
  width: 18px;
  height: 18px
}

.ptfl .review-text {
  font-size: 16px;
  line-height: 1.9;
  color: #374151;
  margin: 0
}

.ptfl .review-person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.ptfl .review-portrait {
  width: 56px;
  height: 72px;
  border-radius: 5px;
  object-fit: cover;
  object-position: center;
  flex-shrink: 0;
  box-shadow: 0 2px 3px 1px #3e85cb0d
}

.ptfl .review-person-info {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ptfl .review-name {
  font-size: 16px;
  font-weight: 700;
  color: #111827
}

.ptfl .review-role {
  font-size: 16px;
  color: #6B7280
}

.ptfl .review-flag {
  margin-left: 4px
}

.ptfl .review-no-portrait {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.ptfl .review-avatar-css {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(107deg, #3E85CB, #A8B6E2);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.ptfl .review-avatar-css span {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .04em
}

@media (max-width: 1024px) {
  .ptfl .ttl-blk {
    padding: 48px 32px 32px;
    gap: 32px
  }

  .ptfl .ttl-img-col {
    flex: 0 0 240px
  }

  .ptfl .ttl-img-wrap,
  .ptfl .ttl-img-wrap img {
    width: 240px
  }

  .ptfl .ttl-h1 {
    font-size: 48px
  }

  .ptfl .works-sec {
    padding: 48px 32px 32px
  }

  .ptfl .works-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px
  }

  .ptfl .radar-sec {
    padding: 48px 32px 32px;
    gap: 32px;
    flex-direction: column
  }

  .ptfl .radar-chart-col {
    flex: 0 0 auto;
    width: 100%;
    align-items: flex-start
  }

  .ptfl .reviews-sec {
    padding: 48px 32px
  }
}

@media (max-width: 768px) {
  .ptfl .ttl-blk {
    flex-direction: column;
    padding: 32px 16px;
    gap: 16px
  }

  .ptfl .ttl-img-col {
    flex: 0 0 auto;
    width: 100%
  }

  .ptfl .ttl-img-wrap,
  .ptfl .ttl-img-wrap img {
    width: 100%
  }

  .ptfl .ttl-h1 {
    font-size: 32px
  }

  .ptfl .works-sec {
    padding: 32px 16px
  }

  .ptfl .works-grid {
    grid-template-columns: 1fr
  }

  .ptfl .radar-sec {
    padding: 32px 16px
  }

  .ptfl .radar-chart-col {
    width: 100%
  }

  .ptfl .radar-chart-wrap {
    width: 100%;
    max-width: 320px;
    height: 320px
  }

  .ptfl .radar-chart-wrap svg {
    width: 100%;
    height: 320px
  }

  .ptfl .reviews-sec {
    padding: 32px 16px
  }

  .ptfl .reviews-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .ptfl .reviews-head-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
  }
}

@media (max-width: 640px) {
  .ptfl .ttl-h1 {
    font-size: 24px
  }

  .ptfl .ttl-desc {
    font-size: 16px
  }

  .ptfl .ttl-actions {
    flex-direction: column;
    gap: 8px
  }

  .ptfl .skill-name {
    width: 110px;
    font-size: 16px
  }

  .ptfl .radar-chart-wrap {
    max-width: 280px;
    height: 280px
  }

  .ptfl .radar-chart-wrap svg {
    height: 280px
  }
}

.cont-pg {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.cont-pg .reach-strip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 520px;
  background: #fff;
  position: relative
}

.cont-pg .reach-img-col {
  flex: 0 0 45%;
  position: relative;
  overflow: hidden
}

.cont-pg .reach-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.cont-pg .reach-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(107deg, #3e85cb2e 0%, transparent 70%);
  pointer-events: none
}

.cont-pg .reach-abbr {
  position: absolute;
  bottom: 32px;
  left: 32px;
  font-size: 72px;
  font-weight: 900;
  color: #3e85cb17;
  line-height: 1.1;
  letter-spacing: 8px;
  pointer-events: none;
  user-select: none
}

.cont-pg .reach-text-col {
  flex: 1 1 0;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  position: relative
}

.cont-pg .reach-label {
  font-size: 16px;
  letter-spacing: .18em;
  color: #3E85CB;
  text-transform: uppercase;
  margin-bottom: 16px;
  line-height: 1.3
}

.cont-pg .reach-h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #1b2a3b;
  font-weight: 900;
  margin: 0 0 8px
}

.cont-pg .reach-h1 .kw-under {
  text-decoration: underline;
  text-decoration-color: #3E85CB;
  text-underline-offset: 6px
}

.cont-pg .reach-sub {
  font-size: 18px;
  line-height: 1.6;
  color: #3a4a5c;
  max-width: 420px;
  margin: 16px 0 32px
}

.cont-pg .reach-metrics {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-bottom: 32px
}

.cont-pg .metric-fig {
  font-size: 32px;
  font-weight: 800;
  color: #3E85CB;
  line-height: 1.1
}

.cont-pg .metric-lbl {
  font-size: 16px;
  color: #5a6a7c;
  line-height: 1.6;
  margin-top: 4px
}

.cont-pg .metric-sep {
  width: 1px;
  background: #A8B6E2;
  align-self: stretch;
  position: relative
}

.cont-pg .metric-sep::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3E85CB;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.cont-pg .reach-contacts {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont-pg .rc-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  font-size: 16px;
  color: #2a3a4c;
  line-height: 1.6
}

.cont-pg .rc-ico {
  width: 32px;
  height: 32px;
  border-radius: 5px;
  background: #E7EFF1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 3px 1px #3e85cb0d
}

.cont-pg .rc-ico svg {
  width: 16px;
  height: 16px
}

.cont-pg .rc-item a {
  color: #2a3a4c;
  text-decoration: none;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), font-size .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont-pg .rc-item a:hover {
  color: #3E85CB;
  font-size: 18px
}

.cont-pg .divider-asym {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 64px;
  gap: 0
}

.cont-pg .divider-asym .d-long {
  flex: 3 1 0;
  height: 1px;
  background: linear-gradient(90deg, #3E85CB 0%, #A8B6E2 100%)
}

.cont-pg .divider-asym .d-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3E85CB;
  margin: 0 8px;
  flex-shrink: 0
}

.cont-pg .divider-asym .d-short {
  flex: 1 1 0;
  height: 1px;
  background: linear-gradient(90deg, #A8B6E2 0%, #E7EFF1 100%)
}

.cont-pg .form-strip {
  background: #E7EFF1;
  position: relative;
  overflow: hidden;
  padding: 64px 0
}

.cont-pg .form-strip .faded-pat {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .04;
  background-image: repeating-linear-gradient(107deg, #3E85CB 0px, #3E85CB 2px, transparent 2px, transparent 40px)
}

.cont-pg .form-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative
}

.cont-pg .form-head {
  margin-bottom: 32px
}

.cont-pg .form-tag {
  font-size: 16px;
  letter-spacing: .16em;
  color: #3E85CB;
  text-transform: uppercase;
  line-height: 1.3;
  display: block;
  margin-bottom: 8px
}

.cont-pg .form-h2 {
  font-size: 32px;
  font-weight: 800;
  color: #1b2a3b;
  line-height: 1.3;
  margin: 0 0 8px
}

.cont-pg .form-h2 .dot-acc {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3E85CB;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.cont-pg .form-desc {
  font-size: 18px;
  color: #3a4a5c;
  line-height: 1.6;
  max-width: 560px;
  margin: 0
}

.cont-pg .cf-form {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.cont-pg .cf-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 16px
}

.cont-pg .cf-field {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  gap: 4px
}

.cont-pg .cf-field label {
  font-size: 16px;
  color: #2a3a4c;
  font-weight: 600;
  line-height: 1.3
}

.cont-pg .cf-field input,
.cont-pg .cf-field textarea {
  border: 1.5px solid #A8B6E2;
  border-radius: 5px;
  padding: 8px 16px;
  font-size: 16px;
  color: #1b2a3b;
  background: #fff;
  outline: none;
  transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: inset 0 2px 3px 1px #a8b6e214;
  width: 100%;
  box-sizing: border-box
}

.cont-pg .cf-field input::placeholder,
.cont-pg .cf-field textarea::placeholder {
  font-size: 16px;
  color: #8a9ab0
}

.cont-pg .cf-field input:focus,
.cont-pg .cf-field textarea:focus {
  border-color: #3E85CB !important;
  box-shadow: 0 0 0 3px #3e85cb21 inset 0 2px 3px 1px #3e85cb0f !important
}

.cont-pg .cf-field input:focus-visible,
.cont-pg .cf-field textarea:focus-visible {
  outline: 2px solid #3E85CB !important;
  outline-offset: 2px !important
}

.cont-pg .cf-field textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6
}

.cont-pg .cf-msg {
  margin-bottom: 16px
}

.cont-pg .cf-privacy {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px
}

.cont-pg .cf-privacy input[type="checkbox"] {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: #3E85CB;
  cursor: pointer
}

.cont-pg .cf-privacy label {
  font-size: 16px;
  color: #3a4a5c;
  line-height: 1.6;
  cursor: pointer
}

.cont-pg .cf-privacy label a {
  color: #3E85CB;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont-pg .cf-privacy label a:hover {
  color: #1b2a3b
}

.cont-pg .cf-submit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.cont-pg .btn-send {
  position: relative;
  overflow: hidden;
  padding: 16px 32px;
  border-radius: 5px;
  border: 2px solid #1b2a3b;
  background: #1b2a3b;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .04em;
  transition: color .24s cubic-bezier(0.0, 0, 0.2, 1), border-color .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 1
}

.cont-pg .btn-send::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #3E85CB;
  transition: height .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1
}

.cont-pg .btn-send:hover::after {
  height: 100%
}

.cont-pg .btn-send:hover {
  border-color: #3E85CB;
  color: #fff
}

.cont-pg .btn-send:focus-visible {
  outline: 3px solid #3E85CB !important;
  outline-offset: 3px !important
}

.cont-pg .btn-send:active {
  transform: translateY(1px)
}

.cont-pg .send-note {
  font-size: 16px;
  color: #5a6a7c;
  line-height: 1.6
}

@media (max-width: 1024px) {
  .cont-pg .reach-text-col {
    padding: 64px 32px
  }

  .cont-pg .reach-h1 {
    font-size: 32px
  }

  .cont-pg .divider-asym {
    padding: 0 32px
  }
}

@media (max-width: 768px) {
  .cont-pg .reach-strip {
    flex-direction: column;
    min-height: unset
  }

  .cont-pg .reach-img-col {
    flex: 0 0 240px;
    height: 240px
  }

  .cont-pg .reach-text-col {
    padding: 32px 16px
  }

  .cont-pg .reach-h1 {
    font-size: 32px
  }

  .cont-pg .reach-metrics {
    gap: 16px
  }

  .cont-pg .cf-row {
    flex-direction: column;
    gap: 16px
  }

  .cont-pg .form-inner {
    padding: 0 16px
  }

  .cont-pg .cf-form {
    padding: 16px
  }

  .cont-pg .divider-asym {
    padding: 0 16px
  }

  .cont-pg .form-strip {
    padding: 32px 0
  }
}

@media (max-width: 640px) {
  .cont-pg .reach-h1 {
    font-size: 24px
  }

  .cont-pg .reach-metrics {
    flex-direction: column;
    gap: 8px
  }

  .cont-pg .metric-sep {
    display: none
  }

  .cont-pg .cf-submit-row {
    flex-direction: column;
    align-items: flex-start
  }
}

.cont-pg .reach-contacts .rc-item:hover .rc-ico {
  background: #3E85CB;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont-pg .reach-contacts .rc-ico {
  transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont-pg .reach-contacts .rc-item:hover .rc-ico svg path,
.cont-pg .reach-contacts .rc-item:hover .rc-ico svg rect,
.cont-pg .reach-contacts .rc-item:hover .rc-ico svg circle {
  stroke: #fff
}

.abt-pg {
  max-width: 100%;
  overflow-x: hidden
}

.abt-pg .pg-bound {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px
}

.abt-pg .band-stripe {
  height: 4px;
  background: linear-gradient(107deg, #E7EFF1, transparent);
  border-top: 2px solid #3E85CB
}

.abt-pg .ident-blk {
  background: #fff;
  padding: 64px 0 0;
  position: relative
}

.abt-pg .ident-blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(107deg, #E7EFF1 0%, transparent 60%);
  pointer-events: none
}

.abt-pg .ident-grid {
  display: grid;
  grid-template-columns: 1fr 1.8fr 1fr;
  gap: 32px;
  align-items: start;
  position: relative;
  z-index: 1
}

.abt-pg .ident-mosaic {
  display: grid;
  grid-template-rows: auto auto;
  gap: 8px
}

.abt-pg .mosaic-img {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.abt-pg .mosaic-img img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center
}

.abt-pg .mosaic-img.tall img {
  height: 220px
}

.abt-pg .mosaic-img.short img {
  height: 140px
}

.abt-pg .mosaic-sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px
}

.abt-pg .ident-txt {
  padding: 16px 0
}

.abt-pg .ident-label {
  font-size: 16px;
  letter-spacing: .14em;
  color: #3E85CB;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.abt-pg .ident-h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #1a2a3a;
  margin: 0 0 16px;
  position: relative;
  display: inline-block
}

.abt-pg .ident-h1 .h1-dot {
  color: #3E85CB;
  font-size: 72px;
  line-height: 1
}

.abt-pg .h1-sideline {
  display: inline-block;
  border-top: 3px solid #3E85CB;
  width: 48px;
  margin-bottom: 16px;
  margin-right: 8px;
  vertical-align: middle
}

.abt-pg .ident-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #2c3e50;
  margin: 16px 0 32px
}

.abt-pg .blob-wrap {
  position: relative
}

.abt-pg .blob-a {
  position: absolute;
  width: 180px;
  height: 180px;
  background: #3e85cb14;
  border-radius: 50%;
  filter: blur(40px);
  top: -40px;
  right: -20px;
  pointer-events: none
}

.abt-pg .blob-b {
  position: absolute;
  width: 120px;
  height: 120px;
  background: #a8b6e21f;
  border-radius: 50%;
  filter: blur(30px);
  bottom: 20px;
  left: -10px;
  pointer-events: none
}

.abt-pg .mosaic-img-r {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.abt-pg .mosaic-img-r img {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  height: 260px;
  filter: saturate(0.85) brightness(0.97)
}

.abt-pg .color-overlay-wrap {
  position: relative;
  border-radius: 5px;
  overflow: hidden
}

.abt-pg .color-overlay-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #3e85cb2e;
  pointer-events: none
}

.abt-pg .sub-form-row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 16px
}

.abt-pg .sub-email {
  flex: 1 1 180px;
  padding: 8px 16px;
  border: 1.5px solid #A8B6E2;
  border-radius: 5px;
  font-size: 16px;
  color: #2c3e50;
  background: #fff;
  outline: none;
  transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0
}

.abt-pg .sub-email::placeholder {
  font-size: 15px;
  color: #8a9bb5
}

.abt-pg .sub-email:focus {
  border-color: #3E85CB;
  box-shadow: 0 2px 3px 1px #3e85cb0d
}

.abt-pg .sub-btn {
  padding: 8px 24px;
  background: #2c3e50;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .24s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap
}

.abt-pg .sub-btn::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #3E85CB;
  transition: height .22s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.abt-pg .sub-btn:hover::before {
  height: 100%
}

.abt-pg .sub-btn span {
  position: relative;
  z-index: 1
}

.abt-pg .sub-btn:focus {
  outline: 2px solid #3E85CB;
  outline-offset: 2px
}

.abt-pg .radio-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 8px
}

.abt-pg .radio-opt {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  color: #2c3e50;
  cursor: pointer
}

.abt-pg .radio-opt input[type="radio"] {
  accent-color: #3E85CB
}

.abt-pg .sub-note {
  font-size: 16px;
  color: #5a6a7e;
  margin-top: 8px;
  line-height: 1.3
}

.abt-pg .ident-right {
  padding-top: 32px;
  position: relative
}

.abt-pg .stat-stack {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt-pg .stat-item {
  background: #E7EFF1;
  border-radius: 5px;
  padding: 16px;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  animation: tone-cycle 5s ease-in-out infinite
}

.abt-pg .stat-item:nth-child(2) {
  animation-delay: 1.7s
}

.abt-pg .stat-item:nth-child(3) {
  animation-delay: 3.4s
}

@keyframes tone-cycle {

  0%,
  100% {
    background: #E7EFF1
  }

  50% {
    background: #d8eaf5
  }
}

.abt-pg .stat-num {
  font-size: 32px;
  line-height: 1.1;
  color: #3E85CB;
  font-weight: 700;
  display: block
}

.abt-pg .stat-lbl {
  font-size: 16px;
  color: #2c3e50;
  line-height: 1.3;
  margin-top: 4px;
  display: block
}

.abt-pg .ident-blk-bottom {
  padding: 32px 0 0;
  position: relative;
  z-index: 1
}

.abt-pg .steps-band {
  background: #2c3e50;
  padding: 64px 0;
  position: relative
}

.abt-pg .steps-band::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: linear-gradient(107deg, #3e85cb1f 0%, transparent 70%);
  pointer-events: none
}

.abt-pg .steps-head {
  text-align: center;
  margin-bottom: 48px;
  position: relative;
  z-index: 1
}

.abt-pg .steps-eyebrow {
  font-size: 16px;
  letter-spacing: .16em;
  color: #A8B6E2;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px
}

.abt-pg .steps-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #fff;
  margin: 0
}

.abt-pg .steps-h2 .h2-dot {
  color: #3E85CB
}

.abt-pg .steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  z-index: 1
}

.abt-pg .steps-grid::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, #3E85CB, #A8B6E2, #3E85CB);
  z-index: 0
}

.abt-pg .step-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 16px;
  position: relative;
  z-index: 1
}

.abt-pg .step-num-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #3E85CB;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  flex-shrink: 0
}

.abt-pg .step-num {
  font-size: 24px;
  color: #fff;
  font-weight: 700;
  line-height: 1.1
}

.abt-pg .step-h {
  font-size: 18px;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 8px
}

.abt-pg .step-p {
  font-size: 16px;
  line-height: 1.6;
  color: #A8B6E2;
  margin: 0
}

.abt-pg .team-strip {
  background: #E7EFF1;
  padding: 64px 0
}

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

.abt-pg .team-portraits {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-shrink: 0
}

.abt-pg .portrait-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center
}

.abt-pg .portrait-img-wrap {
  width: 160px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.abt-pg .portrait-img-wrap img {
  width: 160px;
  height: 213px;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt-pg .portrait-name {
  font-size: 16px;
  color: #2c3e50;
  font-weight: 600;
  text-align: center;
  line-height: 1.3
}

.abt-pg .portrait-role {
  font-size: 16px;
  color: #3E85CB;
  text-align: center;
  line-height: 1.3
}

.abt-pg .team-txt {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px
}

.abt-pg .team-h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #2c3e50;
  margin: 0;
  position: relative;
  padding-left: 16px
}

.abt-pg .team-h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: #3E85CB;
  border-radius: 2px
}

.abt-pg .team-h2 .h2-dot {
  color: #3E85CB
}

.abt-pg .team-p {
  font-size: 18px;
  line-height: 1.6;
  color: #2c3e50;
  margin: 0
}

.abt-pg .team-link {
  display: inline-block;
  color: #3E85CB;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: font-size .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-pg .team-link:hover {
  font-size: 19px
}

.abt-pg .icon-spin-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: 8px;
  vertical-align: middle
}

.abt-pg .icon-spin-wrap svg {
  animation: spin-settle 2.4s cubic-bezier(0.4, 0, 0.2, 1) .5s 1 forwards;
  transform-origin: center
}

@keyframes spin-settle {
  0% {
    transform: rotate(0deg)
  }

  70% {
    transform: rotate(375deg)
  }

  85% {
    transform: rotate(355deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

@media (max-width: 1024px) {
  .abt-pg .ident-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto
  }

  .abt-pg .ident-mosaic {
    grid-column: 1;
    grid-row: 1
  }

  .abt-pg .ident-txt {
    grid-column: 2;
    grid-row: 1
  }

  .abt-pg .ident-right {
    grid-column: 1 / -1;
    grid-row: 2;
    padding-top: 0
  }

  .abt-pg .stat-stack {
    flex-direction: row;
    flex-wrap: wrap
  }

  .abt-pg .stat-item {
    flex: 1 1 140px
  }

  .abt-pg .steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
  }

  .abt-pg .steps-grid::before {
    display: none
  }

  .abt-pg .ident-h1 {
    font-size: 48px
  }
}

@media (max-width: 768px) {
  .abt-pg .ident-grid {
    grid-template-columns: 1fr
  }

  .abt-pg .ident-mosaic,
  .abt-pg .ident-txt,
  .abt-pg .ident-right {
    grid-column: 1;
    grid-row: auto
  }

  .abt-pg .ident-h1 {
    font-size: 32px
  }

  .abt-pg .team-flex {
    flex-direction: column
  }

  .abt-pg .team-portraits {
    justify-content: center
  }

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

  .abt-pg .pg-bound {
    padding: 0 16px
  }
}

@media (max-width: 640px) {
  .abt-pg .sub-form-row {
    flex-direction: column;
    align-items: stretch
  }

  .abt-pg .sub-btn {
    width: 100%
  }

  .abt-pg .team-portraits {
    flex-direction: column;
    align-items: center
  }

  .abt-pg .portrait-img-wrap {
    width: 140px
  }

  .abt-pg .portrait-img-wrap img {
    width: 140px;
    height: 187px
  }
}

.srvs-pg {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.srvs-pg .ttl-strip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 420px;
  padding: 64px 0;
  background: #fff;
  position: relative
}

.srvs-pg .ttl-strip .img-col {
  width: 220px;
  flex-shrink: 0;
  position: relative;
  display: flex;
  align-items: stretch
}

.srvs-pg .ttl-strip .img-col::before {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1.5px dashed #A8B6E2;
  border-radius: 16px;
  z-index: 0;
  pointer-events: none
}

.srvs-pg .ttl-strip .img-col img {
  width: 180px;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  opacity: .38;
  position: relative;
  z-index: 1;
  margin: 16px 0 16px 32px;
  display: block
}

.srvs-pg .ttl-strip .txt-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 64px 32px 48px
}

.srvs-pg .ttl-strip .pg-label {
  font-size: 16px;
  letter-spacing: .18em;
  color: #3E85CB;
  text-transform: uppercase;
  margin-bottom: 16px;
  line-height: 1.3
}

.srvs-pg .ttl-strip h1 {
  font-size: 62px;
  line-height: 1.1;
  color: #1b2a3b;
  margin: 0 0 16px;
  font-weight: 800
}

.srvs-pg .ttl-strip .sub-txt {
  font-size: 18px;
  line-height: 1.6;
  color: #3a4a5c;
  max-width: 560px;
  margin-bottom: 32px
}

.srvs-pg .ttl-strip .pg-act {
  display: inline-block;
  background: #1b2a3b;
  color: #fff;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 5px;
  text-decoration: none;
  letter-spacing: .04em;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: flex-start;
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.srvs-pg .ttl-strip .pg-act::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background: #3E85CB;
  transition: height .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.srvs-pg .ttl-strip .pg-act:hover::after {
  height: 100%
}

.srvs-pg .ttl-strip .pg-act span {
  position: relative;
  z-index: 1
}

.srvs-pg .divider-a {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.srvs-pg .divider-a svg {
  display: block;
  width: 100%
}

.srvs-pg .cards-area {
  background: #E7EFF1;
  padding: 64px 32px
}

.srvs-pg .cards-area .area-head {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 32px
}

.srvs-pg .cards-area .area-head h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #1b2a3b;
  margin: 0
}

.srvs-pg .cards-area .area-head h2 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.srvs-pg .cards-area .area-head .ct {
  font-size: 16px;
  color: #3E85CB;
  letter-spacing: .08em
}

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

.srvs-pg .svc-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .svc-card:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.srvs-pg .svc-card .card-img-wrap {
  position: relative;
  height: 180px;
  overflow: hidden
}

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

.srvs-pg .svc-card:hover .card-img-wrap img {
  transform: scale(1.04)
}

.srvs-pg .svc-card .user-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #3E85CB;
  color: #fff;
  font-size: 16px;
  padding: 4px 8px;
  border-radius: 2px;
  letter-spacing: .06em
}

.srvs-pg .svc-card .card-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.srvs-pg .svc-card .card-ttl {
  font-size: 18px;
  line-height: 1.3;
  color: #1b2a3b;
  font-weight: 700;
  margin: 0
}

.srvs-pg .svc-card .card-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #3a4a5c;
  margin: 0;
  flex: 1
}

.srvs-pg .svc-card .card-meta {
  display: flex;
  flex-direction: row;
  gap: 16px;
  font-size: 16px;
  color: #5a6a7c;
  flex-wrap: wrap
}

.srvs-pg .svc-card .card-meta .m-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.srvs-pg .svc-card .card-meta .m-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0
}

.srvs-pg .svc-card .card-ft {
  padding: 8px 16px 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #E7EFF1;
  gap: 8px
}

.srvs-pg .svc-card .price-blk {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.srvs-pg .svc-card .price-val {
  font-size: 24px;
  font-weight: 800;
  color: #1b2a3b;
  line-height: 1.1
}

.srvs-pg .svc-card .price-des {
  font-size: 16px;
  color: #5a6a7c;
  line-height: 1.3
}

.srvs-pg .svc-card .price-note {
  font-size: 16px;
  color: #3E85CB;
  line-height: 1.3
}

.srvs-pg .svc-card .seats-left {
  font-size: 16px;
  color: #c0392b;
  font-weight: 600;
  white-space: nowrap
}

.srvs-pg .svc-card .card-lnk {
  display: block;
  background: #1b2a3b;
  color: #fff;
  font-size: 16px;
  padding: 8px 16px;
  border-radius: 5px;
  text-decoration: none;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0 16px 16px
}

.srvs-pg .svc-card .card-lnk::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background: #3E85CB;
  transition: height .2s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.srvs-pg .svc-card .card-lnk:hover::after {
  height: 100%
}

.srvs-pg .svc-card .card-lnk span {
  position: relative;
  z-index: 1
}

.srvs-pg .divider-b {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #E7EFF1
}

.srvs-pg .divider-b svg {
  display: block;
  width: 100%
}

.srvs-pg .how-strip {
  background: #fff;
  padding: 64px 32px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.srvs-pg .how-strip .how-txt {
  flex: 1;
  max-width: 420px
}

.srvs-pg .how-strip .how-txt h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #1b2a3b;
  margin: 0 0 16px
}

.srvs-pg .how-strip .how-txt h2 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #A8B6E2;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.srvs-pg .how-strip .how-txt p {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4a5c;
  margin: 0
}

.srvs-pg .how-strip .how-steps {
  flex: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.srvs-pg .step-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border-radius: 16px;
  background: linear-gradient(107deg, #E7EFF1, transparent);
  box-shadow: 0 2px 3px 1px #a8b6e20d;
  transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .step-item:hover {
  box-shadow: 0 7px 25px 1px #3e85cb1a
}

.srvs-pg .step-item .step-num {
  font-size: 32px;
  font-weight: 800;
  color: #3E85CB;
  line-height: 1.1
}

.srvs-pg .step-item h4 {
  font-size: 18px;
  color: #1b2a3b;
  margin: 0;
  line-height: 1.3
}

.srvs-pg .step-item p {
  font-size: 16px;
  color: #3a4a5c;
  margin: 0;
  line-height: 1.6
}

.srvs-pg .divider-c {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff
}

.srvs-pg .divider-c svg {
  display: block;
  width: 100%
}

.srvs-pg .expert-strip {
  background: linear-gradient(107deg, #E7EFF1, transparent);
  padding: 64px 32px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center
}

.srvs-pg .expert-strip .port-wrap {
  flex-shrink: 0;
  width: 200px
}

.srvs-pg .expert-strip .port-wrap img {
  width: 200px;
  aspect-ratio: 5/7;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  display: block;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .expert-strip .port-wrap img:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.srvs-pg .expert-strip .exp-txt {
  flex: 1
}

.srvs-pg .expert-strip .exp-txt h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #1b2a3b;
  margin: 0 0 16px
}

.srvs-pg .expert-strip .exp-txt h2 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #3E85CB;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.srvs-pg .expert-strip .exp-txt p {
  font-size: 16px;
  line-height: 1.9;
  color: #3a4a5c;
  margin: 0 0 16px
}

.srvs-pg .expert-strip .exp-name {
  font-size: 18px;
  font-weight: 700;
  color: #1b2a3b;
  margin: 0 0 4px
}

.srvs-pg .expert-strip .exp-role {
  font-size: 16px;
  color: #3E85CB;
  letter-spacing: .06em
}

.srvs-pg .expert-strip .exp-imgs {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.srvs-pg .expert-strip .exp-imgs img {
  width: 260px;
  border-radius: 16px;
  object-fit: cover;
  object-position: center;
  display: block;
  box-shadow: 0 2px 3px 1px #3e85cb0d;
  transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs-pg .expert-strip .exp-imgs img:hover {
  box-shadow: 0 10px 52px 1px #3e85cb21
}

.srvs-pg .divider-d {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: linear-gradient(107deg, #E7EFF1, transparent)
}

.srvs-pg .divider-d svg {
  display: block;
  width: 100%
}

.srvs-pg .reach-strip {
  background: #1b2a3b;
  padding: 64px 32px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center
}

.srvs-pg .reach-strip .reach-txt {
  flex: 1
}

.srvs-pg .reach-strip .reach-txt h2 {
  font-size: 32px;
  line-height: 1.3;
  color: #E7EFF1;
  margin: 0 0 16px
}

.srvs-pg .reach-strip .reach-txt h2 .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #A8B6E2;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -3px
}

.srvs-pg .reach-strip .reach-txt p {
  font-size: 16px;
  line-height: 1.9;
  color: #A8B6E2;
  margin: 0 0 32px
}

.srvs-pg .reach-strip .reach-act {
  display: inline-block;
  background: #fff;
  color: #1b2a3b;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 700;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 7px 25px 1px #a8b6e21a
}

.srvs-pg .reach-strip .reach-act::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background: #3E85CB;
  transition: height .24s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: 0
}

.srvs-pg .reach-strip .reach-act:hover::after {
  height: 100%
}

.srvs-pg .reach-strip .reach-act:hover {
  color: #fff
}

.srvs-pg .reach-strip .reach-act span {
  position: relative;
  z-index: 1
}

.srvs-pg .reach-strip .flags-col {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.srvs-pg .reach-strip .flags-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center
}

.srvs-pg .reach-strip .flags-row .fi {
  font-size: 32px;
  border-radius: 2px;
  box-shadow: 0 2px 3px 1px #a8b6e20d
}

.srvs-pg .reach-strip .flags-row .fl-lbl {
  font-size: 16px;
  color: #A8B6E2
}

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

  .srvs-pg .how-strip {
    flex-direction: column;
    gap: 32px
  }

  .srvs-pg .how-strip .how-txt {
    max-width: 100%
  }

  .srvs-pg .expert-strip {
    flex-direction: column;
    gap: 32px
  }

  .srvs-pg .expert-strip .exp-imgs {
    flex-direction: row
  }

  .srvs-pg .expert-strip .exp-imgs img {
    width: 180px
  }

  .srvs-pg .reach-strip {
    flex-direction: column;
    gap: 32px
  }
}

@media (max-width: 768px) {
  .srvs-pg .ttl-strip {
    flex-direction: column;
    padding: 32px 0
  }

  .srvs-pg .ttl-strip .img-col {
    width: 100%;
    height: 180px
  }

  .srvs-pg .ttl-strip .img-col img {
    width: 100%;
    height: 180px;
    margin: 16px
  }

  .srvs-pg .ttl-strip .txt-col {
    padding: 32px 16px
  }

  .srvs-pg .ttl-strip h1 {
    font-size: 32px
  }

  .srvs-pg .card-grid {
    grid-template-columns: 1fr
  }

  .srvs-pg .how-strip .how-steps {
    grid-template-columns: 1fr
  }

  .srvs-pg .expert-strip .exp-imgs {
    flex-direction: column
  }

  .srvs-pg .expert-strip .exp-imgs img {
    width: 100%
  }

  .srvs-pg .cards-area {
    padding: 32px 16px
  }

  .srvs-pg .how-strip {
    padding: 32px 16px
  }

  .srvs-pg .expert-strip {
    padding: 32px 16px
  }

  .srvs-pg .reach-strip {
    padding: 32px 16px
  }
}

@media (max-width: 640px) {
  .srvs-pg .ttl-strip h1 {
    font-size: 32px
  }

  .srvs-pg .reach-strip .flags-row .fi {
    font-size: 24px
  }
}

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

.success-pg .success-wrap {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border-radius: 16px;
  padding: 64px 32px;
  box-shadow: 0 7px 25px 1px #3e85cb1a;
  text-align: center
}

.success-pg .icon-wrap {
  width: 64px;
  height: 64px;
  margin: 0 auto 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #E7EFF1;
  box-shadow: inset 0 2px 3px 1px #3e85cb14
}

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

.success-pg .success-heading {
  font-size: 32px;
  line-height: 1.1;
  color: #1b2a3b;
  margin: 0 0 16px;
  letter-spacing: -.5px
}

.success-pg .success-text {
  font-size: 18px;
  line-height: 1.6;
  color: #3a4a5c;
  margin: 0 0 32px
}

.success-pg .success-divider {
  width: 48px;
  height: 2px;
  background: #3E85CB;
  border-radius: 2px;
  margin: 0 auto 32px
}

.success-pg .back-btn {
  display: inline-block;
  padding: 16px 32px;
  background: #1b2a3b;
  color: #fff;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .04em;
  border-radius: 5px;
  text-decoration: none;
  border: 2px solid #1b2a3b;
  position: relative;
  overflow: hidden;
  transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0
}

.success-pg .back-btn::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #3E85CB;
  border-radius: 5px;
  transition: height .25s cubic-bezier(0.0, 0, 0.2, 1);
  z-index: -1
}

.success-pg .back-btn:hover::after,
.success-pg .back-btn:focus::after {
  height: 100%
}

.success-pg .back-btn:hover,
.success-pg .back-btn:focus {
  color: #fff;
  outline: none;
  border-color: #3E85CB
}

.success-pg .ref-note {
  margin-top: 32px;
  font-size: 16px;
  line-height: 1.6;
  color: #5a6a7c
}

.success-pg .ref-note a {
  color: #3E85CB;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: font-size .2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline
}

.success-pg .ref-note a:hover {
  font-size: 18px
}

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

  .success-pg .success-wrap {
    padding: 32px 16px
  }

  .success-pg .success-heading {
    font-size: 24px
  }

  .success-pg .success-text {
    font-size: 16px
  }
}