@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/600-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/montserrat@latest/700-italic.css";

html {
    scroll-behavior: auto;
    margin: 0;
    padding: 0
}

body {
    margin: 0;
    padding: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Montserrat', sans-serif
}

:focus-visible {
    outline: 2px solid #6E39AB;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #6e39ab2e
}

::selection {
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    color: #fff
}

.top-strip {
    background: #6E39AB;
    padding: 8px 0
}

.top-strip-pod {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.top-strip-pod a {
    color: #FEFFE8;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: opacity .15s ease-out;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 3px
}

.top-strip-pod a:hover {
    opacity: .78
}

.top-strip-pod a.active-link {
    background: #feffe826
}

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

.strip-contact-deck {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.strip-phone {
    color: #FEFFE8;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: opacity .15s ease-out;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.strip-phone:hover {
    opacity: .78
}

.strip-phone svg {
    flex-shrink: 0
}

.brand-banner {
    background: #FEFFE8;
    border-bottom: 3px solid #A82F0F;
    padding: 32px 0
}

.brand-banner-pod {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 32px
}

.brand-logo-cell {
    border-right: 3px solid #6E39AB;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 3px;
    padding: 16px 32px 16px 16px;
    box-shadow: 0 1px 3px 0 #6e39ab14
}

.brand-logo-cell img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    display: block
}

.brand-name-label {
    font-size: 14px;
    font-weight: 700;
    color: #6E39AB;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center
}

.brand-descriptor-cell {
    flex: 1
}

.brand-tagline {
    font-size: 29px;
    font-weight: 700;
    line-height: 1.2;
    color: #1a0030;
    margin: 0 0 8px;
    background: linear-gradient(100deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.brand-sub {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    color: #3a2050;
    margin: 0
}

.status-badge {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0
}

.status-live {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #A82F0F;
    color: #FEFFE8;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 3px;
    box-shadow: 0 6px 22px 0 #a82f0f14
}

.live-dot {
    width: 10px;
    height: 10px;
    border-radius: 40px;
    background: #FEFFE8;
    flex-shrink: 0
}

.status-note {
    font-size: 14px;
    color: #5a3a7a;
    font-weight: 400;
    line-height: 1.2;
    text-align: center
}

@media (max-width: 992px) {
    .brand-banner-pod {
        flex-wrap: wrap;
        gap: 16px
    }

    .status-badge {
        margin-left: 0;
        flex-direction: row;
        align-items: center
    }

    .brand-tagline {
        font-size: 29px
    }
}

@media (max-width: 576px) {
    .top-strip-pod {
        padding: 0 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .brand-banner-pod {
        padding: 0 16px;
        flex-direction: column;
        align-items: flex-start
    }

    .brand-logo-cell {
        flex-direction: row;
        padding: 16px;
        border-right: none;
        border-bottom: 3px solid #6E39AB;
        width: 100%;
        justify-content: center
    }

    .brand-tagline {
        font-size: 29px
    }

    .status-badge {
        margin-left: 0
    }
}

.site-footer {
    background: #3a1a60;
    overflow: hidden
}

.footer-top-row {
    background: linear-gradient(100deg, #6E39AB 0%, #A82F0F 100%);
    padding: 32px 0
}

.footer-top-pod {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap
}

.footer-logo-cell {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #feffe81f;
    border-radius: 3px;
    padding: 16px;
    box-shadow: 0 1px 3px 0 #6e39ab14;
    flex-shrink: 0
}

.footer-logo-cell img {
    width: 65px;
    height: 65px;
    object-fit: contain;
    display: block;
    background: #fff;
    border-radius: 3px;
    padding: 4px
}

.footer-brand-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.footer-brand-name {
    font-size: 29px;
    font-weight: 700;
    color: #FEFFE8;
    line-height: 1.2
}

.footer-brand-desc {
    font-size: 14px;
    font-weight: 400;
    color: #feffe8cc;
    line-height: 1.7
}

.footer-top-contact {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end
}

.footer-contact-link {
    color: #FEFFE8;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: opacity .18s ease-out;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.footer-contact-link:hover {
    opacity: .75
}

.footer-cols-pod {
    max-width: 1320px;
    margin: 0 auto;
    padding: 32px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 32px
}

.footer-about-cell {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer-about-text {
    font-size: 14px;
    font-weight: 400;
    color: #feffe8b8;
    line-height: 1.7;
    margin: 0
}

.footer-contact-page-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #feffe81a;
    color: #FEFFE8;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 3px;
    border: 1px solid #feffe840;
    transition: background .15s ease-out, border-color .15s ease-out;
    align-self: flex-start;
    min-height: 44px
}

.footer-contact-page-link:hover {
    background: #feffe82e;
    border-color: #feffe873
}

.footer-links-cell {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer-col-heading {
    font-size: 14px;
    font-weight: 700;
    color: #FEFFE8;
    line-height: 1.2;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #feffe826
}

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

.footer-policy-list a {
    color: #feffe8b8;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    text-decoration: none;
    transition: color .15s ease-out;
    display: block;
    min-height: 44px;
    display: flex;
    align-items: center
}

.footer-policy-list a:hover {
    color: #FEFFE8
}

.footer-address-cell {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer-address-text {
    font-size: 14px;
    color: #feffe8b8;
    line-height: 1.7;
    margin: 0;
    font-style: normal
}

.footer-bottom-row {
    background: #00000040;
    padding: 16px 0
}

.footer-bottom-pod {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.footer-copyright {
    font-size: 14px;
    color: #feffe880;
    line-height: 1.2;
    margin: 0
}

.footer-domain {
    font-size: 14px;
    color: #feffe880;
    line-height: 1.2;
    text-decoration: none;
    transition: color .15s ease-out
}

.footer-domain:hover {
    color: #FEFFE8
}

@media (max-width: 992px) {
    .footer-cols-pod {
        grid-template-columns: 1fr 1fr
    }

    .footer-about-cell {
        grid-column: 1 / -1
    }

    .footer-top-contact {
        margin-left: 0;
        align-items: flex-start;
        width: 100%
    }
}

@media (max-width: 576px) {
    .footer-cols-pod {
        grid-template-columns: 1fr;
        padding: 32px 16px
    }

    .footer-top-pod {
        padding: 0 16px
    }

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

.consent-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 95vw;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 12px 44px 0 #6e39ab21;
    z-index: 2000;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transform: translateX(-110%);
    transition: transform .18s ease-out
}

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

.consent-icon-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.consent-icon-svg {
    flex-shrink: 0
}

.consent-text {
    font-size: 14px;
    color: #3a2050;
    line-height: 1.7;
    margin: 0;
    font-family: 'Montserrat', sans-serif
}

.consent-text strong {
    font-weight: 700;
    color: #6E39AB
}

.consent-toggles-deck {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px;
    background: #FEFFE8;
    border-radius: 3px
}

.toggle-label {
    font-size: 14px;
    font-weight: 600;
    color: #3a2050;
    line-height: 1.2;
    font-family: 'Montserrat', sans-serif
}

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

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

.toggle-track {
    position: absolute;
    inset: 0;
    background: #d0c0e0;
    border-radius: 40px;
    cursor: pointer;
    transition: background .15s ease-out
}

.toggle-track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 40px;
    transition: transform .15s ease-out
}

.toggle-switch input:checked+.toggle-track {
    background: #6E39AB
}

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

.consent-actions {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.consent-accept-btn {
    background: #6E39AB;
    color: #FEFFE8;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    border: none;
    border-radius: 3px;
    padding: 16px;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    min-height: 44px;
    transition: background .15s ease-out
}

.consent-accept-btn:hover {
    background: #5a2d8a
}

.consent-accept-btn:focus-visible {
    outline: 2px solid #6E39AB;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #6e39ab2e
}

.consent-settings-toggle {
    background: none;
    border: none;
    color: #6E39AB;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: underline;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    min-height: 44px;
    padding: 8px;
    transition: color .15s ease-out;
    text-align: left
}

.consent-settings-toggle:hover {
    color: #A82F0F
}

.consent-settings-toggle:focus-visible {
    outline: 2px solid #6E39AB;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #6e39ab2e
}

.pref-settings-btn {
    position: fixed;
    bottom: 32px;
    left: 32px;
    width: 44px;
    height: 44px;
    background: #6E39AB;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1900;
    box-shadow: 0 6px 22px 0 #6e39ab14;
    transition: background .15s ease-out
}

.pref-settings-btn:hover {
    background: #5a2d8a
}

.pref-settings-btn:focus-visible {
    outline: 2px solid #6E39AB;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #6e39ab2e
}

.policy-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 64px 32px;
    color: #2a1f3d
}

.policy-inner p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 16px
}

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

.policy-inner li {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 8px
}

.policy-inner ul li::marker {
    color: #6E39AB
}

.policy-inner ol li::marker {
    color: #A82F0F;
    font-weight: 700
}

.policy-inner ul ul,
.policy-inner ol ol,
.policy-inner ul ol,
.policy-inner ol ul {
    margin-top: 8px;
    margin-bottom: 8px
}

.policy-inner em,
.policy-inner i {
    font-style: italic;
    color: #4a2f7a
}

.policy-inner a {
    color: #6E39AB;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .15s ease-out, text-decoration-color .2s ease
}

.policy-inner a:hover {
    color: #A82F0F;
    text-decoration-color: #A82F0F
}

.policy-inner a:visited {
    color: #5a2e8a
}

.policy-inner table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 17px;
    line-height: 1.7;
    box-shadow: 0 1px 3px 0 #6e39ab14;
    border-radius: 3px;
    overflow: hidden
}

.policy-inner thead {
    background: #6E39AB;
    color: #fff
}

.policy-inner thead th {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    padding: 16px;
    text-align: left;
    letter-spacing: 0
}

.policy-inner tbody tr {
    border-bottom: 1px solid #e8e0f5;
    transition: background .15s ease-out
}

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

.policy-inner tbody tr:nth-child(even) {
    background: #FEFFE8
}

.policy-inner tbody tr:hover {
    background: #f3edfc
}

.policy-inner td {
    padding: 16px;
    font-size: 17px;
    line-height: 1.7;
    vertical-align: top;
    color: #2a1f3d
}

.policy-inner th {
    padding: 16px
}

.policy-inner hr {
    border: none;
    border-top: 2px solid #e8e0f5;
    margin: 32px 0;
    border-radius: 3px
}

.policy-inner div {
    margin-bottom: 16px
}

@media (max-width: 576px) {
    .policy-inner {
        padding: 32px 16px
    }

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

    .policy-inner thead th,
    .policy-inner td {
        padding: 8px;
        font-size: 14px
    }

    .policy-inner p,
    .policy-inner li {
        font-size: 17px
    }
}

@media (min-width: 577px) and (max-width: 992px) {
    .policy-inner {
        padding: 64px 32px
    }

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

@media (min-width: 1200px) {
    .policy-inner {
        padding: 64px
    }
}

.entr {
    background: #fff;
    overflow-x: clip;
    position: relative
}

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

.entr ::selection {
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    color: #fff
}

.entr .geo-bg {
    position: absolute;
    top: 80px;
    right: -60px;
    width: 320px;
    height: 320px;
    border: 2px solid #6e39ab14;
    border-radius: 3px;
    animation: rotgeo 18s linear infinite;
    pointer-events: none;
    z-index: 0
}

.entr .geo-bg2 {
    position: absolute;
    top: 120px;
    right: -40px;
    width: 240px;
    height: 240px;
    border: 1px solid #a82f0f0f;
    border-radius: 3px;
    animation: rotgeo 26s linear infinite reverse;
    pointer-events: none;
    z-index: 0
}

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

    to {
        transform: rotate(360deg)
    }
}

@keyframes blursharp {
    from {
        filter: blur(8px);
        opacity: 0
    }

    to {
        filter: blur(0);
        opacity: 1
    }
}

@keyframes underline-draw {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.entr .pg-title-block {
    position: relative;
    padding: 64px 0;
    background: #FEFFE8;
    overflow: hidden
}

.entr .pg-title-block::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #6e39ab0f 0%, #a82f0f0a 100%);
    pointer-events: none
}

.entr .title-oversized {
    position: absolute;
    top: -16px;
    left: -8px;
    font-size: 220px;
    font-weight: 900;
    color: #6e39ab0d;
    line-height: 1.2;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    letter-spacing: -8px
}

.entr .title-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 1
}

.entr .title-layout {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 64px;
    min-height: 480px
}

.entr .title-text-col {
    flex: 0 0 58%;
    padding-bottom: 64px
}

.entr .title-img-col {
    flex: 1;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.entr .title-h1 {
    font-size: 55px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: blursharp .5s ease-out both
}

.entr .title-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    max-width: 520px;
    margin: 0
}

.entr .title-img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 3px;
    position: relative
}

.entr .title-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: sepia(20%) saturate(1.2) brightness(1.05);
    display: block
}

.entr .title-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #feffe880 0%, transparent 60%);
    pointer-events: none
}

.entr .divider-curve {
    position: relative;
    height: 32px;
    overflow: hidden;
    background: #fff
}

.entr .divider-curve::before,
.entr .divider-curve::after {
    content: '';
    position: absolute;
    left: -5%;
    width: 110%;
    height: 60px;
    border-radius: 40px;
    background: #FEFFE8
}

.entr .divider-curve::before {
    top: -44px
}

.entr .divider-curve::after {
    top: -38px;
    opacity: .5
}

.entr .divider-curve-inv {
    position: relative;
    height: 32px;
    overflow: hidden;
    background: #FEFFE8
}

.entr .divider-curve-inv::before,
.entr .divider-curve-inv::after {
    content: '';
    position: absolute;
    left: -5%;
    width: 110%;
    height: 60px;
    border-radius: 40px;
    background: #fff
}

.entr .divider-curve-inv::before {
    top: -44px
}

.entr .divider-curve-inv::after {
    top: -38px;
    opacity: .5
}

.entr .approach-block {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.entr .approach-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .approach-layout {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 64px;
    align-items: start
}

.entr .approach-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 32px;
    background: linear-gradient(110deg, #6E39AB 30%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    display: inline-block
}

.entr .approach-h2 .accent-word {
    position: relative;
    display: inline-block
}

.entr .approach-h2 .accent-word::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    animation: underline-draw .6s .3s ease-out forwards
}

.entr .approach-text-first {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    padding: 16px;
    background: #6e39ab0a;
    border-radius: 3px;
    margin: 0 0 16px
}

.entr .approach-text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 16px
}

.entr .approach-text:last-child {
    margin-bottom: 0
}

.entr .approach-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 8px
}

.entr .side-img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 40px;
    position: relative
}

.entr .side-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter .2s ease-out
}

.entr .side-img-wrap:hover img {
    filter: blur(2px) brightness(0.95)
}

.entr .side-dot {
    width: 12px;
    height: 12px;
    border-radius: 40px;
    background: linear-gradient(135deg, #6E39AB, #A82F0F);
    display: inline-block;
    margin-right: 8px;
    flex-shrink: 0
}

.entr .side-label {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 14px;
    color: #555;
    line-height: 1.7
}

.entr .scale-block {
    background: #FEFFE8;
    padding: 64px 0;
    position: relative
}

.entr .scale-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    margin-top: 32px
}

.entr .scale-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0;
    background: linear-gradient(115deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .scale-card {
    background: #fff;
    border-radius: 3px;
    padding: 32px;
    box-shadow: 0 6px 22px 0 #6e39ab14;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    overflow: hidden
}

.entr .scale-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #6E39AB, #A82F0F)
}

.entr .scale-num {
    font-size: 55px;
    line-height: 1.2;
    font-weight: 900;
    background: linear-gradient(120deg, #6E39AB, #A82F0F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .scale-label {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a
}

.entr .scale-sub {
    font-size: 14px;
    line-height: 1.7;
    color: #777
}

.entr .scale-img-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 32px;
    align-items: stretch
}

.entr .scale-img-wrap {
    flex: 0 0 300px;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 3px
}

.entr .scale-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.entr .scale-text-aside {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.entr .scale-aside-p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.entr .audience-block {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.entr .audience-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .audience-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-top: 32px
}

.entr .audience-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0;
    background: linear-gradient(120deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .aud-col {
    padding: 32px;
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.entr .aud-col.fits {
    background: #6e39ab0d
}

.entr .aud-col.notfits {
    background: #a82f0f0d
}

.entr .aud-col-h {
    font-size: 29px;
    line-height: 1.2;
    margin: 0;
    color: #2a2a2a
}

.entr .aud-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a
}

.entr .aud-dot-fits {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #6E39AB;
    flex-shrink: 0;
    margin-top: 8px
}

.entr .aud-dot-not {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #A82F0F;
    flex-shrink: 0;
    margin-top: 8px
}

.entr .aud-img-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 32px
}

.entr .aud-img-wrap {
    flex: 1;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 40px
}

.entr .aud-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.entr .conditions-block {
    padding: 64px 0;
    position: relative;
    background: #FEFFE8
}

.entr .conditions-diag {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #6e39ab0f 0%, #feffe800 55%, #a82f0f0d 100%);
    pointer-events: none
}

.entr .conditions-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 1
}

.entr .conditions-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 32px;
    background: linear-gradient(110deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .conditions-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px
}

.entr .cond-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 3px 0 #6e39ab14;
    transition: box-shadow .15s ease-out, filter .15s ease-out
}

.entr .cond-item:hover {
    box-shadow: 0 12px 44px 0 #6e39ab21;
    filter: none
}

.entr .cond-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 900;
    color: #6e39ab26
}

.entr .cond-h {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.entr .cond-p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0
}

.entr .reputation-block {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.entr .reputation-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .reputation-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start
}

.entr .reputation-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .rep-intro {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.entr .rep-cards {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.entr .rep-card {
    padding: 32px;
    border-radius: 3px;
    background: #FEFFE8;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    transition: background .2s ease-out
}

.entr .rep-card:hover {
    background: #6e39ab0f
}

.entr .rep-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 3px;
    background: linear-gradient(135deg, #6E39AB, #A82F0F);
    display: flex;
    align-items: center;
    justify-content: center
}

.entr .rep-icon svg {
    width: 20px;
    height: 20px;
    fill: #fff
}

.entr .rep-card-body {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.entr .rep-card-h {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.entr .rep-card-p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0
}

.entr .current-block {
    background: #FEFFE8;
    padding: 64px 0;
    position: relative
}

.entr .current-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .current-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 32px;
    background: linear-gradient(115deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .current-three {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 32px;
    align-items: start
}

.entr .cur-outer {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .cur-outer-card {
    padding: 32px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 6px 22px 0 #a82f0f14;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.entr .cur-outer-card-h {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.entr .cur-outer-card-p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0
}

.entr .cur-center {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.entr .cur-img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 3px;
    position: relative
}

.entr .cur-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.entr .cur-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, #feffe899 100%);
    pointer-events: none
}

.entr .cur-center-text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    padding: 16px;
    background: #6e39ab0a;
    border-radius: 3px;
    margin: 0
}

.entr .cur-right-outer {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .cur-right-card {
    padding: 32px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 6px 22px 0 #6e39ab14;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.entr .cur-right-card-h {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.entr .cur-right-card-p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0
}

@media (max-width: 1200px) {
    .entr .title-h1 {
        font-size: 40px
    }

    .entr .scale-num {
        font-size: 40px
    }

    .entr .current-three {
        grid-template-columns: 1fr 1fr
    }

    .entr .cur-right-outer {
        display: none
    }
}

@media (max-width: 992px) {
    .entr .title-layout {
        flex-direction: column;
        gap: 32px;
        min-height: unset
    }

    .entr .title-text-col {
        flex: unset;
        width: 100%;
        padding-bottom: 0
    }

    .entr .title-img-col {
        width: 100%
    }

    .entr .approach-layout {
        grid-template-columns: 1fr
    }

    .entr .approach-side {
        flex-direction: row
    }

    .entr .scale-grid {
        grid-template-columns: 1fr 1fr
    }

    .entr .scale-img-row {
        flex-direction: column
    }

    .entr .scale-img-wrap {
        flex: unset;
        width: 100%
    }

    .entr .audience-split {
        grid-template-columns: 1fr
    }

    .entr .conditions-cols {
        grid-template-columns: 1fr 1fr
    }

    .entr .reputation-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .current-three {
        grid-template-columns: 1fr
    }

    .entr .cur-outer {
        flex-direction: row
    }

    .entr .cur-right-outer {
        display: flex;
        flex-direction: row
    }

    .entr .aud-img-row {
        flex-direction: column
    }
}

@media (max-width: 576px) {
    .entr .title-h1 {
        font-size: 29px
    }

    .entr .scale-grid {
        grid-template-columns: 1fr
    }

    .entr .conditions-cols {
        grid-template-columns: 1fr
    }

    .entr .approach-side {
        flex-direction: column
    }

    .entr .cur-outer {
        flex-direction: column
    }

    .entr .cur-right-outer {
        flex-direction: column
    }

    .entr .scale-h2,
    .entr .audience-h2,
    .entr .conditions-h2,
    .entr .reputation-h2,
    .entr .current-h2 {
        font-size: 29px
    }

    .entr .approach-h2 {
        font-size: 29px
    }

    .entr .title-oversized {
        font-size: 120px
    }

    .entr .approach-container,
    .entr .scale-container,
    .entr .audience-container,
    .entr .conditions-container,
    .entr .reputation-container,
    .entr .current-container,
    .entr .title-container {
        padding: 0 16px
    }
}

.abt-us {
    overflow-x: clip
}

.abt-us .pg-title {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative;
    background: #fff
}

.abt-us .pg-title::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#6e39ab0f 1px, transparent 1px), linear-gradient(90deg, #6e39ab0f 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
    z-index: 0
}

.abt-us .pg-title-img {
    position: relative;
    overflow: hidden
}

.abt-us .pg-title-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) hue-rotate(0deg) contrast(1.1) sepia(0.15)
}

.abt-us .pg-title-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #6e39ab47 0%, #a82f0f2e 100%);
    mix-blend-mode: multiply;
    pointer-events: none
}

.abt-us .pg-title-text {
    position: relative;
    z-index: 1;
    padding: 64px;
    padding-bottom: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(180deg, #fff 0%, #FEFFE8 100%)
}

.abt-us .pg-title-text h1 {
    font-size: 55px;
    line-height: 1.2;
    margin: 0 0 32px;
    background: linear-gradient(120deg, #6E39AB 30%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .pg-title-text h1 .underline-word {
    position: relative;
    display: inline-block
}

.abt-us .pg-title-text h1 .underline-word::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 3px;
    width: 0;
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    animation: draw-line .8s .4s ease-out forwards
}

@keyframes draw-line {
    to {
        width: 100%
    }
}

.abt-us .pg-title-text p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d1a4a;
    margin: 0
}

.abt-us .pg-title-text .title-sub {
    font-size: 14px;
    line-height: 1.7;
    color: #6E39AB;
    margin-bottom: 16px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.abt-us .title-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.abt-us .title-divider svg {
    display: block;
    width: 100%
}

.abt-us .story-sect {
    background: linear-gradient(180deg, #FEFFE8 0%, #f5f0fc 100%);
    padding: 64px 0;
    position: relative
}

.abt-us .story-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start
}

.abt-us .story-label {
    position: sticky;
    top: 32px
}

.abt-us .story-label h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(110deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .story-label .vert-bar {
    width: 3px;
    height: 64px;
    background: linear-gradient(180deg, #6E39AB, #A82F0F);
    margin-bottom: 16px;
    border-radius: 3px
}

.abt-us .story-label .year-badge {
    display: inline-block;
    background: #6E39AB;
    color: #FEFFE8;
    font-size: 14px;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 3px;
    margin-top: 16px
}

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

.abt-us .story-body .first-para {
    background: #6e39ab0f;
    border-radius: 3px;
    padding: 32px
}

.abt-us .story-body p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d1a4a;
    margin: 0
}

.abt-us .story-body .img-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abt-us .story-body .img-pair figure {
    margin: 0;
    overflow: hidden;
    border-radius: 3px;
    aspect-ratio: 4/3
}

.abt-us .story-body .img-pair figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .2s ease-out
}

.abt-us .story-body .img-pair figure:hover img {
    transform: scale(1.04)
}

.abt-us .story-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #f5f0fc
}

.abt-us .story-divider svg {
    display: block;
    width: 100%
}

.abt-us .approach-sect {
    background: linear-gradient(180deg, #2d1a4a 0%, #1a0d30 100%);
    padding: 64px 0;
    position: relative
}

.abt-us .approach-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.abt-us .approach-inner h2 {
    font-size: 40px;
    line-height: 1.2;
    color: #FEFFE8;
    margin: 0 0 8px;
    background: linear-gradient(120deg, #c9a8f5 0%, #f5a88a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .approach-inner .approach-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #feffe8bf;
    margin: 0 0 64px;
    max-width: 600px
}

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

.abt-us .appr-card {
    background: #feffe80f;
    border-radius: 3px;
    padding: 32px;
    border: 1px solid #feffe81a;
    transition: border-color .15s ease-out, background .15s ease-out;
    animation: rotate-in .5s ease-out both
}

.abt-us .appr-card:nth-child(1) {
    animation-delay: .05s
}

.abt-us .appr-card:nth-child(2) {
    animation-delay: .12s
}

.abt-us .appr-card:nth-child(3) {
    animation-delay: .19s
}

@keyframes rotate-in {
    from {
        opacity: 0;
        transform: rotate(-2deg) translateY(16px)
    }

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

.abt-us .appr-card:hover {
    border-color: #6e39ab99;
    border-style: dashed;
    background: #6e39ab1f
}

.abt-us .appr-card .card-num {
    font-size: 55px;
    line-height: 1.2;
    background: linear-gradient(120deg, #6E39AB, #A82F0F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 16px;
    display: block
}

.abt-us .appr-card h3 {
    font-size: 17px;
    line-height: 1.2;
    color: #FEFFE8;
    margin: 0 0 16px
}

.abt-us .appr-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #feffe8b3;
    margin: 0
}

.abt-us .approach-img-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    margin-top: 64px;
    align-items: center
}

.abt-us .approach-img-row figure {
    margin: 0;
    overflow: hidden;
    border-radius: 3px;
    aspect-ratio: 4/3
}

.abt-us .approach-img-row figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.8) contrast(1.05)
}

.abt-us .approach-quote {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-us .approach-quote blockquote {
    margin: 0;
    padding: 32px;
    background: #feffe80f;
    border-radius: 3px;
    border: 1px solid #6e39ab4d
}

.abt-us .approach-quote blockquote p {
    font-size: 17px;
    line-height: 1.7;
    color: #FEFFE8;
    margin: 0 0 16px
}

.abt-us .approach-quote blockquote cite {
    font-size: 14px;
    line-height: 1.7;
    color: #feffe899;
    font-style: normal
}

.abt-us .approach-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #1a0d30
}

.abt-us .approach-divider svg {
    display: block;
    width: 100%
}

.abt-us .team-sect {
    background: linear-gradient(180deg, #fff 0%, #FEFFE8 100%);
    padding: 64px 0
}

.abt-us .team-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.abt-us .team-header {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 64px;
    gap: 32px
}

.abt-us .team-header h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0;
    background: linear-gradient(110deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .team-header p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d1a4a;
    margin: 0;
    max-width: 480px
}

.abt-us .team-list {
    display: flex;
    flex-direction: row;
    gap: 32px
}

.abt-us .team-member {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-us .team-member figure {
    margin: 0;
    overflow: hidden;
    border-radius: 40px 3px 40px 3px;
    aspect-ratio: 4/3;
    box-shadow: 0 6px 22px 0 #6e39ab14;
    transition: box-shadow .18s ease-out
}

.abt-us .team-member figure:hover {
    box-shadow: 0 12px 44px 0 #6e39ab21
}

.abt-us .team-member figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .2s ease-out
}

.abt-us .team-member figure:hover img {
    transform: scale(1.03)
}

.abt-us .team-member h4 {
    font-size: 17px;
    line-height: 1.2;
    color: #2d1a4a;
    margin: 0
}

.abt-us .team-member .role-tag {
    font-size: 14px;
    line-height: 1.7;
    color: #6E39AB;
    margin: 0
}

.abt-us .team-member p {
    font-size: 14px;
    line-height: 1.7;
    color: #4a3366;
    margin: 0
}

.abt-us .curved-deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 220px;
    pointer-events: none;
    overflow: hidden
}

@media (max-width: 1200px) {
    .abt-us .pg-title {
        grid-template-columns: 1fr 1fr
    }

    .abt-us .pg-title-text {
        padding: 64px 32px
    }

    .abt-us .pg-title-text h1 {
        font-size: 40px
    }

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

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

@media (max-width: 992px) {
    .abt-us .pg-title {
        grid-template-columns: 1fr
    }

    .abt-us .pg-title-img {
        height: 320px
    }

    .abt-us .pg-title-text {
        padding: 32px
    }

    .abt-us .pg-title-text h1 {
        font-size: 40px
    }

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

    .abt-us .story-label {
        position: static
    }

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

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

    .abt-us .team-header {
        flex-direction: column;
        align-items: flex-start
    }

    .abt-us .team-list {
        flex-direction: column
    }
}

@media (max-width: 576px) {
    .abt-us .pg-title-text h1 {
        font-size: 29px
    }

    .abt-us .pg-title-text {
        padding: 32px 16px
    }

    .abt-us .story-inner {
        padding: 0 16px
    }

    .abt-us .story-body .img-pair {
        grid-template-columns: 1fr
    }

    .abt-us .approach-inner {
        padding: 0 16px
    }

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

    .abt-us .team-inner {
        padding: 0 16px
    }

    .abt-us .approach-inner h2 {
        font-size: 29px
    }

    .abt-us .team-header h2 {
        font-size: 29px
    }

    .abt-us .story-label h2 {
        font-size: 29px
    }
}

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

.cont-us .pg-strip {
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #6E39AB 0%, #A82F0F 60%, #FEFFE8 100%)
}

.cont-us .reach-block {
    background: linear-gradient(155deg, #f5f0fc 0%, #fff8f6 50%, #FEFFE8 100%);
    padding: 64px 0 32px;
    position: relative
}

.cont-us .reach-block::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(ellipse at center, #6e39ab12 0%, transparent 70%);
    pointer-events: none;
    z-index: 0
}

.cont-us .reach-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 1
}

.cont-us .reach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.cont-us .reach-label {
    font-size: 14px;
    color: #6E39AB;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.cont-us .reach-heading {
    font-size: 55px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 16px;
    background: linear-gradient(120deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.cont-us .reach-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a4a;
    margin-bottom: 32px
}

.cont-us .reach-sub .first-para {
    background: #6e39ab0f;
    border-radius: 3px;
    padding: 16px;
    margin-bottom: 16px
}

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

.cont-us .contact-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 3px 0 #6e39ab14;
    transition: box-shadow .15s ease-out
}

.cont-us .contact-list li:hover {
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.cont-us .ci-icon {
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background: linear-gradient(135deg, #6E39AB 0%, #A82F0F 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.cont-us .ci-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.cont-us .ci-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cont-us .ci-label {
    font-size: 14px;
    color: #7a6a8a;
    font-weight: 500
}

.cont-us .ci-val {
    font-size: 17px;
    color: #2a1a3a;
    font-weight: 600;
    text-decoration: none;
    transition: color .15s ease-out
}

.cont-us .ci-val:hover {
    color: #6E39AB
}

.cont-us .decor-circles {
    position: absolute;
    bottom: -40px;
    right: 32px;
    width: 180px;
    height: 180px;
    pointer-events: none;
    z-index: 0
}

.cont-us .decor-circles circle {
    fill: none;
    stroke: #6E39AB;
    stroke-width: 1;
    opacity: .12
}

.cont-us .diag-divider {
    width: 100%;
    height: 32px;
    position: relative;
    overflow: hidden;
    background: #fff
}

.cont-us .diag-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 2px;
    background: linear-gradient(105deg, transparent 0%, #6E39AB 30%, #A82F0F 70%, transparent 100%);
    transform: rotate(-1deg);
    transform-origin: left center
}

.cont-us .form-block {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.cont-us .form-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.cont-us .form-layout {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 64px;
    align-items: start
}

.cont-us .form-desc-head {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    background: linear-gradient(120deg, #6E39AB 0%, #A82F0F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 16px
}

.cont-us .form-desc-text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a4a;
    margin-bottom: 32px
}

.cont-us .service-tags {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cont-us .stag {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 3px;
    background: #f5f0fc;
    font-size: 14px;
    color: #4a2a7a;
    font-weight: 500
}

.cont-us .stag-dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: linear-gradient(135deg, #6E39AB, #A82F0F);
    flex-shrink: 0
}

.cont-us .contact-form {
    background: #faf8fd;
    border-radius: 3px;
    padding: 32px;
    box-shadow: 0 6px 22px 0 #6e39ab14
}

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

.cont-us .field-grp {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cont-us .field-grp.full {
    grid-column: 1 / -1
}

.cont-us .field-label {
    font-size: 14px;
    color: #4a2a7a;
    font-weight: 600
}

.cont-us .field-input {
    padding: 16px;
    border: 1.5px solid #e0d6f0;
    border-radius: 3px;
    font-size: 17px;
    color: #2a1a3a;
    background: #fff;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
    outline: none;
    width: 100%;
    box-sizing: border-box
}

.cont-us .field-input::placeholder {
    color: #2a1a3a66
}

.cont-us .field-input:focus {
    border-color: #6E39AB;
    box-shadow: 0 1px 3px 0 #6e39ab14
}

.cont-us .cb-section {
    margin-bottom: 16px
}

.cont-us .cb-section-label {
    font-size: 14px;
    color: #4a2a7a;
    font-weight: 600;
    margin-bottom: 8px;
    display: block
}

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

.cont-us .cb-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border: 1.5px solid #e0d6f0;
    border-radius: 3px;
    cursor: pointer;
    transition: border-color .12s ease-out, background .12s ease-out;
    background: #fff
}

.cont-us .cb-item:hover {
    border-color: #6E39AB;
    background: #f5f0fc
}

.cont-us .cb-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #6E39AB;
    cursor: pointer;
    flex-shrink: 0
}

.cont-us .cb-item-text {
    font-size: 14px;
    color: #2a1a3a;
    line-height: 1.2
}

.cont-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
    padding: 16px;
    background: #6e39ab0a;
    border-radius: 3px
}

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

.cont-us .privacy-text {
    font-size: 14px;
    color: #4a3a5a;
    line-height: 1.7
}

.cont-us .privacy-text a {
    color: #6E39AB;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .12s ease-out
}

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

.cont-us .submit-btn {
    width: 100%;
    padding: 16px 32px;
    background: #2a1a3a;
    color: #FEFFE8;
    border: none;
    border-radius: 3px;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease-out, box-shadow .15s ease-out;
    position: relative;
    overflow: hidden
}

.cont-us .submit-btn:hover {
    background: #6E39AB;
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.cont-us .submit-btn:active {
    background: #A82F0F
}

.cont-us .submit-btn:focus-visible {
    outline: 2px solid #6E39AB;
    outline-offset: 3px
}

.cont-us .diag-divider2 {
    width: 100%;
    height: 32px;
    position: relative;
    overflow: hidden;
    background: #faf5e4
}

.cont-us .diag-divider2::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -5%;
    width: 110%;
    height: 2px;
    background: linear-gradient(108deg, transparent 0%, #A82F0F 40%, #6E39AB 80%, transparent 100%);
    transform: rotate(0.8deg);
    transform-origin: right center
}

.cont-us .info-strip {
    background: linear-gradient(160deg, #2a1a3a 0%, #3d1a1a 100%);
    padding: 64px 0;
    position: relative;
    overflow: hidden
}

.cont-us .info-strip-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 1
}

.cont-us .info-strip-decor {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    pointer-events: none;
    z-index: 0
}

.cont-us .info-strip-decor circle {
    fill: none;
    stroke: #FEFFE8;
    stroke-width: 1;
    opacity: .06
}

.cont-us .strip-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.cont-us .strip-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px;
    border-radius: 3px;
    background: #ffffff0a;
    border: 1px solid #feffe81a;
    transition: background .15s ease-out
}

.cont-us .strip-item:hover {
    background: #6e39ab26
}

.cont-us .strip-icon {
    width: 44px;
    height: 44px;
    border-radius: 3px;
    background: #feffe81a;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px
}

.cont-us .strip-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #FEFFE8;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.cont-us .strip-item-label {
    font-size: 14px;
    color: #feffe899;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .06em
}

.cont-us .strip-item-val {
    font-size: 17px;
    color: #FEFFE8;
    font-weight: 600;
    line-height: 1.7;
    text-decoration: none;
    transition: color .12s ease-out
}

.cont-us .strip-item-val:hover {
    color: #d4b8ff
}

.cont-us .strip-item-note {
    font-size: 14px;
    color: #feffe880;
    line-height: 1.7
}

.cont-us .strip-head {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #FEFFE8;
    margin-bottom: 8px
}

.cont-us .strip-head span {
    display: inline-block;
    position: relative
}

.cont-us .strip-head span::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    border-radius: 40px;
    animation: underline-draw .8s .3s ease-out forwards
}

@keyframes underline-draw {
    to {
        width: 100%
    }
}

.cont-us .resource-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px
}

.cont-us .res-card {
    background: #ffffff0f;
    border-radius: 3px;
    padding: 16px;
    border: 1px solid #feffe814;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    animation: card-flip .4s ease-out both;
    transition: background .15s ease-out
}

.cont-us .res-card:nth-child(1) {
    animation-delay: .1s
}

.cont-us .res-card:nth-child(2) {
    animation-delay: .2s
}

.cont-us .res-card:nth-child(3) {
    animation-delay: .3s
}

.cont-us .res-card:nth-child(4) {
    animation-delay: .4s
}

@keyframes card-flip {
    from {
        opacity: 0;
        transform: rotateY(90deg)
    }

    to {
        opacity: 1;
        transform: rotateY(0deg)
    }
}

.cont-us .res-card:hover {
    background: #6e39ab2e
}

.cont-us .res-type {
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background: linear-gradient(135deg, #6e39ab80, #a82f0f80);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    color: #FEFFE8;
    font-weight: 700;
    letter-spacing: .04em
}

.cont-us .res-info {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cont-us .res-name {
    font-size: 14px;
    color: #FEFFE8;
    font-weight: 600;
    line-height: 1.2
}

.cont-us .res-size {
    font-size: 14px;
    color: #feffe873
}

.cont-us .res-link {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 3px;
    background: #feffe814;
    transition: background .12s ease-out;
    flex-shrink: 0
}

.cont-us .res-link:hover {
    background: #6e39ab66
}

.cont-us .res-link svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #FEFFE8;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

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

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

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

    .cont-us .strip-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

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

@media (max-width: 576px) {

    .cont-us .reach-inner,
    .cont-us .form-inner,
    .cont-us .info-strip-inner {
        padding: 0 16px
    }

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

    .cont-us .form-row {
        grid-template-columns: 1fr
    }

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

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

    .cont-us .reach-block {
        padding: 32px 0 16px
    }

    .cont-us .form-block {
        padding: 32px 0
    }

    .cont-us .info-strip {
        padding: 32px 0
    }

    .cont-us .contact-form {
        padding: 16px
    }

    .cont-us .strip-item {
        padding: 16px
    }

    .cont-us .strip-head {
        font-size: 29px
    }
}

.lrn-prog {
    background: #fff;
    overflow-x: clip
}

.lrn-prog .divider-crosses {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 8px 0;
    overflow: hidden
}

.lrn-prog .divider-crosses span {
    display: inline-block;
    width: 10px;
    height: 10px;
    position: relative;
    flex-shrink: 0
}

.lrn-prog .divider-crosses span::before,
.lrn-prog .divider-crosses span::after {
    content: "";
    position: absolute;
    background: #6E39AB;
    opacity: .35
}

.lrn-prog .divider-crosses span::before {
    width: 2px;
    height: 10px;
    left: 4px;
    top: 0
}

.lrn-prog .divider-crosses span::after {
    width: 10px;
    height: 2px;
    left: 0;
    top: 4px
}

.lrn-prog .pg-title-block {
    max-width: 1320px;
    margin: 0 auto;
    padding: 64px 32px 32px;
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 32px;
    align-items: start;
    position: relative
}

.lrn-prog .pg-title-text {
    position: relative;
    z-index: 1
}

.lrn-prog .title-bg-num {
    position: absolute;
    top: -16px;
    left: -8px;
    font-size: 200px;
    line-height: 1.2;
    font-weight: 900;
    color: #6E39AB;
    opacity: .04;
    pointer-events: none;
    user-select: none;
    white-space: nowrap
}

.lrn-prog .prefix-shape {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, #6E39AB, #A82F0F);
    border-radius: 3px;
    margin-right: 8px;
    vertical-align: middle;
    transform: rotate(45deg)
}

.lrn-prog .pg-eyebrow {
    font-size: 14px;
    line-height: 1.7;
    color: #6E39AB;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    flex-direction: row
}

.lrn-prog .pg-h1 {
    font-size: 55px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #6E39AB 30%, #A82F0F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.lrn-prog .pg-h1 .underline-word {
    position: relative;
    display: inline-block
}

.lrn-prog .pg-h1 .underline-word::after {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    height: 3px;
    width: 0;
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    border-radius: 3px;
    animation: draw-line .7s .4s ease-out forwards
}

@keyframes draw-line {
    to {
        width: 100%
    }
}

.lrn-prog .pg-lead {
    font-size: 17px;
    line-height: 1.7;
    color: #2a1a3e;
    background: #FEFFE8;
    border-radius: 3px;
    padding: 16px;
    margin: 0 0 16px
}

.lrn-prog .pg-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a50;
    margin: 0 0 32px
}

.lrn-prog .pg-cta-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.lrn-prog .btn-primary {
    display: inline-block;
    padding: 16px 32px;
    background: #6E39AB;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
    border-radius: 40px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .15s ease-out, box-shadow .2s ease;
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.lrn-prog .btn-primary:hover {
    background: #5a2d8e;
    box-shadow: 0 12px 44px 0 #6e39ab21
}

.lrn-prog .btn-secondary {
    display: inline-block;
    padding: 16px 32px;
    background: transparent;
    color: #6E39AB;
    font-size: 17px;
    line-height: 1.2;
    border-radius: 40px;
    text-decoration: none;
    border: 2px solid #6E39AB;
    cursor: pointer;
    transition: color .15s ease-out, background .15s ease-out
}

.lrn-prog .btn-secondary:hover {
    background: #6E39AB;
    color: #fff
}

.lrn-prog .pg-title-img-col {
    position: relative
}

.lrn-prog .title-img-wrap {
    border-radius: 3px;
    overflow: hidden;
    aspect-ratio: 4/3;
    position: relative
}

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

.lrn-prog .title-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #6e39ab8c 0%, #a82f0f59 100%);
    border-radius: 3px
}

.lrn-prog .geo-motif {
    position: absolute;
    right: -16px;
    top: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none
}

.lrn-prog .geo-motif span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #6E39AB;
    opacity: .25
}

.lrn-prog .structure-block {
    background: #FEFFE8;
    padding: 64px 0 32px
}

.lrn-prog .structure-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 40fr 60fr;
    gap: 64px;
    align-items: start
}

.lrn-prog .struct-aside {
    position: sticky;
    top: 32px
}

.lrn-prog .struct-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(110deg, #6E39AB 20%, #A82F0F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.lrn-prog .struct-meta {
    font-size: 14px;
    line-height: 1.7;
    color: #6E39AB;
    margin: 0 0 32px;
    padding: 8px 16px;
    border-top: 2px solid #6E39AB;
    border-bottom: 2px solid #6e39ab33
}

.lrn-prog .struct-chart-label {
    font-size: 14px;
    line-height: 1.7;
    color: #3a2a50;
    margin: 0 0 16px;
    font-weight: 600
}

.lrn-prog .bar-chart {
    display: flex;
    flex-direction: column;
    gap: 8px
}

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

.lrn-prog .bar-label {
    font-size: 14px;
    line-height: 1.2;
    color: #3a2a50
}

.lrn-prog .bar-track {
    height: 16px;
    background: #6e39ab1a;
    border-radius: 3px;
    overflow: hidden
}

.lrn-prog .bar-fill {
    height: 100%;
    border-radius: 3px;
    animation: bar-grow .8s ease-out forwards;
    transform-origin: left
}

.lrn-prog .bar-fill.bf1 {
    background: linear-gradient(90deg, #6E39AB, #8b4fc7);
    width: 75%;
    animation-delay: .1s
}

.lrn-prog .bar-fill.bf2 {
    background: linear-gradient(90deg, #A82F0F, #c94020);
    width: 60%;
    animation-delay: .25s
}

.lrn-prog .bar-fill.bf3 {
    background: linear-gradient(90deg, #6E39AB, #A82F0F);
    width: 85%;
    animation-delay: .4s
}

.lrn-prog .bar-fill.bf4 {
    background: linear-gradient(90deg, #A82F0F, #6E39AB);
    width: 45%;
    animation-delay: .55s
}

@keyframes bar-grow {
    from {
        width: 0
    }
}

.lrn-prog .modules-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrn-prog .module-card {
    background: #fff;
    border-radius: 3px;
    padding: 16px;
    box-shadow: 0 1px 3px 0 #6e39ab14;
    transition: box-shadow .2s ease-out;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.lrn-prog .module-card:hover {
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.lrn-prog .module-num {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 900;
    background: linear-gradient(135deg, #6E39AB, #A82F0F);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    flex-shrink: 0;
    width: 40px
}

.lrn-prog .module-body {
    flex: 1
}

.lrn-prog .module-title {
    font-size: 17px;
    line-height: 1.2;
    color: #2a1a3e;
    margin: 0 0 8px;
    font-weight: 700
}

.lrn-prog .module-desc {
    font-size: 14px;
    line-height: 1.7;
    color: #5a4a70;
    margin: 0
}

.lrn-prog .bg-section {
    position: relative;
    padding: 64px 0;
    animation: brightness-pulse 5s ease-in-out infinite
}

@keyframes brightness-pulse {

    0%,
    100% {
        filter: brightness(1)
    }

    50% {
        filter: brightness(1.04)
    }
}

.lrn-prog .bg-section-img {
    position: absolute;
    inset: 0;
    background-image: url(./campaign_images/main-element_0013.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 0
}

.lrn-prog .bg-section-overlay {
    position: absolute;
    inset: 0;
    background: #1e0a37d1
}

.lrn-prog .bg-section-body {
    position: relative;
    z-index: 1;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 64px;
    align-items: center
}

.lrn-prog .bg-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(110deg, #d4b8f5 20%, #f5a88a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.lrn-prog .bg-lead {
    font-size: 17px;
    line-height: 1.7;
    color: #e8ddf5;
    margin: 0 0 16px;
    background: #6e39ab2e;
    border-radius: 3px;
    padding: 16px
}

.lrn-prog .bg-para {
    font-size: 17px;
    line-height: 1.7;
    color: #c8b8e0;
    margin: 0 0 32px
}

.lrn-prog .bg-stats-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrn-prog .stat-tile {
    background: #ffffff12;
    border-radius: 3px;
    padding: 16px;
    border: 1px solid #d4b8f533;
    transition: background .15s ease-out
}

.lrn-prog .stat-tile:hover {
    background: #ffffff1f
}

.lrn-prog .stat-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 900;
    background: linear-gradient(90deg, #d4b8f5, #f5a88a);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block
}

.lrn-prog .stat-label {
    font-size: 14px;
    line-height: 1.7;
    color: #c8b8e0
}

.lrn-prog .format-block {
    background: #fff;
    padding: 64px 0
}

.lrn-prog .format-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.lrn-prog .format-top {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 64px;
    margin-bottom: 32px;
    align-items: end
}

.lrn-prog .format-h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(115deg, #6E39AB 25%, #A82F0F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.lrn-prog .format-intro {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a50;
    margin: 0
}

.lrn-prog .format-aside-text {
    font-size: 14px;
    line-height: 1.7;
    color: #5a4a70;
    background: #FEFFE8;
    border-radius: 3px;
    padding: 16px
}

.lrn-prog .format-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.lrn-prog .fmt-item {
    border-radius: 3px;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .fmt-item.fi-left {
    background: #6E39AB
}

.lrn-prog .fmt-item.fi-mid {
    background: #FEFFE8
}

.lrn-prog .fmt-item.fi-right {
    background: #2a1a3e
}

.lrn-prog .fmt-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px
}

.lrn-prog .fmt-item-title {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0
}

.lrn-prog .fmt-item-title.light {
    color: #fff
}

.lrn-prog .fmt-item-title.dark {
    color: #2a1a3e
}

.lrn-prog .fmt-item-desc {
    font-size: 14px;
    line-height: 1.7;
    margin: 0
}

.lrn-prog .fmt-item-desc.light {
    color: #ffffffd1
}

.lrn-prog .fmt-item-desc.dark {
    color: #5a4a70
}

.lrn-prog .geo-edge {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 0;
    pointer-events: none
}

.lrn-prog .geo-edge span {
    display: block;
    width: 4px;
    height: 4px;
    background: #6E39AB;
    opacity: .18;
    border-radius: 3px;
    flex-shrink: 0
}

@media (max-width: 1200px) {
    .lrn-prog .pg-h1 {
        font-size: 40px
    }

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

@media (max-width: 992px) {
    .lrn-prog .pg-title-block {
        grid-template-columns: 1fr;
        padding: 32px 16px 16px
    }

    .lrn-prog .title-bg-num {
        font-size: 120px
    }

    .lrn-prog .structure-inner {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 0 16px
    }

    .lrn-prog .struct-aside {
        position: static
    }

    .lrn-prog .bg-section-body {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 0 16px
    }

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

    .lrn-prog .format-inner {
        padding: 0 16px
    }

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

@media (max-width: 576px) {
    .lrn-prog .pg-h1 {
        font-size: 29px
    }

    .lrn-prog .struct-h2,
    .lrn-prog .bg-h2,
    .lrn-prog .format-h2 {
        font-size: 29px
    }

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

    .lrn-prog .btn-primary,
    .lrn-prog .btn-secondary {
        text-align: center
    }

    .lrn-prog .stat-num {
        font-size: 29px
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 16px;
    background: #FEFFE8
}

.success-page .success-card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 40px;
    padding: 64px;
    box-shadow: 0 12px 44px 0 #6e39ab21;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.success-page .checkmark-wrap {
    width: 72px;
    height: 72px;
    border-radius: 40px;
    background: linear-gradient(135deg, #c9b3e8 0%, #f0c4bb 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.success-page .checkmark-wrap svg {
    display: block
}

.success-page .success-heading {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #6E39AB 30%, #A82F0F 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.success-page .success-subtext {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a4d;
    margin: 0 0 32px
}

.success-page .success-note {
    font-size: 14px;
    line-height: 1.7;
    color: #6E39AB;
    background: #f5f0fb;
    border-radius: 3px;
    padding: 16px;
    margin: 0 0 32px;
    width: 100%;
    box-sizing: border-box
}

.success-page .home-btn {
    display: inline-block;
    padding: 16px 32px;
    background: #6E39AB;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
    border-radius: 3px;
    text-decoration: none;
    transition: background .15s ease-out, box-shadow .2s ease;
    box-shadow: 0 1px 3px 0 #6e39ab14
}

.success-page .home-btn:hover {
    background: #A82F0F;
    box-shadow: 0 6px 22px 0 #6e39ab14
}

.success-page .home-btn:focus {
    outline: 2px solid #6E39AB;
    outline-offset: 4px
}

.success-page .home-btn:active {
    background: #5a2d8e
}

@media (max-width: 576px) {
    .success-page .success-card {
        padding: 32px 16px
    }

    .success-page .success-heading {
        font-size: 29px
    }
}