@import url('https://cdn.jsdelivr.net/npm/@fontsource/noto-serif@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/noto-serif@latest/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/open-sans@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/open-sans@latest/700.css');

html {
  font-size: 100%;
}

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

.site_header {
  background-color: #fff;
  border-bottom: 2px solid #BB2BC6;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  position: relative;
  z-index: 100;
}

.brand_accent_bar {
  background: linear-gradient(135deg, #BB2BC6 0%, #1CA8ED 100%);
  width: 100%;
  height: 6px;
  display: block;
}

.header_body {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.brand_zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 32px 0 16px;
  gap: 8px;
}

.logo_capsule {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 32px;
  background-color: #f5f0f7;
  border-radius: 36px;
  border: 2px solid #BB2BC6;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06), 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  text-decoration: none;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s ease-in-out;
}

.logo_capsule:hover {
  border-color: #1CA8ED;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09), 2px 9px 36px 0 rgba(28, 168, 237, 0.12);
}

.logo_capsule:focus {
  outline: 3px solid #BB2BC6;
  outline-offset: 4px;
}

.logo_capsule img {
  width: 56px;
  height: 56px;
  display: block;
  object-fit: contain;
}

.brand_descriptor {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #3a1a3e;
  text-align: center;
  font-weight: 400;
}

.brand_descriptor strong {
  color: #BB2BC6;
  font-weight: 700;
}

.primary_nav {
  width: 100%;
  padding: 0 0 24px;
}

.primary_nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.primary_nav ul li {
  display: flex;
}

.nav_link {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2a0d2e;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 12px;
  border: 2px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s ease-in-out, color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  min-height: 44px;
}

.nav_link:hover {
  background-color: #f5eef7;
  border-color: #BB2BC6;
  color: #BB2BC6;
}

.nav_link:focus {
  outline: 3px solid #1CA8ED;
  outline-offset: 3px;
}

.nav_link.active {
  background: linear-gradient(90deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #fff;
  border-color: transparent;
}

.nav_link .wi {
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 768px) {
  .header_body {
    padding: 0 16px;
  }

  .brand_zone {
    padding: 24px 0 12px;
  }

  .primary_nav ul {
    gap: 4px;
  }

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

@media (max-width: 375px) {
  .header_body {
    padding: 0 8px;
  }

  .logo_capsule {
    padding: 8px 16px;
  }

  .logo_capsule img {
    width: 48px;
    height: 48px;
  }

  .primary_nav ul {
    gap: 4px;
  }

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

.site_footer {
  background-color: #1e0a22;
  border-top: 4px solid #BB2BC6;
  padding: 64px 0 0;
}

.footer_body {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 64px;
}

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

.footer_logo_wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  background-color: #f5f0f7;
  border-radius: 36px;
  border: 2px solid #FCF609;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  width: fit-content;
}

.footer_logo_wrap img {
  width: 52px;
  height: 52px;
  display: block;
  object-fit: contain;
}

.footer_brand_name {
  font-family: 'Noto Serif', serif;
  font-size: 23px;
  line-height: 1.1;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
}

.footer_tagline {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #c9a8d0;
  letter-spacing: 0.02em;
}

.footer_address_block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.footer_contact_line {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #c9a8d0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.footer_contact_line .wi {
  color: #FCF609;
  font-size: 16px;
  margin-top: 4px;
  flex-shrink: 0;
}

.footer_contact_link {
  color: #FCF609;
  text-decoration: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  transition: color 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

.footer_contact_link:hover {
  color: #1CA8ED;
}

.footer_contact_link:focus {
  outline: 3px solid #FCF609;
  outline-offset: 3px;
}

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

.footer_col_label {
  font-family: 'Noto Serif', serif;
  font-size: 19px;
  line-height: 1.1;
  font-weight: 700;
  color: #FCF609;
  letter-spacing: -0.01em;
  padding-bottom: 8px;
  border-bottom: 2px solid #BB2BC6;
}

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

.offering_list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #c9a8d0;
}

.offering_list li .wi {
  color: #1CA8ED;
  font-size: 16px;
  flex-shrink: 0;
}

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

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

.footer_legal_nav ul li {
  display: flex;
}

.legal_link {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #c9a8d0;
  text-decoration: none;
  padding: 4px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.52s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.52s cubic-bezier(0.22, 1, 0.36, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

.legal_link:hover {
  color: #FCF609;
  border-bottom-color: #FCF609;
}

.legal_link:focus {
  outline: 3px solid #1CA8ED;
  outline-offset: 3px;
}

.footer_bottom_bar {
  margin-top: 64px;
  padding: 16px 32px;
  background-color: #13061a;
  display: flex;
  align-items: center;
  justify-content: center;
}

.copyright_text {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #7a5e82;
  text-align: center;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {
  .footer_body {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding: 0 16px;
  }

  .footer_brand_col {
    grid-column: 1 / -1;
  }

  .site_footer {
    padding: 32px 0 0;
  }
}

@media (max-width: 375px) {
  .footer_body {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 8px;
  }

  .footer_bottom_bar {
    padding: 16px 8px;
  }
}

.cookie_bar_slot {
  display: none;
}

.mejf-terms-info {
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #2a2a35;
}

.mejf-terms-info h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: 32px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 3px solid #BB2BC6;
}

.mejf-terms-info h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-top: 64px;
  margin-bottom: 16px;
  padding-left: 16px;
  border-left: 4px solid #1CA8ED;
  border-bottom: 1px solid rgba(28, 168, 237, 0.18);
  padding-bottom: 8px;
}

.mejf-terms-info h3 {
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-top: 32px;
  margin-bottom: 16px;
  color: #BB2BC6;
}

.mejf-terms-info h4 {
  font-size: 23px;
  line-height: 1.75;
  letter-spacing: 0;
  margin-top: 32px;
  margin-bottom: 8px;
  color: #1a2a3a;
  border-bottom: 2px solid #FCF609;
  display: inline-block;
  padding-bottom: 4px;
}

.mejf-terms-info h5 {
  font-size: 19px;
  line-height: 1.75;
  letter-spacing: 0.01em;
  margin-top: 16px;
  margin-bottom: 8px;
  color: #2a2a35;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.mejf-terms-info h6 {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  margin-top: 16px;
  margin-bottom: 8px;
  color: #4a4a5a;
  text-transform: uppercase;
}

.mejf-terms-info strong,
.mejf-terms-info b {
  font-weight: 700;
  color: #1a2a3a;
}

.mejf-terms-info em,
.mejf-terms-info i {
  font-style: italic;
  color: #3a3a50;
}

.mejf-terms-info hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, #BB2BC6 0%, #1CA8ED 55%, rgba(252, 246, 9, 0.6) 100%);
  margin: 64px 0;
  border-radius: 4px;
}

.mejf-terms-info div {
  line-height: 1.75;
  font-size: 16px;
}

.mejf-terms-info table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 32px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  font-size: 16px;
  line-height: 1.75;
}

.mejf-terms-info thead {
  background: linear-gradient(90deg, #BB2BC6 0%, #1CA8ED 100%);
}

.mejf-terms-info thead tr {
  background: transparent;
}

.mejf-terms-info th {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 16px;
  text-align: left;
  border: none;
}

.mejf-terms-info tbody tr {
  background: #ffffff;
  transition: background-color 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.mejf-terms-info tbody tr:nth-child(even) {
  background: #f5f0fb;
}

.mejf-terms-info tbody tr:hover {
  background: rgba(28, 168, 237, 0.07);
}

.mejf-terms-info td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #2a2a35;
  border-bottom: 1px solid rgba(187, 43, 198, 0.08);
  vertical-align: top;
}

.mejf-terms-info tbody tr:last-child td {
  border-bottom: none;
}

.mejf-terms-info td:first-child,
.mejf-terms-info th:first-child {
  padding-left: 32px;
}

.mejf-terms-info td:last-child,
.mejf-terms-info th:last-child {
  padding-right: 32px;
}

@media (max-width: 768px) {
  .mejf-terms-info {
    padding: 32px 16px;
  }

  .mejf-terms-info h1 {
    font-size: 42px;
  }

  .mejf-terms-info h2 {
    font-size: 30px;
    margin-top: 32px;
  }

  .mejf-terms-info h3 {
    font-size: 23px;
  }

  .mejf-terms-info h4 {
    font-size: 19px;
  }

  .mejf-terms-info table {
    display: block;
    overflow-x: auto;
    border-radius: 4px;
  }

  .mejf-terms-info td:first-child,
  .mejf-terms-info th:first-child {
    padding-left: 16px;
  }

  .mejf-terms-info td:last-child,
  .mejf-terms-info th:last-child {
    padding-right: 16px;
  }

  .mejf-terms-info hr {
    margin: 32px 0;
  }
}

@media (max-width: 375px) {
  .mejf-terms-info {
    padding: 16px 8px;
  }

  .mejf-terms-info h1 {
    font-size: 30px;
  }

  .mejf-terms-info h2 {
    font-size: 23px;
    padding-left: 8px;
  }

  .mejf-terms-info h3 {
    font-size: 19px;
  }

  .mejf-terms-info h4,
  .mejf-terms-info h5,
  .mejf-terms-info h6 {
    font-size: 16px;
  }

  .mejf-terms-info th,
  .mejf-terms-info td {
    padding: 8px;
    font-size: 16px;
  }
}

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

.svcd_pg .breadcrumb_row {
  background: #f5f3f7;
  padding: 16px 0;
  border-bottom: 1px solid rgba(187, 43, 198, 0.12);
}

.svcd_pg .breadcrumb_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.svcd_pg .bc_link {
  font-size: 16px;
  line-height: 1.75;
  color: #BB2BC6;
  text-decoration: none;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.svcd_pg .bc_link:hover {
  color: #1CA8ED;
}

.svcd_pg .bc_sep {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #BB2BC6;
  border-right: 2px solid #BB2BC6;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.svcd_pg .bc_current {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2040;
}

.svcd_pg .title_area {
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 32px 0;
}

.svcd_pg .title_meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.svcd_pg .meta_badge {
  font-size: 16px;
  line-height: 1.1;
  color: #fff;
  background: linear-gradient(263deg, #1CA8ED 0%, #BB2BC6 80%);
  padding: 4px 16px;
  border-radius: 4px;
}

.svcd_pg .meta_date {
  font-size: 16px;
  line-height: 1.75;
  color: #6a5070;
}

.svcd_pg .meta_likes {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
  color: #6a5070;
}

.svcd_pg .heart_icon {
  display: inline-block;
  width: 18px;
  height: 16px;
  position: relative;
}

.svcd_pg .heart_icon svg {
  width: 18px;
  height: 16px;
}

.svcd_pg .page_h1 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1e0a26;
  margin: 0 0 16px;
  max-width: 820px;
}

.svcd_pg .page_h1 .punct {
  color: #BB2BC6;
}

.svcd_pg .title_img_wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin-top: 32px;
  max-height: 480px;
}

.svcd_pg .title_img_wrap img {
  width: 100%;
  object-fit: cover;
  display: block;
}

.svcd_pg .title_img_gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(187, 43, 198, 0.38) 0%, rgba(28, 168, 237, 0.10) 60%, transparent 100%);
  pointer-events: none;
}

.svcd_pg .title_stripe {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(263deg, #BB2BC6 0%, #FCF609 60%, #1CA8ED 100%);
}

.svcd_pg .split_area {
  max-width: 1170px;
  margin: 0 auto;
  padding: 64px 32px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start;
}

.svcd_pg .desc_col {}

.svcd_pg .desc_col .desc_body {
  font-size: 19px;
  line-height: 1.75;
  color: #2a1535;
}

.svcd_pg .desc_col .desc_body p {
  margin: 0 0 16px;
}

.svcd_pg .desc_col .desc_body h2 {
  font-size: 23px;
  line-height: 1.1;
  color: #1e0a26;
  margin: 32px 0 16px;
  letter-spacing: -0.01em;
}

.svcd_pg .desc_col .desc_body strong {
  color: #BB2BC6;
}

.svcd_pg .desc_col .desc_body ol {
  padding-left: 32px;
  margin: 0 0 16px;
}

.svcd_pg .desc_col .desc_body li {
  margin-bottom: 8px;
  font-size: 19px;
  line-height: 1.75;
  color: #2a1535;
}

.svcd_pg .desc_col .desc_body dl {
  margin: 0 0 16px;
}

.svcd_pg .desc_col .desc_body dt {
  font-size: 19px;
  line-height: 1.1;
  color: #BB2BC6;
  font-weight: 700;
  margin-bottom: 4px;
}

.svcd_pg .desc_col .desc_body dd {
  font-size: 19px;
  line-height: 1.75;
  color: #2a1535;
  margin: 0 0 16px 16px;
}

.svcd_pg .desc_col .desc_body cite {
  display: block;
  font-style: italic;
  border-top: 2px solid #BB2BC6;
  border-bottom: 2px solid #1CA8ED;
  padding: 16px;
  margin: 32px 0;
  border-radius: 4px;
  color: #3a1a45;
  font-size: 19px;
  line-height: 1.75;
}

.svcd_pg .desc_col .desc_body details {
  margin: 16px 0;
  border: 1px solid rgba(187, 43, 198, 0.2);
  border-radius: 12px;
  padding: 16px;
}

.svcd_pg .desc_col .desc_body summary {
  font-size: 19px;
  line-height: 1.75;
  color: #BB2BC6;
  cursor: pointer;
  font-weight: 600;
}

.svcd_pg .sidebar_col {}

.svcd_pg .price_card {
  background: #f5f3f7;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  position: sticky;
  top: 32px;
}

.svcd_pg .price_label {
  font-size: 16px;
  line-height: 1.75;
  color: #6a5070;
  margin-bottom: 8px;
}

.svcd_pg .price_val {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1e0a26;
  margin-bottom: 8px;
}

.svcd_pg .price_val .currency_sym {
  font-size: 23px;
  vertical-align: super;
  color: #BB2BC6;
}

.svcd_pg .duration_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(187, 43, 198, 0.15);
}

.svcd_pg .dur_icon {
  display: inline-block;
  width: 20px;
  height: 20px;
}

.svcd_pg .dur_text {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2040;
}

.svcd_pg .enroll_btn {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #fff;
  font-size: 19px;
  line-height: 1.1;
  border: none;
  border-radius: 36px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.svcd_pg .enroll_btn:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  width: calc(100% + 8px);
  margin-left: -4px;
}

.svcd_pg .enroll_btn:focus {
  outline: 3px solid #FCF609;
  outline-offset: 2px;
}

.svcd_pg .card_note {
  font-size: 16px;
  line-height: 1.75;
  color: #6a5070;
  text-align: center;
  margin-top: 16px;
}

.svcd_pg .inline_accent {
  background: #FCF609;
  color: #1e0a26;
  padding: 0 4px;
  border-radius: 4px;
}

.svcd_pg .program_area {
  position: relative;
  background: #1e0a26;
  padding: 64px 0;
  clip-path: polygon(0 32px, 100% 0, 100% 100%, 0 100%);
  margin-top: -4px;
}

.svcd_pg .program_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
}

.svcd_pg .program_heading_row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 32px;
  position: relative;
}

.svcd_pg .prog_num_bg {
  font-size: 72px;
  line-height: 1.1;
  color: rgba(252, 246, 9, 0.08);
  position: absolute;
  right: 0;
  top: -16px;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}

.svcd_pg .program_h2 {
  font-size: 30px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
}

.svcd_pg .program_h2 .punct {
  color: #FCF609;
}

.svcd_pg .program_body {
  color: #d4c8dc;
  font-size: 19px;
  line-height: 1.75;
}

.svcd_pg .program_body p {
  margin: 0 0 16px;
}

.svcd_pg .program_body h2 {
  font-size: 23px;
  line-height: 1.1;
  color: #FCF609;
  margin: 32px 0 16px;
}

.svcd_pg .program_body em {
  color: #1CA8ED;
  font-style: normal;
  font-weight: 600;
}

.svcd_pg .program_body ol {
  padding-left: 32px;
  margin: 0 0 16px;
}

.svcd_pg .program_body li {
  margin-bottom: 8px;
  font-size: 19px;
  line-height: 1.75;
  color: #d4c8dc;
}

.svcd_pg .program_body li::marker {
  color: #BB2BC6;
}

.svcd_pg .deco_lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.svcd_pg .deco_lines::before {
  content: '';
  position: absolute;
  top: 64px;
  right: 32px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(252, 246, 9, 0.12);
  border-radius: 50%;
}

.svcd_pg .deco_lines::after {
  content: '';
  position: absolute;
  bottom: 32px;
  left: 64px;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(28, 168, 237, 0.18);
  border-radius: 50%;
}

.svcd_pg .reaction_area {
  background: #f5f3f7;
  padding: 64px 0;
}

.svcd_pg .reaction_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
}

.svcd_pg .reaction_heading {
  font-size: 23px;
  line-height: 1.1;
  color: #1e0a26;
  margin: 0 0 8px;
}

.svcd_pg .reaction_sub {
  font-size: 16px;
  line-height: 1.75;
  color: #6a5070;
  margin: 0 0 32px;
}

.svcd_pg .reaction_group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.svcd_pg .reaction_item input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.svcd_pg .reaction_item {
  position: relative;
}

.svcd_pg .reaction_item label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 12px;
  border: 2px solid rgba(187, 43, 198, 0.18);
  background: #fff;
  cursor: pointer;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s ease-in-out;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  min-width: 80px;
}

.svcd_pg .reaction_item label:hover {
  border-color: #BB2BC6;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.svcd_pg .reaction_item input[type="radio"]:checked+label {
  border-color: #BB2BC6;
  background: linear-gradient(263deg, rgba(187, 43, 198, 0.08) 0%, rgba(28, 168, 237, 0.06) 100%);
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.svcd_pg .reaction_item input[type="radio"]:focus+label {
  outline: 3px solid #FCF609;
  outline-offset: 2px;
}

.svcd_pg .reaction_icon_wrap {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.svcd_pg .reaction_icon_wrap svg {
  width: 32px;
  height: 32px;
}

.svcd_pg .reaction_lbl_text {
  font-size: 16px;
  line-height: 1.1;
  color: #3a2040;
}

.svcd_pg .reaction_item input[type="radio"]:checked+label .reaction_lbl_text {
  color: #BB2BC6;
  font-weight: 700;
}

.svcd_pg .expand_line_wrap {
  margin-top: 32px;
  height: 3px;
  background: rgba(187, 43, 198, 0.10);
  border-radius: 4px;
  overflow: hidden;
  max-width: 320px;
}

.svcd_pg .expand_line {
  height: 100%;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  border-radius: 4px;
  animation: line_expand 2.2s cubic-bezier(0.22, 1, 0.36, 1) infinite alternate;
}

@keyframes line_expand {
  0% {
    width: 18%;
  }

  100% {
    width: 100%;
  }
}

.svcd_pg .mask_reveal {
  animation: mask_open 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes mask_open {
  from {
    clip-path: inset(0 50% 0 50%);
    opacity: 0;
  }

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

.svcd_pg .fade_up {
  animation: fade_up_in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

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

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

.svcd_pg .fade_up_2 {
  animation: fade_up_in 0.65s 0.15s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.svcd_pg .fade_up_3 {
  animation: fade_up_in 0.65s 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (max-width: 1366px) {
  .svcd_pg .split_area {
    grid-template-columns: 1fr 300px;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .svcd_pg .split_area {
    grid-template-columns: 1fr;
    padding: 32px 16px;
    gap: 32px;
  }

  .svcd_pg .price_card {
    position: static;
  }

  .svcd_pg .sidebar_col {
    order: -1;
  }

  .svcd_pg .title_area {
    padding: 32px 16px 0;
  }

  .svcd_pg .page_h1 {
    font-size: 30px;
  }

  .svcd_pg .program_inner {
    padding: 0 16px;
  }

  .svcd_pg .reaction_inner {
    padding: 0 16px;
  }

  .svcd_pg .breadcrumb_inner {
    padding: 0 16px;
  }

  .svcd_pg .program_area {
    clip-path: polygon(0 16px, 100% 0, 100% 100%, 0 100%);
    padding: 48px 0;
  }

  .svcd_pg .reaction_group {
    gap: 8px;
  }

  .svcd_pg .reaction_item label {
    padding: 16px 16px;
    min-width: 64px;
  }
}

@media (max-width: 375px) {
  .svcd_pg .page_h1 {
    font-size: 23px;
  }

  .svcd_pg .price_val {
    font-size: 30px;
  }

  .svcd_pg .enroll_btn {
    font-size: 16px;
  }

  .svcd_pg .split_area {
    padding: 32px 16px;
  }

  .svcd_pg .title_area {
    padding: 32px 16px 0;
  }
}

.intl_students {
  background: #ffffff;
  overflow-x: clip;
  position: relative;
}

.intl_students .page_schema {
  display: none;
}

.intl_students .card_grid_wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 32px;
}

.intl_students .title_area {
  position: relative;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.intl_students .title_img_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

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

.intl_students .title_img_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(263deg, rgba(187, 43, 198, 0.18) 0%, rgba(28, 168, 237, 0.55) 60%, #0d1a2e 100%);
  z-index: 1;
}

.intl_students .title_bottom_fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 55%;
  background: linear-gradient(to top, #0d1a2e 0%, transparent 100%);
  z-index: 2;
}

.intl_students .title_text_zone {
  position: relative;
  z-index: 3;
  max-width: 1170px;
  margin: 0 auto;
  width: 100%;
  padding: 96px 32px 64px;
}

.intl_students .title_reading_line {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.intl_students .reading_dash {
  width: 48px;
  height: 2px;
  background: #FCF609;
  flex-shrink: 0;
}

.intl_students .reading_label {
  font-size: 16px;
  line-height: 1.75;
  color: #FCF609;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.intl_students .title_h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #ffffff;
  letter-spacing: -0.03em;
  margin: 0 0 8px;
  max-width: 780px;
}

.intl_students .title_h2_sub {
  font-size: 30px;
  line-height: 1.1;
  color: rgba(252, 246, 9, 0.88);
  letter-spacing: -0.01em;
  margin: 0 0 32px;
  max-width: 600px;
}

.intl_students .title_body {
  font-size: 19px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.82);
  max-width: 560px;
  margin: 0 0 32px;
}

.intl_students .title_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}

.intl_students .btn_primary {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #ffffff;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease-in-out, background 0.5s ease-in-out;
  white-space: nowrap;
}

.intl_students .btn_primary:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 60%, #FCF609 100%);
  padding-left: 40px;
  padding-right: 40px;
}

.intl_students .btn_outline {
  display: inline-block;
  padding: 16px 32px;
  background: transparent;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  border: 2px solid rgba(252, 246, 9, 0.7);
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  transition: padding 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease-in-out, background 0.5s ease-in-out;
  white-space: nowrap;
}

.intl_students .btn_outline:hover {
  border-color: #FCF609;
  background: rgba(252, 246, 9, 0.12);
  padding-left: 40px;
  padding-right: 40px;
}

.intl_students .title_deco_line {
  position: absolute;
  right: 64px;
  bottom: 64px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.intl_students .deco_dot {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #FCF609;
}

.intl_students .deco_vert {
  width: 2px;
  height: 64px;
  background: linear-gradient(to bottom, #FCF609, transparent);
}

.intl_students .divider_band {
  height: 8px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 65%, #FCF609 100%);
}

.intl_students .cards_section {
  background: #f4f5f7;
  position: relative;
}

.intl_students .cards_section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 0;
  pointer-events: none;
  animation: edge_glow 4.5s ease-in-out infinite;
  box-shadow: inset 0 0 0 0 rgba(187, 43, 198, 0);
}

@keyframes edge_glow {
  0% {
    box-shadow: inset 0 0 32px 0 rgba(187, 43, 198, 0.0), inset 0 0 32px 0 rgba(28, 168, 237, 0.0);
  }

  50% {
    box-shadow: inset 0 0 48px 4px rgba(187, 43, 198, 0.07), inset 0 0 48px 4px rgba(28, 168, 237, 0.06);
  }

  100% {
    box-shadow: inset 0 0 32px 0 rgba(187, 43, 198, 0.0), inset 0 0 32px 0 rgba(28, 168, 237, 0.0);
  }
}

.intl_students .cards_inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 32px;
}

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

.intl_students .cards_heading_group {
  flex: 1 1 0;
  max-width: 600px;
  position: relative;
}

.intl_students .faded_num {
  font-size: 72px;
  line-height: 1.1;
  color: rgba(187, 43, 198, 0.07);
  letter-spacing: -0.04em;
  position: absolute;
  top: -32px;
  left: -16px;
  z-index: 0;
  user-select: none;
  pointer-events: none;
}

.intl_students .cards_h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #1a2540;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
}

.intl_students .accent_bracket {
  color: #BB2BC6;
}

.intl_students .cards_lead {
  font-size: 19px;
  line-height: 1.75;
  color: #3a4460;
  margin: 0;
  position: relative;
  z-index: 1;
}

.intl_students .metrics_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  flex-shrink: 0;
  width: 280px;
}

.intl_students .metric_item {
  background: #ffffff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 3px solid transparent;
  transition: border-color 0.5s ease-in-out, box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.intl_students .metric_item:nth-child(1) {
  border-top-color: #BB2BC6;
}

.intl_students .metric_item:nth-child(2) {
  border-top-color: #1CA8ED;
}

.intl_students .metric_item:nth-child(3) {
  border-top-color: #FCF609;
}

.intl_students .metric_item:nth-child(4) {
  border-top-color: #BB2BC6;
}

.intl_students .metric_item:hover {
  box-shadow: 2px 9px 36px 0 rgba(28, 168, 237, 0.12);
}

.intl_students .metric_val {
  font-size: 30px;
  line-height: 1.1;
  color: #1a2540;
  letter-spacing: -0.02em;
}

.intl_students .metric_label {
  font-size: 16px;
  line-height: 1.75;
  color: #5a6480;
  letter-spacing: 0.02em;
}

.intl_students .big_cards_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.intl_students .big_card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.intl_students .big_card:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  transform: translateY(-4px);
}

.intl_students .big_card.featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}

.intl_students .card_num_bg {
  position: absolute;
  top: 16px;
  right: 24px;
  font-size: 72px;
  line-height: 1.1;
  color: rgba(28, 168, 237, 0.06);
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}

.intl_students .card_icon_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.intl_students .card_icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.intl_students .card_icon.purple {
  background: linear-gradient(263deg, #BB2BC6 0%, rgba(187, 43, 198, 0.6) 100%);
}

.intl_students .card_icon.blue {
  background: linear-gradient(263deg, #1CA8ED 0%, rgba(28, 168, 237, 0.6) 100%);
}

.intl_students .card_icon.yellow {
  background: linear-gradient(263deg, #FCF609 0%, rgba(252, 246, 9, 0.6) 100%);
}

.intl_students .card_icon svg {
  width: 20px;
  height: 20px;
}

.intl_students .card_h4 {
  font-size: 23px;
  line-height: 1.1;
  color: #1a2540;
  letter-spacing: -0.01em;
  margin: 0;
}

.intl_students .card_body {
  font-size: 16px;
  line-height: 1.75;
  color: #3a4460;
  margin: 0;
}

.intl_students .card_dashed_line {
  width: 100%;
  border: none;
  border-top: 1px dashed rgba(187, 43, 198, 0.3);
  margin: 8px 0;
}

.intl_students .card_tag {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  color: #BB2BC6;
  background: rgba(187, 43, 198, 0.07);
  border-radius: 4px;
  padding: 4px 8px;
  letter-spacing: 0.03em;
}

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

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

.intl_students .feat_img_wrap {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.intl_students .feat_img_wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.intl_students .feat_img_wrap:hover img {
  transform: scale(1.04);
}

.intl_students .guide_ref {
  background: rgba(28, 168, 237, 0.06);
  border-radius: 4px;
  padding: 16px;
  border-top: 2px solid #1CA8ED;
}

.intl_students .guide_ref_label {
  font-size: 16px;
  line-height: 1.75;
  color: #1CA8ED;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 4px;
}

.intl_students .guide_ref_text {
  font-size: 16px;
  line-height: 1.75;
  color: #3a4460;
  margin: 0;
}

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

.intl_students .checklist_items li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
  color: #3a4460;
}

.intl_students .check_dot {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  flex-shrink: 0;
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.intl_students .check_dot svg {
  width: 11px;
  height: 11px;
}

.intl_students .section_divider_center {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  margin: 0;
}

.intl_students .sdiv_line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(187, 43, 198, 0.25));
}

.intl_students .sdiv_line.right {
  background: linear-gradient(to left, transparent, rgba(187, 43, 198, 0.25));
}

.intl_students .sdiv_gem {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: #BB2BC6;
  transform: rotate(45deg);
  flex-shrink: 0;
}

@media (max-width: 1366px) {
  .intl_students .title_h1 {
    font-size: 58px;
  }

  .intl_students .metrics_grid {
    width: 240px;
  }
}

@media (max-width: 768px) {
  .intl_students .title_text_zone {
    padding: 64px 16px 48px;
  }

  .intl_students .title_h1 {
    font-size: 42px;
  }

  .intl_students .title_h2_sub {
    font-size: 23px;
  }

  .intl_students .title_deco_line {
    display: none;
  }

  .intl_students .cards_top_row {
    flex-direction: column;
    align-items: flex-start;
  }

  .intl_students .metrics_grid {
    width: 100%;
  }

  .intl_students .big_cards_grid {
    grid-template-columns: 1fr;
  }

  .intl_students .big_card.featured {
    grid-template-columns: 1fr;
  }

  .intl_students .cards_inner {
    padding: 64px 16px;
  }

  .intl_students .cards_h2 {
    font-size: 30px;
  }
}

@media (max-width: 375px) {
  .intl_students .title_h1 {
    font-size: 30px;
  }

  .intl_students .title_h2_sub {
    font-size: 19px;
  }

  .intl_students .title_body {
    font-size: 16px;
  }

  .intl_students .title_actions {
    flex-direction: column;
  }

  .intl_students .cards_h2 {
    font-size: 23px;
  }

  .intl_students .metric_val {
    font-size: 23px;
  }
}

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

.lrn-prog .pg-container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
}

.lrn-prog .divider-line {
  border: none;
  border-top: 1px solid #d8d0dc;
  margin: 0;
}

/* ─── TITLE BLOCK ─── */
.lrn-prog .title-block {
  padding: 64px 0 64px;
  position: relative;
  overflow: hidden;
}

.lrn-prog .title-block-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 64px;
}

.lrn-prog .title-atmos {
  position: absolute;
  top: -60px;
  right: -80px;
  width: 420px;
  height: 420px;
  background: #BB2BC6;
  opacity: 0.05;
  border-radius: 36px;
  filter: blur(80px);
  pointer-events: none;
}

.lrn-prog .title-atmos-b {
  position: absolute;
  bottom: -40px;
  left: 30%;
  width: 300px;
  height: 300px;
  background: #1CA8ED;
  opacity: 0.06;
  border-radius: 36px;
  filter: blur(60px);
  pointer-events: none;
}

.lrn-prog .title-img-frame {
  flex: 0 0 420px;
  position: relative;
}

.lrn-prog .title-img-wrap {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.lrn-prog .title-img-wrap img {
  width: 420px;
  height: 300px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  filter: blur(0px);
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 55%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 55%, transparent 100%);
}

.lrn-prog .title-img-border {
  position: absolute;
  inset: -6px;
  border-radius: 12px;
  border: 2px solid #BB2BC6;
  opacity: 0.3;
  pointer-events: none;
}

.lrn-prog .title-outlined-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 460px;
  height: 340px;
  border-radius: 12px;
  border: 1px solid #BB2BC6;
  opacity: 0.08;
  pointer-events: none;
}

.lrn-prog .title-text {
  flex: 1;
  padding-top: 8px;
}

.lrn-prog .title-label {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #BB2BC6;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.lrn-prog .title-h1 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin-bottom: 16px;
}

.lrn-prog .title-h1 .accent-bracket {
  color: #BB2BC6;
}

.lrn-prog .title-desc {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2b42;
  margin-bottom: 32px;
  max-width: 480px;
}

.lrn-prog .title-meta {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
  flex-wrap: wrap;
}

.lrn-prog .rating-pill {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: #f5edf7;
  border: 1px solid #BB2BC6;
  border-radius: 36px;
  padding: 8px 16px;
}

.lrn-prog .rating-stars {
  display: flex;
  flex-direction: row;
  gap: 4px;
}

.lrn-prog .star-icon {
  width: 14px;
  height: 14px;
  fill: #FCF609;
  stroke: #BB2BC6;
  stroke-width: 1;
}

.lrn-prog .rating-val {
  font-size: 16px;
  line-height: 1.1;
  color: #1a0a1e;
  font-weight: 700;
}

.lrn-prog .rating-count {
  font-size: 16px;
  line-height: 1.1;
  color: #6b4070;
}

.lrn-prog .cta-btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  background: linear-gradient(263deg, #BB2BC6 0%, #7a1a9e 60%, #1CA8ED 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1), padding 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease-in-out;
  white-space: nowrap;
}

.lrn-prog .cta-btn:hover {
  padding: 16px 40px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.lrn-prog .cta-btn:focus {
  outline: 2px solid #BB2BC6;
  outline-offset: 3px;
}

/* ─── SECTION 2: PROGRAM STRUCTURE ─── */
.lrn-prog .structure-sec {
  padding: 96px 0 64px;
  background: #faf5fc;
  position: relative;
}

.lrn-prog .structure-outline-shape {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 180px;
  height: 180px;
  border-radius: 36px;
  border: 2px solid #BB2BC6;
  opacity: 0.07;
  pointer-events: none;
}

.lrn-prog .structure-outline-shape-b {
  position: absolute;
  bottom: 32px;
  left: 16px;
  width: 120px;
  height: 120px;
  border-radius: 36px;
  border: 2px solid #1CA8ED;
  opacity: 0.09;
  pointer-events: none;
}

.lrn-prog .structure-head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 64px;
  gap: 32px;
  flex-wrap: wrap;
}

.lrn-prog .structure-head-text h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin-bottom: 16px;
}

.lrn-prog .structure-head-text h2 .accent-bracket {
  color: #BB2BC6;
}

.lrn-prog .structure-head-text p {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2b42;
  max-width: 520px;
}

.lrn-prog .intl-link {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  color: #1CA8ED;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  transition: color 0.45s ease-in-out;
}

.lrn-prog .intl-link:hover {
  color: #BB2BC6;
}

.lrn-prog .three-col {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: 32px;
  align-items: start;
}

.lrn-prog .module-card {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  position: relative;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  border-top: 3px solid #BB2BC6;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}

.lrn-prog .module-card.center {
  border-top-color: #1CA8ED;
  padding-top: 40px;
  padding-bottom: 40px;
}

.lrn-prog .module-card.right {
  border-top-color: #FCF609;
}

.lrn-prog .module-card:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  transform: translateY(-4px);
}

.lrn-prog .card-num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  opacity: 0.07;
  position: absolute;
  top: -8px;
  right: 16px;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}

.lrn-prog .module-card.center .card-num {
  color: #1CA8ED;
}

.lrn-prog .module-card.right .card-num {
  color: #FCF609;
  opacity: 0.18;
}

.lrn-prog .card-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f5edf7;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.lrn-prog .module-card.center .card-icon-wrap {
  background: #e6f5fd;
}

.lrn-prog .module-card.right .card-icon-wrap {
  background: #fefde6;
}

.lrn-prog .card-icon-wrap svg {
  width: 24px;
  height: 24px;
}

.lrn-prog .module-card h4 {
  font-size: 19px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #1a0a1e;
  margin-bottom: 8px;
}

.lrn-prog .module-card p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d2b42;
}

.lrn-prog .card-duration {
  display: inline-block;
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.1;
  color: #BB2BC6;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.lrn-prog .module-card.center .card-duration {
  color: #1CA8ED;
}

/* ─── SECTION 3: CHECKLIST + DETAILS (TERTIARY BG) ─── */
.lrn-prog .checklist-sec {
  padding: 96px 0;
  background: #FCF609;
  position: relative;
}

.lrn-prog .checklist-inner {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
}

.lrn-prog .checklist-left {
  flex: 1;
}

.lrn-prog .checklist-left h3 {
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin-bottom: 8px;
}

.lrn-prog .checklist-left .sub-note {
  font-size: 16px;
  line-height: 1.75;
  color: #2d1a35;
  margin-bottom: 32px;
}

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

.lrn-prog .feature-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
}

.lrn-prog .check-svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.lrn-prog .feature-list li span {
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
}

.lrn-prog .checklist-right {
  flex: 1;
}

.lrn-prog .checklist-right h3 {
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin-bottom: 16px;
}

.lrn-prog .checklist-right p {
  font-size: 16px;
  line-height: 1.75;
  color: #2d1a35;
  margin-bottom: 16px;
}

.lrn-prog .guide-note {
  background: rgba(255, 255, 255, 0.55);
  border-radius: 12px;
  padding: 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
  border-top: 3px solid #BB2BC6;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
}

/* ─── SECTION 4: PROGRESSIVE DISCLOSURE ─── */
.lrn-prog .disclosure-sec {
  padding: 96px 0 96px;
  background: #fff;
  position: relative;
}

.lrn-prog .disclosure-outline {
  position: absolute;
  top: 50%;
  right: -60px;
  transform: translateY(-50%);
  width: 260px;
  height: 260px;
  border-radius: 36px;
  border: 2px solid #1CA8ED;
  opacity: 0.06;
  pointer-events: none;
}

.lrn-prog .disclosure-head {
  text-align: center;
  margin-bottom: 64px;
}

.lrn-prog .disclosure-head h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin-bottom: 16px;
}

.lrn-prog .disclosure-head h2 .accent-bracket {
  color: #1CA8ED;
}

.lrn-prog .disclosure-head p {
  font-size: 19px;
  line-height: 1.75;
  color: #3d2b42;
  max-width: 560px;
  margin: 0 auto;
}

.lrn-prog .accordion-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lrn-prog .accord-item {
  border-radius: 12px;
  border: 1px solid #e0d4e6;
  background: #fff;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  overflow: hidden;
  position: relative;
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrn-prog .accord-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  opacity: 0;
  transition: opacity 0.45s ease-in-out;
}

.lrn-prog .accord-item:focus-within::before {
  opacity: 1;
}

.lrn-prog .accord-toggle {
  display: none;
}

.lrn-prog .accord-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 24px 32px;
  cursor: pointer;
  user-select: none;
  gap: 16px;
  transition: background 0.45s ease-in-out;
}

.lrn-prog .accord-label:hover {
  background: #faf5fc;
}

.lrn-prog .accord-label h5 {
  font-size: 19px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #1a0a1e;
  margin: 0;
}

.lrn-prog .accord-arrow {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 36px;
  border: 1.5px solid #BB2BC6;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s ease-in-out;
}

.lrn-prog .accord-arrow svg {
  width: 12px;
  height: 12px;
  stroke: #BB2BC6;
  stroke-width: 2;
  fill: none;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrn-prog .accord-toggle:checked+.accord-label .accord-arrow {
  background: #BB2BC6;
  transform: rotate(180deg);
}

.lrn-prog .accord-toggle:checked+.accord-label .accord-arrow svg {
  stroke: #fff;
}

.lrn-prog .accord-toggle:checked+.accord-label {
  background: #faf5fc;
}

.lrn-prog .accord-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.lrn-prog .accord-toggle:checked~.accord-body {
  max-height: 400px;
}

.lrn-prog .accord-body-inner {
  padding: 0 32px 24px;
  font-size: 16px;
  line-height: 1.75;
  color: #3d2b42;
}

.lrn-prog .accord-body-inner p {
  margin-bottom: 8px;
}

.lrn-prog .accord-body-inner p:last-child {
  margin-bottom: 0;
}

.lrn-prog .accord-item:hover {
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

/* ─── BORDER TRACE HOVER ─── */
.lrn-prog .trace-wrap {
  position: relative;
  display: inline-block;
}

.lrn-prog .trace-wrap::before,
.lrn-prog .trace-wrap::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 4px;
  pointer-events: none;
}

.lrn-prog .trace-wrap::before {
  border-top: 2px solid #BB2BC6;
  border-right: 2px solid #BB2BC6;
  width: 0;
  height: 0;
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), height 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.45s;
}

.lrn-prog .trace-wrap::after {
  border-bottom: 2px solid #1CA8ED;
  border-left: 2px solid #1CA8ED;
  width: 0;
  height: 0;
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.9s, height 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.45s;
}

.lrn-prog .trace-wrap:hover::before {
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), height 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.45s;
}

.lrn-prog .trace-wrap:hover::after {
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), height 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.45s;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 1366px) {
  .lrn-prog .title-img-frame {
    flex: 0 0 360px;
  }

  .lrn-prog .title-img-wrap img {
    width: 360px;
    height: 260px;
  }

  .lrn-prog .title-outlined-bg {
    width: 400px;
    height: 300px;
  }
}

@media (max-width: 768px) {
  .lrn-prog .title-block-inner {
    flex-direction: column;
    gap: 32px;
  }

  .lrn-prog .title-img-frame {
    flex: none;
    width: 100%;
  }

  .lrn-prog .title-img-wrap img {
    width: 100%;
    height: 220px;
  }

  .lrn-prog .title-outlined-bg {
    display: none;
  }

  .lrn-prog .title-h1 {
    font-size: 30px;
  }

  .lrn-prog .three-col {
    grid-template-columns: 1fr;
  }

  .lrn-prog .module-card.center {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .lrn-prog .checklist-inner {
    flex-direction: column;
    gap: 32px;
  }

  .lrn-prog .structure-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .lrn-prog .structure-head-text h2 {
    font-size: 30px;
  }

  .lrn-prog .disclosure-head h2 {
    font-size: 30px;
  }

  .lrn-prog .accord-label {
    padding: 16px;
  }

  .lrn-prog .accord-body-inner {
    padding: 0 16px 16px;
  }
}

@media (max-width: 375px) {
  .lrn-prog .pg-container {
    padding: 0 16px;
  }

  .lrn-prog .title-h1 {
    font-size: 23px;
  }

  .lrn-prog .title-desc {
    font-size: 16px;
  }

  .lrn-prog .title-block {
    padding: 32px 0;
  }

  .lrn-prog .structure-sec,
  .lrn-prog .checklist-sec,
  .lrn-prog .disclosure-sec {
    padding: 64px 0;
  }

  .lrn-prog .accord-label h5 {
    font-size: 16px;
  }
}

.abt {
  background: #ffffff;
  overflow-x: clip;
  position: relative;
}

.abt .strip-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(263deg, #f5eaff 0%, #e8f7fd 40%, #fffde8 100%);
  padding: 32px 0 0;
}

.abt .strip-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 20% 60%, rgba(187, 43, 198, 0.07) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 30%, rgba(28, 168, 237, 0.07) 0%, transparent 55%);
  pointer-events: none;
}

.abt .dot_scatter {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.abt .dot_scatter span {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 36px;
  background: #BB2BC6;
  opacity: 0.13;
}

.abt .dot_scatter span:nth-child(2) {
  background: #1CA8ED;
  opacity: 0.11;
  top: 18%;
  left: 72%;
  width: 6px;
  height: 6px;
}

.abt .dot_scatter span:nth-child(3) {
  background: #FCF609;
  opacity: 0.25;
  top: 60%;
  left: 15%;
  width: 5px;
  height: 5px;
  border-radius: 4px;
}

.abt .dot_scatter span:nth-child(4) {
  background: #BB2BC6;
  opacity: 0.09;
  top: 80%;
  left: 55%;
  width: 7px;
  height: 7px;
}

.abt .dot_scatter span:nth-child(5) {
  background: #1CA8ED;
  opacity: 0.14;
  top: 35%;
  left: 88%;
  width: 4px;
  height: 4px;
}

.abt .dot_scatter span:nth-child(6) {
  background: #FCF609;
  opacity: 0.20;
  top: 70%;
  left: 38%;
  width: 5px;
  height: 5px;
  border-radius: 4px;
}

.abt .dot_scatter span:nth-child(7) {
  background: #BB2BC6;
  opacity: 0.08;
  top: 10%;
  left: 45%;
  width: 6px;
  height: 6px;
}

.abt .dot_scatter span:nth-child(8) {
  background: #1CA8ED;
  opacity: 0.10;
  top: 88%;
  left: 82%;
  width: 4px;
  height: 4px;
}

.abt .dot_scatter span:first-child {
  top: 25%;
  left: 8%;
}

.abt .strip_img_row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  gap: 32px;
}

.abt .strip_img_wrap {
  flex: 0 0 auto;
  width: 340px;
  position: relative;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.abt .strip_img_wrap img {
  width: 340px;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 12px 12px 0 0;
  filter: brightness(1.04) contrast(1.02);
}

.abt .strip_img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 30%, rgba(255, 255, 255, 0.38) 0%, transparent 65%);
  pointer-events: none;
  border-radius: 12px 12px 0 0;
}

.abt .strip_text_zone {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px 0 32px;
}

.abt .strip_h1 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0;
  font-weight: 800;
}

.abt .strip_h1 .accent_word {
  color: #BB2BC6;
}

.abt .zigzag_div {
  width: 100%;
  line-height: 0;
  margin-top: -1px;
}

.abt .zigzag_div svg {
  display: block;
  width: 100%;
}

.abt .about_body {
  background: #ffffff;
  padding: 64px 0;
  position: relative;
}

.abt .about_body::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(28, 168, 237, 0.04) 0%, transparent 70%);
  pointer-events: none;
  animation: radial_shift 9s ease-in-out infinite alternate;
}

@keyframes radial_shift {
  0% {
    background: radial-gradient(ellipse at 20% 40%, rgba(28, 168, 237, 0.05) 0%, transparent 65%);
  }

  50% {
    background: radial-gradient(ellipse at 70% 60%, rgba(187, 43, 198, 0.04) 0%, transparent 65%);
  }

  100% {
    background: radial-gradient(ellipse at 50% 20%, rgba(252, 246, 9, 0.04) 0%, transparent 65%);
  }
}

.abt .about_grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 32px;
}

.abt .about_card {
  background: #f7f3ff;
  border-radius: 12px;
  padding: 32px;
  position: relative;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.abt .about_card:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  transform: translateY(-3px);
}

.abt .about_card.large {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  background: linear-gradient(263deg, #f0e6ff 0%, #e2f5fd 60%, #fffde8 100%);
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start;
}

.abt .about_card.large .card_img_wrap {
  flex: 0 0 auto;
  width: 220px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
}

.abt .about_card.large .card_img_wrap img {
  width: 220px;
  height: 180px;
  object-fit: cover;
  display: block;
}

.abt .about_card.large .card_text {
  flex: 1 1 0;
}

.abt .about_card.side_img {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: linear-gradient(263deg, #fff9e6 0%, #f3f8ff 100%);
}

.abt .about_card.side_img .card_img_wrap2 {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
}

.abt .about_card.side_img .card_img_wrap2 img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.abt .about_card.plain {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  background: #edf8ff;
}

.abt .about_card.plain2 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  background: #fff8f0;
}

.abt .card_num {
  position: absolute;
  top: 8px;
  right: 16px;
  font-size: 72px;
  line-height: 1.1;
  font-weight: 900;
  color: #BB2BC6;
  opacity: 0.06;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}

.abt .card_h2 {
  font-size: 23px;
  line-height: 1.1;
  color: #1a1a2e;
  margin: 0 0 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.abt .card_h2 .aw {
  color: #BB2BC6;
}

.abt .card_h3 {
  font-size: 19px;
  line-height: 1.1;
  color: #1a1a2e;
  margin: 0 0 8px;
  font-weight: 700;
}

.abt .card_p {
  font-size: 16px;
  line-height: 1.75;
  color: #2d2d3a;
  margin: 0 0 16px;
}

.abt .card_p:last-child {
  margin-bottom: 0;
}

.abt .diamond_accent {
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 28px;
  height: 28px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  transform: rotate(45deg);
  border-radius: 4px;
  opacity: 0.18;
  pointer-events: none;
}

.abt .team_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px;
}

.abt .team_pill {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 16px;
  border-radius: 36px;
  background: #ffffff;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  border: 1.5px solid rgba(187, 43, 198, 0.18);
}

.abt .team_name {
  font-size: 16px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a1a2e;
}

.abt .team_role {
  font-size: 16px;
  line-height: 1.1;
  color: #BB2BC6;
}

.abt .stat_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px;
}

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

.abt .stat_num {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 800;
  color: #BB2BC6;
  letter-spacing: -0.02em;
}

.abt .stat_label {
  font-size: 16px;
  line-height: 1.75;
  color: #2d2d3a;
}

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

.abt .tag {
  font-size: 16px;
  line-height: 1.1;
  padding: 4px 16px;
  border-radius: 36px;
  border: 1.5px solid #1CA8ED;
  color: #1CA8ED;
  background: #f0faff;
  font-weight: 600;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.abt .tag:hover {
  background: #1CA8ED;
  color: #ffffff;
}

.abt .grad_btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 12px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  margin-top: 16px;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  transition: box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1), width 0.5s cubic-bezier(0.22, 1, 0.36, 1), padding 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.abt .grad_btn:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  padding-left: 40px;
  padding-right: 40px;
}

.abt .grad_btn:focus {
  outline: 3px solid #FCF609;
  outline-offset: 3px;
}

@keyframes grad_angle {
  0% {
    background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  }

  33% {
    background: linear-gradient(310deg, #BB2BC6 0%, #FCF609 60%, #1CA8ED 100%);
  }

  66% {
    background: linear-gradient(200deg, #1CA8ED 0%, #BB2BC6 100%);
  }

  100% {
    background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  }
}

.abt .anim_grad_el {
  animation: grad_angle 8s ease-in-out infinite;
}

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

  .abt .about_card.large {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }

  .abt .about_card.side_img {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
  }

  .abt .about_card.plain {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  .abt .about_card.plain2 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
}

@media (max-width: 768px) {
  .abt .strip_img_row {
    flex-direction: column;
    padding: 0 16px;
    gap: 16px;
  }

  .abt .strip_img_wrap {
    width: 100%;
  }

  .abt .strip_img_wrap img {
    width: 100%;
    height: 160px;
  }

  .abt .strip_h1 {
    font-size: 30px;
  }

  .abt .strip_text_zone {
    padding: 8px 0 16px;
  }

  .abt .about_grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0 16px;
    gap: 16px;
  }

  .abt .about_card.large {
    grid-column: 1 / 2;
    grid-row: auto;
    flex-direction: column;
  }

  .abt .about_card.large .card_img_wrap {
    width: 100%;
  }

  .abt .about_card.large .card_img_wrap img {
    width: 100%;
    height: 160px;
  }

  .abt .about_card.side_img {
    grid-column: 1 / 2;
    grid-row: auto;
  }

  .abt .about_card.plain {
    grid-column: 1 / 2;
    grid-row: auto;
  }

  .abt .about_card.plain2 {
    grid-column: 1 / 2;
    grid-row: auto;
  }

  .abt .about_body {
    padding: 32px 0;
  }

  .abt .team_row {
    flex-direction: column;
  }

  .abt .stat_row {
    flex-wrap: wrap;
  }
}

@media (max-width: 375px) {
  .abt .strip_h1 {
    font-size: 23px;
  }

  .abt .about_card {
    padding: 16px;
  }

  .abt .card_h2 {
    font-size: 19px;
  }
}

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

.ctc .drop-anim {
  opacity: 0;
  transform: translateY(-32px);
  animation: dropIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.ctc .drop-anim:nth-child(1) {
  animation-delay: 0.08s;
}

.ctc .drop-anim:nth-child(2) {
  animation-delay: 0.18s;
}

.ctc .drop-anim:nth-child(3) {
  animation-delay: 0.28s;
}

.ctc .drop-anim:nth-child(4) {
  animation-delay: 0.38s;
}

.ctc .drop-anim:nth-child(5) {
  animation-delay: 0.48s;
}

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

.ctc .pg-wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 32px;
}

.ctc .lbl-tag {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #BB2BC6;
  border: 1.5px solid #BB2BC6;
  border-radius: 36px;
  padding: 4px 16px;
  margin-bottom: 16px;
  background: transparent;
}

.ctc .accent-bracket {
  color: #BB2BC6;
}

.ctc .accent-blue {
  color: #1CA8ED;
}

.ctc .accent-yellow {
  color: #FCF609;
}

/* ─── SECTION 1: Title Block ─── */
.ctc .title-area {
  position: relative;
  padding: 96px 0 64px;
  background: #f5f0f7;
  overflow: hidden;
}

.ctc .title-area::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, #f5f0f7 30%, #e0c8e8 100%);
  z-index: 0;
}

.ctc .curved-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ctc .curved-bg svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.ctc .title-grid {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 64px;
  position: relative;
  z-index: 1;
}

.ctc .title-text-zone {
  flex: 1 1 55%;
  padding: 32px 0 32px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ctc .title-img-zone {
  flex: 1 1 42%;
  position: relative;
  display: flex;
  align-items: stretch;
}

.ctc .title-img-zone img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.ctc .img-vignette {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(187, 43, 198, 0.22) 100%);
  pointer-events: none;
}

.ctc .title-h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin: 0 0 16px;
}

.ctc .title-h1 em {
  font-style: normal;
  font-size: 72px;
  color: #BB2BC6;
}

.ctc .title-desc {
  font-size: 19px;
  line-height: 1.75;
  color: #3a2540;
  margin: 16px 0 0;
  max-width: 480px;
}

/* ─── Wave divider ─── */
.ctc .wave-div {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #f5f0f7;
}

.ctc .wave-div svg {
  display: block;
  width: 100%;
}

/* ─── SECTION 2: Form + Info ─── */
.ctc .form-area {
  padding: 96px 0 64px;
  background: #fff;
  position: relative;
}

.ctc .form-area-inner {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
}

.ctc .form-col {
  flex: 1 1 58%;
}

.ctc .info-col {
  flex: 1 1 38%;
  padding-top: 8px;
}

.ctc .form-eyebrow {
  font-size: 16px;
  line-height: 1.75;
  color: #BB2BC6;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  display: block;
}

.ctc .form-heading {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #1a0a1e;
  margin: 0 0 32px;
}

.ctc .ed-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ctc .field-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.ctc .field-grp {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 0;
}

.ctc .field-grp.full {
  flex: 1 1 100%;
}

.ctc .f-label {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
  letter-spacing: 0.03em;
}

.ctc .f-input {
  border: 1.5px solid #d4b8da;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
  background: #faf7fb;
  box-shadow: inset 2px 2px 4px 0 rgba(187, 43, 198, 0.06);
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.ctc .f-input::placeholder {
  color: rgba(26, 10, 30, 0.4);
}

.ctc .f-input:focus {
  border-color: #BB2BC6;
  box-shadow: inset 1px 1px 3px 0 rgba(187, 43, 198, 0.10), 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ctc .f-select {
  border: 1.5px solid #d4b8da;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
  background: #faf7fb;
  box-shadow: inset 2px 2px 4px 0 rgba(187, 43, 198, 0.06);
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23BB2BC6' d='M3 5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}

.ctc .f-select:focus {
  border-color: #BB2BC6;
  box-shadow: inset 1px 1px 3px 0 rgba(187, 43, 198, 0.10), 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ctc .f-textarea {
  border: 1.5px solid #d4b8da;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
  background: #faf7fb;
  box-shadow: inset 2px 2px 4px 0 rgba(187, 43, 198, 0.06);
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 120px;
}

.ctc .f-textarea::placeholder {
  color: rgba(26, 10, 30, 0.4);
}

.ctc .f-textarea:focus {
  border-color: #BB2BC6;
  box-shadow: inset 1px 1px 3px 0 rgba(187, 43, 198, 0.10), 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ctc .time-prefs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ctc .time-prefs-label {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}

.ctc .time-options {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.ctc .time-opt {
  position: relative;
}

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

.ctc .time-opt label {
  display: inline-block;
  padding: 8px 16px;
  border: 1.5px solid #d4b8da;
  border-radius: 36px;
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
  cursor: pointer;
  transition: border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  background: #faf7fb;
}

.ctc .time-opt input[type="radio"]:checked+label {
  border-color: #BB2BC6;
  background: #BB2BC6;
  color: #fff !important;
}

.ctc .time-opt label:hover {
  border-color: #BB2BC6;
  background: #f5e6f7;
}

.ctc .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
}

.ctc .pretty {
  margin-top: 4px;
}

.ctc .privacy-text {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
}

.ctc .privacy-text a {
  color: #BB2BC6;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.45s ease-in-out;
}

.ctc .privacy-text a:hover {
  color: #1CA8ED;
}

.ctc .submit-btn {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(263deg, #1CA8ED 0%, #BB2BC6 60%, #9a1fa8 100%);
  color: #fff;
  font-size: 19px;
  line-height: 1.75;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  width: 220px;
  text-align: center;
}

.ctc .submit-btn:hover {
  width: 260px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  transform: translateY(-2px);
}

.ctc .submit-btn:focus {
  outline: 2px solid #BB2BC6;
  outline-offset: 3px;
}

.ctc .submit-btn:active {
  transform: translateY(0);
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
}

/* Info column */
.ctc .info-card {
  background: linear-gradient(263deg, #f5f0f7 0%, #e8f6fd 80%, #f5f0f7 100%);
  border-radius: 12px;
  padding: 32px;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ctc .info-card-head {
  font-size: 23px;
  line-height: 1.1;
  color: #1a0a1e;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
}

.ctc .info-item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
}

.ctc .info-icon {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
}

.ctc .info-icon svg {
  width: 20px;
  height: 20px;
}

.ctc .info-item-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ctc .info-item-label {
  font-size: 16px;
  line-height: 1.75;
  color: #BB2BC6;
  letter-spacing: 0.05em;
}

.ctc .info-item-val {
  font-size: 16px;
  line-height: 1.75;
  color: #1a0a1e;
}

.ctc .info-item-val a {
  color: #1a0a1e;
  text-decoration: none;
  transition: color 0.45s ease-in-out;
}

.ctc .info-item-val a:hover {
  color: #BB2BC6;
}

/* Circular indicators */
.ctc .indicators-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1.5px solid rgba(187, 43, 198, 0.15);
}

.ctc .circ-ind {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.ctc .circ-ring {
  width: 52px;
  height: 52px;
  border-radius: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 700;
  color: #fff;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ctc .circ-ring.purple {
  background: #BB2BC6;
}

.ctc .circ-ring.blue {
  background: #1CA8ED;
}

.ctc .circ-ring.dark {
  background: #3a2540;
}

.ctc .circ-label {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
  text-align: center;
  max-width: 64px;
}

/* ─── Wave divider 2 ─── */
.ctc .wave-div-2 {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff;
}

.ctc .wave-div-2 svg {
  display: block;
  width: 100%;
}

/* ─── SECTION 3: Contrast / Before-After Block ─── */
.ctc .contrast-area {
  padding: 64px 0 96px;
  position: relative;
  overflow: hidden;
}

.ctc .contrast-area::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, #f5f0f7 20%, #d9c0e4 100%);
  z-index: 0;
}

.ctc .geo-pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.ctc .contrast-inner {
  position: relative;
  z-index: 1;
}

.ctc .contrast-heading {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #1a0a1e;
  margin: 0 0 8px;
  text-align: center;
}

.ctc .contrast-sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3a2540;
  text-align: center;
  max-width: 560px;
  margin: 0 auto 64px;
}

.ctc .contrast-grid {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: stretch;
}

.ctc .contrast-panel {
  flex: 1 1 0;
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ctc .contrast-panel:hover {
  transform: translateY(-4px);
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.ctc .panel-before {
  background: #fff;
  border: 1.5px solid #d4b8da;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
}

.ctc .panel-after {
  background: linear-gradient(263deg, #BB2BC6 0%, #8b1fa0 60%, #6a1680 100%);
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ctc .panel-tag {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  border-radius: 36px;
  padding: 4px 16px;
  align-self: flex-start;
}

.ctc .panel-before .panel-tag {
  background: #f5e6f7;
  color: #BB2BC6;
  border: 1.5px solid #BB2BC6;
}

.ctc .panel-after .panel-tag {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
}

.ctc .panel-title {
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0;
}

.ctc .panel-before .panel-title {
  color: #1a0a1e;
}

.ctc .panel-after .panel-title {
  color: #fff;
}

.ctc .panel-body {
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
}

.ctc .panel-before .panel-body {
  color: #3a2540;
}

.ctc .panel-after .panel-body {
  color: rgba(255, 255, 255, 0.9);
}

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

.ctc .panel-items li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
}

.ctc .panel-before .panel-items li {
  color: #3a2540;
}

.ctc .panel-after .panel-items li {
  color: rgba(255, 255, 255, 0.9);
}

.ctc .item-dot {
  width: 8px;
  height: 8px;
  border-radius: 36px;
  flex-shrink: 0;
  margin-top: 8px;
}

.ctc .panel-before .item-dot {
  background: #d4b8da;
}

.ctc .panel-after .item-dot {
  background: #FCF609;
}

.ctc .contrast-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ctc .vs-badge {
  width: 48px;
  height: 48px;
  border-radius: 36px;
  background: #FCF609;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 700;
  color: #1a0a1e;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  flex-shrink: 0;
}

.ctc .vs-line {
  width: 2px;
  height: 64px;
  background: linear-gradient(180deg, transparent 0%, #BB2BC6 50%, transparent 100%);
}

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .ctc .title-grid {
    flex-direction: column;
    gap: 32px;
  }

  .ctc .title-text-zone {
    padding: 16px;
  }

  .ctc .title-h1 {
    font-size: 42px;
  }

  .ctc .title-h1 em {
    font-size: 42px;
  }

  .ctc .title-img-zone img {
    height: 260px;
  }

  .ctc .form-area-inner {
    flex-direction: column;
    gap: 32px;
  }

  .ctc .field-row {
    flex-direction: column;
  }

  .ctc .contrast-grid {
    flex-direction: column;
    gap: 16px;
  }

  .ctc .contrast-divider {
    flex-direction: row;
    gap: 16px;
  }

  .ctc .vs-line {
    width: 64px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #BB2BC6 50%, transparent 100%);
  }

  .ctc .form-heading {
    font-size: 30px;
  }

  .ctc .contrast-heading {
    font-size: 30px;
  }

  .ctc .submit-btn {
    width: 100%;
  }

  .ctc .submit-btn:hover {
    width: 100%;
  }
}

@media (max-width: 375px) {
  .ctc .pg-wrap {
    padding: 0 16px;
  }

  .ctc .title-h1 {
    font-size: 30px;
  }

  .ctc .title-h1 em {
    font-size: 30px;
  }

  .ctc .info-card {
    padding: 16px;
  }

  .ctc .contrast-panel {
    padding: 16px;
  }

  .ctc .indicators-row {
    gap: 8px;
  }
}

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

.srv_pg .reveal {
  opacity: 0;
  transform: translateY(40px);
  animation: slideUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.srv_pg .reveal.d1 {
  animation-delay: 0.1s;
}

.srv_pg .reveal.d2 {
  animation-delay: 0.22s;
}

.srv_pg .reveal.d3 {
  animation-delay: 0.34s;
}

.srv_pg .reveal.d4 {
  animation-delay: 0.46s;
}

.srv_pg .reveal.d5 {
  animation-delay: 0.58s;
}

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

.srv_pg .pg_top {
  position: relative;
  padding: 96px 32px 64px;
  background: #f5f0f7;
  overflow: hidden;
}

.srv_pg .pg_top::before {
  content: '';
  position: absolute;
  top: -32px;
  right: -32px;
  width: 260px;
  height: 260px;
  border: 2px solid rgba(187, 43, 198, 0.13);
  border-radius: 4px;
  transform: rotate(18deg);
  pointer-events: none;
}

.srv_pg .pg_top::after {
  content: '';
  position: absolute;
  bottom: 16px;
  right: 80px;
  width: 120px;
  height: 120px;
  border: 2px solid rgba(28, 168, 237, 0.12);
  border-radius: 36px;
  pointer-events: none;
}

.srv_pg .pg_top_lines {
  position: absolute;
  top: 16px;
  left: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

.srv_pg .pg_top_lines span {
  display: block;
  height: 1px;
  background: rgba(187, 43, 198, 0.18);
  border-radius: 4px;
}

.srv_pg .pg_top_inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.srv_pg .pg_top_label {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #BB2BC6;
  text-transform: uppercase;
}

.srv_pg .pg_top_h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1c;
  max-width: 640px;
  margin: 0;
}

.srv_pg .pg_top_h1 em {
  font-style: normal;
  color: #BB2BC6;
}

.srv_pg .pg_top_sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3a2540;
  max-width: 520px;
  margin: 0;
}

.srv_pg .zigzag_div {
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.srv_pg .zigzag_div svg {
  display: block;
  width: 100%;
}

.srv_pg .cards_area {
  background: #fff;
  padding: 64px 32px;
}

.srv_pg .cards_inner {
  max-width: 1170px;
  margin: 0 auto;
}

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

.srv_pg .svc_card {
  background: #fdf8ff;
  border-radius: 12px;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.srv_pg .svc_card:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  transform: translateY(-4px);
}

.srv_pg .svc_card_img {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
}

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

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

.srv_pg .svc_card_img .img_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(187, 43, 198, 0.38) 0%, rgba(28, 168, 237, 0.18) 60%, transparent 100%);
  pointer-events: none;
}

.srv_pg .svc_card_img .img_top_fade {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, rgba(30, 10, 35, 0.55) 0%, transparent 100%);
  pointer-events: none;
}

.srv_pg .svc_card_body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

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

.srv_pg .svc_meta_dur {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
  color: #1CA8ED;
}

.srv_pg .svc_meta_dur svg {
  flex-shrink: 0;
}

.srv_pg .svc_meta_likes {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
  color: #6b3a72;
}

.srv_pg .svc_meta_likes svg {
  flex-shrink: 0;
}

.srv_pg .svc_card_h {
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #1a0a1c;
  margin: 0;
}

.srv_pg .svc_card_desc {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
  margin: 0;
}

.srv_pg .svc_card_foot {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  gap: 16px;
  flex-wrap: wrap;
}

.srv_pg .svc_price {
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #BB2BC6;
  font-weight: 700;
}

.srv_pg .svc_link {
  display: inline-block;
  padding: 12px 32px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  border-radius: 36px;
  text-decoration: none;
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1), padding 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  white-space: nowrap;
}

.srv_pg .svc_link:hover {
  padding: 12px 40px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.18);
}

.srv_pg .svc_link:focus {
  outline: 2px solid #BB2BC6;
  outline-offset: 3px;
}

.srv_pg .approach_area {
  background: #1a0a1c;
  padding: 96px 32px;
  position: relative;
  overflow: hidden;
}

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

.srv_pg .approach_lines {
  position: absolute;
  bottom: 32px;
  right: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

.srv_pg .approach_lines span {
  display: block;
  height: 1px;
  background: rgba(252, 246, 9, 0.22);
  border-radius: 4px;
}

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

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

.srv_pg .approach_num {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: rgba(187, 43, 198, 0.12);
  font-weight: 700;
  pointer-events: none;
  user-select: none;
  margin-bottom: -32px;
}

.srv_pg .approach_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}

.srv_pg .approach_h2 span {
  color: #FCF609;
}

.srv_pg .approach_p {
  font-size: 19px;
  line-height: 1.75;
  color: #c9b8d0;
  margin: 0;
}

.srv_pg .approach_p strong {
  color: #fff;
}

.srv_pg .approach_steps {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

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

.srv_pg .step_num_badge {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 80%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
}

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

.srv_pg .step_h {
  font-size: 19px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
}

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

.srv_pg .zigzag_div_dark svg path {
  fill: #1a0a1c;
}

.srv_pg .guide_area {
  background: linear-gradient(263deg, #f5e8ff 0%, #e8f7ff 70%, #fff 100%);
  padding: 64px 32px 96px;
  position: relative;
}

.srv_pg .guide_inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.srv_pg .guide_img_col {
  position: relative;
}

.srv_pg .guide_img_wrap {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 2px 9px 36px 0 rgba(28, 168, 237, 0.12);
}

.srv_pg .guide_img_wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) brightness(0.92);
}

.srv_pg .guide_img_badge {
  position: absolute;
  bottom: -16px;
  right: -16px;
  background: #FCF609;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 180px;
}

.srv_pg .guide_badge_label {
  font-size: 16px;
  line-height: 1.1;
  color: #1a0a1c;
  font-weight: 700;
}

.srv_pg .guide_badge_sub {
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
}

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

.srv_pg .guide_num {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: rgba(28, 168, 237, 0.1);
  font-weight: 700;
  pointer-events: none;
  user-select: none;
  margin-bottom: -32px;
}

.srv_pg .guide_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1c;
  margin: 0;
}

.srv_pg .guide_h2 em {
  font-style: normal;
  color: #BB2BC6;
}

.srv_pg .guide_p {
  font-size: 19px;
  line-height: 1.75;
  color: #3a2540;
  margin: 0;
}

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

.srv_pg .guide_checklist li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  line-height: 1.75;
  color: #3a2540;
}

.srv_pg .check_icon {
  flex-shrink: 0;
  margin-top: 4px;
}

.srv_pg .guide_cta {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #fff;
  font-size: 19px;
  line-height: 1.75;
  border-radius: 36px;
  text-decoration: none;
  transition: padding 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease-in-out;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  align-self: flex-start;
}

.srv_pg .guide_cta:hover {
  padding: 16px 44px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.18);
}

.srv_pg .guide_cta:focus {
  outline: 2px solid #BB2BC6;
  outline-offset: 3px;
}

.srv_pg .wave_hover_row {
  display: flex;
  flex-direction: row;
  gap: 4px;
  overflow: hidden;
  border-radius: 4px;
}

.srv_pg .wave_char {
  display: inline-block;
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.srv_pg .guide_h2:hover .wave_char,
.srv_pg .approach_h2:hover .wave_char {
  color: #BB2BC6;
  transform: translateY(-3px);
}

@media (max-width: 768px) {
  .srv_pg .pg_top_h1 {
    font-size: 42px;
  }

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

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

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

  .srv_pg .guide_img_badge {
    position: static;
    margin-top: 16px;
    max-width: 100%;
  }

  .srv_pg .approach_h2 {
    font-size: 30px;
  }

  .srv_pg .guide_h2 {
    font-size: 30px;
  }

  .srv_pg .approach_num {
    font-size: 58px;
  }

  .srv_pg .guide_num {
    font-size: 58px;
  }
}

@media (max-width: 375px) {
  .srv_pg .pg_top {
    padding: 64px 16px 32px;
  }

  .srv_pg .pg_top_h1 {
    font-size: 30px;
  }

  .srv_pg .cards_area {
    padding: 32px 16px;
  }

  .srv_pg .svc_card_body {
    padding: 16px;
  }

  .srv_pg .approach_area {
    padding: 64px 16px;
  }

  .srv_pg .guide_area {
    padding: 32px 16px 64px;
  }

  .srv_pg .approach_h2 {
    font-size: 23px;
  }

  .srv_pg .guide_h2 {
    font-size: 23px;
  }
}

@media (min-width: 1366px) {
  .srv_pg .cards_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

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

.ptl .pg_row {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
}

.ptl .dot_div {
  border: none;
  border-top: 2px dotted #d8d8d8;
  margin: 0;
}

/* ── SECTION 1: TITLE BLOCK ── */
.ptl .title_block {
  padding-top: 96px;
  padding-bottom: 96px;
  background: linear-gradient(263deg, #f5eaff 0%, #eaf7ff 55%, #fff 100%);
  position: relative;
}

.ptl .title_block .math_bg {
  position: absolute;
  top: 50%;
  right: 64px;
  transform: translateY(-50%);
  font-size: 320px;
  line-height: 1.1;
  color: #BB2BC6;
  opacity: 0.04;
  pointer-events: none;
  user-select: none;
  font-weight: 700;
  overflow: hidden;
}

.ptl .title_block .tb_grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: center;
}

.ptl .title_block .tb_text {
  position: relative;
  z-index: 1;
}

.ptl .title_block .tb_eyebrow {
  display: inline-block;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #BB2BC6;
  border: 1.5px solid #BB2BC6;
  border-radius: 4px;
  padding: 4px 16px;
  margin-bottom: 32px;
  opacity: 0;
  animation: fade_up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards;
}

.ptl .title_block .tb_h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 32px 0;
  opacity: 0;
  animation: fade_up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.25s forwards;
}

.ptl .title_block .tb_h1 .accent_br {
  color: #BB2BC6;
}

.ptl .title_block .tb_lead {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0 0 32px 0;
  max-width: 540px;
  opacity: 0;
  animation: fade_up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

.ptl .title_block .tb_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  opacity: 0;
  animation: fade_up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.55s forwards;
}

.ptl .btn_prim {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ptl .btn_prim:hover {
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  padding-left: 40px;
  padding-right: 40px;
}

.ptl .btn_sec {
  display: inline-block;
  padding: 16px 32px;
  background: transparent;
  color: #BB2BC6;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  border-radius: 12px;
  border: 1.5px solid #BB2BC6;
  cursor: pointer;
  text-decoration: none;
  transition: padding 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s ease-in-out;
}

.ptl .btn_sec:hover {
  background: #BB2BC6;
  color: #fff;
  padding-left: 40px;
  padding-right: 40px;
}

.ptl .title_block .tb_img_wrap {
  position: relative;
  opacity: 0;
  animation: fade_up 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
}

.ptl .title_block .tb_img_wrap::before {
  content: "";
  position: absolute;
  inset: -16px;
  background: radial-gradient(ellipse at 30% 40%, rgba(28, 168, 237, 0.18) 0%, transparent 70%);
  border-radius: 36px;
  pointer-events: none;
}

.ptl .title_block .tb_img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 36px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
  display: block;
}

.ptl .title_block .shape_a {
  position: absolute;
  width: 64px;
  height: 64px;
  border: 3px solid #FCF609;
  border-radius: 12px;
  top: -24px;
  left: -24px;
  pointer-events: none;
  transform: rotate(18deg);
}

.ptl .title_block .shape_b {
  position: absolute;
  width: 32px;
  height: 32px;
  background: linear-gradient(263deg, #BB2BC6, #1CA8ED);
  border-radius: 36px;
  bottom: 32px;
  right: -16px;
  pointer-events: none;
}

@keyframes fade_up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

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

/* ── SECTION 2: SUPPORT ── */
.ptl .support_band {
  padding-top: 96px;
  padding-bottom: 96px;
  background: #fff;
}

.ptl .support_band .sup_grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 64px;
  align-items: start;
}

.ptl .support_band .sup_img_col {
  position: relative;
}

.ptl .support_band .sup_img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
}

.ptl .support_band .sup_badge {
  position: absolute;
  bottom: -24px;
  right: -24px;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 80%);
  color: #fff;
  border-radius: 12px;
  padding: 16px 32px;
  font-size: 16px;
  line-height: 1.75;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.ptl .support_band .sup_badge strong {
  display: block;
  font-size: 30px;
  line-height: 1.1;
}

.ptl .support_band .sup_text {
  padding-top: 16px;
}

.ptl .support_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  opacity: 0.07;
  margin-bottom: -32px;
  display: block;
  letter-spacing: -0.04em;
}

.ptl .support_band .sup_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 32px 0;
}

.ptl .support_band .sup_h2 .br_accent {
  color: #BB2BC6;
}

.ptl .support_band .sup_p {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0 0 16px 0;
}

.ptl .support_band .sup_items {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ptl .support_band .sup_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  border: 1.5px solid #e8e8f0;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  transition: border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
}

.ptl .support_band .sup_item:hover {
  border-color: #BB2BC6;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ptl .support_band .sup_icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(263deg, #f5eaff, #eaf7ff);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ptl .support_band .sup_icon svg {
  width: 20px;
  height: 20px;
}

.ptl .support_band .sup_item_text {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
}

.ptl .support_band .sup_item_text strong {
  display: block;
  color: #1a1a2e;
  font-size: 16px;
}

/* ── SECTION 3: REPUTATION ── */
.ptl .rep_band {
  padding-top: 64px;
  padding-bottom: 64px;
  background: linear-gradient(263deg, #f5eaff 0%, #eaf7ff 60%, #fffff0 100%);
}

.ptl .rep_band .rep_top {
  text-align: center;
  margin-bottom: 64px;
}

.ptl .rep_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #1CA8ED;
  opacity: 0.07;
  display: block;
  letter-spacing: -0.04em;
  margin-bottom: -32px;
}

.ptl .rep_band .rep_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 16px 0;
}

.ptl .rep_band .rep_sub {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  max-width: 600px;
  margin: 0 auto;
}

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

.ptl .rep_band .rep_card {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 2px 7px 22px 0 rgba(28, 168, 237, 0.09);
  border-top: 3px solid transparent;
  transition: border-color 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
}

.ptl .rep_band .rep_card:nth-child(1) {
  border-top-color: #BB2BC6;
}

.ptl .rep_band .rep_card:nth-child(2) {
  border-top-color: #1CA8ED;
  margin-top: 32px;
}

.ptl .rep_band .rep_card:nth-child(3) {
  border-top-color: #FCF609;
}

.ptl .rep_band .rep_card:hover {
  transform: translateY(-4px);
}

.ptl .rep_band .rep_card_icon {
  margin-bottom: 16px;
}

.ptl .rep_band .rep_card_icon svg {
  width: 32px;
  height: 32px;
}

.ptl .rep_band .rep_card_h {
  font-size: 19px;
  line-height: 1.75;
  color: #1a1a2e;
  margin: 0 0 8px 0;
  font-weight: 700;
}

.ptl .rep_band .rep_card_p {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0;
}

.ptl .rep_band .rep_stats {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 64px;
  justify-content: center;
}

.ptl .rep_band .stat_box {
  text-align: center;
  padding: 32px 32px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  min-width: 160px;
}

.ptl .rep_band .stat_num {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  display: block;
  letter-spacing: -0.02em;
}

.ptl .rep_band .stat_label {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
  display: block;
}

/* ── SECTION 4: EXPERIENCE ── */
.ptl .exp_band {
  padding-top: 96px;
  padding-bottom: 96px;
  background: #fff;
  position: relative;
}

.ptl .exp_band .exp_math {
  position: absolute;
  top: 32px;
  right: 32px;
  font-size: 200px;
  line-height: 1.1;
  color: #1CA8ED;
  opacity: 0.04;
  font-weight: 700;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
}

.ptl .exp_band .exp_grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 64px;
  align-items: center;
}

.ptl .exp_band .exp_text {
  position: relative;
}

.ptl .exp_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  opacity: 0.07;
  display: block;
  letter-spacing: -0.04em;
  margin-bottom: -32px;
}

.ptl .exp_band .exp_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 32px 0;
}

.ptl .exp_band .exp_quote {
  border-radius: 12px;
  background: linear-gradient(263deg, #f5eaff 0%, #eaf7ff 100%);
  padding: 32px;
  margin-bottom: 32px;
  position: relative;
}

.ptl .exp_band .exp_quote::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #BB2BC6, #1CA8ED);
  border-radius: 4px 0 0 4px;
}

.ptl .exp_band .exp_quote_text {
  font-size: 19px;
  line-height: 1.75;
  color: #1a1a2e;
  margin: 0 0 16px 0;
  font-style: italic;
}

.ptl .exp_band .exp_quote_attr {
  font-size: 16px;
  line-height: 1.75;
  color: #BB2BC6;
  font-weight: 600;
  margin: 0;
}

.ptl .exp_band .exp_p {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0 0 16px 0;
}

.ptl .exp_band .exp_img_wrap {
  position: relative;
}

.ptl .exp_band .exp_img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 36px;
  display: block;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.ptl .exp_band .exp_img_tag {
  position: absolute;
  top: 32px;
  left: -32px;
  background: #FCF609;
  color: #1a1a2e;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 4px;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

/* ── SECTION 5: JOURNEY ── */
.ptl .journey_band {
  padding-top: 96px;
  padding-bottom: 96px;
  background: #1a1a2e;
  position: relative;
}

.ptl .journey_band .jrn_bg_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.12;
  pointer-events: none;
}

.ptl .journey_band .jrn_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(263deg, rgba(187, 43, 198, 0.85) 0%, rgba(26, 26, 46, 0.95) 60%);
  pointer-events: none;
}

.ptl .journey_band .jrn_inner {
  position: relative;
  z-index: 1;
}

.ptl .journey_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #fff;
  opacity: 0.07;
  display: block;
  letter-spacing: -0.04em;
  margin-bottom: -32px;
}

.ptl .journey_band .jrn_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 16px 0;
  max-width: 700px;
}

.ptl .journey_band .jrn_lead {
  font-size: 19px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.8);
  max-width: 600px;
  margin: 0 0 64px 0;
}

.ptl .journey_band .jrn_phases {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.ptl .journey_band .jrn_phase {
  padding: 32px;
  border-radius: 12px;
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  transition: border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
}

.ptl .journey_band .jrn_phase:hover {
  border-color: rgba(252, 246, 9, 0.5);
  background: rgba(255, 255, 255, 0.09);
}

.ptl .journey_band .jrn_phase_num {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: #FCF609;
  display: block;
  margin-bottom: 16px;
  opacity: 0.7;
}

.ptl .journey_band .jrn_phase_h {
  font-size: 19px;
  line-height: 1.75;
  color: #fff;
  margin: 0 0 8px 0;
  font-weight: 700;
}

.ptl .journey_band .jrn_phase_p {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

/* ── SECTION 6: WHO BELONGS ── */
.ptl .fit_band {
  padding-top: 96px;
  padding-bottom: 96px;
  background: linear-gradient(263deg, #fffff0 0%, #fff 60%);
}

.ptl .fit_band .fit_top {
  margin-bottom: 64px;
}

.ptl .fit_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  opacity: 0.07;
  display: block;
  letter-spacing: -0.04em;
  margin-bottom: -32px;
}

.ptl .fit_band .fit_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 16px 0;
}

.ptl .fit_band .fit_lead {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  max-width: 600px;
}

.ptl .fit_band .fit_cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.ptl .fit_band .fit_col_h {
  font-size: 19px;
  line-height: 1.75;
  color: #1a1a2e;
  font-weight: 700;
  margin: 0 0 16px 0;
  padding-bottom: 8px;
  border-bottom: 2px dotted #d8d8d8;
}

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

.ptl .fit_band .fit_list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
}

.ptl .fit_band .fit_dot {
  width: 8px;
  height: 8px;
  border-radius: 36px;
  flex-shrink: 0;
  margin-top: 8px;
}

.ptl .fit_band .fit_dot.yes {
  background: #BB2BC6;
}

.ptl .fit_band .fit_dot.no {
  background: #d8d8d8;
}

.ptl .fit_band .fit_note {
  margin-top: 64px;
  padding: 32px;
  border-radius: 12px;
  background: linear-gradient(263deg, #f5eaff, #eaf7ff);
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
  border: 1.5px solid rgba(187, 43, 198, 0.15);
}

/* ── SECTION 7: APPROACH ── */
.ptl .diff_band {
  padding-top: 96px;
  padding-bottom: 96px;
  background: #fff;
  position: relative;
}

.ptl .diff_band .diff_math {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 280px;
  line-height: 1.1;
  color: #BB2BC6;
  opacity: 0.03;
  font-weight: 700;
  pointer-events: none;
  user-select: none;
}

.ptl .diff_band .diff_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.ptl .diff_band .sec_num {
  font-size: 72px;
  line-height: 1.1;
  font-weight: 700;
  color: #1CA8ED;
  opacity: 0.07;
  display: block;
  letter-spacing: -0.04em;
  margin-bottom: -32px;
}

.ptl .diff_band .diff_h2 {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a1a2e;
  margin: 0 0 16px 0;
}

.ptl .diff_band .diff_p {
  font-size: 19px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0 0 16px 0;
}

.ptl .diff_band .diff_features {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 16px;
}

.ptl .diff_band .diff_feat {
  position: relative;
  padding: 32px;
  border-radius: 12px;
  background: linear-gradient(263deg, #f5eaff 0%, #eaf7ff 100%);
  box-shadow: 2px 2px 2px 0 rgba(187, 43, 198, 0.06);
  transition: box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.ptl .diff_band .diff_feat:last-child {
  margin-left: 32px;
  margin-top: -16px;
}

.ptl .diff_band .diff_feat:hover {
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
}

.ptl .diff_band .diff_feat_h {
  font-size: 19px;
  line-height: 1.75;
  color: #1a1a2e;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.ptl .diff_band .diff_feat_p {
  font-size: 16px;
  line-height: 1.75;
  color: #3a3a4a;
  margin: 0;
}

.ptl .diff_band .diff_feat_num {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: #BB2BC6;
  opacity: 0.1;
}

/* ── STAGGER ANIMATIONS ── */
.ptl .sup_item:nth-child(1) {
  animation: fade_up 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.ptl .sup_item:nth-child(2) {
  animation: fade_up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

.ptl .sup_item:nth-child(3) {
  animation: fade_up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.ptl .rep_card:nth-child(1) {
  animation: fade_up 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.ptl .rep_card:nth-child(2) {
  animation: fade_up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.25s both;
}

.ptl .rep_card:nth-child(3) {
  animation: fade_up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.ptl .jrn_phase:nth-child(1) {
  animation: fade_up 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
}

.ptl .jrn_phase:nth-child(2) {
  animation: fade_up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

.ptl .jrn_phase:nth-child(3) {
  animation: fade_up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.25s both;
}

.ptl .jrn_phase:nth-child(4) {
  animation: fade_up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both;
}

/* ── RESPONSIVE ── */
@media (max-width: 1366px) {
  .ptl .title_block .tb_grid {
    grid-template-columns: 1fr 360px;
  }

  .ptl .journey_band .jrn_phases {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ptl .title_block .tb_grid {
    grid-template-columns: 1fr;
  }

  .ptl .title_block .tb_img_wrap {
    display: none;
  }

  .ptl .title_block .tb_h1 {
    font-size: 42px;
  }

  .ptl .support_band .sup_grid {
    grid-template-columns: 1fr;
  }

  .ptl .support_band .sup_img_col {
    display: none;
  }

  .ptl .rep_band .rep_grid {
    grid-template-columns: 1fr;
  }

  .ptl .rep_band .rep_card:nth-child(2) {
    margin-top: 0;
  }

  .ptl .rep_band .rep_stats {
    flex-direction: column;
    align-items: center;
  }

  .ptl .exp_band .exp_grid {
    grid-template-columns: 1fr;
  }

  .ptl .exp_band .exp_img_wrap {
    display: none;
  }

  .ptl .journey_band .jrn_phases {
    grid-template-columns: 1fr;
  }

  .ptl .fit_band .fit_cols {
    grid-template-columns: 1fr;
  }

  .ptl .diff_band .diff_grid {
    grid-template-columns: 1fr;
  }

  .ptl .diff_band .diff_feat:last-child {
    margin-left: 0;
    margin-top: 0;
  }

  .ptl .pg_row {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 375px) {
  .ptl .title_block .tb_h1 {
    font-size: 30px;
  }

  .ptl .title_block {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .ptl .support_band .sup_h2,
  .ptl .rep_band .rep_h2,
  .ptl .exp_band .exp_h2,
  .ptl .journey_band .jrn_h2,
  .ptl .fit_band .fit_h2,
  .ptl .diff_band .diff_h2 {
    font-size: 30px;
  }

  .ptl .title_block .tb_actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

.success_page {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: #fff;
}

.success_page .confirmation_wrap {
  max-width: 580px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.success_page .icon_mark {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}

.success_page .icon_mark circle {
  fill: none;
  stroke: #BB2BC6;
  stroke-width: 2.5;
}

.success_page .icon_mark path {
  fill: none;
  stroke: #BB2BC6;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

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

.success_page .message_block .heading_primary {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #1a0a1e;
  margin: 0;
}

.success_page .message_block .heading_primary span {
  color: #BB2BC6;
}

.success_page .message_block .body_text {
  font-size: 19px;
  line-height: 1.75;
  color: #3a2040;
  margin: 0;
}

.success_page .divider_accent {
  width: 48px;
  height: 3px;
  background: linear-gradient(263deg, #FCF609 0%, #1CA8ED 60%, #BB2BC6 100%);
  border-radius: 4px;
}

.success_page .action_group {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.success_page .btn_primary {
  display: inline-block;
  padding: 16px 32px;
  font-size: 16px;
  line-height: 1.1;
  color: #fff;
  background: linear-gradient(263deg, #BB2BC6 0%, #1CA8ED 100%);
  border: none;
  border-radius: 36px;
  cursor: pointer;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.03em;
  box-shadow: 2px 7px 22px 0 rgba(187, 43, 198, 0.09);
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out, padding 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.success_page .btn_primary:hover {
  padding: 16px 40px;
  box-shadow: 2px 9px 36px 0 rgba(187, 43, 198, 0.12);
}

.success_page .btn_primary:focus {
  outline: 2px solid #BB2BC6;
  outline-offset: 3px;
}

.success_page .btn_secondary {
  display: inline-block;
  padding: 16px 32px;
  font-size: 16px;
  line-height: 1.1;
  color: #BB2BC6;
  background: #fff;
  border: 2px solid #BB2BC6;
  border-radius: 36px;
  cursor: pointer;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.03em;
  box-shadow: 2px 2px 2px 0 rgba(28, 168, 237, 0.06);
  transition: padding 0.6s cubic-bezier(0.22, 1, 0.36, 1), background 0.5s ease-in-out, color 0.5s ease-in-out;
}

.success_page .btn_secondary:hover {
  padding: 16px 40px;
  background: #BB2BC6;
  color: #fff;
}

.success_page .btn_secondary:focus {
  outline: 2px solid #1CA8ED;
  outline-offset: 3px;
}

.success_page .meta_note {
  font-size: 16px;
  line-height: 1.75;
  color: #6a4a72;
  margin: 0;
  padding: 16px 32px;
  border: 1.5px solid #1CA8ED;
  border-radius: 12px;
  background: #f5fbff;
  box-shadow: 2px 2px 2px 0 rgba(28, 168, 237, 0.06);
  text-align: left;
  max-width: 480px;
  width: 100%;
}

.success_page .meta_note strong {
  color: #1CA8ED;
  font-weight: 600;
}

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

  .success_page .message_block .heading_primary {
    font-size: 30px;
  }

  .success_page .action_group {
    flex-direction: column;
    align-items: stretch;
  }

  .success_page .btn_primary,
  .success_page .btn_secondary {
    text-align: center;
  }
}

@media (max-width: 375px) {
  .success_page {
    padding: 64px 8px;
  }

  .success_page .message_block .heading_primary {
    font-size: 23px;
  }

  .success_page .message_block .body_text {
    font-size: 16px;
  }

  .success_page .meta_note {
    font-size: 16px;
    padding: 16px;
  }
}