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

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-family: 'Rubik', sans-serif
}

.layout_pod {
  box-sizing: border-box;
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

.hd_strip {
  background: linear-gradient(135deg, #C27195 0%, #D7AEBE 60%, #EDE7E7 100%);
  padding-top: 20px;
  padding-bottom: 0;
  position: relative
}

.hd_strip::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #C27195;
  opacity: .35
}

.hd_upper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 20px
}

.brand_pod {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0
}

.brand_img_cell {
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-right: 3px solid #C27195;
  box-shadow: -1px 5px 14px 0 #c2719517;
  padding: 6px;
  flex-shrink: 0
}

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

.brand_label {
  padding-left: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.brand_name {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  letter-spacing: -.03em;
  display: block
}

.brand_sub {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
  color: #ffffffd1;
  display: block;
  letter-spacing: .01em
}

.hd_contact_pod {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 6px;
  padding-top: 6px
}

.hd_phone_link {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  line-height: 1.2;
  letter-spacing: -.02em;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.hd_phone_link:hover {
  color: #EDE7E7
}

.hd_phone_link .pi {
  font-size: 16px;
  opacity: .85
}

.hd_email_link {
  font-size: 14px;
  font-weight: 400;
  color: #fffc;
  text-decoration: underline;
  text-underline-offset: 3px;
  letter-spacing: .01em;
  transition: color .38s ease-in-out
}

.hd_email_link:hover {
  color: #fff
}

.hd_nav_bar {
  background: #ffffff21;
  backdrop-filter: blur(4px);
  border-top: 1px solid #ffffff38
}

.hd_nav_inner {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0
}

.hd_nav_link {
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  letter-spacing: .02em;
  line-height: 1.2;
  min-height: 44px;
  border-radius: 4px 4px 0 0;
  transition: background .42s cubic-bezier(0.22, 1, 0.36, 1), color .42s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative
}

.hd_nav_link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 2px;
  background: #fff;
  opacity: 0;
  transition: opacity .38s ease-in-out;
  border-radius: 4px
}

.hd_nav_link:hover {
  background: #ffffff2e;
  color: #fff
}

.hd_nav_link:hover::after {
  opacity: 1
}

.hd_nav_link:focus {
  outline: 2px solid #fff;
  outline-offset: -2px
}

.hd_nav_link.active {
  background: #ffffff38
}

@media (max-width: 768px) {
  .layout_pod {
    padding-left: 20px;
    padding-right: 20px
  }

  .hd_upper {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start
  }

  .hd_contact_pod {
    align-items: flex-start
  }

  .hd_phone_link {
    font-size: 16px
  }

  .brand_name {
    font-size: 20px
  }

  .brand_img_cell {
    width: 70px;
    height: 70px
  }
}

.ft_root {
  background: linear-gradient(160deg, #C27195 0%, #D7AEBE 55%, #EDE7E7 100%);
  padding-top: 80px;
  padding-bottom: 0
}

.ft_body {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 40px
}

.ft_brand_col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  flex: 0 0 auto
}

.ft_brand_name {
  font-size: 27px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.2
}

.ft_tagline {
  font-size: 14px;
  color: #ffffffc7;
  line-height: 1.8;
  max-width: 260px
}

.ft_nav_col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 0 0 auto
}

.ft_col_label {
  font-size: 13px;
  font-weight: 700;
  color: #fff9;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
  line-height: 1.2
}

.ft_nav_link {
  font-size: 14px;
  color: #ffffffe0;
  text-decoration: none;
  line-height: 1.8;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1);
  display: inline-block
}

.ft_nav_link:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px
}

.ft_nav_link:focus {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 4px
}

.ft_contact_col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 0 0 auto
}

.ft_contact_item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #ffffffe0;
  line-height: 1.8
}

.ft_contact_item a {
  color: #ffffffe0;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .38s ease-in-out
}

.ft_contact_item a:hover {
  color: #fff
}

.ft_contact_item .pi {
  font-size: 13px;
  opacity: .7;
  flex-shrink: 0
}

.ft_bottom_strip {
  border-top: 1px solid #ffffff40;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px
}

.ft_logo_cell {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: -1px 9px 44px 0 #c2719524;
  padding: 6px;
  border-radius: 4px
}

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

.ft_copy {
  font-size: 13px;
  color: #ffffffa6;
  line-height: 1.8;
  text-align: center
}

.ft_legal_link {
  font-size: 13px;
  color: #ffffffb8;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .42s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_legal_link:hover {
  color: #fff
}

@media (max-width: 768px) {
  .ft_body {
    flex-direction: column;
    gap: 40px
  }

  .ft_root {
    padding-top: 40px
  }
}

.ck_toast {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 4000;
  width: 320px;
  background: #fff;
  border-radius: 4px;
  box-shadow: -1px 9px 44px 0 #c2719524 -1px 5px 14px 0 #c2719517;
  padding: 20px;
  display: none;
  transform: translateY(-120%);
  transition: transform .38s cubic-bezier(0.22, 1, 0.36, 1);
  box-sizing: border-box
}

.ck_toast.ck_visible {
  transform: translateY(0)
}

.ck_headline {
  font-size: 14px;
  font-weight: 700;
  color: #2d1a24;
  line-height: 1.2;
  margin-bottom: 6px
}

.ck_desc {
  font-size: 13px;
  color: #4a3040;
  line-height: 1.8;
  margin-bottom: 12px
}

.ck_desc a {
  color: #C27195;
  text-decoration: underline;
  text-underline-offset: 2px
}

.ck_uses {
  font-size: 13px;
  color: #4a3040;
  line-height: 1.8;
  margin-bottom: 12px;
  padding-left: 0;
  list-style: none
}

.ck_uses li {
  padding-left: 12px;
  position: relative
}

.ck_uses li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #C27195
}

.ck_settings_panel {
  margin-bottom: 12px;
  display: none
}

.ck_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #EDE7E7;
  gap: 12px
}

.ck_toggle_label {
  font-size: 13px;
  color: #2d1a24;
  line-height: 1.2;
  flex: 1
}

.ck_toggle_label.required_lbl {
  opacity: .6
}

.ck_switch {
  position: relative;
  width: 36px;
  height: 20px;
  flex-shrink: 0
}

.ck_switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute
}

.ck_switch_track {
  position: absolute;
  inset: 0;
  background: #D7AEBE;
  border-radius: 36px;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer
}

.ck_switch_track::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  top: 3px;
  left: 3px;
  transition: transform .42s cubic-bezier(0.22, 1, 0.36, 1)
}

.ck_switch input:checked+.ck_switch_track {
  background: #C27195
}

.ck_switch input:checked+.ck_switch_track::after {
  transform: translateX(16px)
}

.ck_switch input:focus+.ck_switch_track {
  outline: 2px solid #C27195;
  outline-offset: 2px
}

.ck_switch_track.always_on {
  background: #EDE7E7;
  cursor: not-allowed
}

.ck_actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.ck_btn {
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  line-height: 1.8;
  transition: color .38s ease-in-out;
  font-family: 'Rubik', sans-serif
}

.ck_btn:focus {
  outline: 2px solid #C27195;
  outline-offset: 2px;
  border-radius: 4px
}

.ck_btn.accept {
  color: #C27195
}

.ck_btn.accept:hover {
  color: #a05578
}

.ck_btn.reject {
  color: #4a3040
}

.ck_btn.reject:hover {
  color: #2d1a24
}

.ck_btn.settings_lnk {
  color: #7a5a6a;
  font-weight: 400
}

.ck_btn.settings_lnk:hover {
  color: #2d1a24
}

.ck_btn.save_lnk {
  color: #C27195
}

.ck_btn.save_lnk:hover {
  color: #a05578
}

.policy-frame {
  max-width: 1170px;
  margin: 0 auto;
  padding: 80px 40px
}

.policy-frame p {
  font-size: 16px;
  line-height: 1.8;
  color: #2a2a2a;
  margin-bottom: 20px
}

.policy-frame ul,
.policy-frame ol {
  padding-left: 40px;
  margin-bottom: 20px
}

.policy-frame li {
  font-size: 16px;
  line-height: 1.8;
  color: #2a2a2a;
  margin-bottom: 6px
}

.policy-frame ul li {
  list-style-type: disc
}

.policy-frame ol li {
  list-style-type: decimal
}

.policy-frame ul ul,
.policy-frame ol ol,
.policy-frame ul ol,
.policy-frame ol ul {
  margin-top: 6px;
  margin-bottom: 6px
}

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

.policy-frame a {
  color: #C27195;
  text-decoration: underline;
  text-decoration-color: #c2719566;
  text-underline-offset: 3px;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), text-decoration-color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.policy-frame a:hover {
  color: #a3587a;
  text-decoration-color: #a3587ab3
}

.policy-frame table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 1.8;
  box-shadow: -1px 5px 14px 0 #c2719517;
  border-radius: 4px;
  overflow: hidden
}

.policy-frame thead {
  background-color: #EDE7E7
}

.policy-frame thead th {
  font-size: 13px;
  font-weight: 700;
  color: #1e1e1e;
  text-align: left;
  padding: 12px 20px;
  letter-spacing: .03em
}

.policy-frame tbody tr {
  border-bottom: 1px solid #EDE7E7;
  transition: background-color .2s ease-in-out
}

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

.policy-frame tbody tr:hover {
  background-color: #ede7e773
}

.policy-frame td {
  font-size: 14px;
  color: #2a2a2a;
  padding: 12px 20px;
  vertical-align: top
}

.policy-frame hr {
  border: none;
  border-top: 1px solid #D7AEBE;
  margin: 40px 0;
  opacity: .5
}

.policy-frame div {
  margin-bottom: 20px
}

@media (max-width: 768px) {
  .policy-frame {
    padding: 40px 20px
  }

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

  .policy-frame ul,
  .policy-frame ol {
    padding-left: 20px
  }
}

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

.sstories .pg-top {
  position: relative;
  background: linear-gradient(197deg, #C27195 18%, #EDE7E7 72%, transparent 100%);
  padding: 80px 20px 40px
}

.sstories .pg-top::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(./media_files/160526-works2a.jpg) center/cover no-repeat;
  opacity: .18;
  z-index: 0;
  transition: transform 8s cubic-bezier(0.22, 1, 0.36, 1)
}

.sstories .pg-top:hover::before {
  transform: scale(1.06)
}

.sstories .pg-top::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, transparent, #EDE7E7 90%);
  z-index: 0
}

.sstories .top-inner {
  position: relative;
  z-index: 1;
  max-width: 1170px;
  margin: 0 auto
}

.sstories .top-label {
  display: inline-block;
  background: #c2719526;
  border: 1px solid #c2719559;
  color: #7a2e4e;
  font-size: 13px;
  letter-spacing: .08em;
  padding: 6px 12px;
  border-radius: 4px;
  margin-bottom: 20px
}

.sstories .top-h {
  font-size: 52px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #2a0e1c;
  margin: 0 0 20px;
  text-align: center;
  max-width: 700px
}

.sstories .top-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #4a2035;
  max-width: 540px;
  margin: 0
}

.sstories .top-rule {
  width: 48px;
  height: 3px;
  background: #C27195;
  border-radius: 4px;
  margin: 20px 0
}

.sstories .stories-grid {
  padding: 80px 20px;
  background: #fff
}

.sstories .stories-grid .grid-inner {
  max-width: 1170px;
  margin: 0 auto
}

.sstories .stories-grid .sec-label {
  font-size: 13px;
  color: #C27195;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 6px
}

.sstories .stories-grid .sec-h {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1e0d15;
  text-align: center;
  margin: 0 0 40px
}

.sstories .story-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.sstories .story-card {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: -1px 5px 14px 0 #c2719517;
  display: flex;
  flex-direction: column;
  background: #fff;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative
}

.sstories .story-card:hover {
  box-shadow: -1px 9px 44px 0 #c2719524;
  transform: translateY(-4px)
}

.sstories .card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9
}

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

.sstories .story-card:hover .card-img-wrap img {
  transform: scale(1.07)
}

.sstories .card-img-wrap .img-tint {
  position: absolute;
  inset: 0;
  background: #c2719552;
  transition: opacity .45s ease-in-out
}

.sstories .story-card:hover .img-tint {
  opacity: 0
}

.sstories .card-corner-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #C27195;
  color: #fff;
  font-size: 13px;
  padding: 6px 12px;
  border-radius: 4px;
  z-index: 2;
  box-shadow: -1px 3px 6px 0 #c271950d
}

.sstories .card-body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.sstories .card-person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.sstories .card-portrait {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #D7AEBE
}

.sstories .card-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.sstories .card-name {
  font-size: 16px;
  font-weight: 700;
  color: #1e0d15;
  line-height: 1.2;
  margin: 0
}

.sstories .card-role {
  font-size: 13px;
  color: #8a4060;
  margin: 0
}

.sstories .card-h {
  font-size: 20px;
  line-height: 1.2;
  color: #1e0d15;
  letter-spacing: -.01em;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #EDE7E7;
  text-decoration: none
}

.sstories .card-text {
  font-size: 14px;
  line-height: 1.8;
  color: #3d1828;
  margin: 0
}

.sstories .card-metrics {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: auto
}

.sstories .metric-item {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.sstories .metric-val {
  font-size: 27px;
  font-weight: 700;
  color: #C27195;
  line-height: 1.2;
  letter-spacing: -.02em
}

.sstories .metric-lbl {
  font-size: 13px;
  color: #7a3050;
  line-height: 1.2
}

.sstories .story-card.featured {
  grid-column: 1 / -1;
  flex-direction: row
}

.sstories .story-card.featured .card-img-wrap {
  width: 45%;
  flex-shrink: 0;
  aspect-ratio: auto
}

.sstories .story-card.featured .card-body {
  padding: 40px
}

.sstories .story-card.featured .card-h {
  font-size: 27px
}

.sstories .story-card.featured .card-text {
  font-size: 16px
}

.sstories .deep-story {
  padding: 80px 20px;
  background: #EDE7E7;
  position: relative;
  overflow: hidden
}

.sstories .deep-story::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.06'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: .55;
  pointer-events: none;
  z-index: 0
}

.sstories .deep-inner {
  position: relative;
  z-index: 1;
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 40px;
  align-items: start
}

.sstories .deep-text-col .sec-eyebrow {
  font-size: 13px;
  color: #C27195;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block
}

.sstories .deep-text-col .deep-h {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1e0d15;
  margin: 0 0 20px
}

.sstories .deep-text-col .intro-p {
  font-size: 20px;
  line-height: 1.8;
  color: #2a0e1c;
  margin: 0 0 20px
}

.sstories .deep-text-col .body-p {
  font-size: 14px;
  line-height: 1.8;
  color: #3d1828;
  margin: 0 0 12px
}

.sstories .deep-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 20px;
  counter-reset: step-ct
}

.sstories .step-item {
  display: flex;
  flex-direction: row;
  gap: 12px;
  padding: 12px 0;
  position: relative;
  counter-increment: step-ct
}

.sstories .step-item::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 40px;
  bottom: -12px;
  width: 2px;
  background: linear-gradient(197deg, #D7AEBE 30%, transparent 100%)
}

.sstories .step-item:last-child::after {
  display: none
}

.sstories .step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #C27195;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: -1px 3px 6px 0 #c271950d
}

.sstories .step-num::before {
  content: counter(step-ct)
}

.sstories .step-text {
  font-size: 14px;
  line-height: 1.8;
  color: #2a0e1c;
  padding-top: 6px
}

.sstories .deep-aside {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.sstories .aside-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/5;
  box-shadow: -1px 9px 44px 0 #c2719524
}

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

.sstories .aside-img-wrap:hover img {
  transform: scale(1.05)
}

.sstories .aside-img-wrap .img-tint {
  position: absolute;
  inset: 0;
  background: #c2719547;
  transition: opacity .5s ease-in-out
}

.sstories .aside-img-wrap:hover .img-tint {
  opacity: 0
}

.sstories .aside-quote {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 5px 14px 0 #c2719517;
  position: relative;
  border-top: 3px solid #C27195
}

.sstories .aside-quote .quote-mark {
  width: 28px;
  height: 20px;
  margin-bottom: 12px
}

.sstories .aside-quote blockquote {
  font-size: 14px;
  line-height: 1.8;
  color: #2a0e1c;
  margin: 0 0 12px;
  font-style: italic
}

.sstories .aside-quote .quote-person {
  font-size: 13px;
  color: #8a4060;
  font-weight: 700
}

.sstories .voices-row {
  padding: 80px 20px;
  background: linear-gradient(197deg, #EDE7E7 12%, #fff 55%)
}

.sstories .voices-inner {
  max-width: 1170px;
  margin: 0 auto
}

.sstories .voices-inner .sec-h {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1e0d15;
  text-align: center;
  margin: 0 0 6px
}

.sstories .voices-inner .sec-sub {
  font-size: 16px;
  line-height: 1.8;
  color: #5a2540;
  text-align: center;
  margin: 0 0 40px
}

.sstories .voices-list {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.sstories .voice-item {
  display: grid;
  grid-template-columns: 80px 1fr 200px;
  gap: 20px;
  align-items: center;
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.sstories .voice-item:hover {
  box-shadow: -1px 9px 44px 0 #c2719524;
  transform: translateY(-3px)
}

.sstories .voice-portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #D7AEBE;
  flex-shrink: 0
}

.sstories .voice-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.sstories .voice-text .v-name {
  font-size: 16px;
  font-weight: 700;
  color: #1e0d15;
  margin: 0 0 6px
}

.sstories .voice-text .v-quote {
  font-size: 14px;
  line-height: 1.8;
  color: #3d1828;
  font-style: italic;
  margin: 0
}

.sstories .voice-stat {
  text-align: right
}

.sstories .voice-stat .vs-val {
  font-size: 37px;
  font-weight: 700;
  color: #C27195;
  line-height: 1.2;
  letter-spacing: -.02em
}

.sstories .voice-stat .vs-lbl {
  font-size: 13px;
  color: #7a3050;
  line-height: 1.2
}

.sstories .voice-no-portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(197deg, #D7AEBE 20%, #EDE7E7 80%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.sstories .voice-no-portrait svg {
  width: 36px;
  height: 36px;
  opacity: .7
}

.sstories .dashed-frame {
  border: 2px dashed #c2719573;
  border-radius: 4px;
  padding: 40px;
  margin-top: 40px;
  text-align: center
}

.sstories .dashed-frame .frame-h {
  font-size: 27px;
  line-height: 1.2;
  color: #1e0d15;
  margin: 0 0 12px;
  letter-spacing: -.01em
}

.sstories .dashed-frame .frame-p {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1828;
  max-width: 520px;
  margin: 0 auto 20px
}

.sstories .btn-primary {
  display: inline-block;
  background: #C27195;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 12px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: -1px 5px 14px 0 #c2719517;
  transition: box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1), background .25s ease-in-out
}

.sstories .btn-primary:hover {
  background: #a85478;
  box-shadow: -1px 9px 44px 0 #c2719538
}

.sstories .btn-secondary {
  display: inline-block;
  background: transparent;
  color: #C27195;
  font-size: 16px;
  font-weight: 700;
  padding: 12px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid #C27195;
  cursor: pointer;
  transition: background .35s cubic-bezier(0.22, 1, 0.36, 1), color .35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.sstories .btn-secondary:hover {
  background: #C27195;
  color: #fff;
  box-shadow: -1px 9px 44px 0 #c271952e
}

@media (max-width: 1280px) {
  .sstories .deep-inner {
    grid-template-columns: 1fr 340px
  }
}

@media (max-width: 768px) {
  .sstories .pg-top {
    padding: 40px 20px
  }

  .sstories .top-h {
    font-size: 37px
  }

  .sstories .story-cards {
    grid-template-columns: 1fr
  }

  .sstories .story-card.featured {
    flex-direction: column
  }

  .sstories .story-card.featured .card-img-wrap {
    width: 100%;
    aspect-ratio: 16/9
  }

  .sstories .story-card.featured .card-body {
    padding: 20px
  }

  .sstories .deep-inner {
    grid-template-columns: 1fr
  }

  .sstories .voice-item {
    grid-template-columns: 60px 1fr;
    grid-template-rows: auto auto
  }

  .sstories .voice-stat {
    grid-column: 2;
    text-align: left
  }

  .sstories .voice-portrait,
  .sstories .voice-no-portrait {
    width: 60px;
    height: 60px
  }

  .sstories .voices-inner .sec-h,
  .sstories .stories-grid .sec-h {
    font-size: 27px
  }

  .sstories .deep-text-col .deep-h {
    font-size: 27px
  }

  .sstories .dashed-frame {
    padding: 20px
  }
}

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

.evts .pg_wrap {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px
}

.evts .reveal_child>* {
  opacity: 0;
  transform: translateY(18px);
  animation: evts_reveal .6s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.evts .reveal_child> :nth-child(1) {
  animation-delay: .08s
}

.evts .reveal_child> :nth-child(2) {
  animation-delay: .22s
}

.evts .reveal_child> :nth-child(3) {
  animation-delay: .38s
}

.evts .reveal_child> :nth-child(4) {
  animation-delay: .52s
}

.evts .reveal_child> :nth-child(5) {
  animation-delay: .66s
}

.evts .reveal_child> :nth-child(6) {
  animation-delay: .8s
}

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

.evts .top_strip {
  background: #EDE7E7;
  padding: 80px 0 0
}

.evts .top_inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 40px
}

.evts .top_img_col {
  flex: 0 0 320px;
  position: relative
}

.evts .top_img_wrap {
  width: 320px;
  height: 420px;
  position: relative;
  overflow: hidden
}

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

.evts .top_img_wrap:hover img {
  transform: scale(1.04)
}

.evts .img_diag_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(197deg, #c271959e 18%, #d7aebe2e 72%);
  pointer-events: none;
  transition: opacity .5s ease-in-out
}

.evts .top_img_wrap:hover .img_diag_overlay {
  opacity: .3
}

.evts .img_deco {
  position: absolute;
  top: -12px;
  left: -12px;
  width: 100px;
  height: 100px;
  border: 2px dashed #C27195;
  border-radius: 4px;
  pointer-events: none;
  z-index: 0
}

.evts .top_text_col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 0 40px 20px
}

.evts .top_label {
  font-size: 13px;
  letter-spacing: .12em;
  color: #C27195;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.evts .top_h1 {
  font-size: 52px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #1e1618;
  margin: 0 0 20px;
  text-align: center
}

.evts .top_sub {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2830;
  margin: 0 0 40px;
  max-width: 540px
}

.evts .top_sub .intro_lg {
  font-size: 20px;
  line-height: 1.8;
  display: block;
  margin-bottom: 12px
}

.evts .stat_pair {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-top: 6px
}

.evts .stat_card {
  display: flex;
  flex-direction: row;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: -1px 5px 14px 0 #c2719517;
  flex: 1
}

.evts .stat_zone {
  flex: 1;
  padding: 20px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.evts .stat_zone+.stat_zone {
  background: #C27195
}

.evts .stat_zone+.stat_zone .stat_num,
.evts .stat_zone+.stat_zone .stat_desc {
  color: #fff
}

.evts .stat_num {
  font-size: 27px;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #C27195;
  font-weight: 700
}

.evts .stat_desc {
  font-size: 13px;
  line-height: 1.8;
  color: #3a2830
}

.evts .divider_edge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  margin: 40px 0 0;
  height: 2px
}

.evts .divider_edge .de_line {
  width: 80px;
  height: 2px;
  background: #C27195;
  display: block
}

.evts .divider_edge .de_gap {
  flex: 1
}

.evts .sched_block {
  background: #fff;
  padding: 80px 0
}

.evts .sched_split {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 40px;
  align-items: start
}

.evts .sched_h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #1e1618;
  margin: 0 0 6px;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 6px
}

.evts .sched_intro {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2830;
  margin: 0 0 40px
}

.evts .evt_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0
}

.evts .evt_item {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #EDE7E7;
  position: relative
}

.evts .evt_item:first-child {
  border-top: 1px solid #EDE7E7
}

.evts .evt_num_col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 40px
}

.evts .evt_num {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background: #EDE7E7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #C27195;
  font-weight: 700;
  flex-shrink: 0;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.evts .evt_item:hover .evt_num {
  background: #C27195;
  color: #fff
}

.evts .evt_connector {
  flex: 1;
  width: 2px;
  background: #EDE7E7;
  margin-top: 6px;
  min-height: 20px
}

.evts .evt_body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.evts .evt_title {
  font-size: 16px;
  line-height: 1.2;
  color: #1e1618;
  font-weight: 600;
  margin: 0
}

.evts .evt_meta {
  font-size: 13px;
  color: #C27195;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap
}

.evts .evt_meta .pi {
  font-size: 13px
}

.evts .evt_desc {
  font-size: 14px;
  line-height: 1.8;
  color: #5a3d46;
  margin: 0
}

.evts .evt_img_col {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  padding-top: 6px
}

.evts .evt_thumb {
  width: 80px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0
}

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

.evts .evt_item:hover .evt_thumb img {
  transform: scale(1.08)
}

.evts .side_col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 20px
}

.evts .side_expert {
  background: #EDE7E7;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: -1px 3px 6px 0 #c271950d
}

.evts .side_portrait {
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden
}

.evts .side_portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.evts .side_expert_info {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.evts .side_name {
  font-size: 16px;
  line-height: 1.2;
  color: #1e1618;
  font-weight: 600;
  margin: 0
}

.evts .side_role {
  font-size: 13px;
  color: #C27195;
  margin: 0
}

.evts .side_bio {
  font-size: 13px;
  line-height: 1.8;
  color: #5a3d46;
  margin: 0
}

.evts .side_cta_box {
  background: linear-gradient(197deg, #C27195 22%, #D7AEBE 85%);
  border-radius: 4px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: -1px 9px 44px 0 #c2719524
}

.evts .side_cta_label {
  font-size: 14px;
  line-height: 1.8;
  color: #fff;
  margin: 0
}

.evts .btn_primary {
  display: inline-block;
  background: #fff;
  color: #C27195;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  box-shadow: -1px 3px 6px 0 #c271950d;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), background .2s ease-in-out
}

.evts .btn_primary:hover {
  box-shadow: -1px 9px 44px 0 #c2719538;
  background: #EDE7E7
}

.evts .btn_primary:focus-visible {
  outline: 3px solid #1e1618 !important;
  outline-offset: 3px !important
}

.evts .pulse_dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #C27195;
  display: inline-block;
  animation: evts_pulse 1.8s ease-in-out infinite;
  flex-shrink: 0
}

@keyframes evts_pulse {

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

  50% {
    transform: scale(1.5);
    opacity: .5
  }
}

.evts .live_badge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #C27195;
  font-weight: 600
}

.evts .bg_split_wrap {
  position: relative
}

.evts .bg_split_wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: #EDE7E7;
  pointer-events: none
}

.evts .bg_split_wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: #fff;
  pointer-events: none
}

.evts .bg_split_inner {
  position: relative;
  z-index: 1
}

@media (max-width: 1280px) {
  .evts .top_h1 {
    font-size: 37px
  }

  .evts .sched_split {
    grid-template-columns: 2fr 1fr
  }
}

@media (max-width: 768px) {
  .evts .top_inner {
    flex-direction: column;
    gap: 20px
  }

  .evts .top_img_col {
    flex: none
  }

  .evts .top_img_wrap {
    width: 100%;
    height: 240px
  }

  .evts .top_text_col {
    padding: 0
  }

  .evts .top_h1 {
    font-size: 27px
  }

  .evts .stat_pair {
    flex-direction: column
  }

  .evts .sched_split {
    grid-template-columns: 1fr
  }

  .evts .side_col {
    position: static
  }

  .evts .side_portrait {
    aspect-ratio: 3/2
  }

  .evts .evt_img_col {
    display: none
  }

  .evts .img_deco {
    display: none
  }
}

.prm {
  overflow-x: hidden
}

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

.prm .mx-auto {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px
}

.prm .t-blk {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
  position: relative
}

.prm .t-blk .geo-a {
  position: absolute;
  top: 40px;
  right: 60px;
  width: 90px;
  height: 90px;
  border: 2px solid #c271952e;
  border-radius: 4px;
  transform: rotate(22deg);
  pointer-events: none
}

.prm .t-blk .geo-b {
  position: absolute;
  bottom: 60px;
  right: 120px;
  width: 44px;
  height: 44px;
  background: #d7aebe21;
  border-radius: 4px;
  transform: rotate(11deg);
  pointer-events: none
}

.prm .t-blk .geo-c {
  position: absolute;
  top: 120px;
  left: 52%;
  width: 18px;
  height: 18px;
  background: #c2719538;
  border-radius: 4px;
  pointer-events: none
}

.prm .t-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px
}

.prm .t-left {
  flex: 0 0 55%;
  max-width: 55%
}

.prm .t-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .08em;
  color: #C27195;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding: 6px 12px;
  background: #c2719517;
  border-radius: 4px
}

.prm .t-h1 {
  font-size: 52px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.03em;
  margin: 0 0 20px
}

.prm .t-sub {
  font-size: 20px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0 0 40px;
  max-width: 480px
}

.prm .t-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #fff;
  background: #C27195;
  padding: 12px 40px;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: -1px 5px 14px 0 #c2719517;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .t-link:hover {
  background: #b05e83;
  box-shadow: -1px 9px 44px 0 #c2719538
}

.prm .t-right {
  flex: 0 0 45%;
  max-width: 45%;
  display: flex;
  justify-content: flex-end;
  align-items: center
}

.prm .t-img-wrap {
  width: 100%;
  max-width: 420px;
  overflow: hidden;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
  position: relative
}

.prm .t-img-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .t-img-wrap:hover img {
  transform: scale(1.04)
}

.prm .t-img-overlay {
  position: absolute;
  inset: 0;
  background: #c2719547;
  transition: opacity .5s ease-in-out
}

.prm .t-img-wrap:hover .t-img-overlay {
  opacity: 0
}

.prm .div-a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  padding: 0 20px;
  max-width: 1170px;
  margin: 0 auto
}

.prm .div-a .ln-long {
  flex: 0 0 75%;
  height: 1px;
  background: #C27195;
  opacity: .25
}

.prm .div-a .ln-short {
  flex: 0 0 15%;
  height: 1px;
  background: #D7AEBE;
  opacity: .4;
  margin-left: 6px
}

.prm .inv {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #EDE7E7
}

.prm .inv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.prm .inv-col-left h2 {
  font-size: 37px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #c2719573
}

.prm .inv-col-left p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0 0 20px
}

.prm .inv-col-left p:first-of-type {
  font-size: 20px
}

.prm .inv-col-right {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.prm .inv-item {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .inv-item:hover {
  box-shadow: -1px 9px 44px 0 #c2719524
}

.prm .inv-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background: #c271951f;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #C27195;
  font-size: 16px
}

.prm .inv-item-body h5 {
  font-size: 14px;
  line-height: 1.2;
  color: #1e1a1e;
  margin: 0 0 6px;
  letter-spacing: -.01em
}

.prm .inv-item-body p {
  font-size: 13px;
  line-height: 1.8;
  color: #5a4550;
  margin: 0
}

.prm .inv-img-wrap {
  margin-top: 20px;
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.prm .inv-img-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .inv-img-wrap:hover img {
  transform: scale(1.03)
}

.prm .inv-img-overlay {
  position: absolute;
  inset: 0;
  background: #c2719538;
  transition: opacity .55s ease-in-out
}

.prm .inv-img-wrap:hover .inv-img-overlay {
  opacity: 0
}

.prm .div-b {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center
}

.prm .div-b .ln-short {
  flex: 0 0 12%;
  height: 1px;
  background: #D7AEBE;
  opacity: .5
}

.prm .div-b .ln-long {
  flex: 0 0 78%;
  height: 1px;
  background: #C27195;
  opacity: .2;
  margin-left: 6px
}

@keyframes brt-pulse {
  0% {
    filter: brightness(1)
  }

  50% {
    filter: brightness(1.035)
  }

  100% {
    filter: brightness(1)
  }
}

.prm .env {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #fff;
  animation: brt-pulse 6s ease-in-out infinite
}

.prm .env-top {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 40px
}

.prm .env-top-left {
  flex: 0 0 42%
}

.prm .env-top-left h2 {
  font-size: 37px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #c2719573
}

.prm .env-top-left p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0
}

.prm .env-top-right {
  flex: 1
}

.prm .env-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.prm .env-img-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .7s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .env-img-wrap:hover img {
  transform: scale(1.03)
}

.prm .env-img-overlay {
  position: absolute;
  inset: 0;
  background: #c2719533;
  transition: opacity .6s ease-in-out
}

.prm .env-img-wrap:hover .env-img-overlay {
  opacity: 0
}

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

.prm .env-stat {
  background: linear-gradient(197deg, #EDE7E7 30%, #fff 100%);
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 5px 14px 0 #d7aebe17;
  text-align: center;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .env-stat:hover {
  box-shadow: -1px 9px 44px 0 #c2719524;
  transform: translateY(-3px)
}

.prm .env-stat-num {
  font-size: 37px;
  line-height: 1.2;
  color: #C27195;
  letter-spacing: -.03em;
  display: block;
  margin-bottom: 6px
}

.prm .env-stat-desc {
  font-size: 13px;
  line-height: 1.8;
  color: #5a4550
}

.prm .div-c {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px
}

.prm .div-c .seg-a {
  flex: 0 0 70%;
  height: 1px;
  background: linear-gradient(197deg, #C27195, #D7AEBE);
  opacity: .3
}

.prm .div-c .seg-b {
  flex: 0 0 20%;
  height: 1px;
  background: #D7AEBE;
  opacity: .2
}

.prm .ppl {
  padding-top: 80px;
  padding-bottom: 80px;
  background: linear-gradient(197deg, #EDE7E7 18%, #fff 80%)
}

.prm .ppl h2 {
  font-size: 37px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.02em;
  margin: 0 0 40px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #c2719573
}

.prm .ppl-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: start
}

.prm .ppl-portrait {
  position: relative
}

.prm .ppl-portrait-wrap {
  width: 100%;
  overflow: hidden
}

.prm .ppl-portrait-wrap img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .ppl-portrait-wrap:hover img {
  transform: scale(1.03)
}

.prm .ppl-portrait-overlay {
  position: absolute;
  inset: 0;
  background: #c2719533;
  transition: opacity .5s ease-in-out
}

.prm .ppl-portrait-wrap:hover .ppl-portrait-overlay {
  opacity: 0
}

.prm .ppl-name {
  font-size: 14px;
  color: #C27195;
  margin-top: 12px;
  display: block;
  text-align: center
}

.prm .ppl-role {
  font-size: 13px;
  color: #7a6070;
  display: block;
  text-align: center
}

.prm .ppl-right {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.prm .ppl-quote {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 5px 14px 0 #c2719517;
  position: relative;
  transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .ppl-quote:hover {
  box-shadow: -1px 9px 44px 0 #c2719524
}

.prm .ppl-quote-mark {
  width: 24px;
  height: 18px;
  margin-bottom: 12px;
  display: block
}

.prm .ppl-quote p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0 0 12px;
  font-style: italic
}

.prm .ppl-quote-attr {
  font-size: 13px;
  color: #7a6070
}

.prm .ppl-link-wrap {
  margin-top: 6px
}

.prm .ppl-link {
  font-size: 14px;
  color: #C27195;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .4s ease-in-out
}

.prm .ppl-link:hover {
  color: #8f4a6a
}

.prm .div-d {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px
}

.prm .div-d .d-left {
  flex: 0 0 65%;
  height: 2px;
  background: linear-gradient(197deg, #c2719559, #d7aebe1a)
}

.prm .div-d .d-right {
  flex: 0 0 25%;
  height: 1px;
  background: #d7aebe4d
}

.prm .sup {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #fff;
  position: relative
}

.prm .sup-motif {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 6px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px 0;
  pointer-events: none;
  overflow: hidden
}

.prm .sup-motif span {
  display: block;
  width: 6px;
  height: 6px;
  background: #c2719538;
  border-radius: 4px
}

.prm .sup-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: start
}

.prm .sup-left h2 {
  font-size: 37px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #c2719573
}

.prm .sup-left p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0 0 20px
}

.prm .sup-left p:first-of-type {
  font-size: 20px
}

.prm .sup-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  counter-reset: step-ctr
}

.prm .sup-step {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 20px;
  position: relative
}

.prm .sup-step::after {
  content: '';
  position: absolute;
  left: 14px;
  top: 30px;
  bottom: 0;
  width: 1px;
  background: #c2719540
}

.prm .sup-step:last-child::after {
  display: none
}

.prm .sup-step-num {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 4px;
  background: #c271951f;
  color: #C27195;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  position: relative;
  z-index: 1
}

.prm .sup-step-body {
  flex: 1
}

.prm .sup-step-body h5 {
  font-size: 14px;
  line-height: 1.2;
  color: #1e1a1e;
  margin: 0 0 6px
}

.prm .sup-step-body p {
  font-size: 13px;
  line-height: 1.8;
  color: #5a4550;
  margin: 0
}

.prm .sup-step-time {
  font-size: 13px;
  color: #C27195;
  flex-shrink: 0;
  padding-top: 6px;
  white-space: nowrap
}

.prm .sup-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  box-shadow: -1px 9px 44px 0 #c2719524
}

.prm .sup-img-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .sup-img-wrap:hover img {
  transform: scale(1.03)
}

.prm .sup-img-overlay {
  position: absolute;
  inset: 0;
  background: #c2719533;
  transition: opacity .55s ease-in-out
}

.prm .sup-img-wrap:hover .sup-img-overlay {
  opacity: 0
}

.prm .div-e {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px
}

.prm .div-e .e-a {
  flex: 0 0 80%;
  height: 1px;
  background: #c2719533
}

.prm .div-e .e-b {
  flex: 0 0 10%;
  height: 1px;
  background: #d7aebe59
}

.prm .cnd {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #EDE7E7
}

.prm .cnd-head {
  margin-bottom: 40px
}

.prm .cnd-head h2 {
  font-size: 37px;
  line-height: 1.2;
  color: #1e1a1e;
  letter-spacing: -.02em;
  margin: 0 0 12px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #c2719573
}

.prm .cnd-head p {
  font-size: 20px;
  line-height: 1.8;
  color: #3a2d35;
  max-width: 680px;
  margin: 0 auto;
  text-align: center
}

.prm .cnd-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.prm .cnd-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  counter-reset: cnd-ctr
}

.prm .cnd-item {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
  padding: 20px;
  background: #fff;
  border-radius: 4px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  counter-increment: cnd-ctr
}

.prm .cnd-item:hover {
  box-shadow: -1px 9px 44px 0 #c271951f
}

.prm .cnd-num {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 4px;
  background: #c271951f;
  color: #C27195;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600
}

.prm .cnd-item-body h5 {
  font-size: 14px;
  line-height: 1.2;
  color: #1e1a1e;
  margin: 0 0 6px
}

.prm .cnd-item-body p {
  font-size: 13px;
  line-height: 1.8;
  color: #5a4550;
  margin: 0
}

.prm .cnd-note {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  box-shadow: -1px 5px 14px 0 #c2719517
}

.prm .cnd-note p {
  font-size: 16px;
  line-height: 1.8;
  color: #3a2d35;
  margin: 0 0 20px
}

.prm .cnd-note p:last-of-type {
  margin-bottom: 0
}

@media (max-width: 768px) {
  .prm .t-inner {
    flex-direction: column
  }

  .prm .t-left,
  .prm .t-right {
    flex: 0 0 100%;
    max-width: 100%
  }

  .prm .t-h1 {
    font-size: 37px
  }

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

  .prm .env-top {
    flex-direction: column
  }

  .prm .env-top-left {
    flex: 0 0 100%
  }

  .prm .env-stats {
    grid-template-columns: 1fr
  }

  .prm .ppl-layout {
    grid-template-columns: 1fr
  }

  .prm .sup-inner {
    grid-template-columns: 1fr
  }

  .prm .cnd-layout {
    grid-template-columns: 1fr
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .prm .t-h1 {
    font-size: 37px
  }

  .prm .env-stats {
    grid-template-columns: repeat(3, 1fr)
  }
}

.abt {
  overflow-x: clip
}

.abt .pg-wrap {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

.abt .title-blk {
  background: linear-gradient(197deg, #C27195 18%, #EDE7E7 72%);
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.abt .title-blk .blob-a {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 36px;
  background: #c2719538;
  filter: blur(60px);
  top: -60px;
  right: 80px;
  pointer-events: none
}

.abt .title-blk .blob-b {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 36px;
  background: #d7aebe47;
  filter: blur(44px);
  bottom: -40px;
  left: 120px;
  pointer-events: none
}

.abt .title-blk .t-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px
}

.abt .title-blk .t-prefix {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.abt .title-blk .t-prefix .shape-diamond {
  width: 10px;
  height: 10px;
  background: #C27195;
  transform: rotate(45deg);
  border-radius: 4px;
  flex-shrink: 0
}

.abt .title-blk .t-prefix span {
  font-size: 13px;
  letter-spacing: .08em;
  color: #5a2e42;
  text-transform: uppercase;
  line-height: 1.2
}

.abt .title-blk .t-h1 {
  font-size: 52px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #2a1520;
  margin: 0;
  animation: elastic-in .7s cubic-bezier(0.22, 1, 0.36, 1) both
}

.abt .title-blk .t-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #3d1e2c;
  max-width: 540px;
  margin: 0;
  animation: elastic-in .6s cubic-bezier(0.22, 1, 0.36, 1) .12s both
}

@keyframes elastic-in {
  0% {
    opacity: 0;
    transform: translateY(28px) scale(0.97)
  }

  60% {
    opacity: 1;
    transform: translateY(-5px) scale(1.01)
  }

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

.abt .wave-div {
  line-height: 0;
  overflow: hidden
}

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

.abt .story-blk {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.abt .story-blk .s-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.abt .story-blk .s-img-col {
  position: relative
}

.abt .story-blk .s-img-wrap {
  border-radius: 36px;
  overflow: hidden;
  box-shadow: -1px 9px 44px 0 #c2719524;
  position: relative
}

.abt .story-blk .s-img-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .story-blk .s-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: #c2719559;
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 36px
}

.abt .story-blk .s-img-wrap:hover .img-overlay {
  opacity: 0
}

.abt .story-blk .s-img-wrap:hover img {
  transform: scale(1.03)
}

.abt .story-blk .corner-diamond {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #C27195;
  transform: rotate(45deg);
  border-radius: 4px;
  bottom: -10px;
  right: 30px
}

.abt .story-blk .s-txt-col {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abt .story-blk .s-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1520;
  margin: 0;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 6px
}

.abt .story-blk .s-body {
  font-size: 16px;
  line-height: 1.8;
  color: #3d2530;
  margin: 0
}

.abt .story-blk .s-body.large {
  font-size: 20px;
  color: #2a1520
}

.abt .depth-blk {
  background: #EDE7E7;
  padding-top: 80px;
  padding-bottom: 80px
}

.abt .depth-blk .d-top {
  text-align: center;
  margin-bottom: 40px
}

.abt .depth-blk .d-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1520;
  margin: 0 0 12px;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: #C27195;
  text-underline-offset: 6px
}

.abt .depth-blk .d-sub {
  font-size: 16px;
  line-height: 1.8;
  color: #3d2530;
  max-width: 520px;
  margin: 0 auto
}

.abt .depth-blk .d-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.abt .depth-blk .pyramid-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px
}

.abt .depth-blk .pyr-layer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 12px 6px;
  text-align: center;
  transition: transform .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .depth-blk .pyr-layer:hover {
  transform: scaleX(1.03);
  box-shadow: -1px 5px 14px 0 #c2719517
}

.abt .depth-blk .pyr-layer.l1 {
  width: 80px;
  background: #C27195
}

.abt .depth-blk .pyr-layer.l2 {
  width: 130px;
  background: #c98aa8
}

.abt .depth-blk .pyr-layer.l3 {
  width: 180px;
  background: #D7AEBE
}

.abt .depth-blk .pyr-layer.l4 {
  width: 230px;
  background: #e0c4cf
}

.abt .depth-blk .pyr-layer.l5 {
  width: 280px;
  background: #EDE7E7;
  border: 1px solid #D7AEBE
}

.abt .depth-blk .pyr-label {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
  color: #2a1520
}

.abt .depth-blk .pyr-sub {
  font-size: 13px;
  line-height: 1.2;
  color: #3d2530;
  margin-top: 4px
}

.abt .depth-blk .team-col {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abt .depth-blk .team-card {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  background: #fff;
  border-radius: 36px;
  padding: 20px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .depth-blk .team-card:hover {
  box-shadow: -1px 9px 44px 0 #c2719524
}

.abt .depth-blk .team-port {
  width: 80px;
  height: 112px;
  border-radius: 36px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: -1px 5px 14px 0 #c2719517
}

.abt .depth-blk .team-port img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt .depth-blk .team-info {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.abt .depth-blk .team-name {
  font-size: 16px;
  font-weight: 700;
  color: #2a1520;
  line-height: 1.2;
  margin: 0
}

.abt .depth-blk .team-role {
  font-size: 13px;
  color: #C27195;
  line-height: 1.2;
  margin: 0
}

.abt .depth-blk .team-bio {
  font-size: 14px;
  line-height: 1.8;
  color: #3d2530;
  margin: 0
}

.abt .depth-blk .metrics-col {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abt .depth-blk .metric-item {
  background: #fff;
  border-radius: 36px;
  padding: 20px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .depth-blk .metric-item:hover {
  box-shadow: -1px 9px 44px 0 #c2719524
}

.abt .depth-blk .metric-val {
  font-size: 37px;
  font-weight: 800;
  color: #C27195;
  line-height: 1.2;
  letter-spacing: -.02em
}

.abt .depth-blk .metric-lbl {
  font-size: 14px;
  line-height: 1.8;
  color: #3d2530
}

.abt .approach-blk {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.abt .approach-blk .ap-head {
  text-align: center;
  margin-bottom: 40px
}

.abt .approach-blk .ap-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1520;
  margin: 0 0 12px;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 6px
}

.abt .approach-blk .ap-lead {
  font-size: 16px;
  line-height: 1.8;
  color: #3d2530;
  max-width: 560px;
  margin: 0 auto
}

.abt .approach-blk .ap-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start
}

.abt .approach-blk .steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0
}

.abt .approach-blk .step-item {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  position: relative
}

.abt .approach-blk .step-item:not(:last-child) .step-line {
  position: absolute;
  left: 19px;
  top: 40px;
  bottom: -20px;
  width: 2px;
  background: linear-gradient(197deg, #C27195 18%, #D7AEBE 72%)
}

.abt .approach-blk .step-num-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  padding-top: 4px
}

.abt .approach-blk .step-num {
  width: 40px;
  height: 40px;
  border-radius: 36px;
  background: #C27195;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: -1px 5px 14px 0 #c2719517;
  transition: background .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .approach-blk .step-item:hover .step-num {
  background: #2a1520;
  box-shadow: -1px 9px 44px 0 #c2719524
}

.abt .approach-blk .step-txt {
  padding-bottom: 40px;
  padding-top: 6px
}

.abt .approach-blk .step-h {
  font-size: 16px;
  font-weight: 700;
  color: #2a1520;
  margin: 0 0 6px;
  line-height: 1.2
}

.abt .approach-blk .step-p {
  font-size: 14px;
  line-height: 1.8;
  color: #3d2530;
  margin: 0
}

.abt .approach-blk .ap-img-col {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abt .approach-blk .ap-img-wrap {
  border-radius: 36px;
  overflow: hidden;
  box-shadow: -1px 5px 14px 0 #c2719517;
  position: relative
}

.abt .approach-blk .ap-img-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt .approach-blk .ap-img-wrap .img-tint {
  position: absolute;
  inset: 0;
  background: #c271954d;
  transition: opacity .5s ease-in-out
}

.abt .approach-blk .ap-img-wrap:hover .img-tint {
  opacity: 0
}

.abt .approach-blk .ap-img-wrap:hover img {
  transform: scale(1.04)
}

@media (max-width: 1280px) {
  .abt .story-blk .s-grid {
    gap: 40px
  }

  .abt .depth-blk .d-cols {
    gap: 20px
  }
}

@media (max-width: 768px) {
  .abt .pg-wrap {
    padding-left: 20px;
    padding-right: 20px
  }

  .abt .title-blk .t-h1 {
    font-size: 37px
  }

  .abt .story-blk .s-grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt .depth-blk .d-cols {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt .depth-blk .pyramid-col {
    order: -1
  }

  .abt .approach-blk .ap-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt .approach-blk .ap-img-col {
    flex-direction: row;
    flex-wrap: wrap
  }

  .abt .approach-blk .ap-img-wrap {
    flex: 1 1 200px
  }
}

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

.lp-pg .lp-wrap {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px
}

.lp-pg .title-blk {
  background: linear-gradient(197deg, #EDE7E7 18%, #fff 72%);
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
  position: relative
}

.lp-pg .title-blk .tb-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px
}

.lp-pg .title-blk .tb-shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.lp-pg .title-blk .tb-shapes svg {
  position: absolute
}

.lp-pg .title-blk .tb-shapes .sh-a {
  top: -20px;
  left: 40px;
  opacity: .18
}

.lp-pg .title-blk .tb-shapes .sh-b {
  bottom: 0;
  right: 60px;
  opacity: .13
}

.lp-pg .title-blk .tb-tag {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .08em;
  color: #C27195;
  border: 1px solid #C27195;
  border-radius: 4px;
  padding: 6px 12px;
  line-height: 1.2
}

.lp-pg .title-blk .tb-h1 {
  font-size: 52px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #2a1f26;
  margin: 0;
  max-width: 760px
}

.lp-pg .title-blk .tb-sub {
  font-size: 20px;
  line-height: 1.8;
  color: #4a3540;
  max-width: 580px;
  margin: 0
}

.lp-pg .title-blk .tb-img-wrap {
  width: 100%;
  max-width: 860px;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  margin-top: 20px;
  box-shadow: -1px 9px 44px 0 #c2719524
}

.lp-pg .title-blk .tb-img-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-pg .title-blk .tb-img-wrap:hover img {
  transform: scale(1.03)
}

.lp-pg .title-blk .tb-img-wrap .img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(197deg, #c2719547 0%, #d7aebe1a 100%);
  transition: opacity .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-pg .title-blk .tb-img-wrap:hover .img-overlay {
  opacity: 0
}

.lp-pg .title-blk .tb-img-wrap .img-grain {
  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='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.07'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: .5
}

.lp-pg .prog-struct {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 40px
}

.lp-pg .prog-struct .ps-head {
  text-align: center;
  margin-bottom: 40px
}

.lp-pg .prog-struct .ps-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1f26;
  margin: 0 0 12px;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 6px
}

.lp-pg .prog-struct .ps-lead {
  font-size: 20px;
  line-height: 1.8;
  color: #4a3540;
  margin: 0 auto;
  max-width: 600px
}

.lp-pg .prog-struct .ps-flow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  margin-top: 40px;
  overflow-x: auto
}

.lp-pg .prog-struct .flow-step {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 12px;
  position: relative
}

.lp-pg .prog-struct .flow-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 36px;
  right: -18px;
  width: 36px;
  height: 2px;
  background: linear-gradient(90deg, #D7AEBE, #C27195);
  z-index: 1
}

.lp-pg .prog-struct .flow-step:not(:last-child)::before {
  content: '';
  position: absolute;
  top: 30px;
  right: -10px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #C27195;
  z-index: 2
}

.lp-pg .prog-struct .step-num {
  width: 48px;
  height: 48px;
  border-radius: 36px;
  background: linear-gradient(197deg, #C27195 18%, #D7AEBE 80%);
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  box-shadow: -1px 5px 14px 0 #c2719517;
  flex-shrink: 0
}

.lp-pg .prog-struct .step-title {
  font-size: 14px;
  line-height: 1.2;
  color: #2a1f26;
  font-weight: 700;
  margin: 0 0 6px
}

.lp-pg .prog-struct .step-desc {
  font-size: 13px;
  line-height: 1.8;
  color: #5a4550;
  margin: 0
}

.lp-pg .prog-struct .ps-modules {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.lp-pg .prog-struct .mod-item {
  border: 1px solid #EDE7E7;
  border-radius: 4px;
  padding: 20px;
  position: relative;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 3px 6px 0 #c271950d
}

.lp-pg .prog-struct .mod-item:hover {
  box-shadow: -1px 9px 44px 0 #c2719524;
  border-color: #D7AEBE
}

.lp-pg .prog-struct .mod-item.active-mod {
  border-left: 3px solid #C27195
}

.lp-pg .prog-struct .mod-num {
  font-size: 13px;
  color: #C27195;
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.2
}

.lp-pg .prog-struct .mod-title {
  font-size: 16px;
  line-height: 1.2;
  color: #2a1f26;
  font-weight: 700;
  margin: 0 0 6px
}

.lp-pg .prog-struct .mod-text {
  font-size: 14px;
  line-height: 1.8;
  color: #5a4550;
  margin: 0
}

.lp-pg .instructors {
  background: linear-gradient(197deg, #EDE7E7 0%, #fff 60%);
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.lp-pg .instructors .diag-texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0
}

.lp-pg .instructors .diag-texture svg {
  width: 100%;
  height: 100%;
  opacity: .045
}

.lp-pg .instructors .ins-head {
  text-align: center;
  margin-bottom: 40px;
  position: relative
}

.lp-pg .instructors .ins-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1f26;
  margin: 0 0 12px;
  text-decoration: underline;
  text-decoration-color: #C27195;
  text-underline-offset: 6px
}

.lp-pg .instructors .ins-sub {
  font-size: 16px;
  line-height: 1.8;
  color: #4a3540;
  margin: 0 auto;
  max-width: 520px
}

.lp-pg .instructors .ins-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  position: relative
}

.lp-pg .instructors .ins-card {
  border-radius: 4px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  transform: translateY(24px);
  animation: col-appear .55s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.lp-pg .instructors .ins-card:nth-child(1) {
  background: #fff;
  animation-delay: .1s
}

.lp-pg .instructors .ins-card:nth-child(2) {
  background: #C27195;
  animation-delay: .28s
}

.lp-pg .instructors .ins-card:nth-child(3) {
  background: #2a1f26;
  animation-delay: .46s
}

@keyframes col-appear {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.lp-pg .instructors .ins-card:nth-child(1) {
  box-shadow: -1px 5px 14px 0 #c2719517
}

.lp-pg .instructors .ins-card:nth-child(2) {
  box-shadow: -1px 5px 14px 0 #c2719524
}

.lp-pg .instructors .ins-card:nth-child(3) {
  box-shadow: -1px 9px 44px 0 #c2719524
}

.lp-pg .instructors .ins-portrait {
  width: 100%;
  aspect-ratio: 7/9;
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.lp-pg .instructors .ins-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-pg .instructors .ins-portrait:hover img {
  transform: scale(1.04)
}

.lp-pg .instructors .ins-portrait .port-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(197deg, #c2719538 0%, #d7aebe14 100%);
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-pg .instructors .ins-portrait:hover .port-overlay {
  opacity: 0
}

.lp-pg .instructors .ins-name {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  margin: 0
}

.lp-pg .instructors .ins-card:nth-child(1) .ins-name {
  color: #2a1f26
}

.lp-pg .instructors .ins-card:nth-child(2) .ins-name {
  color: #fff
}

.lp-pg .instructors .ins-card:nth-child(3) .ins-name {
  color: #EDE7E7
}

.lp-pg .instructors .ins-role {
  font-size: 13px;
  line-height: 1.2;
  margin: 0
}

.lp-pg .instructors .ins-card:nth-child(1) .ins-role {
  color: #C27195
}

.lp-pg .instructors .ins-card:nth-child(2) .ins-role {
  color: #EDE7E7
}

.lp-pg .instructors .ins-card:nth-child(3) .ins-role {
  color: #D7AEBE
}

.lp-pg .instructors .ins-bio {
  font-size: 14px;
  line-height: 1.8;
  margin: 0
}

.lp-pg .instructors .ins-card:nth-child(1) .ins-bio {
  color: #5a4550
}

.lp-pg .instructors .ins-card:nth-child(2) .ins-bio {
  color: #ffffffd9
}

.lp-pg .instructors .ins-card:nth-child(3) .ins-bio {
  color: #ede7e7cc
}

.lp-pg .instructors .ins-no-portrait {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  background: #ffffff14;
  border-radius: 4px;
  border: 1px dashed #ede7e766
}

.lp-pg .enroll-blk {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.lp-pg .enroll-blk .eb-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.lp-pg .enroll-blk .eb-h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: #2a1f26;
  margin: 0 0 20px;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 6px
}

.lp-pg .enroll-blk .eb-text {
  font-size: 16px;
  line-height: 1.8;
  color: #4a3540;
  margin: 0 0 20px
}

.lp-pg .enroll-blk .eb-text.large {
  font-size: 20px
}

.lp-pg .enroll-blk .eb-accent {
  border: 2px solid #EDE7E7;
  outline: 1px solid #D7AEBE;
  outline-offset: 4px;
  border-radius: 4px;
  padding: 20px;
  margin-bottom: 20px;
  background: linear-gradient(197deg, #EDE7E7 0%, #fff 70%)
}

.lp-pg .enroll-blk .eb-accent-h {
  font-size: 16px;
  font-weight: 700;
  color: #2a1f26;
  margin: 0 0 12px;
  line-height: 1.2
}

.lp-pg .enroll-blk .eb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  counter-reset: eb-counter
}

.lp-pg .enroll-blk .eb-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.8;
  color: #4a3540;
  counter-increment: eb-counter;
  position: relative
}

.lp-pg .enroll-blk .eb-list li::before {
  content: counter(eb-counter);
  min-width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #C27195;
  color: #fff;
  font-size: 13px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px
}

.lp-pg .enroll-blk .eb-list li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 11px;
  top: 26px;
  width: 2px;
  height: calc(100% + 8px);
  background: linear-gradient(180deg, #D7AEBE, transparent)
}

.lp-pg .enroll-blk .eb-info-box {
  border-radius: 4px;
  background: linear-gradient(197deg, #2a1f26 18%, #3d2a35 100%);
  padding: 40px;
  box-shadow: -1px 9px 44px 0 #c2719524;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.lp-pg .enroll-blk .ei-label {
  font-size: 13px;
  color: #D7AEBE;
  letter-spacing: .06em;
  margin: 0;
  line-height: 1.2
}

.lp-pg .enroll-blk .ei-val {
  font-size: 27px;
  color: #fff;
  font-weight: 700;
  margin: 0;
  line-height: 1.2
}

.lp-pg .enroll-blk .ei-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d7aebe33
}

.lp-pg .enroll-blk .ei-row:last-of-type {
  border-bottom: none;
  padding-bottom: 0
}

.lp-pg .enroll-blk .eb-btn-primary {
  display: inline-block;
  background: #C27195;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  padding: 20px 40px;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: -1px 5px 14px 0 #c2719517;
  text-align: center;
  width: 100%
}

.lp-pg .enroll-blk .eb-btn-primary:hover {
  background: #b05e82;
  box-shadow: -1px 9px 44px 0 #c2719538
}

.lp-pg .enroll-blk .eb-btn-secondary {
  display: inline-block;
  background: transparent;
  color: #C27195;
  font-size: 14px;
  line-height: 1.2;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid #C27195;
  cursor: pointer;
  transition: background .35s ease-in-out, color .35s ease-in-out;
  text-align: center;
  width: 100%;
  margin-top: 12px
}

.lp-pg .enroll-blk .eb-btn-secondary:hover {
  background: #C27195;
  color: #fff
}

@media (max-width: 768px) {
  .lp-pg .title-blk .tb-h1 {
    font-size: 37px
  }

  .lp-pg .prog-struct .ps-modules {
    grid-template-columns: 1fr
  }

  .lp-pg .prog-struct .ps-flow {
    flex-direction: column;
    align-items: stretch
  }

  .lp-pg .prog-struct .flow-step:not(:last-child)::after,
  .lp-pg .prog-struct .flow-step:not(:last-child)::before {
    display: none
  }

  .lp-pg .instructors .ins-grid {
    grid-template-columns: 1fr
  }

  .lp-pg .enroll-blk .eb-inner {
    grid-template-columns: 1fr
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .lp-pg .title-blk .tb-h1 {
    font-size: 37px
  }

  .lp-pg .instructors .ins-grid {
    grid-template-columns: 1fr 1fr
  }
}

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

.ct-us .pg-top {
  background: #EDE7E7;
  padding: 80px 20px;
  position: relative
}

.ct-us .pg-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(197deg, #C27195 30%, #D7AEBE 100%)
}

.ct-us .pg-top::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(197deg, #D7AEBE 20%, #C27195 100%)
}

.ct-us .pg-top .spot-a {
  position: absolute;
  width: 260px;
  height: 260px;
  background: #C27195;
  border-radius: 50%;
  opacity: .08;
  filter: blur(60px);
  top: -40px;
  right: 80px;
  pointer-events: none
}

.ct-us .pg-top .spot-b {
  position: absolute;
  width: 180px;
  height: 180px;
  background: #D7AEBE;
  border-radius: 50%;
  opacity: .12;
  filter: blur(44px);
  bottom: 0;
  left: 60px;
  pointer-events: none
}

.ct-us .pg-top .dots-row {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin-bottom: 20px
}

.ct-us .pg-top .dots-row span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C27195;
  opacity: .5
}

.ct-us .pg-top .dots-row span:nth-child(2) {
  opacity: .3
}

.ct-us .pg-top .dots-row span:nth-child(3) {
  opacity: .18
}

.ct-us .top-inner {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.ct-us .pg-top h1 {
  font-size: 52px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #2a1a22;
  text-align: center;
  margin: 0 0 12px;
  clip-path: inset(0 100% 0 0);
  animation: reveal-clip .7s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards
}

.ct-us .pg-top .sub {
  font-size: 20px;
  line-height: 1.8;
  color: #5a3a4a;
  text-align: center;
  max-width: 560px;
  margin: 0 auto 40px;
  clip-path: inset(0 100% 0 0);
  animation: reveal-clip .65s cubic-bezier(0.22, 1, 0.36, 1) .28s forwards
}

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

.ct-us .info-strip {
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: center;
  flex-wrap: wrap;
  clip-path: inset(0 100% 0 0);
  animation: reveal-clip .6s cubic-bezier(0.22, 1, 0.36, 1) .42s forwards
}

.ct-us .info-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px
}

.ct-us .info-item .ico {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: #C27195;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: -1px 5px 14px 0 #c2719517
}

.ct-us .info-item .ico i {
  color: #fff;
  font-size: 14px
}

.ct-us .info-item .lbl {
  font-size: 13px;
  color: #8a6070;
  line-height: 1.2;
  display: block
}

.ct-us .info-item .val {
  font-size: 14px;
  color: #2a1a22;
  line-height: 1.2;
  display: block;
  font-weight: 600
}

.ct-us .form-zone {
  padding: 80px 20px;
  background: #fff
}

.ct-us .form-inner {
  max-width: 1170px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.ct-us .form-col {
  grid-column: 2 / 4
}

.ct-us .aside-col-l {
  grid-column: 1 / 2
}

.ct-us .aside-col-r {
  grid-column: 4 / 5
}

.ct-us .form-label-top {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px
}

.ct-us .form-label-top .tag {
  font-size: 13px;
  color: #C27195;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700
}

.ct-us .form-label-top .tag-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(197deg, #C27195 20%, transparent 100%)
}

.ct-us .form-col h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #2a1a22;
  text-align: center;
  margin: 0 0 6px;
  text-decoration: underline;
  text-decoration-color: #D7AEBE;
  text-underline-offset: 5px
}

.ct-us .form-col .form-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #6a4a58;
  text-align: left;
  margin: 0 0 20px
}

.ct-us .form-col .form-desc.large {
  font-size: 16px
}

.ct-us form {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ct-us .field-row {
  display: flex;
  flex-direction: row;
  gap: 12px
}

.ct-us .field-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1
}

.ct-us .field-wrap label {
  font-size: 13px;
  color: #5a3a4a;
  font-weight: 600;
  line-height: 1.2
}

.ct-us .field-wrap input[type="text"],
.ct-us .field-wrap input[type="tel"],
.ct-us .field-wrap select {
  border: 1.5px solid #D7AEBE;
  border-radius: 4px;
  padding: 12px;
  font-size: 14px;
  color: #2a1a22;
  background: #fff;
  outline: none;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 1px 4px 0 #c271950d
}

.ct-us .field-wrap input::placeholder {
  color: #c4a0b0;
  transition: color .5s ease-in-out, opacity .5s ease-in-out
}

.ct-us .field-wrap input:focus::placeholder {
  color: transparent;
  opacity: 0
}

.ct-us .field-wrap input:focus,
.ct-us .field-wrap select:focus {
  border-color: #C27195;
  box-shadow: inset 0 1px 4px 0 #c2719514 -1px 5px 14px 0 #c2719517
}

.ct-us .field-wrap select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C27195' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px
}

.ct-us .time-group {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.ct-us .time-group label.grp-lbl {
  font-size: 13px;
  color: #5a3a4a;
  font-weight: 600;
  line-height: 1.2
}

.ct-us .time-opts {
  display: flex;
  flex-direction: row;
  gap: 6px;
  flex-wrap: wrap
}

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

.ct-us .time-opts label {
  font-size: 13px;
  color: #5a3a4a;
  border: 1.5px solid #D7AEBE;
  border-radius: 4px;
  padding: 6px 12px;
  cursor: pointer;
  transition: background .42s cubic-bezier(0.22, 1, 0.36, 1), color .42s cubic-bezier(0.22, 1, 0.36, 1), border-color .42s cubic-bezier(0.22, 1, 0.36, 1);
  line-height: 1.2;
  display: block
}

.ct-us .time-opts input[type="radio"]:checked+label {
  background: #C27195;
  color: #fff;
  border-color: #C27195
}

.ct-us .time-opts label:hover {
  border-color: #C27195;
  background: #EDE7E7
}

.ct-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin-top: 6px
}

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

.ct-us .privacy-row .prv-text {
  font-size: 13px;
  color: #6a4a58;
  line-height: 1.8
}

.ct-us .privacy-row .prv-text a {
  color: #C27195;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s ease-in-out
}

.ct-us .privacy-row .prv-text a:hover {
  color: #2a1a22
}

.ct-us .submit-btn {
  background: linear-gradient(197deg, #C27195 30%, #D7AEBE 100%);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 20px 40px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .04em;
  box-shadow: -1px 5px 14px 0 #c2719517;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1);
  align-self: flex-start;
  width: 100%
}

.ct-us .submit-btn:hover {
  box-shadow: -1px 9px 44px 0 #c2719524;
  transform: translateY(-2px)
}

.ct-us .submit-btn:active {
  transform: translateY(0);
  box-shadow: -1px 3px 6px 0 #c271950d
}

.ct-us .aside-card {
  border-radius: 4px;
  background: #EDE7E7;
  padding: 20px;
  box-shadow: -1px 3px 6px 0 #c271950d;
  position: sticky;
  top: 20px
}

.ct-us .aside-card .ac-head {
  font-size: 14px;
  font-weight: 700;
  color: #2a1a22;
  line-height: 1.2;
  margin: 0 0 12px;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: #C27195;
  text-underline-offset: 4px
}

.ct-us .aside-card .ac-body {
  font-size: 13px;
  color: #5a3a4a;
  line-height: 1.8;
  margin: 0
}

.ct-us .aside-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  margin-top: 12px;
  aspect-ratio: 3/4
}

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

.ct-us .aside-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(197deg, #c271958c 20%, #d7aebe61 100%);
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.ct-us .aside-img-wrap:hover::after {
  opacity: 0
}

.ct-us .aside-img-wrap:hover img {
  transform: scale(1.04)
}

.ct-us .dots-accent {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin: 20px 0 6px;
  justify-content: center
}

.ct-us .dots-accent span {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #C27195
}

.ct-us .dots-accent span:nth-child(1) {
  opacity: .2
}

.ct-us .dots-accent span:nth-child(2) {
  opacity: .5
}

.ct-us .dots-accent span:nth-child(3) {
  opacity: 1
}

.ct-us .dots-accent span:nth-child(4) {
  opacity: .5
}

.ct-us .dots-accent span:nth-child(5) {
  opacity: .2
}

.ct-us .wave-div {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 40px
}

.ct-us .wave-div svg {
  display: block;
  width: 100%;
  height: 40px
}

@media (max-width: 1280px) {
  .ct-us .form-inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px
  }

  .ct-us .aside-col-l {
    grid-column: 1 / 2;
    grid-row: 1
  }

  .ct-us .form-col {
    grid-column: 1 / 3;
    grid-row: 2
  }

  .ct-us .aside-col-r {
    grid-column: 2 / 3;
    grid-row: 1
  }
}

@media (max-width: 768px) {
  .ct-us .pg-top h1 {
    font-size: 37px
  }

  .ct-us .pg-top .sub {
    font-size: 16px
  }

  .ct-us .info-strip {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start
  }

  .ct-us .form-inner {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .ct-us .form-col {
    grid-column: 1;
    grid-row: 2
  }

  .ct-us .aside-col-l {
    grid-column: 1;
    grid-row: 1
  }

  .ct-us .aside-col-r {
    grid-column: 1;
    grid-row: 3
  }

  .ct-us .field-row {
    flex-direction: column
  }

  .ct-us .pg-top {
    padding: 40px 20px
  }

  .ct-us .form-zone {
    padding: 40px 20px
  }

  .ct-us .submit-btn {
    padding: 20px
  }
}

.success_page {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  background: linear-gradient(197deg, #EDE7E7 30%, #fff 100%)
}

.success_page .success_card {
  max-width: 540px;
  width: 100%;
  background: #fff;
  border-radius: 36px;
  padding: 40px;
  box-shadow: -1px 9px 44px 0 #c2719524;
  text-align: center
}

.success_page .success_icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(197deg, #C27195 30%, #D7AEBE 100%);
  border-radius: 36px;
  box-shadow: -1px 5px 14px 0 #c2719517
}

.success_page .success_icon svg {
  display: block
}

.success_page .success_title {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #2a1a22;
  margin: 0 0 12px
}

.success_page .success_text {
  font-size: 16px;
  line-height: 1.8;
  color: #4a3040;
  margin: 0 0 40px
}

.success_page .success_link {
  display: inline-block;
  padding: 12px 40px;
  background: #C27195;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .03em;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: -1px 3px 6px 0 #c271950d;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), background .2s ease-in-out
}

.success_page .success_link:hover {
  background: #b05f84;
  box-shadow: -1px 9px 44px 0 #c2719524
}

.success_page .success_link:focus-visible {
  outline: 2px solid #C27195;
  outline-offset: 4px
}

.success_page .success_divider {
  width: 48px;
  height: 2px;
  background: linear-gradient(197deg, #C27195 30%, #D7AEBE 100%);
  border-radius: 4px;
  margin: 0 auto 20px
}