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

body {
margin: 0;
overscroll-behavior: contain;
overflow-x: hidden;
}

.site-header {
position: relative;
background: #ffffff;
border-bottom: 2px solid #394467;
}

.header-utility {
background: linear-gradient(90deg, #394467 0%, #4a5a7a 100%);
padding: 12px 24px;
}

.header-utility-box {
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}

.brand-identity {
display: flex;
align-items: center;
gap: 24px;
}

.logo-frame {
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
border: 1px solid rgba(160, 183, 255, 0.4);
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05), 0 0 0 2px rgba(160, 183, 255, 0.15);
background: rgba(255, 255, 255, 0.08);
}

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

.brand-name-text {
font-family: 'PT Serif', serif;
font-size: 27px;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.02em;
line-height: 1.2;
text-decoration: none;
}

.utility-contact-group {
display: flex;
align-items: center;
gap: 24px;
}

.utility-contact-item {
display: flex;
align-items: center;
gap: 6px;
color: rgba(255, 255, 255, 0.85);
font-family: 'Karla', sans-serif;
font-size: 14px;
letter-spacing: 0.01em;
line-height: 1.4;
text-decoration: none;
transition: color 0.25s ease-in-out;
}

.utility-contact-item:hover,
.utility-contact-item:focus {
color: #A0B7FF;
outline: none;
}

.utility-contact-item:focus-visible {
outline: 2px solid;
outline-color: #A0B7FF;
outline-offset: 2px;
border-radius: 6px;
}

.utility-contact-item i {
font-size: 16px;
color: #A0B7FF;
}

.header-nav-strip {
padding: 0 24px;
background: #ffffff;
}

.header-nav-box {
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: stretch;
justify-content: center;
}

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

.primary-menu>li {
position: relative;
}

.primary-menu>li>a {
display: flex;
align-items: center;
gap: 6px;
padding: 24px 24px;
font-family: 'Karla', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.4;
color: #394467;
text-decoration: none;
border-bottom: 3px solid transparent;
transition: color 0.28s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
}

.primary-menu>li>a:hover,
.primary-menu>li>a:focus-visible {
color: #A0B7FF;
border-bottom-color: #A0B7FF;
outline: none;
}

.primary-menu>li>a:focus-visible {
outline: 2px solid #394467;
outline-offset: -2px;
border-radius: 6px;
}

.primary-menu>li.has-sub>a::after {
content: '';
display: inline-block;
width: 6px;
height: 6px;
border-right: 2px solid #768695;
border-bottom: 2px solid #768695;
transform: rotate(45deg) translateY(-2px);
transition: transform 0.25s ease-in-out, border-color 0.25s ease-in-out;
}

.primary-menu>li.has-sub:hover>a::after,
.primary-menu>li.has-sub:focus-within>a::after {
transform: rotate(225deg) translateY(-2px);
border-color: #A0B7FF;
}

.sub-dropdown {
position: absolute;
top: 100%;
left: 0;
min-width: 220px;
background: #ffffff;
border: 2px solid #394467;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
list-style: none;
margin: 0;
padding: 6px 0;
opacity: 0;
pointer-events: none;
transition: opacity 0.25s ease-in-out;
z-index: 500;
}

.primary-menu>li.has-sub:hover .sub-dropdown,
.primary-menu>li.has-sub:focus-within .sub-dropdown {
opacity: 1;
pointer-events: auto;
}

.sub-dropdown li a {
display: block;
padding: 12px 24px;
font-family: 'Karla', sans-serif;
font-size: 14px;
font-weight: 400;
color: #394467;
text-decoration: none;
letter-spacing: 0.01em;
line-height: 1.6;
transition: background 0.25s ease-in-out, color 0.25s ease-in-out;
white-space: nowrap;
}

.sub-dropdown li a:hover,
.sub-dropdown li a:focus-visible {
background: rgba(160, 183, 255, 0.12);
color: #394467;
outline: none;
}

.sub-dropdown li a:focus-visible {
outline: 2px solid #394467;
outline-offset: -2px;
}

.site-footer {
background: #394467;
border-top: 3px solid #A0B7FF;
}

.footer-main-box {
max-width: 1440px;
margin: 0 auto;
padding: 52px 24px 24px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 52px;
}

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

.footer-brand-name {
font-family: 'PT Serif', serif;
font-size: 27px;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.02em;
line-height: 1.2;
}

.footer-desc {
font-family: 'Karla', sans-serif;
font-size: 14px;
color: rgba(255, 255, 255, 0.75);
line-height: 1.6;
letter-spacing: 0.01em;
}

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

.footer-col-label {
font-family: 'Karla', sans-serif;
font-size: 13px;
font-weight: 700;
color: #A0B7FF;
letter-spacing: 0.02em;
line-height: 1.4;
text-transform: uppercase;
margin-bottom: 6px;
}

.footer-contact-row {
display: flex;
align-items: flex-start;
gap: 12px;
font-family: 'Karla', sans-serif;
font-size: 14px;
color: rgba(255, 255, 255, 0.8);
line-height: 1.6;
letter-spacing: 0.01em;
}

.footer-contact-row i {
font-size: 16px;
color: #A0B7FF;
margin-top: 2px;
flex-shrink: 0;
}

.footer-contact-row a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
transition: color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-contact-row a:hover,
.footer-contact-row a:focus-visible {
color: #A0B7FF;
outline: none;
}

.footer-contact-row a:focus-visible {
outline: 2px solid #A0B7FF;
outline-offset: 2px;
border-radius: 6px;
}

.footer-links-col {
display: flex;
flex-direction: column;
gap: 12px;
}

.footer-policy-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 6px;
}

.footer-policy-list li a {
font-family: 'Karla', sans-serif;
font-size: 14px;
color: rgba(255, 255, 255, 0.75);
text-decoration: none;
letter-spacing: 0.01em;
line-height: 1.6;
transition: color 0.25s ease-in-out;
display: inline-block;
padding: 6px 0;
}

.footer-policy-list li a:hover,
.footer-policy-list li a:focus-visible {
color: #A0B7FF;
outline: none;
}

.footer-policy-list li a:focus-visible {
outline: 2px solid #A0B7FF;
outline-offset: 2px;
border-radius: 6px;
}

.footer-bottom-strip {
border-top: 1px solid rgba(160, 183, 255, 0.2);
padding: 24px;
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
}

.footer-copy {
font-family: 'Karla', sans-serif;
font-size: 13px;
color: rgba(255, 255, 255, 0.5);
letter-spacing: 0.01em;
line-height: 1.4;
}

.footer-logo-frame {
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
border: 1px solid rgba(160, 183, 255, 0.3);
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
background: rgba(255, 255, 255, 0.06);
}

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

@media (max-width: 1280px) {
.footer-main-box {
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.footer-links-col {
grid-column: 1 / -1;
}
}

@media (max-width: 768px) {
.header-utility-box {
flex-direction: column;
align-items: flex-start;
gap: 12px;
}

.utility-contact-group {
flex-wrap: wrap;
gap: 12px;
}

.primary-menu {
justify-content: center;
}

.primary-menu>li>a {
padding: 12px 12px;
font-size: 13px;
}

.footer-main-box {
grid-template-columns: 1fr;
gap: 24px;
padding: 52px 24px 24px;
}

.footer-links-col {
grid-column: auto;
}

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

@media (max-width: 390px) {
.brand-name-text {
font-size: 20px;
}

.primary-menu>li>a {
padding: 12px 6px;
font-size: 13px;
}

.utility-contact-item {
font-size: 13px;
}

.header-utility {
padding: 12px;
}

.header-nav-strip {
padding: 0 6px;
}
}

.policy-wrapper {
max-width: 1440px;
margin: 0 auto;
padding: 96px 52px;
color: #394467;
}

.policy-wrapper h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
margin-bottom: 52px;
padding-bottom: 24px;
border-bottom: 3px solid #A0B7FF;
}

.policy-wrapper h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
margin-top: 52px;
margin-bottom: 24px;
}

.policy-wrapper h3 {
font-size: 27px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #394467;
margin-top: 52px;
margin-bottom: 24px;
}

.policy-wrapper h4 {
font-size: 20px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #394467;
margin-top: 24px;
margin-bottom: 12px;
}

.policy-wrapper h5 {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #394467;
margin-top: 24px;
margin-bottom: 12px;
font-weight: 700;
}

.policy-wrapper h6 {
font-size: 14px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #768695;
margin-top: 24px;
margin-bottom: 12px;
font-weight: 700;
text-transform: uppercase;
}

.policy-wrapper div {
max-width: 860px;
}

.policy-wrapper div p,
.policy-wrapper>p {
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #394467;
margin-bottom: 24px;
max-width: 860px;
}

.policy-wrapper ul {
max-width: 860px;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
}

.policy-wrapper ol {
max-width: 860px;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
counter-reset: policy-ol;
}

.policy-wrapper ul li {
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #394467;
margin-bottom: 12px;
padding-left: 24px;
position: relative;
}

.policy-wrapper ul li::before {
content: "";
position: absolute;
left: 0;
top: 13px;
width: 7px;
height: 7px;
border-radius: 36px;
background-color: #A0B7FF;
border: 2px solid #394467;
}

.policy-wrapper ol li {
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #394467;
margin-bottom: 12px;
padding-left: 24px;
position: relative;
counter-increment: policy-ol;
}

.policy-wrapper ol li::before {
content: counter(policy-ol) ".";
position: absolute;
left: 0;
top: 0;
font-size: 14px;
font-weight: 700;
color: #768695;
line-height: 1.9;
letter-spacing: 0.02em;
}

.policy-wrapper ul ul,
.policy-wrapper ol ol,
.policy-wrapper ul ol,
.policy-wrapper ol ul {
margin-top: 12px;
margin-bottom: 6px;
}

.policy-wrapper a {
color: #394467;
text-decoration: none;
border-bottom: 2px solid #A0B7FF;
padding-bottom: 1px;
transition: color 0.25s ease-in-out, border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.policy-wrapper a:hover {
color: #768695;
border-color: #394467;
}

.policy-wrapper a:focus-visible {
outline: 2px solid #A0B7FF;
outline-offset: 3px;
border-radius: 6px;
}

.policy-wrapper hr {
border: none;
border-top: 2px solid #A0B7FF;
margin: 52px 0;
max-width: 860px;
opacity: 0.5;
}

.policy-wrapper table {
width: 100%;
max-width: 1040px;
border-collapse: separate;
border-spacing: 0;
margin-bottom: 52px;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.policy-wrapper thead {
background-color: #394467;
}

.policy-wrapper thead th {
font-size: 13px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #ffffff;
font-weight: 700;
text-transform: uppercase;
padding: 24px;
text-align: left;
border-bottom: none;
}

.policy-wrapper thead th:first-child {
border-radius: 12px 0 0 0;
}

.policy-wrapper thead th:last-child {
border-radius: 0 12px 0 0;
}

.policy-wrapper tbody tr {
transition: background-color 0.25s ease-in-out;
}

.policy-wrapper tbody tr:nth-child(even) {
background-color: rgba(160, 183, 255, 0.08);
}

.policy-wrapper tbody tr:hover {
background-color: rgba(160, 183, 255, 0.16);
}

.policy-wrapper tbody td {
font-size: 14px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #394467;
padding: 24px;
border-bottom: 1px solid rgba(118, 134, 149, 0.18);
}

.policy-wrapper tbody tr:last-child td {
border-bottom: none;
}

.policy-wrapper tbody tr:last-child td:first-child {
border-radius: 0 0 0 12px;
}

.policy-wrapper tbody tr:last-child td:last-child {
border-radius: 0 0 12px 0;
}

.policy-wrapper th {
font-size: 13px;
line-height: 1.4;
letter-spacing: 0.02em;
}

.policy-wrapper td {
font-size: 14px;
line-height: 1.6;
letter-spacing: 0.01em;
}

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

.policy-wrapper h1 {
font-size: 37px;
}

.policy-wrapper h2 {
font-size: 27px;
}

.policy-wrapper h3 {
font-size: 20px;
}
}

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

.policy-wrapper h1 {
font-size: 27px;
margin-bottom: 24px;
padding-bottom: 24px;
}

.policy-wrapper h2 {
font-size: 20px;
margin-top: 52px;
}

.policy-wrapper h3 {
font-size: 16px;
margin-top: 24px;
}

.policy-wrapper h4,
.policy-wrapper h5,
.policy-wrapper h6 {
font-size: 14px;
}

.policy-wrapper table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 12px;
}

.policy-wrapper thead th,
.policy-wrapper tbody td {
padding: 12px;
white-space: nowrap;
}

.policy-wrapper hr {
margin: 24px 0;
}
}

@media (max-width: 390px) {
.policy-wrapper {
padding: 52px 12px;
}

.policy-wrapper h1 {
font-size: 20px;
}

.policy-wrapper h2 {
font-size: 16px;
}

.policy-wrapper h3,
.policy-wrapper h4,
.policy-wrapper h5,
.policy-wrapper h6 {
font-size: 14px;
}

.policy-wrapper div p,
.policy-wrapper>p,
.policy-wrapper ul li,
.policy-wrapper ol li {
font-size: 14px;
}

.policy-wrapper ul,
.policy-wrapper ol {
padding-left: 12px;
}

.policy-wrapper ul li,
.policy-wrapper ol li {
padding-left: 24px;
}
}

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

.lrn-prog .pg-band {
width: 100%;
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
}

.lrn-prog .splash {
position: relative;
padding: 96px 0 52px;
background: linear-gradient(343deg, #394467 0%, #768695 45%, #A0B7FF 100%);
overflow: hidden;
}

.lrn-prog .splash-grid {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: center;
}

.lrn-prog .splash-txt {
position: relative;
z-index: 2;
}

.lrn-prog .splash-label {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(160, 183, 255, 0.18);
border: 1.5px solid rgba(160, 183, 255, 0.45);
border-radius: 36px;
padding: 6px 12px;
font-size: 13px;
color: #A0B7FF;
letter-spacing: 0.02em;
margin-bottom: 24px;
}

.lrn-prog .splash-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #ffffff;
margin: 0 0 24px;
text-transform: uppercase;
}

.lrn-prog .splash-h1 span {
display: inline-block;
opacity: 0;
transform: translateY(-28px);
animation: letter-drop 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.lrn-prog .splash-h1 .w2 {
animation-delay: 0.06s;
}

.lrn-prog .splash-h1 .w3 {
animation-delay: 0.12s;
}

.lrn-prog .splash-h1 .w4 {
animation-delay: 0.18s;
}

.lrn-prog .splash-h1 .w5 {
animation-delay: 0.24s;
}

@keyframes letter-drop {
to {
opacity: 1;
transform: translateY(0);
}
}

.lrn-prog .splash-sub {
font-size: 20px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.82);
letter-spacing: 0.01em;
margin: 0 0 24px;
}

.lrn-prog .splash-desc {
font-size: 16px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.68);
letter-spacing: 0.01em;
margin: 0;
max-width: 480px;
}

.lrn-prog .splash-img-wrap {
position: relative;
z-index: 2;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
}

.lrn-prog .splash-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
}

.lrn-prog .splash-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg,
rgba(57, 68, 103, 0.08) 0px,
rgba(57, 68, 103, 0.08) 1px,
transparent 1px,
transparent 4px);
pointer-events: none;
}

.lrn-prog .detail-band {
background: #f4f6fb;
padding: 96px 0;
position: relative;
}

.lrn-prog .detail-band::before {
content: "";
display: block;
width: 100%;
height: 32px;
background: #f4f6fb;
clip-path: polygon(0 100%, 1% 20%, 3% 60%, 5% 10%, 7% 50%, 9% 5%, 11% 45%, 13% 15%, 15% 55%, 17% 8%, 19% 48%, 21% 18%, 23% 58%, 25% 12%, 27% 52%, 29% 22%, 31% 62%, 33% 16%, 35% 56%, 37% 6%, 39% 46%, 41% 20%, 43% 60%, 45% 14%, 47% 54%, 49% 24%, 51% 64%, 53% 18%, 55% 58%, 57% 8%, 59% 48%, 61% 22%, 63% 62%, 65% 16%, 67% 56%, 69% 10%, 71% 50%, 73% 20%, 75% 60%, 77% 14%, 79% 54%, 81% 24%, 83% 64%, 85% 18%, 87% 58%, 89% 8%, 91% 48%, 93% 22%, 95% 62%, 97% 16%, 99% 56%, 100% 0, 100% 100%);
position: absolute;
top: -31px;
left: 0;
pointer-events: none;
}

.lrn-prog .detail-inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
}

.lrn-prog .detail-top {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 52px;
margin-bottom: 52px;
align-items: start;
}

.lrn-prog .detail-eyebrow {
font-size: 13px;
letter-spacing: 0.02em;
color: #768695;
text-transform: uppercase;
margin-bottom: 12px;
}

.lrn-prog .detail-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
margin: 0;
text-transform: uppercase;
}

.lrn-prog .detail-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.lrn-prog .detail-lead {
font-size: 20px;
line-height: 1.4;
color: #394467;
letter-spacing: 0.01em;
margin: 0;
}

.lrn-prog .detail-lead em {
font-style: normal;
border: 1.5px solid #A0B7FF;
border-radius: 6px;
padding: 0 6px;
color: #394467;
}

.lrn-prog .detail-body {
font-size: 16px;
line-height: 1.6;
color: #768695;
letter-spacing: 0.01em;
margin: 0;
}

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

.lrn-prog .mosaic-card {
background: #ffffff;
border-radius: 12px;
padding: 24px;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow 0.28s ease-in-out, transform 0.28s ease-in-out;
position: relative;
}

.lrn-prog .mosaic-card:hover {
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
transform: translateY(-3px);
}

.lrn-prog .mosaic-card.wide {
grid-column: span 2;
}

.lrn-prog .mosaic-card.tall {
grid-row: span 2;
}

.lrn-prog .card-icon {
width: 44px;
height: 44px;
background: linear-gradient(343deg, #394467, #A0B7FF);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.lrn-prog .card-icon i {
font-size: 20px;
color: #ffffff;
}

.lrn-prog .card-h {
font-size: 16px;
line-height: 1.4;
color: #394467;
letter-spacing: 0.01em;
margin: 0;
font-weight: 600;
}

.lrn-prog .card-p {
font-size: 14px;
line-height: 1.6;
color: #768695;
letter-spacing: 0.01em;
margin: 0;
}

.lrn-prog .card-metric {
font-size: 37px;
line-height: 1.2;
color: #394467;
letter-spacing: 0.01em;
font-weight: 700;
margin: 0;
}

.lrn-prog .card-metric-label {
font-size: 13px;
color: #768695;
letter-spacing: 0.02em;
margin: 0;
}

.lrn-prog .card-tag {
display: inline-flex;
align-items: center;
background: rgba(160, 183, 255, 0.15);
border: 1px solid rgba(160, 183, 255, 0.4);
border-radius: 36px;
padding: 4px 12px;
font-size: 13px;
color: #394467;
letter-spacing: 0.01em;
align-self: flex-start;
}

.lrn-prog .card-steps {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 6px;
}

.lrn-prog .step-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.lrn-prog .step-num {
width: 28px;
height: 28px;
border-radius: 6px;
background: linear-gradient(343deg, #394467, #768695);
color: #ffffff;
font-size: 13px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-weight: 600;
}

.lrn-prog .step-txt {
font-size: 14px;
line-height: 1.6;
color: #768695;
letter-spacing: 0.01em;
margin: 0;
padding-top: 4px;
}

.lrn-prog .card-bar-wrap {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 6px;
}

.lrn-prog .bar-row {
display: flex;
flex-direction: column;
gap: 6px;
}

.lrn-prog .bar-label {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 13px;
color: #394467;
letter-spacing: 0.01em;
}

.lrn-prog .bar-track {
height: 6px;
background: rgba(160, 183, 255, 0.2);
border-radius: 6px;
overflow: hidden;
}

.lrn-prog .bar-fill {
height: 100%;
border-radius: 6px;
background: linear-gradient(343deg, #394467, #A0B7FF);
animation: bar-grow 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
transform-origin: left;
}

@keyframes bar-grow {
from {
transform: scaleX(0);
}

to {
transform: scaleX(1);
}
}

.lrn-prog .qmark {
font-size: 120px;
line-height: 1;
color: rgba(160, 183, 255, 0.18);
position: absolute;
top: 12px;
right: 12px;
font-family: Georgia, serif;
pointer-events: none;
user-select: none;
}

.lrn-prog .detail-cta-row {
display: flex;
flex-direction: row;
gap: 12px;
margin-top: 52px;
flex-wrap: wrap;
}

.lrn-prog .btn-pri {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 24px;
border-radius: 6px;
border: 2.5px solid #394467;
background: #394467;
color: #ffffff;
font-size: 16px;
letter-spacing: 0.01em;
cursor: pointer;
text-decoration: none;
transition: background 0.26s ease-in-out, border-color 0.26s ease-in-out, box-shadow 0.26s ease-in-out;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
position: relative;
overflow: hidden;
}

.lrn-prog .btn-pri::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 0%;
height: 3px;
background: #A0B7FF;
transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.lrn-prog .btn-pri:hover::after,
.lrn-prog .btn-pri:focus::after {
width: 100%;
}

.lrn-prog .btn-pri:hover,
.lrn-prog .btn-pri:focus {
background: #2d3857;
border-color: #2d3857;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
outline: none;
}

.lrn-prog .btn-pri:active {
background: #1e2640;
border-color: #1e2640;
}

.lrn-prog .btn-sec {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 24px;
border-radius: 6px;
border: 2.5px solid #394467;
background: transparent;
color: #394467;
font-size: 16px;
letter-spacing: 0.01em;
cursor: pointer;
text-decoration: none;
transition: background 0.32s cubic-bezier(0.4, 0, 0.2, 1), color 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.lrn-prog .btn-sec:hover,
.lrn-prog .btn-sec:focus {
background: #394467;
color: #ffffff;
outline: none;
}

.lrn-prog .btn-sec:active {
background: #2d3857;
color: #ffffff;
}

@media (max-width: 1280px) {
.lrn-prog .splash-grid {
padding: 0 24px;
gap: 24px;
}

.lrn-prog .detail-inner {
padding: 0 24px;
}

.lrn-prog .mosaic {
grid-template-columns: repeat(2, 1fr);
}

.lrn-prog .mosaic-card.wide {
grid-column: span 1;
}

.lrn-prog .splash-h1 {
font-size: 37px;
}
}

@media (max-width: 768px) {
.lrn-prog .splash {
padding: 52px 0 52px;
}

.lrn-prog .splash-grid {
grid-template-columns: 1fr;
padding: 0 24px;
gap: 24px;
}

.lrn-prog .splash-img-wrap img {
height: 260px;
}

.lrn-prog .splash-h1 {
font-size: 27px;
}

.lrn-prog .detail-band {
padding: 52px 0;
}

.lrn-prog .detail-inner {
padding: 0 24px;
}

.lrn-prog .detail-top {
grid-template-columns: 1fr;
gap: 24px;
}

.lrn-prog .mosaic {
grid-template-columns: 1fr;
}

.lrn-prog .mosaic-card.wide,
.lrn-prog .mosaic-card.tall {
grid-column: span 1;
grid-row: span 1;
}

.lrn-prog .detail-h2 {
font-size: 27px;
}

.lrn-prog .detail-cta-row {
flex-direction: column;
}
}

@media (max-width: 390px) {
.lrn-prog .splash-grid {
padding: 0 12px;
}

.lrn-prog .detail-inner {
padding: 0 12px;
}

.lrn-prog .splash-h1 {
font-size: 20px;
}

.lrn-prog .btn-pri,
.lrn-prog .btn-sec {
font-size: 14px;
padding: 12px 12px;
}
}

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

.cont-us .pg-band {
width: 100%;
background: #394467;
padding: 12px 0;
}

.cont-us .pg-band-inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
}

.cont-us .pg-band-inner span {
font-size: 13px;
color: #A0B7FF;
letter-spacing: 0.12em;
text-transform: uppercase;
}

.cont-us .pg-band-inner i {
color: #A0B7FF;
font-size: 14px;
}

.cont-us .reach-block {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 620px;
position: relative;
}

.cont-us .reach-block::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #A0B7FF 40%, #768695 70%, transparent);
}

.cont-us .reach-visual {
background: linear-gradient(343deg, #394467 0%, #2a3352 60%, #1e2640 100%);
padding: 52px;
display: flex;
flex-direction: column;
justify-content: space-between;
position: relative;
overflow: hidden;
}

.cont-us .reach-visual::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 280px;
height: 280px;
border: 1px solid rgba(160, 183, 255, 0.12);
border-radius: 48px;
transform: rotate(18deg);
pointer-events: none;
}

.cont-us .reach-visual::after {
content: '';
position: absolute;
bottom: 40px;
left: -40px;
width: 200px;
height: 200px;
border: 1px solid rgba(160, 183, 255, 0.08);
border-radius: 36px;
transform: rotate(-12deg);
pointer-events: none;
}

.cont-us .reach-curve-svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.18;
}

.cont-us .reach-label {
font-size: 13px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #A0B7FF;
margin-bottom: 24px;
display: block;
}

.cont-us .reach-heading {
font-size: 52px;
line-height: 1.2;
color: #ffffff;
letter-spacing: 0.01em;
text-transform: uppercase;
margin: 0 0 24px 0;
}

.cont-us .reach-heading em {
font-style: normal;
border: 1px solid rgba(160, 183, 255, 0.5);
border-radius: 6px;
padding: 0 8px;
color: #A0B7FF;
}

.cont-us .reach-desc {
font-size: 16px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.72);
letter-spacing: 0.01em;
max-width: 360px;
margin: 0;
}

.cont-us .reach-contacts {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 52px;
}

.cont-us .reach-contact-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.cont-us .reach-icon-box {
width: 36px;
height: 36px;
border: 1.5px solid rgba(160, 183, 255, 0.35);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
background: rgba(160, 183, 255, 0.06);
transition: background 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.cont-us .reach-contact-item:hover .reach-icon-box {
background: rgba(160, 183, 255, 0.14);
border-color: rgba(160, 183, 255, 0.6);
}

.cont-us .reach-icon-box i {
font-size: 16px;
color: #A0B7FF;
}

.cont-us .reach-contact-text {
display: flex;
flex-direction: column;
gap: 6px;
}

.cont-us .reach-contact-text small {
font-size: 13px;
color: rgba(160, 183, 255, 0.6);
letter-spacing: 0.08em;
text-transform: uppercase;
}

.cont-us .reach-contact-text a,
.cont-us .reach-contact-text span {
font-size: 14px;
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
letter-spacing: 0.01em;
line-height: 1.4;
transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.cont-us .reach-contact-text a:hover {
color: #A0B7FF;
}

.cont-us .form-panel {
background: #ffffff;
padding: 52px;
display: flex;
flex-direction: column;
justify-content: center;
}

.cont-us .form-panel-label {
font-size: 13px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #768695;
margin-bottom: 12px;
display: block;
}

.cont-us .form-panel-heading {
font-size: 27px;
line-height: 1.4;
color: #394467;
letter-spacing: 0.01em;
margin: 0 0 24px 0;
}

.cont-us .form-panel-heading em {
font-style: normal;
border: 1px solid #A0B7FF;
border-radius: 6px;
padding: 0 6px;
color: #394467;
}

.cont-us .contact-form {
display: flex;
flex-direction: column;
gap: 24px;
}

.cont-us .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.cont-us .field-group {
display: flex;
flex-direction: column;
gap: 6px;
position: relative;
}

.cont-us .field-group label {
font-size: 13px;
color: #768695;
letter-spacing: 0.05em;
text-transform: uppercase;
transition: color 0.28s ease-in-out;
}

.cont-us .field-group:focus-within label {
color: #394467;
}

.cont-us .field-group input {
border: 1.5px solid #d4dce8;
border-radius: 12px;
padding: 12px 16px;
font-size: 14px;
color: #394467;
background: #f5f7fc;
outline: none;
transition: border-color 0.28s ease-in-out, box-shadow 0.28s ease-in-out, background 0.28s ease-in-out;
letter-spacing: 0.01em;
line-height: 1.4;
width: 100%;
box-sizing: border-box;
}

.cont-us .field-group input:focus {
border-color: #394467;
background: #ffffff;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.cont-us .field-group input::placeholder {
color: #b0bcc8;
font-size: 14px;
}

.cont-us .service-pick {
display: flex;
flex-direction: column;
gap: 12px;
}

.cont-us .service-pick-label {
font-size: 13px;
color: #768695;
letter-spacing: 0.05em;
text-transform: uppercase;
}

.cont-us .service-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.cont-us .svc-check {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
cursor: pointer;
padding: 12px 16px;
border: 1.5px solid #d4dce8;
border-radius: 12px;
background: #f5f7fc;
transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1), background 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
}

.cont-us .svc-check:hover {
border-color: #A0B7FF;
background: #f0f4ff;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.cont-us .svc-check input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #394467;
flex-shrink: 0;
cursor: pointer;
}

.cont-us .svc-check-text {
font-size: 13px;
color: #394467;
letter-spacing: 0.01em;
line-height: 1.4;
}

.cont-us .svc-check:has(input:checked) {
border-color: #394467;
background: #eef1f9;
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
}

.cont-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 16px;
border: 1.5px solid #d4dce8;
border-radius: 12px;
background: #f5f7fc;
}

.cont-us .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #394467;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
}

.cont-us .privacy-text {
font-size: 13px;
color: #768695;
line-height: 1.6;
letter-spacing: 0.01em;
}

.cont-us .privacy-text a {
color: #394467;
text-decoration: underline;
text-decoration-color: #A0B7FF;
text-underline-offset: 3px;
transition: color 0.25s ease-in-out;
}

.cont-us .privacy-text a:hover {
color: #A0B7FF;
}

.cont-us .submit-btn {
border: 2.5px solid #394467;
border-radius: 20px;
background: transparent;
color: #394467;
font-size: 14px;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 16px 52px;
cursor: pointer;
align-self: flex-start;
position: relative;
overflow: hidden;
transition: color 0.38s cubic-bezier(0.4, 0, 0.2, 1), background 0.38s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.38s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
}

.cont-us .submit-btn::before {
content: '';
position: absolute;
inset: 0;
background: #394467;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 17px;
z-index: 0;
}

.cont-us .submit-btn:hover::before,
.cont-us .submit-btn:focus::before {
transform: scaleX(1);
}

.cont-us .submit-btn:hover,
.cont-us .submit-btn:focus {
color: #ffffff !important;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
outline: none;
}

.cont-us .submit-btn span {
position: relative;
z-index: 1;
}

.cont-us .submit-btn:active {
transform: scale(0.98);
}

.cont-us .details-band {
background: linear-gradient(343deg, #A0B7FF 0%, #768695 100%);
padding: 52px;
}

.cont-us .details-band-inner {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2px 1fr 2px 1fr;
gap: 52px;
align-items: start;
}

.cont-us .band-divider {
background: rgba(255, 255, 255, 0.25);
height: 80px;
align-self: center;
border-radius: 6px;
}

.cont-us .band-item {
display: flex;
flex-direction: column;
gap: 12px;
animation: shakePause 4s 2.5s ease-in-out both;
}

.cont-us .band-item:nth-child(3) {
animation-delay: 3.2s;
}

.cont-us .band-item:nth-child(5) {
animation-delay: 4s;
}

@keyframes shakePause {

0%,
88% {
transform: translateX(0);
}

90% {
transform: translateX(-5px);
}

92% {
transform: translateX(5px);
}

94% {
transform: translateX(-4px);
}

96% {
transform: translateX(4px);
}

98% {
transform: translateX(-2px);
}

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

.cont-us .band-item-icon {
width: 48px;
height: 48px;
background: rgba(255, 255, 255, 0.18);
border: 1.5px solid rgba(255, 255, 255, 0.35);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.cont-us .band-item-icon i {
font-size: 20px;
color: #ffffff;
}

.cont-us .band-item-title {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.65);
margin: 0;
}

.cont-us .band-item-value {
font-size: 16px;
line-height: 1.6;
color: #ffffff;
letter-spacing: 0.01em;
margin: 0;
}

.cont-us .band-item-value a {
color: #ffffff;
text-decoration: none;
border-bottom: 1px solid rgba(255, 255, 255, 0.4);
padding-bottom: 1px;
transition: border-color 0.25s ease-in-out;
}

.cont-us .band-item-value a:hover {
border-color: #ffffff;
}

.cont-us .wavy-top {
width: 100%;
display: block;
line-height: 0;
}

@media (max-width: 1280px) {
.cont-us .reach-block {
grid-template-columns: 1fr;
}

.cont-us .reach-visual {
padding: 52px;
}

.cont-us .reach-heading {
font-size: 37px;
}

.cont-us .form-panel {
padding: 52px;
}

.cont-us .details-band-inner {
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
}

.cont-us .band-divider {
display: none;
}
}

@media (max-width: 768px) {
.cont-us .pg-band-inner {
padding: 0 24px;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}

.cont-us .reach-visual {
padding: 24px;
}

.cont-us .reach-heading {
font-size: 27px;
}

.cont-us .form-panel {
padding: 24px;
}

.cont-us .form-row {
grid-template-columns: 1fr;
gap: 12px;
}

.cont-us .service-grid {
grid-template-columns: 1fr;
}

.cont-us .details-band {
padding: 24px;
}

.cont-us .details-band-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.cont-us .band-divider {
display: none;
}

.cont-us .submit-btn {
align-self: stretch;
text-align: center;
}
}

@media (max-width: 390px) {
.cont-us .reach-visual {
padding: 24px 12px;
}

.cont-us .form-panel {
padding: 24px 12px;
}

.cont-us .reach-heading {
font-size: 20px;
}

.cont-us .details-band {
padding: 24px 12px;
}
}

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

.wbnrs-pg .schema-block {
display: none;
}

.wbnrs-pg .pg-strip {
display: flex;
flex-direction: row;
min-height: 560px;
padding-top: 96px;
padding-bottom: 52px;
background: #fff;
position: relative;
}

.wbnrs-pg .pg-strip::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: repeating-linear-gradient(90deg,
transparent 0px,
transparent 8px,
#A0B7FF 8px,
#A0B7FF 14px,
transparent 14px,
transparent 22px,
#768695 22px,
#768695 26px,
transparent 26px,
transparent 34px);
opacity: 0.35;
}

.wbnrs-pg .img-strip {
width: 220px;
min-width: 180px;
flex-shrink: 0;
overflow: hidden;
border-radius: 0 20px 20px 0;
position: relative;
}

.wbnrs-pg .img-strip img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.85) brightness(0.92) sepia(0.18);
}

.wbnrs-pg .img-strip::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(343deg, rgba(57, 68, 103, 0.38) 0%, rgba(160, 183, 255, 0.10) 100%);
border-radius: 0 20px 20px 0;
pointer-events: none;
}

.wbnrs-pg .strip-text {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 52px 96px 12px 52px;
position: relative;
}

.wbnrs-pg .strip-quote-mark {
position: absolute;
top: 24px;
left: 40px;
font-size: 200px;
line-height: 1;
color: #A0B7FF;
opacity: 0.09;
font-style: normal;
pointer-events: none;
user-select: none;
letter-spacing: -0.02em;
}

.wbnrs-pg .strip-eyebrow {
font-size: 13px;
line-height: 1.4;
letter-spacing: 0.12em;
color: #768695;
text-transform: uppercase;
margin-bottom: 24px;
}

.wbnrs-pg .strip-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
text-transform: uppercase;
margin-bottom: 24px;
max-width: 680px;
}

.wbnrs-pg .strip-h1 .framed-word {
display: inline;
border: 1.5px solid #A0B7FF;
border-radius: 6px;
padding: 0 8px;
color: #394467;
}

.wbnrs-pg .strip-divider {
width: 52px;
height: 2px;
background: linear-gradient(90deg, #A0B7FF, #394467);
border-radius: 6px;
margin-bottom: 24px;
}

.wbnrs-pg .strip-desc {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #394467;
max-width: 540px;
}

.wbnrs-pg .strip-desc span {
display: block;
margin-top: 12px;
font-size: 14px;
color: #768695;
line-height: 1.6;
}

.wbnrs-pg .wbn-list-block {
background: linear-gradient(343deg, #394467 0%, #5a6a9a 55%, #e8edf8 100%);
padding: 96px 96px 52px 96px;
position: relative;
overflow: hidden;
}

.wbnrs-pg .wbn-list-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(90deg,
rgba(160, 183, 255, 0.045) 0px,
rgba(160, 183, 255, 0.045) 1px,
transparent 1px,
transparent 38px);
pointer-events: none;
}

.wbnrs-pg .wbn-list-block::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: repeating-linear-gradient(90deg,
transparent 0px,
transparent 6px,
rgba(160, 183, 255, 0.6) 6px,
rgba(160, 183, 255, 0.6) 10px,
transparent 10px,
transparent 18px,
rgba(255, 255, 255, 0.25) 18px,
rgba(255, 255, 255, 0.25) 20px,
transparent 20px,
transparent 28px);
}

.wbnrs-pg .list-top-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 52px;
margin-bottom: 52px;
}

.wbnrs-pg .list-heading-col {
flex: 0 0 340px;
}

.wbnrs-pg .list-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
text-transform: uppercase;
margin-bottom: 24px;
}

.wbnrs-pg .list-meta-note {
font-size: 14px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.65);
letter-spacing: 0.01em;
max-width: 280px;
}

.wbnrs-pg .list-stats-col {
flex: 1;
display: flex;
flex-direction: row;
gap: 24px;
padding-top: 6px;
}

.wbnrs-pg .stat-item {
flex: 1;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(160, 183, 255, 0.22);
border-radius: 12px;
padding: 24px;
text-align: center;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
transition: border-color 0.28s ease-in-out, background 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.wbnrs-pg .stat-item:hover {
border-color: rgba(160, 183, 255, 0.55);
background: rgba(255, 255, 255, 0.11);
}

.wbnrs-pg .stat-num {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #A0B7FF;
display: block;
margin-bottom: 6px;
animation: shadow-pulse-stat 3.2s ease-in-out infinite;
}

.wbnrs-pg .stat-label {
font-size: 13px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.62);
letter-spacing: 0.04em;
text-transform: uppercase;
}

@keyframes shadow-pulse-stat {

0%,
100% {
text-shadow: 0 0 0px rgba(160, 183, 255, 0);
}

50% {
text-shadow: 0 0 18px rgba(160, 183, 255, 0.55);
}
}

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

.wbnrs-pg .wbn-card {
background: rgba(255, 255, 255, 0.07);
border: 1.5px solid rgba(160, 183, 255, 0.18);
border-radius: 20px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05), 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
transition: border-color 0.26s ease-in-out, box-shadow 0.38s cubic-bezier(0.4, 0, 0.2, 1), background 0.32s ease-in-out;
position: relative;
}

.wbnrs-pg .wbn-card:hover {
border-color: rgba(160, 183, 255, 0.52);
background: rgba(255, 255, 255, 0.12);
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.18);
}

.wbnrs-pg .wbn-card:focus-within {
border-color: #A0B7FF;
box-shadow: 0 0 0 3px rgba(160, 183, 255, 0.35), 1px 6px 22px -1px rgba(57, 68, 103, 0.14);
outline: none;
}

.wbnrs-pg .card-top-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.wbnrs-pg .card-icon-wrap {
width: 40px;
height: 40px;
border-radius: 12px;
background: rgba(160, 183, 255, 0.15);
border: 1px solid rgba(160, 183, 255, 0.28);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.wbnrs-pg .card-icon-wrap svg {
width: 20px;
height: 20px;
stroke: #A0B7FF;
fill: none;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round;
}

.wbnrs-pg .card-tag {
font-size: 13px;
line-height: 1.4;
letter-spacing: 0.06em;
text-transform: uppercase;
color: rgba(160, 183, 255, 0.8);
background: rgba(160, 183, 255, 0.1);
border: 1px solid rgba(160, 183, 255, 0.2);
border-radius: 6px;
padding: 2px 8px;
}

.wbnrs-pg .card-h3 {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #fff;
}

.wbnrs-pg .card-desc {
font-size: 14px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.6);
letter-spacing: 0.01em;
flex: 1;
}

.wbnrs-pg .card-detail-row {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
padding-top: 6px;
border-top: 1px solid rgba(160, 183, 255, 0.12);
}

.wbnrs-pg .card-detail {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 13px;
color: rgba(255, 255, 255, 0.5);
line-height: 1.4;
}

.wbnrs-pg .card-detail svg {
width: 13px;
height: 13px;
stroke: rgba(160, 183, 255, 0.6);
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
flex-shrink: 0;
}

.wbnrs-pg .card-cta {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 6px;
padding: 10px 20px;
border: 2px solid rgba(160, 183, 255, 0.45);
border-radius: 12px;
background: transparent;
color: #A0B7FF;
font-size: 13px;
letter-spacing: 0.04em;
text-transform: uppercase;
cursor: pointer;
text-decoration: none;
align-self: flex-start;
transition: border-color 0.26s ease-in-out, background 0.32s cubic-bezier(0.4, 0, 0.2, 1), color 0.26s ease-in-out;
position: relative;
overflow: hidden;
}

.wbnrs-pg .card-cta::before {
content: '';
position: absolute;
inset: 0;
background: rgba(160, 183, 255, 0.12);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.wbnrs-pg .card-cta:hover::before,
.wbnrs-pg .card-cta:focus::before {
transform: scaleX(1);
}

.wbnrs-pg .card-cta:active::before {
transform: scaleX(1);
background: rgba(160, 183, 255, 0.25);
transition: transform 0.12s ease-in-out, background 0.12s ease-in-out;
}

.wbnrs-pg .card-cta:hover,
.wbnrs-pg .card-cta:focus {
border-color: #A0B7FF;
color: #fff;
outline: none;
}

.wbnrs-pg .card-cta svg {
width: 14px;
height: 14px;
stroke: currentColor;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
flex-shrink: 0;
}

.wbnrs-pg .card-zone-accent {
position: absolute;
top: 0;
right: 0;
width: 80px;
height: 80px;
border-radius: 0 20px 0 80px;
background: linear-gradient(343deg, rgba(160, 183, 255, 0.08) 0%, rgba(57, 68, 103, 0.04) 100%);
pointer-events: none;
}

.wbnrs-pg .list-bottom-note {
margin-top: 52px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
padding: 24px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(160, 183, 255, 0.15);
border-radius: 12px;
}

.wbnrs-pg .bottom-note-icon {
width: 36px;
height: 36px;
flex-shrink: 0;
border-radius: 12px;
background: rgba(160, 183, 255, 0.12);
border: 1px solid rgba(160, 183, 255, 0.22);
display: flex;
align-items: center;
justify-content: center;
}

.wbnrs-pg .bottom-note-icon svg {
width: 18px;
height: 18px;
stroke: #A0B7FF;
fill: none;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}

.wbnrs-pg .bottom-note-text {
font-size: 14px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.55);
letter-spacing: 0.01em;
}

.wbnrs-pg .bottom-note-text strong {
color: rgba(255, 255, 255, 0.82);
font-weight: 600;
}

@media (max-width: 1280px) {
.wbnrs-pg .strip-text {
padding: 52px 52px 12px 52px;
}

.wbnrs-pg .wbn-list-block {
padding: 96px 52px 52px 52px;
}

.wbnrs-pg .wbn-grid {
grid-template-columns: repeat(2, 1fr);
}

.wbnrs-pg .list-top-row {
flex-direction: column;
gap: 24px;
}

.wbnrs-pg .list-heading-col {
flex: none;
}

.wbnrs-pg .list-stats-col {
width: 100%;
}
}

@media (max-width: 768px) {
.wbnrs-pg .pg-strip {
flex-direction: column;
padding-top: 52px;
padding-bottom: 52px;
}

.wbnrs-pg .img-strip {
width: 100%;
min-width: unset;
height: 240px;
border-radius: 0 0 20px 20px;
}

.wbnrs-pg .img-strip::after {
border-radius: 0 0 20px 20px;
}

.wbnrs-pg .strip-text {
padding: 52px 24px 24px 24px;
}

.wbnrs-pg .strip-h1 {
font-size: 37px;
}

.wbnrs-pg .strip-quote-mark {
font-size: 120px;
top: 12px;
left: 12px;
}

.wbnrs-pg .wbn-list-block {
padding: 52px 24px 52px 24px;
}

.wbnrs-pg .wbn-grid {
grid-template-columns: 1fr;
}

.wbnrs-pg .list-stats-col {
flex-direction: column;
}

.wbnrs-pg .list-h2 {
font-size: 27px;
}

.wbnrs-pg .list-top-row {
margin-bottom: 24px;
}
}

@media (max-width: 390px) {
.wbnrs-pg .strip-h1 {
font-size: 27px;
}

.wbnrs-pg .strip-text {
padding: 24px 12px 24px 12px;
}

.wbnrs-pg .wbn-list-block {
padding: 52px 12px 52px 12px;
}

.wbnrs-pg .card-detail-row {
flex-direction: column;
gap: 6px;
}

.wbnrs-pg .bottom-note-icon {
display: none;
}
}

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

.ptl-root .schema-block {
display: none;
}

.ptl-root .ttl-grid {
display: grid;
grid-template-columns: 280px 1fr;
min-height: 580px;
position: relative;
background: #f5f6fa;
}

.ptl-root .ttl-grid::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 0;
}

.ptl-root .ttl-img-col {
position: relative;
z-index: 1;
overflow: hidden;
}

.ptl-root .ttl-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.ptl-root .ttl-body {
position: relative;
z-index: 1;
padding: 96px 96px 96px 52px;
display: flex;
flex-direction: column;
justify-content: center;
border-right: 3px solid #A0B7FF;
}

.ptl-root .ttl-eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #768695;
margin-bottom: 24px;
line-height: 1.4;
}

.ptl-root .ttl-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
text-transform: uppercase;
margin-bottom: 24px;
max-width: 560px;
}

.ptl-root .ttl-h1 .framed {
display: inline;
border: 2px solid #A0B7FF;
padding: 0 6px;
border-radius: 6px;
}

.ptl-root .ttl-sub {
font-size: 16px;
line-height: 1.6;
color: #394467;
max-width: 440px;
margin-bottom: 52px;
letter-spacing: 0.01em;
}

.ptl-root .ttl-link {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
color: #394467;
text-decoration: none;
border: 2.5px solid #394467;
padding: 12px 24px;
border-radius: 6px;
align-self: flex-start;
position: relative;
overflow: hidden;
transition: color 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.ptl-root .ttl-link::before {
content: "";
position: absolute;
inset: 0;
background: #394467;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0;
}

.ptl-root .ttl-link:hover::before {
transform: scaleX(1);
}

.ptl-root .ttl-link:hover {
color: #fff;
}

.ptl-root .ttl-link span {
position: relative;
z-index: 1;
}

.ptl-root .ctx-band {
background: #394467;
padding: 96px 96px;
}

.ptl-root .ctx-band .ctx-inner {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
}

.ptl-root .ctx-band .ctx-label {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #A0B7FF;
margin-bottom: 24px;
line-height: 1.4;
}

.ptl-root .ctx-band .ctx-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
text-transform: uppercase;
margin-bottom: 24px;
}

.ptl-root .ctx-band .ctx-desc {
font-size: 16px;
line-height: 1.6;
color: #A0B7FF;
letter-spacing: 0.01em;
margin-bottom: 12px;
}

.ptl-root .ctx-band .ctx-right {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 52px;
}

.ptl-root .ctx-band .ctx-stat {
border-top: 1px solid rgba(160, 183, 255, 0.25);
padding-top: 24px;
display: flex;
flex-direction: column;
gap: 6px;
}

.ptl-root .ctx-band .ctx-stat-num {
font-size: 37px;
line-height: 1.2;
color: #fff;
letter-spacing: 0.02em;
}

.ptl-root .ctx-band .ctx-stat-lbl {
font-size: 14px;
line-height: 1.4;
color: #768695;
letter-spacing: 0.01em;
}

.ptl-root .prob-section {
padding: 96px 96px;
background: #fff;
display: grid;
grid-template-columns: 1fr 380px;
gap: 52px;
align-items: start;
}

.ptl-root .prob-section .prob-left {
max-width: 560px;
}

.ptl-root .prob-section .prob-label {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #768695;
margin-bottom: 24px;
line-height: 1.4;
}

.ptl-root .prob-section .prob-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
margin-bottom: 24px;
}

.ptl-root .prob-section .prob-h2 .framed {
border: 2px solid #A0B7FF;
padding: 0 6px;
border-radius: 6px;
display: inline;
}

.ptl-root .prob-section .prob-body {
font-size: 16px;
line-height: 1.6;
color: #394467;
letter-spacing: 0.01em;
margin-bottom: 12px;
}

.ptl-root .prob-section .prob-pull {
font-size: 20px;
line-height: 1.4;
color: #394467;
font-style: italic;
letter-spacing: 0.01em;
border-top: 2px solid #A0B7FF;
border-bottom: 2px solid #A0B7FF;
padding: 24px 0;
margin-top: 24px;
}

.ptl-root .prob-section .prob-img-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
position: sticky;
top: 24px;
}

.ptl-root .prob-section .prob-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
transition: opacity 0.38s ease-in-out;
}

.ptl-root .fit-section {
padding: 96px 96px;
background: linear-gradient(343deg, #768695 0%, #394467 100%);
position: relative;
overflow: hidden;
}

.ptl-root .fit-section .grid-bg {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(160, 183, 255, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(160, 183, 255, 0.07) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}

.ptl-root .fit-section .fit-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
}

.ptl-root .fit-section .fit-label {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #A0B7FF;
margin-bottom: 24px;
line-height: 1.4;
text-align: center;
}

.ptl-root .fit-section .fit-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
text-align: center;
margin-bottom: 52px;
text-transform: uppercase;
}

.ptl-root .fit-section .fit-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.ptl-root .fit-section .fit-card {
background: rgba(255, 255, 255, 0.06);
border: 1.5px solid rgba(160, 183, 255, 0.22);
border-radius: 12px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: background 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.ptl-root .fit-section .fit-card:hover {
background: rgba(255, 255, 255, 0.11);
border-color: rgba(160, 183, 255, 0.5);
}

.ptl-root .fit-section .fit-card-icon {
width: 40px;
height: 40px;
border-radius: 20px;
background: rgba(160, 183, 255, 0.15);
display: flex;
align-items: center;
justify-content: center;
}

.ptl-root .fit-section .fit-card-icon i {
color: #A0B7FF;
font-size: 20px;
}

.ptl-root .fit-section .fit-card-h {
font-size: 16px;
line-height: 1.4;
color: #fff;
letter-spacing: 0.01em;
font-weight: 600;
}

.ptl-root .fit-section .fit-card-p {
font-size: 14px;
line-height: 1.6;
color: rgba(160, 183, 255, 0.85);
letter-spacing: 0.01em;
}

.ptl-root .commit-section {
padding: 96px 96px;
background: #f5f6fa;
display: grid;
grid-template-columns: 400px 1fr;
gap: 52px;
align-items: start;
}

.ptl-root .commit-section .commit-img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.ptl-root .commit-section .commit-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
}

.ptl-root .commit-section .commit-right {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 12px;
}

.ptl-root .commit-section .commit-label {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #768695;
line-height: 1.4;
}

.ptl-root .commit-section .commit-h2 {
font-size: 27px;
line-height: 1.4;
color: #394467;
letter-spacing: 0.01em;
}

.ptl-root .commit-section .commit-body {
font-size: 16px;
line-height: 1.6;
color: #394467;
letter-spacing: 0.01em;
}

.ptl-root .commit-section .commit-timeline {
display: flex;
flex-direction: column;
gap: 0;
position: relative;
margin-top: 12px;
}

.ptl-root .commit-section .commit-timeline::before {
content: "";
position: absolute;
left: 15px;
top: 0;
bottom: 0;
width: 1px;
background: linear-gradient(180deg, #A0B7FF 0%, rgba(160, 183, 255, 0.2) 100%);
}

.ptl-root .commit-section .tl-item {
display: grid;
grid-template-columns: 30px 1fr;
gap: 12px;
padding-bottom: 24px;
position: relative;
}

.ptl-root .commit-section .tl-item:last-child {
padding-bottom: 0;
}

.ptl-root .commit-section .tl-dot {
width: 30px;
height: 30px;
border-radius: 20px;
background: #fff;
border: 2px solid #A0B7FF;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
flex-shrink: 0;
}

.ptl-root .commit-section .tl-dot i {
font-size: 13px;
color: #394467;
}

.ptl-root .commit-section .tl-text {
padding-top: 6px;
}

.ptl-root .commit-section .tl-text-h {
font-size: 14px;
line-height: 1.4;
color: #394467;
font-weight: 600;
letter-spacing: 0.01em;
margin-bottom: 6px;
}

.ptl-root .commit-section .tl-text-p {
font-size: 13px;
line-height: 1.6;
color: #768695;
letter-spacing: 0.01em;
}

.ptl-root .cases-section {
padding: 96px 96px;
background: #fff;
}

.ptl-root .cases-section .cases-top {
max-width: 600px;
margin-bottom: 52px;
}

.ptl-root .cases-section .cases-label {
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #768695;
margin-bottom: 24px;
line-height: 1.4;
}

.ptl-root .cases-section .cases-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
text-transform: uppercase;
}

.ptl-root .cases-section .cases-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.ptl-root .cases-section .case-card {
border: 1.5px solid rgba(57, 68, 103, 0.12);
border-radius: 12px;
overflow: hidden;
display: grid;
grid-template-columns: 180px 1fr;
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
transition: box-shadow 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.ptl-root .cases-section .case-card:hover {
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
}

.ptl-root .cases-section .case-img-wrap {
overflow: hidden;
}

.ptl-root .cases-section .case-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.ptl-root .cases-section .case-card:hover .case-img-wrap img {
transform: scale(1.04);
}

.ptl-root .cases-section .case-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
background: #fff;
}

.ptl-root .cases-section .case-tag {
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #768695;
line-height: 1.4;
}

.ptl-root .cases-section .case-h3 {
font-size: 16px;
line-height: 1.4;
color: #394467;
font-weight: 600;
letter-spacing: 0.01em;
}

.ptl-root .cases-section .case-p {
font-size: 14px;
line-height: 1.6;
color: #768695;
letter-spacing: 0.01em;
}

.ptl-root .cases-section .case-outcome {
margin-top: auto;
font-size: 13px;
line-height: 1.4;
color: #394467;
background: rgba(160, 183, 255, 0.12);
border-radius: 6px;
padding: 6px 12px;
display: inline-block;
align-self: flex-start;
}

.ptl-root .divider-shape {
display: flex;
align-items: center;
justify-content: center;
padding: 12px 0;
background: inherit;
}

.ptl-root .divider-shape .div-line {
flex: 1;
height: 1px;
background: rgba(57, 68, 103, 0.1);
}

.ptl-root .divider-shape .div-diamond {
width: 10px;
height: 10px;
background: #A0B7FF;
transform: rotate(45deg);
margin: 0 12px;
flex-shrink: 0;
}

@media (max-width: 1280px) {
.ptl-root .ttl-grid {
grid-template-columns: 200px 1fr;
}

.ptl-root .ttl-body {
padding: 52px 52px 52px 24px;
}

.ptl-root .ttl-h1 {
font-size: 37px;
}

.ptl-root .ctx-band {
padding: 52px 52px;
}

.ptl-root .prob-section {
padding: 52px 52px;
grid-template-columns: 1fr 300px;
}

.ptl-root .fit-section {
padding: 52px 52px;
}

.ptl-root .fit-section .fit-cards {
grid-template-columns: repeat(2, 1fr);
}

.ptl-root .commit-section {
padding: 52px 52px;
grid-template-columns: 300px 1fr;
}

.ptl-root .cases-section {
padding: 52px 52px;
}
}

@media (max-width: 768px) {
.ptl-root .ttl-grid {
grid-template-columns: 1fr;
}

.ptl-root .ttl-img-col {
height: 200px;
}

.ptl-root .ttl-body {
padding: 52px 24px;
border-right: none;
border-bottom: 3px solid #A0B7FF;
}

.ptl-root .ttl-h1 {
font-size: 27px;
}

.ptl-root .ctx-band {
padding: 52px 24px;
}

.ptl-root .ctx-band .ctx-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.ptl-root .ctx-band .ctx-right {
padding-top: 0;
}

.ptl-root .prob-section {
padding: 52px 24px;
grid-template-columns: 1fr;
}

.ptl-root .prob-section .prob-img-wrap {
position: static;
}

.ptl-root .fit-section {
padding: 52px 24px;
}

.ptl-root .fit-section .fit-cards {
grid-template-columns: 1fr;
}

.ptl-root .commit-section {
padding: 52px 24px;
grid-template-columns: 1fr;
}

.ptl-root .commit-section .commit-img-wrap {
display: none;
}

.ptl-root .cases-section {
padding: 52px 24px;
}

.ptl-root .cases-section .cases-grid {
grid-template-columns: 1fr;
}

.ptl-root .cases-section .case-card {
grid-template-columns: 1fr;
}

.ptl-root .cases-section .case-img-wrap {
height: 160px;
}
}

@media (max-width: 390px) {
.ptl-root .ttl-h1 {
font-size: 20px;
}

.ptl-root .ctx-band .ctx-h2 {
font-size: 27px;
}

.ptl-root .prob-section .prob-h2 {
font-size: 27px;
}

.ptl-root .fit-section .fit-h2 {
font-size: 27px;
}

.ptl-root .cases-section .cases-h2 {
font-size: 27px;
}
}

.ptl-root .anim-lift {
opacity: 0;
transform: translateY(18px);
animation: liftIn 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.ptl-root .anim-lift.d1 {
animation-delay: 0.08s;
}

.ptl-root .anim-lift.d2 {
animation-delay: 0.18s;
}

.ptl-root .anim-lift.d3 {
animation-delay: 0.28s;
}

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

.srvs-pg {
position: relative;
overflow: hidden;
background: #ffffff;
}

.srvs-pg .fog-layer {
position: fixed;
top: 0;
left: -20%;
width: 140%;
height: 100%;
background: linear-gradient(107deg, rgba(255, 255, 255, 0.07) 0%, rgba(160, 183, 255, 0.04) 50%, rgba(255, 255, 255, 0.07) 100%);
pointer-events: none;
z-index: 0;
animation: fogMove 18s ease-in-out infinite alternate;
}

@keyframes fogMove {
0% {
transform: translateX(0) translateY(0);
opacity: 0.6;
}

100% {
transform: translateX(8%) translateY(2%);
opacity: 1;
}
}

.srvs-pg .pg-bound {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
position: relative;
z-index: 1;
}

@media (max-width: 768px) {
.srvs-pg .pg-bound {
padding: 0 24px;
}
}

@media (max-width: 390px) {
.srvs-pg .pg-bound {
padding: 0 12px;
}
}

.srvs-pg .divider-tri {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 12px 0;
}

.srvs-pg .divider-tri svg {
display: block;
}

.srvs-pg .divider-line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(57, 68, 103, 0.15), transparent);
}

.srvs-pg .ttl-blk {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative;
}

.srvs-pg .ttl-img-side {
position: relative;
overflow: hidden;
border-radius: 0 0 20px 0;
}

.srvs-pg .ttl-img-side img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.srvs-pg .ttl-img-side::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 45%;
background: linear-gradient(to bottom, rgba(57, 68, 103, 0.55), transparent);
pointer-events: none;
}

.srvs-pg .ttl-img-side .geo-corner-tl {
position: absolute;
top: 24px;
left: 24px;
width: 48px;
height: 48px;
border-top: 2px solid rgba(160, 183, 255, 0.7);
border-left: 2px solid rgba(160, 183, 255, 0.7);
border-radius: 6px 0 0 0;
pointer-events: none;
z-index: 2;
}

.srvs-pg .ttl-txt-side {
display: flex;
flex-direction: column;
justify-content: center;
padding: 96px 52px 96px 52px;
position: relative;
background: #ffffff;
}

.srvs-pg .ttl-txt-side .geo-corner-br {
position: absolute;
bottom: 24px;
right: 24px;
width: 36px;
height: 36px;
border-bottom: 2px solid rgba(118, 134, 149, 0.4);
border-right: 2px solid rgba(118, 134, 149, 0.4);
border-radius: 0 0 6px 0;
pointer-events: none;
}

.srvs-pg .ttl-eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #768695;
margin-bottom: 24px;
line-height: 1.4;
}

.srvs-pg .ttl-h1 {
font-size: 52px;
line-height: 1.2;
color: #394467;
font-weight: 700;
letter-spacing: 0.01em;
margin-bottom: 24px;
text-transform: uppercase;
}

.srvs-pg .ttl-h1 .acnt-word {
display: inline;
border: 1.5px solid #A0B7FF;
border-radius: 6px;
padding: 0 8px;
font-style: normal;
}

.srvs-pg .ttl-desc {
font-size: 16px;
line-height: 1.6;
color: #394467;
max-width: 380px;
margin-bottom: 52px;
letter-spacing: 0.01em;
}

.srvs-pg .ttl-stat-row {
display: flex;
flex-direction: row;
gap: 52px;
align-items: flex-start;
}

.srvs-pg .ttl-stat {
display: flex;
flex-direction: column;
gap: 6px;
}

.srvs-pg .ttl-stat-num {
font-size: 37px;
font-weight: 700;
color: #394467;
line-height: 1.2;
letter-spacing: 0.01em;
}

.srvs-pg .ttl-stat-lbl {
font-size: 13px;
color: #768695;
line-height: 1.4;
letter-spacing: 0.02em;
}

@media (max-width: 768px) {
.srvs-pg .ttl-blk {
grid-template-columns: 1fr;
min-height: auto;
}

.srvs-pg .ttl-img-side {
height: 280px;
border-radius: 0;
}

.srvs-pg .ttl-txt-side {
padding: 52px 24px;
}

.srvs-pg .ttl-h1 {
font-size: 37px;
}

.srvs-pg .ttl-stat-row {
gap: 24px;
}
}

@media (max-width: 390px) {
.srvs-pg .ttl-h1 {
font-size: 27px;
}

.srvs-pg .ttl-stat-num {
font-size: 27px;
}

.srvs-pg .ttl-txt-side {
padding: 24px 12px;
}
}

.srvs-pg .offer-blk {
padding: 96px 0;
background: linear-gradient(343deg, rgba(160, 183, 255, 0.08) 0%, rgba(57, 68, 103, 0.04) 100%);
position: relative;
}

.srvs-pg .offer-blk::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: linear-gradient(to bottom, transparent, rgba(160, 183, 255, 0.4), transparent);
pointer-events: none;
}

.srvs-pg .offer-head-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 52px;
gap: 24px;
}

.srvs-pg .offer-h2 {
font-size: 37px;
font-weight: 700;
color: #394467;
line-height: 1.2;
letter-spacing: 0.01em;
max-width: 520px;
}

.srvs-pg .offer-sub {
font-size: 14px;
color: #768695;
line-height: 1.6;
max-width: 280px;
letter-spacing: 0.01em;
text-align: right;
}

.srvs-pg .offer-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 24px;
align-items: start;
}

.srvs-pg .offer-main-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.srvs-pg .offer-side-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.srvs-pg .svc-card {
background: #ffffff;
border-radius: 12px;
border: 1.5px solid rgba(57, 68, 103, 0.1);
padding: 52px;
position: relative;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
transition: border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}

.srvs-pg .svc-card:hover {
border-color: rgba(160, 183, 255, 0.6);
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11), 0 0 0 3px rgba(160, 183, 255, 0.18);
}

.srvs-pg .svc-card .card-accent-num {
position: absolute;
top: 24px;
right: 24px;
font-size: 52px;
font-weight: 700;
color: rgba(160, 183, 255, 0.2);
line-height: 1.2;
letter-spacing: 0.01em;
pointer-events: none;
}

.srvs-pg .svc-card .card-icon {
width: 44px;
height: 44px;
background: linear-gradient(343deg, rgba(160, 183, 255, 0.25) 0%, rgba(57, 68, 103, 0.08) 100%);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
border: 1px solid rgba(160, 183, 255, 0.3);
}

.srvs-pg .svc-card .card-icon i {
font-size: 20px;
color: #394467;
}

.srvs-pg .svc-card .card-h3 {
font-size: 20px;
font-weight: 700;
color: #394467;
line-height: 1.4;
letter-spacing: 0.01em;
margin-bottom: 12px;
}

.srvs-pg .svc-card .card-p {
font-size: 14px;
color: #768695;
line-height: 1.6;
letter-spacing: 0.01em;
margin-bottom: 24px;
}

.srvs-pg .svc-card .card-feat-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.srvs-pg .svc-card .card-feat-list li {
font-size: 13px;
color: #394467;
line-height: 1.4;
letter-spacing: 0.01em;
display: flex;
align-items: flex-start;
gap: 12px;
}

.srvs-pg .svc-card .card-feat-list li .feat-dot {
width: 6px;
height: 6px;
background: #A0B7FF;
border-radius: 48px;
flex-shrink: 0;
margin-top: 4px;
}

.srvs-pg .side-metric {
background: linear-gradient(343deg, #394467 0%, #2a3354 100%);
border-radius: 12px;
padding: 52px 24px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 12px;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
position: relative;
overflow: hidden;
}

.srvs-pg .side-metric::before {
content: '';
position: absolute;
top: -20px;
right: -20px;
width: 100px;
height: 100px;
background: rgba(160, 183, 255, 0.08);
border-radius: 48px;
pointer-events: none;
}

.srvs-pg .side-metric .metric-big {
font-size: 52px;
font-weight: 700;
color: #A0B7FF;
line-height: 1.2;
letter-spacing: 0.01em;
}

.srvs-pg .side-metric .metric-lbl {
font-size: 14px;
color: rgba(255, 255, 255, 0.75);
line-height: 1.4;
letter-spacing: 0.02em;
}

.srvs-pg .side-info-card {
background: #ffffff;
border-radius: 12px;
border: 1.5px solid rgba(57, 68, 103, 0.1);
padding: 24px;
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
}

.srvs-pg .side-info-card .info-h4 {
font-size: 14px;
font-weight: 700;
color: #394467;
line-height: 1.4;
letter-spacing: 0.02em;
margin-bottom: 12px;
text-transform: uppercase;
}

.srvs-pg .side-info-card .info-p {
font-size: 13px;
color: #768695;
line-height: 1.6;
letter-spacing: 0.01em;
}

.srvs-pg .svc-card.wide-card {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: center;
padding: 0;
overflow: hidden;
border: 1.5px solid rgba(57, 68, 103, 0.1);
}

.srvs-pg .svc-card.wide-card:hover {
border-color: rgba(160, 183, 255, 0.6);
}

.srvs-pg .wide-card-txt {
padding: 52px;
}

.srvs-pg .wide-card-img {
height: 300px;
overflow: hidden;
position: relative;
}

.srvs-pg .wide-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs-pg .svc-card.wide-card:hover .wide-card-img img {
transform: scale(1.03);
}

@media (max-width: 768px) {
.srvs-pg .offer-grid {
grid-template-columns: 1fr;
}

.srvs-pg .offer-head-row {
flex-direction: column;
align-items: flex-start;
}

.srvs-pg .offer-sub {
text-align: left;
}

.srvs-pg .svc-card {
padding: 24px;
}

.srvs-pg .svc-card.wide-card {
grid-template-columns: 1fr;
}

.srvs-pg .wide-card-img {
height: 200px;
}

.srvs-pg .wide-card-txt {
padding: 24px;
}

.srvs-pg .side-metric {
padding: 24px;
}

.srvs-pg .side-metric .metric-big {
font-size: 37px;
}
}

@media (max-width: 390px) {
.srvs-pg .offer-h2 {
font-size: 27px;
}

.srvs-pg .svc-card {
padding: 12px;
}
}

.srvs-pg .faq-blk {
padding: 96px 0;
background: #ffffff;
position: relative;
}

.srvs-pg .faq-blk::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: linear-gradient(to bottom, transparent, rgba(57, 68, 103, 0.2), transparent);
pointer-events: none;
}

.srvs-pg .faq-layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 96px;
align-items: start;
}

.srvs-pg .faq-left {
position: sticky;
top: 52px;
}

.srvs-pg .faq-eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #A0B7FF;
margin-bottom: 24px;
line-height: 1.4;
}

.srvs-pg .faq-h2 {
font-size: 37px;
font-weight: 700;
color: #394467;
line-height: 1.2;
letter-spacing: 0.01em;
margin-bottom: 24px;
}

.srvs-pg .faq-intro {
font-size: 14px;
color: #768695;
line-height: 1.6;
letter-spacing: 0.01em;
margin-bottom: 52px;
}

.srvs-pg .faq-img-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.srvs-pg .faq-img-wrap img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
}

.srvs-pg .faq-list {
display: flex;
flex-direction: column;
gap: 12px;
}

.srvs-pg .faq-item {
border: 1.5px solid rgba(57, 68, 103, 0.1);
border-radius: 12px;
overflow: hidden;
transition: border-color 0.28s ease-in-out, box-shadow 0.35s ease-in-out;
background: #ffffff;
}

.srvs-pg .faq-item:hover {
border-color: rgba(160, 183, 255, 0.5);
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10), 0 0 0 2px rgba(160, 183, 255, 0.12);
}

.srvs-pg .faq-item summary {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 24px;
cursor: pointer;
list-style: none;
gap: 24px;
user-select: none;
}

.srvs-pg .faq-item summary::-webkit-details-marker {
display: none;
}

.srvs-pg .faq-q {
font-size: 16px;
font-weight: 600;
color: #394467;
line-height: 1.4;
letter-spacing: 0.01em;
}

.srvs-pg .faq-toggle-icon {
width: 28px;
height: 28px;
border-radius: 48px;
border: 1.5px solid rgba(57, 68, 103, 0.2);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: background 0.26s ease-in-out, border-color 0.26s ease-in-out;
}

.srvs-pg .faq-toggle-icon svg {
transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.srvs-pg .faq-item[open] .faq-toggle-icon {
background: #A0B7FF;
border-color: #A0B7FF;
}

.srvs-pg .faq-item[open] .faq-toggle-icon svg {
transform: rotate(45deg);
}

.srvs-pg .faq-item[open] summary {
border-bottom: 1px solid rgba(57, 68, 103, 0.08);
}

.srvs-pg .faq-ans {
padding: 24px;
font-size: 14px;
color: #768695;
line-height: 1.6;
letter-spacing: 0.01em;
}

.srvs-pg .faq-ans strong {
color: #394467;
font-weight: 600;
}

.srvs-pg .cta-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.srvs-pg .btn-primary {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
border: 2.5px solid #394467;
border-radius: 6px;
background: transparent;
color: #394467;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
cursor: pointer;
text-decoration: none !important;
transition: background 0.32s cubic-bezier(0.4, 0, 0.2, 1), color 0.32s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}

.srvs-pg .btn-primary:hover {
background: #394467;
color: #ffffff;
}

.srvs-pg .btn-primary:focus-visible {
outline: 3px solid #A0B7FF;
outline-offset: 3px;
}

@media (max-width: 768px) {
.srvs-pg .faq-layout {
grid-template-columns: 1fr;
gap: 52px;
}

.srvs-pg .faq-left {
position: static;
}

.srvs-pg .faq-h2 {
font-size: 27px;
}
}

@media (max-width: 390px) {
.srvs-pg .faq-h2 {
font-size: 20px;
}

.srvs-pg .faq-q {
font-size: 14px;
}
}

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

.abt-pg .divider-dash {
display: flex;
align-items: center;
gap: 6px;
justify-content: center;
padding: 24px 0;
}

.abt-pg .divider-dash span {
display: inline-block;
background: #768695;
border-radius: 6px;
}

.abt-pg .divider-dash span:nth-child(odd) {
width: 4px;
height: 4px;
border-radius: 6px;
opacity: 0.4;
}

.abt-pg .divider-dash span:nth-child(even) {
width: 12px;
height: 3px;
border-radius: 6px;
opacity: 0.25;
}

.abt-pg .story-band {
position: relative;
padding: 96px 52px;
background: #f4f6fb;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 52px;
align-items: start;
}

.abt-pg .story-band::before {
content: '';
position: absolute;
inset: 0;
background:
repeating-linear-gradient(343deg,
transparent,
transparent 38px,
rgba(57, 68, 103, 0.03) 38px,
rgba(57, 68, 103, 0.03) 40px);
pointer-events: none;
}

.abt-pg .story-left {
position: sticky;
top: 52px;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .story-eyebrow {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #394467;
font-weight: 600;
}

.abt-pg .story-eyebrow .fi-info {
font-size: 14px;
color: #A0B7FF;
}

.abt-pg .story-h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
text-transform: uppercase;
margin: 0;
}

.abt-pg .story-h1 em {
font-style: normal;
border: 1.5px solid #A0B7FF;
border-radius: 6px;
padding: 0 6px;
display: inline-block;
}

.abt-pg .story-meta-row {
display: flex;
flex-direction: column;
gap: 12px;
}

.abt-pg .story-meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 14px;
color: #768695;
line-height: 1.4;
}

.abt-pg .story-meta-item .fi {
font-size: 16px;
color: #A0B7FF;
flex-shrink: 0;
}

.abt-pg .story-img-wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
aspect-ratio: 4/3;
}

.abt-pg .story-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), filter 0.28s ease-in-out;
}

.abt-pg .story-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(343deg, rgba(57, 68, 103, 0.45) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.35s ease-in-out;
pointer-events: none;
border-radius: 20px;
}

.abt-pg .story-img-wrap:hover::after {
opacity: 1;
}

.abt-pg .story-img-wrap:hover img {
transform: scale(1.03);
}

.abt-pg .story-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .story-para {
font-size: 16px;
line-height: 1.6;
color: #394467;
letter-spacing: 0.01em;
margin: 0;
}

.abt-pg .story-para.narrow {
max-width: 480px;
}

.abt-pg .story-img-second {
border-radius: 12px;
overflow: hidden;
aspect-ratio: 16/7;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
}

.abt-pg .story-img-second img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), filter 0.25s ease-in-out;
}

.abt-pg .story-img-second:hover img {
transform: scale(1.025);
filter: saturate(1.1);
}

.abt-pg .link-prog {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 14px;
font-weight: 600;
color: #394467;
text-decoration: none;
border: 2px solid #394467;
border-radius: 6px;
padding: 12px 24px;
position: relative;
overflow: hidden;
transition: color 0.28s ease-in-out, border-color 0.28s ease-in-out;
align-self: flex-start;
}

.abt-pg .link-prog::before {
content: '';
position: absolute;
inset: 0;
background: #394467;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0;
}

.abt-pg .link-prog:hover::before {
transform: scaleX(1);
}

.abt-pg .link-prog:hover {
color: #fff;
border-color: #394467;
}

.abt-pg .link-prog span,
.abt-pg .link-prog .fi {
position: relative;
z-index: 1;
}

.abt-pg .team-band {
padding: 96px 52px;
background: #fff;
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 52px;
align-items: start;
}

.abt-pg .team-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .team-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
margin: 0;
text-align: center;
}

.abt-pg .team-sub {
font-size: 20px;
line-height: 1.4;
color: #768695;
margin: 0;
font-weight: 400;
letter-spacing: 0.01em;
}

.abt-pg .team-body {
font-size: 16px;
line-height: 1.6;
color: #394467;
margin: 0;
letter-spacing: 0.01em;
}

.abt-pg .team-body.narrow {
max-width: 440px;
}

.abt-pg .metrics-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .metric-card {
border: 2px solid #A0B7FF;
border-radius: 12px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
background: #fff;
box-shadow: 1px 1px 5px -1px rgba(57, 68, 103, 0.05);
transition: box-shadow 0.28s ease-in-out, transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
cursor: default;
}

.abt-pg .metric-card:hover {
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
transform: translateY(-4px);
}

.abt-pg .metric-num {
font-size: 52px;
line-height: 1.2;
color: #394467;
font-weight: 700;
letter-spacing: 0.01em;
}

.abt-pg .metric-num span {
font-size: 27px;
color: #A0B7FF;
}

.abt-pg .metric-label {
font-size: 14px;
line-height: 1.4;
color: #768695;
letter-spacing: 0.02em;
}

.abt-pg .team-imgs {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.abt-pg .team-img-item {
border-radius: 12px;
overflow: hidden;
aspect-ratio: 3/4;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
position: relative;
}

.abt-pg .team-img-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), filter 0.28s ease-in-out;
}

.abt-pg .team-img-item::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(343deg, rgba(160, 183, 255, 0.5) 0%, transparent 55%);
opacity: 0;
transition: opacity 0.32s ease-in-out;
pointer-events: none;
}

.abt-pg .team-img-item:hover::after {
opacity: 1;
}

.abt-pg .team-img-item:hover img {
transform: scale(1.04);
}

.abt-pg .team-img-item.tall {
grid-row: span 1;
aspect-ratio: 3/4;
}

.abt-pg .icon-anchor {
display: flex;
align-items: center;
justify-content: center;
width: 96px;
height: 96px;
border-radius: 48px;
background: linear-gradient(343deg, #394467 0%, #A0B7FF 100%);
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
margin-bottom: 12px;
}

.abt-pg .icon-anchor .fi {
font-size: 40px;
color: #fff;
}

.abt-pg .team-heading-block {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}

.abt-pg .team-left {
display: flex;
flex-direction: column;
gap: 24px;
}

@media (max-width: 1280px) {
.abt-pg .story-band {
grid-template-columns: 1fr 1.3fr;
gap: 52px;
padding: 96px 52px;
}

.abt-pg .team-band {
grid-template-columns: 1fr 1fr;
padding: 96px 52px;
}
}

@media (max-width: 768px) {
.abt-pg .story-band {
grid-template-columns: 1fr;
padding: 52px 24px;
gap: 24px;
}

.abt-pg .story-left {
position: static;
}

.abt-pg .story-h1 {
font-size: 37px;
}

.abt-pg .team-band {
grid-template-columns: 1fr;
padding: 52px 24px;
gap: 24px;
}

.abt-pg .team-imgs {
grid-template-columns: 1fr 1fr;
}

.abt-pg .metrics-col {
flex-direction: row;
flex-wrap: wrap;
}

.abt-pg .metric-card {
flex: 1 1 calc(50% - 12px);
}
}

@media (max-width: 390px) {
.abt-pg .story-band {
padding: 52px 12px;
}

.abt-pg .story-h1 {
font-size: 27px;
}

.abt-pg .team-band {
padding: 52px 12px;
}

.abt-pg .metric-card {
flex: 1 1 100%;
}

.abt-pg .team-imgs {
grid-template-columns: 1fr;
}

.abt-pg .metric-num {
font-size: 37px;
}
}

.success-page {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #ffffff;
max-width: 1440px;
margin: 0 auto;
}

.success-page .inner-wrap {
display: flex;
flex-direction: column;
align-items: center;
max-width: 560px;
width: 100%;
}

.success-page .icon-wrap {
width: 72px;
height: 72px;
border-radius: 36px;
border: 2px solid #A0B7FF;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 52px;
box-shadow: 1px 6px 22px -1px rgba(57, 68, 103, 0.10);
flex-shrink: 0;
}

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

.success-page .status-label {
font-size: 13px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #768695;
margin-bottom: 12px;
text-align: center;
}

.success-page .main-heading {
font-size: 37px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #394467;
text-align: center;
margin: 0 0 24px 0;
text-transform: uppercase;
}

.success-page .desc-text {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #768695;
text-align: center;
margin: 0 0 52px 0;
}

.success-page .divider-line {
width: 48px;
height: 2px;
background: linear-gradient(343deg, #A0B7FF, #394467);
border-radius: 6px;
margin-bottom: 52px;
}

.success-page .meta-block {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
margin-bottom: 52px;
}

.success-page .meta-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 24px;
border-radius: 12px;
background: #f5f7ff;
border: 1px solid #e8edf8;
}

.success-page .meta-row .row-icon {
flex-shrink: 0;
margin-top: 2px;
}

.success-page .meta-row .row-text {
font-size: 14px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #394467;
}

.success-page .meta-row .row-text strong {
font-weight: 600;
color: #394467;
}

.success-page .back-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
border-radius: 6px;
border: 2px solid #394467;
background: transparent;
color: #394467;
font-size: 14px;
line-height: 1.4;
letter-spacing: 0.02em;
text-decoration: none;
cursor: pointer;
transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1), color 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s ease-in-out;
position: relative;
overflow: hidden;
}

.success-page .back-btn:hover {
background: #394467;
color: #ffffff;
box-shadow: 1px 12px 40px -1px rgba(57, 68, 103, 0.11);
}

.success-page .back-btn:focus-visible {
outline: 2px solid #A0B7FF;
outline-offset: 3px;
}

.success-page .back-btn:active {
background: #2a3352;
border-color: #2a3352;
color: #ffffff;
}

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

.success-page .main-heading {
font-size: 27px;
}

.success-page .icon-wrap {
margin-bottom: 24px;
}

.success-page .divider-line {
margin-bottom: 24px;
}

.success-page .meta-block {
margin-bottom: 24px;
}
}

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

.success-page .main-heading {
font-size: 20px;
}

.success-page .desc-text {
font-size: 14px;
}

.success-page .meta-row {
padding: 12px;
}
}