html {
  font-size: 100%;
  scroll-behavior: auto
}

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

.hx-band {
  background: linear-gradient(135deg, #BE60A3 0%, #c97ab8 60%, #EBD1D8 100%);
  padding: 16px 32px
}

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

.hx-brand-text {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  letter-spacing: 0;
  text-decoration: none;
  flex-shrink: 0
}

.hx-brand-text:hover {
  color: #EEE5E6;
  transition: color .5s ease-in-out
}

.hx-addr {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffe0;
  text-align: right;
  flex-shrink: 0
}

.hx-addr svg {
  vertical-align: middle;
  margin-right: 8px;
  flex-shrink: 0
}

.hx-addr-line {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px
}

.hx-nav-row {
  background-color: #fff;
  border-bottom: 2px solid #EBD1D8;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.hx-nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 32px;
  flex-wrap: wrap
}

.hx-logo-hex {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  margin-right: 16px;
  position: relative;
  background: #fff;
  border: 1px solid #2d2d2d;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  box-shadow: 1px 3px 4px -1px #be60a312
}

.hx-logo-hex img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  display: block
}

.hx-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 8px 0
}

.hx-menu li {
  flex-shrink: 0
}

.hx-menu a {
  display: inline-flex;
  align-items: center;
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: #2d1a28;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 2px;
  min-height: 44px;
  position: relative;
  overflow: hidden;
  transition: color .5s ease-in-out
}

.hx-menu a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #BE60A3 0%, #d47ec0 100%);
  transform: translateX(-100%);
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
  border-radius: 2px
}

.hx-menu a:hover::before,
.hx-menu a:focus::before {
  transform: translateX(0)
}

.hx-menu a span {
  position: relative;
  z-index: 1
}

.hx-menu a:hover,
.hx-menu a:focus {
  color: #fff;
  outline: none
}

.hx-menu a:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px
}

.ft-box {
  background: linear-gradient(180deg, #EEE5E6 0%, #EBD1D8 100%);
  padding: 64px 32px 32px
}

.ft-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px
}

.ft-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px
}

.ft-logo-hex {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background: #fff;
  border: 1px solid #2d2d2d;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  box-shadow: 1px 3px 4px -1px #be60a312;
  flex-shrink: 0
}

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

.ft-name {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: #2d1a28;
  text-align: center
}

.ft-tagline {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #5a3a52;
  text-align: center;
  max-width: 480px
}

.ft-divider {
  width: 64px;
  height: 2px;
  background: linear-gradient(90deg, #BE60A3, #EBD1D8);
  border-radius: 2px
}

.ft-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px
}

.ft-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #3a2234
}

.ft-contact-item a {
  color: #3a2234;
  text-decoration: none;
  transition: color .5s ease-in-out
}

.ft-contact-item a:hover {
  color: #BE60A3
}

.ft-contact-item a:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px;
  border-radius: 2px
}

.ft-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0
}

.ft-links a {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #5a3a52;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 2px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  transition: color .48s ease-in-out, background-color .48s ease-in-out
}

.ft-links a:hover {
  color: #BE60A3;
  background-color: #be60a314
}

.ft-links a:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px
}

.ft-copy {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  line-height: 1.6;
  color: #7a5570;
  text-align: center
}

.ft-sep {
  display: inline-block;
  margin: 0 8px;
  color: #BE60A3
}

.ck-tray {
  display: none;
  position: fixed;
  bottom: 32px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 90%;
  max-width: 640px;
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 9px 60px -1px #be60a31f;
  z-index: 1500;
  padding: 32px;
  opacity: 0;
  transition: opacity .45s ease-in-out
}

.ck-tray.vis {
  opacity: 1
}

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

.ck-icon-row {
  display: flex;
  align-items: center;
  gap: 16px
}

.ck-shield {
  flex-shrink: 0
}

.ck-desc {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #3a2234
}

.ck-desc a {
  color: #BE60A3;
  text-decoration: underline
}

.ck-desc a:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px;
  border-radius: 2px
}

.ck-prefs-panel {
  display: none;
  flex-direction: column;
  gap: 16px
}

.ck-prefs-panel.open {
  display: flex
}

.ck-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #3a2234
}

.ck-check-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #BE60A3;
  cursor: pointer
}

.ck-check-row input:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px
}

.ck-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px
}

.ck-btn-accept {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(90deg, #BE60A3 0%, #d47ec0 100%);
  border: none;
  border-radius: 2px;
  padding: 16px 32px;
  min-height: 44px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: box-shadow .5s ease-in-out;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.ck-btn-accept:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ck-btn-accept:focus-visible {
  outline: 2px solid #2d1a28;
  outline-offset: 2px
}

.ck-btn-prefs {
  font-family: 'Fira Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  min-height: 44px;
  text-decoration: underline;
  transition: color .5s ease-in-out
}

.ck-btn-prefs:hover {
  color: #2d1a28
}

.ck-btn-prefs:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 2px;
  border-radius: 2px
}

.ck-float {
  display: none;
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 1400;
  width: 44px;
  height: 44px;
  border-radius: 24px;
  background: linear-gradient(135deg, #BE60A3 0%, #d47ec0 100%);
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  transition: box-shadow .5s ease-in-out
}

.ck-float:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.ck-float:focus-visible {
  outline: 2px solid #2d1a28;
  outline-offset: 2px
}

.ck-float.shown {
  display: flex
}

@media (max-width: 640px) {
  .hx-band-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0
  }

  .hx-addr {
    text-align: left
  }

  .hx-addr-line {
    justify-content: flex-start
  }

  .hx-nav-inner {
    padding: 0 16px;
    gap: 8px
  }

  .hx-logo-hex {
    margin-right: 8px
  }

  .hx-menu {
    gap: 8px
  }

  .hx-band {
    padding: 16px
  }

  .ft-box {
    padding: 64px 16px 32px
  }

  .ck-tray {
    width: 94%;
    padding: 16px;
    bottom: 16px
  }

  .ck-float {
    bottom: 16px;
    right: 16px
  }
}

@media (max-width: 360px) {
  .hx-brand-text {
    font-size: 14px
  }

  .hx-menu a {
    padding: 8px;
    font-size: 14px
  }
}

.policy-view {
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #2d2d2d;
  line-height: 1.6;
  font-size: 14px
}

.policy-view h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #1b1b1b;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid #EBD1D8
}

.policy-view h2 {
  font-size: 24px;
  line-height: 1.2;
  color: #1b1b1b;
  margin-top: 64px;
  margin-bottom: 16px;
  padding-left: 16px;
  border-left: 4px solid #BE60A3;
  border-bottom: 1px solid #EEE5E6;
  padding-bottom: 8px
}

.policy-view h3 {
  font-size: 24px;
  line-height: 1.2;
  color: #2e2e2e;
  margin-top: 32px;
  margin-bottom: 16px;
  padding-left: 16px;
  border-left: 2px solid #EBD1D8
}

.policy-view h4 {
  font-size: 14px;
  line-height: 1.6;
  color: #2e2e2e;
  margin-top: 32px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700
}

.policy-view h5 {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3a3a;
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 700
}

.policy-view h6 {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 600;
  font-style: italic
}

.policy-view p {
  font-size: 14px;
  line-height: 2;
  color: #3a3a3a;
  margin-bottom: 16px;
  max-width: 72ch
}

.policy-view strong,
.policy-view b {
  font-weight: 700;
  color: #1b1b1b
}

.policy-view a {
  color: #BE60A3;
  text-decoration: underline;
  text-decoration-color: #be60a359;
  text-underline-offset: 3px;
  transition: color .55s ease-in-out, text-decoration-color .45s ease-in-out
}

.policy-view a:hover {
  color: #9a4585;
  text-decoration-color: #9a4585b3
}

.policy-view table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 14px;
  line-height: 1.6;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.policy-view thead {
  background-color: #EBD1D8
}

.policy-view thead th {
  padding: 16px;
  text-align: left;
  font-weight: 700;
  color: #1b1b1b;
  font-size: 14px;
  line-height: 1.6;
  border-bottom: 2px solid #BE60A3
}

.policy-view tbody tr {
  border-bottom: 1px solid #EEE5E6;
  transition: background-color .5s ease-in-out
}

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

.policy-view tbody tr:hover {
  background-color: #ebd1d840
}

.policy-view td {
  padding: 16px;
  color: #3a3a3a;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.6
}

.policy-view th {
  padding: 16px;
  font-size: 14px;
  line-height: 1.6
}

.policy-view hr {
  border: none;
  border-top: 1px solid #EEE5E6;
  margin-top: 64px;
  margin-bottom: 64px;
  height: 1px;
  background: linear-gradient(to right, #EBD1D8, #EEE5E6, transparent)
}

.policy-view div {
  font-size: 14px;
  line-height: 1.6
}

.policy-view div.notice {
  background-color: #ebd1d84d;
  border-left: 4px solid #BE60A3;
  border-radius: 2px;
  padding: 16px 32px;
  margin-top: 32px;
  margin-bottom: 32px;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

@media (max-width: 1024px) {
  .policy-view {
    padding: 64px 32px
  }

  .policy-view h1 {
    font-size: 52px
  }
}

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

  .policy-view h1 {
    font-size: 24px;
    line-height: 1.2
  }

  .policy-view h2 {
    font-size: 24px;
    margin-top: 32px
  }

  .policy-view h3 {
    font-size: 14px
  }

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

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

  .policy-view h1 {
    font-size: 24px
  }

  .policy-view p {
    max-width: 100%
  }
}

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

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

.ebd .ttl-block {
  padding: 64px 0 96px;
  background: linear-gradient(293deg, #EEE5E6 0%, #EBD1D8 40%, #fff 100%);
  position: relative
}

.ebd .ttl-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 64px
}

.ebd .ttl-img-col {
  flex: 0 0 440px;
  position: relative
}

.ebd .ttl-img-wrap {
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  height: 100%;
  min-height: 320px
}

.ebd .ttl-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: filter .55s ease-in-out
}

.ebd .ttl-img-wrap img:hover {
  filter: saturate(0)
}

.ebd .ttl-img-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #be60a361 0%, transparent 70%);
  pointer-events: none;
  border-radius: 24px
}

.ebd .ttl-deco {
  position: absolute;
  top: -16px;
  left: -16px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  z-index: 1
}

.ebd .ttl-txt-col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px
}

.ebd .ttl-kicker {
  display: inline-block;
  background: #BE60A3;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  padding: 8px 16px;
  border-radius: 2px;
  letter-spacing: 0;
  align-self: flex-start
}

.ebd .ttl-h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #2a1a24;
  margin: 0;
  clip-path: inset(0 100% 0 0);
  animation: reveal-clip .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s forwards
}

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

.ebd .ttl-lead {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3040;
  margin: 0
}

.ebd .ttl-meta {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 8px;
  flex-wrap: wrap
}

.ebd .ttl-meta-item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ebd .ttl-meta-label {
  font-size: 14px;
  line-height: 1.2;
  color: #9a6080;
  text-transform: uppercase;
  letter-spacing: 0
}

.ebd .ttl-meta-val {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a24;
  font-weight: 700
}

.ebd .ttl-price-badge {
  display: inline-flex;
  flex-direction: column;
  background: #BE60A3;
  color: #fff;
  border-radius: 24px;
  padding: 16px 32px;
  align-self: flex-start;
  margin-top: 8px;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ebd .ttl-price-badge .p-label {
  font-size: 14px;
  line-height: 1.2;
  opacity: .85
}

.ebd .ttl-price-badge .p-val {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700
}

.ebd .ttl-cta {
  display: inline-block;
  background: linear-gradient(293deg, #BE60A3 0%, #d47dbf 100%);
  background-size: 200% 100%;
  background-position: right center;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  padding: 16px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  transition: background-position .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .45s ease-in-out;
  box-shadow: 1px 3px 4px -1px #be60a312;
  align-self: flex-start;
  text-decoration: none
}

.ebd .ttl-cta:hover {
  background-position: left center;
  box-shadow: 1px 9px 60px -1px #be60a31f;
  color: #fff
}

.ebd .detail-block {
  padding: 96px 0 64px;
  background: #fff
}

.ebd .detail-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start
}

.ebd .desc-col {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.ebd .desc-accent {
  width: 48px;
  height: 4px;
  background: linear-gradient(293deg, #BE60A3 0%, #EBD1D8 100%);
  border-radius: 2px;
  margin-bottom: 8px
}

.ebd .desc-h2 {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a24;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 0%, transparent 80%);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px
}

.ebd .desc-body {
  font-size: 14px;
  line-height: 1.6;
  color: #3a2030
}

.ebd .desc-body p {
  text-indent: 24px;
  margin: 0
}

.ebd .desc-body p+p {
  margin-top: 0
}

.ebd .desc-body h2 {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a24;
  background: linear-gradient(293deg, #EBD1D8 0%, transparent 80%);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px;
  margin: 16px 0 8px;
  text-indent: 0
}

.ebd .desc-body mark {
  background: #EBD1D8;
  color: #2a1a24;
  padding: 2px 8px;
  border-radius: 2px
}

.ebd .desc-body ol {
  padding-left: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ebd .desc-body li {
  font-size: 14px;
  line-height: 1.6;
  color: #3a2030;
  background: #EEE5E6;
  border-left: 3px solid #BE60A3;
  border-radius: 2px;
  padding: 8px 16px;
  list-style: decimal inside
}

.ebd .desc-body details {
  border-radius: 2px;
  border: 1px solid #EBD1D8;
  padding: 8px 16px
}

.ebd .desc-body summary {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  cursor: pointer;
  font-weight: 600
}

.ebd .prog-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 32px
}

.ebd .prog-card {
  background: #EEE5E6;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ebd .prog-card-h {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a24;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 0%, transparent 90%);
  padding: 8px 16px;
  border-radius: 2px;
  display: inline-block
}

.ebd .prog-body {
  font-size: 14px;
  line-height: 1.6;
  color: #3a2030
}

.ebd .prog-body p {
  margin: 0 0 8px
}

.ebd .prog-body h2 {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  font-weight: 700;
  margin: 16px 0 8px;
  background: none;
  padding: 0
}

.ebd .prog-body h3 {
  font-size: 14px;
  line-height: 1.6;
  color: #2a1a24;
  font-weight: 600;
  margin: 8px 0 4px
}

.ebd .prog-body ul {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none
}

.ebd .prog-body li {
  font-size: 14px;
  line-height: 1.6;
  color: #3a2030;
  background: #fff;
  border-radius: 2px;
  padding: 8px 16px;
  border-left: 3px solid #BE60A3;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.ebd .prog-body mark {
  background: #EBD1D8;
  color: #2a1a24;
  padding: 2px 6px;
  border-radius: 2px
}

.ebd .prog-body abbr {
  text-decoration: underline dotted #BE60A3;
  cursor: help
}

.ebd .prog-body blockquote {
  border-left: 3px solid #BE60A3;
  margin: 8px 0;
  padding: 8px 16px;
  background: #fff;
  border-radius: 2px;
  font-style: italic;
  color: #4a3040
}

.ebd .prog-body details {
  border: 1px solid #EBD1D8;
  border-radius: 2px;
  padding: 8px 16px;
  background: #fff
}

.ebd .prog-body summary {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  cursor: pointer;
  font-weight: 600
}

.ebd .enroll-card {
  background: linear-gradient(293deg, #BE60A3 0%, #d47dbf 60%, #EBD1D8 100%);
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.ebd .enroll-card .e-label {
  font-size: 14px;
  line-height: 1.2;
  color: #ffffffd9
}

.ebd .enroll-card .e-price {
  font-size: 52px;
  line-height: 1.2;
  color: #fff;
  font-weight: 700
}

.ebd .enroll-card .e-dur {
  font-size: 14px;
  line-height: 1.6;
  color: #ffffffe6
}

.ebd .enroll-btn {
  display: block;
  background: #fff;
  color: #BE60A3;
  font-size: 14px;
  line-height: 1.6;
  padding: 16px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .45s ease-in-out;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.ebd .enroll-btn:hover {
  background: #2a1a24;
  color: #fff;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ebd .bracket-left,
.ebd .bracket-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .12
}

.ebd .bracket-left {
  left: 0
}

.ebd .bracket-right {
  right: 0
}

@media (max-width: 1024px) {
  .ebd .ttl-inner {
    flex-direction: column;
    gap: 32px
  }

  .ebd .ttl-img-col {
    flex: 0 0 auto
  }

  .ebd .ttl-img-wrap {
    min-height: 240px
  }

  .ebd .ttl-h1 {
    font-size: 52px
  }

  .ebd .detail-grid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .ebd .prog-col {
    position: static
  }
}

@media (max-width: 640px) {
  .ebd .ttl-block {
    padding: 32px 0 64px
  }

  .ebd .ttl-inner {
    padding: 0 16px;
    gap: 16px
  }

  .ebd .ttl-h1 {
    font-size: 24px
  }

  .ebd .ttl-meta {
    gap: 16px
  }

  .ebd .detail-block {
    padding: 64px 0 32px
  }

  .ebd .pg-wrap {
    padding: 0 16px
  }

  .ebd .enroll-card .e-price {
    font-size: 24px
  }
}

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

  .ebd .ttl-meta-val {
    font-size: 14px
  }
}

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

.wbn .diag-item {
  opacity: 0;
  animation: diagReveal .55s ease-in-out forwards
}

.wbn .diag-item:nth-child(1) {
  animation-delay: .05s
}

.wbn .diag-item:nth-child(2) {
  animation-delay: .15s
}

.wbn .diag-item:nth-child(3) {
  animation-delay: .25s
}

.wbn .diag-item:nth-child(4) {
  animation-delay: .35s
}

.wbn .diag-item:nth-child(5) {
  animation-delay: .45s
}

.wbn .diag-item:nth-child(6) {
  animation-delay: .55s
}

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

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

.wbn .pg-top {
  max-width: 1100px;
  margin: 0 auto;
  padding: 96px 32px 64px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
  border-top: 2px solid #BE60A3;
  border-bottom: 1px solid #EBD1D8;
  position: relative
}

.wbn .pg-top::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(293deg, #EEE5E6 0%, #BE60A3 60%, #fff 100%)
}

.wbn .pg-top-txt {
  flex: 0 0 55%;
  max-width: 55%
}

.wbn .pg-top-img {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative
}

.wbn .lbl {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  border-left: 3px solid #BE60A3;
  border-bottom: 1px solid #EBD1D8;
  padding: 0 8px
}

.wbn .pg-h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #1b1b2e;
  font-weight: 800;
  margin-bottom: 32px
}

.wbn .pg-h1 mark {
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 80%);
  color: #fff;
  padding: 0 8px;
  border-radius: 2px;
  display: inline
}

.wbn .pg-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #3a2d35;
  margin-bottom: 32px;
  max-width: 480px
}

.wbn .pg-desc p {
  text-indent: 1.4em;
  margin: 0
}

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

.wbn .btn-pri {
  font-size: 14px;
  line-height: 1.6;
  padding: 8px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  background: linear-gradient(293deg, #BE60A3 0%, #BE60A3 55%, #9a3d82 100%);
  background-size: 200% 100%;
  background-position: right center;
  color: #fff;
  font-weight: 700;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  transition: background-position .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.wbn .btn-pri:hover {
  background-position: left center;
  box-shadow: 1px 9px 60px -1px #be60a31f;
  color: #fff
}

.wbn .btn-sec {
  font-size: 14px;
  line-height: 1.6;
  padding: 8px 32px;
  border-radius: 2px;
  border: 2px solid #BE60A3;
  cursor: pointer;
  background: linear-gradient(293deg, #fff 0%, #fff 55%, #EBD1D8 100%);
  background-size: 200% 100%;
  background-position: right center;
  color: #BE60A3;
  font-weight: 700;
  transition: background-position .55s ease-in-out, color .55s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.wbn .btn-sec:hover {
  background-position: left center;
  color: #7a2060
}

.wbn .img-clip-wrap {
  position: relative;
  width: 320px;
  height: 340px
}

.wbn .img-clip {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(0 8%, 92% 0, 100% 92%, 8% 100%);
  border-radius: 2px;
  filter: saturate(1);
  transition: filter .55s ease-in-out
}

.wbn .img-clip:hover {
  filter: saturate(0)
}

.wbn .img-deco {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 120px;
  height: 120px;
  border: 2px solid #EBD1D8;
  border-radius: 2px;
  z-index: -1;
  pointer-events: none
}

.wbn .img-deco-dot {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 64px;
  height: 64px;
  z-index: -1;
  pointer-events: none;
  overflow: hidden
}

.wbn .img-deco-dot svg {
  width: 100%;
  height: 100%
}

.wbn .catalog {
  background: #EEE5E6;
  position: relative;
  overflow: hidden
}

.wbn .catalog::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 8% 12%, #be60a317 0%, transparent 38%), radial-gradient(circle at 93% 88%, #be60a312 0%, transparent 32%);
  pointer-events: none
}

.wbn .catalog-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 96px 32px;
  position: relative
}

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

.wbn .catalog-hd-txt {
  flex: 1 1 auto
}

.wbn .cat-h2 {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 800;
  color: #1b1b2e;
  margin-bottom: 8px;
  display: inline-block;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 70%);
  padding: 0 16px;
  border-radius: 2px
}

.wbn .cat-sub {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3540;
  max-width: 520px;
  margin-top: 16px
}

.wbn .cat-sub p {
  text-indent: 1.4em;
  margin: 0
}

.wbn .infographic {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 64px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  overflow: hidden;
  border-top: 3px solid #BE60A3;
  border-bottom: 3px solid #EBD1D8
}

.wbn .info-item {
  flex: 1 1 0;
  min-width: 120px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  border-right: 1px solid #EEE5E6;
  transition: background-color .5s ease-in-out
}

.wbn .info-item:last-child {
  border-right: none
}

.wbn .info-item:hover {
  background-color: #EEE5E6
}

.wbn .info-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.wbn .info-num {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: #BE60A3
}

.wbn .info-label {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3540;
  text-align: center
}

.wbn .wbn-grid {
  display: grid;
  grid-template-columns: 1fr 2fr 3fr;
  gap: 32px;
  margin-bottom: 64px
}

.wbn .wbn-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  border-left: 4px solid #BE60A3;
  border-top: 1px solid #EBD1D8;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.wbn .wbn-card:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f;
  transform: translateY(-4px)
}

.wbn .wbn-card.wide {
  grid-column: span 1
}

.wbn .card-tag {
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
  background: linear-gradient(293deg, #BE60A3 0%, #9a3d82 100%);
  border-radius: 2px;
  padding: 0 8px;
  display: inline-block;
  align-self: flex-start
}

.wbn .card-h {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1b2e
}

.wbn .card-body {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3540
}

.wbn .card-body p {
  text-indent: 1.4em;
  margin: 0
}

.wbn .card-meta {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: auto
}

.wbn .meta-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #7a5570
}

.wbn .meta-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.wbn .card-img-wrap {
  border-radius: 2px;
  overflow: hidden;
  width: 100%;
  height: 180px
}

.wbn .card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: filter .6s ease-in-out
}

.wbn .card-img:hover {
  filter: saturate(0)
}

.wbn .callout-strip {
  background: linear-gradient(293deg, #1b1b2e 0%, #3a1a30 60%, #BE60A3 100%);
  border-radius: 24px;
  padding: 64px 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
  box-shadow: 1px 9px 60px -1px #be60a31f;
  position: relative;
  overflow: hidden
}

.wbn .callout-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 50%, #be60a32e 0%, transparent 60%);
  pointer-events: none
}

.wbn .callout-quote {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 2px;
  background: #be60a340;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.wbn .callout-txt {
  flex: 1 1 auto
}

.wbn .callout-pull {
  font-size: 24px;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px
}

.wbn .callout-sub {
  font-size: 14px;
  line-height: 1.6;
  color: #EBD1D8
}

.wbn .callout-cta {
  flex: 0 0 auto
}

.wbn .dot-pattern {
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 200px;
  pointer-events: none;
  z-index: 0
}

.wbn .wbn-cards-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  flex-wrap: wrap
}

.wbn .wbn-card-sm {
  flex: 1 1 220px;
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-left: 4px solid #EBD1D8;
  border-top: 1px solid #EEE5E6;
  position: relative;
  transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-left-color .6s ease-in-out
}

.wbn .wbn-card-sm:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a;
  border-left-color: #BE60A3
}

.wbn .card-sm-icon {
  width: 40px;
  height: 40px
}

.wbn .card-sm-h {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1b2e
}

.wbn .card-sm-body {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3540
}

.wbn .card-sm-body p {
  text-indent: 1.4em;
  margin: 0
}

.wbn .expert-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
  margin-top: 64px;
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  border-left: 4px solid #BE60A3;
  border-top: 1px solid #EBD1D8
}

.wbn .expert-portrait {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  border: 3px solid #EBD1D8
}

.wbn .expert-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: filter .55s ease-in-out
}

.wbn .expert-portrait img:hover {
  filter: saturate(0)
}

.wbn .expert-info {
  flex: 1 1 auto
}

.wbn .expert-name {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1b2e;
  margin-bottom: 8px
}

.wbn .expert-role {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  font-weight: 600;
  margin-bottom: 8px
}

.wbn .expert-bio {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3540
}

.wbn .divider-grad {
  max-width: 1100px;
  margin: 0 auto;
  height: 1px;
  background: linear-gradient(293deg, transparent 0%, #EBD1D8 30%, #BE60A3 55%, transparent 100%)
}

@media (max-width: 1024px) {
  .wbn .pg-top {
    flex-direction: column;
    gap: 32px;
    padding: 64px 32px
  }

  .wbn .pg-top-txt {
    flex: 1 1 auto;
    max-width: 100%
  }

  .wbn .wbn-grid {
    grid-template-columns: 1fr 1fr
  }

  .wbn .callout-strip {
    flex-direction: column;
    gap: 32px
  }

  .wbn .catalog-hd {
    flex-direction: column;
    align-items: flex-start
  }
}

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

  .wbn .cat-h2 {
    font-size: 24px
  }

  .wbn .wbn-grid {
    grid-template-columns: 1fr
  }

  .wbn .infographic {
    flex-direction: column
  }

  .wbn .info-item {
    border-right: none;
    border-bottom: 1px solid #EEE5E6
  }

  .wbn .expert-row {
    flex-direction: column;
    text-align: center
  }

  .wbn .catalog-inner {
    padding: 64px 16px
  }

  .wbn .pg-top {
    padding: 64px 16px
  }
}

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

  .wbn .pg-actions {
    flex-direction: column
  }
}

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

.bs .pg-wrap {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px
}

.bs .t1 {
  position: relative;
  background: #EEE5E6;
  padding-top: 64px;
  padding-bottom: 64px;
  overflow: hidden
}

.bs .t1-inner {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.bs .t1-img-row {
  position: relative;
  width: 100%;
  height: 420px;
  border-radius: 24px;
  overflow: hidden
}

.bs .t1-img-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.7) brightness(0.85);
  transition: filter .55s ease-in-out
}

.bs .t1-img-row img:hover {
  filter: saturate(0) brightness(0.85)
}

.bs .t1-shape1 {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 2px solid #be60a32e;
  pointer-events: none
}

.bs .t1-shape2 {
  position: absolute;
  bottom: 24px;
  left: -32px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 2px solid #ebd1d873;
  pointer-events: none
}

.bs .t1-text {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.bs .t1-label {
  display: inline-block;
  background: #BE60A3;
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  padding: 8px 16px;
  border-radius: 2px;
  letter-spacing: .04em;
  width: fit-content
}

.bs .t1-h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #2a1a26;
  font-weight: 800;
  margin: 0
}

.bs .t1-sub {
  font-size: 24px;
  line-height: 1.6;
  color: #5a3a52;
  margin: 0;
  max-width: 620px
}

.bs .t1-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center
}

.bs .btn-main {
  position: relative;
  display: inline-block;
  padding: 16px 32px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(293deg, #BE60A3 60%, #d47bbf 100%);
  border-radius: 2px;
  border: none;
  cursor: pointer;
  overflow: hidden;
  transition: box-shadow .55s ease-in-out, color .45s ease-in-out;
  text-decoration: none;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.bs .btn-main::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(293deg, #a0458a 60%, #BE60A3 100%);
  transition: left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0
}

.bs .btn-main:hover::before {
  left: 0
}

.bs .btn-main span {
  position: relative;
  z-index: 1
}

.bs .btn-main:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.bs .btn-sec {
  display: inline-block;
  padding: 16px 32px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #BE60A3;
  background: transparent;
  border-radius: 2px;
  border: 2px solid #BE60A3;
  cursor: pointer;
  text-decoration: none;
  transition: background .5s ease-in-out, color .5s ease-in-out
}

.bs .btn-sec:hover {
  background: #BE60A3;
  color: #fff
}

.bs .divider-pencil {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.bs .divider-pencil svg {
  display: block;
  width: 100%
}

.bs .cond-sec {
  background: #fff;
  padding-top: 96px;
  padding-bottom: 64px
}

.bs .cond-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start
}

.bs .cond-left {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.bs .sec-eyebrow {
  display: inline-block;
  font-size: 14px;
  line-height: 1.2;
  color: #BE60A3;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase
}

.bs .sec-h2 {
  font-size: 24px;
  line-height: 1.6;
  font-weight: 800;
  color: #2a1a26;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 60%, #EEE5E6 100%);
  display: inline;
  padding: 0 8px;
  border-radius: 2px
}

.bs .cond-body {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2535;
  margin: 0;
  text-indent: 24px
}

.bs .cond-right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.bs .cond-card {
  background: #fff;
  border-left: 4px solid #BE60A3;
  border-top: 1px solid #EBD1D8;
  border-right: 1px solid #EBD1D8;
  border-bottom: 1px solid #EBD1D8;
  border-radius: 2px;
  padding: 16px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .5s ease-in-out, transform .5s ease-in-out
}

.bs .cond-card:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a;
  transform: translateX(4px)
}

.bs .cond-card-h {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #2a1a26;
  margin: 0 0 8px
}

.bs .cond-card-p {
  font-size: 14px;
  line-height: 1.6;
  color: #5a3a52;
  margin: 0
}

.bs .cond-img {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  margin-top: 16px
}

.bs .cond-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .6s ease-in-out
}

.bs .cond-img img:hover {
  filter: saturate(0)
}

.bs .proof-sec {
  background: linear-gradient(293deg, #EBD1D8 60%, #EEE5E6 100%);
  padding-top: 64px;
  padding-bottom: 64px
}

.bs .proof-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px
}

.bs .proof-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.bs .proof-card {
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  display: flex;
  flex-direction: column;
  gap: 16px;
  animation: scaleIn .55s ease-in-out both
}

@keyframes scaleIn {
  from {
    transform: scale(0.9);
    opacity: 0
  }

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

.bs .proof-card.alt {
  background: #2a1a26
}

.bs .proof-quote {
  font-size: 14px;
  line-height: 2;
  color: #3d2535;
  margin: 0;
  position: relative;
  padding-top: 16px
}

.bs .proof-quote::before {
  content: '';
  display: block;
  width: 32px;
  height: 2px;
  background: #BE60A3;
  margin-bottom: 8px
}

.bs .proof-card.alt .proof-quote {
  color: #EBD1D8
}

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

.bs .proof-portrait {
  width: 56px;
  height: 72px;
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.bs .proof-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .6s ease-in-out
}

.bs .proof-portrait img:hover {
  filter: saturate(0)
}

.bs .proof-name {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #2a1a26;
  margin: 0
}

.bs .proof-card.alt .proof-name {
  color: #fff
}

.bs .proof-role {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  margin: 0
}

.bs .pull-quote {
  font-size: 24px;
  line-height: 1.6;
  color: #BE60A3;
  font-weight: 800;
  font-style: italic;
  margin: 0;
  padding-left: 16px;
  border-left: 4px solid #BE60A3
}

.bs .longval-sec {
  background: #fff;
  padding-top: 96px;
  padding-bottom: 96px
}

.bs .longval-layout {
  display: grid;
  grid-template-columns: 5fr 4fr;
  gap: 64px;
  align-items: center
}

.bs .longval-img-wrap {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.bs .longval-img-wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .65s ease-in-out
}

.bs .longval-img-wrap img:hover {
  filter: saturate(0)
}

.bs .longval-curve {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  pointer-events: none
}

.bs .longval-right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.bs .longval-body {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2535;
  margin: 0;
  text-indent: 24px
}

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

.bs .longval-list li {
  background: #EEE5E6;
  border-left: 4px solid #BE60A3;
  border-top: 1px solid #EBD1D8;
  border-right: 1px solid #EBD1D8;
  border-bottom: 1px solid #EBD1D8;
  border-radius: 2px;
  padding: 8px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #2a1a26;
  transition: background .5s ease-in-out
}

.bs .longval-list li:hover {
  background: #EBD1D8
}

.bs .scale-sec {
  background: #2a1a26;
  padding-top: 64px;
  padding-bottom: 64px;
  position: relative;
  overflow: hidden
}

.bs .scale-sec::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 2px solid #be60a326;
  pointer-events: none
}

.bs .scale-sec::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: -60px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px solid #ebd1d81a;
  pointer-events: none
}

.bs .scale-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 64px
}

.bs .scale-head .sec-eyebrow {
  color: #EBD1D8
}

.bs .scale-h2 {
  font-size: 24px;
  line-height: 1.6;
  font-weight: 800;
  color: #fff;
  margin: 0;
  background: linear-gradient(293deg, #be60a359 60%, #ebd1d826 100%);
  display: inline;
  padding: 0 8px;
  border-radius: 2px
}

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

.bs .scale-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 16px;
  border-radius: 24px;
  background: #be60a314;
  border: 1px solid #be60a32e;
  text-align: center;
  transition: background .55s ease-in-out, transform .55s ease-in-out
}

.bs .scale-item:hover {
  background: #be60a32e;
  transform: translateY(-4px)
}

.bs .scale-num {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 800;
  color: #BE60A3;
  margin: 0
}

.bs .scale-label {
  font-size: 14px;
  line-height: 1.6;
  color: #EBD1D8;
  margin: 0
}

.bs .scale-img-strip {
  margin-top: 64px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.bs .scale-img-strip img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .65s ease-in-out
}

.bs .scale-img-strip img:hover {
  filter: saturate(0)
}

.bs .diff-sec {
  background: #EEE5E6;
  padding-top: 96px;
  padding-bottom: 96px
}

.bs .diff-layout {
  display: grid;
  grid-template-columns: 4fr 5fr;
  gap: 64px;
  align-items: start
}

.bs .diff-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative
}

.bs .diff-pull {
  font-size: 24px;
  line-height: 1.6;
  color: #BE60A3;
  font-weight: 800;
  font-style: italic;
  padding-left: 16px;
  border-left: 4px solid #BE60A3;
  margin: 0
}

.bs .diff-body {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2535;
  margin: 0;
  text-indent: 24px
}

.bs .diff-img {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.bs .diff-img img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter .6s ease-in-out
}

.bs .diff-img img:hover {
  filter: saturate(0)
}

.bs .diff-right {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.bs .diff-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #fff;
  border-radius: 24px;
  border-top: 1px solid #EBD1D8;
  border-right: 1px solid #EBD1D8;
  border-bottom: 1px solid #EBD1D8;
  border-left: 4px solid #BE60A3;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bs .diff-row:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a;
  transform: translateX(6px)
}

.bs .diff-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-top: 2px
}

.bs .diff-row-text {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.bs .diff-row-h {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #2a1a26;
  margin: 0
}

.bs .diff-row-p {
  font-size: 14px;
  line-height: 1.6;
  color: #5a3a52;
  margin: 0
}

.bs .webinar-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #BE60A3;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color .5s ease-in-out;
  margin-top: 8px
}

.bs .webinar-link:hover {
  border-color: #BE60A3
}

.bs .webinar-link svg {
  transition: transform .5s ease-in-out
}

.bs .webinar-link:hover svg {
  transform: translateX(4px)
}

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

  .bs .proof-grid {
    grid-template-columns: 1fr
  }

  .bs .longval-layout {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .bs .scale-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .bs .diff-layout {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .bs .t1-h1 {
    font-size: 52px
  }
}

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

  .bs .t1-img-row {
    height: 240px
  }

  .bs .scale-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
  }

  .bs .scale-num {
    font-size: 24px
  }

  .bs .pg-wrap {
    padding-left: 16px;
    padding-right: 16px
  }

  .bs .proof-card {
    padding: 16px
  }

  .bs .longval-img-wrap img {
    height: 220px
  }

  .bs .diff-img img {
    height: 180px
  }
}

@media (max-width: 360px) {
  .bs .t1-actions {
    flex-direction: column
  }

  .bs .scale-grid {
    grid-template-columns: 1fr
  }
}

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

.ab-us .geo-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 0
}

.ab-us .geo-bg span {
  position: absolute;
  border-radius: 50%;
  border: 1px solid #be60a312;
  display: block
}

.ab-us .geo-bg span:nth-child(1) {
  width: 420px;
  height: 420px;
  top: -80px;
  right: -120px
}

.ab-us .geo-bg span:nth-child(2) {
  width: 260px;
  height: 260px;
  top: 60px;
  right: 0;
  border-color: #be60a30d
}

.ab-us .geo-bg span:nth-child(3) {
  width: 320px;
  height: 320px;
  bottom: 200px;
  left: -100px;
  border-color: #ebd1d817
}

.ab-us>* {
  position: relative;
  z-index: 1
}

.ab-us .band {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px
}

.ab-us .top-strip {
  padding-top: 64px;
  padding-bottom: 64px;
  background: #fff
}

.ab-us .top-strip .inner-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 64px
}

.ab-us .top-strip .txt-col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px
}

.ab-us .top-strip .img-col {
  flex: 0 0 400px;
  position: relative
}

.ab-us .top-strip .img-wrap {
  width: 100%;
  height: 320px;
  overflow: hidden;
  border-radius: 2px;
  position: relative
}

.ab-us .top-strip .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .55s ease-in-out
}

.ab-us .top-strip .img-wrap:hover img {
  filter: saturate(0)
}

.ab-us .top-strip .img-tint {
  position: absolute;
  inset: 0;
  background: #be60a31f;
  pointer-events: none;
  border-radius: 2px
}

.ab-us .top-strip .img-deco {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 80px;
  height: 80px;
  border: 2px solid #be60a338;
  border-radius: 2px;
  pointer-events: none
}

.ab-us .top-strip .img-deco-2 {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 48px;
  height: 48px;
  background: #ebd1d873;
  border-radius: 2px;
  pointer-events: none
}

.ab-us .pg-label {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.ab-us .pg-label .ln {
  display: block;
  width: 32px;
  height: 2px;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 80%);
  border-radius: 2px
}

.ab-us .top-h {
  font-size: 52px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0
}

.ab-us .top-h .hl {
  display: inline;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 85%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.ab-us .top-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 0
}

.ab-us .top-link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
  background: linear-gradient(293deg, #BE60A3 0%, #9b3f84 100%);
  padding: 8px 32px;
  border-radius: 2px;
  text-decoration: none;
  font-weight: 600;
  align-self: flex-start;
  transition: opacity .5s ease-in-out, box-shadow .5s ease-in-out;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.ab-us .top-link:hover {
  opacity: .88;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ab-us .sym-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-top: 8px
}

.ab-us .sym-icons .ico {
  width: 24px;
  height: 24px;
  flex-shrink: 0
}

.ab-us .sym-icons .sym-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #7a4d72;
  font-weight: 500
}

.ab-us .dark-strip {
  background: #2a0d22;
  padding-top: 64px;
  padding-bottom: 64px
}

.ab-us .dark-strip .ds-row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start
}

.ab-us .dark-strip .ds-left {
  flex: 2 1 0
}

.ab-us .dark-strip .ds-right {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 32px
}

.ab-us .ds-h {
  font-size: 24px;
  line-height: 1.2;
  color: #EBD1D8;
  font-weight: 700;
  margin: 0 0 16px;
  background: #be60a32e;
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px
}

.ab-us .ds-p {
  font-size: 14px;
  line-height: 1.6;
  color: #ebd1d8d1;
  margin: 0 0 16px;
  text-indent: 24px
}

.ab-us .ds-p+.ds-p {
  margin-top: 0
}

.ab-us .prog-rings {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ab-us .ring-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.ab-us .ring-wrap {
  flex-shrink: 0;
  position: relative;
  width: 64px;
  height: 64px
}

.ab-us .ring-wrap svg {
  width: 64px;
  height: 64px;
  transform: rotate(-90deg)
}

.ab-us .ring-wrap .ring-bg {
  fill: none;
  stroke: #ebd1d81f;
  stroke-width: 5
}

.ab-us .ring-wrap .ring-fill {
  fill: none;
  stroke: #BE60A3;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 163;
  transition: stroke-dashoffset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ab-us .ring-val {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #EBD1D8
}

.ab-us .ring-lbl {
  font-size: 14px;
  line-height: 1.6;
  color: #ebd1d8bf
}

.ab-us .mid-strip {
  background: #EEE5E6;
  padding-top: 96px;
  padding-bottom: 96px
}

.ab-us .mid-strip .ms-head {
  text-align: center;
  margin-bottom: 64px
}

.ab-us .ms-h {
  font-size: 24px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 16px
}

.ab-us .ms-sub {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  max-width: 540px;
  margin: 0 auto
}

.ab-us .three-col {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 32px;
  align-items: start
}

.ab-us .card-dom {
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  overflow: hidden;
  border-top: 3px solid #BE60A3;
  border-right: 1px solid #be60a314;
  border-bottom: 1px solid #be60a314
}

.ab-us .card-dom .cd-img {
  width: 100%;
  height: 200px;
  overflow: hidden
}

.ab-us .card-dom .cd-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .6s ease-in-out
}

.ab-us .card-dom .cd-img:hover img {
  filter: saturate(0)
}

.ab-us .card-dom .cd-body {
  padding: 32px
}

.ab-us .cd-h {
  font-size: 24px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 16px;
  background: linear-gradient(293deg, #EBD1D8 0%, #be60a32e 100%);
  padding: 8px 16px;
  border-radius: 2px;
  display: inline-block
}

.ab-us .cd-p {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 0;
  text-indent: 24px
}

.ab-us .card-sm {
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  padding: 32px;
  border-left: 3px solid #BE60A3;
  border-top: 1px solid #be60a314;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ab-us .card-sm .csm-ico {
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.ab-us .csm-h {
  font-size: 14px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 0%, #be60a326 100%);
  padding: 8px 16px;
  border-radius: 2px;
  display: inline-block
}

.ab-us .csm-p {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 0
}

.ab-us .team-strip {
  background: #fff;
  padding-top: 96px;
  padding-bottom: 96px
}

.ab-us .team-strip .ts-head {
  margin-bottom: 64px
}

.ab-us .ts-h {
  font-size: 24px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 8px;
  background: linear-gradient(293deg, #EBD1D8 0%, #be60a32e 100%);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px
}

.ab-us .ts-sub {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 8px 0 0
}

.ab-us .team-layout {
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start
}

.ab-us .team-profiles {
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex: 0 0 340px
}

.ab-us .prof-card {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  background: #EEE5E6;
  border-radius: 24px;
  padding: 16px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .5s ease-in-out
}

.ab-us .prof-card:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ab-us .prof-img {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 2px
}

.ab-us .prof-img img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .55s ease-in-out
}

.ab-us .prof-card:hover .prof-img img {
  filter: saturate(0)
}

.ab-us .prof-info {
  flex: 1 1 0
}

.ab-us .prof-name {
  font-size: 14px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 8px
}

.ab-us .prof-role {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  margin: 0 0 8px
}

.ab-us .prof-bio {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 0
}

.ab-us .compare-block {
  flex: 1 1 0
}

.ab-us .cmp-h {
  font-size: 24px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 32px;
  background: linear-gradient(293deg, #EBD1D8 0%, #be60a32e 100%);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px
}

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

.ab-us .cmp-opt {
  background: #EEE5E6;
  border-radius: 24px;
  padding: 32px;
  border-top: 3px solid transparent;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ab-us .cmp-opt.grp {
  border-top-color: #BE60A3
}

.ab-us .cmp-opt.prv {
  border-top-color: #EBD1D8
}

.ab-us .cmp-opt:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.ab-us .cmp-tag {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #BE60A3;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0 0 16px
}

.ab-us .cmp-title {
  font-size: 14px;
  line-height: 1.6;
  color: #1e1226;
  font-weight: 700;
  margin: 0 0 8px
}

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

.ab-us .cmp-items li {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.ab-us .cmp-items li .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #BE60A3;
  flex-shrink: 0;
  margin-top: 7px
}

.ab-us .img-row-strip {
  background: #EEE5E6;
  padding-top: 64px;
  padding-bottom: 64px
}

.ab-us .img-row-strip .ir-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.ab-us .ir-img {
  width: 100%;
  height: 280px;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ab-us .ir-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .6s ease-in-out
}

.ab-us .ir-img:hover img {
  filter: saturate(0)
}

.ab-us .ir-txt {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ab-us .ir-h {
  font-size: 24px;
  line-height: 1.2;
  color: #1e1226;
  font-weight: 700;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 0%, #be60a32e 100%);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 2px
}

.ab-us .ir-p {
  font-size: 14px;
  line-height: 1.6;
  color: #3d2b3a;
  margin: 0;
  text-indent: 24px
}

.ab-us .ir-accent {
  display: block;
  width: 48px;
  height: 3px;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 80%);
  border-radius: 2px
}

.ab-us .click-grow {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  font-weight: 600;
  cursor: pointer;
  transition: transform .5s ease-in-out
}

.ab-us .click-grow:active {
  transform: scale(1.07)
}

@keyframes blurIn {
  from {
    filter: blur(8px);
    opacity: 0
  }

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

.ab-us .top-strip .txt-col {
  animation: blurIn .65s ease-in-out both
}

.ab-us .top-strip .img-col {
  animation: blurIn .65s ease-in-out .2s both
}

.ab-us .dark-strip .ds-left {
  animation: blurIn .55s ease-in-out .1s both
}

.ab-us .dark-strip .ds-right {
  animation: blurIn .55s ease-in-out .25s both
}

@media (max-width: 1024px) {
  .ab-us .three-col {
    grid-template-columns: 1fr 1fr
  }

  .ab-us .card-dom {
    grid-column: 1 / -1
  }

  .ab-us .team-layout {
    flex-direction: column;
    gap: 32px
  }

  .ab-us .team-profiles {
    flex: none;
    width: 100%
  }

  .ab-us .top-strip .inner-row {
    flex-direction: column;
    gap: 32px
  }

  .ab-us .top-strip .img-col {
    flex: none;
    width: 100%
  }

  .ab-us .dark-strip .ds-row {
    flex-direction: column
  }
}

@media (max-width: 640px) {
  .ab-us .top-h {
    font-size: 24px
  }

  .ab-us .three-col {
    grid-template-columns: 1fr
  }

  .ab-us .cmp-row {
    grid-template-columns: 1fr
  }

  .ab-us .img-row-strip .ir-row {
    grid-template-columns: 1fr
  }

  .ab-us .band {
    padding-left: 16px;
    padding-right: 16px
  }

  .ab-us .top-strip {
    padding-top: 32px;
    padding-bottom: 32px
  }

  .ab-us .dark-strip {
    padding-top: 32px;
    padding-bottom: 32px
  }

  .ab-us .mid-strip {
    padding-top: 64px;
    padding-bottom: 64px
  }

  .ab-us .team-strip {
    padding-top: 64px;
    padding-bottom: 64px
  }
}

@media (max-width: 360px) {
  .ab-us .top-h {
    font-size: 24px
  }

  .ab-us .prof-card {
    flex-direction: column
  }
}

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

.ed-biz .pg-top {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 32px;
  gap: 64px
}

.ed-biz .pg-top .left {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
  position: relative
}

.ed-biz .pg-top .left::before {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: #BE60A3;
  border-radius: 2px
}

.ed-biz .pg-top .left .pg-label {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  letter-spacing: .08em;
  text-transform: uppercase
}

.ed-biz .pg-top .left h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #1b1224;
  font-weight: 800;
  margin: 0
}

.ed-biz .pg-top .left .sub {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 0
}

.ed-biz .pg-top .left .pg-link {
  display: inline-block;
  padding: 16px 32px;
  background: linear-gradient(293deg, #BE60A3 60%, #d47fbc 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 2px;
  text-decoration: none;
  align-self: flex-start;
  transition: opacity .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ed-biz .pg-top .left .pg-link:hover {
  opacity: .88;
  transform: translateY(-2px)
}

.ed-biz .pg-top .right {
  flex: 1 1 50%;
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 420px
}

.ed-biz .pg-top .right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .6s ease-in-out
}

.ed-biz .pg-top .right img:hover {
  filter: saturate(0)
}

.ed-biz .pg-top .right .tint {
  position: absolute;
  inset: 0;
  background: #be60a32e;
  pointer-events: none;
  border-radius: 24px
}

.ed-biz .pg-top .right .blur-a {
  position: absolute;
  width: 180px;
  height: 180px;
  background: #be60a338;
  border-radius: 50%;
  filter: blur(48px);
  bottom: -40px;
  left: -40px;
  pointer-events: none
}

.ed-biz .pg-top .right .blur-b {
  position: absolute;
  width: 120px;
  height: 120px;
  background: #ebd1d861;
  border-radius: 50%;
  filter: blur(32px);
  top: -20px;
  right: -20px;
  pointer-events: none
}

.ed-biz .cards-band {
  background: #EEE5E6;
  padding: 64px 32px
}

.ed-biz .cards-band .band-inner {
  max-width: 1100px;
  margin: 0 auto
}

.ed-biz .cards-band .band-hd {
  margin-bottom: 32px
}

.ed-biz .cards-band .band-hd h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1224;
  display: inline-block;
  background: linear-gradient(293deg, #EBD1D8 60%, #EEE5E6 100%);
  padding: 8px 16px;
  border-radius: 2px;
  margin: 0
}

.ed-biz .cards-band .card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px
}

.ed-biz .prog-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 1px 3px 4px -1px #be60a312;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-top: 3px solid #BE60A3;
  border-right: 1px solid #EBD1D8;
  border-bottom: 1px solid #EBD1D8
}

.ed-biz .prog-card:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f;
  transform: translateY(-4px)
}

.ed-biz .prog-card .card-img-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden
}

.ed-biz .prog-card .card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .65s ease-in-out
}

.ed-biz .prog-card .card-img-wrap img:hover {
  filter: saturate(0)
}

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

.ed-biz .prog-card .card-body h3 {
  font-size: 14px;
  line-height: 1.6;
  font-weight: 700;
  color: #1b1224;
  margin: 0
}

.ed-biz .prog-card .card-body .desc {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 0;
  text-indent: 1.2em
}

.ed-biz .prog-card .card-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 8px 16px 16px;
  flex-wrap: wrap
}

.ed-biz .prog-card .card-meta .dur {
  font-size: 14px;
  color: #BE60A3;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px
}

.ed-biz .prog-card .card-meta .dur svg {
  flex-shrink: 0
}

.ed-biz .prog-card .card-price {
  font-size: 24px;
  font-weight: 800;
  color: #1b1224;
  padding: 0 16px 16px
}

.ed-biz .prog-card .card-action {
  padding: 0 16px 16px
}

.ed-biz .prog-card .card-action a {
  display: block;
  text-align: center;
  padding: 16px;
  background: linear-gradient(293deg, #BE60A3 55%, #d47fbc 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 2px;
  text-decoration: none;
  transition: opacity .5s ease-in-out
}

.ed-biz .prog-card .card-action a:hover {
  opacity: .85
}

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

.ed-biz .checklist-band .cl-left {
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ed-biz .checklist-band .cl-left::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #BE60A3;
  border-radius: 2px
}

.ed-biz .checklist-band .cl-left h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1224;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 50%, #fff 100%);
  padding: 8px 16px;
  border-radius: 2px;
  display: inline-block
}

.ed-biz .checklist-band .cl-left p {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 0;
  text-indent: 1.2em
}

.ed-biz .checklist-band .cl-right {
  flex: 1 1 55%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ed-biz .chk-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 24px;
  border-left: 4px solid #BE60A3;
  border-top: 1px solid #EBD1D8;
  border-right: 1px solid #EBD1D8;
  border-bottom: 1px solid #EBD1D8;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .55s ease-in-out
}

.ed-biz .chk-item:hover {
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ed-biz .chk-item .chk-icon {
  flex-shrink: 0;
  margin-top: 2px
}

.ed-biz .chk-item .chk-text {
  font-size: 14px;
  line-height: 1.6;
  color: #1b1224
}

.ed-biz .chk-item .chk-text strong {
  color: #BE60A3
}

.ed-biz .team-band {
  background: linear-gradient(293deg, #EBD1D8 30%, #EEE5E6 100%);
  padding: 64px 32px
}

.ed-biz .team-band .team-inner {
  max-width: 1100px;
  margin: 0 auto
}

.ed-biz .team-band .team-hd {
  margin-bottom: 32px
}

.ed-biz .team-band .team-hd h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1224;
  margin: 0;
  display: inline-block;
  background: #fff;
  padding: 8px 16px;
  border-radius: 2px
}

.ed-biz .team-band .team-hd p {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 16px 0 0;
  text-indent: 1.2em
}

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

.ed-biz .t-card {
  background: #fff;
  border-radius: 24px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  border-bottom: 3px solid #BE60A3;
  border-left: 1px solid #EBD1D8;
  border-right: 1px solid #EBD1D8;
  border-top: 1px solid #EBD1D8
}

.ed-biz .t-card .t-portrait {
  width: 80px;
  height: 100px;
  border-radius: 24px;
  overflow: hidden;
  flex-shrink: 0
}

.ed-biz .t-card .t-portrait img {
  width: 80px;
  height: 100px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(1);
  transition: filter .6s ease-in-out
}

.ed-biz .t-card .t-portrait img:hover {
  filter: saturate(0)
}

.ed-biz .t-card .t-info {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ed-biz .t-card .t-name {
  font-size: 14px;
  font-weight: 700;
  color: #1b1224;
  line-height: 1.2
}

.ed-biz .t-card .t-role {
  font-size: 14px;
  color: #BE60A3;
  line-height: 1.6
}

.ed-biz .t-card .t-quote {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 0;
  font-style: italic;
  text-indent: 1.2em
}

.ed-biz .t-card .t-top {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start
}

.ed-biz .contact-strip {
  padding: 64px 32px;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: center
}

.ed-biz .contact-strip .cs-text {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ed-biz .contact-strip .cs-text::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #BE60A3;
  border-radius: 2px
}

.ed-biz .contact-strip .cs-text h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b1224;
  margin: 0;
  background: linear-gradient(293deg, #EBD1D8 40%, #EEE5E6 100%);
  padding: 8px 16px;
  border-radius: 2px;
  display: inline-block
}

.ed-biz .contact-strip .cs-text p {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3550;
  margin: 0;
  text-indent: 1.2em
}

.ed-biz .contact-strip .cs-form {
  flex: 1 1 50%
}

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

.ed-biz .cs-form input,
.ed-biz .cs-form textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid #EBD1D8 !important;
  border-radius: 2px;
  font-size: 14px;
  line-height: 1.6;
  color: #1b1224;
  background: #fff;
  outline: none;
  transition: border-color .5s ease-in-out
}

.ed-biz .cs-form input::placeholder,
.ed-biz .cs-form textarea::placeholder {
  color: #be60a373
}

.ed-biz .cs-form input:focus,
.ed-biz .cs-form textarea:focus {
  border-color: #BE60A3 !important
}

.ed-biz .cs-form textarea {
  resize: vertical;
  min-height: 96px
}

.ed-biz .cs-form button {
  padding: 16px 32px;
  background: linear-gradient(293deg, #BE60A3 55%, #d47fbc 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: opacity .5s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 1px 7px 22px -1px #be60a31a
}

.ed-biz .cs-form button:hover {
  opacity: .87;
  transform: translateY(-2px)
}

.ed-biz .cs-form button:focus {
  outline: 2px solid #BE60A3;
  outline-offset: 2px
}

.ed-biz .divider-a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px
}

.ed-biz .divider-a .line {
  flex: 1;
  height: 1px;
  background: #EBD1D8
}

.ed-biz .divider-a .center-deco {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(293deg, #BE60A3 40%, #EBD1D8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ed-biz .divider-b {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.ed-biz .divider-b .seg {
  height: 3px;
  border-radius: 2px
}

.ed-biz .divider-b .seg.long {
  flex: 3;
  background: #EBD1D8
}

.ed-biz .divider-b .seg.short {
  flex: 1;
  background: #BE60A3
}

.ed-biz .divider-b .seg.tiny {
  flex: 0 0 16px;
  background: #EEE5E6
}

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

  70% {
    opacity: 1;
    transform: translateY(6px)
  }

  85% {
    transform: translateY(-3px)
  }

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

.ed-biz .pg-top .left {
  animation: dropbounce .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.ed-biz .pg-top .right {
  animation: dropbounce .65s .1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@media (max-width: 1024px) {
  .ed-biz .card-grid {
    grid-template-columns: repeat(2, 1fr) !important
  }

  .ed-biz .team-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .ed-biz .pg-top {
    flex-direction: column;
    gap: 32px;
    padding: 64px 16px
  }

  .ed-biz .pg-top .right {
    min-height: 280px
  }

  .ed-biz .checklist-band {
    flex-direction: column;
    gap: 32px;
    padding: 64px 16px
  }

  .ed-biz .contact-strip {
    flex-direction: column;
    gap: 32px;
    padding: 64px 16px
  }
}

@media (max-width: 640px) {
  .ed-biz .card-grid {
    grid-template-columns: 1fr !important
  }

  .ed-biz .team-grid {
    grid-template-columns: 1fr
  }

  .ed-biz .pg-top .left h1 {
    font-size: 52px
  }

  .ed-biz .cards-band {
    padding: 64px 16px
  }

  .ed-biz .team-band {
    padding: 64px 16px
  }
}

@media (max-width: 360px) {
  .ed-biz .pg-top .left h1 {
    font-size: 24px
  }

  .ed-biz .cards-band {
    padding: 32px 8px
  }
}

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

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

.cu .t-strip {
  background: linear-gradient(293deg, #fff 60%, #EEE5E6 100%);
  padding: 96px 0 64px;
  position: relative
}

.cu .t-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 50%, #be60a312 0%, transparent 60%), radial-gradient(ellipse at 100% 100%, #ebd1d82e 0%, transparent 55%);
  pointer-events: none
}

.cu .t-strip::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  background: linear-gradient(180deg, #BE60A3 0%, #EBD1D8 100%);
  border-radius: 0 2px 2px 0
}

.cu .t-geo {
  position: absolute;
  top: 0;
  right: 0;
  width: 220px;
  height: 100%;
  overflow: hidden;
  pointer-events: none
}

.cu .t-geo svg {
  width: 100%;
  height: 100%
}

.cu .t-inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 64px;
  position: relative;
  z-index: 1
}

.cu .t-vstrip {
  width: 5px;
  min-height: 160px;
  flex-shrink: 0;
  background: linear-gradient(180deg, #BE60A3 0%, #EBD1D8 55%, transparent 100%);
  border-radius: 2px;
  align-self: stretch
}

.cu .t-text {
  flex: 1
}

.cu .t-label {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 16px
}

.cu .t-h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #2a1a26;
  margin-bottom: 16px;
  font-weight: 800
}

.cu .t-h1 .acc {
  background: linear-gradient(293deg, #BE60A3 40%, #c97ab8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.cu .t-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3542;
  max-width: 520px
}

.cu .t-desc p {
  text-indent: 1.2em;
  margin-bottom: 0
}

.cu .t-desc p+p {
  margin-top: 0
}

.cu .t-info-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 32px
}

.cu .info-card {
  background: #fff;
  border-radius: 24px;
  padding: 16px 32px 16px 16px;
  box-shadow: 1px 3px 4px -1px #be60a312 1px 7px 22px -1px #be60a31a;
  border-left: 3px solid #EBD1D8;
  border-top: 1px solid #EEE5E6;
  border-right: 1px solid #EEE5E6;
  border-bottom: 1px solid #EEE5E6;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
  min-width: 200px;
  transition: border-left-color .55s ease-in-out, box-shadow .55s ease-in-out
}

.cu .info-card:hover {
  border-left-color: #BE60A3;
  box-shadow: 1px 9px 60px -1px #be60a31f
}

.cu .ic-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 2px;
  background: linear-gradient(293deg, #EBD1D8 40%, #EEE5E6 100%);
  display: flex;
  align-items: center;
  justify-content: center
}

.cu .ic-icon svg {
  width: 18px;
  height: 18px
}

.cu .ic-body {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cu .ic-lbl {
  font-size: 14px;
  line-height: 1.2;
  color: #BE60A3;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em
}

.cu .ic-val {
  font-size: 14px;
  line-height: 1.6;
  color: #2a1a26
}

.cu .ic-val a {
  color: #2a1a26;
  text-decoration: none;
  border-bottom: 1px solid #EBD1D8;
  transition: border-bottom-color .45s ease-in-out, color .45s ease-in-out
}

.cu .ic-val a:hover {
  color: #BE60A3;
  border-bottom-color: #BE60A3
}

.cu .wave-div {
  display: block;
  line-height: 0;
  margin: 0;
  padding: 0
}

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

.cu .form-belt {
  background: linear-gradient(293deg, #EEE5E6 0%, #fff 70%);
  padding: 64px 0 96px;
  position: relative
}

.cu .form-belt::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(60deg, #be60a30a 1px, transparent 1px), linear-gradient(120deg, #be60a30a 1px, transparent 1px), linear-gradient(0deg, #be60a308 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px, 40px 40px;
  pointer-events: none
}

.cu .form-belt::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #be60a317 0%, transparent 40%), radial-gradient(ellipse at 100% 100%, #ebd1d838 0%, transparent 45%), radial-gradient(ellipse at 50% 50%, transparent 40%, #be60a30d 100%);
  pointer-events: none
}

.cu .form-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
  align-items: start;
  position: relative;
  z-index: 1
}

.cu .form-aside {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.cu .aside-h {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a26;
  font-weight: 800;
  position: relative;
  padding-bottom: 16px
}

.cu .aside-h::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: linear-gradient(293deg, #BE60A3 40%, #EBD1D8 100%);
  border-radius: 2px
}

.cu .aside-p {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3542
}

.cu .aside-p p {
  text-indent: 1.2em;
  margin-bottom: 0
}

.cu .stat-row {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cu .stat-item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cu .stat-num {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 900;
  color: #BE60A3;
  letter-spacing: -.02em
}

.cu .stat-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #7a5a70
}

.cu .form-card {
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 1px 7px 22px -1px #be60a31a 1px 9px 60px -1px #be60a312;
  border-top: 3px solid #EBD1D8;
  border-left: 1px solid #EEE5E6;
  border-right: 1px solid #EEE5E6;
  border-bottom: 1px solid #EEE5E6;
  animation: border-glow 3.5s ease-in-out infinite
}

@keyframes border-glow {

  0%,
  100% {
    box-shadow: 1px 7px 22px -1px #be60a31a 1px 9px 60px -1px #be60a312;
    border-top-color: #EBD1D8
  }

  50% {
    box-shadow: 1px 7px 22px -1px #be60a32e 1px 9px 60px -1px #be60a324;
    border-top-color: #BE60A3
  }
}

.cu .form-h {
  font-size: 24px;
  line-height: 1.2;
  color: #2a1a26;
  font-weight: 800;
  margin-bottom: 32px;
  padding: 8px 16px;
  background: linear-gradient(293deg, #EBD1D8 40%, #EEE5E6 100%);
  border-radius: 2px;
  display: inline-block
}

.cu .f-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px
}

.cu .f-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px
}

.cu .f-field.full {
  grid-column: 1 / -1
}

.cu .f-lbl {
  font-size: 14px;
  line-height: 1.2;
  color: #4a3542;
  font-weight: 600
}

.cu .f-lbl .req {
  color: #BE60A3;
  margin-left: 2px
}

.cu .f-inp {
  border: 1.5px solid #EBD1D8;
  border-radius: 2px;
  padding: 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #2a1a26;
  background: #fff;
  outline: none;
  transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%
}

.cu .f-inp::placeholder {
  color: #be60a361
}

.cu .f-inp:focus {
  border-color: #BE60A3;
  box-shadow: 1px 3px 4px -1px #be60a312
}

.cu .ch-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px
}

.cu .ch-lbl {
  font-size: 14px;
  line-height: 1.2;
  color: #4a3542;
  font-weight: 600;
  margin-bottom: 8px
}

.cu .ch-opts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.cu .ch-opt {
  position: relative
}

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

.cu .ch-opt label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1.5px solid #EBD1D8;
  border-radius: 24px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.6;
  color: #4a3542;
  background: #fff;
  transition: border-color .5s ease-in-out, background .5s ease-in-out, color .5s ease-in-out;
  user-select: none
}

.cu .ch-opt input[type="radio"]:checked+label {
  border-color: #BE60A3;
  background: linear-gradient(293deg, #EBD1D8 40%, #EEE5E6 100%);
  color: #2a1a26;
  font-weight: 700
}

.cu .ch-opt label:hover {
  border-color: #BE60A3
}

.cu .ch-opt input[type="radio"]:focus-visible+label {
  outline: 2px solid #BE60A3;
  outline-offset: 2px
}

.cu .ch-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.cu .prv-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 32px;
  padding: 16px;
  background: linear-gradient(293deg, #EEE5E6 40%, #fff 100%);
  border-radius: 2px
}

.cu .prv-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  accent-color: #BE60A3;
  cursor: pointer;
  margin-top: 2px
}

.cu .prv-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3542
}

.cu .prv-txt a {
  color: #BE60A3;
  text-decoration: none;
  border-bottom: 1px solid #be60a34d;
  transition: border-bottom-color .45s ease-in-out
}

.cu .prv-txt a:hover {
  border-bottom-color: #BE60A3
}

.cu .btn-sub {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(293deg, #BE60A3 40%, #c97ab8 100%);
  overflow: hidden;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .45s ease-in-out;
  box-shadow: 1px 3px 4px -1px #be60a312;
  width: 100%
}

.cu .btn-sub::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(293deg, #9b4285 40%, #BE60A3 100%);
  transition: left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0
}

.cu .btn-sub:hover::before {
  left: 0
}

.cu .btn-sub:hover {
  box-shadow: 1px 7px 22px -1px #be60a32e
}

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

.cu .btn-sub svg {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px
}

.cu .btn-sub:focus-visible {
  outline: 2px solid #BE60A3;
  outline-offset: 3px
}

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

  .cu .t-h1 {
    font-size: 52px
  }

  .cu .stat-row {
    flex-direction: row;
    flex-wrap: wrap
  }
}

@media (max-width: 640px) {
  .cu .t-inner {
    gap: 16px
  }

  .cu .t-h1 {
    font-size: 24px
  }

  .cu .t-info-row {
    flex-direction: column;
    gap: 16px
  }

  .cu .f-row {
    grid-template-columns: 1fr
  }

  .cu .pg-wrap {
    padding: 0 16px
  }

  .cu .t-strip {
    padding: 64px 0 32px
  }

  .cu .form-belt {
    padding: 32px 0 64px
  }

  .cu .form-card {
    padding: 16px
  }

  .cu .ch-opts {
    flex-direction: column
  }
}

@media (max-width: 360px) {
  .cu .t-h1 {
    font-size: 24px
  }

  .cu .pg-wrap {
    padding: 0 8px
  }
}

.suc-pg {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 32px;
  background: #fff
}

.suc-pg .suc-wrap {
  max-width: 1100px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px
}

.suc-pg .suc-icon {
  width: 72px;
  height: 72px;
  flex-shrink: 0
}

.suc-pg .suc-card {
  background: #fff;
  border: 1px solid #EBD1D8;
  border-left: 4px solid #BE60A3;
  border-radius: 24px;
  box-shadow: 1px 7px 22px -1px #be60a31a;
  padding: 64px;
  max-width: 620px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center
}

.suc-pg .suc-label {
  font-size: 14px;
  line-height: 1.6;
  color: #BE60A3;
  letter-spacing: 0;
  background: #EEE5E6;
  border-radius: 2px;
  padding: 8px 16px
}

.suc-pg .suc-title {
  font-size: 52px;
  line-height: 1.2;
  color: #2a1a25;
  margin: 0
}

.suc-pg .suc-body {
  font-size: 14px;
  line-height: 1.6;
  color: #4a3040;
  margin: 0;
  max-width: 480px
}

.suc-pg .suc-accent {
  width: 48px;
  height: 3px;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 80%);
  border-radius: 2px;
  flex-shrink: 0
}

.suc-pg .suc-btn {
  display: inline-block;
  padding: 16px 32px;
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
  background: linear-gradient(293deg, #EBD1D8 0%, #BE60A3 80%);
  border-radius: 2px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 1px 3px 4px -1px #be60a312;
  transition: box-shadow .55s ease-in-out, opacity .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden
}

.suc-pg .suc-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-height(293deg, #BE60A3 0%, #a04d8a 100%);
  background: linear-gradient(293deg, #BE60A3 0%, #a04d8a 100%);
  opacity: 0;
  transition: opacity .5s ease-in-out;
  border-radius: 2px
}

.suc-pg .suc-btn:hover {
  box-shadow: 1px 9px 60px -1px #be60a31f;
  opacity: .92
}

.suc-pg .suc-btn:focus {
  outline: 2px solid #BE60A3;
  outline-offset: 3px
}

.suc-pg .suc-note {
  font-size: 14px;
  line-height: 1.6;
  color: #7a5a70
}

.suc-pg .suc-note a {
  color: #BE60A3;
  text-decoration: underline;
  transition: color .5s ease-in-out
}

.suc-pg .suc-note a:hover {
  color: #a04d8a
}

@media (max-width: 640px) {
  .suc-pg {
    padding: 64px 16px
  }

  .suc-pg .suc-card {
    padding: 32px 16px
  }

  .suc-pg .suc-title {
    font-size: 24px
  }
}