@import "https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;700&display=swap";

* {
    box-sizing: border-box
}

body {
    margin: 0;
    min-height: 100dvh;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

.hd {
    position: relative;
    z-index: 100;
    background: linear-gradient(135deg, #fff 0%, #F1FDF3 60%, #eef4ff 100%);
    box-shadow: 2px 5px 28px 0 #2244c114;
    padding: 0 24px
}

.hd__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 0 12px;
    gap: 24px
}

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

.hd__brand-mark {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff;
    box-shadow: 2px 3px 2px 0 #c893010f 2px 5px 28px 0 #c8930114;
    border: 1px solid #c893012e;
    padding: 6px;
    flex-shrink: 0
}

.hd__brand-mark img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    object-position: center;
    display: block
}

.hd__brand-name {
    font-family: 'Noto Serif', serif;
    font-size: 21px;
    font-weight: 700;
    color: #1a2a6c;
    line-height: 1.1;
    letter-spacing: 0
}

.hd__badge {
    display: flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(90deg, #c893011a 0%, #2244c112 100%);
    border: 1px solid #c8930138;
    border-radius: 8px;
    padding: 6px 12px;
    flex-shrink: 0
}

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

.hd__badge-text {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #2244C1;
    line-height: 1.35
}

.hd__bar {
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid #2244c11a;
    padding: 12px 0 24px
}

.hd__menu {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 6px
}

.hd__menu-item {
    display: flex
}

.hd__menu-link {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #2a3560;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 22px;
    border: 1.5px solid transparent;
    background: #f1fdf399;
    line-height: 1.35;
    display: block;
    transition: color .15s ease-out, background .18s ease-out, border-color .15s ease-out, box-shadow .18s ease;
    position: relative
}

.hd__menu-link:hover {
    color: #2244C1;
    background: #fff;
    border-color: #2244c138;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.hd__menu-link:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #2244c11f
}

.hd__menu-link.active {
    color: #fff;
    background: linear-gradient(135deg, #2244C1 0%, #3a5bd4 100%);
    border-color: transparent;
    box-shadow: 2px 5px 28px 0 #2244c114
}

@media (max-width: 768px) {
    .hd__top {
        flex-wrap: wrap;
        gap: 12px
    }

    .hd__badge {
        order: 3;
        width: 100%
    }

    .hd__menu-link {
        padding: 12px;
        font-size: 15px
    }
}

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

    .hd__brand-name {
        font-size: 17px
    }

    .hd__menu-link {
        padding: 12px 6px
    }
}

.ft {
    background: linear-gradient(170deg, #0d1a4a 0%, #1b2d6b 100%);
    padding: 48px 24px 24px;
    position: relative;
    overflow: hidden
}

.ft__inner {
    max-width: 1400px;
    margin: 0 auto
}

.ft__type-anchor {
    font-family: 'Noto Serif', serif;
    font-size: 51px;
    font-weight: 700;
    color: #f1fdf30f;
    line-height: 1.1;
    letter-spacing: 0;
    pointer-events: none;
    user-select: none;
    margin: 0 0 48px;
    display: block
}

.ft__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid #f1fdf31f
}

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

.ft__logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 2px 3px 2px 0 #c893010f 2px 8px 36px 0 #c893011f;
    border: 1px solid #c8930133;
    padding: 6px
}

.ft__logo-wrap img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    object-position: center;
    display: block
}

.ft__hr {
    border: none;
    border-top: 1px solid #f1fdf326;
    margin: 0
}

.ft__company {
    font-family: 'Noto Serif', serif;
    font-size: 21px;
    font-weight: 700;
    color: #F1FDF3;
    line-height: 1.35
}

.ft__tagline {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #f1fdf3a6;
    line-height: 1.55
}

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

.ft__col-label {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #C89301;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 6px
}

.ft__contact-row {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

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

.ft__contact-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #f1fdf38c;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ft__contact-text {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #f1fdf3bf;
    line-height: 1.55;
    text-decoration: none;
    transition: color .15s ease-out
}

.ft__contact-text:hover {
    color: #F1FDF3
}

.ft__contact-text:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #c8930126;
    border-radius: 4px
}

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

.ft__policy-link {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #f1fdf3a6;
    text-decoration: none;
    line-height: 1.55;
    padding: 6px 0;
    border-bottom: 1px solid #f1fdf314;
    transition: color .15s ease-out, border-color .18s ease;
    display: block
}

.ft__policy-link:hover {
    color: #F1FDF3;
    border-color: #c8930159
}

.ft__policy-link:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #c8930126;
    border-radius: 4px
}

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

.ft__copy {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #f1fdf366;
    line-height: 1.55
}

.ft__domain {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #f1fdf366;
    line-height: 1.55;
    text-decoration: none;
    transition: color .15s ease-out
}

.ft__domain:hover {
    color: #f1fdf3b3
}

.ft__domain:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #c8930126;
    border-radius: 4px
}

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

    .ft__type-anchor {
        font-size: 37px
    }
}

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

    .ft__type-anchor {
        font-size: 27px;
        margin-bottom: 24px
    }
}

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

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

.ck-bar {
    display: none;
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 8000;
    width: 420px;
    max-width: calc(100vw - 48px);
    background: #fff;
    border-radius: 14px;
    box-shadow: 2px 8px 36px 0 #2244c11f;
    border: 1px solid #2244c11f;
    padding: 24px;
    transform: translateX(calc(100% + 48px));
    transition: transform .18s ease-out
}

.ck-bar.ck-bar--visible {
    transform: translateX(0)
}

.ck-bar__icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px
}

.ck-bar__shield {
    width: 28px;
    height: 28px;
    flex-shrink: 0
}

.ck-bar__shield svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: #2244C1;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ck-bar__desc {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #2a3560;
    line-height: 1.55;
    margin: 0 0 12px
}

.ck-bar__toggle-trigger {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #2244C1;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .15s ease-out;
    display: inline
}

.ck-bar__toggle-trigger:hover {
    color: #C89301
}

.ck-bar__toggle-trigger:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #2244c11f;
    border-radius: 4px
}

.ck-bar__panel {
    display: none;
    margin: 12px 0;
    padding: 12px;
    background: #F1FDF3;
    border-radius: 8px;
    border: 1px solid #2244c11a
}

.ck-bar__panel.ck-bar__panel--open {
    display: block
}

.ck-cat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0
}

.ck-cat__label {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    color: #2a3560;
    line-height: 1.35
}

.ck-cat__note {
    font-size: 15px;
    color: #2a35608c
}

.ck-toggle {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0
}

.ck-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute
}

.ck-toggle__track {
    position: absolute;
    inset: 0;
    background: #2244c126;
    border-radius: 22px;
    cursor: pointer;
    transition: background .15s ease-out
}

.ck-toggle__track::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .15s ease-out;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.ck-toggle input:checked+.ck-toggle__track {
    background: #2244C1
}

.ck-toggle input:checked+.ck-toggle__track::after {
    transform: translateX(18px)
}

.ck-toggle input:focus-visible+.ck-toggle__track {
    outline: 2px solid #2244C1;
    outline-offset: 3px
}

.ck-bar__actions {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 12px;
    flex-wrap: wrap
}

.ck-bar__btn-accept {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #2244C1 0%, #3a5bd4 100%);
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 12px 24px;
    cursor: pointer;
    line-height: 1.35;
    transition: box-shadow .15s ease-out, background .18s ease-out;
    position: relative
}

.ck-bar__btn-accept::after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 2px solid transparent;
    border-radius: 10px;
    transition: border-color .15s ease-out;
    pointer-events: none
}

.ck-bar__btn-accept:hover::after {
    border-color: #2244c159
}

.ck-bar__btn-accept:hover {
    box-shadow: 2px 5px 28px 0 #2244c114
}

.ck-bar__btn-accept:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #2244c11f
}

.ck-bar__btn-reject {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #2a3560;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    line-height: 1.35;
    transition: color .15s ease-out
}

.ck-bar__btn-reject:hover {
    color: #C89301
}

.ck-bar__btn-reject:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #2244c11f;
    border-radius: 4px
}

@media (max-width: 768px) {
    .ck-bar {
        left: 12px;
        bottom: 12px;
        max-width: calc(100vw - 24px);
        width: 100%
    }
}

.policy-view {
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 24px;
    color: #1a2340;
    font-size: 17px;
    line-height: 1.8
}

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

.policy-view ul ul,
.policy-view ol ol,
.policy-view ul ol,
.policy-view ol ul {
    margin: 6px 0
}

.policy-view ul {
    list-style: none;
    padding-left: 24px
}

.policy-view ul li {
    position: relative;
    padding-left: 24px
}

.policy-view ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background: #C89301;
    transform: rotate(45deg)
}

.policy-view ul ul li::before {
    width: 6px;
    height: 6px;
    background: #2244C1;
    border-radius: 50%;
    transform: none;
    top: .75em
}

.policy-view ol {
    list-style: none;
    counter-reset: policy-counter;
    padding-left: 24px
}

.policy-view ol li {
    position: relative;
    padding-left: 24px;
    counter-increment: policy-counter
}

.policy-view ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 15px;
    font-weight: 700;
    color: #2244C1;
    line-height: 1.8
}

.policy-view li {
    margin: 6px 0;
    line-height: 1.8
}

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

.policy-view a {
    color: #2244C1;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .15s ease-out, text-decoration-color .15s ease-out
}

.policy-view a:hover {
    color: #C89301;
    text-decoration-color: #C89301
}

.policy-view a:visited {
    color: #56c
}

.policy-view table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 15px;
    line-height: 1.55;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.policy-view thead {
    background: #2244C1;
    color: #fff
}

.policy-view thead th {
    padding: 12px 24px;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    border: none
}

.policy-view tbody tr {
    background: #fff;
    transition: background .12s ease-out
}

.policy-view tbody tr:nth-child(even) {
    background: #F1FDF3
}

.policy-view tbody tr:hover {
    background: #e8f0fe
}

.policy-view td {
    padding: 12px 24px;
    border-bottom: 1px solid #dde4f5;
    vertical-align: top;
    line-height: 1.55
}

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

.policy-view th {
    padding: 12px 24px
}

.policy-view hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, #C89301 30%, #2244C1 70%, transparent);
    margin: 48px 0;
    opacity: .35
}

@media (max-width: 768px) {
    .policy-view {
        padding: 24px 12px;
        font-size: 15px
    }

    .policy-view ul,
    .policy-view ol {
        padding-left: 12px;
        margin: 12px 0
    }

    .policy-view table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

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

    .policy-view hr {
        margin: 24px 0
    }
}

@media (max-width: 320px) {
    .policy-view {
        padding: 12px 6px
    }

    .policy-view ul li,
    .policy-view ol li {
        padding-left: 18px
    }
}

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

.abt-us *,
.abt-us ::before,
.abt-us ::after {
    box-sizing: border-box
}

.abt-us ::selection {
    background: #2244C1;
    color: #fff;
    font-weight: 700
}

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

.abt-us .grad-line {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #C89301 30%, #2244C1 70%, transparent 100%);
    border: none;
    margin: 0
}

.abt-us .clip-reveal {
    animation: clipReveal .5s ease-out forwards;
    clip-path: inset(0 50% 0 50%)
}

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

.abt-us .shake-el {
    animation: clipReveal .5s ease-out forwards, attentionShake .18s ease 2.8s 2
}

@keyframes attentionShake {
    0% {
        transform: translateX(0)
    }

    25% {
        transform: translateX(-4px)
    }

    75% {
        transform: translateX(4px)
    }

    100% {
        transform: translateX(0)
    }
}

.abt-us .top-strip {
    display: grid;
    grid-template-columns: 1fr 340px;
    min-height: 560px;
    position: relative;
    background: #fff;
    overflow: hidden
}

.abt-us .top-strip__text-zone {
    padding: 72px 48px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1
}

.abt-us .top-strip__bg-num {
    position: absolute;
    right: 360px;
    top: -24px;
    font-size: 260px;
    font-weight: 900;
    color: #F1FDF3;
    line-height: 1.1;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.abt-us .top-strip__eyebrow {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .12em;
    color: #C89301;
    text-transform: uppercase;
    margin: 0 0 24px;
    line-height: 1.35
}

.abt-us .top-strip__h1 {
    font-size: 51px;
    font-weight: 800;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0 0 24px;
    position: relative;
    z-index: 1
}

.abt-us .top-strip__h1 span {
    display: block;
    color: #C89301
}

.abt-us .top-strip__desc {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a3a;
    max-width: 520px;
    margin: 0 0 24px
}

.abt-us .top-strip__founded {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #F1FDF3;
    border: 1px solid #2244c11f;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 15px;
    color: #2244C1;
    font-weight: 600;
    box-shadow: 2px 3px 2px 0 #c893010f;
    width: fit-content
}

.abt-us .top-strip__img-zone {
    position: relative;
    overflow: hidden
}

.abt-us .top-strip__img-zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: sepia(0.22) saturate(1.3) brightness(0.96)
}

.abt-us .top-strip__img-zone::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #c893012e 0%, #2244c11a 100%);
    pointer-events: none
}

.abt-us .mission-band {
    background: linear-gradient(112deg, #F1FDF3 0%, #eaf0ff 100%);
    padding: 72px 0 48px
}

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

.abt-us .mission-band__lead {
    padding: 0 24px 0 0
}

.abt-us .mission-band__label {
    font-size: 15px;
    font-weight: 700;
    color: #2244C1;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0 0 12px;
    line-height: 1.35
}

.abt-us .mission-band__h2 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0 0 24px
}

.abt-us .mission-band__h2 em {
    font-style: normal;
    color: #C89301;
    display: block
}

.abt-us .mission-band__body {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a3a;
    margin: 0 0 24px
}

.abt-us .mission-band__body+.mission-band__body {
    margin-top: 0
}

.abt-us .mission-band__stat-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 2px 5px 28px 0 #2244c114;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.abt-us .mission-band__stat-card.accent {
    background: #2244C1
}

.abt-us .mission-band__stat-num {
    font-size: 51px;
    font-weight: 900;
    line-height: 1.1;
    color: #C89301
}

.abt-us .mission-band__stat-card.accent .mission-band__stat-num {
    color: #fff
}

.abt-us .mission-band__stat-label {
    font-size: 15px;
    line-height: 1.35;
    color: #2a2a3a;
    font-weight: 500
}

.abt-us .mission-band__stat-card.accent .mission-band__stat-label {
    color: #ffffffd1
}

.abt-us .mission-band__prog-wrap {
    margin-top: 6px
}

.abt-us .mission-band__prog-label {
    font-size: 15px;
    color: #2a2a3a;
    margin: 0 0 6px;
    font-weight: 600;
    line-height: 1.35
}

.abt-us .mission-band__stat-card.accent .mission-band__prog-label {
    color: #ffffffe6
}

.abt-us .prog-bar {
    height: 6px;
    border-radius: 4px;
    background: #c8930126;
    overflow: hidden
}

.abt-us .prog-bar__fill {
    height: 100%;
    border-radius: 4px;
    background: #C89301;
    animation: progFill .8s .4s ease-out both;
    transform-origin: left
}

.abt-us .prog-bar__fill.blue {
    background: #ffffffb3
}

@keyframes progFill {
    from {
        width: 0
    }
}

.abt-us .prog-bar__fill[data-w="78"] {
    width: 78%
}

.abt-us .prog-bar__fill[data-w="91"] {
    width: 91%
}

.abt-us .approach-sec {
    padding: 72px 0;
    background: #fff
}

.abt-us .approach-sec__top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 48px
}

.abt-us .approach-sec__h3 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0;
    max-width: 520px
}

.abt-us .approach-sec__sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a3a;
    max-width: 380px;
    margin: 0
}

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

.abt-us .approach-item {
    border-radius: 14px;
    padding: 24px;
    border: 1px solid #2244c11a;
    background: #fff;
    box-shadow: 2px 3px 2px 0 #c893010f;
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.abt-us .approach-item:hover {
    box-shadow: 2px 8px 36px 0 #2244c11f;
    border-color: #2244c147
}

.abt-us .approach-item__icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #F1FDF3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.abt-us .approach-item__icon svg {
    width: 22px;
    height: 22px
}

.abt-us .approach-item__h4 {
    font-size: 17px;
    font-weight: 700;
    color: #1a2a6c;
    margin: 0;
    line-height: 1.35
}

.abt-us .approach-item__p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3a5a;
    margin: 0
}

.abt-us .approach-item__num {
    font-size: 27px;
    font-weight: 900;
    color: #C89301;
    line-height: 1.1;
    margin-top: auto
}

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

.abt-us .approach-img-wrap {
    border-radius: 14px;
    overflow: hidden;
    height: 260px;
    box-shadow: 2px 5px 28px 0 #c8930114
}

.abt-us .approach-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .18s ease-out
}

.abt-us .approach-img-wrap:hover img {
    transform: scale(1.03)
}

.abt-us .team-sec {
    background: linear-gradient(155deg, #1a2a6c 0%, #2244C1 60%, #1a3a5c 100%);
    padding: 72px 0
}

.abt-us .team-sec__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.abt-us .team-sec__copy {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-us .team-sec__label {
    font-size: 15px;
    font-weight: 700;
    color: #C89301;
    text-transform: uppercase;
    letter-spacing: .1em;
    line-height: 1.35;
    margin: 0
}

.abt-us .team-sec__h2 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin: 0
}

.abt-us .team-sec__h2 span {
    display: block;
    color: #C89301
}

.abt-us .team-sec__body {
    font-size: 17px;
    line-height: 1.55;
    color: #ffffffd9;
    margin: 0
}

.abt-us .team-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0
}

.abt-us .team-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.abt-us .team-list__bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #C89301;
    flex-shrink: 0;
    margin-top: 6px
}

.abt-us .team-list__text {
    font-size: 15px;
    line-height: 1.55;
    color: #ffffffd1
}

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

.abt-us .team-card {
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 8px 36px 0 #2244c11f
}

.abt-us .team-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center top;
    display: block
}

.abt-us .team-card__info {
    background: #1a2a6ceb;
    padding: 12px;
    backdrop-filter: blur(4px)
}

.abt-us .team-card__name {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
    line-height: 1.35
}

.abt-us .team-card__role {
    font-size: 15px;
    color: #C89301;
    margin: 0;
    line-height: 1.35
}

.abt-us .team-card--wide {
    grid-column: span 2
}

.abt-us .team-card--wide img {
    height: 180px
}

.abt-us .cta-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.abt-us .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #C89301;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 8px;
    border: 2px solid #C89301;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease-out, border-color .15s ease-out, outline-offset .12s ease-out;
    outline: 2px solid transparent;
    outline-offset: 0;
    box-shadow: 2px 5px 28px 0 #c8930114
}

.abt-us .btn-primary:hover {
    background: #a87800;
    border-color: #a87800;
    outline: 2px solid #C89301;
    outline-offset: 4px
}

.abt-us .btn-primary:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 4px
}

.abt-us .btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    border: 2px solid #fff6;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .15s ease-out, color .12s ease-out, outline-offset .12s ease-out;
    outline: 2px solid transparent;
    outline-offset: 0
}

.abt-us .btn-secondary:hover {
    border-color: #fff;
    color: #fff;
    outline: 2px solid #ffffff80;
    outline-offset: 4px
}

.abt-us .btn-secondary:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px
}

@media (max-width: 1024px) {
    .abt-us .top-strip {
        grid-template-columns: 1fr 260px
    }

    .abt-us .top-strip__h1 {
        font-size: 37px
    }

    .abt-us .top-strip__bg-num {
        font-size: 180px;
        right: 280px
    }

    .abt-us .mission-band__grid {
        grid-template-columns: 1fr 1fr
    }

    .abt-us .mission-band__lead {
        grid-column: span 2;
        padding-right: 0
    }

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

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

    .abt-us .team-sec__visuals {
        grid-template-columns: repeat(3, 1fr)
    }

    .abt-us .team-card--wide {
        grid-column: span 1
    }
}

@media (max-width: 768px) {
    .abt-us .top-strip {
        grid-template-columns: 1fr
    }

    .abt-us .top-strip__img-zone {
        height: 280px
    }

    .abt-us .top-strip__text-zone {
        padding: 48px 24px 24px
    }

    .abt-us .top-strip__bg-num {
        display: none
    }

    .abt-us .top-strip__h1 {
        font-size: 37px
    }

    .abt-us .mission-band__grid {
        grid-template-columns: 1fr
    }

    .abt-us .mission-band__lead {
        grid-column: span 1
    }

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

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

    .abt-us .approach-sec__top {
        flex-direction: column;
        align-items: flex-start
    }

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

    .abt-us .team-card--wide {
        grid-column: span 2
    }
}

@media (max-width: 320px) {
    .abt-us .top-strip__h1 {
        font-size: 27px
    }

    .abt-us .mission-band__h2 {
        font-size: 27px
    }

    .abt-us .approach-sec__h3 {
        font-size: 27px
    }

    .abt-us .team-sec__h2 {
        font-size: 27px
    }

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

    .abt-us .team-card--wide {
        grid-column: span 1
    }

    .abt-us .pg-wrap {
        padding: 0 12px
    }
}

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

.bse * {
    box-sizing: border-box
}

.bse ::selection {
    background: #2244C1;
    color: #fff;
    font-weight: 700
}

.bse .pg-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px
}

@media (max-width: 768px) {
    .bse .pg-wrap {
        padding: 0 24px
    }
}

@keyframes border-glow {
    from {
        box-shadow: 0 0 0 0 #c8930100 2px 3px 2px 0 #c893010f
    }

    to {
        box-shadow: 0 0 0 3px #c8930159 2px 5px 28px 0 #c8930114
    }
}

@keyframes glow-in {
    from {
        opacity: 0;
        box-shadow: 0 0 0 0 #2244c100
    }

    to {
        opacity: 1;
        box-shadow: 2px 8px 36px 0 #2244c11f
    }
}

@keyframes dot-fade {
    0% {
        opacity: 0;
        transform: scale(0.5)
    }

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

.bse .t-blk {
    background: linear-gradient(158deg, #e8f0fe 0%, #fdf6e3 60%, #F1FDF3 100%);
    padding: 48px 0;
    position: relative
}

.bse .t-blk__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.bse .t-blk__copy {
    position: relative
}

.bse .t-blk__dots {
    position: absolute;
    top: -12px;
    left: -24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    pointer-events: none
}

.bse .t-blk__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #C89301;
    opacity: 0;
    animation: dot-fade .2s ease-out forwards
}

.bse .t-blk__dot:nth-child(1) {
    animation-delay: .1s
}

.bse .t-blk__dot:nth-child(2) {
    animation-delay: .15s;
    background: #2244C1
}

.bse .t-blk__dot:nth-child(3) {
    animation-delay: .2s
}

.bse .t-blk__dot:nth-child(4) {
    animation-delay: .25s;
    background: #2244C1
}

.bse .t-blk__dot:nth-child(5) {
    animation-delay: .3s
}

.bse .t-blk__label {
    font-size: 15px;
    line-height: 1.35;
    color: #2244C1;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: block
}

.bse .t-blk__h1 {
    font-size: 51px;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0 0 12px
}

.bse .t-blk__h1 span {
    display: block
}

.bse .t-blk__h1 .accent-word {
    color: #C89301;
    font-size: 37px
}

.bse .t-blk__sub {
    font-size: 17px;
    line-height: 1.55;
    color: #3a3a5c;
    margin: 24px 0 0;
    max-width: 480px
}

.bse .t-blk__img-side {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    animation: glow-in .2s ease-out forwards
}

.bse .t-blk__img-side::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 40%;
    background: radial-gradient(ellipse at top left, #c8930173 0%, transparent 70%);
    z-index: 1;
    pointer-events: none;
    border-radius: 14px 0 0 0
}

.bse .t-blk__img-side::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    box-shadow: inset 0 0 24px 0 #c893011f;
    pointer-events: none;
    z-index: 2
}

.bse .t-blk__img-side img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 14px
}

.bse .t-blk__dbl-border {
    position: absolute;
    inset: -6px;
    border-radius: 22px;
    border: 1px solid #c8930133;
    pointer-events: none;
    animation: border-glow .2s ease-out .15s both
}

.bse .t-blk__dbl-border-outer {
    position: absolute;
    inset: -12px;
    border-radius: 22px;
    border: 1px solid #2244c11a;
    pointer-events: none
}

@media (max-width: 1024px) {
    .bse .t-blk__inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .bse .t-blk__h1 {
        font-size: 37px
    }

    .bse .t-blk__img-side img {
        height: 300px
    }
}

@media (max-width: 768px) {
    .bse .t-blk__h1 {
        font-size: 27px
    }

    .bse .t-blk__h1 .accent-word {
        font-size: 21px
    }
}

.bse .exp-band {
    background: #2244C1;
    padding: 12px 0
}

.bse .exp-band__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: center;
    gap: 48px
}

.bse .exp-band__item {
    font-size: 15px;
    line-height: 1.35;
    color: #F1FDF3;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.bse .exp-band__dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C89301;
    flex-shrink: 0
}

@media (max-width: 768px) {
    .bse .exp-band__inner {
        flex-direction: column;
        gap: 12px;
        padding: 0 24px;
        align-items: flex-start
    }
}

.bse .mirror {
    padding: 48px 0;
    background: #fff;
    position: relative
}

.bse .mirror::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, #F1FDF3 0%, #fff 100%);
    clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
    pointer-events: none
}

.bse .mirror__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1
}

.bse .mirror__stories {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.bse .mirror__hd {
    font-size: 37px;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0 0 24px
}

.bse .mirror__hd span {
    display: block
}

.bse .story-card {
    border-radius: 14px;
    border: 1px solid #2244c11f;
    padding: 24px;
    background: #fff;
    box-shadow: 2px 3px 2px 0 #2244c10f;
    position: relative;
    transition: box-shadow .15s ease-out, border-color .15s ease-out
}

.bse .story-card:hover {
    box-shadow: 2px 5px 28px 0 #2244c114;
    border-color: #2244c147
}

.bse .story-card__notch {
    position: absolute;
    left: 0;
    top: 24px;
    width: 4px;
    height: 40px;
    background: #C89301;
    border-radius: 0 4px 4px 0
}

.bse .story-card__name {
    font-size: 15px;
    line-height: 1.35;
    color: #2244C1;
    font-weight: 700;
    margin: 0 0 6px
}

.bse .story-card__role {
    font-size: 15px;
    line-height: 1.35;
    color: #888;
    margin: 0 0 12px
}

.bse .story-card__quote {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a4a;
    margin: 0
}

.bse .mirror__visual {
    position: relative
}

.bse .mirror__img-wrap {
    border-radius: 14px;
    overflow: hidden;
    position: relative
}

.bse .mirror__img-wrap img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .18s ease-out
}

.bse .mirror__img-wrap:hover img {
    filter: saturate(1.4) brightness(1.05)
}

.bse .mirror__img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(158deg, #c893012e 0%, transparent 60%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease-out;
    border-radius: 14px
}

.bse .mirror__img-wrap:hover::after {
    opacity: 1
}

.bse .mirror__caption {
    margin: 24px 0 0;
    padding: 24px;
    background: linear-gradient(135deg, #2244C1 0%, #1a2a6c 100%);
    border-radius: 14px;
    color: #F1FDF3;
    font-size: 17px;
    line-height: 1.55
}

.bse .mirror__caption strong {
    color: #C89301
}

@media (max-width: 1024px) {
    .bse .mirror__inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .bse .mirror__hd {
        font-size: 27px
    }
}

.bse .sel-divider {
    height: 8px;
    background: linear-gradient(90deg, #C89301 0%, #2244C1 50%, #C89301 100%)
}

.bse .avail {
    padding: 48px 0;
    background: #F1FDF3;
    position: relative
}

.bse .avail__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px
}

.bse .avail__top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    margin-bottom: 48px;
    align-items: start
}

.bse .avail__hd {
    font-size: 37px;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0
}

.bse .avail__hd span {
    display: block
}

.bse .avail__desc {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a4a;
    margin: 0
}

.bse .avail__cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px
}

.bse .av-col {
    border-radius: 14px;
    padding: 24px;
    position: relative;
    transition: box-shadow .18s ease-out
}

.bse .av-col.light {
    background: #fff;
    border: 1px solid #c893012e;
    box-shadow: 2px 3px 2px 0 #c893010f
}

.bse .av-col.mid {
    background: #2244C1;
    border: 1px solid #2244C1
}

.bse .av-col.deep {
    background: linear-gradient(158deg, #1a2a6c 0%, #2244C1 100%);
    border: 1px solid #1a2a6c
}

.bse .av-col.light:hover {
    box-shadow: 2px 5px 28px 0 #c8930114
}

.bse .av-col.mid:hover {
    box-shadow: 2px 5px 28px 0 #2244c11f
}

.bse .av-col.deep:hover {
    box-shadow: 2px 8px 36px 0 #2244c11f
}

.bse .av-col__icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.bse .av-col.light .av-col__icon {
    background: #c893011f
}

.bse .av-col.mid .av-col__icon,
.bse .av-col.deep .av-col__icon {
    background: #ffffff26
}

.bse .av-col__icon svg {
    width: 22px;
    height: 22px
}

.bse .av-col.light .av-col__icon svg {
    stroke: #C89301
}

.bse .av-col.mid .av-col__icon svg,
.bse .av-col.deep .av-col__icon svg {
    stroke: #F1FDF3
}

.bse .av-col__name {
    font-size: 21px;
    line-height: 1.35;
    margin: 0 0 12px;
    font-weight: 700
}

.bse .av-col.light .av-col__name {
    color: #1a2a6c
}

.bse .av-col.mid .av-col__name,
.bse .av-col.deep .av-col__name {
    color: #F1FDF3
}

.bse .av-col__txt {
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 24px
}

.bse .av-col.light .av-col__txt {
    color: #3a3a5c
}

.bse .av-col.mid .av-col__txt,
.bse .av-col.deep .av-col__txt {
    color: #f1fdf3d9
}

.bse .av-col__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.bse .av-col__list li {
    font-size: 15px;
    line-height: 1.55;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 6px
}

.bse .av-col.light .av-col__list li {
    color: #3a3a5c
}

.bse .av-col.mid .av-col__list li,
.bse .av-col.deep .av-col__list li {
    color: #f1fdf3e6
}

.bse .av-col__list li svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 4px
}

.bse .av-col.light .av-col__list li svg {
    stroke: #C89301
}

.bse .av-col.mid .av-col__list li svg,
.bse .av-col.deep .av-col__list li svg {
    stroke: #C89301
}

.bse .av-col__img-wrap {
    border-radius: 8px;
    overflow: hidden;
    margin-top: 24px;
    position: relative
}

.bse .av-col__img-wrap img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .18s ease-out
}

.bse .av-col__img-wrap:hover img {
    filter: saturate(1.5)
}

.bse .av-col__img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #c8930100;
    transition: background .18s ease-out;
    pointer-events: none;
    border-radius: 8px
}

.bse .av-col__img-wrap:hover::after {
    background: #c8930126
}

.bse .matrix-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px
}

.bse .mx-cell {
    border-radius: 14px;
    padding: 24px;
    border: 1px solid #c8930126;
    background: #fff;
    position: relative;
    box-shadow: 2px 3px 2px 0 #c893010f
}

.bse .mx-cell__tag {
    font-size: 15px;
    line-height: 1.35;
    color: #C89301;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 6px
}

.bse .mx-cell__hd {
    font-size: 21px;
    line-height: 1.35;
    color: #1a2a6c;
    margin: 0 0 12px;
    font-weight: 700
}

.bse .mx-cell__txt {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3a5c;
    margin: 0
}

.bse .mx-cell__notch {
    position: absolute;
    left: 0;
    top: 24px;
    width: 4px;
    height: 32px;
    background: linear-gradient(180deg, #C89301 0%, #2244C1 100%);
    border-radius: 0 4px 4px 0
}

@media (max-width: 1024px) {
    .bse .avail__top {
        grid-template-columns: 1fr
    }

    .bse .avail__cols {
        grid-template-columns: 1fr
    }

    .bse .matrix-row {
        grid-template-columns: 1fr
    }

    .bse .avail__inner {
        padding: 0 24px
    }

    .bse .avail__hd {
        font-size: 27px
    }
}

.bse .sup-divider {
    height: 8px;
    background: #F1FDF3;
    border-top: 1px solid #2244c11a
}

.bse .sup {
    padding: 48px 0;
    background: #fff;
    position: relative
}

.bse .sup::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 45%;
    height: 60%;
    background: linear-gradient(225deg, #2244c10f 0%, transparent 70%);
    pointer-events: none
}

.bse .sup__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1
}

.bse .sup__img-side {
    position: relative
}

.bse .sup__img-wrap {
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 5px 28px 0 #2244c114
}

.bse .sup__img-wrap img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .2s ease-out
}

.bse .sup__img-wrap:hover img {
    filter: saturate(1.35)
}

.bse .sup__img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #2244c100;
    transition: background .2s ease-out;
    pointer-events: none;
    border-radius: 14px
}

.bse .sup__img-wrap:hover::after {
    background: #2244c11a
}

.bse .sup__badge {
    position: absolute;
    bottom: -12px;
    right: -12px;
    background: #C89301;
    color: #fff;
    border-radius: 14px;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    box-shadow: 2px 5px 28px 0 #c8930114;
    animation: border-glow .2s ease-out .2s both
}

.bse .sup__copy {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.bse .sup__hd {
    font-size: 37px;
    line-height: 1.1;
    color: #1a2a6c;
    margin: 0
}

.bse .sup__hd span {
    display: block
}

.bse .sup__txt {
    font-size: 17px;
    line-height: 1.55;
    color: #2a2a4a;
    margin: 0
}

.bse .sup__faq {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.bse .faq-item {
    border-radius: 8px;
    border: 1px solid #2244c11f;
    overflow: hidden;
    background: #fff;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.bse .faq-item__q {
    width: 100%;
    background: none;
    border: none;
    padding: 12px 24px;
    text-align: left;
    font-size: 17px;
    line-height: 1.35;
    color: #1a2a6c;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: background .15s ease-out, color .15s ease-out
}

.bse .faq-item__q:hover {
    background: #2244c10d;
    color: #2244C1
}

.bse .faq-item__q:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 2px
}

.bse .faq-item__q svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    stroke: #C89301;
    transition: transform .15s ease-out
}

.bse .faq-item details[open] .faq-item__q svg {
    transform: rotate(45deg)
}

.bse details {
    display: block
}

.bse details summary {
    list-style: none
}

.bse details summary::-webkit-details-marker {
    display: none
}

.bse .faq-item__a {
    padding: 0 24px 12px;
    font-size: 15px;
    line-height: 1.55;
    color: #3a3a5c;
    margin: 0
}

.bse .sup__link-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.bse .btn-prim {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: #C89301;
    color: #fff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    border-radius: 8px;
    border: 2px solid #C89301;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease-out, border-color .15s ease-out, box-shadow .15s ease-out;
    box-shadow: 2px 3px 2px 0 #c893010f
}

.bse .btn-prim:hover {
    background: #a07600;
    border-color: #a07600;
    box-shadow: 0 0 0 3px #c8930138 2px 5px 28px 0 #c8930114
}

.bse .btn-prim:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 3px
}

.bse .btn-sec {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: transparent;
    color: #2244C1;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    border-radius: 8px;
    border: 2px solid #2244C1;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s ease-out, color .18s ease-out, box-shadow .18s ease-out
}

.bse .btn-sec:hover {
    background: #2244C1;
    color: #fff;
    box-shadow: 0 0 0 3px #2244c12e 2px 5px 28px 0 #2244c114
}

.bse .btn-sec:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 3px
}

@media (max-width: 1024px) {
    .bse .sup__inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .bse .sup__hd {
        font-size: 27px
    }

    .bse .sup__badge {
        right: 6px;
        bottom: -6px
    }
}

@media (max-width: 320px) {
    .bse .t-blk__h1 {
        font-size: 21px
    }

    .bse .pg-wrap {
        padding: 0 12px
    }

    .bse .avail__inner {
        padding: 0 12px
    }

    .bse .sup__inner {
        padding: 0 12px
    }

    .bse .mirror__inner {
        padding: 0 12px
    }

    .bse .exp-band__inner {
        padding: 0 12px
    }
}

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

.lrn-prog .lp-container {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 48px;
    padding-right: 48px
}

.lrn-prog .lp-divider {
    width: 100%;
    height: 2px;
    background: radial-gradient(ellipse at center, #C89301 0%, transparent 70%);
    border: none;
    margin: 0
}

.lrn-prog .tp-block {
    background: linear-gradient(112deg, #def 0%, #e8f0ff 25%, #fff8e6 60%, #f1fdf3 100%);
    padding-top: 48px;
    padding-bottom: 48px;
    position: relative
}

.lrn-prog .tp-block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 15% 30%, #c493011a 0%, transparent 45%), radial-gradient(circle at 80% 70%, #2244c117 0%, transparent 45%), radial-gradient(circle at 55% 15%, #f1fdf399 0%, transparent 40%);
    pointer-events: none
}

.lrn-prog .tp-grid {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 48px;
    align-items: center;
    position: relative
}

.lrn-prog .tp-text {
    position: relative
}

.lrn-prog .tp-quote-mark {
    position: absolute;
    top: -24px;
    left: -12px;
    font-size: 180px;
    line-height: 1.1;
    color: #2244c10f;
    font-weight: 900;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.lrn-prog .tp-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.35;
    color: #2244C1;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    position: relative;
    z-index: 1
}

.lrn-prog .tp-h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #111827;
    margin: 0 0 24px;
    position: relative;
    z-index: 1
}

.lrn-prog .tp-h1 span {
    color: #C89301
}

.lrn-prog .tp-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #374151;
    margin: 0 0 24px;
    max-width: 580px;
    position: relative;
    z-index: 1
}

.lrn-prog .tp-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1
}

.lrn-prog .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #C89301;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #C89301;
    box-shadow: 2px 5px 28px 0 #c4930114;
    transition: background .15s ease-out, box-shadow .2s ease-out, border-color .15s ease-out, outline-offset .15s ease-out;
    outline: 2px solid transparent;
    outline-offset: 0;
    cursor: pointer
}

.lrn-prog .btn-primary:hover {
    background: #a87800;
    border-color: #a87800;
    box-shadow: 2px 8px 36px 0 #c493011f;
    outline-color: #C89301;
    outline-offset: 4px
}

.lrn-prog .btn-primary:focus-visible {
    outline: 2px solid #C89301;
    outline-offset: 4px
}

.lrn-prog .btn-secondary {
    display: inline-block;
    padding: 12px 24px;
    background: transparent;
    color: #2244C1;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #2244C1;
    transition: background .18s ease, color .18s ease, outline-offset .15s ease-out;
    outline: 2px solid transparent;
    outline-offset: 0;
    cursor: pointer
}

.lrn-prog .btn-secondary:hover {
    background: #2244C1;
    color: #fff;
    outline-color: #2244C1;
    outline-offset: 4px
}

.lrn-prog .btn-secondary:focus-visible {
    outline: 2px solid #2244C1;
    outline-offset: 4px
}

.lrn-prog .tp-img-col {
    display: flex;
    align-items: center;
    justify-content: center
}

.lrn-prog .tp-img-wrap {
    width: 220px;
    height: 300px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 2px 8px 36px 0 #2244c11f;
    opacity: .88
}

.lrn-prog .tp-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.6) brightness(1.05);
    display: block
}

.lrn-prog .prog-det {
    background: #fff;
    padding-top: 48px;
    padding-bottom: 48px
}

.lrn-prog .prog-det-grid {
    display: grid;
    grid-template-columns: 1fr 2.5fr 1fr;
    gap: 48px;
    align-items: start
}

.lrn-prog .prog-side-left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.lrn-prog .prog-stat-card {
    background: linear-gradient(135deg, #f1fdf3 0%, #e8f0ff 100%);
    border-radius: 14px;
    padding: 24px;
    box-shadow: 2px 3px 2px 0 #2244c10f;
    border: 1px solid #2244c114;
    position: relative
}

.lrn-prog .prog-stat-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    box-shadow: inset 0 1px 8px 0 #f1fdf3cc;
    pointer-events: none
}

.lrn-prog .prog-stat-num {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #2244C1;
    display: block;
    margin-bottom: 6px
}

.lrn-prog .prog-stat-label {
    font-size: 15px;
    line-height: 1.35;
    color: #374151
}

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

.lrn-prog .prog-h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #111827;
    margin: 0
}

.lrn-prog .prog-h2 span {
    display: block
}

.lrn-prog .prog-h2 .accent-word {
    color: #C89301;
    letter-spacing: .06em
}

.lrn-prog .prog-body {
    font-size: 17px;
    line-height: 1.55;
    color: #374151;
    margin: 0
}

.lrn-prog .prog-modules {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none
}

.lrn-prog .prog-modules li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.55;
    color: #374151
}

.lrn-prog .prog-mod-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: #C89301;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    box-shadow: 2px 3px 2px 0 #c493010f
}

.lrn-prog .prog-mod-icon svg {
    width: 12px;
    height: 12px;
    fill: #fff
}

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

.lrn-prog .prog-format-card {
    background: #2244C1;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 2px 5px 28px 0 #2244c114;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.lrn-prog .prog-format-title {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em
}

.lrn-prog .prog-format-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.lrn-prog .prog-format-list li {
    font-size: 15px;
    line-height: 1.55;
    color: #ffffffe0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.lrn-prog .prog-format-list li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: #C89301;
    flex-shrink: 0
}

.lrn-prog .prog-corner-deco {
    width: 100%;
    height: 120px;
    position: relative;
    border-radius: 14px;
    overflow: hidden
}

.lrn-prog .prog-corner-deco::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(112deg, #c493011a 0%, #f1fdf399 100%);
    border-radius: 14px
}

.lrn-prog .prog-corner-lines {
    position: absolute;
    inset: 0
}

.lrn-prog .prog-corner-lines svg {
    width: 100%;
    height: 100%
}

.lrn-prog .paths-sec {
    background: #f1fdf3;
    padding-top: 48px;
    padding-bottom: 48px;
    position: relative
}

.lrn-prog .paths-sec::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 50%, #c493010a 0 60px, transparent 60px), radial-gradient(circle at 40% 50%, #c493010a 0 60px, transparent 60px), radial-gradient(circle at 60% 50%, #2244c10a 0 60px, transparent 60px), radial-gradient(circle at 80% 50%, #2244c10a 0 60px, transparent 60px), radial-gradient(circle at 30% 20%, #c4930108 0 80px, transparent 80px), radial-gradient(circle at 70% 80%, #2244c108 0 80px, transparent 80px);
    pointer-events: none
}

.lrn-prog .paths-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 48px;
    position: relative
}

.lrn-prog .paths-h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #111827;
    margin: 0 0 12px
}

.lrn-prog .paths-h2 .accent-word {
    color: #2244C1;
    letter-spacing: .06em
}

.lrn-prog .paths-lead {
    font-size: 17px;
    line-height: 1.55;
    color: #374151;
    margin: 0
}

.lrn-prog .paths-img-wrap {
    width: 100%;
    height: 200px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 2px 5px 28px 0 #2244c114;
    position: relative
}

.lrn-prog .paths-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: .82;
    animation: lp-zoom 12s ease-in-out infinite alternate
}

@keyframes lp-zoom {
    from {
        transform: scale(1)
    }

    to {
        transform: scale(1.07)
    }
}

.lrn-prog .paths-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    position: relative
}

.lrn-prog .path-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 2px 3px 2px 0 #c493010f;
    border: 1px solid #c493011a;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow .18s ease-out, border-color .18s ease-out;
    position: relative
}

.lrn-prog .path-card:hover {
    box-shadow: 2px 8px 36px 0 #c493011f;
    border-color: #c493014d
}

.lrn-prog .path-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 5px 28px 0 #2244c114
}

.lrn-prog .path-card-icon.gold {
    background: #C89301
}

.lrn-prog .path-card-icon.blue {
    background: #2244C1
}

.lrn-prog .path-card-icon svg {
    width: 22px;
    height: 22px;
    fill: #fff
}

.lrn-prog .path-card-h {
    font-size: 21px;
    line-height: 1.35;
    font-weight: 700;
    color: #111827;
    margin: 0
}

.lrn-prog .path-card-body {
    font-size: 15px;
    line-height: 1.55;
    color: #374151;
    margin: 0
}

.lrn-prog .path-card-tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 4px;
    align-self: flex-start
}

.lrn-prog .path-card-tag.gold {
    background: #c493011a;
    color: #8a6500
}

.lrn-prog .path-card-tag.blue {
    background: #2244c114;
    color: #1a35a0
}

.lrn-prog .path-card-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    pointer-events: none
}

.lrn-prog .path-card-corner svg {
    width: 48px;
    height: 48px
}

@media (max-width: 1024px) {
    .lrn-prog .lp-container {
        padding-left: 24px;
        padding-right: 24px
    }

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

    .lrn-prog .tp-img-col {
        display: none
    }

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

    .lrn-prog .prog-side-right {
        display: none
    }

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

@media (max-width: 768px) {
    .lrn-prog .tp-h1 {
        font-size: 37px
    }

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

    .lrn-prog .prog-side-left {
        flex-direction: row;
        flex-wrap: wrap
    }

    .lrn-prog .prog-stat-card {
        flex: 1 1 140px
    }

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

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

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

@media (max-width: 320px) {
    .lrn-prog .lp-container {
        padding-left: 12px;
        padding-right: 12px
    }

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

    .lrn-prog .tp-actions {
        flex-direction: column
    }

    .lrn-prog .prog-h2 {
        font-size: 21px
    }
}

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

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

.ct-us ::selection {
    background: #2244C1;
    color: #fff;
    font-weight: 700
}

.ct-us .reach-strip {
    position: relative;
    padding: 72px 0 60px;
    background: linear-gradient(158deg, #e8f0ff 0%, #f5f9ff 40%, #fffbe8 100%);
    overflow: hidden
}

.ct-us .reach-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#2244c10f 1px, transparent 1px), linear-gradient(90deg, #2244c10f 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none
}

.ct-us .reach-strip::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle at 60% 40%, #c893011a 0%, transparent 70%);
    pointer-events: none
}

.ct-us .reach-anim-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.ct-us .reach-anim-bg .grad-a {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: linear-gradient(158deg, #2244c112 0%, transparent 60%);
    top: -100px;
    left: -100px;
    animation: gradmoveA 8s ease-in-out infinite alternate
}

.ct-us .reach-anim-bg .grad-b {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: linear-gradient(220deg, #c8930117 0%, transparent 65%);
    bottom: -80px;
    right: -60px;
    animation: gradmoveB 11s ease-in-out infinite alternate
}

@keyframes gradmoveA {
    from {
        transform: translate(0, 0) scale(1)
    }

    to {
        transform: translate(60px, 40px) scale(1.12)
    }
}

@keyframes gradmoveB {
    from {
        transform: translate(0, 0) scale(1)
    }

    to {
        transform: translate(-50px, -30px) scale(1.09)
    }
}

.ct-us .reach-inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 48px;
    align-items: start;
    z-index: 1
}

.ct-us .reach-left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct-us .reach-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #2244C1;
    letter-spacing: .08em;
    text-transform: uppercase
}

.ct-us .reach-eyebrow .dot-row {
    display: flex;
    align-items: center;
    gap: 6px
}

.ct-us .reach-eyebrow .dot-row span {
    display: block;
    border-radius: 50%;
    background: #C89301
}

.ct-us .reach-eyebrow .dot-row span:nth-child(1) {
    width: 4px;
    height: 4px
}

.ct-us .reach-eyebrow .dot-row span:nth-child(2) {
    width: 6px;
    height: 6px
}

.ct-us .reach-eyebrow .dot-row span:nth-child(3) {
    width: 4px;
    height: 4px
}

.ct-us .reach-h {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #111827;
    margin: 0
}

.ct-us .reach-h em {
    font-style: normal;
    color: #2244C1
}

.ct-us .reach-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #374151;
    max-width: 520px;
    margin: 0
}

.ct-us .reach-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px
}

.ct-us .r-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 2px 5px 28px 0 #2244c114;
    border: 1px solid #2244c114;
    transition: box-shadow .18s ease-out, border-color .15s ease;
    position: relative;
    overflow: hidden
}

.ct-us .r-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #2244C1 0%, #C89301 100%);
    border-radius: 4px 0 0 4px;
    opacity: 0;
    transition: opacity .18s ease-out
}

.ct-us .r-card:hover {
    box-shadow: 2px 8px 36px 0 #2244c11f;
    border-color: #2244c12e
}

.ct-us .r-card:hover::before {
    opacity: 1
}

.ct-us .r-card .r-icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: linear-gradient(135deg, #e8f0ff 0%, #f1fdf3 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ct-us .r-card .r-icon svg {
    width: 22px;
    height: 22px
}

.ct-us .r-card .r-body {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.ct-us .r-card .r-lbl {
    font-size: 15px;
    font-weight: 700;
    color: #111827
}

.ct-us .r-card .r-val {
    font-size: 15px;
    line-height: 1.35;
    color: #374151;
    text-decoration: none;
    transition: color .15s ease
}

.ct-us .r-card .r-val:hover {
    color: #2244C1
}

.ct-us .reach-metric {
    background: linear-gradient(158deg, #2244C1 0%, #1a35a0 100%);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 2px 8px 36px 0 #2244c11f
}

.ct-us .reach-metric .m-num {
    font-size: 68px;
    font-weight: 900;
    line-height: 1.1;
    color: #fff
}

.ct-us .reach-metric .m-num span {
    font-size: 37px;
    color: #C89301
}

.ct-us .reach-metric .m-desc {
    font-size: 15px;
    line-height: 1.55;
    color: #ffffffd1
}

.ct-us .reach-metric .m-tag {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    color: #C89301;
    background: #c8930126;
    border-radius: 4px;
    padding: 6px 12px;
    align-self: flex-start
}

.ct-us .reach-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 24px
}

.ct-us .dots-border {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.ct-us .dots-border svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%
}

.ct-us .zigzag-div {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.ct-us .zigzag-div svg {
    display: block;
    width: 100%
}

.ct-us .form-panel {
    position: relative;
    padding: 80px 0;
    background: #F1FDF3
}

.ct-us .form-panel-wrap {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 48px;
    align-items: start
}

.ct-us .form-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.ct-us .form-aside-h {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #111827;
    margin: 0
}

.ct-us .form-aside-h strong {
    display: block;
    color: #C89301
}

.ct-us .form-aside-p {
    font-size: 17px;
    line-height: 1.55;
    color: #374151;
    margin: 0
}

.ct-us .aside-steps {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.ct-us .aside-step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px
}

.ct-us .step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #2244C1;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.ct-us .step-txt {
    font-size: 15px;
    line-height: 1.55;
    color: #374151;
    padding-top: 6px
}

.ct-us .form-box {
    background: #fff;
    border-radius: 22px;
    padding: 48px;
    box-shadow: 2px 8px 36px 0 #2244c11f;
    border: 1px solid #2244c112
}

.ct-us .form-box .f-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px
}

.ct-us .form-box .f-row:last-child {
    margin-bottom: 0
}

.ct-us .form-box label {
    font-size: 15px;
    font-weight: 700;
    color: #111827
}

.ct-us .form-box input[type="text"],
.ct-us .form-box input[type="email"],
.ct-us .form-box input[type="tel"] {
    width: 100%;
    padding: 12px 24px;
    font-size: 17px;
    line-height: 1.35;
    color: #111827;
    background: #f5f8ff;
    border: 1.5px solid #2244c126;
    border-radius: 8px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease-out, background .15s ease
}

.ct-us .form-box input[type="text"]:focus,
.ct-us .form-box input[type="email"]:focus,
.ct-us .form-box input[type="tel"]:focus {
    border-color: #2244C1;
    background: #fff;
    box-shadow: inset 0 0 0 3px #2244c112
}

.ct-us .form-box input::placeholder {
    color: #37415173;
    transition: opacity .2s ease-out
}

.ct-us .form-box input:focus::placeholder {
    opacity: 0
}

.ct-us .budget-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.ct-us .budget-opt {
    position: relative
}

.ct-us .budget-opt input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.ct-us .budget-opt label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 8px;
    border: 1.5px solid #2244c126;
    background: #f5f8ff;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    color: #374151;
    transition: border-color .18s ease-out, background .15s ease, color .15s ease
}

.ct-us .budget-opt label .b-range {
    font-size: 17px;
    font-weight: 800;
    color: #2244C1;
    transition: color .15s ease
}

.ct-us .budget-opt input[type="radio"]:checked+label {
    border-color: #2244C1;
    background: #e8f0ff;
    color: #111827
}

.ct-us .budget-opt input[type="radio"]:checked+label .b-range {
    color: #C89301
}

.ct-us .budget-opt label:hover {
    border-color: #2244C1;
    background: #eef3ff
}

.ct-us .budget-opt input[type="radio"]:focus-visible+label {
    outline: 2px solid #2244C1;
    outline-offset: 2px
}

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

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

.ct-us .privacy-row .priv-lbl {
    font-size: 15px;
    line-height: 1.55;
    color: #374151;
    font-weight: 400
}

.ct-us .privacy-row .priv-lbl a {
    color: #2244C1;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .15s ease
}

.ct-us .privacy-row .priv-lbl a:hover {
    color: #C89301
}

.ct-us .btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 48px;
    font-size: 17px;
    font-weight: 800;
    color: #fff;
    background: #2244C1;
    border: 2px solid #2244C1;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    box-shadow: 2px 5px 28px 0 #2244c114;
    transition: background .18s ease-out, box-shadow .18s ease-out, outline-offset .15s ease;
    position: relative
}

.ct-us .btn-submit::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 12px;
    border: 2px solid transparent;
    transition: border-color .18s ease-out, inset .18s ease-out;
    pointer-events: none
}

.ct-us .btn-submit:hover {
    background: #1a35a0;
    box-shadow: 2px 8px 36px 0 #2244c11f
}

.ct-us .btn-submit:hover::after {
    border-color: #2244C1;
    inset: -7px
}

.ct-us .btn-submit:focus-visible {
    outline: 3px solid #C89301;
    outline-offset: 3px
}

.ct-us .btn-submit:active {
    background: #162d8a
}

.ct-us .frosted-note {
    background: #ffffff8c;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid #2244c11f;
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 2px 3px 2px 0 #2244c10f
}

.ct-us .frosted-note .fn-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(135deg, #e8f0ff 0%, #fffbe8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ct-us .frosted-note .fn-icon svg {
    width: 18px;
    height: 18px
}

.ct-us .frosted-note .fn-txt {
    font-size: 15px;
    line-height: 1.55;
    color: #374151
}

.ct-us .frosted-note .fn-txt strong {
    color: #111827;
    display: block;
    margin-bottom: 6px
}

@media (max-width: 1024px) {
    .ct-us .reach-inner {
        grid-template-columns: 1fr
    }

    .ct-us .reach-right {
        position: static
    }

    .ct-us .form-panel-wrap {
        grid-template-columns: 1fr
    }

    .ct-us .form-aside {
        position: static
    }

    .ct-us .reach-h {
        font-size: 37px
    }
}

@media (max-width: 768px) {
    .ct-us .reach-strip {
        padding: 48px 0
    }

    .ct-us .form-panel {
        padding: 48px 0
    }

    .ct-us .form-box {
        padding: 24px
    }

    .ct-us .budget-group {
        grid-template-columns: 1fr
    }

    .ct-us .reach-h {
        font-size: 27px
    }

    .ct-us .reach-metric .m-num {
        font-size: 51px
    }
}

@media (max-width: 320px) {
    .ct-us .pg-wrap {
        padding: 0 12px
    }

    .ct-us .form-box {
        padding: 12px
    }
}

.succ-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 48px 24px;
    background: #F1FDF3
}

.succ-page .succ-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 2px 8px 36px 0 #2244c11f;
    padding: 48px;
    max-width: 540px;
    width: 100%;
    text-align: center;
    border-top: 4px solid #C89301
}

.succ-page .succ-card .succ-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px
}

.succ-page .succ-card .succ-icon .icon-shape {
    width: 64px;
    height: 64px;
    border-radius: 22px;
    background: #F1FDF3;
    box-shadow: inset 2px 3px 2px 0 #c893010f;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.succ-page .succ-card .succ-icon .icon-shape svg {
    width: 32px;
    height: 32px
}

.succ-page .succ-card .succ-heading {
    font-size: 37px;
    line-height: 1.1;
    color: #2244C1;
    margin: 0 0 12px;
    font-weight: 700
}

.succ-page .succ-card .succ-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #3a3a3a;
    margin: 0 0 24px
}

.succ-page .succ-card .succ-divider {
    width: 48px;
    height: 3px;
    background: #C89301;
    border-radius: 1px;
    margin: 0 auto 24px
}

.succ-page .succ-card .succ-detail {
    font-size: 15px;
    line-height: 1.8;
    color: #556;
    margin: 0 0 48px
}

.succ-page .succ-card .succ-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.succ-page .succ-card .succ-actions .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #2244C1;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #2244C1;
    box-shadow: 2px 5px 28px 0 #2244c114;
    transition: background .15s ease-out, border-color .15s ease-out, box-shadow .2s ease;
    outline-offset: 2px
}

.succ-page .succ-card .succ-actions .btn-primary:hover {
    background: #1a35a8;
    border-color: #1a35a8;
    box-shadow: 2px 8px 36px 0 #2244c12e
}

.succ-page .succ-card .succ-actions .btn-primary:focus-visible {
    outline: 3px solid #C89301;
    outline-offset: 4px
}

.succ-page .succ-card .succ-actions .btn-secondary {
    display: inline-block;
    padding: 12px 24px;
    background: transparent;
    color: #2244C1;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #2244C1;
    transition: background .15s ease-out, color .15s ease-out;
    outline-offset: 2px
}

.succ-page .succ-card .succ-actions .btn-secondary:hover {
    background: #F1FDF3;
    color: #1a35a8;
    border-color: #1a35a8
}

.succ-page .succ-card .succ-actions .btn-secondary:focus-visible {
    outline: 3px solid #C89301;
    outline-offset: 4px
}

@media (max-width: 768px) {
    .succ-page {
        padding: 48px 12px
    }

    .succ-page .succ-card {
        padding: 24px
    }

    .succ-page .succ-card .succ-heading {
        font-size: 27px
    }

    .succ-page .succ-card .succ-actions {
        flex-direction: column;
        align-items: stretch
    }

    .succ-page .succ-card .succ-actions .btn-primary,
    .succ-page .succ-card .succ-actions .btn-secondary {
        text-align: center
    }
}