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

body {
margin: 0;
padding: 0;
}

html {
font-family: 'Cabin', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.015em;
background-color: #F5F3F9;
color: #2a1f33;
overflow-x: hidden;
}

img {
max-width: 100%;
}

.top-bar {
background: linear-gradient(135deg, #A638BE 0%, #8a2da0 100%);
padding: 8px 28px;
display: flex;
justify-content: center;
align-items: center;
gap: 28px;
}

.top-bar__proof {
color: #F5F3F9;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
display: flex;
align-items: center;
gap: 8px;
}

.top-bar__dot {
width: 6px;
height: 6px;
border-radius: 1px;
background-color: #BF9FD7;
display: inline-block;
flex-shrink: 0;
}

.hd-shell {
background: #fff;
position: relative;
border-bottom: 1px solid #BF9FD7;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.hd-identity {
display: flex;
flex-direction: column;
align-items: center;
padding: 28px 28px 16px;
gap: 8px;
}

.hd-logo-mount {
border-bottom: 2px solid #A638BE;
padding-bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 0 -2px rgba(166, 56, 190, 0.07);
}

.hd-logo-mount img {
width: 48px;
height: 48px;
object-fit: contain;
display: block;
}

.hd-brand {
font-size: 30px;
font-weight: 700;
line-height: 1.1;
letter-spacing: 0.01em;
background: linear-gradient(120deg, #A638BE 30%, #BF9FD7 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.hd-nav-hold {
border-top: 1px solid #F5F3F9;
background: linear-gradient(180deg, #faf8fd 0%, #fff 100%);
padding: 0 28px;
display: flex;
justify-content: center;
}

.hd-nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 4px;
max-width: 1140px;
width: 100%;
padding: 8px 0;
list-style: none;
margin: 0;
}

.hd-nav__item {
display: flex;
}

.hd-nav__lnk {
display: block;
padding: 8px 16px;
font-size: 15px;
font-weight: 700;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2a1f33;
text-decoration: none;
border-radius: 22px;
border: 1px solid transparent;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.5s ease;
}

.hd-nav__lnk:hover {
color: #A638BE;
background-color: #F5F3F9;
border-color: #BF9FD7;
}

.hd-nav__lnk:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

.hd-nav__lnk--active {
color: #A638BE;
background-color: #F5F3F9;
border-color: #BF9FD7;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.ft-shell {
background-color: #2a1f33;
position: relative;
overflow: hidden;
}

.ft-texture {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
background-image:
radial-gradient(circle, rgba(191, 159, 215, 0.12) 1px, transparent 1px);
background-size: 22px 22px;
}

.ft-body {
position: relative;
z-index: 1;
max-width: 1140px;
margin: 0 auto;
padding: 56px 28px 28px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 56px;
}

.ft-col__logo-mount {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px;
border-bottom: 1px solid rgba(191, 159, 215, 0.4);
margin-bottom: 16px;
box-shadow: inset 0 -2px 8px rgba(166, 56, 190, 0.07);
}

.ft-col__logo-mount img {
width: 36px;
height: 36px;
object-fit: contain;
display: block;
}

.ft-col__brand {
font-size: 22px;
font-weight: 700;
line-height: 1.1;
letter-spacing: 0.01em;
color: #BF9FD7;
margin-bottom: 8px;
}

.ft-col__desc {
font-size: 15px;
line-height: 1.6;
color: rgba(245, 243, 249, 0.7);
letter-spacing: 0.015em;
}

.ft-col__heading {
font-size: 15px;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.3;
color: #BF9FD7;
margin-bottom: 16px;
text-transform: uppercase;
}

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

.ft-nav-list__lnk {
font-size: 15px;
line-height: 1.6;
color: rgba(245, 243, 249, 0.75);
text-decoration: none;
letter-spacing: 0.015em;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: inline-block;
}

.ft-nav-list__lnk:hover {
color: #A638BE;
}

.ft-nav-list__lnk:focus {
outline: 2px solid #BF9FD7;
outline-offset: 2px;
border-radius: 1px;
}

.ft-contacts {
display: flex;
flex-direction: column;
gap: 8px;
}

.ft-contacts__row {
display: flex;
align-items: flex-start;
gap: 8px;
}

.ft-contacts__icon {
flex-shrink: 0;
width: 18px;
height: 18px;
margin-top: 2px;
}

.ft-contacts__val {
font-size: 15px;
line-height: 1.6;
color: rgba(245, 243, 249, 0.75);
letter-spacing: 0.015em;
text-decoration: none;
transition: color 0.55s ease;
}

.ft-contacts__val:hover {
color: #BF9FD7;
}

.ft-contacts__val:focus {
outline: 2px solid #BF9FD7;
outline-offset: 2px;
}

.ft-bottom {
position: relative;
z-index: 1;
border-top: 1px solid rgba(191, 159, 215, 0.2);
padding: 16px 28px;
display: flex;
justify-content: center;
align-items: center;
}

.ft-bottom__copy {
font-size: 15px;
line-height: 1.3;
color: rgba(245, 243, 249, 0.45);
letter-spacing: 0.015em;
text-align: center;
}

.cookie-tray {
position: fixed;
top: 28px;
left: 0;
right: 0;
margin: 0 auto;
width: 560px;
max-width: calc(100% - 56px);
background: #fff;
border-radius: 22px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12), 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
border: 1px solid #BF9FD7;
z-index: 8000;
padding: 28px;
}

.cookie-tray__msg {
font-size: 15px;
line-height: 1.6;
color: #2a1f33;
letter-spacing: 0.015em;
margin-bottom: 16px;
}

.cookie-tray__msg a {
color: #A638BE;
text-decoration: underline;
transition: color 0.55s ease;
}

.cookie-tray__msg a:hover {
color: #8a2da0;
}

.cookie-tray__msg a:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
border-radius: 1px;
}

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

.cookie-tray__uses li {
font-size: 15px;
line-height: 1.3;
color: #5a4a6a;
letter-spacing: 0.015em;
display: flex;
align-items: center;
gap: 8px;
}

.cookie-tray__uses li::before {
content: '';
display: block;
width: 5px;
height: 5px;
border-radius: 1px;
background-color: #A638BE;
flex-shrink: 0;
}

.cookie-tray__acts {
display: flex;
gap: 16px;
align-items: center;
justify-content: flex-end;
}

.cookie-tray__btn {
background: none;
border: none;
cursor: pointer;
font-family: 'Cabin', sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.015em;
line-height: 1.3;
padding: 8px 4px;
text-decoration: underline;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border-radius: 1px;
}

.cookie-tray__btn--ok {
color: #A638BE;
}

.cookie-tray__btn--ok:hover {
color: #6b1f85;
}

.cookie-tray__btn--ok:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

.cookie-tray__btn--no {
color: #5a4a6a;
}

.cookie-tray__btn--no:hover {
color: #2a1f33;
}

.cookie-tray__btn--no:focus {
outline: 2px solid #5a4a6a;
outline-offset: 2px;
}

@media (max-width: 960px) {
.ft-body {
grid-template-columns: 1fr 1fr;
gap: 28px;
}
}

@media (max-width: 480px) {
.top-bar {
flex-direction: column;
gap: 4px;
padding: 8px 16px;
}

.hd-identity {
padding: 16px 16px 8px;
}

.hd-brand {
font-size: 22px;
}

.hd-nav-hold {
padding: 0 8px;
}

.hd-nav__lnk {
padding: 8px 8px;
font-size: 15px;
}

.ft-body {
grid-template-columns: 1fr;
gap: 28px;
padding: 28px 16px 16px;
}

.ft-bottom {
padding: 16px;
}

.cookie-tray {
max-width: calc(100% - 32px);
padding: 16px;
}
}

.doc-f-text {
max-width: 1140px;
margin: 0 auto;
padding: 56px 28px;
color: #2d2538;
line-height: 1.9;
}

.doc-f-text h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
background: linear-gradient(135deg, #A638BE 0%, #BF9FD7 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 28px;
margin-top: 0;
}

.doc-f-text h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #A638BE;
margin-top: 56px;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 1px solid #BF9FD7;
}

.doc-f-text h3 {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #7a2e9e;
margin-top: 28px;
margin-bottom: 8px;
}

.doc-f-text h4 {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2d2538;
margin-top: 28px;
margin-bottom: 8px;
}

.doc-f-text h5 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #A638BE;
text-transform: uppercase;
margin-top: 16px;
margin-bottom: 4px;
}

.doc-f-text h6 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #7a2e9e;
margin-top: 16px;
margin-bottom: 4px;
}

.doc-f-text p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
margin-top: 0;
margin-bottom: 16px;
color: #2d2538;
}

.doc-f-text ul {
margin: 16px 0 28px 0;
padding-left: 28px;
list-style: none;
}

.doc-f-text ol {
margin: 16px 0 28px 0;
padding-left: 28px;
list-style: none;
counter-reset: policy-counter;
}

.doc-f-text ul li {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2d2538;
margin-bottom: 8px;
position: relative;
padding-left: 16px;
}

.doc-f-text ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.75em;
width: 5px;
height: 5px;
border-radius: 50%;
background: #A638BE;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.doc-f-text ol li {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2d2538;
margin-bottom: 8px;
position: relative;
padding-left: 16px;
counter-increment: policy-counter;
}

.doc-f-text ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: -4px;
top: 0;
font-size: 15px;
color: #A638BE;
font-weight: 600;
letter-spacing: 0.01em;
}

.doc-f-text ul ul,
.doc-f-text ol ol,
.doc-f-text ul ol,
.doc-f-text ol ul {
margin-top: 8px;
margin-bottom: 8px;
}

.doc-f-text em,
.doc-f-text i {
color: #7a2e9e;
font-style: italic;
}

.doc-f-text a {
color: #A638BE;
text-decoration: underline;
text-decoration-color: rgba(166, 56, 190, 0.35);
text-underline-offset: 3px;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), text-decoration-color 0.5s ease;
border-radius: 1px;
}

.doc-f-text a:hover {
color: #7a2e9e;
text-decoration-color: rgba(122, 46, 158, 0.7);
}

.doc-f-text a:focus-visible {
outline: 2px solid #A638BE;
outline-offset: 2px;
border-radius: 1px;
}

.doc-f-text hr {
border: none;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #BF9FD7 30%, #A638BE 50%, #BF9FD7 70%, transparent 100%);
margin: 56px 0;
border-radius: 1px;
}

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

.doc-f-text div.policy-content__note {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
margin: 28px 0;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.doc-f-text div.policy-content__highlight {
background: linear-gradient(135deg, #F5F3F9 0%, rgba(191, 159, 215, 0.15) 100%);
border-radius: 22px;
padding: 28px;
margin: 28px 0;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07), inset 0 1px 3px rgba(191, 159, 215, 0.2);
}

@media (max-width: 960px) {
.doc-f-text {
padding: 56px 28px;
}

.doc-f-text h1 {
font-size: 30px;
line-height: 1.3;
}

.doc-f-text h2 {
font-size: 22px;
margin-top: 28px;
}
}

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

.doc-f-text h1 {
font-size: 30px;
line-height: 1.1;
}

.doc-f-text h2 {
font-size: 22px;
}

.doc-f-text h3 {
font-size: 15px;
}

.doc-f-text ul,
.doc-f-text ol {
padding-left: 16px;
}

.doc-f-text hr {
margin: 28px 0;
}
}

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

.svc-det .pg-body {
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

.svc-det .ttl-blk {
background: #A638BE;
padding: 56px 0;
position: relative;
}

.svc-det .ttl-blk .pg-body {
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 1;
}

.svc-det .ttl-blk__bg-num {
position: absolute;
right: 4%;
top: 50%;
transform: translateY(-50%);
font-size: 200px;
font-weight: 900;
color: rgba(255, 255, 255, 0.06);
line-height: 1.1;
pointer-events: none;
user-select: none;
letter-spacing: -0.02em;
}

.svc-det .ttl-blk__tag {
display: inline-block;
background: rgba(255, 255, 255, 0.15);
color: #fff;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
padding: 4px 16px;
border-radius: 1px;
align-self: flex-start;
}

.svc-det .ttl-blk__h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #fff;
text-transform: uppercase;
margin: 0;
max-width: 700px;
}

.svc-det .ttl-blk__meta {
display: flex;
flex-direction: row;
gap: 28px;
align-items: center;
flex-wrap: wrap;
}

.svc-det .ttl-blk__seats {
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.85);
letter-spacing: 0.01em;
}

.svc-det .ttl-blk__seats strong {
color: #fff;
}

.svc-det .det-grid {
padding: 56px 0;
background: #fff;
}

.svc-det .det-grid .pg-body {
display: grid;
grid-template-columns: 1fr 360px;
gap: 56px;
align-items: start;
}

.svc-det .det-grid__left {
display: flex;
flex-direction: column;
gap: 28px;
}

.svc-det .img-wrap {
width: 100%;
border-radius: 22px;
overflow: hidden;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.svc-det .img-wrap img {
width: 100%;
max-width: 100%;
display: block;
object-fit: cover;
height: 340px;
filter: grayscale(100%) contrast(1.15);
transition: filter 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.svc-det .img-wrap:hover img {
filter: grayscale(0%) contrast(1);
}

.svc-det .desc-blk {
display: flex;
flex-direction: column;
gap: 16px;
}

.svc-det .desc-blk__intro {
font-size: 22px;
line-height: 1.6;
color: #2a1535;
letter-spacing: 0.01em;
}

.svc-det .desc-blk__body {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
letter-spacing: 0.01em;
}

.svc-det .desc-blk__body p {
margin: 0 0 8px;
}

.svc-det .desc-blk__body p:last-child {
margin-bottom: 0;
}

.svc-det .desc-blk__body h2 {
font-size: 22px;
line-height: 1.3;
color: #A638BE;
letter-spacing: 0.01em;
margin: 16px 0 8px;
}

.svc-det .desc-blk__body strong {
color: #2a1535;
}

.svc-det .desc-blk__body ul {
padding-left: 16px;
margin: 8px 0;
}

.svc-det .desc-blk__body ul li {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
margin-bottom: 4px;
}

.svc-det .desc-blk__body dl {
margin: 8px 0;
}

.svc-det .desc-blk__body dt {
font-size: 15px;
line-height: 1.6;
color: #2a1535;
font-weight: 700;
letter-spacing: 0.01em;
}

.svc-det .desc-blk__body dd {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
margin: 0 0 8px 16px;
}

.svc-det .desc-blk__body blockquote {
border-top: 1px solid #BF9FD7;
border-bottom: 1px solid #BF9FD7;
padding: 16px 28px;
margin: 16px 0;
background: #F5F3F9;
border-radius: 1px;
}

.svc-det .desc-blk__body blockquote cite {
font-size: 15px;
color: #A638BE;
font-style: normal;
display: block;
margin-top: 8px;
}

.svc-det .desc-blk__body small {
font-size: 15px;
color: #7a6585;
}

.svc-det .prog-blk {
display: flex;
flex-direction: column;
gap: 16px;
}

.svc-det .prog-blk__lbl {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #A638BE;
text-transform: uppercase;
font-weight: 700;
}

.svc-det .prog-blk__body {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
}

.svc-det .prog-blk__body p {
margin: 0 0 8px;
}

.svc-det .prog-blk__body h2 {
font-size: 22px;
line-height: 1.3;
color: #A638BE;
margin: 16px 0 8px;
}

.svc-det .prog-blk__body h3 {
font-size: 22px;
line-height: 1.3;
color: #2a1535;
margin: 16px 0 8px;
}

.svc-det .prog-blk__body em {
color: #A638BE;
font-style: italic;
}

.svc-det .prog-blk__body ol {
padding-left: 0;
list-style: none;
counter-reset: prog-counter;
display: flex;
flex-direction: column;
gap: 16px;
margin: 8px 0;
}

.svc-det .prog-blk__body ol li {
counter-increment: prog-counter;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
font-size: 15px;
line-height: 1.9;
color: #3a2545;
}

.svc-det .prog-blk__body ol li::before {
content: counter(prog-counter, decimal-leading-zero);
font-size: 30px;
line-height: 1.1;
color: #A638BE;
font-weight: 900;
min-width: 44px;
letter-spacing: -0.02em;
}

.svc-det .prog-blk__body dl {
margin: 8px 0;
}

.svc-det .prog-blk__body dt {
font-size: 15px;
font-weight: 700;
color: #2a1535;
line-height: 1.6;
}

.svc-det .prog-blk__body dd {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
margin: 0 0 8px 16px;
}

.svc-det .prog-blk__body blockquote {
background: #F5F3F9;
padding: 16px 28px;
border-radius: 1px;
margin: 8px 0;
}

.svc-det .prog-blk__body blockquote cite {
display: block;
font-size: 15px;
color: #A638BE;
font-style: normal;
margin-top: 8px;
}

.svc-det .prog-blk__body li {
font-size: 15px;
line-height: 1.9;
color: #3a2545;
}

.svc-det .side-col {
display: flex;
flex-direction: column;
gap: 28px;
position: sticky;
top: 28px;
}

.svc-det .price-card {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
display: flex;
flex-direction: column;
gap: 16px;
perspective: 800px;
animation: card-flip 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@keyframes card-flip {
from {
transform: rotateY(-90deg);
opacity: 0;
}

to {
transform: rotateY(0deg);
opacity: 1;
}
}

.svc-det .price-card__amt {
font-size: 72px;
line-height: 1.1;
letter-spacing: -0.02em;
background: linear-gradient(135deg, #A638BE 0%, #BF9FD7 60%, #A638BE 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 900;
}

.svc-det .price-card__terms {
font-size: 15px;
line-height: 1.6;
color: #3a2545;
letter-spacing: 0.01em;
}

.svc-det .price-card__note {
font-size: 15px;
line-height: 1.6;
color: #7a6585;
letter-spacing: 0.01em;
border-top: 1px solid #BF9FD7;
padding-top: 16px;
}

.svc-det .price-card__seats {
font-size: 15px;
line-height: 1.3;
color: #A638BE;
font-weight: 700;
letter-spacing: 0.01em;
}

.svc-det .btn-enroll {
display: block;
width: 100%;
background: #A638BE;
color: #fff;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
padding: 16px 28px;
border-radius: 22px;
border: none;
cursor: pointer;
text-align: center;
text-decoration: none;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.svc-det .btn-enroll:hover {
background: #8a2ea0;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.18);
}

.svc-det .btn-enroll:focus {
outline: 2px solid #A638BE;
outline-offset: 4px;
}

.svc-det .btn-enroll:active {
background: #6e2480;
}

.svc-det .poll-card {
background: #fff;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
display: flex;
flex-direction: column;
gap: 16px;
}

.svc-det .poll-card__q {
font-size: 15px;
line-height: 1.6;
color: #2a1535;
font-weight: 700;
letter-spacing: 0.01em;
}

.svc-det .poll-opts {
display: flex;
flex-direction: column;
gap: 8px;
}

.svc-det .poll-opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer;
}

.svc-det .poll-opt input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 18px;
height: 18px;
border: 2px solid #BF9FD7;
border-radius: 50%;
flex-shrink: 0;
cursor: pointer;
transition: border-color 0.5s ease, background 0.5s ease;
position: relative;
}

.svc-det .poll-opt input[type="radio"]:checked {
border-color: #A638BE;
background: #A638BE;
box-shadow: inset 0 0 0 3px #fff;
}

.svc-det .poll-opt input[type="radio"]:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

.svc-det .poll-opt__lbl {
font-size: 15px;
line-height: 1.6;
color: #3a2545;
letter-spacing: 0.01em;
cursor: pointer;
transition: color 0.5s ease;
}

.svc-det .poll-opt input[type="radio"]:checked+.poll-opt__lbl {
color: #A638BE;
font-weight: 700;
}

.svc-det .poll-card__btn {
background: transparent;
border: 1px solid #A638BE;
color: #A638BE;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.01em;
padding: 8px 16px;
border-radius: 1px;
cursor: pointer;
align-self: flex-start;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.svc-det .poll-card__btn:hover {
background: #A638BE;
color: #fff;
}

.svc-det .poll-card__btn:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

@media (max-width: 960px) {
.svc-det .det-grid .pg-body {
grid-template-columns: 1fr;
gap: 28px;
}

.svc-det .side-col {
position: static;
}

.svc-det .ttl-blk__h1 {
font-size: 30px;
}

.svc-det .ttl-blk__bg-num {
font-size: 120px;
}

.svc-det .price-card__amt {
font-size: 30px;
}
}

@media (max-width: 480px) {
.svc-det .ttl-blk {
padding: 28px 0;
}

.svc-det .ttl-blk__h1 {
font-size: 22px;
}

.svc-det .ttl-blk__bg-num {
display: none;
}

.svc-det .det-grid {
padding: 28px 0;
}

.svc-det .pg-body {
padding: 0 16px;
}

.svc-det .price-card {
padding: 16px;
}

.svc-det .poll-card {
padding: 16px;
}

.svc-det .img-wrap img {
height: 220px;
}

.svc-det .prog-blk__body ol li::before {
font-size: 22px;
min-width: 32px;
}
}

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

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

.cu .reveal {
opacity: 0;
transform: translateY(32px);
animation: slideUp 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

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

.cu .reveal--d2 {
animation-delay: 0.25s;
}

.cu .reveal--d3 {
animation-delay: 0.4s;
}

.cu .reveal--d4 {
animation-delay: 0.55s;
}

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

.cu .band-top {
position: relative;
padding: 56px 0;
background: #F5F3F9;
overflow: hidden;
}

.cu .band-top__deco {
position: absolute;
border-radius: 50%;
pointer-events: none;
}

.cu .band-top__deco--a {
width: 320px;
height: 320px;
background: radial-gradient(circle at 30% 40%, rgba(166, 56, 190, 0.10), rgba(191, 159, 215, 0.06) 60%, transparent 80%);
top: -80px;
left: -60px;
}

.cu .band-top__deco--b {
width: 220px;
height: 220px;
background: radial-gradient(circle at 70% 60%, rgba(191, 159, 215, 0.12), transparent 70%);
bottom: -40px;
right: 80px;
}

.cu .band-top__deco--c {
width: 140px;
height: 140px;
background: radial-gradient(circle at 50% 50%, rgba(166, 56, 190, 0.07), transparent 70%);
top: 40px;
right: 260px;
}

.cu .band-top__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
position: relative;
z-index: 1;
}

.cu .band-top__label {
font-size: 15px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #A638BE;
line-height: 1.3;
margin-bottom: 16px;
display: block;
}

.cu .band-top__h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
margin: 0 0 28px 0;
color: #2a1a30;
}

.cu .band-top__h1 em {
font-style: normal;
background: linear-gradient(120deg, #A638BE 20%, #BF9FD7 80%, #A638BE 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.cu .band-top__sub {
font-size: 22px;
line-height: 1.6;
color: #3d2a45;
letter-spacing: 0.01em;
margin: 0;
}

.cu .band-top__img-col {
position: relative;
border-radius: 22px;
overflow: hidden;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.cu .band-top__img {
display: block;
width: 100%;
height: 420px;
object-fit: cover;
object-position: center;
}

.cu .band-top__img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(42, 26, 48, 0.62) 0%, rgba(42, 26, 48, 0.18) 50%, transparent 100%);
border-radius: 22px;
}

.cu .band-top__img-caption {
position: absolute;
bottom: 28px;
left: 28px;
right: 28px;
color: #ffffff;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
}

.cu .zigzag-divider {
width: 100%;
height: 28px;
position: relative;
overflow: hidden;
}

.cu .zigzag-divider svg {
display: block;
width: 100%;
height: 100%;
}

.cu .form-band {
padding: 56px 0;
background: #ffffff;
position: relative;
}

.cu .form-band__inner {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 56px;
align-items: start;
}

.cu .contact-meta {
display: flex;
flex-direction: column;
gap: 28px;
}

.cu .contact-meta__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1a30;
margin: 0 0 8px 0;
}

.cu .contact-meta__h2 strong {
color: #A638BE;
font-weight: inherit;
}

.cu .contact-meta__desc {
font-size: 15px;
line-height: 1.6;
color: #3d2a45;
letter-spacing: 0.01em;
margin: 0;
}

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

.cu .info-list__item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 22px;
background: #F5F3F9;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.55s ease;
}

.cu .info-list__item:hover {
background: #ede6f5;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.cu .info-list__icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 22px;
background: linear-gradient(135deg, #A638BE 0%, #BF9FD7 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: inset 0 1px 4px rgba(255, 255, 255, 0.25);
}

.cu .info-list__icon svg {
display: block;
}

.cu .info-list__text {
display: flex;
flex-direction: column;
gap: 4px;
}

.cu .info-list__label {
font-size: 15px;
font-weight: 600;
color: #A638BE;
letter-spacing: 0.02em;
line-height: 1.3;
}

.cu .info-list__val {
font-size: 15px;
color: #2a1a30;
line-height: 1.6;
letter-spacing: 0.01em;
text-decoration: none;
transition: color 0.5s ease;
}

.cu .info-list__val:hover {
color: #A638BE;
}

.cu .contact-form {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.cu .contact-form__h3 {
font-size: 22px;
line-height: 1.3;
color: #2a1a30;
margin: 0 0 28px 0;
letter-spacing: 0.01em;
}

.cu .form-row {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 16px;
}

.cu .form-row__label {
font-size: 15px;
font-weight: 700;
color: #2a1a30;
letter-spacing: 0.02em;
line-height: 1.3;
}

.cu .form-row__input {
width: 100%;
padding: 16px;
border: 1px solid #BF9FD7;
border-radius: 22px;
background: #ffffff;
font-size: 15px;
color: #2a1a30;
line-height: 1.6;
letter-spacing: 0.01em;
box-sizing: border-box;
transition: border-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
appearance: none;
-webkit-appearance: none;
}

.cu .form-row__input::placeholder {
color: #9e7fb0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.cu .form-row__input:focus {
border-color: #A638BE;
box-shadow: 0 0 0 3px rgba(166, 56, 190, 0.14), inset 0 1px 4px rgba(166, 56, 190, 0.07);
}

.cu .form-row__input:focus-visible {
border-color: #A638BE !important;
box-shadow: 0 0 0 4px rgba(166, 56, 190, 0.22), inset 0 1px 4px rgba(166, 56, 190, 0.10) !important;
outline: none !important;
}

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

.cu .radio-group__label {
font-size: 15px;
font-weight: 700;
color: #2a1a30;
letter-spacing: 0.02em;
line-height: 1.3;
margin-bottom: 8px;
display: block;
}

.cu .radio-group__opts {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}

.cu .radio-opt {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
}

.cu .radio-opt__input {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border: 2px solid #BF9FD7;
border-radius: 50%;
background: #ffffff;
cursor: pointer;
transition: border-color 0.55s ease, background 0.55s ease;
flex-shrink: 0;
position: relative;
}

.cu .radio-opt__input:checked {
border-color: #A638BE;
background: #A638BE;
box-shadow: inset 0 0 0 4px #ffffff;
}

.cu .radio-opt__input:focus-visible {
outline: 3px solid rgba(166, 56, 190, 0.35) !important;
outline-offset: 2px !important;
}

.cu .radio-opt__text {
font-size: 15px;
color: #2a1a30;
line-height: 1.3;
letter-spacing: 0.01em;
cursor: pointer;
}

.cu .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 28px;
padding: 16px;
background: #ffffff;
border-radius: 22px;
border: 1px solid #BF9FD7;
}

.cu .privacy-row__check {
appearance: none;
-webkit-appearance: none;
width: 22px;
height: 22px;
min-width: 22px;
border: 2px solid #BF9FD7;
border-radius: 1px;
background: #ffffff;
cursor: pointer;
margin-top: 2px;
transition: border-color 0.55s ease, background 0.55s ease;
position: relative;
}

.cu .privacy-row__check:checked {
border-color: #A638BE;
background: #A638BE;
}

.cu .privacy-row__check:checked::after {
content: '';
position: absolute;
left: 4px;
top: 1px;
width: 10px;
height: 6px;
border-left: 2px solid #ffffff;
border-bottom: 2px solid #ffffff;
transform: rotate(-45deg);
}

.cu .privacy-row__check:focus-visible {
outline: 3px solid rgba(166, 56, 190, 0.35) !important;
outline-offset: 2px !important;
}

.cu .privacy-row__text {
font-size: 15px;
color: #3d2a45;
line-height: 1.6;
letter-spacing: 0.01em;
}

.cu .privacy-row__link {
color: #A638BE;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.5s ease;
}

.cu .privacy-row__link:hover {
color: #7a2890;
}

.cu .btn-submit {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 28px;
background: linear-gradient(135deg, #A638BE 0%, #BF9FD7 100%);
color: #ffffff;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
border: none;
border-radius: 22px;
cursor: pointer;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
transition: box-shadow 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.7s ease;
width: 100%;
justify-content: center;
}

.cu .btn-submit:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-2px);
background: linear-gradient(135deg, #8f2ea3 0%, #A638BE 100%);
}

.cu .btn-submit:active {
transform: translateY(0);
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.cu .btn-submit:focus-visible {
outline: 3px solid rgba(166, 56, 190, 0.45) !important;
outline-offset: 3px !important;
}

.cu .fade-divider {
height: 1px;
background: linear-gradient(to right, transparent 0%, #BF9FD7 30%, #BF9FD7 70%, transparent 100%);
margin: 0;
}

.cu .details-band {
padding: 56px 0;
background: #2a1a30;
position: relative;
overflow: hidden;
}

.cu .details-band__deco-a {
position: absolute;
width: 400px;
height: 400px;
border-radius: 50%;
background: radial-gradient(circle at 40% 40%, rgba(166, 56, 190, 0.18), rgba(191, 159, 215, 0.08) 55%, transparent 75%);
top: -120px;
right: -80px;
pointer-events: none;
}

.cu .details-band__deco-b {
position: absolute;
width: 250px;
height: 250px;
border-radius: 50%;
background: radial-gradient(circle at 60% 60%, rgba(191, 159, 215, 0.10), transparent 70%);
bottom: -60px;
left: 60px;
pointer-events: none;
}

.cu .details-band__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 28px;
position: relative;
z-index: 1;
}

.cu .details-band__h2 {
font-size: 30px;
line-height: 1.3;
color: #F5F3F9;
letter-spacing: 0.01em;
margin: 0 0 28px 0;
grid-column: 1 / -1;
}

.cu .details-band__h2 em {
font-style: normal;
color: #BF9FD7;
}

.cu .detail-card {
border-radius: 22px;
padding: 28px;
background: rgba(245, 243, 249, 0.06);
border: 1px solid rgba(191, 159, 215, 0.18);
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: background 0.7s ease, box-shadow 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
gap: 16px;
}

.cu .detail-card:hover {
background: rgba(245, 243, 249, 0.11);
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.cu .detail-card__num {
font-size: 72px;
line-height: 1.1;
letter-spacing: -0.02em;
color: rgba(191, 159, 215, 0.22);
font-weight: 700;
line-height: 1.1;
margin: 0;
pointer-events: none;
}

.cu .detail-card__h4 {
font-size: 22px;
line-height: 1.3;
color: #BF9FD7;
margin: 0;
letter-spacing: 0.01em;
}

.cu .detail-card__p {
font-size: 15px;
line-height: 1.6;
color: rgba(245, 243, 249, 0.80);
margin: 0;
letter-spacing: 0.01em;
}

.cu .text-expand {
display: inline;
position: relative;
cursor: default;
}

.cu .text-expand::after {
content: '';
position: absolute;
left: 0;
bottom: -2px;
height: 2px;
width: 0;
background: #BF9FD7;
border-radius: 1px;
transition: width 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cu .text-expand:hover::after {
width: 100%;
}

@media (max-width: 960px) {
.cu .band-top__grid {
grid-template-columns: 1fr;
gap: 28px;
}

.cu .band-top__h1 {
font-size: 30px;
}

.cu .band-top__img {
height: 280px;
}

.cu .form-band__inner {
grid-template-columns: 1fr;
gap: 28px;
}

.cu .details-band__grid {
grid-template-columns: 1fr 1fr;
}

.cu .details-band__h2 {
grid-column: 1 / -1;
}
}

@media (max-width: 480px) {
.cu .band-top {
padding: 28px 0;
}

.cu .band-top__h1 {
font-size: 30px;
}

.cu .band-top__sub {
font-size: 15px;
}

.cu .form-band {
padding: 28px 0;
}

.cu .details-band {
padding: 28px 0;
}

.cu .details-band__grid {
grid-template-columns: 1fr;
}

.cu .radio-group__opts {
flex-direction: column;
}

.cu .contact-form {
padding: 16px;
}
}

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

.ab-us .pg-wrap {
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

.ab-us .reveal {
opacity: 0;
transform: translateY(32px);
animation: riseUp 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

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

.ab-us .reveal--d2 {
animation-delay: 0.25s;
}

.ab-us .reveal--d3 {
animation-delay: 0.4s;
}

.ab-us .reveal--d4 {
animation-delay: 0.55s;
}

.ab-us .reveal--d5 {
animation-delay: 0.7s;
}

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

@keyframes slowZoom {
from {
transform: scale(1);
}

to {
transform: scale(1.06);
}
}

@keyframes curlSpin {
from {
transform: rotate(0deg);
}

to {
transform: rotate(360deg);
}
}

.ab-us .split-row {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 56px;
padding: 56px 0;
}

.ab-us .split-row__img-col {
flex: 0 0 45%;
position: relative;
}

.ab-us .split-row__img-wrap {
width: 100%;
height: 520px;
overflow: hidden;
border-radius: 22px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
position: relative;
}

.ab-us .split-row__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
animation: slowZoom 12s ease alternate infinite;
filter: saturate(1.1) brightness(0.97) sepia(0.08);
}

.ab-us .split-row__img-badge {
position: absolute;
bottom: 28px;
left: 28px;
background: rgba(166, 56, 190, 0.92);
color: #fff;
border-radius: 1px;
padding: 16px 28px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.ab-us .split-row__img-badge .badge-yr {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
display: block;
}

.ab-us .split-row__img-badge .badge-lbl {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
display: block;
opacity: 0.88;
}

.ab-us .split-row__deco {
position: absolute;
top: -28px;
right: -28px;
width: 80px;
height: 80px;
border-radius: 50%;
border: 3px solid rgba(166, 56, 190, 0.18);
border-top-color: rgba(166, 56, 190, 0.55);
animation: curlSpin 18s linear infinite;
pointer-events: none;
}

.ab-us .split-row__txt-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 28px;
}

.ab-us .tag-label {
display: inline-block;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #A638BE;
text-transform: uppercase;
padding: 4px 16px;
border: 1px solid rgba(166, 56, 190, 0.28);
border-radius: 1px;
background: rgba(191, 159, 215, 0.10);
}

.ab-us .split-row__h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #2a1035;
text-transform: uppercase;
margin: 0;
}

.ab-us .split-row__h1 .mark-phrase {
display: inline;
background: linear-gradient(180deg, transparent 55%, rgba(191, 159, 215, 0.6) 55%);
padding-bottom: 2px;
}

.ab-us .split-row__desc {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2a1035;
margin: 0;
}

.ab-us .split-row__body {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.02em;
color: #3d2050;
margin: 0;
}

.ab-us .split-row__metrics {
display: flex;
flex-direction: row;
gap: 28px;
}

.ab-us .metric {
display: flex;
flex-direction: column;
gap: 4px;
}

.ab-us .metric__val {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
}

.ab-us .metric__desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d2050;
}

.ab-us .split-row__cta {
display: inline-flex;
align-items: center;
gap: 8px;
background: #A638BE;
color: #fff;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
padding: 16px 28px;
border-radius: 1px;
border: none;
cursor: pointer;
text-decoration: none;
align-self: flex-start;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
transition: background-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease;
}

.ab-us .split-row__cta:hover {
background: #8a2aa0;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.18);
}

.ab-us .split-row__cta:focus {
outline: 2px solid #A638BE;
outline-offset: 3px;
}

.ab-us .split-row__cta svg {
flex-shrink: 0;
}

.ab-us .depth-row {
background: #F5F3F9;
padding: 56px 0;
position: relative;
}

.ab-us .depth-row::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, rgba(166, 56, 190, 0.35), rgba(191, 159, 215, 0.5), transparent);
pointer-events: none;
}

.ab-us .depth-row__grid {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: auto auto;
gap: 28px;
}

.ab-us .depth-row__lede {
grid-column: 1 / 3;
grid-row: 1 / 2;
display: flex;
flex-direction: column;
gap: 16px;
}

.ab-us .depth-row__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1035;
margin: 0;
}

.ab-us .depth-row__lede-txt {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3d2050;
margin: 0;
}

.ab-us .depth-row__portrait-col {
grid-column: 3 / 4;
grid-row: 1 / 3;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 16px;
}

.ab-us .portrait-card {
width: 140px;
display: flex;
flex-direction: column;
gap: 8px;
}

.ab-us .portrait-card__img-wrap {
width: 140px;
height: 175px;
overflow: hidden;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.ab-us .portrait-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ab-us .portrait-card__img-wrap:hover img {
transform: scale(1.04);
}

.ab-us .portrait-card__name {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2a1035;
text-align: right;
}

.ab-us .portrait-card__role {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #A638BE;
text-align: right;
}

.ab-us .depth-row__body-col {
grid-column: 1 / 3;
grid-row: 2 / 3;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
}

.ab-us .depth-item {
display: flex;
flex-direction: column;
gap: 8px;
padding: 28px;
background: #fff;
border-radius: 22px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.6s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ab-us .depth-item:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-4px);
}

.ab-us .depth-item__num {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
}

.ab-us .depth-item__h {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2a1035;
margin: 0;
text-transform: uppercase;
}

.ab-us .depth-item__p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.02em;
color: #3d2050;
margin: 0;
}

.ab-us .depth-row__img-strip {
grid-column: 1 / 4;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 16px;
margin-top: 8px;
}

.ab-us .strip-img {
overflow: hidden;
border-radius: 22px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.ab-us .strip-img img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ab-us .strip-img:hover img {
transform: scale(1.05);
}

.ab-us .strip-img--tall img {
height: 320px;
}

.ab-us .depth-row__deco-curl {
position: absolute;
bottom: 28px;
left: 28px;
width: 56px;
height: 56px;
border-radius: 50%;
border: 2px dashed rgba(166, 56, 190, 0.20);
border-bottom-color: transparent;
animation: curlSpin 22s linear infinite reverse;
pointer-events: none;
}

@media (max-width: 960px) {
.ab-us .split-row {
flex-direction: column;
gap: 28px;
padding: 56px 0;
}

.ab-us .split-row__img-col {
flex: none;
}

.ab-us .split-row__img-wrap {
height: 360px;
}

.ab-us .split-row__h1 {
font-size: 30px;
}

.ab-us .depth-row__grid {
grid-template-columns: 1fr 1fr;
}

.ab-us .depth-row__lede {
grid-column: 1 / 3;
}

.ab-us .depth-row__portrait-col {
grid-column: 1 / 3;
grid-row: auto;
align-items: flex-start;
flex-direction: row;
align-items: center;
}

.ab-us .depth-row__body-col {
grid-column: 1 / 3;
}

.ab-us .depth-row__img-strip {
grid-column: 1 / 3;
grid-template-columns: 1fr 1fr;
}

.ab-us .strip-img--tall img {
height: 220px;
}
}

@media (max-width: 480px) {
.ab-us .split-row__metrics {
flex-direction: column;
gap: 16px;
}

.ab-us .depth-row__grid {
grid-template-columns: 1fr;
}

.ab-us .depth-row__lede {
grid-column: 1 / 2;
}

.ab-us .depth-row__portrait-col {
grid-column: 1 / 2;
}

.ab-us .depth-row__body-col {
grid-column: 1 / 2;
grid-template-columns: 1fr;
}

.ab-us .depth-row__img-strip {
grid-column: 1 / 2;
grid-template-columns: 1fr;
}

.ab-us .split-row__h1 {
font-size: 30px;
}

.ab-us .split-row__img-wrap {
height: 280px;
}

.ab-us .portrait-card {
width: 100px;
}

.ab-us .portrait-card__img-wrap {
width: 100px;
height: 125px;
}
}

@media (min-width: 1440px) {
.ab-us .split-row__img-wrap {
height: 600px;
}
}

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

.lp__inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

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

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

@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(28px);
}

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

@keyframes fadeIn {
from {
opacity: 0;
}

to {
opacity: 1;
}
}

.lp .ttl {
background: #1b0a24;
padding: 56px 0;
position: relative;
}

.lp .ttl__grid {
display: flex;
flex-direction: row;
align-items: center;
gap: 56px;
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

.lp .ttl__copy {
flex: 1 1 0;
animation: clipReveal 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.lp .ttl__eyebrow {
display: inline-block;
width: 48px;
height: 3px;
background: #A638BE;
margin-bottom: 16px;
border-radius: 1px;
}

.lp .ttl__h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
text-transform: uppercase;
color: #F5F3F9;
margin: 0 0 28px 0;
}

.lp .ttl__h1 span {
background: linear-gradient(120deg, #A638BE 0%, #BF9FD7 55%, #F5F3F9 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.lp .ttl__desc {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #BF9FD7;
margin: 0;
max-width: 520px;
}

.lp .ttl__img-wrap {
flex: 0 0 420px;
position: relative;
border-radius: 1px;
overflow: hidden;
animation: fadeIn 0.8s 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.lp .ttl__img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, #1b0a24 0%, transparent 40%);
pointer-events: none;
}

.lp .ttl__img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
filter: blur(2px) brightness(0.7);
}

.lp .ttl__abbr {
position: absolute;
bottom: 16px;
right: 16px;
font-size: 72px;
line-height: 1.1;
font-weight: 900;
color: rgba(166, 56, 190, 0.18);
letter-spacing: 0.02em;
pointer-events: none;
user-select: none;
z-index: 1;
}

.lp .div-chev {
width: 100%;
height: 28px;
position: relative;
background: #1b0a24;
}

.lp .div-chev::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 28px;
background: #F5F3F9;
clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%);
}

.lp .prog {
background: #F5F3F9;
padding: 56px 0;
}

.lp .prog__head {
margin-bottom: 56px;
}

.lp .prog__bar {
display: block;
width: 40px;
height: 3px;
background: #A638BE;
border-radius: 1px;
margin-bottom: 16px;
}

.lp .prog__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
text-transform: uppercase;
color: #A638BE;
margin: 0 0 16px 0;
}

.lp .prog__lead {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #2d1a3a;
max-width: 640px;
margin: 0;
}

.lp .prog__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 28px;
}

.lp .prog__card {
background: #fff;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
animation: fadeUp 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.lp .prog__card:nth-child(2) {
animation-delay: 0.1s;
}

.lp .prog__card:nth-child(3) {
animation-delay: 0.2s;
}

.lp .prog__card:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-4px);
}

.lp .prog__num {
font-size: 72px;
line-height: 1.1;
font-weight: 900;
color: #A638BE;
letter-spacing: 0.01em;
margin-bottom: 8px;
opacity: 0.18;
}

.lp .prog__card-h {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a3a;
margin: 0 0 16px 0;
}

.lp .prog__card-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d2a4a;
margin: 0;
}

.lp .div-flat {
height: 4px;
background: linear-gradient(90deg, #F5F3F9 0%, #A638BE 40%, #BF9FD7 70%, #F5F3F9 100%);
}

.lp .team {
background: #fff;
padding: 56px 0;
position: relative;
}

.lp .team__bg-abbr {
position: absolute;
top: 16px;
right: 28px;
font-size: 72px;
font-weight: 900;
color: rgba(191, 159, 215, 0.12);
letter-spacing: 0.02em;
pointer-events: none;
user-select: none;
}

.lp .team__bar {
display: block;
width: 40px;
height: 3px;
background: #A638BE;
border-radius: 1px;
margin-bottom: 16px;
}

.lp .team__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
text-transform: uppercase;
color: #A638BE;
margin: 0 0 56px 0;
}

.lp .team__layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
}

.lp .team__profiles {
display: flex;
flex-direction: column;
gap: 28px;
}

.lp .team__card {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 28px;
border-radius: 22px;
background: #F5F3F9;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
animation: fadeUp 0.6s 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.lp .team__card:nth-child(2) {
animation-delay: 0.28s;
}

.lp .team__card:nth-child(3) {
animation-delay: 0.42s;
}

.lp .team__card:hover {
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.lp .team__portrait {
width: 80px;
height: 120px;
border-radius: 22px;
object-fit: cover;
object-position: center;
flex-shrink: 0;
}

.lp .team__meta {
display: flex;
flex-direction: column;
gap: 8px;
}

.lp .team__name {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a3a;
margin: 0;
}

.lp .team__role {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #A638BE;
margin: 0;
}

.lp .team__bio {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d2a4a;
margin: 0;
}

.lp .team__no-img {
width: 80px;
height: 80px;
border-radius: 22px;
background: linear-gradient(135deg, #BF9FD7 0%, #A638BE 100%);
flex-shrink: 0;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}

.lp .team__no-img-svg {
width: 36px;
height: 36px;
fill: #fff;
opacity: 0.7;
}

.lp .team__aside {
display: flex;
flex-direction: column;
gap: 28px;
}

.lp .team__stat-block {
background: #1b0a24;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.lp .team__stat-h {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #BF9FD7;
margin: 0 0 16px 0;
text-transform: uppercase;
}

.lp .team__stat-row {
display: flex;
flex-direction: column;
gap: 16px;
}

.lp .team__stat-item {
display: flex;
flex-direction: column;
gap: 8px;
}

.lp .team__stat-label {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #F5F3F9;
margin: 0;
}

.lp .team__stat-bar-wrap {
height: 8px;
background: rgba(191, 159, 215, 0.2);
border-radius: 1px;
overflow: hidden;
}

.lp .team__stat-fill {
height: 100%;
border-radius: 1px;
background: linear-gradient(90deg, #A638BE 0%, #BF9FD7 100%);
transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp .team__info-block {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
}

.lp .team__info-h {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a3a;
margin: 0 0 16px 0;
}

.lp .team__info-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d2a4a;
margin: 0;
}

.lp .div-chev2 {
width: 100%;
height: 28px;
position: relative;
background: #fff;
}

.lp .div-chev2::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 28px;
background: #1b0a24;
clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%);
}

.lp .detail {
background: #1b0a24;
padding: 56px 0;
position: relative;
}

.lp .detail__pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.lp .detail__pattern svg {
width: 100%;
height: 100%;
opacity: 0.06;
}

.lp .detail__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
position: relative;
z-index: 2;
}

.lp .detail__bar {
display: block;
width: 40px;
height: 3px;
background: #A638BE;
border-radius: 1px;
margin-bottom: 16px;
}

.lp .detail__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
text-transform: uppercase;
color: #F5F3F9;
margin: 0 0 28px 0;
animation: clipReveal 0.7s 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

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

.lp .detail__item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
animation: fadeUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.lp .detail__item:nth-child(2) {
animation-delay: 0.1s;
}

.lp .detail__item:nth-child(3) {
animation-delay: 0.2s;
}

.lp .detail__item:nth-child(4) {
animation-delay: 0.3s;
}

.lp .detail__num {
font-size: 30px;
line-height: 1.1;
font-weight: 900;
color: #A638BE;
letter-spacing: 0.01em;
min-width: 28px;
flex-shrink: 0;
}

.lp .detail__item-copy {
display: flex;
flex-direction: column;
gap: 4px;
}

.lp .detail__item-h {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #F5F3F9;
margin: 0;
}

.lp .detail__item-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #BF9FD7;
margin: 0;
}

.lp .detail__right {
display: flex;
flex-direction: column;
gap: 28px;
}

.lp .detail__contact-card {
background: rgba(166, 56, 190, 0.12);
border-radius: 22px;
padding: 28px;
box-shadow: inset 0 1px 0 rgba(191, 159, 215, 0.2), 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.lp .detail__contact-h {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #F5F3F9;
margin: 0 0 16px 0;
}

.lp .detail__contact-row {
display: flex;
flex-direction: column;
gap: 8px;
}

.lp .detail__contact-item {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #BF9FD7;
text-decoration: none;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: block;
}

.lp .detail__contact-item:hover {
color: #F5F3F9;
}

.lp .detail__actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.lp .btn-prim {
display: inline-block;
background: #A638BE;
color: #F5F3F9;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
padding: 16px 28px;
border-radius: 22px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp .btn-prim:hover {
background: #BF9FD7;
color: #1b0a24;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.lp .btn-prim:focus {
outline: 2px solid #BF9FD7;
outline-offset: 4px;
}

.lp .btn-sec {
display: inline-flex;
flex-direction: row;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid rgba(191, 159, 215, 0.4);
border-radius: 22px;
padding: 16px;
cursor: pointer;
transition: border-color 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
text-decoration: none;
}

.lp .btn-sec:hover {
border-color: #A638BE;
background: rgba(166, 56, 190, 0.12);
}

.lp .btn-sec:focus {
outline: 2px solid #BF9FD7;
outline-offset: 4px;
}

.lp .btn-sec svg {
width: 20px;
height: 20px;
fill: #BF9FD7;
}

@media (max-width: 960px) {
.lp .ttl__grid {
flex-direction: column;
gap: 28px;
}

.lp .ttl__h1 {
font-size: 30px;
}

.lp .ttl__img-wrap {
flex: 0 0 auto;
width: 100%;
}

.lp .ttl__img {
height: 220px;
}

.lp .ttl__abbr {
font-size: 30px;
}

.lp .prog__grid {
grid-template-columns: 1fr;
}

.lp .team__layout {
grid-template-columns: 1fr;
gap: 28px;
}

.lp .detail__grid {
grid-template-columns: 1fr;
gap: 28px;
}
}

@media (max-width: 480px) {
.lp .ttl__h1 {
font-size: 22px;
}

.lp .ttl__desc {
font-size: 15px;
}

.lp .prog__h2,
.lp .team__h2,
.lp .detail__h2 {
font-size: 22px;
}

.lp .prog__lead {
font-size: 15px;
}

.lp .team__card {
flex-direction: column;
}

.lp .detail__actions {
flex-direction: column;
}
}

@media (min-width: 1440px) {
.lp .ttl__h1 {
font-size: 72px;
}
}

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

.prm .pg-wrap {
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

.prm .ttl {
position: relative;
padding: 56px 0;
background: #F5F3F9;
background-image:
radial-gradient(at 15% 25%, rgba(166, 56, 190, 0.18) 0%, transparent 55%),
radial-gradient(at 80% 10%, rgba(191, 159, 215, 0.22) 0%, transparent 50%),
radial-gradient(at 60% 80%, rgba(166, 56, 190, 0.10) 0%, transparent 45%);
}

.prm .ttl__pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.prm .ttl__pattern svg {
width: 100%;
height: 100%;
opacity: 0.13;
}

.prm .ttl__grid {
display: flex;
flex-direction: row;
align-items: center;
gap: 56px;
position: relative;
}

.prm .ttl__left {
flex: 0 0 30%;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .ttl__right {
flex: 1 1 70%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .ttl__img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
position: relative;
}

.prm .ttl__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: contrast(1.03) saturate(0.97);
}

.prm .ttl__img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: rgba(166, 56, 190, 0.04);
pointer-events: none;
}

.prm .ttl__grain {
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
pointer-events: none;
mix-blend-mode: overlay;
}

.prm .ttl__badge {
display: inline-block;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #A638BE;
border: 1px solid rgba(166, 56, 190, 0.3);
border-radius: 22px;
padding: 4px 16px;
width: fit-content;
}

.prm .ttl__h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
margin: 0;
text-transform: uppercase;
background: linear-gradient(127deg, #A638BE 0%, #BF9FD7 55%, #A638BE 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.prm .ttl__tag {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
max-width: 520px;
}

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

.prm .ttl__btn {
display: inline-block;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #fff;
background: #A638BE;
border: none;
border-radius: 22px;
padding: 8px 28px;
cursor: pointer;
text-decoration: none;
transition: background-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
}

.prm .ttl__btn:hover {
background: #8a2ba0;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.prm .ttl__btn--sec {
background: transparent;
color: #A638BE;
border: 1px solid rgba(166, 56, 190, 0.4);
}

.prm .ttl__btn--sec:hover {
background: rgba(166, 56, 190, 0.06);
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.prm .div-scallop {
width: 100%;
line-height: 0;
overflow: hidden;
}

.prm .div-scallop svg {
display: block;
width: 100%;
}

.prm .recog {
padding: 56px 0;
background: #fff;
}

.prm .recog__grid {
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-start;
}

.prm .recog__left {
flex: 0 0 30%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .recog__right {
flex: 1 1 70%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .recog__label {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #A638BE;
text-transform: uppercase;
}

.prm .recog__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
text-transform: uppercase;
}

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

.prm .recog__person {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.prm .recog__face {
width: 80px;
height: 112px;
flex-shrink: 0;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

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

.prm .recog__bio {
display: flex;
flex-direction: column;
gap: 4px;
}

.prm .recog__name {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2d1a36;
font-weight: 600;
}

.prm .recog__role {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #5a4068;
}

.prm .recog__cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.prm .recog__card {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prm .recog__card:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-4px);
}

.prm .recog__card-num {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
font-weight: 700;
}

.prm .recog__card-txt {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2d1a36;
}

.prm .diamond-acc {
position: absolute;
width: 32px;
height: 32px;
background: linear-gradient(135deg, #A638BE, #BF9FD7);
transform: rotate(45deg);
border-radius: 1px;
opacity: 0.7;
pointer-events: none;
}

.prm .div-line {
width: 100%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(166, 56, 190, 0.2), transparent);
}

.prm .appr {
padding: 56px 0;
background: #F5F3F9;
background-image:
radial-gradient(at 90% 50%, rgba(191, 159, 215, 0.25) 0%, transparent 60%),
radial-gradient(at 10% 70%, rgba(166, 56, 190, 0.12) 0%, transparent 50%),
radial-gradient(at 50% 20%, rgba(191, 159, 215, 0.15) 0%, transparent 45%);
}

.prm .appr__inner {
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-start;
}

.prm .appr__img-col {
flex: 0 0 38%;
position: relative;
}

.prm .appr__img-wrap {
width: 100%;
aspect-ratio: 3/4;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.prm .appr__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prm .appr__annot {
position: absolute;
right: -28px;
top: 28px;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .appr__note {
background: #fff;
border-radius: 22px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
white-space: nowrap;
}

.prm .appr__note-num {
font-size: 22px;
line-height: 1.1;
color: #A638BE;
font-weight: 700;
}

.prm .appr__text-col {
flex: 1 1 62%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .appr__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
text-transform: uppercase;
}

.prm .appr__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
counter-reset: appr-cnt;
}

.prm .appr__item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
counter-increment: appr-cnt;
}

.prm .appr__item::before {
content: counter(appr-cnt, decimal-leading-zero);
font-size: 30px;
line-height: 1.1;
color: #A638BE;
font-weight: 700;
letter-spacing: 0.01em;
flex-shrink: 0;
width: 56px;
}

.prm .appr__item-body {
display: flex;
flex-direction: column;
gap: 4px;
padding-top: 8px;
}

.prm .appr__item-h {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2d1a36;
font-weight: 600;
margin: 0;
}

.prm .appr__item-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3d2550;
margin: 0;
}

.prm .div-wave {
width: 100%;
line-height: 0;
background: #F5F3F9;
}

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

.prm .testi {
padding: 56px 0;
background: #fff;
}

.prm .testi__hd {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 28px;
margin-bottom: 56px;
}

.prm .testi__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
text-transform: uppercase;
max-width: 420px;
}

.prm .testi__sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #5a4068;
max-width: 340px;
}

.prm .testi__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
}

.prm .testi__item {
background: #F5F3F9;
border-radius: 22px;
padding: 28px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.prm .testi__item:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-5px);
}

.prm .testi__quote {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
font-style: italic;
}

.prm .testi__person {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: auto;
}

.prm .testi__avatar {
width: 40px;
height: 40px;
border-radius: 1px;
background: linear-gradient(135deg, #BF9FD7, #A638BE);
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}

.prm .testi__avatar svg {
width: 22px;
height: 22px;
fill: #fff;
}

.prm .testi__pname {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2d1a36;
font-weight: 600;
}

.prm .testi__ptitle {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #A638BE;
}

.prm .testi__item--wide {
grid-column: span 2;
}

.prm .div-dots {
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
gap: 8px;
padding: 28px 0;
background: #fff;
}

.prm .div-dots__d {
width: 6px;
height: 6px;
border-radius: 1px;
background: rgba(166, 56, 190, 0.25);
transform: rotate(45deg);
}

.prm .div-dots__d--mid {
background: #A638BE;
width: 8px;
height: 8px;
}

.prm .jrny {
padding: 56px 0;
background: #2d1a36;
position: relative;
overflow: hidden;
}

.prm .jrny__bg {
position: absolute;
inset: 0;
pointer-events: none;
background-image:
radial-gradient(at 20% 30%, rgba(166, 56, 190, 0.35) 0%, transparent 50%),
radial-gradient(at 80% 70%, rgba(191, 159, 215, 0.20) 0%, transparent 45%),
radial-gradient(at 55% 10%, rgba(166, 56, 190, 0.15) 0%, transparent 40%);
}

.prm .jrny__inner {
position: relative;
}

.prm .jrny__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #F5F3F9;
margin: 0 0 56px 0;
text-transform: uppercase;
max-width: 600px;
}

.prm .jrny__track {
display: flex;
flex-direction: row;
gap: 4px;
align-items: stretch;
}

.prm .jrny__phase {
flex: 1 1 0;
background: rgba(245, 243, 249, 0.06);
border-radius: 22px;
padding: 28px 16px;
display: flex;
flex-direction: column;
gap: 8px;
border: 1px solid rgba(191, 159, 215, 0.15);
transition: background-color 0.65s ease, border-color 0.65s ease;
}

.prm .jrny__phase:hover {
background: rgba(245, 243, 249, 0.12);
border-color: rgba(191, 159, 215, 0.35);
}

.prm .jrny__ph-num {
font-size: 30px;
line-height: 1.1;
color: #BF9FD7;
font-weight: 700;
letter-spacing: 0.01em;
}

.prm .jrny__ph-h {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #F5F3F9;
font-weight: 600;
margin: 0;
}

.prm .jrny__ph-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(245, 243, 249, 0.72);
margin: 0;
}

.prm .jrny__img-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 56px;
}

.prm .jrny__img-wrap {
flex: 1 1 50%;
aspect-ratio: 16/9;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.prm .jrny__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prm .div-scallop2 {
width: 100%;
line-height: 0;
background: #2d1a36;
}

.prm .div-scallop2 svg {
display: block;
width: 100%;
}

.prm .ltval {
padding: 56px 0;
background: #F5F3F9;
}

.prm .ltval__grid {
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-start;
}

.prm .ltval__left {
flex: 0 0 62%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .ltval__right {
flex: 1 1 38%;
display: flex;
flex-direction: column;
gap: 16px;
}

.prm .ltval__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
text-transform: uppercase;
}

.prm .ltval__intro {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3d2550;
margin: 0;
}

.prm .ltval__p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #3d2550;
margin: 0;
}

.prm .ltval__img-wrap {
width: 100%;
aspect-ratio: 3/4;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
position: relative;
}

.prm .ltval__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prm .ltval__diamond {
position: absolute;
bottom: -16px;
right: -16px;
width: 40px;
height: 40px;
background: linear-gradient(135deg, #A638BE, #BF9FD7);
transform: rotate(45deg);
border-radius: 1px;
opacity: 0.85;
pointer-events: none;
}

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

.prm .ltval__stat {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
background: #fff;
border-radius: 22px;
padding: 16px 28px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.58s ease, transform 0.58s ease;
}

.prm .ltval__stat:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-3px);
}

.prm .ltval__stat-n {
font-size: 30px;
line-height: 1.1;
color: #A638BE;
font-weight: 700;
letter-spacing: 0.01em;
flex-shrink: 0;
width: 56px;
}

.prm .ltval__stat-l {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2d1a36;
}

.prm .div-accent {
width: 100%;
height: 4px;
background: linear-gradient(90deg, #F5F3F9 0%, #A638BE 40%, #BF9FD7 60%, #F5F3F9 100%);
}

.prm .last {
padding: 56px 0;
background: #fff;
}

.prm .last__inner {
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-start;
}

.prm .last__left {
flex: 0 0 30%;
display: flex;
flex-direction: column;
gap: 28px;
position: relative;
}

.prm .last__img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 1px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.prm .last__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prm .last__right {
flex: 1 1 70%;
display: flex;
flex-direction: column;
gap: 28px;
}

.prm .last__h2 {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2d1a36;
margin: 0;
text-transform: uppercase;
}

.prm .last__intro {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3d2550;
margin: 0;
}

.prm .last__p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #3d2550;
margin: 0;
}

.prm .last__pillars {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.prm .last__pillar {
border-radius: 22px;
padding: 28px;
background: #F5F3F9;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
transition: box-shadow 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prm .last__pillar:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
transform: translateY(-4px);
}

.prm .last__pillar-ico {
width: 32px;
height: 32px;
flex-shrink: 0;
}

.prm .last__pillar-h {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
color: #2d1a36;
font-weight: 600;
margin: 0;
}

.prm .last__pillar-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #5a4068;
margin: 0;
}

@media (max-width: 960px) {
.prm .ttl__grid {
flex-direction: column;
gap: 28px;
}

.prm .ttl__left {
flex: 0 0 auto;
width: 100%;
}

.prm .ttl__h1 {
font-size: 30px;
}

.prm .recog__grid {
flex-direction: column;
gap: 28px;
}

.prm .recog__left {
flex: 0 0 auto;
width: 100%;
}

.prm .recog__cards {
grid-template-columns: 1fr 1fr;
}

.prm .appr__inner {
flex-direction: column;
gap: 28px;
}

.prm .appr__img-col {
flex: 0 0 auto;
width: 100%;
}

.prm .appr__annot {
position: static;
flex-direction: row;
flex-wrap: wrap;
}

.prm .testi__grid {
grid-template-columns: 1fr 1fr;
}

.prm .testi__item--wide {
grid-column: span 2;
}

.prm .jrny__track {
flex-direction: column;
gap: 8px;
}

.prm .jrny__img-row {
flex-direction: column;
}

.prm .ltval__grid {
flex-direction: column-reverse;
gap: 28px;
}

.prm .ltval__left {
flex: 0 0 auto;
width: 100%;
}

.prm .last__inner {
flex-direction: column;
gap: 28px;
}

.prm .last__left {
flex: 0 0 auto;
width: 100%;
}
}

@media (max-width: 480px) {
.prm .ttl__h1 {
font-size: 22px;
}

.prm .ttl__tag {
font-size: 15px;
}

.prm .recog__cards {
grid-template-columns: 1fr;
}

.prm .testi__grid {
grid-template-columns: 1fr;
}

.prm .testi__item--wide {
grid-column: span 1;
}

.prm .last__pillars {
grid-template-columns: 1fr;
}

.prm .jrny__h2 {
font-size: 22px;
}

.prm .pg-wrap {
padding: 0 16px;
}

.prm .ttl {
padding: 28px 0;
}

.prm .recog {
padding: 28px 0;
}

.prm .appr {
padding: 28px 0;
}

.prm .testi {
padding: 28px 0;
}

.prm .jrny {
padding: 28px 0;
}

.prm .ltval {
padding: 28px 0;
}

.prm .last {
padding: 28px 0;
}
}

@media (min-width: 1440px) {
.prm .ttl__h1 {
font-size: 72px;
}
}

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

.srv .pg-wrap {
max-width: 1140px;
margin: 0 auto;
padding: 0 28px;
}

.srv .split-open {
display: flex;
flex-direction: row;
align-items: center;
gap: 56px;
padding: 56px 28px;
max-width: 1140px;
margin: 0 auto;
position: relative;
}

.srv .split-open__txt {
flex: 1 1 0;
padding: 28px 28px 28px 56px;
}

.srv .split-open__num {
font-size: 72px;
line-height: 1.1;
letter-spacing: 0.01em;
background: linear-gradient(135deg, #A638BE 30%, #BF9FD7 80%, #F5F3F9 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 700;
display: block;
margin-bottom: 8px;
}

.srv .split-open__label {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #4a3d5c;
text-transform: uppercase;
margin-bottom: 16px;
}

.srv .split-open__h {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1a3e;
margin-bottom: 16px;
text-transform: uppercase;
}

.srv .split-open__desc {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #3d2e52;
max-width: 480px;
}

.srv .split-open__img-zone {
flex: 0 0 420px;
position: relative;
}

.srv .split-open__dots {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 22px;
}

.srv .split-open__dots::before {
content: '';
position: absolute;
width: 180px;
height: 180px;
border-radius: 50%;
border: 2px dotted rgba(166, 56, 190, 0.13);
top: -40px;
right: -40px;
}

.srv .split-open__dots::after {
content: '';
position: absolute;
width: 90px;
height: 90px;
border-radius: 50%;
border: 2px dotted rgba(191, 159, 215, 0.18);
bottom: 20px;
left: -20px;
}

.srv .img-shape {
width: 100%;
aspect-ratio: 4/3;
border-radius: 22px;
overflow: hidden;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
position: relative;
}

.srv .img-shape img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
max-width: 100%;
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.srv .img-shape:hover img {
transform: scale(1.04);
}

.srv .img-shape__cap {
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 40%, rgba(166, 56, 190, 0.82) 100%);
display: flex;
align-items: flex-end;
padding: 28px;
opacity: 0;
transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border-radius: 22px;
}

.srv .img-shape:hover .img-shape__cap {
opacity: 1;
}

.srv .img-shape__cap-txt {
color: #fff;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
}

.srv .band-div {
height: 4px;
background: linear-gradient(90deg, #A638BE 0%, #BF9FD7 60%, transparent 100%);
width: 100%;
}

.srv .metrics-row {
background: #F5F3F9;
padding: 56px 28px;
position: relative;
overflow: hidden;
}

.srv .metrics-row__bg-circle {
position: absolute;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(ellipse at 60% 40%, rgba(191, 159, 215, 0.18) 0%, rgba(166, 56, 190, 0.06) 50%, transparent 80%);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
}

.srv .metrics-row__inner {
max-width: 1140px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-start;
}

.srv .metrics-row__lead {
flex: 0 0 320px;
}

.srv .metrics-row__lead-h {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #A638BE;
margin-bottom: 16px;
}

.srv .metrics-row__lead-p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.02em;
color: #3d2e52;
margin-bottom: 16px;
}

.srv .metrics-row__lead-p--big {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2a1a3e;
}

.srv .metrics-row__stats {
flex: 1 1 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
}

.srv .stat-box {
background: #fff;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.srv .stat-box:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.15);
transform: translateY(-4px);
}

.srv .stat-box__val {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
font-weight: 700;
margin-bottom: 8px;
}

.srv .stat-box__lbl {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #4a3d5c;
}

.srv .card-grid-area {
padding: 56px 28px;
max-width: 1140px;
margin: 0 auto;
}

.srv .card-grid-area__h {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1a3e;
text-transform: uppercase;
margin-bottom: 8px;
}

.srv .card-grid-area__sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #4a3d5c;
margin-bottom: 28px;
max-width: 560px;
}

.srv .card-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}

.srv .svc-card {
background: #fff;
border-radius: 22px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.srv .svc-card:hover {
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.15);
transform: translateY(-6px);
}

.srv .svc-card__img-wrap {
position: relative;
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
}

.srv .svc-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
max-width: 100%;
display: block;
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.srv .svc-card:hover .svc-card__img-wrap img {
transform: scale(1.05);
}

.srv .svc-card__cap {
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 30%, rgba(166, 56, 190, 0.85) 100%);
display: flex;
align-items: flex-end;
padding: 16px;
opacity: 0;
transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.srv .svc-card:hover .svc-card__cap {
opacity: 1;
}

.srv .svc-card__cap-txt {
color: #fff;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
}

.srv .svc-card__tag {
display: inline-block;
background: #F5F3F9;
color: #A638BE;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
border-radius: 1px;
padding: 4px 8px;
margin: 16px 16px 0 16px;
}

.srv .svc-card__body {
padding: 16px;
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 8px;
}

.srv .svc-card__name {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1a3e;
}

.srv .svc-card__desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a3d5c;
flex: 1 1 auto;
}

.srv .svc-card__price-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 8px;
margin-top: 8px;
}

.srv .svc-card__price {
font-size: 22px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
font-weight: 700;
}

.srv .svc-card__price-terms {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #7a6a8a;
}

.srv .svc-card__note {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #7a6a8a;
}

.srv .svc-card__seats {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #A638BE;
font-weight: 600;
}

.srv .svc-card__foot {
padding: 16px;
border-top: 1px solid #F5F3F9;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 8px;
}

.srv .svc-card__link {
display: inline-block;
background: #A638BE;
color: #fff;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
padding: 8px 28px;
border-radius: 22px;
text-decoration: none;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.srv .svc-card__link:hover {
background: #8a2aa0;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.22);
}

.srv .svc-card__link:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

.srv .band-div--rev {
height: 4px;
background: linear-gradient(90deg, transparent 0%, #BF9FD7 40%, #A638BE 100%);
width: 100%;
}

.srv .process-area {
background: #2a1a3e;
padding: 56px 28px;
position: relative;
overflow: hidden;
}

.srv .process-area__bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.srv .process-area__bg::before {
content: '';
position: absolute;
width: 600px;
height: 600px;
border-radius: 50%;
background: radial-gradient(ellipse at 30% 50%, rgba(166, 56, 190, 0.18) 0%, transparent 70%);
top: 50%;
left: -100px;
transform: translateY(-50%);
}

.srv .process-area__bg::after {
content: '';
position: absolute;
width: 300px;
height: 300px;
border-radius: 50%;
border: 2px dotted rgba(191, 159, 215, 0.12);
top: 20px;
right: 60px;
}

.srv .process-area__inner {
max-width: 1140px;
margin: 0 auto;
}

.srv .process-area__h {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #BF9FD7;
text-transform: uppercase;
margin-bottom: 8px;
}

.srv .process-area__sub {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.02em;
color: #c8b8dc;
margin-bottom: 28px;
max-width: 560px;
}

.srv .steps-list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
}

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

.srv .step__num {
font-size: 30px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #A638BE;
font-weight: 700;
flex: 0 0 48px;
}

.srv .step__body {
flex: 1 1 0;
}

.srv .step__h {
font-size: 22px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #F5F3F9;
margin-bottom: 8px;
}

.srv .step__p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #c8b8dc;
}

.srv .expert-band {
background: #F5F3F9;
padding: 56px 28px;
}

.srv .expert-band__inner {
max-width: 1140px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 56px;
align-items: center;
}

.srv .expert-band__portrait {
flex: 0 0 120px;
}

.srv .expert-band__portrait-img {
width: 120px;
height: 120px;
border-radius: 50%;
object-fit: cover;
object-position: center;
display: block;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.12);
}

.srv .expert-band__txt {
flex: 1 1 0;
}

.srv .expert-band__quote {
font-size: 22px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2a1a3e;
margin-bottom: 16px;
}

.srv .expert-band__name {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #A638BE;
font-weight: 600;
}

.srv .expert-band__role {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #7a6a8a;
}

.srv .contact-strip {
padding: 56px 28px;
max-width: 1140px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 56px;
align-items: center;
justify-content: space-between;
}

.srv .contact-strip__txt {
flex: 1 1 0;
}

.srv .contact-strip__h {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #2a1a3e;
text-transform: uppercase;
margin-bottom: 8px;
}

.srv .contact-strip__p {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #3d2e52;
max-width: 480px;
}

.srv .contact-strip__form {
flex: 0 0 380px;
background: #fff;
border-radius: 22px;
padding: 28px;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.srv .form-field {
margin-bottom: 16px;
}

.srv .form-field label {
display: block;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d2e52;
margin-bottom: 4px;
}

.srv .form-field input,
.srv .form-field textarea {
width: 100%;
padding: 8px 16px;
border: 1px solid #BF9FD7;
border-radius: 1px;
font-size: 15px;
line-height: 1.6;
color: #2a1a3e;
background: #F5F3F9;
box-sizing: border-box;
transition: border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
}

.srv .form-field input::placeholder,
.srv .form-field textarea::placeholder {
color: #9a88b0;
text-overflow: ellipsis;
}

.srv .form-field input:focus,
.srv .form-field textarea:focus {
border-color: #A638BE;
box-shadow: inset 0 0 0 2px rgba(166, 56, 190, 0.12);
}

.srv .form-field textarea {
resize: vertical;
min-height: 80px;
}

.srv .form-submit {
width: 100%;
background: #A638BE;
color: #fff;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
padding: 8px 28px;
border: none;
border-radius: 22px;
cursor: pointer;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.srv .form-submit:hover {
background: #8a2aa0;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.22);
}

.srv .form-submit:focus {
outline: 2px solid #A638BE;
outline-offset: 2px;
}

@media (max-width: 960px) {
.srv .split-open {
flex-direction: column;
gap: 28px;
padding: 56px 16px;
}

.srv .split-open__txt {
padding: 16px;
order: 2;
}

.srv .split-open__img-zone {
flex: none;
width: 100%;
order: 1;
}

.srv .metrics-row__inner {
flex-direction: column;
gap: 28px;
}

.srv .metrics-row__lead {
flex: none;
width: 100%;
}

.srv .metrics-row__stats {
grid-template-columns: 1fr 1fr;
}

.srv .card-grid {
grid-template-columns: 1fr 1fr;
}

.srv .steps-list {
grid-template-columns: 1fr;
}

.srv .expert-band__inner {
flex-direction: column;
gap: 28px;
align-items: flex-start;
}

.srv .contact-strip {
flex-direction: column;
gap: 28px;
}

.srv .contact-strip__form {
flex: none;
width: 100%;
}
}

@media (max-width: 480px) {
.srv .split-open__h {
font-size: 22px;
}

.srv .split-open__num {
font-size: 30px;
}

.srv .metrics-row__stats {
grid-template-columns: 1fr;
}

.srv .card-grid {
grid-template-columns: 1fr;
}

.srv .card-grid-area {
padding: 28px 16px;
}

.srv .process-area {
padding: 28px 16px;
}

.srv .contact-strip {
padding: 28px 16px;
}

.srv .expert-band {
padding: 28px 16px;
}

.srv .metrics-row {
padding: 28px 16px;
}
}

.succ-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 56px 28px;
background: #F5F3F9;
}

.succ-pg .card {
background: #ffffff;
border-radius: 22px;
box-shadow: 2px 7px 25px -1px rgba(166, 56, 190, 0.10);
padding: 56px;
max-width: 560px;
width: 100%;
text-align: center;
}

.succ-pg .card__icon {
width: 64px;
height: 64px;
margin: 0 auto 28px;
display: flex;
align-items: center;
justify-content: center;
}

.succ-pg .card__icon svg {
width: 64px;
height: 64px;
}

.succ-pg .card__heading {
font-size: 30px;
line-height: 1.3;
letter-spacing: 0.01em;
color: #A638BE;
margin: 0 0 16px;
text-transform: uppercase;
}

.succ-pg .card__body {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #2d2d2d;
margin: 0 0 28px;
}

.succ-pg .card__detail {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #5a4a66;
margin: 0 0 28px;
padding: 16px;
background: #F5F3F9;
border-radius: 1px;
}

.succ-pg .card__detail strong {
color: #A638BE;
}

.succ-pg .card__divider {
width: 48px;
height: 2px;
background: linear-gradient(90deg, #A638BE, #BF9FD7);
border-radius: 1px;
margin: 0 auto 28px;
}

.succ-pg .btn-home {
display: inline-block;
padding: 16px 28px;
background: #A638BE;
color: #ffffff;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0.02em;
border-radius: 22px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease;
box-shadow: 2px 2px 5px -1px rgba(166, 56, 190, 0.07);
}

.succ-pg .btn-home:hover {
background: #8a2da0;
box-shadow: 2px 10px 52px -1px rgba(166, 56, 190, 0.12);
}

.succ-pg .btn-home:focus {
outline: 2px solid #A638BE;
outline-offset: 4px;
}

.succ-pg .btn-home:active {
background: #7a2590;
}

@media (max-width: 480px) {
.succ-pg {
padding: 28px 16px;
}

.succ-pg .card {
padding: 28px 16px;
}

.succ-pg .card__heading {
font-size: 22px;
}
}