@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:wght@400;500;700&display=swap";

html {
box-sizing: border-box;
font-size: 100%;
scroll-behavior: auto
}

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

html,
body {
margin: 0
}

body {
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%
}

:focus {
outline: none;
border-bottom: 4px solid #714695
}

.site_hdr {
font-family: 'IBM Plex Serif', Georgia, serif;
background: #fff;
border-bottom: 1px solid #7146952e;
box-shadow: 0 1px 6px 1px #7146950f;
position: relative;
z-index: 100;
overflow: hidden
}

.hdr_top_bar {
background: linear-gradient(90deg, #714695 0%, #5a3578 100%);
padding: 8px 40px;
display: flex;
align-items: center;
justify-content: center
}

.brand_id_pod {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 24px 40px 16px;
position: relative
}

.brand_id_pod::before {
content: '';
position: absolute;
bottom: 0;
left: 40px;
right: 40px;
height: 1px;
background: linear-gradient(90deg, transparent, #71469533, #f1cb0066, #71469533, transparent)
}

.logo_cell {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
background: #fff;
border-radius: 4px;
box-shadow: 0 6px 28px 1px #71469517;
border: 1px solid #71469526;
flex-shrink: 0
}

.logo_cell img {
width: 32px;
height: 32px;
object-fit: contain;
display: block;
opacity: 0;
transition: opacity .55s ease-in-out
}

.logo_cell img.loaded {
opacity: 1
}

.brand_name_lbl {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 31px;
font-weight: 700;
line-height: 1.1;
letter-spacing: .02em;
color: #714695;
text-decoration: none;
display: block
}

.brand_tagline {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
color: #00E7BA;
background: #714695;
padding: 4px 16px;
border-radius: 1px
}

.hdr_top_bar .phone_ref {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 15px;
font-weight: 500;
letter-spacing: .02em;
color: #F1CB00;
text-decoration: none;
transition: color .5s ease-in-out
}

.hdr_top_bar .phone_ref:hover {
color: #fff
}

.main_nav_deck {
padding: 0 40px;
background: #fff
}

.main_nav_deck nav {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 8px;
max-width: 1440px;
margin: 0 auto
}

.nav_lnk {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 15px;
font-weight: 500;
letter-spacing: .01em;
line-height: 1.4;
color: #2d1a3d;
text-decoration: none;
padding: 16px 24px;
border-radius: 0;
display: inline-block;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out
}

.nav_lnk::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: #F1CB00;
transform: scaleX(0);
transform-origin: left center;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.nav_lnk:hover {
color: #714695
}

.nav_lnk:hover::after {
transform: scaleX(1)
}

.nav_lnk[data-active="true"] {
color: #714695
}

.nav_lnk[data-active="true"]::after {
transform: scaleX(1)
}

.nav_sep {
width: 1px;
height: 20px;
background: #71469526;
display: inline-block;
vertical-align: middle
}

.site_ftr {
font-family: 'IBM Plex Serif', Georgia, serif;
background: linear-gradient(135deg, #714695 0%, #5a3578 50%, #3d2254 100%);
color: #fff;
position: relative;
overflow: hidden
}

.site_ftr::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #F1CB00, #00E7BA, #F1CB00)
}

.ftr_main_deck {
max-width: 1440px;
margin: 0 auto;
padding: 72px 40px 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px
}

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

.ftr_logo_cell {
display: flex;
align-items: center;
justify-content: flex-start;
width: 44px;
height: 44px;
background: #ffffff1f;
border-radius: 4px;
border: 1px solid #f1cb0059;
box-shadow: 0 1px 6px 1px #f1cb000f;
flex-shrink: 0
}

.ftr_logo_cell img {
width: 32px;
height: 32px;
object-fit: contain;
display: block;
opacity: 0;
transition: opacity .55s ease-in-out;
margin: 0 auto
}

.ftr_logo_cell img.loaded {
opacity: 1
}

.ftr_brand_name {
font-size: 19px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.1;
color: #F1CB00
}

.ftr_brand_desc {
font-size: 15px;
font-weight: 400;
line-height: 1.7;
letter-spacing: .01em;
color: #ffffffbf
}

.ftr_col_head {
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.1;
color: #00E7BA;
margin: 0 0 16px;
text-transform: uppercase
}

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

.ftr_lnk {
font-size: 15px;
font-weight: 400;
letter-spacing: .01em;
line-height: 1.4;
color: #fffc;
text-decoration: none;
transition: color .5s ease-in-out;
display: inline-block;
padding: 8px 0
}

.ftr_lnk:hover {
color: #F1CB00
}

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

.ftr_contact_item {
font-size: 15px;
font-weight: 400;
letter-spacing: .01em;
line-height: 1.4;
color: #fffc
}

.ftr_contact_lnk {
color: #fffc;
text-decoration: none;
transition: color .5s ease-in-out
}

.ftr_contact_lnk:hover {
color: #F1CB00
}

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

.ftr_copy_txt {
font-size: 15px;
font-weight: 400;
letter-spacing: .01em;
line-height: 1.4;
color: #ffffff8c
}

.ftr_legal_nav {
display: flex;
flex-wrap: wrap;
gap: 24px;
align-items: center
}

.ftr_legal_lnk {
font-size: 15px;
font-weight: 400;
letter-spacing: .01em;
line-height: 1.4;
color: #ffffff8c;
text-decoration: none;
transition: color .5s ease-in-out
}

.ftr_legal_lnk:hover {
color: #00E7BA
}

.consent_strip {
display: none;
position: fixed;
top: 16px;
right: 16px;
z-index: 1000;
max-width: 380px;
width: calc(100% - 32px);
background: #fff;
border: 1px solid #71469533;
border-radius: 6px;
box-shadow: 0 8px 60px 1px #7146951f;
font-family: 'IBM Plex Serif', Georgia, serif
}

.consent_body {
padding: 24px
}

.consent_desc {
font-size: 15px;
font-weight: 400;
line-height: 1.7;
letter-spacing: .01em;
color: #2d1a3d;
margin: 0 0 8px
}

.consent_head_txt {
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
margin: 0 0 16px
}

.consent_policy_ref {
font-size: 15px;
font-weight: 400;
line-height: 1.4;
letter-spacing: .01em;
color: #714695b3;
display: block;
margin-top: 16px
}

.consent_policy_ref a {
color: #714695;
text-decoration: underline
}

.consent_btn_row {
display: flex;
gap: 8px;
margin-top: 16px
}

.consent_accept_btn,
.consent_decline_btn {
flex: 1;
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 15px;
font-weight: 500;
letter-spacing: .01em;
line-height: 1.4;
padding: 16px;
border-radius: 4px;
cursor: pointer;
border: 1px solid #714695;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
background: #fff;
color: #714695
}

.consent_accept_btn::before,
.consent_decline_btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #714695;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.consent_accept_btn span,
.consent_decline_btn span {
position: relative;
z-index: 1
}

.consent_accept_btn:hover,
.consent_decline_btn:hover {
color: #fff
}

.consent_accept_btn:hover::before,
.consent_decline_btn:hover::before {
height: 100%
}

@media (max-width: 1200px) {
.hdr_top_bar {
padding: 8px 24px
}

.brand_id_pod {
padding: 24px 24px 16px
}

.brand_id_pod::before {
left: 24px;
right: 24px
}

.main_nav_deck {
padding: 0 24px
}

.ftr_main_deck {
padding: 72px 24px 40px
}

.ftr_bottom_bar {
padding: 24px
}
}

@media (max-width: 992px) {
.ftr_main_deck {
grid-template-columns: 1fr 1fr
}

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

.main_nav_deck nav {
gap: 0
}

.nav_sep {
display: none
}
}

@media (max-width: 576px) {
.hdr_top_bar {
padding: 8px 16px
}

.brand_id_pod {
padding: 16px
}

.brand_id_pod::before {
left: 16px;
right: 16px
}

.brand_name_lbl {
font-size: 19px
}

.main_nav_deck {
padding: 0 8px
}

.nav_lnk {
font-size: 15px;
padding: 16px 8px
}

.ftr_main_deck {
grid-template-columns: 1fr;
padding: 40px 16px 24px;
gap: 40px
}

.ftr_brand_pod {
grid-column: auto
}

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

.ftr_legal_nav {
gap: 16px
}

.consent_strip {
top: 8px;
right: 8px;
width: calc(100% - 16px)
}
}

.np-doc-area {
max-width: 1440px;
margin: 0 auto;
padding: 72px 40px
}

.np-doc-area h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #714695;
margin-bottom: 40px;
margin-top: 0
}

.np-doc-area h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
margin-top: 72px;
margin-bottom: 24px
}

.np-doc-area h3 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .02em;
color: #5a3878;
margin-top: 40px;
margin-bottom: 16px
}

.np-doc-area h4 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .02em;
color: #3d2653;
margin-top: 40px;
margin-bottom: 16px
}

.np-doc-area h5 {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
color: #3d2653;
margin-top: 24px;
margin-bottom: 8px
}

.np-doc-area h6 {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
color: #5a3878;
margin-top: 24px;
margin-bottom: 8px
}

.np-doc-area p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #1e1030;
margin-top: 0;
margin-bottom: 16px
}

.np-doc-area ul {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none
}

.np-doc-area ol {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
counter-reset: policy-counter
}

.np-doc-area ul li {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #1e1030;
margin-bottom: 8px;
position: relative;
padding-left: 16px
}

.np-doc-area ul li::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 6px;
border-radius: 1px;
background-color: #714695;
transform: rotate(45deg)
}

.np-doc-area ol li {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #1e1030;
margin-bottom: 8px;
position: relative;
padding-left: 24px;
counter-increment: policy-counter
}

.np-doc-area ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 15px;
line-height: 1.7;
color: #714695;
letter-spacing: .01em
}

.np-doc-area ul ul,
.np-doc-area ol ol,
.np-doc-area ul ol,
.np-doc-area ol ul {
margin-top: 8px;
margin-bottom: 8px;
padding-left: 24px
}

.np-doc-area a {
color: #714695;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .5s ease-in-out, text-decoration-color .5s ease-in-out
}

.np-doc-area a:hover {
color: #00E7BA;
text-decoration-color: #00E7BA
}

.np-doc-area a:visited {
color: #5a3878
}

.np-doc-area div {
margin-bottom: 24px
}

@media (max-width: 1200px) {
.np-doc-area {
padding: 72px 40px
}

.np-doc-area h1 {
font-size: 56px
}
}

@media (max-width: 992px) {
.np-doc-area {
padding: 40px 24px
}

.np-doc-area h1 {
font-size: 31px;
margin-bottom: 24px
}

.np-doc-area h2 {
font-size: 19px;
margin-top: 40px;
margin-bottom: 16px
}

.np-doc-area h3 {
font-size: 15px;
margin-top: 24px
}

.np-doc-area h4 {
font-size: 15px;
margin-top: 24px
}
}

@media (max-width: 576px) {
.np-doc-area {
padding: 40px 16px
}

.np-doc-area h1 {
font-size: 31px
}

.np-doc-area h2 {
font-size: 19px;
margin-top: 40px
}

.np-doc-area ul li,
.np-doc-area ol li {
padding-left: 16px
}
}

.srv_det {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.srv_det .pg_top {
position: relative;
padding: 72px 40px;
background: #fff
}

.srv_det .pg_top .dot_grid {
position: absolute;
top: 0;
left: 0;
width: 55%;
height: 100%;
pointer-events: none;
background-image: radial-gradient(circle, #71469521 1px, transparent 1px);
background-size: 22px 22px;
z-index: 0
}

.srv_det .pg_top .top_inner {
position: relative;
z-index: 1;
max-width: 900px;
margin: 0 auto;
text-align: center
}

.srv_det .pg_top .meta_row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 24px;
margin-bottom: 24px;
flex-wrap: wrap
}

.srv_det .pg_top .meta_tag {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
background: #71469514;
padding: 8px 16px;
border-radius: 4px
}

.srv_det .pg_top .meta_tag.dur {
background: #00e7ba1a;
color: #007d65
}

.srv_det .pg_top .meta_tag.seats {
background: #f1cb0026;
color: #7a6500
}

.srv_det .top_h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #1b0f2e;
margin-bottom: 24px
}

.srv_det .top_h1 mark {
background: none;
color: #714695;
text-decoration: underline;
text-decoration-color: #F1CB00;
text-decoration-thickness: 3px;
text-underline-offset: 5px
}

.srv_det .pg_top .pub_line {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #5a5a6a;
margin-bottom: 40px
}

.srv_det .pg_top .price_badge {
display: inline-flex;
flex-direction: row;
align-items: baseline;
gap: 8px;
background: #714695;
color: #fff;
padding: 16px 40px;
border-radius: 6px;
margin-bottom: 40px;
box-shadow: 0 6px 28px 1px #71469517
}

.srv_det .pg_top .price_val {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
font-weight: 700
}

.srv_det .pg_top .price_lbl {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
opacity: .8
}

.srv_det .pg_top .act_row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
flex-wrap: wrap
}

.srv_det .btn_prim {
position: relative;
overflow: hidden;
display: inline-block;
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
background: #714695;
border: none;
border-radius: 6px;
padding: 16px 40px;
cursor: pointer;
text-decoration: none;
box-shadow: 0 6px 28px 1px #71469517;
transition: color .5s ease-in-out;
z-index: 1
}

.srv_det .btn_prim::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #4e2f6e;
z-index: -1;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv_det .btn_prim:hover::before,
.srv_det .btn_prim:focus::before {
height: 100%
}

.srv_det .btn_prim:focus {
outline: 2px solid #F1CB00;
outline-offset: 3px
}

.srv_det .btn_copy {
position: relative;
overflow: hidden;
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
background: #fff;
border: 1px solid #7146954d;
border-radius: 6px;
padding: 16px 24px;
cursor: pointer;
box-shadow: 0 1px 6px 1px #7146950f;
transition: border-color .5s ease-in-out, color .5s ease-in-out;
z-index: 1
}

.srv_det .btn_copy::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #71469512;
z-index: -1;
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv_det .btn_copy:hover::before,
.srv_det .btn_copy:focus::before {
height: 100%
}

.srv_det .btn_copy:focus {
outline: 2px solid #714695;
outline-offset: 3px
}

.srv_det .img_block {
position: relative;
margin-top: 40px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 8px 60px 1px #7146951f;
max-height: 480px
}

.srv_det .img_block img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
opacity: 0;
transition: opacity .65s ease-in-out
}

.srv_det .img_block img.loaded {
opacity: 1
}

.srv_det .img_block .img_overlay {
position: absolute;
top: 0;
right: 0;
width: 55%;
height: 100%;
background: linear-gradient(343deg, #fff0 0%, #fff0 45%, #ffffffd9 100%);
pointer-events: none
}

.srv_det .zigzag_div {
width: 100%;
line-height: 0;
overflow: hidden
}

.srv_det .zigzag_div svg {
display: block;
width: 100%
}

.srv_det .desc_sec {
position: relative;
background: #f7f4fb;
padding: 72px 40px
}

.srv_det .desc_sec .bleed_accent {
position: absolute;
top: 0;
right: 0;
width: 320px;
height: 320px;
background: #71469512;
border-radius: 0 0 0 320px;
pointer-events: none;
animation: bleed_in 6s ease-in-out infinite alternate
}

@keyframes bleed_in {
0% {
opacity: .3;
transform: scale(0.85)
}

100% {
opacity: 1;
transform: scale(1)
}
}

.srv_det .desc_sec .desc_grid {
display: grid;
grid-template-columns: 1fr 380px;
gap: 40px;
max-width: 1200px;
margin: 0 auto;
align-items: start;
position: relative;
z-index: 1
}

.srv_det .desc_sec .desc_body h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e;
margin-bottom: 16px
}

.srv_det .desc_sec .desc_body h2 span {
color: #714695
}

.srv_det .desc_sec .desc_body p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #2d2040;
margin-bottom: 16px
}

.srv_det .desc_sec .desc_body ul {
padding-left: 24px;
margin-bottom: 16px
}

.srv_det .desc_sec .desc_body li {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #2d2040;
margin-bottom: 8px
}

.srv_det .desc_sec .desc_body blockquote {
border-top: 3px solid #F1CB00;
border-bottom: 1px solid #f1cb004d;
padding: 16px 24px;
margin: 24px 0;
background: #f1cb0012;
border-radius: 4px;
font-size: 19px;
line-height: 1.7;
color: #2d2040;
font-style: italic
}

.srv_det .desc_sec .desc_body abbr {
text-decoration: underline dotted #714695;
cursor: help;
color: #714695
}

.srv_det .desc_sec .desc_body small {
font-size: 15px;
line-height: 1.4;
color: #5a5a6a;
display: block;
margin-top: 8px
}

.srv_det .desc_sec .desc_body dl {
margin-bottom: 16px
}

.srv_det .desc_sec .desc_body dt {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 700;
margin-top: 16px
}

.srv_det .desc_sec .desc_body dd {
font-size: 19px;
line-height: 1.7;
color: #2d2040;
margin-left: 0;
padding-left: 16px
}

.srv_det .desc_sec .desc_body details {
border: 1px solid #71469533;
border-radius: 6px;
padding: 16px;
margin-bottom: 16px;
background: #fff
}

.srv_det .desc_sec .desc_body summary {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
cursor: pointer;
font-weight: 600;
list-style: none
}

.srv_det .desc_sec .desc_body summary::-webkit-details-marker {
display: none
}

.srv_det .desc_sec .desc_body details[open] summary {
margin-bottom: 8px
}

.srv_det .desc_aside {
display: flex;
flex-direction: column;
gap: 24px
}

.srv_det .aside_card {
background: #fff;
border-radius: 10px;
padding: 24px;
box-shadow: 0 6px 28px 1px #71469517
}

.srv_det .aside_card .ac_label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 700;
margin-bottom: 8px;
text-transform: uppercase
}

.srv_det .aside_card .ac_val {
font-size: 31px;
line-height: 1.1;
letter-spacing: .01em;
color: #1b0f2e
}

.srv_det .aside_card .ac_val.green {
color: #007d65
}

.srv_det .aside_card .ac_note {
font-size: 15px;
line-height: 1.4;
color: #5a5a6a;
margin-top: 8px
}

.srv_det .aside_card .icon_ring {
width: 48px;
height: 48px;
border-radius: 50%;
background: #7146951f;
border: 2px solid #71469540;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
flex-shrink: 0
}

.srv_det .aside_card .icon_ring svg {
width: 24px;
height: 24px
}

.srv_det .aside_card.yellow .icon_ring {
background: #f1cb0026;
border-color: #f1cb0066
}

.srv_det .aside_card.teal .icon_ring {
background: #00e7ba1f;
border-color: #00e7ba59
}

.srv_det .wavy_top {
width: 100%;
line-height: 0;
overflow: hidden
}

.srv_det .wavy_top svg {
display: block;
width: 100%
}

.srv_det .prog_sec {
background: #fff;
padding: 72px 40px;
position: relative
}

.srv_det .prog_sec .prog_inner {
max-width: 1200px;
margin: 0 auto
}

.srv_det .prog_sec .sec_head {
margin-bottom: 40px
}

.srv_det .prog_sec .sec_head h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e
}

.srv_det .prog_sec .sec_head h2 span {
color: #714695
}

.srv_det .prog_sec .sec_head p {
font-size: 19px;
line-height: 1.7;
color: #2d2040;
margin-top: 8px;
max-width: 640px
}

.srv_det .prog_content h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e;
margin-bottom: 16px;
margin-top: 40px
}

.srv_det .prog_content h2:first-child {
margin-top: 0
}

.srv_det .prog_content p {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #2d2040;
margin-bottom: 16px
}

.srv_det .prog_content mark {
background: #f1cb004d;
color: #1b0f2e;
padding: 0 4px;
border-radius: 1px
}

.srv_det .prog_content em {
color: #714695;
font-style: normal;
font-weight: 600
}

.srv_det .prog_content ul {
padding-left: 24px;
margin-bottom: 16px
}

.srv_det .prog_content li {
font-size: 19px;
line-height: 1.7;
color: #2d2040;
margin-bottom: 8px
}

.srv_det .prog_content dl {
margin-bottom: 16px
}

.srv_det .prog_content dt {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 700;
margin-top: 16px
}

.srv_det .prog_content dd {
font-size: 19px;
line-height: 1.7;
color: #2d2040;
margin-left: 0;
padding-left: 16px
}

.srv_det .prog_content details {
border: 1px solid #71469533;
border-radius: 6px;
padding: 16px;
margin-bottom: 16px;
background: #f7f4fb
}

.srv_det .prog_content summary {
font-size: 19px;
line-height: 1.4;
color: #714695;
cursor: pointer;
font-weight: 600;
list-style: none
}

.srv_det .prog_content summary::-webkit-details-marker {
display: none
}

.srv_det .prog_content details[open] summary {
margin-bottom: 8px
}

.srv_det .cta_sec {
background: #fff;
padding: 72px 40px;
position: relative;
overflow: hidden
}

.srv_det .cta_sec .bleed_corner {
position: absolute;
bottom: 0;
left: 0;
width: 280px;
height: 280px;
background: #00e7ba17;
border-radius: 0 280px 0 0;
pointer-events: none;
animation: bleed_in 7s ease-in-out infinite alternate
}

.srv_det .cta_sec .cta_inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
position: relative;
z-index: 1
}

.srv_det .cta_sec .cta_txt h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e;
margin-bottom: 16px
}

.srv_det .cta_sec .cta_txt h2 span {
color: #714695
}

.srv_det .cta_sec .cta_txt p {
font-size: 19px;
line-height: 1.7;
color: #2d2040;
margin-bottom: 24px
}

.srv_det .cta_sec .stat_row {
display: flex;
flex-direction: row;
gap: 40px;
flex-wrap: wrap
}

.srv_det .cta_sec .stat_item {
display: flex;
flex-direction: column;
gap: 8px
}

.srv_det .cta_sec .stat_num {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #714695;
font-weight: 700
}

.srv_det .cta_sec .stat_lbl {
font-size: 15px;
line-height: 1.4;
color: #5a5a6a;
letter-spacing: .02em
}

.srv_det .cta_form_wrap {
background: #f7f4fb;
border-radius: 10px;
padding: 40px;
box-shadow: 0 8px 60px 1px #7146951f
}

.srv_det .cta_form_wrap h3 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e;
margin-bottom: 24px
}

.srv_det .cta_form_wrap form {
display: flex;
flex-direction: column;
gap: 16px
}

.srv_det .cta_form_wrap input,
.srv_det .cta_form_wrap textarea {
width: 100%;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b0f2e;
background: #fff;
border: 1px solid #71469533;
border-radius: 6px;
padding: 16px;
box-shadow: inset 0 1px 4px #7146950f;
transition: border-color .5s ease-in-out;
box-sizing: border-box
}

.srv_det .cta_form_wrap input::placeholder,
.srv_det .cta_form_wrap textarea::placeholder {
color: #71469566
}

.srv_det .cta_form_wrap input:focus,
.srv_det .cta_form_wrap textarea:focus {
outline: none;
border-color: #714695
}

.srv_det .cta_form_wrap textarea {
resize: vertical;
min-height: 100px
}

.srv_det .cta_form_wrap .btn_submit {
position: relative;
overflow: hidden;
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
background: #714695;
border: none;
border-radius: 6px;
padding: 16px 40px;
cursor: pointer;
box-shadow: 0 6px 28px 1px #71469517;
transition: color .5s ease-in-out;
z-index: 1
}

.srv_det .cta_form_wrap .btn_submit::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #4e2f6e;
z-index: -1;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv_det .cta_form_wrap .btn_submit:hover::before,
.srv_det .cta_form_wrap .btn_submit:focus::before {
height: 100%
}

.srv_det .cta_form_wrap .btn_submit:focus {
outline: 2px solid #F1CB00;
outline-offset: 3px
}

.srv_det .wavy_bottom {
width: 100%;
line-height: 0;
overflow: hidden
}

.srv_det .wavy_bottom svg {
display: block;
width: 100%
}

@media (max-width: 1200px) {
.srv_det .desc_sec .desc_grid {
grid-template-columns: 1fr 320px
}

.srv_det .cta_sec .cta_inner {
grid-template-columns: 1fr
}
}

@media (max-width: 992px) {
.srv_det .top_h1 {
font-size: 31px
}

.srv_det .desc_sec .desc_grid {
grid-template-columns: 1fr
}

.srv_det .desc_aside {
flex-direction: row;
flex-wrap: wrap
}

.srv_det .aside_card {
flex: 1 1 200px
}

.srv_det .pg_top {
padding: 40px 24px
}

.srv_det .desc_sec {
padding: 40px 24px
}

.srv_det .prog_sec {
padding: 40px 24px
}

.srv_det .cta_sec {
padding: 40px 24px
}

.srv_det .img_block img {
height: 320px
}
}

@media (max-width: 576px) {
.srv_det .top_h1 {
font-size: 31px
}

.srv_det .pg_top .price_val {
font-size: 31px
}

.srv_det .act_row {
flex-direction: column;
align-items: stretch
}

.srv_det .btn_prim,
.srv_det .btn_copy {
text-align: center
}

.srv_det .cta_sec .stat_row {
gap: 24px
}

.srv_det .cta_sec .stat_num {
font-size: 31px
}

.srv_det .cta_form_wrap {
padding: 24px 16px
}

.srv_det .desc_aside {
flex-direction: column
}
}

.stats_pg {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.stats_pg .slide_in {
opacity: 0;
transform: translateX(60px);
animation: arrive .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.stats_pg .slide_in.d1 {
animation-delay: .08s
}

.stats_pg .slide_in.d2 {
animation-delay: .18s
}

.stats_pg .slide_in.d3 {
animation-delay: .28s
}

.stats_pg .slide_in.d4 {
animation-delay: .38s
}

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

.stats_pg img {
opacity: 0;
transition: opacity .55s ease-in-out
}

.stats_pg img.loaded {
opacity: 1
}

.stats_pg .eyebrow {
font-size: 15px;
letter-spacing: .02em;
line-height: 1.4;
color: #714695;
text-transform: uppercase;
font-weight: 600;
display: block;
margin-bottom: 16px
}

.stats_pg .accent_word {
color: #714695
}

.stats_pg .plain_word {
color: #1b1b2e
}

.stats_pg .underline_word {
position: relative;
display: inline-block
}

.stats_pg .underline_word::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 3px;
background: linear-gradient(343deg, #F1CB00 30%, #00E7BA 100%);
border-radius: 1px
}

.stats_pg .concentric_deco {
position: absolute;
pointer-events: none;
border-radius: 50%;
border: 1px solid #714695;
opacity: .07
}

.stats_pg .tri_divider {
display: block;
width: 100%;
line-height: 0;
overflow: hidden
}

.stats_pg .tri_divider svg {
display: block;
width: 100%
}

.stats_pg .tri_divider_alt {
display: block;
width: 100%;
line-height: 0;
overflow: hidden
}

.stats_pg .tri_divider_alt svg {
display: block;
width: 100%
}

.stats_pg .top_band {
position: relative;
background: linear-gradient(343deg, #714695 0%, #9b6dc0 35%, #f1cb0026 80%, transparent 100%);
padding: 72px 40px 40px
}

.stats_pg .top_band .grid_bg {
position: absolute;
inset: 0;
background-image: linear-gradient(#ffffff0f 1px, transparent 1px), linear-gradient(90deg, #ffffff0f 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none
}

.stats_pg .top_band .cc1 {
width: 320px;
height: 320px;
bottom: -80px;
right: -60px
}

.stats_pg .top_band .cc2 {
width: 220px;
height: 220px;
bottom: -30px;
right: -10px
}

.stats_pg .top_band .cc3 {
width: 120px;
height: 120px;
bottom: 20px;
right: 40px
}

.stats_pg .top_band_inner {
max-width: 860px;
position: relative;
z-index: 1
}

.stats_pg .top_band .eyebrow {
color: #f1cb00e6
}

.stats_pg .top_band_h1 {
font-size: 70px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
margin: 0 0 24px
}

.stats_pg .metrics_band {
background: #fff;
padding: 72px 40px;
position: relative
}

.stats_pg .metrics_band .cc4 {
width: 260px;
height: 260px;
top: -40px;
left: -60px
}

.stats_pg .metrics_band .cc5 {
width: 160px;
height: 160px;
top: 0;
left: -20px
}

.stats_pg .metrics_top {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-bottom: 40px
}

.stats_pg .metrics_text {
flex: 1 1 360px
}

.stats_pg .metrics_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0 0 16px
}

.stats_pg .metrics_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3a3a4a;
margin: 0
}

.stats_pg .metrics_img_wrap {
flex: 0 0 360px;
border-radius: 0;
overflow: hidden;
box-shadow: 0 6px 28px 1px #71469517
}

.stats_pg .metrics_img_wrap img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .55s ease-in-out
}

.stats_pg .metrics_img_wrap:hover img {
transform: scale(1.04)
}

.stats_pg .dash_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px
}

.stats_pg .dash_card {
background: #f7f4fc;
border-radius: 6px;
padding: 24px;
box-shadow: 0 1px 6px 1px #7146950f;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
overflow: hidden
}

.stats_pg .dash_card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(343deg, #714695 0%, #00E7BA 100%);
border-radius: 4px 4px 0 0
}

.stats_pg .dash_card:hover {
box-shadow: 0 8px 60px 1px #7146951f;
transform: translateY(-3px)
}

.stats_pg .dash_num {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #714695;
font-weight: 700;
display: block
}

.stats_pg .dash_label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #3a3a4a;
margin-top: 8px;
display: block
}

.stats_pg .featured_band {
background: linear-gradient(343deg, #f7f4fc 0%, #edf9f6 60%, #fffde8 100%);
padding: 72px 40px;
position: relative
}

.stats_pg .featured_band .cc6 {
width: 300px;
height: 300px;
top: -50px;
right: -70px
}

.stats_pg .featured_band .cc7 {
width: 180px;
height: 180px;
top: -10px;
right: -30px
}

.stats_pg .featured_head {
text-align: center;
margin-bottom: 40px
}

.stats_pg .featured_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0 0 16px
}

.stats_pg .featured_sub {
font-size: 15px;
line-height: 1.7;
color: #3a3a4a;
max-width: 560px;
margin: 0 auto
}

.stats_pg .three_col {
display: grid;
grid-template-columns: 1fr 1.3fr 1fr;
gap: 16px;
align-items: start
}

.stats_pg .col_card {
background: #fff;
border-radius: 6px;
padding: 24px;
box-shadow: 0 1px 6px 1px #7146950f;
transition: box-shadow .6s ease-in-out
}

.stats_pg .col_card:hover {
box-shadow: 0 8px 60px 1px #7146951f
}

.stats_pg .col_card.center {
padding: 40px 24px;
background: #714695
}

.stats_pg .col_card.center .col_h4 {
color: #fff
}

.stats_pg .col_card.center .col_p {
color: #ffffffd9
}

.stats_pg .col_card.center .col_stat_num {
color: #F1CB00
}

.stats_pg .col_card.center .col_stat_lbl {
color: #ffffffbf
}

.stats_pg .col_img_wrap {
border-radius: 4px;
overflow: hidden;
margin-bottom: 16px
}

.stats_pg .col_img_wrap img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), brightness .6s ease-in-out, opacity .55s ease-in-out
}

.stats_pg .col_img_wrap:hover img {
transform: scale(1.05);
filter: brightness(1.06)
}

.stats_pg .col_h4 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b1b2e;
margin: 0 0 8px
}

.stats_pg .col_p {
font-size: 15px;
line-height: 1.7;
color: #3a3a4a;
margin: 0 0 16px
}

.stats_pg .col_stat_num {
font-size: 31px;
line-height: 1.1;
font-weight: 700;
color: #714695;
letter-spacing: .01em
}

.stats_pg .col_stat_lbl {
font-size: 15px;
line-height: 1.4;
color: #5a5a6a;
display: block;
margin-top: 8px;
letter-spacing: .01em
}

.stats_pg .split_band {
position: relative
}

.stats_pg .split_top_half {
background: #1b1b2e;
padding: 72px 40px 40px;
position: relative;
overflow: hidden
}

.stats_pg .split_bot_half {
background: #f7f4fc;
padding: 40px 40px 72px;
position: relative
}

.stats_pg .split_band .cc8 {
width: 280px;
height: 280px;
bottom: -100px;
left: -60px;
border-color: #F1CB00
}

.stats_pg .split_band .cc9 {
width: 180px;
height: 180px;
bottom: -60px;
left: -20px;
border-color: #F1CB00
}

.stats_pg .split_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
margin: 0 0 16px;
max-width: 700px
}

.stats_pg .split_intro {
font-size: 15px;
line-height: 1.7;
color: #fffc;
max-width: 600px;
margin: 0 0 40px
}

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

.stats_pg .portrait_item {
flex: 1 1 0
}

.stats_pg .portrait_frame {
width: 100%;
aspect-ratio: 7/9;
overflow: hidden;
border-radius: 0;
margin-bottom: 16px;
box-shadow: 0 6px 28px 1px #71469517
}

.stats_pg .portrait_frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .55s ease-in-out
}

.stats_pg .portrait_frame:hover img {
transform: scale(1.04)
}

.stats_pg .portrait_name {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
font-weight: 600;
margin: 0 0 8px
}

.stats_pg .portrait_role {
font-size: 15px;
line-height: 1.4;
color: #f1cb00e6;
letter-spacing: .02em;
margin: 0 0 8px;
display: block
}

.stats_pg .portrait_quote {
font-size: 15px;
line-height: 1.7;
color: #ffffffbf;
margin: 0;
font-style: italic
}

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

.stats_pg .split_bot_txt {
flex: 1 1 0
}

.stats_pg .split_bot_h3 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #1b1b2e;
margin: 0 0 8px
}

.stats_pg .split_bot_p {
font-size: 15px;
line-height: 1.7;
color: #3a3a4a;
margin: 0
}

.stats_pg .hlines_texture {
position: absolute;
inset: 0;
pointer-events: none;
background-image: repeating-linear-gradient(180deg, #7146950a 0px, #7146950a 1px, transparent 1px, transparent 8px, #71469506 8px, #71469506 10px, transparent 10px, transparent 22px, #71469504 22px, #71469504 25px, transparent 25px, transparent 48px)
}

.stats_pg .focus_link {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
background: #714695;
padding: 16px 40px;
border-radius: 4px;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
box-shadow: 0 6px 28px 1px #71469517;
transition: color .5s ease-in-out, box-shadow .5s ease-in-out
}

.stats_pg .focus_link::before {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 0;
background: #5a3578;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.stats_pg .focus_link:hover::before {
height: 100%
}

.stats_pg .focus_link:hover {
box-shadow: 0 8px 60px 1px #7146951f
}

.stats_pg .focus_link span {
position: relative;
z-index: 1
}

.stats_pg .focus_link:focus-visible {
outline: 3px solid #F1CB00;
outline-offset: 3px
}

@media (max-width: 1200px) {
.stats_pg .top_band_h1 {
font-size: 56px
}

.stats_pg .dash_grid {
grid-template-columns: repeat(2, 1fr)
}

.stats_pg .metrics_img_wrap {
flex: 0 0 280px
}
}

@media (max-width: 992px) {
.stats_pg .top_band {
padding: 72px 24px 40px
}

.stats_pg .metrics_band {
padding: 72px 24px
}

.stats_pg .featured_band {
padding: 72px 24px
}

.stats_pg .split_top_half {
padding: 72px 24px 40px
}

.stats_pg .split_bot_half {
padding: 40px 24px 72px
}

.stats_pg .metrics_top {
flex-direction: column
}

.stats_pg .metrics_img_wrap {
flex: none;
width: 100%
}

.stats_pg .three_col {
grid-template-columns: 1fr 1fr
}

.stats_pg .three_col .col_card:last-child {
grid-column: span 2
}

.stats_pg .portrait_row {
gap: 24px
}

.stats_pg .split_bot_content {
flex-direction: column;
gap: 24px
}
}

@media (max-width: 576px) {
.stats_pg .top_band_h1 {
font-size: 31px
}

.stats_pg .top_band {
padding: 40px 16px 24px
}

.stats_pg .metrics_band {
padding: 40px 16px
}

.stats_pg .featured_band {
padding: 40px 16px
}

.stats_pg .split_top_half {
padding: 40px 16px 24px
}

.stats_pg .split_bot_half {
padding: 24px 16px 40px
}

.stats_pg .dash_grid {
grid-template-columns: 1fr
}

.stats_pg .dash_num {
font-size: 31px
}

.stats_pg .three_col {
grid-template-columns: 1fr
}

.stats_pg .three_col .col_card:last-child {
grid-column: span 1
}

.stats_pg .portrait_row {
flex-direction: column
}

.stats_pg .portrait_item {
width: 100%
}
}

.cnt_us {
max-width: 1440px;
margin: 0 auto;
overflow: hidden
}

.cnt_us .pg_band {
width: 6px;
background: #714695;
position: absolute;
top: 0;
left: 0;
bottom: 0;
border-radius: 0
}

.cnt_us .reach_row {
display: flex;
flex-direction: row;
gap: 40px;
padding: 72px 72px 72px 78px;
position: relative;
align-items: flex-start;
background: #fff
}

.cnt_us .reach_left {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 40px;
position: sticky;
top: 40px
}

.cnt_us .reach_label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
text-transform: uppercase;
font-weight: 600
}

.cnt_us .reach_heading {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #1e1e2e;
margin: 0
}

.cnt_us .reach_heading em {
font-style: normal;
color: #714695
}

.cnt_us .reach_sub {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3a3a4a;
margin: 0
}

.cnt_us .reach_details {
display: flex;
flex-direction: column;
gap: 24px
}

.cnt_us .detail_item {
display: flex;
flex-direction: column;
gap: 8px
}

.cnt_us .detail_item_lbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 600;
text-transform: uppercase
}

.cnt_us .detail_item_val {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #1e1e2e;
text-decoration: none;
transition: color .5s ease-in-out
}

.cnt_us .detail_item_val:hover {
color: #714695
}

.cnt_us .detail_item_addr {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #1e1e2e
}

.cnt_us .reach_right {
flex: 1;
min-width: 0
}

.cnt_us .form_card {
background: #f7f4fb;
border-radius: 10px;
padding: 40px;
box-shadow: 0 6px 28px 1px #71469517
}

.cnt_us .form_card_head {
font-size: 31px;
line-height: 1.1;
letter-spacing: .01em;
color: #1e1e2e;
margin: 0 0 8px
}

.cnt_us .form_card_head span {
color: #714695
}

.cnt_us .form_card_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a5a;
margin: 0 0 40px
}

.cnt_us .form_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.cnt_us .form_field {
display: flex;
flex-direction: column;
gap: 8px
}

.cnt_us .form_field.full {
grid-column: 1 / -1
}

.cnt_us .form_field label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #3a3a4a;
font-weight: 600
}

.cnt_us .form_field input[type="text"],
.cnt_us .form_field input[type="email"],
.cnt_us .form_field select {
padding: 16px;
border: 1px solid #d4c8e0;
border-radius: 6px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #1e1e2e;
background: #fff;
box-shadow: inset 0 1px 6px 1px #7146950f;
transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none
}

.cnt_us .form_field input[type="text"]::placeholder,
.cnt_us .form_field input[type="email"]::placeholder {
color: #71469566
}

.cnt_us .form_field input[type="text"]:focus,
.cnt_us .form_field input[type="email"]:focus,
.cnt_us .form_field select:focus {
outline: none;
border-color: #714695;
box-shadow: inset 0 1px 6px 1px #7146950f 0 0 0 3px #7146951f
}

.cnt_us .form_field select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23714695' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px;
cursor: pointer
}

.cnt_us .channel_group {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.cnt_us .channel_opt {
position: relative
}

.cnt_us .channel_opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.cnt_us .channel_opt label {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border: 1px solid #d4c8e0;
border-radius: 6px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #4a4a5a;
cursor: pointer;
background: #fff;
transition: border-color .5s ease-in-out, background .5s ease-in-out, color .5s ease-in-out;
font-weight: 400
}

.cnt_us .channel_opt input[type="radio"]:checked+label {
border-color: #714695;
background: #714695;
color: #fff
}

.cnt_us .channel_opt label:hover {
border-color: #714695;
color: #714695
}

.cnt_us .channel_opt input[type="radio"]:checked+label:hover {
color: #fff
}

.cnt_us .channel_opt input[type="radio"]:focus+label {
box-shadow: 0 0 0 3px #7146952e
}

.cnt_us .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-top: 8px
}

.cnt_us .privacy_row input[type="checkbox"] {
width: 20px;
height: 20px;
min-width: 20px;
accent-color: #714695;
cursor: pointer;
margin-top: 2px
}

.cnt_us .privacy_text {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a5a
}

.cnt_us .privacy_text a {
color: #714695;
text-decoration: underline;
transition: color .5s ease-in-out
}

.cnt_us .privacy_text a:hover {
color: #4a2d6b
}

.cnt_us .submit_btn {
position: relative;
overflow: hidden;
padding: 16px 40px;
background: #714695;
color: #fff;
border: none;
border-radius: 6px;
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
font-weight: 600;
cursor: pointer;
transition: color .5s ease-in-out;
margin-top: 8px
}

.cnt_us .submit_btn::before {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 0;
background: #4a2d6b;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.cnt_us .submit_btn:hover::before {
height: 100%
}

.cnt_us .submit_btn span {
position: relative;
z-index: 1
}

.cnt_us .submit_btn:focus {
outline: 3px solid #71469566;
outline-offset: 2px
}

.cnt_us .submit_btn:active {
transform: translateY(1px)
}

.cnt_us .divider_zigzag {
width: 100%;
line-height: 0;
overflow: hidden
}

.cnt_us .divider_zigzag svg {
display: block;
width: 100%
}

.cnt_us .metrics_strip {
background: linear-gradient(343deg, #714695 0%, #714695 30%, #5a3578 70%, #f7f4fb 100%);
padding: 72px 72px 72px 78px;
position: relative;
overflow: hidden
}

.cnt_us .metrics_strip::before {
content: '';
position: absolute;
top: -40px;
right: 72px;
width: 8px;
height: 8px;
border-radius: 4px;
background: #f1cb0066
}

.cnt_us .metrics_strip::after {
content: '';
position: absolute;
top: 24px;
right: 88px;
width: 16px;
height: 16px;
border-radius: 4px;
background: #00e7ba40
}

.cnt_us .dot_cluster {
position: absolute;
bottom: 40px;
right: 72px;
display: flex;
flex-direction: row;
gap: 8px;
align-items: flex-end
}

.cnt_us .dot_cluster .d1 {
width: 10px;
height: 10px;
border-radius: 4px;
background: #f1cb0080
}

.cnt_us .dot_cluster .d2 {
width: 16px;
height: 16px;
border-radius: 4px;
background: #00e7ba66
}

.cnt_us .dot_cluster .d3 {
width: 6px;
height: 6px;
border-radius: 4px;
background: #ffffff4d
}

.cnt_us .metrics_inner {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
align-items: center
}

.cnt_us .metric_item {
display: flex;
flex-direction: column;
gap: 8px;
opacity: 0;
animation: fadeSlide .6s ease-in-out forwards
}

.cnt_us .metric_item:nth-child(1) {
animation-delay: .1s
}

.cnt_us .metric_item:nth-child(2) {
animation-delay: .25s
}

.cnt_us .metric_item:nth-child(3) {
animation-delay: .4s
}

@keyframes fadeSlide {
from {
opacity: 0;
transform: translateY(16px)
}

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

.cnt_us .metric_num {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #F1CB00;
font-weight: 700
}

.cnt_us .metric_num sup {
font-size: 31px;
vertical-align: super
}

.cnt_us .metric_lbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #ffffffbf;
text-transform: uppercase
}

.cnt_us .metric_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #fff9;
margin: 0
}

.cnt_us .metric_divider {
width: 1px;
height: 80px;
background: #ffffff26;
align-self: center
}

.cnt_us .channels_sec {
background: #f7f4fb;
padding: 72px 72px 72px 78px;
position: relative
}

.cnt_us .channels_sec .pg_band_teal {
width: 6px;
background: #00E7BA;
position: absolute;
top: 0;
left: 0;
bottom: 0;
border-radius: 0
}

.cnt_us .channels_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.cnt_us .channels_text {
display: flex;
flex-direction: column;
gap: 24px
}

.cnt_us .channels_heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: .01em;
color: #1e1e2e;
margin: 0
}

.cnt_us .channels_heading span {
color: #714695
}

.cnt_us .channels_para {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3a3a4a;
margin: 0
}

.cnt_us .channels_para strong {
color: #1e1e2e
}

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

.cnt_us .resp_card {
background: #fff;
border-radius: 10px;
padding: 24px;
box-shadow: 0 1px 6px 1px #7146950f;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
opacity: 0;
animation: fadeSlide .6s ease-in-out forwards
}

.cnt_us .resp_card:nth-child(1) {
animation-delay: .15s
}

.cnt_us .resp_card:nth-child(2) {
animation-delay: .3s
}

.cnt_us .resp_card:nth-child(3) {
animation-delay: .45s
}

.cnt_us .resp_icon {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 10px;
background: #f0eaf7;
display: flex;
align-items: center;
justify-content: center
}

.cnt_us .resp_icon svg {
width: 20px;
height: 20px
}

.cnt_us .resp_body {
display: flex;
flex-direction: column;
gap: 8px
}

.cnt_us .resp_title {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #1e1e2e;
font-weight: 600;
margin: 0
}

.cnt_us .resp_info {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #4a4a5a;
margin: 0
}

.cnt_us .resp_time {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
font-weight: 600
}

@media (max-width: 1200px) {
.cnt_us .reach_row {
padding: 72px 40px 72px 46px
}

.cnt_us .reach_left {
flex: 0 0 280px
}

.cnt_us .metrics_strip {
padding: 72px 40px 72px 46px
}

.cnt_us .channels_sec {
padding: 72px 40px 72px 46px
}
}

@media (max-width: 992px) {
.cnt_us .reach_row {
flex-direction: column;
padding: 40px 40px 40px 46px;
gap: 40px
}

.cnt_us .reach_left {
flex: none;
width: 100%;
position: static
}

.cnt_us .reach_heading {
font-size: 56px
}

.cnt_us .metrics_inner {
grid-template-columns: 1fr;
gap: 24px
}

.cnt_us .metric_divider {
display: none
}

.cnt_us .metrics_strip {
padding: 40px 40px 40px 46px
}

.cnt_us .channels_grid {
grid-template-columns: 1fr;
gap: 40px
}

.cnt_us .channels_sec {
padding: 40px 40px 40px 46px
}

.cnt_us .form_grid {
grid-template-columns: 1fr
}

.cnt_us .form_field.full {
grid-column: 1
}
}

@media (max-width: 576px) {
.cnt_us .reach_row {
padding: 40px 16px 40px 24px
}

.cnt_us .reach_heading {
font-size: 31px
}

.cnt_us .form_card {
padding: 24px 16px
}

.cnt_us .metrics_strip {
padding: 40px 16px 40px 24px
}

.cnt_us .metric_num {
font-size: 56px
}

.cnt_us .channels_sec {
padding: 40px 16px 40px 24px
}

.cnt_us .channel_group {
flex-direction: column;
gap: 8px
}

.cnt_us .submit_btn {
width: 100%;
text-align: center
}
}

.prtl {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.prtl .ttl_blk {
padding: 72px;
background-color: #f5f0fa;
background-image: linear-gradient(343deg, #714695 0%, #9b6fc0 18%, #e8daf5 55%, #f5f0fa 100%);
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.prtl .ttl_blk_txt {
position: relative;
z-index: 1
}

.prtl .ttl_bracket {
position: absolute;
top: 16px;
left: 16px;
width: 32px;
height: 32px;
border-top: 2px solid #714695;
border-left: 2px solid #714695;
pointer-events: none
}

.prtl .ttl_bracket.br {
top: auto;
left: auto;
bottom: 16px;
right: 16px;
border-top: none;
border-left: none;
border-bottom: 2px solid #714695;
border-right: 2px solid #714695
}

.prtl .ttl_h1 {
font-size: 70px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px;
color: #2a1040
}

.prtl .ttl_h1 span {
color: #714695
}

.prtl .ttl_sub {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2060;
margin: 0 0 40px;
max-width: 480px
}

.prtl .ttl_act {
display: inline-block;
padding: 16px 40px;
background-color: #714695;
color: #fff;
font-size: 15px;
letter-spacing: .02em;
border-radius: 4px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out
}

.prtl .ttl_act::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background-color: #4a2d6a;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.prtl .ttl_act:hover::before {
height: 100%
}

.prtl .ttl_act span {
position: relative;
z-index: 1;
color: #fff
}

.prtl .ttl_img_wrap {
position: relative
}

.prtl .ttl_img_decor {
position: absolute;
top: -16px;
right: -16px;
width: 40px;
height: 40px;
border-top: 2px solid #F1CB00;
border-right: 2px solid #F1CB00;
pointer-events: none
}

.prtl .ttl_img_decor.bl {
top: auto;
right: auto;
bottom: -16px;
left: -16px;
border-top: none;
border-right: none;
border-bottom: 2px solid #F1CB00;
border-left: 2px solid #F1CB00
}

.prtl .ttl_img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center;
border-radius: 6px;
opacity: 0;
transition: opacity .65s ease-in-out;
display: block;
filter: blur(0px)
}

.prtl .ttl_img.loaded {
opacity: .82
}

.prtl .ttl_tag {
position: absolute;
top: 16px;
left: 16px;
background-color: #F1CB00;
color: #2a1040;
font-size: 15px;
padding: 8px 16px;
border-radius: 4px;
font-weight: 600;
letter-spacing: .02em;
z-index: 2
}

.prtl .scallop_div {
width: 100%;
height: 24px;
background-color: #fff;
position: relative;
overflow: hidden
}

.prtl .scallop_div::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 24px;
background: radial-gradient(circle at 12px -6px, transparent 14px, #f5f0fa 14px) repeat-x;
background-size: 24px 24px
}

.prtl .scallop_div.inv::before {
background: radial-gradient(circle at 12px 30px, transparent 14px, #fff 14px) repeat-x;
background-size: 24px 24px;
top: 0;
bottom: auto
}

.prtl .scallop_div.to_light::before {
background: radial-gradient(circle at 12px -6px, transparent 14px, #eef7f4 14px) repeat-x
}

.prtl .scallop_div.to_white::before {
background: radial-gradient(circle at 12px -6px, transparent 14px, #fff 14px) repeat-x
}

.prtl .scallop_div.to_purple::before {
background: radial-gradient(circle at 12px -6px, transparent 14px, #f5f0fa 14px) repeat-x
}

.prtl .sit_sec {
padding: 72px;
background-color: #fff
}

.prtl .sit_head {
margin: 0 0 40px
}

.prtl .sit_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 16px;
color: #2a1040
}

.prtl .sit_h2 span {
color: #714695
}

.prtl .sit_intro {
font-size: 19px;
line-height: 1.7;
color: #3d2060;
margin: 0;
max-width: 560px
}

.prtl .sit_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.prtl .sit_item {
padding: 40px 24px;
border-radius: 6px;
background-color: #faf8fd;
box-shadow: 0 1px 6px 1px #7146950f;
position: relative;
transition: box-shadow .5s ease-in-out, opacity .5s ease-in-out
}

.prtl .sit_grid:hover .sit_item {
opacity: .55
}

.prtl .sit_grid:hover .sit_item:hover {
opacity: 1;
box-shadow: 0 6px 28px 1px #71469517
}

.prtl .sit_num {
font-size: 56px;
line-height: 1.1;
color: #714695;
font-weight: 700;
letter-spacing: .01em;
opacity: .18;
position: absolute;
top: 8px;
right: 16px
}

.prtl .sit_item_h {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #2a1040;
margin: 0 0 16px;
font-weight: 600
}

.prtl .sit_item_p {
font-size: 15px;
line-height: 1.7;
color: #4a3060;
margin: 0
}

.prtl .sit_corner_tag {
position: absolute;
bottom: 0;
right: 0;
background-color: #00E7BA;
color: #1a4035;
font-size: 15px;
padding: 4px 10px;
border-radius: 6px 0 6px 0;
font-weight: 600
}

.prtl .team_sec {
padding: 72px;
background: linear-gradient(343deg, #eef7f4 0%, #d8f5ee 18%, #f0faf8 55%, #fff 100%)
}

.prtl .team_layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: start
}

.prtl .team_col_img {
position: relative
}

.prtl .team_portrait_wrap {
position: relative;
display: inline-block
}

.prtl .team_portrait {
width: 160px;
height: 160px;
border-radius: 50%;
object-fit: cover;
object-position: top;
display: block;
opacity: 0;
transition: opacity .6s ease-in-out;
box-shadow: 0 6px 28px 1px #71469517
}

.prtl .team_portrait.loaded {
opacity: 1
}

.prtl .team_img_main {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
border-radius: 6px;
opacity: 0;
transition: opacity .65s ease-in-out;
display: block;
margin-bottom: 24px
}

.prtl .team_img_main.loaded {
opacity: 1
}

.prtl .team_person_row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-top: 16px
}

.prtl .team_person_info {
flex: 1
}

.prtl .team_person_name {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #2a1040;
margin: 0 0 8px;
letter-spacing: .01em
}

.prtl .team_person_role {
font-size: 15px;
line-height: 1.4;
color: #714695;
margin: 0;
letter-spacing: .02em
}

.prtl .team_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px;
color: #2a1040
}

.prtl .team_h2 span {
color: #00E7BA
}

.prtl .team_p {
font-size: 15px;
line-height: 1.7;
color: #1a3530;
margin: 0 0 16px;
letter-spacing: .01em
}

.prtl .team_stats {
display: flex;
flex-direction: row;
gap: 40px;
margin: 40px 0
}

.prtl .team_stat {
display: flex;
flex-direction: column;
gap: 8px
}

.prtl .team_stat_num {
font-size: 56px;
line-height: 1.1;
font-weight: 700;
color: #714695;
letter-spacing: .01em
}

.prtl .team_stat_lbl {
font-size: 15px;
line-height: 1.4;
color: #3d5550;
letter-spacing: .02em
}

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

.prtl .team_qual_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 15px;
line-height: 1.7;
color: #1a3530
}

.prtl .team_qual_dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #00E7BA;
flex-shrink: 0;
margin-top: 8px
}

.prtl .cases_sec {
padding: 72px;
background-color: #fff;
position: relative
}

.prtl .cases_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 40px;
color: #2a1040
}

.prtl .cases_h2 span {
color: #F1CB00
}

.prtl .cases_flow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.prtl .cases_col_b {
margin-top: 72px
}

.prtl .case_card {
background-color: #faf8fd;
border-radius: 6px;
padding: 40px;
box-shadow: 0 1px 6px 1px #7146950f;
position: relative;
margin-bottom: 24px;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prtl .case_card:hover {
box-shadow: 0 8px 60px 1px #7146951f
}

.prtl .case_card:last-child {
margin-bottom: 0
}

.prtl .case_tag {
position: absolute;
top: -1px;
right: 16px;
background-color: #714695;
color: #fff;
font-size: 15px;
padding: 4px 10px;
border-radius: 0 0 4px 4px;
letter-spacing: .02em
}

.prtl .case_name {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #2a1040;
margin: 0 0 8px;
letter-spacing: .01em
}

.prtl .case_role {
font-size: 15px;
line-height: 1.4;
color: #714695;
margin: 0 0 16px;
letter-spacing: .02em
}

.prtl .case_p {
font-size: 15px;
line-height: 1.7;
color: #3d2060;
margin: 0
}

.prtl .cases_img_wrap {
position: relative;
margin-bottom: 24px
}

.prtl .cases_img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
border-radius: 6px;
opacity: 0;
transition: opacity .65s ease-in-out;
display: block
}

.prtl .cases_img.loaded {
opacity: 1
}

.prtl .for_sec {
padding: 72px;
background: linear-gradient(343deg, #714695 0%, #9b6fc0 18%, #c9a8e0 55%, #f5f0fa 100%)
}

.prtl .for_layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: start
}

.prtl .for_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px;
color: #fff
}

.prtl .for_h2 span {
color: #F1CB00
}

.prtl .for_desc {
font-size: 15px;
line-height: 1.7;
color: #e8d8f8;
margin: 0;
letter-spacing: .01em
}

.prtl .for_profiles {
display: flex;
flex-direction: column;
gap: 24px
}

.prtl .for_profile {
background-color: #ffffff1f;
border-radius: 6px;
padding: 24px 40px;
position: relative;
transition: background-color .5s ease-in-out
}

.prtl .for_profile:hover {
background-color: #ffffff38
}

.prtl .for_profile_h {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #fff;
margin: 0 0 8px;
letter-spacing: .01em
}

.prtl .for_profile_p {
font-size: 15px;
line-height: 1.7;
color: #e8d8f8;
margin: 0
}

.prtl .for_corner_tag {
position: absolute;
top: 0;
right: 0;
background-color: #F1CB00;
color: #2a1040;
font-size: 15px;
padding: 4px 10px;
border-radius: 0 6px 0 4px;
font-weight: 600;
letter-spacing: .02em
}

.prtl .appr_sec {
padding: 72px;
background-color: #fff
}

.prtl .appr_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 16px;
color: #2a1040
}

.prtl .appr_h2 span {
color: #714695
}

.prtl .appr_lead {
font-size: 19px;
line-height: 1.7;
color: #3d2060;
margin: 0 0 40px;
max-width: 600px;
letter-spacing: .01em
}

.prtl .appr_flow {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
position: relative
}

.prtl .appr_flow::before {
content: "";
position: absolute;
top: 40px;
left: 10%;
width: 80%;
height: 1px;
background: linear-gradient(90deg, transparent, #714695 20%, #714695 80%, transparent);
pointer-events: none
}

.prtl .appr_step {
background-color: #faf8fd;
border-radius: 6px;
padding: 40px 24px 24px;
position: relative;
box-shadow: 0 1px 6px 1px #7146950f;
transition: box-shadow .5s ease-in-out, opacity .5s ease-in-out;
z-index: 1
}

.prtl .appr_flow:hover .appr_step {
opacity: .5
}

.prtl .appr_flow:hover .appr_step:hover {
opacity: 1;
box-shadow: 0 6px 28px 1px #71469517
}

.prtl .appr_step_num {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: #714695;
color: #fff;
font-size: 19px;
font-weight: 700;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-bottom: 24px;
letter-spacing: .01em
}

.prtl .appr_step_h {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #2a1040;
margin: 0 0 8px;
letter-spacing: .01em
}

.prtl .appr_step_p {
font-size: 15px;
line-height: 1.7;
color: #4a3060;
margin: 0
}

.prtl .appr_img_row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px
}

.prtl .appr_img_wrap {
position: relative
}

.prtl .appr_img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
border-radius: 6px;
opacity: 0;
transition: opacity .65s ease-in-out;
display: block
}

.prtl .appr_img.loaded {
opacity: 1
}

.prtl .appr_img_tag {
position: absolute;
bottom: 16px;
left: 16px;
background-color: #714695;
color: #fff;
font-size: 15px;
padding: 4px 10px;
border-radius: 4px;
letter-spacing: .02em
}

.prtl .long_sec {
padding: 72px;
background: linear-gradient(343deg, #eef7f4 0%, #d8f5ee 18%, #f0faf8 60%, #fff 100%)
}

.prtl .long_h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 40px;
color: #2a1040
}

.prtl .long_h2 span {
color: #00E7BA
}

.prtl .long_grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.prtl .long_quote {
background-color: #fff;
border-radius: 6px;
padding: 40px;
box-shadow: 0 1px 6px 1px #7146950f;
position: relative;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prtl .long_grid:hover .long_quote {
opacity: .5
}

.prtl .long_grid:hover .long_quote:hover {
opacity: 1;
box-shadow: 0 8px 60px 1px #7146951f
}

.prtl .long_mark {
font-size: 70px;
line-height: 1.1;
color: #714695;
opacity: .15;
position: absolute;
top: 8px;
left: 16px;
font-weight: 700;
pointer-events: none
}

.prtl .long_q_txt {
font-size: 15px;
line-height: 1.7;
color: #1a3530;
margin: 0 0 24px;
padding-top: 24px;
letter-spacing: .01em
}

.prtl .long_q_name {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #2a1040;
margin: 0 0 4px;
letter-spacing: .02em
}

.prtl .long_q_ctx {
font-size: 15px;
line-height: 1.4;
color: #714695;
margin: 0;
letter-spacing: .01em
}

.prtl .long_corner_tag {
position: absolute;
bottom: 0;
right: 0;
background-color: #00E7BA;
color: #1a4035;
font-size: 15px;
padding: 4px 10px;
border-radius: 6px 0 6px 0;
font-weight: 600
}

@keyframes scale_reveal {
from {
transform: scale(0.9);
opacity: 0
}

to {
transform: scale(1);
opacity: 1
}
}

.prtl .ttl_blk_txt {
animation: scale_reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.prtl .ttl_img_wrap {
animation: scale_reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

@media (max-width: 1200px) {
.prtl .ttl_h1 {
font-size: 56px
}

.prtl .sit_grid {
grid-template-columns: 1fr 1fr
}

.prtl .appr_flow {
grid-template-columns: 1fr 1fr
}

.prtl .appr_flow::before {
display: none
}

.prtl .long_grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 992px) {
.prtl .ttl_blk {
grid-template-columns: 1fr;
padding: 40px
}

.prtl .ttl_img_wrap {
display: none
}

.prtl .sit_sec {
padding: 40px
}

.prtl .sit_grid {
grid-template-columns: 1fr
}

.prtl .team_sec {
padding: 40px
}

.prtl .team_layout {
grid-template-columns: 1fr;
gap: 40px
}

.prtl .cases_sec {
padding: 40px
}

.prtl .cases_flow {
grid-template-columns: 1fr
}

.prtl .cases_col_b {
margin-top: 0
}

.prtl .for_sec {
padding: 40px
}

.prtl .for_layout {
grid-template-columns: 1fr;
gap: 40px
}

.prtl .appr_sec {
padding: 40px
}

.prtl .appr_flow {
grid-template-columns: 1fr 1fr
}

.prtl .appr_img_row {
grid-template-columns: 1fr
}

.prtl .long_sec {
padding: 40px
}

.prtl .long_grid {
grid-template-columns: 1fr
}

.prtl .team_stats {
gap: 24px
}
}

@media (max-width: 576px) {
.prtl .ttl_blk {
padding: 24px
}

.prtl .ttl_h1 {
font-size: 31px
}

.prtl .sit_sec {
padding: 24px
}

.prtl .sit_h2 {
font-size: 31px
}

.prtl .team_sec {
padding: 24px
}

.prtl .team_h2 {
font-size: 31px
}

.prtl .team_stats {
flex-direction: column;
gap: 16px
}

.prtl .cases_sec {
padding: 24px
}

.prtl .cases_h2 {
font-size: 31px
}

.prtl .for_sec {
padding: 24px
}

.prtl .for_h2 {
font-size: 31px
}

.prtl .appr_sec {
padding: 24px
}

.prtl .appr_h2 {
font-size: 31px
}

.prtl .appr_flow {
grid-template-columns: 1fr
}

.prtl .long_sec {
padding: 24px
}

.prtl .long_h2 {
font-size: 31px
}
}

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

.srv_pg .pg_band {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

.srv_pg .title_strip {
background: #fff;
padding: 40px 0 24px;
position: relative
}

.srv_pg .title_strip_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 40px
}

.srv_pg .title_text_col {
flex: 1;
max-width: 560px
}

.srv_pg .title_eyebrow {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
margin: 0 0 16px;
font-weight: 600;
text-transform: uppercase
}

.srv_pg .title_h1 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 16px;
color: #1a1a2e
}

.srv_pg .title_h1 span {
color: #714695;
text-decoration: underline;
text-decoration-color: #F1CB00;
text-decoration-thickness: 3px
}

.srv_pg .title_sub {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0
}

.srv_pg .title_img_col {
flex: 0 0 auto;
width: 320px;
position: relative
}

.srv_pg .title_img_col::before {
content: '';
position: absolute;
bottom: -16px;
right: -16px;
width: 80px;
height: 80px;
background: repeating-linear-gradient(343deg, #F1CB00 0px, #F1CB00 2px, transparent 2px, transparent 10px);
border-radius: 0;
z-index: 0;
pointer-events: none
}

.srv_pg .title_img_frame {
border-radius: 10px;
overflow: hidden;
position: relative;
z-index: 1;
aspect-ratio: 5/7
}

.srv_pg .title_img_frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
opacity: 0;
transition: opacity .55s ease-in-out;
filter: saturate(0.7) sepia(0.2)
}

.srv_pg .title_img_frame img.loaded {
opacity: 1
}

.srv_pg .divider_tri {
width: 100%;
line-height: 0;
text-align: center;
margin: 0
}

.srv_pg .divider_tri svg {
display: block;
margin: 0 auto;
width: 100%;
height: 32px
}

.srv_pg .cards_sec {
padding: 72px 0;
background: #f7f4fb;
position: relative
}

.srv_pg .cards_sec::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
border-radius: 0
}

.srv_pg .cards_sec_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1
}

.srv_pg .sec_label {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 600;
text-transform: uppercase;
margin: 0 0 8px
}

.srv_pg .sec_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0 0 40px;
color: #1a1a2e
}

.srv_pg .sec_h2 span {
color: #714695
}

.srv_pg .card_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.srv_pg .svc_card {
background: #fff;
border-radius: 10px;
box-shadow: 0 1px 6px 1px #7146950f;
display: flex;
flex-direction: column;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
overflow: hidden
}

.srv_pg .svc_card:hover {
box-shadow: 0 8px 60px 1px #7146951f;
transform: translateY(-4px)
}

.srv_pg .card_img_wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 10px 10px 0 0;
flex-shrink: 0
}

.srv_pg .card_img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0;
transition: opacity .55s ease-in-out
}

.srv_pg .card_img_wrap img.loaded {
opacity: 1
}

.srv_pg .card_body {
padding: 24px;
display: flex;
flex-direction: column;
flex: 1;
gap: 16px
}

.srv_pg .card_meta_row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
align-items: center
}

.srv_pg .card_tag {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #714695;
background: #71469514;
border-radius: 4px;
padding: 4px 8px;
font-weight: 600
}

.srv_pg .card_date {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #6a5f7a
}

.srv_pg .card_h3 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0
}

.srv_pg .card_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0;
flex: 1
}

.srv_pg .card_details {
display: flex;
flex-direction: column;
gap: 8px;
border-top: 1px solid #7146951f;
padding-top: 16px
}

.srv_pg .card_detail_item {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em
}

.srv_pg .card_detail_item .d_lbl {
color: #6a5f7a
}

.srv_pg .card_detail_item .d_val {
color: #1a1a2e;
font-weight: 600
}

.srv_pg .card_price_row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-top: 8px
}

.srv_pg .card_price {
font-size: 31px;
line-height: 1.1;
letter-spacing: .01em;
color: #714695;
font-weight: 700
}

.srv_pg .card_seats {
font-size: 15px;
line-height: 1.4;
color: #00b894;
font-weight: 600
}

.srv_pg .card_cta {
display: block;
text-align: center;
background: #714695;
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
font-weight: 600;
padding: 16px 24px;
border-radius: 6px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out
}

.srv_pg .card_cta::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #4e2e6e;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.srv_pg .card_cta:hover::before {
height: 100%
}

.srv_pg .card_cta span {
position: relative;
z-index: 1
}

.srv_pg .divider_gap {
height: 1px;
background: linear-gradient(343deg, #71469526 0%, #f1cb001a 100%);
margin: 0
}

.srv_pg .comparison_sec {
padding: 72px 0;
background: #fff
}

.srv_pg .comparison_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

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

.srv_pg .comparison_text_col {
flex: 1;
max-width: 380px
}

.srv_pg .comparison_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0 0 16px;
color: #1a1a2e
}

.srv_pg .comparison_h2 span {
color: #714695
}

.srv_pg .comparison_body {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0 0 24px
}

.srv_pg .comparison_stat {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-top: 24px
}

.srv_pg .ring_wrap {
flex-shrink: 0;
width: 80px;
height: 80px;
position: relative
}

.srv_pg .ring_wrap svg {
width: 80px;
height: 80px;
transform: rotate(-90deg)
}

.srv_pg .ring_bg {
fill: none;
stroke: #7146951f;
stroke-width: 6
}

.srv_pg .ring_fill {
fill: none;
stroke: #714695;
stroke-width: 6;
stroke-linecap: round;
stroke-dasharray: 201;
stroke-dashoffset: 60;
transition: stroke-dashoffset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srv_pg .ring_num {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
line-height: 1.1;
font-weight: 700;
color: #714695
}

.srv_pg .ring_label {
font-size: 15px;
line-height: 1.7;
color: #3d2c52;
letter-spacing: .01em
}

.srv_pg .comparison_options {
flex: 2;
display: flex;
flex-direction: row;
gap: 24px
}

.srv_pg .cmp_opt {
flex: 1;
border-radius: 10px;
padding: 40px 24px;
display: flex;
flex-direction: column;
gap: 16px
}

.srv_pg .cmp_opt.standard {
background: #f7f4fb;
border: 1px solid #7146951f
}

.srv_pg .cmp_opt.advanced {
background: #714695;
box-shadow: 0 6px 28px 1px #71469517
}

.srv_pg .cmp_badge {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
font-weight: 600;
text-transform: uppercase;
border-radius: 4px;
padding: 4px 8px;
align-self: flex-start
}

.srv_pg .cmp_opt.standard .cmp_badge {
background: #7146951f;
color: #714695
}

.srv_pg .cmp_opt.advanced .cmp_badge {
background: #f1cb0033;
color: #F1CB00
}

.srv_pg .cmp_h4 {
font-size: 19px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0
}

.srv_pg .cmp_opt.standard .cmp_h4 {
color: #1a1a2e
}

.srv_pg .cmp_opt.advanced .cmp_h4 {
color: #fff
}

.srv_pg .cmp_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
flex: 1
}

.srv_pg .cmp_opt.standard .cmp_desc {
color: #3d2c52
}

.srv_pg .cmp_opt.advanced .cmp_desc {
color: #ffffffd9
}

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

.srv_pg .cmp_feature_list li {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
padding-left: 16px;
position: relative
}

.srv_pg .cmp_opt.standard .cmp_feature_list li {
color: #3d2c52
}

.srv_pg .cmp_opt.standard .cmp_feature_list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 1px;
background: #714695
}

.srv_pg .cmp_opt.advanced .cmp_feature_list li {
color: #ffffffd9
}

.srv_pg .cmp_opt.advanced .cmp_feature_list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 1px;
background: #F1CB00
}

.srv_pg .cmp_price {
font-size: 31px;
line-height: 1.1;
letter-spacing: .01em;
font-weight: 700;
margin-top: 8px
}

.srv_pg .cmp_opt.standard .cmp_price {
color: #714695
}

.srv_pg .cmp_opt.advanced .cmp_price {
color: #F1CB00
}

.srv_pg .divider_yellow {
height: 4px;
background: linear-gradient(343deg, #F1CB00 0%, #f1cb0033 100%);
margin: 0
}

.srv_pg .metrics_sec {
padding: 72px 0;
background: linear-gradient(343deg, #714695 0%, #4e2e6e 60%, #3a2052 100%);
background-size: 120% 120%;
animation: bg_breathe 10s ease-in-out infinite;
position: relative;
overflow: hidden
}

@keyframes bg_breathe {

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

50% {
background-size: 120% 120%
}
}

.srv_pg .metrics_sec::before {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 160px;
height: 160px;
background: repeating-linear-gradient(343deg, #f1cb0026 0px, #f1cb0026 2px, transparent 2px, transparent 12px);
pointer-events: none;
border-radius: 0
}

.srv_pg .metrics_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1
}

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

.srv_pg .metrics_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
color: #fff;
margin: 0;
max-width: 480px
}

.srv_pg .metrics_h2 span {
color: #F1CB00
}

.srv_pg .metrics_intro {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #fffc;
max-width: 360px;
margin: 0
}

.srv_pg .metrics_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.srv_pg .metric_item {
background: #ffffff12;
border-radius: 10px;
padding: 40px 24px;
border: 1px solid #ffffff1a;
display: flex;
flex-direction: column;
gap: 8px;
transition: background .5s ease-in-out, border-color .5s ease-in-out
}

.srv_pg .metric_item:hover {
background: #ffffff1f;
border-color: #f1cb004d
}

.srv_pg .metric_num {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #F1CB00;
font-weight: 700
}

.srv_pg .metric_lbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #ffffffb3
}

.srv_pg .metric_desc {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #ffffffd9;
margin: 0
}

.srv_pg .divider_teal {
height: 4px;
background: linear-gradient(343deg, #00E7BA 0%, #00e7ba26 100%);
margin: 0
}

.srv_pg .expert_sec {
padding: 72px 0 40px;
background: #f7f4fb
}

.srv_pg .expert_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.srv_pg .expert_portrait_col {
flex: 0 0 auto;
width: 200px
}

.srv_pg .expert_portrait_frame {
border-radius: 10px;
overflow: hidden;
aspect-ratio: 5/7;
box-shadow: 0 6px 28px 1px #71469517
}

.srv_pg .expert_portrait_frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
opacity: 0;
transition: opacity .55s ease-in-out
}

.srv_pg .expert_portrait_frame img.loaded {
opacity: 1
}

.srv_pg .expert_content_col {
flex: 1
}

.srv_pg .expert_h2 {
font-size: 31px;
line-height: 1.4;
letter-spacing: .01em;
margin: 0 0 8px;
color: #1a1a2e
}

.srv_pg .expert_h2 span {
color: #714695
}

.srv_pg .expert_role {
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #714695;
font-weight: 600;
text-transform: uppercase;
margin: 0 0 16px
}

.srv_pg .expert_quote {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0 0 24px;
border-top: 4px solid #00E7BA;
padding-top: 16px
}

.srv_pg .expert_body {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0
}

.srv_pg .img_content_sec {
padding: 72px 0;
background: #fff
}

.srv_pg .img_content_inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.srv_pg .img_col {
flex: 0 0 auto;
width: 480px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 8px 60px 1px #7146951f
}

.srv_pg .img_col img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
opacity: 0;
transition: opacity .55s ease-in-out
}

.srv_pg .img_col img.loaded {
opacity: 1
}

.srv_pg .text_col {
flex: 1
}

.srv_pg .text_col .sec_label {
margin-bottom: 8px
}

.srv_pg .text_col .sec_h2 {
margin-bottom: 16px
}

.srv_pg .text_col_body {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0 0 24px
}

.srv_pg .text_col_body_b {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0 0 16px
}

.srv_pg .feat_pairs {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 24px
}

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

.srv_pg .feat_icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 6px;
background: #71469514;
display: flex;
align-items: center;
justify-content: center
}

.srv_pg .feat_icon svg {
width: 20px;
height: 20px
}

.srv_pg .feat_pair_text h5 {
font-size: 15px;
line-height: 1.4;
letter-spacing: .01em;
color: #1a1a2e;
margin: 0 0 4px;
font-weight: 600
}

.srv_pg .feat_pair_text p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #3d2c52;
margin: 0
}

@media (max-width: 1200px) {
.srv_pg .card_grid {
grid-template-columns: repeat(2, 1fr)
}

.srv_pg .title_h1 {
font-size: 56px
}

.srv_pg .comparison_layout {
flex-direction: column
}

.srv_pg .comparison_text_col {
max-width: 100%
}

.srv_pg .img_col {
width: 360px
}
}

@media (max-width: 992px) {
.srv_pg .title_strip_inner {
flex-direction: column;
align-items: flex-start
}

.srv_pg .title_img_col {
width: 240px;
align-self: center
}

.srv_pg .title_h1 {
font-size: 31px
}

.srv_pg .metrics_grid {
grid-template-columns: repeat(2, 1fr)
}

.srv_pg .metrics_top {
flex-direction: column;
align-items: flex-start
}

.srv_pg .comparison_options {
flex-direction: column
}

.srv_pg .img_content_inner {
flex-direction: column
}

.srv_pg .img_col {
width: 100%
}

.srv_pg .expert_inner {
flex-direction: column
}

.srv_pg .expert_portrait_col {
width: 160px
}
}

@media (max-width: 576px) {
.srv_pg .pg_band {
padding: 0 16px
}

.srv_pg .title_strip_inner,
.srv_pg .cards_sec_inner,
.srv_pg .comparison_inner,
.srv_pg .metrics_inner,
.srv_pg .expert_inner,
.srv_pg .img_content_inner {
padding: 0 16px
}

.srv_pg .card_grid {
grid-template-columns: 1fr
}

.srv_pg .metrics_grid {
grid-template-columns: 1fr
}

.srv_pg .title_h1 {
font-size: 31px
}

.srv_pg .cards_sec {
padding: 40px 0
}

.srv_pg .comparison_sec {
padding: 40px 0
}

.srv_pg .metrics_sec {
padding: 40px 0
}

.srv_pg .expert_sec {
padding: 40px 0 24px
}

.srv_pg .img_content_sec {
padding: 40px 0
}
}

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

.abt .grid-bg {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
background-image: linear-gradient(#71469512 1px, transparent 1px), linear-gradient(90deg, #71469512 1px, transparent 1px);
background-size: 48px 48px;
animation: grid_pulse 6s ease-in-out infinite
}

@keyframes grid_pulse {

0%,
100% {
opacity: .5
}

50% {
opacity: 1
}
}

.abt .ident {
position: relative;
padding: 72px 72px 40px;
background: linear-gradient(343deg, #f5f0fa 0%, #fff 55%, #fff 100%);
overflow: hidden
}

.abt .ident .dec_corner {
position: absolute;
top: 0;
left: 0;
width: 340px;
height: 340px;
background: radial-gradient(circle at 0% 0%, #71469521 0%, transparent 70%);
pointer-events: none;
z-index: 0
}

.abt .ident .dec_zigzag {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 16px;
pointer-events: none;
z-index: 1;
background: linear-gradient(135deg, #fff 25%, transparent 25%) -8px 0, linear-gradient(225deg, #fff 25%, transparent 25%) -8px 0, linear-gradient(315deg, #fff 25%, transparent 25%), linear-gradient(45deg, #fff 25%, transparent 25%);
background-size: 16px 16px;
background-color: #f0e8f7
}

.abt .ident_row {
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start;
position: relative;
z-index: 1;
max-width: 1200px
}

.abt .ident_text {
flex: 1 1 0;
position: relative
}

.abt .ident_text .notch {
display: block;
width: 6px;
height: 48px;
background: #714695;
border-radius: 0;
margin-bottom: 24px
}

.abt .ident_text h1 {
font-size: 70px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px;
color: #1a1000
}

.abt .ident_text h1 .col_a {
color: #714695
}

.abt .ident_text h1 .col_b {
color: #2a1a3e
}

.abt .ident_text .lead {
font-size: 19px;
line-height: 1.7;
color: #3a2a4a;
margin: 0 0 16px;
max-width: 540px
}

.abt .ident_text .sub {
font-size: 15px;
line-height: 1.7;
color: #5a4a6a;
margin: 0;
max-width: 480px
}

.abt .ident_img {
flex: 0 0 360px;
position: relative
}

.abt .ident_img img {
width: 360px;
height: 420px;
object-fit: cover;
object-position: center;
border-radius: 10px 10px 0 10px;
clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 0 100%);
display: block;
opacity: 0;
transition: opacity .65s ease-in-out;
box-shadow: 0 6px 28px 1px #71469517
}

.abt .ident_img img.loaded {
opacity: 1
}

.abt .ident_img .img_dec {
position: absolute;
bottom: -16px;
right: -16px;
width: 80px;
height: 80px;
background: #F1CB00;
border-radius: 0;
z-index: -1;
pointer-events: none
}

.abt .stat_strip {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #7146951f
}

.abt .stat_item {
display: flex;
flex-direction: column;
gap: 8px
}

.abt .stat_item .num {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
color: #714695;
font-weight: 700
}

.abt .stat_item .lbl {
font-size: 15px;
line-height: 1.4;
color: #5a4a6a;
letter-spacing: .02em
}

.abt .mission_sec {
position: relative;
background: #2a1a3e;
padding: 72px;
overflow: hidden
}

.abt .mission_sec .bg_img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0;
transition: opacity .65s ease-in-out;
z-index: 0
}

.abt .mission_sec .bg_img.loaded {
opacity: .08
}

.abt .mission_sec .overlay {
position: absolute;
inset: 0;
background: #1c0c30ed;
z-index: 1;
pointer-events: none
}

.abt .mission_sec .dec_zigzag_top {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 16px;
pointer-events: none;
z-index: 2;
background: linear-gradient(135deg, #2a1a3e 25%, transparent 25%) -8px 0, linear-gradient(225deg, #2a1a3e 25%, transparent 25%) -8px 0, linear-gradient(315deg, #2a1a3e 25%, transparent 25%), linear-gradient(45deg, #2a1a3e 25%, transparent 25%);
background-size: 16px 16px;
background-color: #fff
}

.abt .mission_row {
position: relative;
z-index: 3;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start;
max-width: 1200px
}

.abt .mission_left {
flex: 1 1 0
}

.abt .mission_left h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px
}

.abt .mission_left h2 .col_a {
color: #F1CB00
}

.abt .mission_left h2 .col_b {
color: #e8d8f8
}

.abt .mission_left .body_p {
font-size: 19px;
line-height: 1.7;
color: #c8b8e0;
margin: 0 0 16px
}

.abt .mission_left .body_s {
font-size: 15px;
line-height: 1.7;
color: #a090c0;
margin: 0
}

.abt .mission_right {
flex: 0 0 400px;
display: flex;
flex-direction: column;
gap: 24px
}

.abt .val_card {
background: #7146952e;
border-radius: 6px;
padding: 24px;
border-top: 4px solid #714695;
transition: background .55s ease-in-out, border-color .45s ease-in-out;
cursor: default
}

.abt .mission_right:hover .val_card {
opacity: .45
}

.abt .mission_right .val_card:hover {
opacity: 1;
background: #71469552;
border-color: #F1CB00
}

.abt .val_card h4 {
font-size: 15px;
line-height: 1.4;
color: #F1CB00;
margin: 0 0 8px;
letter-spacing: .02em;
text-transform: uppercase
}

.abt .val_card p {
font-size: 15px;
line-height: 1.7;
color: #c8b8e0;
margin: 0
}

.abt .team_sec {
position: relative;
background: #fff;
padding: 72px
}

.abt .team_sec .dec_zigzag_bot {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 16px;
pointer-events: none;
z-index: 1;
background: linear-gradient(135deg, #fff 25%, transparent 25%) -8px 0, linear-gradient(225deg, #fff 25%, transparent 25%) -8px 0, linear-gradient(315deg, #fff 25%, transparent 25%), linear-gradient(45deg, #fff 25%, transparent 25%);
background-size: 16px 16px;
background-color: #f5f0fa
}

.abt .team_head {
max-width: 600px;
margin-bottom: 40px;
position: relative
}

.abt .team_head .notch {
display: block;
width: 40px;
height: 4px;
background: #00E7BA;
border-radius: 1px;
margin-bottom: 16px
}

.abt .team_head h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 16px
}

.abt .team_head h2 .col_a {
color: #714695
}

.abt .team_head h2 .col_b {
color: #2a1a3e
}

.abt .team_head p {
font-size: 19px;
line-height: 1.7;
color: #3a2a4a;
margin: 0
}

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

.abt .person_card {
flex: 0 0 260px;
background: #f5f0fa;
border-radius: 6px;
padding: 24px;
box-shadow: 0 1px 6px 1px #7146950f
}

.abt .person_card .portrait_wrap {
width: 88px;
height: 110px;
border-radius: 4px;
overflow: hidden;
margin-bottom: 16px
}

.abt .person_card .portrait_wrap img {
width: 88px;
height: 110px;
object-fit: cover;
object-position: top;
display: block;
opacity: 0;
transition: opacity .55s ease-in-out
}

.abt .person_card .portrait_wrap img.loaded {
opacity: 1
}

.abt .person_card h5 {
font-size: 19px;
line-height: 1.4;
color: #2a1a3e;
margin: 0 0 8px;
letter-spacing: .01em
}

.abt .person_card .role_lbl {
font-size: 15px;
line-height: 1.4;
color: #714695;
margin: 0 0 16px;
letter-spacing: .02em
}

.abt .person_card .bio {
font-size: 15px;
line-height: 1.7;
color: #5a4a6a;
margin: 0
}

.abt .approach_list {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px
}

.abt .approach_item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 24px;
border-radius: 4px;
background: #faf7ff;
border-top: 2px solid transparent;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .approach_list:hover .approach_item {
opacity: .55
}

.abt .approach_list .approach_item:hover {
opacity: 1;
border-color: #00E7BA;
background: #f0fdf9
}

.abt .approach_item .num_badge {
flex: 0 0 40px;
height: 40px;
border-radius: 0;
background: #714695;
color: #fff;
font-size: 19px;
line-height: 40px;
text-align: center;
letter-spacing: .01em;
font-weight: 700
}

.abt .approach_item aside {
flex: 1 1 0
}

.abt .approach_item h6 {
font-size: 15px;
line-height: 1.4;
color: #2a1a3e;
margin: 0 0 8px;
letter-spacing: .02em;
text-transform: uppercase
}

.abt .approach_item p {
font-size: 15px;
line-height: 1.7;
color: #5a4a6a;
margin: 0
}

.abt .contact_sec {
position: relative;
background: #f5f0fa;
padding: 72px;
overflow: hidden
}

.abt .contact_sec .dec_zigzag_top2 {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 16px;
pointer-events: none;
z-index: 1;
background: linear-gradient(135deg, #f5f0fa 25%, transparent 25%) -8px 0, linear-gradient(225deg, #f5f0fa 25%, transparent 25%) -8px 0, linear-gradient(315deg, #f5f0fa 25%, transparent 25%), linear-gradient(45deg, #f5f0fa 25%, transparent 25%);
background-size: 16px 16px;
background-color: #fff
}

.abt .contact_inner {
position: relative;
z-index: 2;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start;
max-width: 1200px
}

.abt .contact_text {
flex: 1 1 0
}

.abt .contact_text .notch {
display: block;
width: 6px;
height: 40px;
background: #F1CB00;
border-radius: 0;
margin-bottom: 24px
}

.abt .contact_text h2 {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px
}

.abt .contact_text h2 .col_a {
color: #714695
}

.abt .contact_text h2 .col_b {
color: #2a1a3e
}

.abt .contact_text p {
font-size: 19px;
line-height: 1.7;
color: #3a2a4a;
margin: 0 0 16px
}

.abt .contact_text .sub_p {
font-size: 15px;
line-height: 1.7;
color: #5a4a6a;
margin: 0
}

.abt .contact_details_col {
flex: 0 0 380px;
display: flex;
flex-direction: column;
gap: 24px
}

.abt .det_row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 24px;
background: #fff;
border-radius: 6px;
box-shadow: 0 1px 6px 1px #7146950f;
transition: box-shadow .55s ease-in-out
}

.abt .det_row:hover {
box-shadow: 0 6px 28px 1px #71469517
}

.abt .det_icon {
flex: 0 0 40px;
height: 40px;
border-radius: 4px;
background: #714695;
display: flex;
align-items: center;
justify-content: center
}

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

.abt .det_body {
flex: 1 1 0
}

.abt .det_body .det_lbl {
font-size: 15px;
line-height: 1.4;
color: #714695;
margin: 0 0 8px;
letter-spacing: .02em;
text-transform: uppercase
}

.abt .det_body .det_val {
font-size: 15px;
line-height: 1.7;
color: #2a1a3e;
margin: 0
}

.abt .det_body a {
color: #2a1a3e;
text-decoration: none;
transition: color .45s ease-in-out
}

.abt .det_body a:hover {
color: #714695
}

.abt .cta_btn {
display: inline-block;
position: relative;
padding: 16px 40px;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #fff;
background: #714695;
border-radius: 4px;
text-decoration: none;
overflow: hidden;
border: none;
cursor: pointer;
margin-top: 24px;
transition: color .5s ease-in-out;
z-index: 0
}

.abt .cta_btn::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 0;
background: #2a1a3e;
z-index: -1;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .cta_btn:hover::before {
height: 100%
}

.abt .cta_btn:focus {
outline: 3px solid #F1CB00;
outline-offset: 2px
}

.abt .img_strip {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 40px
}

.abt .img_strip figure {
flex: 1 1 0;
margin: 0;
border-radius: 6px;
overflow: hidden;
box-shadow: 0 1px 6px 1px #7146950f
}

.abt .img_strip figure img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
display: block;
opacity: 0;
transition: opacity .65s ease-in-out
}

.abt .img_strip figure img.loaded {
opacity: 1
}

.abt .divider_a {
height: 2px;
background: linear-gradient(90deg, #7146951a 0%, #71469580 60%, #714695e6 100%);
margin: 0
}

.abt .divider_b {
height: 4px;
background: linear-gradient(90deg, #f1cb001a 0%, #f1cb0099 50%, #f1cb00ff 100%);
margin: 0
}

@media (max-width: 1200px) {
.abt .ident {
padding: 72px 40px 40px
}

.abt .ident_row {
gap: 40px
}

.abt .ident_img {
flex: 0 0 280px
}

.abt .ident_img img {
width: 280px;
height: 340px
}

.abt .mission_sec {
padding: 72px 40px
}

.abt .mission_right {
flex: 0 0 320px
}

.abt .team_sec {
padding: 72px 40px
}

.abt .contact_sec {
padding: 72px 40px
}

.abt .contact_inner {
gap: 40px
}

.abt .contact_details_col {
flex: 0 0 320px
}
}

@media (max-width: 992px) {
.abt .ident {
padding: 72px 24px 40px
}

.abt .ident_row {
flex-direction: column;
gap: 40px
}

.abt .ident_img {
flex: 0 0 auto;
align-self: flex-start
}

.abt .ident_text h1 {
font-size: 56px
}

.abt .stat_strip {
flex-wrap: wrap;
gap: 24px
}

.abt .mission_sec {
padding: 72px 24px
}

.abt .mission_row {
flex-direction: column;
gap: 40px
}

.abt .mission_right {
flex: 0 0 auto;
width: 100%
}

.abt .team_sec {
padding: 72px 24px
}

.abt .team_layout {
flex-direction: column;
gap: 40px
}

.abt .person_card {
flex: 0 0 auto;
width: 100%
}

.abt .contact_sec {
padding: 72px 24px
}

.abt .contact_inner {
flex-direction: column;
gap: 40px
}

.abt .contact_details_col {
flex: 0 0 auto;
width: 100%
}

.abt .img_strip {
flex-wrap: wrap
}

.abt .img_strip figure {
flex: 1 1 calc(50% - 8px)
}
}

@media (max-width: 576px) {
.abt .ident {
padding: 40px 16px
}

.abt .ident_text h1 {
font-size: 31px
}

.abt .stat_item .num {
font-size: 31px
}

.abt .mission_sec {
padding: 40px 16px
}

.abt .mission_left h2 {
font-size: 31px
}

.abt .team_sec {
padding: 40px 16px
}

.abt .team_head h2 {
font-size: 31px
}

.abt .contact_sec {
padding: 40px 16px
}

.abt .contact_text h2 {
font-size: 31px
}

.abt .img_strip figure {
flex: 1 1 100%
}

.abt .ident_img img {
width: 100%;
height: 260px
}

.abt .ident_img {
width: 100%
}
}

.success_page {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 72px 24px;
background: linear-gradient(343deg, #f5f0fa 0%, #fffef5 55%, #f0fdf9 100%);
box-sizing: border-box
}

.success_page .msg_wrap {
max-width: 640px;
width: 100%;
text-align: center
}

.success_page .icon_wrap {
width: 72px;
height: 72px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
background: #fff;
box-shadow: 0 6px 28px 1px #71469517
}

.success_page .icon_wrap svg {
display: block;
opacity: 0;
transition: opacity .55s ease-in-out
}

.success_page .icon_wrap svg.loaded {
opacity: 1
}

.success_page .msg_title {
font-size: 56px;
line-height: 1.1;
letter-spacing: .01em;
margin: 0 0 24px;
color: #223
}

.success_page .msg_title span {
color: #714695
}

.success_page .msg_body {
font-size: 19px;
line-height: 1.7;
letter-spacing: .01em;
color: #3a3a4a;
margin: 0 0 40px
}

.success_page .msg_body strong {
color: #714695
}

.success_page .divider_line {
width: 64px;
height: 4px;
border-radius: 4px;
background: linear-gradient(343deg, #714695 0%, #00E7BA 100%);
margin: 0 auto 40px
}

.success_page .detail_strip {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
margin: 0 0 40px
}

.success_page .detail_item {
background: #fff;
border-radius: 6px;
padding: 16px 24px;
box-shadow: 0 1px 6px 1px #7146950f;
font-size: 15px;
line-height: 1.4;
letter-spacing: .02em;
color: #3a3a4a;
flex: 1 1 160px;
max-width: 220px
}

.success_page .detail_item figure {
margin: 0 0 8px;
display: flex;
align-items: center;
justify-content: center
}

.success_page .detail_item figure svg {
display: block
}

.success_page .detail_item p {
margin: 0;
text-align: center
}

.success_page .action_btn {
display: inline-block;
font-size: 15px;
letter-spacing: .02em;
line-height: 1.4;
color: #fff;
background: #714695;
border-radius: 6px;
padding: 16px 40px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .5s ease-in-out
}

.success_page .action_btn::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: #4e2f6e;
border-radius: 6px;
transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.success_page .action_btn:hover::before {
height: 100%
}

.success_page .action_btn:focus {
outline: 2px solid #F1CB00;
outline-offset: 4px
}

.success_page .btn_label {
position: relative;
z-index: 1
}

.success_page .note_txt {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #6a5a7a;
margin: 24px 0 0
}

.success_page .note_txt a {
color: #714695;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .45s ease-in-out
}

.success_page .note_txt a:hover {
color: #4e2f6e
}

@media (max-width: 576px) {
.success_page {
padding: 40px 16px
}

.success_page .msg_title {
font-size: 31px
}

.success_page .detail_strip {
flex-direction: column;
align-items: center
}

.success_page .detail_item {
max-width: 100%;
width: 100%
}

.success_page .action_btn {
width: 100%;
text-align: center;
padding: 16px 24px
}
}

.hdr_top_bar {
justify-content: space-between
}

.lang_toggle {
display: flex;
gap: 4px;
margin-left: 16px;
background: rgba(255,255,255,.12);
border-radius: 6px;
padding: 3px
}

.lang_btn {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 13px;
font-weight: 600;
letter-spacing: .04em;
border: none;
background: transparent;
color: rgba(255,255,255,.75);
padding: 4px 10px;
border-radius: 4px;
cursor: pointer;
transition: background .2s, color .2s
}

.lang_btn:hover {
color: #fff;
background: rgba(255,255,255,.15)
}

.lang_btn.active {
background: #fff;
color: #714695
}

@media (max-width: 600px) {
.lang_toggle {
margin-left: 8px
}

.lang_btn {
padding: 4px 8px;
font-size: 12px
}
}
