html {
box-sizing: border-box
}

*,
::before,
::after {
box-sizing: inherit
}

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

.siteHeader {
position: relative;
background: #F8F7F9;
border-bottom: 1px solid #CEBCD8;
box-shadow: -1px 6px 28px -1px #9447a117;
overflow: hidden
}

.siteHeader::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #9447A1 0%, #CEBCD8 60%, #F8F7F9 100%);
pointer-events: none
}

.headerInner {
max-width: 1280px;
margin: 0 auto;
padding: 16px 40px;
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
gap: 16px
}

.headerLeft {
display: flex;
align-items: center;
justify-content: flex-start
}

.headerRight {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px
}

.logoBox {
display: inline-flex;
align-items: center;
justify-content: center;
background: #9447A1;
border-radius: 20px;
padding: 8px 16px;
box-shadow: -1px 1px 4px -1px #9447a112 -1px 6px 28px -1px #9447a117;
text-decoration: none;
min-width: 120px
}

.logoBox img {
display: block;
width: 80px;
height: 70px;
object-fit: contain
}

.primaryNav {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.primaryNav a {
font-family: 'Karla', sans-serif;
font-size: 15px;
font-weight: 500;
color: #2d1a33;
text-decoration: none;
padding: 8px 16px;
border-radius: 4px;
border: 1px solid transparent;
white-space: nowrap;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s ease-in-out, background .35s ease-in-out
}

.primaryNav a:hover {
color: #9447A1;
border-color: #CEBCD8;
background: #cebcd82e
}

.primaryNav a:focus {
outline: none;
box-shadow: 0 0 0 3px #9447a147;
border-radius: 4px
}

.headerContact {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px
}

.headerPhone {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: 'Karla', sans-serif;
font-size: 15px;
font-weight: 700;
color: #2d1a33;
text-decoration: none;
letter-spacing: 0;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.headerPhone i {
color: #9447A1;
font-size: 13px
}

.headerPhone:hover {
color: #9447A1
}

.headerPhone:focus {
outline: none;
box-shadow: 0 0 0 3px #9447a147;
border-radius: 4px
}

.headerTag {
display: inline-block;
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 400;
color: #5a3d63;
background: #cebcd84d;
border: 1px solid #CEBCD8;
border-radius: 4px;
padding: 8px 16px;
letter-spacing: .04em;
text-transform: uppercase;
white-space: nowrap
}

@media (max-width: 768px) {
.headerInner {
grid-template-columns: 1fr auto;
grid-template-rows: auto auto;
padding: 16px;
gap: 16px
}

.headerLeft {
order: 1;
grid-column: 1;
grid-row: 1
}

.logoBox {
order: 2;
grid-column: 2;
grid-row: 1;
justify-self: end
}

.headerRight {
order: 3;
grid-column: 1 / -1;
grid-row: 2;
justify-content: space-between;
flex-wrap: wrap
}

.headerContact {
align-items: flex-start
}

.primaryNav {
gap: 8px
}

.primaryNav a {
font-size: 13px;
padding: 8px
}

.headerTag {
display: none
}
}

@media (max-width: 375px) {
.headerInner {
padding: 8px
}

.primaryNav a {
padding: 8px;
font-size: 13px
}

.headerPhone {
font-size: 13px
}

.logoBox img {
width: 60px;
height: 55px
}
}

.siteFooter {
background: #2d1a33;
border-top: 3px solid #9447A1
}

.footerTop {
max-width: 1280px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 260px 1fr 1fr;
gap: 40px;
align-items: start
}

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

.footerLogoBox {
display: inline-flex;
align-items: center;
justify-content: center;
background: #9447A1;
border-radius: 20px;
padding: 8px 16px;
box-shadow: -1px 1px 4px -1px #9447a112 -1px 8px 36px -1px #9447a11f;
width: fit-content
}

.footerLogoBox img {
display: block;
width: 75px;
height: 65px;
object-fit: contain
}

.footerDesc {
font-family: 'Karla', sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.65;
color: #CEBCD8
}

.footerMission {
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 500;
line-height: 1.45;
color: #F8F7F9;
border-left: 3px solid #9447A1;
border-top: 1px solid #cebcd833;
border-bottom: 1px solid #cebcd833;
padding: 8px 16px;
border-radius: 4px;
background: #9447a114
}

.footerColLabel {
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 700;
color: #F8F7F9;
text-transform: uppercase;
letter-spacing: .1em;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 1px solid #cebcd840
}

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

.footerLinks li a {
font-family: 'Karla', sans-serif;
font-size: 15px;
font-weight: 400;
color: #CEBCD8;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 0;
border-bottom: 1px solid transparent;
transition: color .38s ease-in-out, border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.footerLinks li a i {
font-size: 13px;
color: #9447A1;
flex-shrink: 0
}

.footerLinks li a:hover {
color: #F8F7F9;
border-bottom-color: #9447a166
}

.footerLinks li a:focus {
outline: none;
box-shadow: 0 0 0 3px #9447a159;
border-radius: 4px
}

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

.footerContactList li {
display: flex;
align-items: flex-start;
gap: 8px
}

.footerContactList li i {
color: #9447A1;
font-size: 15px;
margin-top: 2px;
flex-shrink: 0
}

.footerContactList li a,
.footerContactList li span {
font-family: 'Karla', sans-serif;
font-size: 15px;
font-weight: 400;
color: #CEBCD8;
text-decoration: none;
line-height: 1.45;
transition: color .35s ease-in-out
}

.footerContactList li a:hover {
color: #F8F7F9
}

.footerContactList li a:focus {
outline: none;
box-shadow: 0 0 0 3px #9447a159;
border-radius: 4px
}

.footerBottom {
max-width: 1280px;
margin: 0 auto;
padding: 16px 40px 40px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
border-top: 1px solid #cebcd826
}

.footerCopy {
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 300;
color: #cebcd899;
line-height: 1.45
}

.footerPolicyLinks {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.footerPolicyLinks a {
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 400;
color: #cebcd8b3;
text-decoration: none;
transition: color .38s ease-in-out
}

.footerPolicyLinks a:hover {
color: #F8F7F9
}

.footerPolicyLinks a:focus {
outline: none;
box-shadow: 0 0 0 3px #9447a159;
border-radius: 4px
}

.footerPolicyLinks span {
color: #cebcd84d;
font-size: 13px
}

@media (max-width: 768px) {
.footerTop {
grid-template-columns: 1fr 1fr;
padding: 40px 16px 16px;
gap: 40px
}

.footerBrand {
grid-column: 1 / -1
}

.footerBottom {
padding: 16px;
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 375px) {
.footerTop {
grid-template-columns: 1fr;
padding: 40px 8px 16px;
gap: 40px
}

.footerBottom {
padding: 16px 8px
}

.footerPolicyLinks {
gap: 8px
}
}

.rules-content-hrzm {
max-width: 1280px;
margin: 0 auto;
padding: 80px 40px;
color: #2d2040
}

.rules-content-hrzm h1 {
font-size: 45px;
line-height: 1.2;
font-weight: 700;
margin-bottom: 40px;
background: linear-gradient(135deg, #9447A1 0%, #6b2e78 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent
}

.rules-content-hrzm h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
margin-top: 80px;
margin-bottom: 16px;
color: #9447A1
}

.rules-content-hrzm h3 {
font-size: 23px;
line-height: 1.45;
font-weight: 600;
margin-top: 40px;
margin-bottom: 16px;
color: #2d2040
}

.rules-content-hrzm h4 {
font-size: 18px;
line-height: 1.45;
font-weight: 600;
margin-top: 40px;
margin-bottom: 8px;
color: #2d2040
}

.rules-content-hrzm h5 {
font-size: 15px;
line-height: 1.45;
font-weight: 600;
margin-top: 16px;
margin-bottom: 8px;
color: #2d2040;
text-transform: uppercase;
letter-spacing: .08em
}

.rules-content-hrzm h6 {
font-size: 13px;
line-height: 1.45;
font-weight: 600;
margin-top: 16px;
margin-bottom: 8px;
color: #5a3d6b;
text-transform: uppercase;
letter-spacing: .1em
}

.rules-content-hrzm div {
font-size: 15px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 16px
}

.rules-content-hrzm p,
.rules-content-hrzm div>p {
font-size: 15px;
line-height: 1.65;
margin-bottom: 16px;
color: #2d2040
}

.rules-content-hrzm ul {
margin: 16px 0 40px;
padding-left: 40px;
list-style: none
}

.rules-content-hrzm ol {
margin: 16px 0 40px;
padding-left: 40px;
list-style: none;
counter-reset: policy-counter
}

.rules-content-hrzm ul li {
font-size: 15px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 8px;
padding-left: 16px;
position: relative
}

.rules-content-hrzm ul li::before {
content: "";
position: absolute;
left: -8px;
top: 10px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #9447A1;
flex-shrink: 0
}

.rules-content-hrzm ol li {
font-size: 15px;
line-height: 1.65;
color: #2d2040;
margin-bottom: 8px;
padding-left: 16px;
position: relative;
counter-increment: policy-counter
}

.rules-content-hrzm ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: -16px;
top: 0;
font-size: 13px;
font-weight: 700;
color: #9447A1;
line-height: 1.65
}

.rules-content-hrzm ul ul,
.rules-content-hrzm ol ol,
.rules-content-hrzm ul ol,
.rules-content-hrzm ol ul {
margin: 8px 0
}

.rules-content-hrzm strong,
.rules-content-hrzm b {
font-weight: 700;
color: #2d2040
}

.rules-content-hrzm hr {
border: none;
height: 1px;
background: linear-gradient(90deg, transparent, #CEBCD8 30%, #CEBCD8 70%, transparent);
margin: 80px 0
}

@media (max-width: 768px) {
.rules-content-hrzm {
padding: 40px 16px
}

.rules-content-hrzm h1 {
font-size: 32px
}

.rules-content-hrzm h2 {
font-size: 23px;
margin-top: 40px
}

.rules-content-hrzm h3 {
font-size: 18px
}

.rules-content-hrzm hr {
margin: 40px 0
}
}

@media (max-width: 375px) {
.rules-content-hrzm {
padding: 40px 16px
}

.rules-content-hrzm h1 {
font-size: 23px
}

.rules-content-hrzm h2 {
font-size: 18px
}

.rules-content-hrzm h3 {
font-size: 15px
}
}

.techreq {
background: #F8F7F9;
overflow-x: clip;
position: relative
}

.techreq .pgrp {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px
}

.techreq .titblk {
position: relative;
padding-bottom: 80px;
padding-top: 40px;
background: linear-gradient(135deg, #9447A1 0%, #CEBCD8 55%, #F8F7F9 100%);
overflow: hidden
}

.techreq .titblk::after {
content: '';
display: block;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, #9447A1, transparent)
}

.techreq .titblk .pgrp {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 80px
}

.techreq .titblk .tittext {
flex: 1 1 55%;
padding-top: 40px
}

.techreq .titblk .titimg {
flex: 0 0 38%;
position: relative
}

.techreq .titblk .titimg img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
object-position: center top;
border-radius: 20px;
display: block;
box-shadow: -1px 8px 36px -1px #9447a11f;
filter: contrast(1.05) saturate(1.08)
}

.techreq .titblk .eyebrow {
font-size: 13px;
font-weight: 600;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1;
background: #ffffffb8;
display: inline-block;
padding: 8px 16px;
border-radius: 4px;
margin-bottom: 16px
}

.techreq .titblk .tithead {
font-size: 45px;
font-weight: 300;
line-height: 1.2;
color: #2a1230;
margin: 0 0 16px
}

.techreq .titblk .tithead .accword {
background: #9447A1;
color: #fff;
padding: 0 8px;
border-radius: 4px;
display: inline
}

.techreq .titblk .titdesc {
font-size: 18px;
line-height: 1.65;
color: #3a1f42;
margin: 0 0 40px;
max-width: 520px
}

.techreq .titblk .titlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 600;
color: #9447A1;
text-decoration: none;
border: 2px solid #9447A1;
padding: 16px 40px;
border-radius: 4px;
background: transparent;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.techreq .titblk .titlink:hover {
border-color: #CEBCD8;
color: #5c2568
}

.techreq .titblk .titlink i {
font-size: 13px;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.techreq .titblk .titlink:hover i {
transform: translateX(4px)
}

.techreq .reqdtl {
padding: 80px 0;
background: #fff;
position: relative
}

.techreq .reqdtl::before {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
width: 4px;
height: 100%;
background: linear-gradient(to bottom, #9447A1, transparent);
border-radius: 4px 0 0 4px
}

.techreq .reqdtl .pgrp {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
align-items: start
}

.techreq .reqdtl .rdleft {
grid-column: 1 / 2;
position: relative;
padding-left: 16px
}

.techreq .reqdtl .rdleft::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
width: 3px;
background: #9447A1;
border-radius: 4px
}

.techreq .reqdtl .rdleft .rdhead {
font-size: 32px;
font-weight: 300;
line-height: 1.2;
color: #2a1230;
margin: 0 0 16px;
letter-spacing: .04em
}

.techreq .reqdtl .rdleft .rdsub {
font-size: 15px;
line-height: 1.65;
color: #4a2d54;
margin: 0 0 40px
}

.techreq .reqdtl .rdleft .rdimg {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 20px;
display: block;
box-shadow: -1px 6px 28px -1px #9447a117
}

.techreq .reqdtl .rdright {
grid-column: 2 / 4;
display: flex;
flex-direction: column;
gap: 16px
}

.techreq .reqdtl .reqcard {
background: #F8F7F9;
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
box-shadow: -1px 1px 4px -1px #9447a112;
position: relative;
transition: box-shadow .42s ease-in-out, transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
overflow: hidden
}

.techreq .reqdtl .reqcard::after {
content: '';
display: block;
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 28px 28px;
border-color: transparent transparent #CEBCD8;
border-radius: 0 0 4px 0;
transition: border-width .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.techreq .reqdtl .reqcard:hover::after {
border-width: 0 0 48px 48px
}

.techreq .reqdtl .reqcard:hover {
box-shadow: -1px 8px 36px -1px #9447a11f;
transform: translateY(-2px)
}

.techreq .reqdtl .reqcard .rciconwrap {
flex: 0 0 auto;
width: 48px;
height: 48px;
background: linear-gradient(to right, #9447A1, #9447a100);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center
}

.techreq .reqdtl .reqcard .rciconwrap i {
font-size: 18px;
color: #fff
}

.techreq .reqdtl .reqcard .rctxt {
flex: 1 1 auto
}

.techreq .reqdtl .reqcard .rctxt h4 {
font-size: 18px;
font-weight: 600;
line-height: 1.2;
color: #2a1230;
margin: 0 0 8px
}

.techreq .reqdtl .reqcard .rctxt .rcpara {
font-size: 15px;
line-height: 1.65;
color: #4a2d54;
margin: 0
}

.techreq .reqdtl .reqcard .rctxt .rcpara .pnum {
font-weight: 700;
color: #9447A1;
margin-right: 4px
}

.techreq .reqdtl .reqcard .rctxt .rclist {
font-size: 13px;
color: #6a4478;
margin: 8px 0 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.techreq .reqdtl .reqcard .rctxt .rclist li {
display: inline
}

.techreq .reqdtl .reqcard .rctxt .rclist li+li::before {
content: '/';
margin-right: 8px;
color: #CEBCD8
}

.techreq .reqdtl .bganim {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 200px;
background: linear-gradient(to top, #cebcd82e, transparent);
background-size: 100% 220px;
animation: bgbreath 10s ease-in-out infinite;
pointer-events: none;
z-index: 0
}

@keyframes bgbreath {

0%,
100% {
background-size: 100% 220px
}

50% {
background-size: 100% 200px
}
}

@media (max-width: 1366px) {
.techreq .titblk .tithead {
font-size: 45px
}

.techreq .reqdtl .pgrp {
gap: 40px
}
}

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

.techreq .titblk .titimg {
flex: 0 0 auto;
width: 100%;
max-width: 360px;
align-self: center
}

.techreq .titblk .tithead {
font-size: 32px
}

.techreq .titblk {
padding-bottom: 40px
}

.techreq .reqdtl .pgrp {
grid-template-columns: 1fr
}

.techreq .reqdtl .rdleft {
grid-column: 1 / 2
}

.techreq .reqdtl .rdright {
grid-column: 1 / 2
}

.techreq .reqdtl .reqcard {
flex-direction: column
}
}

@media (max-width: 375px) {
.techreq .pgrp {
padding: 0 16px
}

.techreq .titblk .tithead {
font-size: 23px
}

.techreq .titblk .titdesc {
font-size: 15px
}

.techreq .reqdtl .reqcard {
padding: 16px
}

.techreq .titblk {
padding-bottom: 40px
}
}

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

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

.srvs .lead-blk {
background-color: #F8F7F9;
padding-top: 80px;
padding-bottom: 80px;
position: relative
}

.srvs .lead-blk::after {
content: '';
display: block;
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 48px;
background: #fff;
clip-path: ellipse(52% 100% at 50% 100%);
pointer-events: none
}

.srvs .lead-inner {
display: flex;
flex-direction: row;
gap: 80px;
align-items: center
}

.srvs .lead-text {
flex: 1 1 0;
min-width: 0
}

.srvs .lead-visual {
flex: 0 0 420px;
position: relative
}

.srvs .tag-line {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-bottom: 16px
}

.srvs .tag-line span {
display: block;
width: 28px;
height: 2px;
background-color: #9447A1
}

.srvs .tag-line em {
font-style: normal;
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1
}

.srvs .lead-h {
font-size: 45px;
line-height: 1.2;
font-weight: 700;
color: #1e1325;
margin: 0 0 16px
}

.srvs .lead-h .accent-word {
background-color: #CEBCD8;
padding: 0 8px;
border-radius: 4px
}

.srvs .lead-sub {
font-size: 18px;
line-height: 1.65;
color: #3d2e47;
margin: 0 0 40px
}

.srvs .stat-row {
display: flex;
flex-direction: row;
gap: 40px
}

.srvs .stat-item {
display: flex;
flex-direction: column;
gap: 8px
}

.srvs .stat-num {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #9447A1
}

.srvs .stat-label {
font-size: 13px;
line-height: 1.45;
color: #5a4666;
text-transform: uppercase;
letter-spacing: .08em
}

.srvs .img-frame {
position: relative;
border-radius: 20px;
overflow: hidden;
width: 100%;
aspect-ratio: 1/1;
box-shadow: -1px 8px 36px -1px #9447a11f
}

.srvs .img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(1.1) contrast(1.05)
}

.srvs .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to right, #9447a12e, transparent);
pointer-events: none
}

.srvs .img-badge {
position: absolute;
bottom: 16px;
left: 16px;
background: #f8f7f9eb;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
border-radius: 20px;
padding: 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
box-shadow: -1px 6px 28px -1px #9447a117
}

.srvs .img-badge i {
color: #9447A1;
font-size: 18px
}

.srvs .img-badge strong {
font-size: 13px;
color: #1e1325;
display: block
}

.srvs .img-badge span {
font-size: 13px;
color: #5a4666
}

.srvs .diag-line {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
border-radius: 20px
}

.srvs .diag-line svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
}

.srvs .mosaic-blk {
padding-top: 80px;
padding-bottom: 80px;
background-color: #fff
}

.srvs .mosaic-head {
margin-bottom: 40px
}

.srvs .mosaic-head-h {
font-size: 32px;
line-height: 1.2;
font-weight: 300;
color: #1e1325;
letter-spacing: .04em;
margin: 0 0 16px
}

.srvs .mosaic-head-p {
font-size: 15px;
line-height: 1.65;
color: #4a3858;
max-width: 640px
}

.srvs .mosaic-head-p .para-num {
font-weight: 700;
color: #9447A1;
margin-right: 8px
}

.srvs .grid-mosaic {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto auto;
gap: 16px
}

.srvs .card-item {
background: #F8F7F9;
border-radius: 20px;
padding: 40px;
position: relative;
overflow: hidden;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: -1px 1px 4px -1px #9447a112
}

.srvs .card-item:hover {
transform: translateY(-4px);
box-shadow: -1px 8px 36px -1px #9447a11f
}

.srvs .card-item.wide {
grid-column: span 2
}

.srvs .card-item.tall {
grid-row: span 2;
display: flex;
flex-direction: column
}

.srvs .card-icon {
width: 48px;
height: 48px;
border-radius: 20px;
background: linear-gradient(to right, #9447A1, #9447a100);
background-color: #CEBCD8;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-bottom: 16px;
flex-shrink: 0
}

.srvs .card-icon i {
color: #1e1325;
font-size: 18px
}

.srvs .card-h {
font-size: 23px;
line-height: 1.2;
font-weight: 600;
color: #1e1325;
margin: 0 0 16px;
letter-spacing: .02em
}

.srvs .card-p {
font-size: 15px;
line-height: 1.65;
color: #4a3858;
margin: 0
}

.srvs .card-p .para-num {
font-weight: 700;
color: #9447A1;
margin-right: 8px
}

.srvs .card-list {
list-style: none;
padding: 0;
margin: 16px 0 0;
font-size: 15px;
line-height: 1.65;
color: #4a3858
}

.srvs .card-list li {
padding: 8px 0;
border-bottom: 1px solid #9447a11a;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px
}

.srvs .card-list li:last-child {
border-bottom: none
}

.srvs .card-list li i {
color: #9447A1;
font-size: 13px;
margin-top: 4px;
flex-shrink: 0
}

.srvs .card-chart {
margin-top: auto;
padding-top: 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.srvs .chart-labels {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.srvs .chart-label-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
color: #4a3858
}

.srvs .chart-dot {
width: 8px;
height: 8px;
border-radius: 50%;
flex-shrink: 0
}

.srvs .card-diag {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
border-radius: 20px
}

.srvs .card-diag svg {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%
}

.srvs .format-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 16px;
flex-wrap: wrap
}

.srvs .format-tag {
font-size: 13px;
color: #9447A1;
border: 1px solid #CEBCD8;
border-radius: 4px;
padding: 8px 16px;
letter-spacing: .06em;
text-transform: uppercase;
transition: background-color .42s ease-in-out, border-color .42s ease-in-out
}

.srvs .format-tag:hover {
background-color: #CEBCD8;
border-color: #9447A1
}

.srvs .card-price-row {
margin-top: 16px;
display: flex;
flex-direction: row;
align-items: baseline;
gap: 8px
}

.srvs .price-num {
font-size: 32px;
font-weight: 800;
color: #9447A1;
line-height: 1.2
}

.srvs .price-period {
font-size: 13px;
color: #5a4666
}

.srvs .cta-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px;
font-size: 15px;
color: #9447A1;
text-decoration: none;
border-bottom: 1px solid transparent;
padding-bottom: 4px;
transition: border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.srvs .cta-link:hover {
border-color: #9447A1
}

.srvs .cta-link i {
font-size: 13px;
transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.srvs .cta-link:hover i {
transform: translateX(4px)
}

@keyframes colorCycle {
0% {
color: #9447A1
}

33% {
color: #1e1325
}

66% {
color: #CEBCD8;
filter: brightness(0.7)
}

100% {
color: #9447A1
}
}

.srvs .grid-mosaic .card-item:nth-child(1) .card-icon {
animation: iconPulseA 3.6s cubic-bezier(0.34, 1.2, 0.64, 1) infinite
}

.srvs .grid-mosaic .card-item:nth-child(2) .card-icon {
animation: iconPulseA 3.6s cubic-bezier(0.34, 1.2, 0.64, 1) 1.2s infinite
}

.srvs .grid-mosaic .card-item:nth-child(3) .card-icon {
animation: iconPulseA 3.6s cubic-bezier(0.34, 1.2, 0.64, 1) 2.4s infinite
}

@keyframes iconPulseA {

0%,
80%,
100% {
box-shadow: none
}

40% {
box-shadow: -1px 6px 28px -1px #9447a138
}
}

@keyframes colorReveal {
0% {
color: #CEBCD8
}

100% {
color: #1e1325
}
}

.srvs .lead-h {
animation: colorReveal .9s ease-in-out forwards
}

@media (max-width: 1366px) {
.srvs .lead-visual {
flex: 0 0 360px
}

.srvs .lead-h {
font-size: 45px
}
}

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

.srvs .lead-visual {
flex: 0 0 auto;
width: 100%
}

.srvs .lead-h {
font-size: 32px
}

.srvs .stat-row {
gap: 16px
}

.srvs .grid-mosaic {
grid-template-columns: 1fr
}

.srvs .card-item.wide {
grid-column: span 1
}

.srvs .card-item.tall {
grid-row: span 1
}

.srvs .pg-band {
padding-left: 16px;
padding-right: 16px
}
}

@media (max-width: 375px) {
.srvs .lead-h {
font-size: 23px
}

.srvs .stat-row {
flex-direction: column;
gap: 8px
}

.srvs .mosaic-head-h {
font-size: 23px
}

.srvs .card-h {
font-size: 18px
}
}

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

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

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

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

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

.abtu .anim-1 {
animation: abtuFadeUp .38s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .08s
}

.abtu .anim-2 {
animation: abtuFadeUp .4s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .2s
}

.abtu .anim-3 {
animation: abtuFadeUp .42s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .34s
}

.abtu .anim-4 {
animation: abtuFadeUp .44s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .5s
}

.abtu .anim-5 {
animation: abtuFadeUp .45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: .66s
}

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

.abtu .divider span {
display: block;
width: 80px;
height: 3px;
background: linear-gradient(to right, #9447A1, transparent);
border-radius: 36px
}

.abtu .titlesec {
background: linear-gradient(to right, #2a0d30 0%, #3d1648 55%, #5a2068 100%);
padding: 80px 0;
position: relative;
overflow: hidden
}

.abtu .titlesec::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 12% 18%, #9447a12e 0%, transparent 38%), radial-gradient(circle at 88% 72%, #cebcd81a 0%, transparent 40%);
pointer-events: none
}

.abtu .dotfield {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.abtu .dotfield::before,
.abtu .dotfield::after {
content: '';
position: absolute;
width: 420px;
height: 420px;
background-image: radial-gradient(circle, #cebcd838 1.5px, transparent 1.5px);
background-size: 28px 28px;
border-radius: 36px
}

.abtu .dotfield::before {
top: -40px;
right: 60px;
transform: rotate(-12deg)
}

.abtu .dotfield::after {
bottom: -60px;
left: -30px;
width: 260px;
height: 260px;
background-size: 22px 22px;
opacity: .5
}

.abtu .titlesec .pg-wrap {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.abtu .titletext {
padding-right: 40px
}

.abtu .titletext .eyebrow {
display: inline-block;
font-size: 13px;
font-weight: 600;
letter-spacing: .18em;
text-transform: uppercase;
color: #CEBCD8;
margin-bottom: 16px
}

.abtu .titletext h1 {
font-size: 45px;
line-height: 1.2;
font-weight: 300;
color: #fff;
margin: 0 0 16px;
letter-spacing: .04em
}

.abtu .titletext h1 .accword {
background: #9447A1;
-webkit-background-clip: unset;
background-clip: unset;
-webkit-text-fill-color: unset;
color: #fff;
padding: 0 8px;
border-radius: 4px;
display: inline
}

.abtu .titletext .desc {
font-size: 18px;
line-height: 1.65;
color: #ffffffb8;
margin: 0 0 40px;
max-width: 460px
}

.abtu .titletext .since {
font-size: 13px;
color: #cebcd899;
letter-spacing: .08em
}

.abtu .titlestats {
display: flex;
flex-direction: column;
gap: 16px;
align-items: flex-start
}

.abtu .statcard {
background: #ffffff0f;
border: 1px solid #cebcd826;
border-radius: 20px;
padding: 40px;
width: 100%;
transition: background .38s ease-in-out, border-color .38s ease-in-out
}

.abtu .statcard:hover {
background: #9447a12e;
border-color: #9447a166
}

.abtu .statcard .num {
font-size: 45px;
font-weight: 700;
color: #CEBCD8;
line-height: 1.2;
display: block
}

.abtu .statcard .label {
font-size: 15px;
color: #fff9;
line-height: 1.45;
margin-top: 8px;
display: block
}

.abtu .statrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
width: 100%
}

@media (max-width: 768px) {
.abtu .titlesec .pg-wrap {
grid-template-columns: 1fr;
gap: 40px
}

.abtu .titletext {
padding-right: 0
}

.abtu .titletext h1 {
font-size: 32px
}

.abtu .titletext .desc {
font-size: 15px
}
}

@media (max-width: 375px) {
.abtu .titlesec {
padding: 40px 0
}

.abtu .titlesec .pg-wrap {
padding: 0 16px
}

.abtu .statrow {
grid-template-columns: 1fr
}

.abtu .titletext h1 {
font-size: 23px
}
}

.abtu .storysec {
background: #F8F7F9;
padding: 80px 0
}

.abtu .storysec .pg-wrap {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: start
}

.abtu .storycol .seclabel {
font-size: 13px;
font-weight: 600;
letter-spacing: .16em;
text-transform: uppercase;
color: #9447A1;
margin-bottom: 16px;
display: block
}

.abtu .storycol h2 {
font-size: 32px;
font-weight: 300;
line-height: 1.2;
color: #1e0a22;
margin: 0 0 40px;
letter-spacing: .03em
}

.abtu .storycol h2 strong {
font-weight: 700
}

.abtu .imgframe {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 8px 36px -1px #9447a11f
}

.abtu .imgframe img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
display: block;
transition: transform .42s ease-in-out
}

.abtu .imgframe:hover img {
transform: scale(1.04)
}

.abtu .imgframe .imgover {
position: absolute;
inset: 0;
background: #2a0d30b8;
opacity: 0;
transition: opacity .38s ease-in-out;
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px
}

.abtu .imgframe:hover .imgover {
opacity: 1
}

.abtu .imgframe .imgover p {
font-size: 18px;
color: #fff;
text-align: center;
padding: 40px;
line-height: 1.65;
margin: 0
}

.abtu .storyparas {
display: flex;
flex-direction: column;
gap: 16px
}

.abtu .storyparas .para {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.abtu .storyparas .pnum {
font-size: 13px;
font-weight: 700;
color: #9447A1;
min-width: 24px;
padding-top: 2px;
letter-spacing: .06em
}

.abtu .storyparas p {
font-size: 15px;
line-height: 1.65;
color: #2e1435;
margin: 0
}

.abtu .storylinks {
margin-top: 40px;
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.abtu .lnkbtn {
display: inline-block;
font-size: 15px;
font-weight: 600;
color: #9447A1;
text-decoration: none;
border: 1.5px solid #9447A1;
border-radius: 4px;
padding: 8px 16px;
transition: border-color .36s cubic-bezier(0.34, 1.2, 0.64, 1), color .36s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
overflow: hidden
}

.abtu .lnkbtn::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 3px;
background: #9447A1;
transition: width .4s cubic-bezier(0.34, 1.2, 0.64, 1);
border-radius: 0
}

.abtu .lnkbtn:hover::after {
width: 100%
}

.abtu .lnkbtn:hover {
border-color: #5a2068;
color: #5a2068
}

.abtu .lnkbtn:focus {
outline: 2px solid #9447A1;
outline-offset: 3px
}

@media (max-width: 768px) {
.abtu .storysec .pg-wrap {
grid-template-columns: 1fr;
gap: 40px
}
}

@media (max-width: 375px) {
.abtu .storysec {
padding: 40px 0
}

.abtu .storysec .pg-wrap {
padding: 0 16px
}
}

.abtu .processsec {
background: #1e0a22;
padding: 80px 0;
position: relative;
overflow: hidden
}

.abtu .processsec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, #9447A1, transparent);
border-radius: 0 0 4px 4px
}

.abtu .processsec .pg-wrap {
position: relative;
z-index: 1
}

.abtu .prochdr {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 40px;
gap: 40px
}

.abtu .prochdr h2 {
font-size: 32px;
font-weight: 300;
color: #fff;
line-height: 1.2;
letter-spacing: .04em;
margin: 0;
max-width: 480px
}

.abtu .prochdr h2 .accword {
background: #9447A1;
color: #fff;
padding: 0 8px;
border-radius: 4px
}

.abtu .prochdr .hdrsub {
font-size: 15px;
color: #cebcd8a6;
line-height: 1.65;
max-width: 320px;
text-align: right;
margin: 0
}

.abtu .stepsgrid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
position: relative
}

.abtu .stepsgrid::before {
content: '';
position: absolute;
top: 40px;
left: 10%;
right: 10%;
height: 1px;
border-top: 1.5px dashed #9447a159;
pointer-events: none;
z-index: 0
}

.abtu .step {
background: #ffffff0a;
border: 1px solid #cebcd81a;
border-radius: 20px;
padding: 40px 16px;
position: relative;
z-index: 1;
transition: background .4s ease-in-out, border-color .4s ease-in-out, transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtu .step:hover {
background: #9447a124;
border-color: #9447a159;
transform: translateY(-4px)
}

.abtu .step .stepnum {
width: 40px;
height: 40px;
border-radius: 36px;
background: #9447A1;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
font-weight: 700;
color: #fff;
margin-bottom: 16px
}

.abtu .step .stepicon {
font-size: 23px;
color: #CEBCD8;
margin-bottom: 16px;
display: block
}

.abtu .step h5 {
font-size: 15px;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
line-height: 1.45
}

.abtu .step p {
font-size: 13px;
color: #cebcd8b3;
line-height: 1.65;
margin: 0
}

@media (max-width: 768px) {
.abtu .stepsgrid {
grid-template-columns: 1fr 1fr
}

.abtu .stepsgrid::before {
display: none
}

.abtu .prochdr {
flex-direction: column;
align-items: flex-start
}

.abtu .prochdr .hdrsub {
text-align: left
}
}

@media (max-width: 375px) {
.abtu .processsec {
padding: 40px 0
}

.abtu .processsec .pg-wrap {
padding: 0 16px
}

.abtu .stepsgrid {
grid-template-columns: 1fr
}
}

.abtu .teamsec {
background: #fff;
padding: 80px 0
}

.abtu .teamsec .pg-wrap {
display: flex;
flex-direction: column;
gap: 40px
}

.abtu .teamhdr {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: end
}

.abtu .teamhdr h2 {
font-size: 32px;
font-weight: 300;
color: #1e0a22;
line-height: 1.2;
letter-spacing: .03em;
margin: 0
}

.abtu .teamhdr h2 strong {
font-weight: 700;
color: #9447A1
}

.abtu .teamhdr .hdrdesc {
font-size: 15px;
line-height: 1.65;
color: #3a1a42;
margin: 0
}

.abtu .mosaicgrid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px
}

.abtu .mcard {
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: -1px 6px 28px -1px #9447a117;
transition: box-shadow .4s ease-in-out
}

.abtu .mcard:hover {
box-shadow: -1px 8px 36px -1px #9447a12e
}

.abtu .mcard.large {
grid-row: 1 / 3
}

.abtu .mcard img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
display: block;
transition: transform .42s ease-in-out
}

.abtu .mcard.large img {
height: 100%;
aspect-ratio: unset
}

.abtu .mcard:hover img {
transform: scale(1.05)
}

.abtu .mcard .cardover {
position: absolute;
inset: 0;
background: #1e0a22bf;
opacity: 0;
transition: opacity .38s ease-in-out;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 40px
}

.abtu .mcard:hover .cardover {
opacity: 1
}

.abtu .mcard .cardover h4 {
font-size: 18px;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
line-height: 1.2
}

.abtu .mcard .cardover p {
font-size: 13px;
color: #cebcd8d9;
margin: 0;
line-height: 1.65
}

.abtu .mcard .cardover .role {
font-size: 13px;
color: #CEBCD8;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 8px;
display: block
}

.abtu .teamfacts {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.abtu .factitem {
background: #F8F7F9;
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 8px;
border: 1px solid #9447a114;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
overflow: hidden
}

.abtu .factitem::after {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: #9447A1;
transform: scaleY(0);
transform-origin: bottom;
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1);
border-radius: 0 4px 4px 0
}

.abtu .factitem:hover::after {
transform: scaleY(1)
}

.abtu .factitem:hover {
border-color: #9447a138;
box-shadow: -1px 6px 28px -1px #9447a117
}

.abtu .factitem .ficon {
font-size: 23px;
color: #9447A1;
margin-bottom: 8px
}

.abtu .factitem h5 {
font-size: 15px;
font-weight: 700;
color: #1e0a22;
margin: 0;
line-height: 1.45
}

.abtu .factitem p {
font-size: 13px;
color: #3a1a42;
line-height: 1.65;
margin: 0
}

.abtu .teamcta {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: linear-gradient(to right, #9447A1, #9447a199);
border-radius: 20px;
padding: 40px;
gap: 40px
}

.abtu .teamcta h3 {
font-size: 23px;
font-weight: 300;
color: #fff;
margin: 0;
line-height: 1.45;
letter-spacing: .03em
}

.abtu .teamcta h3 strong {
font-weight: 700
}

.abtu .teamcta .ctabtngroup {
display: flex;
flex-direction: row;
gap: 16px;
flex-shrink: 0
}

.abtu .ctabtn {
display: inline-block;
font-size: 15px;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
padding: 16px 40px;
transition: border-color .36s cubic-bezier(0.34, 1.2, 0.64, 1), color .36s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtu .ctabtn.light {
background: #fff;
color: #9447A1;
border: 2px solid #fff
}

.abtu .ctabtn.light:hover {
border-color: #CEBCD8;
color: #5a2068
}

.abtu .ctabtn.ghost {
background: transparent;
color: #fff;
border: 2px solid #ffffff80
}

.abtu .ctabtn.ghost:hover {
border-color: #fff
}

.abtu .ctabtn:focus {
outline: 2px solid #fff;
outline-offset: 3px
}

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

.abtu .mosaicgrid {
grid-template-columns: 1fr 1fr;
grid-template-rows: auto
}

.abtu .mcard.large {
grid-row: auto;
grid-column: 1 / 3
}

.abtu .mcard.large img {
aspect-ratio: 1/1;
height: auto
}

.abtu .teamfacts {
grid-template-columns: 1fr
}

.abtu .teamcta {
flex-direction: column;
align-items: flex-start
}

.abtu .teamcta .ctabtngroup {
flex-direction: column;
width: 100%
}

.abtu .ctabtn {
text-align: center
}
}

@media (max-width: 375px) {
.abtu .teamsec {
padding: 40px 0
}

.abtu .teamsec .pg-wrap {
padding: 0 16px
}

.abtu .mosaicgrid {
grid-template-columns: 1fr
}

.abtu .mcard.large {
grid-column: auto
}

.abtu .teamcta {
padding: 16px
}

.abtu .teamhdr h2 {
font-size: 23px
}
}

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

.ctus .reach {
max-width: 1280px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 80px;
align-items: start
}

.ctus .reach .leftcol {
position: relative;
padding: 40px;
background: #fff;
border-radius: 36px;
box-shadow: -1px 6px 28px -1px #9447a117
}

.ctus .reach .leftcol::before {
content: '';
position: absolute;
top: -16px;
right: -16px;
width: 120px;
height: 120px;
background-image: radial-gradient(circle, #9447a12e 1.5px, transparent 1.5px);
background-size: 12px 12px;
border-radius: 20px;
pointer-events: none;
z-index: 0
}

.ctus .reach .leftcol .tagline {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1;
font-weight: 600;
margin-bottom: 16px;
display: block;
position: relative;
z-index: 1
}

.ctus .reach .leftcol h1 {
font-size: 32px;
line-height: 1.2;
font-weight: 300;
color: #1e1533;
margin: 0 0 16px;
position: relative;
z-index: 1
}

.ctus .reach .leftcol h1 .accword {
background: #CEBCD8;
padding: 0 8px;
border-radius: 4px;
font-weight: 700;
color: #1e1533
}

.ctus .reach .leftcol .subdesc {
font-size: 15px;
line-height: 1.65;
color: #3a2d45;
margin: 0 0 40px;
position: relative;
z-index: 1
}

.ctus .reach .leftcol .infolist {
list-style: none;
padding: 0;
margin: 0 0 40px;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 1
}

.ctus .reach .leftcol .infolist li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.ctus .reach .leftcol .infolist .iicon {
width: 40px;
height: 40px;
border-radius: 20px;
background: linear-gradient(to right, #9447A1, #9447a100);
background-color: #F8F7F9;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ctus .reach .leftcol .infolist .iicon i {
color: #9447A1;
font-size: 15px
}

.ctus .reach .leftcol .infolist .itext {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .reach .leftcol .infolist .ilabel {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .1em;
color: #9447A1;
font-weight: 600;
line-height: 1.2
}

.ctus .reach .leftcol .infolist .ival {
font-size: 15px;
line-height: 1.45;
color: #1e1533;
text-decoration: none;
transition: color .38s ease-in-out
}

.ctus .reach .leftcol .infolist .ival:hover {
color: #9447A1
}

.ctus .reach .leftcol .divstrip {
height: 1px;
background: linear-gradient(to right, #CEBCD8, transparent);
margin-bottom: 40px;
border-radius: 4px
}

.ctus .reach .leftcol .openhours {
position: relative;
z-index: 1
}

.ctus .reach .leftcol .openhours .ohlabel {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .1em;
color: #9447A1;
font-weight: 600;
margin-bottom: 16px;
display: block
}

.ctus .reach .leftcol .openhours .ohrow {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 15px;
line-height: 1.45;
color: #3a2d45;
padding: 8px 0;
border-bottom: 1px solid #cebcd84d
}

.ctus .reach .leftcol .openhours .ohrow:last-child {
border-bottom: none
}

.ctus .reach .leftcol .openhours .ohday {
font-weight: 500;
color: #1e1533
}

.ctus .reach .rightcol {
padding: 40px;
background: #fff;
border-radius: 36px;
box-shadow: -1px 8px 36px -1px #9447a11f;
position: relative;
overflow: hidden
}

.ctus .reach .rightcol::after {
content: '';
position: absolute;
bottom: -40px;
right: -40px;
width: 200px;
height: 200px;
border-radius: 50%;
background: linear-gradient(to right, #cebcd840, transparent);
pointer-events: none
}

.ctus .reach .rightcol .formtag {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.ctus .reach .rightcol h2 {
font-size: 23px;
line-height: 1.2;
font-weight: 300;
color: #1e1533;
margin: 0 0 8px
}

.ctus .reach .rightcol .formdesc {
font-size: 15px;
line-height: 1.65;
color: #3a2d45;
margin: 0 0 40px
}

.ctus .reach .rightcol form {
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 1
}

.ctus .reach .rightcol .frow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.ctus .reach .rightcol .fgrp {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .reach .rightcol .fgrp label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .09em;
color: #9447A1;
font-weight: 600
}

.ctus .reach .rightcol .fgrp input[type="text"],
.ctus .reach .rightcol .fgrp input[type="email"] {
border: 1.5px solid #CEBCD8;
border-radius: 4px;
padding: 16px;
font-size: 15px;
color: #1e1533;
background: #F8F7F9;
outline: none;
transition: border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1);
width: 100%;
box-sizing: border-box
}

.ctus .reach .rightcol .fgrp input::placeholder {
text-transform: uppercase;
font-size: 13px;
letter-spacing: .07em;
color: #9e8aaa
}

.ctus .reach .rightcol .fgrp input:focus {
border-color: #9447A1;
box-shadow: -1px 1px 4px -1px #9447a112 0 0 0 3px #cebcd84d;
background: #fff
}

.ctus .reach .rightcol .chkgrp {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .reach .rightcol .chkgrp .chklabel {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .09em;
color: #9447A1;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.ctus .reach .rightcol .chkgrp .chkdesc {
font-size: 13px;
color: #3a2d45;
margin: 0 0 8px;
line-height: 1.45
}

.ctus .reach .rightcol .chkopts {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px
}

.ctus .reach .rightcol .chkitem {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-radius: 20px;
border: 1.5px solid #CEBCD8;
background: #F8F7F9;
cursor: pointer;
transition: border-color .4s ease-in-out, background .4s ease-in-out
}

.ctus .reach .rightcol .chkitem:hover {
border-color: #9447A1;
background: #cebcd833
}

.ctus .reach .rightcol .chkitem input[type="checkbox"] {
accent-color: #9447A1;
width: 16px;
height: 16px;
cursor: pointer;
flex-shrink: 0
}

.ctus .reach .rightcol .chkitem span {
font-size: 13px;
color: #1e1533;
line-height: 1.45
}

.ctus .reach .rightcol .divider {
height: 1px;
background: linear-gradient(to right, #CEBCD8, transparent);
border-radius: 4px;
margin: 8px 0
}

.ctus .reach .rightcol .privrow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 16px;
border-radius: 20px;
background: #cebcd826;
border: 1.5px solid #cebcd880
}

.ctus .reach .rightcol .privrow input[type="checkbox"] {
accent-color: #9447A1;
width: 16px;
height: 16px;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px
}

.ctus .reach .rightcol .privrow .privtext {
font-size: 13px;
line-height: 1.65;
color: #3a2d45
}

.ctus .reach .rightcol .privrow .privtext a {
color: #9447A1;
text-decoration: underline;
text-underline-offset: 2px;
transition: color .38s ease-in-out
}

.ctus .reach .rightcol .privrow .privtext a:hover {
color: #1e1533
}

.ctus .reach .rightcol .submitbtn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 40px;
border-radius: 4px;
border: 2px solid #9447A1;
background: transparent;
color: #9447A1;
font-size: 15px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
cursor: pointer;
align-self: flex-start;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1), color .42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ctus .reach .rightcol .submitbtn:hover {
border-color: #1e1533;
color: #1e1533;
box-shadow: -1px 6px 28px -1px #9447a117
}

.ctus .reach .rightcol .submitbtn:focus {
outline: 3px solid #9447a159;
outline-offset: 3px
}

.ctus .reach .rightcol .submitbtn:active {
box-shadow: inset -1px 6px 10px -1px #9447a11f
}

.ctus .steps {
background: #CEBCD8;
padding: 80px 0;
position: relative
}

.ctus .steps::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, #9447A1, transparent);
pointer-events: none
}

.ctus .steps .stepswrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px
}

.ctus .steps .stepswrap .stepshead {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px
}

.ctus .steps .stepswrap .stepshead h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 300;
color: #1e1533;
margin: 0;
max-width: 520px
}

.ctus .steps .stepswrap .stepshead h2 .accword {
background: #9447A1;
color: #fff;
padding: 0 8px;
border-radius: 4px;
font-weight: 700
}

.ctus .steps .stepswrap .stepshead .headdesc {
font-size: 15px;
line-height: 1.65;
color: #3a2d45;
max-width: 360px;
margin: 0
}

.ctus .steps .steplist {
display: flex;
flex-direction: row;
gap: 16px;
position: relative
}

.ctus .steps .steplist::before {
content: '';
position: absolute;
top: 28px;
left: 40px;
right: 40px;
height: 1px;
background: linear-gradient(to right, #9447a166, transparent);
pointer-events: none
}

.ctus .steps .stepitem {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
padding: 40px 16px;
background: #f8f7f999;
border-radius: 20px;
position: relative;
transition: box-shadow .38s ease-in-out, background .38s ease-in-out;
border: 1.5px solid #9447a11a
}

.ctus .steps .stepitem:hover {
box-shadow: -1px 8px 36px -1px #9447a11f;
background: #f8f7f9e6
}

.ctus .steps .stepitem .stepnum {
font-size: 45px;
font-weight: 300;
line-height: 1.2;
color: #9447a133;
position: absolute;
top: 16px;
right: 16px;
letter-spacing: -.02em
}

.ctus .steps .stepitem .stepicon {
width: 40px;
height: 40px;
border-radius: 20px;
background: #9447A1;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 1px 4px -1px #9447a112
}

.ctus .steps .stepitem .stepicon i {
color: #fff;
font-size: 15px
}

.ctus .steps .stepitem h4 {
font-size: 18px;
line-height: 1.2;
font-weight: 600;
color: #1e1533;
margin: 0
}

.ctus .steps .stepitem p {
font-size: 15px;
line-height: 1.65;
color: #3a2d45;
margin: 0
}

.ctus .steps .stepitem .steptag {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .09em;
color: #9447A1;
font-weight: 600;
margin-top: auto;
padding-top: 8px
}

.ctus .dots {
position: absolute;
bottom: 40px;
right: 40px;
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 8px;
pointer-events: none
}

.ctus .dots .dot {
border-radius: 50%;
background: #9447a133
}

.ctus .dots .dot.sm {
width: 4px;
height: 4px
}

.ctus .dots .dot.md {
width: 6px;
height: 6px
}

.ctus .dots .dot.lg {
width: 8px;
height: 8px
}

@keyframes blurtosharp {
from {
filter: blur(6px);
opacity: 0
}

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

.ctus .reach .leftcol {
animation: blurtosharp .45s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.ctus .reach .rightcol {
animation: blurtosharp .42s cubic-bezier(0.34, 1.2, 0.64, 1) .1s both
}

.ctus .steps .stepitem:nth-child(1) {
animation: blurtosharp .38s cubic-bezier(0.34, 1.2, 0.64, 1) .05s both
}

.ctus .steps .stepitem:nth-child(2) {
animation: blurtosharp .38s cubic-bezier(0.34, 1.2, 0.64, 1) .12s both
}

.ctus .steps .stepitem:nth-child(3) {
animation: blurtosharp .38s cubic-bezier(0.34, 1.2, 0.64, 1) .19s both
}

.ctus .steps .stepitem:nth-child(4) {
animation: blurtosharp .38s cubic-bezier(0.34, 1.2, 0.64, 1) .26s both
}

@media (max-width: 1366px) {
.ctus .reach {
gap: 40px
}
}

@media (max-width: 768px) {
.ctus .reach {
grid-template-columns: 1fr;
gap: 40px;
padding: 40px 16px
}

.ctus .reach .rightcol .frow {
grid-template-columns: 1fr
}

.ctus .reach .rightcol .chkopts {
grid-template-columns: 1fr
}

.ctus .reach .rightcol .submitbtn {
align-self: stretch;
justify-content: center
}

.ctus .steps {
padding: 40px 0
}

.ctus .steps .stepswrap {
padding: 0 16px
}

.ctus .steps .stepswrap .stepshead {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.ctus .steps .stepswrap .stepshead h2 {
font-size: 23px
}

.ctus .steps .steplist {
flex-direction: column
}

.ctus .steps .steplist::before {
display: none
}
}

@media (max-width: 375px) {
.ctus .reach {
padding: 40px 8px
}

.ctus .reach .leftcol,
.ctus .reach .rightcol {
padding: 16px
}

.ctus .reach .leftcol h1 {
font-size: 23px
}

.ctus .steps .stepswrap {
padding: 0 8px
}
}

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

.rt .pgwrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px
}

@keyframes scanDrift {
0% {
background-position: 0 0
}

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

.rt .s1 {
padding: 80px 0 0;
position: relative
}

.rt .s1wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 340px;
gap: 80px;
align-items: start
}

.rt .s1left {
display: flex;
flex-direction: column;
gap: 40px;
padding-bottom: 80px
}

.rt .s1eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1
}

.rt .s1eyebrow span {
display: inline-block;
width: 32px;
height: 1px;
background: #9447A1
}

.rt .s1heading {
font-size: 62px;
line-height: 1.2;
font-weight: 800;
color: #1b1b1b;
margin: 0
}

.rt .s1heading em {
font-style: normal;
background: #9447A1;
color: #fff;
padding: 0 8px;
border-radius: 4px
}

.rt .s1sub {
font-size: 18px;
line-height: 1.65;
color: #3a3a3a;
margin: 0;
max-width: 520px
}

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

.rt .btnprimary {
display: inline-block;
padding: 16px 40px;
background: transparent;
border: 2px solid #9447A1;
color: #9447A1;
font-size: 15px;
letter-spacing: .06em;
text-transform: uppercase;
border-radius: 4px;
text-decoration: none;
cursor: pointer;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .btnprimary:hover {
border-color: #6b2f7a;
color: #6b2f7a
}

.rt .btnsec {
display: inline-block;
padding: 16px 40px;
background: transparent;
border: 2px solid #CEBCD8;
color: #3a3a3a;
font-size: 15px;
letter-spacing: .06em;
text-transform: uppercase;
border-radius: 4px;
text-decoration: none;
cursor: pointer;
transition: border-color .42s ease-in-out
}

.rt .btnsec:hover {
border-color: #9447A1
}

.rt .s1imgcol {
position: relative;
padding-top: 40px
}

.rt .s1imgwrap {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 1/1;
width: 100%;
box-shadow: -1px 8px 36px -1px #9447a11f
}

.rt .s1imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: .72;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s1imgwrap:hover img {
transform: scale(1.04)
}

.rt .s1divider {
height: 2px;
background: linear-gradient(to right, #9447A1, transparent);
margin: 0 40px;
transform: rotate(-0.4deg);
border-radius: 4px
}

.rt .s2 {
padding: 80px 0;
background: #F8F7F9;
position: relative;
overflow: hidden
}

.rt .s2scan {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 18px, #9447a106 18px, #9447a106 19px);
animation: scanDrift 6s linear infinite;
pointer-events: none
}

.rt .s2grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
position: relative;
z-index: 1
}

.rt .s2card {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 6px 28px -1px #9447a117;
display: flex;
flex-direction: column;
gap: 16px;
transition: transform .36s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .36s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s2card:hover {
transform: translateY(-4px) scale(1.02);
box-shadow: -1px 8px 36px -1px #9447a11f
}

.rt .s2num {
font-size: 45px;
line-height: 1.2;
font-weight: 800;
color: #9447A1
}

.rt .s2label {
font-size: 15px;
line-height: 1.45;
color: #3a3a3a
}

.rt .s2icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #F8F7F9;
border-radius: 4px;
color: #9447A1;
font-size: 18px
}

.rt .s2head {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #1b1b1b;
margin: 0 0 40px
}

.rt .s2divider {
height: 2px;
background: linear-gradient(to right, transparent, #CEBCD8, transparent);
margin: 0
}

.rt .s3 {
padding: 80px 0;
background: #fff
}

.rt .s3wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 480px 1fr;
gap: 80px;
align-items: center
}

.rt .s3imgwrap {
border-radius: 36px;
overflow: hidden;
aspect-ratio: 1/1;
position: relative;
box-shadow: -1px 6px 28px -1px #9447a117
}

.rt .s3imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s3imgwrap:hover img {
transform: scale(1.05)
}

.rt .s3diamond {
position: absolute;
top: 16px;
right: 16px;
width: 48px;
height: 48px;
background: #9447A1;
border-radius: 4px;
transform: rotate(45deg);
opacity: .7;
pointer-events: none
}

.rt .s3right {
display: flex;
flex-direction: column;
gap: 40px
}

.rt .s3eyebrow {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1
}

.rt .s3head {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s3paras {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .s3p {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0;
display: flex;
gap: 16px
}

.rt .s3pnum {
font-size: 13px;
font-weight: 700;
color: #9447A1;
min-width: 24px;
padding-top: 2px
}

.rt .s3highlight {
background: #CEBCD8;
padding: 0 4px;
border-radius: 4px;
color: #1b1b1b
}

.rt .s3divider {
height: 2px;
background: linear-gradient(to right, #9447A1, transparent);
transform: rotate(0.3deg);
border-radius: 4px;
margin: 0 40px
}

.rt .s4 {
padding: 80px 0;
background: linear-gradient(to right, #9447A1, #9447a114);
position: relative
}

.rt .s4radial {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 60% at 50% 50%, #ffffff2e 0%, transparent 70%);
pointer-events: none
}

.rt .s4wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1
}

.rt .s4head {
font-size: 32px;
line-height: 1.2;
font-weight: 300;
letter-spacing: .08em;
text-transform: uppercase;
color: #fff;
margin: 0 0 80px;
max-width: 600px
}

.rt .s4timeline {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.rt .s4item {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.rt .s4dot {
width: 40px;
height: 40px;
border-radius: 50%;
background: #fff3;
border: 2px solid #fff9;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 15px;
font-weight: 700;
flex-shrink: 0;
transition: background .38s ease-in-out
}

.rt .s4item:hover .s4dot {
background: #fff6
}

.rt .s4ihead {
font-size: 18px;
line-height: 1.45;
font-weight: 600;
color: #fff;
margin: 0
}

.rt .s4itext {
font-size: 15px;
line-height: 1.65;
color: #ffffffd1;
margin: 0
}

.rt .s4imgrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-top: 80px
}

.rt .s4imgwrap {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 1/1;
box-shadow: -1px 8px 36px -1px #9447a11f
}

.rt .s4imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s4imgwrap:hover img {
transform: scale(1.04)
}

.rt .s4divider {
height: 2px;
background: linear-gradient(to right, transparent, #fff6, transparent);
margin: 0
}

.rt .s5 {
padding: 80px 0;
background: #F8F7F9
}

.rt .s5wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px
}

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

.rt .s5headblock {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .s5eyebrow {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #9447A1
}

.rt .s5head {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s5intro {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

.rt .s5list {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .s5item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px;
background: #fff;
border-radius: 20px;
box-shadow: -1px 1px 4px -1px #9447a112;
transition: box-shadow .36s cubic-bezier(0.34, 1.2, 0.64, 1), transform .36s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s5item:hover {
box-shadow: -1px 6px 28px -1px #9447a117;
transform: translateX(4px)
}

.rt .s5iicon {
width: 40px;
height: 40px;
border-radius: 4px;
background: #CEBCD8;
display: flex;
align-items: center;
justify-content: center;
color: #9447A1;
font-size: 18px;
flex-shrink: 0
}

.rt .s5itext {
display: flex;
flex-direction: column;
gap: 8px
}

.rt .s5ihead {
font-size: 15px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s5ibody {
font-size: 13px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

.rt .s5imgstrip {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px
}

.rt .s5imgwrap {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 1/1;
box-shadow: -1px 6px 28px -1px #9447a117
}

.rt .s5imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s5imgwrap:hover img {
transform: scale(1.05)
}

.rt .s5divider {
height: 2px;
background: linear-gradient(to right, transparent, #9447A1);
transform: rotate(-0.3deg);
border-radius: 4px;
margin: 0 40px
}

.rt .s6 {
padding: 80px 0;
background: #fff
}

.rt .s6wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 520px;
gap: 80px;
align-items: start
}

.rt .s6left {
display: flex;
flex-direction: column;
gap: 40px
}

.rt .s6head {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s6body {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

.rt .s6checks {
display: flex;
flex-direction: column;
gap: 16px
}

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

.rt .s6chkicon {
width: 32px;
height: 32px;
border-radius: 4px;
background: #F8F7F9;
border: 1px solid #CEBCD8;
display: flex;
align-items: center;
justify-content: center;
color: #9447A1;
font-size: 15px;
flex-shrink: 0;
transition: background .36s ease-in-out
}

.rt .s6check:hover .s6chkicon {
background: #CEBCD8
}

.rt .s6chktxt {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0;
padding-top: 4px
}

.rt .s6right {
display: flex;
flex-direction: column;
gap: 16px
}

.rt .s6card {
background: #F8F7F9;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 1px 4px -1px #9447a112
}

.rt .s6cardhead {
font-size: 18px;
font-weight: 700;
color: #1b1b1b;
margin: 0 0 16px
}

.rt .s6cardtext {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

.rt .s6slash {
font-size: 13px;
color: #9447A1;
font-weight: 700;
letter-spacing: .06em;
margin: 0
}

.rt .s6divider {
height: 2px;
background: linear-gradient(to right, #CEBCD8, transparent);
border-radius: 4px;
margin: 0 40px
}

.rt .s7 {
padding: 80px 0;
background: #F8F7F9;
position: relative;
overflow: hidden
}

.rt .s7radial {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 70% at 50% 50%, #9447a10f 0%, transparent 65%);
pointer-events: none
}

.rt .s7wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1
}

.rt .s7head {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #1b1b1b;
margin: 0 0 8px;
max-width: 680px
}

.rt .s7sub {
font-size: 18px;
line-height: 1.65;
color: #3a3a3a;
margin: 0 0 80px;
max-width: 520px
}

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

.rt .s7item {
display: flex;
flex-direction: column;
gap: 16px;
padding: 40px;
background: #fff;
border-radius: 36px;
box-shadow: -1px 6px 28px -1px #9447a117;
transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.rt .s7item:hover {
transform: translateY(-6px);
box-shadow: -1px 8px 36px -1px #9447a11f
}

.rt .s7iicon {
width: 48px;
height: 48px;
border-radius: 20px;
background: linear-gradient(to right, #9447A1, #9447a14d);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 18px
}

.rt .s7ihead {
font-size: 18px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s7itext {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

.rt .s7bottom {
margin-top: 80px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
justify-content: space-between;
padding: 40px;
background: #fff;
border-radius: 20px;
box-shadow: -1px 1px 4px -1px #9447a112
}

.rt .s7btxt {
display: flex;
flex-direction: column;
gap: 8px;
max-width: 600px
}

.rt .s7bhead {
font-size: 23px;
font-weight: 700;
color: #1b1b1b;
margin: 0
}

.rt .s7bbody {
font-size: 15px;
line-height: 1.65;
color: #3a3a3a;
margin: 0
}

@media (max-width: 1366px) {
.rt .s1wrap {
grid-template-columns: 1fr 280px;
gap: 40px
}

.rt .s2grid {
grid-template-columns: repeat(2, 1fr)
}

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

.rt .s4timeline {
flex-wrap: wrap
}

.rt .s4item {
flex: 0 0 calc(50% - 20px)
}

.rt .s5imgstrip {
grid-template-columns: 1fr 1fr
}

.rt .s7grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.rt .pgwrap {
padding: 0 16px
}

.rt .s1wrap {
grid-template-columns: 1fr;
gap: 40px;
padding: 0 16px
}

.rt .s1heading {
font-size: 45px
}

.rt .s1imgcol {
padding-top: 0
}

.rt .s1divider {
margin: 0 16px
}

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

.rt .s2card {
padding: 16px
}

.rt .s3wrap {
grid-template-columns: 1fr;
gap: 40px;
padding: 0 16px
}

.rt .s3imgwrap {
max-width: 400px
}

.rt .s3divider {
margin: 0 16px
}

.rt .s4wrap {
padding: 0 16px
}

.rt .s4timeline {
flex-direction: column
}

.rt .s4item {
flex: none
}

.rt .s4imgrow {
grid-template-columns: 1fr
}

.rt .s5wrap {
padding: 0 16px
}

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

.rt .s5imgstrip {
grid-template-columns: 1fr
}

.rt .s5divider {
margin: 0 16px
}

.rt .s6wrap {
grid-template-columns: 1fr;
gap: 40px;
padding: 0 16px
}

.rt .s6divider {
margin: 0 16px
}

.rt .s7wrap {
padding: 0 16px
}

.rt .s7grid {
grid-template-columns: 1fr
}

.rt .s7bottom {
flex-direction: column;
gap: 16px;
align-items: flex-start
}
}

@media (max-width: 375px) {
.rt .s1heading {
font-size: 32px
}

.rt .s2grid {
grid-template-columns: 1fr
}

.rt .s2num {
font-size: 32px
}

.rt .s4head {
font-size: 23px
}

.rt .s5head {
font-size: 23px
}

.rt .s6head {
font-size: 23px
}

.rt .s7head {
font-size: 23px
}

.rt .s7item {
padding: 16px
}
}

.successPage {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 40px;
background-color: #F8F7F9
}

.successPage .successWrap {
max-width: 1280px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 40px
}

.successPage .successIcon {
width: 80px;
height: 80px;
border-radius: 36px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 6px 28px -1px #9447a117;
flex-shrink: 0
}

.successPage .successIcon svg {
width: 36px;
height: 36px
}

.successPage .successBody {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
max-width: 520px
}

.successPage .successTitle {
font-size: 45px;
font-weight: 700;
line-height: 1.2;
color: #2b1a30;
margin: 0
}

.successPage .successTitle .successAccent {
display: inline;
background: #CEBCD8;
padding: 0 8px;
border-radius: 4px
}

.successPage .successText {
font-size: 18px;
line-height: 1.65;
color: #3d2645;
margin: 0
}

.successPage .successDivider {
width: 48px;
height: 3px;
border-radius: 4px;
background: #9447A1
}

.successPage .successNote {
font-size: 15px;
line-height: 1.45;
color: #5a3d62;
margin: 0
}

.successPage .successActions {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.successPage .successBtn {
display: inline-block;
font-size: 15px;
font-weight: 600;
line-height: 1.2;
padding: 16px 40px;
border-radius: 20px;
text-decoration: none;
border: 2px solid #9447A1;
color: #9447A1;
background: transparent;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .42s ease-in-out;
cursor: pointer
}

.successPage .successBtn:hover {
border-color: #6b2f7a;
color: #6b2f7a;
box-shadow: -1px 6px 28px -1px #9447a117
}

.successPage .successBtn:focus-visible {
outline: 2px solid #9447A1;
outline-offset: 4px
}

.successPage .successBtn.btnPrimary {
background: #9447A1;
color: #fff;
border-color: #9447A1
}

.successPage .successBtn.btnPrimary:hover {
background: #9447A1;
border-color: #6b2f7a;
color: #fff;
box-shadow: -1px 8px 36px -1px #9447a11f
}

@media (max-width: 768px) {
.successPage {
padding: 80px 16px
}

.successPage .successTitle {
font-size: 32px
}

.successPage .successActions {
flex-direction: column;
width: 100%
}

.successPage .successBtn {
width: 100%;
text-align: center
}
}

@media (max-width: 375px) {
.successPage {
padding: 40px 16px
}

.successPage .successTitle {
font-size: 23px
}

.successPage .successText {
font-size: 15px
}
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
