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

body {
  margin: 0;
  min-height: 100dvh;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-family: 'Exo 2', sans-serif;
  background-color: #0d0a1a;
  color: #FEFFF7
}

.site_header {
  position: relative;
  background: linear-gradient(135deg, #080614 0%, #0d0a1a 40%, #03229D18 100%);
  border-bottom: 1px solid #FD009F33;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  padding: 0;
  z-index: 100;
  overflow: hidden
}

.site_header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #FD009F 35%, #03229D 65%, transparent 100%);
  pointer-events: none
}

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

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

.brand_logo_wrap {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  background-color: #FEFFF710;
  border: 1px solid #FD009F55;
  box-shadow: -1px 5px 18px 1px #fd009f17 inset 0 0 12px #fd009f0f;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  flex-shrink: 0
}

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

.brand_name_text {
  font-family: 'Exo 2', sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.1;
  color: #FEFFF7;
  letter-spacing: .02em
}

.brand_name_text span {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: #FD009F;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.35;
  margin-top: 4px
}

.hd_action_link {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0d0a1a;
  background: linear-gradient(135deg, #FD009F 0%, #c4007a 100%);
  border-radius: 4px;
  padding: 8px 16px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  box-shadow: -1px 5px 18px 1px #fd009f17;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .6s ease-in-out;
  flex-shrink: 0;
  white-space: nowrap
}

.hd_action_link:hover {
  box-shadow: -1px 10px 44px 1px #fd009f21;
  background: linear-gradient(135deg, #ff1aab 0%, #FD009F 100%)
}

.hd_action_link:focus {
  outline: none;
  box-shadow: 0 0 0 3px #FD009F88
}

.hd_action_link .li {
  font-size: 16px
}

.hd_nav_row {
  border-top: 1px solid #03229D44;
  background: linear-gradient(90deg, #03229D0a 0%, #FD009F08 50%, #03229D0a 100%)
}

.hd_nav_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px 0 48px;
  display: flex;
  align-items: center;
  gap: 4px
}

.nav_item {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #FEFFF7cc;
  text-decoration: none;
  padding: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 2px;
  position: relative;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap
}

.nav_item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 2px;
  background: #FD009F;
  border-radius: 2px;
  transform: scaleX(0);
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: left
}

.nav_item:hover {
  color: #FEFFF7
}

.nav_item:hover::after {
  transform: scaleX(1)
}

.nav_item:focus {
  outline: none;
  color: #FEFFF7
}

.nav_item:focus::after {
  transform: scaleX(1)
}

.nav_item.active_pg {
  color: #FD009F;
  font-weight: 700
}

.nav_item.active_pg::after {
  transform: scaleX(1)
}

.nav_divider_dot {
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: #03229D88;
  flex-shrink: 0
}

.site_footer {
  background: linear-gradient(180deg, #080614 0%, #050310 100%);
  border-top: 1px solid #03229D55;
  box-shadow: -1px 1px 5px 1px #03229d0d;
  position: relative
}

.site_footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #03229D 40%, #FD009F 60%, transparent 100%);
  pointer-events: none
}

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

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

.ft_logo_wrap {
  width: 55px;
  height: 55px;
  border-radius: 12px;
  background-color: #FEFFF708;
  border: 1px solid #03229D66;
  box-shadow: -1px 5px 18px 1px #03229d17 inset 0 0 10px #03229d12;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px
}

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

.ft_brand_label {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #FEFFF7aa;
  letter-spacing: .04em;
  text-align: center
}

.ft_center_col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 200px
}

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

.ft_nav_link {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  color: #FEFFF788;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 2px;
  transition: color .55s cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap
}

.ft_nav_link:hover {
  color: #FD009F
}

.ft_nav_link:focus {
  outline: none;
  color: #FD009F;
  box-shadow: 0 0 0 2px #FD009F55;
  border-radius: 2px
}

.ft_sep {
  width: 1px;
  height: 14px;
  background: #03229D66;
  flex-shrink: 0
}

.ft_copy {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  color: #FEFFF744;
  text-align: center;
  line-height: 1.55
}

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

.ft_trust_item {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  color: #FEFFF766;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.35
}

.ft_trust_item .li {
  color: #03229D;
  font-size: 16px;
  flex-shrink: 0
}

.ft_contact_link {
  color: #FEFFF788;
  text-decoration: none;
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  transition: color .5s ease-in-out
}

.ft_contact_link:hover {
  color: #FD009F
}

.ft_contact_link:focus {
  outline: none;
  color: #FD009F
}

.cookie_popup_slot {
  display: none;
  position: fixed;
  top: 32px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 480px;
  max-width: calc(100% - 64px);
  z-index: 1200;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d0a1a 0%, #080614 100%);
  border: 1px solid #FD009F44;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  font-family: 'Exo 2', sans-serif;
  overflow: hidden;
  transform: translateX(120%);
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie_popup_slot.popup_visible {
  transform: translateX(0)
}

.popup_bar {
  height: 3px;
  background: linear-gradient(90deg, #03229D 0%, #FD009F 100%)
}

.popup_body {
  padding: 32px
}

.popup_desc {
  font-size: 16px;
  color: #FEFFF7bb;
  line-height: 1.55;
  margin: 0 0 8px
}

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

.popup_uses li {
  font-size: 16px;
  color: #FEFFF788;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.35
}

.popup_uses li .li {
  color: #FD009F;
  font-size: 16px;
  flex-shrink: 0
}

.popup_headline {
  font-size: 19px;
  font-weight: 700;
  color: #FEFFF7;
  line-height: 1.35;
  margin: 0 0 16px
}

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

.popup_accept_btn {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0d0a1a;
  background: linear-gradient(135deg, #FD009F 0%, #c4007a 100%);
  border: none;
  border-radius: 4px;
  padding: 8px 32px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 5px 18px 1px #fd009f17
}

.popup_accept_btn:hover {
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.popup_accept_btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px #FD009F88
}

.popup_decline_lnk {
  font-family: 'Exo 2', sans-serif;
  font-size: 16px;
  color: #FEFFF755;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 4px 8px;
  border-radius: 2px;
  transition: color .55s ease-in-out
}

.popup_decline_lnk:hover {
  color: #FEFFF7aa
}

.popup_decline_lnk:focus {
  outline: none;
  color: #FEFFF7;
  box-shadow: 0 0 0 2px #FEFFF733;
  border-radius: 2px
}

@media (max-width: 960px) {
  .hd_upper {
    padding: 16px;
    gap: 16px
  }

  .hd_nav_inner {
    padding: 0 16px;
    flex-wrap: wrap
  }

  .brand_mark {
    margin-left: 0
  }

  .ft_inner {
    flex-direction: column;
    align-items: center;
    padding: 32px 16px
  }

  .ft_trust_col {
    align-items: center
  }
}

@media (max-width: 480px) {
  .brand_name_text {
    font-size: 19px
  }

  .brand_logo_wrap {
    width: 48px;
    height: 48px
  }

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

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

  .nav_divider_dot {
    display: none
  }

  .ft_nav_row {
    gap: 4px
  }
}

.content-policy-fu {
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #FEFFF7;
  background: #0d0e1a
}

.content-policy-fu p {
  font-size: 19px;
  line-height: 1.8;
  margin-bottom: 32px;
  color: #c8cdb8
}

.content-policy-fu ul,
.content-policy-fu ol {
  margin: 0 0 32px;
  padding-left: 32px
}

.content-policy-fu ul {
  list-style: none;
  padding-left: 0
}

.content-policy-fu ul li {
  position: relative;
  padding-left: 32px;
  font-size: 19px;
  line-height: 1.8;
  color: #c8cdb8;
  margin-bottom: 8px
}

.content-policy-fu ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #FD009F;
  box-shadow: -1px 1px 5px 1px #fd009f0d -1px 5px 18px 1px #fd009f17
}

.content-policy-fu ol {
  list-style: none;
  counter-reset: policy-counter;
  padding-left: 0
}

.content-policy-fu ol li {
  counter-increment: policy-counter;
  position: relative;
  padding-left: 32px;
  font-size: 19px;
  line-height: 1.8;
  color: #c8cdb8;
  margin-bottom: 8px
}

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

.content-policy-fu strong,
.content-policy-fu b {
  font-weight: 700;
  color: #FEFFF7
}

.content-policy-fu em,
.content-policy-fu i {
  font-style: italic;
  color: #b0b8a0
}

.content-policy-fu table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 32px;
  font-size: 16px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: -1px 5px 18px 1px #03229d17 -1px 10px 44px 1px #03229d21
}

.content-policy-fu thead {
  background: #03229D
}

.content-policy-fu thead tr {
  background: transparent
}

.content-policy-fu tbody {
  background: #111428
}

.content-policy-fu tr {
  border-bottom: 1px solid #fd009f1f;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.content-policy-fu tbody tr:hover {
  background: #161a35
}

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

.content-policy-fu th {
  padding: 16px;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: #FEFFF7;
  letter-spacing: .06em;
  text-transform: uppercase
}

.content-policy-fu td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  color: #c8cdb8;
  vertical-align: top
}

.content-policy-fu div {
  margin-bottom: 32px
}

@media (max-width: 960px) {
  .content-policy-fu {
    padding: 64px 32px
  }

  .content-policy-fu p,
  .content-policy-fu ul li,
  .content-policy-fu ol li {
    font-size: 19px
  }

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

@media (max-width: 480px) {
  .content-policy-fu {
    padding: 32px 16px
  }

  .content-policy-fu p,
  .content-policy-fu ul li,
  .content-policy-fu ol li {
    font-size: 16px;
    line-height: 1.8
  }

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

  .content-policy-fu ul li {
    padding-left: 32px
  }

  .content-policy-fu ol li {
    padding-left: 32px
  }
}

.svc_det {
  background: #0d0d1a;
  color: #FEFFF7;
  padding: 0;
  overflow-x: clip
}

.svc_det .drop_in {
  animation: dropBounce .65s cubic-bezier(0.22, 1, 0.36, 1) both
}

@keyframes dropBounce {
  0% {
    opacity: 0;
    transform: translateY(-32px)
  }

  72% {
    transform: translateY(4px)
  }

  88% {
    transform: translateY(-2px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

.svc_det .ttl_blk {
  position: relative;
  padding: 64px 32px 96px;
  background: linear-gradient(to bottom, transparent 0%, #03229D22 60%, #0d0d1a 100%)
}

.svc_det .ttl_blk .dot_grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: radial-gradient(circle, #FD009F33 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 30%, #000 70%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 30%, #000 70%, transparent 100%);
  z-index: 0
}

.svc_det .ttl_inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: start
}

.svc_det .ttl_meta {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  margin-bottom: 16px
}

.svc_det .cat_tag {
  font-size: 16px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD009F;
  border: 1px solid #FD009F44;
  padding: 4px 12px;
  border-radius: 4px;
  background: #FD009F11
}

.svc_det .usr_tag {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #FEFFF7aa;
  border: 1px solid #FEFFF722;
  padding: 4px 12px;
  border-radius: 4px
}

.svc_det .ttl_h1 {
  font-size: 58px;
  line-height: 1.1;
  margin: 0 0 16px;
  background: linear-gradient(128deg, #e8e4f0 0%, #b8c8f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .ttl_sub {
  font-size: 19px;
  line-height: 1.55;
  color: #FEFFF7bb;
  margin: 0 0 32px;
  max-width: 540px
}

.svc_det .seats_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px
}

.svc_det .seats_pill {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #FEFFF7;
  background: #03229D44;
  border: 1px solid #03229D99;
  border-radius: 6px;
  padding: 8px 16px;
  box-shadow: -1px 5px 18px 1px #03229d17
}

.svc_det .seats_dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FD009F;
  box-shadow: 0 0 8px #FD009F99;
  flex-shrink: 0
}

.svc_det .img_frame {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  border: 1px solid #FD009F33
}

.svc_det .img_frame img {
  display: block;
  width: 100%;
  max-width: 100%;
  object-fit: contain;
  border-radius: 12px;
  filter: sepia(18%) contrast(1.08) brightness(0.92) saturate(1.12);
  transition: filter .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc_det .img_frame:hover img {
  filter: sepia(0%) contrast(1.05) brightness(0.97) saturate(1.2)
}

.svc_det .img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #03229D18 0%, transparent 60%);
  pointer-events: none;
  border-radius: 12px
}

.svc_det .price_card {
  margin-top: 32px;
  background: #12122a;
  border: 1px solid #FD009F55;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 10px 44px 1px #fd009f17 inset 0 1px 0 #FD009F22
}

.svc_det .price_num {
  font-size: 42px;
  line-height: 1.1;
  background: linear-gradient(128deg, #FD009F 0%, #b090f8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 8px
}

.svc_det .price_note {
  font-size: 16px;
  color: #FEFFF799;
  margin: 0 0 32px;
  line-height: 1.55
}

.svc_det .cta_btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: #FD009F;
  color: #FEFFF7;
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  padding: 16px 32px;
  cursor: pointer;
  text-decoration: none;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 5px 18px 1px #fd009f21;
  width: 100%;
  justify-content: center
}

.svc_det .cta_btn:hover {
  background: #c8007e;
  box-shadow: -1px 10px 44px 1px #fd009f38
}

.svc_det .cta_btn:focus {
  outline: 2px solid #FD009F;
  outline-offset: 3px
}

.svc_det .cta_btn svg {
  flex-shrink: 0;
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc_det .cta_btn:hover svg {
  transform: translateX(4px)
}

.svc_det .scallop_div {
  width: 100%;
  height: 32px;
  background: #0d0d1a;
  position: relative;
  overflow: hidden
}

.svc_det .scallop_div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #141430;
  border-radius: 0 0 0 0
}

.svc_det .scallop_div svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.svc_det .desc_sec {
  background: #141430;
  padding: 64px 32px;
  position: relative
}

.svc_det .halftone_bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 340px;
  height: 340px;
  pointer-events: none;
  background-image: radial-gradient(circle, #03229D55 1.5px, transparent 1.5px);
  background-size: 16px 16px;
  mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000 0%, transparent 70%);
  z-index: 0
}

.svc_det .desc_inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 64px;
  align-items: start
}

.svc_det .desc_aside {
  position: sticky;
  top: 32px
}

.svc_det .brace_block {
  border: 2px solid #03229D66;
  border-radius: 12px;
  padding: 32px;
  background: #0d0d1a;
  box-shadow: -1px 5px 18px 1px #03229d17;
  position: relative
}

.svc_det .brace_block::before,
.svc_det .brace_block::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 40px;
  border: 3px solid #FD009F;
  pointer-events: none
}

.svc_det .brace_block::before {
  top: -3px;
  left: -3px;
  border-right: none;
  border-bottom: none;
  border-radius: 4px 0 0 0
}

.svc_det .brace_block::after {
  bottom: -3px;
  right: -3px;
  border-left: none;
  border-top: none;
  border-radius: 0 0 4px 0
}

.svc_det .icon_legend {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px
}

.svc_det .leg_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.svc_det .leg_icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.svc_det .leg_icon.pink {
  background: #FD009F22;
  border: 1px solid #FD009F55;
  color: #FD009F
}

.svc_det .leg_icon.blue {
  background: #03229D33;
  border: 1px solid #03229D77;
  color: #7090ff
}

.svc_det .leg_icon.light {
  background: #FEFFF711;
  border: 1px solid #FEFFF733;
  color: #FEFFF7cc
}

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

.svc_det .leg_label {
  font-size: 16px;
  font-weight: 600;
  color: #FEFFF7;
  line-height: 1.35
}

.svc_det .leg_desc {
  font-size: 16px;
  color: #FEFFF799;
  line-height: 1.55
}

.svc_det .aside_h4 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 16px;
  background: linear-gradient(128deg, #e8e4f0 0%, #9ab0e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .desc_body {
  font-size: 19px;
  line-height: 1.8;
  color: #FEFFF7cc
}

.svc_det .desc_body p {
  margin: 0 0 16px
}

.svc_det .desc_body h2 {
  font-size: 30px;
  line-height: 1.35;
  margin: 32px 0 16px;
  background: linear-gradient(128deg, #e8e4f0 0%, #9ab0e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .desc_body ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none
}

.svc_det .desc_body ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 0;
  color: #FEFFF7cc;
  font-size: 19px;
  line-height: 1.55
}

.svc_det .desc_body ul li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FD009F;
  margin-top: 8px;
  flex-shrink: 0
}

.svc_det .desc_body cite {
  font-style: italic;
  color: #FD009Fcc;
  border-left: 3px solid #FD009F;
  border-bottom: 1px solid #FD009F44;
  padding: 8px 16px;
  display: block;
  margin: 16px 0;
  border-radius: 0 4px 4px 0;
  background: #FD009F0a
}

.svc_det .desc_body abbr {
  text-decoration: underline dotted #FD009F;
  cursor: help
}

.svc_det .desc_body dl {
  margin: 0 0 16px
}

.svc_det .desc_body dt {
  font-size: 19px;
  font-weight: 700;
  color: #FEFFF7;
  margin-bottom: 4px
}

.svc_det .desc_body dd {
  margin: 0 0 16px 16px;
  color: #FEFFF7aa
}

.svc_det .desc_body details {
  border: 1px solid #03229D55;
  border-radius: 6px;
  padding: 8px 16px;
  margin-bottom: 16px;
  background: #0d0d1a
}

.svc_det .desc_body summary {
  cursor: pointer;
  font-size: 19px;
  color: #FEFFF7;
  padding: 4px 0;
  outline: none;
  list-style: none
}

.svc_det .desc_body summary:focus-visible {
  outline: 2px solid #FD009F;
  outline-offset: 2px;
  border-radius: 4px
}

.svc_det .desc_body em {
  color: #FD009F;
  font-style: normal
}

.svc_det .desc_body span.acc {
  color: #03229D
}

.svc_det .scallop2 {
  width: 100%;
  height: 28px;
  background: #141430;
  position: relative;
  overflow: hidden
}

.svc_det .scallop2 svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.svc_det .prog_sec {
  background: #0d0d1a;
  padding: 64px 32px;
  position: relative
}

.svc_det .prog_inner {
  max-width: 1100px;
  margin: 0 auto
}

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

.svc_det .prog_h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0;
  background: linear-gradient(128deg, #e8e4f0 0%, #b8c8f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .prog_note {
  font-size: 16px;
  color: #FEFFF766;
  text-align: right;
  max-width: 280px;
  line-height: 1.55
}

.svc_det .prog_grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 16px
}

.svc_det .prog_body {
  font-size: 19px;
  line-height: 1.8;
  color: #FEFFF7cc
}

.svc_det .prog_body p {
  margin: 0 0 16px
}

.svc_det .prog_body h2 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 8px;
  background: linear-gradient(128deg, #e8e4f0 0%, #9ab0e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .prog_body ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none
}

.svc_det .prog_body ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 0;
  color: #FEFFF7cc;
  font-size: 19px;
  line-height: 1.55
}

.svc_det .prog_body ul li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #03229D;
  margin-top: 8px;
  flex-shrink: 0
}

.svc_det .prog_body cite {
  font-style: italic;
  color: #7090ff;
  display: block;
  margin: 8px 0 16px;
  padding: 8px 16px;
  border-left: 3px solid #03229D;
  border-bottom: 1px solid #03229D44;
  background: #03229D0a;
  border-radius: 0 4px 4px 0
}

.svc_det .prog_body em {
  color: #FD009F;
  font-style: normal
}

.svc_det .prog_body figure {
  margin: 16px 0
}

.svc_det .prog_body figcaption {
  font-size: 16px;
  color: #FEFFF766;
  margin-top: 8px;
  line-height: 1.55
}

.svc_det .prog_card {
  background: #12122a;
  border: 1px solid #03229D44;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 5px 18px 1px #03229d0d;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc_det .prog_card:hover {
  border-color: #FD009F55;
  box-shadow: -1px 10px 44px 1px #fd009f17
}

.svc_det .prog_card.wide {
  grid-column: span 1
}

.svc_det .prog_num {
  font-size: 58px;
  line-height: 1.1;
  color: #FD009F22;
  font-weight: 700;
  margin-bottom: 8px;
  display: block
}

.svc_det .prog_card_h {
  font-size: 19px;
  line-height: 1.35;
  color: #FEFFF7;
  margin: 0 0 8px
}

.svc_det .prog_card_p {
  font-size: 16px;
  line-height: 1.55;
  color: #FEFFF799;
  margin: 0
}

.svc_det .scallop3 {
  width: 100%;
  height: 28px;
  background: #0d0d1a;
  position: relative;
  overflow: hidden
}

.svc_det .scallop3 svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.svc_det .cta_sec {
  background: #12122a;
  padding: 64px 32px;
  position: relative
}

.svc_det .cta_inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start
}

.svc_det .cta_txt_h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0 0 16px;
  background: linear-gradient(128deg, #e8e4f0 0%, #b8c8f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .cta_txt_p {
  font-size: 19px;
  line-height: 1.55;
  color: #FEFFF7bb;
  margin: 0 0 32px
}

.svc_det .cta_form {
  background: #0d0d1a;
  border: 1px solid #FD009F33;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 10px 44px 1px #fd009f17 inset 0 1px 0 #FD009F11
}

.svc_det .form_h4 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 16px;
  background: linear-gradient(128deg, #e8e4f0 0%, #9ab0e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.svc_det .f_field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px
}

.svc_det .f_label {
  font-size: 16px;
  color: #FEFFF799;
  letter-spacing: .06em;
  text-transform: uppercase
}

.svc_det .f_input {
  background: #141430;
  border: 1px solid #03229D55;
  border-radius: 6px;
  color: #FEFFF7;
  font-size: 16px;
  padding: 12px 16px;
  outline: none;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc_det .f_input::placeholder {
  color: #FEFFF744;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 16px
}

.svc_det .f_input:focus {
  border-color: #FD009F88;
  box-shadow: -1px 5px 18px 1px #fd009f17
}

.svc_det .f_textarea {
  background: #141430;
  border: 1px solid #03229D55;
  border-radius: 6px;
  color: #FEFFF7;
  font-size: 16px;
  padding: 12px 16px;
  outline: none;
  resize: vertical;
  min-height: 96px;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.svc_det .f_textarea::placeholder {
  color: #FEFFF744;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 16px
}

.svc_det .f_textarea:focus {
  border-color: #FD009F88;
  box-shadow: -1px 5px 18px 1px #fd009f17
}

.svc_det .f_submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #FD009F;
  color: #FEFFF7;
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  padding: 16px 32px;
  cursor: pointer;
  width: 100%;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s ease-in-out;
  box-shadow: -1px 5px 18px 1px #fd009f21;
  position: relative
}

.svc_det .f_submit:hover {
  background: #c8007e;
  box-shadow: -1px 10px 44px 1px #fd009f38
}

.svc_det .f_submit:focus {
  outline: 2px solid #FD009F;
  outline-offset: 3px
}

.svc_det .spin_wrap {
  display: none;
  width: 18px;
  height: 18px
}

.svc_det .f_submit.loading .btn_txt {
  display: none
}

.svc_det .f_submit.loading .spin_wrap {
  display: block
}

.svc_det .spin_wrap svg {
  animation: spin .7s linear infinite
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

.svc_det .info_strip {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 32px;
  flex-wrap: wrap
}

.svc_det .inf_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #FEFFF799
}

.svc_det .inf_item i {
  color: #FD009F;
  font-size: 16px
}

@media (max-width: 960px) {
  .svc_det .ttl_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .svc_det .ttl_h1 {
    font-size: 42px
  }

  .svc_det .img_frame {
    display: none
  }

  .svc_det .desc_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .svc_det .desc_aside {
    position: static
  }

  .svc_det .prog_grid {
    grid-template-columns: 1fr 1fr
  }

  .svc_det .prog_hdr {
    flex-direction: column;
    align-items: flex-start
  }

  .svc_det .prog_note {
    text-align: left;
    max-width: 100%
  }

  .svc_det .cta_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }
}

@media (max-width: 480px) {
  .svc_det .ttl_blk {
    padding: 32px 16px 64px
  }

  .svc_det .ttl_h1 {
    font-size: 30px
  }

  .svc_det .desc_sec,
  .svc_det .prog_sec,
  .svc_det .cta_sec {
    padding: 32px 16px
  }

  .svc_det .prog_grid {
    grid-template-columns: 1fr
  }

  .svc_det .price_card {
    padding: 16px
  }

  .svc_det .brace_block {
    padding: 16px
  }

  .svc_det .cta_form {
    padding: 16px
  }

  .svc_det .info_strip {
    flex-direction: column;
    gap: 8px
  }
}

.cl-res {
  background: #0d0d1a;
  color: #FEFFF7;
  overflow-x: clip;
  position: relative
}

.cl-res .pg-schema {
  display: none
}

.cl-res .grad-text {
  background: linear-gradient(112deg, #f7c8e8 0%, #c8d4f7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.cl-res .drop-anim span {
  display: inline-block;
  opacity: 0;
  transform: translateY(-32px);
  animation: letter-drop .55s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

@keyframes letter-drop {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.cl-res .drop-anim span:nth-child(1) {
  animation-delay: .05s
}

.cl-res .drop-anim span:nth-child(2) {
  animation-delay: .1s
}

.cl-res .drop-anim span:nth-child(3) {
  animation-delay: .15s
}

.cl-res .drop-anim span:nth-child(4) {
  animation-delay: .2s
}

.cl-res .drop-anim span:nth-child(5) {
  animation-delay: .25s
}

.cl-res .drop-anim span:nth-child(6) {
  animation-delay: .3s
}

.cl-res .drop-anim span:nth-child(7) {
  animation-delay: .35s
}

.cl-res .drop-anim span:nth-child(8) {
  animation-delay: .4s
}

.cl-res .drop-anim span:nth-child(9) {
  animation-delay: .45s
}

.cl-res .drop-anim span:nth-child(10) {
  animation-delay: .5s
}

.cl-res .drop-anim span:nth-child(11) {
  animation-delay: .55s
}

.cl-res .drop-anim span:nth-child(12) {
  animation-delay: .6s
}

.cl-res .drop-anim span:nth-child(13) {
  animation-delay: .65s
}

.cl-res .drop-anim span:nth-child(14) {
  animation-delay: .7s
}

.cl-res .drop-anim span:nth-child(15) {
  animation-delay: .75s
}

.cl-res .drop-anim span:nth-child(16) {
  animation-delay: .8s
}

.cl-res .title-blk {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 32px 32px;
  display: grid;
  grid-template-rows: auto auto;
  gap: 32px
}

.cl-res .title-img-zone {
  position: relative;
  width: 100%;
  max-height: 420px;
  border-radius: 12px;
  overflow: hidden
}

.cl-res .title-img-zone img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.75) saturate(0.85) hue-rotate(0deg);
  transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.cl-res .title-img-zone:hover img {
  filter: brightness(0.85) saturate(0.95)
}

.cl-res .title-img-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #fd009f2e 0%, #03229d52 100%);
  border-radius: 12px;
  pointer-events: none
}

.cl-res .title-shape-a {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 160px;
  height: 160px;
  border: 2px solid #fd009f2e;
  border-radius: 20px;
  pointer-events: none;
  transform: rotate(14deg)
}

.cl-res .title-shape-b {
  position: absolute;
  bottom: 16px;
  left: -8px;
  width: 80px;
  height: 80px;
  border: 2px solid #03229d47;
  border-radius: 12px;
  pointer-events: none;
  transform: rotate(-8deg)
}

.cl-res .title-txt-zone {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: end
}

.cl-res .title-copy h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: .01em;
  margin: 0 0 16px
}

.cl-res .title-copy p {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7c7;
  margin: 0;
  max-width: 560px
}

.cl-res .title-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end
}

.cl-res .act-lnk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #FEFFF7;
  text-decoration: none;
  border: 1px solid #fd009f80;
  border-radius: 6px;
  padding: 8px 16px;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1), color .45s ease-in-out;
  white-space: nowrap
}

.cl-res .act-lnk:hover {
  border-color: #FD009F;
  background: #fd009f1f;
  color: #fff
}

.cl-res .act-lnk:active {
  background: #FEFFF7;
  color: #0d0d1a
}

.cl-res .act-lnk svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0
}

.cl-res .act-lnk.secondary {
  border-color: #03229d80;
  color: #fefff7d1
}

.cl-res .act-lnk.secondary:hover {
  border-color: #03229D;
  background: #03229d26;
  color: #FEFFF7
}

.cl-res .wave-divider-a {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 48px
}

.cl-res .wave-divider-a svg {
  display: block;
  width: 100%;
  height: 48px
}

.cl-res .res-strip {
  background: #0a0918;
  position: relative;
  padding: 64px 0 32px
}

.cl-res .res-strip-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 2px 1fr;
  gap: 0
}

.cl-res .res-divider-vert {
  background: linear-gradient(180deg, transparent 0%, #fd009f80 40%, #03229d80 80%, transparent 100%);
  border-radius: 2px;
  align-self: stretch
}

.cl-res .res-left {
  padding: 0 32px 0 0
}

.cl-res .res-right {
  padding: 0 0 0 32px
}

.cl-res .res-abbr {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 900;
  color: #fd009f12;
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: none;
  user-select: none;
  margin: 0 0 -32px;
  display: block
}

.cl-res .res-left h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0 0 16px
}

.cl-res .res-left p {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7c7;
  margin: 0 0 16px
}

.cl-res .res-left p:last-of-type {
  margin-bottom: 0
}

.cl-res .metric-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 32px
}

.cl-res .metric-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid #fd009f33;
  border-radius: 12px;
  background: #fd009f0a;
  box-shadow: -1px 5px 18px 1px #fd009f17;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cl-res .metric-item:hover {
  border-color: #fd009f80;
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.cl-res .metric-item:active {
  background: #fefff714
}

.cl-res .metric-icon-box {
  width: 40px;
  height: 40px;
  border: 1px solid #fd009f66;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: inset 0 0 12px #fd009f1f
}

.cl-res .metric-icon-box svg {
  width: 20px;
  height: 20px;
  stroke: #FD009F;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.cl-res .metric-label {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff7b8;
  flex: 1
}

.cl-res .metric-val {
  font-size: 23px;
  line-height: 1.1;
  font-weight: 700;
  color: #FD009F;
  text-align: right;
  flex-shrink: 0
}

.cl-res .res-right h3 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 16px
}

.cl-res .feedback-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cl-res .feedback-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: 16px;
  border: 1px solid #03229d4d;
  border-radius: 12px;
  background: #03229d12;
  box-shadow: -1px 1px 5px 1px #03229d0d;
  transition: border-color .6s ease-in-out, transform .5s cubic-bezier(0.22, 1, 0.36, 1);
  counter-increment: feedback-ctr
}

.cl-res .feedback-item:hover {
  border-color: #03229db3;
  transform: translateX(4px)
}

.cl-res .feedback-num {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 900;
  color: #03229d59;
  text-align: right;
  align-self: start;
  min-width: 32px
}

.cl-res .feedback-body {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cl-res .feedback-author {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #FEFFF7
}

.cl-res .feedback-role {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff78c
}

.cl-res .feedback-quote {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7d1;
  margin: 0
}

.cl-res .feedback-accent {
  color: #03229D;
  font-weight: 600
}

.cl-res .wave-divider-b {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 56px
}

.cl-res .wave-divider-b svg {
  display: block;
  width: 100%;
  height: 56px
}

.cl-res .expert-blk {
  position: relative;
  padding: 32px 0 64px;
  background: linear-gradient(170deg, #0d0d1a 0%, #0f0a22 60%, #0d0d1a 100%)
}

.cl-res .expert-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 64px;
  align-items: start
}

.cl-res .expert-portrait-wrap {
  position: relative
}

.cl-res .expert-portrait-frame {
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 7/9;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  border: 1px solid #fd009f40
}

.cl-res .expert-portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  filter: brightness(0.9) saturate(0.82)
}

.cl-res .expert-deco-rect {
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 100px;
  height: 100px;
  border: 2px solid #03229d59;
  border-radius: 12px;
  pointer-events: none
}

.cl-res .expert-deco-dot {
  position: absolute;
  top: 16px;
  left: -8px;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #fd009f2e;
  pointer-events: none;
  box-shadow: inset 0 0 8px #fd009f38
}

.cl-res .expert-copy {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 16px
}

.cl-res .expert-copy h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0
}

.cl-res .expert-copy p {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7c7;
  margin: 0
}

.cl-res .expert-name-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 3px solid #FD009F;
  border-bottom: 1px solid #fd009f33;
  border-radius: 2px;
  padding: 8px 16px;
  background: #fd009f0d
}

.cl-res .expert-name {
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  color: #FEFFF7
}

.cl-res .expert-title-txt {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff799
}

.cl-res .detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.cl-res .detail-cell {
  padding: 16px;
  border: 1px solid #03229d47;
  border-radius: 12px;
  background: #03229d0f;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: -1px 5px 18px 1px #03229d17;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cl-res .detail-cell:hover {
  border-color: #03229d99
}

.cl-res .detail-cell:active {
  background: #fefff70f
}

.cl-res .detail-icon-wrap {
  width: 36px;
  height: 36px;
  border: 1px solid #03229d80;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 10px #03229d2e
}

.cl-res .detail-icon-wrap svg {
  width: 18px;
  height: 18px;
  stroke: #6ea0ff;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.cl-res .detail-label {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #FEFFF7
}

.cl-res .detail-desc {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7ad;
  margin: 0
}

.cl-res .expert-cta-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center
}

.cl-res .cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #0d0d1a;
  background: #FD009F;
  border: none;
  border-radius: 6px;
  padding: 8px 32px;
  text-decoration: none;
  font-weight: 700;
  box-shadow: -1px 5px 18px 1px #fd009f17;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), color .45s ease-in-out
}

.cl-res .cta-primary:hover {
  background: #e0008c;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  color: #fff
}

.cl-res .cta-primary:active {
  background: #FEFFF7;
  color: #FD009F
}

.cl-res .cta-primary svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.cl-res .cta-sec-lnk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #fefff7b3;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cl-res .cta-sec-lnk:hover {
  color: #FEFFF7
}

.cl-res .cta-sec-lnk svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

@media (max-width: 960px) {
  .cl-res .title-copy h1 {
    font-size: 42px
  }

  .cl-res .title-txt-zone {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .cl-res .title-actions {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap
  }

  .cl-res .res-strip-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .cl-res .res-divider-vert {
    display: none
  }

  .cl-res .res-left {
    padding: 0
  }

  .cl-res .res-right {
    padding: 0
  }

  .cl-res .expert-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .cl-res .expert-portrait-wrap {
    max-width: 280px
  }
}

@media (max-width: 480px) {
  .cl-res .title-blk {
    padding: 32px 16px 16px
  }

  .cl-res .title-copy h1 {
    font-size: 30px
  }

  .cl-res .title-img-zone {
    max-height: 220px
  }

  .cl-res .title-img-zone img {
    height: 220px
  }

  .cl-res .title-shape-a,
  .cl-res .title-shape-b {
    display: none
  }

  .cl-res .res-strip {
    padding: 32px 0 16px
  }

  .cl-res .res-strip-inner {
    padding: 0 16px
  }

  .cl-res .res-left h2 {
    font-size: 30px
  }

  .cl-res .res-abbr {
    font-size: 42px;
    margin-bottom: -16px
  }

  .cl-res .expert-blk {
    padding: 16px 0 32px
  }

  .cl-res .expert-inner {
    padding: 0 16px;
    gap: 16px
  }

  .cl-res .expert-copy h2 {
    font-size: 30px
  }

  .cl-res .detail-grid {
    grid-template-columns: 1fr
  }

  .cl-res .expert-cta-row {
    flex-direction: column;
    align-items: flex-start
  }

  .cl-res .title-blk {
    gap: 16px
  }

  .cl-res .expert-portrait-wrap {
    max-width: 200px
  }
}

.prm {
  background: #0d0d1a;
  color: #FEFFF7;
  overflow-x: hidden
}

.prm .ttl_blk {
  position: relative;
  padding: 64px 0;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
  max-width: 1100px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px
}

.prm .ttl_edge {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #FD009F 0%, #03229D 100%);
  border-radius: 2px
}

.prm .ttl_left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 8px
}

.prm .ttl_eyebrow {
  font-size: 16px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD009F;
  margin-bottom: 16px;
  line-height: 1.35
}

.prm .ttl_h1 {
  font-size: 58px;
  line-height: 1.1;
  margin: 0 0 32px;
  background: linear-gradient(120deg, #e8d5f0 0%, #b8c8f5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.prm .ttl_sub {
  font-size: 19px;
  line-height: 1.55;
  color: #c8cfe8;
  max-width: 360px;
  margin: 0
}

.prm .ttl_img_wrap {
  position: relative;
  border-radius: 4px;
  overflow: hidden
}

.prm .ttl_img_wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .ttl_img_wrap:hover img {
  transform: scale(1.04)
}

.prm .ttl_blur_layer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(0deg, #0d0d1ad9 0%, transparent 100%);
  pointer-events: none
}

.prm .ttl_img_caption {
  position: absolute;
  bottom: 16px;
  left: 16px;
  font-size: 16px;
  color: #FEFFF7;
  line-height: 1.35
}

.prm .divider_zz {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.prm .wave_sec {
  position: relative;
  padding: 64px 32px;
  background: #0a0c1f
}

.prm .wave_anim {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 0
}

.prm .wave_anim::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 300%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #fd009f0a 30%, #03229d0f 60%, transparent 100%);
  animation: wave_pass 7s ease-in-out infinite
}

@keyframes wave_pass {
  0% {
    transform: translateX(0)
  }

  50% {
    transform: translateX(33%)
  }

  100% {
    transform: translateX(0)
  }
}

.prm .wave_inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start
}

.prm .wave_label {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #FD009F;
  margin-bottom: 16px;
  line-height: 1.35
}

.prm .wave_h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0 0 16px;
  background: linear-gradient(110deg, #d4c8f0 0%, #a8b8f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.prm .wave_aside {
  padding-top: 8px
}

.prm .wave_aside p {
  font-size: 19px;
  line-height: 1.55;
  color: #c0c8e0;
  margin: 0 0 16px
}

.prm .commit_list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.prm .commit_list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid #fd009f2e;
  border-radius: 6px;
  background: #03229d14;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .commit_list li:hover {
  border-color: #fd009f73;
  background: #03229d29
}

.prm .commit_num {
  font-size: 30px;
  line-height: 1.1;
  color: #fd009f59;
  min-width: 40px;
  text-align: right;
  font-weight: 700
}

.prm .commit_txt h4 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 8px;
  color: #FEFFF7
}

.prm .commit_txt p {
  font-size: 16px;
  line-height: 1.55;
  color: #9aa0bc;
  margin: 0
}

.prm .bar_wrap {
  margin-top: 32px;
  padding: 16px;
  border-radius: 6px;
  background: #fd009f0f;
  border: 1px solid #fd009f26
}

.prm .bar_labels {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 16px;
  color: #8890b0;
  margin-bottom: 8px
}

.prm .bar_track {
  height: 8px;
  background: #fefff71a;
  border-radius: 4px;
  overflow: hidden
}

.prm .bar_fill {
  height: 100%;
  width: 68%;
  background: linear-gradient(90deg, #03229D 0%, #FD009F 100%);
  border-radius: 4px;
  position: relative
}

.prm .bar_marker {
  position: absolute;
  right: 0;
  top: -4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FD009F;
  box-shadow: -1px 5px 18px 1px #fd009f17
}

.prm .bar_note {
  font-size: 16px;
  color: #8890b0;
  margin-top: 8px;
  text-align: center
}

.prm .divider_plain {
  height: 1px;
  background: linear-gradient(90deg, transparent, #fd009f4d, transparent);
  max-width: 1100px;
  margin: 0 auto
}

.prm .sit_sec {
  padding: 64px 32px;
  background: #0d0d1a;
  position: relative
}

.prm .sit_geo {
  position: absolute;
  right: -64px;
  top: 32px;
  width: 320px;
  height: 320px;
  border-radius: 4px;
  background: linear-gradient(135deg, #03229d1f 0%, #fd009f14 100%);
  transform: rotate(18deg);
  pointer-events: none
}

.prm .sit_inner {
  max-width: 1100px;
  margin: 0 auto
}

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

.prm .sit_h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0;
  background: linear-gradient(115deg, #e0d0f5 0%, #b0c0f8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.prm .sit_intro {
  font-size: 19px;
  line-height: 1.55;
  color: #9aa0bc;
  max-width: 380px;
  margin: 0
}

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

.prm .sit_card {
  position: relative;
  padding: 32px 16px 16px;
  border-radius: 6px;
  border: 1px solid #03229d4d;
  background: #10122a;
  overflow: hidden;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .sit_card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fd009f00;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  border-radius: 6px
}

.prm .sit_card:hover {
  border-color: #fd009f80
}

.prm .sit_card:hover::after {
  background: #fd009f0a
}

.prm .sit_reveal {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #03229D, #FD009F);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 2px
}

.prm .sit_card:hover .sit_reveal {
  transform: scaleX(1)
}

.prm .sit_icon {
  width: 32px;
  height: 32px;
  margin-bottom: 16px;
  color: #FD009F
}

.prm .sit_card h4 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 8px;
  color: #FEFFF7
}

.prm .sit_card p {
  font-size: 16px;
  line-height: 1.55;
  color: #8890b0;
  margin: 0
}

.prm .sit_img_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px
}

.prm .sit_img_box {
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

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

.prm .sit_img_box:hover img {
  transform: scale(1.06)
}

.prm .divider_zz2 {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.prm .team_sec {
  padding: 64px 32px;
  background: #080a18;
  position: relative
}

.prm .team_bg_img {
  position: absolute;
  inset: 0;
  background-image: url(./infographic_assets/best-cover-cover.jpg);
  background-size: cover;
  background-position: center;
  opacity: .08;
  pointer-events: none
}

.prm .team_overlay {
  position: absolute;
  inset: 0;
  background: #080a18d1;
  pointer-events: none
}

.prm .team_inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start
}

.prm .team_portrait_box {
  position: relative
}

.prm .team_portrait_box img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top;
  display: block;
  border-radius: 2px;
  transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.prm .team_portrait_box:hover img {
  box-shadow: -1px 10px 44px 1px #fd009f38
}

.prm .team_name_tag {
  margin-top: 16px;
  padding: 8px 16px;
  background: #03229d40;
  border-radius: 4px;
  border-left: 3px solid #FD009F;
  border-top: 1px solid #fd009f33
}

.prm .team_name_tag h5 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 4px;
  color: #FEFFF7
}

.prm .team_name_tag span {
  font-size: 16px;
  color: #8890b0
}

.prm .team_right h2 {
  font-size: 42px;
  line-height: 1.1;
  margin: 0 0 16px;
  background: linear-gradient(118deg, #dccff5 0%, #aabcf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.prm .team_right p {
  font-size: 19px;
  line-height: 1.55;
  color: #b0b8d0;
  margin: 0 0 16px
}

.prm .team_metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 32px 0
}

.prm .met_item {
  padding: 16px;
  border-radius: 6px;
  border: 1px solid #fd009f26;
  background: #03229d1a;
  text-align: center
}

.prm .met_item strong {
  display: block;
  font-size: 42px;
  line-height: 1.1;
  color: #FD009F;
  margin-bottom: 4px
}

.prm .met_item span {
  font-size: 16px;
  color: #8890b0;
  line-height: 1.35
}

.prm .team_stack {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px
}

.prm .stk_tag {
  font-size: 16px;
  padding: 4px 16px;
  border-radius: 4px;
  background: #03229d33;
  border: 1px solid #03229d66;
  color: #c0c8f0;
  transition: border-color .5s ease-in-out, background .5s ease-in-out
}

.prm .stk_tag:hover {
  border-color: #fd009f80;
  background: #fd009f14;
  color: #FEFFF7
}

.prm .work_sec {
  padding: 64px 32px;
  background: #0d0d1a
}

.prm .work_inner {
  max-width: 1100px;
  margin: 0 auto
}

.prm .work_top {
  margin-bottom: 32px
}

.prm .work_top h2 {
  font-size: 58px;
  line-height: 1.1;
  margin: 0 0 16px;
  background: linear-gradient(112deg, #e5d5f5 0%, #adc0fa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.prm .work_top p {
  font-size: 19px;
  line-height: 1.55;
  color: #9aa0bc;
  max-width: 600px;
  margin: 0
}

.prm .work_split {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: start
}

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

.prm .wstep {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #fefff70f;
  align-items: start;
  transition: background .5s ease-in-out
}

.prm .wstep:hover {
  background: #03229d14
}

.prm .wstep_n {
  font-size: 30px;
  line-height: 1.1;
  color: #fd009f4d;
  text-align: right;
  font-weight: 700
}

.prm .wstep_body h4 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 8px;
  color: #FEFFF7
}

.prm .wstep_body p {
  font-size: 16px;
  line-height: 1.55;
  color: #8890b0;
  margin: 0
}

.prm .work_imgs {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.prm .wimg_box {
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.prm .wimg_box img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1), filter .65s cubic-bezier(0.22, 1, 0.36, 1);
  filter: brightness(0.85)
}

.prm .wimg_box:hover img {
  transform: scale(1.05);
  filter: brightness(1)
}

.prm .wimg_reveal {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #03229d59 0%, #fd009f33 100%);
  opacity: 1;
  transition: opacity .6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  border-radius: 4px
}

.prm .wimg_box:hover .wimg_reveal {
  opacity: 0
}

.prm .sym_pair {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  justify-content: center;
  margin: 32px 0 0
}

.prm .sym_icon {
  color: #fd009f80;
  width: 24px;
  height: 24px;
  flex-shrink: 0
}

.prm .sym_text {
  font-size: 19px;
  line-height: 1.35;
  color: #c0c8e0;
  text-align: center
}

@media (max-width: 960px) {
  .prm .ttl_blk {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .prm .ttl_img_wrap {
    display: none
  }

  .prm .wave_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .prm .sit_grid {
    grid-template-columns: 1fr 1fr
  }

  .prm .sit_img_row {
    grid-template-columns: 1fr
  }

  .prm .team_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .prm .team_portrait_box {
    max-width: 300px
  }

  .prm .work_split {
    grid-template-columns: 1fr
  }

  .prm .work_imgs {
    display: none
  }

  .prm .team_metrics {
    grid-template-columns: 1fr 1fr
  }

  .prm .sit_top {
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 480px) {
  .prm .ttl_h1 {
    font-size: 42px
  }

  .prm .wave_h2 {
    font-size: 30px
  }

  .prm .sit_h2 {
    font-size: 30px
  }

  .prm .team_right h2 {
    font-size: 30px
  }

  .prm .work_top h2 {
    font-size: 42px
  }

  .prm .sit_grid {
    grid-template-columns: 1fr
  }

  .prm .team_metrics {
    grid-template-columns: 1fr
  }

  .prm .ttl_blk {
    padding-left: 16px;
    padding-right: 16px
  }

  .prm .wave_sec {
    padding: 32px 16px
  }

  .prm .sit_sec {
    padding: 32px 16px
  }

  .prm .team_sec {
    padding: 32px 16px
  }

  .prm .work_sec {
    padding: 32px 16px
  }
}

.abt-us {
  background: #0d0d1a;
  color: #FEFFF7;
  overflow-x: hidden;
  position: relative
}

.abt-us .split-screen {
  display: grid;
  grid-template-columns: 5fr 7fr;
  min-height: 92vh;
  position: relative
}

.abt-us .split-left {
  background: #03229D;
  padding: 64px 32px 64px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden
}

.abt-us .split-left::before {
  content: '';
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid #fd009f2e;
  top: -80px;
  left: -80px;
  pointer-events: none
}

.abt-us .split-left::after {
  content: '';
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 1px solid #fefff71a;
  bottom: 64px;
  right: -40px;
  pointer-events: none
}

.abt-us .split-deco-circle {
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  border: 1px solid #fd009f1f;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none
}

.abt-us .pill-label {
  display: inline-block;
  background: #fd009f26;
  border: 1px solid #fd009f66;
  border-radius: 20px;
  padding: 4px 16px;
  font-size: 16px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD009F;
  margin-bottom: 32px;
  width: fit-content
}

.abt-us .split-heading {
  font-size: 58px;
  line-height: 1.1;
  font-weight: 800;
  background: linear-gradient(135deg, #d4e0ff 0%, #f5c8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 32px;
  clip-path: inset(0 100% 0 0);
  animation: wipe-reveal .7s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards
}

@keyframes wipe-reveal {
  to {
    clip-path: inset(0 0% 0 0)
  }
}

.abt-us .split-sub {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7c7;
  max-width: 340px;
  margin-bottom: 32px
}

.abt-us .split-sub span {
  color: #FD009F
}

.abt-us .founded-tag {
  font-size: 16px;
  color: #fefff773;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 16px
}

.abt-us .split-right {
  background: #0d0d1a;
  padding: 64px 64px 64px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative
}

.abt-us .img-dbl-exp {
  width: 100%;
  max-width: 480px;
  height: 420px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  margin-bottom: 32px
}

.abt-us .img-dbl-exp img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.72) saturate(1.2);
  transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .img-dbl-exp:hover img {
  filter: brightness(0.95) saturate(1.3)
}

.abt-us .img-dbl-exp::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #03229d61 0%, #fd009f2e 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
  border-radius: 12px
}

.abt-us .right-desc {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7b8;
  max-width: 440px
}

.abt-us .right-desc strong {
  color: #FEFFF7
}

.abt-us .dash-divider {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 32px 64px;
  overflow: hidden
}

.abt-us .dash-divider span {
  display: inline-block;
  height: 2px;
  background: #fefff71f;
  flex-shrink: 0
}

.abt-us .dash-divider span.dot {
  width: 4px;
  border-radius: 50%;
  background: #fd009f59
}

.abt-us .dash-divider span.dash {
  width: 16px;
  border-radius: 2px
}

.abt-us .dash-divider span.long {
  width: 8px;
  border-radius: 2px
}

.abt-us .team-expertise {
  background: #111128;
  padding: 64px;
  position: relative
}

.abt-us .team-expertise::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(60deg, #fefff706 1px, transparent 1px), linear-gradient(120deg, #fefff706 1px, transparent 1px), linear-gradient(180deg, #fefff705 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px, 40px 40px;
  pointer-events: none
}

.abt-us .te-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  max-width: 1100px;
  margin: 0 auto;
  position: relative
}

.abt-us .te-left {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abt-us .te-heading {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  background: linear-gradient(135deg, #c8d8ff 0%, #f0c4e4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.abt-us .te-para {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7b8
}

.abt-us .te-para span {
  color: #03229D;
  background: #03229d26;
  padding: 0 4px;
  border-radius: 2px
}

.abt-us .skills-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px
}

.abt-us .skill-row {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt-us .skill-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  color: #fefff799
}

.abt-us .skill-meta strong {
  color: #FEFFF7;
  font-size: 16px
}

.abt-us .skill-track {
  height: 4px;
  background: #fefff71a;
  border-radius: 2px;
  overflow: hidden
}

.abt-us .skill-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #03229D 0%, #FD009F 100%);
  width: 0;
  animation: fill-bar .7s cubic-bezier(0.22, 1, 0.36, 1) .3s forwards
}

.abt-us .skill-fill.pct-88 {
  --target: 88%
}

.abt-us .skill-fill.pct-76 {
  --target: 76%
}

.abt-us .skill-fill.pct-91 {
  --target: 91%
}

.abt-us .skill-fill.pct-83 {
  --target: 83%
}

.abt-us .skill-fill.pct-69 {
  --target: 69%
}

@keyframes fill-bar {
  to {
    width: var(--target)
  }
}

.abt-us .te-right {
  display: flex;
  flex-direction: column;
  gap: 32px
}

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

.abt-us .person-card {
  background: #fefff70a;
  border: 1px solid #fefff717;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 1px 5px 1px #03229d0d
}

.abt-us .person-card:hover {
  border-color: #fd009f59;
  box-shadow: -1px 5px 18px 1px #fd009f17
}

.abt-us .portrait-wrap {
  width: 64px;
  min-width: 64px;
  height: 90px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0
}

.abt-us .portrait-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  filter: brightness(0.82);
  transition: filter .55s ease-in-out
}

.abt-us .person-card:hover .portrait-wrap img {
  filter: brightness(1)
}

.abt-us .person-info {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt-us .person-name {
  font-size: 19px;
  font-weight: 700;
  color: #FEFFF7;
  line-height: 1.35
}

.abt-us .person-role {
  font-size: 16px;
  color: #FD009F;
  text-transform: uppercase;
  letter-spacing: .1em
}

.abt-us .person-bio {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff79e;
  margin-top: 4px
}

.abt-us .no-portrait-card {
  background: #fefff70a;
  border: 1px solid #fefff717;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .no-portrait-card:hover {
  border-color: #03229d80
}

.abt-us .avatar-placeholder {
  width: 64px;
  min-width: 64px;
  height: 90px;
  border-radius: 6px;
  background: #03229d40;
  border: 1px solid #03229d66;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.abt-us .avatar-placeholder svg {
  opacity: .5
}

.abt-us .results-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 19px;
  color: #FD009F;
  text-decoration: none;
  border-bottom: 1px solid #fd009f4d;
  padding-bottom: 4px;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
  width: fit-content
}

.abt-us .results-link:hover {
  border-color: #FD009F;
  color: #FEFFF7
}

.abt-us .results-link svg {
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .results-link:hover svg {
  transform: translateX(4px)
}

.abt-us .matte-block {
  background: #161630;
  border-top: 1px solid #fefff712;
  border-bottom: 1px solid #fefff712;
  padding: 32px 64px;
  max-width: 100%
}

.abt-us .matte-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
  justify-content: space-between
}

.abt-us .matte-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center
}

.abt-us .matte-stat-num {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.1;
  background: linear-gradient(135deg, #c8d8ff 0%, #f0c4e4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.abt-us .matte-stat-label {
  font-size: 16px;
  color: #fefff780;
  text-transform: uppercase;
  letter-spacing: .1em
}

.abt-us .matte-sep {
  width: 1px;
  height: 48px;
  background: #fefff71a;
  flex-shrink: 0
}

.abt-us .contact-strip {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center
}

.abt-us .contact-item {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  font-size: 16px;
  color: #fefff799
}

.abt-us .contact-item a {
  color: #fefff799;
  text-decoration: none;
  transition: color .45s ease-in-out
}

.abt-us .contact-item a:hover {
  color: #FD009F
}

.abt-us .img-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px
}

.abt-us .img-secondary {
  border-radius: 12px;
  overflow: hidden;
  height: 200px;
  box-shadow: -1px 5px 18px 1px #03229d17
}

.abt-us .img-secondary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.7) saturate(1.1);
  transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.abt-us .hidden-reveal {
  background: #fefff70f;
  border-radius: 6px;
  padding: 16px;
  position: relative;
  cursor: pointer;
  outline: none;
  border: 1px solid #fefff71a;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .hidden-reveal:focus {
  border-color: #FD009F
}

.abt-us .reveal-cover {
  position: absolute;
  inset: 0;
  background: #0d0d1aeb;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #fefff780;
  text-transform: uppercase;
  letter-spacing: .1em;
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.abt-us .hidden-reveal:focus .reveal-cover {
  opacity: 0
}

.abt-us .reveal-text {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7b8
}

@media (max-width: 960px) {
  .abt-us .split-screen {
    grid-template-columns: 1fr;
    min-height: unset
  }

  .abt-us .split-left {
    padding: 64px 32px
  }

  .abt-us .split-right {
    padding: 32px;
    display: none
  }

  .abt-us .split-heading {
    font-size: 42px
  }

  .abt-us .te-grid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .abt-us .team-expertise {
    padding: 64px 32px
  }

  .abt-us .matte-inner {
    flex-direction: column;
    gap: 16px
  }

  .abt-us .matte-sep {
    width: 80px;
    height: 1px
  }

  .abt-us .contact-strip {
    flex-direction: column;
    gap: 8px
  }

  .abt-us .dash-divider {
    padding: 32px
  }

  .abt-us .matte-block {
    padding: 32px
  }

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

@media (max-width: 480px) {
  .abt-us .split-left {
    padding: 32px 16px
  }

  .abt-us .split-heading {
    font-size: 30px
  }

  .abt-us .te-heading {
    font-size: 30px
  }

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

  .abt-us .matte-block {
    padding: 32px 16px
  }

  .abt-us .matte-stat-num {
    font-size: 30px
  }

  .abt-us .person-card {
    flex-direction: column
  }
}

.srv_pg {
  background: #0d0d1a;
  color: #FEFFF7;
  overflow-x: clip
}

.srv_pg .grad_text {
  background: linear-gradient(110deg, #f7c8e8 0%, #c8d4f7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.srv_pg .accent_span {
  color: #03229D
}

.srv_pg .pg_lead {
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 32px 32px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 64px
}

.srv_pg .lead_img_col {
  flex: 0 0 320px;
  position: relative
}

.srv_pg .lead_img_wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid #FD009F;
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.srv_pg .lead_img_wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.7) brightness(0.75)
}

.srv_pg .lead_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #03229d73 0%, #fd009f2e 100%);
  border-radius: 12px
}

.srv_pg .lead_img_border_outer {
  position: absolute;
  inset: -6px;
  border: 1px solid #fd009f40;
  border-radius: 12px;
  pointer-events: none
}

.srv_pg .lead_txt_col {
  flex: 1;
  position: relative;
  padding: 16px 0
}

.srv_pg .lead_quote_mark {
  position: absolute;
  top: -16px;
  left: -8px;
  font-size: 160px;
  line-height: 1.1;
  color: #fd009f12;
  pointer-events: none;
  user-select: none;
  font-weight: 900;
  z-index: 0
}

.srv_pg .lead_counter_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  position: relative;
  z-index: 1
}

.srv_pg .lead_counter_num {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: #FD009F;
  letter-spacing: -1px
}

.srv_pg .lead_counter_label {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff78c;
  max-width: 160px
}

.srv_pg .lead_h1 {
  font-size: 58px;
  line-height: 1.1;
  font-weight: 800;
  margin: 0 0 16px;
  position: relative;
  z-index: 1
}

.srv_pg .lead_desc {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7bf;
  max-width: 520px;
  margin: 0 0 32px;
  position: relative;
  z-index: 1
}

.srv_pg .lead_divider {
  width: 100%;
  height: 2px;
  position: relative;
  margin: 32px 0 0
}

.srv_pg .lead_divider::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 68%;
  height: 2px;
  background: linear-gradient(90deg, #FD009F 0%, #03229d66 100%);
  border-radius: 2px
}

.srv_pg .lead_divider::after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 28%;
  height: 2px;
  background: #fefff71a;
  border-radius: 2px
}

.srv_pg .cards_strip {
  background: #0a0b18;
  padding: 64px 0;
  border-top: 1px solid #fd009f1f;
  border-bottom: 1px solid #03229d33
}

.srv_pg .cards_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px
}

.srv_pg .cards_hd {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 32px
}

.srv_pg .cards_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px
}

.srv_pg .svc_card {
  background: #111228;
  border-radius: 12px;
  border: 1px solid #fd009f2e;
  box-shadow: -1px 5px 18px 1px #fd009f17;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .svc_card:hover {
  border-color: #fd009f73;
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.srv_pg .card_img_wrap {
  position: relative;
  height: 200px;
  overflow: hidden
}

.srv_pg .card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .svc_card:hover .card_img_wrap img {
  transform: scale(1.04)
}

.srv_pg .card_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #03229d40 0%, #0d0d1ab8 100%)
}

.srv_pg .card_tag_row {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center
}

.srv_pg .card_tag {
  background: #fd009fd9;
  color: #FEFFF7;
  font-size: 16px;
  line-height: 1.35;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase
}

.srv_pg .card_user_tag {
  background: #03229dd9;
  color: #FEFFF7;
  font-size: 16px;
  line-height: 1.35;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .03em
}

.srv_pg .card_body {
  padding: 24px 24px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.srv_pg .card_title {
  font-size: 23px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0
}

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

.srv_pg .card_title a:hover {
  color: #FD009F
}

.srv_pg .card_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7a6;
  margin: 0
}

.srv_pg .card_footer {
  padding: 16px 24px 24px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  position: relative
}

.srv_pg .card_footer::before {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FD009F 0%, #03229d00 100%);
  border-radius: 0 0 12px 12px
}

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

.srv_pg .card_price {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 800;
  color: #FD009F
}

.srv_pg .card_price_note {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff773
}

.srv_pg .card_seats {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff780;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.srv_pg .seats_dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FD009F;
  box-shadow: 0 0 6px 2px #fd009f66;
  flex-shrink: 0
}

.srv_pg .card_cta_link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  color: #FEFFF7;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  border-bottom: 1px solid #fd009f66;
  padding-bottom: 2px;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .card_cta_link:hover {
  color: #FD009F;
  border-color: #FD009F
}

.srv_pg .card_cta_link svg {
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .card_cta_link:hover svg {
  transform: translateX(4px)
}

.srv_pg .process_strip {
  background: #0d0d1a;
  padding: 64px 0
}

.srv_pg .process_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.srv_pg .process_fixed_col {
  flex: 0 0 340px
}

.srv_pg .process_hd {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 800;
  margin: 0 0 16px
}

.srv_pg .process_sub {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff799;
  margin: 0 0 32px
}

.srv_pg .chart_wrap {
  background: #111228;
  border-radius: 12px;
  border: 1px solid #03229d59;
  padding: 16px;
  box-shadow: -1px 5px 18px 1px #03229d17
}

.srv_pg .chart_label {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff773;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .08em
}

.srv_pg .process_flex_col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.srv_pg .step_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .step_item:hover {
  background: #fd009f0f;
  border-color: #fd009f2e
}

.srv_pg .step_num {
  flex: 0 0 40px;
  height: 40px;
  border-radius: 6px;
  background: #03229d40;
  border: 1px solid #03229d80;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: #FEFFF7;
  flex-shrink: 0
}

.srv_pg .step_txt_block {
  flex: 1
}

.srv_pg .step_title {
  font-size: 19px;
  line-height: 1.35;
  font-weight: 600;
  margin: 0 0 4px
}

.srv_pg .step_desc {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff799;
  margin: 0
}

.srv_pg .icon_cycle_strip {
  background: #080912;
  padding: 64px 0;
  border-top: 1px solid #03229d33;
  border-bottom: 1px solid #fd009f1a
}

.srv_pg .icon_cycle_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px
}

.srv_pg .icon_cycle_hd {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 32px;
  text-align: center
}

.srv_pg .icon_row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap
}

.srv_pg .icon_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 120px
}

.srv_pg .icon_box {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: #111228;
  border: 2px solid #fd009f26;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .6s cubic-bezier(0.22, 1, 0.36, 1), background .6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .icon_box.active_icon {
  border-color: #FD009F;
  background: #fd009f1f;
  box-shadow: -1px 1px 5px 1px #fd009f0d inset 0 0 12px #fd009f26
}

.srv_pg .icon_box i {
  font-size: 22px;
  color: #fefff766;
  transition: color .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .icon_box.active_icon i {
  color: #FD009F
}

.srv_pg .icon_lbl {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff780;
  text-align: center;
  transition: color .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .icon_item:has(.active_icon) .icon_lbl {
  color: #FEFFF7
}

.srv_pg .faq_strip {
  background: #0d0d1a;
  padding: 64px 0
}

.srv_pg .faq_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.srv_pg .faq_hd_col {
  flex: 0 0 280px
}

.srv_pg .faq_hd {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 800;
  margin: 0 0 16px
}

.srv_pg .faq_intro {
  font-size: 16px;
  line-height: 1.55;
  color: #fefff799;
  margin: 0
}

.srv_pg .faq_list_col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.srv_pg .faq_item {
  border-radius: 6px;
  border: 1px solid #fefff714;
  overflow: hidden;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .faq_item:has(.faq_toggle:checked) {
  border-color: #fd009f4d
}

.srv_pg .faq_toggle {
  display: none
}

.srv_pg .faq_q {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  cursor: pointer;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 600;
  color: #FEFFF7;
  gap: 16px;
  user-select: none
}

.srv_pg .faq_icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  position: relative
}

.srv_pg .faq_icon::before,
.srv_pg .faq_icon::after {
  content: '';
  display: block;
  position: absolute;
  background: #FD009F;
  border-radius: 2px;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), opacity .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .faq_icon::before {
  width: 20px;
  height: 2px;
  top: 9px;
  left: 0
}

.srv_pg .faq_icon::after {
  width: 2px;
  height: 20px;
  top: 0;
  left: 9px
}

.srv_pg .faq_toggle:checked~.faq_q .faq_icon::after {
  transform: rotate(90deg);
  opacity: 0
}

.srv_pg .faq_ans {
  max-height: 0;
  overflow: hidden;
  transition: max-height .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srv_pg .faq_toggle:checked~.faq_ans {
  max-height: 300px
}

.srv_pg .faq_ans_inner {
  padding: 0 16px 16px;
  font-size: 16px;
  line-height: 1.55;
  color: #fefff7a6
}

.srv_pg .testimonials_strip {
  background: #0a0b18;
  padding: 64px 0;
  border-top: 1px solid #fd009f1a
}

.srv_pg .test_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px
}

.srv_pg .test_hd {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 32px
}

.srv_pg .test_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.srv_pg .test_card {
  background: #111228;
  border-radius: 12px;
  border: 1px solid #03229d4d;
  padding: 32px;
  box-shadow: -1px 5px 18px 1px #03229d17;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.srv_pg .test_quote {
  font-size: 19px;
  line-height: 1.55;
  color: #fefff7cc;
  margin: 0
}

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

.srv_pg .test_avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 2px solid #fd009f66;
  flex-shrink: 0
}

.srv_pg .test_name {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0
}

.srv_pg .test_role {
  font-size: 16px;
  line-height: 1.35;
  color: #fefff773;
  margin: 0
}

@media (max-width: 960px) {
  .srv_pg .pg_lead {
    flex-direction: column;
    gap: 32px;
    padding: 32px 16px
  }

  .srv_pg .lead_img_col {
    flex: none;
    width: 100%
  }

  .srv_pg .lead_img_wrap img {
    height: 260px
  }

  .srv_pg .lead_h1 {
    font-size: 42px
  }

  .srv_pg .cards_grid {
    grid-template-columns: 1fr
  }

  .srv_pg .process_inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 16px
  }

  .srv_pg .process_fixed_col {
    flex: none;
    width: 100%
  }

  .srv_pg .faq_inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 16px
  }

  .srv_pg .faq_hd_col {
    flex: none;
    width: 100%
  }

  .srv_pg .test_grid {
    grid-template-columns: 1fr
  }

  .srv_pg .cards_inner {
    padding: 0 16px
  }

  .srv_pg .icon_cycle_inner {
    padding: 0 16px
  }

  .srv_pg .test_inner {
    padding: 0 16px
  }
}

@media (max-width: 480px) {
  .srv_pg .lead_h1 {
    font-size: 30px
  }

  .srv_pg .lead_desc {
    font-size: 16px
  }

  .srv_pg .lead_img_col {
    display: none
  }

  .srv_pg .lead_counter_num {
    font-size: 30px
  }

  .srv_pg .process_hd {
    font-size: 30px
  }

  .srv_pg .faq_hd {
    font-size: 30px
  }

  .srv_pg .icon_row {
    gap: 16px
  }

  .srv_pg .icon_item {
    width: 80px
  }
}

.cnt-us {
  background: #0d0d1a;
  color: #FEFFF7;
  overflow-x: clip
}

.cnt-us .pg-open {
  padding: 64px 16px 32px;
  position: relative
}

.cnt-us .pg-open::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 38px, #03229d14 38px, #03229d14 39px), repeating-linear-gradient(90deg, transparent, transparent 38px, #fd009f0d 38px, #fd009f0d 39px);
  pointer-events: none
}

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

.cnt-us .pg-eyebrow {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #FD009F;
  margin-bottom: 16px;
  display: block
}

.cnt-us .pg-heading {
  font-size: 58px;
  line-height: 1.1;
  margin: 0 0 16px;
  max-width: 680px;
  background: linear-gradient(112deg, #e8d5f0 0%, #b8c8f5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.cnt-us .pg-tagline {
  font-size: 19px;
  line-height: 1.55;
  color: #c4c8e8;
  max-width: 520px;
  margin: 0 0 32px
}

.cnt-us .pg-actions {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center
}

.cnt-us .act-link {
  font-size: 16px;
  line-height: 1.35;
  color: #FEFFF7;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid #FD009F;
  padding-bottom: 4px;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .6s ease-in-out
}

.cnt-us .act-link:hover {
  color: #FD009F;
  border-color: #FEFFF7
}

.cnt-us .act-link svg {
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .act-link:hover svg {
  transform: translateX(4px)
}

.cnt-us .pg-circles {
  position: absolute;
  right: 0;
  top: 0;
  width: 340px;
  height: 340px;
  pointer-events: none;
  overflow: hidden
}

.cnt-us .circ-a {
  position: absolute;
  right: -60px;
  top: 20px;
  width: 260px;
  height: 260px;
  border-radius: 20px;
  border: 1px solid #fd009f1f;
  background: #03229d0f
}

.cnt-us .circ-b {
  position: absolute;
  right: 20px;
  top: 60px;
  width: 180px;
  height: 180px;
  border-radius: 20px;
  border: 1px solid #03229d2e;
  background: #fd009f0a
}

.cnt-us .circ-c {
  position: absolute;
  right: 80px;
  top: 10px;
  width: 100px;
  height: 100px;
  border-radius: 20px;
  border: 1px solid #fd009f17
}

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

.cnt-us .zigzag-div svg {
  display: block;
  width: 100%
}

.cnt-us .reach-strip {
  background: #090915;
  padding: 32px 16px
}

.cnt-us .reach-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px
}

.cnt-us .reach-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px solid #03229d4d;
  border-top: 3px solid #03229D;
  border-radius: 4px;
  background: #03229d12;
  box-shadow: -1px 5px 18px 1px #03229d17;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s ease-in-out
}

.cnt-us .reach-item:hover {
  border-color: #fd009f80;
  border-top-color: #FD009F;
  box-shadow: -1px 10px 44px 1px #fd009f21
}

.cnt-us .reach-icon {
  width: 32px;
  height: 32px;
  color: #FD009F
}

.cnt-us .reach-label {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8892c8
}

.cnt-us .reach-val {
  font-size: 19px;
  line-height: 1.35;
  color: #FEFFF7
}

.cnt-us .reach-val a {
  color: #FEFFF7;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .reach-val a:hover {
  color: #FD009F
}

.cnt-us .zigzag-div-2 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.cnt-us .zigzag-div-2 svg {
  display: block;
  width: 100%
}

.cnt-us .form-area {
  padding: 64px 16px;
  background: #0d0d1a;
  position: relative
}

.cnt-us .form-area-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #03229d0f 0%, transparent 55%, #fd009f0a 100%);
  pointer-events: none
}

.cnt-us .form-outer {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
  align-items: start;
  position: relative;
  z-index: 1
}

.cnt-us .form-context {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cnt-us .form-ctx-label {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD009F
}

.cnt-us .form-ctx-head {
  font-size: 30px;
  line-height: 1.35;
  background: linear-gradient(120deg, #d8c8f4 0%, #9eb5f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0
}

.cnt-us .form-ctx-para {
  font-size: 16px;
  line-height: 1.8;
  color: #b0b8d8;
  margin: 0
}

.cnt-us .form-ctx-para span {
  color: #03229D;
  font-weight: 600;
  -webkit-text-fill-color: #7b9cf5
}

.cnt-us .form-ctx-note {
  font-size: 16px;
  line-height: 1.55;
  color: #7880a8;
  margin: 0;
  padding: 16px;
  border-left: 3px solid #03229D;
  border-bottom: 1px solid #03229d40;
  border-radius: 2px;
  background: #03229d14
}

.cnt-us .form-ctx-hours {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px solid #fd009f26;
  border-radius: 6px;
  background: #fd009f0a
}

.cnt-us .hours-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  line-height: 1.35;
  color: #c4c8e8
}

.cnt-us .hours-day {
  color: #8892c8;
  font-size: 16px
}

.cnt-us .hours-time {
  color: #FEFFF7
}

.cnt-us .form-card {
  background: #13132a;
  border: 1px solid #03229d59;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 10px 44px 1px #03229d21
}

.cnt-us .form-card form {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cnt-us .field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.cnt-us .field-grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cnt-us .field-lbl {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8892c8
}

.cnt-us .field-inp {
  background: #0d0d1a;
  border: 1px solid #03229d66;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.35;
  color: #FEFFF7;
  outline: none;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s ease-in-out;
  width: 100%;
  box-sizing: border-box
}

.cnt-us .field-inp::placeholder {
  text-transform: uppercase;
  font-size: 16px;
  letter-spacing: .06em;
  color: #3a4068
}

.cnt-us .field-inp:focus {
  border-color: #FD009F;
  box-shadow: inset 0 0 0 1px #fd009f33 -1px 5px 18px 1px #fd009f17
}

.cnt-us .interest-grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cnt-us .interest-label {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8892c8
}

.cnt-us .checks-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px
}

.cnt-us .chk-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #03229d4d;
  border-radius: 4px;
  background: #03229d0f;
  cursor: pointer;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .55s ease-in-out
}

.cnt-us .chk-item:hover {
  border-color: #fd009f66;
  background: #fd009f0f
}

.cnt-us .chk-item input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #FD009F;
  cursor: pointer;
  flex-shrink: 0
}

.cnt-us .chk-text {
  font-size: 16px;
  line-height: 1.35;
  color: #c4c8e8
}

.cnt-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  border: 1px solid #fd009f26;
  border-radius: 4px;
  background: #fd009f08
}

.cnt-us .privacy-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #FD009F;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px
}

.cnt-us .privacy-text {
  font-size: 16px;
  line-height: 1.55;
  color: #8892c8
}

.cnt-us .privacy-text a {
  color: #FD009F;
  text-decoration: underline;
  text-decoration-color: #fd009f66;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .privacy-text a:hover {
  color: #FEFFF7
}

.cnt-us .submit-btn {
  background: linear-gradient(110deg, #FD009F 0%, #03229D 100%);
  color: #FEFFF7;
  border: none;
  border-radius: 4px;
  padding: 16px 32px;
  font-size: 19px;
  line-height: 1.35;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: -1px 5px 18px 1px #fd009f17;
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s ease-in-out, transform .45s cubic-bezier(0.22, 1, 0.36, 1);
  align-self: flex-start
}

.cnt-us .submit-btn:hover {
  opacity: .88;
  box-shadow: -1px 10px 44px 1px #fd009f21;
  transform: translateY(-2px)
}

.cnt-us .submit-btn:active {
  transform: translateY(0);
  opacity: 1
}

.cnt-us .submit-btn:focus-visible {
  outline: 2px solid #FD009F;
  outline-offset: 4px
}

.cnt-us .submit-btn svg {
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .submit-btn:hover svg {
  transform: translateX(4px)
}

.cnt-us .form-card-head {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 16px;
  background: linear-gradient(115deg, #f0d8f8 0%, #a8c0f4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.cnt-us .marker-hl {
  position: relative;
  display: inline
}

.cnt-us .marker-hl::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 6px;
  background: #fd009f73;
  border-radius: 2px;
  z-index: -1
}

@keyframes cnt-reveal {
  from {
    opacity: 0;
    transform: rotate(-1.5deg) translateY(24px)
  }

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

.cnt-us .pg-open-inner {
  animation: cnt-reveal .65s cubic-bezier(0.22, 1, 0.36, 1) both
}

.cnt-us .reach-item {
  animation: cnt-reveal .55s cubic-bezier(0.22, 1, 0.36, 1) both
}

.cnt-us .reach-item:nth-child(1) {
  animation-delay: .08s
}

.cnt-us .reach-item:nth-child(2) {
  animation-delay: .16s
}

.cnt-us .reach-item:nth-child(3) {
  animation-delay: .24s
}

.cnt-us .form-card {
  animation: cnt-reveal .7s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

@media (max-width: 960px) {
  .cnt-us .pg-heading {
    font-size: 42px
  }

  .cnt-us .reach-inner {
    grid-template-columns: 1fr 1fr
  }

  .cnt-us .form-outer {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .cnt-us .pg-circles {
    display: none
  }
}

@media (max-width: 480px) {
  .cnt-us .pg-heading {
    font-size: 30px
  }

  .cnt-us .reach-inner {
    grid-template-columns: 1fr
  }

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

  .cnt-us .checks-grid {
    grid-template-columns: 1fr
  }

  .cnt-us .pg-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
  }

  .cnt-us .form-card {
    padding: 16px
  }

  .cnt-us .submit-btn {
    width: 100%;
    justify-content: center
  }
}

.success_page {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 32px;
  background: #0d0d1a;
  position: relative;
  overflow: hidden
}

.success_page .success_wrap {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px
}

.success_page .success_icon_ring {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  border: 2px solid #FD009F;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 1px 5px 1px #fd009f0d -1px 5px 18px 1px #fd009f17 -1px 10px 44px 1px #fd009f21;
  background: #110d1f;
  flex-shrink: 0
}

.success_page .success_icon_ring svg {
  display: block
}

.success_page .success_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  max-width: 560px
}

.success_page .success_label {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FD009F;
  margin: 0
}

.success_page .success_heading {
  font-size: 42px;
  line-height: 1.1;
  margin: 0;
  background: linear-gradient(112deg, #e8d5f0 0%, #b8c8f5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.success_page .success_desc {
  font-size: 19px;
  line-height: 1.55;
  color: #c9cfe8;
  margin: 0;
  padding: 0 8px
}

.success_page .success_detail {
  font-size: 16px;
  line-height: 1.55;
  color: #7a84a8;
  margin: 0
}

.success_page .success_detail span {
  color: #03229D;
  font-size: 16px
}

.success_page .success_divider {
  width: 64px;
  height: 2px;
  background: linear-gradient(90deg, #FD009F 0%, #03229D 100%);
  border-radius: 2px;
  flex-shrink: 0
}

.success_page .success_actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  justify-content: center
}

.success_page .success_home_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 6px;
  border: 2px solid #FD009F;
  background: transparent;
  color: #FD009F;
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  letter-spacing: .06em;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer
}

.success_page .success_home_btn:hover {
  background: #FD009F;
  color: #0d0d1a;
  box-shadow: -1px 5px 18px 1px #fd009f17 -1px 10px 44px 1px #fd009f21
}

.success_page .success_home_btn:focus {
  outline: 2px solid #FD009F;
  outline-offset: 4px
}

.success_page .success_home_btn svg {
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.success_page .success_home_btn:hover svg {
  transform: translateX(4px)
}

.success_page .success_services_link {
  font-size: 16px;
  line-height: 1.35;
  color: #7a84a8;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #03229D;
  transition: color .5s ease-in-out, text-decoration-color .5s ease-in-out
}

.success_page .success_services_link:hover {
  color: #FEFFF7;
  text-decoration-color: #FD009F
}

.success_page .success_services_link:focus {
  outline: 2px solid #03229D;
  outline-offset: 4px;
  border-radius: 2px
}

.success_page .success_bg_shape {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 260px;
  height: 260px;
  border-radius: 20px;
  border: 1px solid #03229d2e;
  pointer-events: none;
  transform: rotate(18deg);
  overflow: hidden
}

.success_page .success_bg_dot {
  position: absolute;
  bottom: 32px;
  left: 16px;
  width: 120px;
  height: 120px;
  border-radius: 12px;
  border: 1px solid #fd009f1f;
  pointer-events: none;
  transform: rotate(-12deg);
  overflow: hidden
}

@media (max-width: 480px) {
  .success_page {
    padding: 64px 16px
  }

  .success_page .success_heading {
    font-size: 30px
  }

  .success_page .success_desc {
    font-size: 16px
  }

  .success_page .success_actions {
    flex-direction: column;
    gap: 16px
  }

  .success_page .success_bg_shape,
  .success_page .success_bg_dot {
    display: none
  }
}

@media (max-width: 960px) {
  .success_page .success_heading {
    font-size: 30px
  }
}