* {
box-sizing: border-box
}

body {
margin: 0;
font-family: 'Source Sans Pro', sans-serif
}

.brand_bar {
background: #2F31BB;
padding: 8px 32px;
display: flex;
align-items: center;
justify-content: space-between
}

.brand_bar_contact {
display: flex;
align-items: center;
gap: 32px
}

.brand_bar_link {
color: #FFE6E8;
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.brand_bar_link:hover {
color: #80E117
}

.brand_bar_link:focus {
outline: none;
border-bottom: 4px solid #80E117
}

.brand_bar_link svg {
flex-shrink: 0
}

.brand_bar_tag {
color: #80E117;
font-size: 13px;
line-height: 1.35;
letter-spacing: .02em;
font-weight: 700
}

.site_header {
position: relative;
background: #fff;
box-shadow: 2px 4px 28px 0 #2f31bb17
}

.header_body {
max-width: 1400px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: stretch;
min-height: 88px
}

.brand_anchor {
display: flex;
align-items: center;
text-decoration: none;
flex-shrink: 0;
margin-right: 64px
}

.brand_mark {
background-color: #2F31BB;
border-radius: 12px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
box-shadow: 2px 2px 6px 0 #2f31bb12
}

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

.brand_name_text {
margin-left: 16px;
display: flex;
flex-direction: column;
gap: 0
}

.brand_name_primary {
font-size: 20px;
font-weight: 700;
line-height: 1.1;
letter-spacing: .01em;
color: #2F31BB
}

.brand_name_sub {
font-size: 13px;
line-height: 1.35;
letter-spacing: .02em;
color: #557
}

.primary_nav {
display: flex;
align-items: stretch;
flex: 1
}

.primary_nav_list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: stretch;
flex-wrap: wrap;
gap: 0
}

.primary_nav_item {
display: flex;
align-items: stretch
}

.primary_nav_link {
display: flex;
align-items: center;
padding: 8px 16px;
font-size: 14px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .02em;
color: #2F31BB;
text-decoration: none;
border-bottom: 4px solid transparent;
transition: color .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.0, 0, 0.2, 1), background-color .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.primary_nav_link:hover {
color: #2F31BB;
background-color: #FFE6E8;
border-bottom-color: #80E117
}

.primary_nav_link:focus {
outline: none;
border-bottom: 4px solid #80E117
}

.primary_nav_link.active {
color: #2F31BB;
border-bottom-color: #80E117;
background-color: #80e11714
}

.nav_active_dot {
width: 6px;
height: 6px;
border-radius: 2px;
background: #80E117;
margin-left: 8px;
flex-shrink: 0
}

@media (max-width: 768px) {
.brand_bar {
padding: 8px 16px;
flex-wrap: wrap;
gap: 8px
}

.brand_bar_contact {
gap: 16px;
flex-wrap: wrap
}

.header_body {
padding: 0 16px;
flex-wrap: wrap;
min-height: auto
}

.brand_anchor {
margin-right: 0;
padding: 16px 0
}

.primary_nav {
width: 100%;
border-top: 2px solid #FFE6E8
}

.primary_nav_list {
width: 100%
}

.primary_nav_link {
padding: 8px 12px;
font-size: 13px
}
}

@media (max-width: 375px) {
.brand_bar_tag {
display: none
}

.brand_name_text {
display: none
}

.primary_nav_link {
padding: 8px
}
}

.site_footer {
background: #2F31BB;
padding: 64px 32px 32px
}

.footer_body {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: flex-start;
gap: 64px;
flex-wrap: wrap
}

.footer_brand {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
flex: 0 0 auto
}

.footer_logo_wrap {
background-color: #fff;
border-radius: 12px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
box-shadow: 2px 2px 6px 0 #2f31bb12
}

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

.footer_brand_name {
font-size: 20px;
font-weight: 700;
line-height: 1.1;
letter-spacing: .01em;
color: #fff
}

.footer_brand_desc {
font-size: 14px;
line-height: 1.55;
letter-spacing: .01em;
color: #FFE6E8;
max-width: 280px
}

.footer_contact {
display: flex;
flex-direction: column;
gap: 16px;
flex: 1;
min-width: 220px
}

.footer_contact_label {
font-size: 13px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .02em;
color: #80E117;
text-transform: uppercase
}

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

.footer_contact_item svg {
flex-shrink: 0;
margin-top: 2px
}

.footer_contact_link {
font-size: 14px;
line-height: 1.55;
letter-spacing: .01em;
color: #FFE6E8;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_contact_link:hover {
color: #80E117
}

.footer_contact_link:focus {
outline: none;
border-bottom: 4px solid #80E117
}

.footer_contact_addr {
font-size: 14px;
line-height: 1.55;
letter-spacing: .01em;
color: #FFE6E8
}

.footer_legal {
border-top: 2px solid #ffe6e82e;
margin-top: 64px;
padding-top: 32px;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px
}

.footer_copy {
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
color: #ffe6e899
}

.footer_legal_links {
display: flex;
gap: 32px;
list-style: none;
margin: 0;
padding: 0
}

.footer_legal_link {
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
color: #ffe6e8b3;
text-decoration: none;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_legal_link:hover {
color: #80E117
}

.footer_legal_link:focus {
outline: none;
border-bottom: 4px solid #80E117
}

@media (max-width: 768px) {
.site_footer {
padding: 64px 16px 32px
}

.footer_body {
gap: 32px
}

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

@media (max-width: 375px) {
.footer_body {
gap: 32px
}

.footer_legal_links {
gap: 16px;
flex-wrap: wrap
}
}

.consent_card {
position: fixed;
bottom: 32px;
left: 32px;
width: 340px;
background: #fff;
border-radius: 12px;
box-shadow: 2px 10px 36px 0 #2f31bb1c;
z-index: 1500;
display: none;
overflow: hidden;
transform: translateX(420px);
transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_card.visible {
transform: translateX(0)
}

.consent_card_inner {
padding: 32px
}

.consent_headline {
font-size: 16px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .01em;
color: #2F31BB;
margin: 0 0 8px
}

.consent_desc {
font-size: 13px;
line-height: 1.55;
letter-spacing: .01em;
color: #335;
margin: 0 0 16px
}

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

.consent_uses li {
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
color: #335;
display: flex;
align-items: center;
gap: 8px
}

.consent_uses li svg {
flex-shrink: 0
}

.consent_toggle_panel {
display: none;
padding: 16px 0 8px;
border-top: 2px solid #FFE6E8;
margin-bottom: 16px
}

.consent_toggle_panel.open {
display: block
}

.consent_toggle_row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px
}

.consent_toggle_label {
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
color: #2F31BB;
font-weight: 700
}

.consent_toggle_input {
width: 36px;
height: 20px;
cursor: pointer;
accent-color: #80E117
}

.consent_btns {
display: flex;
gap: 8px
}

.consent_btn {
flex: 1;
padding: 8px 16px;
font-size: 14px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .01em;
border: none;
border-radius: 12px;
cursor: pointer;
transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1);
min-height: 44px
}

.consent_btn:focus {
outline: none;
border-bottom: 4px solid #2F31BB
}

.consent_btn_accept {
background: linear-gradient(90deg, #80E117 0%, #2F31BB 100%);
color: #fff
}

.consent_btn_accept:hover {
background: linear-gradient(90deg, #2F31BB 0%, #80E117 100%);
color: #fff
}

.consent_btn_manage {
background: #FFE6E8;
color: #2F31BB
}

.consent_btn_manage:hover {
background: #2F31BB;
color: #FFE6E8
}

.consent_policy_ref {
margin-top: 16px;
font-size: 13px;
line-height: 1.35;
letter-spacing: .01em;
color: #2f31bb99;
text-align: center
}

.consent_policy_ref a {
color: #2F31BB;
text-decoration: underline;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_policy_ref a:hover {
color: #80E117
}

@media (max-width: 375px) {
.consent_card {
left: 8px;
right: 8px;
width: auto;
bottom: 16px
}
}

.content-policy-xk {
max-width: 1400px;
margin: 0 auto;
padding: 64px 32px
}

.content-policy-xk h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: .01em;
color: #2F31BB;
margin-bottom: 32px;
margin-top: 0
}

.content-policy-xk h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #2F31BB;
margin-top: 64px;
margin-bottom: 16px
}

.content-policy-xk h3 {
font-size: 27px;
line-height: 1.35;
letter-spacing: .01em;
color: #2F31BB;
margin-top: 32px;
margin-bottom: 16px
}

.content-policy-xk h4 {
font-size: 20px;
line-height: 1.35;
letter-spacing: .02em;
color: #2F31BB;
margin-top: 32px;
margin-bottom: 8px
}

.content-policy-xk h5 {
font-size: 16px;
line-height: 1.35;
letter-spacing: .02em;
color: #2F31BB;
margin-top: 32px;
margin-bottom: 8px
}

.content-policy-xk h6 {
font-size: 14px;
line-height: 1.35;
letter-spacing: .02em;
color: #2F31BB;
margin-top: 16px;
margin-bottom: 8px
}

.content-policy-xk p {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #1e1e2e;
margin-top: 0;
margin-bottom: 16px
}

.content-policy-xk strong,
.content-policy-xk b {
font-weight: 700;
color: #1e1e2e
}

.content-policy-xk em,
.content-policy-xk i {
font-style: italic;
color: #1e1e2e
}

.content-policy-xk a {
color: #2F31BB;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.content-policy-xk a:hover {
color: #80E117;
text-decoration-color: #80E117
}

.content-policy-xk div {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #1e1e2e
}

.content-policy-xk ul,
.content-policy-xk ol {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #1e1e2e;
padding-left: 32px;
margin-top: 0;
margin-bottom: 16px
}

.content-policy-xk li {
margin-bottom: 8px
}

.content-policy-xk blockquote {
margin: 32px 0;
padding: 16px 32px;
background: #FFE6E8;
border-radius: 12px;
font-size: 16px;
line-height: 1.55;
color: #1e1e2e;
box-shadow: 2px 2px 6px 0 #2f31bb12
}

.content-policy-xk hr {
border: none;
border-top: 2px solid #FFE6E8;
margin: 64px 0
}

@media (max-width: 768px) {
.content-policy-xk {
padding: 32px 16px
}

.content-policy-xk h1 {
font-size: 37px
}

.content-policy-xk h2 {
font-size: 27px;
margin-top: 32px
}

.content-policy-xk h3 {
font-size: 20px
}
}

@media (max-width: 375px) {
.content-policy-xk {
padding: 32px 8px
}

.content-policy-xk h1 {
font-size: 27px
}

.content-policy-xk h2 {
font-size: 20px
}

.content-policy-xk h3 {
font-size: 16px
}
}

.cmp_pg {
display: block;
width: 100%;
overflow-x: hidden
}

.cmp_pg *,
.cmp_pg ::before,
.cmp_pg ::after {
box-sizing: border-box
}

.cmp_pg ::selection {
background: #2F31BB;
color: #fff;
font-weight: 700
}

.cmp_pg .row_fluid {
width: 100%
}

.cmp_pg .max_w {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px
}

.cmp_pg .grad_line {
height: 2px;
background: linear-gradient(90deg, transparent 0%, #80E117 30%, #2F31BB 70%, transparent 100%);
border: none;
margin: 0
}

.cmp_pg .accent_word {
color: #2F31BB;
font-size: inherit;
line-height: inherit;
letter-spacing: inherit
}

.cmp_pg .accent_green {
color: #80E117
}

.cmp_pg .left_bar {
border-left: 3px solid #80E117;
padding-left: 16px
}

.cmp_pg .title_blk {
padding-top: 64px;
padding-bottom: 96px;
background: #fff;
position: relative
}

.cmp_pg .title_blk .atm_spot {
position: absolute;
border-radius: 20px;
pointer-events: none;
z-index: 0
}

.cmp_pg .title_blk .atm_a {
width: 340px;
height: 340px;
background: #80e11721;
filter: blur(64px);
top: -40px;
right: 80px
}

.cmp_pg .title_blk .atm_b {
width: 260px;
height: 260px;
background: #2f31bb17;
filter: blur(48px);
bottom: 0;
left: 40px
}

.cmp_pg .title_blk .t_inner {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 32px
}

.cmp_pg .title_blk .t_img_row {
width: 100%;
border-radius: 12px;
overflow: hidden;
max-height: 420px
}

.cmp_pg .title_blk .t_img_row img {
width: 100%;
max-width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 12px
}

.cmp_pg .title_blk .t_text_row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: end
}

.cmp_pg .title_blk .t_head {
font-size: 52px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
font-weight: 800;
margin: 0
}

.cmp_pg .title_blk .t_sub {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #333;
margin: 0 0 32px
}

.cmp_pg .title_blk .t_badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #FFE6E8;
border-radius: 12px;
padding: 8px 16px;
font-size: 13px;
letter-spacing: .02em;
color: #2F31BB;
font-weight: 600
}

.cmp_pg .title_blk .t_badge .dot {
width: 8px;
height: 8px;
border-radius: 20px;
background: #2F31BB;
display: inline-block
}

.cmp_pg .btn_pri {
display: inline-block;
padding: 16px 32px;
border-radius: 12px;
font-size: 16px;
font-weight: 700;
letter-spacing: .01em;
color: #fff;
background: linear-gradient(120deg, #2F31BB 0%, #80E117 60%, #FFE6E8 100%);
border: none;
cursor: pointer;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.0, 0, 0.2, 1);
text-decoration: none;
box-shadow: 2px 4px 28px 0 #2f31bb17
}

.cmp_pg .btn_pri:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c;
transform: translateY(-2px)
}

.cmp_pg .btn_pri:active {
transform: translateY(0)
}

@keyframes shake_once {

0%,
100% {
transform: translateX(0)
}

20% {
transform: translateX(-6px)
}

40% {
transform: translateX(6px)
}

60% {
transform: translateX(-4px)
}

80% {
transform: translateX(4px)
}
}

.cmp_pg .btn_pri.shake {
animation: shake_once .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.cmp_pg .diag_split {
position: relative;
padding-top: 96px;
padding-bottom: 96px;
overflow: hidden
}

.cmp_pg .diag_split::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #fff 52%, #FFE6E8 52%);
z-index: 0;
pointer-events: none
}

.cmp_pg .diag_split .ds_inner {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.cmp_pg .diag_split .ds_label {
font-size: 13px;
letter-spacing: .02em;
color: #2F31BB;
font-weight: 700;
text-transform: uppercase;
margin: 0 0 16px
}

.cmp_pg .diag_split .ds_head {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
font-weight: 800;
margin: 0 0 32px
}

.cmp_pg .diag_split .ds_body {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #333;
margin: 0 0 32px
}

.cmp_pg .diag_split .ds_img {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 #80e1171c
}

.cmp_pg .diag_split .ds_img img {
width: 100%;
max-width: 100%;
height: 400px;
object-fit: cover;
display: block;
border-radius: 12px
}

.cmp_pg .diag_split .ds_stat_row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 32px
}

.cmp_pg .diag_split .ds_stat {
flex: 1;
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 2px 2px 6px 0 #80e11712;
border-top: 3px solid #80E117
}

.cmp_pg .diag_split .ds_stat .num {
font-size: 37px;
font-weight: 800;
color: #2F31BB;
line-height: 1.1;
letter-spacing: .01em
}

.cmp_pg .diag_split .ds_stat .lbl {
font-size: 13px;
color: #555;
letter-spacing: .02em;
line-height: 1.35;
margin-top: 8px
}

.cmp_pg .tbl_sec {
padding-top: 96px;
padding-bottom: 96px;
background: #f5f5f0
}

.cmp_pg .tbl_sec .ts_head_row {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 16px;
margin-bottom: 64px
}

.cmp_pg .tbl_sec .ts_eyebrow {
font-size: 13px;
letter-spacing: .02em;
color: #80E117;
font-weight: 700;
text-transform: uppercase;
background: #2F31BB;
border-radius: 2px;
padding: 8px 16px;
display: inline-block
}

.cmp_pg .tbl_sec .ts_h {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
font-weight: 800;
margin: 0
}

.cmp_pg .tbl_sec .ts_sub {
font-size: 16px;
line-height: 1.55;
color: #444;
max-width: 560px;
margin: 0
}

.cmp_pg .cmp_table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #2f31bb17;
background: #fff
}

.cmp_pg .cmp_table thead tr th {
padding: 32px 24px;
font-size: 16px;
font-weight: 700;
letter-spacing: .01em;
text-align: left;
vertical-align: bottom
}

.cmp_pg .cmp_table thead tr th:first-child {
background: #fff;
color: #333;
font-size: 14px;
font-weight: 600;
width: 36%
}

.cmp_pg .cmp_table thead tr th.col_us {
background: #2F31BB;
color: #fff;
text-align: center
}

.cmp_pg .cmp_table thead tr th.col_gen {
background: #eee;
color: #555;
text-align: center
}

.cmp_pg .cmp_table thead tr th.col_ai {
background: #ddd;
color: #555;
text-align: center
}

.cmp_pg .cmp_table thead tr th.col_us .th_badge {
display: inline-block;
background: #80E117;
color: #111;
font-size: 11px;
font-weight: 800;
border-radius: 2px;
padding: 2px 8px;
margin-top: 8px;
letter-spacing: .02em
}

.cmp_pg .cmp_table tbody tr {
border-bottom: 1px solid #f0f0f0;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cmp_pg .cmp_table tbody tr:last-child {
border-bottom: none
}

.cmp_pg .cmp_table tbody tr:hover {
background: #f9f8ff
}

.cmp_pg .cmp_table tbody td {
padding: 24px;
font-size: 14px;
line-height: 1.55;
letter-spacing: .01em;
color: #333;
vertical-align: middle
}

.cmp_pg .cmp_table tbody td.feat_name {
font-weight: 600;
color: #111;
font-size: 14px
}

.cmp_pg .cmp_table tbody td.feat_name .feat_desc {
display: block;
font-weight: 400;
color: #666;
font-size: 13px;
margin-top: 4px;
line-height: 1.35
}

.cmp_pg .cmp_table tbody td.col_val {
text-align: center
}

.cmp_pg .cmp_table tbody td.col_val.yes_us {
background: #80e11712
}

.cmp_pg .icon_yes {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px
}

.cmp_pg .icon_yes svg,
.cmp_pg .icon_no svg {
display: block
}

.cmp_pg .icon_no {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px
}

.cmp_pg .icon_part {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
font-size: 16px;
color: #aaa;
font-weight: 700
}

.cmp_pg .cmp_table tfoot td {
padding: 32px 24px;
background: #2F31BB;
color: #fff;
font-size: 14px;
font-weight: 600;
text-align: center
}

.cmp_pg .cmp_table tfoot td:first-child {
text-align: left;
font-size: 16px;
font-weight: 700;
border-radius: 0 0 0 12px
}

.cmp_pg .cmp_table tfoot td:last-child {
border-radius: 0 0 12px 0
}

.cmp_pg .four_col {
padding-top: 96px;
padding-bottom: 96px;
background: #111
}

.cmp_pg .four_col .fc_eyebrow {
font-size: 13px;
letter-spacing: .02em;
color: #80E117;
font-weight: 700;
text-transform: uppercase;
margin: 0 0 16px
}

.cmp_pg .four_col .fc_head {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
font-weight: 800;
margin: 0 0 64px;
max-width: 560px
}

.cmp_pg .four_col .fc_grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.4fr;
gap: 16px;
align-items: stretch
}

.cmp_pg .four_col .fc_card {
background: #1e1e2a;
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 2px 4px 28px 0 #2f31bb17;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.0, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.cmp_pg .four_col .fc_card::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40px;
background: linear-gradient(to top, #1e1e2a 0%, transparent 100%);
pointer-events: none
}

.cmp_pg .four_col .fc_card:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c;
transform: translateY(-4px)
}

.cmp_pg .four_col .fc_card.accent_card {
background: linear-gradient(160deg, #2F31BB 0%, #1a1e8a 100%);
border: 2px solid #80E117
}

.cmp_pg .four_col .fc_card.accent_card::after {
background: linear-gradient(to top, #2F31BB 0%, transparent 100%)
}

.cmp_pg .four_col .fc_icon {
width: 48px;
height: 48px;
border-radius: 12px;
background: #80e11726;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cmp_pg .four_col .fc_card.accent_card .fc_icon {
background: #80e11740
}

.cmp_pg .four_col .fc_card_h {
font-size: 20px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .01em;
color: #fff;
margin: 0
}

.cmp_pg .four_col .fc_card_p {
font-size: 14px;
line-height: 1.55;
letter-spacing: .01em;
color: #bbb;
margin: 0;
flex: 1
}

.cmp_pg .four_col .fc_card.accent_card .fc_card_p {
color: #fffc
}

.cmp_pg .four_col .fc_pill {
display: inline-block;
background: #80E117;
color: #111;
font-size: 13px;
font-weight: 700;
border-radius: 2px;
padding: 4px 12px;
letter-spacing: .02em;
align-self: flex-start
}

@media (max-width: 1366px) {
.cmp_pg .four_col .fc_grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.cmp_pg .max_w {
padding-left: 16px;
padding-right: 16px
}

.cmp_pg .title_blk {
padding-top: 32px;
padding-bottom: 64px
}

.cmp_pg .title_blk .t_img_row img {
height: 240px
}

.cmp_pg .title_blk .t_text_row {
grid-template-columns: 1fr;
gap: 16px
}

.cmp_pg .title_blk .t_head {
font-size: 37px
}

.cmp_pg .diag_split {
padding-top: 64px;
padding-bottom: 64px
}

.cmp_pg .diag_split::before {
background: #fff
}

.cmp_pg .diag_split .ds_inner {
grid-template-columns: 1fr;
gap: 32px
}

.cmp_pg .diag_split .ds_img img {
height: 260px
}

.cmp_pg .diag_split .ds_stat_row {
flex-direction: column;
gap: 16px
}

.cmp_pg .tbl_sec {
padding-top: 64px;
padding-bottom: 64px
}

.cmp_pg .tbl_sec .ts_h {
font-size: 27px
}

.cmp_pg .cmp_table thead tr th {
padding: 16px 12px;
font-size: 13px
}

.cmp_pg .cmp_table tbody td {
padding: 16px 12px;
font-size: 13px
}

.cmp_pg .four_col {
padding-top: 64px;
padding-bottom: 64px
}

.cmp_pg .four_col .fc_head {
font-size: 27px
}

.cmp_pg .four_col .fc_grid {
grid-template-columns: 1fr;
gap: 16px
}
}

@media (max-width: 375px) {
.cmp_pg .title_blk .t_head {
font-size: 27px
}

.cmp_pg .cmp_table thead tr th.col_gen,
.cmp_pg .cmp_table thead tr th.col_ai,
.cmp_pg .cmp_table tbody td:nth-child(3),
.cmp_pg .cmp_table tbody td:nth-child(4),
.cmp_pg .cmp_table tfoot td:nth-child(3),
.cmp_pg .cmp_table tfoot td:nth-child(4) {
display: none
}
}

@keyframes split_reveal {
0% {
letter-spacing: .18em;
opacity: 0
}

100% {
letter-spacing: .01em;
opacity: 1
}
}

.cmp_pg .split_anim {
animation: split_reveal .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

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

.srvs_pg .pg_bound {
max-width: 1400px;
margin: 0 auto;
padding: 0 32px
}

.srvs_pg ::selection {
background: #2F31BB;
color: #fff;
font-weight: 700
}

.srvs_pg .reveal_child>* {
opacity: 0;
transform: translateY(24px);
animation: srvs_reveal .26s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

.srvs_pg .reveal_child> :nth-child(1) {
animation-delay: .08s
}

.srvs_pg .reveal_child> :nth-child(2) {
animation-delay: .16s
}

.srvs_pg .reveal_child> :nth-child(3) {
animation-delay: .24s
}

.srvs_pg .reveal_child> :nth-child(4) {
animation-delay: .32s
}

.srvs_pg .reveal_child> :nth-child(5) {
animation-delay: .4s
}

.srvs_pg .reveal_child> :nth-child(6) {
animation-delay: .48s
}

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

.srvs_pg .title_blk {
background: linear-gradient(138deg, #2F31BB 0%, #1a1e8a 48%, #80E117 100%);
padding: 96px 0;
position: relative
}

.srvs_pg .title_blk .curves {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.srvs_pg .title_blk .curves svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .13
}

.srvs_pg .title_blk .t_inner {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
position: relative;
z-index: 1
}

.srvs_pg .title_blk .t_text {
flex: 0 0 60%
}

.srvs_pg .title_blk .t_badge {
display: inline-block;
background: #80e1172e;
border: 1px solid #80e11766;
color: #80E117;
font-size: 13px;
letter-spacing: .02em;
padding: 8px 16px;
border-radius: 2px;
margin-bottom: 32px;
font-weight: 600
}

.srvs_pg .title_blk h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
margin: 0 0 32px;
font-weight: 800
}

.srvs_pg .title_blk h1 .grad_word {
background: linear-gradient(90deg, #80E117 0%, #FFE6E8 60%, #80E117 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs_pg .title_blk .t_sub {
font-size: 20px;
line-height: 1.55;
color: #ffffffd1;
letter-spacing: .01em;
margin: 0;
max-width: 520px
}

.srvs_pg .title_blk .t_img_side {
flex: 0 0 36%;
position: relative;
border-radius: 20px;
overflow: hidden
}

.srvs_pg .title_blk .t_img_side img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
border-radius: 20px;
transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs_pg .title_blk .t_img_side::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(to top, #2f31bbb8 0%, transparent 100%);
border-radius: 0 0 20px 20px;
pointer-events: none
}

.srvs_pg .title_blk .t_img_side:hover img {
filter: brightness(1.08)
}

.srvs_pg .title_blk .side_border {
position: absolute;
right: 0;
top: 16px;
bottom: 16px;
width: 3px;
background: linear-gradient(to bottom, transparent 0%, #80E117 40%, #FFE6E8 70%, transparent 100%);
border-radius: 2px
}

.srvs_pg .div_radial {
height: 2px;
background: radial-gradient(ellipse at 50% 50%, #2F31BB 0%, #2f31bb2e 60%, transparent 100%);
margin: 0
}

.srvs_pg .srv_list_blk {
background: #fff;
padding: 96px 0;
position: relative
}

.srvs_pg .srv_list_blk::before {
content: "";
position: absolute;
inset: 0;
background-image: url(./graphics_folder/2025_03_20-background5.jpg);
background-size: cover;
background-position: center;
opacity: .03;
pointer-events: none
}

.srvs_pg .srv_list_blk .sec_label {
font-size: 13px;
letter-spacing: .02em;
color: #2F31BB;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 16px
}

.srvs_pg .srv_list_blk .sec_head {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #18186b;
font-weight: 800;
margin: 0 0 64px;
padding-left: 16px;
border-left: 4px solid #80E117;
max-width: 560px
}

.srvs_pg .srv_cards {
display: grid;
grid-template-columns: 60fr 40fr;
gap: 32px;
align-items: start
}

.srvs_pg .srv_cards .left_col {
display: flex;
flex-direction: column;
gap: 32px
}

.srvs_pg .srv_cards .right_col {
display: flex;
flex-direction: column;
gap: 32px
}

.srvs_pg .srv_item {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 2px 4px 28px 0 #2f31bb17;
position: relative;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs_pg .srv_item:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c;
transform: translateY(-2px)
}

.srvs_pg .srv_item .item_notch {
position: absolute;
left: 0;
top: 32px;
width: 4px;
height: 40px;
background: linear-gradient(180deg, #80E117 0%, #2F31BB 100%);
border-radius: 0 2px 2px 0
}

.srvs_pg .srv_item .item_icon {
width: 48px;
height: 48px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #80e1171f 0%, #2f31bb14 100%);
border-radius: 12px
}

.srvs_pg .srv_item h3 {
font-size: 20px;
line-height: 1.35;
letter-spacing: .01em;
color: #18186b;
font-weight: 700;
margin: 0 0 16px
}

.srvs_pg .srv_item p {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #3a3a5c;
margin: 0 0 16px
}

.srvs_pg .srv_item .item_tag {
display: inline-block;
background: #80e1171f;
color: #2a5800;
font-size: 13px;
font-weight: 600;
padding: 4px 12px;
border-radius: 2px;
letter-spacing: .01em
}

.srvs_pg .srv_item .first_word {
color: #80E117;
font-weight: 700;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .02em
}

.srvs_pg .srv_item.featured {
background: linear-gradient(135deg, #2F31BB 0%, #1a1e8a 100%);
color: #fff
}

.srvs_pg .srv_item.featured h3 {
color: #fff
}

.srvs_pg .srv_item.featured p {
color: #ffffffd1
}

.srvs_pg .srv_item.featured .item_tag {
background: #80e11738;
color: #80E117
}

.srvs_pg .srv_item.featured .first_word {
color: #80E117
}

.srvs_pg .cmp_blk {
background: #FFE6E8;
padding: 96px 0
}

.srvs_pg .cmp_blk .cmp_head_row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 64px
}

.srvs_pg .cmp_blk .cmp_sec_head {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #18186b;
font-weight: 800;
margin: 0;
padding-left: 16px;
border-left: 4px solid #2F31BB;
max-width: 480px
}

.srvs_pg .cmp_blk .cmp_desc {
font-size: 16px;
line-height: 1.55;
color: #3a3a5c;
max-width: 360px;
margin: 0;
letter-spacing: .01em
}

.srvs_pg .cmp_table {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px
}

.srvs_pg .cmp_col {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 2px 2px 6px 0 #2f31bb12;
position: relative;
transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs_pg .cmp_col:hover {
box-shadow: 2px 4px 28px 0 #2f31bb17
}

.srvs_pg .cmp_col.recommended {
background: linear-gradient(160deg, #2F31BB 0%, #1a1e8a 100%);
box-shadow: 2px 10px 36px 0 #2f31bb1c;
transform: translateY(-8px)
}

.srvs_pg .cmp_col .rec_badge {
display: inline-block;
background: #80E117;
color: #1a3300;
font-size: 13px;
font-weight: 700;
padding: 4px 12px;
border-radius: 2px;
margin-bottom: 16px;
letter-spacing: .02em
}

.srvs_pg .cmp_col .col_name {
font-size: 20px;
font-weight: 800;
letter-spacing: .01em;
color: #18186b;
margin: 0 0 8px
}

.srvs_pg .cmp_col.recommended .col_name {
color: #fff
}

.srvs_pg .cmp_col .col_desc {
font-size: 14px;
line-height: 1.55;
color: #5a5a7a;
margin: 0 0 32px;
letter-spacing: .01em
}

.srvs_pg .cmp_col.recommended .col_desc {
color: #ffffffbf
}

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

.srvs_pg .cmp_col .feat_list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 14px;
line-height: 1.55;
color: #3a3a5c;
letter-spacing: .01em
}

.srvs_pg .cmp_col.recommended .feat_list li {
color: #ffffffe0
}

.srvs_pg .cmp_col .feat_list li .chk {
flex-shrink: 0;
width: 18px;
height: 18px;
margin-top: 2px
}

.srvs_pg .cmp_col .feat_list li .chk svg {
width: 18px;
height: 18px
}

.srvs_pg .cmp_col .cmp_cta {
display: block;
margin-top: 32px;
padding: 16px;
border-radius: 12px;
font-size: 16px;
font-weight: 700;
letter-spacing: .01em;
text-align: center;
text-decoration: none;
background: linear-gradient(90deg, #80E117 0%, #2F31BB 100%);
color: #fff;
border: none;
cursor: pointer;
transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%
}

.srvs_pg .cmp_col .cmp_cta:hover {
opacity: .88;
transform: translateY(-1px)
}

.srvs_pg .cmp_col .cmp_cta:focus {
outline: 3px solid #80E117;
outline-offset: 2px
}

.srvs_pg .dual_blk {
background: #18186b;
padding: 96px 0;
position: relative
}

.srvs_pg .dual_blk::before {
content: "";
position: absolute;
inset: 0;
background-image: url(./graphics_folder/draft-approved4.jpg);
background-size: cover;
background-position: center;
opacity: .06;
pointer-events: none
}

.srvs_pg .dual_blk .dual_head_row {
margin-bottom: 64px;
position: relative;
z-index: 1
}

.srvs_pg .dual_blk .dual_sec_head {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
font-weight: 800;
margin: 0 0 16px;
padding-left: 16px;
border-left: 4px solid #80E117
}

.srvs_pg .dual_blk .dual_sec_sub {
font-size: 16px;
line-height: 1.55;
color: #ffffffb8;
margin: 0;
padding-left: 20px;
max-width: 560px;
letter-spacing: .01em
}

.srvs_pg .dual_paths {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
position: relative;
z-index: 1
}

.srvs_pg .dual_paths .path_col {
border-radius: 20px;
padding: 32px;
position: relative
}

.srvs_pg .dual_paths .path_col.path_a {
background: #80e1171a;
border: 1px solid #80e11747
}

.srvs_pg .dual_paths .path_col.path_b {
background: #ffe6e814;
border: 1px solid #ffe6e833
}

.srvs_pg .dual_paths .path_col .path_label {
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
text-transform: uppercase;
margin-bottom: 16px
}

.srvs_pg .dual_paths .path_col.path_a .path_label {
color: #80E117
}

.srvs_pg .dual_paths .path_col.path_b .path_label {
color: #FFE6E8
}

.srvs_pg .dual_paths .path_col h4 {
font-size: 27px;
line-height: 1.1;
letter-spacing: .01em;
color: #fff;
font-weight: 800;
margin: 0 0 16px
}

.srvs_pg .dual_paths .path_col .path_body {
font-size: 16px;
line-height: 1.55;
color: #ffffffc7;
margin: 0 0 32px;
letter-spacing: .01em
}

.srvs_pg .dual_paths .path_col .path_steps {
display: flex;
flex-direction: column;
gap: 16px
}

.srvs_pg .dual_paths .path_col .step_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.srvs_pg .dual_paths .path_col .step_num {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 800;
letter-spacing: .01em
}

.srvs_pg .dual_paths .path_col.path_a .step_num {
background: #80E117;
color: #1a3300
}

.srvs_pg .dual_paths .path_col.path_b .step_num {
background: #FFE6E8;
color: #18186b
}

.srvs_pg .dual_paths .path_col .step_text {
font-size: 14px;
line-height: 1.55;
color: #ffffffd1;
padding-top: 6px;
letter-spacing: .01em
}

.srvs_pg .dual_paths .path_col .step_text strong {
color: #fff;
font-weight: 700
}

@media (max-width: 1366px) {
.srvs_pg .title_blk h1 {
font-size: 37px
}

.srvs_pg .srv_cards {
grid-template-columns: 1fr 1fr
}

.srvs_pg .srv_cards .left_col {
grid-column: 1
}

.srvs_pg .srv_cards .right_col {
grid-column: 2
}
}

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

.srvs_pg .title_blk {
padding: 64px 0
}

.srvs_pg .title_blk .t_inner {
flex-direction: column;
gap: 32px
}

.srvs_pg .title_blk .t_text {
flex: none;
width: 100%
}

.srvs_pg .title_blk .t_img_side {
flex: none;
width: 100%
}

.srvs_pg .title_blk h1 {
font-size: 37px
}

.srvs_pg .title_blk .t_sub {
font-size: 16px
}

.srvs_pg .srv_list_blk {
padding: 64px 0
}

.srvs_pg .srv_cards {
grid-template-columns: 1fr
}

.srvs_pg .srv_cards .left_col,
.srvs_pg .srv_cards .right_col {
grid-column: auto
}

.srvs_pg .cmp_blk {
padding: 64px 0
}

.srvs_pg .cmp_blk .cmp_head_row {
flex-direction: column;
align-items: flex-start
}

.srvs_pg .cmp_table {
grid-template-columns: 1fr
}

.srvs_pg .cmp_col.recommended {
transform: none
}

.srvs_pg .dual_blk {
padding: 64px 0
}

.srvs_pg .dual_paths {
grid-template-columns: 1fr
}

.srvs_pg .srv_list_blk .sec_head,
.srvs_pg .cmp_blk .cmp_sec_head,
.srvs_pg .dual_blk .dual_sec_head {
font-size: 27px
}
}

@media (max-width: 375px) {
.srvs_pg .pg_bound {
padding: 0 8px
}

.srvs_pg .title_blk h1 {
font-size: 27px
}

.srvs_pg .srv_item {
padding: 16px
}

.srvs_pg .cmp_col {
padding: 16px
}

.srvs_pg .dual_paths .path_col {
padding: 16px
}
}

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

.lnch .pg_wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 32px
}

.lnch ::selection {
background: #2F31BB;
color: #fff;
font-weight: 700
}

.lnch .acnt_line {
display: inline-block;
width: 4px;
height: 100%;
min-height: 32px;
background: #80E117;
border-radius: 2px;
flex-shrink: 0
}

.lnch .ttl_blk {
position: relative;
padding-top: 96px;
padding-bottom: 64px;
background: #fff
}

.lnch .ttl_blk .dot_field {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.lnch .ttl_blk .dot_field::before {
content: "";
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #2F31BB 1px, transparent 1px);
background-size: 28px 28px;
opacity: .055
}

.lnch .ttl_blk .flicker_bg {
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(117deg, #80e1170f 0%, #2f31bb0a 55%, #ffe6e814 100%);
animation: bg_flicker 7s infinite
}

@keyframes bg_flicker {
0% {
opacity: 1
}

18% {
opacity: .91
}

35% {
opacity: 1
}

52% {
opacity: .95
}

71% {
opacity: .88
}

89% {
opacity: 1
}

100% {
opacity: .97
}
}

.lnch .ttl_inner {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 64px;
position: relative
}

.lnch .ttl_left {
flex: 0 0 60%;
display: flex;
flex-direction: column;
justify-content: center;
gap: 32px
}

.lnch .ttl_right {
flex: 0 0 40%;
position: relative;
border-radius: 20px;
overflow: hidden;
min-height: 480px
}

.lnch .ttl_right img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.lnch .ttl_right .diag_overlay {
position: absolute;
inset: 0;
background: linear-gradient(142deg, #2f31bb8c 0%, #80e1172e 60%, #ffe6e838 100%);
pointer-events: none
}

.lnch .ttl_right .img_badge {
position: absolute;
bottom: 32px;
left: 32px;
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 2px 4px 28px 0 #2f31bb17;
display: flex;
flex-direction: column;
gap: 8px
}

.lnch .ttl_right .img_badge .badge_num {
font-size: 37px;
font-weight: 800;
line-height: 1.1;
color: #2F31BB;
letter-spacing: .01em
}

.lnch .ttl_right .img_badge .badge_lbl {
font-size: 13px;
color: #444;
line-height: 1.35;
letter-spacing: .02em
}

.lnch .ttl_tag {
display: inline-flex;
align-items: center;
gap: 8px;
background: #FFE6E8;
border-radius: 2px;
padding: 8px 16px;
font-size: 13px;
font-weight: 700;
color: #2F31BB;
letter-spacing: .02em;
width: fit-content
}

.lnch .ttl_tag .tag_dot {
width: 8px;
height: 8px;
border-radius: 0;
background: #80E117;
flex-shrink: 0
}

.lnch .ttl_h1 {
font-size: 52px;
font-weight: 900;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
margin: 0
}

.lnch .ttl_h1 .h1_accent {
color: #2F31BB
}

.lnch .ttl_quote {
font-size: 20px;
line-height: 1.55;
color: #333;
letter-spacing: .01em;
border-left: none;
padding-left: 0;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin: 0
}

.lnch .ttl_quote .q_mark {
font-size: 52px;
line-height: 1;
color: #80E117;
font-weight: 900;
flex-shrink: 0;
margin-top: -8px
}

.lnch .ttl_meta {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center
}

.lnch .ttl_meta .met_item {
display: flex;
flex-direction: column;
gap: 8px
}

.lnch .ttl_meta .met_num {
font-size: 27px;
font-weight: 800;
color: #80E117;
line-height: 1.1;
letter-spacing: .01em
}

.lnch .ttl_meta .met_arrow {
display: inline-flex;
align-items: center;
gap: 8px
}

.lnch .ttl_meta .met_arrow .arr_from {
font-size: 14px;
color: #888;
font-weight: 600
}

.lnch .ttl_meta .arr_svg {
width: 28px;
height: 16px
}

.lnch .ttl_meta .met_arrow .arr_to {
font-size: 14px;
color: #2F31BB;
font-weight: 700
}

.lnch .ttl_meta .met_lbl {
font-size: 13px;
color: #666;
line-height: 1.35;
letter-spacing: .02em
}

.lnch .ttl_divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: -2px
}

.lnch .ttl_divider svg {
display: block;
width: 100%
}

.lnch .not_blk {
background: #2F31BB;
padding: 96px 0 64px;
position: relative
}

.lnch .not_blk .tex_bg {
position: absolute;
inset: 0;
background-image: url(./graphics_folder/final_background7.jpg);
background-size: cover;
background-position: center;
opacity: .06;
pointer-events: none
}

.lnch .not_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.lnch .not_left {
display: flex;
flex-direction: column;
gap: 32px
}

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

.lnch .not_hdg_wrap .acnt_line {
margin-top: 6px
}

.lnch .not_h2 {
font-size: 37px;
font-weight: 800;
line-height: 1.1;
color: #fff;
letter-spacing: .01em;
margin: 0
}

.lnch .not_sub {
font-size: 16px;
line-height: 1.55;
color: #ffffffd1;
letter-spacing: .01em
}

.lnch .not_sub .first_word {
text-transform: uppercase;
color: #80E117;
font-weight: 700
}

.lnch .not_img_wrap {
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.lnch .not_img_wrap img {
width: 100%;
height: 360px;
object-fit: cover;
display: block
}

.lnch .not_right {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 16px
}

.lnch .not_item {
background: #ffffff12;
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .not_item:hover {
background: #ffffff21
}

.lnch .not_item .ni_icon {
width: 36px;
height: 36px;
border-radius: 0;
background: #80E117;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

.lnch .not_item .ni_icon svg {
width: 20px;
height: 20px
}

.lnch .not_item .ni_body {
display: flex;
flex-direction: column;
gap: 8px
}

.lnch .not_item .ni_hdg {
font-size: 16px;
font-weight: 700;
color: #fff;
line-height: 1.35;
letter-spacing: .01em
}

.lnch .not_item .ni_txt {
font-size: 14px;
color: #ffffffbf;
line-height: 1.55;
letter-spacing: .01em
}

.lnch .not_divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: -2px
}

.lnch .not_divider svg {
display: block;
width: 100%
}

.lnch .fit_blk {
background: #fff;
padding: 96px 0 64px;
position: relative
}

.lnch .fit_blk .tex_layer {
position: absolute;
inset: 0;
background-image: url(./graphics_folder/2026_06_02_sidebar6.jpg);
background-size: cover;
background-position: center;
opacity: .035;
pointer-events: none
}

.lnch .fit_top {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-bottom: 64px
}

.lnch .fit_top .acnt_line {
margin-top: 6px
}

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

.lnch .fit_h2 {
font-size: 37px;
font-weight: 800;
line-height: 1.1;
color: #111;
letter-spacing: .01em;
margin: 0
}

.lnch .fit_lead {
font-size: 16px;
line-height: 1.55;
color: #444;
max-width: 600px;
letter-spacing: .01em
}

.lnch .fit_lead .first_word {
text-transform: uppercase;
color: #2F31BB;
font-weight: 700
}

.lnch .fit_cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.lnch .fit_card {
border-radius: 20px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 2px 2px 6px 0 #80e11712;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.0, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.lnch .fit_card:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c;
transform: translateY(-4px)
}

.lnch .fit_card.c_green {
background: linear-gradient(135deg, #f4ffe6 0%, #e8f7d0 100%)
}

.lnch .fit_card.c_blue {
background: linear-gradient(135deg, #eeeffe 0%, #d8d9f9 100%)
}

.lnch .fit_card.c_pink {
background: linear-gradient(135deg, #FFE6E8 0%, #ffd0d4 100%)
}

.lnch .fit_card .fc_num {
font-size: 52px;
font-weight: 900;
line-height: 1.1;
letter-spacing: .01em;
opacity: .14;
position: absolute;
top: 16px;
right: 16px
}

.lnch .fit_card.c_green .fc_num {
color: #80E117
}

.lnch .fit_card.c_blue .fc_num {
color: #2F31BB
}

.lnch .fit_card.c_pink .fc_num {
color: #c0002a
}

.lnch .fit_card .fc_icon {
width: 44px;
height: 44px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.lnch .fit_card.c_green .fc_icon {
background: #80E117
}

.lnch .fit_card.c_blue .fc_icon {
background: #2F31BB
}

.lnch .fit_card.c_pink .fc_icon {
background: #FFE6E8;
border: 2px solid #f7b0b8
}

.lnch .fit_card .fc_icon svg {
width: 22px;
height: 22px
}

.lnch .fit_card .fc_hdg {
font-size: 20px;
font-weight: 700;
color: #111;
line-height: 1.35;
letter-spacing: .01em;
margin: 0
}

.lnch .fit_card .fc_txt {
font-size: 14px;
color: #444;
line-height: 1.55;
letter-spacing: .01em
}

.lnch .fit_card .fc_txt .first_word {
text-transform: uppercase;
font-weight: 700
}

.lnch .fit_card.c_green .fc_txt .first_word {
color: #5aaa00
}

.lnch .fit_card.c_blue .fc_txt .first_word {
color: #2F31BB
}

.lnch .fit_card.c_pink .fc_txt .first_word {
color: #b00020
}

.lnch .fit_card .fc_quote {
font-size: 13px;
color: #555;
line-height: 1.55;
font-style: italic;
border-top: 1px solid #00000014;
padding-top: 16px;
letter-spacing: .02em
}

.lnch .fit_card .fc_name {
font-size: 13px;
font-weight: 700;
color: #333;
letter-spacing: .02em
}

.lnch .fit_img_row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-top: 64px
}

.lnch .fit_img_row .fi_img {
border-radius: 20px;
overflow: hidden;
position: relative
}

.lnch .fit_img_row .fi_img img {
width: 100%;
height: 280px;
object-fit: cover;
display: block
}

.lnch .fit_img_row .fi_img .fi_caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 16px;
background: linear-gradient(0deg, #2f31bbb8 0%, transparent 100%);
color: #fff;
font-size: 14px;
font-weight: 600;
letter-spacing: .02em;
line-height: 1.35
}

.lnch .fit_divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: -2px
}

.lnch .fit_divider svg {
display: block;
width: 100%
}

.lnch .work_blk {
background: #f5f5f0;
padding: 96px 0;
position: relative
}

.lnch .work_blk .tex_bg2 {
position: absolute;
inset: 0;
background-image: url(./graphics_folder/2024_08_26_2025_09_27-features11.jpg);
background-size: cover;
background-position: center;
opacity: .04;
pointer-events: none
}

.lnch .work_split {
display: grid;
grid-template-columns: 40% 60%;
gap: 64px;
align-items: start
}

.lnch .work_left {
display: flex;
flex-direction: column;
gap: 32px;
position: sticky;
top: 32px
}

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

.lnch .work_hdg_wrap .acnt_line {
margin-top: 6px
}

.lnch .work_h2 {
font-size: 37px;
font-weight: 800;
line-height: 1.1;
color: #111;
letter-spacing: .01em;
margin: 0
}

.lnch .work_desc {
font-size: 16px;
color: #444;
line-height: 1.55;
letter-spacing: .01em
}

.lnch .work_desc .first_word {
text-transform: uppercase;
color: #2F31BB;
font-weight: 700
}

.lnch .work_img_wrap {
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 28px 0 #80e11717
}

.lnch .work_img_wrap img {
width: 100%;
height: 320px;
object-fit: cover;
display: block
}

.lnch .work_img_wrap .wi_badge {
position: absolute;
top: 16px;
right: 16px;
background: #80E117;
border-radius: 12px;
padding: 8px 16px;
font-size: 13px;
font-weight: 700;
color: #111;
letter-spacing: .02em;
box-shadow: 2px 2px 6px 0 #80e11712
}

.lnch .work_right {
display: flex;
flex-direction: column;
gap: 32px
}

.lnch .work_step {
background: #fff;
border-radius: 20px;
padding: 32px;
display: grid;
grid-template-columns: 56px 1fr;
gap: 16px;
align-items: start;
box-shadow: 2px 2px 6px 0 #2f31bb12;
transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .work_step:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.lnch .work_step .ws_num_wrap {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px
}

.lnch .work_step .ws_num {
width: 44px;
height: 44px;
border-radius: 12px;
background: linear-gradient(135deg, #2F31BB 0%, #80E117 100%);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: 800;
color: #fff;
line-height: 1.1;
letter-spacing: .01em;
flex-shrink: 0
}

.lnch .work_step .ws_line {
width: 2px;
flex: 1;
min-height: 24px;
background: linear-gradient(180deg, #80E117 0%, #80e1171a 100%);
border-radius: 2px
}

.lnch .work_step:last-child .ws_line {
display: none
}

.lnch .work_step .ws_body {
display: flex;
flex-direction: column;
gap: 8px
}

.lnch .work_step .ws_hdg {
font-size: 20px;
font-weight: 700;
color: #111;
line-height: 1.35;
letter-spacing: .01em;
margin: 0
}

.lnch .work_step .ws_txt {
font-size: 14px;
color: #555;
line-height: 1.55;
letter-spacing: .01em
}

.lnch .work_step .ws_txt .first_word {
text-transform: uppercase;
color: #2F31BB;
font-weight: 700
}

.lnch .work_step .ws_detail {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap;
margin-top: 8px
}

.lnch .work_step .ws_tag {
background: #FFE6E8;
border-radius: 2px;
padding: 8px 16px;
font-size: 13px;
color: #2F31BB;
font-weight: 600;
letter-spacing: .02em
}

@media (max-width: 1366px) {
.lnch .ttl_h1 {
font-size: 37px
}

.lnch .fit_cards {
grid-template-columns: repeat(3, 1fr);
gap: 16px
}
}

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

.lnch .ttl_inner {
flex-direction: column;
gap: 32px
}

.lnch .ttl_left {
flex: 1 1 auto
}

.lnch .ttl_right {
flex: 1 1 auto;
min-height: 280px
}

.lnch .ttl_h1 {
font-size: 37px
}

.lnch .ttl_meta {
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.lnch .not_grid {
grid-template-columns: 1fr;
gap: 32px
}

.lnch .fit_cards {
grid-template-columns: 1fr;
gap: 16px
}

.lnch .fit_img_row {
grid-template-columns: 1fr
}

.lnch .work_split {
grid-template-columns: 1fr;
gap: 32px
}

.lnch .work_left {
position: static
}

.lnch .ttl_blk {
padding-top: 64px;
padding-bottom: 32px
}

.lnch .not_blk {
padding: 64px 0 32px
}

.lnch .fit_blk {
padding: 64px 0 32px
}

.lnch .work_blk {
padding: 64px 0
}
}

@media (max-width: 375px) {
.lnch .ttl_h1 {
font-size: 27px
}

.lnch .not_h2,
.lnch .fit_h2,
.lnch .work_h2 {
font-size: 27px
}

.lnch .ttl_quote .q_mark {
font-size: 37px
}

.lnch .work_step {
grid-template-columns: 1fr
}

.lnch .work_step .ws_num_wrap {
flex-direction: row
}

.lnch .work_step .ws_line {
display: none
}
}

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

.abt_us .au_grid_bg {
position: absolute;
inset: 0;
background-image: linear-gradient(#2f31bb0f 1px, transparent 1px), linear-gradient(90deg, #2f31bb0f 1px, transparent 1px);
background-size: 48px 48px;
animation: au_grid_wave 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
pointer-events: none;
z-index: 0
}

@keyframes au_grid_wave {

0%,
100% {
opacity: .5
}

50% {
opacity: 1
}
}

.abt_us .au_stripe_bg {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(135deg, transparent, transparent 18px, #80e1170a 18px, #80e1170a 19px);
pointer-events: none;
z-index: 0
}

.abt_us .au_intro {
position: relative;
background: #fff;
padding: 96px 0 64px;
overflow: hidden
}

.abt_us .au_intro_inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px;
position: relative;
z-index: 1
}

.abt_us .au_img_col {
flex: 0 0 480px;
position: relative
}

.abt_us .au_img_frame {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.abt_us .au_img_frame::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, #80e11773 0%, #ffe6e82e 35%, transparent 60%);
z-index: 1;
pointer-events: none;
border-radius: 20px
}

.abt_us .au_img_frame img {
display: block;
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 20px;
filter: saturate(0.7);
transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .au_img_frame:hover img {
filter: saturate(1)
}

.abt_us .au_img_border_deco {
position: absolute;
top: -16px;
left: -16px;
width: 120px;
height: 120px;
border: 2px solid #80E117;
border-radius: 12px;
z-index: 0;
pointer-events: none
}

.abt_us .au_img_border_deco2 {
position: absolute;
bottom: -16px;
right: -16px;
width: 80px;
height: 80px;
border: 2px solid #2F31BB;
border-radius: 12px;
z-index: 0;
pointer-events: none
}

.abt_us .au_txt_col {
flex: 1;
padding-top: 16px
}

.abt_us .au_tag_chip {
display: inline-block;
background: linear-gradient(90deg, #80E117 0%, #2F31BB 100%);
color: #fff;
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.35;
padding: 8px 16px;
border-radius: 2px;
margin-bottom: 32px
}

.abt_us .au_h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
margin-bottom: 32px;
font-weight: 800
}

.abt_us .au_h1 span {
color: #2F31BB
}

.abt_us .au_desc {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #2a2a2a;
margin-bottom: 32px;
max-width: 520px
}

.abt_us .au_desc .au_first {
font-weight: 700;
color: #2F31BB;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .02em
}

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

.abt_us .au_btn_primary {
display: inline-block;
background: linear-gradient(135deg, #80E117 0%, #2F31BB 60%, #FFE6E8 100%);
color: #fff;
font-size: 16px;
font-weight: 700;
letter-spacing: .01em;
line-height: 1.35;
padding: 16px 32px;
border-radius: 12px;
text-decoration: none;
box-shadow: 2px 4px 28px 0 #2f31bb17;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), opacity .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt_us .au_btn_primary:hover {
opacity: .88;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.abt_us .au_btn_secondary {
display: inline-block;
color: #2F31BB;
font-size: 16px;
font-weight: 600;
letter-spacing: .01em;
line-height: 1.35;
text-decoration: none;
border-bottom: 2px solid #80E117;
padding-bottom: 2px;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt_us .au_btn_secondary:hover {
color: #80E117;
border-color: #2F31BB
}

.abt_us .au_divider_dots {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
border: none;
border-top: 2px dotted #2f31bb26
}

.abt_us .au_story {
position: relative;
background: linear-gradient(170deg, #f5f5ff 0%, #fff 50%, #f9fff2 100%);
padding: 64px 0;
clip-path: polygon(0 0, 100% 0, 100% 94%, 0 100%);
padding-bottom: 96px
}

.abt_us .au_story_inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
position: relative;
z-index: 1
}

.abt_us .au_story_head {
margin-bottom: 64px
}

.abt_us .au_story_head .au_sh2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
font-weight: 700;
padding-left: 16px;
border-left: 4px solid #80E117;
margin-bottom: 16px
}

.abt_us .au_story_head .au_sub {
font-size: 16px;
line-height: 1.55;
color: #444;
letter-spacing: .01em;
max-width: 600px
}

.abt_us .au_two_col {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.abt_us .au_two_col .au_col_left {
flex: 1;
border-right: 1px solid #2f31bb1f;
padding-right: 64px
}

.abt_us .au_two_col .au_col_right {
flex: 1
}

.abt_us .au_col_left .au_para_h {
font-size: 20px;
line-height: 1.35;
letter-spacing: .01em;
color: #2F31BB;
font-weight: 700;
margin-bottom: 16px
}

.abt_us .au_col_left .au_para {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
letter-spacing: .01em;
margin-bottom: 16px
}

.abt_us .au_col_left .au_para .au_first {
font-weight: 700;
color: #2F31BB;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .02em
}

.abt_us .au_col_right .au_img2_wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 #80e11717
}

.abt_us .au_col_right .au_img2_wrap img {
display: block;
width: 100%;
height: 360px;
object-fit: cover;
border-radius: 20px;
filter: saturate(0.7);
transition: filter .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .au_col_right .au_img2_wrap:hover img {
filter: saturate(1)
}

.abt_us .au_col_right .au_img_tag {
position: absolute;
bottom: 16px;
left: 16px;
background: #2F31BB;
color: #fff;
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.35;
padding: 8px 16px;
border-radius: 2px;
z-index: 2
}

.abt_us .au_col_right .au_deco_diamond {
position: absolute;
top: -16px;
right: -16px;
width: 48px;
height: 48px;
background: #80E117;
transform: rotate(45deg);
border-radius: 2px;
z-index: 0;
pointer-events: none
}

.abt_us .au_metrics_strip {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 32px
}

.abt_us .au_metric {
flex: 1;
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 2px 2px 6px 0 #2f31bb12;
position: relative;
overflow: hidden
}

.abt_us .au_metric::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 0;
background: linear-gradient(180deg, #80E117, #2F31BB, #FFE6E8);
border-radius: 0;
transition: height .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .au_metric:hover::after {
height: 100%
}

.abt_us .au_metric .au_mnum {
font-size: 37px;
line-height: 1.1;
font-weight: 800;
color: #2F31BB;
letter-spacing: .01em
}

.abt_us .au_metric .au_mlabel {
font-size: 13px;
line-height: 1.35;
color: #555;
letter-spacing: .02em;
margin-top: 8px
}

.abt_us .au_divider_dots2 {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
border: none;
border-top: 2px dotted #80e1174d
}

.abt_us .au_method {
position: relative;
background: #fff;
padding: 96px 0
}

.abt_us .au_method_inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
position: relative;
z-index: 1
}

.abt_us .au_method_head {
margin-bottom: 64px
}

.abt_us .au_method_head .au_sh2b {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
font-weight: 700;
padding-left: 16px;
border-left: 4px solid #2F31BB;
margin-bottom: 16px
}

.abt_us .au_method_head .au_sub2 {
font-size: 16px;
line-height: 1.55;
color: #444;
letter-spacing: .01em;
max-width: 600px
}

.abt_us .au_steps_list {
display: flex;
flex-direction: column;
gap: 0
}

.abt_us .au_step {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 32px;
padding: 32px 0;
border-bottom: 2px dotted #2f31bb1a;
position: relative
}

.abt_us .au_step:last-child {
border-bottom: none
}

.abt_us .au_step_num {
flex: 0 0 64px;
height: 64px;
background: linear-gradient(135deg, #80E117 0%, #2F31BB 100%);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 27px;
font-weight: 800;
color: #fff;
letter-spacing: .01em;
line-height: 1.1;
box-shadow: 2px 4px 28px 0 #2f31bb17;
flex-shrink: 0
}

.abt_us .au_step_body {
flex: 1;
padding-top: 8px
}

.abt_us .au_step_body .au_step_h {
font-size: 20px;
line-height: 1.35;
letter-spacing: .01em;
color: #111;
font-weight: 700;
margin-bottom: 8px
}

.abt_us .au_step_body .au_step_p {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
letter-spacing: .01em;
max-width: 700px
}

.abt_us .au_step_body .au_step_p .au_first {
font-weight: 700;
color: #80E117;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .02em
}

.abt_us .au_step_img_row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 64px;
align-items: stretch
}

.abt_us .au_step_img_card {
flex: 1;
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 28px 0 #2f31bb17
}

.abt_us .au_step_img_card img {
display: block;
width: 100%;
height: 300px;
object-fit: cover;
border-radius: 20px;
filter: saturate(0.7);
transition: filter .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt_us .au_step_img_card:hover img {
filter: saturate(1)
}

.abt_us .au_step_img_card .au_card_tag {
position: absolute;
top: 16px;
right: 16px;
background: #ffe6e8f2;
color: #2F31BB;
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.35;
padding: 8px 16px;
border-radius: 2px
}

.abt_us .au_step_img_card .au_card_deco_diamond {
position: absolute;
bottom: 16px;
left: 16px;
width: 32px;
height: 32px;
background: #80E117;
transform: rotate(45deg);
border-radius: 2px;
pointer-events: none
}

.abt_us .au_step_text_card {
flex: 1;
background: linear-gradient(135deg, #2F31BB 0%, #1a1d8c 100%);
border-radius: 20px;
padding: 32px;
display: flex;
flex-direction: column;
justify-content: space-between;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.abt_us .au_step_text_card .au_card_h {
font-size: 27px;
line-height: 1.35;
letter-spacing: .01em;
color: #fff;
font-weight: 700;
margin-bottom: 16px
}

.abt_us .au_step_text_card .au_card_p {
font-size: 16px;
line-height: 1.55;
color: #ffffffd9;
letter-spacing: .01em;
margin-bottom: 32px
}

.abt_us .au_step_text_card .au_card_link {
display: inline-block;
background: #80E117;
color: #111;
font-size: 14px;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.35;
padding: 16px 32px;
border-radius: 12px;
text-decoration: none;
align-self: flex-start;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt_us .au_step_text_card .au_card_link:hover {
background: #FFE6E8;
box-shadow: 2px 4px 28px 0 #80e11717
}

@media (max-width: 1366px) {

.abt_us .au_intro_inner,
.abt_us .au_story_inner,
.abt_us .au_method_inner {
padding: 0 32px
}

.abt_us .au_img_col {
flex: 0 0 380px
}

.abt_us .au_divider_dots,
.abt_us .au_divider_dots2 {
padding: 0 32px
}
}

@media (max-width: 768px) {
.abt_us .au_intro {
padding: 64px 0 32px
}

.abt_us .au_intro_inner {
flex-direction: column;
padding: 0 32px;
gap: 32px
}

.abt_us .au_img_col {
flex: 0 0 auto;
width: 100%
}

.abt_us .au_img_frame img {
height: 280px
}

.abt_us .au_h1 {
font-size: 37px
}

.abt_us .au_story_inner,
.abt_us .au_method_inner {
padding: 0 32px
}

.abt_us .au_two_col {
flex-direction: column;
gap: 32px
}

.abt_us .au_two_col .au_col_left {
border-right: none;
padding-right: 0;
border-bottom: 1px solid #2f31bb1f;
padding-bottom: 32px
}

.abt_us .au_metrics_strip {
flex-direction: column;
gap: 16px
}

.abt_us .au_step_img_row {
flex-direction: column
}

.abt_us .au_story_head .au_sh2,
.abt_us .au_method_head .au_sh2b {
font-size: 27px
}

.abt_us .au_divider_dots,
.abt_us .au_divider_dots2 {
padding: 0 32px
}
}

@media (max-width: 375px) {

.abt_us .au_intro_inner,
.abt_us .au_story_inner,
.abt_us .au_method_inner {
padding: 0 16px
}

.abt_us .au_h1 {
font-size: 27px
}

.abt_us .au_actions {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.abt_us .au_step {
flex-direction: column;
gap: 16px
}

.abt_us .au_divider_dots,
.abt_us .au_divider_dots2 {
padding: 0 16px
}

.abt_us .au_story_head .au_sh2,
.abt_us .au_method_head .au_sh2b {
font-size: 20px
}
}

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

.cont_us *,
.cont_us ::before,
.cont_us ::after {
box-sizing: border-box
}

.cont_us ::selection {
background: #2F31BB;
color: #fff;
font-weight: 700
}

.cont_us .reach_panel {
display: flex;
flex-direction: row;
min-height: 90vh;
max-width: 1400px;
margin: 0 auto;
padding: 96px 64px;
gap: 64px;
align-items: flex-start
}

.cont_us .reach_left {
flex: 0 0 40%;
max-width: 40%;
display: flex;
flex-direction: column;
gap: 32px;
position: sticky;
top: 64px
}

.cont_us .reach_right {
flex: 1 1 60%;
max-width: 60%;
display: flex;
flex-direction: column;
gap: 32px
}

.cont_us .reach_eyebrow {
display: inline-block;
font-size: 13px;
letter-spacing: .08em;
text-transform: uppercase;
color: #2F31BB;
font-weight: 700;
padding: 8px 16px;
border: 2px solid #2F31BB;
border-radius: 2px;
width: fit-content
}

.cont_us .reach_h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: .01em;
color: #111;
margin: 0;
font-weight: 900
}

.cont_us .reach_h1 .accent_word {
color: #80E117
}

.cont_us .reach_desc {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #333;
margin: 0
}

.cont_us .reach_desc .first_word {
text-transform: uppercase;
color: #2F31BB;
font-weight: 700
}

.cont_us .info_stack {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px
}

.cont_us .info_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 12px;
box-shadow: 2px 4px 28px 0 #2f31bb17;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .info_item:hover {
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.cont_us .info_icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 12px;
background: linear-gradient(135deg, #80E117 0%, #2F31BB 100%);
display: flex;
align-items: center;
justify-content: center
}

.cont_us .info_icon svg {
width: 20px;
height: 20px
}

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

.cont_us .info_label {
font-size: 13px;
letter-spacing: .02em;
color: #2F31BB;
font-weight: 700;
text-transform: uppercase
}

.cont_us .info_val {
font-size: 14px;
line-height: 1.35;
color: #222;
letter-spacing: .01em
}

.cont_us .info_val a {
color: #222;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .info_val a:hover {
color: #2F31BB
}

.cont_us .diamond_deco {
width: 48px;
height: 48px;
background: linear-gradient(135deg, #80E117 0%, #2F31BB 60%, #FFE6E8 100%);
transform: rotate(45deg);
border-radius: 2px;
margin-top: 16px;
box-shadow: 2px 4px 28px 0 #80e11717
}

.cont_us .form_card {
background: #fff;
border-radius: 20px;
padding: 64px;
box-shadow: 2px 10px 36px 0 #2f31bb1c;
position: relative;
overflow: hidden
}

.cont_us .form_card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #80E117 0%, #2F31BB 60%, #FFE6E8 100%);
border-radius: 20px 20px 0 0
}

.cont_us .form_heading {
font-size: 27px;
line-height: 1.35;
letter-spacing: .01em;
color: #111;
font-weight: 800;
margin: 0 0 8px;
padding-left: 16px;
border-left: 3px solid #80E117
}

.cont_us .form_subtext {
font-size: 14px;
line-height: 1.55;
color: #555;
margin: 0 0 32px;
letter-spacing: .01em
}

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

.cont_us .field_row {
display: flex;
flex-direction: row;
gap: 16px
}

.cont_us .field_group {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.cont_us .field_label {
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
color: #2F31BB;
text-transform: uppercase
}

.cont_us .field_input {
width: 100%;
padding: 16px 16px 16px 44px;
font-size: 14px;
line-height: 1.35;
color: #111;
background: #f4f4f6;
border: 2px solid transparent;
border-radius: 12px;
outline: none;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1);
letter-spacing: .01em
}

.cont_us .field_input::placeholder {
color: #999;
font-size: 13px
}

.cont_us .field_input:focus {
border-color: #2F31BB;
background: #fff;
box-shadow: 2px 2px 6px 0 #2f31bb12
}

.cont_us .field_wrap {
position: relative;
display: flex;
align-items: center
}

.cont_us .field_wrap svg {
position: absolute;
left: 14px;
width: 16px;
height: 16px;
pointer-events: none;
color: #999
}

.cont_us .field_wrap .field_input {
padding-left: 44px
}

.cont_us .select_type {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.cont_us .type_opt {
display: none
}

.cont_us .type_lbl {
font-size: 13px;
font-weight: 600;
letter-spacing: .01em;
color: #555;
padding: 8px 16px;
border-radius: 20px;
border: 2px solid #ddd;
cursor: pointer;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1);
user-select: none
}

.cont_us .type_opt:checked+.type_lbl {
border-color: #2F31BB;
color: #2F31BB;
background: #f0f0ff;
font-weight: 700
}

.cont_us .cond_fields {
display: none;
flex-direction: column;
gap: 16px
}

.cont_us #type_video:checked~.form_grid .cond_video {
display: flex
}

.cont_us #type_pres:checked~.form_grid .cond_pres {
display: flex
}

.cont_us #type_both:checked~.form_grid .cond_video,
.cont_us #type_both:checked~.form_grid .cond_pres {
display: flex
}

.cont_us .textarea_wrap {
position: relative
}

.cont_us .field_textarea {
width: 100%;
padding: 16px;
font-size: 14px;
line-height: 1.55;
color: #111;
background: #f4f4f6;
border: 2px solid transparent;
border-radius: 12px;
outline: none;
resize: vertical;
min-height: 96px;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1);
letter-spacing: .01em
}

.cont_us .field_textarea::placeholder {
color: #999;
font-size: 13px
}

.cont_us .field_textarea:focus {
border-color: #2F31BB;
background: #fff;
box-shadow: 2px 2px 6px 0 #2f31bb12
}

.cont_us .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #FFE6E8;
border-radius: 12px
}

.cont_us .privacy_check {
width: 20px;
height: 20px;
flex-shrink: 0;
accent-color: #2F31BB;
margin-top: 2px;
cursor: pointer
}

.cont_us .privacy_text {
font-size: 13px;
line-height: 1.55;
color: #333;
letter-spacing: .01em
}

.cont_us .privacy_text a {
color: #2F31BB;
font-weight: 700;
text-decoration: underline;
text-underline-offset: 2px
}

.cont_us .submit_btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 64px;
font-size: 16px;
font-weight: 800;
letter-spacing: .02em;
color: #fff;
background: linear-gradient(100deg, #80E117 0%, #2F31BB 60%, #2F31BB 100%);
border: none;
border-radius: 12px;
cursor: pointer;
transition: background-position .25s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
background-size: 200% 100%;
background-position: right center;
box-shadow: 2px 4px 28px 0 #2f31bb17;
align-self: flex-start
}

.cont_us .submit_btn:hover {
background-position: left center;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.cont_us .submit_btn:focus {
outline: 3px solid #80E117;
outline-offset: 2px
}

.cont_us .submit_btn:active {
transform: scale(0.97)
}

.cont_us .submit_btn.shake {
animation: btn_shake .25s cubic-bezier(0.4, 0, 0.2, 1)
}

@keyframes btn_shake {
0% {
transform: translateX(0)
}

25% {
transform: translateX(-6px)
}

50% {
transform: translateX(6px)
}

75% {
transform: translateX(-4px)
}

100% {
transform: translateX(0)
}
}

.cont_us .geo_strip {
background: linear-gradient(135deg, #2F31BB 0%, #1a1d8a 100%);
padding: 64px;
position: relative
}

.cont_us .geo_strip::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='#ffffff0a' stroke-width='1'%3E%3Crect x='5' y='5' width='30' height='30'/%3E%3C/g%3E%3C/svg%3E");
background-size: 40px 40px;
pointer-events: none;
border-radius: 0
}

.cont_us .geo_inner {
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 1
}

.cont_us .geo_grid {
display: grid;
grid-template-columns: 1fr 1.4fr 2fr;
gap: 32px;
align-items: start
}

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

.cont_us .geo_label {
font-size: 13px;
letter-spacing: .08em;
text-transform: uppercase;
color: #80E117;
font-weight: 700
}

.cont_us .geo_val {
font-size: 16px;
line-height: 1.55;
color: #fff;
letter-spacing: .01em
}

.cont_us .geo_val a {
color: #fff;
text-decoration: none;
border-bottom: 1px solid #80e11766;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .geo_val a:hover {
border-color: #80E117
}

.cont_us .geo_heading {
font-size: 37px;
line-height: 1.1;
color: #fff;
font-weight: 900;
margin: 0;
letter-spacing: .01em
}

.cont_us .geo_heading span {
color: #80E117
}

.cont_us .geo_body {
font-size: 14px;
line-height: 1.55;
color: #ffffffbf;
margin: 0;
letter-spacing: .01em
}

.cont_us .geo_body .first_word {
text-transform: uppercase;
color: #80E117;
font-weight: 700
}

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

.cont_us .chart_heading {
font-size: 13px;
letter-spacing: .08em;
text-transform: uppercase;
color: #80E117;
font-weight: 700;
margin-bottom: 8px
}

.cont_us .chart_row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.cont_us .chart_num {
font-size: 13px;
font-weight: 700;
color: #ffffff80;
width: 20px;
flex-shrink: 0;
text-align: right
}

.cont_us .chart_label {
font-size: 13px;
color: #fffc;
width: 80px;
flex-shrink: 0
}

.cont_us .chart_bar_wrap {
flex: 1;
height: 20px;
background: #ffffff14;
border-radius: 2px;
overflow: hidden
}

.cont_us .chart_bar {
height: 100%;
border-radius: 2px;
background: linear-gradient(90deg, #80E117 0%, #2F31BB 100%);
transform-origin: left center;
animation: bar_grow .28s cubic-bezier(0.0, 0, 0.2, 1) both
}

@keyframes bar_grow {
from {
transform: scaleX(0)
}

to {
transform: scaleX(1)
}
}

.cont_us .chart_bar:nth-child(1) {
animation-delay: .05s
}

.cont_us .divider_geo {
width: 100%;
height: 16px;
display: flex;
flex-direction: row;
align-items: center;
overflow: hidden;
background: #2F31BB
}

.cont_us .divider_geo_inner {
display: flex;
flex-direction: row;
gap: 0;
width: 100%
}

.cont_us .divider_geo_inner span {
display: inline-block;
width: 16px;
height: 16px;
flex-shrink: 0
}

.cont_us .divider_geo_inner span:nth-child(odd) {
background: #80E117;
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
}

.cont_us .divider_geo_inner span:nth-child(even) {
background: transparent
}

.cont_us .fade_in {
opacity: 0;
animation: fade_reveal .28s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

.cont_us .fade_in.d1 {
animation-delay: .05s
}

.cont_us .fade_in.d2 {
animation-delay: .12s
}

.cont_us .fade_in.d3 {
animation-delay: .18s
}

.cont_us .fade_in.d4 {
animation-delay: .22s
}

@keyframes fade_reveal {
from {
opacity: 0;
transform: translateY(12px)
}

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

.cont_us .img_zone {
position: relative;
width: 100%;
border-radius: 12px;
overflow: hidden
}

.cont_us .img_zone img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
border-radius: 12px;
transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
border: 2px solid transparent
}

.cont_us .img_zone:hover img {
border-color: #80E117;
transform: scale(1.02)
}

.cont_us .img_vignette {
position: absolute;
inset: 0;
border-radius: 12px;
background: linear-gradient(to bottom, #00000014 0%, #00000059 100%);
pointer-events: none
}

@media (max-width: 1366px) {
.cont_us .reach_panel {
padding: 64px 32px;
gap: 32px
}

.cont_us .form_card {
padding: 32px
}

.cont_us .geo_strip {
padding: 64px 32px
}

.cont_us .reach_h1 {
font-size: 37px
}
}

@media (max-width: 768px) {
.cont_us .reach_panel {
flex-direction: column;
padding: 64px 16px;
gap: 32px
}

.cont_us .reach_left,
.cont_us .reach_right {
flex: none;
max-width: 100%;
width: 100%;
position: static
}

.cont_us .reach_h1 {
font-size: 37px
}

.cont_us .form_card {
padding: 32px 16px
}

.cont_us .field_row {
flex-direction: column
}

.cont_us .geo_grid {
grid-template-columns: 1fr;
gap: 32px
}

.cont_us .geo_strip {
padding: 64px 16px
}

.cont_us .submit_btn {
width: 100%;
justify-content: center
}
}

@media (max-width: 375px) {
.cont_us .reach_h1 {
font-size: 27px
}

.cont_us .form_card {
padding: 16px 8px
}

.cont_us .reach_panel {
padding: 32px 8px
}

.cont_us .geo_strip {
padding: 32px 8px
}
}

.success_page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background: #fff
}

.success_page .success_card {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 20px;
box-shadow: 2px 10px 36px 0 #2f31bb1c;
padding: 64px;
text-align: center;
position: relative
}

.success_page .success_card .check_wrap {
width: 72px;
height: 72px;
border-radius: 20px;
background: linear-gradient(135deg, #80E117 0%, #2F31BB 60%, #FFE6E8 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32px
}

.success_page .success_card .check_wrap svg {
display: block
}

.success_page .success_card .success_heading {
font-size: 37px;
line-height: 1.1;
letter-spacing: .01em;
color: #2F31BB;
margin: 0 0 16px
}

.success_page .success_card .success_heading span {
color: #80E117
}

.success_page .success_card .success_msg {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #2a2a3d;
margin: 0 0 32px
}

.success_page .success_card .divider_line {
width: 48px;
height: 2px;
border-radius: 2px;
background: linear-gradient(90deg, #80E117 0%, #2F31BB 100%);
margin: 0 auto 32px
}

.success_page .success_card .detail_note {
font-size: 14px;
line-height: 1.55;
letter-spacing: .02em;
color: #555570;
margin: 0 0 32px
}

.success_page .success_card .back_btn {
display: inline-block;
padding: 16px 32px;
border-radius: 12px;
background: linear-gradient(120deg, #80E117 0%, #2F31BB 80%, #FFE6E8 100%);
color: #fff;
font-size: 16px;
line-height: 1.35;
letter-spacing: .01em;
text-decoration: none;
border: none;
cursor: pointer;
transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
box-shadow: 2px 4px 28px 0 #2f31bb17
}

.success_page .success_card .back_btn:hover {
opacity: .88;
box-shadow: 2px 10px 36px 0 #2f31bb1c
}

.success_page .success_card .back_btn:focus {
outline: 3px solid #80E117;
outline-offset: 3px
}

.success_page .success_card .back_btn:active {
opacity: .78
}

@media (max-width: 768px) {
.success_page {
padding: 64px 16px
}

.success_page .success_card {
padding: 64px 32px
}

.success_page .success_card .success_heading {
font-size: 27px
}
}

@media (max-width: 375px) {
.success_page .success_card {
padding: 32px 16px;
border-radius: 12px
}

.success_page .success_card .success_heading {
font-size: 27px
}
}