html {
  font-size: 100%
}

body {
  font-family: 'Ubuntu', sans-serif;
  background-color: #FFF0F8
}

body:focus-visible {
  outline: 2px solid #FF62D2
}

:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

:focus:not(:focus-visible) {
  outline: none
}

.site_hd {
  background: #fff;
  border-bottom: 1px solid #ff62d221;
  box-shadow: -1px 7px 14px 1px #11060b14;
  position: relative;
  z-index: 100
}

.hd_upper {
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 32px 0;
  display: flex;
  align-items: center;
  gap: 32px
}

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

.brand_img_box {
  width: 48px;
  height: 48px;
  background: #fff0f8e6;
  border-radius: 3px;
  border: 1px solid #ff62d240;
  box-shadow: -1px 2px 4px 1px #11060b0d 0 0 0 2px #ff62d214;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px
}

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

.brand_name {
  font-size: 18px;
  font-weight: 700;
  color: #11060B;
  line-height: 1.2;
  letter-spacing: .01em
}

.brand_name span {
  display: block;
  font-size: 15px;
  font-weight: 400;
  color: #FF62D2;
  letter-spacing: .06em;
  line-height: 1.2
}

.hd_accent {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0
}

.hd_accent_pill {
  background: linear-gradient(135deg, #FF62D2 0%, #ff62d299 100%);
  border-radius: 40px;
  padding: 4px 16px;
  font-size: 15px;
  font-weight: 700;
  color: #11060B;
  letter-spacing: .04em;
  line-height: 2;
  white-space: nowrap
}

.hd_contact_link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #11060B;
  font-size: 15px;
  font-weight: 400;
  padding: 4px 8px;
  border-radius: 3px;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.hd_contact_link:hover {
  color: #FF62D2;
  background: #ff62d212
}

.hd_contact_link .oi {
  font-size: 15px;
  color: #FF62D2
}

.hd_nav_bar {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px
}

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

.hd_nav_list li {
  display: block
}

.hd_nav_link {
  display: block;
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  color: #11060B;
  padding: 16px 16px 12px;
  border-radius: 3px 3px 0 0;
  border: 1px solid transparent;
  border-bottom: none;
  line-height: 1.2;
  letter-spacing: .02em;
  position: relative;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), background .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap
}

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

.hd_nav_link:hover {
  color: #FF62D2;
  background: #ff62d20f;
  border-color: #ff62d226
}

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

.hd_nav_link.active {
  color: #11060B;
  font-weight: 700;
  background: #FFF0F8;
  border-color: #ff62d233
}

.hd_nav_link.active::after {
  transform: scaleX(1)
}

.site_ft {
  background: #11060B;
  color: #FFF0F8;
  padding: 64px 0 0;
  position: relative
}

.ft_body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px
}

.ft_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 64px
}

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

.ft_logo_box {
  width: 48px;
  height: 48px;
  background: #fff0f81a;
  border-radius: 3px;
  border: 1px solid #ff62d24d;
  box-shadow: -1px 2px 4px 1px #ff62d20d 0 0 0 2px #ff62d21a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px
}

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

.ft_brand_name {
  font-size: 18px;
  font-weight: 700;
  color: #FFF0F8;
  line-height: 1.2
}

.ft_brand_desc {
  font-size: 15px;
  color: #fff0f899;
  line-height: 1.6
}

.ft_col_label {
  font-size: 15px;
  font-weight: 700;
  color: #FF62D2;
  letter-spacing: .08em;
  line-height: 1.2;
  margin: 0 0 16px;
  text-transform: uppercase
}

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

.ft_nav_list li {
  display: block
}

.ft_nav_link {
  text-decoration: none;
  font-size: 15px;
  color: #fff0f8bf;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_nav_link:hover {
  color: #FF62D2
}

.ft_nav_link .oi {
  font-size: 15px;
  opacity: .5;
  transition: opacity .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_nav_link:hover .oi {
  opacity: 1
}

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

.ft_contact_list li {
  display: flex;
  align-items: flex-start;
  gap: 8px
}

.ft_contact_list .oi {
  color: #FF62D2;
  font-size: 15px;
  margin-top: 2px;
  flex-shrink: 0
}

.ft_contact_text {
  font-size: 15px;
  color: #fff0f8bf;
  line-height: 1.6;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

a.ft_contact_text:hover {
  color: #FF62D2
}

.ft_divider {
  border: none;
  border-top: 1px solid #fff0f81a;
  margin: 0
}

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

.ft_copy {
  font-size: 15px;
  color: #fff0f866;
  line-height: 1.6
}

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

.ft_legal_list li {
  display: block
}

.ft_legal_link {
  font-size: 15px;
  color: #fff0f866;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_legal_link:hover {
  color: #FF62D2
}

.cookie_card {
  position: fixed;
  top: 32px;
  left: 32px;
  width: 340px;
  background: #fff;
  border-radius: 3px;
  box-shadow: -1px 9px 52px 1px #11060b21 -1px 7px 14px 1px #11060b14;
  z-index: 1000;
  padding: 32px;
  opacity: 0;
  transition: opacity .42s cubic-bezier(0.22, 1, 0.36, 1);
  display: none
}

.cookie_card.showing {
  opacity: 1
}

.cookie_headline {
  font-size: 18px;
  font-weight: 700;
  color: #11060B;
  line-height: 1.2;
  margin: 0 0 8px;
  font-family: 'Ubuntu', sans-serif
}

.cookie_desc {
  font-size: 15px;
  color: #11060B;
  line-height: 1.6;
  margin: 0 0 16px
}

.cookie_settings_area {
  margin-bottom: 16px
}

.cookie_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-top: 1px solid #11060b14
}

.cookie_toggle_label {
  font-size: 15px;
  color: #11060B;
  line-height: 1.6
}

.cookie_toggle_label.fixed_on {
  color: #11060b80;
  font-style: italic
}

.cookie_toggle_switch {
  width: 36px;
  height: 20px;
  background: #11060b26;
  border-radius: 40px;
  position: relative;
  cursor: pointer;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1);
  border: none;
  padding: 0;
  flex-shrink: 0
}

.cookie_toggle_switch.on {
  background: #FF62D2
}

.cookie_toggle_switch::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 40px;
  position: absolute;
  top: 3px;
  left: 3px;
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie_toggle_switch.on::before {
  transform: translateX(16px)
}

.cookie_toggle_switch:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.cookie_toggle_switch.always_on {
  background: #11060b1a;
  cursor: not-allowed
}

.cookie_btn_row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px
}

.cookie_btn {
  flex: 1;
  padding: 16px 8px;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Ubuntu', sans-serif;
  cursor: pointer;
  border: 1px solid #11060B;
  line-height: 1.2;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.cookie_btn.primary {
  background: #11060B;
  color: #FFF0F8
}

.cookie_btn.primary:hover {
  background: #FF62D2;
  border-color: #FF62D2;
  color: #11060B
}

.cookie_btn.secondary {
  background: transparent;
  color: #11060B
}

.cookie_btn.secondary:hover {
  background: #11060b0f
}

.cookie_settings_link {
  display: block;
  text-align: center;
  font-size: 15px;
  color: #11060b80;
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
  font-family: 'Ubuntu', sans-serif;
  width: 100%;
  padding: 4px 0;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie_settings_link:hover {
  color: #FF62D2
}

.cookie_settings_link:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.cookie_toggles_panel {
  display: none
}

.cookie_toggles_panel.open {
  display: block
}

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

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

  .hd_nav_bar {
    padding: 0 16px
  }

  .hd_nav_link {
    padding: 12px 8px 10px;
    font-size: 15px
  }

  .hd_accent_pill {
    display: none
  }

  .ft_body {
    padding: 0 16px
  }

  .ft_bottom {
    padding: 16px
  }
}

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

  .cookie_card {
    left: 16px;
    right: 16px;
    width: auto;
    top: 16px
  }

  .hd_contact_link span {
    display: none
  }
}

.rules-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #11060B;
  background: #fff
}

.rules-content h1 {
  font-size: 60px;
  line-height: 1.2;
  letter-spacing: -.5px;
  color: #11060B;
  margin-bottom: 32px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #FF62D2
}

.rules-content h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin-top: 64px;
  margin-bottom: 16px;
  letter-spacing: -.2px
}

.rules-content h3 {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin-top: 32px;
  margin-bottom: 8px;
  letter-spacing: .04em;
  text-transform: uppercase
}

.rules-content h4 {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin-top: 32px;
  margin-bottom: 8px;
  font-weight: 700
}

.rules-content h5 {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase
}

.rules-content h6 {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 600
}

.rules-content p {
  font-size: 18px;
  line-height: 2;
  color: #11060B;
  margin-top: 0;
  margin-bottom: 16px;
  max-width: 72ch
}

.rules-content ul,
.rules-content ol {
  font-size: 18px;
  line-height: 2;
  color: #11060B;
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 32px;
  max-width: 72ch
}

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

.rules-content ul li {
  padding-left: 32px;
  position: relative
}

.rules-content ul li::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #FF62D2;
  border-radius: 3px
}

.rules-content ol {
  list-style: decimal
}

.rules-content ol li {
  padding-left: 8px
}

.rules-content li {
  font-size: 18px;
  line-height: 2;
  color: #11060B;
  margin-bottom: 4px
}

.rules-content li::marker {
  color: #FF62D2;
  font-weight: 700
}

.rules-content strong,
.rules-content b {
  font-weight: 700;
  color: #11060B
}

.rules-content em,
.rules-content i {
  font-style: italic;
  color: #11060B
}

.rules-content table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 15px;
  line-height: 1.6;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 7px 14px 1px #11060b14
}

.rules-content thead {
  background: #11060B
}

.rules-content thead th {
  color: #FFF0F8;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 16px;
  text-align: left;
  border: none
}

.rules-content tbody tr {
  background: #fff;
  transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.rules-content tbody tr:nth-child(even) {
  background: #FFF0F8
}

.rules-content tbody tr:hover {
  background: #ffe4f5
}

.rules-content td {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  padding: 16px;
  border-bottom: 1px solid #ff62d226;
  vertical-align: top
}

.rules-content th {
  padding: 16px;
  text-align: left;
  vertical-align: top
}

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

  .rules-content h1 {
    font-size: 43px
  }

  .rules-content h2 {
    font-size: 43px;
    margin-top: 32px
  }

  .rules-content p,
  .rules-content ul,
  .rules-content ol,
  .rules-content li {
    font-size: 15px
  }

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

.lp-det {
  background: #fff;
  overflow-x: hidden;
  position: relative
}

.lp-det .pg-top {
  position: relative;
  padding: 64px;
  background: linear-gradient(307deg, #FF62D2 0%, #FFF0F8 40%, #fff 100%);
  overflow: hidden
}

.lp-det .pg-top::before {
  content: '';
  position: absolute;
  top: -32px;
  right: -32px;
  width: 320px;
  height: 320px;
  border: 2px solid #ff62d22e;
  border-radius: 40px;
  pointer-events: none
}

.lp-det .pg-top::after {
  content: '';
  position: absolute;
  bottom: 16px;
  left: 32px;
  width: 180px;
  height: 180px;
  border: 1.5px solid #ff62d21f;
  border-radius: 40px;
  pointer-events: none
}

.lp-det .pg-top .dot-pat {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: radial-gradient(circle, #ff62d221 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .6
}

.lp-det .pg-top .top-inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.lp-det .pg-top .meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.lp-det .pg-top .cat-tag {
  display: inline-block;
  padding: 4px 16px;
  border: 1.5px solid #FF62D2;
  border-radius: 3px;
  font-size: 15px;
  letter-spacing: .08em;
  color: #11060B;
  background: #ff62d212
}

.lp-det .pg-top .usr-fmt {
  display: inline-block;
  padding: 4px 16px;
  border: 1.5px solid #11060b2e;
  border-radius: 3px;
  font-size: 15px;
  color: #11060B;
  background: #fff9
}

.lp-det .pg-top .pg-h1 {
  font-size: 60px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  max-width: 860px
}

.lp-det .pg-top .pg-h1 em {
  font-style: normal;
  display: inline-block;
  border-bottom: 3px solid #FF62D2;
  padding-bottom: 4px
}

.lp-det .pg-top .sub-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap
}

.lp-det .pg-top .pub-dt {
  font-size: 15px;
  color: #11060b8c;
  letter-spacing: .06em
}

.lp-det .pg-top .print-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 32px;
  background: #11060B;
  color: #FFF0F8;
  border: none;
  border-radius: 3px;
  font-size: 15px;
  cursor: pointer;
  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 2px 4px 1px #11060b0d;
  position: relative;
  overflow: hidden
}

.lp-det .pg-top .print-btn:hover {
  background: #FF62D2;
  color: #11060B;
  box-shadow: -1px 7px 14px 1px #ff62d214
}

.lp-det .pg-top .print-btn:focus {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.lp-det .pg-top .print-btn:active {
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.lp-det .pg-top .img-wrap {
  position: relative;
  width: 100%;
  max-width: 860px;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 9px 52px 1px #11060b21
}

.lp-det .pg-top .img-wrap img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 3px;
  transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1);
  filter: saturate(0.7) brightness(0.92)
}

.lp-det .pg-top .img-wrap:hover img {
  filter: saturate(1) brightness(1)
}

.lp-det .pg-top .img-wrap .scan-ov {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 3px, #11060b0a 3px, #11060b0a 4px);
  pointer-events: none;
  border-radius: 3px;
  transition: opacity .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-det .pg-top .img-wrap:hover .scan-ov {
  opacity: 0
}

.lp-det .torn-div {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lp-det .torn-div svg {
  display: block;
  width: 100%
}

.lp-det .body-sec {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 1px 380px;
  gap: 64px;
  align-items: start
}

.lp-det .body-sec .div-line {
  background: linear-gradient(180deg, transparent, #ff62d259 30%, #ff62d259 70%, transparent);
  align-self: stretch
}

.lp-det .desc-col h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 16px;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.lp-det .desc-col h3 {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 32px 0 8px;
  text-decoration: underline;
  text-decoration-color: #ff62d280;
  text-underline-offset: 4px
}

.lp-det .desc-col p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060bcc;
  margin: 0 0 16px
}

.lp-det .desc-col small {
  font-size: 15px;
  line-height: 1.6;
  color: #11060b8c;
  display: block;
  margin: 0 0 8px
}

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

.lp-det .desc-col ul li {
  font-size: 18px;
  line-height: 1.6;
  color: #11060bcc;
  padding-left: 16px;
  border-left: 3px solid #FF62D2
}

.lp-det .desc-col dl {
  margin: 0 0 16px
}

.lp-det .desc-col dt {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  letter-spacing: .06em;
  font-weight: 700
}

.lp-det .desc-col dd {
  font-size: 18px;
  line-height: 1.6;
  color: #11060bcc;
  margin: 0 0 8px 32px
}

.lp-det .desc-col figure {
  margin: 32px 0
}

.lp-det .desc-col figcaption {
  font-size: 15px;
  color: #11060b80;
  margin-top: 8px
}

.lp-det .desc-col details {
  border: 1.5px solid #ff62d240;
  border-radius: 3px;
  padding: 16px;
  margin-bottom: 16px
}

.lp-det .desc-col summary {
  font-size: 18px;
  color: #11060B;
  cursor: pointer;
  outline: none
}

.lp-det .desc-col summary:focus {
  color: #FF62D2
}

.lp-det .price-col {
  position: sticky;
  top: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lp-det .price-col .price-card {
  background: #11060B;
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 9px 52px 1px #11060b21;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lp-det .price-col .price-card .p-amt {
  font-size: 60px;
  line-height: 1.2;
  color: #FF62D2;
  margin: 0
}

.lp-det .price-col .price-card .p-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #fff0f8bf;
  margin: 0
}

.lp-det .price-col .price-card .p-note {
  font-size: 15px;
  line-height: 1.6;
  color: #fff0f880;
  margin: 0;
  border-top: 1px solid #ff62d233;
  padding-top: 16px
}

.lp-det .price-col .price-card .enroll-btn {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: #FF62D2;
  color: #11060B;
  border: none;
  border-radius: 3px;
  font-size: 18px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 2px 4px 1px #ff62d20d;
  position: relative;
  overflow: hidden
}

.lp-det .price-col .price-card .enroll-btn:hover {
  background: #FFF0F8;
  box-shadow: -1px 7px 14px 1px #ff62d214
}

.lp-det .price-col .price-card .enroll-btn:focus {
  outline: 2px solid #FFF0F8;
  outline-offset: 3px
}

.lp-det .price-col .price-card .enroll-btn:active {
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.lp-det .price-col .stat-row {
  display: flex;
  flex-direction: row;
  gap: 8px
}

.lp-det .price-col .stat-box {
  flex: 1;
  background: #FFF0F8;
  border-radius: 3px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: inset -1px 2px 4px 1px #11060b0d
}

.lp-det .price-col .stat-box .st-val {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B
}

.lp-det .price-col .stat-box .st-lbl {
  font-size: 15px;
  color: #11060b8c;
  letter-spacing: .06em
}

.lp-det .torn-div2 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lp-det .torn-div2 svg {
  display: block;
  width: 100%
}

.lp-det .prog-sec {
  background: #11060B;
  position: relative;
  overflow: hidden;
  padding: 64px
}

.lp-det .prog-sec .bg-anim {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background: linear-gradient(307deg, #ff62d22e 0%, transparent 55%, #fff0f80a 100%);
  animation: zone-shift 8s ease-in-out infinite alternate
}

@keyframes zone-shift {
  0% {
    opacity: .7;
    transform: translateX(0) translateY(0)
  }

  100% {
    opacity: 1;
    transform: translateX(32px) translateY(-16px)
  }
}

.lp-det .prog-sec .out-shape {
  position: absolute;
  bottom: -64px;
  right: -64px;
  width: 400px;
  height: 400px;
  border: 2px solid #ff62d21f;
  border-radius: 40px;
  pointer-events: none
}

.lp-det .prog-sec .prog-inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start
}

.lp-det .prog-sec .prog-left h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0 0 32px;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.lp-det .prog-sec .prog-left p {
  font-size: 18px;
  line-height: 1.6;
  color: #fff0f8b3;
  margin: 0 0 16px
}

.lp-det .prog-sec .prog-left h2.stage-h {
  font-size: 18px;
  color: #FF62D2;
  margin: 32px 0 8px;
  text-decoration: none
}

.lp-det .prog-sec .prog-left em {
  font-style: normal;
  color: #FF62D2
}

.lp-det .prog-sec .prog-left ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lp-det .prog-sec .prog-left ul li {
  font-size: 18px;
  line-height: 1.6;
  color: #fff0f8bf;
  padding: 8px 16px;
  border-left: 3px solid #ff62d266;
  background: #ff62d20d;
  border-radius: 0 3px 3px 0
}

.lp-det .prog-sec .prog-left blockquote {
  border-left: 4px solid #FF62D2;
  margin: 16px 0;
  padding: 16px;
  background: #ff62d212;
  border-radius: 0 3px 3px 0
}

.lp-det .prog-sec .prog-left blockquote p {
  color: #fff0f8d9;
  margin: 0
}

.lp-det .prog-sec .prog-right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lp-det .prog-sec .prog-right .anchor-vis {
  background: #ff62d214;
  border: 1.5px solid #ff62d233;
  border-radius: 3px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  box-shadow: inset -1px 2px 4px 1px #ff62d20d;
  transition: background .6s cubic-bezier(0.22, 1, 0.36, 1), backdrop-filter .6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px)
}

.lp-det .prog-sec .prog-right .anchor-vis:hover {
  background: #ff62d224;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px)
}

.lp-det .prog-sec .prog-right .anchor-vis .av-num {
  font-size: 72px;
  line-height: 1.2;
  color: #FF62D2
}

.lp-det .prog-sec .prog-right .anchor-vis .av-lbl {
  font-size: 15px;
  color: #fff0f899;
  letter-spacing: .08em;
  text-align: center
}

.lp-det .prog-sec .prog-right .rating-card {
  background: #fff0f80a;
  border: 1.5px solid #fff0f814;
  border-radius: 3px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: inset -1px 2px 4px 1px #11060b0d;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), backdrop-filter .5s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px)
}

.lp-det .prog-sec .prog-right .rating-card:hover {
  background: #fff0f814;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px)
}

.lp-det .prog-sec .prog-right .rating-card .r-val {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8
}

.lp-det .prog-sec .prog-right .rating-card .r-stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.lp-det .prog-sec .prog-right .rating-card .r-stars .star {
  width: 18px;
  height: 18px;
  display: block
}

.lp-det .prog-sec .prog-right .rating-card .r-cnt {
  font-size: 15px;
  color: #fff0f880;
  letter-spacing: .06em
}

.lp-det .torn-div3 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lp-det .torn-div3 svg {
  display: block;
  width: 100%
}

.lp-det .cta-sec {
  background: linear-gradient(307deg, #FFF0F8 0%, #fff 60%);
  padding: 64px
}

.lp-det .cta-sec .cta-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
  justify-content: space-between;
  flex-wrap: wrap
}

.lp-det .cta-sec .cta-txt {
  flex: 1;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lp-det .cta-sec .cta-txt h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.lp-det .cta-sec .cta-txt p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060bbf;
  margin: 0
}

.lp-det .cta-sec .cta-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start
}

.lp-det .cta-sec .cta-actions .btn-prim {
  display: inline-block;
  padding: 16px 64px;
  background: #11060B;
  color: #FFF0F8;
  border-radius: 3px;
  font-size: 18px;
  text-decoration: none;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 2px 4px 1px #11060b0d;
  position: relative;
  overflow: hidden
}

.lp-det .cta-sec .cta-actions .btn-prim:hover {
  background: #FF62D2;
  color: #11060B;
  box-shadow: -1px 7px 14px 1px #ff62d214
}

.lp-det .cta-sec .cta-actions .btn-prim:focus {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.lp-det .cta-sec .cta-actions .btn-sec {
  display: inline-block;
  padding: 8px 32px;
  border: 1.5px solid #11060b40;
  color: #11060B;
  border-radius: 3px;
  font-size: 15px;
  text-decoration: none;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-det .cta-sec .cta-actions .btn-sec:hover {
  border-color: #FF62D2;
  color: #FF62D2
}

.lp-det .cta-sec .cta-actions .btn-sec:focus {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

@media (max-width: 1024px) {
  .lp-det .body-sec {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 32px
  }

  .lp-det .body-sec .div-line {
    display: none
  }

  .lp-det .prog-sec .prog-inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lp-det .pg-top {
    padding: 32px
  }

  .lp-det .prog-sec {
    padding: 32px
  }

  .lp-det .cta-sec {
    padding: 32px
  }
}

@media (max-width: 640px) {
  .lp-det .pg-top .pg-h1 {
    font-size: 43px
  }

  .lp-det .price-col .price-card .p-amt {
    font-size: 43px
  }

  .lp-det .cta-sec .cta-txt h2 {
    font-size: 43px
  }

  .lp-det .pg-top {
    padding: 32px 16px
  }

  .lp-det .body-sec {
    padding: 32px 16px
  }

  .lp-det .prog-sec {
    padding: 32px 16px
  }

  .lp-det .cta-sec {
    padding: 32px 16px
  }

  .lp-det .cta-sec .cta-inner {
    gap: 32px
  }
}

@media print {

  .lp-det .pg-top::before,
  .lp-det .pg-top::after,
  .lp-det .dot-pat,
  .lp-det .scan-ov,
  .lp-det .torn-div,
  .lp-det .torn-div2,
  .lp-det .torn-div3,
  .lp-det .bg-anim,
  .lp-det .out-shape,
  .lp-det .print-btn {
    display: none !important
  }

  .lp-det .pg-top {
    background: #fff !important;
    padding: 16px 0 !important
  }

  .lp-det .body-sec {
    grid-template-columns: 1fr !important;
    padding: 16px 0 !important
  }

  .lp-det .body-sec .div-line {
    display: none !important
  }

  .lp-det .price-col {
    position: static !important
  }

  .lp-det .prog-sec {
    background: #fff !important;
    padding: 16px 0 !important
  }

  .lp-det .prog-sec .prog-inner {
    grid-template-columns: 1fr !important
  }

  .lp-det .prog-sec .prog-left h2,
  .lp-det .prog-sec .prog-left p,
  .lp-det .prog-sec .prog-left ul li,
  .lp-det .prog-sec .prog-left blockquote p {
    color: #11060B !important
  }

  .lp-det .prog-sec .prog-right {
    display: none !important
  }

  .lp-det .cta-sec {
    display: none !important
  }

  .lp-det .price-col .price-card {
    background: #fff !important;
    box-shadow: none !important;
    border: 1px solid #11060B !important
  }

  .lp-det .price-col .price-card .p-amt,
  .lp-det .price-col .price-card .p-desc,
  .lp-det .price-col .price-card .p-note {
    color: #11060B !important
  }

  .lp-det .price-col .price-card .enroll-btn {
    display: none !important
  }

  .lp-det .pg-top .img-wrap img {
    filter: none !important
  }
}

.lrn-prog {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip;
  background: #fff
}

.lrn-prog .pg-head {
  padding: 64px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  background: #FFF0F8;
  overflow: hidden
}

.lrn-prog .pg-head::before {
  content: '';
  position: absolute;
  top: -40px;
  right: 80px;
  width: 320px;
  height: 320px;
  background: #FF62D2;
  opacity: .13;
  border-radius: 40px;
  filter: blur(60px);
  pointer-events: none
}

.lrn-prog .pg-head::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: 120px;
  width: 240px;
  height: 240px;
  background: #FF62D2;
  opacity: .09;
  border-radius: 40px;
  filter: blur(80px);
  pointer-events: none
}

.lrn-prog .pg-head-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  letter-spacing: .08em;
  color: #FF62D2;
  font-weight: 600;
  text-transform: uppercase
}

.lrn-prog .pg-head-label svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.lrn-prog .pg-head h1 {
  font-size: 60px;
  line-height: 1.2;
  color: #11060B;
  max-width: 720px;
  margin: 0;
  position: relative;
  z-index: 1
}

.lrn-prog .pg-head h1 span {
  display: inline-block;
  border: 1.5px solid #FF62D2;
  border-radius: 3px;
  padding: 0 8px
}

.lrn-prog .pg-head-sub {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  opacity: .7;
  max-width: 540px;
  margin: 0;
  position: relative;
  z-index: 1
}

.lrn-prog .divider-grad {
  height: 2px;
  background: linear-gradient(307deg, #FF62D2 0%, #FF62D2 30%, #FFF0F8 100%);
  border: none;
  margin: 0
}

.lrn-prog .cards-area {
  padding: 64px;
  background: #fff;
  position: relative
}

.lrn-prog .stripe-bg {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 38px, #ff62d208 38px, #ff62d208 39px);
  pointer-events: none;
  z-index: 0
}

.lrn-prog .cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
  z-index: 1
}

.lrn-prog .prog-card {
  background: #fff;
  border-radius: 3px;
  box-shadow: -1px 2px 4px 1px #11060b0d -1px 7px 14px 1px #11060b14;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
  animation: card-emerge .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

.lrn-prog .prog-card:nth-child(1) {
  animation-delay: .05s
}

.lrn-prog .prog-card:nth-child(2) {
  animation-delay: .15s
}

.lrn-prog .prog-card:nth-child(3) {
  animation-delay: .25s
}

.lrn-prog .prog-card:nth-child(4) {
  animation-delay: .35s
}

.lrn-prog .prog-card:nth-child(5) {
  animation-delay: .45s
}

@keyframes card-emerge {
  from {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(16px)
  }

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

.lrn-prog .prog-card:hover {
  box-shadow: -1px 9px 52px 1px #ff62d221 -1px 7px 14px 1px #11060b14;
  transform: translateY(-4px)
}

.lrn-prog .card-img-wrap {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%)
}

.lrn-prog .card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .card-img-overlay {
  position: absolute;
  inset: 0;
  background: #ff62d240;
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .prog-card:hover .card-img-overlay {
  opacity: 0
}

.lrn-prog .prog-card:hover .card-img-wrap img {
  transform: scale(1.04)
}

.lrn-prog .card-body {
  padding: 16px 16px 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.lrn-prog .card-tags {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap
}

.lrn-prog .tag {
  font-size: 15px;
  line-height: 1.2;
  padding: 4px 8px;
  border-radius: 3px;
  background: #FFF0F8;
  color: #11060B;
  font-weight: 500;
  letter-spacing: .04em
}

.lrn-prog .tag-user {
  background: #11060B;
  color: #FFF0F8
}

.lrn-prog .card-title {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 0;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #ff62d266
}

.lrn-prog .card-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  opacity: .7;
  margin: 0
}

.lrn-prog .card-footer {
  padding: 8px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid #11060b14;
  margin-top: 8px
}

.lrn-prog .price-row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px
}

.lrn-prog .price-val {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  font-weight: 800
}

.lrn-prog .price-des {
  font-size: 15px;
  color: #11060B;
  opacity: .6;
  line-height: 1.6
}

.lrn-prog .price-note {
  font-size: 15px;
  color: #FF62D2;
  line-height: 1.2
}

.lrn-prog .card-cta {
  display: inline-block;
  background: #11060B;
  color: #FFF0F8;
  font-size: 15px;
  font-weight: 600;
  padding: 16px 32px;
  border-radius: 3px;
  text-decoration: none;
  text-align: center;
  letter-spacing: .04em;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.lrn-prog .card-cta:hover {
  background: #FF62D2;
  color: #11060B
}

.lrn-prog .card-cta:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.lrn-prog .card-shadow-accent {
  position: absolute;
  bottom: -6px;
  right: -6px;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 2px solid #FF62D2;
  border-radius: 3px;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .prog-card:hover .card-shadow-accent {
  opacity: 1
}

.lrn-prog .divider-zigzag {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.lrn-prog .divider-zigzag svg {
  display: block;
  width: 100%
}

.lrn-prog .info-strip {
  background: #11060B;
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: center;
  position: relative
}

.lrn-prog .info-strip-left {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .info-strip-left h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0
}

.lrn-prog .info-strip-left p {
  font-size: 15px;
  line-height: 1.6;
  color: #FFF0F8;
  opacity: .7;
  margin: 0
}

.lrn-prog .info-pairs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.lrn-prog .info-pair {
  background: #fff0f80f;
  border-radius: 3px;
  padding: 16px;
  border-left: 3px solid #FF62D2;
  border-top: 1px solid #ff62d233;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: inset -1px 2px 4px 1px #ff62d20d
}

.lrn-prog .info-pair-label {
  font-size: 15px;
  color: #FF62D2;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-weight: 600
}

.lrn-prog .info-pair-val {
  font-size: 18px;
  color: #FFF0F8;
  line-height: 1.6
}

.lrn-prog .divider-grad2 {
  height: 2px;
  background: linear-gradient(307deg, #FFF0F8 0%, #FF62D2 60%, #11060B 100%);
  border: none;
  margin: 0
}

.lrn-prog .visual-block {
  padding: 64px;
  background: #FFF0F8;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative
}

.lrn-prog .visual-block::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  background: #ff62d214;
  border-radius: 40px;
  filter: blur(80px);
  pointer-events: none
}

.lrn-prog .visual-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 3px;
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.lrn-prog .visual-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  clip-path: polygon(0 0, 96% 0, 100% 6%, 100% 100%, 4% 100%, 0 94%);
  transition: clip-path .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .visual-img-wrap:hover img {
  clip-path: polygon(0 0, 100% 0, 100% 0%, 100% 100%, 0% 100%, 0 100%)
}

.lrn-prog .visual-img-overlay {
  position: absolute;
  inset: 0;
  background: #ff62d22e;
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.lrn-prog .visual-img-wrap:hover .visual-img-overlay {
  opacity: 0
}

.lrn-prog .visual-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 1
}

.lrn-prog .visual-text h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #FF62D2
}

.lrn-prog .visual-text p {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  opacity: .75;
  margin: 0
}

.lrn-prog .mini-card {
  background: #11060B;
  border-radius: 3px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: -1px 7px 14px 1px #11060b14
}

.lrn-prog .mini-card-label {
  font-size: 15px;
  color: #FF62D2;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 600
}

.lrn-prog .mini-card-text {
  font-size: 15px;
  color: #FFF0F8;
  line-height: 1.6
}

.lrn-prog .visual-text-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap
}

.lrn-prog .btn-prim {
  display: inline-block;
  background: #FF62D2;
  color: #11060B;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 32px;
  border-radius: 3px;
  text-decoration: none;
  letter-spacing: .03em;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 7px 14px 1px #ff62d214;
  position: relative;
  overflow: hidden
}

.lrn-prog .btn-prim:hover {
  background: #11060B;
  color: #FFF0F8;
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.lrn-prog .btn-prim:focus-visible {
  outline: 2px solid #11060B;
  outline-offset: 3px
}

.lrn-prog .btn-sec {
  display: inline-block;
  background: transparent;
  color: #11060B;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 3px;
  text-decoration: none;
  border: 1.5px solid #11060B;
  letter-spacing: .04em;
  transition: border-color .45s ease-in-out, color .45s ease-in-out
}

.lrn-prog .btn-sec:hover {
  border-color: #FF62D2;
  color: #FF62D2
}

.lrn-prog .btn-sec:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

@media (max-width: 1100px) {
  .lrn-prog .cards-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .lrn-prog .info-strip {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lrn-prog .visual-block {
    grid-template-columns: 1fr;
    gap: 32px
  }
}

@media (max-width: 700px) {
  .lrn-prog .pg-head {
    padding: 32px 16px
  }

  .lrn-prog .pg-head h1 {
    font-size: 43px
  }

  .lrn-prog .cards-area {
    padding: 32px 16px
  }

  .lrn-prog .cards-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lrn-prog .info-strip {
    padding: 32px 16px
  }

  .lrn-prog .info-pairs {
    grid-template-columns: 1fr
  }

  .lrn-prog .visual-block {
    padding: 32px 16px
  }

  .lrn-prog .price-val {
    font-size: 43px
  }
}

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

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

.srvs ::selection {
  background: #11060B;
  color: #FFF0F8
}

.srvs .ttl_blk {
  position: relative;
  padding: 64px 32px;
  background: radial-gradient(ellipse 80% 70% at 50% 50%, #FFF0F8 0%, #fff 60%);
  text-align: left;
  max-width: 100%;
  overflow: hidden
}

.srvs .ttl_blk .orb_a {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 40px;
  background: #ff62d212;
  top: -80px;
  right: -80px;
  pointer-events: none;
  animation: orb_expand 5s ease-in-out infinite alternate
}

.srvs .ttl_blk .orb_b {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 40px;
  background: #ff62d20d;
  bottom: -40px;
  left: 8%;
  pointer-events: none;
  animation: orb_expand 7s ease-in-out infinite alternate-reverse
}

@keyframes orb_expand {
  from {
    transform: scale(1);
    opacity: .6
  }

  to {
    transform: scale(1.18);
    opacity: 1
  }
}

.srvs .ttl_blk .ttl_img_wrap {
  position: absolute;
  right: 64px;
  top: 0;
  bottom: 0;
  width: 38%;
  pointer-events: none
}

.srvs .ttl_blk .ttl_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.5) brightness(0.95);
  transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1);
  display: block
}

.srvs .ttl_blk .ttl_img_wrap:hover img {
  filter: saturate(1) brightness(1)
}

.srvs .ttl_blk .ttl_img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #ff62d238;
  transition: opacity .5s ease-in-out;
  pointer-events: none
}

.srvs .ttl_blk .ttl_img_wrap:hover::after {
  opacity: 0
}

.srvs .ttl_col {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.srvs .eyebrow {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .12em;
  color: #FF62D2;
  border: 1px solid #FF62D2;
  border-radius: 3px;
  padding: 4px 16px;
  margin-bottom: 32px;
  line-height: 1.6
}

.srvs .ttl_h {
  font-size: 60px;
  line-height: 1.2;
  color: #11060B;
  max-width: 600px;
  margin: 0 0 32px
}

.srvs .ttl_h em {
  font-style: normal;
  border-bottom: 2px solid #FF62D2
}

.srvs .scallop_div {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.srvs .scallop_div svg {
  display: block;
  width: 100%
}

.srvs .feat_row {
  background: #11060B;
  padding: 64px 32px
}

.srvs .feat_inner {
  max-width: 1440px;
  margin: 0 auto
}

.srvs .feat_inner .sec_lbl {
  font-size: 15px;
  letter-spacing: .1em;
  color: #FF62D2;
  display: block;
  margin-bottom: 32px;
  line-height: 1.6
}

.srvs .feat_inner .sec_h {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0 0 32px;
  max-width: 700px
}

.srvs .feat_inner .sec_h span {
  border-bottom: 2px solid #FF62D2
}

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

.srvs .feat_card {
  background: #fff0f80a;
  border: 1px solid #ff62d22e;
  border-radius: 3px;
  padding: 32px;
  position: relative;
  box-shadow: inset -1px 9px 52px 1px #ff62d20a;
  transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out
}

.srvs .feat_card:hover {
  border-color: #ff62d280;
  box-shadow: inset -1px 9px 52px 1px #ff62d214 -1px 7px 14px 1px #ff62d214
}

.srvs .feat_card .card_tag {
  position: absolute;
  top: -1px;
  right: 32px;
  background: #FF62D2;
  color: #11060B;
  font-size: 15px;
  padding: 4px 8px;
  border-radius: 0 0 3px 3px;
  line-height: 1.6
}

.srvs .feat_card .card_ico {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.srvs .feat_card .card_ico svg {
  width: 32px;
  height: 32px;
  fill: #FF62D2
}

.srvs .feat_card h4 {
  font-size: 18px;
  line-height: 1.6;
  color: #FFF0F8;
  margin: 0 0 16px;
  border-bottom: 1px solid #ff62d24d;
  padding-bottom: 8px
}

.srvs .feat_card p {
  font-size: 15px;
  line-height: 1.6;
  color: #fff0f8b8;
  margin: 0
}

.srvs .stack_row {
  background: #FFF0F8;
  padding: 64px 32px
}

.srvs .stack_inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start
}

.srvs .stack_left h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 16px
}

.srvs .stack_left h2 span {
  border-bottom: 2px solid #FF62D2
}

.srvs .stack_left p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 0 0 32px;
  opacity: .8
}

.srvs .stack_img_wrap {
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: -1px 9px 52px 1px #11060b21
}

.srvs .stack_img_wrap img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  filter: saturate(0.55);
  transition: filter .7s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs .stack_img_wrap:hover img {
  filter: saturate(1)
}

.srvs .stack_img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #ff62d22e;
  transition: opacity .6s ease-in-out;
  pointer-events: none
}

.srvs .stack_img_wrap:hover::after {
  opacity: 0
}

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

.srvs .feat_list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-size: 15px;
  line-height: 1.6;
  color: #11060B
}

.srvs .feat_list li .ico_side {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 3px;
  background: #11060B;
  display: flex;
  align-items: center;
  justify-content: center
}

.srvs .feat_list li:nth-child(even) .ico_side {
  background: #FF62D2
}

.srvs .feat_list li .ico_side svg {
  width: 16px;
  height: 16px;
  fill: #FFF0F8
}

.srvs .feat_list li:nth-child(even) .ico_side svg {
  fill: #11060B
}

.srvs .feat_list li .li_body strong {
  display: block;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 4px
}

.srvs .feat_list li .li_body span {
  font-size: 15px;
  line-height: 1.6;
  opacity: .7
}

.srvs .scallop_mid {
  background: #FFF0F8;
  line-height: 0;
  overflow: hidden
}

.srvs .scallop_mid svg {
  display: block;
  width: 100%
}

.srvs .cta_row {
  background: linear-gradient(307deg, #FF62D2 0%, #FF62D2 30%, #FFF0F8 100%);
  padding: 64px 32px;
  position: relative;
  overflow: hidden
}

.srvs .cta_spot {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 40px;
  background: #fff0f81f;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: spot_pulse 6s ease-in-out infinite alternate;
  pointer-events: none
}

@keyframes spot_pulse {
  from {
    transform: translate(-50%, -50%) scale(0.9);
    opacity: .5
  }

  to {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: 1
  }
}

.srvs .cta_inner {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 64px;
  align-items: center
}

.srvs .cta_inner h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 16px
}

.srvs .cta_inner h2 span {
  border-bottom: 2px solid #11060B
}

.srvs .cta_inner p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 0;
  opacity: .85;
  max-width: 560px
}

.srvs .cta_actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  flex-shrink: 0
}

.srvs .btn_pri {
  display: inline-block;
  background: #11060B;
  color: #FFF0F8;
  font-size: 18px;
  line-height: 1.6;
  padding: 16px 32px;
  border-radius: 3px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: -1px 7px 14px 1px #11060b21;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs .btn_pri:hover {
  background: #2a0d1e;
  box-shadow: -1px 9px 52px 1px #11060b2e
}

.srvs .btn_pri:focus {
  outline: 2px solid #11060B;
  outline-offset: 3px
}

.srvs .btn_sec {
  display: inline-block;
  background: transparent;
  color: #11060B;
  font-size: 15px;
  line-height: 1.6;
  padding: 8px 16px;
  border-radius: 3px;
  border: 1px solid #11060B;
  text-decoration: none;
  cursor: pointer;
  transition: background .4s ease-in-out, color .4s ease-in-out
}

.srvs .btn_sec:hover {
  background: #11060B;
  color: #FFF0F8
}

.srvs .btn_sec:focus {
  outline: 2px solid #11060B;
  outline-offset: 3px
}

@media (max-width: 1024px) {
  .srvs .ttl_blk .ttl_img_wrap {
    display: none
  }

  .srvs .feat_grid {
    grid-template-columns: 1fr 1fr
  }

  .srvs .stack_inner {
    grid-template-columns: 1fr;
    gap: 32px
  }

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

@media (max-width: 640px) {
  .srvs .ttl_h {
    font-size: 43px
  }

  .srvs .feat_grid {
    grid-template-columns: 1fr
  }

  .srvs .feat_inner .sec_h {
    font-size: 43px
  }

  .srvs .cta_inner h2 {
    font-size: 43px
  }

  .srvs .stack_left h2 {
    font-size: 43px
  }
}

.abt {
  max-width: 1440px;
  margin: 0 auto;
  overflow-x: clip
}

.abt .divider {
  height: 1px;
  background: linear-gradient(307deg, transparent 0%, transparent 15%, #FF62D2 50%, transparent 85%, transparent 100%);
  border: none;
  margin: 0
}

.abt .framed {
  display: inline-block;
  border: 1.5px solid #FF62D2;
  border-radius: 3px;
  padding: 0 8px;
  line-height: 1.2
}

.abt .hero_row {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  padding: 64px 64px 96px;
  background: #11060B;
  position: relative
}

.abt .hero_row::before {
  content: "";
  position: absolute;
  top: -40px;
  right: 160px;
  width: 320px;
  height: 320px;
  background: #FF62D2;
  opacity: .04;
  border-radius: 3px;
  transform: rotate(18deg);
  pointer-events: none
}

.abt .hero_text {
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
  position: relative;
  z-index: 1
}

.abt .hero_eyebrow {
  font-size: 15px;
  letter-spacing: .18em;
  color: #FF62D2;
  line-height: 1.2;
  text-transform: uppercase
}

.abt .hero_h1 {
  font-size: 60px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0
}

.abt .hero_h1 .underline_draw {
  display: inline-block;
  position: relative
}

.abt .hero_h1 .underline_draw::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 2px;
  width: 0;
  background: #FF62D2;
  animation: draw_line .7s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards
}

@keyframes draw_line {
  to {
    width: 100%
  }
}

.abt .hero_manifesto {
  font-size: 18px;
  line-height: 1.6;
  color: #c9b0c2;
  max-width: 520px;
  margin: 0;
  border-left: 3px solid #FF62D2;
  padding-left: 16px;
  border-right: none;
  border-top: none;
  border-bottom: none
}

.abt .hero_meta {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 8px
}

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

.abt .hero_stat_num {
  font-size: 43px;
  line-height: 1.2;
  color: #FF62D2;
  font-weight: 700
}

.abt .hero_stat_label {
  font-size: 15px;
  line-height: 1.6;
  color: #c9b0c2;
  letter-spacing: .06em
}

.abt .hero_img_col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative
}

.abt .hero_img_wrap {
  width: 380px;
  height: 480px;
  border-radius: 40px 3px 40px 3px;
  overflow: hidden;
  position: relative;
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.abt .hero_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .hero_img_wrap:hover img {
  transform: scale(1.04)
}

.abt .hero_img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(307deg, #11060b8c 0%, #ff62d22e 100%);
  transition: opacity .5s ease-in-out;
  pointer-events: none;
  border-radius: 40px 3px 40px 3px
}

.abt .hero_img_wrap:hover .hero_img_tint {
  opacity: 0
}

.abt .scanline_overlay {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 3px, #11060b12 3px, #11060b12 4px);
  pointer-events: none;
  border-radius: 40px 3px 40px 3px
}

.abt .hero_deco {
  position: absolute;
  bottom: 32px;
  left: -32px;
  width: 80px;
  height: 80px;
  border: 2px solid #ff62d240;
  border-radius: 3px;
  transform: rotate(12deg);
  pointer-events: none
}

.abt .who_sec {
  background: #FFF0F8;
  padding: 64px;
  position: relative
}

.abt .who_sec::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23FF62D2' stroke-width='0.4' opacity='0.18'%3E%3Crect x='10' y='10' width='40' height='40'/%3E%3Cline x1='0' y1='30' x2='60' y2='30'/%3E%3Cline x1='30' y1='0' x2='30' y2='60'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 60px 60px;
  opacity: .5;
  pointer-events: none
}

.abt .who_grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 64px;
  align-items: start;
  position: relative;
  z-index: 1
}

.abt .who_img_wrap {
  width: 340px;
  height: 420px;
  border-radius: 3px 40px 3px 40px;
  overflow: hidden;
  box-shadow: -1px 7px 14px 1px #11060b14;
  position: relative
}

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

.abt .who_img_wrap:hover img {
  transform: scale(1.05)
}

.abt .who_img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(307deg, #11060b66 0%, #ff62d21f 100%);
  transition: opacity .55s ease-in-out;
  pointer-events: none
}

.abt .who_img_wrap:hover .who_img_tint {
  opacity: 0
}

.abt .who_body {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.abt .who_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #FF62D2;
  display: inline-block
}

.abt .who_desc {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt .who_desc p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 0
}

.abt .who_pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.abt .pillar_card {
  background: #fff;
  border-radius: 3px;
  padding: 16px;
  box-shadow: inset -1px 2px 4px 1px #11060b0d -1px 2px 4px 1px #11060b0d;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .pillar_card:hover {
  box-shadow: inset -1px 2px 4px 1px #11060b0d -1px 7px 14px 1px #ff62d214
}

.abt .pillar_icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt .pillar_icon svg {
  width: 24px;
  height: 24px
}

.abt .pillar_h5 {
  font-size: 15px;
  line-height: 1.2;
  color: #11060B;
  font-weight: 700;
  margin: 0;
  letter-spacing: .04em
}

.abt .pillar_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3d2236;
  margin: 0
}

.abt .team_sec {
  background: #11060B;
  padding: 64px;
  position: relative
}

.abt .team_geo {
  position: absolute;
  top: 32px;
  right: 64px;
  width: 200px;
  height: 200px;
  border: 1px solid #ff62d21f;
  border-radius: 40px;
  transform: rotate(-8deg);
  pointer-events: none
}

.abt .team_geo2 {
  position: absolute;
  bottom: 64px;
  left: 32px;
  width: 120px;
  height: 120px;
  background: #ff62d20a;
  border-radius: 3px;
  transform: rotate(5deg);
  pointer-events: none
}

.abt .team_head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 64px;
  position: relative;
  z-index: 1
}

.abt .team_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0
}

.abt .team_h2 .underline_draw2 {
  display: inline-block;
  position: relative
}

.abt .team_h2 .underline_draw2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 2px;
  width: 0;
  background: #FF62D2;
  animation: draw_line2 .65s cubic-bezier(0.22, 1, 0.36, 1) .6s forwards
}

@keyframes draw_line2 {
  to {
    width: 100%
  }
}

.abt .team_sub {
  font-size: 18px;
  line-height: 1.6;
  color: #c9b0c2;
  max-width: 560px;
  margin: 0
}

.abt .team_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
  z-index: 1
}

.abt .team_card {
  background: #fff0f80a;
  border: 1px solid #ff62d226;
  border-radius: 3px 40px 3px 3px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: inset -1px 2px 4px 1px #ff62d20d;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .team_card:hover {
  border-color: #ff62d273;
  box-shadow: inset -1px 2px 4px 1px #ff62d20d -1px 7px 14px 1px #ff62d214
}

.abt .team_img_wrap {
  width: 72px;
  height: 72px;
  border-radius: 40px;
  overflow: hidden;
  border: 2px solid #ff62d24d;
  flex-shrink: 0;
  position: relative
}

.abt .team_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.abt .team_img_tint {
  position: absolute;
  inset: 0;
  background: #ff62d233;
  transition: opacity .5s ease-in-out;
  pointer-events: none
}

.abt .team_card:hover .team_img_tint {
  opacity: 0
}

.abt .team_name {
  font-size: 18px;
  line-height: 1.2;
  color: #FFF0F8;
  font-weight: 700;
  margin: 0
}

.abt .team_role {
  font-size: 15px;
  line-height: 1.2;
  color: #FF62D2;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0
}

.abt .team_bio {
  font-size: 15px;
  line-height: 1.6;
  color: #c9b0c2;
  margin: 0
}

@media (max-width: 1024px) {
  .abt .hero_row {
    grid-template-columns: 1fr;
    padding: 64px 32px;
    gap: 32px
  }

  .abt .hero_img_col {
    align-items: center
  }

  .abt .hero_img_wrap {
    width: 100%;
    max-width: 420px;
    height: 320px
  }

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

  .abt .who_img_wrap {
    width: 100%;
    height: 280px
  }

  .abt .who_sec {
    padding: 64px 32px
  }

  .abt .team_list {
    grid-template-columns: 1fr 1fr
  }

  .abt .team_sec {
    padding: 64px 32px
  }
}

@media (max-width: 640px) {
  .abt .hero_row {
    padding: 32px 16px 64px
  }

  .abt .hero_h1 {
    font-size: 43px
  }

  .abt .hero_meta {
    flex-direction: column;
    gap: 16px
  }

  .abt .who_sec {
    padding: 32px 16px
  }

  .abt .who_pillars {
    grid-template-columns: 1fr
  }

  .abt .who_h2 {
    font-size: 43px
  }

  .abt .team_list {
    grid-template-columns: 1fr
  }

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

  .abt .team_h2 {
    font-size: 43px
  }
}

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

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

.ld_pg ::selection {
  background: #11060B;
  color: #FFF0F8
}

.ld_pg .div_line {
  width: 100%;
  height: 1px;
  background: radial-gradient(ellipse at center, #FF62D2 0%, transparent 70%);
  border: none;
  margin: 0
}

.ld_pg .ttl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1440px;
  margin: 0 auto;
  min-height: 520px
}

.ld_pg .ttl_img_wrap {
  position: relative;
  overflow: hidden
}

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

.ld_pg .ttl_img_wrap:hover img {
  transform: scale(1.03)
}

.ld_pg .ttl_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(307deg, #11060B 0%, #11060B 30%, #11060b73 70%, transparent 100%);
  pointer-events: none
}

.ld_pg .ttl_frame {
  position: absolute;
  inset: 16px;
  border: 1px solid #ff62d24d;
  pointer-events: none
}

.ld_pg .ttl_txt {
  background: #FFF0F8;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative
}

.ld_pg .ttl_txt::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border: 1px solid #ff62d233;
  pointer-events: none
}

.ld_pg .ttl_label {
  font-size: 15px;
  letter-spacing: .12em;
  color: #FF62D2;
  line-height: 1.2;
  margin-bottom: 16px;
  text-transform: uppercase
}

.ld_pg .ttl_h1 {
  font-size: 60px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 32px
}

.ld_pg .ttl_h1 .frm {
  display: inline;
  border: 1.5px solid #FF62D2;
  padding: 0 8px;
  border-radius: 3px
}

.ld_pg .ttl_desc {
  font-size: 18px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0 0 32px;
  max-width: 440px
}

.ld_pg .btn_prim {
  display: inline-block;
  background: #11060B;
  color: #FFF0F8;
  font-size: 18px;
  line-height: 1.2;
  padding: 16px 32px;
  border-radius: 3px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
  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 7px 14px 1px #11060b14
}

.ld_pg .btn_prim:hover {
  background: #FF62D2;
  color: #11060B;
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.ld_pg .btn_prim:focus {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.ld_pg .btn_prim .rpl {
  position: absolute;
  border-radius: 40px;
  background: #ff62d24d;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  animation: ripple_anim .6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: none
}

@keyframes ripple_anim {
  to {
    width: 300px;
    height: 300px;
    opacity: 0
  }
}

.ld_pg .hesit {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start
}

.ld_pg .hesit_label {
  font-size: 15px;
  letter-spacing: .1em;
  color: #FF62D2;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 16px
}

.ld_pg .hesit_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.ld_pg .hesit_right {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.ld_pg .hesit_q {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  font-weight: 600;
  margin: 0
}

.ld_pg .hesit_p {
  font-size: 18px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0
}

.ld_pg .hesit_cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 8px
}

.ld_pg .hesit_card {
  background: #fff;
  border-radius: 3px;
  padding: 32px;
  box-shadow: -1px 2px 4px 1px #11060b0d -1px 7px 14px 1px #11060b14;
  box-shadow: inset 0 2px 8px #ff62d20f -1px 7px 14px 1px #11060b14;
  border-top: 2px solid #FF62D2;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.ld_pg .hesit_card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 2px 8px #ff62d20f -1px 9px 52px 1px #11060b21
}

.ld_pg .hesit_card_h {
  font-size: 15px;
  line-height: 1.2;
  color: #11060B;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: .05em;
  text-transform: uppercase
}

.ld_pg .hesit_card_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0
}

@keyframes diag_fade {
  from {
    opacity: 0;
    transform: translate(-12px, 12px)
  }

  to {
    opacity: 1;
    transform: translate(0, 0)
  }
}

.ld_pg .anim_d1 {
  animation: diag_fade .6s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

.ld_pg .anim_d2 {
  animation: diag_fade .6s cubic-bezier(0.22, 1, 0.36, 1) .25s both
}

.ld_pg .anim_d3 {
  animation: diag_fade .6s cubic-bezier(0.22, 1, 0.36, 1) .4s both
}

.ld_pg .anim_d4 {
  animation: diag_fade .6s cubic-bezier(0.22, 1, 0.36, 1) .55s both
}

.ld_pg .anim_d5 {
  animation: diag_fade .6s cubic-bezier(0.22, 1, 0.36, 1) .7s both
}

.ld_pg .comm {
  background: #11060B;
  position: relative;
  overflow: hidden
}

.ld_pg .comm_bg_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .18;
  transition: opacity .7s ease-in-out
}

.ld_pg .comm:hover .comm_bg_img {
  opacity: .28
}

.ld_pg .comm_inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 64px;
  align-items: center
}

.ld_pg .comm_left {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.ld_pg .comm_label {
  font-size: 15px;
  letter-spacing: .12em;
  color: #FF62D2;
  text-transform: uppercase;
  line-height: 1.2
}

.ld_pg .comm_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.ld_pg .comm_p {
  font-size: 18px;
  line-height: 1.6;
  color: #fff0f8cc;
  margin: 0
}

.ld_pg .comm_peers {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ld_pg .comm_peer {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  background: #fff0f80d;
  border-radius: 3px;
  padding: 16px;
  border-left: 3px solid #FF62D2;
  border-top: 1px solid #ff62d233;
  transition: background .45s ease-in-out
}

.ld_pg .comm_peer:hover {
  background: #fff0f81a
}

.ld_pg .comm_peer_ico {
  width: 32px;
  height: 32px;
  background: #FF62D2;
  border-radius: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ld_pg .comm_peer_ico svg {
  width: 16px;
  height: 16px;
  fill: #11060B
}

.ld_pg .comm_peer_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #fff0f8d9
}

.ld_pg .comm_right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ld_pg .comm_stat {
  background: #fff0f80f;
  border-radius: 3px;
  padding: 32px;
  border: 1px solid #ff62d233;
  text-align: left;
  transition: border-color .5s ease-in-out
}

.ld_pg .comm_stat:hover {
  border-color: #FF62D2
}

.ld_pg .comm_stat_num {
  font-size: 43px;
  line-height: 1.2;
  color: #FF62D2;
  font-weight: 700;
  display: block
}

.ld_pg .comm_stat_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #fff0f8b3;
  margin-top: 4px;
  display: block
}

.ld_pg .dots_grp {
  position: absolute;
  bottom: 32px;
  right: 32px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  width: 80px;
  pointer-events: none
}

.ld_pg .dot {
  border-radius: 40px;
  background: #ff62d240
}

.ld_pg .dot.sm {
  width: 6px;
  height: 6px
}

.ld_pg .dot.md {
  width: 10px;
  height: 10px
}

.ld_pg .dot.lg {
  width: 16px;
  height: 16px
}

.ld_pg .avail {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px
}

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

.ld_pg .avail_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px;
  max-width: 500px
}

.ld_pg .avail_sub {
  font-size: 18px;
  line-height: 1.6;
  color: #3a1f30;
  max-width: 360px;
  text-align: right
}

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

.ld_pg .avail_item {
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  box-shadow: -1px 2px 4px 1px #11060b0d;
  transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.ld_pg .avail_item:hover {
  box-shadow: -1px 9px 52px 1px #ff62d221;
  transform: translateY(-3px)
}

.ld_pg .avail_img_wrap {
  position: relative;
  height: 200px;
  overflow: hidden
}

.ld_pg .avail_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
  filter: saturate(0.7)
}

.ld_pg .avail_item:hover .avail_img_wrap img {
  transform: scale(1.05);
  filter: saturate(1)
}

.ld_pg .avail_img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(307deg, #11060b99 0%, #11060b33 60%, transparent 100%);
  transition: opacity .5s ease-in-out;
  pointer-events: none
}

.ld_pg .avail_item:hover .avail_img_tint {
  opacity: .4
}

.ld_pg .avail_body {
  background: #fff;
  padding: 32px;
  border-top: 2px solid #FF62D2;
  box-shadow: inset 0 3px 10px #ff62d20d
}

.ld_pg .avail_tag {
  font-size: 15px;
  letter-spacing: .08em;
  color: #FF62D2;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.ld_pg .avail_item_h {
  font-size: 18px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 8px;
  font-weight: 700
}

.ld_pg .avail_item_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0
}

.ld_pg .invest {
  background: linear-gradient(307deg, #FF62D2 0%, #FFF0F8 55%, #fff 100%);
  position: relative
}

.ld_pg .invest_inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start
}

.ld_pg .invest_left {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.ld_pg .invest_label {
  font-size: 15px;
  letter-spacing: .1em;
  color: #11060B;
  text-transform: uppercase;
  line-height: 1.2
}

.ld_pg .invest_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #11060B;
  text-underline-offset: 6px
}

.ld_pg .invest_p {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin: 0
}

.ld_pg .invest_right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ld_pg .inv_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px;
  background: #ffffffb3;
  border-radius: 3px;
  border: 1px solid #11060b1a;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background .45s ease-in-out, border-color .45s ease-in-out
}

.ld_pg .inv_row:hover {
  background: #fffffff2;
  border-color: #11060B
}

.ld_pg .inv_lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  font-weight: 600
}

.ld_pg .inv_val {
  font-size: 18px;
  line-height: 1.2;
  color: #11060B;
  font-weight: 700
}

.ld_pg .inv_note {
  font-size: 15px;
  line-height: 1.6;
  color: #11060b99;
  margin: 0;
  padding: 16px 0 0
}

.ld_pg .btn_sec {
  display: inline-block;
  background: transparent;
  color: #11060B;
  font-size: 15px;
  line-height: 1.2;
  padding: 8px 16px;
  border-radius: 3px;
  border: 1.5px solid #11060B;
  text-decoration: none;
  cursor: pointer;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.ld_pg .btn_sec:hover {
  background: #11060B;
  color: #FFF0F8
}

.ld_pg .btn_sec:focus {
  outline: 2px solid #11060B;
  outline-offset: 3px
}

.ld_pg .rep {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px
}

.ld_pg .rep_top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 64px
}

.ld_pg .rep_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px
}

.ld_pg .rep_intro {
  font-size: 18px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0
}

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

.ld_pg .rep_ref {
  background: #FFF0F8;
  border-radius: 3px;
  padding: 32px;
  box-shadow: inset -1px 2px 4px 1px #ff62d20d -1px 7px 14px 1px #11060b14;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.ld_pg .rep_ref:hover {
  box-shadow: inset -1px 2px 4px 1px #ff62d20d -1px 9px 52px 1px #ff62d221
}

.ld_pg .rep_ref_ico {
  width: 40px;
  height: 40px;
  background: #11060B;
  border-radius: 3px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ld_pg .rep_ref_ico svg {
  width: 20px;
  height: 20px;
  fill: #FF62D2
}

.ld_pg .rep_ref_h {
  font-size: 15px;
  line-height: 1.2;
  color: #11060B;
  font-weight: 700;
  margin: 0;
  letter-spacing: .04em
}

.ld_pg .rep_ref_p {
  font-size: 15px;
  line-height: 1.6;
  color: #3a1f30;
  margin: 0
}

.ld_pg .rep_quote_row {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.ld_pg .rep_quote {
  background: #11060B;
  border-radius: 3px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: -1px 9px 52px 1px #11060b21
}

.ld_pg .rep_quote_txt {
  font-size: 18px;
  line-height: 1.6;
  color: #FFF0F8;
  margin: 0;
  font-style: italic
}

.ld_pg .rep_quote_who {
  font-size: 15px;
  line-height: 1.2;
  color: #FF62D2;
  letter-spacing: .06em
}

.ld_pg .rep_quote_role {
  font-size: 15px;
  line-height: 1.2;
  color: #fff0f880
}

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

  .ld_pg .ttl_img_wrap {
    height: 280px
  }

  .ld_pg .ttl_txt {
    padding: 32px
  }

  .ld_pg .ttl_h1 {
    font-size: 43px
  }

  .ld_pg .hesit {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 32px
  }

  .ld_pg .hesit_cards {
    grid-template-columns: 1fr
  }

  .ld_pg .comm_inner {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 32px
  }

  .ld_pg .avail {
    padding: 32px
  }

  .ld_pg .avail_head {
    flex-direction: column;
    align-items: flex-start
  }

  .ld_pg .avail_sub {
    text-align: left
  }

  .ld_pg .avail_grid {
    grid-template-columns: 1fr
  }

  .ld_pg .invest_inner {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 32px
  }

  .ld_pg .rep {
    padding: 32px
  }

  .ld_pg .rep_top {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 32px
  }

  .ld_pg .rep_refs {
    grid-template-columns: 1fr
  }

  .ld_pg .rep_quote_row {
    grid-template-columns: 1fr;
    margin-top: 32px
  }
}

.ct_us {
  display: block;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  overflow: hidden
}

.ct_us .split_hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 320px
}

.ct_us .split_left {
  background: #11060B;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  clip-path: inset(0 0 0 0);
  animation: reveal_clip .6s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

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

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

.ct_us .split_right {
  background: #FF62D2;
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  clip-path: inset(0 0 0 0);
  animation: reveal_clip_r .7s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

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

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

.ct_us .split_left .pg_label {
  font-size: 15px;
  letter-spacing: .12em;
  color: #FF62D2;
  line-height: 1.6;
  margin-bottom: 16px;
  text-transform: uppercase
}

.ct_us .split_left .pg_h1 {
  font-size: 60px;
  line-height: 1.2;
  color: #FFF0F8;
  margin: 0
}

.ct_us .split_right .pg_tagline {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  max-width: 360px;
  margin: 0
}

.ct_us .split_right .pg_addr {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct_us .split_right .pg_addr span {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.ct_us .split_right .pg_addr .addr_icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.ct_us .wave_div {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #FFF0F8
}

.ct_us .wave_div svg {
  display: block;
  width: 100%
}

.ct_us .form_band {
  background: #FFF0F8;
  padding: 64px 0
}

.ct_us .form_col {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 64px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 64px;
  align-items: start
}

.ct_us .form_card {
  background: #fff;
  border-radius: 3px;
  border-top: 3px solid #FF62D2;
  box-shadow: -1px 9px 52px 1px #ff62d221;
  padding: 64px;
  position: relative
}

.ct_us .form_card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 3px;
  box-shadow: inset -1px 7px 14px 1px #11060b0d;
  pointer-events: none
}

.ct_us .form_card .fc_h2 {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin: 0 0 8px;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px
}

.ct_us .form_card .fc_sub {
  font-size: 15px;
  line-height: 1.6;
  color: #5a3a52;
  margin: 0 0 32px
}

.ct_us .frm {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ct_us .frm .fld_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct_us .frm .fld_grp label {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  letter-spacing: .04em
}

.ct_us .frm .fld_grp input[type="text"],
.ct_us .frm .fld_grp input[type="email"],
.ct_us .frm .fld_grp input[type="tel"] {
  width: 100%;
  padding: 16px;
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  background: #FFF0F8;
  border: 1px solid #11060b26;
  border-radius: 3px;
  outline: none;
  box-sizing: border-box;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.ct_us .frm .fld_grp input::placeholder {
  color: #b07aa0;
  font-style: italic
}

.ct_us .frm .fld_grp input:focus {
  border-color: #FF62D2;
  box-shadow: -1px 2px 4px 1px #ff62d20d
}

.ct_us .frm .radio_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct_us .frm .radio_grp .rg_label {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  letter-spacing: .04em
}

.ct_us .frm .radio_opts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.ct_us .frm .radio_opts label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid #11060b26;
  border-radius: 40px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  background: #FFF0F8;
  transition: border-color .45s ease-in-out, background .45s ease-in-out
}

.ct_us .frm .radio_opts input[type="radio"] {
  accent-color: #FF62D2;
  width: 16px;
  height: 16px
}

.ct_us .frm .radio_opts label:hover {
  border-color: #FF62D2;
  background: #fff
}

.ct_us .frm .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px
}

.ct_us .frm .privacy_row input[type="checkbox"] {
  accent-color: #FF62D2;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer
}

.ct_us .frm .privacy_row .prv_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #5a3a52
}

.ct_us .frm .privacy_row .prv_txt a {
  color: #11060B;
  text-decoration: underline;
  text-decoration-color: #FF62D2;
  text-underline-offset: 3px;
  transition: color .4s ease-in-out
}

.ct_us .frm .privacy_row .prv_txt a:hover {
  color: #FF62D2
}

.ct_us .frm .btn_submit {
  margin-top: 8px;
  padding: 16px 32px;
  font-size: 18px;
  line-height: 1.2;
  color: #FFF0F8;
  background: #11060B;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  align-self: flex-start;
  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 7px 14px 1px #11060b14
}

.ct_us .frm .btn_submit:hover {
  background: #FF62D2;
  color: #11060B;
  box-shadow: -1px 9px 52px 1px #ff62d221
}

.ct_us .frm .btn_submit:focus-visible {
  outline: 2px solid #FF62D2;
  outline-offset: 3px
}

.ct_us .frm .btn_submit .ripple_el {
  position: absolute;
  border-radius: 40px;
  background: #fff0f859;
  transform: scale(0);
  animation: ripple_anim .6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: none
}

@keyframes ripple_anim {
  to {
    transform: scale(4);
    opacity: 0
  }
}

.ct_us .side_info {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 8px
}

.ct_us .side_info .si_block {
  border-top: 2px solid #FF62D2;
  padding-top: 16px
}

.ct_us .side_info .si_block .si_lbl {
  font-size: 15px;
  letter-spacing: .1em;
  color: #FF62D2;
  text-transform: uppercase;
  margin-bottom: 8px;
  line-height: 1.6
}

.ct_us .side_info .si_block .si_val {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B
}

.ct_us .side_info .si_block .si_val a {
  color: #11060B;
  text-decoration: none;
  transition: color .45s ease-in-out
}

.ct_us .side_info .si_block .si_val a:hover {
  color: #FF62D2
}

.ct_us .side_info .feat_strip {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px
}

.ct_us .side_info .feat_strip .feat_item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px
}

.ct_us .side_info .feat_strip .feat_item .fi_icon {
  width: 32px;
  height: 32px;
  background: #11060B;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 4px
}

.ct_us .side_info .feat_strip .feat_item .fi_icon svg {
  width: 16px;
  height: 16px
}

.ct_us .side_info .feat_strip .feat_item .fi_lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  font-weight: 600
}

.ct_us .side_info .feat_strip .feat_item .fi_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #5a3a52
}

.ct_us .circ_deco {
  position: absolute;
  bottom: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  pointer-events: none;
  opacity: .06;
  overflow: hidden
}

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

  .ct_us .split_left {
    padding: 64px 32px 32px
  }

  .ct_us .split_right {
    padding: 32px 32px 64px
  }

  .ct_us .split_left .pg_h1 {
    font-size: 43px
  }

  .ct_us .form_col {
    grid-template-columns: 1fr;
    padding: 0 32px;
    gap: 32px
  }

  .ct_us .form_card {
    padding: 32px
  }
}

@media (max-width: 600px) {
  .ct_us .split_left {
    padding: 32px 16px 16px
  }

  .ct_us .split_right {
    padding: 16px 16px 32px
  }

  .ct_us .split_left .pg_h1 {
    font-size: 43px
  }

  .ct_us .form_col {
    padding: 0 16px
  }

  .ct_us .form_card {
    padding: 16px
  }

  .ct_us .form_band {
    padding: 32px 0
  }

  .ct_us .frm .radio_opts {
    flex-direction: column
  }
}

.succ_page {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 32px;
  background-color: #FFF0F8
}

.succ_page .succ_card {
  background: #fff;
  border-radius: 40px;
  padding: 64px;
  max-width: 560px;
  width: 100%;
  box-shadow: -1px 9px 52px 1px #ff62d221;
  text-align: left;
  position: relative
}

.succ_page .succ_icon {
  width: 56px;
  height: 56px;
  border-radius: 40px;
  background: #FF62D2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  box-shadow: -1px 7px 14px 1px #ff62d214
}

.succ_page .succ_icon svg {
  width: 24px;
  height: 24px;
  display: block
}

.succ_page .succ_label {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .12em;
  color: #FF62D2;
  text-transform: uppercase;
  margin-bottom: 8px
}

.succ_page .succ_heading {
  font-size: 43px;
  line-height: 1.2;
  color: #11060B;
  margin-bottom: 16px;
  border-bottom: 2px solid #FF62D2;
  padding-bottom: 16px
}

.succ_page .succ_body {
  font-size: 18px;
  line-height: 1.6;
  color: #11060B;
  margin-bottom: 32px;
  opacity: .82
}

.succ_page .succ_divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(307deg, #FF62D2 0%, #FFF0F8 60%, #FFF0F8 100%);
  margin-bottom: 32px
}

.succ_page .succ_note {
  font-size: 15px;
  line-height: 1.6;
  color: #11060B;
  opacity: .6;
  margin-bottom: 32px
}

.succ_page .succ_note span {
  color: #11060B;
  opacity: 1;
  font-style: italic
}

.succ_page .succ_btn {
  display: inline-block;
  background: #11060B;
  color: #FFF0F8;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .06em;
  padding: 16px 32px;
  border-radius: 3px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 2px 4px 1px #11060b0d
}

.succ_page .succ_btn:hover {
  background: #FF62D2;
  color: #11060B;
  box-shadow: -1px 7px 14px 1px #ff62d214
}

.succ_page .succ_btn:focus {
  outline: 2px solid #FF62D2;
  outline-offset: 4px
}

.succ_page .succ_btn:active {
  background: #11060B;
  color: #FFF0F8
}

@media (max-width: 600px) {
  .succ_page .succ_card {
    padding: 32px 16px;
    border-radius: 40px
  }

  .succ_page .succ_heading {
    font-size: 43px
  }
}