html {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Karla', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f52;
    background-color: #ffffff;
}

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

:focus-visible {
    outline: 2px solid #32419C;
    outline-offset: 3px;
    transition: outline-offset 0.25s ease-in-out;
}

.site-header {
    width: 100%;
    background: linear-gradient(135deg, #32419C 0%, #4a5ab8 60%, #93A6CD 100%);
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
    position: relative;
    overflow: hidden;
}

.site-header::before {
    content: '';
    position: absolute;
    top: -36px;
    right: -72px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(147, 166, 205, 0.12);
    pointer-events: none;
}

.site-header::after {
    content: '';
    position: absolute;
    bottom: -48px;
    left: 10%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(246, 246, 250, 0.07);
    pointer-events: none;
}

.hdr-strip {
    background: rgba(246, 246, 250, 0.08);
    border-bottom: 1px solid rgba(246, 246, 250, 0.15);
    padding: 8px 0;
}

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

.hdr-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(246, 246, 250, 0.85);
    font-size: 15px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.28s ease-in-out;
}

.hdr-contact-item:hover {
    color: #ffffff;
}

.hdr-contact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.75;
}

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

.hdr-nav-side {
    display: flex;
    align-items: center;
    flex: 1;
}

.hdr-logo-side {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.logo-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border-radius: 2px 24px 2px 24px;
    box-shadow: 3px 3px 0 0 rgba(50, 65, 156, 0.35), 0 5px 25px -1px rgba(50, 65, 156, 0.18);
    flex-shrink: 0;
    text-decoration: none;
}

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

.brand-label {
    margin-left: 12px;
    display: flex;
    flex-direction: column;
}

.brand-name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.08em;
    color: #ffffff;
    text-transform: uppercase;
}

.brand-tagline {
    font-size: 15px;
    line-height: 1.4;
    color: rgba(246, 246, 250, 0.72);
    letter-spacing: 0.02em;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.primary-nav li {
    position: relative;
}

.nav-lnk {
    display: block;
    padding: 12px 12px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: rgba(246, 246, 250, 0.88);
    text-decoration: none;
    border-radius: 2px;
    letter-spacing: 0.03em;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.nav-lnk:hover,
.nav-lnk[aria-current="page"] {
    color: #ffffff;
    background-color: rgba(246, 246, 250, 0.14);
}

.nav-lnk-active {
    color: #ffffff;
    background-color: rgba(246, 246, 250, 0.18);
    border-bottom: 2px solid rgba(246, 246, 250, 0.6);
}

.hdr-accent-bar {
    height: 4px;
    background: linear-gradient(90deg, rgba(246, 246, 250, 0.0) 0%, rgba(246, 246, 250, 0.35) 40%, rgba(147, 166, 205, 0.5) 70%, rgba(246, 246, 250, 0.0) 100%);
}

.site-footer {
    position: relative;
    background-color: #2a2f52;
    color: rgba(246, 246, 250, 0.82);
    overflow: hidden;
}

.ftr-wave {
    display: block;
    width: 100%;
    line-height: 0;
    margin-bottom: -1px;
}

.ftr-wave svg {
    display: block;
    width: 100%;
    height: auto;
}

.ftr-body {
    max-width: 1100px;
    margin: 0 auto;
    padding: 72px 24px 36px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
}

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

.ftr-logo-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.ftr-logo-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border-radius: 24px 2px 24px 2px;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08), 0 5px 25px -1px rgba(50, 65, 156, 0.09);
    flex-shrink: 0;
}

.ftr-logo-shell img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
}

.ftr-brand {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ftr-addr {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.72);
    font-style: normal;
}

.ftr-contact-lnk {
    font-size: 15px;
    color: rgba(246, 246, 250, 0.78);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease-in-out;
}

.ftr-contact-lnk:hover {
    color: #ffffff;
}

.ftr-contact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.65;
}

.ftr-col-heading {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(147, 166, 205, 0.25);
}

.ftr-policy-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ftr-policy-lnk {
    font-size: 15px;
    color: rgba(246, 246, 250, 0.75);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ftr-policy-lnk:hover {
    color: #93A6CD;
}

.ftr-policy-arrow {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.5;
}

.ftr-trust-text {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.68);
}

.ftr-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(147, 166, 205, 0.12);
    border-radius: 2px;
    border: 1px solid rgba(147, 166, 205, 0.2);
    font-size: 15px;
    color: rgba(246, 246, 250, 0.8);
    width: fit-content;
}

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

.ftr-bottom {
    border-top: 1px solid rgba(147, 166, 205, 0.18);
    padding: 24px;
}

.ftr-bottom-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.ftr-copy {
    font-size: 15px;
    color: rgba(246, 246, 250, 0.5);
    line-height: 1.4;
}

.ftr-domain {
    font-size: 15px;
    color: rgba(147, 166, 205, 0.7);
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: color 0.25s ease-in-out;
}

.ftr-domain:hover {
    color: #93A6CD;
}

@media (max-width: 1024px) {
    .ftr-body {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .hdr-main-row {
        padding: 24px 24px;
    }
}

@media (max-width: 768px) {
    .ftr-body {
        grid-template-columns: 1fr;
        padding: 36px 24px 24px;
        gap: 24px;
    }

    .hdr-strip-inner {
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }

    .hdr-main-row {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 24px;
        gap: 12px;
    }

    .hdr-nav-side {
        width: 100%;
    }

    .primary-nav {
        gap: 4px;
    }

    .ftr-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

@media (max-width: 320px) {
    .hdr-strip-inner {
        flex-direction: column;
        gap: 8px;
    }

    .primary-nav {
        flex-direction: column;
        align-items: flex-start;
    }

    .nav-lnk {
        padding: 8px 8px;
    }
}

.legal-info {
    max-width: 1100px;
    margin: 0 auto;
    padding: 72px 36px;
    color: #2a2f52;
    line-height: 1.6;
    font-size: 15px;
}

.legal-info p {
    font-size: 15px;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 24px;
    color: #2a2f52;
}

.legal-info ul,
.legal-info ol {
    margin-bottom: 24px;
    padding-left: 36px;
}

.legal-info li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 8px;
    color: #2a2f52;
}

.legal-info ul li {
    list-style-type: disc;
}

.legal-info ol li {
    list-style-type: decimal;
}

.legal-info ul ul,
.legal-info ol ol,
.legal-info ul ol,
.legal-info ol ul {
    margin-top: 8px;
    margin-bottom: 8px;
}

.legal-info strong,
.legal-info b {
    font-weight: 700;
    color: #32419C;
}

.legal-info em,
.legal-info i {
    font-style: italic;
    color: #3d4a6e;
}

.legal-info a {
    color: #32419C;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color 0.25s ease-in-out, text-decoration-color 0.25s ease-in-out;
}

.legal-info a:hover {
    color: #93A6CD;
    text-decoration-color: #93A6CD;
}

.legal-info a:focus-visible {
    outline: 2px solid #32419C;
    outline-offset: 2px;
    border-radius: 2px;
}

.legal-info table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 36px;
    font-size: 15px;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    border-radius: 2px;
    overflow: hidden;
}

.legal-info thead {
    background-color: #32419C;
}

.legal-info thead th {
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    padding: 12px 24px;
    text-align: left;
    letter-spacing: 0.04em;
}

.legal-info tbody tr {
    border-bottom: 1px solid #d8dff0;
    transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.legal-info tbody tr:nth-child(even) {
    background-color: #F6F6FA;
}

.legal-info tbody tr:hover {
    background-color: #eaedfa;
}

.legal-info td {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f52;
    padding: 12px 24px;
    vertical-align: top;
}

.legal-info th {
    font-size: 15px;
    line-height: 1.4;
}

.legal-info div {
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .legal-info {
        padding: 36px 24px;
    }

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

    .legal-info thead th,
    .legal-info td {
        padding: 12px;
    }
}

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

    .legal-info ul,
    .legal-info ol {
        padding-left: 24px;
    }
}

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

.ss-det .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.ss-det .art-lead {
    background: linear-gradient(to top, #fff 0%, #F6F6FA 100%);
    padding: 72px 0 36px;
    position: relative;
}

.ss-det .art-lead::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(50, 65, 156, 0.07) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
}

.ss-det .lead-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 36px;
    align-items: center;
    position: relative;
}

.ss-det .lead-text-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ss-det .lead-tag {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #32419C;
    border: 1.5px solid #93A6CD;
    border-radius: 2px;
    padding: 4px 12px;
    width: fit-content;
}

.ss-det .lead-heading {
    font-size: 42px;
    line-height: 1.15;
    color: #1a2060;
    margin: 0;
}

.ss-det .lead-heading strong {
    font-size: 72px;
    line-height: 1.15;
    display: block;
    color: #32419C;
}

.ss-det .lead-meta {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.ss-det .meta-author {
    font-size: 15px;
    color: #32419C;
    font-weight: 600;
}

.ss-det .meta-likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #555b8a;
}

.ss-det .like-icon {
    width: 18px;
    height: 18px;
    display: inline-block;
}

.ss-det .lead-img-col {
    position: relative;
}

.ss-det .lead-img-frame {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.ss-det .lead-img-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    border: 2px solid rgba(50, 65, 156, 0.15);
    pointer-events: none;
}

.ss-det .lead-img-frame::before {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 20px;
    border: 1px solid rgba(147, 166, 205, 0.3);
    z-index: 1;
    pointer-events: none;
}

.ss-det .lead-img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: contain;
    animation: img-scale-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
    transform-origin: center center;
    filter: blur(0px);
}

.ss-det .lead-img-blur {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(to top, rgba(246, 246, 250, 0.7), transparent);
    border-radius: 0 0 24px 24px;
    pointer-events: none;
    z-index: 2;
}

@keyframes img-scale-in {
    from {
        transform: scale(0.97);
        opacity: 0.7;
    }

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

.ss-det .scallop-div {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.ss-det .scallop-div svg {
    display: block;
    width: 100%;
}

.ss-det .art-body-wrap {
    padding: 72px 0 36px;
    background: #fff;
}

.ss-det .body-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 36px;
    align-items: start;
}

.ss-det .body-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px;
}

.ss-det .aside-card {
    background: #F6F6FA;
    border-radius: 24px;
    padding: 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    border: 1px solid rgba(147, 166, 205, 0.25);
}

.ss-det .aside-label {
    font-size: 15px;
    letter-spacing: 0.1em;
    color: #32419C;
    font-weight: 700;
    margin-bottom: 12px;
    display: block;
}

.ss-det .aside-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #333a6a;
    margin: 0;
}

.ss-det .poll-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ss-det .poll-opt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

.ss-det .poll-opt input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.ss-det .poll-visual {
    width: 100%;
    padding: 12px;
    border-radius: 2px;
    border: 1.5px solid #93A6CD;
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    background: #fff;
    transition: background 0.28s ease-in-out, border-color 0.28s ease-in-out, color 0.28s ease-in-out;
    cursor: pointer;
}

.ss-det .poll-opt.selected .poll-visual {
    background: #32419C;
    color: #fff;
    border-color: #32419C;
}

.ss-det .art-main-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ss-det .art-main-col p {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f55;
    margin: 0;
}

.ss-det .art-main-col p:first-of-type::first-letter {
    font-size: 42px;
    line-height: 1;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
}

.ss-det .art-main-col h2 {
    font-size: 30px;
    line-height: 1.15;
    color: #32419C;
    margin: 0;
}

.ss-det .art-main-col h2 strong,
.ss-det .art-main-col h2:first-word {
    font-size: 42px;
}

.ss-det .art-main-col small {
    font-size: 15px;
    color: #555b8a;
    line-height: 1.4;
}

.ss-det .art-main-col abbr {
    text-decoration: underline dashed #93A6CD;
    cursor: help;
}

.ss-det .art-main-col a {
    color: #32419C;
    text-decoration: underline dashed #93A6CD;
    text-underline-offset: 3px;
    transition: color 0.25s ease-in-out;
}

.ss-det .art-main-col a:hover {
    color: #93A6CD;
}

.ss-det .art-main-col ul {
    padding-left: 24px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ss-det .art-main-col ul li {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f55;
}

.ss-det .art-main-col details {
    border: 1.5px solid #93A6CD;
    border-radius: 2px;
    padding: 12px 24px;
    background: #F6F6FA;
}

.ss-det .art-main-col summary {
    font-size: 15px;
    font-weight: 600;
    color: #32419C;
    cursor: pointer;
    line-height: 1.4;
}

.ss-det .code-block {
    background: #1e2347;
    border-radius: 2px;
    padding: 24px;
    overflow-x: auto;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.ss-det .code-block pre {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #93A6CD;
    white-space: pre-wrap;
    word-break: break-word;
}

.ss-det .code-block .code-kw {
    color: #7c8fdd;
}

.ss-det .code-block .code-str {
    color: #a8d8a8;
}

.ss-det .code-block .code-num {
    color: #f0b97a;
}

.ss-det .code-block .code-cm {
    color: #5a6080;
}

.ss-det .scallop-div-alt {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.ss-det .scallop-div-alt svg {
    display: block;
    width: 100%;
}

.ss-det .art-metrics {
    background: linear-gradient(to top, #32419C 0%, #4a5ab5 100%);
    padding: 72px 0;
    position: relative;
    overflow: hidden;
}

.ss-det .art-metrics::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2393A6CD' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.ss-det .metrics-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.4fr;
    gap: 24px;
    align-items: start;
}

.ss-det .metric-card {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 36px 24px;
    border: 1px solid rgba(147, 166, 205, 0.25);
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.ss-det .metric-card:hover {
    background: rgba(255, 255, 255, 0.14);
}

.ss-det .metric-num {
    font-size: 42px;
    line-height: 1.15;
    color: #fff;
    font-weight: 700;
    display: block;
}

.ss-det .metric-label {
    font-size: 15px;
    line-height: 1.4;
    color: #93A6CD;
    margin-top: 8px;
    display: block;
}

.ss-det .metric-desc {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.85);
    margin-top: 12px;
}

.ss-det .metric-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}

.ss-det .metric-svg-wrap {
    width: 64px;
    height: 64px;
}

.ss-det .art-cta-band {
    background: #F6F6FA;
    padding: 72px 0;
    position: relative;
}

.ss-det .cta-double-border {
    border: 2px solid #32419C;
    border-radius: 24px;
    padding: 4px;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.ss-det .cta-inner {
    border: 1px solid rgba(147, 166, 205, 0.4);
    border-radius: 20px;
    padding: 36px 72px;
    background: #fff;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
    justify-content: space-between;
    box-shadow: inset 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.ss-det .cta-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.ss-det .cta-heading {
    font-size: 30px;
    line-height: 1.15;
    color: #32419C;
    margin: 0;
}

.ss-det .cta-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f55;
    margin: 0;
}

.ss-det .cta-btns {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}

.ss-det .btn-prim {
    display: inline-block;
    padding: 12px 36px;
    background: #32419C;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 2px;
    border: 2px solid #32419C;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background 0.28s ease-in-out, color 0.28s ease-in-out, outline-offset 0.28s ease-in-out;
    outline: 2px solid transparent;
    outline-offset: 0px;
}

.ss-det .btn-prim:hover {
    background: #fff;
    color: #32419C;
    outline: 2px solid #32419C;
    outline-offset: 4px;
}

.ss-det .btn-prim:focus-visible {
    outline: 3px solid #32419C;
    outline-offset: 4px;
}

.ss-det .btn-sec {
    display: inline-block;
    padding: 12px 36px;
    background: transparent;
    color: #32419C;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 2px;
    border: 2px solid #93A6CD;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1), outline-offset 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    outline: 2px solid transparent;
    outline-offset: 0px;
}

.ss-det .btn-sec:hover {
    border-color: #32419C;
    color: #32419C;
    outline: 2px solid #93A6CD;
    outline-offset: 4px;
}

.ss-det .btn-sec:focus-visible {
    outline: 3px solid #32419C;
    outline-offset: 4px;
}

@media (max-width: 1024px) {
    .ss-det .lead-grid {
        grid-template-columns: 1fr;
    }

    .ss-det .lead-heading strong {
        font-size: 42px;
    }

    .ss-det .body-grid {
        grid-template-columns: 1fr;
    }

    .ss-det .body-aside {
        position: static;
    }

    .ss-det .metrics-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ss-det .metric-center {
        grid-column: 1 / -1;
    }

    .ss-det .cta-inner {
        flex-direction: column;
        padding: 36px 24px;
        text-align: center;
    }

    .ss-det .cta-btns {
        flex-direction: row;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .ss-det .lead-heading {
        font-size: 30px;
    }

    .ss-det .lead-heading strong {
        font-size: 30px;
    }

    .ss-det .metrics-grid {
        grid-template-columns: 1fr;
    }

    .ss-det .metric-center {
        grid-column: auto;
    }

    .ss-det .art-metrics {
        padding: 36px 0;
    }

    .ss-det .art-lead {
        padding: 36px 0 24px;
    }

    .ss-det .art-body-wrap {
        padding: 36px 0 24px;
    }

    .ss-det .art-cta-band {
        padding: 36px 0;
    }

    .ss-det .cta-btns {
        flex-direction: column;
    }
}

@media (max-width: 320px) {
    .ss-det .pg-wrap {
        padding: 0 12px;
    }

    .ss-det .lead-heading {
        font-size: 30px;
    }
}

@media print {

    .ss-det .art-lead::before,
    .ss-det .lead-img-blur,
    .ss-det .scallop-div,
    .ss-det .scallop-div-alt,
    .ss-det .art-metrics::before,
    .ss-det .cta-double-border,
    .ss-det .aside-card:last-child,
    .ss-det .art-cta-band {
        display: none !important;
    }

    .ss-det .lead-grid,
    .ss-det .body-grid {
        grid-template-columns: 1fr;
    }

    .ss-det .art-metrics {
        background: #fff;
        padding: 24px 0;
    }

    .ss-det .metric-num,
    .ss-det .metric-label,
    .ss-det .metric-desc {
        color: #000;
    }

    .ss-det .metric-card {
        border: 1px solid #ccc;
        background: #fff;
    }

    .ss-det .code-block {
        background: #f0f0f0;
        box-shadow: none;
    }

    .ss-det .code-block pre {
        color: #000;
    }

    .ss-det .body-aside {
        position: static;
    }
}

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

.cs-pg .cs-reveal {
    animation: cs-clip-down 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes cs-clip-down {
    from {
        clip-path: inset(0 0 100% 0);
        opacity: 0;
    }

    to {
        clip-path: inset(0 0 0% 0);
        opacity: 1;
    }
}

.cs-pg .cs-bound {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.cs-pg .cs-divider {
    height: 2px;
    background: linear-gradient(90deg, #32419C 0%, #93A6CD 100%);
    border: none;
    margin: 0;
}

.cs-pg .cs-drop-cap::first-letter {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
}

.cs-pg a {
    color: #32419C;
    text-decoration: underline;
    text-decoration-style: dashed;
    transition: color 0.28s ease-in-out;
}

.cs-pg a:hover {
    color: #93A6CD;
}

.cs-pg ::selection {
    background: #32419C;
    color: #fff;
}

.cs-pg .lbl-sm {
    font-size: 15px;
    letter-spacing: 0.08em;
    line-height: 1.4;
    color: #32419C;
    text-transform: uppercase;
}

.cs-pg .txt-body {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f4a;
}

.cs-pg .txt-head {
    font-size: 42px;
    line-height: 1.15;
    color: #1e2660;
}

.cs-pg .txt-mid {
    font-size: 30px;
    line-height: 1.4;
    color: #1e2660;
}

.cs-pg .txt-lg {
    font-size: 72px;
    line-height: 1.15;
    color: #32419C;
}

.cs-pg .btn-pri {
    display: inline-block;
    padding: 12px 36px;
    background: #32419C;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 2px;
    border: 2px solid #32419C;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    position: relative;
    outline-offset: 4px;
}

.cs-pg .btn-pri:hover {
    background: #F6F6FA;
    color: #32419C;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.cs-pg .btn-pri:focus-visible {
    outline: 2px solid #32419C;
}

.cs-pg .btn-sec {
    display: inline-block;
    padding: 12px 36px;
    background: transparent;
    color: #32419C;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 2px;
    border: 2px solid #93A6CD;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.28s ease-in-out, background 0.28s ease-in-out;
    outline-offset: 4px;
}

.cs-pg .btn-sec:hover {
    border-color: #32419C;
    background: rgba(50, 65, 156, 0.05);
}

.cs-pg .btn-sec:focus-visible {
    outline: 2px solid #32419C;
}

.cs-pg .tag-pill {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(147, 166, 205, 0.18);
    color: #32419C;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 24px;
    border: 1px solid rgba(50, 65, 156, 0.15);
}

.cs-pg .thin-lines {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.cs-pg .thin-lines span {
    display: block;
    height: 1px;
    background: rgba(50, 65, 156, 0.18);
    border-radius: 2px;
}

.cs-pg .dot-grid {
    position: absolute;
    top: 0;
    right: 0;
    width: 260px;
    height: 220px;
    background-image: radial-gradient(circle, rgba(50, 65, 156, 0.15) 1.5px, transparent 1.5px);
    background-size: 20px 20px;
    pointer-events: none;
    z-index: 0;
}

.cs-pg .edge-strip {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #32419C 0%, #93A6CD 100%);
    border-radius: 2px;
}

.cs-pg .edge-strip-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #93A6CD 0%, #32419C 100%);
    border-radius: 2px;
}

.cs-pg .cs-title-blk {
    padding-top: 36px;
    padding-bottom: 72px;
    background: #F6F6FA;
    position: relative;
}

.cs-pg .cs-title-blk .cs-title-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 36px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.cs-pg .cs-title-blk .cs-img-col {
    position: relative;
}

.cs-pg .cs-title-blk .cs-img-wrap {
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.cs-pg .cs-title-blk .cs-img-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    animation: cs-fade-in 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
}

@keyframes cs-fade-in {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

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

.cs-pg .cs-title-blk .cs-txt-col {
    position: relative;
}

.cs-pg .cs-title-blk .cs-pre-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5280;
    margin-bottom: 24px;
}

.cs-pg .cs-title-blk .cs-h1 {
    font-size: 42px;
    line-height: 1.15;
    color: #1e2660;
    margin-bottom: 24px;
}

.cs-pg .cs-title-blk .cs-h1 span.first-word {
    font-size: 72px;
    line-height: 1.15;
    display: block;
    color: #32419C;
}

.cs-pg .cs-title-blk .cs-tag-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.cs-pg .cs-cases-blk {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #fff;
    position: relative;
}

.cs-pg .cs-cases-blk .cs-cases-intro {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 36px;
    margin-bottom: 72px;
    align-items: start;
}

.cs-pg .cs-cases-blk .cs-intro-narrow {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5280;
}

.cs-pg .cs-cases-blk .cs-intro-wide {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f4a;
}

.cs-pg .cs-case-item {
    display: grid;
    gap: 36px;
    align-items: center;
    padding: 36px;
    border-radius: 2px;
    margin-bottom: 36px;
    position: relative;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08), 0 5px 25px -1px rgba(50, 65, 156, 0.09);
    background: #F6F6FA;
    transition: box-shadow 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.cs-pg .cs-case-item:hover {
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.06), 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.cs-pg .cs-case-item.layout-a {
    grid-template-columns: 3fr 2fr;
}

.cs-pg .cs-case-item.layout-b {
    grid-template-columns: 2fr 3fr;
}

.cs-pg .cs-case-item.layout-b .cs-case-body {
    order: 2;
}

.cs-pg .cs-case-item.layout-b .cs-case-metrics {
    order: 1;
}

.cs-pg .cs-case-body .cs-case-label {
    font-size: 15px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #32419C;
    margin-bottom: 8px;
}

.cs-pg .cs-case-body .cs-case-h {
    font-size: 30px;
    line-height: 1.4;
    color: #1e2660;
    margin-bottom: 12px;
}

.cs-pg .cs-case-body .cs-case-p {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f4a;
    margin-bottom: 12px;
}

.cs-pg .cs-case-metrics {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    background: #fff;
    border-radius: 2px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.06);
}

.cs-pg .cs-metric {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cs-pg .cs-metric .cs-metric-val {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
}

.cs-pg .cs-metric .cs-metric-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #4a5280;
}

.cs-pg .cs-metric .cs-metric-bar {
    height: 4px;
    background: #F6F6FA;
    border-radius: 2px;
    margin-top: 4px;
}

.cs-pg .cs-metric .cs-metric-fill {
    height: 4px;
    background: linear-gradient(90deg, #32419C 0%, #93A6CD 100%);
    border-radius: 2px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cs-pg .cs-donut-blk {
    padding-top: 72px;
    padding-bottom: 72px;
    background: linear-gradient(0deg, #fff 0%, #F6F6FA 100%);
    position: relative;
}

.cs-pg .cs-donut-blk .cs-donut-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

.cs-pg .cs-donut-blk .cs-donut-text .cs-dh {
    font-size: 30px;
    line-height: 1.4;
    color: #1e2660;
    margin-bottom: 12px;
}

.cs-pg .cs-donut-blk .cs-donut-text .cs-dp {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f4a;
    margin-bottom: 24px;
}

.cs-pg .cs-donut-blk .cs-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}

.cs-pg .cs-donut-blk .cs-legend-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    line-height: 1.4;
    color: #2a2f4a;
}

.cs-pg .cs-donut-blk .cs-legend-dot {
    width: 12px;
    height: 12px;
    border-radius: 24px;
    flex-shrink: 0;
}

.cs-pg .cs-donut-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.cs-pg .cs-donut-wrap svg {
    width: 260px;
    height: 260px;
}

.cs-pg .cs-donut-center {
    position: absolute;
    text-align: center;
    pointer-events: none;
}

.cs-pg .cs-donut-center .cs-dc-val {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    display: block;
}

.cs-pg .cs-donut-center .cs-dc-sub {
    font-size: 15px;
    line-height: 1.4;
    color: #4a5280;
}

.cs-pg .cs-thin-lines-corner {
    position: absolute;
    bottom: 36px;
    right: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.cs-pg .cs-thin-lines-corner span {
    display: block;
    height: 1px;
    background: rgba(50, 65, 156, 0.15);
    border-radius: 2px;
}

@media (max-width: 1024px) {
    .cs-pg .cs-title-blk .cs-title-grid {
        grid-template-columns: 1fr 1.5fr;
        gap: 24px;
    }

    .cs-pg .cs-case-item.layout-a,
    .cs-pg .cs-case-item.layout-b {
        grid-template-columns: 1fr 1fr;
    }

    .cs-pg .cs-donut-blk .cs-donut-grid {
        gap: 36px;
    }
}

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

    .cs-pg .cs-title-blk .cs-h1 span.first-word {
        font-size: 42px;
    }

    .cs-pg .cs-cases-blk .cs-cases-intro {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cs-pg .cs-case-item.layout-a,
    .cs-pg .cs-case-item.layout-b {
        grid-template-columns: 1fr;
    }

    .cs-pg .cs-case-item.layout-b .cs-case-body {
        order: 1;
    }

    .cs-pg .cs-case-item.layout-b .cs-case-metrics {
        order: 2;
    }

    .cs-pg .cs-donut-blk .cs-donut-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .cs-pg .cs-case-item {
        padding: 24px;
    }
}

@media (max-width: 320px) {
    .cs-pg .cs-bound {
        padding-left: 12px;
        padding-right: 12px;
    }

    .cs-pg .cs-title-blk .cs-h1 span.first-word {
        font-size: 30px;
    }

    .cs-pg .cs-metric .cs-metric-val {
        font-size: 30px;
    }
}

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

.exp-op .pg-bound {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.exp-op .eyebrow {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #32419C;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.exp-op .divider-radial {
    width: 100%;
    height: 2px;
    background: radial-gradient(ellipse at center, #93A6CD 0%, transparent 70%);
    border: none;
    margin: 0;
}

.exp-op .panel-title {
    font-size: 42px;
    line-height: 1.15;
    color: #1a2260;
    margin: 0 0 24px;
}

.exp-op .panel-title span {
    font-size: 72px;
    line-height: 1.15;
    color: #32419C;
    display: block;
}

.exp-op .body-text {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f52;
}

.exp-op .body-text p {
    margin: 0 0 12px;
}

.exp-op .body-text p:last-child {
    margin-bottom: 0;
}

.exp-op .drop-cap::first-letter {
    font-size: 42px;
    line-height: 1;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
    font-weight: 700;
}

.exp-op .dashed-lnk {
    color: #32419C;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
    transition: color 0.28s ease-in-out;
}

.exp-op .dashed-lnk:hover {
    color: #1a2260;
}

.exp-op .geo-bg {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.exp-op .rot-shape {
    width: 260px;
    height: 260px;
    border: 2px solid rgba(50, 65, 156, 0.08);
    border-radius: 24px;
    animation: slowrot 18s linear infinite;
}

@keyframes slowrot {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.exp-op .slide-left {
    animation: slideL 0.55s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.exp-op .slide-right {
    animation: slideR 0.55s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes slideL {
    from {
        opacity: 0;
        transform: translateX(-36px);
    }

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

@keyframes slideR {
    from {
        opacity: 0;
        transform: translateX(36px);
    }

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

.exp-op .title-band {
    background: linear-gradient(to top, #F6F6FA, #ffffff);
    padding: 72px 0 36px;
    position: relative;
}

.exp-op .title-band .frame-lines {
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(147, 166, 205, 0.3);
    border-radius: 2px;
    pointer-events: none;
}

.exp-op .title-layout {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
}

.exp-op .title-txt {
    flex: 1 1 50%;
}

.exp-op .title-img-col {
    flex: 0 0 420px;
    position: relative;
}

.exp-op .img-geo-clip {
    position: relative;
    width: 420px;
    height: 280px;
    border-radius: 24px 2px 24px 2px;
    overflow: hidden;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.exp-op .img-geo-clip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.exp-op .img-scanline {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(to bottom,
            transparent 0px,
            transparent 3px,
            rgba(50, 65, 156, 0.06) 3px,
            rgba(50, 65, 156, 0.06) 4px);
    border-radius: 24px 2px 24px 2px;
}

.exp-op .experts-grid {
    background: #ffffff;
    padding: 72px 0 36px;
    position: relative;
}

.exp-op .experts-grid .geo-bg {
    top: -60px;
    right: -60px;
}

.exp-op .eg-inner {
    position: relative;
    z-index: 1;
}

.exp-op .eg-head {
    margin-bottom: 36px;
}

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

.exp-op .eg-card {
    background: #F6F6FA;
    border-radius: 2px;
    padding: 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    position: relative;
    transition: box-shadow 0.35s ease-in-out;
}

.exp-op .eg-card:hover {
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08), 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.exp-op .eg-card .trace-border {
    position: absolute;
    inset: 0;
    border-radius: 2px;
    border: 2px solid transparent;
    transition: border-color 0.35s ease-in-out;
    pointer-events: none;
}

.exp-op .eg-card:hover .trace-border {
    border-color: #32419C;
}

.exp-op .expert-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a2260;
    margin: 0 0 4px;
}

.exp-op .expert-role {
    font-size: 15px;
    color: #32419C;
    letter-spacing: 0.06em;
    margin: 0 0 12px;
}

.exp-op .expert-quote {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f52;
    margin: 0;
    font-style: italic;
}

.exp-op .expert-avatar {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: linear-gradient(to top, #93A6CD, #32419C);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exp-op .expert-avatar svg {
    width: 28px;
    height: 28px;
    fill: #ffffff;
}

.exp-op .method-strip {
    background: linear-gradient(to top, #eef1f8, #F6F6FA);
    padding: 72px 0;
    position: relative;
    clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 96%);
}

.exp-op .method-strip .geo-bg {
    bottom: 20px;
    left: -80px;
}

.exp-op .ms-inner {
    position: relative;
    z-index: 1;
}

.exp-op .ms-cols {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-start;
}

.exp-op .ms-col-narrow {
    flex: 0 0 300px;
}

.exp-op .ms-col-wide {
    flex: 1 1 auto;
}

.exp-op .ms-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.exp-op .ms-item {
    background: #ffffff;
    border-radius: 2px;
    padding: 12px 24px;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    transition: transform 0.28s ease-in-out, box-shadow 0.28s ease-in-out;
}

.exp-op .ms-item:hover {
    transform: translateX(4px);
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.exp-op .ms-num {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: rgba(50, 65, 156, 0.18);
    min-width: 36px;
}

.exp-op .ms-item-txt {
    flex: 1;
}

.exp-op .ms-item-txt strong {
    display: block;
    font-size: 15px;
    color: #1a2260;
    margin-bottom: 4px;
}

.exp-op .ms-item-txt span {
    font-size: 15px;
    line-height: 1.4;
    color: #2a2f52;
}

.exp-op .icon-chain {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    margin-bottom: 36px;
}

.exp-op .chain-icon {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: #32419C;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.exp-op .chain-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 2;
}

.exp-op .chain-dash {
    flex: 1;
    border-top: 2px dashed rgba(50, 65, 156, 0.35);
    min-width: 24px;
}

.exp-op .two-col-feat {
    background: #ffffff;
    padding: 72px 0;
}

.exp-op .tcf-inner {
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: stretch;
}

.exp-op .tcf-left {
    flex: 1 1 50%;
    padding-right: 36px;
    border-right: 1px solid rgba(147, 166, 205, 0.4);
}

.exp-op .tcf-right {
    flex: 1 1 50%;
    padding-left: 36px;
}

.exp-op .stat-row {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 24px;
}

.exp-op .stat-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.exp-op .stat-num {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 700;
    color: #32419C;
    min-width: 80px;
}

.exp-op .stat-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2f52;
    padding-top: 8px;
}

.exp-op .key-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.exp-op .ktag {
    font-size: 15px;
    color: #32419C;
    background: #F6F6FA;
    border: 1px solid rgba(50, 65, 156, 0.2);
    border-radius: 2px;
    padding: 4px 12px;
    transition: background 0.25s ease-in-out, border-color 0.25s ease-in-out;
}

.exp-op .ktag:hover {
    background: #32419C;
    color: #ffffff;
    border-color: #32419C;
}

.exp-op .tcf-subhead {
    font-size: 30px;
    line-height: 1.15;
    color: #1a2260;
    margin: 0 0 12px;
}

@media (max-width: 1024px) {
    .exp-op .title-img-col {
        flex: 0 0 320px;
    }

    .exp-op .img-geo-clip {
        width: 320px;
        height: 220px;
    }

    .exp-op .eg-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .exp-op .ms-col-narrow {
        flex: 0 0 220px;
    }
}

@media (max-width: 768px) {
    .exp-op .title-layout {
        flex-direction: column;
    }

    .exp-op .title-img-col {
        flex: 0 0 auto;
        width: 100%;
    }

    .exp-op .img-geo-clip {
        width: 100%;
        height: 220px;
    }

    .exp-op .eg-cards {
        grid-template-columns: 1fr;
    }

    .exp-op .ms-cols {
        flex-direction: column;
    }

    .exp-op .ms-col-narrow {
        flex: 0 0 auto;
        width: 100%;
    }

    .exp-op .tcf-inner {
        flex-direction: column;
    }

    .exp-op .tcf-left {
        padding-right: 0;
        padding-bottom: 36px;
        border-right: none;
        border-bottom: 1px solid rgba(147, 166, 205, 0.4);
    }

    .exp-op .tcf-right {
        padding-left: 0;
        padding-top: 36px;
    }

    .exp-op .panel-title span {
        font-size: 42px;
    }

    .exp-op .method-strip {
        clip-path: polygon(0 0, 100% 2%, 100% 100%, 0 98%);
    }
}

@media (max-width: 320px) {
    .exp-op .pg-bound {
        padding-left: 12px;
        padding-right: 12px;
    }

    .exp-op .panel-title span {
        font-size: 30px;
    }
}

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

.sstories .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.sstories .load-anim {
    animation: riseUp 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes riseUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

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

.sstories .top-band {
    background: linear-gradient(to top, #32419C, #93A6CD);
    padding: 72px 24px 72px;
    position: relative;
}

.sstories .top-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(50, 65, 156, 0.55) 0%, transparent 70%);
    pointer-events: none;
}

.sstories .top-band::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: rgba(246, 246, 250, 0.45);
}

.sstories .top-inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.sstories .top-label {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    color: rgba(246, 246, 250, 0.75);
    text-transform: uppercase;
    margin-bottom: 12px;
}

.sstories .top-h1 {
    font-size: 72px;
    line-height: 1.15;
    color: #F6F6FA;
    margin-bottom: 8px;
}

.sstories .top-h1 span {
    font-size: 42px;
    display: block;
    line-height: 1.15;
}

.sstories .top-sub {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.85);
    max-width: 520px;
    margin-top: 12px;
}

.sstories .top-img-wrap {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.sstories .top-img-wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.sstories .top-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(50, 65, 156, 0.35) 0%, transparent 60%);
    pointer-events: none;
}

.sstories .top-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 72px;
}

.sstories .top-text {
    flex: 1 1 0;
    min-width: 0;
}

.sstories .top-media {
    flex: 0 0 auto;
}

.sstories .divider-asym {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 0 24px;
    max-width: 1100px;
    margin: 0 auto;
}

.sstories .divider-asym .d-long {
    height: 1px;
    background: #93A6CD;
    flex: 3 1 0;
    opacity: 0.35;
}

.sstories .divider-asym .d-short {
    height: 1px;
    background: #32419C;
    flex: 1 1 0;
    opacity: 0.2;
}

.sstories .posts-sec {
    padding: 72px 24px;
    background: #F6F6FA;
}

.sstories .posts-sec .sec-head {
    max-width: 1100px;
    margin: 0 auto 36px;
}

.sstories .posts-sec .sec-head h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin-bottom: 8px;
}

.sstories .posts-sec .sec-head p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    max-width: 540px;
}

.sstories .card-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.sstories .post-card {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.sstories .post-card:hover {
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
    transform: translateY(-4px);
}

.sstories .post-img-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.sstories .post-img-wrap img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.sstories .post-card:hover .post-img-wrap img {
    transform: scale(1.04);
}

.sstories .post-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(50, 65, 156, 0.18) 0%, transparent 55%);
    pointer-events: none;
}

.sstories .post-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 8px;
}

.sstories .post-author {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    letter-spacing: 0.04em;
}

.sstories .post-title {
    font-size: 15px;
    line-height: 1.4;
    color: #1e2340;
    font-weight: 700;
}

.sstories .post-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    flex: 1 1 auto;
}

.sstories .post-foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
}

.sstories .post-likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
}

.sstories .like-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.sstories .post-link {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    text-decoration: underline dashed;
    text-underline-offset: 3px;
    transition: color 0.25s ease-in-out;
}

.sstories .post-link:hover {
    color: #93A6CD;
}

.sstories .metrics-sec {
    padding: 72px 24px;
    background: #fff;
    position: relative;
}

.sstories .metrics-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 90% 70% at 50% 50%, transparent 60%, rgba(50, 65, 156, 0.04) 100%);
    pointer-events: none;
}

.sstories .metrics-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.sstories .metrics-text {
    flex: 1 1 0;
    min-width: 0;
}

.sstories .metrics-text h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin-bottom: 12px;
}

.sstories .metrics-text h2 strong {
    font-size: 72px;
    display: block;
    line-height: 1.15;
    color: #32419C;
}

.sstories .metrics-text p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin-bottom: 12px;
}

.sstories .metrics-text p:first-of-type::first-letter {
    font-size: 42px;
    line-height: 1;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
}

.sstories .metrics-data {
    flex: 0 0 340px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sstories .metric-row {
    background: #F6F6FA;
    border-radius: 24px;
    padding: 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
}

.sstories .metric-val {
    font-size: 30px;
    line-height: 1.15;
    color: #32419C;
    font-weight: 700;
    flex-shrink: 0;
    min-width: 80px;
}

.sstories .metric-desc {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a5c;
}

.sstories .steps-sec {
    padding: 72px 24px;
    background: linear-gradient(to top, #F6F6FA, #fff);
}

.sstories .steps-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.sstories .steps-inner h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin-bottom: 36px;
}

.sstories .steps-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sstories .step-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    background: #fff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    transition: box-shadow 0.28s ease-in-out;
}

.sstories .step-item:hover {
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.sstories .step-num {
    font-size: 42px;
    line-height: 1.15;
    color: #93A6CD;
    font-weight: 700;
    flex-shrink: 0;
    width: 48px;
    text-align: center;
}

.sstories .step-body {
    flex: 1 1 0;
    min-width: 0;
}

.sstories .step-body h4 {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    font-weight: 700;
    margin-bottom: 4px;
}

.sstories .step-body p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
}

.sstories .step-time {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #93A6CD;
    background: #F6F6FA;
    border-radius: 2px;
    padding: 4px 12px;
    align-self: center;
}

.sstories .tracking-sec {
    padding: 72px 24px;
    background: #32419C;
    position: relative;
}

.sstories .tracking-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(147, 166, 205, 0.18) 0%, transparent 65%);
    pointer-events: none;
}

.sstories .tracking-sec::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40%;
    height: 3px;
    background: rgba(246, 246, 250, 0.2);
}

.sstories .tracking-inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.sstories .tracking-inner h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #F6F6FA;
    margin-bottom: 12px;
}

.sstories .tracking-inner p {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.8);
    max-width: 600px;
    margin-bottom: 24px;
}

.sstories .track-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.sstories .track-tag {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    background: #F6F6FA;
    border-radius: 2px;
    padding: 8px 12px;
    transition: background 0.25s ease-in-out, color 0.25s ease-in-out;
}

.sstories .track-tag:hover {
    background: #93A6CD;
    color: #fff;
}

.sstories .cta-sec {
    padding: 72px 24px;
    background: #F6F6FA;
}

.sstories .cta-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 72px;
}

.sstories .cta-text {
    flex: 1 1 0;
    min-width: 0;
}

.sstories .cta-text h2 {
    font-size: 30px;
    line-height: 1.15;
    color: #32419C;
    margin-bottom: 12px;
}

.sstories .cta-text p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
}

.sstories .cta-form {
    flex: 0 0 380px;
    background: #fff;
    border-radius: 24px;
    padding: 36px;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.sstories .field-wrap {
    position: relative;
    margin-bottom: 24px;
}

.sstories .field-wrap input {
    width: 100%;
    border: 1px solid #93A6CD;
    border-radius: 2px;
    padding: 20px 12px 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #1e2340;
    background: #F6F6FA;
    outline: none;
    transition: border-color 0.28s ease-in-out;
    box-sizing: border-box;
}

.sstories .field-wrap input:focus {
    border-color: #32419C;
}

.sstories .field-wrap label {
    position: absolute;
    left: 12px;
    top: 14px;
    font-size: 15px;
    line-height: 1.4;
    color: #93A6CD;
    pointer-events: none;
    transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), font-size 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.sstories .field-wrap input:focus+label,
.sstories .field-wrap input:not(:placeholder-shown)+label {
    top: 4px;
    font-size: 12px;
    color: #32419C;
}

.sstories .submit-btn {
    width: 100%;
    padding: 12px 24px;
    background: #32419C;
    color: #F6F6FA;
    border: 2px solid #32419C;
    border-radius: 2px;
    font-size: 15px;
    line-height: 1.4;
    cursor: pointer;
    position: relative;
    transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), outline-offset 0.28s ease-in-out;
    outline: 2px solid transparent;
    outline-offset: 0px;
}

.sstories .submit-btn:hover {
    background: #93A6CD;
    border-color: #93A6CD;
    outline: 2px solid #32419C;
    outline-offset: 4px;
}

.sstories .submit-btn:focus {
    outline: 2px solid #32419C;
    outline-offset: 4px;
}

@media (max-width: 1024px) {
    .sstories .top-h1 {
        font-size: 42px;
    }

    .sstories .top-h1 span {
        font-size: 30px;
    }

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

    .sstories .metrics-inner {
        flex-direction: column;
        gap: 36px;
    }

    .sstories .metrics-data {
        flex: unset;
        width: 100%;
    }

    .sstories .cta-inner {
        flex-direction: column;
        gap: 36px;
    }

    .sstories .cta-form {
        flex: unset;
        width: 100%;
        max-width: 480px;
    }

    .sstories .top-row {
        flex-direction: column;
        gap: 36px;
    }

    .sstories .top-media {
        width: 100%;
        max-width: 100%;
    }

    .sstories .top-img-wrap {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .sstories .card-grid {
        grid-template-columns: 1fr;
    }

    .sstories .metrics-text h2 strong {
        font-size: 42px;
    }

    .sstories .top-band {
        padding: 36px 24px;
    }

    .sstories .posts-sec,
    .sstories .metrics-sec,
    .sstories .steps-sec,
    .sstories .tracking-sec,
    .sstories .cta-sec {
        padding: 36px 24px;
    }

    .sstories .step-item {
        flex-direction: column;
        gap: 12px;
    }

    .sstories .step-time {
        align-self: flex-start;
    }

    .sstories .cta-form {
        padding: 24px;
    }
}

@media (max-width: 320px) {
    .sstories .top-h1 {
        font-size: 30px;
    }

    .sstories .track-tags {
        flex-direction: column;
    }
}

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

.ld-pg .frame {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.ld-pg .s1 {
    padding: 72px 0 96px;
    background: linear-gradient(to top, #F6F6FA 0%, #fff 100%);
    position: relative;
}

.ld-pg .s1-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: end;
}

.ld-pg .s1-txt {
    padding-right: 36px;
}

.ld-pg .s1-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #32419C;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: block;
}

.ld-pg .s1-h1 {
    font-size: 72px;
    line-height: 1.15;
    color: #32419C;
    margin: 0 0 24px;
}

.ld-pg .s1-h1 span {
    font-size: 42px;
    color: #93A6CD;
}

.ld-pg .s1-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    max-width: 380px;
    margin: 0;
}

.ld-pg .s1-img-wrap {
    position: relative;
}

.ld-pg .s1-img-box {
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.ld-pg .s1-img-box img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
}

.ld-pg .s1-vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 60% 40%, transparent 40%, rgba(246, 246, 250, 0.55) 100%);
    pointer-events: none;
    border-radius: 2px;
}

.ld-pg .s1-corner {
    position: absolute;
    width: 32px;
    height: 32px;
    pointer-events: none;
}

.ld-pg .s1-corner.tl {
    top: -8px;
    left: -8px;
    border-top: 3px solid #32419C;
    border-left: 3px solid #32419C;
}

.ld-pg .s1-corner.br {
    bottom: -8px;
    right: -8px;
    border-bottom: 3px solid #93A6CD;
    border-right: 3px solid #93A6CD;
}

.ld-pg .s1-dots {
    position: absolute;
    bottom: -36px;
    left: -24px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    pointer-events: none;
}

.ld-pg .s1-dot {
    border-radius: 50%;
    background: #93A6CD;
    opacity: 0.4;
}

@media (max-width: 768px) {
    .ld-pg .s1-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ld-pg .s1-txt {
        padding-right: 0;
    }

    .ld-pg .s1-h1 {
        font-size: 42px;
    }

    .ld-pg .s1-h1 span {
        font-size: 30px;
    }

    .ld-pg .s1-img-box img {
        height: 320px;
    }
}

@media (max-width: 320px) {
    .ld-pg .s1-h1 {
        font-size: 30px;
    }
}

.ld-pg .s2 {
    padding: 72px 0;
    background: #fff;
}

.ld-pg .s2-head {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-end;
    margin-bottom: 48px;
}

.ld-pg .s2-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0;
    flex: 0 0 auto;
    max-width: 380px;
}

.ld-pg .s2-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    margin: 0;
    flex: 1;
}

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

.ld-pg .s2-card {
    background: #F6F6FA;
    border-radius: 24px;
    padding: 36px 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    position: relative;
}

.ld-pg .s2-card-quote {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a4a;
    margin: 0 0 24px;
}

.ld-pg .s2-card-quote::first-letter {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
}

.ld-pg .s2-card-name {
    font-size: 15px;
    color: #32419C;
    letter-spacing: 0.06em;
}

.ld-pg .s2-card-role {
    font-size: 15px;
    color: #93A6CD;
    margin-top: 4px;
}

.ld-pg .s2-card-before {
    background: #fff;
    border-radius: 2px;
    padding: 12px;
    margin-bottom: 12px;
    font-size: 15px;
    color: #4a4a6a;
    line-height: 1.4;
}

.ld-pg .s2-card-after {
    background: #32419C;
    border-radius: 2px;
    padding: 12px;
    font-size: 15px;
    color: #fff;
    line-height: 1.4;
}

.ld-pg .s2-tag {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #93A6CD;
    text-transform: uppercase;
    margin-bottom: 8px;
}

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

    .ld-pg .s2-head {
        flex-direction: column;
        gap: 12px;
    }
}

.ld-pg .s3 {
    padding: 72px 0;
    background: linear-gradient(to top, #F6F6FA 0%, #fff 100%);
}

.ld-pg .s3-layout {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 72px;
    align-items: start;
}

.ld-pg .s3-img-wrap {
    position: relative;
}

.ld-pg .s3-img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.ld-pg .s3-badge {
    position: absolute;
    bottom: 24px;
    left: -24px;
    background: #32419C;
    color: #fff;
    border-radius: 2px;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.ld-pg .s3-badge strong {
    display: block;
    font-size: 30px;
    line-height: 1.15;
}

.ld-pg .s3-txt {}

.ld-pg .s3-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0 0 24px;
}

.ld-pg .s3-p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin: 0 0 24px;
}

.ld-pg .s3-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ld-pg .s3-list li {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
}

.ld-pg .s3-dot-el {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #32419C;
    flex-shrink: 0;
    margin-top: 7px;
}

.ld-pg .s3-link {
    color: #32419C;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
    transition: color 0.25s ease-in-out;
}

.ld-pg .s3-link:hover {
    color: #93A6CD;
}

@media (max-width: 768px) {
    .ld-pg .s3-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ld-pg .s3-badge {
        left: 0;
    }
}

.ld-pg .s4 {
    padding: 72px 0;
    background: #32419C;
}

.ld-pg .s4-frame {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.ld-pg .s4-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 12px;
}

.ld-pg .s4-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #93A6CD;
    margin: 0 0 48px;
    max-width: 520px;
}

.ld-pg .s4-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto;
    gap: 24px;
}

.ld-pg .s4-tile {
    background: rgba(147, 166, 205, 0.15);
    border-radius: 24px;
    padding: 36px 24px;
}

.ld-pg .s4-tile.wide {
    grid-column: span 2;
}

.ld-pg .s4-tile-num {
    font-size: 42px;
    line-height: 1.15;
    color: #93A6CD;
    margin-bottom: 8px;
}

.ld-pg .s4-tile-h {
    font-size: 15px;
    color: #fff;
    margin: 0 0 8px;
    letter-spacing: 0.04em;
}

.ld-pg .s4-tile-p {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.8);
    margin: 0;
}

.ld-pg .s4-img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    border-radius: 24px;
    display: block;
}

.ld-pg .s4-tile.img-tile {
    padding: 0;
    overflow: hidden;
}

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

    .ld-pg .s4-tile.wide {
        grid-column: span 2;
    }
}

@media (max-width: 320px) {
    .ld-pg .s4-mosaic {
        grid-template-columns: 1fr;
    }

    .ld-pg .s4-tile.wide {
        grid-column: span 1;
    }
}

.ld-pg .s5 {
    padding: 72px 0;
    background: #fff;
}

.ld-pg .s5-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0 0 12px;
}

.ld-pg .s5-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    margin: 0 0 48px;
    max-width: 560px;
}

.ld-pg .s5-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.ld-pg .s5-col {}

.ld-pg .s5-col-h {
    font-size: 30px;
    line-height: 1.15;
    margin: 0 0 24px;
}

.ld-pg .s5-col-h.yes {
    color: #32419C;
}

.ld-pg .s5-col-h.no {
    color: #93A6CD;
}

.ld-pg .s5-item {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid #F6F6FA;
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
}

.ld-pg .s5-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.ld-pg .s5-icon svg {
    width: 20px;
    height: 20px;
}

.ld-pg .s5-img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 2px;
    margin-top: 36px;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

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

.ld-pg .s6 {
    padding: 72px 0 72px;
    background: #F6F6FA;
}

.ld-pg .s6-top {
    display: grid;
    grid-template-columns: 4fr 5fr;
    gap: 72px;
    align-items: start;
    margin-bottom: 48px;
}

.ld-pg .s6-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0 0 12px;
}

.ld-pg .s6-p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    margin: 0;
}

.ld-pg .s6-phases {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ld-pg .s6-phase {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 24px;
    align-items: start;
    padding: 24px 0;
    border-bottom: 1px solid #e8e8f0;
    cursor: default;
}

.ld-pg .s6-phase:last-child {
    border-bottom: none;
}

.ld-pg .s6-phase-num {
    font-size: 30px;
    line-height: 1.15;
    color: #93A6CD;
    font-weight: 700;
}

.ld-pg .s6-phase-h {
    font-size: 15px;
    color: #32419C;
    margin: 0 0 4px;
    letter-spacing: 0.04em;
}

.ld-pg .s6-phase-p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    margin: 0;
}

.ld-pg .s6-pulse {
    animation: ld-pulse 3s ease-in-out infinite;
    display: inline-block;
}

@keyframes ld-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

.ld-pg .s6-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
}

.ld-pg .s6-img-row img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
}

@media (max-width: 768px) {
    .ld-pg .s6-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ld-pg .s6-img-row {
        grid-template-columns: 1fr;
    }
}

.ld-pg .btn-outline {
    display: inline-block;
    padding: 12px 36px;
    border: 2px solid #32419C;
    border-radius: 2px;
    color: #32419C;
    font-size: 15px;
    text-decoration: none;
    background: transparent;
    cursor: pointer;
    position: relative;
    transition: 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);
    outline-offset: 4px;
}

.ld-pg .btn-outline::after {
    content: '';
    position: absolute;
    inset: -6px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.ld-pg .btn-outline:hover::after {
    border-color: #93A6CD;
}

.ld-pg .btn-outline:hover {
    background: #32419C;
    color: #fff;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.ld-pg .btn-solid {
    display: inline-block;
    padding: 12px 36px;
    border: 2px solid #32419C;
    border-radius: 2px;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    background: #32419C;
    cursor: pointer;
    position: relative;
    transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    outline-offset: 4px;
}

.ld-pg .btn-solid::after {
    content: '';
    position: absolute;
    inset: -6px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.ld-pg .btn-solid:hover::after {
    border-color: #32419C;
}

.ld-pg .btn-solid:hover {
    background: #1e2a7a;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

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

.abt-us .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.abt-us .arr-div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 0;
}

.abt-us .arr-div span {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #93A6CD;
    border-bottom: 2px solid #93A6CD;
    transform: rotate(45deg);
}

.abt-us .lbl-tag {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #32419C;
    background: #F6F6FA;
    border: 1px solid #93A6CD;
    border-radius: 2px;
    padding: 4px 12px;
    margin-bottom: 24px;
}

.abt-us .entry-block {
    border-top: 2px solid #32419C;
    border-bottom: 2px solid #93A6CD;
    background: #32419C;
    padding: 72px 0;
    position: relative;
}

.abt-us .entry-inner {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 72px;
    align-items: start;
}

.abt-us .entry-img-col {
    position: relative;
    padding: 24px;
}

.abt-us .entry-img-wrap {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
    position: relative;
}

.abt-us .entry-img-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.abt-us .img-tint {
    position: absolute;
    inset: 0;
    background: rgba(50, 65, 156, 0.28);
    border-radius: 24px;
    pointer-events: none;
}

.abt-us .entry-txt-col {
    padding: 36px 36px 36px 0;
    position: relative;
}

.abt-us .big-quote {
    position: absolute;
    top: 0;
    left: -12px;
    font-size: 160px;
    line-height: 1.15;
    color: rgba(147, 166, 205, 0.18);
    pointer-events: none;
    user-select: none;
    font-style: normal;
    z-index: 0;
}

.abt-us .entry-txt-col .lbl-tag {
    position: relative;
    z-index: 1;
    background: rgba(246, 246, 250, 0.15);
    color: #F6F6FA;
    border-color: rgba(147, 166, 205, 0.5);
}

.abt-us .entry-h1 {
    font-size: 42px;
    line-height: 1.15;
    color: #F6F6FA;
    margin: 0 0 24px;
    position: relative;
    z-index: 1;
}

.abt-us .entry-h1 strong {
    font-size: 72px;
    line-height: 1.15;
    display: block;
    color: #ffffff;
}

.abt-us .entry-lead {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.88);
    max-width: 520px;
    position: relative;
    z-index: 1;
}

.abt-us .entry-lead p {
    margin: 0 0 12px;
}

@keyframes flicker-bg {

    0%,
    100% {
        opacity: 1;
    }

    47% {
        opacity: 0.97;
    }

    53% {
        opacity: 0.99;
    }

    78% {
        opacity: 0.96;
    }
}

.abt-us .story-block {
    background: #F6F6FA;
    border-top: 1px solid #93A6CD;
    border-bottom: 1px solid #93A6CD;
    padding: 72px 0;
    animation: flicker-bg 8s infinite ease-in-out;
}

.abt-us .story-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 72px;
    align-items: start;
}

.abt-us .story-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.abt-us .aside-img-wrap {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.abt-us .aside-img-wrap img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.abt-us .aside-stat {
    background: #ffffff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.08);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-us .stat-num {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    font-weight: 700;
}

.abt-us .stat-desc {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    opacity: 0.75;
}

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

.abt-us .story-h2 {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0;
}

.abt-us .story-h2 strong {
    font-size: 30px;
    display: block;
    color: #32419C;
    opacity: 0.6;
    font-weight: 400;
}

.abt-us .dropcap-para {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a3d;
    margin: 0;
}

.abt-us .dropcap-para::first-letter {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
}

.abt-us .plain-para {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a3d;
    margin: 0;
}

.abt-us .story-body a {
    color: #32419C;
    text-decoration: underline dashed;
    text-underline-offset: 3px;
    transition: color 0.28s ease-in-out;
}

.abt-us .story-body a:hover {
    color: #93A6CD;
}

.abt-us .four-col-block {
    background: #ffffff;
    padding: 72px 0;
    border-top: 2px solid #F6F6FA;
}

.abt-us .four-col-h {
    font-size: 30px;
    line-height: 1.4;
    color: #32419C;
    margin: 0 0 36px;
    text-align: center;
}

.abt-us .four-col-grid {
    display: grid;
    grid-template-columns: 120px 1fr 120px 1fr;
    gap: 24px;
    align-items: start;
    margin-bottom: 36px;
}

.abt-us .col-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding-top: 8px;
}

.abt-us .col-icon {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: linear-gradient(0deg, #93A6CD, #F6F6FA);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
}

.abt-us .col-icon svg {
    width: 24px;
    height: 24px;
}

.abt-us .col-lbl-txt {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
}

.abt-us .col-para {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a3d;
    padding: 8px 0;
    border-radius: 2px;
}

.abt-us .img-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 36px;
}

.abt-us .img-row-item {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.abt-us .img-row-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.abt-us .img-row-item:hover img {
    transform: scale(1.04);
}

.abt-us .team-block {
    background: #32419C;
    border-top: 2px solid #93A6CD;
    border-bottom: 2px solid #32419C;
    padding: 72px 0;
}

.abt-us .team-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
    margin-bottom: 36px;
}

.abt-us .team-h3 {
    font-size: 42px;
    line-height: 1.15;
    color: #F6F6FA;
    margin: 0;
}

.abt-us .team-h3 em {
    font-size: 30px;
    font-style: normal;
    color: #93A6CD;
    display: block;
}

.abt-us .team-desc {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.85);
}

.abt-us .team-desc p {
    margin: 0 0 12px;
}

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

.abt-us .tm-card {
    background: rgba(246, 246, 250, 0.08);
    border-radius: 24px;
    padding: 24px;
    box-shadow: inset 0 3px 3px -1px rgba(50, 65, 156, 0.10);
    border: 1px solid rgba(147, 166, 205, 0.25);
    transition: background 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.abt-us .tm-card:hover {
    background: rgba(246, 246, 250, 0.14);
    border-color: rgba(147, 166, 205, 0.5);
}

.abt-us .tm-name {
    font-size: 15px;
    line-height: 1.4;
    color: #F6F6FA;
    font-weight: 700;
    margin: 0 0 4px;
}

.abt-us .tm-role {
    font-size: 15px;
    line-height: 1.4;
    color: #93A6CD;
    margin: 0 0 12px;
    letter-spacing: 0.06em;
}

.abt-us .tm-bio {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.75);
    margin: 0;
}

.abt-us .contact-strip {
    background: #F6F6FA;
    padding: 36px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
}

.abt-us .cstrip-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.abt-us .cstrip-icon {
    width: 36px;
    height: 36px;
    border-radius: 2px;
    background: #32419C;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.abt-us .cstrip-icon svg {
    width: 18px;
    height: 18px;
}

.abt-us .cstrip-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    font-weight: 600;
}

.abt-us .cstrip-val {
    font-size: 15px;
    line-height: 1.4;
    color: #2a2a3d;
}

.abt-us .cstrip-val a {
    color: #32419C;
    text-decoration: underline dashed;
    text-underline-offset: 3px;
    transition: color 0.28s ease-in-out;
}

.abt-us .cstrip-val a:hover {
    color: #93A6CD;
}

@media (max-width: 1024px) {
    .abt-us .entry-inner {
        grid-template-columns: 280px 1fr;
        gap: 36px;
    }

    .abt-us .four-col-grid {
        grid-template-columns: 100px 1fr 100px 1fr;
    }

    .abt-us .team-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .abt-us .img-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .abt-us .entry-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .abt-us .entry-img-col {
        padding: 12px;
    }

    .abt-us .entry-txt-col {
        padding: 24px;
    }

    .abt-us .entry-h1 strong {
        font-size: 42px;
    }

    .abt-us .story-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .abt-us .four-col-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .abt-us .col-label {
        flex-direction: row;
        align-items: center;
    }

    .abt-us .team-intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .abt-us .team-cards {
        grid-template-columns: 1fr;
    }

    .abt-us .img-row {
        grid-template-columns: 1fr;
    }

    .abt-us .contact-strip {
        flex-direction: column;
        align-items: flex-start;
        padding: 36px 24px;
    }
}

@media (max-width: 320px) {
    .abt-us .entry-h1 {
        font-size: 30px;
    }

    .abt-us .entry-h1 strong {
        font-size: 30px;
    }

    .abt-us .story-h2 {
        font-size: 30px;
    }
}

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

.cont-pg .pg-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.cont-pg .reach-band {
    background: #32419C;
    padding: 72px 24px;
    position: relative;
}

.cont-pg .reach-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, rgba(147, 166, 205, 0.18) 1px, transparent 1px);
    background-size: 28px 28px;
    background-position: 0 0;
    width: 55%;
    pointer-events: none;
}

.cont-pg .reach-band::after {
    content: '';
    position: absolute;
    top: 18%;
    right: 8%;
    width: 1px;
    height: 64%;
    background: linear-gradient(to bottom, transparent, rgba(147, 166, 205, 0.35), transparent);
    transform: rotate(14deg);
    pointer-events: none;
}

.cont-pg .reach-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-start;
}

.cont-pg .reach-text-col {
    flex: 0 0 340px;
    max-width: 340px;
}

.cont-pg .reach-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #93A6CD;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1.4;
}

.cont-pg .reach-heading {
    font-size: 72px;
    line-height: 1.15;
    color: #ffffff;
    margin: 0 0 24px 0;
    font-weight: 700;
}

.cont-pg .reach-heading span {
    font-size: 42px;
    display: block;
    font-weight: 400;
    color: #93A6CD;
    line-height: 1.15;
}

.cont-pg .reach-desc {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(246, 246, 250, 0.82);
    margin-bottom: 36px;
}

.cont-pg .reach-details {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.cont-pg .detail-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.cont-pg .detail-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 2px;
    background: rgba(147, 166, 205, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.cont-pg .detail-icon svg {
    width: 18px;
    height: 18px;
    stroke: #93A6CD;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cont-pg .detail-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cont-pg .detail-lbl {
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #93A6CD;
    text-transform: uppercase;
    line-height: 1.4;
}

.cont-pg .detail-val {
    font-size: 15px;
    line-height: 1.6;
    color: #F6F6FA;
}

.cont-pg .detail-val a {
    color: #F6F6FA;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
    transition: color 0.28s ease-in-out;
}

.cont-pg .detail-val a:hover {
    color: #93A6CD;
}

.cont-pg .reach-form-col {
    flex: 1 1 0;
    min-width: 0;
}

.cont-pg .form-card {
    background: #F6F6FA;
    border-radius: 2px;
    padding: 36px;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10), inset 0 2px 8px rgba(50, 65, 156, 0.05);
    position: relative;
}

.cont-pg .form-card-heading {
    font-size: 30px;
    line-height: 1.15;
    color: #32419C;
    margin: 0 0 8px 0;
}

.cont-pg .form-card-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5070;
    margin-bottom: 36px;
}

.cont-pg .field-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-bottom: 24px;
}

.cont-pg .field-grp {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
}

.cont-pg .field-grp.full {
    flex: 0 0 100%;
}

.cont-pg .field-grp input,
.cont-pg .field-grp textarea {
    width: 100%;
    padding: 16px 12px 8px 12px;
    border: 1.5px solid #93A6CD;
    border-radius: 2px;
    background: #ffffff;
    font-size: 15px;
    line-height: 1.6;
    color: #1e2444;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.28s ease-in-out, box-shadow 0.28s ease-in-out;
}

.cont-pg .field-grp textarea {
    resize: vertical;
    min-height: 80px;
}

.cont-pg .field-grp input:focus,
.cont-pg .field-grp textarea:focus {
    border-color: #32419C;
    box-shadow: 0 3px 3px -1px rgba(50, 65, 156, 0.08);
}

.cont-pg .field-grp label {
    position: absolute;
    top: 14px;
    left: 12px;
    font-size: 15px;
    line-height: 1.4;
    color: #6a7499;
    pointer-events: none;
    transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), font-size 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    background: transparent;
}

.cont-pg .field-grp input:focus+label,
.cont-pg .field-grp input:not(:placeholder-shown)+label,
.cont-pg .field-grp textarea:focus+label,
.cont-pg .field-grp textarea:not(:placeholder-shown)+label {
    top: 4px;
    font-size: 11px;
    color: #32419C;
    letter-spacing: 0.06em;
}

.cont-pg .interests-grp {
    margin-bottom: 24px;
}

.cont-pg .interests-lbl {
    font-size: 15px;
    color: #32419C;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
    display: block;
    line-height: 1.4;
}

.cont-pg .check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.cont-pg .chk-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.cont-pg .chk-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #32419C;
    cursor: pointer;
    flex-shrink: 0;
}

.cont-pg .chk-item span {
    font-size: 15px;
    line-height: 1.4;
    color: #2a3155;
}

.cont-pg .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 24px;
    padding: 12px;
    background: rgba(50, 65, 156, 0.04);
    border-radius: 2px;
}

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

.cont-pg .privacy-text {
    font-size: 15px;
    line-height: 1.6;
    color: #3a4266;
}

.cont-pg .privacy-text a {
    color: #32419C;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
    transition: color 0.28s ease-in-out;
}

.cont-pg .privacy-text a:hover {
    color: #93A6CD;
}

.cont-pg .submit-btn {
    display: inline-block;
    padding: 16px 36px;
    background: #32419C;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    border: 2px solid #32419C;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.cont-pg .submit-btn::before {
    content: '';
    position: absolute;
    inset: -5px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: border-color 0.3s ease-in-out;
    pointer-events: none;
}

.cont-pg .submit-btn:hover {
    background: #ffffff;
    color: #32419C;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.cont-pg .submit-btn:hover::before {
    border-color: #32419C;
}

.cont-pg .submit-btn:focus {
    outline: 3px solid #93A6CD;
    outline-offset: 3px;
}

.cont-pg .img-context-band {
    background: #F6F6FA;
    padding: 72px 24px;
    position: relative;
}

.cont-pg .img-context-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, #93A6CD, transparent);
}

.cont-pg .img-context-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: center;
}

.cont-pg .img-col {
    flex: 0 0 420px;
    max-width: 420px;
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
}

.cont-pg .img-col img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%) contrast(1.1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cont-pg .img-col:hover img {
    transform: scale(1.04);
}

.cont-pg .context-text-col {
    flex: 1 1 0;
    min-width: 0;
}

.cont-pg .ctx-eyebrow {
    font-size: 15px;
    letter-spacing: 0.1em;
    color: #32419C;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1.4;
}

.cont-pg .ctx-heading {
    font-size: 42px;
    line-height: 1.15;
    color: #1e2444;
    margin: 0 0 24px 0;
}

.cont-pg .ctx-heading strong {
    font-size: 72px;
    display: block;
    color: #32419C;
    line-height: 1.15;
}

.cont-pg .ctx-body {
    display: flex;
    flex-direction: row;
    gap: 24px;
}

.cont-pg .ctx-narrow {
    flex: 0 0 120px;
}

.cont-pg .ctx-wide {
    flex: 1 1 0;
}

.cont-pg .ctx-drop p {
    font-size: 15px;
    line-height: 1.6;
    color: #2a3155;
    margin: 0 0 12px 0;
}

.cont-pg .ctx-drop p:first-child::first-letter {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
    font-weight: 700;
}

.cont-pg .ctx-narrow p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5070;
    margin: 0;
}

.cont-pg .track-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cont-pg .track-list li {
    font-size: 15px;
    line-height: 1.6;
    color: #2a3155;
    padding-left: 16px;
    position: relative;
}

.cont-pg .track-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #32419C;
}

.cont-pg .flow-nodes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    margin-top: 36px;
    position: relative;
}

.cont-pg .flow-node {
    flex: 1 1 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

.cont-pg .flow-node-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #93A6CD;
    margin: 0 auto 8px;
    border: 2px solid #32419C;
    transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    animation: node-cycle 3.6s ease-in-out infinite;
}

.cont-pg .flow-node:nth-child(1) .flow-node-dot {
    animation-delay: 0s;
}

.cont-pg .flow-node:nth-child(3) .flow-node-dot {
    animation-delay: 1.2s;
}

.cont-pg .flow-node:nth-child(5) .flow-node-dot {
    animation-delay: 2.4s;
}

@keyframes node-cycle {

    0%,
    100% {
        background: #93A6CD;
        transform: scale(1);
    }

    20% {
        background: #32419C;
        transform: scale(1.5);
    }

    40% {
        background: #93A6CD;
        transform: scale(1);
    }
}

.cont-pg .flow-line {
    flex: 0 0 auto;
    height: 2px;
    width: 48px;
    background: linear-gradient(to right, #32419C, #93A6CD);
    position: relative;
    top: -10px;
}

.cont-pg .flow-node-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
    .cont-pg .reach-inner {
        flex-direction: column;
        gap: 36px;
    }

    .cont-pg .reach-text-col {
        flex: unset;
        max-width: 100%;
    }

    .cont-pg .img-context-inner {
        flex-direction: column;
        gap: 36px;
    }

    .cont-pg .img-col {
        flex: unset;
        max-width: 100%;
        width: 100%;
    }

    .cont-pg .reach-heading {
        font-size: 42px;
    }

    .cont-pg .ctx-heading strong {
        font-size: 42px;
    }
}

@media (max-width: 768px) {
    .cont-pg .field-row {
        flex-direction: column;
        gap: 12px;
    }

    .cont-pg .check-grid {
        grid-template-columns: 1fr;
    }

    .cont-pg .ctx-body {
        flex-direction: column;
        gap: 12px;
    }

    .cont-pg .ctx-narrow {
        flex: unset;
    }

    .cont-pg .form-card {
        padding: 24px;
    }

    .cont-pg .reach-heading {
        font-size: 30px;
    }

    .cont-pg .ctx-heading {
        font-size: 30px;
    }

    .cont-pg .ctx-heading strong {
        font-size: 30px;
    }

    .cont-pg .flow-nodes {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .cont-pg .flow-line {
        width: 2px;
        height: 24px;
        background: linear-gradient(to bottom, #32419C, #93A6CD);
        top: 0;
        margin-left: 5px;
    }
}

@media (max-width: 320px) {

    .cont-pg .reach-band,
    .cont-pg .img-context-band {
        padding: 36px 12px;
    }

    .cont-pg .form-card {
        padding: 12px;
    }
}

.success-pg {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 72px 24px;
    background: linear-gradient(to top, #93A6CD18, #ffffff);
}

.success-pg .success-wrap {
    max-width: 1100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}

.success-pg .success-icon {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
}

.success-pg .success-card {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 10px 48px -1px rgba(50, 65, 156, 0.10);
    padding: 36px;
    max-width: 560px;
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.success-pg .success-card .success-heading {
    font-size: 42px;
    line-height: 1.15;
    color: #32419C;
    margin: 0;
    letter-spacing: -0.5px;
}

.success-pg .success-card .success-msg {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a3d;
    margin: 0;
    max-width: 420px;
}

.success-pg .success-card .success-divider {
    width: 48px;
    height: 2px;
    background: #93A6CD;
    border-radius: 2px;
}

.success-pg .success-card .success-ref {
    font-size: 15px;
    line-height: 1.4;
    color: #555577;
    margin: 0;
}

.success-pg .success-card .success-ref span {
    color: #32419C;
    font-weight: 600;
}

.success-pg .success-back {
    display: inline-block;
    font-size: 15px;
    line-height: 1.4;
    color: #32419C;
    text-decoration: none;
    border: 2px solid #32419C;
    border-radius: 2px;
    padding: 12px 36px;
    transition: background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s ease-in-out;
    position: relative;
    letter-spacing: 0.04em;
}

.success-pg .success-back:hover {
    background-color: #32419C;
    color: #ffffff;
    box-shadow: 0 5px 25px -1px rgba(50, 65, 156, 0.09);
}

.success-pg .success-back:focus-visible {
    outline: 3px solid #93A6CD;
    outline-offset: 4px;
}

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

    .success-pg .success-card {
        padding: 24px;
    }

    .success-pg .success-card .success-heading {
        font-size: 30px;
    }
}

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