::before,
::after {
  content: none;
  box-sizing: inherit
}

html {
  scroll-behavior: smooth;
  box-sizing: border-box
}

body {
  margin: 0;
  scrollbar-gutter: stable;
  min-height: 100vh;
  font-family: "Red Hat Display", sans-serif
}

:focus-visible {
  outline: 2px dashed #7B49A6;
  outline-offset: 3px;
  animation: dash-spin 3s linear infinite
}

@keyframes dash-spin {
  from {
    outline-offset: 3px
  }

  to {
    outline-offset: 3px
  }
}

@keyframes focus-rotate {
  0% {
    outline-color: #7B49A6
  }

  50% {
    outline-color: #CCC2D8
  }

  100% {
    outline-color: #7B49A6
  }
}

:focus-visible {
  animation: focus-rotate 2s ease-in-out infinite
}

.site-head {
  position: relative;
  background: #F7F5F9;
  border-bottom: 1px solid #7b49a61f;
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  z-index: 100
}

.site-head__band {
  background: linear-gradient(135deg, #7B49A6 0%, #9b6bc4 100%);
  padding: 8px 0
}

.site-head__band-hold {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px
}

.site-head__contact-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f7f5f9eb;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: .01em;
  line-height: 1.15;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1);
  min-height: 44px
}

.site-head__contact-link:hover {
  color: #fff
}

.site-head__contact-link svg {
  flex-shrink: 0
}

.site-head__divider {
  width: 1px;
  height: 16px;
  background: #f7f5f94d
}

.site-head__body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px
}

.site-head__brand-mount {
  flex-shrink: 0;
  display: flex;
  align-items: center
}

.site-head__logo-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 50px;
  background: #f7f5f9e6;
  border-radius: 18px;
  border: 1px solid #7b49a62e;
  box-shadow: 2px 2px 5px 0 #7b49a612 inset 0 1px 2px #ccc2d833;
  padding: 8px;
  text-decoration: none
}

.site-head__logo-shell img {
  width: 48px;
  height: 40px;
  object-fit: contain;
  display: block
}

.site-head__menu-mount {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end
}

.site-head__menu-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px
}

.site-head__menu-sep {
  width: 1px;
  height: 20px;
  background: #7b49a633;
  margin: 0 8px;
  flex-shrink: 0
}

.menu-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  color: #3a2050;
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.15;
  border-radius: 6px;
  border: 1px solid transparent;
  min-height: 44px;
  transition: color .4s cubic-bezier(0.16, 1, 0.3, 1), border-color .4s cubic-bezier(0.16, 1, 0.3, 1), background .4s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap
}

.menu-link:hover {
  color: #7B49A6;
  border-color: #7b49a640;
  background: #7b49a60d
}

.menu-link--active {
  color: #7B49A6;
  font-weight: 700;
  border-color: #7b49a633;
  background: #7b49a60f
}

.menu-link--accent {
  color: #F7F5F9;
  background: linear-gradient(120deg, #7B49A6 0%, #9b6bc4 100%);
  border-color: #7B49A6;
  font-weight: 700;
  border-radius: 18px;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.menu-link--accent:hover {
  color: #F7F5F9;
  background: linear-gradient(200deg, #7B49A6 0%, #9b6bc4 100%);
  border-color: #7B49A6;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

@media (max-width: 1024px) {
  .site-head__body {
    padding: 16px 20px;
    gap: 20px
  }

  .site-head__band-hold {
    padding: 0 20px
  }

  .menu-link {
    padding: 8px 12px;
    font-size: 13px
  }
}

@media (max-width: 768px) {
  .site-head__body {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    gap: 16px
  }

  .site-head__menu-mount {
    justify-content: flex-start;
    width: 100%
  }

  .site-head__band-hold {
    padding: 0 16px;
    flex-wrap: wrap;
    justify-content: center
  }
}

@media (max-width: 480px) {
  .site-head__menu-group {
    flex-wrap: wrap
  }

  .site-head__menu-sep {
    display: none
  }

  .menu-link {
    font-size: 13px;
    padding: 8px
  }
}

.site-foot {
  background: linear-gradient(160deg, #3a2050 0%, #2a1640 100%);
  border-top: 1px solid #7b49a64d;
  padding: 40px 0 20px
}

.site-foot__hold {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px
}

.site-foot__top {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px
}

.site-foot__logo-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 54px;
  background: #f7f5f91a;
  border-radius: 18px;
  border: 1px solid #ccc2d84d;
  box-shadow: 2px 2px 5px 0 #7b49a612 0 1px 2px inset #ccc2d814;
  padding: 8px;
  text-decoration: none
}

.site-foot__logo-shell img {
  width: 52px;
  height: 42px;
  object-fit: contain;
  display: block
}

.site-foot__rule {
  height: 1px;
  background: #ccc2d833;
  margin-bottom: 40px
}

.site-foot__links-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px
}

.foot-link {
  display: inline-flex;
  align-items: center;
  color: #ccc2d8cc;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: .015em;
  line-height: 1.15;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  min-height: 44px;
  transition: color .5s ease-in-out, border-color .5s ease-in-out
}

.foot-link:hover {
  color: #F7F5F9;
  border-color: #ccc2d840
}

.foot-link-sep {
  width: 3px;
  height: 3px;
  border-radius: 48px;
  background: #ccc2d859;
  flex-shrink: 0
}

.site-foot__address-row {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px
}

.foot-addr-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #ccc2d8a6;
  font-size: 13px;
  letter-spacing: .01em;
  line-height: 1.65
}

.foot-addr-item svg {
  flex-shrink: 0;
  margin-top: 2px
}

.foot-addr-link {
  color: #ccc2d8a6;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.foot-addr-link:hover {
  color: #CCC2D8
}

.site-foot__bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
  border-top: 1px solid #ccc2d81f
}

.foot-copy {
  color: #ccc2d873;
  font-size: 13px;
  letter-spacing: .01em;
  line-height: 1.15
}

@media (max-width: 768px) {
  .site-foot__hold {
    padding: 0 20px
  }

  .site-foot__address-row {
    flex-direction: column;
    align-items: center;
    text-align: center
  }

  .foot-addr-item {
    justify-content: center
  }
}

@media (max-width: 480px) {
  .site-foot__hold {
    padding: 0 16px
  }

  .foot-link {
    padding: 8px
  }
}

.text-doc {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2d1f3d
}

.text-doc h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #7B49A6;
  margin-bottom: 40px;
  margin-top: 0;
  padding-bottom: 20px;
  border-bottom: 2px solid #CCC2D8
}

.text-doc h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #3d2260;
  margin-top: 80px;
  margin-bottom: 20px;
  padding-left: 16px;
  border-left: 4px solid #7B49A6;
  border-bottom: 1px solid #CCC2D8;
  padding-bottom: 8px
}

.text-doc h3 {
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: .015em;
  color: #4a2875;
  margin-top: 40px;
  margin-bottom: 16px
}

.text-doc h4 {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #3d2260;
  text-transform: uppercase;
  margin-top: 40px;
  margin-bottom: 8px
}

.text-doc h5 {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #4a2875;
  margin-top: 20px;
  margin-bottom: 8px
}

.text-doc h6 {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #5c3490;
  margin-top: 16px;
  margin-bottom: 8px
}

.text-doc p {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1f3d;
  margin-top: 0;
  margin-bottom: 20px;
  max-width: 72ch
}

.text-doc strong,
.text-doc b {
  font-weight: 700;
  color: #3d2260
}

.text-doc em,
.text-doc i {
  font-style: italic;
  color: #4a2875
}

.text-doc a {
  color: #7B49A6;
  text-decoration: underline;
  text-decoration-color: #CCC2D8;
  text-underline-offset: 3px;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.text-doc a:hover {
  color: #3d2260;
  text-decoration-color: #7B49A6
}

.text-doc a:visited {
  color: #9b6cc2
}

.text-doc ul,
.text-doc ol {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1f3d;
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 20px;
  max-width: 72ch
}

.text-doc ul li,
.text-doc ol li {
  margin-bottom: 8px
}

.text-doc ul li::marker {
  color: #7B49A6
}

.text-doc ol li::marker {
  color: #7B49A6;
  font-weight: 700
}

.text-doc hr {
  border: none;
  border-top: 1px solid #CCC2D8;
  margin-top: 40px;
  margin-bottom: 40px;
  opacity: .7
}

.text-doc table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  margin-top: 20px;
  margin-bottom: 40px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.text-doc thead {
  background-color: #7B49A6;
  color: #fff
}

.text-doc thead th {
  padding: 16px 20px;
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-weight: 700;
  text-align: left;
  color: #fff;
  border-bottom: 2px solid #5c3490
}

.text-doc tbody tr {
  background-color: #fff;
  transition: background-color .35s ease-in-out
}

.text-doc tbody tr:nth-child(even) {
  background-color: #F7F5F9
}

.text-doc tbody tr:hover {
  background-color: #ede8f4
}

.text-doc td {
  padding: 16px 20px;
  color: #2d1f3d;
  border-bottom: 1px solid #CCC2D8;
  vertical-align: top
}

.text-doc tbody tr:last-child td {
  border-bottom: none
}

.text-doc th {
  padding: 16px 20px;
  vertical-align: top
}

.text-doc div {
  font-size: 15px;
  line-height: 1.65
}

.text-doc div+div {
  margin-top: 8px
}

@media (max-width: 1024px) {
  .text-doc {
    padding: 80px 40px
  }

  .text-doc h1 {
    font-size: 32px
  }

  .text-doc h2 {
    font-size: 23px;
    margin-top: 40px
  }
}

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

  .text-doc h1 {
    font-size: 32px;
    margin-bottom: 20px
  }

  .text-doc h2 {
    font-size: 23px;
    margin-top: 40px;
    padding-left: 8px
  }

  .text-doc h3 {
    font-size: 15px;
    margin-top: 20px
  }

  .text-doc table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .text-doc p,
  .text-doc ul,
  .text-doc ol {
    max-width: 100%
  }
}

@media (max-width: 480px) {
  .text-doc {
    padding: 40px 16px
  }

  .text-doc h1 {
    font-size: 23px
  }

  .text-doc h2 {
    font-size: 15px;
    border-left-width: 3px
  }

  .text-doc thead th,
  .text-doc td {
    padding: 8px 16px;
    font-size: 13px
  }
}

.spk-det {
  background: #fff;
  overflow-x: hidden
}

.spk-det .art-lead {
  background: #1e0f2e;
  position: relative;
  padding: 80px 40px;
  overflow: hidden
}

.spk-det .art-lead::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 39px, #7b49a612 40px), repeating-linear-gradient(90deg, transparent, transparent 39px, #7b49a612 40px);
  pointer-events: none
}

.spk-det .art-lead__vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, #0a0414b8 100%);
  pointer-events: none
}

.spk-det .art-lead__spotlight {
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 48px;
  background: radial-gradient(circle at center, #7b49a62e 0%, transparent 70%);
  pointer-events: none;
  animation: spotdrift 9s ease-in-out infinite alternate;
  top: -80px;
  left: -80px
}

@keyframes spotdrift {
  0% {
    transform: translate(0, 0)
  }

  50% {
    transform: translate(340px, 120px)
  }

  100% {
    transform: translate(160px, 60px)
  }
}

.spk-det .art-lead__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.spk-det .art-lead__eyebrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.spk-det .art-lead__tag {
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  background: #7b49a638;
  border: 1px solid #7b49a661;
  border-radius: 48px;
  padding: 4px 16px;
  line-height: 1.65
}

.spk-det .art-lead__meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.spk-det .art-lead__meta-item {
  font-size: 13px;
  color: #ccc2d8b8;
  letter-spacing: .01em;
  line-height: 1.65;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.spk-det .art-lead__meta-item svg {
  flex-shrink: 0;
  opacity: .7
}

.spk-det .art-lead__meta-sep {
  width: 3px;
  height: 3px;
  border-radius: 48px;
  background: #ccc2d866;
  display: inline-block
}

.spk-det .art-lead__h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #F7F5F9;
  margin: 0;
  max-width: 860px
}

.spk-det .art-lead__h1 .grad-word {
  background: linear-gradient(to top, #CCC2D8, transparent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.spk-det .art-lead__sub {
  font-size: 23px;
  line-height: 1.65;
  color: #f7f5f9b8;
  letter-spacing: .01em;
  max-width: 680px;
  margin: 0
}

.spk-det .art-lead__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px
}

.spk-det .btn-copy {
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  background: transparent;
  border: 1px solid #ccc2d861;
  border-radius: 6px;
  padding: 8px 20px;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  line-height: 1.65;
  transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1), color .42s cubic-bezier(0.16, 1, 0.3, 1), background .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.spk-det .btn-copy:hover,
.spk-det .btn-copy:focus {
  border-color: #7B49A6;
  color: #F7F5F9;
  background: #7b49a62e;
  outline: none
}

.spk-det .btn-copy:active {
  background: #7b49a652
}

.spk-det .art-lead__stat-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px solid #ccc2d81f;
  margin-top: 8px
}

.spk-det .art-lead__stat {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #ccc2d8a6;
  letter-spacing: .01em;
  line-height: 1.65
}

.spk-det .art-lead__stat svg {
  opacity: .6;
  flex-shrink: 0
}

.spk-det .diamond-divider {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 40px;
  background: #F7F5F9;
  overflow: hidden
}

.spk-det .diamond-divider__line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, #7b49a638, transparent)
}

.spk-det .diamond-divider__gems {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-shrink: 0
}

.spk-det .diamond-divider__gem {
  width: 7px;
  height: 7px;
  background: #7B49A6;
  transform: rotate(45deg);
  border-radius: 1px;
  opacity: .5
}

.spk-det .diamond-divider__gem.mid {
  opacity: 1;
  width: 9px;
  height: 9px
}

.spk-det .art-body {
  background: #F7F5F9;
  padding: 80px 40px
}

.spk-det .art-body__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 80px;
  align-items: start
}

.spk-det .art-body__img-wrap {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 40px;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  position: relative
}

.spk-det .art-body__img-wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  filter: blur(0px);
  transition: filter .52s ease-in-out
}

.spk-det .art-body__img-wrap:hover img {
  filter: blur(1.5px)
}

.spk-det .art-body__img-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 20px;
  background: linear-gradient(to top, #1e0f2ed1, transparent);
  font-size: 13px;
  color: #f7f5f9cc;
  letter-spacing: .01em;
  line-height: 1.65
}

.spk-det .art-body__prose {
  font-size: 15px;
  line-height: 1.65;
  color: #2a1540;
  letter-spacing: .01em;
  text-align: justify
}

.spk-det .art-body__prose h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0f2e;
  margin: 40px 0 16px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6;
  text-align: left
}

.spk-det .art-body__prose h3 {
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1540;
  margin: 40px 0 16px;
  padding-left: 16px;
  border-left: 2px solid #7b49a673;
  text-align: left
}

.spk-det .art-body__prose h4 {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #7B49A6;
  margin: 20px 0 8px;
  text-align: left
}

.spk-det .art-body__prose p {
  margin: 0 0 20px
}

.spk-det .art-body__prose ul {
  margin: 0 0 20px 20px;
  padding: 0
}

.spk-det .art-body__prose li {
  margin-bottom: 8px;
  position: relative
}

.spk-det .art-body__prose cite {
  display: block;
  font-style: italic;
  color: #7B49A6;
  font-size: 15px;
  margin: 20px 0;
  padding: 16px 20px;
  border-left: 3px solid #CCC2D8;
  background: #ccc2d826;
  border-radius: 0 6px 6px 0
}

.spk-det .art-body__prose small {
  font-size: 13px;
  color: #2a154099;
  letter-spacing: .01em
}

.spk-det .art-body__prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 13px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.spk-det .art-body__prose caption {
  font-size: 13px;
  color: #2a154099;
  margin-bottom: 8px;
  text-align: left;
  letter-spacing: .01em
}

.spk-det .art-body__prose thead {
  background: #7B49A6;
  color: #F7F5F9
}

.spk-det .art-body__prose th {
  padding: 8px 16px;
  text-align: left;
  font-size: 13px;
  letter-spacing: .02em
}

.spk-det .art-body__prose td {
  padding: 8px 16px;
  border-bottom: 1px solid #7b49a61a;
  color: #2a1540
}

.spk-det .art-body__prose tr:last-child td {
  border-bottom: none
}

.spk-det .art-body__prose tr:nth-child(even) td {
  background: #ccc2d81f
}

.spk-det .art-body__prose time {
  font-size: 13px;
  color: #2a15408c;
  letter-spacing: .01em
}

.spk-det .art-sidebar {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: sticky;
  top: 40px
}

.spk-det .sidebar-author {
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.spk-det .sidebar-author__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #2a154080;
  line-height: 1.65;
  margin-bottom: 8px;
  text-transform: uppercase
}

.spk-det .sidebar-author__name {
  font-size: 15px;
  line-height: 1.65;
  color: #1e0f2e;
  letter-spacing: .01em;
  font-weight: 600
}

.spk-det .sidebar-pullquote {
  background: #1e0f2e;
  border-radius: 18px;
  padding: 20px;
  position: relative;
  overflow: hidden
}

.spk-det .sidebar-pullquote::before {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-radius: 48px;
  background: #7b49a638;
  pointer-events: none
}

.spk-det .sidebar-pullquote__mark {
  display: block;
  width: 28px;
  height: 20px;
  margin-bottom: 16px
}

.spk-det .sidebar-pullquote__mark svg {
  width: 28px;
  height: 20px
}

.spk-det .sidebar-pullquote__text {
  font-size: 15px;
  line-height: 1.65;
  color: #F7F5F9;
  letter-spacing: .01em;
  font-style: italic;
  margin: 0
}

.spk-det .sidebar-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: .45
}

.spk-det .sidebar-arrow__label {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .02em;
  writing-mode: vertical-rl;
  text-orientation: mixed
}

.spk-det .sidebar-arrow__svg {
  width: 16px;
  height: 40px
}

.spk-det .sidebar-nav-link {
  display: block;
  font-size: 15px;
  letter-spacing: .01em;
  color: #7B49A6;
  text-decoration: none;
  padding: 16px 20px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #7b49a638;
  line-height: 1.65;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.spk-det .sidebar-nav-link:hover,
.spk-det .sidebar-nav-link:focus {
  color: #CCC2D8;
  border-color: #7B49A6;
  background: #1e0f2e;
  outline: none
}

@media (max-width: 1024px) {
  .spk-det .art-lead__h1 {
    font-size: 32px
  }

  .spk-det .art-lead__sub {
    font-size: 15px
  }

  .spk-det .art-body__grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .spk-det .art-sidebar {
    position: static
  }
}

@media (max-width: 768px) {
  .spk-det .art-lead {
    padding: 80px 20px
  }

  .spk-det .art-body {
    padding: 40px 20px
  }

  .spk-det .art-lead__h1 {
    font-size: 32px
  }

  .spk-det .art-body__img-wrap img {
    height: 220px
  }

  .spk-det .diamond-divider {
    padding: 20px
  }
}

@media (max-width: 480px) {
  .spk-det .art-lead {
    padding: 40px 16px
  }

  .spk-det .art-body {
    padding: 40px 16px
  }

  .spk-det .art-lead__h1 {
    font-size: 32px
  }

  .spk-det .art-lead__stat-row {
    gap: 16px
  }
}

.arc-pg {
  background: #fff;
  color: #1e1230;
  overflow-x: clip;
  position: relative
}

.arc-pg .arc-schema {
  display: none
}

.arc-pg .ttl-blk {
  position: relative;
  padding: 80px 20px;
  background: linear-gradient(to bottom, #7B49A6 0%, #7b49a62e 70%, transparent 100%);
  overflow: hidden
}

.arc-pg .ttl-blk__dot-grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.arc-pg .ttl-blk__dot-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #ccc2d873 1.5px, transparent 1.5px);
  background-size: 28px 28px
}

.arc-pg .ttl-blk__img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none
}

.arc-pg .ttl-blk__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: .22;
  transform: translateY(0);
  will-change: transform
}

.arc-pg .ttl-blk__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a68c 0%, transparent 60%)
}

.arc-pg .ttl-blk__body {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto
}

.arc-pg .ttl-blk__label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  border: 1px solid #ccc2d873;
  border-radius: 48px;
  padding: 4px 16px;
  margin-bottom: 20px
}

.arc-pg .ttl-blk__h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #fff;
  margin: 0 0 20px;
  max-width: 820px
}

.arc-pg .ttl-blk__h1 .grad-word {
  background: linear-gradient(to bottom, #CCC2D8, #ccc2d880);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.arc-pg .ttl-blk__sub {
  font-size: 23px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #ffffffd1;
  max-width: 640px;
  margin: 0
}

.arc-pg .div-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 20px
}

.arc-pg .div-dots__dot {
  width: 6px;
  height: 6px;
  border-radius: 48px;
  background: #CCC2D8
}

.arc-pg .div-dots__dot--mid {
  background: #7B49A6;
  width: 8px;
  height: 8px
}

.arc-pg .prog-view {
  padding: 80px 20px;
  background: #F7F5F9;
  position: relative
}

.arc-pg .prog-view::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(to right, transparent, #7B49A6, transparent)
}

.arc-pg .prog-view__inner {
  max-width: 1200px;
  margin: 0 auto
}

.arc-pg .prog-view__float {
  float: right;
  width: 42%;
  margin: 0 0 20px 40px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  position: relative
}

.arc-pg .prog-view__float img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.arc-pg .prog-view__float:hover img {
  transform: scale(1.03)
}

.arc-pg .prog-view__float::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to top, #7b49a647, transparent);
  pointer-events: none
}

.arc-pg .prog-view__hd {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e1230;
  margin: 0 0 20px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6;
  border-bottom: 1px solid #ccc2d866;
  padding-bottom: 16px
}

.arc-pg .prog-view__hd .grad-word {
  background: linear-gradient(to bottom, #7B49A6, #7b49a68c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.arc-pg .prog-view__body p {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2e1f44;
  text-align: justify;
  margin: 0 0 16px
}

.arc-pg .prog-view__body p:last-child {
  margin-bottom: 0
}

.arc-pg .prog-view__clearfix::after {
  content: "";
  display: table;
  clear: both
}

.arc-pg .div-line {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px
}

.arc-pg .div-line__rule {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, #7b49a64d, transparent)
}

.arc-pg .div-line__center {
  width: 32px;
  height: 32px;
  border-radius: 48px;
  border: 1.5px solid #7b49a659;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.arc-pg .div-line__center-inner {
  width: 10px;
  height: 10px;
  border-radius: 48px;
  background: linear-gradient(to bottom, #7B49A6, #CCC2D8)
}

.arc-pg .mods-blk {
  padding: 80px 20px;
  position: relative;
  background: #2e1f44;
  overflow: hidden
}

.arc-pg .mods-blk__noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  background-size: 256px 256px;
  opacity: .55
}

@keyframes clr-wave {
  0% {
    transform: translateX(-100%);
    opacity: 0
  }

  20% {
    opacity: 1
  }

  80% {
    opacity: 1
  }

  100% {
    transform: translateX(200%);
    opacity: 0
  }
}

.arc-pg .mods-blk__wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(to right, transparent, #7b49a61f, transparent);
  animation: clr-wave 7s ease-in-out infinite;
  pointer-events: none
}

.arc-pg .mods-blk__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto
}

.arc-pg .mods-blk__hd {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #F7F5F9;
  margin: 0 0 8px;
  padding-left: 16px;
  border-left: 3px solid #CCC2D8
}

.arc-pg .mods-blk__hd .grad-word {
  background: linear-gradient(to bottom, #CCC2D8, #ccc2d880);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.arc-pg .mods-blk__intro {
  font-size: 15px;
  line-height: 1.65;
  color: #f7f5f9b8;
  max-width: 680px;
  margin: 0 0 40px;
  padding-left: 16px;
  letter-spacing: .01em
}

.arc-pg .mods-blk__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.arc-pg .mod-card {
  background: #f7f5f90f;
  border: 1px solid #ccc2d826;
  border-radius: 18px;
  padding: 20px;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: inset 0 1px 2px #ccc2d812
}

.arc-pg .mod-card:hover {
  background: #f7f5f91c;
  box-shadow: 2px 6px 25px 0 #7b49a61c inset 0 1px 2px #ccc2d81f
}

.arc-pg .mod-card__num {
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  margin: 0 0 8px
}

.arc-pg .mod-card__name {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #F7F5F9;
  margin: 0 0 8px
}

.arc-pg .mod-card__desc {
  font-size: 13px;
  line-height: 1.65;
  color: #f7f5f99e;
  margin: 0;
  text-align: justify
}

.arc-pg .mod-card__bar {
  width: 32px;
  height: 2px;
  background: linear-gradient(to right, #7B49A6, #CCC2D8);
  border-radius: 6px;
  margin: 16px 0 0;
  transition: width .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.arc-pg .mod-card:hover .mod-card__bar {
  width: 64px
}

.arc-pg .expect-blk {
  padding: 80px 20px;
  background: #fff;
  position: relative
}

.arc-pg .expect-blk__inner {
  max-width: 1200px;
  margin: 0 auto
}

.arc-pg .expect-blk__hd {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e1230;
  margin: 0 0 40px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6
}

.arc-pg .expect-blk__hd .grad-word {
  background: linear-gradient(to bottom, #7B49A6, #7b49a680);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.arc-pg .expect-blk__wide {
  background: #F7F5F9;
  border-radius: 18px;
  padding: 40px;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  width: 92%;
  position: relative
}

.arc-pg .expect-blk__wide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, #7B49A6, #CCC2D8, transparent);
  border-radius: 18px 18px 0 0
}

.arc-pg .expect-blk__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.arc-pg .expect-item__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  margin: 0 0 8px;
  text-transform: uppercase
}

.arc-pg .expect-item__h {
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e1230;
  margin: 0 0 16px
}

.arc-pg .expect-item__p {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2e1f44;
  text-align: justify;
  margin: 0
}

.arc-pg .expect-blk__aside {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 20px
}

.arc-pg .aside-stat {
  flex: 1;
  border: 1px solid #7b49a62e;
  border-radius: 18px;
  padding: 20px;
  text-align: center;
  transition: box-shadow .45s ease-in-out, border-color .45s ease-in-out;
  box-shadow: inset 0 1px 2px #7b49a60d
}

.arc-pg .aside-stat:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c inset 0 2px 4px #7b49a617;
  border-color: #7b49a661
}

.arc-pg .aside-stat__val {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #7B49A6;
  display: block;
  margin-bottom: 4px
}

.arc-pg .aside-stat__lbl {
  font-size: 13px;
  line-height: 1.65;
  color: #5a4270;
  letter-spacing: .01em
}

.arc-pg .expect-blk__cta-row {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px
}

.arc-pg .btn-outline {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .01em;
  color: #7B49A6;
  border: 1.5px solid #7B49A6;
  border-radius: 6px;
  padding: 16px 40px;
  text-decoration: none !important;
  background: transparent;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer
}

.arc-pg .btn-outline:hover {
  background: linear-gradient(to top, #7B49A6, #7b49a6c7);
  color: #fff;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.arc-pg .btn-outline:focus-visible {
  outline: 2px solid #7B49A6;
  outline-offset: 3px
}

.arc-pg .cta-note {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .01em
}

@media (max-width: 1024px) {
  .arc-pg .ttl-blk__h1 {
    font-size: 32px
  }

  .arc-pg .ttl-blk__sub {
    font-size: 15px
  }

  .arc-pg .mods-blk__grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .arc-pg .prog-view__float {
    width: 46%
  }

  .arc-pg .expect-blk__wide {
    width: 100%
  }
}

@media (max-width: 768px) {
  .arc-pg .ttl-blk {
    padding: 80px 20px
  }

  .arc-pg .ttl-blk__h1 {
    font-size: 32px
  }

  .arc-pg .prog-view__float {
    float: none;
    width: 100%;
    margin: 0 0 20px
  }

  .arc-pg .prog-view__float img {
    height: 240px
  }

  .arc-pg .mods-blk__grid {
    grid-template-columns: 1fr
  }

  .arc-pg .expect-blk__pair {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .arc-pg .expect-blk__aside {
    flex-direction: column
  }

  .arc-pg .expect-blk__cta-row {
    flex-direction: column;
    align-items: flex-start
  }

  .arc-pg .expect-blk__wide {
    padding: 20px
  }
}

@media (max-width: 480px) {
  .arc-pg .ttl-blk__h1 {
    font-size: 23px
  }

  .arc-pg .prog-view,
  .arc-pg .mods-blk,
  .arc-pg .expect-blk {
    padding: 40px 16px
  }

  .arc-pg .btn-outline {
    padding: 16px 20px
  }
}

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

.lrn-prog .prog-title {
  position: relative;
  padding: 80px 40px;
  background: linear-gradient(170deg, #7B49A6 0%, #CCC2D8 60%, #F7F5F9 100%);
  background-size: 300% 300%;
  animation: gradShift 8s ease-in-out infinite;
  overflow: hidden
}

@keyframes gradShift {
  0% {
    background-position: 0 100%
  }

  50% {
    background-position: 100% 0
  }

  100% {
    background-position: 0 100%
  }
}

.lrn-prog .prog-title__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px
}

.lrn-prog .prog-title__text {
  flex: 1 1 55%;
  position: relative;
  z-index: 2
}

.lrn-prog .prog-title__label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .02em;
  color: #3a1f5c;
  background: #7b49a61f;
  border: 1px solid #7b49a640;
  border-radius: 48px;
  padding: 4px 16px;
  margin-bottom: 16px
}

.lrn-prog .prog-title__h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 16px
}

.lrn-prog .prog-title__h1 .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.lrn-prog .prog-title__desc {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1050;
  max-width: 480px;
  text-align: justify
}

.lrn-prog .prog-title__img-col {
  flex: 0 0 38%;
  position: relative;
  z-index: 2
}

.lrn-prog .prog-title__img-wrap {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  position: relative
}

.lrn-prog .prog-title__img-wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: grayscale(100%) contrast(1.15);
  transition: filter .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.lrn-prog .prog-title__img-wrap:hover img {
  filter: grayscale(0%) contrast(1.05)
}

.lrn-prog .prog-title__geo1 {
  position: absolute;
  top: -30px;
  right: -30px;
  width: 160px;
  height: 160px;
  border-radius: 48px;
  background: #ccc2d82e;
  border: 1px solid #7b49a61f;
  pointer-events: none
}

.lrn-prog .prog-title__geo2 {
  position: absolute;
  bottom: -20px;
  left: -20px;
  width: 90px;
  height: 90px;
  border-radius: 18px;
  background: #7b49a61a;
  pointer-events: none
}

.lrn-prog .prog-title__curve {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 0;
  pointer-events: none
}

.lrn-prog .prog-divider-up {
  display: block;
  width: 100%;
  line-height: 0;
  pointer-events: none
}

.lrn-prog .prog-modules {
  padding: 80px 40px;
  background: #F7F5F9;
  position: relative
}

.lrn-prog .prog-modules__inner {
  max-width: 1200px;
  margin: 0 auto
}

.lrn-prog .prog-modules__header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 40px
}

.lrn-prog .prog-modules__hgroup {
  flex: 1 1 50%
}

.lrn-prog .prog-modules__accent-line {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px
}

.lrn-prog .prog-modules__vline {
  width: 3px;
  min-height: 48px;
  background: linear-gradient(to top, #ccc2d800, #7B49A6);
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 4px
}

.lrn-prog .prog-modules__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 8px
}

.lrn-prog .prog-modules__h2 .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.lrn-prog .prog-modules__sub {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  text-align: justify
}

.lrn-prog .prog-modules__meta {
  flex: 1 1 42%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  background: #7b49a60f;
  border-radius: 18px;
  border: 1px solid #ccc2d880;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.lrn-prog .prog-modules__meta-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.lrn-prog .prog-modules__meta-dot {
  width: 8px;
  height: 8px;
  border-radius: 48px;
  background: #7B49A6;
  flex-shrink: 0
}

.lrn-prog .prog-modules__meta-txt {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1050
}

.lrn-prog .prog-modules__meta-txt strong {
  color: #1e0a38
}

.lrn-prog .prog-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  counter-reset: mod-counter
}

.lrn-prog .prog-list__item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #ccc2d866;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 0;
  transform: translateY(20px);
  animation: revealItem .5s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

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

.lrn-prog .prog-list__item:nth-child(2) {
  animation-delay: .22s
}

.lrn-prog .prog-list__item:nth-child(3) {
  animation-delay: .34s
}

.lrn-prog .prog-list__item:nth-child(4) {
  animation-delay: .46s
}

.lrn-prog .prog-list__item:nth-child(5) {
  animation-delay: .58s
}

.lrn-prog .prog-list__item:nth-child(6) {
  animation-delay: .7s
}

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

.lrn-prog .prog-list__item:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  border-color: #7b49a64d
}

.lrn-prog .prog-list__num {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #7b49a62e;
  font-weight: 700;
  flex-shrink: 0;
  width: 48px;
  text-align: right;
  user-select: none
}

.lrn-prog .prog-list__body {
  flex: 1
}

.lrn-prog .prog-list__h4 {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 8px
}

.lrn-prog .prog-list__p {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  margin: 0;
  text-align: justify
}

.lrn-prog .prog-list__tag {
  font-size: 13px;
  color: #7B49A6;
  background: #7b49a614;
  border-radius: 48px;
  padding: 4px 16px;
  white-space: nowrap;
  flex-shrink: 0;
  align-self: flex-start;
  border: 1px solid #7b49a626
}

.lrn-prog .prog-divider-down {
  display: block;
  width: 100%;
  line-height: 0;
  pointer-events: none
}

.lrn-prog .prog-outcomes {
  padding: 80px 40px;
  background: #fff;
  position: relative
}

.lrn-prog .prog-outcomes__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start
}

.lrn-prog .prog-outcomes__left {
  flex: 0 0 38%;
  position: relative
}

.lrn-prog .prog-outcomes__img-wrap {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  position: relative
}

.lrn-prog .prog-outcomes__img-wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.lrn-prog .prog-outcomes__img-wrap:hover img {
  transform: scale(1.03)
}

.lrn-prog .prog-outcomes__badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: #f7f5f9e0;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 16px 20px;
  border: 1px solid #ccc2d880;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.lrn-prog .prog-outcomes__badge-num {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #7B49A6;
  display: block
}

.lrn-prog .prog-outcomes__badge-lbl {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260
}

.lrn-prog .prog-outcomes__right {
  flex: 1 1 55%
}

.lrn-prog .prog-outcomes__accent-line {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px
}

.lrn-prog .prog-outcomes__vline {
  width: 3px;
  min-height: 48px;
  background: linear-gradient(to top, #ccc2d800, #7B49A6);
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 4px
}

.lrn-prog .prog-outcomes__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 8px
}

.lrn-prog .prog-outcomes__h2 .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.lrn-prog .prog-outcomes__desc {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  margin-bottom: 20px;
  text-align: justify
}

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

.lrn-prog .prog-outcomes__card {
  padding: 20px;
  background: #F7F5F9;
  border-radius: 18px;
  border: 1px solid #ccc2d873;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  transition: background .45s ease-in-out, box-shadow .45s ease-in-out
}

.lrn-prog .prog-outcomes__card:hover {
  background: #7b49a60f;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.lrn-prog .prog-outcomes__card-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 8px;
  border-radius: 6px;
  background: #7b49a61f;
  display: flex;
  align-items: center;
  justify-content: center
}

.lrn-prog .prog-outcomes__card-icon svg {
  width: 20px;
  height: 20px
}

.lrn-prog .prog-outcomes__card-h5 {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 8px
}

.lrn-prog .prog-outcomes__card-p {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  margin: 0
}

.lrn-prog .prog-enroll {
  padding: 80px 40px;
  background: linear-gradient(to top, #ccc2d840, #f7f5f900);
  position: relative
}

.lrn-prog .prog-enroll__divider {
  display: block;
  width: 100%;
  line-height: 0;
  pointer-events: none;
  margin-bottom: 0
}

.lrn-prog .prog-enroll__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1.4fr 0.8fr;
  gap: 40px;
  align-items: start
}

.lrn-prog .prog-enroll__col-main {
  position: relative
}

.lrn-prog .prog-enroll__accent-line {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px
}

.lrn-prog .prog-enroll__vline {
  width: 3px;
  min-height: 48px;
  background: linear-gradient(to top, #ccc2d800, #7B49A6);
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 4px
}

.lrn-prog .prog-enroll__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38;
  margin: 0 0 8px
}

.lrn-prog .prog-enroll__h2 .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.lrn-prog .prog-enroll__desc {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  margin-bottom: 20px;
  text-align: justify
}

.lrn-prog .prog-enroll__curve-line {
  display: block;
  width: 120px;
  height: 40px;
  margin-bottom: 20px
}

.lrn-prog .prog-enroll__btn {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .01em;
  color: #7B49A6;
  border: 1.5px solid #7B49A6;
  border-radius: 6px;
  padding: 16px 40px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.lrn-prog .prog-enroll__btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(170deg, #7B49A6, #CCC2D8);
  opacity: 0;
  transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 6px
}

.lrn-prog .prog-enroll__btn:hover::before {
  opacity: 1
}

.lrn-prog .prog-enroll__btn:hover {
  color: #fff;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.lrn-prog .prog-enroll__btn span {
  position: relative;
  z-index: 1
}

.lrn-prog .prog-enroll__col-details {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .prog-enroll__detail {
  padding: 16px 20px;
  background: #f7f5f9cc;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 18px;
  border: 1px solid #ccc2d880;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.lrn-prog .prog-enroll__detail-lbl {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  display: block;
  margin-bottom: 4px
}

.lrn-prog .prog-enroll__detail-val {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0a38
}

.lrn-prog .prog-enroll__col-steps {
  display: flex;
  flex-direction: column;
  gap: 8px
}

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

.lrn-prog .prog-enroll__step-num {
  width: 24px;
  height: 24px;
  border-radius: 48px;
  background: #7b49a61f;
  border: 1px solid #7b49a640;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  letter-spacing: .01em;
  color: #7B49A6;
  flex-shrink: 0
}

.lrn-prog .prog-enroll__step-txt {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2260;
  padding-top: 4px
}

@media (max-width: 1024px) {
  .lrn-prog .prog-title__h1 {
    font-size: 32px
  }

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

  .lrn-prog .prog-enroll__col-steps {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .lrn-prog .prog-title__inner {
    flex-direction: column
  }

  .lrn-prog .prog-title__img-col {
    width: 100%
  }

  .lrn-prog .prog-modules__header {
    flex-direction: column
  }

  .lrn-prog .prog-outcomes__inner {
    flex-direction: column
  }

  .lrn-prog .prog-outcomes__left {
    width: 100%
  }

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

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

  .lrn-prog .prog-title {
    padding: 40px 20px
  }

  .lrn-prog .prog-modules {
    padding: 40px 20px
  }

  .lrn-prog .prog-outcomes {
    padding: 40px 20px
  }

  .lrn-prog .prog-enroll {
    padding: 40px 20px
  }
}

@media (max-width: 480px) {
  .lrn-prog .prog-title__h1 {
    font-size: 23px
  }

  .lrn-prog .prog-modules__h2,
  .lrn-prog .prog-outcomes__h2,
  .lrn-prog .prog-enroll__h2 {
    font-size: 23px
  }

  .lrn-prog .prog-list__item {
    flex-direction: column
  }

  .lrn-prog .prog-list__tag {
    align-self: flex-start
  }
}

.ctus {
  position: relative;
  overflow-x: clip
}

.ctus .reach-strip {
  background: #7B49A6;
  padding: 80px 20px;
  position: relative;
  overflow: hidden
}

.ctus .reach-strip__decor {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 320px;
  height: 320px;
  border-radius: 48px;
  background: #ccc2d821;
  transform: rotate(18deg);
  pointer-events: none
}

.ctus .reach-strip__decor--b {
  top: auto;
  bottom: -80px;
  right: auto;
  left: -40px;
  width: 200px;
  height: 200px;
  border-radius: 48px;
  background: #ccc2d817;
  transform: rotate(-12deg)
}

.ctus .reach-strip__curve {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  pointer-events: none
}

.ctus .reach-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px
}

.ctus .reach-text {
  flex: 1 1 0;
  min-width: 0
}

.ctus .reach-text__label {
  font-size: 13px;
  letter-spacing: .15em;
  color: #CCC2D8;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.ctus .reach-text__h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #F7F5F9;
  margin: 0 0 20px
}

.ctus .reach-text__h1 span {
  background: linear-gradient(to top, #CCC2D8, transparent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.ctus .reach-text__sub {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #f7f5f9d1;
  max-width: 420px;
  text-align: justify
}

.ctus .reach-img {
  flex: 0 0 340px;
  width: 340px;
  height: 300px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  position: relative
}

.ctus .reach-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: blur(0px);
  display: block
}

.ctus .reach-img::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  box-shadow: inset 0 0 40px 8px #7b49a638;
  pointer-events: none
}

.ctus .reach-info {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.ctus .info-card {
  background: #f7f5f914;
  border: 1px solid #ccc2d838;
  border-radius: 18px;
  padding: 20px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  min-width: 220px;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.ctus .info-card:hover {
  background: #ccc2d824;
  border-color: #ccc2d870
}

.ctus .info-card__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center
}

.ctus .info-card__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  margin-bottom: 4px;
  display: block
}

.ctus .info-card__val {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #F7F5F9
}

.ctus .info-card__val a {
  color: #F7F5F9;
  text-decoration: none;
  border-bottom: 1px solid #ccc2d866;
  transition: color .42s ease-in-out, border-color .42s ease-in-out
}

.ctus .info-card__val a:hover {
  color: #CCC2D8;
  border-color: #CCC2D8
}

.ctus .form-band {
  background: #F7F5F9;
  padding: 80px 20px;
  position: relative
}

.ctus .form-band__tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #ccc2d814, transparent);
  pointer-events: none
}

.ctus .form-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.ctus .form-aside {
  flex: 0 0 320px;
  padding-top: 8px
}

.ctus .form-aside__accent {
  display: block;
  width: 4px;
  height: 48px;
  background: linear-gradient(to top, #CCC2D8, transparent);
  border-radius: 6px;
  margin-bottom: 20px
}

.ctus .form-aside__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1840;
  margin: 0 0 16px
}

.ctus .form-aside__h2 span {
  background: linear-gradient(to top, #7B49A6, transparent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.ctus .form-aside__p {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2657;
  text-align: justify
}

.ctus .form-aside__divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #7B49A6 0%, #ccc2d82e 100%);
  margin: 40px 0
}

.ctus .form-aside__note {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #5a3e78
}

.ctus .form-col {
  flex: 1 1 0;
  min-width: 0
}

.ctus .contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.ctus .form-row {
  display: flex;
  flex-direction: row;
  gap: 16px
}

.ctus .field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0
}

.ctus .field__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #3d2657;
  font-weight: 600
}

.ctus .field__input {
  border: 1.5px solid #7b49a638;
  border-radius: 6px;
  padding: 16px;
  font-size: 15px;
  letter-spacing: .01em;
  color: #2a1840;
  background: #fff;
  outline: none;
  box-shadow: inset 1px 1px 2px 0 #7b49a612;
  transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  box-sizing: border-box
}

.ctus .field__input::placeholder {
  color: #a08cbf
}

.ctus .field__input:focus {
  border-color: #7B49A6;
  box-shadow: inset 1px 1px 2px 0 #7b49a612 0 0 0 3px #7b49a61c
}

.ctus .rating-group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ctus .rating-group__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #3d2657;
  font-weight: 600
}

.ctus .rating-group__hint {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .01em
}

.ctus .rating-opts {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap
}

.ctus .rating-opts input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none
}

.ctus .rating-opts label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 6px;
  border: 1.5px solid #7b49a647;
  background: #fff;
  font-size: 15px;
  color: #3d2657;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .38s cubic-bezier(0.16, 1, 0.3, 1), border-color .38s cubic-bezier(0.16, 1, 0.3, 1), color .38s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 2px 5px 0 #7b49a612;
  user-select: none
}

.ctus .rating-opts input[type="radio"]:checked+label {
  background: #7B49A6;
  border-color: #7B49A6;
  color: #F7F5F9;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.ctus .rating-opts label:hover {
  border-color: #7B49A6;
  background: #7b49a614
}

.ctus .rating-scale-ends {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 4px
}

.ctus .rating-scale-ends span {
  font-size: 13px;
  color: #a08cbf;
  letter-spacing: .01em
}

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

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

.ctus .privacy-row__text {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #5a3e78
}

.ctus .privacy-row__text a {
  color: #7B49A6;
  text-decoration: none;
  border-bottom: 1px solid #7b49a659;
  transition: color .4s ease-in-out, border-color .4s ease-in-out
}

.ctus .privacy-row__text a:hover {
  color: #5a3080;
  border-color: #5a3080
}

.ctus .submit-btn {
  align-self: flex-start;
  padding: 16px 40px;
  border-radius: 48px;
  border: 1.5px solid #7B49A6;
  background: transparent;
  color: #7B49A6;
  font-size: 15px;
  letter-spacing: .02em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.ctus .submit-btn:hover {
  background: linear-gradient(to top, #7B49A6, #a06cc9);
  color: #F7F5F9;
  border-color: #7B49A6;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.ctus .submit-btn:focus {
  outline: 2px solid #7B49A6;
  outline-offset: 3px
}

.ctus .submit-btn:active {
  box-shadow: inset 1px 1px 2px 0 #7b49a62e
}

@keyframes ctus-bounce-in {
  0% {
    transform: translateY(18px);
    opacity: 0
  }

  65% {
    transform: translateY(-5px);
    opacity: 1
  }

  80% {
    transform: translateY(3px)
  }

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

.ctus .info-card {
  animation: ctus-bounce-in .52s cubic-bezier(0.16, 1, 0.3, 1) both
}

.ctus .info-card:nth-child(1) {
  animation-delay: .08s
}

.ctus .info-card:nth-child(2) {
  animation-delay: .18s
}

.ctus .info-card:nth-child(3) {
  animation-delay: .28s
}

@media (max-width: 1024px) {
  .ctus .reach-inner {
    flex-direction: column;
    gap: 40px
  }

  .ctus .reach-img {
    flex: 0 0 auto;
    width: 100%;
    height: 220px
  }

  .ctus .reach-info {
    flex-direction: row;
    flex-wrap: wrap
  }

  .ctus .info-card {
    flex: 1 1 180px
  }

  .ctus .form-inner {
    flex-direction: column;
    gap: 40px
  }

  .ctus .form-aside {
    flex: 0 0 auto
  }
}

@media (max-width: 768px) {
  .ctus .reach-text__h1 {
    font-size: 32px
  }

  .ctus .reach-strip {
    padding: 40px 20px 60px
  }

  .ctus .form-band {
    padding: 40px 20px
  }

  .ctus .form-row {
    flex-direction: column;
    gap: 20px
  }

  .ctus .reach-info {
    flex-direction: column
  }

  .ctus .rating-opts {
    gap: 8px
  }

  .ctus .submit-btn {
    align-self: stretch;
    text-align: center
  }
}

@media (max-width: 480px) {
  .ctus .reach-text__h1 {
    font-size: 32px
  }

  .ctus .form-aside__h2 {
    font-size: 23px
  }

  .ctus .rating-opts label {
    width: 40px;
    height: 40px;
    font-size: 13px
  }
}

.spk {
  background: #F7F5F9;
  overflow-x: clip
}

.spk .arc-top {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px 40px
}

.spk .arc-top__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.spk .arc-top__heading {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1a3e;
  margin: 0 0 20px;
  max-width: 700px
}

.spk .arc-top__heading span {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.spk .arc-top__sub {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #4a3660;
  max-width: 560px;
  text-align: justify
}

.spk .arc-divider {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  border: none;
  border-top: 1px dashed #CCC2D8
}

.spk .posts-grid {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 40px 80px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px
}

.spk .post-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  display: flex;
  flex-direction: column;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid #ccc2d859
}

.spk .post-card:hover {
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  transform: translateY(-4px)
}

.spk .post-card__img-wrap {
  border-radius: 18px 18px 0 0;
  overflow: hidden;
  position: relative;
  height: 220px
}

.spk .post-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(30%);
  transition: filter .5s ease-in-out, transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.spk .post-card:hover .post-card__img-wrap img {
  filter: grayscale(0%);
  transform: scale(1.04)
}

.spk .post-card__img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a673, transparent 55%);
  pointer-events: none
}

.spk .post-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.spk .post-card__meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px
}

.spk .post-card__author {
  font-size: 13px;
  letter-spacing: .01em;
  color: #7B49A6;
  font-weight: 600
}

.spk .post-card__date {
  font-size: 13px;
  letter-spacing: .01em;
  color: #9a85b5
}

.spk .post-card__readtime {
  font-size: 13px;
  letter-spacing: .01em;
  color: #9a85b5;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px
}

.spk .post-card__readtime svg {
  flex-shrink: 0
}

.spk .post-card__title {
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1a3e;
  margin: 0 0 8px;
  text-align: left
}

.spk .post-card__subtitle {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #7B49A6;
  margin: 0 0 8px;
  font-style: italic
}

.spk .post-card__desc {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #4a3660;
  margin: 0 0 20px;
  text-align: justify;
  flex: 1
}

.spk .post-card__foot {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #ccc2d866
}

.spk .post-card__stats {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.spk .post-card__stat {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  letter-spacing: .01em;
  color: #9a85b5
}

.spk .post-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  text-decoration: none;
  border: 1px solid #7B49A6;
  border-radius: 48px;
  padding: 8px 16px;
  transition: background .4s cubic-bezier(0.16, 1, 0.3, 1), color .4s cubic-bezier(0.16, 1, 0.3, 1), border-color .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.spk .post-card__link:hover {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  color: #fff;
  border-color: transparent
}

.spk .post-card__link svg {
  transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.spk .post-card__link:hover svg {
  transform: translateX(3px)
}

.spk .featured-strip {
  background: #2a1a3e;
  position: relative;
  overflow: hidden
}

.spk .featured-strip__bg {
  position: absolute;
  inset: 0;
  background-image: url(./media_storage/post-thumbnail-6.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  filter: grayscale(100%);
  opacity: .12;
  pointer-events: none
}

.spk .featured-strip__tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a659, transparent);
  pointer-events: none
}

.spk .featured-strip__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
  position: relative
}

.spk .featured-strip__eyebrow {
  font-size: 13px;
  letter-spacing: .02em;
  color: #CCC2D8;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.spk .featured-strip__cols {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 40px;
  align-items: start
}

.spk .featured-strip__divider-line {
  background: #ccc2d84d;
  align-self: stretch
}

.spk .featured-strip__col-heading {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #F7F5F9;
  margin: 0 0 16px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6
}

.spk .featured-strip__col-heading span {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.spk .featured-strip__col-text {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #f7f5f9cc;
  text-align: justify;
  margin: 0 0 20px
}

.spk .featured-strip__icon-row {
  display: flex;
  flex-direction: row;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px
}

.spk .icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 80px
}

.spk .icon-item__shape {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: #7b49a640;
  border: 1px solid #ccc2d84d;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .45s ease-in-out
}

.spk .icon-item:hover .icon-item__shape {
  background: #7b49a680
}

.spk .icon-item__label {
  font-size: 13px;
  letter-spacing: .01em;
  color: #CCC2D8;
  text-align: center
}

.spk .engage-band {
  background: #F7F5F9;
  border-top: 1px dashed #CCC2D8;
  border-bottom: 1px dashed #CCC2D8
}

.spk .engage-band__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px
}

.spk .engage-band__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block
}

.spk .engage-band__heading {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1a3e;
  margin: 0 0 20px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6
}

.spk .engage-band__heading span {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.spk .engage-band__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px
}

.spk .engage-item {
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  border: 1px solid #ccc2d866;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  gap: 8px
}

.spk .engage-item:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.spk .engage-item__num {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #7B49A6;
  font-weight: 700
}

.spk .engage-item__title {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1a3e;
  font-weight: 600;
  margin: 0
}

.spk .engage-item__desc {
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #4a3660;
  margin: 0
}

.spk .engage-band__cta {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.spk .engage-band__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  letter-spacing: .01em;
  color: #7B49A6;
  text-decoration: none;
  border: 1.5px solid #7B49A6;
  border-radius: 48px;
  padding: 16px 40px;
  background: transparent;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.spk .engage-band__btn:hover {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  color: #fff;
  border-color: transparent
}

@media (max-width: 1024px) {
  .spk .arc-top__heading {
    font-size: 32px
  }

  .spk .posts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 40px 20px 80px
  }

  .spk .featured-strip__cols {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .spk .featured-strip__divider-line {
    display: none
  }

  .spk .engage-band__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

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

  .spk .arc-top__heading {
    font-size: 32px
  }

  .spk .posts-grid {
    grid-template-columns: 1fr;
    padding: 20px 20px 40px
  }

  .spk .featured-strip__inner {
    padding: 40px 20px
  }

  .spk .engage-band__inner {
    padding: 40px 20px
  }

  .spk .engage-band__grid {
    grid-template-columns: 1fr
  }

  .spk .featured-strip__icon-row {
    gap: 16px
  }
}

@media (max-width: 480px) {
  .spk .arc-top__heading {
    font-size: 23px
  }

  .spk .post-card__meta-row {
    flex-wrap: wrap;
    gap: 8px
  }

  .spk .post-card__readtime {
    margin-left: 0
  }

  .spk .engage-band__btn {
    padding: 16px 20px;
    font-size: 13px
  }
}

.abt-us {
  width: 100%;
  max-width: 100%;
  overflow-x: clip
}

.abt-us .abt-profile {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px
}

.abt-us .abt-profile__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.abt-us .abt-profile__img-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
  position: relative
}

.abt-us .abt-profile__img-main {
  grid-column: 1 / 3;
  grid-row: 1;
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.abt-us .abt-profile__img-main::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a638 0%, transparent 55%), radial-gradient(ellipse at 0% 0%, #7b49a62e 0%, transparent 40%), radial-gradient(ellipse at 100% 100%, #7b49a626 0%, transparent 40%);
  border-radius: 18px;
  pointer-events: none
}

.abt-us .abt-profile__img-main img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  border-radius: 18px
}

.abt-us .abt-profile__img-sm {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 2px 2px 5px 0 #7b49a612
}

.abt-us .abt-profile__img-sm::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a62e 0%, transparent 50%), radial-gradient(ellipse at 0% 0%, #7b49a624 0%, transparent 38%), radial-gradient(ellipse at 100% 100%, #7b49a61f 0%, transparent 38%);
  border-radius: 18px;
  pointer-events: none
}

.abt-us .abt-profile__img-sm img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 18px;
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-profile__img-sm:hover img {
  transform: scale(1.04)
}

.abt-us .abt-profile__corner-deco {
  position: absolute;
  bottom: -16px;
  left: -16px;
  width: 64px;
  height: 64px;
  pointer-events: none;
  z-index: 1
}

.abt-us .abt-profile__corner-deco-tr {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 48px;
  height: 48px;
  pointer-events: none;
  z-index: 1
}

.abt-us .abt-profile__badge {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 44px;
  height: 44px;
  background: #7B49A6;
  border-radius: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  z-index: 2
}

.abt-us .abt-profile__text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px 0
}

.abt-us .abt-profile__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.15
}

.abt-us .abt-profile__heading {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e1230;
  margin: 0;
  font-weight: 700
}

.abt-us .abt-profile__heading .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.abt-us .abt-profile__body {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1f42;
  text-align: justify;
  margin: 0
}

.abt-us .abt-profile__divider {
  width: 48px;
  height: 3px;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  border-radius: 6px
}

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

.abt-us .abt-stat {
  border: 1.5px solid #CCC2D8;
  border-top: 3px solid #7B49A6;
  border-radius: 6px;
  padding: 16px 20px;
  background: #F7F5F9;
  box-shadow: 2px 2px 5px 0 #ccc2d812;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-stat:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  border-color: #7B49A6
}

.abt-us .abt-stat__num {
  font-size: 32px;
  font-weight: 700;
  color: #7B49A6;
  line-height: 1.15;
  letter-spacing: .01em
}

.abt-us .abt-stat__desc {
  font-size: 13px;
  color: #4a3060;
  line-height: 1.65;
  letter-spacing: .01em;
  margin-top: 4px
}

.abt-us .abt-team {
  background: #F7F5F9;
  border-top: 2px solid #CCC2D8;
  border-bottom: 2px solid #CCC2D8;
  position: relative;
  overflow: hidden
}

.abt-us .abt-team__texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0
}

.abt-us .abt-team__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
  position: relative;
  z-index: 1
}

.abt-us .abt-team__top {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 80px
}

.abt-us .abt-team__label {
  font-size: 13px;
  letter-spacing: .02em;
  color: #7B49A6;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 16px
}

.abt-us .abt-team__heading {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e1230;
  font-weight: 700;
  margin: 0 0 20px;
  padding-left: 16px;
  border-left: 3px solid #7B49A6
}

.abt-us .abt-team__heading .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.abt-us .abt-team__sub {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #2d1f42;
  text-align: justify;
  margin: 0
}

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

.abt-us .abt-val {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  border-left: 3px solid #CCC2D8;
  border-bottom: 1.5px solid #CCC2D8;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1), border-left-color .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-val:hover {
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  border-left-color: #7B49A6
}

.abt-us .abt-val__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center
}

.abt-us .abt-val__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.abt-us .abt-val__heading {
  font-size: 15px;
  font-weight: 700;
  color: #1e1230;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0 0 4px
}

.abt-us .abt-val__text {
  font-size: 13px;
  color: #4a3060;
  line-height: 1.65;
  letter-spacing: .01em;
  margin: 0
}

.abt-us .abt-team__people {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.abt-us .abt-person {
  position: relative;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  transition: box-shadow .55s cubic-bezier(0.16, 1, 0.3, 1), transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-person:hover {
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  transform: translateY(-4px)
}

.abt-us .abt-team__people:hover .abt-person:not(:hover) {
  transform: translateY(4px);
  opacity: .92;
  transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1), opacity .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-person__img-wrap {
  position: relative;
  overflow: hidden
}

.abt-us .abt-person__img-wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.abt-us .abt-person:hover .abt-person__img-wrap img {
  transform: scale(1.05)
}

.abt-us .abt-person__num {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: #7B49A6;
  border-radius: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  z-index: 2
}

.abt-us .abt-person__info {
  padding: 16px 20px 20px;
  border-top: 2px solid #F7F5F9
}

.abt-us .abt-person__name {
  font-size: 15px;
  font-weight: 700;
  color: #1e1230;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0 0 4px
}

.abt-us .abt-person__role {
  font-size: 13px;
  color: #7B49A6;
  line-height: 1.65;
  letter-spacing: .02em;
  margin: 0 0 8px;
  font-weight: 600
}

.abt-us .abt-person__bio {
  font-size: 13px;
  color: #4a3060;
  line-height: 1.65;
  letter-spacing: .01em;
  margin: 0;
  text-align: justify
}

.abt-us .abt-team__offset-row {
  display: flex;
  flex-direction: column;
  gap: 0
}

.abt-us .abt-person:nth-child(1) {
  margin-top: 0
}

.abt-us .abt-person:nth-child(2) {
  margin-top: 20px
}

.abt-us .abt-person:nth-child(3) {
  margin-top: 40px
}

@media (max-width: 1024px) {
  .abt-us .abt-profile__grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .abt-us .abt-profile__heading {
    font-size: 32px
  }

  .abt-us .abt-team__top {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 40px
  }

  .abt-us .abt-team__people {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt-us .abt-person:nth-child(2) {
    margin-top: 0
  }

  .abt-us .abt-person:nth-child(3) {
    margin-top: 0
  }
}

@media (max-width: 768px) {
  .abt-us .abt-profile {
    padding: 40px 20px
  }

  .abt-us .abt-team__inner {
    padding: 40px 20px
  }

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

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

  .abt-us .abt-profile__img-main img {
    height: 220px
  }

  .abt-us .abt-profile__img-sm img {
    height: 140px
  }
}

@media (max-width: 480px) {
  .abt-us .abt-profile__heading {
    font-size: 23px
  }

  .abt-us .abt-team__heading {
    font-size: 23px
  }

  .abt-us .abt-profile__grid {
    gap: 20px
  }

  .abt-us .abt-team__top {
    gap: 20px
  }

  .abt-us .abt-profile {
    padding: 40px 16px
  }

  .abt-us .abt-team__inner {
    padding: 40px 16px
  }
}

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

.rt .pg-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px
}

.rt .fade-up {
  opacity: 0;
  transform: translateY(28px);
  animation: fadeUp .55s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

.rt .fade-up:nth-child(1) {
  animation-delay: .1s
}

.rt .fade-up:nth-child(2) {
  animation-delay: .22s
}

.rt .fade-up:nth-child(3) {
  animation-delay: .34s
}

.rt .fade-up:nth-child(4) {
  animation-delay: .46s
}

.rt .fade-up:nth-child(5) {
  animation-delay: .58s
}

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

.rt .scroll-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.rt .scroll-reveal.in-view {
  opacity: 1;
  transform: translateY(0)
}

.rt .grad-word {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.rt .accent-line {
  display: block;
  width: 3px;
  height: 100%;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  border-radius: 6px;
  position: absolute;
  left: 0;
  top: 0
}

.rt .lbl-head {
  position: relative;
  padding-left: 16px
}

.rt .divider-tri {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 0
}

.rt .divider-tri svg {
  display: block
}

.rt .divider-line {
  width: 60px;
  height: 1px;
  background: linear-gradient(to right, transparent, #CCC2D8)
}

.rt .divider-line--rev {
  background: linear-gradient(to left, transparent, #CCC2D8)
}

.rt .title-blk {
  background: #fff;
  padding: 80px 40px 0;
  text-align: center
}

.rt .title-blk__label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: #7B49A6;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding: 4px 16px;
  border: 1px solid #CCC2D8;
  border-radius: 48px
}

.rt .title-blk__h1 {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0f33;
  margin: 0 0 16px
}

.rt .title-blk__sub {
  font-size: 23px;
  line-height: 1.65;
  color: #4a3a5c;
  max-width: 560px;
  margin: 0 auto 40px;
  letter-spacing: .01em
}

.rt .title-blk__img-wrap {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  border-radius: 18px 18px 0 0;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a
}

.rt .title-blk__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 80%, #7b49a62e 0%, transparent 70%);
  pointer-events: none
}

.rt .title-blk__img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center 30%
}

.rt .title-blk__wave {
  display: block;
  width: 100%;
  line-height: 0;
  margin-top: -2px
}

.rt .cond-blk {
  background: #F7F5F9;
  padding: 80px 40px
}

.rt .cond-blk__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.rt .cond-blk__tag {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.rt .cond-blk__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0f33;
  margin: 0 0 20px
}

.rt .cond-blk__body {
  font-size: 15px;
  line-height: 1.65;
  color: #3d2d52;
  text-align: justify;
  letter-spacing: .01em;
  margin: 0 0 20px
}

.rt .cond-blk__img-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.rt .cond-blk__img-wrap::before {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  transform: rotate(45deg);
  border-radius: 6px;
  opacity: .35;
  z-index: 1;
  pointer-events: none
}

.rt .cond-blk__img {
  display: block;
  width: 100%;
  height: 380px;
  object-fit: cover;
  opacity: .92;
  transition: opacity .45s ease-in-out
}

.rt .cond-blk__img-wrap:hover .cond-blk__img {
  opacity: 1
}

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

.rt .cond-list__item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1);
  border-bottom: 2px solid transparent
}

.rt .cond-list__item:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  transform: translateY(-2px);
  border-bottom-color: #7B49A6
}

.rt .cond-list__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  display: flex;
  align-items: center;
  justify-content: center
}

.rt .cond-list__icon svg {
  display: block
}

.rt .cond-list__text {
  font-size: 15px;
  line-height: 1.65;
  color: #3d2d52;
  letter-spacing: .01em
}

.rt .gap-blk {
  background: #fff;
  padding: 80px 40px
}

.rt .gap-blk__inner {
  max-width: 1200px;
  margin: 0 auto
}

.rt .gap-blk__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  margin-bottom: 80px
}

.rt .gap-blk__img-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 8px 44px 0 #7b49a61a
}

.rt .gap-blk__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a638, transparent 60%);
  pointer-events: none
}

.rt .gap-blk__img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.rt .gap-blk__img-wrap:hover .gap-blk__img {
  transform: scale(1.03)
}

.rt .gap-blk__tag {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.rt .gap-blk__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0f33;
  margin: 0 0 20px
}

.rt .gap-blk__body {
  font-size: 15px;
  line-height: 1.65;
  color: #3d2d52;
  text-align: justify;
  letter-spacing: .01em;
  margin: 0 0 20px
}

.rt .gap-blk__body:last-child {
  margin-bottom: 0
}

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

.rt .stat-card {
  background: #F7F5F9;
  border-radius: 18px;
  padding: 40px 20px;
  text-align: center;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  position: relative;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .4s ease-in-out;
  border: 1px solid #e8e2f0
}

.rt .stat-card:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  transform: translateY(-4px)
}

.rt .stat-card__num {
  font-size: 62px;
  line-height: 1.15;
  letter-spacing: .01em;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 8px
}

.rt .stat-card__label {
  font-size: 13px;
  color: #4a3a5c;
  letter-spacing: .02em;
  line-height: 1.65
}

.rt .value-blk {
  background: linear-gradient(to bottom, #F7F5F9, #ede8f4);
  padding: 80px 40px
}

.rt .value-blk__inner {
  max-width: 1200px;
  margin: 0 auto
}

.rt .value-blk__head {
  max-width: 600px;
  margin: 0 0 80px
}

.rt .value-blk__tag {
  font-size: 13px;
  color: #7B49A6;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block
}

.rt .value-blk__h2 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1e0f33;
  margin: 0 0 20px
}

.rt .value-blk__intro {
  font-size: 15px;
  line-height: 1.65;
  color: #3d2d52;
  text-align: justify;
  letter-spacing: .01em
}

.rt .value-blk__cols {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start
}

.rt .value-blk__main {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.rt .val-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: start;
  padding: 20px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 2px 2px 5px 0 #7b49a612;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1);
  border-bottom: 2px solid transparent
}

.rt .val-item:hover {
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  border-bottom-color: #CCC2D8
}

.rt .val-item__num {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  min-width: 48px;
  text-align: center
}

.rt .val-item__h4 {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: .02em;
  color: #1e0f33;
  margin: 0 0 8px
}

.rt .val-item__p {
  font-size: 13px;
  line-height: 1.65;
  color: #4a3a5c;
  letter-spacing: .01em;
  text-align: justify;
  margin: 0
}

.rt .value-blk__side {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.rt .value-blk__img-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 2px 6px 25px 0 #7b49a61c
}

.rt .value-blk__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #7b49a64d, transparent 50%);
  pointer-events: none
}

.rt .value-blk__img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  opacity: .88;
  transition: opacity .5s ease-in-out, transform .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.rt .value-blk__img-wrap:hover .value-blk__img {
  opacity: 1;
  transform: scale(1.02)
}

.rt .archive-card {
  background: #7B49A6;
  border-radius: 18px;
  padding: 40px 20px;
  text-align: center;
  box-shadow: 2px 6px 25px 0 #7b49a61c;
  position: relative
}

.rt .archive-card::before {
  content: "";
  position: absolute;
  top: -12px;
  right: -12px;
  width: 48px;
  height: 48px;
  background: linear-gradient(to top, #CCC2D8, #fff);
  transform: rotate(45deg);
  border-radius: 6px;
  opacity: .22;
  pointer-events: none
}

.rt .archive-card__h4 {
  font-size: 15px;
  line-height: 1.65;
  color: #ede8f4;
  letter-spacing: .02em;
  margin: 0 0 16px
}

.rt .archive-card__p {
  font-size: 13px;
  line-height: 1.65;
  color: #d4c8e8;
  letter-spacing: .01em;
  margin: 0 0 20px
}

.rt .archive-card__link {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .06em;
  color: #fff;
  text-decoration: none;
  padding: 8px 20px;
  border: 1px solid #ffffff80;
  border-radius: 48px;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.rt .archive-card__link:hover {
  background: #ffffff26;
  border-color: #fff
}

@media (max-width: 1024px) {
  .rt .title-blk {
    padding: 80px 20px 0
  }

  .rt .title-blk__h1 {
    font-size: 62px
  }

  .rt .cond-blk {
    padding: 80px 20px
  }

  .rt .cond-blk__grid {
    gap: 40px
  }

  .rt .gap-blk {
    padding: 80px 20px
  }

  .rt .gap-blk__top {
    gap: 40px
  }

  .rt .value-blk {
    padding: 80px 20px
  }

  .rt .value-blk__cols {
    gap: 20px
  }
}

@media (max-width: 768px) {
  .rt .title-blk__h1 {
    font-size: 32px
  }

  .rt .title-blk__sub {
    font-size: 15px
  }

  .rt .title-blk__img {
    height: 260px
  }

  .rt .cond-blk__grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .rt .cond-blk__img {
    height: 240px
  }

  .rt .gap-blk__top {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .rt .gap-blk__img {
    height: 240px
  }

  .rt .stats-row {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .rt .value-blk__cols {
    grid-template-columns: 1fr
  }

  .rt .value-blk__head {
    margin-bottom: 40px
  }

  .rt .stat-card__num {
    font-size: 32px
  }
}

@media (max-width: 480px) {
  .rt .title-blk {
    padding: 40px 16px 0
  }

  .rt .cond-blk {
    padding: 40px 16px
  }

  .rt .gap-blk {
    padding: 40px 16px
  }

  .rt .value-blk {
    padding: 40px 16px
  }

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

  .rt .title-blk__h1 {
    font-size: 32px
  }
}

.success-pg {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  background-color: #F7F5F9
}

.success-pg .success-pg__wrap {
  max-width: 1200px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.success-pg .success-pg__icon {
  width: 72px;
  height: 72px;
  flex-shrink: 0
}

.success-pg .success-pg__card {
  background: #fff;
  border-radius: 18px;
  padding: 80px;
  max-width: 620px;
  width: 100%;
  text-align: center;
  box-shadow: 2px 8px 44px 0 #7b49a61a;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px
}

.success-pg .success-pg__heading {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #2a1540;
  margin: 0
}

.success-pg .success-pg__heading span {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.success-pg .success-pg__body {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  color: #3d2556;
  margin: 0;
  text-align: justify
}

.success-pg .success-pg__divider {
  width: 48px;
  height: 2px;
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  border-radius: 6px;
  flex-shrink: 0
}

.success-pg .success-pg__action {
  display: inline-block;
  padding: 16px 40px;
  font-size: 15px;
  letter-spacing: .02em;
  color: #7B49A6;
  border: 1.5px solid #7B49A6;
  border-radius: 48px;
  text-decoration: none;
  background: transparent;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.success-pg .success-pg__action:hover,
.success-pg .success-pg__action:focus {
  background: linear-gradient(to top, #CCC2D8, #7B49A6);
  color: #fff;
  border-color: transparent;
  outline: none
}

.success-pg .success-pg__action:focus-visible {
  outline: 2px solid #7B49A6;
  outline-offset: 3px
}

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

  .success-pg .success-pg__heading {
    font-size: 23px
  }
}

@media (max-width: 480px) {
  .success-pg {
    padding: 40px 16px
  }

  .success-pg .success-pg__card {
    padding: 40px 16px;
    gap: 16px
  }
}