html {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: 'Arimo', sans-serif
}

.page-shell,
.header-shell,
.footer-shell {
    box-sizing: border-box
}

.header-shell {
    background: linear-gradient(135deg, #417CA5 0%, #2d5f85 60%, #1e4a6e 100%);
    position: relative
}

.header-top {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 40px 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px
}

.brand-mount {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-shrink: 0
}

.brand-mount__accent {
    width: 4px;
    border-radius: 6px;
    background: #90C2C3;
    align-self: stretch;
    min-height: 60px
}

.brand-mount__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px
}

.brand-mount__image-hold {
    width: 68px;
    height: 68px;
    border-radius: 11px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 2px -2px #417ca514 0 5px 18px -2px #417ca517;
    border: 1.5px solid #90c2c359;
    padding: 8px
}

.brand-mount__image-hold img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    opacity: 0;
    transition: opacity .12s ease-out
}

.brand-mount__image-hold img.loaded {
    opacity: 1
}

.brand-mount__name {
    font-family: 'Roboto Slab', serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -.5px
}

.brand-mount__descriptor {
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.35;
    color: #90c2c3e6;
    font-weight: 400;
    letter-spacing: .2px
}

.header-contact-strip {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-bottom: 4px
}

.header-contact-strip__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.35;
    color: #fffc;
    text-decoration: none;
    transition: color .1s ease-out
}

.header-contact-strip__item:hover {
    color: #90C2C3
}

.header-contact-strip__item i {
    color: #90C2C3;
    font-size: 13px
}

.header-divider {
    max-width: 1100px;
    margin: 16px auto 0;
    padding: 0 40px
}

.header-divider__line {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #90c2c366 20%, #90c2c366 80%, transparent 100%)
}

.menu-bar {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px
}

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

.menu-bar__item {
    display: flex
}

.menu-bar__link {
    display: flex;
    align-items: center;
    padding: 16px;
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffffd1;
    text-decoration: none;
    letter-spacing: .3px;
    border-bottom: 2px solid transparent;
    transition: color .1s linear, border-color .08s ease-out;
    white-space: nowrap
}

.menu-bar__link:hover {
    color: #fff;
    border-bottom-color: #90C2C3
}

.menu-bar__link--active {
    color: #fff;
    border-bottom-color: #90C2C3
}

.menu-bar__link:focus-visible {
    outline: 2px solid #90C2C3;
    outline-offset: 2px
}

.footer-shell {
    background: #1a2e3e;
    color: #ffffffbf
}

.footer-top {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 40px 40px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 40px
}

.footer-column__heading {
    font-family: 'Roboto Slab', serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    color: #90C2C3;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 16px
}

.footer-column__text {
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #ffffff9e;
    margin: 0 0 16px
}

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

.footer-column__link {
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #ffffffb3;
    text-decoration: none;
    transition: color .09s ease-out
}

.footer-column__link:hover {
    color: #90C2C3
}

.footer-column__link:focus-visible {
    outline: 2px solid #90C2C3;
    outline-offset: 2px
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #ffffffb3;
    text-decoration: none;
    margin-bottom: 8px;
    transition: color .09s ease-out
}

.footer-contact-item:hover {
    color: #90C2C3
}

.footer-contact-item i {
    color: #90C2C3;
    font-size: 13px;
    margin-top: 2px;
    flex-shrink: 0
}

.footer-divider-line {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px
}

.footer-divider-line__rule {
    height: 1px;
    background: #90c2c32e
}

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

.footer-bottom__copy {
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.35;
    color: #ffffff6b
}

.footer-bottom__logo-hold {
    width: 60px;
    height: 60px;
    border-radius: 11px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-shadow: 0 2px 2px -2px #417ca514 0 5px 18px -2px #417ca521;
    border: 1.5px solid #90c2c340
}

.footer-bottom__logo-hold img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    opacity: 0;
    transition: opacity .12s ease-out
}

.footer-bottom__logo-hold img.loaded {
    opacity: 1
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.footer-legal-links__link {
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    line-height: 1.35;
    color: #ffffff6b;
    text-decoration: none;
    transition: color .09s ease-out
}

.footer-legal-links__link:hover {
    color: #90c2c3e6
}

.footer-legal-links__link:focus-visible {
    outline: 2px solid #90C2C3;
    outline-offset: 2px
}

@media (max-width: 768px) {
    .header-top {
        padding: 16px 16px 0;
        flex-wrap: wrap;
        gap: 16px
    }

    .header-contact-strip {
        flex-wrap: wrap;
        gap: 16px
    }

    .header-divider {
        padding: 0 16px
    }

    .menu-bar {
        padding: 0 16px
    }

    .footer-top {
        grid-template-columns: 1fr;
        padding: 40px 16px 24px;
        gap: 24px
    }

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

    .footer-divider-line {
        padding: 0 16px
    }

    .footer-bottom__logo-hold {
        align-self: flex-end
    }
}

.policy-data {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #2c3e50;
    line-height: 1.8;
    font-size: 21px
}

.policy-data ul,
.policy-data ol {
    padding-left: 24px;
    margin: 16px 0 24px
}

.policy-data ul {
    list-style-type: disc
}

.policy-data ol {
    list-style-type: decimal
}

.policy-data ul ul,
.policy-data ol ol,
.policy-data ul ol,
.policy-data ol ul {
    margin: 8px 0 8px 16px
}

.policy-data li {
    margin-bottom: 8px;
    line-height: 1.6;
    font-size: 21px;
    color: #2c3e50
}

.policy-data li::marker {
    color: #417CA5
}

.policy-data strong,
.policy-data b {
    font-weight: 700;
    color: #1e3a52
}

.policy-data a {
    color: #417CA5;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .1s ease-out, text-decoration-color .1s ease-out
}

.policy-data a:hover {
    color: #2d5a7a;
    text-decoration-color: #90C2C3
}

.policy-data a:visited {
    color: #5a7fa0
}

.policy-data table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0 40px;
    font-size: 13px;
    line-height: 1.6;
    box-shadow: 0 5px 18px -2px #417ca517;
    border-radius: 11px;
    overflow: hidden
}

.policy-data thead {
    background-color: #417CA5;
    color: #fff
}

.policy-data thead tr {
    border-bottom: none
}

.policy-data th {
    padding: 16px 24px;
    text-align: left;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #fff
}

.policy-data tbody tr {
    border-bottom: 1px solid #e8eef4;
    transition: background-color .08s linear
}

.policy-data tbody tr:last-child {
    border-bottom: none
}

.policy-data tbody tr:nth-child(even) {
    background-color: #F2F5F8
}

.policy-data tbody tr:hover {
    background-color: #e4eef6
}

.policy-data td {
    padding: 16px 24px;
    font-size: 13px;
    line-height: 1.6;
    color: #2c3e50;
    vertical-align: top
}

.policy-data hr {
    border: none;
    border-top: 1px solid #d0dce8;
    margin: 40px 0;
    box-shadow: inset 0 1px 2px #417ca514
}

@media (max-width: 768px) {
    .policy-data {
        padding: 40px 16px;
        font-size: 21px
    }

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

    .policy-data th,
    .policy-data td {
        padding: 16px;
        min-width: 140px
    }

    .policy-data ul,
    .policy-data ol {
        padding-left: 16px
    }
}

@media (max-width: 480px) {
    .policy-data {
        padding: 24px 16px
    }

    .policy-data li {
        font-size: 21px
    }
}

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

.technical-requirements .page-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.technical-requirements .drift-canvas {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden
}

.technical-requirements .drift-canvas::before,
.technical-requirements .drift-canvas::after {
    content: '';
    position: absolute;
    top: -60%;
    left: -20%;
    width: 140%;
    height: 220%;
    background: repeating-linear-gradient(163deg, transparent 0px, transparent 48px, #417ca507 48px, #417ca507 50px);
    animation: stripeDrift 18s linear infinite
}

.technical-requirements .drift-canvas::after {
    background: repeating-linear-gradient(163deg, transparent 0px, transparent 72px, #90c2c306 72px, #90c2c306 74px);
    animation: stripeDrift 26s linear infinite reverse
}

@keyframes stripeDrift {
    0% {
        transform: translateY(0) translateX(0)
    }

    100% {
        transform: translateY(60px) translateX(40px)
    }
}

.technical-requirements .title-block {
    position: relative;
    z-index: 1;
    padding: 80px 0 40px;
    background: linear-gradient(163deg, #417ca512 0%, transparent 60%)
}

.technical-requirements .title-block .page-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.technical-requirements .title-block .text-column {
    padding-top: 24px
}

.technical-requirements .title-block .accent-line {
    width: 36px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 24px
}

.technical-requirements .title-block .counter-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 16px
}

.technical-requirements .title-block .live-number {
    font-size: 52px;
    font-weight: 700;
    color: #417CA5;
    line-height: 1.1;
    letter-spacing: -.03em
}

.technical-requirements .title-block .live-number .unit {
    font-size: 28px;
    font-weight: 500;
    color: #90C2C3
}

.technical-requirements .title-block h1 {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: #1b2d3e;
    margin: 0 0 24px;
    font-weight: 700
}

.technical-requirements .title-block .opening-paragraph {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4f60;
    background: #417ca50f;
    border-radius: 11px;
    padding: 16px;
    margin-bottom: 24px
}

.technical-requirements .title-block .meta-line {
    font-size: 13px;
    line-height: 1.6;
    color: #6a8099
}

.technical-requirements .title-block .image-column {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start
}

.technical-requirements .title-block .image-wrapper {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 40px -2px #417ca521;
    width: 100%
}

.technical-requirements .title-block .image-wrapper img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .12s ease-out
}

.technical-requirements .title-block .image-wrapper img.loaded {
    opacity: 1
}

.technical-requirements .title-block .image-wrapper .card-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to top, #f2f5f8b3, transparent);
    pointer-events: none
}

.technical-requirements .title-block .dot-path {
    position: absolute;
    top: -16px;
    right: -16px;
    display: grid;
    grid-template-columns: repeat(5, 8px);
    gap: 8px;
    pointer-events: none
}

.technical-requirements .title-block .dot-path span {
    width: 4px;
    height: 4px;
    border-radius: 30px;
    background: #90C2C3;
    display: block;
    opacity: .6
}

.technical-requirements .title-block .dot-path span:nth-child(3n) {
    opacity: .3
}

.technical-requirements .title-block .stroke-group {
    position: absolute;
    bottom: 24px;
    left: -24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none
}

.technical-requirements .title-block .stroke-group span {
    display: block;
    height: 2px;
    background: #417CA5;
    border-radius: 6px;
    opacity: .18
}

.technical-requirements .title-block .stroke-group span:nth-child(1) {
    width: 28px
}

.technical-requirements .title-block .stroke-group span:nth-child(2) {
    width: 20px
}

.technical-requirements .title-block .stroke-group span:nth-child(3) {
    width: 34px
}

.technical-requirements .title-block .stroke-group span:nth-child(4) {
    width: 16px
}

.technical-requirements .band-divider {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 6px;
    background: linear-gradient(163deg, #417CA5 0%, #90C2C3 100%)
}

.technical-requirements .steps-section {
    position: relative;
    z-index: 1;
    padding: 80px 0;
    background: #F2F5F8
}

.technical-requirements .steps-section .page-container {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 80px;
    align-items: start
}

.technical-requirements .steps-section .steps-intro {
    position: sticky;
    top: 40px
}

.technical-requirements .steps-section .steps-intro .accent-line {
    width: 36px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 24px
}

.technical-requirements .steps-section .steps-intro h2 {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.02em;
    color: #1b2d3e;
    margin: 0 0 16px;
    font-weight: 600
}

.technical-requirements .steps-section .steps-intro p {
    font-size: 13px;
    line-height: 1.8;
    color: #4a6070;
    margin: 0
}

.technical-requirements .steps-list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.technical-requirements .step-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 24px;
    align-items: start;
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 2px 2px -2px #417ca514;
    transition: box-shadow .1s ease-out
}

.technical-requirements .step-item:hover {
    box-shadow: 0 5px 18px -2px #417ca517
}

.technical-requirements .step-item .step-number {
    font-size: 52px;
    line-height: 1.1;
    font-weight: 700;
    color: #417ca526;
    letter-spacing: -.04em;
    user-select: none
}

.technical-requirements .step-item .step-body h3 {
    font-size: 21px;
    line-height: 1.35;
    color: #1b2d3e;
    margin: 0 0 8px;
    font-weight: 600;
    letter-spacing: -.01em
}

.technical-requirements .step-item .step-body p {
    font-size: 13px;
    line-height: 1.8;
    color: #4a6070;
    margin: 0 0 16px
}

.technical-requirements .step-item .step-body .tag-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.technical-requirements .step-item .step-body .tag-list .tag {
    font-size: 13px;
    line-height: 1.35;
    color: #417CA5;
    background: #417ca514;
    border-radius: 30px;
    padding: 4px 16px
}

.technical-requirements .line-divider {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 1px;
    background: #417ca51f
}

.technical-requirements .resources-section {
    position: relative;
    z-index: 1;
    padding: 80px 0;
    background: linear-gradient(163deg, #90c2c317 0%, transparent 55%)
}

.technical-requirements .resources-section .section-header {
    margin-bottom: 40px
}

.technical-requirements .resources-section .section-header .accent-line {
    width: 36px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 24px
}

.technical-requirements .resources-section .section-header h2 {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.02em;
    color: #1b2d3e;
    margin: 0 0 16px;
    font-weight: 600
}

.technical-requirements .resources-section .section-header p {
    font-size: 13px;
    line-height: 1.8;
    color: #4a6070;
    max-width: 560px
}

.technical-requirements .resources-section .resource-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.technical-requirements .resource-card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 2px 2px -2px #417ca514;
    position: relative;
    overflow: hidden;
    transition: box-shadow .12s ease-out;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.technical-requirements .resource-card:hover {
    box-shadow: 0 5px 18px -2px #417ca517
}

.technical-requirements .resource-card .card-bottom-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(163deg, #417CA5, transparent);
    opacity: .05;
    pointer-events: none;
    border-radius: 0 0 18px 18px
}

.technical-requirements .resource-card .resource-type-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between
}

.technical-requirements .resource-card .resource-type {
    font-size: 13px;
    color: #417CA5;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase
}

.technical-requirements .resource-card .resource-size {
    font-size: 13px;
    color: #8fa8bc
}

.technical-requirements .resource-card .resource-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #417ca514;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #417CA5;
    font-size: 21px;
    box-shadow: inset 0 1px 2px #417ca514
}

.technical-requirements .resource-card h4 {
    font-size: 21px;
    line-height: 1.35;
    color: #1b2d3e;
    margin: 0;
    font-weight: 600;
    letter-spacing: -.01em
}

.technical-requirements .resource-card p {
    font-size: 13px;
    line-height: 1.8;
    color: #4a6070;
    margin: 0;
    flex: 1
}

.technical-requirements .resource-card .download-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #417CA5;
    text-decoration: none;
    font-weight: 500;
    padding: 8px 16px;
    border-radius: 11px;
    border: 1.5px solid #417ca540;
    align-self: flex-start;
    transition: border-color .1s ease-out
}

.technical-requirements .resource-card .download-link:hover {
    border-color: #417CA5
}

.technical-requirements .resource-card .download-link:focus {
    outline: 2px solid #417CA5;
    outline-offset: 2px
}

@media (max-width: 900px) {
    .technical-requirements .title-block .page-container {
        grid-template-columns: 1fr
    }

    .technical-requirements .title-block .image-column {
        order: -1
    }

    .technical-requirements .title-block .image-wrapper img {
        height: 280px
    }

    .technical-requirements .steps-section .page-container {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .technical-requirements .steps-section .steps-intro {
        position: static
    }

    .technical-requirements .resources-section .resource-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 600px) {
    .technical-requirements .title-block h1 {
        font-size: 28px
    }

    .technical-requirements .title-block .live-number {
        font-size: 28px
    }

    .technical-requirements .resources-section .resource-grid {
        grid-template-columns: 1fr
    }

    .technical-requirements .step-item {
        grid-template-columns: 40px 1fr;
        gap: 16px
    }

    .technical-requirements .step-item .step-number {
        font-size: 28px
    }
}

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

.about-us .panel {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.about-us .reveal-clip {
    animation: clipReveal .55s ease-out both
}

@keyframes clipReveal {
    from {
        clip-path: inset(0 0 100% 0)
    }

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

.about-us .img-fade {
    opacity: 0;
    animation: imgFadeIn .45s .2s ease-out forwards
}

@keyframes imgFadeIn {
    to {
        opacity: 1
    }
}

.about-us .title-block {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    background: #fff;
    overflow: hidden
}

.about-us .title-block__bg-gradient {
    position: absolute;
    top: 0;
    right: 0;
    width: 65%;
    height: 100%;
    background: radial-gradient(ellipse at 100% 0%, #417ca51c 0%, transparent 68%);
    pointer-events: none
}

.about-us .title-block__geo {
    position: absolute;
    pointer-events: none;
    overflow: hidden
}

.about-us .title-block__geo--circle {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 1px solid #417ca517;
    bottom: -60px;
    left: 52%
}

.about-us .title-block__geo--rect {
    width: 80px;
    height: 80px;
    border-radius: 18px;
    border: 1px solid #90c2c321;
    top: 40px;
    right: 120px;
    transform: rotate(22deg)
}

.about-us .title-block__geo--line {
    width: 1px;
    height: 140%;
    background: linear-gradient(163deg, #417ca512, transparent);
    top: -20%;
    left: 44%;
    transform: rotate(18deg);
    transform-origin: top center
}

.about-us .title-block__grid {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px;
    position: relative;
    z-index: 1
}

.about-us .title-block__text {
    flex: 1 1 0;
    min-width: 0
}

.about-us .title-block__label {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #417CA5;
    margin-bottom: 16px
}

.about-us .title-block__accent-line {
    width: 32px;
    height: 2px;
    background: #417CA5;
    margin-bottom: 16px;
    border-radius: 6px
}

.about-us .title-block__heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b2d3e;
    margin: 0 0 24px
}

.about-us .title-block__heading span {
    display: block
}

.about-us .title-block__desc {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4e5e;
    margin: 0;
    max-width: 520px
}

.about-us .title-block__image-col {
    flex: 0 0 380px;
    max-width: 380px
}

.about-us .title-block__image-wrap {
    border-radius: 18px;
    overflow: hidden;
    width: 380px;
    height: 300px
}

.about-us .title-block__image-wrap img {
    width: 380px;
    height: 300px;
    object-fit: cover;
    display: block
}

.about-us .story-block {
    background: #F2F5F8;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative
}

.about-us .story-block__diagonal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.about-us .story-block__diagonal::after {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 1px;
    background: linear-gradient(163deg, #417ca521, transparent 60%);
    transform: rotate(2.5deg);
    transform-origin: left center
}

.about-us .story-block__divider {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-bottom: 0;
    overflow: hidden
}

.about-us .story-block__divider svg {
    display: block
}

.about-us .story-block__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.about-us .story-block__col--text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us .story-block__label {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #417CA5
}

.about-us .story-block__accent-line {
    width: 32px;
    height: 2px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 8px
}

.about-us .story-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b2d3e;
    margin: 0
}

.about-us .story-block__para--first {
    font-size: 21px;
    line-height: 1.6;
    color: #2c3e4e;
    padding: 16px;
    background: #417ca50f;
    border-radius: 11px;
    margin: 0
}

.about-us .story-block__para {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4e5e;
    margin: 0
}

.about-us .story-block__col--visual {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us .story-block__image-wrap {
    border-radius: 18px;
    overflow: hidden;
    width: 100%;
    height: 260px
}

.about-us .story-block__image-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block
}

.about-us .story-block__metrics {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.about-us .metric-card {
    flex: 1 1 0;
    background: #fff;
    border-radius: 11px;
    padding: 24px 16px;
    box-shadow: 0 2px 2px -2px #417ca514 0 5px 18px -2px #417ca517;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .12s ease-out
}

.about-us .metric-card:hover {
    box-shadow: 0 2px 2px -2px #417ca51a 0 10px 40px -2px #417ca521
}

.about-us .metric-card__value {
    font-size: 28px;
    line-height: 1.1;
    font-weight: 700;
    color: #417CA5;
    letter-spacing: -.02em
}

.about-us .metric-card__label {
    font-size: 13px;
    line-height: 1.35;
    color: #5a7080
}

.about-us .team-block {
    background: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative
}

.about-us .team-block__divider {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-bottom: 0
}

.about-us .team-block__heading-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px
}

.about-us .team-block__heading-col {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-us .team-block__label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #417CA5
}

.about-us .team-block__accent-line {
    width: 32px;
    height: 2px;
    background: #417CA5;
    border-radius: 6px
}

.about-us .team-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b2d3e;
    margin: 0
}

.about-us .team-block__intro {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4e5e;
    margin: 0;
    max-width: 400px
}

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

.about-us .person-card {
    background: #F2F5F8;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow .1s linear;
    box-shadow: 0 2px 2px -2px #417ca514
}

.about-us .person-card:hover {
    box-shadow: 0 5px 18px -2px #417ca517 0 10px 40px -2px #417ca521
}

.about-us .person-card__image-wrap {
    width: 100%;
    height: 220px;
    overflow: hidden
}

.about-us .person-card__image-wrap img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: opacity .13s ease-out
}

.about-us .person-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
    position: relative
}

.about-us .person-card__role-tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    background: #417CA5;
    border-radius: 6px;
    padding: 4px 8px;
    width: fit-content;
    position: relative;
    overflow: hidden;
    transition: background .09s ease-out
}

.about-us .person-card__role-tag::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #90C2C3;
    transition: left .13s ease-out;
    z-index: 0;
    border-radius: 6px
}

.about-us .person-card:hover .person-card__role-tag::before {
    left: 0
}

.about-us .person-card__role-tag span {
    position: relative;
    z-index: 1;
    color: #fff
}

.about-us .person-card__name {
    font-size: 21px;
    line-height: 1.35;
    font-weight: 600;
    color: #1b2d3e;
    margin: 0
}

.about-us .person-card__desc {
    font-size: 13px;
    line-height: 1.6;
    color: #5a7080;
    margin: 0
}

.about-us .team-block__bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding-top: 40px;
    border-top: 1px solid #417ca51a
}

.about-us .team-block__bottom-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.about-us .team-block__bottom-heading {
    font-size: 21px;
    line-height: 1.35;
    font-weight: 600;
    color: #1b2d3e;
    margin: 0
}

.about-us .team-block__bottom-para {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4e5e;
    margin: 0
}

.about-us .team-block__bottom-para--first {
    font-size: 21px;
    line-height: 1.6;
    color: #2c3e4e;
    padding: 16px;
    background: #90c2c31a;
    border-radius: 11px;
    margin: 0
}

.about-us .team-block__bottom-image-wrap {
    border-radius: 18px;
    overflow: hidden;
    width: 100%;
    height: 260px
}

.about-us .team-block__bottom-image-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block
}

.about-us .approach-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0
}

.about-us .approach-list__item {
    font-size: 13px;
    line-height: 1.6;
    color: #417CA5;
    font-weight: 500
}

.about-us .approach-list__item+.approach-list__item::before {
    content: '/';
    margin-right: 8px;
    color: #90C2C3
}

@media (max-width: 900px) {
    .about-us .title-block__grid {
        flex-direction: column;
        gap: 40px
    }

    .about-us .title-block__image-col {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%
    }

    .about-us .title-block__image-wrap {
        width: 100%;
        height: 240px
    }

    .about-us .title-block__image-wrap img {
        width: 100%;
        height: 240px
    }

    .about-us .title-block__heading {
        font-size: 28px
    }

    .about-us .story-block__grid {
        grid-template-columns: 1fr
    }

    .about-us .team-block__grid {
        grid-template-columns: 1fr 1fr
    }

    .about-us .team-block__heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .about-us .team-block__bottom {
        grid-template-columns: 1fr
    }
}

@media (max-width: 600px) {
    .about-us .title-block {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .about-us .story-block {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .about-us .team-block {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .about-us .team-block__grid {
        grid-template-columns: 1fr
    }

    .about-us .story-block__metrics {
        flex-direction: column
    }

    .about-us .title-block__heading {
        font-size: 21px
    }
}

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

.learning-program .program-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.learning-program .hero {
    background: #F2F5F8;
    padding: 80px 0
}

.learning-program .hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.learning-program .hero-image-side {
    position: relative;
    border-radius: 18px;
    overflow: hidden
}

.learning-program .hero-image-side img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
    border-radius: 18px;
    opacity: 0;
    transition: opacity .12s ease-out;
    filter: sepia(0.35) contrast(1.08) brightness(0.92) saturate(0.8)
}

.learning-program .hero-image-side img.loaded {
    opacity: 1
}

.learning-program .hero-image-side::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #417ca538 0%, transparent 60%);
    border-radius: 18px;
    z-index: 1;
    pointer-events: none
}

.learning-program .hero-curves {
    position: absolute;
    inset: 0;
    border-radius: 18px;
    z-index: 0;
    pointer-events: none
}

.learning-program .hero-curves svg {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 180px;
    height: 180px;
    opacity: .18
}

.learning-program .hero-text-side {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program .accent-line {
    width: 36px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 8px
}

.learning-program .hero-label {
    font-size: 13px;
    color: #417CA5;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.35
}

.learning-program .hero-heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1e3448;
    margin: 0
}

.learning-program .hero-heading span {
    color: #417CA5
}

.learning-program .hero-desc {
    font-size: 21px;
    line-height: 1.6;
    color: #3a4f62;
    margin: 0;
    padding: 16px;
    background: #417ca50f;
    border-radius: 11px;
    border-top: 2px solid #417ca52e;
    border-bottom: 2px solid #417ca514
}

.learning-program .hero-bracket-wrap {
    position: relative;
    padding: 16px 24px
}

.learning-program .hero-bracket-wrap::before,
.learning-program .hero-bracket-wrap::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    border-color: #90C2C3;
    border-style: solid
}

.learning-program .hero-bracket-wrap::before {
    top: 0;
    left: 0;
    border-width: 2px 0 0 2px;
    border-radius: 6px 0 0 0
}

.learning-program .hero-bracket-wrap::after {
    bottom: 0;
    right: 0;
    border-width: 0 2px 2px 0;
    border-radius: 0 0 6px 0
}

.learning-program .hero-meta {
    font-size: 13px;
    line-height: 1.6;
    color: #4e6b82
}

.learning-program .hero-cta-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.learning-program .btn-primary {
    display: inline-block;
    padding: 16px 40px;
    background: #417CA5;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 11px;
    text-decoration: none;
    border: 2px solid #417CA5;
    transition: border-color .1s ease-out;
    box-shadow: 0 5px 18px -2px #417ca517
}

.learning-program .btn-primary:hover {
    border-color: #90C2C3
}

.learning-program .btn-primary:focus {
    outline: 2px solid #417CA5;
    outline-offset: 3px
}

.learning-program .btn-secondary {
    display: inline-block;
    padding: 16px 40px;
    background: transparent;
    color: #417CA5;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 11px;
    text-decoration: none;
    border: 2px solid #90C2C3;
    transition: border-color .09s linear
}

.learning-program .btn-secondary:hover {
    border-color: #417CA5
}

.learning-program .btn-secondary:focus {
    outline: 2px solid #417CA5;
    outline-offset: 3px
}

.learning-program .divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 0
}

.learning-program .divider-line {
    width: 60px;
    height: 1px;
    background: #90C2C3
}

.learning-program .divider-dot {
    width: 6px;
    height: 6px;
    border-radius: 30px;
    background: #417CA5
}

.learning-program .detail-section {
    background: linear-gradient(163deg, #2c4a63 0%, #F2F5F8 100%);
    padding: 80px 0
}

.learning-program .detail-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start
}

.learning-program .detail-main {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.learning-program .detail-heading-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program .detail-heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.015em;
    color: #F2F5F8;
    margin: 0
}

.learning-program .detail-subtext {
    font-size: 21px;
    line-height: 1.6;
    color: #f2f5f8d1;
    margin: 0
}

.learning-program .module-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learning-program .module-item {
    background: #f2f5f812;
    border-radius: 11px;
    padding: 24px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    box-shadow: 0 2px 2px -2px #417ca514;
    transition: background .1s ease-out;
    border: 1px solid #90c2c326
}

.learning-program .module-item:hover {
    background: #f2f5f821
}

.learning-program .module-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 11px;
    background: #90c2c333;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #90C2C3;
    font-size: 21px
}

.learning-program .module-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program .module-title {
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #90C2C3;
    margin: 0
}

.learning-program .module-desc {
    font-size: 13px;
    line-height: 1.6;
    color: #f2f5f8c7;
    margin: 0
}

.learning-program .module-tags {
    font-size: 13px;
    color: #90c2c3b3;
    line-height: 1.35
}

.learning-program .detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.learning-program .sidebar-card {
    background: #F2F5F8;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 40px -2px #417ca521;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learning-program .sidebar-card-heading {
    font-size: 13px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #417CA5;
    margin: 0
}

.learning-program .sidebar-stat-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learning-program .sidebar-stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.learning-program .sidebar-stat-value {
    font-size: 28px;
    line-height: 1.1;
    color: #1e3448;
    letter-spacing: -.02em
}

.learning-program .sidebar-stat-label {
    font-size: 13px;
    line-height: 1.35;
    color: #4e6b82
}

.learning-program .sidebar-stat-bar {
    height: 4px;
    background: #90C2C3;
    border-radius: 6px;
    margin-top: 4px
}

.learning-program .sidebar-format-list {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program .sidebar-format-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.6;
    color: #3a4f62
}

.learning-program .sidebar-format-dot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 30px;
    background: #417CA5
}

.learning-program .sidebar-cta {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program .sidebar-cta-text {
    font-size: 13px;
    line-height: 1.6;
    color: #4e6b82;
    margin: 0
}

.learning-program .double-border-wrap {
    border: 1px solid #417ca526;
    border-radius: 18px;
    padding: 4px
}

.learning-program .double-border-inner {
    border: 2px solid #417ca540;
    border-radius: 11px;
    padding: 16px;
    background: #417ca50a
}

.learning-program .double-border-inner p {
    font-size: 13px;
    line-height: 1.6;
    color: #3a4f62;
    margin: 0
}

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

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

.learning-program .animate-up {
    animation: fadeUp .12s ease-out both
}

.learning-program .animate-up--1 {
    animation-delay: .05s
}

.learning-program .animate-up--2 {
    animation-delay: .1s
}

.learning-program .animate-up--3 {
    animation-delay: .15s
}

.learning-program .animate-up--4 {
    animation-delay: .2s
}

.learning-program .animate-up--5 {
    animation-delay: .28s
}

@media (max-width: 900px) {
    .learning-program .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .learning-program .hero-image-side img {
        height: 320px
    }

    .learning-program .hero-heading {
        font-size: 28px
    }

    .learning-program .detail-grid {
        grid-template-columns: 1fr
    }

    .learning-program .detail-sidebar {
        position: static
    }
}

@media (max-width: 600px) {
    .learning-program .hero {
        padding: 40px 0
    }

    .learning-program .detail-section {
        padding: 40px 0
    }

    .learning-program .hero-cta-row {
        flex-direction: column;
        align-items: flex-start
    }

    .learning-program .hero-heading {
        font-size: 21px
    }
}

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

.root .page-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.root .title-block {
    background: #F2F5F8;
    padding: 80px 0;
    position: relative
}

.root .title-block .dot-scatter {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.root .title-block .dot-scatter::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, #417ca512 1px, transparent 1px);
    background-size: 14px 14px;
    top: 20px;
    left: 40px
}

.root .title-block .dot-scatter::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, #90c2c314 1px, transparent 1px);
    background-size: 12px 12px;
    bottom: 30px;
    right: 60px
}

.root .title-block__layout {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px
}

.root .title-block__image-side {
    flex: 0 0 220px;
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 5px 18px -2px #417ca517
}

.root .title-block__image-side img {
    width: 220px;
    height: 280px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .12s ease-out
}

.root .title-block__image-side img.loaded {
    opacity: 1
}

.root .title-block__image-side .scanline-overlay {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, #417ca50a 3px, #417ca50a 4px);
    pointer-events: none
}

.root .title-block__text {
    flex: 1;
    text-align: left
}

.root .title-block__label {
    font-size: 13px;
    color: #417CA5;
    letter-spacing: .08em;
    margin-bottom: 16px;
    display: block
}

.root .title-block__heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b3a52;
    margin: 0 0 16px
}

.root .title-block__tagline {
    font-size: 21px;
    line-height: 1.6;
    color: #3a5a72;
    margin: 0 0 40px;
    max-width: 420px
}

.root .title-block__actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.root .btn-primary {
    display: inline-block;
    padding: 16px 40px;
    background: #417CA5;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
    border-radius: 11px;
    text-decoration: none;
    border: 2px solid #417CA5;
    transition: border-color .1s ease-out, background .1s ease-out
}

.root .btn-primary:hover {
    border-color: #2d5f85;
    background: #2d5f85
}

.root .btn-secondary {
    display: inline-block;
    padding: 16px 40px;
    background: transparent;
    color: #417CA5;
    font-size: 13px;
    letter-spacing: .06em;
    border-radius: 11px;
    text-decoration: none;
    border: 2px solid #90C2C3;
    transition: border-color .09s linear
}

.root .btn-secondary:hover {
    border-color: #417CA5
}

.root .wave-divider {
    line-height: 0;
    overflow: hidden
}

.root .wave-divider svg {
    display: block;
    width: 100%
}

.root .mirror-block {
    background: #fff;
    padding: 80px 0 40px
}

.root .mirror-block__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.root .mirror-block__image-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 40px -2px #417ca521;
    position: relative
}

.root .mirror-block__image-wrapper img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .11s ease-out
}

.root .mirror-block__image-wrapper img.loaded {
    opacity: 1
}

.root .mirror-block__text {
    padding: 8px 0
}

.root .accent-line {
    width: 32px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin-bottom: 16px
}

.root .mirror-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b3a52;
    margin: 0 0 16px
}

.root .mirror-block__intro {
    background: #417ca50d;
    border-radius: 11px;
    padding: 16px;
    margin-bottom: 16px
}

.root .mirror-block__intro p {
    font-size: 13px;
    line-height: 1.8;
    color: #2e4f66;
    margin: 0
}

.root .mirror-block__body p {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0 0 16px
}

.root .mirror-block__quote {
    border-top: 1px solid #e8eef3;
    padding-top: 16px;
    margin-top: 8px
}

.root .mirror-block__quote-text {
    font-size: 13px;
    line-height: 1.6;
    color: #417CA5;
    font-style: italic;
    margin: 0 0 8px
}

.root .mirror-block__quote-author {
    font-size: 13px;
    color: #6a8fa8;
    margin: 0
}

.root .fit-block {
    background: linear-gradient(163deg, #417ca50f 0%, transparent 55%);
    padding: 80px 0
}

.root .fit-block__header {
    max-width: 560px;
    margin-bottom: 40px
}

.root .fit-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b3a52;
    margin: 0 0 16px
}

.root .fit-block__subtext {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0
}

.root .fit-block__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.root .fit-card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 2px 2px -2px #417ca514;
    transition: box-shadow .1s ease-out
}

.root .fit-card:hover {
    box-shadow: 0 5px 18px -2px #417ca517
}

.root .fit-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #417ca514;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: background .09s ease-out
}

.root .fit-card:hover .fit-card__icon {
    background: #417ca524
}

.root .fit-card__icon i {
    font-size: 16px;
    color: #417CA5;
    transition: transform .09s ease-out
}

.root .fit-card:hover .fit-card__icon i {
    transform: scale(1.18)
}

.root .fit-card__label {
    font-size: 13px;
    letter-spacing: .05em;
    color: #90C2C3;
    margin: 0 0 8px;
    text-transform: uppercase
}

.root .fit-card__heading {
    font-size: 21px;
    line-height: 1.35;
    color: #1b3a52;
    margin: 0 0 16px
}

.root .fit-card__list {
    list-style: none;
    padding: 0;
    margin: 0
}

.root .fit-card__list li {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    padding: 4px 0
}

.root .fit-card__list li+li::before {
    content: " / ";
    color: #90C2C3
}

.root .fit-card__list li+li {
    display: inline
}

.root .fit-card__list li:first-child {
    display: block
}

.root .fit-card__list--inline {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px
}

.root .fit-card__list--inline li {
    display: inline
}

.root .fit-card__list--inline li+li::before {
    content: " / ";
    color: #90C2C3
}

.root .fit-card__note {
    font-size: 13px;
    line-height: 1.6;
    color: #6a8fa8;
    margin: 16px 0 0;
    padding-top: 16px;
    border-top: 1px solid #e8eef3
}

.root .journey-block {
    background: #fff;
    padding: 80px 0
}

.root .journey-block__layout {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 40px;
    align-items: start
}

.root .journey-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b3a52;
    margin: 0 0 24px
}

.root .journey-block__intro {
    background: #90c2c31a;
    border-radius: 11px;
    padding: 16px;
    margin-bottom: 24px
}

.root .journey-block__intro p {
    font-size: 13px;
    line-height: 1.8;
    color: #2e4f66;
    margin: 0
}

.root .journey-phases {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .phase-item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.root .phase-item__number {
    font-size: 52px;
    line-height: 1.1;
    color: #417CA5;
    opacity: .18;
    font-weight: 700;
    letter-spacing: -.03em;
    flex-shrink: 0;
    width: 56px;
    text-align: right
}

.root .phase-item__number sup {
    font-size: 21px;
    color: #417CA5;
    opacity: 1;
    vertical-align: super
}

.root .phase-item__text {
    padding-top: 8px
}

.root .phase-item__label {
    font-size: 13px;
    color: #417CA5;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 4px
}

.root .phase-item__desc {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0
}

.root .journey-block__image-side {
    position: relative
}

.root .journey-block__image-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 5px 18px -2px #417ca517
}

.root .journey-block__image-wrapper img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .13s ease-out
}

.root .journey-block__image-wrapper img.loaded {
    opacity: 1
}

.root .journey-block__stat {
    background: #417CA5;
    border-radius: 18px;
    padding: 24px;
    margin-top: 16px;
    color: #fff;
    text-align: center
}

.root .journey-block__stat-number {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.03em;
    display: block
}

.root .journey-block__stat-number sup {
    font-size: 21px;
    vertical-align: super
}

.root .journey-block__stat-label {
    font-size: 13px;
    line-height: 1.6;
    opacity: .85;
    margin: 8px 0 0
}

.root .approach-block {
    background: linear-gradient(163deg, #90c2c31a 0%, transparent 60%);
    padding: 80px 0
}

.root .approach-block__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
    align-items: end
}

.root .approach-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b3a52;
    margin: 0
}

.root .approach-block__lead {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0
}

.root .approach-block__image-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 40px
}

.root .approach-image-item {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 2px 2px -2px #417ca514
}

.root .approach-image-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .1s ease-out
}

.root .approach-image-item img.loaded {
    opacity: 1
}

.root .approach-image-item--tall img {
    height: 260px
}

.root .approach-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.root .pillar-item {
    background: #fff;
    border-radius: 11px;
    padding: 24px;
    box-shadow: 0 2px 2px -2px #417ca514
}

.root .pillar-item__number {
    font-size: 28px;
    line-height: 1.1;
    color: #417CA5;
    opacity: .3;
    font-weight: 700;
    margin-bottom: 8px
}

.root .pillar-item__heading {
    font-size: 13px;
    line-height: 1.35;
    color: #1b3a52;
    margin: 0 0 8px;
    font-weight: 600;
    letter-spacing: .02em
}

.root .pillar-item__text {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0
}

.root .gap-block {
    background: #fff;
    padding: 80px 0
}

.root .gap-block__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center
}

.root .gap-block__visual {
    position: relative
}

.root .gap-block__image-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 40px -2px #417ca521
}

.root .gap-block__image-wrapper img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .12s ease-out
}

.root .gap-block__image-wrapper img.loaded {
    opacity: 1
}

.root .gap-block__badge {
    position: absolute;
    bottom: -16px;
    right: -16px;
    background: #417CA5;
    color: #fff;
    border-radius: 18px;
    padding: 16px 24px;
    box-shadow: 0 5px 18px -2px #417ca517;
    text-align: center
}

.root .gap-block__badge-number {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.03em;
    display: block
}

.root .gap-block__badge-number sup {
    font-size: 21px;
    vertical-align: super
}

.root .gap-block__badge-label {
    font-size: 13px;
    opacity: .85;
    margin: 4px 0 0
}

.root .gap-block__text {
    padding: 8px 0
}

.root .gap-block__heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1b3a52;
    margin: 0 0 16px
}

.root .gap-block__intro {
    background: #417ca50d;
    border-radius: 11px;
    padding: 16px;
    margin-bottom: 16px
}

.root .gap-block__intro p {
    font-size: 13px;
    line-height: 1.8;
    color: #2e4f66;
    margin: 0
}

.root .gap-block__body p {
    font-size: 13px;
    line-height: 1.8;
    color: #3d5a6e;
    margin: 0 0 16px
}

.root .gap-block__link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #417CA5;
    text-decoration: none;
    border-bottom: 1px solid #417ca54d;
    padding-bottom: 4px;
    transition: border-color .09s ease-out
}

.root .gap-block__link:hover {
    border-color: #417CA5
}

.root .geo-circle {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    overflow: hidden
}

@media (max-width: 860px) {
    .root .title-block__layout {
        flex-direction: column;
        align-items: flex-start
    }

    .root .title-block__image-side {
        display: none
    }

    .root .title-block__heading {
        font-size: 28px
    }

    .root .mirror-block__grid {
        grid-template-columns: 1fr
    }

    .root .fit-block__columns {
        grid-template-columns: 1fr
    }

    .root .journey-block__layout {
        grid-template-columns: 1fr
    }

    .root .approach-block__header {
        grid-template-columns: 1fr
    }

    .root .approach-block__image-row {
        grid-template-columns: 1fr 1fr
    }

    .root .approach-pillars {
        grid-template-columns: 1fr
    }

    .root .gap-block__layout {
        grid-template-columns: 1fr
    }

    .root .gap-block__badge {
        position: static;
        margin-top: 16px;
        display: inline-block
    }
}

@media (max-width: 560px) {
    .root .title-block {
        padding: 40px 0
    }

    .root .mirror-block,
    .root .fit-block,
    .root .journey-block,
    .root .approach-block,
    .root .gap-block {
        padding: 40px 0
    }

    .root .approach-block__image-row {
        grid-template-columns: 1fr
    }

    .root .title-block__heading {
        font-size: 28px
    }

    .root .title-block__tagline {
        font-size: 13px
    }
}

@keyframes appear-scale {
    0% {
        opacity: 0;
        transform: scale(0.8)
    }

    75% {
        opacity: 1;
        transform: scale(1.03)
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

.root .animate-appear {
    animation: appear-scale .15s ease-out forwards
}

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

.contact-us .page-body {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

@keyframes diag-slide-in {
    from {
        opacity: 0;
        transform: translate(-18px, -18px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

@keyframes diag-slide-right {
    from {
        opacity: 0;
        transform: translate(18px, -18px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

.contact-us .band-top {
    height: 4px;
    background: linear-gradient(163deg, #417CA5, transparent);
    width: 100%
}

.contact-us .intro-panel {
    padding: 80px 24px 40px;
    background: #F2F5F8;
    position: relative
}

.contact-us .intro-panel__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 80px;
    align-items: center
}

.contact-us .intro-panel__label {
    font-size: 13px;
    letter-spacing: .08em;
    color: #417CA5;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block;
    animation: diag-slide-in .13s ease-out both
}

.contact-us .intro-panel__heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1e3a50;
    margin: 0 0 24px;
    animation: diag-slide-in .11s ease-out .04s both
}

.contact-us .intro-panel__heading em {
    font-style: normal;
    color: #417CA5
}

.contact-us .intro-panel__text {
    font-size: 21px;
    line-height: 1.6;
    color: #2c4a60;
    margin: 0;
    animation: diag-slide-in .12s ease-out .07s both
}

.contact-us .intro-panel__visual {
    position: relative;
    animation: diag-slide-right .13s ease-out .05s both
}

.contact-us .intro-panel__card {
    background: #fff;
    border-radius: 18px;
    padding: 40px;
    box-shadow: 0 10px 40px -2px #417ca521;
    position: relative;
    overflow: hidden
}

.contact-us .intro-panel__card::before {
    content: "";
    position: absolute;
    top: -24px;
    right: -24px;
    width: 64px;
    height: 64px;
    background: #90C2C3;
    opacity: .18;
    transform: rotate(45deg);
    border-radius: 6px
}

.contact-us .contact-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px
}

.contact-us .contact-item:last-child {
    margin-bottom: 0
}

.contact-us .contact-item__icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(163deg, #417CA5, #90C2C3);
    border-radius: 11px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.contact-us .contact-item__icon i {
    color: #fff;
    font-size: 13px
}

.contact-us .contact-item__detail {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.contact-us .contact-item__type {
    font-size: 13px;
    color: #417CA5;
    letter-spacing: .06em;
    text-transform: uppercase
}

.contact-us .contact-item__value {
    font-size: 13px;
    line-height: 1.35;
    color: #1e3a50;
    font-weight: 600;
    text-decoration: none;
    transition: color .1s ease-out
}

.contact-us .contact-item__value:hover {
    color: #417CA5
}

.contact-us .intro-panel__diamond {
    position: absolute;
    bottom: -16px;
    left: -16px;
    width: 32px;
    height: 32px;
    background: #417CA5;
    opacity: .12;
    transform: rotate(45deg);
    border-radius: 6px
}

.contact-us .form-panel {
    padding: 80px 24px;
    background: #fff
}

.contact-us .form-panel__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 80px;
    align-items: start
}

.contact-us .form-panel__aside {
    position: sticky;
    top: 40px;
    animation: diag-slide-in .12s ease-out .06s both
}

.contact-us .aside-accent {
    width: 40px;
    height: 3px;
    background: #417CA5;
    border-radius: 30px;
    margin-bottom: 16px
}

.contact-us .form-panel__aside-heading {
    font-size: 28px;
    line-height: 1.35;
    color: #1e3a50;
    letter-spacing: -.01em;
    margin: 0 0 16px
}

.contact-us .form-panel__aside-body {
    font-size: 13px;
    line-height: 1.6;
    color: #3a5a72;
    margin: 0 0 24px;
    padding: 16px;
    background: #F2F5F8;
    border-radius: 11px
}

.contact-us .topic-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contact-us .topic-list__item {
    font-size: 13px;
    line-height: 1.6;
    color: #2c4a60;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.contact-us .topic-list__dot {
    width: 6px;
    height: 6px;
    background: #90C2C3;
    border-radius: 30px;
    flex-shrink: 0
}

.contact-us .contact-form {
    animation: diag-slide-right .13s ease-out .08s both
}

.contact-us .form-group {
    margin-bottom: 24px
}

.contact-us .form-label {
    display: block;
    font-size: 13px;
    color: #417CA5;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 8px
}

.contact-us .form-input {
    width: 100%;
    padding: 16px;
    border: 1.5px solid #d0dde8;
    border-radius: 11px;
    font-size: 13px;
    line-height: 1.6;
    color: #1e3a50;
    background: #F2F5F8;
    box-shadow: inset 0 1px 2px #417ca50f;
    transition: border-color .1s ease-out, background .09s ease-out;
    box-sizing: border-box;
    outline: none
}

.contact-us .form-input::placeholder {
    color: #417ca561
}

.contact-us .form-input:focus {
    border-color: #417CA5 !important;
    background: #fff
}

.contact-us .form-input:focus-visible {
    outline: 2px solid #417CA5 !important;
    outline-offset: 2px !important
}

.contact-us .checkbox-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.contact-us .check-option {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 12px 16px;
    border: 1.5px solid #d0dde8;
    border-radius: 11px;
    background: #F2F5F8;
    transition: border-color .1s ease-out, background .09s ease-out
}

.contact-us .check-option:hover {
    border-color: #90C2C3;
    background: #fff
}

.contact-us .check-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #417CA5;
    flex-shrink: 0;
    cursor: pointer
}

.contact-us .check-option input[type="checkbox"]:focus-visible {
    outline: 2px solid #417CA5 !important;
    outline-offset: 2px !important
}

.contact-us .check-label {
    font-size: 13px;
    line-height: 1.35;
    color: #2c4a60;
    cursor: pointer
}

.contact-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    padding: 16px;
    background: #F2F5F8;
    border-radius: 11px
}

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

.contact-us .privacy-row input[type="checkbox"]:focus-visible {
    outline: 2px solid #417CA5 !important;
    outline-offset: 2px !important
}

.contact-us .privacy-text {
    font-size: 13px;
    line-height: 1.6;
    color: #3a5a72
}

.contact-us .privacy-text a {
    color: #417CA5;
    text-decoration: underline;
    transition: color .08s ease-out
}

.contact-us .privacy-text a:hover {
    color: #2c5a7e
}

.contact-us .submit-button {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    background: #417CA5;
    color: #fff;
    font-size: 13px;
    letter-spacing: .07em;
    text-transform: uppercase;
    border: 2px solid #417CA5;
    border-radius: 11px;
    cursor: pointer;
    transition: border-color .1s ease-out, background .09s ease-out
}

.contact-us .submit-button:hover {
    border-color: #2c5a7e;
    background: #417CA5
}

.contact-us .submit-button:focus-visible {
    outline: 2px solid #417CA5 !important;
    outline-offset: 3px !important
}

.contact-us .submit-button:active {
    background: #2c5a7e;
    border-color: #2c5a7e
}

.contact-us .closing-strip {
    padding: 40px 24px 80px;
    background: linear-gradient(163deg, #417CA5, #90C2C3);
    position: relative;
    overflow: hidden
}

.contact-us .closing-strip::before {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    background: #ffffff12;
    transform: rotate(45deg);
    border-radius: 18px;
    pointer-events: none
}

.contact-us .closing-strip__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 40px;
    align-items: center
}

.contact-us .closing-strip__divider {
    background: #ffffff40;
    height: 80px;
    width: 1px;
    align-self: center
}

.contact-us .closing-strip__col {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contact-us .closing-strip__eyebrow {
    font-size: 13px;
    color: #ffffffb3;
    letter-spacing: .08em;
    text-transform: uppercase
}

.contact-us .closing-strip__stat {
    font-size: 28px;
    line-height: 1.1;
    color: #fff;
    font-weight: 700;
    letter-spacing: -.01em
}

.contact-us .closing-strip__note {
    font-size: 13px;
    line-height: 1.6;
    color: #ffffffd1
}

.contact-us .tag-badge {
    display: inline-block;
    font-size: 13px;
    color: #417CA5;
    background: #fff;
    border-radius: 30px;
    padding: 4px 16px;
    letter-spacing: .05em;
    box-shadow: 0 2px 2px -2px #417ca514;
    position: absolute;
    top: -16px;
    right: 24px
}

@media (max-width: 900px) {
    .contact-us .intro-panel__inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .contact-us .intro-panel__heading {
        font-size: 28px
    }

    .contact-us .form-panel__inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .contact-us .form-panel__aside {
        position: static
    }

    .contact-us .closing-strip__inner {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .contact-us .closing-strip__divider {
        display: none
    }
}

@media (max-width: 600px) {
    .contact-us .checkbox-group {
        grid-template-columns: 1fr
    }

    .contact-us .intro-panel {
        padding: 40px 24px 24px
    }

    .contact-us .form-panel {
        padding: 40px 24px
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    background-color: #F2F5F8
}

.success-page .success-card {
    background: #fff;
    border-radius: 18px;
    padding: 80px 40px;
    max-width: 560px;
    width: 100%;
    text-align: center;
    box-shadow: 0 10px 40px -2px #417ca521
}

.success-page .success-card .success-icon {
    width: 64px;
    height: 64px;
    border-radius: 46px;
    background: #F2F5F8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    box-shadow: 0 2px 2px -2px #417ca514
}

.success-page .success-card .success-icon svg {
    display: block
}

.success-page .success-card .success-heading {
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -.02em;
    color: #2a4f6b;
    margin: 0 0 16px
}

.success-page .success-card .success-accent-line {
    width: 32px;
    height: 3px;
    background: #417CA5;
    border-radius: 6px;
    margin: 0 auto 24px
}

.success-page .success-card .success-body {
    font-size: 13px;
    line-height: 1.8;
    color: #4a5f70;
    margin: 0 0 40px;
    padding: 16px;
    background: #F2F5F8;
    border-radius: 11px
}

.success-page .success-card .success-action {
    display: inline-block;
    padding: 16px 40px;
    background: #417CA5;
    color: #fff;
    font-size: 13px;
    line-height: 1.35;
    border-radius: 11px;
    text-decoration: none;
    border: 2px solid #417CA5;
    transition: border-color .12s ease-out, background .12s ease-out
}

.success-page .success-card .success-action:hover {
    border-color: #2a4f6b;
    background: #2a4f6b
}

.success-page .success-card .success-action:focus {
    outline: 2px solid #90C2C3;
    outline-offset: 3px
}

.success-page .success-card .success-secondary-link {
    display: block;
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.6;
    color: #417CA5;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .09s linear
}

.success-page .success-card .success-secondary-link:hover {
    color: #2a4f6b
}

@media (max-width: 600px) {
    .success-page {
        padding: 40px 16px
    }

    .success-page .success-card {
        padding: 40px 24px
    }
}