html,
body {
margin: 0;
padding: 0
}

body {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
line-height: 1.6;
background-color: #fff;
color: #1b1030
}

.site-header {
position: relative;
background: linear-gradient(135deg, #fff 0%, #F5F5F8 100%);
border-bottom: 2px solid #704BC5;
box-shadow: 1px 4px 25px -1px #704bc514;
z-index: 100
}

.hd-frame {
max-width: 1366px;
margin: 0 auto;
padding: 0 28px
}

.hd-top-bar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 0 6px;
border-bottom: 1px solid #704bc51f;
gap: 28px
}

.hd-region {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
letter-spacing: .01em;
color: #4a3870
}

.hd-region-dot {
width: 8px;
height: 8px;
border-radius: 44px;
background-color: #704BC5;
flex-shrink: 0
}

.hd-contact-strip {
display: flex;
align-items: center;
gap: 28px;
font-size: 13px;
color: #4a3870;
letter-spacing: .01em
}

.hd-contact-strip a {
color: #4a3870;
text-decoration: none;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.hd-contact-strip a:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
border-radius: 6px
}

.hd-contact-strip a:hover {
color: #704BC5
}

.hd-main-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 0;
gap: 28px
}

.hd-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
text-decoration: none;
flex-shrink: 0
}

.hd-logo-box {
width: 60px;
height: 60px;
background-color: #f5f5f8e6;
border: 1px solid #704bc533;
box-shadow: 1px 3px 4px -1px #704bc512 0 0 0 3px #c39dd626;
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
border-radius: 0
}

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

.hd-brand-name {
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
color: #704BC5;
text-transform: uppercase
}

.hd-nav {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
justify-content: center;
flex: 1
}

.hd-nav a {
font-size: 16px;
font-weight: 400;
letter-spacing: .01em;
color: #1b1030;
text-decoration: none;
padding: 6px 14px;
border-radius: 6px;
transition: color .14s cubic-bezier(0.4, 0, 1, 1), background-color .14s cubic-bezier(0.4, 0, 1, 1);
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center
}

.hd-nav a:hover {
color: #704BC5;
background-color: #704bc50f
}

.hd-nav a:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
color: #704BC5
}

.hd-nav a.active {
color: #704BC5;
font-weight: 700
}

.hd-action {
flex-shrink: 0
}

.btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
letter-spacing: .01em;
color: #fff;
background-color: #704BC5;
border: 2px solid #704BC5;
border-radius: 16px;
padding: 14px 28px;
min-height: 44px;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 4px 25px -1px #704bc514
}

.btn-primary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background-color: #ffffff26;
transition: height .13s cubic-bezier(0.4, 0, 1, 1)
}

.btn-primary:hover::before {
height: 100%
}

.btn-primary:hover {
box-shadow: 1px 12px 52px -1px #704bc51c
}

.btn-primary:focus {
transform: scale(1.02);
outline: 2px solid #C39DD6;
outline-offset: 3px
}

@media (max-width: 768px) {
.hd-top-bar {
flex-wrap: wrap;
gap: 6px
}

.hd-contact-strip {
gap: 14px
}

.hd-main-row {
flex-wrap: wrap;
gap: 14px
}

.hd-nav {
order: 3;
width: 100%;
justify-content: center
}

.hd-nav a {
font-size: 13px;
padding: 6px 10px
}

.hd-action {
order: 2
}
}

@media (max-width: 375px) {
.hd-frame {
padding: 0 14px
}

.hd-contact-strip {
flex-wrap: wrap;
gap: 6px
}

.btn-primary {
font-size: 13px;
padding: 10px 14px
}
}

.site-footer {
background: linear-gradient(180deg, #F5F5F8 0%, #ede9f6 100%);
border-top: 2px solid #704bc52e;
box-shadow: 1px 3px 4px -1px #704bc512 inset
}

.ft-frame {
max-width: 1366px;
margin: 0 auto;
padding: 56px 28px 28px
}

.ft-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 56px;
margin-bottom: 56px
}

.ft-brand-col {
display: flex;
flex-direction: column;
gap: 14px
}

.ft-brand-link {
display: inline-flex;
align-items: center;
gap: 14px;
text-decoration: none;
width: fit-content
}

.ft-logo-box {
width: 60px;
height: 60px;
background-color: #fff;
border: 1px solid #704bc533;
box-shadow: 1px 3px 4px -1px #704bc512 0 0 0 3px #c39dd61f;
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
border-radius: 0;
flex-shrink: 0
}

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

.ft-brand-text {
display: flex;
flex-direction: column;
gap: 6px
}

.ft-brand-name {
font-size: 25px;
font-weight: 700;
letter-spacing: .01em;
color: #704BC5
}

.ft-brand-tag {
font-size: 13px;
color: #4a3870;
letter-spacing: .01em
}

.ft-desc {
font-size: 16px;
line-height: 1.6;
color: #3a2d5c;
letter-spacing: .01em;
max-width: 480px
}

.ft-addr-block {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 14px
}

.ft-addr-block address {
font-style: normal;
font-size: 13px;
line-height: 1.6;
color: #4a3870;
letter-spacing: .01em
}

.ft-addr-block a {
font-size: 13px;
color: #4a3870;
text-decoration: none;
letter-spacing: .01em;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ft-addr-block a:hover {
color: #704BC5
}

.ft-addr-block a:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
border-radius: 6px
}

.ft-links-col {
display: flex;
flex-direction: column;
gap: 14px
}

.ft-links-label {
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
color: #704BC5;
text-transform: uppercase
}

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

.ft-links-list li a {
font-size: 16px;
color: #3a2d5c;
text-decoration: none;
letter-spacing: .01em;
transition: color .12s cubic-bezier(0.4, 0, 1, 1);
display: inline-block;
padding: 6px 0;
min-height: 44px;
line-height: 1.9
}

.ft-links-list li a:hover {
color: #704BC5;
text-decoration: underline;
text-underline-offset: 3px
}

.ft-links-list li a:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
border-radius: 6px
}

.ft-bottom {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 28px;
border-top: 1px solid #704bc526;
flex-wrap: wrap;
gap: 14px
}

.ft-copy {
font-size: 13px;
color: #6b5e8a;
letter-spacing: .01em
}

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

.ft-frame {
padding: 28px 14px 14px
}

.ft-bottom {
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 375px) {
.ft-brand-link {
flex-direction: column;
align-items: flex-start
}
}

.ck-popup {
position: fixed;
top: 28px;
left: 28px;
width: 380px;
max-width: calc(100vw - 56px);
background: #fff;
border: 1px solid #704bc533;
border-radius: 16px;
box-shadow: 1px 12px 52px -1px #704bc51c;
z-index: 2000;
padding: 28px;
display: none;
transition: transform .32s cubic-bezier(0.4, 0, 1, 1), opacity .32s cubic-bezier(0.4, 0, 1, 1);
transform: translateY(-120%);
opacity: 0
}

.ck-popup.ck-visible {
transform: translateY(0);
opacity: 1
}

.ck-hdline {
font-size: 19px;
font-weight: 700;
letter-spacing: .01em;
color: #1b1030;
margin-bottom: 14px;
line-height: 1.2
}

.ck-body {
font-size: 13px;
line-height: 1.6;
color: #3a2d5c;
letter-spacing: .01em;
margin-bottom: 14px
}

.ck-cats {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 14px
}

.ck-cats .checkbox label {
font-size: 13px;
color: #3a2d5c
}

.ck-acts {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap
}

.ck-accept {
font-size: 13px;
font-weight: 700;
color: #704BC5;
background: none;
border: none;
cursor: pointer;
padding: 0;
text-decoration: underline;
text-underline-offset: 2px;
font-family: 'Public Sans', sans-serif;
letter-spacing: .01em;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ck-accept:hover {
color: #4a3870
}

.ck-accept:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
border-radius: 6px
}

.ck-decline {
font-size: 13px;
color: #6b5e8a;
background: none;
border: none;
cursor: pointer;
padding: 0;
text-decoration: underline;
text-underline-offset: 2px;
font-family: 'Public Sans', sans-serif;
letter-spacing: .01em;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ck-decline:hover {
color: #1b1030
}

.ck-decline:focus {
transform: scale(1.02);
outline: 2px solid #704BC5;
outline-offset: 2px;
border-radius: 6px
}

.text-policy {
max-width: 1366px;
margin: 0 auto;
padding: 56px 28px;
color: #2a1f3d;
line-height: 1.9
}

.text-policy h1 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
margin-bottom: 28px;
margin-top: 0;
-webkit-background-clip: unset
}

.text-policy h2 {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a1f3d;
margin-top: 56px;
margin-bottom: 14px;
padding-bottom: 6px;
border-bottom: 2px solid #C39DD6
}

.text-policy h3 {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #2a1f3d;
margin-top: 28px;
margin-bottom: 14px
}

.text-policy h4 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .02em;
color: #3d2a5c;
margin-top: 28px;
margin-bottom: 6px
}

.text-policy h5 {
font-size: 16px;
line-height: 1.6;
letter-spacing: .02em;
color: #3d2a5c;
margin-top: 14px;
margin-bottom: 6px
}

.text-policy h6 {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #704BC5;
text-transform: uppercase;
margin-top: 14px;
margin-bottom: 6px
}

.text-policy p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #2a1f3d;
margin-top: 0;
margin-bottom: 14px
}

.text-policy ul,
.text-policy ol {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #2a1f3d;
margin-top: 0;
margin-bottom: 14px;
padding-left: 28px
}

.text-policy ul {
list-style: none;
padding-left: 28px
}

.text-policy ul li {
position: relative;
padding-left: 14px;
margin-bottom: 6px
}

.text-policy ul li::before {
content: "";
position: absolute;
left: 0;
top: .72em;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: #704BC5
}

.text-policy ol {
list-style: decimal
}

.text-policy ol li {
padding-left: 6px;
margin-bottom: 6px
}

.text-policy ol li::marker {
color: #704BC5;
font-size: 16px
}

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

.text-policy a {
color: #704BC5;
text-decoration: underline;
text-decoration-color: #C39DD6;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), text-decoration-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.text-policy a:hover {
color: #5a3aa0;
text-decoration-color: #704BC5
}

.text-policy a:visited {
color: #8a6cc5
}

.text-policy hr {
border: none;
border-top: 1px solid #C39DD6;
margin-top: 56px;
margin-bottom: 56px;
opacity: .5
}

.text-policy div {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em
}

.text-policy div.notice-block {
background-color: #F5F5F8;
border-radius: 16px;
padding: 28px;
margin-top: 28px;
margin-bottom: 28px;
box-shadow: inset 1px 3px 4px -1px #704bc512
}

.text-policy div.highlight-block {
background-color: #F5F5F8;
border-radius: 6px;
padding: 14px 28px;
margin-top: 14px;
margin-bottom: 14px;
box-shadow: 1px 3px 4px -1px #704bc512
}

@media (max-width: 768px) {
.text-policy {
padding: 28px 14px
}

.text-policy h1 {
font-size: 34px
}

.text-policy h2 {
font-size: 25px;
margin-top: 28px
}

.text-policy h3 {
font-size: 19px
}

.text-policy h4 {
font-size: 16px
}

.text-policy h5,
.text-policy h6 {
font-size: 13px
}

.text-policy hr {
margin-top: 28px;
margin-bottom: 28px
}
}

@media (max-width: 375px) {
.text-policy {
padding: 28px 14px
}

.text-policy h1 {
font-size: 25px
}

.text-policy h2 {
font-size: 19px
}

.text-policy h3 {
font-size: 16px
}

.text-policy h4,
.text-policy h5,
.text-policy h6 {
font-size: 13px
}

.text-policy p,
.text-policy ul,
.text-policy ol,
.text-policy div {
font-size: 13px
}
}

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

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

.svc-det .color-fill-anim {
display: inline-block;
position: relative;
color: #704BC5
}

.svc-det .color-fill-anim::after {
content: '';
position: absolute;
left: 0;
bottom: -3px;
width: 0;
height: 3px;
background: linear-gradient(90deg, #704BC5, #C39DD6);
border-radius: 6px;
transition: width .15s cubic-bezier(0.4, 0, 1, 1)
}

.svc-det .color-fill-anim:hover::after {
width: 100%
}

.svc-det ::selection {
background: #704BC5;
color: #fff
}

.svc-det input::placeholder,
.svc-det textarea::placeholder {
color: inherit;
opacity: .4
}

.svc-det .chevron-div {
width: 100%;
overflow: hidden;
line-height: 0
}

.svc-det .chevron-div svg {
display: block;
width: 100%
}

.svc-det .chevron-div-2 {
width: 100%;
overflow: hidden;
line-height: 0
}

.svc-det .chevron-div-2 svg {
display: block;
width: 100%
}

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

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

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

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

.svc-det .meta-badge {
font-size: 13px;
line-height: 1.2;
letter-spacing: .02em;
color: #704BC5;
background: #F5F5F8;
padding: 6px 14px;
border-radius: 6px;
font-weight: 600
}

.svc-det .meta-sep {
width: 4px;
height: 4px;
border-radius: 6px;
background: #C39DD6;
display: inline-block
}

.svc-det .meta-stat {
font-size: 13px;
line-height: 1.2;
letter-spacing: .01em;
color: #555
}

.svc-det .ttl-h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #1a1230
}

.svc-det .ttl-h1 span.accent-word {
color: #704BC5
}

.svc-det .ttl-h1 span.rest-word {
color: #1a1230
}

.svc-det .ttl-subtext {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #3d3450;
margin: 0;
max-width: 560px
}

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

.svc-det .btn-prim {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 700;
color: #fff;
background: #704BC5;
border: 2px solid #704BC5;
border-radius: 16px;
padding: 14px 28px;
cursor: pointer;
overflow: hidden;
text-decoration: none;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 4px 25px -1px #704bc514
}

.svc-det .btn-prim::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5a38a8;
transition: height .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.svc-det .btn-prim:hover::before {
height: 100%
}

.svc-det .btn-prim:hover {
box-shadow: 1px 12px 52px -1px #704bc51c
}

.svc-det .btn-prim span {
position: relative;
z-index: 1
}

.svc-det .btn-prim:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 3px
}

.svc-det .btn-sec {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 600;
color: #704BC5;
background: transparent;
border: 2px solid #704BC5;
border-radius: 16px;
padding: 14px 28px;
cursor: pointer;
overflow: hidden;
text-decoration: none;
transition: color .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1)
}

.svc-det .btn-sec::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #F5F5F8;
transition: height .14s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.svc-det .btn-sec:hover::before {
height: 100%
}

.svc-det .btn-sec span {
position: relative;
z-index: 1
}

.svc-det .btn-sec:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 3px
}

.svc-det .ttl-price-box {
display: flex;
flex-direction: row;
align-items: baseline;
gap: 6px
}

.svc-det .price-label {
font-size: 13px;
line-height: 1.2;
letter-spacing: .02em;
color: #888;
font-weight: 500
}

.svc-det .price-val {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
font-weight: 800
}

.svc-det .seats-notice {
font-size: 13px;
line-height: 1.2;
letter-spacing: .01em;
color: #b05a00;
background: #fff7ed;
border-radius: 6px;
padding: 6px 14px;
font-weight: 600;
display: inline-block
}

.svc-det .ttl-right {
display: flex;
flex-direction: column;
gap: 14px;
position: relative
}

.svc-det .img-frame {
position: relative;
border-radius: 16px;
overflow: hidden;
aspect-ratio: 3/4;
box-shadow: 1px 12px 52px -1px #704bc51c
}

.svc-det .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.22) contrast(1.08) brightness(0.97) saturate(1.1)
}

.svc-det .img-deco-shape {
position: absolute;
top: -20px;
right: -20px;
width: 90px;
height: 90px;
border-radius: 28px;
background: linear-gradient(135deg, #704bc521, #c39dd617);
pointer-events: none
}

.svc-det .img-deco-circle {
position: absolute;
bottom: -14px;
left: -14px;
width: 56px;
height: 56px;
border-radius: 44px;
background: #c39dd62e;
pointer-events: none
}

.svc-det .curve-connector {
display: block;
margin: 14px 0 0
}

.svc-det .desc-sec {
background: #F5F5F8;
padding: 56px 0;
position: relative
}

.svc-det .desc-sec .pg-body {
position: relative
}

.svc-det .radial-spot {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 400px;
background: radial-gradient(ellipse 55% 55% at center, #c39dd621 0%, transparent 80%);
pointer-events: none;
z-index: 0
}

.svc-det .desc-grid {
display: grid;
grid-template-columns: 200px 1fr;
gap: 56px;
align-items: start;
position: relative;
z-index: 1
}

.svc-det .desc-label-col {
display: flex;
flex-direction: column;
gap: 28px;
text-align: right
}

.svc-det .desc-vert-label {
font-size: 13px;
line-height: 1.9;
letter-spacing: .02em;
color: #704BC5;
font-weight: 700;
text-transform: uppercase
}

.svc-det .desc-accent-line {
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent, #704BC5);
border-radius: 6px
}

.svc-det .desc-body-col {
display: flex;
flex-direction: column;
gap: 28px
}

.svc-det .desc-two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px
}

.svc-det .desc-col-p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #2d2540;
margin: 0
}

.svc-det .desc-body-col h2 {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #1a1230
}

.svc-det .desc-body-col h2 .fw {
color: #704BC5
}

.svc-det .desc-body-col h3 {
font-size: 19px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #1a1230
}

.svc-det .desc-body-col mark {
background: linear-gradient(90deg, #704bc51f, #c39dd61f);
color: #1a1230;
border-radius: 6px;
padding: 2px 6px
}

.svc-det .desc-body-col ul {
margin: 0;
padding: 0 0 0 14px;
display: flex;
flex-direction: column;
gap: 6px
}

.svc-det .desc-body-col ul li {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #2d2540
}

.svc-det .desc-body-col blockquote {
margin: 0;
padding: 14px 28px;
background: #fff;
border-radius: 16px;
box-shadow: 1px 3px 4px -1px #704bc512
}

.svc-det .desc-body-col blockquote p {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #3d3450;
margin: 0;
font-style: italic
}

.svc-det .desc-body-col blockquote cite {
font-size: 13px;
line-height: 1.2;
letter-spacing: .02em;
color: #704BC5;
font-style: normal;
font-weight: 600;
display: block;
margin-top: 6px
}

.svc-det .desc-body-col details {
background: #fff;
border-radius: 16px;
padding: 14px 28px;
box-shadow: 1px 3px 4px -1px #704bc512
}

.svc-det .desc-body-col summary {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #704BC5;
font-weight: 700;
cursor: pointer;
list-style: none
}

.svc-det .desc-body-col summary::-webkit-details-marker {
display: none
}

.svc-det .desc-body-col details p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #2d2540;
margin: 14px 0 0
}

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

.svc-det .prog-sec .pg-body {
display: flex;
flex-direction: column;
gap: 56px
}

.svc-det .prog-hdr {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 28px
}

.svc-det .prog-hdr-left {
display: flex;
flex-direction: column;
gap: 14px
}

.svc-det .prog-eyebrow {
font-size: 13px;
line-height: 1.2;
letter-spacing: .02em;
color: #704BC5;
font-weight: 700;
text-transform: uppercase
}

.svc-det .prog-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #1a1230
}

.svc-det .prog-h2 .fw {
color: #704BC5
}

.svc-det .prog-hdr-right {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #555;
max-width: 320px;
text-align: right
}

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

.svc-det .prog-body h2 {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #1a1230
}

.svc-det .prog-body h2 .fw {
color: #704BC5
}

.svc-det .prog-body p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #2d2540;
margin: 0
}

.svc-det .prog-body strong {
color: #704BC5;
font-weight: 700
}

.svc-det .prog-body ul,
.svc-det .prog-body ol {
margin: 0;
padding: 0 0 0 14px;
display: flex;
flex-direction: column;
gap: 6px
}

.svc-det .prog-body ul li,
.svc-det .prog-body ol li {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #2d2540
}

.svc-det .prog-body dl {
display: flex;
flex-direction: column;
gap: 14px;
margin: 0
}

.svc-det .prog-body dt {
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
font-weight: 700
}

.svc-det .prog-body dd {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #2d2540;
margin: 0 0 0 14px
}

.svc-det .prog-body blockquote {
margin: 0;
padding: 14px 28px;
background: #F5F5F8;
border-radius: 16px
}

.svc-det .prog-body blockquote p {
font-style: italic;
color: #3d3450
}

.svc-det .prog-body blockquote cite {
font-size: 13px;
color: #704BC5;
font-weight: 600;
font-style: normal;
display: block;
margin-top: 6px
}

.svc-det .prog-body figure {
margin: 0;
display: flex;
flex-direction: column;
gap: 6px
}

.svc-det .prog-body figcaption {
font-size: 13px;
line-height: 1.6;
letter-spacing: .01em;
color: #888;
font-style: italic
}

.svc-det .prog-stage-card {
background: #F5F5F8;
border-radius: 16px;
padding: 28px;
box-shadow: inset 1px 3px 4px -1px #704bc512;
display: flex;
flex-direction: column;
gap: 14px;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.svc-det .prog-stage-card:hover {
box-shadow: inset 1px 3px 4px -1px #704bc512 1px 12px 52px -1px #704bc51c
}

.svc-det .prog-stage-num {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #704bc51f;
font-weight: 900;
line-height: 1
}

.svc-det .enroll-sec {
background: linear-gradient(158deg, #704BC5 0%, #C39DD6 100%);
padding: 96px 0;
position: relative
}

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

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

.svc-det .enroll-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0;
color: #fff
}

.svc-det .enroll-h2 .fw {
color: #F5F5F8;
opacity: .7
}

.svc-det .enroll-desc {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffe0;
margin: 0
}

.svc-det .enroll-facts {
display: flex;
flex-direction: column;
gap: 14px
}

.svc-det .enroll-fact {
display: flex;
flex-direction: row;
align-items: center;
gap: 14px
}

.svc-det .fact-dot {
width: 8px;
height: 8px;
border-radius: 44px;
background: #fff9;
flex-shrink: 0
}

.svc-det .fact-txt {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffe0
}

.svc-det .enroll-form-box {
background: #fff;
border-radius: 28px;
padding: 56px;
box-shadow: 1px 12px 52px -1px #704bc51c;
display: flex;
flex-direction: column;
gap: 28px
}

.svc-det .form-ttl {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #1a1230;
margin: 0;
font-weight: 700
}

.svc-det .form-ttl .fw {
color: #704BC5
}

.svc-det .form-price-row {
display: flex;
flex-direction: row;
align-items: baseline;
gap: 6px
}

.svc-det .form-price-lbl {
font-size: 13px;
color: #888;
font-weight: 500
}

.svc-det .form-price-num {
font-size: 34px;
line-height: 1.2;
color: #704BC5;
font-weight: 800;
letter-spacing: .01em
}

.svc-det .form-seats {
font-size: 13px;
color: #b05a00;
background: #fff7ed;
border-radius: 6px;
padding: 6px 14px;
font-weight: 600;
display: inline-block;
margin-top: -14px
}

.svc-det .frm {
display: flex;
flex-direction: column;
gap: 14px
}

.svc-det .frm-row {
display: flex;
flex-direction: column;
gap: 6px
}

.svc-det .frm-lbl {
font-size: 13px;
line-height: 1.2;
letter-spacing: .01em;
color: #3d3450;
font-weight: 600
}

.svc-det .frm-inp {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #1a1230;
background: #F5F5F8;
border: 2px solid transparent;
border-radius: 16px;
padding: 14px;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
outline: none
}

.svc-det .frm-inp:focus {
border-color: #704BC5;
box-shadow: 1px 4px 25px -1px #704bc514
}

.svc-det .frm-inp:focus-visible {
outline: 3px solid #704bc54d;
outline-offset: 2px
}

.svc-det .frm-check-row {
display: flex;
flex-direction: column;
gap: 6px
}

.svc-det .abc-checkbox label {
font-size: 13px;
line-height: 1.6;
letter-spacing: .01em;
color: #3d3450
}

.svc-det .abc-checkbox label a {
color: #704BC5;
text-decoration: underline
}

.svc-det .btn-submit {
position: relative;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 700;
color: #fff;
background: #704BC5;
border: none;
border-radius: 16px;
padding: 14px 28px;
cursor: pointer;
overflow: hidden;
transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 4px 25px -1px #704bc514;
width: 100%
}

.svc-det .btn-submit::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #5a38a8;
transition: height .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.svc-det .btn-submit:hover::before {
height: 100%
}

.svc-det .btn-submit:hover {
box-shadow: 1px 12px 52px -1px #704bc51c
}

.svc-det .btn-submit span {
position: relative;
z-index: 1
}

.svc-det .btn-submit:focus-visible {
outline: 3px solid #fffc;
outline-offset: 3px
}

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

.svc-det .ttl-h1 {
font-size: 46px
}

.svc-det .prog-h2 {
font-size: 34px
}

.svc-det .enroll-sec .pg-body {
grid-template-columns: 1fr 400px
}
}

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

.svc-det .ttl-right {
order: -1
}

.svc-det .img-frame {
aspect-ratio: 16/9
}

.svc-det .ttl-h1 {
font-size: 34px
}

.svc-det .desc-grid {
grid-template-columns: 1fr;
gap: 28px
}

.svc-det .desc-label-col {
text-align: left
}

.svc-det .desc-accent-line {
background: linear-gradient(90deg, #704BC5, transparent)
}

.svc-det .desc-two-col {
grid-template-columns: 1fr;
gap: 14px
}

.svc-det .prog-hdr {
flex-direction: column;
align-items: flex-start;
gap: 14px
}

.svc-det .prog-hdr-right {
text-align: left;
max-width: 100%
}

.svc-det .prog-h2 {
font-size: 25px
}

.svc-det .enroll-sec .pg-body {
grid-template-columns: 1fr;
gap: 28px
}

.svc-det .enroll-h2 {
font-size: 34px
}

.svc-det .enroll-form-box {
padding: 28px
}

.svc-det .enroll-sec {
padding: 56px 0
}
}

@media (max-width: 375px) {
.svc-det .pg-body {
padding: 0 14px
}

.svc-det .ttl-h1 {
font-size: 25px
}

.svc-det .enroll-h2 {
font-size: 25px
}

.svc-det .enroll-form-box {
padding: 14px
}

.svc-det .price-val,
.svc-det .form-price-num {
font-size: 25px
}
}

.srv-pg {
max-width: 1366px;
margin: 0 auto;
overflow-x: clip
}

.srv-pg .pg-band {
padding: 96px 56px 56px;
position: relative
}

.srv-pg .pg-band::before {
content: '';
position: absolute;
top: 0;
left: 56px;
width: 3px;
height: 64px;
background: #704BC5
}

.srv-pg .band-eyebrow {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
margin-bottom: 14px;
text-transform: uppercase
}

.srv-pg .band-heading {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
margin-bottom: 28px;
max-width: 700px
}

.srv-pg .band-heading .accent-word {
color: #704BC5
}

.srv-pg .band-sub {
font-size: 19px;
line-height: 1.6;
color: #3a3a52;
max-width: 520px;
letter-spacing: .01em
}

.srv-pg .mosaic-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
padding: 0 56px 96px;
align-items: start
}

.srv-pg .mosaic-text {
padding: 56px 28px 56px 0
}

.srv-pg .mosaic-text .mt-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
margin-bottom: 14px
}

.srv-pg .mosaic-text .mt-head {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
margin-bottom: 28px
}

.srv-pg .mosaic-text .mt-head .accent-word {
color: #704BC5
}

.srv-pg .mosaic-text .mt-body {
font-size: 16px;
line-height: 1.9;
color: #3a3a52;
letter-spacing: .01em;
margin-bottom: 28px
}

.srv-pg .mosaic-imgs {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 14px
}

.srv-pg .mimg-frame {
overflow: hidden;
border-radius: 16px;
box-shadow: 1px 4px 25px -1px #704bc514;
position: relative
}

.srv-pg .mimg-frame.tall {
grid-row: span 2
}

.srv-pg .mimg-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .mimg-frame:hover img {
transform: scale(1.04)
}

.srv-pg .mimg-frame .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg, #704bc52e 0%, #c39dd614 100%);
pointer-events: none
}

.srv-pg .divider-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 14px;
padding: 0 56px 56px
}

.srv-pg .divider-line {
width: 56px;
height: 2px;
background: #C39DD6;
border-radius: 6px
}

.srv-pg .divider-shape {
width: 10px;
height: 10px;
background: #704BC5;
border-radius: 6px;
transform: rotate(45deg);
transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .divider-shape:hover {
transform: rotate(90deg)
}

.srv-pg .cards-area {
padding: 0 56px 96px
}

.srv-pg .cards-head {
margin-bottom: 56px
}

.srv-pg .cards-head .ch-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
margin-bottom: 14px
}

.srv-pg .cards-head .ch-title {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e
}

.srv-pg .cards-head .ch-title .accent-word {
color: #704BC5
}

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

.srv-pg .svc-card {
background: #fff;
border-radius: 16px;
box-shadow: 1px 3px 4px -1px #704bc512 1px 4px 25px -1px #704bc514;
overflow: hidden;
display: flex;
flex-direction: column;
text-decoration: none;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1);
border: 1.5px solid #F5F5F8;
position: relative
}

.srv-pg .svc-card:hover {
box-shadow: 1px 12px 52px -1px #704bc51c;
transform: translateY(-3px) rotate(-0.5deg)
}

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

.srv-pg .card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

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

.srv-pg .card-img-wrap .card-img-grad {
position: absolute;
inset: 0;
background: linear-gradient(180deg, #704bc50f 0%, #c39dd638 100%);
pointer-events: none
}

.srv-pg .card-badge {
position: absolute;
top: 14px;
right: 14px;
background: #704bc5eb;
color: #fff;
font-size: 13px;
line-height: 1.2;
letter-spacing: .01em;
padding: 6px 14px;
border-radius: 28px
}

.srv-pg .card-body {
padding: 28px;
display: flex;
flex-direction: column;
flex: 1;
gap: 14px
}

.srv-pg .card-title {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1b2e;
font-weight: 700
}

.srv-pg .card-desc {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a52;
flex: 1
}

.srv-pg .card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 14px;
flex-wrap: wrap
}

.srv-pg .card-meta-item {
font-size: 13px;
line-height: 1.6;
color: #704BC5;
letter-spacing: .01em;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px
}

.srv-pg .card-meta-item svg {
width: 14px;
height: 14px;
flex-shrink: 0
}

.srv-pg .card-meta-item.seats {
color: #b05e00
}

.srv-pg .card-footer-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 14px 28px 28px;
border-top: 1px solid #F5F5F8;
gap: 14px
}

.srv-pg .card-price {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
font-weight: 700
}

.srv-pg .card-cta {
display: inline-block;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
background: transparent;
border: 2px solid #704BC5;
border-radius: 6px;
padding: 6px 28px;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
transition: color .14s cubic-bezier(0.4, 0, 1, 1);
z-index: 1
}

.srv-pg .card-cta::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #704BC5;
z-index: -1;
transition: height .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .card-cta:hover {
color: #fff
}

.srv-pg .card-cta:hover::before {
height: 100%
}

.srv-pg .card-cta:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 2px
}

.srv-pg .views-chip {
font-size: 13px;
line-height: 1.6;
color: #704BC5;
background: #F5F5F8;
border-radius: 28px;
padding: 6px 14px;
letter-spacing: .01em
}

.srv-pg .approach-area {
background: #F5F5F8;
padding: 96px 56px;
position: relative
}

.srv-pg .approach-area::after {
content: '';
position: absolute;
top: 28px;
right: 56px;
width: 80px;
height: 80px;
border: 2px solid #C39DD6;
border-radius: 44px;
pointer-events: none
}

.srv-pg .approach-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start
}

.srv-pg .approach-left .al-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
margin-bottom: 14px
}

.srv-pg .approach-left .al-title {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
margin-bottom: 28px
}

.srv-pg .approach-left .al-title .accent-word {
color: #704BC5
}

.srv-pg .approach-left .al-body {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a52
}

.srv-pg .approach-right {
display: flex;
flex-direction: column;
gap: 14px
}

.srv-pg .ap-item {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 3px 4px -1px #704bc512;
display: grid;
grid-template-columns: 40px 1fr;
gap: 14px;
align-items: start;
box-shadow: inset 0 2px 8px #704bc50d 1px 3px 4px -1px #704bc512;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .ap-item:hover {
box-shadow: inset 0 2px 8px #704bc50d 1px 12px 52px -1px #704bc51c
}

.srv-pg .ap-icon {
width: 40px;
height: 40px;
border-radius: 6px;
background: linear-gradient(135deg, #704BC5 0%, #C39DD6 100%);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .ap-item:hover .ap-icon {
transform: rotate(8deg)
}

.srv-pg .ap-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: #fff;
stroke-width: 2
}

.srv-pg .ap-text .apt-title {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1b2e;
font-weight: 700;
margin-bottom: 6px
}

.srv-pg .ap-text .apt-desc {
font-size: 13px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a52
}

.srv-pg .divider-row2 {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 14px;
padding: 56px 56px 0
}

.srv-pg .metrics-area {
padding: 56px 56px 96px;
background: #fff
}

.srv-pg .metrics-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center
}

.srv-pg .metrics-img-col {
position: relative
}

.srv-pg .met-img-wrap {
overflow: hidden;
border-radius: 28px;
aspect-ratio: 4/3;
box-shadow: 1px 4px 25px -1px #704bc514;
position: relative
}

.srv-pg .met-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .met-img-wrap:hover img {
transform: scale(1.04)
}

.srv-pg .met-img-wrap .met-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(200deg, #704bc526 0%, #c39dd61f 100%);
pointer-events: none
}

.srv-pg .met-dbl-border {
position: absolute;
bottom: -14px;
right: -14px;
width: 80px;
height: 80px;
border: 2px solid #704BC5;
border-radius: 16px;
pointer-events: none
}

.srv-pg .met-dbl-border::before {
content: '';
position: absolute;
inset: 6px;
border: 2px solid #C39DD6;
border-radius: 6px
}

.srv-pg .metrics-data-col {
display: flex;
flex-direction: column;
gap: 28px
}

.srv-pg .md-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6
}

.srv-pg .md-title {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e
}

.srv-pg .md-title .accent-word {
color: #704BC5
}

.srv-pg .md-body {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a52
}

.srv-pg .metrics-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px
}

.srv-pg .met-stat {
background: #F5F5F8;
border-radius: 16px;
padding: 28px 14px;
text-align: right;
box-shadow: inset 0 2px 6px #704bc50f;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .met-stat:hover {
box-shadow: inset 0 2px 6px #704bc50f 1px 4px 25px -1px #704bc514
}

.srv-pg .met-stat .ms-num {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
font-weight: 700;
display: block
}

.srv-pg .met-stat .ms-label {
font-size: 13px;
line-height: 1.6;
letter-spacing: .01em;
color: #3a3a52;
display: block;
margin-top: 6px
}

.srv-pg .testimonials-area {
background: linear-gradient(155deg, #704BC5 0%, #C39DD6 100%);
padding: 96px 56px;
position: relative
}

.srv-pg .testimonials-area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(./visuals/halfbtn4.jpg) center/cover no-repeat;
opacity: .12;
pointer-events: none
}

.srv-pg .test-head {
text-align: right;
margin-bottom: 56px;
position: relative
}

.srv-pg .test-head .th-label {
font-size: 13px;
letter-spacing: .02em;
color: #ffffffbf;
line-height: 1.6;
margin-bottom: 14px
}

.srv-pg .test-head .th-title {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff
}

.srv-pg .test-head .th-title .accent-word {
color: #F5F5F8;
-webkit-background-clip: unset;
background-clip: unset
}

.srv-pg .test-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
position: relative
}

.srv-pg .test-card {
background: #ffffff24;
border-radius: 16px;
padding: 28px;
border: 1px solid #ffffff38;
display: grid;
grid-template-columns: 80px 1fr;
gap: 28px;
align-items: start;
transition: background .15s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .test-card:hover {
background: #ffffff38
}

.srv-pg .test-portrait {
width: 80px;
height: 120px;
overflow: hidden;
flex-shrink: 0
}

.srv-pg .test-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .test-card:hover .test-portrait img {
transform: scale(1.04)
}

.srv-pg .test-content .tc-quote {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #fff;
margin-bottom: 14px
}

.srv-pg .test-content .tc-name {
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #ffffffe6;
font-weight: 700
}

.srv-pg .test-content .tc-role {
font-size: 13px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffa6;
margin-top: 6px
}

.srv-pg .cta-area {
padding: 96px 56px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
background: #fff
}

.srv-pg .cta-text .ct-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
margin-bottom: 14px
}

.srv-pg .cta-text .ct-title {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
margin-bottom: 28px
}

.srv-pg .cta-text .ct-title .accent-word {
color: #704BC5
}

.srv-pg .cta-text .ct-body {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3a52;
margin-bottom: 28px
}

.srv-pg .cta-btns {
display: flex;
flex-direction: row;
gap: 14px;
flex-wrap: wrap
}

.srv-pg .btn-primary {
display: inline-block;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
background: #704BC5;
border: 2px solid #704BC5;
border-radius: 6px;
padding: 14px 28px;
text-decoration: none;
font-weight: 700;
position: relative;
overflow: hidden;
transition: color .14s cubic-bezier(0.4, 0, 1, 1), background .14s cubic-bezier(0.4, 0, 1, 1);
cursor: pointer
}

.srv-pg .btn-primary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #1b1b2e;
z-index: 0;
transition: height .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .btn-primary:hover {
color: #fff
}

.srv-pg .btn-primary:hover::before {
height: 100%
}

.srv-pg .btn-primary span {
position: relative;
z-index: 1
}

.srv-pg .btn-secondary {
display: inline-block;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
background: transparent;
border: 2px solid #C39DD6;
border-radius: 6px;
padding: 14px 28px;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
transition: color .16s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .btn-secondary::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #C39DD6;
z-index: 0;
transition: height .16s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .btn-secondary:hover {
color: #1b1b2e
}

.srv-pg .btn-secondary:hover::before {
height: 100%
}

.srv-pg .btn-secondary span {
position: relative;
z-index: 1
}

.srv-pg .btn-primary:focus-visible,
.srv-pg .btn-secondary:focus-visible,
.srv-pg .card-cta:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 2px
}

.srv-pg .cta-form-col {
background: #F5F5F8;
border-radius: 28px;
padding: 56px;
box-shadow: inset 0 2px 8px #704bc50f 1px 4px 25px -1px #704bc514
}

.srv-pg .cta-form-col .form-title {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1b2e;
margin-bottom: 28px;
font-weight: 700
}

.srv-pg .cta-form-col .form-title .accent-word {
color: #704BC5
}

.srv-pg .cta-form {
display: flex;
flex-direction: column;
gap: 14px
}

.srv-pg .form-field {
display: flex;
flex-direction: column;
gap: 6px
}

.srv-pg .form-field label {
font-size: 13px;
line-height: 1.6;
letter-spacing: .01em;
color: #3a3a52;
font-weight: 600
}

.srv-pg .form-field input,
.srv-pg .form-field select {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1b2e;
background: #fff;
border: 1.5px solid #C39DD6;
border-radius: 6px;
padding: 14px;
transition: border-color .13s cubic-bezier(0.4, 0, 1, 1), box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
outline: none
}

.srv-pg .form-field input::placeholder {
color: #1a1a2e66
}

.srv-pg .form-field input:focus,
.srv-pg .form-field select:focus {
border-color: #704BC5;
box-shadow: 1px 3px 4px -1px #704bc512
}

.srv-pg .form-check-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 14px
}

.srv-pg .cta-form .form-submit {
margin-top: 6px;
width: 100%;
text-align: center;
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
background: #704BC5;
border: none;
border-radius: 6px;
padding: 14px 28px;
font-weight: 700;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .cta-form .form-submit::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #1b1b2e;
z-index: 0;
transition: height .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .cta-form .form-submit:hover::before {
height: 100%
}

.srv-pg .cta-form .form-submit span {
position: relative;
z-index: 1
}

.srv-pg .cta-form .form-submit:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 2px
}

@media (max-width: 1366px) {

.srv-pg .pg-band,
.srv-pg .mosaic-row,
.srv-pg .cards-area,
.srv-pg .approach-area,
.srv-pg .metrics-area,
.srv-pg .testimonials-area,
.srv-pg .cta-area,
.srv-pg .divider-row,
.srv-pg .divider-row2 {
padding-left: 28px;
padding-right: 28px
}

.srv-pg .mosaic-row {
padding-left: 28px;
padding-right: 28px
}
}

@media (max-width: 768px) {
.srv-pg .pg-band {
padding: 56px 28px 28px
}

.srv-pg .pg-band::before {
left: 28px
}

.srv-pg .band-heading {
font-size: 46px
}

.srv-pg .mosaic-row {
grid-template-columns: 1fr;
padding: 0 28px 56px;
gap: 28px
}

.srv-pg .mosaic-text {
padding: 0
}

.srv-pg .mosaic-imgs {
grid-template-columns: 1fr 1fr;
grid-template-rows: auto
}

.srv-pg .mimg-frame.tall {
grid-row: span 1
}

.srv-pg .cards-area {
padding: 0 28px 56px
}

.srv-pg .card-grid {
grid-template-columns: 1fr;
gap: 28px
}

.srv-pg .cards-head .ch-title {
font-size: 34px
}

.srv-pg .approach-area {
padding: 56px 28px
}

.srv-pg .approach-grid {
grid-template-columns: 1fr;
gap: 28px
}

.srv-pg .metrics-area {
padding: 56px 28px
}

.srv-pg .metrics-inner {
grid-template-columns: 1fr;
gap: 28px
}

.srv-pg .testimonials-area {
padding: 56px 28px
}

.srv-pg .test-head .th-title {
font-size: 34px
}

.srv-pg .test-grid {
grid-template-columns: 1fr;
gap: 28px
}

.srv-pg .cta-area {
grid-template-columns: 1fr;
padding: 56px 28px;
gap: 28px
}

.srv-pg .cta-text .ct-title {
font-size: 34px
}

.srv-pg .cta-form-col {
padding: 28px
}

.srv-pg .divider-row,
.srv-pg .divider-row2 {
padding-left: 28px;
padding-right: 28px
}
}

@media (max-width: 375px) {
.srv-pg .band-heading {
font-size: 34px
}

.srv-pg .mosaic-imgs {
grid-template-columns: 1fr
}

.srv-pg .metrics-list {
grid-template-columns: 1fr
}

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

.srv-pg .cta-btns {
flex-direction: column
}

.srv-pg .approach-area::after {
display: none
}
}

.onbrd {
max-width: 1366px;
margin: 0 auto;
overflow-x: clip;
position: relative
}

.onbrd .schema-data {
display: none
}

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

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

@keyframes seq-fade {
from {
opacity: 0;
transform: translateY(14px)
}

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

.onbrd .tb {
display: grid;
grid-template-columns: 1fr 380px;
gap: 56px;
padding: 96px 56px 56px;
background: #fff;
position: relative
}

.onbrd .tb-deco {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.onbrd .tb-deco::before {
content: "";
position: absolute;
top: -40px;
right: 120px;
width: 220px;
height: 220px;
border: 1px solid #704bc51a;
border-radius: 44px;
transform: rotate(18deg)
}

.onbrd .tb-deco::after {
content: "";
position: absolute;
top: 20px;
right: 80px;
width: 140px;
height: 140px;
border: 1px solid #c39dd621;
border-radius: 28px;
transform: rotate(34deg)
}

.onbrd .tb-geo {
position: absolute;
bottom: 56px;
left: 40px;
width: 80px;
height: 80px;
border: 1px solid #704bc514;
border-radius: 16px;
transform: rotate(-12deg);
pointer-events: none
}

.onbrd .tb-left {
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: 28px;
animation: clip-expand .16s cubic-bezier(0.4, 0, 1, 1) both
}

.onbrd .tb-eyebrow {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
line-height: 1.6;
font-weight: 600;
text-transform: uppercase;
animation: seq-fade .14s cubic-bezier(0.4, 0, 1, 1) .05s both
}

.onbrd .tb-heading {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
color: #1e1532;
margin: 0;
animation: seq-fade .14s cubic-bezier(0.4, 0, 1, 1) .09s both
}

.onbrd .tb-heading span {
color: #704BC5
}

.onbrd .tb-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #fff;
background: #704BC5;
padding: 14px 28px;
border-radius: 6px;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
border: 2px solid #704BC5;
transition: color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s ease-in;
animation: seq-fade .14s cubic-bezier(0.4, 0, 1, 1) .13s both;
align-self: flex-start
}

.onbrd .tb-link::before {
content: "";
position: absolute;
inset: 0;
background: #1e1532;
transform: scaleY(0);
transform-origin: bottom;
transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.onbrd .tb-link:hover::before {
transform: scaleY(1)
}

.onbrd .tb-link:hover {
color: #fff;
box-shadow: 1px 4px 25px -1px #704bc514
}

.onbrd .tb-link:focus-visible {
outline: 3px solid #704BC5;
outline-offset: 3px
}

.onbrd .tb-link-txt {
position: relative
}

.onbrd .tb-right {
display: flex;
align-items: flex-end;
animation: seq-fade .14s cubic-bezier(0.4, 0, 1, 1) .11s both
}

.onbrd .tb-card {
width: 100%;
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 12px 52px -1px #704bc51c;
position: relative
}

.onbrd .tb-card::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #704bc52e 0%, #c39dd61a 100%);
pointer-events: none
}

.onbrd .tb-img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.onbrd .div-double {
height: 8px;
background: #F5F5F8;
border-top: 2px solid #704bc52e;
border-bottom: 2px solid #c39dd638;
margin: 0 56px
}

.onbrd .proc {
padding: 96px 56px;
background: #F5F5F8;
position: relative
}

.onbrd .proc-bg {
position: absolute;
inset: 0;
background-image: url(./visuals/DSCN7191.jpg);
background-size: cover;
background-position: center;
background-attachment: fixed;
opacity: .04;
pointer-events: none
}

.onbrd .proc-head {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
margin-bottom: 56px
}

.onbrd .proc-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
font-weight: 600;
text-transform: uppercase;
line-height: 1.6;
margin-bottom: 14px
}

.onbrd .proc-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #1e1532;
margin: 0
}

.onbrd .proc-h2 span {
color: #C39DD6
}

.onbrd .proc-desc {
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: 14px
}

.onbrd .proc-p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a2d55;
margin: 0
}

.onbrd .matrix {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 6px;
margin-bottom: 56px;
position: relative
}

.onbrd .matrix-axis-x {
position: absolute;
bottom: -20px;
left: 50%;
transform: translateX(-50%);
font-size: 13px;
color: #704bc580;
letter-spacing: .02em;
pointer-events: none
}

.onbrd .mx-cell {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 3px 4px -1px #704bc512;
position: relative;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .12s ease-in
}

.onbrd .mx-cell:hover {
box-shadow: 1px 4px 25px -1px #704bc514;
transform: translateY(-2px)
}

.onbrd .mx-cell.priority {
background: linear-gradient(138deg, #704BC5 0%, #C39DD6 100%)
}

.onbrd .mx-cell.priority .mx-num,
.onbrd .mx-cell.priority .mx-h,
.onbrd .mx-cell.priority .mx-txt {
color: #fff
}

.onbrd .mx-cell.secondary {
background: #fff;
border: 1px solid #704bc51f
}

.onbrd .mx-num {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 700;
color: #704BC5;
margin-bottom: 6px
}

.onbrd .mx-h {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
font-weight: 600;
color: #1e1532;
margin: 0 0 14px
}

.onbrd .mx-txt {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a2d55;
margin: 0
}

.onbrd .mx-badge {
position: absolute;
top: 14px;
right: 14px;
font-size: 13px;
letter-spacing: .01em;
color: #ffffffd9;
background: #ffffff2e;
border-radius: 6px;
padding: 6px 14px;
font-weight: 600
}

.onbrd .mx-badge.dark {
color: #704BC5;
background: #704bc514
}

.onbrd .steps-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
margin-top: 56px
}

.onbrd .step-item {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: inset 1px 3px 4px -1px #704bc512;
display: flex;
flex-direction: column;
gap: 14px;
animation: seq-fade .13s cubic-bezier(0.4, 0, 1, 1) both
}

.onbrd .step-item:nth-child(1) {
animation-delay: .04s
}

.onbrd .step-item:nth-child(2) {
animation-delay: .08s
}

.onbrd .step-item:nth-child(3) {
animation-delay: .12s
}

.onbrd .step-item:nth-child(4) {
animation-delay: .16s
}

.onbrd .step-num {
width: 44px;
height: 44px;
border-radius: 44px;
background: linear-gradient(138deg, #704BC5 0%, #C39DD6 100%);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 700;
color: #fff;
letter-spacing: .01em;
flex-shrink: 0
}

.onbrd .step-h {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
font-weight: 600;
color: #1e1532;
margin: 0
}

.onbrd .step-p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a2d55;
margin: 0
}

.onbrd .expert-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
margin-top: 56px;
align-items: start
}

.onbrd .expert-left {
display: flex;
flex-direction: column;
gap: 28px
}

.onbrd .expert-right {
margin-top: calc(50% * 0.5);
display: flex;
flex-direction: column;
gap: 28px
}

.onbrd .expert-portrait {
border-radius: 28px;
overflow: hidden;
box-shadow: 1px 12px 52px -1px #704bc51c;
position: relative;
aspect-ratio: 2/3;
max-width: 260px
}

.onbrd .expert-portrait::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #704bc526 0%, #c39dd61a 100%);
pointer-events: none
}

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

.onbrd .expert-card {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 4px 25px -1px #704bc514;
display: flex;
flex-direction: column;
gap: 14px
}

.onbrd .expert-name {
font-size: 19px;
line-height: 1.6;
font-weight: 700;
color: #1e1532;
letter-spacing: .01em;
margin: 0
}

.onbrd .expert-role {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
font-weight: 600;
text-transform: uppercase;
line-height: 1.6
}

.onbrd .expert-quote {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a2d55;
margin: 0;
font-style: italic
}

.onbrd .metric-row {
display: flex;
flex-direction: row;
gap: 28px
}

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

.onbrd .metric-val {
font-size: 34px;
line-height: 1.2;
font-weight: 700;
letter-spacing: .01em;
background: linear-gradient(138deg, #704BC5 0%, #C39DD6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.onbrd .metric-lbl {
font-size: 13px;
letter-spacing: .02em;
color: #3a2d55;
line-height: 1.6;
font-weight: 500
}

.onbrd .content-img-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 4px 25px -1px #704bc514;
position: relative
}

.onbrd .content-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(138deg, #704bc51f 0%, #c39dd614 100%);
pointer-events: none
}

.onbrd .content-img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
display: block
}

.onbrd .proc-text-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px
}

.onbrd .proc-text-cols .proc-p {
text-align: right
}

.onbrd .proc-text-cols .proc-p:first-child {
text-align: left
}

.onbrd .dbl-border {
outline: 1px solid #704bc51a;
outline-offset: 6px;
border: 1px solid #c39dd633
}

@media (max-width: 1366px) {
.onbrd .tb {
padding: 96px 28px 56px
}

.onbrd .div-double {
margin: 0 28px
}

.onbrd .proc {
padding: 96px 28px
}
}

@media (max-width: 768px) {
.onbrd .tb {
grid-template-columns: 1fr;
padding: 56px 28px 28px;
gap: 28px
}

.onbrd .tb-heading {
font-size: 46px
}

.onbrd .tb-right {
display: none
}

.onbrd .div-double {
margin: 0 14px
}

.onbrd .proc {
padding: 56px 14px
}

.onbrd .proc-head {
grid-template-columns: 1fr;
gap: 28px
}

.onbrd .proc-h2 {
font-size: 34px
}

.onbrd .matrix {
grid-template-columns: 1fr
}

.onbrd .steps-row {
grid-template-columns: 1fr 1fr
}

.onbrd .expert-row {
grid-template-columns: 1fr;
gap: 28px
}

.onbrd .expert-right {
margin-top: 0
}

.onbrd .proc-text-cols {
grid-template-columns: 1fr
}

.onbrd .proc-text-cols .proc-p {
text-align: left
}
}

@media (max-width: 375px) {
.onbrd .tb {
padding: 28px 14px
}

.onbrd .tb-heading {
font-size: 34px
}

.onbrd .proc-h2 {
font-size: 25px
}

.onbrd .steps-row {
grid-template-columns: 1fr
}

.onbrd .metric-row {
flex-direction: column;
gap: 14px
}
}

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

.proc-pg .phase-wrap {
max-width: 1366px;
margin: 0 auto;
padding: 96px 56px
}

.proc-pg .entry-band {
position: relative;
background: #fff;
padding: 96px 0 56px
}

.proc-pg .entry-band::after {
content: '';
display: block;
height: 1px;
background: radial-gradient(ellipse at center, #704BC5 0%, transparent 70%);
margin-top: 56px
}

.proc-pg .entry-inner {
max-width: 1366px;
margin: 0 auto;
padding: 0 56px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: end
}

.proc-pg .entry-img-col {
position: relative
}

.proc-pg .entry-img-frame {
position: relative;
width: 100%;
aspect-ratio: 4/3;
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 12px 52px -1px #704bc51c
}

.proc-pg .entry-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
animation: sharpload .18s cubic-bezier(0.4, 0, 1, 1) both
}

@keyframes sharpload {
from {
filter: blur(8px);
opacity: .4
}

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

.proc-pg .entry-geo-a {
position: absolute;
top: -28px;
right: -28px;
width: 80px;
height: 80px;
border: 2px dashed #C39DD6;
border-radius: 28px;
opacity: .35;
pointer-events: none
}

.proc-pg .entry-geo-b {
position: absolute;
bottom: -14px;
left: -14px;
width: 44px;
height: 44px;
background: #F5F5F8;
border-radius: 6px;
opacity: .6;
pointer-events: none
}

.proc-pg .entry-txt-col {
padding-bottom: 14px
}

.proc-pg .pg-label {
display: inline-block;
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #704BC5;
border-bottom: 1px solid #C39DD6;
padding-bottom: 6px;
margin-bottom: 28px
}

.proc-pg .entry-h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 28px;
color: #1b1240
}

.proc-pg .entry-h1 span {
color: #704BC5
}

.proc-pg .entry-lead {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #3d3553;
margin: 0 0 28px;
max-width: 480px
}

.proc-pg .entry-sub {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #5a5070;
margin: 0;
max-width: 480px
}

.proc-pg .metric-strip {
display: flex;
flex-direction: row;
gap: 28px;
margin-top: 56px;
padding-top: 28px;
border-top: 1px solid #F5F5F8
}

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

.proc-pg .metric-num {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5
}

.proc-pg .metric-desc {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #7a6e90
}

.proc-pg .steps-band {
background: #F5F5F8;
padding: 0
}

.proc-pg .steps-inner {
max-width: 1366px;
margin: 0 auto;
padding: 96px 56px
}

.proc-pg .steps-header {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
margin-bottom: 56px
}

.proc-pg .steps-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1240;
margin: 0
}

.proc-pg .steps-h2 span {
color: #704BC5
}

.proc-pg .steps-intro {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #5a5070;
margin: 0;
padding-top: 14px
}

.proc-pg .steps-divider {
height: 1px;
background: radial-gradient(ellipse at center, #704BC5 0%, transparent 70%);
margin-bottom: 56px
}

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

.proc-pg .step-card {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 4px 25px -1px #704bc514;
box-shadow: inset 0 1px 3px #704bc50a 1px 4px 25px -1px #704bc514;
position: relative;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), opacity .12s ease-in
}

.proc-pg .step-card:hover {
box-shadow: inset 0 1px 3px #704bc50a 1px 12px 52px -1px #704bc51c;
opacity: .96
}

.proc-pg .step-card.accent {
background: #704BC5;
grid-column: span 1
}

.proc-pg .step-card.accent .step-num {
color: #ffffff73
}

.proc-pg .step-card.accent .step-h4 {
color: #fff
}

.proc-pg .step-card.accent .step-body {
color: #ffffffd1
}

.proc-pg .step-card.accent .step-tag {
background: #ffffff26;
color: #fff
}

.proc-pg .step-num {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #e8e2f5;
margin: 0 0 14px;
display: block
}

.proc-pg .step-h4 {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1240;
margin: 0 0 14px
}

.proc-pg .step-body {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #5a5070;
margin: 0 0 14px
}

.proc-pg .step-tag {
display: inline-block;
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
background: #F5F5F8;
color: #704BC5;
border-radius: 6px;
padding: 6px 14px
}

.proc-pg .detail-band {
background: #fff;
padding: 96px 0;
position: relative
}

.proc-pg .detail-band::before {
content: '';
display: block;
height: 1px;
background: radial-gradient(ellipse at center, #C39DD6 0%, transparent 70%);
margin-bottom: 56px
}

.proc-pg .detail-inner {
max-width: 1366px;
margin: 0 auto;
padding: 0 56px
}

.proc-pg .detail-grid {
display: grid;
grid-template-columns: 5fr 4fr;
gap: 56px;
align-items: start
}

.proc-pg .detail-left {
display: flex;
flex-direction: column;
gap: 28px
}

.proc-pg .detail-h3 {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1240;
margin: 0 0 14px
}

.proc-pg .detail-h3 span {
color: #704BC5
}

.proc-pg .detail-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px
}

.proc-pg .detail-p {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #5a5070;
margin: 0
}

.proc-pg .detail-right {
display: flex;
flex-direction: column;
gap: 28px
}

.proc-pg .detail-img-wrap {
width: 100%;
aspect-ratio: 3/4;
border-radius: 28px;
overflow: hidden;
position: relative;
box-shadow: 1px 12px 52px -1px #704bc51c;
clip-path: polygon(0 6%, 6% 0, 100% 0, 100% 94%, 94% 100%, 0 100%)
}

.proc-pg .detail-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.proc-pg .mentor-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 14px;
background: #F5F5F8;
border-radius: 16px;
padding: 28px
}

.proc-pg .mentor-portrait {
width: 72px;
height: 72px;
border-radius: 44px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 1px 3px 4px -1px #704bc512
}

.proc-pg .mentor-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.proc-pg .mentor-name {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1240;
margin: 0 0 6px
}

.proc-pg .mentor-role {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #7a6e90;
margin: 0 0 6px
}

.proc-pg .mentor-quote {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #5a5070;
margin: 0
}

.proc-pg .timeline-row {
display: flex;
flex-direction: column;
gap: 14px;
margin-top: 14px
}

.proc-pg .tl-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 14px;
padding: 14px 28px;
border-radius: 6px;
background: #F5F5F8;
transition: background .12s ease-in
}

.proc-pg .tl-item:hover {
background: #ede8f9
}

.proc-pg .tl-dot {
width: 10px;
height: 10px;
border-radius: 6px;
background: #704BC5;
flex-shrink: 0
}

.proc-pg .tl-label {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #7a6e90;
min-width: 80px
}

.proc-pg .tl-desc {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #1b1240
}

.proc-pg .dashed-connector {
border: none;
border-top: 1px dashed #C39DD6;
margin: 56px 0 0;
opacity: .6
}

@media (max-width: 1366px) {
.proc-pg .entry-h1 {
font-size: 46px
}
}

@media (max-width: 768px) {
.proc-pg .entry-inner {
grid-template-columns: 1fr;
padding: 0 28px;
gap: 28px
}

.proc-pg .entry-band {
padding: 56px 0 28px
}

.proc-pg .entry-h1 {
font-size: 34px
}

.proc-pg .steps-inner {
padding: 56px 28px
}

.proc-pg .steps-header {
grid-template-columns: 1fr;
gap: 14px
}

.proc-pg .steps-grid {
grid-template-columns: 1fr
}

.proc-pg .detail-inner {
padding: 0 28px
}

.proc-pg .detail-grid {
grid-template-columns: 1fr
}

.proc-pg .detail-cols {
grid-template-columns: 1fr;
gap: 14px
}

.proc-pg .metric-strip {
flex-direction: column;
gap: 14px
}

.proc-pg .detail-band {
padding: 56px 0
}
}

@media (max-width: 375px) {
.proc-pg .entry-inner {
padding: 0 14px
}

.proc-pg .steps-inner {
padding: 56px 14px
}

.proc-pg .detail-inner {
padding: 0 14px
}

.proc-pg .entry-h1 {
font-size: 25px
}

.proc-pg .steps-h2 {
font-size: 34px
}
}

.abt-pg {
position: relative;
overflow-x: clip
}

.abt-pg script {
display: none
}

.abt-pg .drift-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
overflow: hidden
}

.abt-pg .drift-spot {
position: absolute;
width: 340px;
height: 340px;
border-radius: 50%;
background: radial-gradient(circle, #704bc517 0%, #c39dd60a 60%, transparent 80%);
animation: spotDrift 14s cubic-bezier(0.4, 0, 1, 1) infinite alternate
}

@keyframes spotDrift {
0% {
transform: translate(-60px, 20px);
opacity: .7
}

50% {
transform: translate(80px, -30px);
opacity: 1
}

100% {
transform: translate(20px, 60px);
opacity: .6
}
}

.abt-pg .pg-sel-wrap {
max-width: 1366px;
margin: 0 auto;
padding: 0 56px
}

@media (max-width: 768px) {
.abt-pg .pg-sel-wrap {
padding: 0 28px
}
}

@media (max-width: 375px) {
.abt-pg .pg-sel-wrap {
padding: 0 14px
}
}

.abt-pg .blk-one {
position: relative;
background: #704BC5;
padding: 96px 0 56px;
overflow: hidden
}

.abt-pg .blk-one::after {
content: '';
display: block;
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 54px;
background: #F5F5F8;
clip-path: polygon(0 54px, 3% 18px, 7% 40px, 12% 8px, 17% 36px, 22% 12px, 28% 44px, 33% 6px, 38% 32px, 43% 14px, 48% 48px, 53% 10px, 58% 38px, 63% 4px, 68% 30px, 73% 16px, 78% 42px, 83% 8px, 88% 34px, 93% 20px, 97% 46px, 100% 12px, 100% 54px)
}

.abt-pg .blk-one .geo-shape {
position: absolute;
pointer-events: none
}

.abt-pg .blk-one .geo-a {
top: -28px;
right: 56px;
width: 180px;
height: 180px;
border: 2px dashed #c39dd640;
border-radius: 28px;
transform: rotate(18deg)
}

.abt-pg .blk-one .geo-b {
bottom: 56px;
left: 14px;
width: 80px;
height: 80px;
border: 2px solid #ffffff1f;
border-radius: 16px;
transform: rotate(-12deg)
}

.abt-pg .blk-one .geo-c {
top: 56px;
right: 220px;
width: 44px;
height: 44px;
background: #c39dd624;
border-radius: 44px
}

.abt-pg .blk-one-grid {
display: grid;
grid-template-columns: 1fr 340px;
gap: 56px;
align-items: end;
position: relative;
z-index: 1
}

@media (max-width: 768px) {
.abt-pg .blk-one-grid {
grid-template-columns: 1fr;
gap: 28px
}
}

.abt-pg .blk-one-label {
display: inline-block;
font-size: 13px;
letter-spacing: .02em;
color: #c39dd6ff;
text-transform: uppercase;
margin-bottom: 14px;
line-height: 1.2
}

.abt-pg .blk-one-h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 28px;
color: #fff
}

.abt-pg .blk-one-h1 span {
color: #C39DD6
}

@media (max-width: 768px) {
.abt-pg .blk-one-h1 {
font-size: 46px
}
}

@media (max-width: 375px) {
.abt-pg .blk-one-h1 {
font-size: 34px
}
}

.abt-pg .blk-one-lead {
font-size: 19px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffd1;
max-width: 580px;
margin: 0 0 28px
}

.abt-pg .blk-one-sub {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #ffffffa6;
max-width: 520px;
margin: 0
}

.abt-pg .blk-one-portrait-col {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 14px
}

@media (max-width: 768px) {
.abt-pg .blk-one-portrait-col {
align-items: flex-start
}
}

.abt-pg .portrait-frame {
width: 200px;
height: 280px;
overflow: hidden;
border-radius: 6px;
box-shadow: 1px 12px 52px -1px #704bc51c;
animation: fadeLoad .18s cubic-bezier(0.4, 0, 1, 1) both
}

@keyframes fadeLoad {
from {
opacity: 0;
transform: translateY(14px)
}

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

.abt-pg .portrait-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-pg .portrait-tag {
font-size: 13px;
line-height: 1.2;
letter-spacing: .02em;
color: #fff9;
text-align: right
}

.abt-pg .portrait-tag strong {
display: block;
color: #fff;
font-size: 16px;
margin-bottom: 6px
}

@media (max-width: 768px) {
.abt-pg .portrait-tag {
text-align: left
}
}

.abt-pg .blk-two {
position: relative;
background: #F5F5F8;
padding: 96px 0;
z-index: 1
}

.abt-pg .blk-two-inner {
position: relative;
z-index: 1
}

.abt-pg .blk-two-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
margin-bottom: 56px
}

@media (max-width: 768px) {
.abt-pg .blk-two-top {
grid-template-columns: 1fr;
gap: 28px
}
}

.abt-pg .blk-two-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 28px;
color: #1b1340
}

.abt-pg .blk-two-h2 span {
color: #704BC5
}

@media (max-width: 768px) {
.abt-pg .blk-two-h2 {
font-size: 34px
}
}

@media (max-width: 375px) {
.abt-pg .blk-two-h2 {
font-size: 25px
}
}

.abt-pg .notch-block {
border-top: 4px solid #704BC5;
padding-top: 14px;
position: relative
}

.abt-pg .notch-block::before {
content: '';
position: absolute;
top: -4px;
left: 0;
width: 28px;
height: 4px;
background: #C39DD6
}

.abt-pg .notch-block p {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #2d2250;
margin: 0 0 14px
}

.abt-pg .notch-block p:last-child {
margin-bottom: 0
}

.abt-pg .blk-two-right {
display: flex;
flex-direction: column;
gap: 28px
}

.abt-pg .metric-row {
display: flex;
flex-direction: row;
gap: 14px;
align-items: stretch
}

@media (max-width: 375px) {
.abt-pg .metric-row {
flex-direction: column
}
}

.abt-pg .metric-card {
flex: 1;
background: #fff;
border-radius: 16px;
padding: 28px 14px;
box-shadow: 1px 4px 25px -1px #704bc514;
text-align: right;
position: relative;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
cursor: default
}

.abt-pg .metric-card:hover {
box-shadow: 1px 12px 52px -1px #704bc51c
}

.abt-pg .metric-card .m-num {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #704BC5;
display: block;
margin-bottom: 6px
}

.abt-pg .metric-card .m-label {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #5a4a7a
}

.abt-pg .cert-block {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 4px 25px -1px #704bc514 inset 0 2px 8px #704bc50a;
position: relative;
overflow: hidden
}

.abt-pg .cert-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(105deg, #704BC5 0%, #C39DD6 100%);
border-radius: 16px 16px 0 0
}

.abt-pg .cert-inner {
border: 2px dashed #704bc538;
border-radius: 6px;
padding: 28px;
text-align: center;
position: relative
}

.abt-pg .cert-seal {
width: 56px;
height: 56px;
margin: 0 auto 14px;
position: relative
}

.abt-pg .cert-seal svg {
width: 56px;
height: 56px
}

.abt-pg .cert-title {
font-size: 13px;
letter-spacing: .02em;
text-transform: uppercase;
color: #704BC5;
margin-bottom: 6px;
line-height: 1.2
}

.abt-pg .cert-name {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1340;
margin-bottom: 6px
}

.abt-pg .cert-desc {
font-size: 13px;
line-height: 1.6;
color: #5a4a7a;
margin-bottom: 14px
}

.abt-pg .cert-line {
width: 60px;
height: 2px;
background: linear-gradient(105deg, #704BC5, #C39DD6);
margin: 0 auto 14px;
border-radius: 6px
}

.abt-pg .cert-meta {
font-size: 13px;
color: #8b7aaa;
letter-spacing: .02em;
line-height: 1.2
}

.abt-pg .blk-two-img-strip {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 14px;
margin-bottom: 56px
}

@media (max-width: 768px) {
.abt-pg .blk-two-img-strip {
grid-template-columns: 1fr 1fr;
gap: 14px
}
}

@media (max-width: 375px) {
.abt-pg .blk-two-img-strip {
grid-template-columns: 1fr
}
}

.abt-pg .img-card {
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 3px 4px -1px #704bc512;
position: relative;
transition: box-shadow .12s ease-in, transform .12s ease-in
}

.abt-pg .img-card:hover {
box-shadow: 1px 12px 52px -1px #704bc51c;
transform: translateY(-4px)
}

.abt-pg .img-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.abt-pg .img-card.tall {
aspect-ratio: 4/3
}

.abt-pg .img-card.sq {
aspect-ratio: 1/1
}

@media (max-width: 768px) {
.abt-pg .img-card.tall {
aspect-ratio: 16/9
}
}

.abt-pg .img-card .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(105deg, #704bc573 0%, #c39dd633 100%);
opacity: 0;
transition: opacity .15s cubic-bezier(0.4, 0, 1, 1);
border-radius: 16px
}

.abt-pg .img-card:hover .img-overlay {
opacity: 1
}

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

@media (max-width: 768px) {
.abt-pg .blk-two-story {
grid-template-columns: 1fr;
gap: 28px
}
}

.abt-pg .story-col h3 {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1340;
margin: 0 0 14px
}

.abt-pg .story-col h3 span {
color: #704BC5
}

.abt-pg .story-col p {
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
color: #2d2250;
margin: 0 0 14px
}

.abt-pg .story-col p:last-child {
margin-bottom: 0
}

.abt-pg .story-col.right-align {
text-align: right
}

.abt-pg .path-deco {
position: absolute;
pointer-events: none;
z-index: 0;
top: 96px;
right: -28px;
width: 220px;
height: 420px;
opacity: .18
}

.abt-pg .path-deco svg {
width: 100%;
height: 100%
}

.abt-pg .blk-two-vals {
margin-top: 56px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px
}

@media (max-width: 768px) {
.abt-pg .blk-two-vals {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 375px) {
.abt-pg .blk-two-vals {
grid-template-columns: 1fr
}
}

.abt-pg .val-item {
background: #fff;
border-radius: 28px;
padding: 28px;
box-shadow: 1px 3px 4px -1px #c39dd612 inset 0 2px 6px #704bc50a;
position: relative;
transition: box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .val-item:hover {
box-shadow: 1px 4px 25px -1px #704bc514
}

.abt-pg .val-item .val-icon {
width: 44px;
height: 44px;
border-radius: 44px;
background: linear-gradient(105deg, #704bc51f 0%, #c39dd62e 100%);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-bottom: 14px
}

.abt-pg .val-item .val-icon svg {
width: 22px;
height: 22px
}

.abt-pg .val-item h4 {
font-size: 16px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1340;
margin: 0 0 6px
}

.abt-pg .val-item h4 span {
color: #704BC5
}

.abt-pg .val-item p {
font-size: 13px;
line-height: 1.6;
color: #5a4a7a;
margin: 0
}

.abt-pg .hover-text-glow {
display: inline;
transition: text-shadow .13s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .hover-text-glow:hover {
text-shadow: 0 0 18px #704bc559 0 2px 12px #c39dd647
}

.abt-pg .img-bg-card {
position: relative;
border-radius: 16px;
overflow: hidden;
margin-top: 56px;
min-height: 260px;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end;
padding: 56px;
box-shadow: 1px 12px 52px -1px #704bc51c
}

.abt-pg .img-bg-card img.bg-img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
z-index: 0
}

.abt-pg .img-bg-card .bg-overlay {
position: absolute;
inset: 0;
background: linear-gradient(105deg, #704bc5d1 0%, #c39dd68c 100%);
z-index: 1
}

.abt-pg .img-bg-card .bg-txt {
position: relative;
z-index: 2
}

.abt-pg .img-bg-card .bg-txt h3 {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
margin: 0 0 14px
}

.abt-pg .img-bg-card .bg-txt h3 span {
color: #C39DD6
}

.abt-pg .img-bg-card .bg-txt p {
font-size: 16px;
line-height: 1.6;
color: #ffffffd1;
margin: 0;
max-width: 560px
}

@media (max-width: 768px) {
.abt-pg .img-bg-card {
padding: 28px;
min-height: 200px
}

.abt-pg .img-bg-card .bg-txt h3 {
font-size: 25px
}
}

@media (max-width: 375px) {
.abt-pg .img-bg-card {
padding: 14px
}
}

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

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

@keyframes riseUp {
from {
opacity: 0;
transform: translateY(36px)
}

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

@keyframes fadeImg {
from {
opacity: 0
}

to {
opacity: 1
}
}

.ld-pg .anim-rise {
animation: riseUp .55s cubic-bezier(0.4, 0, 1, 1) both
}

.ld-pg .anim-rise.d1 {
animation-delay: .08s
}

.ld-pg .anim-rise.d2 {
animation-delay: .18s
}

.ld-pg .anim-rise.d3 {
animation-delay: .28s
}

.ld-pg .anim-rise.d4 {
animation-delay: .38s
}

.ld-pg .split-head .w1 {
color: #704BC5
}

.ld-pg .split-head .w2 {
color: #1b1340
}

.ld-pg .kw-mark {
background: linear-gradient(135deg, #704bc521, #c39dd62e);
border-radius: 6px;
padding: 0 6px;
color: #4a2d9e;
font-weight: 600
}

.ld-pg .shd-div {
height: 1px;
background: transparent;
box-shadow: 0 1px 25px 2px #704bc517;
margin: 0
}

.ld-pg .shd-div-alt {
height: 1px;
background: transparent;
box-shadow: 0 1px 18px 3px #c39dd621;
margin: 0
}

.ld-pg .ttl-blk {
padding: 96px 28px 56px;
text-align: center;
position: relative
}

.ld-pg .ttl-blk .pg-wrap {
position: relative
}

.ld-pg .ttl-blk .deco-curl {
position: absolute;
top: -28px;
right: 56px;
width: 90px;
height: 90px;
opacity: .07;
pointer-events: none
}

.ld-pg .ttl-blk .live-num {
display: inline-flex;
align-items: center;
gap: 14px;
background: linear-gradient(135deg, #704bc514, #c39dd61f);
border: 1px solid #704bc526;
border-radius: 44px;
padding: 6px 28px;
font-size: 13px;
color: #4a2d9e;
letter-spacing: .02em;
margin-bottom: 28px
}

.ld-pg .ttl-blk .live-num .num-val {
font-size: 19px;
font-weight: 700;
color: #704BC5
}

.ld-pg .ttl-blk .ttl-h1 {
font-size: 62px;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 auto 28px;
max-width: 820px
}

.ld-pg .ttl-blk .ttl-sub {
font-size: 19px;
line-height: 1.6;
color: #3d2970;
max-width: 560px;
margin: 0 auto 56px;
letter-spacing: .01em
}

.ld-pg .ttl-blk .ttl-img-wrap {
max-width: 960px;
margin: 0 auto;
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 12px 52px -1px #704bc51c;
animation: fadeImg .7s cubic-bezier(0.4, 0, 1, 1) .4s both
}

.ld-pg .ttl-blk .ttl-img-wrap img {
width: 100%;
height: 460px;
object-fit: cover;
object-position: center;
display: block
}

@media (max-width: 768px) {
.ld-pg .ttl-blk .ttl-h1 {
font-size: 34px
}

.ld-pg .ttl-blk .ttl-img-wrap img {
height: 240px
}

.ld-pg .ttl-blk {
padding: 56px 14px 28px
}
}

@media (max-width: 375px) {
.ld-pg .ttl-blk .ttl-h1 {
font-size: 25px
}

.ld-pg .ttl-blk .ttl-sub {
font-size: 16px
}
}

.ld-pg .recog-blk {
background: #F5F5F8;
padding: 56px 28px
}

.ld-pg .recog-blk .recog-grid {
max-width: 1366px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2px 1fr;
gap: 0 56px;
align-items: start
}

.ld-pg .recog-blk .recog-divline {
background: linear-gradient(180deg, transparent, #704bc540, transparent);
align-self: stretch
}

.ld-pg .recog-blk .recog-lft {
padding-right: 28px
}

.ld-pg .recog-blk .recog-rgt {
padding-left: 28px;
text-align: right
}

.ld-pg .recog-blk .recog-label {
font-size: 13px;
letter-spacing: .02em;
color: #704BC5;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 14px
}

.ld-pg .recog-blk .recog-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 28px
}

.ld-pg .recog-blk .recog-body {
font-size: 16px;
line-height: 1.6;
color: #2e1d5a;
letter-spacing: .01em
}

.ld-pg .recog-blk .badge-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 14px;
margin-top: 28px;
justify-content: flex-end
}

.ld-pg .recog-blk .badge-item {
background: #fff;
border: 1px solid #704bc52e;
border-radius: 28px;
padding: 6px 28px;
font-size: 13px;
color: #4a2d9e;
font-weight: 600;
letter-spacing: .02em;
box-shadow: 1px 3px 4px -1px #704bc512;
transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1), background .12s ease-in
}

.ld-pg .recog-blk .badge-item:hover {
background: #704bc50f;
box-shadow: 1px 4px 25px -1px #704bc514
}

.ld-pg .recog-blk .stars-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
margin-top: 28px
}

.ld-pg .recog-blk .star-shape {
width: 18px;
height: 18px;
background: #704BC5;
clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)
}

.ld-pg .recog-blk .star-shape.half {
background: linear-gradient(90deg, #704BC5 50%, #C39DD6 50%)
}

.ld-pg .recog-blk .rating-txt {
font-size: 13px;
color: #5a3d8a;
letter-spacing: .01em;
margin-left: 6px
}

@media (max-width: 768px) {
.ld-pg .recog-blk .recog-grid {
grid-template-columns: 1fr;
gap: 28px 0
}

.ld-pg .recog-blk .recog-divline {
display: none
}

.ld-pg .recog-blk .recog-lft {
padding-right: 0
}

.ld-pg .recog-blk .recog-rgt {
padding-left: 0;
text-align: left
}

.ld-pg .recog-blk .badge-row {
justify-content: flex-start
}

.ld-pg .recog-blk .recog-h2 {
font-size: 34px
}
}

@media (max-width: 375px) {
.ld-pg .recog-blk .recog-h2 {
font-size: 25px
}
}

.ld-pg .team-blk {
padding: 96px 28px;
background: #fff
}

.ld-pg .team-blk .pg-wrap {
max-width: 1366px
}

.ld-pg .team-blk .team-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 56px;
gap: 28px
}

.ld-pg .team-blk .team-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
max-width: 540px
}

.ld-pg .team-blk .team-intro {
font-size: 16px;
line-height: 1.6;
color: #2e1d5a;
max-width: 380px;
text-align: right;
letter-spacing: .01em
}

.ld-pg .team-blk .team-layout {
display: grid;
grid-template-columns: 340px 1fr;
gap: 56px;
align-items: start
}

.ld-pg .team-blk .portrait-card {
background: #F5F5F8;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 4px 25px -1px #704bc514;
display: flex;
flex-direction: column;
gap: 14px
}

.ld-pg .team-blk .portrait-img-wrap {
border-radius: 28px;
overflow: hidden;
width: 100%;
aspect-ratio: 5/7
}

.ld-pg .team-blk .portrait-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.ld-pg .team-blk .portrait-name {
font-size: 19px;
font-weight: 700;
color: #1b1340;
letter-spacing: .01em
}

.ld-pg .team-blk .portrait-role {
font-size: 13px;
color: #704BC5;
letter-spacing: .02em;
font-weight: 600
}

.ld-pg .team-blk .portrait-note {
font-size: 13px;
line-height: 1.6;
color: #3d2970;
letter-spacing: .01em
}

.ld-pg .team-blk .qual-list {
display: flex;
flex-direction: column;
gap: 28px
}

.ld-pg .team-blk .qual-item {
background: #fff;
border: 1px solid #704bc51f;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 3px 4px -1px #704bc512;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s ease-in;
position: relative
}

.ld-pg .team-blk .qual-item:hover {
box-shadow: 1px 4px 25px -1px #704bc514;
border-color: #704bc547
}

.ld-pg .team-blk .qual-item .ql-num {
font-size: 46px;
line-height: 1.2;
font-weight: 700;
color: #704bc51f;
position: absolute;
top: 14px;
right: 28px;
letter-spacing: .01em
}

.ld-pg .team-blk .qual-item .ql-head {
font-size: 19px;
font-weight: 700;
color: #1b1340;
margin-bottom: 6px;
letter-spacing: .01em
}

.ld-pg .team-blk .qual-item .ql-body {
font-size: 16px;
line-height: 1.6;
color: #2e1d5a;
letter-spacing: .01em
}

@media (max-width: 768px) {
.ld-pg .team-blk .team-layout {
grid-template-columns: 1fr;
gap: 28px
}

.ld-pg .team-blk .portrait-card {
flex-direction: row;
align-items: center
}

.ld-pg .team-blk .portrait-img-wrap {
width: 80px;
min-width: 80px;
aspect-ratio: 5/7;
border-radius: 16px
}

.ld-pg .team-blk .team-top {
flex-direction: column;
align-items: flex-start
}

.ld-pg .team-blk .team-intro {
text-align: left
}

.ld-pg .team-blk .team-h2 {
font-size: 34px
}

.ld-pg .team-blk {
padding: 56px 14px
}
}

@media (max-width: 375px) {
.ld-pg .team-blk .team-h2 {
font-size: 25px
}
}

.ld-pg .outc-blk {
background: #1b1340;
padding: 96px 28px;
position: relative
}

.ld-pg .outc-blk .deco-spiral {
position: absolute;
bottom: 28px;
left: 28px;
width: 80px;
height: 80px;
opacity: .06;
pointer-events: none
}

.ld-pg .outc-blk .pg-wrap {
max-width: 1366px
}

.ld-pg .outc-blk .outc-head-row {
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
gap: 56px;
margin-bottom: 56px
}

.ld-pg .outc-blk .outc-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
max-width: 500px
}

.ld-pg .outc-blk .outc-h2 .w1 {
color: #C39DD6
}

.ld-pg .outc-blk .outc-h2 .w2 {
color: #fff
}

.ld-pg .outc-blk .outc-desc {
font-size: 16px;
line-height: 1.6;
color: #c39dd6d9;
max-width: 380px;
text-align: right;
letter-spacing: .01em
}

.ld-pg .outc-blk .outc-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px
}

.ld-pg .outc-blk .outc-card {
background: #ffffff0a;
border: 1px solid #c39dd62e;
border-radius: 16px;
padding: 28px;
box-shadow: inset 1px 3px 4px -1px #704bc512;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s ease-in
}

.ld-pg .outc-blk .outc-card:hover {
background: #ffffff12;
border-color: #c39dd661
}

.ld-pg .outc-blk .outc-card .oc-icon {
width: 36px;
height: 36px;
background: linear-gradient(135deg, #704BC5, #C39DD6);
border-radius: 6px;
margin-bottom: 14px;
display: flex;
align-items: center;
justify-content: center
}

.ld-pg .outc-blk .outc-card .oc-icon svg {
width: 18px;
height: 18px;
fill: none;
stroke: #fff;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.ld-pg .outc-blk .outc-card .oc-head {
font-size: 19px;
font-weight: 700;
color: #fff;
margin-bottom: 6px;
letter-spacing: .01em;
line-height: 1.2
}

.ld-pg .outc-blk .outc-card .oc-body {
font-size: 16px;
line-height: 1.6;
color: #c39dd6cc;
letter-spacing: .01em
}

.ld-pg .outc-blk .outc-img-row {
margin-top: 56px;
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 12px 52px -1px #704bc51c
}

.ld-pg .outc-blk .outc-img-row img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

@media (max-width: 768px) {
.ld-pg .outc-blk .outc-cards {
grid-template-columns: 1fr;
gap: 14px
}

.ld-pg .outc-blk .outc-head-row {
flex-direction: column;
gap: 14px
}

.ld-pg .outc-blk .outc-desc {
text-align: left
}

.ld-pg .outc-blk .outc-h2 {
font-size: 34px
}

.ld-pg .outc-blk {
padding: 56px 14px
}

.ld-pg .outc-blk .outc-img-row img {
height: 200px
}
}

@media (max-width: 375px) {
.ld-pg .outc-blk .outc-h2 {
font-size: 25px
}
}

.ld-pg .commit-blk {
padding: 96px 28px;
background: #fff
}

.ld-pg .commit-blk .pg-wrap {
max-width: 1366px
}

.ld-pg .commit-blk .commit-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start
}

.ld-pg .commit-blk .commit-lft .commit-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 28px
}

.ld-pg .commit-blk .commit-lft .commit-body {
font-size: 16px;
line-height: 1.6;
color: #2e1d5a;
letter-spacing: .01em;
margin-bottom: 28px
}

.ld-pg .commit-blk .commit-lft .commit-img-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 1px 4px 25px -1px #704bc514
}

.ld-pg .commit-blk .commit-lft .commit-img-wrap img {
width: 100%;
height: 300px;
object-fit: cover;
object-position: center;
display: block
}

.ld-pg .commit-blk .commit-rgt {
display: flex;
flex-direction: column;
gap: 14px
}

.ld-pg .commit-blk .commit-row {
border: 1px solid #704bc51f;
border-radius: 16px;
padding: 28px;
background: #F5F5F8;
box-shadow: 1px 3px 4px -1px #704bc512;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1), border-color .11s ease-in;
cursor: default
}

.ld-pg .commit-blk .commit-row:hover {
box-shadow: 1px 4px 25px -1px #704bc514;
border-color: #704bc54d
}

.ld-pg .commit-blk .commit-row .cr-label {
font-size: 13px;
color: #704BC5;
font-weight: 600;
letter-spacing: .02em;
margin-bottom: 6px
}

.ld-pg .commit-blk .commit-row .cr-val {
font-size: 19px;
font-weight: 700;
color: #1b1340;
letter-spacing: .01em;
margin-bottom: 6px
}

.ld-pg .commit-blk .commit-row .cr-note {
font-size: 13px;
line-height: 1.6;
color: #3d2970;
letter-spacing: .01em
}

@media (max-width: 768px) {
.ld-pg .commit-blk .commit-layout {
grid-template-columns: 1fr;
gap: 28px
}

.ld-pg .commit-blk .commit-lft .commit-h2 {
font-size: 34px
}

.ld-pg .commit-blk {
padding: 56px 14px
}
}

@media (max-width: 375px) {
.ld-pg .commit-blk .commit-lft .commit-h2 {
font-size: 25px
}
}

.ld-pg .obj-blk {
background: #F5F5F8;
padding: 96px 28px;
position: relative
}

.ld-pg .obj-blk .deco-curl-rgt {
position: absolute;
top: 28px;
right: 56px;
width: 70px;
height: 70px;
opacity: .07;
pointer-events: none
}

.ld-pg .obj-blk .pg-wrap {
max-width: 1366px
}

.ld-pg .obj-blk .obj-top {
text-align: center;
margin-bottom: 56px
}

.ld-pg .obj-blk .obj-h2 {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 14px
}

.ld-pg .obj-blk .obj-sub {
font-size: 19px;
line-height: 1.6;
color: #3d2970;
max-width: 560px;
margin: 0 auto;
letter-spacing: .01em
}

.ld-pg .obj-blk .obj-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px
}

.ld-pg .obj-blk .obj-card {
background: #fff;
border-radius: 16px;
padding: 28px;
border: 1px solid #704bc51a;
box-shadow: 1px 3px 4px -1px #704bc512;
transition: box-shadow .16s cubic-bezier(0.4, 0, 1, 1), border-color .13s ease-in
}

.ld-pg .obj-blk .obj-card:hover {
box-shadow: 1px 4px 25px -1px #704bc514;
border-color: #704bc540
}

.ld-pg .obj-blk .obj-card.full {
grid-column: 1 / -1;
background: linear-gradient(135deg, #704bc50f, #c39dd617)
}

.ld-pg .obj-blk .obj-q {
font-size: 16px;
font-weight: 700;
color: #1b1340;
margin-bottom: 14px;
letter-spacing: .01em;
line-height: 1.6
}

.ld-pg .obj-blk .obj-a {
font-size: 16px;
line-height: 1.6;
color: #2e1d5a;
letter-spacing: .01em
}

.ld-pg .obj-blk .obj-cta-row {
margin-top: 56px;
text-align: center
}

.ld-pg .obj-blk .obj-cta-row .cta-txt {
font-size: 16px;
line-height: 1.6;
color: #3d2970;
margin-bottom: 28px;
letter-spacing: .01em
}

.ld-pg .obj-blk .btn-prim {
display: inline-block;
background: #704BC5;
color: #fff;
font-size: 16px;
font-weight: 700;
letter-spacing: .02em;
padding: 14px 56px;
border-radius: 6px;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: 1px 4px 25px -1px #704bc514;
transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1), color .12s ease-in;
text-decoration: none
}

.ld-pg .obj-blk .btn-prim::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #4a2d9e;
transition: height .15s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.ld-pg .obj-blk .btn-prim:hover::before {
height: 100%
}

.ld-pg .obj-blk .btn-prim:hover {
box-shadow: 1px 12px 52px -1px #704bc51c
}

.ld-pg .obj-blk .btn-prim span {
position: relative;
z-index: 1
}

.ld-pg .obj-blk .btn-sec {
display: inline-block;
background: transparent;
color: #704BC5;
font-size: 16px;
font-weight: 600;
letter-spacing: .02em;
padding: 14px 56px;
border-radius: 6px;
border: 2px solid #704BC5;
cursor: pointer;
position: relative;
overflow: hidden;
margin-left: 14px;
transition: color .13s cubic-bezier(0.4, 0, 1, 1), box-shadow .13s ease-in;
text-decoration: none
}

.ld-pg .obj-blk .btn-sec::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #704bc514;
transition: height .15s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.ld-pg .obj-blk .btn-sec:hover::before {
height: 100%
}

.ld-pg .obj-blk .btn-sec span {
position: relative;
z-index: 1
}

@media (max-width: 768px) {
.ld-pg .obj-blk .obj-grid {
grid-template-columns: 1fr
}

.ld-pg .obj-blk .obj-card.full {
grid-column: 1
}

.ld-pg .obj-blk .obj-h2 {
font-size: 34px
}

.ld-pg .obj-blk {
padding: 56px 14px
}

.ld-pg .obj-blk .btn-sec {
margin-left: 0;
margin-top: 14px
}
}

@media (max-width: 375px) {
.ld-pg .obj-blk .obj-h2 {
font-size: 25px
}

.ld-pg .obj-blk .btn-prim,
.ld-pg .obj-blk .btn-sec {
padding: 14px 28px;
font-size: 13px
}
}

.ld-pg .ripple-list .commit-row {
transition: background .11s cubic-bezier(0.4, 0, 1, 1), box-shadow .13s ease-in, border-color .11s ease-in
}

.ld-pg .ripple-list:hover .commit-row:not(:hover) {
opacity: .7
}

.cont-us {
background: #F5F5F8;
position: relative;
overflow: hidden
}

.cont-us .pg-strip {
width: 100%;
height: 6px;
background: linear-gradient(105deg, #704BC5 0%, #C39DD6 100%)
}

.cont-us .pg-strip::after {
content: '';
display: block;
width: 40%;
height: 2px;
background: #704BC5;
opacity: .18;
margin-top: 2px
}

.cont-us .reach-area {
max-width: 1366px;
margin: 0 auto;
padding: 96px 56px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start
}

.cont-us .reach-left {
position: relative
}

.cont-us .reach-left .corner-dec {
position: absolute;
top: -14px;
left: -14px;
width: 44px;
height: 44px;
pointer-events: none;
z-index: 1
}

.cont-us .reach-left .corner-dec::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 28px;
height: 2px;
background: #704BC5;
transition: width .15s cubic-bezier(0.4, 0, 1, 1)
}

.cont-us .reach-left .corner-dec::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 2px;
height: 28px;
background: #704BC5;
transition: height .15s cubic-bezier(0.4, 0, 1, 1)
}

.cont-us .reach-left:hover .corner-dec::before {
width: 44px
}

.cont-us .reach-left:hover .corner-dec::after {
height: 44px
}

.cont-us .reach-eyebrow {
font-size: 13px;
letter-spacing: .14em;
color: #704BC5;
text-transform: uppercase;
margin-bottom: 14px;
font-weight: 600;
line-height: 1.2
}

.cont-us .reach-heading {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 28px;
font-weight: 700
}

.cont-us .reach-heading .word-accent {
color: #704BC5
}

.cont-us .reach-heading .word-rest {
color: #1e1432
}

.cont-us .reach-desc {
font-size: 16px;
line-height: 1.9;
color: #3a2d5c;
margin-bottom: 56px;
letter-spacing: .01em
}

.cont-us .info-cards {
display: flex;
flex-direction: column;
gap: 14px
}

.cont-us .info-card {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 1px 4px 25px -1px #704bc514;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 14px;
position: relative;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), opacity .12s ease-in;
overflow: hidden
}

.cont-us .info-card::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
border: 1px solid #704bc51a;
pointer-events: none
}

.cont-us .info-card::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 13px;
border: 1px solid #c39dd621;
pointer-events: none
}

.cont-us .info-card:hover {
box-shadow: 1px 12px 52px -1px #704bc51c;
opacity: .93
}

.cont-us .icard-icon {
width: 40px;
height: 40px;
border-radius: 6px;
background: linear-gradient(105deg, #704BC5 0%, #C39DD6 100%);
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

.cont-us .icard-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: #fff;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cont-us .icard-body {
flex: 1
}

.cont-us .icard-label {
font-size: 13px;
color: #704BC5;
letter-spacing: .08em;
text-transform: uppercase;
font-weight: 600;
line-height: 1.2;
margin-bottom: 6px
}

.cont-us .icard-val {
font-size: 16px;
color: #1e1432;
line-height: 1.6;
letter-spacing: .01em
}

.cont-us .icard-val a {
color: #1e1432;
text-decoration: none;
transition: color .12s ease-in
}

.cont-us .icard-val a:hover {
color: #704BC5
}

.cont-us .reach-right {
position: relative
}

.cont-us .form-card {
background: #fff;
border-radius: 28px;
padding: 56px;
box-shadow: 1px 12px 52px -1px #704bc51c;
position: relative;
overflow: hidden
}

.cont-us .form-card::before {
content: '';
position: absolute;
inset: 0;
border-radius: 28px;
border: 1px solid #704bc51f;
pointer-events: none;
z-index: 1
}

.cont-us .form-card::after {
content: '';
position: absolute;
inset: 4px;
border-radius: 24px;
border: 1px solid #c39dd626;
pointer-events: none;
z-index: 1
}

.cont-us .form-card .bg-bleed {
position: absolute;
top: -56px;
right: -56px;
width: 160px;
height: 160px;
border-radius: 44px;
background: linear-gradient(105deg, #704bc50f 0%, #c39dd60a 100%);
animation: bleed-in 8s ease-in-out infinite alternate;
pointer-events: none
}

@keyframes bleed-in {
0% {
opacity: .3;
transform: scale(0.85) translate(10px, -10px)
}

100% {
opacity: 1;
transform: scale(1.1) translate(-6px, 8px)
}
}

.cont-us .form-title {
font-size: 25px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 6px;
font-weight: 700;
color: #1e1432
}

.cont-us .form-subtitle {
font-size: 13px;
color: #6a5b8a;
line-height: 1.6;
letter-spacing: .01em;
margin-bottom: 28px
}

.cont-us .field-row {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 14px
}

.cont-us .field-label {
font-size: 13px;
font-weight: 600;
color: #3a2d5c;
letter-spacing: .04em;
line-height: 1.2
}

.cont-us .field-label .req {
color: #704BC5;
margin-left: 2px
}

.cont-us .field-input {
width: 100%;
padding: 14px;
border-radius: 6px;
border: 1px solid #704bc52e;
background: #F5F5F8;
color: #1e1432;
font-size: 16px;
line-height: 1.6;
letter-spacing: .01em;
outline: none;
transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-sizing: border-box;
appearance: none;
-webkit-appearance: none
}

.cont-us .field-input::placeholder {
color: #1e143266
}

.cont-us .field-input:focus {
border-color: #704BC5;
box-shadow: 1px 3px 4px -1px #704bc512;
background: #fff
}

.cont-us .priority-group {
display: flex;
flex-direction: row;
gap: 6px;
flex-wrap: wrap;
margin-bottom: 28px
}

.cont-us .priority-opt {
flex: 1;
min-width: 0
}

.cont-us .priority-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none
}

.cont-us .priority-opt label {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 14px 6px;
border-radius: 6px;
border: 1px solid #704bc52e;
background: #F5F5F8;
cursor: pointer;
font-size: 13px;
line-height: 1.2;
color: #3a2d5c;
letter-spacing: .02em;
font-weight: 500;
transition: background .12s ease-in, border-color .12s ease-in, box-shadow .12s ease-in;
text-align: center;
gap: 6px;
user-select: none
}

.cont-us .priority-opt label .pri-badge {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 44px;
flex-shrink: 0
}

.cont-us .priority-opt.low label .pri-badge {
background: #C39DD6
}

.cont-us .priority-opt.normal label .pri-badge {
background: #704BC5;
opacity: .6
}

.cont-us .priority-opt.urgent label .pri-badge {
background: #704BC5
}

.cont-us .priority-opt input[type="radio"]:checked+label {
background: #704BC5;
color: #fff;
border-color: #704BC5;
box-shadow: 1px 4px 25px -1px #704bc52e
}

.cont-us .priority-opt input[type="radio"]:checked+label .pri-badge {
background: #fff;
opacity: 1
}

.cont-us .priority-opt label:hover {
border-color: #704BC5;
background: #704bc50f
}

.cont-us .priority-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #704BC5;
outline-offset: 2px
}

.cont-us .pri-section-label {
font-size: 13px;
font-weight: 600;
color: #3a2d5c;
letter-spacing: .04em;
line-height: 1.2;
margin-bottom: 6px
}

.cont-us .privacy-row {
margin-bottom: 28px
}

.cont-us .privacy-row .checkbox {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 14px
}

.cont-us .privacy-row input[type="checkbox"] {
width: 20px;
height: 20px;
border-radius: 6px;
border: 1px solid #704bc547;
background: #F5F5F8;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
accent-color: #704BC5
}

.cont-us .privacy-row .priv-text {
font-size: 13px;
color: #6a5b8a;
line-height: 1.9;
letter-spacing: .01em
}

.cont-us .privacy-row .priv-text a {
color: #704BC5;
text-decoration: underline;
text-underline-offset: 2px;
transition: opacity .12s ease-in
}

.cont-us .privacy-row .priv-text a:hover {
opacity: .75
}

.cont-us .submit-btn {
width: 100%;
padding: 14px 28px;
border-radius: 16px;
border: 2px solid #704BC5;
background: #704BC5;
color: #fff;
font-size: 16px;
font-weight: 700;
letter-spacing: .04em;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
line-height: 1.6;
box-sizing: border-box
}

.cont-us .submit-btn::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #1e1432;
transition: height .15s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.cont-us .submit-btn:hover::before {
height: 100%
}

.cont-us .submit-btn:hover {
box-shadow: 1px 12px 52px -1px #704bc52e;
border-color: #1e1432
}

.cont-us .submit-btn span {
position: relative;
z-index: 1
}

.cont-us .submit-btn:focus-visible {
outline: 2px solid #704BC5;
outline-offset: 3px
}

.cont-us .submit-btn:active {
opacity: .88
}

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

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

.cont-us .details-strip {
background: #fff;
padding: 56px;
position: relative
}

.cont-us .details-strip .noise-overlay {
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%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 0
}

.cont-us .details-inner {
max-width: 1366px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
position: relative;
z-index: 1
}

.cont-us .detail-col-a {
text-align: right
}

.cont-us .detail-col-b {
display: flex;
flex-direction: column;
gap: 28px
}

.cont-us .det-heading {
font-size: 34px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 14px;
font-weight: 700
}

.cont-us .det-heading .w1 {
color: #704BC5
}

.cont-us .det-heading .w2 {
color: #1e1432
}

.cont-us .det-para {
font-size: 16px;
line-height: 1.9;
color: #3a2d5c;
letter-spacing: .01em
}

.cont-us .det-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px
}

.cont-us .det-item {
display: flex;
flex-direction: column;
gap: 6px
}

.cont-us .det-item-label {
font-size: 13px;
color: #704BC5;
letter-spacing: .08em;
text-transform: uppercase;
font-weight: 600;
line-height: 1.2
}

.cont-us .det-item-val {
font-size: 16px;
color: #1e1432;
line-height: 1.6;
letter-spacing: .01em
}

.cont-us .det-item-val a {
color: #1e1432;
text-decoration: none;
transition: color .12s ease-in
}

.cont-us .det-item-val a:hover {
color: #704BC5
}

.cont-us .avail-block {
background: linear-gradient(105deg, #704BC5 0%, #C39DD6 100%);
border-radius: 16px;
padding: 28px;
position: relative;
overflow: hidden
}

.cont-us .avail-block::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
border: 1px solid #ffffff2e;
pointer-events: none
}

.cont-us .avail-block::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 13px;
border: 1px solid #ffffff1a;
pointer-events: none
}

.cont-us .avail-title {
font-size: 19px;
font-weight: 700;
color: #fff;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 14px
}

.cont-us .avail-rows {
display: flex;
flex-direction: column;
gap: 6px
}

.cont-us .avail-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 14px
}

.cont-us .avail-day {
font-size: 13px;
color: #fffc;
letter-spacing: .04em;
line-height: 1.2
}

.cont-us .avail-time {
font-size: 13px;
color: #fff;
font-weight: 600;
letter-spacing: .02em;
line-height: 1.2
}

.cont-us .avail-sep {
flex: 1;
height: 1px;
background: #ffffff2e
}

@media (max-width: 1366px) {
.cont-us .reach-area {
padding: 96px 28px
}

.cont-us .details-strip {
padding: 56px 28px
}
}

@media (max-width: 768px) {
.cont-us .reach-area {
grid-template-columns: 1fr;
padding: 56px 28px;
gap: 28px
}

.cont-us .reach-heading {
font-size: 34px
}

.cont-us .form-card {
padding: 28px
}

.cont-us .details-inner {
grid-template-columns: 1fr;
gap: 28px
}

.cont-us .detail-col-a {
text-align: left
}

.cont-us .det-cols {
grid-template-columns: 1fr;
gap: 14px
}

.cont-us .details-strip {
padding: 56px 28px
}
}

@media (max-width: 375px) {
.cont-us .reach-area {
padding: 56px 14px
}

.cont-us .reach-heading {
font-size: 25px
}

.cont-us .form-card {
padding: 14px
}

.cont-us .priority-group {
flex-direction: column
}

.cont-us .details-strip {
padding: 56px 14px
}

.cont-us .det-heading {
font-size: 25px
}
}

.success-pg {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 28px;
background-color: #fff
}

.success-pg .result-wrap {
max-width: 560px;
width: 100%;
text-align: center
}

.success-pg .icon-ring {
width: 72px;
height: 72px;
border-radius: 44px;
background: #F5F5F8;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 28px;
box-shadow: 1px 4px 25px -1px #704bc514
}

.success-pg .icon-ring svg {
display: block
}

.success-pg .result-heading {
font-size: 46px;
line-height: 1.2;
letter-spacing: .01em;
color: #1b1035;
margin: 0 0 14px
}

.success-pg .result-heading span {
color: #704BC5
}

.success-pg .result-desc {
font-size: 16px;
line-height: 1.9;
letter-spacing: .01em;
color: #3a3050;
margin: 0 0 56px
}

.success-pg .action-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 14px;
flex-wrap: wrap
}

.success-pg .btn-primary {
display: inline-block;
padding: 14px 28px;
font-size: 16px;
line-height: 1.2;
letter-spacing: .02em;
color: #fff;
background-color: #704BC5;
border-radius: 6px;
text-decoration: none;
border: 2px solid #704BC5;
position: relative;
overflow: hidden;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 4px -1px #704bc512
}

.success-pg .btn-primary::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background-color: #5a39a8;
transition: height .14s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.success-pg .btn-primary:hover::before {
height: 100%
}

.success-pg .btn-primary:hover {
box-shadow: 1px 4px 25px -1px #704bc514
}

.success-pg .btn-primary span {
position: relative;
z-index: 1
}

.success-pg .btn-secondary {
display: inline-block;
padding: 14px 28px;
font-size: 16px;
line-height: 1.2;
letter-spacing: .02em;
color: #704BC5;
background-color: transparent;
border-radius: 6px;
text-decoration: none;
border: 2px solid #C39DD6;
position: relative;
overflow: hidden;
transition: color .1s cubic-bezier(0.4, 0, 1, 1), border-color .1s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.success-pg .btn-secondary::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background-color: #F5F5F8;
transition: height .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.success-pg .btn-secondary:hover::before {
height: 100%
}

.success-pg .btn-secondary:hover {
border-color: #704BC5;
box-shadow: 1px 3px 4px -1px #704bc512
}

.success-pg .btn-secondary span {
position: relative;
z-index: 1
}

.success-pg .divider-line {
width: 48px;
height: 3px;
background: linear-gradient(105deg, #704BC5, #C39DD6);
border-radius: 6px;
margin: 56px auto 28px
}

.success-pg .ref-note {
font-size: 13px;
line-height: 1.6;
letter-spacing: .02em;
color: #6b5e8a
}

.success-pg .ref-note a {
color: #704BC5;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity .11s cubic-bezier(0.4, 0, 1, 1)
}

.success-pg .ref-note a:hover {
opacity: .72
}

@media (max-width: 768px) {
.success-pg {
padding: 56px 28px
}

.success-pg .result-heading {
font-size: 34px
}

.success-pg .action-row {
flex-direction: column;
align-items: stretch
}

.success-pg .btn-primary,
.success-pg .btn-secondary {
text-align: center
}
}

@media (max-width: 375px) {
.success-pg {
padding: 56px 14px
}

.success-pg .result-heading {
font-size: 25px
}
}