html {
box-sizing: border-box;
margin: 0;
padding: 0
}

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

:focus {
outline: 2px dashed #F34FBC;
outline-offset: 3px;
animation: focus-rotate 3s linear infinite
}

@keyframes focus-rotate {
0% {
outline-offset: 3px
}

50% {
outline-offset: 5px
}

100% {
outline-offset: 3px
}
}

.accent-strip {
background: linear-gradient(90deg, #1A192D 0%, #F34FBC 50%, #1A192D 100%);
height: 4px;
width: 100%
}

.utility-bar {
background-color: #1A192D;
padding: 6px 20px
}

.utility-bar-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center
}

.utility-contact {
display: flex;
gap: 20px;
align-items: center
}

.utility-contact-item {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Lora', serif;
font-size: 15px;
color: #ffffffd1;
text-decoration: none;
letter-spacing: .01em;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.utility-contact-item:hover {
color: #F34FBC
}

.utility-contact-item svg {
flex-shrink: 0
}

.brand-row {
background: linear-gradient(160deg, #fff 0%, #f34fbc0f 100%);
padding: 20px;
border-bottom: 1px solid #1a192d14;
box-shadow: -1px 2px 3px 0 #1a192d0f
}

.brand-row-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px
}

.brand-mark-box {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none;
flex-shrink: 0
}

.logo-frame {
width: 44px;
height: 44px;
border-radius: 10px;
background-color: #1A192D;
border: 2px solid #f34fbc66;
box-shadow: -1px 6px 14px 0 #1a192d1c 0 0 0 1px #ffffffe6;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 6px
}

.logo-frame img {
width: 32px;
height: 32px;
object-fit: contain;
display: block
}

.brand-wordmark {
font-family: 'Playfair Display', serif;
font-size: 19px;
font-weight: 700;
color: #1A192D;
letter-spacing: .02em;
line-height: 1.2
}

.brand-wordmark span {
color: #F34FBC
}

.brand-tagline {
font-family: 'Lora', serif;
font-size: 15px;
color: #1a192d99;
letter-spacing: .01em;
line-height: 1.7;
font-style: italic
}

.nav-row {
background-color: #1A192D;
padding: 0 20px;
box-shadow: -1px 8px 52px 0 #1a192d24
}

.nav-row-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
align-items: stretch
}

.nav-link-item {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Lora', serif;
font-size: 15px;
font-weight: 700;
color: #ffffffd1;
text-decoration: none;
padding: 20px;
letter-spacing: .02em;
line-height: 1.2;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.nav-link-item::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg, transparent 0%, #f34fbc26 100%);
transform: translateX(100%);
transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.nav-link-item:hover::before {
transform: translateX(0)
}

.nav-link-item:hover {
color: #F34FBC
}

.nav-link-item.active {
color: #F34FBC;
border-bottom: 3px solid #F34FBC
}

.nav-link-item svg {
flex-shrink: 0;
opacity: .7
}

.site-header {
position: relative
}

.site-footer {
background-color: #1A192D;
color: #fff
}

.footer-top {
padding: 80px 20px 40px;
border-bottom: 1px solid #f34fbc33
}

.footer-top-inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px
}

.footer-brand-col {
display: flex;
flex-direction: column;
gap: 20px
}

.footer-logo-box {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none
}

.footer-logo-frame {
width: 44px;
height: 44px;
border-radius: 10px;
background-color: #ffffff14;
border: 1px solid #f34fbc59;
box-shadow: -1px 2px 3px 0 #f34fbc0f;
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
overflow: hidden
}

.footer-logo-frame img {
width: 32px;
height: 32px;
object-fit: contain;
display: block
}

.footer-brand-name {
font-family: 'Playfair Display', serif;
font-size: 19px;
font-weight: 700;
color: #fff;
letter-spacing: .02em;
line-height: 1.2
}

.footer-brand-name span {
color: #F34FBC
}

.footer-desc {
font-family: 'Lora', serif;
font-size: 15px;
color: #ffffffa6;
line-height: 1.7;
letter-spacing: .01em
}

.footer-mission {
font-family: 'Lora', serif;
font-size: 15px;
color: #f34fbcd9;
font-style: italic;
line-height: 1.7;
letter-spacing: .01em;
padding: 12px;
background: #f34fbc12;
border-radius: 10px
}

.footer-col-label {
font-family: 'Playfair Display', serif;
font-size: 19px;
font-weight: 700;
color: #fff;
letter-spacing: .02em;
line-height: 1.2;
margin-bottom: 20px;
display: block
}

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

.footer-links-list li a {
font-family: 'Lora', serif;
font-size: 15px;
color: #ffffffa6;
text-decoration: none;
letter-spacing: .01em;
line-height: 1.7;
display: flex;
align-items: center;
gap: 6px;
transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-links-list li a:hover {
color: #F34FBC
}

.footer-contact-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.footer-contact-list li {
display: flex;
align-items: flex-start;
gap: 6px;
font-family: 'Lora', serif;
font-size: 15px;
color: #ffffffa6;
line-height: 1.7;
letter-spacing: .01em
}

.footer-contact-list li a {
color: #ffffffa6;
text-decoration: none;
transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-contact-list li a:hover {
color: #F34FBC
}

.footer-contact-list li svg {
flex-shrink: 0;
margin-top: 4px;
color: #F34FBC
}

.footer-bottom {
padding: 20px
}

.footer-bottom-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
flex-wrap: wrap
}

.footer-copy {
font-family: 'Lora', serif;
font-size: 15px;
color: #fff6;
letter-spacing: .01em;
line-height: 1.7
}

.footer-legal-links {
display: flex;
gap: 20px;
list-style: none;
margin: 0;
padding: 0
}

.footer-legal-links li a {
font-family: 'Lora', serif;
font-size: 15px;
color: #fff6;
text-decoration: none;
letter-spacing: .01em;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-legal-links li a:hover {
color: #F34FBC
}

.cookie-notice {
position: fixed;
bottom: 20px;
right: 20px;
width: 340px;
background: #fff;
border-radius: 10px;
box-shadow: -1px 8px 52px 0 #1a192d24 -1px 6px 14px 0 #1a192d1c;
z-index: 1500;
padding: 20px;
display: none;
border-top: 3px solid #F34FBC
}

.cookie-notice.visible {
display: block
}

.cookie-notice.sliding-in {
animation: slide-from-top .35s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.cookie-notice.sliding-out {
animation: slide-to-top .35s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

@keyframes slide-from-top {
from {
opacity: 0;
transform: translateY(-20px)
}

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

@keyframes slide-to-top {
from {
opacity: 1;
transform: translateY(0)
}

to {
opacity: 0;
transform: translateY(-20px)
}
}

.cookie-desc {
font-family: 'Lora', serif;
font-size: 15px;
color: #1A192D;
line-height: 1.7;
letter-spacing: .01em;
margin-bottom: 12px
}

.cookie-head {
font-family: 'Playfair Display', serif;
font-size: 19px;
font-weight: 700;
color: #1A192D;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 12px;
display: block
}

.cookie-actions {
display: flex;
gap: 20px;
justify-content: flex-end;
margin-top: 12px
}

.cookie-btn {
font-family: 'Lora', serif;
font-size: 15px;
letter-spacing: .01em;
background: none;
border: none;
cursor: pointer;
padding: 6px 0;
text-decoration: underline;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie-btn.accept {
color: #F34FBC;
font-weight: 700
}

.cookie-btn.accept:hover {
color: #1A192D
}

.cookie-btn.decline {
color: #1a192d99
}

.cookie-btn.decline:hover {
color: #1A192D
}

@media (max-width: 1024px) {
.footer-top-inner {
grid-template-columns: 1fr 1fr
}

.footer-brand-col {
grid-column: 1 / -1
}
}

@media (max-width: 768px) {
.utility-contact {
gap: 12px
}

.utility-contact-item {
font-size: 15px
}

.brand-tagline {
display: none
}

.nav-row-inner {
flex-wrap: wrap
}

.nav-link-item {
padding: 12px;
font-size: 15px
}

.footer-top-inner {
grid-template-columns: 1fr
}

.footer-brand-col {
grid-column: auto
}

.footer-bottom-inner {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.cookie-notice {
width: calc(100vw - 40px);
right: 20px;
left: 20px
}
}

@media (max-width: 375px) {
.utility-bar-inner {
flex-direction: column;
align-items: flex-start;
gap: 6px
}

.brand-row-inner {
flex-direction: column;
align-items: flex-start
}

.footer-legal-links {
flex-direction: column;
gap: 12px
}
}

.g-legal-box {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
color: #1A192D
}

.g-legal-box h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: .01em;
margin-bottom: 40px;
margin-top: 0;
background: linear-gradient(135deg, #1A192D 60%, #F34FBC);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent
}

.g-legal-box h2 {
font-size: 41px;
line-height: 1.2;
letter-spacing: .01em;
color: #1A192D;
margin-top: 80px;
margin-bottom: 20px
}

.g-legal-box h3 {
font-size: 19px;
line-height: 1.7;
letter-spacing: .02em;
color: #1A192D;
margin-top: 40px;
margin-bottom: 12px
}

.g-legal-box h4,
.g-legal-box h5,
.g-legal-box h6 {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
color: #1A192D;
margin-top: 20px;
margin-bottom: 6px
}

.g-legal-box p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #1A192D;
margin-top: 0;
margin-bottom: 20px
}

.g-legal-box strong,
.g-legal-box b {
color: #1A192D;
font-weight: 700
}

.g-legal-box hr {
border: none;
border-top: 1px solid #f34fbc33;
margin-top: 40px;
margin-bottom: 40px
}

.g-legal-box div {
margin-bottom: 20px
}

.g-legal-box table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
margin-bottom: 40px;
font-size: 15px;
line-height: 1.7;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.g-legal-box thead {
background: linear-gradient(90deg, #1A192D, #2d2b4e)
}

.g-legal-box thead th {
color: #FFF;
font-size: 15px;
letter-spacing: .02em;
font-weight: 700;
padding: 12px 20px;
text-align: left
}

.g-legal-box tbody tr {
background-color: #FFF;
transition: background-color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.g-legal-box tbody tr:nth-child(even) {
background-color: #f34fbc0a
}

.g-legal-box tbody tr:hover {
background-color: #f34fbc17
}

.g-legal-box td {
padding: 12px 20px;
color: #1A192D;
font-size: 15px;
line-height: 1.7;
border-bottom: 1px solid #1a192d12
}

.g-legal-box tbody tr:last-child td {
border-bottom: none
}

@media (max-width: 768px) {
.g-legal-box {
padding: 40px 20px
}

.g-legal-box h1 {
font-size: 41px
}

.g-legal-box h2 {
font-size: 19px;
margin-top: 40px
}

.g-legal-box table {
display: block;
overflow-x: auto
}
}

@media (max-width: 375px) {
.g-legal-box {
padding: 40px 12px
}

.g-legal-box h1 {
font-size: 41px
}
}

.srvs-pg {
background: #f5f4f8;
overflow-x: clip;
position: relative
}

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

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

.srvs-pg ::selection {
background: #F34FBC;
color: #fff
}

.srvs-pg a {
color: #1A192D;
text-decoration: none;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg a:hover {
color: #F34FBC
}

.srvs-pg .tb-root {
padding-top: 40px;
padding-bottom: 80px;
background: #fff;
position: relative
}

.srvs-pg .tb-stripe {
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(to bottom, #F34FBC, transparent)
}

.srvs-pg .tb-grid {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px
}

.srvs-pg .tb-img-col {
flex: 0 0 220px;
position: relative;
border-radius: 10px;
overflow: hidden
}

.srvs-pg .tb-img-col img {
width: 220px;
height: 310px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 10px
}

.srvs-pg .tb-img-col::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 60%;
background: linear-gradient(to top, #1A192D 0%, transparent 100%);
border-radius: 0 0 10px 10px;
pointer-events: none
}

.srvs-pg .tb-text-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 20px;
padding-top: 20px
}

.srvs-pg .tb-label {
font-size: 15px;
color: #F34FBC;
letter-spacing: .02em;
font-weight: 600
}

.srvs-pg .tb-h1 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: #1A192D;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .tb-h1 .accent {
color: #F34FBC;
-webkit-text-fill-color: #F34FBC
}

.srvs-pg .tb-wave {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 18px;
pointer-events: none
}

@media (max-width: 768px) {
.srvs-pg .tb-grid {
flex-direction: column
}

.srvs-pg .tb-img-col {
flex: 0 0 auto;
width: 100%
}

.srvs-pg .tb-img-col img {
width: 100%;
height: 220px
}

.srvs-pg .tb-h1 {
font-size: 41px
}
}

.srvs-pg .srv-list {
padding-top: 80px;
padding-bottom: 80px;
background: linear-gradient(to top, #f34fbc0f 0%, transparent 100%);
position: relative
}

.srvs-pg .srv-list-divider {
height: 2px;
background: linear-gradient(to right, transparent, #F34FBC 30%, #1A192D 70%, transparent);
margin-bottom: 80px;
border: none
}

.srvs-pg .srv-eyebrow {
font-size: 15px;
font-weight: 700;
color: #F34FBC;
letter-spacing: .02em;
margin-bottom: 12px
}

.srvs-pg .srv-h2 {
font-size: 41px;
line-height: 1.2;
font-weight: 300;
color: #1A192D;
letter-spacing: .01em;
margin: 0 0 40px
}

.srvs-pg .srv-h2 strong {
font-weight: 800
}

.srvs-pg .srv-irreg {
display: grid;
grid-template-columns: 3fr 2fr 2fr;
grid-template-rows: auto auto;
gap: 20px
}

.srvs-pg .srv-card {
background: #fff;
border-radius: 10px;
padding: 40px;
box-shadow: -1px 2px 3px 0 #1a192d0f -1px 6px 14px 0 #1a192d1c;
position: relative;
overflow: hidden;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
display: flex;
flex-direction: column;
gap: 12px
}

.srvs-pg .srv-card:hover {
box-shadow: -1px 8px 52px 0 #1a192d24;
transform: translateY(-4px)
}

.srvs-pg .srv-list .srv-irreg:hover .srv-card:not(:hover) {
opacity: .7;
transition: opacity .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .srv-card .corner-stripe {
position: absolute;
top: 0;
right: 0;
width: 60px;
height: 60px;
overflow: hidden;
pointer-events: none
}

.srvs-pg .srv-card .corner-stripe::before {
content: "";
position: absolute;
top: -30px;
right: -30px;
width: 60px;
height: 60px;
background: #F34FBC;
transform: rotate(45deg)
}

.srvs-pg .srv-card.wide {
grid-column: 1 / 2;
grid-row: 1 / 3
}

.srvs-pg .srv-card.tall {
grid-column: 2 / 3;
grid-row: 1 / 2
}

.srvs-pg .srv-card.med {
grid-column: 3 / 4;
grid-row: 1 / 2
}

.srvs-pg .srv-card.btm-a {
grid-column: 2 / 3;
grid-row: 2 / 3
}

.srvs-pg .srv-card.btm-b {
grid-column: 3 / 4;
grid-row: 2 / 3
}

.srvs-pg .srv-card .srv-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #f34fbc1a;
border-radius: 10px;
flex-shrink: 0
}

.srvs-pg .srv-card .srv-icon svg {
width: 22px;
height: 22px;
stroke: #F34FBC;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.srvs-pg .srv-card .srv-name {
font-size: 19px;
font-weight: 700;
color: #1A192D;
line-height: 1.2;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .srv-card .srv-desc {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .srv-card .srv-detail {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .srv-card.wide .srv-img-wrap {
margin-top: 12px;
border-radius: 10px;
overflow: hidden;
position: relative;
aspect-ratio: 16/9
}

.srvs-pg .srv-card.wide .srv-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .srv-card.wide:hover .srv-img-wrap img {
transform: scale(1.04)
}

.srvs-pg .srv-card.wide .srv-img-wrap .img-caption {
position: absolute;
inset: 0;
background: #1a192db8;
display: flex;
align-items: flex-end;
padding: 20px;
opacity: 0;
transition: opacity .45s cubic-bezier(0.22, 1, 0.36, 1);
border-radius: 10px
}

.srvs-pg .srv-card.wide:hover .srv-img-wrap .img-caption {
opacity: 1
}

.srvs-pg .srv-card.wide .srv-img-wrap .img-caption span {
font-size: 15px;
color: #fff;
line-height: 1.7;
letter-spacing: .01em
}

@media (max-width: 1024px) {
.srvs-pg .srv-irreg {
grid-template-columns: 1fr 1fr;
grid-template-rows: auto
}

.srvs-pg .srv-card.wide,
.srvs-pg .srv-card.tall,
.srvs-pg .srv-card.med,
.srvs-pg .srv-card.btm-a,
.srvs-pg .srv-card.btm-b {
grid-column: auto;
grid-row: auto
}
}

@media (max-width: 768px) {
.srvs-pg .srv-irreg {
grid-template-columns: 1fr
}

.srvs-pg .srv-h2 {
font-size: 41px
}
}

.srvs-pg .faq-root {
padding-top: 80px;
padding-bottom: 80px;
background: #1A192D;
position: relative
}

.srvs-pg .faq-divider {
height: 2px;
background: linear-gradient(to right, transparent, #f34fbc80, transparent);
margin-bottom: 80px;
border: none
}

.srvs-pg .faq-layout {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.srvs-pg .faq-expert {
flex: 0 0 260px;
display: flex;
flex-direction: column;
gap: 20px;
align-items: flex-start
}

.srvs-pg .faq-portrait {
width: 220px;
height: 283px;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 6px 14px 0 #f34fbc1c;
flex-shrink: 0
}

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

.srvs-pg .faq-expert-name {
font-size: 19px;
font-weight: 700;
color: #fff;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .faq-expert-role {
font-size: 15px;
color: #F34FBC;
letter-spacing: .02em;
margin: 0
}

.srvs-pg .faq-expert-bio {
font-size: 15px;
line-height: 1.7;
color: #ffffffb3;
letter-spacing: .01em;
margin: 0
}

.srvs-pg .faq-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 6px
}

.srvs-pg .faq-h2 {
font-size: 41px;
line-height: 1.2;
font-weight: 800;
color: #fff;
letter-spacing: .01em;
margin: 0 0 40px
}

.srvs-pg .faq-h2 .accent {
color: #F34FBC
}

.srvs-pg .faq-item {
border-radius: 10px;
background: #ffffff0d;
overflow: hidden
}

.srvs-pg .faq-item input[type="checkbox"] {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0
}

.srvs-pg .faq-q {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 20px;
cursor: pointer;
font-size: 15px;
font-weight: 700;
color: #fff;
letter-spacing: .01em;
line-height: 1.7;
user-select: none;
transition: background .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .faq-q:hover {
background: #f34fbc14
}

.srvs-pg .faq-q .faq-arrow {
flex-shrink: 0;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
transition: transform .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .faq-q .faq-arrow svg {
width: 16px;
height: 16px;
stroke: #F34FBC;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.srvs-pg .faq-item input:checked~.faq-q .faq-arrow {
transform: rotate(180deg)
}

.srvs-pg .faq-ans {
max-height: 0;
overflow: hidden;
transition: max-height .55s cubic-bezier(0.22, 1, 0.36, 1), padding .4s cubic-bezier(0.22, 1, 0.36, 1);
padding: 0 20px;
font-size: 15px;
line-height: 1.7;
color: #ffffffb8;
letter-spacing: .01em
}

.srvs-pg .faq-item input:checked~.faq-ans {
max-height: 300px;
padding: 0 20px 20px
}

.srvs-pg .faq-wave {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 18px;
pointer-events: none
}

@media (max-width: 1024px) {
.srvs-pg .faq-layout {
gap: 40px
}

.srvs-pg .faq-expert {
flex: 0 0 200px
}

.srvs-pg .faq-portrait {
width: 180px;
height: 231px
}
}

@media (max-width: 768px) {
.srvs-pg .faq-layout {
flex-direction: column
}

.srvs-pg .faq-expert {
flex: 0 0 auto;
flex-direction: row;
align-items: flex-start;
gap: 20px;
flex-wrap: wrap
}

.srvs-pg .faq-h2 {
font-size: 41px
}
}

@keyframes cardFlipIn {
from {
opacity: 0;
transform: perspective(600px) rotateY(90deg)
}

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

.srvs-pg .srv-card {
animation: cardFlipIn .65s cubic-bezier(0.22, 1, 0.36, 1) both
}

.srvs-pg .srv-card:nth-child(1) {
animation-delay: .05s
}

.srvs-pg .srv-card:nth-child(2) {
animation-delay: .15s
}

.srvs-pg .srv-card:nth-child(3) {
animation-delay: .25s
}

.srvs-pg .srv-card:nth-child(4) {
animation-delay: .35s
}

.srvs-pg .srv-card:nth-child(5) {
animation-delay: .45s
}

.srvs-pg .faq-item {
animation: cardFlipIn .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

.srvs-pg .faq-item:nth-child(1) {
animation-delay: .1s
}

.srvs-pg .faq-item:nth-child(2) {
animation-delay: .2s
}

.srvs-pg .faq-item:nth-child(3) {
animation-delay: .3s
}

.srvs-pg .faq-item:nth-child(4) {
animation-delay: .4s
}

.srvs-pg .btn-primary {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 40px;
background: #F34FBC;
color: #fff;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
border: none;
border-radius: 10px;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: -1px 6px 14px 0 #f34fbc1c;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1);
text-decoration: none
}

.srvs-pg .btn-primary::after {
content: "";
position: absolute;
inset: 0;
background: #1A192D;
transform: translateX(100%);
transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1);
z-index: 0
}

.srvs-pg .btn-primary:hover::after {
transform: translateX(0)
}

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

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

.cnt-us .fog-layer {
position: fixed;
top: 0;
left: 0;
width: 200%;
height: 100%;
background: linear-gradient(105deg, #ffffff2e 0%, #fff0 60%);
pointer-events: none;
z-index: 0;
animation: fog-drift 18s ease-in-out infinite alternate
}

@keyframes fog-drift {
0% {
transform: translateX(-8%) translateY(0);
opacity: .7
}

100% {
transform: translateX(4%) translateY(-3%);
opacity: 1
}
}

.cnt-us .reach-block {
position: relative;
padding: 80px 20px;
background-color: #fff;
z-index: 1
}

.cnt-us .reach-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.cnt-us .reach-img-col {
flex: 0 0 380px;
position: relative
}

.cnt-us .reach-img-frame {
position: relative;
border-radius: 10px;
overflow: hidden;
aspect-ratio: 16/9;
box-shadow: -1px 8px 52px 0 #1a192d24
}

.cnt-us .reach-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.35) contrast(1.08) brightness(0.92) saturate(0.8);
transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .reach-img-frame:hover img {
filter: sepia(0.15) contrast(1.05) brightness(0.96) saturate(1)
}

.cnt-us .reach-deco {
position: absolute;
bottom: -20px;
left: -20px;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none;
z-index: 0
}

.cnt-us .reach-deco span {
display: block;
height: 1px;
background-color: #F34FBC;
opacity: .4
}

.cnt-us .reach-deco span:nth-child(1) {
width: 60px
}

.cnt-us .reach-deco span:nth-child(2) {
width: 44px
}

.cnt-us .reach-deco span:nth-child(3) {
width: 28px
}

.cnt-us .reach-deco span:nth-child(4) {
width: 16px
}

.cnt-us .reach-text-col {
flex: 1;
min-width: 0
}

.cnt-us .reach-label {
display: inline-block;
font-size: 15px;
font-weight: 700;
color: #F34FBC;
letter-spacing: .02em;
margin-bottom: 12px;
line-height: 1.2
}

.cnt-us .reach-heading {
font-size: 56px;
font-weight: 700;
color: #1A192D;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 20px
}

.cnt-us .reach-heading .num-accent {
color: #F34FBC;
font-weight: 700
}

.cnt-us .reach-desc {
font-size: 19px;
line-height: 1.7;
color: #1A192D;
margin: 0 0 40px;
max-width: 480px;
letter-spacing: .01em
}

.cnt-us .contact-details-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 20px
}

.cnt-us .contact-details-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.cnt-us .cd-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 10px;
background: linear-gradient(0deg, #f34fbc1f 0%, transparent 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 2px 3px 0 #1a192d0f;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .contact-details-list li:hover .cd-icon {
box-shadow: -1px 6px 14px 0 #f34fbc1c;
background: linear-gradient(0deg, #f34fbc33 0%, transparent 100%)
}

.cnt-us .cd-icon svg {
width: 20px;
height: 20px;
stroke: #F34FBC;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round
}

.cnt-us .cd-text {
display: flex;
flex-direction: column;
gap: 6px
}

.cnt-us .cd-label {
font-size: 15px;
font-weight: 700;
color: #1A192D;
letter-spacing: .02em;
line-height: 1.2
}

.cnt-us .cd-value {
font-size: 15px;
color: #1A192D;
line-height: 1.7;
letter-spacing: .01em
}

.cnt-us .cd-value a {
color: #1A192D;
text-decoration: none;
position: relative;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .cd-value a:hover {
color: #F34FBC
}

.cnt-us .cd-value a .lnk-arrow {
display: inline-block;
opacity: 0;
transform: translateX(-4px);
transition: opacity .4s cubic-bezier(0.22, 1, 0.36, 1), transform .4s cubic-bezier(0.22, 1, 0.36, 1);
margin-left: 4px;
font-size: 15px;
color: #F34FBC
}

.cnt-us .cd-value a:hover .lnk-arrow {
opacity: 1;
transform: translateX(0)
}

.cnt-us .form-block {
position: relative;
padding: 80px 20px;
background: linear-gradient(0deg, #1a192d0a 0%, transparent 100%);
z-index: 1
}

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

.cnt-us .form-info-col {
flex: 0 0 320px;
padding-top: 12px
}

.cnt-us .form-eyebrow {
font-size: 15px;
font-weight: 700;
color: #F34FBC;
letter-spacing: .02em;
line-height: 1.2;
margin-bottom: 20px;
display: block
}

.cnt-us .form-side-heading {
font-size: 41px;
font-weight: 300;
color: #1A192D;
line-height: 1.2;
letter-spacing: .01em;
margin: 0 0 20px
}

.cnt-us .form-side-heading strong {
font-weight: 700
}

.cnt-us .form-side-desc {
font-size: 15px;
line-height: 1.7;
color: #1A192D;
margin: 0 0 40px;
letter-spacing: .01em
}

.cnt-us .timeline-wrap {
display: flex;
flex-direction: column;
gap: 0
}

.cnt-us .tl-period {
position: relative;
padding-left: 20px;
margin-bottom: 20px
}

.cnt-us .tl-period::before {
content: '';
position: absolute;
left: 0;
top: 6px;
bottom: -20px;
width: 1px;
background: linear-gradient(0deg, transparent 0%, #f34fbc66 100%)
}

.cnt-us .tl-period:last-child::before {
display: none
}

.cnt-us .tl-dot {
position: absolute;
left: -4px;
top: 4px;
width: 9px;
height: 9px;
border-radius: 0;
background: #F34FBC;
transform: rotate(45deg)
}

.cnt-us .tl-period-label {
font-size: 15px;
font-weight: 700;
color: #1A192D;
letter-spacing: .02em;
line-height: 1.2;
margin-bottom: 6px
}

.cnt-us .tl-events {
display: flex;
flex-direction: column;
gap: 6px
}

.cnt-us .tl-event {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 15px;
color: #1A192D;
line-height: 1.7;
letter-spacing: .01em
}

.cnt-us .tl-check {
width: 14px;
height: 14px;
flex-shrink: 0;
position: relative;
display: flex;
align-items: center;
justify-content: center
}

.cnt-us .tl-check svg {
width: 14px;
height: 14px;
stroke: #F34FBC;
fill: none;
stroke-width: 2.2;
stroke-linecap: round;
stroke-linejoin: round
}

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

.cnt-us .contact-form {
background: #fff;
border-radius: 10px;
padding: 40px;
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.cnt-us .form-row {
display: flex;
flex-direction: row;
gap: 20px;
margin-bottom: 20px
}

.cnt-us .field-group {
display: flex;
flex-direction: column;
gap: 6px;
flex: 1;
min-width: 0;
position: relative
}

.cnt-us .field-group.full {
flex: 1 1 100%
}

.cnt-us .field-label {
font-size: 15px;
font-weight: 700;
color: #1A192D;
letter-spacing: .02em;
line-height: 1.2;
transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .field-input {
width: 100%;
padding: 12px 20px;
border: 1px solid #1a192d33;
border-radius: 10px;
font-size: 15px;
color: #1A192D;
background: #fff;
line-height: 1.7;
letter-spacing: .01em;
outline: none;
box-sizing: border-box;
transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: -1px 2px 3px 0 #1a192d0f inset
}

.cnt-us .field-input:focus {
border-color: #F34FBC;
box-shadow: -1px 2px 3px 0 #f34fbc0f inset, 0 0 0 3px #f34fbc1a
}

.cnt-us .field-input::placeholder {
color: #1a192d59;
font-size: 15px
}

.cnt-us .field-select {
width: 100%;
padding: 12px 20px;
border: 1px solid #1a192d33;
border-radius: 10px;
font-size: 15px;
color: #1A192D;
background: #fff;
line-height: 1.7;
letter-spacing: .01em;
outline: none;
box-sizing: border-box;
appearance: none;
cursor: pointer;
transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: -1px 2px 3px 0 #1a192d0f inset;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A192D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px
}

.cnt-us .field-select:focus {
border-color: #F34FBC;
box-shadow: -1px 2px 3px 0 #f34fbc0f inset, 0 0 0 3px #f34fbc1a
}

.cnt-us .field-select option {
color: #1A192D;
background: #fff
}

.cnt-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 20px;
padding: 20px;
background: #1a192d08;
border-radius: 10px
}

.cnt-us .privacy-check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #F34FBC;
cursor: pointer
}

.cnt-us .privacy-text {
font-size: 15px;
color: #1A192D;
line-height: 1.7;
letter-spacing: .01em
}

.cnt-us .privacy-text a {
color: #F34FBC;
text-decoration: underline;
text-underline-offset: 2px;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.cnt-us .privacy-text a:hover {
color: #1A192D
}

.cnt-us .submit-btn {
position: relative;
display: inline-block;
padding: 12px 40px;
background: #1A192D;
color: #fff;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.2;
border: none;
border-radius: 10px;
cursor: pointer;
overflow: hidden;
transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.cnt-us .submit-btn::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 100%;
background: #F34FBC;
border-radius: 10px;
transition: width .45s cubic-bezier(0.22, 1, 0.36, 1);
z-index: 0
}

.cnt-us .submit-btn:hover::after {
width: 100%;
left: 0;
right: auto
}

.cnt-us .submit-btn:hover {
box-shadow: -1px 8px 52px 0 #f34fbc24
}

.cnt-us .submit-btn span {
position: relative;
z-index: 1
}

.cnt-us .submit-btn:focus {
outline: 3px solid #f34fbc66;
outline-offset: 2px
}

.cnt-us .submit-btn:active {
transform: translateY(1px)
}

@media (max-width: 1024px) {
.cnt-us .reach-inner {
gap: 40px
}

.cnt-us .reach-img-col {
flex: 0 0 300px
}

.cnt-us .reach-heading {
font-size: 41px
}

.cnt-us .form-inner {
gap: 40px
}

.cnt-us .form-info-col {
flex: 0 0 260px
}
}

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

.cnt-us .reach-img-col {
flex: none;
width: 100%
}

.cnt-us .reach-heading {
font-size: 41px
}

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

.cnt-us .form-info-col {
flex: none;
width: 100%
}

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

.cnt-us .contact-form {
padding: 20px
}

.cnt-us .reach-block {
padding: 40px 20px
}

.cnt-us .form-block {
padding: 40px 20px
}
}

@media (max-width: 375px) {
.cnt-us .reach-heading {
font-size: 41px
}

.cnt-us .form-side-heading {
font-size: 41px
}
}

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

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

.opn .split-frame {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px
}

.opn .split-left {
background-color: #1A192D;
padding: 80px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}

.opn .split-right {
background-color: #f5f0fb;
position: relative;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden
}

.opn .split-right img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
aspect-ratio: 16/9;
transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .split-right:hover img {
transform: scale(1.03)
}

.opn .split-right::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 60% 50%, transparent 40%, #1a192d61 100%);
pointer-events: none
}

.opn .dots-path {
position: absolute;
bottom: 40px;
left: 40px;
display: flex;
flex-direction: row;
gap: 6px;
pointer-events: none
}

.opn .dots-path span {
display: block;
width: 6px;
height: 6px;
border-radius: 0;
background-color: #F34FBC;
opacity: .5
}

.opn .dots-path span:nth-child(2) {
opacity: .35
}

.opn .dots-path span:nth-child(3) {
opacity: .2
}

.opn .dots-path span:nth-child(4) {
opacity: .12
}

.opn .tag-label {
font-size: 15px;
color: #F34FBC;
letter-spacing: .02em;
margin-bottom: 20px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.opn .tag-label::before {
content: '';
display: inline-block;
width: 24px;
height: 2px;
background-color: #F34FBC;
flex-shrink: 0
}

.opn .h1-main {
font-size: 56px;
line-height: 1.2;
color: #FFF;
letter-spacing: .01em;
margin-bottom: 20px;
font-weight: 700
}

.opn .h1-main .accent-pink {
color: #F34FBC;
-webkit-text-fill-color: #F34FBC
}

.opn .lead-desc {
font-size: 19px;
line-height: 1.7;
color: #ffffffbf;
letter-spacing: .01em;
max-width: 480px
}

.opn .dashed-frame {
position: absolute;
top: 20px;
right: 20px;
bottom: 20px;
left: 20px;
border: 1.5px dashed #f34fbc4d;
pointer-events: none;
border-radius: 0
}

.opn .value-sect {
padding: 80px 0;
background-color: #FFF
}

.opn .value-grid {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: center
}

.opn .value-img-wrap {
position: relative
}

.opn .value-img-wrap img {
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
display: block;
border-radius: 0;
box-shadow: -1px 6px 14px 0 #1a192d1c;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .value-img-wrap::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1);
pointer-events: none
}

.opn .value-img-wrap:hover::after {
border-color: #F34FBC
}

.opn .value-img-wrap:hover img {
box-shadow: -1px 8px 52px 0 #1a192d24
}

.opn .sect-eyebrow {
font-size: 15px;
color: #F34FBC;
letter-spacing: .02em;
margin-bottom: 12px;
font-weight: 600
}

.opn .h2-mod {
font-size: 41px;
line-height: 1.2;
color: #1A192D;
letter-spacing: .01em;
font-weight: 700;
margin-bottom: 20px
}

.opn .h2-light {
font-weight: 300
}

.opn .body-par {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em;
margin-bottom: 20px
}

.opn .body-par .bold-lead {
font-weight: 700;
color: #1A192D
}

.opn .metric-row {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 40px
}

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

.opn .metric-num {
font-size: 41px;
line-height: 1.2;
font-weight: 700;
color: #1A192D;
letter-spacing: .01em
}

.opn .metric-num .pk {
color: #F34FBC
}

.opn .metric-lbl {
font-size: 15px;
color: #3a3850;
line-height: 1.7
}

.opn .gap-sect {
padding: 80px 0;
background: linear-gradient(to top, #f34fbc12 0%, transparent 100%);
position: relative
}

.opn .gap-sect::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, #f34fbc0f 0%, transparent 65%);
pointer-events: none
}

.opn .gap-inner {
position: relative;
z-index: 1
}

.opn .gap-cols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
margin-top: 40px
}

.opn .gap-card {
background: #FFF;
border-radius: 10px;
padding: 40px 20px;
box-shadow: -1px 2px 3px 0 #1a192d0f;
transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .gap-card:hover {
box-shadow: -1px 8px 52px 0 #1a192d24;
transform: translateY(-4px)
}

.opn .gap-icon {
width: 40px;
height: 40px;
margin-bottom: 20px;
display: flex;
align-items: center;
justify-content: center
}

.opn .gap-icon svg {
width: 36px;
height: 36px
}

.opn .h4-card {
font-size: 19px;
line-height: 1.2;
font-weight: 700;
color: #1A192D;
letter-spacing: .01em;
margin-bottom: 12px
}

.opn .card-par {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em
}

.opn .exper-sect {
padding: 80px 0;
background-color: #1A192D
}

.opn .exper-layout {
display: grid;
grid-template-columns: 7fr 5fr;
gap: 80px;
align-items: center
}

.opn .quote-block {
position: relative;
padding: 40px;
background: #ffffff0d;
border-radius: 10px;
box-shadow: -1px 6px 14px 0 #f34fbc1c
}

.opn .quote-text {
font-size: 19px;
line-height: 1.7;
color: #ffffffe0;
letter-spacing: .01em;
margin-bottom: 20px;
font-style: italic
}

.opn .quote-attr {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.opn .portrait-wrap {
width: 60px;
height: 84px;
flex-shrink: 0;
overflow: hidden;
border-radius: 0
}

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

.opn .attr-name {
font-size: 15px;
font-weight: 700;
color: #FFF;
letter-spacing: .01em
}

.opn .attr-role {
font-size: 15px;
color: #ffffff8c;
line-height: 1.7
}

.opn .exper-right {
display: flex;
flex-direction: column;
gap: 20px
}

.opn .exper-head {
font-size: 41px;
line-height: 1.2;
font-weight: 700;
color: #FFF;
letter-spacing: .01em
}

.opn .exper-par {
font-size: 15px;
line-height: 1.7;
color: #ffffffb3;
letter-spacing: .01em
}

.opn .exper-par .bold-lead {
font-weight: 700;
color: #FFF
}

.opn .approach-sect {
padding: 80px 0;
background-color: #FFF
}

.opn .approach-top {
max-width: 640px;
margin-bottom: 40px
}

.opn .approach-img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
align-items: start;
margin-top: 40px
}

.opn .approach-img-box {
position: relative;
overflow: hidden;
border-radius: 0
}

.opn .approach-img-box img {
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
display: block;
transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .approach-img-box::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1);
pointer-events: none
}

.opn .approach-img-box:hover::after {
border-color: #F34FBC
}

.opn .approach-img-box:hover img {
transform: scale(1.04)
}

.opn .approach-list {
display: flex;
flex-direction: column;
gap: 20px
}

.opn .appr-item {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start
}

.opn .appr-num {
font-size: 41px;
line-height: 1.2;
font-weight: 700;
color: #f34fbc2e;
letter-spacing: .01em;
min-width: 40px;
flex-shrink: 0;
margin-top: -6px
}

.opn .appr-text {
flex: 1
}

.opn .appr-text strong {
font-size: 19px;
line-height: 1.2;
color: #1A192D;
display: block;
margin-bottom: 6px;
font-weight: 700
}

.opn .appr-text p {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em
}

.opn .support-sect {
padding: 80px 0;
background: linear-gradient(to top, #1a192d0d 0%, transparent 100%);
position: relative
}

.opn .support-sect::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, #f34fbc0d 0%, transparent 70%);
pointer-events: none
}

.opn .support-inner {
position: relative;
z-index: 1
}

.opn .support-cols {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: start
}

.opn .support-head {
font-size: 41px;
line-height: 1.2;
font-weight: 700;
color: #1A192D;
letter-spacing: .01em;
margin-bottom: 20px
}

.opn .support-par {
font-size: 15px;
line-height: 1.7;
color: #3a3850;
letter-spacing: .01em;
margin-bottom: 20px
}

.opn .support-par .bold-lead {
font-weight: 700;
color: #1A192D
}

.opn .support-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 15px;
color: #1A192D;
text-decoration: none;
font-weight: 600;
letter-spacing: .01em;
padding: 12px 20px;
background-color: #1A192D;
color: #FFF;
border-radius: 0;
position: relative;
overflow: hidden;
transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .support-link::before {
content: '';
position: absolute;
inset: 0;
background-color: #F34FBC;
transform: translateX(100%);
transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1);
z-index: 0
}

.opn .support-link:hover::before {
transform: translateX(0)
}

.opn .support-link:hover {
color: #FFF
}

.opn .support-link span {
position: relative;
z-index: 1
}

.opn .support-link .lnk-icon {
position: relative;
z-index: 1;
opacity: 0;
transform: translateX(-6px);
transition: opacity .4s cubic-bezier(0.22, 1, 0.36, 1), transform .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .support-link:hover .lnk-icon {
opacity: 1;
transform: translateX(0)
}

.opn .support-items {
display: flex;
flex-direction: column;
gap: 20px
}

.opn .sup-item {
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
padding: 20px;
background: #FFF;
border-radius: 10px;
box-shadow: -1px 2px 3px 0 #1a192d0f;
transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.opn .sup-item:hover {
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.opn .sup-ico {
width: 40px;
height: 40px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: #f34fbc1a;
border-radius: 10px
}

.opn .sup-ico svg {
width: 22px;
height: 22px
}

.opn .sup-body strong {
font-size: 15px;
font-weight: 700;
color: #1A192D;
display: block;
margin-bottom: 6px
}

.opn .sup-body p {
font-size: 15px;
line-height: 1.7;
color: #3a3850
}

@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-40px)
}

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

@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(40px)
}

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

@keyframes slideInUp {
from {
opacity: 0;
transform: translateY(30px)
}

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

.opn .split-left {
animation: slideInLeft .7s cubic-bezier(0.22, 1, 0.36, 1) both
}

.opn .split-right {
animation: slideInRight .65s cubic-bezier(0.22, 1, 0.36, 1) .15s both
}

@media (max-width: 1024px) {
.opn .split-frame {
grid-template-columns: 1fr
}

.opn .split-right {
min-height: 320px
}

.opn .split-right img {
height: 320px
}

.opn .value-grid {
grid-template-columns: 1fr;
gap: 40px
}

.opn .gap-cols {
grid-template-columns: 1fr 1fr
}

.opn .exper-layout {
grid-template-columns: 1fr;
gap: 40px
}

.opn .approach-img-row {
grid-template-columns: 1fr
}

.opn .support-cols {
grid-template-columns: 1fr;
gap: 40px
}
}

@media (max-width: 768px) {
.opn .h1-main {
font-size: 41px
}

.opn .h2-mod {
font-size: 41px
}

.opn .split-left {
padding: 40px 20px
}

.opn .gap-cols {
grid-template-columns: 1fr
}

.opn .metric-row {
flex-direction: column;
gap: 20px
}

.opn .approach-img-row {
grid-template-columns: 1fr
}

.opn .exper-layout {
grid-template-columns: 1fr;
gap: 40px
}

.opn .support-cols {
grid-template-columns: 1fr;
gap: 40px
}

.opn .value-grid {
grid-template-columns: 1fr;
gap: 40px
}
}

@media (max-width: 375px) {
.opn .h1-main {
font-size: 41px
}

.opn .split-left {
padding: 40px 12px
}

.opn .metric-num {
font-size: 41px
}
}

.abt-us {
overflow-x: hidden;
background: #fff
}

.abt-us * {
box-sizing: border-box
}

.abt-us ::selection {
background: #F34FBC;
color: #fff
}

.abt-us .drop-in {
opacity: 0;
transform: translateY(-32px);
animation: dropIn .65s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.abt-us .drop-in:nth-child(1) {
animation-delay: .05s
}

.abt-us .drop-in:nth-child(2) {
animation-delay: .18s
}

.abt-us .drop-in:nth-child(3) {
animation-delay: .31s
}

.abt-us .drop-in:nth-child(4) {
animation-delay: .44s
}

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

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

.abt-us .split-screen {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 480px;
position: relative
}

.abt-us .split-left {
background: #1A192D;
padding: 80px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.abt-us .split-left::before {
content: '';
position: absolute;
top: 20px;
left: 20px;
width: 28px;
height: 28px;
border-top: 2px solid #F34FBC;
border-left: 2px solid #F34FBC
}

.abt-us .split-left::after {
content: '';
position: absolute;
bottom: 20px;
right: 20px;
width: 28px;
height: 28px;
border-bottom: 2px solid #F34FBC;
border-right: 2px solid #F34FBC
}

.abt-us .split-label {
font-size: 15px;
line-height: 1.2;
letter-spacing: .02em;
color: #F34FBC;
font-weight: 600;
margin-bottom: 20px;
text-transform: uppercase
}

.abt-us .split-h1 {
font-size: 56px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
font-weight: 800;
margin: 0 0 20px
}

.abt-us .split-h1 .accent {
color: #F34FBC
}

.abt-us .split-desc {
font-size: 15px;
line-height: 1.7;
color: #ffffffbf;
margin: 0;
max-width: 380px
}

.abt-us .split-right {
position: relative;
overflow: hidden
}

.abt-us .split-right img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .split-right::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to bottom, #1a192db8 0%, transparent 100%);
pointer-events: none
}

.abt-us .wavy-divider {
width: 100%;
overflow: hidden;
line-height: 0;
transform: scaleX(-1)
}

.abt-us .wavy-divider svg {
display: block;
width: 100%
}

.abt-us .story-band {
background: #fff;
padding: 80px 0 0;
position: relative
}

.abt-us .story-grid {
display: grid;
grid-template-columns: 56px 1fr 420px;
gap: 40px;
align-items: start;
max-width: 1170px;
margin: 0 auto;
padding: 0 40px
}

.abt-us .story-sidebar {
display: flex;
flex-direction: column;
gap: 20px;
padding-top: 6px
}

.abt-us .sidebar-icon {
width: 40px;
height: 40px;
border-radius: 10px;
background: #f34fbc17;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.abt-us .sidebar-icon svg {
width: 20px;
height: 20px;
stroke: #F34FBC;
fill: none;
stroke-width: 1.5
}

.abt-us .story-body {
padding-top: 0
}

.abt-us .story-eyebrow {
font-size: 15px;
line-height: 1.2;
letter-spacing: .02em;
color: #F34FBC;
font-weight: 700;
margin-bottom: 12px;
display: block
}

.abt-us .story-h2 {
font-size: 41px;
line-height: 1.2;
letter-spacing: .01em;
color: #1A192D;
font-weight: 800;
margin: 0 0 20px
}

.abt-us .story-h2 .light {
font-weight: 300
}

.abt-us .story-para {
font-size: 15px;
line-height: 1.7;
color: #2e2d45;
margin: 0 0 20px
}

.abt-us .story-para .lead {
font-weight: 700;
color: #1A192D
}

.abt-us .story-para:last-child {
margin-bottom: 0
}

.abt-us .story-media {
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 8px 52px 0 #1a192d24
}

.abt-us .story-media img {
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
display: block
}

.abt-us .before-after {
margin-top: 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px
}

.abt-us .ba-step {
background: #1a192d0a;
border-radius: 10px;
padding: 20px;
position: relative
}

.abt-us .ba-step.after {
background: #f34fbc12
}

.abt-us .ba-num {
font-size: 41px;
line-height: 1.2;
font-weight: 800;
color: #1a192d1a;
position: absolute;
top: 12px;
right: 16px;
letter-spacing: -.02em
}

.abt-us .ba-label {
font-size: 15px;
line-height: 1.2;
font-weight: 700;
color: #1A192D;
margin-bottom: 6px
}

.abt-us .ba-text {
font-size: 15px;
line-height: 1.7;
color: #2e2d45;
margin: 0
}

.abt-us .diagonal-divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: 80px
}

.abt-us .diagonal-divider svg {
display: block;
width: 100%
}

.abt-us .team-band {
background: #1A192D;
padding: 80px 0;
position: relative
}

.abt-us .honeycomb-bg {
position: absolute;
inset: 0;
opacity: .04;
pointer-events: none;
overflow: hidden
}

.abt-us .honeycomb-bg svg {
width: 100%;
height: 100%
}

.abt-us .team-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px
}

.abt-us .team-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
margin-bottom: 80px
}

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

.abt-us .team-eyebrow {
font-size: 15px;
line-height: 1.2;
letter-spacing: .02em;
color: #F34FBC;
font-weight: 700;
text-transform: uppercase
}

.abt-us .team-h2 {
font-size: 41px;
line-height: 1.2;
letter-spacing: .01em;
color: #fff;
font-weight: 300;
margin: 0
}

.abt-us .team-h2 strong {
font-weight: 800;
display: block
}

.abt-us .team-para {
font-size: 15px;
line-height: 1.7;
color: #ffffffa6;
margin: 0
}

.abt-us .team-para .lead {
font-weight: 700;
color: #ffffffe6
}

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

.abt-us .metric-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
padding: 20px;
border-radius: 10px;
background: #ffffff0d;
box-shadow: -1px 2px 3px 0 #f34fbc0f;
transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
position: relative;
overflow: hidden
}

.abt-us .metric-row::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(135deg, transparent, transparent 18px, #f34fbc21 18px, #f34fbc21 20px);
opacity: 0;
transition: opacity .45s ease-in-out;
pointer-events: none
}

.abt-us .metric-row:hover::before {
opacity: 1
}

.abt-us .metric-row:hover {
background: #f34fbc1a;
box-shadow: -1px 6px 14px 0 #f34fbc1c
}

.abt-us .metric-val {
font-size: 41px;
line-height: 1.2;
font-weight: 800;
color: #F34FBC;
letter-spacing: .01em;
flex-shrink: 0;
width: 80px
}

.abt-us .metric-desc {
font-size: 15px;
line-height: 1.7;
color: #ffffffb3
}

.abt-us .metric-desc strong {
color: #fff;
display: block;
font-size: 19px;
line-height: 1.2;
margin-bottom: 6px
}

.abt-us .person-strip {
display: grid;
grid-template-columns: 200px 1fr;
gap: 40px;
align-items: center;
background: #ffffff0a;
border-radius: 10px;
padding: 40px;
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.abt-us .person-portrait {
width: 120px;
height: 168px;
border-radius: 10px;
overflow: hidden;
flex-shrink: 0;
box-shadow: -1px 6px 14px 0 #f34fbc1c
}

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

.abt-us .person-detail {
display: flex;
flex-direction: column;
gap: 12px
}

.abt-us .person-name {
font-size: 19px;
line-height: 1.2;
font-weight: 700;
color: #fff;
margin: 0
}

.abt-us .person-role {
font-size: 15px;
line-height: 1.2;
color: #F34FBC;
font-weight: 600;
letter-spacing: .02em
}

.abt-us .person-bio {
font-size: 15px;
line-height: 1.7;
color: #ffffffa6;
margin: 0
}

.abt-us .values-strip {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-top: 40px
}

.abt-us .val-card {
border-radius: 10px;
padding: 20px;
background: #ffffff0a;
transition: background .6s cubic-bezier(0.22, 1, 0.36, 1);
position: relative;
overflow: hidden
}

.abt-us .val-card:hover {
background: #f34fbc17
}

.abt-us .val-icon {
width: 36px;
height: 36px;
margin-bottom: 12px
}

.abt-us .val-icon svg {
width: 36px;
height: 36px;
stroke: #F34FBC;
fill: none;
stroke-width: 1.5
}

.abt-us .val-h {
font-size: 15px;
line-height: 1.2;
font-weight: 700;
color: #fff;
margin: 0 0 6px
}

.abt-us .val-p {
font-size: 15px;
line-height: 1.7;
color: #fff9;
margin: 0
}

.abt-us .img-block {
margin-top: 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px
}

.abt-us .img-block figure {
margin: 0;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.abt-us .img-block figure img {
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
display: block;
transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .img-block figure:hover img {
transform: scale(1.04)
}

@media (max-width: 1024px) {
.abt-us .split-screen {
grid-template-columns: 1fr
}

.abt-us .split-right {
height: 300px
}

.abt-us .split-h1 {
font-size: 41px
}

.abt-us .story-grid {
grid-template-columns: 40px 1fr
}

.abt-us .story-media {
display: none
}

.abt-us .team-top {
grid-template-columns: 1fr;
gap: 40px
}

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

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

@media (max-width: 768px) {
.abt-us .split-left {
padding: 60px 20px
}

.abt-us .split-h1 {
font-size: 41px
}

.abt-us .story-grid {
grid-template-columns: 1fr;
padding: 0 20px
}

.abt-us .story-sidebar {
flex-direction: row;
flex-wrap: wrap
}

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

.abt-us .team-inner {
padding: 0 20px
}

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

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

.abt-us .person-strip {
padding: 20px
}

.abt-us .pg-limit {
padding-left: 20px;
padding-right: 20px
}
}

@media (max-width: 375px) {
.abt-us .split-h1 {
font-size: 41px
}

.abt-us .metric-val {
font-size: 41px;
width: 60px
}
}

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

.success-page .confirm-wrap {
max-width: 560px;
width: 100%;
text-align: center;
padding: 80px 40px;
background: linear-gradient(to top, #f34fbc0a, transparent);
border-radius: 10px;
box-shadow: -1px 8px 52px 0 #1a192d24
}

.success-page .icon-mark {
width: 64px;
height: 64px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center
}

.success-page .icon-mark svg {
width: 64px;
height: 64px
}

.success-page .confirm-heading {
font-size: 41px;
line-height: 1.2;
letter-spacing: .01em;
font-weight: 700;
color: #1A192D;
margin: 0 0 20px
}

.success-page .confirm-heading span {
color: #F34FBC
}

.success-page .confirm-text {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
color: #1A192D;
opacity: .75;
margin: 0 0 40px
}

.success-page .back-link {
display: inline-block;
font-size: 15px;
letter-spacing: .02em;
font-weight: 600;
color: #FFF;
background: #1A192D;
padding: 12px 40px;
border-radius: 10px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .4s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: -1px 6px 14px 0 #1a192d1c
}

.success-page .back-link::before {
content: '';
position: absolute;
inset: 0;
background: #F34FBC;
transform: translateX(100%);
transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1);
border-radius: 10px
}

.success-page .back-link:hover::before {
transform: translateX(0)
}

.success-page .back-link:hover {
color: #FFF
}

.success-page .back-link .link-label {
position: relative;
z-index: 1
}

.success-page .divider-line {
width: 48px;
height: 2px;
background: #F34FBC;
margin: 0 auto 40px;
border-radius: 0
}

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

.success-page .confirm-wrap {
padding: 40px 20px
}

.success-page .confirm-heading {
font-size: 41px
}
}

@media (max-width: 375px) {
.success-page .confirm-heading {
font-size: 19px
}
}