@import "https://cdn.jsdelivr.net/npm/@fontsource/dm-sans@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/dm-sans@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/dm-sans@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/dm-sans@latest/700-italic.css";

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

body {
margin: 0;
padding: 0;
min-height: 100vh;
font-family: 'DM Sans', sans-serif
}

.pg-head {
position: relative;
overflow: hidden;
background: #fff
}

.pg-head::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #1C6CEC 0%, #3F3D3D 55%, #F16383 100%);
opacity: .96;
z-index: 0;
pointer-events: none
}

.pg-head::after {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 320px;
height: 320px;
border-radius: 50%;
background: #f163832e;
z-index: 0;
pointer-events: none
}

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

.head-top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24px 0 12px;
gap: 24px;
flex-wrap: wrap
}

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

.brand-img {
display: block;
width: 60px;
height: 60px;
object-fit: contain;
border: 1px solid #ffffffb3;
border-radius: 3px;
background: #ffffff1f;
box-shadow: -1px 1px 6px 0 #3f3d3d0d -1px 6px 18px 0 #3f3d3d17;
padding: 6px
}

.brand-name {
font-size: 22px;
font-weight: 700;
line-height: 1.2;
color: #fff;
letter-spacing: 0
}

.head-phone {
display: flex;
align-items: center;
gap: 6px;
text-decoration: none;
color: #fff;
font-size: 18px;
font-weight: 700;
line-height: 1.4;
padding: 12px 24px;
border-radius: 3px;
background: #ffffff1a;
border: 1px solid #ffffff4d;
transition: background .15s ease-out, border-color .18s ease;
min-height: 44px
}

.head-phone:hover {
background: #fff3;
border-color: #fff9
}

.head-phone:focus {
outline: 3px solid #F16383;
outline-offset: 2px
}

.phone-ico {
width: 18px;
height: 18px;
flex-shrink: 0
}

.head-bar {
width: 100%;
height: 1px;
background: #ffffff26;
margin: 0
}

.head-nav {
display: flex;
align-items: center;
padding: 12px 0 24px;
gap: 6px;
flex-wrap: wrap
}

.nav-lnk {
display: inline-flex;
align-items: center;
text-decoration: none;
color: #ffffffd1;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
padding: 12px 24px;
border-radius: 3px;
min-height: 44px;
transition: color .12s ease-out, background .15s ease;
position: relative
}

.nav-lnk:hover {
color: #fff;
background: #ffffff1a
}

.nav-lnk:focus {
outline: 3px solid #F16383;
outline-offset: 2px
}

.nav-lnk.cur {
color: #fff;
font-weight: 700;
background: #f1638338
}

.nav-lnk.cur::after {
content: '';
position: absolute;
bottom: 6px;
left: 24px;
right: 24px;
height: 2px;
background: #F16383;
border-radius: 32px
}

.pg-foot {
background: #3F3D3D;
color: #fff
}

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

.foot-brand {
display: flex;
flex-direction: column;
gap: 24px
}

.foot-logo-hold {
display: inline-flex;
align-items: center;
gap: 12px;
text-decoration: none
}

.foot-logo-img {
display: block;
width: 55px;
height: 55px;
object-fit: contain;
border: 1px solid #fff6;
border-radius: 3px;
background: #ffffff14;
box-shadow: -1px 6px 18px 0 #f1638317;
padding: 6px
}

.foot-brand-nm {
font-size: 18px;
font-weight: 700;
line-height: 1.2;
color: #fff
}

.foot-tagline {
font-size: 15px;
line-height: 1.6;
color: #ffffffa6
}

.foot-col-head {
font-size: 15px;
font-weight: 700;
line-height: 1.2;
color: #F16383;
margin: 0 0 24px;
padding: 0
}

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

.foot-links li {
margin: 0;
padding: 0
}

.foot-lnk {
text-decoration: none;
color: #ffffffb8;
font-size: 15px;
line-height: 1.4;
transition: color .12s ease-out;
display: inline-block;
padding: 6px 0;
min-height: 44px;
display: inline-flex;
align-items: center
}

.foot-lnk:hover {
color: #F16383
}

.foot-lnk:focus {
outline: 3px solid #1C6CEC;
outline-offset: 2px;
border-radius: 3px
}

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

.foot-contact-list li {
margin: 0;
padding: 0
}

.foot-contact-item {
display: flex;
align-items: flex-start;
gap: 12px
}

.foot-ico {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px
}

.foot-contact-val {
font-size: 15px;
line-height: 1.6;
color: #ffffffb8
}

.foot-contact-val a {
color: #ffffffb8;
text-decoration: none;
transition: color .12s ease-out
}

.foot-contact-val a:hover {
color: #F16383
}

.foot-contact-val a:focus {
outline: 3px solid #1C6CEC;
outline-offset: 2px;
border-radius: 3px
}

.foot-divider {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
height: 1px;
background: #ffffff1f
}

.foot-lower {
max-width: 1440px;
margin: 0 auto;
padding: 24px 40px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.foot-copy {
font-size: 15px;
line-height: 1.4;
color: #ffffff73
}

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

.foot-policy-lnk {
text-decoration: none;
color: #ffffff73;
font-size: 15px;
line-height: 1.4;
transition: color .14s ease;
padding: 6px 0;
min-height: 44px;
display: inline-flex;
align-items: center
}

.foot-policy-lnk:hover {
color: #ffffffd1
}

.foot-policy-lnk:focus {
outline: 3px solid #1C6CEC;
outline-offset: 2px;
border-radius: 3px
}

@media (max-width: 1024px) {
.head-shell {
padding: 0 24px
}

.foot-upper {
padding: 40px 24px;
grid-template-columns: 1fr 1fr
}

.foot-brand {
grid-column: 1 / -1
}

.foot-divider {
padding: 0 24px
}

.foot-lower {
padding: 24px 24px 40px
}
}

@media (max-width: 768px) {
.head-top {
padding: 12px 0
}

.brand-name {
font-size: 18px
}

.head-phone {
font-size: 15px;
padding: 12px
}

.head-nav {
gap: 0;
padding: 6px 0 12px
}

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

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

.foot-brand {
grid-column: auto
}

.foot-lower {
flex-direction: column;
align-items: flex-start;
gap: 12px
}
}

@media (max-width: 320px) {
.head-shell {
padding: 0 12px
}

.brand-name {
font-size: 15px
}

.head-phone {
font-size: 15px;
padding: 12px 6px
}

.nav-lnk {
padding: 12px 6px
}

.foot-upper {
padding: 24px 12px 12px
}

.foot-divider {
padding: 0 12px
}

.foot-lower {
padding: 12px 12px 24px
}
}

.ck-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
margin: auto;
width: 100%;
z-index: 4000;
background: #fff;
box-shadow: -1px 10px 48px 0 #3f3d3d24;
display: none;
transform: translateY(-100%);
transition: transform .26s ease-out
}

.ck-bar.vis {
transform: translateY(0)
}

.ck-inner {
max-width: 1440px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.ck-msg {
flex: 1;
min-width: 200px
}

.ck-note {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0;
padding: 0
}

.ck-head {
font-size: 18px;
font-weight: 700;
line-height: 1.2;
color: #3F3D3D;
margin: 0 0 6px;
padding: 0
}

.ck-btns {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
flex-shrink: 0
}

.ck-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 12px 24px;
border-radius: 3px;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
cursor: pointer;
transition: color .12s ease-out, border-color .15s ease;
border: 2px solid #1C6CEC;
background: transparent;
color: #1C6CEC;
font-family: 'DM Sans', sans-serif
}

.ck-btn:hover {
color: #F16383;
border-color: #F16383
}

.ck-btn:focus {
outline: 3px solid #3F3D3D;
outline-offset: 2px
}

@media (max-width: 768px) {
.ck-inner {
padding: 24px;
flex-direction: column;
align-items: flex-start
}

.ck-btns {
width: 100%
}

.ck-btn {
flex: 1;
justify-content: center
}
}

.legal-container {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px;
color: #3F3D3D;
line-height: 1.9
}

.legal-container h1 {
font-size: 68px;
line-height: 1.2;
color: #3F3D3D;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #F16383
}

.legal-container h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin-top: 80px;
margin-bottom: 24px
}

.legal-container h3 {
font-size: 22px;
line-height: 1.4;
color: #3F3D3D;
margin-top: 40px;
margin-bottom: 12px
}

.legal-container h4 {
font-size: 18px;
line-height: 1.4;
color: #1C6CEC;
margin-top: 24px;
margin-bottom: 12px
}

.legal-container h5 {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin-top: 24px;
margin-bottom: 6px;
text-transform: uppercase;
letter-spacing: .05em
}

.legal-container h6 {
font-size: 15px;
line-height: 1.6;
color: #F16383;
margin-top: 24px;
margin-bottom: 6px
}

.legal-container p {
font-size: 18px;
line-height: 1.9;
margin-top: 0;
margin-bottom: 24px;
color: #3F3D3D
}

.legal-container ul {
font-size: 18px;
line-height: 1.9;
margin-top: 0;
margin-bottom: 24px;
padding-left: 40px;
list-style: none
}

.legal-container ol {
font-size: 18px;
line-height: 1.9;
margin-top: 0;
margin-bottom: 24px;
padding-left: 40px;
list-style: none;
counter-reset: policy-counter
}

.legal-container ul li {
position: relative;
margin-bottom: 12px;
padding-left: 24px;
color: #3F3D3D
}

.legal-container ul li::before {
content: "";
position: absolute;
left: 0;
top: 12px;
width: 8px;
height: 8px;
background-color: #F16383;
border-radius: 50%;
transform: translateY(-50%)
}

.legal-container ol li {
position: relative;
margin-bottom: 12px;
padding-left: 24px;
color: #3F3D3D;
counter-increment: policy-counter
}

.legal-container ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 15px;
font-weight: 700;
color: #1C6CEC;
line-height: 1.9
}

.legal-container a {
color: #1C6CEC;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .15s ease-out, text-decoration-color .2s ease
}

.legal-container a:hover {
color: #F16383;
text-decoration-color: #F16383
}

.legal-container table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 15px;
line-height: 1.6;
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.legal-container thead {
background-color: #3F3D3D
}

.legal-container thead th {
color: #fff;
font-size: 15px;
font-weight: 700;
padding: 12px 24px;
text-align: left;
border: none
}

.legal-container tbody tr {
border-bottom: 1px solid #3f3d3d1a;
transition: background-color .15s ease-out
}

.legal-container tbody tr:last-child {
border-bottom: none
}

.legal-container tbody tr:hover {
background-color: #1c6cec0a
}

.legal-container tbody tr:nth-child(even) {
background-color: #3f3d3d08
}

.legal-container tbody tr:nth-child(even):hover {
background-color: #1c6cec0a
}

.legal-container td {
padding: 12px 24px;
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
vertical-align: top;
border: none
}

.legal-container th {
padding: 12px 24px;
vertical-align: middle
}

.legal-container hr {
border: none;
border-top: 1px solid #3f3d3d26;
margin-top: 40px;
margin-bottom: 40px
}

.legal-container div {
margin-bottom: 24px
}

@media (max-width: 1024px) {
.legal-container {
padding: 80px 40px
}

.legal-container h1 {
font-size: 38px
}

.legal-container h2 {
font-size: 22px;
margin-top: 40px
}
}

@media (max-width: 768px) {
.legal-container {
padding: 40px 24px
}

.legal-container h1 {
font-size: 38px;
margin-bottom: 24px;
padding-bottom: 12px
}

.legal-container h2 {
font-size: 22px;
margin-top: 40px;
margin-bottom: 12px
}

.legal-container h3 {
font-size: 18px;
margin-top: 24px
}

.legal-container p,
.legal-container ul,
.legal-container ol {
font-size: 15px
}

.legal-container ul {
padding-left: 24px
}

.legal-container ol {
padding-left: 24px
}

.legal-container table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}

.legal-container td,
.legal-container thead th {
padding: 12px;
white-space: nowrap
}
}

@media (max-width: 320px) {
.legal-container {
padding: 24px 12px
}

.legal-container h1 {
font-size: 22px
}

.legal-container h2 {
font-size: 18px;
margin-top: 24px
}

.legal-container h3 {
font-size: 15px
}
}

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

.lp .prog-hero {
display: grid;
grid-template-columns: 1fr 420px;
min-height: 600px;
background: linear-gradient(127deg, #3F3D3D 0%, #F16383 52%, #1C6CEC 100%);
position: relative
}

.lp .prog-hero::after {
content: '';
position: absolute;
bottom: -48px;
left: 0;
right: 0;
height: 96px;
background: linear-gradient(127deg, #3F3D3D 0%, #F16383 52%, #1C6CEC 100%);
clip-path: polygon(0 0, 100% 0, 100% 40%, 0 100%);
z-index: 1
}

.lp .prog-hero::before {
content: '';
position: absolute;
top: 60px;
left: 40%;
width: 1px;
height: 70%;
background: #ffffff26;
transform: rotate(-18deg);
transform-origin: top center
}

.lp .hero-left {
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}

.lp .hero-tag {
display: inline-block;
font-size: 15px;
line-height: 1.4;
color: #ffffffbf;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 24px;
border-bottom: 1px solid #ffffff4d;
padding-bottom: 12px
}

.lp .hero-h1 {
font-size: 68px;
line-height: 1.2;
color: #fff;
margin: 0 0 24px
}

.lp .hero-h1 span {
display: block;
font-size: 38px;
line-height: 1.4;
color: #ffffffd1
}

.lp .hero-desc {
font-size: 18px;
line-height: 1.6;
color: #ffffffe0;
max-width: 520px;
margin: 0 0 40px
}

.lp .hero-cta {
display: inline-flex;
align-items: center;
gap: 12px;
background: #fff;
color: #3F3D3D;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
padding: 12px 40px;
border-radius: 3px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: -1px 10px 48px 0 #f1638324;
transition: color .15s ease-out, padding-left .18s ease-out;
align-self: flex-start
}

.lp .hero-cta svg {
opacity: 0;
width: 0;
transition: opacity .15s ease-out, width .18s ease-out
}

.lp .hero-cta:hover {
color: #F16383;
padding-left: 24px
}

.lp .hero-cta:hover svg {
opacity: 1;
width: 16px
}

.lp .hero-right {
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-end
}

.lp .hero-img-wrap {
width: 100%;
height: 100%;
position: relative;
overflow: hidden
}

.lp .hero-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
filter: brightness(0.88) contrast(1.06)
}

.lp .hero-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, #f163832e 0%, #1c6cec38 100%)
}

.lp .hero-img-wrap:hover img {
outline: 3px solid #ffffff80;
outline-offset: -3px
}

.lp .hero-metrics {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px
}

.lp .metric {
display: flex;
flex-direction: column
}

.lp .metric-val {
font-size: 38px;
line-height: 1.2;
color: #fff;
font-weight: 700
}

.lp .metric-lbl {
font-size: 15px;
line-height: 1.4;
color: #ffffffb3
}

.lp .prog-detail {
padding: 120px 80px 80px;
background: #fff;
position: relative;
z-index: 2
}

.lp .detail-grid {
display: grid;
grid-template-columns: 240px 1fr;
gap: 80px;
max-width: 1200px;
margin: 0 auto
}

.lp .detail-sidebar {
display: flex;
flex-direction: column;
gap: 40px
}

.lp .sidebar-label {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 6px
}

.lp .sidebar-val {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D
}

.lp .sidebar-divider {
width: 40px;
height: 2px;
background: linear-gradient(90deg, #F16383, #1C6CEC);
border-radius: 3px
}

.lp .detail-body {
display: flex;
flex-direction: column;
gap: 40px
}

.lp .body-lead {
font-size: 22px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.lp .body-text {
font-size: 18px;
line-height: 1.9;
color: #3F3D3D;
margin: 0
}

.lp .body-text-sm {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.lp .steps-track {
display: flex;
flex-direction: row;
gap: 0;
margin: 40px 0;
position: relative
}

.lp .steps-track::before {
content: '';
position: absolute;
top: 28px;
left: 28px;
right: 28px;
height: 2px;
background: linear-gradient(90deg, #F16383 0%, #1C6CEC 100%);
z-index: 0
}

.lp .step-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
position: relative;
z-index: 1
}

.lp .step-ring {
width: 56px;
height: 56px;
border-radius: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
position: relative;
flex-shrink: 0
}

.lp .step-ring svg {
position: absolute;
top: 0;
left: 0;
width: 56px;
height: 56px
}

.lp .step-num {
font-size: 18px;
line-height: 1.2;
font-weight: 700;
color: #3F3D3D;
position: relative;
z-index: 1
}

.lp .step-label {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
text-align: center;
max-width: 120px
}

.lp .detail-img-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px
}

.lp .img-frame {
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 6px 18px 0 #f1638317;
position: relative;
transition: box-shadow .18s ease-out
}

.lp .img-frame::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid transparent;
border-radius: 3px;
transition: border-color .16s ease-out;
pointer-events: none
}

.lp .img-frame:hover::after {
border-color: #F16383
}

.lp .img-frame:hover {
box-shadow: -1px 10px 48px 0 #f1638324
}

.lp .img-frame img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: top;
display: block;
transition: transform .18s ease-out
}

.lp .img-frame:hover img {
transform: scale(1.025)
}

.lp .review-strip {
display: flex;
flex-direction: row;
gap: 24px;
align-items: stretch;
margin-top: 40px
}

.lp .review-card {
flex: 1;
background: #fff;
border-radius: 3px;
padding: 24px;
box-shadow: -1px 6px 18px 0 #3f3d3d17;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .16s ease-out
}

.lp .review-card:hover {
box-shadow: -1px 10px 48px 0 #3f3d3d24
}

.lp .reviewer-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.lp .reviewer-img {
width: 52px;
height: 68px;
border-radius: 3px;
overflow: hidden;
flex-shrink: 0
}

.lp .reviewer-img img {
width: 52px;
height: 68px;
object-fit: cover;
object-position: top;
display: block
}

.lp .reviewer-name {
font-size: 15px;
line-height: 1.4;
font-weight: 700;
color: #3F3D3D
}

.lp .reviewer-role {
font-size: 15px;
line-height: 1.4;
color: #F16383
}

.lp .review-stars {
display: flex;
flex-direction: row;
gap: 6px
}

.lp .star {
width: 14px;
height: 14px
}

.lp .review-text {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.lp .rating-block {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 24px 40px;
background: linear-gradient(127deg, #f1638314 0%, #1c6cec14 100%);
border-radius: 32px;
gap: 6px;
flex-shrink: 0;
box-shadow: inset 0 4px 6px 0 #f1638312
}

.lp .rating-big {
font-size: 68px;
line-height: 1.2;
font-weight: 700;
color: #3F3D3D
}

.lp .rating-lbl {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D
}

.lp .prog-reveal {
animation: lp-expand .55s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes lp-expand {
from {
transform: scaleY(0);
transform-origin: top;
opacity: 0
}

to {
transform: scaleY(1);
transform-origin: top;
opacity: 1
}
}

.lp .detail-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0 0 24px;
position: relative
}

.lp .detail-h2 .faded-num {
position: absolute;
top: -12px;
left: -24px;
font-size: 68px;
line-height: 1.2;
color: #f1638314;
font-weight: 700;
pointer-events: none;
user-select: none;
z-index: 0
}

.lp .detail-h2 .h2-text {
position: relative;
z-index: 1
}

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

.lp .module-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 24px;
border-radius: 3px;
background: #fff;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
transition: box-shadow .15s ease-out
}

.lp .module-item:hover {
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.lp .mod-num {
font-size: 22px;
line-height: 1.2;
font-weight: 700;
color: #F16383;
flex-shrink: 0;
min-width: 32px
}

.lp .mod-content {
display: flex;
flex-direction: column;
gap: 6px
}

.lp .mod-title {
font-size: 18px;
line-height: 1.4;
font-weight: 700;
color: #3F3D3D
}

.lp .mod-desc {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.lp .accent-word {
letter-spacing: .08em;
color: #1C6CEC
}

@media (max-width: 1024px) {
.lp .prog-hero {
grid-template-columns: 1fr 340px
}

.lp .hero-left {
padding: 80px 24px 80px 40px
}

.lp .hero-h1 {
font-size: 38px
}

.lp .hero-h1 span {
font-size: 22px
}

.lp .prog-detail {
padding: 100px 40px 80px
}

.lp .detail-grid {
grid-template-columns: 180px 1fr;
gap: 40px
}
}

@media (max-width: 768px) {
.lp .prog-hero {
grid-template-columns: 1fr
}

.lp .hero-right {
height: 320px
}

.lp .hero-left {
padding: 80px 24px 40px
}

.lp .hero-h1 {
font-size: 38px
}

.lp .hero-h1 span {
font-size: 22px
}

.lp .hero-metrics {
flex-wrap: wrap;
gap: 24px
}

.lp .prog-detail {
padding: 80px 24px
}

.lp .detail-grid {
grid-template-columns: 1fr;
gap: 40px
}

.lp .detail-sidebar {
flex-direction: row;
flex-wrap: wrap;
gap: 24px
}

.lp .steps-track {
flex-direction: column;
gap: 24px
}

.lp .steps-track::before {
top: 28px;
bottom: 28px;
left: 27px;
right: auto;
width: 2px;
height: auto
}

.lp .step-item {
flex-direction: row;
align-items: center;
justify-content: flex-start;
gap: 12px
}

.lp .step-label {
text-align: left
}

.lp .detail-img-pair {
grid-template-columns: 1fr
}

.lp .review-strip {
flex-direction: column
}
}

@media (max-width: 320px) {
.lp .hero-h1 {
font-size: 22px
}

.lp .hero-left {
padding: 40px 12px 24px
}

.lp .prog-detail {
padding: 60px 12px 40px
}

.lp .metric-val {
font-size: 22px
}
}

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

.frt .pg-wrap {
width: 100%
}

.frt .divider-shape {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 6px 0
}

.frt .divider-shape .d-line {
height: 1px;
width: 80px;
background: #F16383;
opacity: .35
}

.frt .divider-shape .d-dot {
width: 8px;
height: 8px;
background: #1C6CEC;
transform: rotate(45deg);
border-radius: 3px
}

.frt .tb {
background: #fff;
padding: 80px 40px;
position: relative;
display: flex;
flex-direction: column;
align-items: center
}

.frt .tb-deco {
position: absolute;
top: 0;
right: 0;
width: 220px;
height: 220px;
pointer-events: none;
overflow: hidden
}

.frt .tb-deco::before {
content: '';
position: absolute;
top: 20px;
right: 20px;
width: 160px;
height: 160px;
border: 1px solid #1C6CEC;
opacity: .12;
transform: rotate(15deg);
border-radius: 3px
}

.frt .tb-deco::after {
content: '';
position: absolute;
top: 40px;
right: 40px;
width: 110px;
height: 110px;
border: 1px solid #F16383;
opacity: .1;
transform: rotate(30deg);
border-radius: 3px
}

.frt .tb-inner {
max-width: 860px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.frt .tb-label {
font-size: 15px;
line-height: 1.4;
color: #1C6CEC;
letter-spacing: .12em;
text-transform: uppercase
}

.frt .tb-h1 {
font-size: 68px;
line-height: 1.2;
color: #3F3D3D;
text-align: center;
margin: 0
}

.frt .tb-h1 .outlined {
-webkit-text-stroke: 2px #F16383;
color: transparent
}

.frt .tb-sub {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
text-align: center;
max-width: 560px;
opacity: .82
}

.frt .tb-img-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-end;
width: 100%;
justify-content: center;
margin-top: 24px
}

.frt .tb-img-a {
width: 320px;
flex-shrink: 0;
border-radius: 3px;
overflow: hidden;
animation: tb-bounce .7s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.frt .tb-img-a img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
filter: saturate(1.15) brightness(1.05) sepia(0.12);
display: block
}

.frt .tb-img-b {
width: 240px;
flex-shrink: 0;
border-radius: 3px;
overflow: hidden;
animation: tb-bounce .7s .12s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.frt .tb-img-b img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
filter: saturate(1.15) brightness(1.05) sepia(0.12);
display: block
}

.frt .tb-cta-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
flex-wrap: wrap;
justify-content: center
}

.frt .btn-pri {
display: inline-flex;
align-items: center;
gap: 6px;
background: #F16383;
color: #fff;
font-size: 15px;
line-height: 1.4;
padding: 12px 24px;
border-radius: 3px;
border: none;
cursor: pointer;
box-shadow: -1px 6px 18px 0 #f1638317;
transition: background .15s ease-out, box-shadow .18s ease;
text-decoration: none;
overflow: hidden
}

.frt .btn-pri:hover {
background: #d94f6e;
box-shadow: -1px 10px 48px 0 #f1638324
}

.frt .btn-pri:hover .btn-icon {
transform: translateX(0);
opacity: 1
}

.frt .btn-pri .btn-text {
transition: transform .15s ease-out
}

.frt .btn-pri:hover .btn-text {
transform: translateX(6px)
}

.frt .btn-icon {
width: 16px;
height: 16px;
transform: translateX(-8px);
opacity: 0;
transition: transform .15s ease-out, opacity .12s ease;
flex-shrink: 0
}

.frt .btn-sec {
display: inline-flex;
align-items: center;
font-size: 15px;
line-height: 1.4;
padding: 12px 24px;
border-radius: 3px;
border: 1.5px solid #3F3D3D;
background: transparent;
color: #3F3D3D;
cursor: pointer;
transition: border-color .15s ease, color .15s ease;
text-decoration: none
}

.frt .btn-sec:hover {
border-color: #1C6CEC;
color: #1C6CEC
}

@keyframes tb-bounce {
0% {
transform: translateY(-30px);
opacity: 0
}

60% {
transform: translateY(8px);
opacity: 1
}

80% {
transform: translateY(-4px)
}

100% {
transform: translateY(0);
opacity: 1
}
}

.frt .ltv {
background: #F7F5F2;
padding: 80px 40px;
position: relative
}

.frt .ltv-diag {
position: absolute;
bottom: 0;
left: 0;
width: 180px;
height: 180px;
pointer-events: none;
overflow: hidden
}

.frt .ltv-diag::before {
content: '';
position: absolute;
bottom: 10px;
left: -60px;
width: 200px;
height: 1px;
background: #3F3D3D;
opacity: .08;
transform: rotate(-35deg);
transform-origin: left center
}

.frt .ltv-diag::after {
content: '';
position: absolute;
bottom: 28px;
left: -60px;
width: 200px;
height: 1px;
background: #3F3D3D;
opacity: .05;
transform: rotate(-35deg);
transform-origin: left center
}

.frt .ltv-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.frt .ltv-left {
display: flex;
flex-direction: column;
gap: 24px
}

.frt .sec-label {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .1em;
text-transform: uppercase
}

.frt .ltv-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.frt .ltv-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
line-height: 1.2;
color: #1C6CEC;
opacity: .06;
font-weight: 700;
pointer-events: none;
z-index: 0
}

.frt .ltv-h2 span {
position: relative;
z-index: 1
}

.frt .ltv-aside-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.frt .ltv-aside {
flex: 0 0 80px;
font-size: 15px;
line-height: 1.6;
color: #F16383;
opacity: .75;
font-style: italic;
padding-top: 4px
}

.frt .ltv-body {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.frt .ltv-body p {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.frt .ltv-body p.micro {
font-size: 15px;
line-height: 1.4;
opacity: .72
}

.frt .ltv-right {
display: flex;
flex-direction: column;
gap: 24px
}

.frt .ltv-img-wrap {
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 10px 48px 0 #3f3d3d24
}

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

.frt .ltv-stat-row {
display: flex;
flex-direction: row;
gap: 24px
}

.frt .ltv-stat {
flex: 1;
background: #fff;
border-radius: 3px;
padding: 24px;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
display: flex;
flex-direction: column;
gap: 6px
}

.frt .ltv-stat .s-num {
font-size: 38px;
line-height: 1.2;
color: #1C6CEC;
font-weight: 700
}

.frt .ltv-stat .s-label {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
opacity: .7
}

.frt .who {
background: #3F3D3D;
padding: 80px 40px;
position: relative
}

.frt .who-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 40px
}

.frt .who-top {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.frt .who-head {
flex: 0 0 380px;
display: flex;
flex-direction: column;
gap: 24px
}

.frt .who-h2 {
font-size: 38px;
line-height: 1.2;
color: #fff;
margin: 0;
position: relative
}

.frt .who-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
color: #F16383;
opacity: .08;
font-weight: 700;
pointer-events: none
}

.frt .who-h2 .outlined-w {
-webkit-text-stroke: 1.5px #F16383;
color: transparent
}

.frt .who-desc {
font-size: 18px;
line-height: 1.6;
color: #fff;
opacity: .78;
margin: 0
}

.frt .who-cols {
flex: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.frt .who-col {
display: flex;
flex-direction: column;
gap: 12px
}

.frt .who-col-label {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .08em;
text-transform: uppercase;
padding-bottom: 6px;
border-bottom: 1px solid #f1638340
}

.frt .who-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px;
border-radius: 3px;
background: #ffffff0a;
transition: background .16s ease-out
}

.frt .who-item:hover {
background: #ffffff14
}

.frt .who-dot {
width: 8px;
height: 8px;
border-radius: 3px;
background: #1C6CEC;
flex-shrink: 0;
margin-top: 6px
}

.frt .who-dot.no {
background: #ffffff40
}

.frt .who-item p {
font-size: 15px;
line-height: 1.6;
color: #fff;
opacity: .82;
margin: 0
}

.frt .who-img-strip {
display: flex;
flex-direction: row;
gap: 24px
}

.frt .who-img-a {
flex: 1;
border-radius: 3px;
overflow: hidden
}

.frt .who-img-a img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
opacity: .75
}

.frt .inv {
background: #fff;
padding: 80px 40px;
position: relative
}

.frt .inv-diag {
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 200px;
pointer-events: none;
overflow: hidden
}

.frt .inv-diag::before {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 220px;
height: 1px;
background: #F16383;
opacity: .1;
transform: rotate(40deg);
transform-origin: right center
}

.frt .inv-diag::after {
content: '';
position: absolute;
top: -20px;
right: -40px;
width: 220px;
height: 1px;
background: #1C6CEC;
opacity: .07;
transform: rotate(40deg);
transform-origin: right center
}

.frt .inv-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 40px
}

.frt .inv-top {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.frt .inv-head {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px
}

.frt .inv-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.frt .inv-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
color: #F16383;
opacity: .06;
font-weight: 700;
pointer-events: none
}

.frt .inv-h2 span {
position: relative;
z-index: 1
}

.frt .inv-desc {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .8;
margin: 0
}

.frt .inv-cards {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.frt .inv-card {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
padding: 24px;
border-radius: 3px;
background: #F7F5F2;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
transition: box-shadow .16s ease-out;
position: relative;
overflow: hidden
}

.frt .inv-card::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 20px 20px;
border-color: transparent transparent #1C6CEC;
opacity: .18;
transition: border-width .18s ease-out
}

.frt .inv-card:hover::after {
border-width: 0 0 36px 36px
}

.frt .inv-card:hover {
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.frt .inv-card-num {
font-size: 38px;
line-height: 1.2;
color: #1C6CEC;
font-weight: 700;
flex-shrink: 0;
opacity: .22;
min-width: 48px
}

.frt .inv-card-body {
display: flex;
flex-direction: column;
gap: 6px
}

.frt .inv-card-h {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.frt .inv-card-p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .72;
margin: 0
}

.frt .inv-img-wrap {
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

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

.frt .appr {
padding: 80px 40px;
position: relative;
background-image: url(./photo_gallery/samples_3_3.jpg);
background-size: cover;
background-position: center
}

.frt .appr-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #f7f5f2e8;
pointer-events: none
}

.frt .appr-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
display: flex;
flex-direction: column;
gap: 40px
}

.frt .appr-header {
display: flex;
flex-direction: column;
gap: 12px;
max-width: 560px
}

.frt .appr-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.frt .appr-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
color: #F16383;
opacity: .07;
font-weight: 700;
pointer-events: none
}

.frt .appr-h2 span {
position: relative;
z-index: 1
}

.frt .appr-sub {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .8;
margin: 0
}

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

.frt .appr-step {
background: #fff;
border-radius: 3px;
padding: 24px;
box-shadow: -1px 6px 18px 0 #3f3d3d17;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .16s ease
}

.frt .appr-step:hover {
box-shadow: -1px 10px 48px 0 #3f3d3d24
}

.frt .appr-step-n {
font-size: 38px;
line-height: 1.2;
color: #1C6CEC;
font-weight: 700;
opacity: .18
}

.frt .appr-step-h {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.frt .appr-step-p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .75;
margin: 0
}

.frt .ppl {
background: #fff;
padding: 80px 40px;
position: relative
}

.frt .ppl-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 40px
}

.frt .ppl-header {
display: flex;
flex-direction: column;
gap: 12px;
max-width: 480px
}

.frt .ppl-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.frt .ppl-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
color: #1C6CEC;
opacity: .06;
font-weight: 700;
pointer-events: none
}

.frt .ppl-h2 span {
position: relative;
z-index: 1
}

.frt .ppl-sub {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .8;
margin: 0
}

.frt .ppl-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.frt .ppl-card {
display: flex;
flex-direction: row;
background: #F7F5F2;
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
transition: box-shadow .18s ease-out
}

.frt .ppl-card:hover {
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.frt .ppl-portrait {
flex: 0 0 160px
}

.frt .ppl-portrait img {
width: 160px;
height: 224px;
object-fit: cover;
object-position: top;
display: block
}

.frt .ppl-card-body {
flex: 1;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.frt .ppl-name {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.frt .ppl-role {
font-size: 15px;
line-height: 1.4;
color: #1C6CEC;
margin: 0
}

.frt .ppl-bio {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .78;
margin: 0
}

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

.frt .ppl-extra-card {
background: #F7F5F2;
border-radius: 3px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: -1px 1px 6px 0 #3f3d3d0d
}

.frt .ppl-extra-name {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.frt .ppl-extra-role {
font-size: 15px;
line-height: 1.4;
color: #F16383;
margin: 0
}

.frt .ppl-extra-bio {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .75;
margin: 0
}

.frt .cond {
background: #F7F5F2;
padding: 80px 40px;
position: relative
}

.frt .cond-diag {
position: absolute;
bottom: 0;
right: 0;
width: 200px;
height: 200px;
pointer-events: none;
overflow: hidden
}

.frt .cond-diag::before {
content: '';
position: absolute;
bottom: -40px;
right: -40px;
width: 240px;
height: 1px;
background: #3F3D3D;
opacity: .07;
transform: rotate(-38deg);
transform-origin: right center
}

.frt .cond-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 40px
}

.frt .cond-top {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.frt .cond-head {
flex: 0 0 360px;
display: flex;
flex-direction: column;
gap: 24px
}

.frt .cond-h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.frt .cond-h2 .num-bg {
position: absolute;
top: -18px;
left: -12px;
font-size: 68px;
color: #F16383;
opacity: .06;
font-weight: 700;
pointer-events: none
}

.frt .cond-h2 span {
position: relative;
z-index: 1
}

.frt .cond-desc {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .8;
margin: 0
}

.frt .cond-list {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.frt .cond-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
background: #fff;
border-radius: 3px;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
transition: box-shadow .14s ease-out
}

.frt .cond-row:hover {
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.frt .cond-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
background: linear-gradient(120deg, #F16383, #1C6CEC);
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center
}

.frt .cond-icon svg {
width: 16px;
height: 16px;
fill: none;
stroke: #fff;
stroke-width: 2;
stroke-linecap: round
}

.frt .cond-row-body {
display: flex;
flex-direction: column;
gap: 6px
}

.frt .cond-row-h {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.frt .cond-row-p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .72;
margin: 0
}

.frt .cond-note {
background: #fff;
border-radius: 3px;
padding: 24px 40px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
box-shadow: -1px 1px 6px 0 #3f3d3d0d
}

.frt .cond-note-aside {
flex: 0 0 100px;
font-size: 15px;
line-height: 1.6;
color: #F16383;
font-style: italic;
opacity: .8
}

.frt .cond-note-body {
flex: 1;
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .82
}

@media (max-width: 1024px) {
.frt .ltv-grid {
grid-template-columns: 1fr;
gap: 40px
}

.frt .who-top {
flex-direction: column;
gap: 40px
}

.frt .who-head {
flex: none;
width: 100%
}

.frt .inv-top {
flex-direction: column;
gap: 40px
}

.frt .inv-head {
flex: none;
width: 100%
}

.frt .appr-steps {
grid-template-columns: 1fr 1fr
}

.frt .ppl-grid {
grid-template-columns: 1fr
}

.frt .ppl-extra {
grid-template-columns: 1fr 1fr
}

.frt .cond-top {
flex-direction: column;
gap: 40px
}

.frt .cond-head {
flex: none;
width: 100%
}

.frt .tb-h1 {
font-size: 38px
}
}

@media (max-width: 768px) {
.frt .tb {
padding: 40px 24px
}

.frt .ltv {
padding: 40px 24px
}

.frt .who {
padding: 40px 24px
}

.frt .inv {
padding: 40px 24px
}

.frt .appr {
padding: 40px 24px
}

.frt .ppl {
padding: 40px 24px
}

.frt .cond {
padding: 40px 24px
}

.frt .tb-img-row {
flex-direction: column;
align-items: center
}

.frt .tb-img-a,
.frt .tb-img-b {
width: 100%
}

.frt .who-cols {
grid-template-columns: 1fr
}

.frt .appr-steps {
grid-template-columns: 1fr
}

.frt .ppl-extra {
grid-template-columns: 1fr
}

.frt .ltv-stat-row {
flex-direction: column
}

.frt .who-img-strip {
flex-direction: column
}

.frt .cond-note {
flex-direction: column;
gap: 12px
}

.frt .cond-note-aside {
flex: none
}

.frt .tb-h1 {
font-size: 38px
}
}

@media (max-width: 320px) {
.frt .tb-h1 {
font-size: 22px
}

.frt .ltv-h2,
.frt .who-h2,
.frt .inv-h2,
.frt .appr-h2,
.frt .ppl-h2,
.frt .cond-h2 {
font-size: 22px
}

.frt .ltv-aside-row {
flex-direction: column
}

.frt .ppl-card {
flex-direction: column
}

.frt .ppl-portrait img {
width: 100%;
height: 200px
}
}

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

.ab-us .pg-band {
position: relative;
padding: 40px 80px;
background: linear-gradient(127deg, #3F3D3D 0%, #F16383 48%, #1C6CEC 100%);
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
overflow: hidden
}

.ab-us .pg-band::before {
content: "";
position: absolute;
top: -30px;
right: 60px;
width: 180px;
height: 180px;
border: 2px solid #ffffff1f;
transform: rotate(22deg);
pointer-events: none
}

.ab-us .pg-band::after {
content: "";
position: absolute;
bottom: -20px;
right: 120px;
width: 90px;
height: 90px;
border: 1px solid #ffffff14;
transform: rotate(45deg);
pointer-events: none
}

.ab-us .band-geo {
position: absolute;
top: 10px;
left: 40%;
width: 60px;
height: 60px;
border: 1px solid #ffffff12;
transform: rotate(15deg);
pointer-events: none
}

.ab-us .band-txt {
flex: 1;
min-width: 0
}

.ab-us .band-txt h1 {
font-size: 68px;
line-height: 1.2;
color: #fff;
margin: 0 0 12px;
font-weight: 700
}

.ab-us .band-txt p {
font-size: 18px;
line-height: 1.6;
color: #ffffffe0;
margin: 0;
max-width: 520px
}

.ab-us .band-img-wrap {
flex-shrink: 0;
width: 320px;
height: 260px;
position: relative
}

.ab-us .band-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
-webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 55%, transparent 100%);
mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 55%, transparent 100%)
}

.ab-us .geo-accent {
position: absolute;
bottom: 12px;
right: 12px;
width: 40px;
height: 40px;
border: 2px solid #fff3;
transform: rotate(30deg);
pointer-events: none
}

.ab-us .divider-geo {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 6px;
padding: 12px 0;
background: #fff
}

.ab-us .divider-geo span {
display: inline-block;
width: 8px;
height: 8px;
background: #F16383;
transform: rotate(45deg)
}

.ab-us .divider-geo span:nth-child(even) {
background: #1C6CEC;
width: 5px;
height: 5px
}

.ab-us .divider-geo span:nth-child(3n) {
background: #3F3D3D;
width: 6px;
height: 6px
}

.ab-us .story-sec {
padding: 80px;
background: #fff;
position: relative
}

.ab-us .story-sec::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 80px 80px 0;
border-color: transparent #f5f5f5 transparent transparent;
pointer-events: none;
opacity: .5
}

.ab-us .story-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start;
max-width: 1200px
}

.ab-us .story-aside {
position: relative
}

.ab-us .story-num {
font-size: 68px;
line-height: 1.2;
font-weight: 700;
color: #f1638314;
position: absolute;
top: -24px;
left: -12px;
pointer-events: none;
user-select: none
}

.ab-us .story-label {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .12em;
text-transform: uppercase;
font-weight: 600;
margin: 0 0 12px;
position: relative
}

.ab-us .story-aside h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0 0 24px;
position: relative
}

.ab-us .story-aside-note {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .65;
margin: 0
}

.ab-us .story-body {
display: flex;
flex-direction: column;
gap: 24px
}

.ab-us .story-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: start
}

.ab-us .story-note-col {
flex-shrink: 0;
width: 120px
}

.ab-us .story-note-col p {
font-size: 15px;
line-height: 1.6;
color: #F16383;
margin: 0;
font-style: italic
}

.ab-us .story-main-col p {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.ab-us .story-img-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 12px
}

.ab-us .story-img-box {
flex: 1;
overflow: hidden;
border-radius: 3px;
box-shadow: -1px 6px 18px 0 #f1638317
}

.ab-us .story-img-box img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .18s ease-out
}

.ab-us .story-img-box:hover img {
transform: scale(1.04)
}

.ab-us .divider-line {
display: flex;
flex-direction: row;
align-items: center;
padding: 0 80px;
background: #f4f4f4;
height: 2px
}

.ab-us .divider-line::before {
content: "";
flex: 1;
height: 2px;
background: linear-gradient(90deg, #F16383 0%, #1C6CEC 100%);
border-radius: 3px
}

.ab-us .team-sec {
padding: 80px;
background: radial-gradient(ellipse at 50% 50%, #fff 30%, #e8edf8 100%);
position: relative
}

.ab-us .team-sec::after {
content: "";
position: absolute;
bottom: 24px;
left: 24px;
width: 60px;
height: 1px;
background: #1c6cec2e;
transform: rotate(-45deg);
pointer-events: none
}

.ab-us .team-head {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
position: relative
}

.ab-us .team-head-num {
font-size: 68px;
line-height: 1.2;
font-weight: 700;
color: #1c6cec12;
position: absolute;
top: -20px;
left: -6px;
pointer-events: none;
user-select: none
}

.ab-us .team-head h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.ab-us .team-head-sub {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
opacity: .7;
max-width: 400px;
margin: 0
}

.ab-us .team-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px
}

.ab-us .team-anchor {
grid-column: 1;
grid-row: 1 / 3;
background: #3F3D3D;
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 10px 48px 0 #3f3d3d24;
display: flex;
flex-direction: column
}

.ab-us .team-portrait {
width: 100%;
aspect-ratio: 7/9;
overflow: hidden
}

.ab-us .team-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.ab-us .team-anchor-info {
padding: 24px;
flex: 1
}

.ab-us .team-anchor-info h4 {
font-size: 22px;
line-height: 1.4;
color: #fff;
margin: 0 0 6px
}

.ab-us .team-anchor-info .role-tag {
font-size: 15px;
line-height: 1.4;
color: #F16383;
margin: 0 0 12px;
font-weight: 600
}

.ab-us .team-anchor-info p {
font-size: 15px;
line-height: 1.6;
color: #ffffffbf;
margin: 0
}

.ab-us .team-compact {
background: #fff;
border-radius: 3px;
padding: 24px;
box-shadow: -1px 1px 6px 0 #f163830d;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .15s ease-out
}

.ab-us .team-compact:hover {
box-shadow: -1px 6px 18px 0 #f1638317
}

.ab-us .team-compact h5 {
font-size: 18px;
line-height: 1.4;
color: #3F3D3D;
margin: 0
}

.ab-us .team-compact .role-tag {
font-size: 15px;
line-height: 1.4;
color: #1C6CEC;
margin: 0;
font-weight: 600
}

.ab-us .team-compact p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .72;
margin: 0
}

.ab-us .team-compact .dot-ind {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 15px;
color: #3F3D3D;
opacity: .6
}

.ab-us .team-compact .dot-ind::before {
content: "";
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: #F16383;
flex-shrink: 0
}

.ab-us .team-portrait-2 {
grid-column: 2;
grid-row: 1;
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 6px 18px 0 #3f3d3d17;
position: relative
}

.ab-us .team-portrait-2 img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: top;
display: block
}

.ab-us .portrait-label {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 12px 24px;
background: linear-gradient(0deg, #3f3d3de0 0%, transparent 100%)
}

.ab-us .portrait-label h5 {
font-size: 18px;
line-height: 1.4;
color: #fff;
margin: 0 0 6px
}

.ab-us .portrait-label .role-tag {
font-size: 15px;
color: #F16383;
margin: 0;
font-weight: 600
}

.ab-us .divider-dots {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px 0;
background: #fff
}

.ab-us .divider-dots svg {
display: block
}

.ab-us .approach-sec {
padding: 80px;
background: #3F3D3D;
position: relative;
overflow: hidden
}

.ab-us .approach-sec .diag-lines {
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 200px;
pointer-events: none;
overflow: hidden
}

.ab-us .approach-sec .diag-lines::before {
content: "";
position: absolute;
top: -60px;
right: -60px;
width: 200px;
height: 200px;
background: repeating-linear-gradient(135deg, transparent, transparent 12px, #ffffff0a 12px, #ffffff0a 13px)
}

.ab-us .approach-head {
margin-bottom: 40px;
position: relative
}

.ab-us .approach-head-num {
font-size: 68px;
line-height: 1.2;
font-weight: 700;
color: #f163831a;
position: absolute;
top: -20px;
left: -6px;
pointer-events: none;
user-select: none
}

.ab-us .approach-head h2 {
font-size: 38px;
line-height: 1.2;
color: #fff;
margin: 0 0 12px;
position: relative
}

.ab-us .approach-head p {
font-size: 18px;
line-height: 1.6;
color: #ffffffb3;
margin: 0;
max-width: 560px
}

.ab-us .approach-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 40px
}

.ab-us .ap-card {
background: #ffffff0d;
border-radius: 3px;
padding: 40px 24px 24px;
position: relative;
overflow: hidden;
transition: background .17s ease-out
}

.ab-us .ap-card:hover {
background: #ffffff17
}

.ab-us .ap-card-num {
font-size: 68px;
line-height: 1.2;
font-weight: 700;
color: #f163831f;
position: absolute;
top: -10px;
left: 12px;
pointer-events: none;
user-select: none
}

.ab-us .ap-icon {
width: 40px;
height: 40px;
margin-bottom: 12px;
position: relative
}

.ab-us .ap-icon svg {
display: block
}

.ab-us .ap-dot {
position: absolute;
top: -2px;
right: -2px;
width: 10px;
height: 10px;
border-radius: 50%;
background: #F16383
}

.ab-us .ap-card h5 {
font-size: 18px;
line-height: 1.4;
color: #fff;
margin: 0 0 12px
}

.ab-us .ap-card p {
font-size: 15px;
line-height: 1.6;
color: #ffffffa6;
margin: 0
}

.ab-us .approach-img-strip {
display: flex;
flex-direction: row;
gap: 24px
}

.ab-us .ap-img-main {
flex: 2;
border-radius: 3px;
overflow: hidden;
box-shadow: -1px 10px 48px 0 #f1638324
}

.ab-us .ap-img-main img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .19s ease-out
}

.ab-us .ap-img-main:hover img {
transform: scale(1.03)
}

.ab-us .ap-img-side {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center
}

.ab-us .ap-stat {
padding: 24px;
background: #ffffff0f;
border-radius: 3px
}

.ab-us .ap-stat-val {
font-size: 38px;
line-height: 1.2;
font-weight: 700;
color: #F16383;
margin: 0 0 6px
}

.ab-us .ap-stat-label {
font-size: 15px;
line-height: 1.4;
color: #ffffffa6;
margin: 0
}

.ab-us .hover-reveal-wrap {
position: relative;
overflow: hidden;
border-radius: 3px;
cursor: default
}

.ab-us .hover-reveal-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.ab-us .hover-reveal-overlay {
position: absolute;
inset: 0;
background: #1c6cece0;
clip-path: polygon(0 100%, 0 100%, 0 100%);
transition: clip-path .19s ease-out;
display: flex;
align-items: center;
justify-content: center;
padding: 24px
}

.ab-us .hover-reveal-wrap:hover .hover-reveal-overlay {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.ab-us .hover-reveal-overlay p {
font-size: 15px;
line-height: 1.6;
color: #fff;
margin: 0;
text-align: center
}

@keyframes grad-shift {
0% {
background-position: 0 50%
}

50% {
background-position: 100% 50%
}

100% {
background-position: 0 50%
}
}

.ab-us .pg-band {
background-size: 300% 300%;
animation: grad-shift 9s linear infinite
}

@media (max-width: 1024px) {
.ab-us .pg-band {
padding: 40px;
flex-direction: column;
align-items: flex-start
}

.ab-us .band-txt h1 {
font-size: 38px
}

.ab-us .band-img-wrap {
width: 100%;
height: 200px
}

.ab-us .story-sec {
padding: 80px 40px
}

.ab-us .story-grid {
grid-template-columns: 1fr;
gap: 40px
}

.ab-us .team-sec {
padding: 80px 40px
}

.ab-us .team-layout {
grid-template-columns: 1fr 1fr
}

.ab-us .team-anchor {
grid-column: 1;
grid-row: 1
}

.ab-us .team-portrait-2 {
grid-column: 2;
grid-row: 1
}

.ab-us .approach-sec {
padding: 80px 40px
}

.ab-us .approach-cards {
grid-template-columns: 1fr 1fr
}

.ab-us .approach-img-strip {
flex-direction: column
}
}

@media (max-width: 768px) {
.ab-us .pg-band {
padding: 40px 24px
}

.ab-us .band-txt h1 {
font-size: 38px
}

.ab-us .story-sec {
padding: 40px 24px
}

.ab-us .story-row {
flex-direction: column;
gap: 12px
}

.ab-us .story-note-col {
width: 100%
}

.ab-us .story-img-row {
flex-direction: column
}

.ab-us .team-sec {
padding: 40px 24px
}

.ab-us .team-layout {
grid-template-columns: 1fr
}

.ab-us .team-anchor {
grid-column: 1;
grid-row: auto
}

.ab-us .team-portrait-2 {
grid-column: 1;
grid-row: auto
}

.ab-us .team-head {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.ab-us .approach-sec {
padding: 40px 24px
}

.ab-us .approach-cards {
grid-template-columns: 1fr
}

.ab-us .divider-geo {
padding: 12px 24px
}

.ab-us .divider-line {
padding: 0 24px
}
}

@media (max-width: 320px) {
.ab-us .band-txt h1 {
font-size: 22px
}

.ab-us .story-aside h2,
.ab-us .team-head h2,
.ab-us .approach-head h2 {
font-size: 22px
}
}

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

.cu-pg .reach {
padding: 80px 80px 40px;
position: relative;
background: #fff
}

.cu-pg .reach::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse 60% 50% at 50% 40%, #f163830f 0%, #1c6cec0a 55%, transparent 100%);
pointer-events: none
}

.cu-pg .reach-grid {
display: grid;
grid-template-columns: 1fr 1.6fr 1fr;
gap: 80px;
max-width: 1200px;
margin: 0 auto;
position: relative
}

.cu-pg .reach-left {
display: flex;
flex-direction: column;
gap: 40px;
padding-top: 24px
}

.cu-pg .reach-label {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .12em;
text-transform: uppercase
}

.cu-pg .reach-tagline {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0
}

.cu-pg .reach-tagline span {
color: #1C6CEC
}

.cu-pg .reach-note {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .75
}

.cu-pg .reach-divider {
width: 40px;
height: 2px;
background: linear-gradient(90deg, #F16383, #1C6CEC, #3F3D3D);
position: relative;
margin: 6px 0
}

.cu-pg .reach-divider::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 6px;
height: 6px;
background: #F16383;
border-radius: 50%;
border: 2px solid #fff
}

.cu-pg .contact-facts {
display: flex;
flex-direction: column;
gap: 24px
}

.cu-pg .fact-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.cu-pg .fact-icon {
width: 36px;
height: 36px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

.cu-pg .fact-icon svg {
width: 20px;
height: 20px
}

.cu-pg .fact-text {
display: flex;
flex-direction: column;
gap: 6px
}

.cu-pg .fact-text strong {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
display: block
}

.cu-pg .fact-text a,
.cu-pg .fact-text span {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .7;
text-decoration: none;
transition: color .15s ease-out, opacity .15s ease-out
}

.cu-pg .fact-text a:hover {
color: #1C6CEC;
opacity: 1
}

.cu-pg .reach-center {
position: relative
}

.cu-pg .form-shell {
background: #fff;
border-radius: 32px;
padding: 40px;
box-shadow: -1px 10px 48px 0 #f1638324;
position: relative;
overflow: hidden
}

.cu-pg .form-shell::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 80px;
height: 80px;
background: linear-gradient(225deg, #F16383 0%, #1C6CEC 60%, transparent 100%);
border-radius: 0 32px 0 80px;
pointer-events: none
}

.cu-pg .form-head {
margin-bottom: 40px
}

.cu-pg .form-head h2 {
font-size: 22px;
line-height: 1.4;
color: #3F3D3D;
margin: 0 0 6px
}

.cu-pg .form-head p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .65;
margin: 0
}

.cu-pg .field-group {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 24px
}

.cu-pg .field-label {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600
}

.cu-pg .field-input {
width: 100%;
padding: 12px 16px;
border: 2px solid #3f3d3d26;
border-radius: 3px;
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
background: #fff;
outline: none;
transition: border-color .18s ease-out, box-shadow .18s ease-out;
box-sizing: border-box
}

.cu-pg .field-input::placeholder {
color: #3f3d3d66;
font-size: 15px
}

.cu-pg .field-input:focus {
border-color: #1C6CEC;
box-shadow: -1px 6px 18px 0 #1c6cec17
}

.cu-pg .size-label {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin-bottom: 12px;
display: block
}

.cu-pg .size-opts {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 24px
}

.cu-pg .size-opt {
position: relative
}

.cu-pg .size-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.cu-pg .size-opt label {
display: block;
padding: 6px 16px;
border: 2px solid #3f3d3d33;
border-radius: 32px;
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
cursor: pointer;
transition: border-color .12s ease-out, background .12s ease-out, color .12s ease-out;
user-select: none
}

.cu-pg .size-opt input[type="radio"]:checked+label {
border-color: #F16383;
background: #f1638314;
color: #F16383
}

.cu-pg .size-opt label:hover {
border-color: #1C6CEC;
color: #1C6CEC
}

.cu-pg .size-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #1C6CEC;
outline-offset: 2px
}

.cu-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.cu-pg .privacy-row input[type="checkbox"] {
margin-top: 3px;
width: 18px;
height: 18px;
flex-shrink: 0;
accent-color: #F16383;
cursor: pointer
}

.cu-pg .privacy-text {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .7
}

.cu-pg .privacy-text a {
color: #1C6CEC;
text-decoration: underline;
transition: color .12s ease-out
}

.cu-pg .privacy-text a:hover {
color: #F16383
}

.cu-pg .submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 40px;
background: linear-gradient(135deg, #F16383 0%, #1C6CEC 100%);
color: #fff;
border: none;
border-radius: 3px;
font-size: 18px;
line-height: 1.4;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .15s ease-out, transform .12s ease;
box-shadow: -1px 6px 18px 0 #f1638317
}

.cu-pg .submit-btn:hover {
box-shadow: -1px 10px 48px 0 #f1638324;
transform: translateY(-1px)
}

.cu-pg .submit-btn:active {
transform: translateY(0)
}

.cu-pg .submit-btn .btn-icon {
display: flex;
align-items: center;
transition: transform .15s ease-out
}

.cu-pg .submit-btn:hover .btn-icon {
transform: translateX(4px)
}

.cu-pg .reach-right {
display: flex;
flex-direction: column;
gap: 40px;
padding-top: 24px
}

.cu-pg .aside-block {
background: #1c6cec0a;
border-radius: 32px;
padding: 24px;
box-shadow: -1px 1px 6px 0 #1c6cec0d
}

.cu-pg .aside-block h4 {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 700;
margin: 0 0 12px;
text-transform: uppercase;
letter-spacing: .08em
}

.cu-pg .aside-block p {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .7;
margin: 0
}

.cu-pg .hours-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 6px
}

.cu-pg .hours-list li {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .7
}

.cu-pg .hours-list li span:last-child {
font-weight: 600;
opacity: 1;
color: #3F3D3D
}

.cu-pg .deco-quote {
font-size: 68px;
line-height: 1.2;
color: #f163831f;
font-weight: 900;
margin: 0;
padding: 0;
display: block;
pointer-events: none;
user-select: none
}

.cu-pg .spin-deco {
width: 48px;
height: 48px;
animation: cu-spin 8s linear infinite;
opacity: .18;
pointer-events: none;
user-select: none
}

@keyframes cu-spin {
from {
transform: rotate(0deg)
}

to {
transform: rotate(360deg)
}
}

.cu-pg .map-strip {
padding: 40px 80px 80px;
background: linear-gradient(160deg, #3F3D3D 0%, #1C6CEC 60%, #F16383 100%);
position: relative
}

.cu-pg .map-strip::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 55% 60% at 50% 50%, #ffffff0f 0%, transparent 100%);
pointer-events: none
}

.cu-pg .strip-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
position: relative
}

.cu-pg .strip-text h3 {
font-size: 38px;
line-height: 1.2;
color: #fff;
margin: 0 0 24px
}

.cu-pg .strip-text p {
font-size: 18px;
line-height: 1.6;
color: #fffc;
margin: 0 0 40px
}

.cu-pg .strip-divider {
width: 60px;
height: 2px;
background: #ffffff4d;
position: relative;
margin-bottom: 40px
}

.cu-pg .strip-divider::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 8px;
height: 8px;
background: #F16383;
border-radius: 50%
}

.cu-pg .addr-card {
background: #ffffff14;
border-radius: 32px;
padding: 40px;
box-shadow: -1px 6px 18px 0 #f1638317;
display: flex;
flex-direction: column;
gap: 24px;
backdrop-filter: blur(4px)
}

.cu-pg .addr-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.cu-pg .addr-icon {
width: 40px;
height: 40px;
border-radius: 3px;
background: #ffffff1f;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cu-pg .addr-icon svg {
width: 20px;
height: 20px
}

.cu-pg .addr-detail {
display: flex;
flex-direction: column;
gap: 6px
}

.cu-pg .addr-detail strong {
font-size: 15px;
line-height: 1.4;
color: #fff9;
text-transform: uppercase;
letter-spacing: .08em;
display: block
}

.cu-pg .addr-detail span,
.cu-pg .addr-detail a {
font-size: 18px;
line-height: 1.4;
color: #fff;
text-decoration: none;
transition: color .12s ease-out
}

.cu-pg .addr-detail a:hover {
color: #F16383
}

.cu-pg .num-list {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 12px
}

.cu-pg .num-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.cu-pg .num-anchor {
font-size: 38px;
line-height: 1.2;
color: #ffffff26;
font-weight: 900;
min-width: 48px;
flex-shrink: 0
}

.cu-pg .num-body {
padding-top: 6px
}

.cu-pg .num-body h5 {
font-size: 18px;
line-height: 1.4;
color: #fff;
margin: 0 0 6px
}

.cu-pg .num-body p {
font-size: 15px;
line-height: 1.6;
color: #ffffffa6;
margin: 0
}

@media (max-width: 1024px) {
.cu-pg .reach {
padding: 80px 40px 40px
}

.cu-pg .reach-grid {
grid-template-columns: 1fr 1.4fr;
gap: 40px
}

.cu-pg .reach-right {
display: none
}

.cu-pg .map-strip {
padding: 40px 40px 80px
}

.cu-pg .strip-inner {
grid-template-columns: 1fr;
gap: 40px
}
}

@media (max-width: 768px) {
.cu-pg .reach {
padding: 40px 24px 24px
}

.cu-pg .reach-grid {
grid-template-columns: 1fr;
gap: 40px
}

.cu-pg .reach-tagline {
font-size: 22px
}

.cu-pg .form-shell {
padding: 24px
}

.cu-pg .size-opts {
gap: 6px
}

.cu-pg .map-strip {
padding: 40px 24px
}

.cu-pg .strip-text h3 {
font-size: 22px
}

.cu-pg .strip-text p {
font-size: 15px
}

.cu-pg .addr-card {
padding: 24px
}
}

@media (max-width: 320px) {
.cu-pg .reach {
padding: 24px 12px
}

.cu-pg .form-shell {
padding: 12px
}

.cu-pg .map-strip {
padding: 24px 12px
}

.cu-pg .submit-btn {
padding: 12px 24px;
font-size: 15px
}
}

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

.certs .reveal-1 {
animation: slideUp1 .18s ease-out both
}

.certs .reveal-2 {
animation: slideUp2 .18s ease-out .06s both
}

.certs .reveal-3 {
animation: slideUp3 .18s ease-out .12s both
}

.certs .reveal-4 {
animation: slideUp4 .18s ease-out .18s both
}

.certs .reveal-5 {
animation: slideUp5 .18s ease-out .24s both
}

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

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

@keyframes slideUp2 {
from {
opacity: 0;
transform: translateY(24px)
}

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

@keyframes slideUp3 {
from {
opacity: 0;
transform: translateY(40px)
}

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

@keyframes slideUp4 {
from {
opacity: 0;
transform: translateY(56px)
}

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

@keyframes slideUp5 {
from {
opacity: 0;
transform: translateY(72px)
}

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

.certs .pg-intro {
padding: 80px 80px 40px;
position: relative;
border-top: 3px solid #F16383;
border-bottom: 3px solid #1C6CEC
}

.certs .pg-intro::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #F16383 40%, #1C6CEC 60%, transparent)
}

.certs .pg-intro-bento {
display: grid;
grid-template-columns: 1fr 1.4fr;
grid-template-rows: auto auto;
gap: 24px;
max-width: 1200px
}

.certs .bento-img {
grid-column: 1;
grid-row: 1 / 3;
position: relative;
border-radius: 3px;
overflow: hidden
}

.certs .bento-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.4) contrast(1.1) brightness(0.92) saturate(0.7);
transition: filter .2s ease-out
}

.certs .bento-img:hover img {
filter: sepia(0) contrast(1) brightness(1) saturate(1)
}

.certs .bento-img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, #f163831f 0%, #1c6cec14 100%);
pointer-events: none
}

.certs .bento-label {
grid-column: 2;
grid-row: 1;
padding: 24px 24px 12px;
position: relative
}

.certs .bento-label::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-top: 2px solid #F16383;
border-left: 2px solid #F16383;
border-radius: 3px 0 0 0
}

.certs .bento-pre {
font-size: 15px;
line-height: 1.4;
color: #F16383;
letter-spacing: .08em;
text-transform: uppercase;
margin: 0 0 12px;
display: block
}

.certs .bento-h {
font-size: 68px;
line-height: 1.2;
color: #3F3D3D;
margin: 0;
position: relative
}

.certs .bento-h .faded-num {
position: absolute;
top: -24px;
left: -12px;
font-size: 120px;
line-height: 1;
color: #F16383;
opacity: .07;
pointer-events: none;
z-index: 0;
user-select: none
}

.certs .bento-h span.real {
position: relative;
z-index: 1
}

.certs .bento-desc {
grid-column: 2;
grid-row: 2;
padding: 0 24px 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.certs .bento-desc p {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.certs .bento-desc p.short {
font-size: 15px;
line-height: 1.4;
color: #5a5858
}

.certs .badge-row {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
margin-top: 12px
}

.certs .badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
border-radius: 3px;
background: #fff;
box-shadow: -1px 1px 6px 0 #3f3d3d0d -1px 6px 18px 0 #3f3d3d17;
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
transition: box-shadow .15s ease-out, color .15s ease-out
}

.certs .badge:hover {
color: #1C6CEC;
box-shadow: -1px 6px 18px 0 #3f3d3d17 -1px 10px 48px 0 #3f3d3d24
}

.certs .badge .badge-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #F16383;
flex-shrink: 0
}

.certs .badge.blue .badge-dot {
background: #1C6CEC
}

.certs .divider-atm {
height: 1px;
margin: 0 80px;
background: linear-gradient(90deg, transparent 0%, #F16383 30%, #1C6CEC 70%, transparent 100%);
opacity: .35
}

.certs .cred-grid-sec {
padding: 80px;
position: relative;
background: #fff;
border-right: 4px solid #1C6CEC
}

.certs .cred-grid-sec::before {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 4px;
background: linear-gradient(180deg, #F16383 0%, #1C6CEC 100%)
}

.certs .cred-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin-bottom: 40px
}

.certs .cred-top-text {
max-width: 560px
}

.certs .cred-top-text h2 {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0 0 12px;
position: relative
}

.certs .cred-top-text h2 .faded-num {
position: absolute;
top: -18px;
left: -6px;
font-size: 80px;
line-height: 1;
color: #1C6CEC;
opacity: .06;
pointer-events: none;
user-select: none
}

.certs .cred-top-text h2 .real {
position: relative;
z-index: 1
}

.certs .cred-top-text p {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.certs .cred-count {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px;
flex-shrink: 0
}

.certs .cred-count .num {
font-size: 68px;
line-height: 1.2;
color: #1C6CEC;
font-weight: 700
}

.certs .cred-count .lbl {
font-size: 15px;
line-height: 1.4;
color: #5a5858;
text-align: right
}

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

.certs .cred-card {
background: #fff;
border-radius: 3px;
box-shadow: -1px 1px 6px 0 #3f3d3d0d -1px 6px 18px 0 #3f3d3d17;
border-top: 3px solid #F16383;
border-bottom: 3px solid #1C6CEC;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .15s ease-out, transform .18s ease-out;
position: relative;
overflow: hidden
}

.certs .cred-card:hover {
box-shadow: -1px 10px 48px 0 #3f3d3d24;
transform: translateY(-4px)
}

.certs .cred-card::before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 60px;
height: 60px;
background: linear-gradient(135deg, transparent 50%, #1c6cec0f 50%);
pointer-events: none
}

.certs .card-num-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background: linear-gradient(135deg, #F16383 0%, #1C6CEC 100%);
color: #fff;
font-size: 15px;
font-weight: 700;
flex-shrink: 0
}

.certs .card-issuer {
font-size: 15px;
line-height: 1.4;
color: #F16383;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .06em
}

.certs .cred-card h4 {
font-size: 22px;
line-height: 1.4;
color: #3F3D3D;
margin: 0
}

.certs .card-meta {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.certs .meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 15px;
line-height: 1.4;
color: #5a5858
}

.certs .meta-icon {
width: 14px;
height: 14px;
flex-shrink: 0
}

.certs .card-body {
display: flex;
flex-direction: row;
gap: 12px
}

.certs .card-aside {
width: 3px;
background: linear-gradient(180deg, #F16383 0%, #1C6CEC 100%);
border-radius: 3px;
flex-shrink: 0;
align-self: stretch
}

.certs .card-text {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.certs .card-expand {
display: flex;
flex-direction: column;
gap: 6px;
padding-top: 6px;
border-top: 1px solid #3f3d3d1a
}

.certs .expand-q {
font-size: 15px;
line-height: 1.4;
color: #1C6CEC;
font-weight: 600;
margin: 0
}

.certs .expand-a {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
margin: 0
}

.certs .card-tags {
display: flex;
flex-direction: row;
gap: 6px;
flex-wrap: wrap
}

.certs .tag {
font-size: 15px;
line-height: 1.4;
color: #1C6CEC;
background: #1c6cec12;
border-radius: 3px;
padding: 6px 12px;
transition: background .12s ease-out, color .12s ease-out
}

.certs .tag:hover {
background: #1c6cec24;
color: #1C6CEC
}

.certs .card-feat {
background: linear-gradient(135deg, #f163830a 0%, #1c6cec0a 100%);
border-top-color: #1C6CEC;
border-bottom-color: #F16383
}

.certs .card-feat .card-issuer {
color: #1C6CEC
}

.certs .portrait-strip {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px;
align-items: stretch
}

.certs .portrait-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px;
border-radius: 32px;
background: #fff;
box-shadow: -1px 1px 6px 0 #f163830d -1px 6px 18px 0 #f1638317;
transition: box-shadow .15s ease-out
}

.certs .portrait-item:hover {
box-shadow: -1px 10px 48px 0 #f1638324
}

.certs .portrait-img {
width: 56px;
height: 56px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0
}

.certs .portrait-img img {
width: 56px;
height: 56px;
object-fit: cover;
object-position: top;
display: block;
transition: filter .2s ease-out
}

.certs .portrait-item:hover .portrait-img img {
filter: saturate(0.5)
}

.certs .portrait-info {
display: flex;
flex-direction: column;
gap: 6px
}

.certs .portrait-name {
font-size: 15px;
line-height: 1.4;
color: #3F3D3D;
font-weight: 600;
margin: 0
}

.certs .portrait-role {
font-size: 15px;
line-height: 1.4;
color: #5a5858;
margin: 0
}

.certs .portrait-cred-badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: #f1638314;
border-radius: 3px;
font-size: 15px;
line-height: 1.4;
color: #F16383;
font-weight: 600;
white-space: nowrap
}

@media (max-width: 1024px) {
.certs .pg-intro {
padding: 40px 40px 24px
}

.certs .pg-intro-bento {
grid-template-columns: 1fr 1.2fr
}

.certs .bento-h {
font-size: 38px
}

.certs .divider-atm {
margin: 0 40px
}

.certs .cred-grid-sec {
padding: 40px
}

.certs .cred-cards {
grid-template-columns: repeat(2, 1fr)
}

.certs .cred-top {
flex-direction: column;
align-items: flex-start
}

.certs .cred-count {
align-items: flex-start
}

.certs .portrait-strip {
flex-wrap: wrap
}
}

@media (max-width: 768px) {
.certs .pg-intro {
padding: 24px
}

.certs .pg-intro-bento {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto
}

.certs .bento-img {
grid-column: 1;
grid-row: 1;
height: 220px
}

.certs .bento-label {
grid-column: 1;
grid-row: 2;
padding: 12px 12px 6px
}

.certs .bento-desc {
grid-column: 1;
grid-row: 3;
padding: 0 12px 12px
}

.certs .bento-h {
font-size: 38px
}

.certs .divider-atm {
margin: 0 24px
}

.certs .cred-grid-sec {
padding: 24px
}

.certs .cred-cards {
grid-template-columns: 1fr
}

.certs .cred-top-text h2 {
font-size: 22px
}

.certs .cred-count .num {
font-size: 38px
}

.certs .portrait-strip {
flex-direction: column
}
}

@media (max-width: 320px) {
.certs .pg-intro {
padding: 12px
}

.certs .cred-grid-sec {
padding: 12px
}

.certs .bento-h {
font-size: 22px
}

.certs .cred-cards {
grid-template-columns: 1fr;
gap: 12px
}
}

.ok-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
background: #fff;
max-width: 1440px;
margin: 0 auto
}

.ok-pg .wrap {
max-width: 560px;
width: 100%;
text-align: center
}

.ok-pg .icon-ring {
width: 80px;
height: 80px;
border-radius: 50%;
background: linear-gradient(135deg, #F16383 0%, #1C6CEC 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 40px;
box-shadow: -1px 6px 18px 0 #f1638317
}

.ok-pg .icon-ring svg {
display: block
}

.ok-pg .label-tag {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .12em;
color: #F16383;
text-transform: uppercase;
margin-bottom: 12px
}

.ok-pg .head {
font-size: 38px;
line-height: 1.2;
color: #3F3D3D;
margin: 0 0 24px;
font-weight: 700
}

.ok-pg .sub {
font-size: 18px;
line-height: 1.6;
color: #3F3D3D;
margin: 0 0 40px;
opacity: .82
}

.ok-pg .divider {
width: 48px;
height: 3px;
border-radius: 3px;
background: linear-gradient(90deg, #F16383 0%, #1C6CEC 100%);
margin: 0 auto 40px
}

.ok-pg .note {
font-size: 15px;
line-height: 1.6;
color: #3F3D3D;
opacity: .68;
margin: 0 0 40px
}

.ok-pg .note a {
color: #1C6CEC;
text-decoration: none;
border-bottom: 1px solid #1c6cec4d;
transition: color .15s ease-out, border-color .15s ease-out
}

.ok-pg .note a:hover {
color: #F16383;
border-color: #f1638366
}

.ok-pg .btn-home {
display: inline-flex;
align-items: center;
gap: 12px;
background: #3F3D3D;
color: #fff;
font-size: 15px;
line-height: 1.4;
padding: 12px 40px;
border-radius: 3px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: -1px 1px 6px 0 #3f3d3d0d;
transition: background .18s ease-out, box-shadow .18s ease-out;
position: relative;
overflow: hidden
}

.ok-pg .btn-home:hover {
background: #1C6CEC;
box-shadow: -1px 6px 18px 0 #3f3d3d17
}

.ok-pg .btn-home:focus-visible {
outline: 2px solid #F16383;
outline-offset: 3px
}

.ok-pg .btn-home:active {
background: #F16383
}

.ok-pg .btn-home .arr {
display: flex;
align-items: center;
transition: transform .18s ease-out
}

.ok-pg .btn-home:hover .arr {
transform: translateX(4px)
}

@media (max-width: 768px) {
.ok-pg {
padding: 80px 24px
}

.ok-pg .head {
font-size: 22px
}

.ok-pg .sub {
font-size: 15px
}
}

@media (max-width: 320px) {
.ok-pg {
padding: 40px 12px
}

.ok-pg .btn-home {
padding: 12px 24px;
width: 100%;
justify-content: center
}
}