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

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

html,
body {
margin: 0;
}

body {
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
font-family: 'Manrope', sans-serif;
font-size: 16px;
line-height: 1.6;
background-color: #fff;
color: #011853;
}

:focus-visible {
outline: 2px solid #02B2D0;
outline-offset: 3px;
}

:focus:not(:focus-visible) {
outline: none;
}

.site-header {
position: relative;
background: linear-gradient(135deg, #011853 0%, #02234a 60%, #013060 100%);
border-bottom: 3px solid #02B2D0;
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
overflow: visible;
z-index: 100;
}

.site-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(0deg,
transparent,
transparent 28px,
rgba(2, 178, 208, 0.03) 28px,
rgba(2, 178, 208, 0.03) 29px);
pointer-events: none;
}

.header-top-bar {
background: rgba(1, 24, 83, 0.6);
border-bottom: 1px solid rgba(2, 178, 208, 0.15);
padding: 6px 0;
}

.header-top-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
}

.header-contact-item {
display: flex;
align-items: center;
gap: 6px;
color: rgba(240, 241, 243, 0.75);
font-family: 'Manrope', sans-serif;
font-size: 16px;
text-decoration: none;
transition: color 0.18s ease-out;
}

.header-contact-item:hover {
color: #02B2D0;
}

.header-contact-item svg {
flex-shrink: 0;
}

.header-cert-badge {
display: flex;
align-items: center;
gap: 6px;
background: rgba(2, 178, 208, 0.12);
border: 1px solid rgba(2, 178, 208, 0.3);
border-radius: 48px;
padding: 6px 12px;
color: #02B2D0;
font-family: 'Archivo', sans-serif;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.04em;
}

.header-main-row {
max-width: 1500px;
margin: 0 auto;
padding: 24px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}

.brand-group {
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0;
order: 2;
}

.logo-pill {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 48px;
padding: 6px 24px;
box-shadow: 0 1px 3px 0 rgba(2, 178, 208, 0.05), 0 4px 28px 0 rgba(2, 178, 208, 0.09);
border-bottom: 2px solid #02B2D0;
text-decoration: none;
}

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

.brand-text-block {
display: flex;
flex-direction: column;
gap: 6px;
}

.brand-name {
font-family: 'Archivo', sans-serif;
font-size: 32px;
font-weight: 700;
line-height: 1.1;
color: #fff;
letter-spacing: -0.02em;
text-decoration: none;
}

.brand-name span {
color: #02B2D0;
}

.brand-tagline {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.65);
line-height: 1.1;
}

.primary-nav {
display: flex;
align-items: center;
gap: 6px;
order: 1;
flex-wrap: wrap;
}

.primary-nav__link {
font-family: 'Manrope', sans-serif;
font-size: 16px;
font-weight: 700;
color: rgba(240, 241, 243, 0.85);
text-decoration: none;
padding: 12px 24px;
border-radius: 8px;
border: 1px solid transparent;
transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out;
white-space: nowrap;
}

.primary-nav__link:hover {
color: #fff;
background-color: rgba(2, 178, 208, 0.12);
border-color: rgba(2, 178, 208, 0.3);
}

.primary-nav__link.active {
color: #02B2D0;
background-color: rgba(2, 178, 208, 0.08);
border-color: rgba(2, 178, 208, 0.25);
}

.header-action {
order: 3;
flex-shrink: 0;
}

.join-btn {
display: inline-flex;
align-items: center;
gap: 6px;
background: #02B2D0;
color: #011853;
font-family: 'Archivo', sans-serif;
font-size: 16px;
font-weight: 700;
text-decoration: none;
padding: 12px 24px;
border-radius: 8px;
border: none;
cursor: pointer;
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
white-space: nowrap;
}

.join-btn:hover {
transform: scale(1.04);
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
}

@media (max-width: 1024px) {
.header-main-row {
flex-wrap: wrap;
padding: 24px;
gap: 12px;
}

.brand-group {
order: 1;
}

.primary-nav {
order: 3;
width: 100%;
justify-content: flex-start;
}

.header-action {
order: 2;
margin-left: auto;
}
}

@media (max-width: 768px) {
.header-top-inner {
flex-wrap: wrap;
justify-content: flex-start;
gap: 12px;
}

.header-main-row {
padding: 12px 24px;
}

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

.primary-nav__link {
padding: 12px 12px;
font-size: 16px;
}

.join-btn {
padding: 12px 12px;
}
}

@media (max-width: 320px) {
.header-top-bar {
display: none;
}

.primary-nav {
gap: 6px;
}

.primary-nav__link {
padding: 6px 12px;
}

.brand-tagline {
display: none;
}
}

.site-footer {
background: #011853;
position: relative;
overflow: hidden;
}

.site-footer::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
repeating-linear-gradient(90deg,
transparent,
transparent 60px,
rgba(2, 178, 208, 0.04) 60px,
rgba(2, 178, 208, 0.04) 61px),
repeating-linear-gradient(0deg,
transparent,
transparent 60px,
rgba(2, 178, 208, 0.04) 60px,
rgba(2, 178, 208, 0.04) 61px);
pointer-events: none;
}

.footer-upper {
max-width: 1500px;
margin: 0 auto;
padding: 52px 24px 24px;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 52px;
position: relative;
z-index: 1;
}

.footer-brand {
display: flex;
flex-direction: column;
gap: 12px;
flex-shrink: 0;
}

.footer-logo-pill {
display: inline-flex;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 48px;
padding: 6px 24px;
box-shadow: 0 1px 3px 0 rgba(2, 178, 208, 0.05);
border-bottom: 2px solid #02B2D0;
text-decoration: none;
width: fit-content;
}

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

.footer-brand-name {
font-family: 'Archivo', sans-serif;
font-size: 18px;
font-weight: 700;
color: #fff;
letter-spacing: -0.01em;
}

.footer-brand-tag {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.55);
line-height: 1.6;
max-width: 220px;
}

.footer-contact-block {
display: flex;
flex-direction: column;
gap: 12px;
}

.footer-block-label {
font-family: 'Archivo', sans-serif;
font-size: 16px;
font-weight: 700;
color: #02B2D0;
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 6px;
}

.footer-contact-line {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.75);
text-decoration: none;
transition: color 0.18s ease-out;
}

.footer-contact-line:hover {
color: #02B2D0;
}

.footer-address {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.55);
line-height: 1.6;
font-style: normal;
}

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

.footer-legal-nav__link {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.65);
text-decoration: none;
transition: color 0.15s ease-out;
display: flex;
align-items: center;
gap: 6px;
}

.footer-legal-nav__link:hover {
color: #02B2D0;
}

.footer-legal-nav__link svg {
flex-shrink: 0;
opacity: 0.5;
}

.footer-divider {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}

.footer-divider-line {
border: none;
border-top: 1px solid rgba(2, 178, 208, 0.15);
margin: 0;
}

.footer-bottom {
max-width: 1500px;
margin: 0 auto;
padding: 24px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
z-index: 1;
flex-wrap: wrap;
}

.footer-copy {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.4);
line-height: 1.6;
}

.footer-copy strong {
color: rgba(240, 241, 243, 0.6);
font-weight: 700;
}

.footer-org-note {
font-family: 'Manrope', sans-serif;
font-size: 16px;
color: rgba(240, 241, 243, 0.3);
}

@media (max-width: 1024px) {
.footer-upper {
flex-wrap: wrap;
gap: 24px;
padding: 52px 24px 24px;
}
}

@media (max-width: 768px) {
.footer-upper {
flex-direction: column;
gap: 24px;
padding: 24px;
}

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

@media (max-width: 320px) {
.footer-upper {
padding: 24px 12px;
}

.footer-bottom {
padding: 12px;
}
}

.text-px-policy {
max-width: 1500px;
margin: 0 auto;
padding: 96px 52px;
background: #ffffff;
}

.text-px-policy h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #011853;
margin-bottom: 52px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 3px solid #02B2D0;
}

.text-px-policy h2 {
font-size: 32px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #011853;
margin-top: 52px;
margin-bottom: 24px;
}

.text-px-policy h3 {
font-size: 18px;
line-height: 1.6;
letter-spacing: -0.01em;
color: #011853;
margin-top: 24px;
margin-bottom: 12px;
text-transform: uppercase;
}

.text-px-policy h4 {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #02B2D0;
margin-top: 24px;
margin-bottom: 12px;
text-transform: uppercase;
}

.text-px-policy h5 {
font-size: 16px;
line-height: 1.6;
color: #011853;
margin-top: 24px;
margin-bottom: 6px;
}

.text-px-policy h6 {
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
margin-top: 24px;
margin-bottom: 6px;
}

.text-px-policy p {
font-size: 16px;
line-height: 1.6;
color: #2a3550;
margin-top: 0;
margin-bottom: 24px;
max-width: 80ch;
}

.text-px-policy ul {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
}

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

.text-px-policy ul li {
font-size: 16px;
line-height: 1.6;
color: #2a3550;
margin-bottom: 12px;
padding-left: 18px;
position: relative;
max-width: 80ch;
}

.text-px-policy ul li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #02B2D0;
}

.text-px-policy ol li {
font-size: 16px;
line-height: 1.6;
color: #2a3550;
margin-bottom: 12px;
padding-left: 18px;
position: relative;
max-width: 80ch;
counter-increment: policy-counter;
}

.text-px-policy ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
font-weight: 700;
}

.text-px-policy ul ul,
.text-px-policy ol ol,
.text-px-policy ul ol,
.text-px-policy ol ul {
margin-top: 12px;
margin-bottom: 0;
padding-left: 24px;
}

.text-px-policy strong,
.text-px-policy b {
font-weight: 700;
color: #011853;
}

.text-px-policy em,
.text-px-policy i {
font-style: italic;
color: #2a3550;
}

.text-px-policy hr {
border: none;
border-top: 1px solid #F0F1F3;
margin-top: 52px;
margin-bottom: 52px;
box-shadow: 0 1px 3px 0 rgba(1, 24, 83, 0.05);
}

.text-px-policy div {
font-size: 16px;
line-height: 1.6;
color: #2a3550;
}

.text-px-policy div+div {
margin-top: 12px;
}

@media (max-width: 1024px) {
.text-px-policy {
padding: 96px 52px;
}

.text-px-policy h1 {
font-size: 72px;
}
}

@media (max-width: 768px) {
.text-px-policy {
padding: 52px 24px;
}

.text-px-policy h1 {
font-size: 32px;
margin-bottom: 24px;
padding-bottom: 12px;
}

.text-px-policy h2 {
font-size: 18px;
margin-top: 24px;
margin-bottom: 12px;
}

.text-px-policy h3 {
font-size: 16px;
}

.text-px-policy p,
.text-px-policy ul li,
.text-px-policy ol li {
max-width: 100%;
}

.text-px-policy hr {
margin-top: 24px;
margin-bottom: 24px;
}
}

@media (max-width: 320px) {
.text-px-policy {
padding: 24px 12px;
}

.text-px-policy h1 {
font-size: 32px;
}

.text-px-policy h2 {
font-size: 18px;
}
}

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

.frst .pg-wrap {
max-width: 1500px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.frst .band-sep {
display: flex;
align-items: center;
justify-content: center;
padding: 12px 24px;
}

.frst .band-sep span {
display: block;
width: 120px;
height: 3px;
background: linear-gradient(90deg, #02B2D0, #011853, #02B2D0);
border-radius: 48px;
}

.frst .kv {
background: #011853;
position: relative;
padding: 96px 24px;
}

.frst .kv-deco {
position: absolute;
top: 52px;
left: 52px;
width: 340px;
height: 340px;
border: 2px solid rgba(2, 178, 208, 0.18);
border-radius: 20px;
pointer-events: none;
overflow: hidden;
}

.frst .kv-deco-inner {
position: absolute;
bottom: -40px;
right: -40px;
width: 200px;
height: 200px;
border: 2px solid rgba(2, 178, 208, 0.10);
border-radius: 20px;
}

.frst .kv-grid {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: center;
}

.frst .kv-text {
position: relative;
z-index: 2;
}

.frst .kv-tag {
display: inline-block;
background: rgba(2, 178, 208, 0.15);
color: #02B2D0;
font-size: 16px;
line-height: 1.6;
padding: 6px 24px;
border-radius: 8px;
margin-bottom: 24px;
letter-spacing: 0.04em;
}

.frst .kv-h1 {
font-size: 72px;
line-height: 1.1;
color: #F0F1F3;
letter-spacing: -0.02em;
margin-bottom: 24px;
font-style: italic;
}

.frst .kv-h1 em {
color: #02B2D0;
font-style: normal;
}

.frst .kv-sub {
font-size: 18px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.75);
margin-bottom: 52px;
max-width: 480px;
}

.frst .kv-actions {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap;
}

.frst .btn-prim {
display: inline-block;
background: #02B2D0;
color: #011853;
font-size: 16px;
line-height: 1.6;
font-weight: 700;
padding: 12px 52px;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform 0.16s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
position: relative;
overflow: hidden;
}

.frst .btn-prim::after {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #011853;
z-index: 0;
transition: left 0.22s cubic-bezier(0.4, 0, 0.6, 1);
}

.frst .btn-prim:hover::after {
left: 0;
}

.frst .btn-prim span {
position: relative;
z-index: 1;
}

.frst .btn-prim:hover {
transform: scale(1.04);
color: #F0F1F3;
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
}

.frst .btn-sec {
display: inline-block;
background: transparent;
color: #F0F1F3;
font-size: 16px;
line-height: 1.6;
font-weight: 600;
padding: 12px 24px;
border-radius: 8px;
border: 2px solid rgba(240, 241, 243, 0.3);
cursor: pointer;
text-decoration: none;
transition: transform 0.14s ease-out, border-color 0.18s ease-out, color 0.18s ease-out;
}

.frst .btn-sec:hover {
transform: scale(1.03);
border-color: #02B2D0;
color: #02B2D0;
}

.frst .kv-img-col {
position: relative;
display: flex;
align-items: center;
justify-content: center;
}

.frst .kv-img-wrap {
position: relative;
width: 100%;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
}

.frst .kv-img-wrap img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
filter: saturate(0.7) contrast(1.1);
mix-blend-mode: luminosity;
}

.frst .kv-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(1, 24, 83, 0.55) 0%, rgba(2, 178, 208, 0.22) 60%, rgba(1, 24, 83, 0.4) 100%);
border-radius: 20px;
}

.frst .kv-img-badge {
position: absolute;
bottom: 24px;
left: 24px;
background: rgba(1, 24, 83, 0.92);
border: 1px solid rgba(2, 178, 208, 0.35);
border-radius: 8px;
padding: 12px 24px;
color: #F0F1F3;
font-size: 16px;
line-height: 1.6;
}

.frst .kv-img-badge strong {
color: #02B2D0;
display: block;
font-size: 32px;
line-height: 1.1;
}

.frst .nums-sec {
background: #F0F1F3;
padding: 96px 24px;
}

.frst .nums-head {
max-width: 1500px;
margin: 0 auto 52px;
}

.frst .nums-head h2 {
font-size: 32px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.01em;
font-style: italic;
margin-bottom: 12px;
}

.frst .nums-head p {
font-size: 18px;
line-height: 1.6;
color: #3a4a6b;
max-width: 560px;
}

.frst .nums-grid {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.frst .num-card {
background: #fff;
border-radius: 20px;
padding: 52px 24px 24px;
position: relative;
box-shadow: 0 1px 3px 0 rgba(2, 178, 208, 0.05);
transition: box-shadow 0.18s ease-out, transform 0.18s ease-out;
overflow: hidden;
}

.frst .num-card:hover {
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
transform: translateY(-4px);
}

.frst .num-card-corner {
position: absolute;
top: 0;
right: 0;
width: 60px;
height: 60px;
background: #02B2D0;
border-radius: 0 20px 0 48px;
}

.frst .num-val {
font-size: 72px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.03em;
font-weight: 800;
}

.frst .num-unit {
font-size: 32px;
color: #02B2D0;
font-weight: 700;
}

.frst .num-label {
font-size: 16px;
line-height: 1.6;
color: #3a4a6b;
margin-top: 12px;
}

.frst .current-sec {
background: #011853;
padding: 96px 24px;
position: relative;
}

.frst .current-deco {
position: absolute;
top: 0;
right: 0;
width: 500px;
height: 500px;
border: 2px solid rgba(2, 178, 208, 0.08);
border-radius: 48px;
transform: translate(30%, -30%);
pointer-events: none;
}

.frst .current-grid {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: center;
}

.frst .current-img-wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
}

.frst .current-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
filter: saturate(0.85);
}

.frst .current-img-over {
position: absolute;
inset: 0;
background: linear-gradient(200deg, rgba(2, 178, 208, 0.18) 0%, rgba(1, 24, 83, 0.5) 100%);
}

.frst .current-tag {
position: absolute;
top: 24px;
right: 24px;
background: #02B2D0;
color: #011853;
font-size: 16px;
line-height: 1.6;
font-weight: 700;
padding: 6px 12px;
border-radius: 8px;
}

.frst .current-text h2 {
font-size: 32px;
line-height: 1.1;
color: #F0F1F3;
letter-spacing: -0.01em;
font-style: italic;
margin-bottom: 24px;
}

.frst .current-text p {
font-size: 18px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.78);
margin-bottom: 24px;
}

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

.frst .current-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 16px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.82);
}

.frst .c-dot {
flex-shrink: 0;
width: 20px;
height: 20px;
margin-top: 2px;
display: flex;
align-items: center;
justify-content: center;
}

.frst .c-dot svg {
width: 20px;
height: 20px;
}

.frst .support-sec {
background: #fff;
padding: 96px 24px;
}

.frst .support-inner {
max-width: 1500px;
margin: 0 auto;
}

.frst .support-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
margin-bottom: 52px;
}

.frst .support-top h2 {
font-size: 32px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.01em;
font-style: italic;
}

.frst .support-top p {
font-size: 18px;
line-height: 1.6;
color: #3a4a6b;
}

.frst .support-top p+p {
margin-top: 12px;
}

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

.frst .sup-card {
background: #F0F1F3;
border-radius: 20px;
padding: 24px;
position: relative;
transition: background 0.20s ease-out, box-shadow 0.20s ease-out;
}

.frst .sup-card:hover {
background: #fff;
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
}

.frst .sup-icon {
width: 48px;
height: 48px;
background: #011853;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
}

.frst .sup-icon svg {
width: 24px;
height: 24px;
}

.frst .sup-card h4 {
font-size: 18px;
line-height: 1.1;
color: #011853;
margin-bottom: 12px;
font-weight: 700;
}

.frst .sup-card p {
font-size: 16px;
line-height: 1.6;
color: #3a4a6b;
}

.frst .exp-sec {
background: #F0F1F3;
padding: 96px 24px;
}

.frst .exp-inner {
max-width: 1500px;
margin: 0 auto;
}

.frst .exp-label {
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
letter-spacing: 0.06em;
margin-bottom: 12px;
font-weight: 600;
}

.frst .exp-inner h2 {
font-size: 32px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.01em;
font-style: italic;
margin-bottom: 52px;
max-width: 600px;
}

.frst .exp-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.frst .exp-card {
background: #fff;
border-radius: 20px;
padding: 24px;
display: grid;
grid-template-columns: 64px 1fr;
gap: 24px;
align-items: start;
box-shadow: 0 1px 3px 0 rgba(2, 178, 208, 0.05);
transition: box-shadow 0.14s ease-out;
position: relative;
overflow: hidden;
}

.frst .exp-card:hover {
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
}

.frst .exp-card-tag {
position: absolute;
top: 0;
right: 0;
background: #02B2D0;
color: #011853;
font-size: 16px;
line-height: 1.6;
font-weight: 700;
padding: 6px 12px;
border-radius: 0 20px 0 8px;
}

.frst .exp-avatar {
width: 64px;
height: 64px;
border-radius: 48px;
background: #011853;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-size: 18px;
font-weight: 700;
color: #02B2D0;
}

.frst .exp-body h5 {
font-size: 18px;
line-height: 1.1;
color: #011853;
margin-bottom: 6px;
font-weight: 700;
}

.frst .exp-meta {
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
margin-bottom: 12px;
}

.frst .exp-body p {
font-size: 16px;
line-height: 1.6;
color: #3a4a6b;
}

.frst .exp-img-row {
margin-top: 24px;
border-radius: 20px;
overflow: hidden;
position: relative;
}

.frst .exp-img-row img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
filter: saturate(0.9);
}

.frst .exp-img-over {
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(1, 24, 83, 0.3) 0%, rgba(2, 178, 208, 0.12) 100%);
}

.frst .offer-sec {
background: #011853;
padding: 96px 24px;
position: relative;
}

.frst .offer-deco {
position: absolute;
bottom: 0;
left: 0;
width: 400px;
height: 400px;
border: 2px solid rgba(2, 178, 208, 0.07);
border-radius: 48px;
transform: translate(-30%, 30%);
pointer-events: none;
}

.frst .offer-inner {
max-width: 1500px;
margin: 0 auto;
}

.frst .offer-inner h2 {
font-size: 32px;
line-height: 1.1;
color: #F0F1F3;
letter-spacing: -0.01em;
font-style: italic;
margin-bottom: 12px;
}

.frst .offer-sub {
font-size: 18px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.72);
margin-bottom: 52px;
max-width: 560px;
}

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

.frst .off-card {
background: rgba(240, 241, 243, 0.05);
border: 1px solid rgba(2, 178, 208, 0.2);
border-radius: 20px;
padding: 24px;
position: relative;
overflow: hidden;
transition: background 0.18s ease-out, border-color 0.18s ease-out;
}

.frst .off-card:hover {
background: rgba(2, 178, 208, 0.08);
border-color: rgba(2, 178, 208, 0.5);
}

.frst .off-card-tag {
position: absolute;
top: 0;
right: 0;
background: rgba(2, 178, 208, 0.18);
color: #02B2D0;
font-size: 16px;
line-height: 1.6;
font-weight: 700;
padding: 6px 12px;
border-radius: 0 20px 0 8px;
}

.frst .off-icon {
width: 48px;
height: 48px;
border-radius: 8px;
background: rgba(2, 178, 208, 0.15);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
}

.frst .off-icon svg {
width: 24px;
height: 24px;
}

.frst .off-card h4 {
font-size: 18px;
line-height: 1.1;
color: #F0F1F3;
margin-bottom: 12px;
font-weight: 700;
}

.frst .off-card p {
font-size: 16px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.72);
margin-bottom: 24px;
}

.frst .off-link {
display: inline-block;
color: #02B2D0;
font-size: 16px;
line-height: 1.6;
font-weight: 600;
text-decoration: none;
border-bottom: 1px solid rgba(2, 178, 208, 0.4);
transition: border-color 0.14s ease-out, color 0.14s ease-out;
}

.frst .off-link:hover {
color: #F0F1F3;
border-color: #F0F1F3;
}

@media (max-width: 1024px) {
.frst .kv-grid {
grid-template-columns: 1fr;
gap: 52px;
}

.frst .kv-h1 {
font-size: 52px;
}

.frst .nums-grid {
grid-template-columns: repeat(2, 1fr);
}

.frst .current-grid {
grid-template-columns: 1fr;
gap: 52px;
}

.frst .support-top {
grid-template-columns: 1fr;
gap: 24px;
}

.frst .support-cards {
grid-template-columns: repeat(2, 1fr);
}

.frst .exp-grid {
grid-template-columns: 1fr;
}

.frst .offer-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.frst .kv {
padding: 52px 24px;
}

.frst .kv-h1 {
font-size: 32px;
}

.frst .kv-deco {
display: none;
}

.frst .nums-grid {
grid-template-columns: 1fr;
}

.frst .support-cards {
grid-template-columns: 1fr;
}

.frst .offer-grid {
grid-template-columns: 1fr;
}

.frst .nums-sec,
.frst .current-sec,
.frst .support-sec,
.frst .exp-sec,
.frst .offer-sec {
padding: 52px 24px;
}
}

@media (max-width: 320px) {
.frst .kv-actions {
flex-direction: column;
align-items: flex-start;
}

.frst .exp-card {
grid-template-columns: 1fr;
}
}

.ctus-pg {
position: relative;
overflow: hidden;
}

.ctus-pg .pg-body {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px;
}

.ctus-pg .narrow-col {
max-width: 720px;
margin: 0 auto;
}

.ctus-pg .reveal-left {
opacity: 0;
transform: translateX(-48px);
animation: slideFromLeft 0.18s cubic-bezier(0.4, 0, 0.6, 1) forwards;
}

.ctus-pg .reveal-right {
opacity: 0;
transform: translateX(48px);
animation: slideFromRight 0.18s cubic-bezier(0.4, 0, 0.6, 1) forwards;
}

.ctus-pg .reveal-up {
opacity: 0;
transform: translateY(36px);
animation: slideFromBottom 0.16s cubic-bezier(0.4, 0, 0.6, 1) forwards;
}

.ctus-pg .delay-1 {
animation-delay: 0.08s;
}

.ctus-pg .delay-2 {
animation-delay: 0.14s;
}

.ctus-pg .delay-3 {
animation-delay: 0.20s;
}

.ctus-pg .delay-4 {
animation-delay: 0.26s;
}

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

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

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

.ctus-pg .top-band {
background: #011853;
position: relative;
padding: 96px 24px 52px;
overflow: hidden;
}

.ctus-pg .top-band::before {
content: '';
position: absolute;
top: -80px;
right: -80px;
width: 340px;
height: 340px;
background: radial-gradient(circle at 60% 40%, rgba(2, 178, 208, 0.18) 0%, rgba(1, 24, 83, 0.04) 60%, transparent 80%);
border-radius: 48px;
pointer-events: none;
}

.ctus-pg .top-band::after {
content: '';
position: absolute;
bottom: -60px;
left: -40px;
width: 260px;
height: 260px;
background: radial-gradient(circle at 30% 70%, rgba(2, 178, 208, 0.12) 0%, transparent 70%);
border-radius: 48px;
pointer-events: none;
}

.ctus-pg .geo-shape {
position: absolute;
top: 24px;
left: 52px;
width: 80px;
height: 80px;
opacity: 0.07;
pointer-events: none;
}

.ctus-pg .geo-shape svg {
width: 100%;
height: 100%;
}

.ctus-pg .geo-shape-2 {
position: absolute;
bottom: 52px;
right: 120px;
width: 56px;
height: 56px;
opacity: 0.06;
pointer-events: none;
}

.ctus-pg .geo-shape-2 svg {
width: 100%;
height: 100%;
}

.ctus-pg .band-label {
display: inline-block;
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 12px;
}

.ctus-pg .band-heading {
font-size: 72px;
line-height: 1.1;
color: #ffffff;
letter-spacing: -0.03em;
margin: 0 0 24px;
font-style: italic;
}

.ctus-pg .band-heading em {
font-style: normal;
color: #02B2D0;
}

.ctus-pg .band-sub {
font-size: 18px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.75);
max-width: 520px;
margin: 0;
}

.ctus-pg .vignette-wrap {
position: relative;
}

.ctus-pg .vignette-wrap::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(1, 24, 83, 0.28) 100%);
pointer-events: none;
z-index: 1;
}

.ctus-pg .wave-divider {
position: relative;
height: 24px;
overflow: hidden;
}

.ctus-pg .wave-divider svg {
width: 100%;
height: 24px;
display: block;
}

.ctus-pg .contact-body {
background: #F0F1F3;
padding: 96px 24px;
position: relative;
}

.ctus-pg .contact-body::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 80%, rgba(2, 178, 208, 0.06) 0%, transparent 55%),
radial-gradient(ellipse at 80% 20%, rgba(1, 24, 83, 0.05) 0%, transparent 50%),
radial-gradient(ellipse at 50% 50%, rgba(240, 241, 243, 0.9) 0%, transparent 80%);
pointer-events: none;
}

.ctus-pg .two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
position: relative;
z-index: 2;
}

.ctus-pg .info-side {
display: flex;
flex-direction: column;
gap: 24px;
}

.ctus-pg .info-heading {
font-size: 32px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.02em;
font-style: italic;
margin: 0 0 6px;
}

.ctus-pg .info-desc {
font-size: 16px;
line-height: 1.6;
color: #2a3a5c;
margin: 0;
}

.ctus-pg .info-cards {
display: flex;
flex-direction: column;
gap: 12px;
}

.ctus-pg .info-card {
background: #ffffff;
border-radius: 20px;
padding: 24px;
box-shadow: 0 1px 3px 0 rgba(1, 24, 83, 0.05), 0 4px 28px 0 rgba(1, 24, 83, 0.09);
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
transition: box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1), transform 0.14s cubic-bezier(0.4, 0, 0.6, 1);
}

.ctus-pg .info-card:hover {
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
transform: translateY(-2px);
}

.ctus-pg .card-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
background: linear-gradient(135deg, rgba(2, 178, 208, 0.12) 0%, rgba(1, 24, 83, 0.08) 100%);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
}

.ctus-pg .card-icon svg {
width: 20px;
height: 20px;
}

.ctus-pg .card-data {
display: flex;
flex-direction: column;
gap: 6px;
}

.ctus-pg .card-label {
font-size: 16px;
line-height: 1.1;
color: #02B2D0;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
}

.ctus-pg .card-val {
font-size: 16px;
line-height: 1.6;
color: #011853;
margin: 0;
}

.ctus-pg .card-val a {
color: #011853;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.14s ease-out;
}

.ctus-pg .card-val a:hover {
color: #02B2D0;
}

.ctus-pg .label-val-divider {
display: block;
width: 100%;
height: 1px;
background: linear-gradient(90deg, rgba(2, 178, 208, 0.3) 0%, rgba(1, 24, 83, 0.08) 100%);
margin: 6px 0;
}

.ctus-pg .progress-strip {
background: #ffffff;
border-radius: 20px;
padding: 24px;
box-shadow: 0 1px 3px 0 rgba(1, 24, 83, 0.05);
}

.ctus-pg .strip-label {
font-size: 16px;
line-height: 1.6;
color: #011853;
font-weight: 600;
margin: 0 0 12px;
}

.ctus-pg .seg-bar {
display: flex;
flex-direction: row;
gap: 6px;
}

.ctus-pg .seg {
height: 8px;
border-radius: 8px;
background: #F0F1F3;
flex: 1;
transition: background 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.ctus-pg .seg.filled {
background: #02B2D0;
}

.ctus-pg .seg.half {
background: linear-gradient(90deg, #02B2D0 60%, #F0F1F3 60%);
}

.ctus-pg .strip-note {
font-size: 16px;
line-height: 1.6;
color: #5a6a8a;
margin: 12px 0 0;
}

.ctus-pg .form-side {
background: #ffffff;
border-radius: 20px;
padding: 52px;
box-shadow: 0 4px 28px 0 rgba(1, 24, 83, 0.09), 0 1px 3px 0 rgba(1, 24, 83, 0.05);
display: flex;
flex-direction: column;
gap: 24px;
}

.ctus-pg .form-heading {
font-size: 32px;
line-height: 1.1;
color: #011853;
letter-spacing: -0.02em;
font-style: italic;
margin: 0;
}

.ctus-pg .form-note {
font-size: 16px;
line-height: 1.6;
color: #5a6a8a;
margin: 0;
}

.ctus-pg .field-group {
display: flex;
flex-direction: column;
gap: 6px;
}

.ctus-pg .field-label {
font-size: 16px;
line-height: 1.6;
color: #011853;
font-weight: 600;
}

.ctus-pg .field-input {
font-size: 16px;
line-height: 1.6;
color: #011853;
background: #F0F1F3;
border: 1.5px solid transparent;
border-radius: 8px;
padding: 12px 24px;
width: 100%;
box-sizing: border-box;
outline: none;
transition: border-color 0.16s cubic-bezier(0.4, 0, 0.6, 1), background 0.14s ease-out, box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: inset 0 1px 2px rgba(1, 24, 83, 0.05);
}

.ctus-pg .field-input::placeholder {
color: #8a9ab8;
}

.ctus-pg .field-input:focus {
border-color: #02B2D0;
background: #ffffff;
box-shadow: 0 0 0 3px rgba(2, 178, 208, 0.12), inset 0 1px 2px rgba(1, 24, 83, 0.04);
}

.ctus-pg .field-select {
font-size: 16px;
line-height: 1.6;
color: #011853;
background: #F0F1F3;
border: 1.5px solid transparent;
border-radius: 8px;
padding: 12px 24px;
width: 100%;
box-sizing: border-box;
outline: none;
cursor: pointer;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23011853' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
transition: border-color 0.16s cubic-bezier(0.4, 0, 0.6, 1), background-color 0.14s ease-out, box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: inset 0 1px 2px rgba(1, 24, 83, 0.05);
}

.ctus-pg .field-select:focus {
border-color: #02B2D0;
background-color: #ffffff;
box-shadow: 0 0 0 3px rgba(2, 178, 208, 0.12), inset 0 1px 2px rgba(1, 24, 83, 0.04);
}

.ctus-pg .field-textarea {
font-size: 16px;
line-height: 1.6;
color: #011853;
background: #F0F1F3;
border: 1.5px solid transparent;
border-radius: 8px;
padding: 12px 24px;
width: 100%;
box-sizing: border-box;
outline: none;
resize: vertical;
min-height: 120px;
transition: border-color 0.16s cubic-bezier(0.4, 0, 0.6, 1), background 0.14s ease-out, box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: inset 0 1px 2px rgba(1, 24, 83, 0.05);
}

.ctus-pg .field-textarea::placeholder {
color: #8a9ab8;
}

.ctus-pg .field-textarea:focus {
border-color: #02B2D0;
background: #ffffff;
box-shadow: 0 0 0 3px rgba(2, 178, 208, 0.12), inset 0 1px 2px rgba(1, 24, 83, 0.04);
}

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

.ctus-pg .checkbox-row input[type="checkbox"] {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #02B2D0;
cursor: pointer;
}

.ctus-pg .checkbox-text {
font-size: 16px;
line-height: 1.6;
color: #5a6a8a;
}

.ctus-pg .checkbox-text a {
color: #02B2D0;
text-decoration: underline;
text-underline-offset: 2px;
transition: color 0.14s ease-out;
}

.ctus-pg .checkbox-text a:hover {
color: #011853;
}

.ctus-pg .submit-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
background: #011853;
color: #ffffff;
font-size: 18px;
line-height: 1.1;
font-weight: 700;
padding: 24px 52px;
border-radius: 8px;
border: none;
cursor: pointer;
width: 100%;
transition: background 0.16s cubic-bezier(0.4, 0, 0.6, 1), transform 0.14s ease-out, box-shadow 0.18s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: 0 4px 28px 0 rgba(1, 24, 83, 0.09);
}

.ctus-pg .submit-btn:hover {
background: #02B2D0;
transform: scale(1.025);
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
}

.ctus-pg .submit-btn:focus {
outline: 3px solid rgba(2, 178, 208, 0.5);
outline-offset: 3px;
}

.ctus-pg .submit-btn:active {
transform: scale(0.99);
}

.ctus-pg .submit-btn svg {
width: 20px;
height: 20px;
flex-shrink: 0;
}

.ctus-pg .hover-label-wrap {
position: relative;
display: inline-flex;
overflow: hidden;
}

.ctus-pg .hover-label-wrap .slide-label {
position: absolute;
left: 0;
top: 0;
bottom: 0;
background: #02B2D0;
color: #ffffff;
font-size: 16px;
line-height: 1.6;
padding: 6px 12px;
border-radius: 8px;
white-space: nowrap;
transform: translateX(-110%);
transition: transform 0.18s cubic-bezier(0.4, 0, 0.6, 1);
pointer-events: none;
display: flex;
align-items: center;
}

.ctus-pg .info-card:hover .slide-label {
transform: translateX(0);
}

@media (max-width: 1024px) {
.ctus-pg .two-col {
grid-template-columns: 1fr;
gap: 52px;
}

.ctus-pg .band-heading {
font-size: 52px;
}

.ctus-pg .form-side {
padding: 24px;
}
}

@media (max-width: 768px) {
.ctus-pg .top-band {
padding: 52px 24px 52px;
}

.ctus-pg .band-heading {
font-size: 32px;
}

.ctus-pg .contact-body {
padding: 52px 24px;
}

.ctus-pg .form-side {
padding: 24px;
}

.ctus-pg .submit-btn {
padding: 24px;
}
}

@media (max-width: 320px) {
.ctus-pg .band-heading {
font-size: 32px;
}

.ctus-pg .form-side {
padding: 12px;
}
}

.ab-us {
position: relative;
overflow-x: clip;
}

.ab-us * {
box-sizing: border-box;
}

.ab-us ::selection {
background: #011853;
color: #F0F1F3;
font-weight: 700;
}

.ab-us .pg-ident {
position: relative;
padding: 96px 52px;
background: #F0F1F3;
overflow: hidden;
}

.ab-us .pg-ident::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #02B2D0 0%, #011853 60%, #F0F1F3 100%);
}

.ab-us .pg-ident::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #F0F1F3 0%, #011853 40%, #02B2D0 100%);
}

.ab-us .ident-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 96px;
align-items: center;
}

.ab-us .ident-text {
position: relative;
padding-left: 24px;
}

.ab-us .ident-text::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(180deg, #02B2D0 0%, #011853 100%);
}

.ab-us .ident-eyebrow {
display: inline-block;
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 12px;
font-weight: 600;
}

.ab-us .ident-h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #011853;
margin: 0 0 24px 0;
font-style: italic;
font-weight: 800;
}

.ab-us .ident-h1 em {
font-style: normal;
color: #02B2D0;
}

.ab-us .ident-desc {
font-size: 18px;
line-height: 1.6;
color: #2a3a5c;
margin: 0 0 52px 0;
}

.ab-us .ident-actions {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
}

.ab-us .btn-prim {
display: inline-block;
padding: 12px 24px;
background: #011853;
color: #F0F1F3;
font-size: 16px;
line-height: 1.6;
font-weight: 700;
text-decoration: none;
border-radius: 8px;
box-shadow: 0 4px 28px 0 rgba(1, 24, 83, 0.09);
transition: transform 0.16s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.16s cubic-bezier(0.4, 0, 0.6, 1);
}

.ab-us .btn-prim:hover {
transform: scale(1.04);
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
}

.ab-us .btn-sec {
display: inline-block;
padding: 12px 24px;
background: transparent;
color: #011853;
font-size: 16px;
line-height: 1.6;
font-weight: 600;
text-decoration: none;
border-radius: 8px;
border: 2px solid #02B2D0;
transition: transform 0.14s ease-out, background 0.14s ease-out;
}

.ab-us .btn-sec:hover {
transform: scale(1.04);
background: rgba(2, 178, 208, 0.07);
}

.ab-us .ident-img-col {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-end;
}

.ab-us .ident-quote-mark {
position: absolute;
top: -24px;
right: 12px;
font-size: 220px;
line-height: 1;
color: #011853;
opacity: 0.04;
font-weight: 900;
pointer-events: none;
user-select: none;
z-index: 0;
}

.ab-us .ident-img-frame {
position: relative;
width: 100%;
max-width: 560px;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
z-index: 1;
}

.ab-us .ident-img-frame img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
border-radius: 20px;
transition: transform 0.22s cubic-bezier(0.4, 0, 0.6, 1);
}

.ab-us .ident-img-frame:hover img {
transform: translateX(-12px);
}

.ab-us .ident-badge {
position: absolute;
bottom: -12px;
left: -24px;
background: #02B2D0;
color: #fff;
border-radius: 8px;
padding: 12px 24px;
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
z-index: 2;
}

.ab-us .ident-badge-year {
font-size: 32px;
line-height: 1.1;
font-weight: 800;
display: block;
}

.ab-us .ident-badge-label {
font-size: 16px;
line-height: 1.6;
display: block;
opacity: 0.9;
}

.ab-us .reveal-clip {
clip-path: inset(0 100% 0 0);
animation: revealFromCenter 0.7s cubic-bezier(0.4, 0, 0.6, 1) 0.1s forwards;
}

@keyframes revealFromCenter {
0% {
clip-path: inset(0 50% 0 50%);
}

100% {
clip-path: inset(0 0% 0 0%);
}
}

.ab-us .story-block {
position: relative;
padding: 96px 52px;
background: #fff;
}

.ab-us .story-block::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 50%, rgba(2, 178, 208, 0.06) 0%, rgba(1, 24, 83, 0.04) 45%, transparent 70%),
radial-gradient(ellipse at 80% 20%, rgba(1, 24, 83, 0.05) 0%, transparent 50%),
radial-gradient(ellipse at 60% 90%, rgba(2, 178, 208, 0.04) 0%, transparent 40%);
pointer-events: none;
}

.ab-us .story-block::after {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 1px 1px, rgba(2, 178, 208, 0.08) 1px, transparent 0);
background-size: 28px 28px;
pointer-events: none;
opacity: 0.5;
}

.ab-us .story-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.ab-us .story-top {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 52px;
align-items: start;
margin-bottom: 96px;
}

.ab-us .story-label {
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 12px;
display: block;
}

.ab-us .story-h2 {
font-size: 32px;
line-height: 1.1;
color: #011853;
margin: 0 0 24px 0;
font-style: italic;
font-weight: 700;
letter-spacing: -0.02em;
}

.ab-us .story-lead {
font-size: 18px;
line-height: 1.6;
color: #1e2d50;
margin: 0 0 12px 0;
font-weight: 500;
}

.ab-us .story-body {
font-size: 16px;
line-height: 1.6;
color: #2a3a5c;
margin: 0;
}

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

.ab-us .img-card {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 1px 3px 0 rgba(2, 178, 208, 0.05);
}

.ab-us .img-card.tall {
grid-row: span 2;
align-self: stretch;
}

.ab-us .img-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.2s cubic-bezier(0.4, 0, 0.6, 1);
min-height: 200px;
}

.ab-us .img-card:hover img {
transform: translateY(-8px);
}

.ab-us .img-card.tall img {
height: 100%;
min-height: 420px;
}

.ab-us .story-pillars {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.ab-us .pillar {
background: #F0F1F3;
border-radius: 20px;
padding: 52px 24px 24px;
position: relative;
box-shadow: 0 1px 3px 0 rgba(1, 24, 83, 0.05);
transition: box-shadow 0.18s ease-out, transform 0.18s ease-out;
display: flex;
flex-direction: column;
gap: 12px;
}

.ab-us .pillar:hover {
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
transform: translateY(-4px);
}

.ab-us .pillar-icon {
width: 48px;
height: 48px;
border-radius: 8px;
background: #011853;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 6px;
}

.ab-us .pillar-icon svg {
width: 24px;
height: 24px;
fill: none;
stroke: #02B2D0;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.ab-us .pillar-num {
position: absolute;
top: 24px;
right: 24px;
font-size: 32px;
line-height: 1.1;
font-weight: 900;
color: rgba(2, 178, 208, 0.15);
letter-spacing: -0.04em;
}

.ab-us .pillar-h4 {
font-size: 18px;
line-height: 1.1;
color: #011853;
margin: 0;
font-weight: 700;
font-style: italic;
}

.ab-us .pillar-p {
font-size: 16px;
line-height: 1.6;
color: #2a3a5c;
margin: 0;
}

.ab-us .pillar-divider {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
margin-top: auto;
}

.ab-us .pillar-divider-short {
width: 20px;
height: 2px;
background: #02B2D0;
border-radius: 48px;
}

.ab-us .pillar-divider-long {
flex: 1;
height: 2px;
background: rgba(2, 178, 208, 0.2);
border-radius: 48px;
}

.ab-us .team-strip {
margin-top: 96px;
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 24px;
align-items: stretch;
}

.ab-us .team-intro {
background: #011853;
border-radius: 20px;
padding: 52px;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 24px;
box-shadow: 0 4px 28px 0 rgba(1, 24, 83, 0.09);
}

.ab-us .team-intro-h3 {
font-size: 32px;
line-height: 1.1;
color: #F0F1F3;
margin: 0;
font-style: italic;
font-weight: 700;
letter-spacing: -0.02em;
}

.ab-us .team-intro-p {
font-size: 16px;
line-height: 1.6;
color: rgba(240, 241, 243, 0.75);
margin: 0;
}

.ab-us .team-intro-accent {
width: 52px;
height: 3px;
background: #02B2D0;
border-radius: 48px;
}

.ab-us .team-card {
background: #F0F1F3;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 1px 3px 0 rgba(1, 24, 83, 0.05);
display: flex;
flex-direction: column;
transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.6, 1);
}

.ab-us .team-card:hover {
box-shadow: 0 8px 48px 0 rgba(1, 24, 83, 0.14);
}

.ab-us .team-card-img {
width: 100%;
height: 220px;
overflow: hidden;
position: relative;
}

.ab-us .team-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.22s cubic-bezier(0.4, 0, 0.6, 1);
}

.ab-us .team-card:hover .team-card-img img {
transform: translateX(10px);
}

.ab-us .team-card-body {
padding: 24px;
flex: 1;
display: flex;
flex-direction: column;
gap: 6px;
}

.ab-us .team-card-name {
font-size: 18px;
line-height: 1.1;
color: #011853;
font-weight: 700;
margin: 0;
}

.ab-us .team-card-role {
font-size: 16px;
line-height: 1.6;
color: #02B2D0;
font-weight: 600;
margin: 0;
}

.ab-us .team-card-desc {
font-size: 16px;
line-height: 1.6;
color: #2a3a5c;
margin: 6px 0 0 0;
}

.ab-us .custom-bullet-list {
list-style: none;
padding: 0;
margin: 24px 0 0 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.ab-us .custom-bullet-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 16px;
line-height: 1.6;
color: #2a3a5c;
}

.ab-us .bullet-svg {
flex-shrink: 0;
margin-top: 3px;
}

@media (max-width: 1024px) {
.ab-us .ident-inner {
grid-template-columns: 1fr;
gap: 52px;
}

.ab-us .ident-h1 {
font-size: 32px;
}

.ab-us .ident-img-col {
align-items: center;
}

.ab-us .ident-img-frame {
max-width: 100%;
}

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

.ab-us .story-pillars {
grid-template-columns: 1fr 1fr;
}

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

.ab-us .team-intro {
grid-column: span 2;
}
}

@media (max-width: 768px) {
.ab-us .pg-ident {
padding: 52px 24px;
}

.ab-us .ident-actions {
flex-direction: column;
align-items: flex-start;
}

.ab-us .story-block {
padding: 52px 24px;
}

.ab-us .story-pillars {
grid-template-columns: 1fr;
}

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

.ab-us .team-intro {
grid-column: span 1;
padding: 24px;
}

.ab-us .story-imgs {
grid-template-columns: 1fr;
}

.ab-us .img-card.tall {
grid-row: span 1;
}

.ab-us .img-card.tall img {
min-height: 260px;
}
}

@media (max-width: 320px) {
.ab-us .pg-ident {
padding: 52px 12px;
}

.ab-us .story-block {
padding: 52px 12px;
}

.ab-us .ident-h1 {
font-size: 32px;
}
}

.success-page {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #F0F1F3;
}

.success-page .success-card {
background: #ffffff;
border-radius: 20px;
padding: 52px;
max-width: 560px;
width: 100%;
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09), 0 8px 48px 0 rgba(2, 178, 208, 0.14);
text-align: center;
}

.success-page .success-icon-wrap {
width: 72px;
height: 72px;
margin: 0 auto 24px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 48px;
background: #F0F1F3;
box-shadow: inset 0 1px 2px 0 rgba(2, 178, 208, 0.08);
}

.success-page .success-icon-wrap svg {
display: block;
}

.success-page .success-heading {
font-size: 32px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #011853;
margin: 0 0 12px;
font-style: italic;
}

.success-page .success-subtext {
font-size: 18px;
line-height: 1.6;
color: #3a4a6b;
margin: 0 0 52px;
}

.success-page .success-divider {
width: 48px;
height: 3px;
background: #02B2D0;
border-radius: 8px;
margin: 0 auto 52px;
}

.success-page .success-detail {
font-size: 16px;
line-height: 1.6;
color: #5a6a8a;
margin: 0 0 52px;
}

.success-page .success-detail strong {
color: #011853;
}

.success-page .success-actions {
display: flex;
flex-direction: column;
gap: 12px;
align-items: center;
}

.success-page .btn-primary {
display: inline-block;
padding: 12px 52px;
background: #02B2D0;
color: #ffffff;
font-size: 16px;
line-height: 1.6;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
letter-spacing: 0.01em;
transition: transform 0.18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: 0 4px 28px 0 rgba(2, 178, 208, 0.09);
}

.success-page .btn-primary:hover {
transform: scale(1.04);
box-shadow: 0 8px 48px 0 rgba(2, 178, 208, 0.14);
}

.success-page .btn-primary:focus {
outline: 2px solid #011853;
outline-offset: 3px;
}

.success-page .btn-secondary {
display: inline-block;
padding: 12px 24px;
background: transparent;
color: #011853;
font-size: 16px;
line-height: 1.6;
border-radius: 8px;
text-decoration: none;
border: 1.5px solid #011853;
letter-spacing: 0.01em;
transition: background 0.22s ease-out, color 0.22s ease-out, transform 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.success-page .btn-secondary:hover {
background: #011853;
color: #ffffff;
transform: scale(1.03);
}

.success-page .btn-secondary:focus {
outline: 2px solid #02B2D0;
outline-offset: 3px;
}

.success-page .success-contact {
margin-top: 52px;
padding-top: 24px;
border-top: 1px solid #e2e6ed;
font-size: 16px;
line-height: 1.6;
color: #5a6a8a;
}

.success-page .success-contact a {
color: #02B2D0;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.14s ease-out;
}

.success-page .success-contact a:hover {
color: #011853;
}

@media (max-width: 768px) {
.success-page {
padding: 52px 24px;
}

.success-page .success-card {
padding: 52px 24px;
}
}

@media (max-width: 320px) {
.success-page .success-card {
padding: 24px 12px;
}

.success-page .btn-primary {
padding: 12px 24px;
width: 100%;
text-align: center;
}

.success-page .btn-secondary {
width: 100%;
text-align: center;
}
}