html {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

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

.pghead {
    position: relative;
    background: linear-gradient(160deg, #611ADB 0%, #8b3ef5 40%, #D19ED9 100%);
    overflow: hidden
}

.pghead__accent-bar {
    height: 4px;
    background: linear-gradient(90deg, #E6E2F0 0%, #D19ED9 50%, #611ADB 100%)
}

.pghead__upper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 40px 16px;
    gap: 40px
}

.pghead__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0
}

.pghead__brand-img-box {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 2px solid #E6E2F0;
    box-shadow: 0 1px 5px -2px #611adb12 0 4px 18px -2px #611adb1c;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0
}

.pghead__brand-img-box img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.pghead__brand-name {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    letter-spacing: 0;
    white-space: nowrap
}

.pghead__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0
}

.pghead__contact-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #E6E2F0;
    text-decoration: none;
    line-height: 1.5;
    padding: 8px 0;
    min-height: 44px;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.pghead__contact-link:hover {
    color: #fff
}

.pghead__contact-link:focus {
    outline: 2px solid #E6E2F0;
    outline-offset: 3px;
    border-radius: 6px
}

.pghead__contact-link .fa {
    font-size: 15px;
    color: #D19ED9;
    flex-shrink: 0
}

.pghead__lower {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px 24px
}

.pghead__rule {
    height: 1px;
    background: #d19ed94d;
    margin-bottom: 16px
}

.pgnav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.pgnav__item {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    font-weight: 400;
    color: #E6E2F0;
    text-decoration: none;
    line-height: 1.5;
    padding: 8px 16px;
    border-radius: 6px;
    border: 1px solid transparent;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1), color .1s cubic-bezier(0.4, 0, 1, 1)
}

.pgnav__item:hover {
    background: #e6e2f01f;
    border-color: #d19ed966;
    color: #fff
}

.pgnav__item:focus {
    outline: 2px solid #E6E2F0;
    outline-offset: 2px
}

.pgnav__item .codicon {
    font-size: 15px;
    color: #D19ED9;
    flex-shrink: 0
}

.pgnav__item--active {
    background: #e6e2f02e;
    border-color: #d19ed980;
    color: #fff;
    font-weight: 700
}

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

    .pghead__lower {
        padding: 0 16px 16px
    }

    .pghead__contacts {
        align-items: flex-start
    }

    .pgnav {
        gap: 8px
    }

    .pgnav__item {
        padding: 8px 12px;
        font-size: 15px
    }
}

@media (max-width: 375px) {
    .pghead__upper {
        padding: 16px 8px;
        gap: 16px
    }

    .pghead__lower {
        padding: 0 8px 16px
    }

    .pgnav__item {
        padding: 8px
    }
}

.pgfoot {
    background: #1a0a3d;
    border-top: 3px solid #611ADB
}

.pgfoot__grid {
    max-width: 1600px;
    margin: 0 auto;
    padding: 40px 40px 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 40px;
    align-items: start
}

.pgfoot__contact-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.pgfoot__col-label {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    font-weight: 700;
    color: #D19ED9;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 8px
}

.pgfoot__addr {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #E6E2F0;
    line-height: 1.8
}

.pgfoot__addr .fa {
    color: #D19ED9;
    margin-top: 4px;
    flex-shrink: 0;
    font-size: 15px
}

.pgfoot__link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #E6E2F0;
    text-decoration: none;
    line-height: 1.5;
    padding: 8px 0;
    min-height: 44px;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.pgfoot__link:hover {
    color: #fff
}

.pgfoot__link:focus {
    outline: 2px solid #D19ED9;
    outline-offset: 3px;
    border-radius: 6px
}

.pgfoot__link .fa {
    color: #D19ED9;
    font-size: 15px;
    flex-shrink: 0
}

.pgfoot__brand-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.pgfoot__brand-img-box {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 2px solid #E6E2F0;
    box-shadow: 0 1px 5px -2px #611adb12 0 4px 18px -2px #611adb1c;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0
}

.pgfoot__brand-img-box img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.pgfoot__copy {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #D19ED9;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap
}

.pgfoot__nav-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end
}

.pgfoot__nav-link {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #E6E2F0;
    text-decoration: none;
    line-height: 1.5;
    padding: 8px 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .1s cubic-bezier(0.4, 0, 1, 1)
}

.pgfoot__nav-link:hover {
    color: #fff
}

.pgfoot__nav-link:focus {
    outline: 2px solid #D19ED9;
    outline-offset: 3px;
    border-radius: 6px
}

.pgfoot__bottom-bar {
    border-top: 1px solid #d19ed933;
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px 40px;
    display: flex;
    align-items: center;
    justify-content: center
}

.pgfoot__domain {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    color: #e6e2f080;
    line-height: 1.5
}

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

    .pgfoot__nav-col {
        align-items: flex-start
    }

    .pgfoot__brand-col {
        align-items: flex-start;
        flex-direction: row;
        gap: 16px
    }

    .pgfoot__bottom-bar {
        padding: 16px
    }
}

@media (max-width: 375px) {
    .pgfoot__grid {
        padding: 24px 8px 16px
    }

    .pgfoot__bottom-bar {
        padding: 16px 8px
    }
}

.ck-notice {
    position: fixed;
    top: 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90%;
    max-width: 680px;
    background: #fff;
    border: 1px solid #E6E2F0;
    border-radius: 10px;
    box-shadow: 0 9px 36px -2px #611adb21;
    z-index: 2000;
    padding: 24px;
    font-family: 'PT Serif', serif
}

.ck-notice__desc {
    font-size: 15px;
    color: #2d1a5e;
    line-height: 1.8;
    margin-bottom: 16px
}

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

.ck-notice__panel {
    background: #E6E2F0;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 16px
}

.ck-notice__panel-label {
    font-size: 15px;
    font-weight: 700;
    color: #611ADB;
    line-height: 1.5;
    display: block;
    margin-bottom: 8px
}

.ck-notice__category {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #2d1a5e;
    line-height: 1.5;
    margin-bottom: 8px
}

.ck-notice__category input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #611ADB;
    flex-shrink: 0
}

.ck-notice__always-on {
    font-size: 15px;
    color: #611ADB;
    font-style: italic;
    line-height: 1.5;
    margin-bottom: 8px
}

.ck-notice__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.ck-notice__btn {
    font-family: 'PT Serif', serif;
    font-size: 15px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 0;
    min-height: 44px;
    text-decoration: underline;
    line-height: 1.5;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.ck-notice__btn:focus {
    outline: 2px solid #611ADB;
    outline-offset: 2px;
    border-radius: 6px
}

.ck-notice__btn--accept {
    color: #611ADB
}

.ck-notice__btn--accept:hover {
    color: #3d0fa3
}

.ck-notice__btn--reject {
    color: #2d1a5e
}

.ck-notice__btn--reject:hover {
    color: #611ADB
}

.ck-notice__btn--settings {
    color: #611ADB;
    margin-left: auto
}

.ck-notice__btn--settings:hover {
    color: #3d0fa3
}

.legal-ao-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #2a1a4a;
    line-height: 1.8
}

.legal-ao-inner h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #611ADB;
    margin-bottom: 40px;
    margin-top: 0;
    padding-bottom: 24px;
    border-bottom: 2px solid #E6E2F0
}

.legal-ao-inner h2 {
    font-size: 22px;
    line-height: 1.5;
    color: #2a1a4a;
    margin-top: 80px;
    margin-bottom: 24px;
    padding: 16px 24px;
    background: #E6E2F0;
    border-radius: 10px
}

.legal-ao-inner h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #611ADB;
    margin-top: 40px;
    margin-bottom: 16px
}

.legal-ao-inner h4 {
    font-size: 15px;
    line-height: 1.5;
    color: #2a1a4a;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.legal-ao-inner h5 {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    margin-top: 24px;
    margin-bottom: 8px
}

.legal-ao-inner h6 {
    font-size: 15px;
    line-height: 1.5;
    color: #7a5a9a;
    margin-top: 16px;
    margin-bottom: 8px
}

.legal-ao-inner p {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 80ch
}

.legal-ao-inner ul,
.legal-ao-inner ol {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a;
    margin-top: 0;
    margin-bottom: 24px;
    padding-left: 24px;
    max-width: 80ch
}

.legal-ao-inner ul {
    list-style: none;
    padding-left: 0
}

.legal-ao-inner ul li {
    padding-left: 24px;
    position: relative;
    margin-bottom: 8px
}

.legal-ao-inner ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    border-radius: 0;
    background: #D19ED9;
    transform: rotate(45deg)
}

.legal-ao-inner ol {
    list-style: decimal
}

.legal-ao-inner ol li {
    margin-bottom: 8px;
    padding-left: 8px
}

.legal-ao-inner ol li::marker {
    color: #611ADB;
    font-size: 15px
}

.legal-ao-inner strong,
.legal-ao-inner b {
    color: #2a1a4a;
    font-weight: 700
}

.legal-ao-inner em,
.legal-ao-inner i {
    color: #4a2a8a;
    font-style: italic
}

.legal-ao-inner a {
    color: #611ADB;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 3px;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1), text-decoration-color .16s cubic-bezier(0.4, 0, 1, 1)
}

.legal-ao-inner a:hover {
    color: #4a0fb8;
    text-decoration-color: #611ADB
}

.legal-ao-inner a:visited {
    color: #7a3adb
}

.legal-ao-inner hr {
    border: none;
    height: 1px;
    background: #E6E2F0;
    margin: 40px 0;
    border-radius: 0
}

@media (max-width: 768px) {
    .legal-ao-inner {
        padding: 40px 24px
    }

    .legal-ao-inner h1 {
        font-size: 52px
    }

    .legal-ao-inner h2 {
        margin-top: 40px;
        padding: 16px
    }

    .legal-ao-inner p,
    .legal-ao-inner ul,
    .legal-ao-inner ol {
        max-width: 100%
    }
}

@media (max-width: 375px) {
    .legal-ao-inner {
        padding: 24px 16px
    }

    .legal-ao-inner h1 {
        font-size: 22px
    }

    .legal-ao-inner h2 {
        font-size: 15px;
        margin-top: 24px
    }

    .legal-ao-inner h3 {
        font-size: 15px
    }
}

.mcd {
    background: #fff;
    overflow-x: hidden
}

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

.mcd img {
    display: block;
    max-width: 100%
}

.mcd ::selection {
    background: #611ADB;
    color: #fff
}

.mcd .pg-band {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px
}

.mcd .hero-row {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    align-items: start;
    padding: 80px 40px;
    max-width: 1600px;
    margin: 0 auto;
    position: relative
}

.mcd .hero-row::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(323deg, #E6E2F0 0%, #fff 60%);
    z-index: 0
}

.mcd .noise-layer {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .04;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")
}

.mcd .hero-left {
    position: relative;
    z-index: 2
}

.mcd .hero-right {
    position: relative;
    z-index: 2
}

.mcd .cat-tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    border: 1px solid #611ADB;
    border-radius: 6px;
    padding: 8px 16px;
    margin-bottom: 24px;
    background: #611adb0d
}

.mcd .hero-h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #1e1530;
    margin: 0 0 24px
}

.mcd .hero-h1 .grad-word {
    background: linear-gradient(323deg, #611ADB, #D19ED9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.mcd .hero-meta-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-bottom: 24px
}

.mcd .hero-meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
    color: #3d2d6b
}

.mcd .hero-meta-item i {
    color: #611ADB;
    font-size: 15px
}

.mcd .hero-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2d6b;
    margin: 0 0 24px
}

.mcd .hero-img-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 36px -2px #611adb21
}

.mcd .hero-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.mcd .hero-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 70%, #1e0a3c73 0%, transparent 65%), radial-gradient(ellipse at 80% 20%, #1e0a3c4d 0%, transparent 55%);
    pointer-events: none
}

.mcd .side-card {
    background: #fff;
    border-radius: 10px;
    border: 1.5px solid #E6E2F0;
    box-shadow: 0 4px 18px -2px #611adb1c;
    padding: 24px;
    position: sticky;
    top: 24px
}

.mcd .side-card .price-num {
    font-size: 52px;
    line-height: 1.1;
    color: #611ADB;
    font-weight: 700;
    margin-bottom: 8px
}

.mcd .side-card .price-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #3d2d6b;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #E6E2F0
}

.mcd .side-card .price-note {
    font-size: 15px;
    line-height: 1.5;
    color: #7a6a99;
    font-style: italic;
    margin-bottom: 24px
}

.mcd .side-stat-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.mcd .side-stat-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    font-size: 15px;
    line-height: 1.5;
    color: #1e1530
}

.mcd .side-stat-list li i {
    color: #611ADB;
    font-size: 15px;
    width: 16px;
    flex-shrink: 0
}

.mcd .side-stat-list li strong {
    color: #611ADB
}

.mcd .btn-enroll {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 16px 24px;
    border-radius: 10px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    text-decoration: none;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-enroll i {
    transition: transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-enroll:hover {
    background: #611ADB;
    color: #fff
}

.mcd .btn-enroll:hover i {
    transform: translateX(5px)
}

.mcd .seats-badge {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 8px 16px;
    background: #611adb0f;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    border-left: 3px solid #611ADB;
    border-top: 1px solid #611adb1f
}

.mcd .seats-badge i {
    font-size: 15px
}

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

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

.mcd .prog-section {
    background: #fff;
    padding: 80px 0
}

.mcd .prog-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px
}

.mcd .prog-head {
    margin-bottom: 40px
}

.mcd .prog-head h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #1e1530;
    margin: 0 0 8px;
    display: inline-block;
    border-bottom: 2px solid #611ADB;
    padding-bottom: 8px
}

.mcd .prog-head p {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2d6b;
    margin: 16px 0 0
}

.mcd .prog-body {
    font-size: 15px;
    line-height: 1.8;
    color: #1e1530
}

.mcd .prog-body h2 {
    font-size: 22px;
    line-height: 1.5;
    color: #611ADB;
    margin: 40px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #E6E2F0
}

.mcd .prog-body p {
    margin: 0 0 16px;
    counter-increment: para-count
}

.mcd .prog-body ul {
    padding-left: 24px;
    margin: 0 0 16px
}

.mcd .prog-body li {
    margin-bottom: 8px;
    color: #3d2d6b
}

.mcd .prog-body blockquote {
    border-left: 3px solid #611ADB;
    border-top: 1px solid #611adb26;
    margin: 24px 0;
    padding: 16px 24px;
    background: #611adb0a;
    border-radius: 0 10px 10px 0;
    color: #3d2d6b;
    font-style: italic
}

.mcd .prog-body cite {
    display: block;
    margin-top: 8px;
    font-size: 15px;
    color: #611ADB;
    font-style: normal
}

.mcd .prog-body details {
    margin: 16px 0;
    border: 1px solid #E6E2F0;
    border-radius: 10px;
    overflow: hidden
}

.mcd .prog-body summary {
    padding: 16px;
    cursor: pointer;
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    background: #611adb0a;
    list-style: none
}

.mcd .prog-body summary::-webkit-details-marker {
    display: none
}

.mcd .prog-body details[open] summary {
    border-bottom: 1px solid #E6E2F0
}

.mcd .prog-body details> :not(summary) {
    padding: 16px
}

.mcd .prog-body abbr {
    text-decoration: underline dotted #611ADB;
    cursor: help
}

.mcd .prog-body em {
    color: #611ADB;
    font-style: italic
}

.mcd .prog-body figure {
    margin: 24px 0;
    border-radius: 10px;
    overflow: hidden
}

.mcd .prog-body figcaption {
    font-size: 15px;
    color: #7a6a99;
    padding: 8px 0 0;
    font-style: italic
}

.mcd .div-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, #D19ED9 30%, #611ADB 50%, #D19ED9 70%, transparent);
    margin: 0
}

.mcd .desc-section {
    background: linear-gradient(323deg, #E6E2F0 0%, #fff 55%);
    padding: 80px 0;
    position: relative
}

.mcd .desc-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1' fill='%23611ADB' opacity='0.07'/%3E%3C/svg%3E") repeat;
    animation: bg-drift 18s linear infinite;
    pointer-events: none
}

@keyframes bg-drift {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: 60px 60px
    }
}

.mcd .desc-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1
}

.mcd .desc-cols {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 40px;
    align-items: start
}

.mcd .desc-divider-line {
    width: 1px;
    background: linear-gradient(180deg, transparent, #D19ED9 20%, #611ADB 50%, #D19ED9 80%, transparent);
    align-self: stretch
}

.mcd .desc-col-head {
    font-size: 22px;
    line-height: 1.5;
    color: #1e1530;
    margin: 0 0 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #611ADB;
    display: inline-block
}

.mcd .desc-body {
    font-size: 15px;
    line-height: 1.8;
    color: #1e1530
}

.mcd .desc-body h2 {
    font-size: 22px;
    line-height: 1.5;
    color: #611ADB;
    margin: 24px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #E6E2F0
}

.mcd .desc-body p {
    margin: 0 0 16px
}

.mcd .desc-body ul {
    padding-left: 24px;
    margin: 0 0 16px
}

.mcd .desc-body li {
    margin-bottom: 8px;
    color: #3d2d6b
}

.mcd .desc-body blockquote {
    border-left: 3px solid #D19ED9;
    border-top: 1px solid #d19ed94d;
    margin: 24px 0;
    padding: 16px 24px;
    background: #d19ed91a;
    border-radius: 0 10px 10px 0;
    color: #3d2d6b;
    font-style: italic
}

.mcd .desc-body mark {
    background: #611adb1f;
    color: #1e1530;
    padding: 0 4px;
    border-radius: 6px
}

.mcd .desc-body small {
    font-size: 15px;
    color: #7a6a99
}

.mcd .para-num {
    color: #611ADB;
    font-weight: 700
}

.mcd .ring-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 32px;
    position: relative;
    font-size: 15px;
    font-weight: 700;
    color: #611ADB;
    flex-shrink: 0
}

.mcd .ring-num::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 32px;
    border: 2px solid #E6E2F0
}

.mcd .ring-num::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 32px;
    border: 2px solid transparent;
    border-top-color: #611ADB;
    border-right-color: #D19ED9
}

.mcd .div-thick {
    height: 8px;
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%)
}

.mcd .metrics-section {
    background: #1e1530;
    padding: 80px 0
}

.mcd .metrics-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px
}

.mcd .metrics-head {
    text-align: center;
    margin-bottom: 40px
}

.mcd .metrics-head h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
    display: inline-block;
    border-bottom: 2px solid #D19ED9;
    padding-bottom: 8px
}

.mcd .metrics-head p {
    font-size: 15px;
    line-height: 1.8;
    color: #D19ED9;
    max-width: 640px;
    margin: 0 auto
}

.mcd .metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px
}

.mcd .metric-card {
    background: #ffffff0a;
    border: 1px solid #d19ed933;
    border-radius: 10px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 1px 5px -2px #611adb12;
    transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), background .15s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .metric-card:hover {
    border-color: #611adb80;
    background: #611adb14
}

.mcd .metric-card .m-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #611adb33;
    color: #D19ED9;
    font-size: 22px
}

.mcd .metric-card .m-label {
    font-size: 15px;
    line-height: 1.5;
    color: #D19ED9;
    margin-bottom: 8px
}

.mcd .metric-card .m-val {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    font-weight: 700
}

.mcd .cta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap
}

.mcd .btn-cta-primary {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 10px;
    border: 2px solid #D19ED9;
    background: transparent;
    color: #D19ED9;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s cubic-bezier(0.4, 0, 1, 1), color .18s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-cta-primary i {
    transition: transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-cta-primary:hover {
    background: #D19ED9;
    color: #1e1530
}

.mcd .btn-cta-primary:hover i {
    transform: translateX(5px)
}

.mcd .btn-cta-sec {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 10px;
    border: 2px solid #fff3;
    background: transparent;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .18s cubic-bezier(0.4, 0, 1, 1), background .18s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-cta-sec i {
    transition: transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.mcd .btn-cta-sec:hover {
    border-color: #fff9;
    background: #ffffff0f
}

.mcd .btn-cta-sec:hover i {
    transform: translateX(5px)
}

@media (max-width: 1366px) {
    .mcd .hero-row {
        grid-template-columns: 1fr 340px;
        padding: 80px 24px
    }

    .mcd .hero-h1 {
        font-size: 52px
    }

    .mcd .prog-inner,
    .mcd .desc-inner,
    .mcd .metrics-inner {
        padding: 0 24px
    }
}

@media (max-width: 768px) {
    .mcd .hero-row {
        grid-template-columns: 1fr;
        padding: 40px 16px;
        gap: 24px
    }

    .mcd .hero-h1 {
        font-size: 52px
    }

    .mcd .side-card {
        position: static
    }

    .mcd .desc-cols {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .mcd .desc-divider-line {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, transparent, #D19ED9 30%, #611ADB 50%, #D19ED9 70%, transparent)
    }

    .mcd .metrics-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .mcd .prog-inner,
    .mcd .desc-inner,
    .mcd .metrics-inner {
        padding: 0 16px
    }

    .mcd .prog-section,
    .mcd .desc-section,
    .mcd .metrics-section {
        padding: 40px 0
    }

    .mcd .metrics-head h2 {
        font-size: 52px
    }

    .mcd .prog-head h2 {
        font-size: 52px
    }
}

@media (max-width: 375px) {
    .mcd .hero-h1 {
        font-size: 52px
    }

    .mcd .metrics-grid {
        grid-template-columns: 1fr
    }

    .mcd .hero-meta-row {
        flex-direction: column;
        align-items: flex-start
    }

    .mcd .cta-row {
        flex-direction: column;
        align-items: stretch
    }

    .mcd .btn-cta-primary,
    .mcd .btn-cta-sec {
        justify-content: center
    }
}

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

.srv-pg .srv-schema {
    display: none
}

.srv-pg .divider-radial {
    width: 100%;
    height: 2px;
    background: radial-gradient(ellipse at center, #611ADB 0%, transparent 70%);
    border: none;
    margin: 0
}

.srv-pg .title-blk {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    position: relative
}

.srv-pg .title-blk .img-side {
    position: relative;
    overflow: hidden
}

.srv-pg .title-blk .img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: sepia(0.25) contrast(1.08) brightness(0.92) saturate(0.85);
    min-height: 480px
}

.srv-pg .title-blk .img-side::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #611adb2e 0%, transparent 60%), linear-gradient(to top, #611adb38 0%, transparent 50%);
    pointer-events: none
}

.srv-pg .title-blk .corner-line-tl {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #611ADB;
    border-left: 2px solid #611ADB;
    pointer-events: none;
    z-index: 2
}

.srv-pg .title-blk .text-side {
    padding: 80px 80px 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    background: #fff;
    border-right: 4px solid #611ADB
}

.srv-pg .title-blk .text-side .corner-line-br {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 40px;
    height: 40px;
    border-bottom: 2px solid #D19ED9;
    border-right: 2px solid #D19ED9;
    pointer-events: none
}

.srv-pg .title-blk .text-side .sub-label {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.srv-pg .title-blk .text-side h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #1b1035;
    margin: 0 0 24px
}

.srv-pg .title-blk .text-side h1 .punct {
    color: #611ADB
}

.srv-pg .title-blk .text-side .lead-para {
    font-size: 22px;
    line-height: 1.5;
    color: #3d3354;
    margin: 0 0 24px
}

.srv-pg .title-blk .text-side .cta-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.srv-pg .title-blk .text-side .btn-prim {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 6px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1);
    text-decoration: none
}

.srv-pg .title-blk .text-side .btn-prim i {
    transition: transform .12s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .title-blk .text-side .btn-prim:hover {
    background: #611ADB;
    color: #fff;
    border-style: dashed
}

.srv-pg .title-blk .text-side .btn-prim:hover i {
    transform: translateX(6px)
}

.srv-pg .title-blk .text-side .btn-prim:focus {
    outline: 2px solid #611ADB;
    outline-offset: 3px
}

.srv-pg .title-blk .text-side .stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #E6E2F0
}

.srv-pg .title-blk .text-side .stat-item .stat-num {
    font-size: 52px;
    line-height: 1.1;
    color: #611ADB;
    display: block
}

.srv-pg .title-blk .text-side .stat-item .stat-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #3d3354
}

.srv-pg .srv-list-blk {
    background: linear-gradient(323deg, #611ADB 0%, #E6E2F0 100%);
    animation: bg-desat 8s ease-in-out infinite alternate;
    position: relative;
    padding: 80px 0
}

@keyframes bg-desat {
    0% {
        filter: saturate(1)
    }

    50% {
        filter: saturate(0.3)
    }

    100% {
        filter: saturate(1)
    }
}

.srv-pg .srv-list-blk .radial-spot {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 55% at 50% 50%, #ffffff38 0%, transparent 70%);
    pointer-events: none
}

.srv-pg .srv-list-blk .dots-group {
    position: absolute;
    bottom: 40px;
    right: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    pointer-events: none;
    overflow: hidden
}

.srv-pg .srv-list-blk .dots-group span {
    display: block;
    border-radius: 32px;
    background: #ffffff47
}

.srv-pg .srv-list-blk .dots-group span:nth-child(1) {
    width: 6px;
    height: 6px
}

.srv-pg .srv-list-blk .dots-group span:nth-child(2) {
    width: 10px;
    height: 10px
}

.srv-pg .srv-list-blk .dots-group span:nth-child(3) {
    width: 6px;
    height: 6px
}

.srv-pg .srv-list-blk .dots-group span:nth-child(4) {
    width: 14px;
    height: 14px
}

.srv-pg .srv-list-blk .dots-group span:nth-child(5) {
    width: 8px;
    height: 8px
}

.srv-pg .srv-list-blk .dots-group span:nth-child(6) {
    width: 6px;
    height: 6px
}

.srv-pg .srv-list-blk .inner-bound {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 80px;
    position: relative;
    z-index: 1
}

.srv-pg .srv-list-blk .sec-head {
    margin-bottom: 40px
}

.srv-pg .srv-list-blk .sec-head h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
    text-decoration: underline;
    text-decoration-color: #ffffff4d;
    text-underline-offset: 6px
}

.srv-pg .srv-list-blk .sec-head .sec-sub {
    font-size: 22px;
    line-height: 1.5;
    color: #ffffffe0;
    max-width: 680px
}

.srv-pg .srv-list-blk .srv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.srv-pg .srv-list-blk .srv-card {
    background: #ffffffed;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 4px 18px -2px #611adb1c;
    border-right: 4px solid #611ADB;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: box-shadow .18s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .srv-list-blk .srv-card:hover {
    box-shadow: 0 9px 36px -2px #611adb21;
    border-style: dashed
}

.srv-pg .srv-list-blk .srv-card .card-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 5px -2px #611adb2e
}

.srv-pg .srv-list-blk .srv-card .card-icon i {
    color: #fff;
    font-size: 22px
}

.srv-pg .srv-list-blk .srv-card h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #1b1035;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 4px
}

.srv-pg .srv-list-blk .srv-card .card-body {
    font-size: 15px;
    line-height: 1.8;
    color: #3d3354
}

.srv-pg .srv-list-blk .srv-card .card-body p {
    margin: 0 0 8px
}

.srv-pg .srv-list-blk .srv-card .card-body p:last-child {
    margin: 0
}

.srv-pg .srv-list-blk .srv-card .card-body .num-accent {
    color: #611ADB;
    font-size: 22px;
    line-height: 1.1
}

.srv-pg .srv-list-blk .srv-card .tag-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.srv-pg .srv-list-blk .srv-card .tag-row .tag {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    background: #E6E2F0;
    border-radius: 6px;
    padding: 4px 16px;
    display: inline-block
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-label {
    font-size: 15px;
    line-height: 1.5;
    color: #3d3354;
    display: flex;
    justify-content: space-between
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-track {
    width: 100%;
    height: 8px;
    background: #E6E2F0;
    border-radius: 32px;
    overflow: hidden
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-fill {
    height: 100%;
    border-radius: 32px;
    transition: width .5s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-fill.lv1 {
    background: #D19ED9;
    width: 35%
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-fill.lv2 {
    background: #9b5ecb;
    width: 62%
}

.srv-pg .srv-list-blk .srv-card .status-bar-wrap .bar-fill.lv3 {
    background: #611ADB;
    width: 88%
}

.srv-pg .srv-list-blk .feature-wide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    background: #ffffffed;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 1px 5px -2px #611adb12;
    border-right: 4px solid #D19ED9;
    align-items: center
}

.srv-pg .srv-list-blk .feature-wide:hover {
    border-style: dashed
}

.srv-pg .srv-list-blk .feature-wide .fw-img {
    aspect-ratio: 4/3;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 9px 36px -2px #611adb21
}

.srv-pg .srv-list-blk .feature-wide .fw-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: contrast(1.06) brightness(0.94)
}

.srv-pg .srv-list-blk .feature-wide .fw-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srv-pg .srv-list-blk .feature-wide .fw-text h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #1b1035;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 4px
}

.srv-pg .srv-list-blk .feature-wide .fw-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #3d3354;
    margin: 0
}

.srv-pg .srv-list-blk .feature-wide .fw-text p .num-accent {
    color: #611ADB;
    font-size: 22px
}

.srv-pg .srv-list-blk .review-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 0
}

.srv-pg .srv-list-blk .review-card {
    background: #ffffffed;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 1px 5px -2px #611adb12;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    border-right: 4px solid #E6E2F0;
    transition: border-color .14s cubic-bezier(0.4, 0, 1, 1)
}

.srv-pg .srv-list-blk .review-card:hover {
    border-color: #611ADB;
    border-style: dashed
}

.srv-pg .srv-list-blk .review-card .rev-portrait {
    width: 72px;
    min-width: 72px;
    aspect-ratio: 7/9;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 4px 18px -2px #611adb1c
}

.srv-pg .srv-list-blk .review-card .rev-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.srv-pg .srv-list-blk .review-card .rev-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srv-pg .srv-list-blk .review-card .rev-body .rev-name {
    font-size: 15px;
    line-height: 1.5;
    color: #1b1035;
    font-weight: 700
}

.srv-pg .srv-list-blk .review-card .rev-body .rev-role {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB
}

.srv-pg .srv-list-blk .review-card .rev-body .rev-text {
    font-size: 15px;
    line-height: 1.8;
    color: #3d3354;
    margin: 0
}

@media (max-width: 1366px) {
    .srv-pg .title-blk .text-side {
        padding: 40px 40px 40px 24px
    }

    .srv-pg .title-blk .text-side h1 {
        font-size: 52px
    }

    .srv-pg .srv-list-blk .inner-bound {
        padding: 0 40px
    }
}

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

    .srv-pg .title-blk .img-side img {
        min-height: 260px
    }

    .srv-pg .title-blk .text-side {
        padding: 40px 24px;
        border-right: none;
        border-bottom: 4px solid #611ADB
    }

    .srv-pg .title-blk .text-side h1 {
        font-size: 52px
    }

    .srv-pg .title-blk .text-side .stat-row {
        gap: 24px
    }

    .srv-pg .title-blk .text-side .stat-item .stat-num {
        font-size: 22px
    }

    .srv-pg .srv-list-blk {
        padding: 40px 0
    }

    .srv-pg .srv-list-blk .inner-bound {
        padding: 0 16px
    }

    .srv-pg .srv-list-blk .sec-head h2 {
        font-size: 22px
    }

    .srv-pg .srv-list-blk .srv-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .srv-pg .srv-list-blk .feature-wide {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: 24px
    }

    .srv-pg .srv-list-blk .review-row {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .srv-pg .srv-list-blk .dots-group {
        display: none
    }
}

@media (max-width: 375px) {
    .srv-pg .title-blk .text-side h1 {
        font-size: 22px
    }

    .srv-pg .title-blk .text-side .lead-para {
        font-size: 15px
    }

    .srv-pg .title-blk .text-side .stat-row {
        flex-direction: column;
        gap: 16px
    }

    .srv-pg .srv-list-blk .srv-card {
        padding: 24px 16px
    }

    .srv-pg .srv-list-blk .review-card {
        flex-direction: column;
        padding: 24px 16px
    }
}

.mstr {
    background: #fff;
    overflow-x: hidden
}

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

.mstr .pg-top {
    background: linear-gradient(323deg, #611ADB, #E6E2F0);
    padding: 80px 24px 40px
}

.mstr .pg-top__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center
}

.mstr .pg-top__img-col {
    flex: 0 0 420px;
    position: relative
}

.mstr .pg-top__img-frame {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 36px -2px #611adb21;
    border: 3px solid #d19ed980;
    position: relative
}

.mstr .pg-top__img-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(323deg, #611adb2e, transparent 60%);
    z-index: 1;
    pointer-events: none
}

.mstr .pg-top__img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: sepia(0.22) contrast(1.08) saturate(0.85) brightness(0.97);
    transition: filter .18s cubic-bezier(0.4, 0, 1, 1);
    display: block
}

.mstr .pg-top__img-frame:hover img {
    filter: sepia(0) contrast(1) saturate(1) brightness(1)
}

.mstr .pg-top__shape-a {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 32px;
    border: 2px solid #d19ed959;
    top: -16px;
    left: -16px;
    pointer-events: none
}

.mstr .pg-top__shape-b {
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 32px;
    background: #611adb12;
    bottom: -16px;
    right: -16px;
    pointer-events: none
}

.mstr .pg-top__text-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.mstr .pg-top__label {
    font-size: 15px;
    line-height: 1.5;
    color: #611adbd9;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase
}

.mstr .pg-top__h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #1a0a3d;
    font-weight: 800;
    margin: 0;
    animation: lift-in .5s cubic-bezier(0.4, 0, 1, 1) both
}

@keyframes lift-in {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

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

.mstr .pg-top__desc {
    font-size: 15px;
    line-height: 1.8;
    color: #2d1a5e;
    margin: 0;
    max-width: 520px
}

.mstr .pg-top__curve {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    display: block;
    overflow: visible
}

.mstr .card-grid-area {
    padding: 80px 24px;
    background: #fff;
    max-width: 1600px;
    margin: 0 auto
}

.mstr .card-grid-area__heading {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    font-weight: 700;
    margin: 0 0 40px;
    padding-bottom: 8px;
    border-bottom: 2px solid #611ADB;
    display: inline-block
}

.mstr .card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

.mstr .mcard {
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 18px -2px #611adb1c;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .16s cubic-bezier(0.4, 0, 1, 1), transform .16s cubic-bezier(0.4, 0, 1, 1);
    border: 1px solid #E6E2F0
}

.mstr .mcard:hover {
    box-shadow: 0 9px 36px -2px #611adb21;
    transform: translateY(-4px)
}

.mstr .mcard__img-wrap {
    aspect-ratio: 4/3;
    overflow: hidden;
    position: relative;
    flex-shrink: 0
}

.mstr .mcard__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(3px);
    transition: filter .5s cubic-bezier(0.4, 0, 1, 1);
    display: block
}

.mstr .mcard:hover .mcard__img-wrap img {
    filter: blur(0)
}

.mstr .mcard__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #611ADB;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 600;
    z-index: 2
}

.mstr .mcard__user-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #e6e2f0eb;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 600;
    z-index: 2
}

.mstr .mcard__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1
}

.mstr .mcard__meta-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.mstr .mcard__meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #5a4a7a
}

.mstr .mcard__meta-item i {
    font-size: 15px;
    color: #611ADB
}

.mstr .mcard__h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    font-weight: 700;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 4px
}

.mstr .mcard__desc {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2a6a;
    margin: 0
}

.mstr .mcard__price-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap
}

.mstr .mcard__price {
    font-size: 22px;
    line-height: 1.1;
    color: #611ADB;
    font-weight: 800
}

.mstr .mcard__price-des {
    font-size: 15px;
    line-height: 1.5;
    color: #5a4a7a
}

.mstr .mcard__price-note {
    font-size: 15px;
    line-height: 1.5;
    color: #9370b8;
    font-style: italic
}

.mstr .mcard__seats {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 600
}

.mstr .mcard__seats i {
    font-size: 15px
}

.mstr .mcard__cta {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 6px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .14s cubic-bezier(0.4, 0, 1, 1), color .14s cubic-bezier(0.4, 0, 1, 1);
    align-self: flex-start
}

.mstr .mcard__cta i {
    transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.mstr .mcard__cta:hover {
    background: #611ADB;
    color: #fff
}

.mstr .mcard__cta:hover i {
    transform: translateX(5px)
}

.mstr .mcard__views {
    font-size: 15px;
    line-height: 1.5;
    color: #9370b8;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.mstr .mcard__views i {
    font-size: 15px
}

.mstr .compare-area {
    background: linear-gradient(323deg, #E6E2F0 0%, #fff 100%);
    padding: 80px 24px
}

.mstr .compare-area__inner {
    max-width: 1600px;
    margin: 0 auto
}

.mstr .compare-area__heading {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    font-weight: 700;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #611ADB;
    text-underline-offset: 4px
}

.mstr .compare-area__sub {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2a6a;
    margin: 0 0 40px;
    max-width: 600px
}

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

.mstr .cmp-opt {
    border-radius: 10px;
    background: #fff;
    border: 2px solid #E6E2F0;
    padding: 40px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    transition: border-color .16s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.mstr .cmp-opt.rec {
    border-color: #611ADB;
    box-shadow: 0 4px 18px -2px #611adb1c;
    background: linear-gradient(323deg, #f5f0ff, #fff)
}

.mstr .cmp-opt__rec-tag {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #611ADB;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    padding: 2px 16px;
    border-radius: 6px;
    font-weight: 700;
    white-space: nowrap
}

.mstr .cmp-opt__name {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    font-weight: 700;
    margin: 0
}

.mstr .cmp-opt__price {
    font-size: 22px;
    line-height: 1.1;
    color: #611ADB;
    font-weight: 800
}

.mstr .cmp-opt__desc {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2a6a;
    margin: 0;
    flex: 1
}

.mstr .cmp-opt__feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.mstr .cmp-opt__feature-list li {
    font-size: 15px;
    line-height: 1.5;
    color: #3d2a6a;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.mstr .cmp-opt__feature-list li i {
    color: #611ADB;
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 2px
}

.mstr .cmp-opt__btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    border-radius: 6px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .14s cubic-bezier(0.4, 0, 1, 1), color .14s cubic-bezier(0.4, 0, 1, 1);
    align-self: flex-start
}

.mstr .cmp-opt.rec .cmp-opt__btn {
    background: #611ADB;
    color: #fff
}

.mstr .cmp-opt__btn i {
    transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.mstr .cmp-opt__btn:hover {
    background: #611ADB;
    color: #fff
}

.mstr .cmp-opt.rec .cmp-opt__btn:hover {
    background: #4a12b0
}

.mstr .cmp-opt__btn:hover i {
    transform: translateX(5px)
}

.mstr .frosted-area {
    padding: 80px 24px;
    background: linear-gradient(323deg, #611ADB 0%, #9b59d6 60%, #D19ED9 100%);
    position: relative
}

.mstr .frosted-area__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: stretch
}

.mstr .frosted-card {
    flex: 1;
    background: #ffffff26;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 10px;
    border: 1px solid #ffffff47;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: inset 0 1px 0 #ffffff4d 0 4px 18px -2px #611adb1c
}

.mstr .frosted-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #fff3;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #fff6;
    position: relative
}

.mstr .frosted-card__icon i {
    font-size: 22px;
    color: #fff
}

.mstr .frosted-card__icon-outline {
    position: absolute;
    inset: -4px;
    border-radius: 10px;
    border: 1.5px solid #ffffff40;
    animation: outline-trace 2s cubic-bezier(0.4, 0, 1, 1) infinite
}

@keyframes outline-trace {
    0% {
        opacity: .2;
        transform: scale(1)
    }

    50% {
        opacity: .8;
        transform: scale(1.06)
    }

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

.mstr .frosted-card__h4 {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    font-weight: 700;
    margin: 0
}

.mstr .frosted-card__p {
    font-size: 15px;
    line-height: 1.8;
    color: #ffffffe0;
    margin: 0
}

.mstr .frosted-card__num {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800
}

.mstr .frosted-card__num span {
    font-size: 22px;
    color: #ffffffb3;
    font-weight: 400
}

@media (max-width: 1366px) {
    .mstr .pg-top__h1 {
        font-size: 52px
    }

    .mstr .pg-top__img-col {
        flex: 0 0 340px
    }

    .mstr .compare-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width: 768px) {
    .mstr .pg-top__inner {
        flex-direction: column
    }

    .mstr .pg-top__img-col {
        flex: 0 0 auto;
        width: 100%
    }

    .mstr .pg-top__h1 {
        font-size: 52px
    }

    .mstr .card-grid {
        grid-template-columns: 1fr
    }

    .mstr .compare-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .mstr .frosted-area__inner {
        flex-direction: column
    }
}

@media (max-width: 375px) {
    .mstr .pg-top__h1 {
        font-size: 22px
    }

    .mstr .pg-top {
        padding: 40px 16px 24px
    }

    .mstr .card-grid-area {
        padding: 40px 16px
    }

    .mstr .compare-area {
        padding: 40px 16px
    }

    .mstr .frosted-area {
        padding: 40px 16px
    }

    .mstr .frosted-card {
        padding: 24px 16px
    }

    .mstr .cmp-opt {
        padding: 40px 16px 16px
    }
}

.frst {
    overflow-x: hidden
}

.frst .pg-band {
    background: #fff
}

.frst .pg-band--alt {
    background: #E6E2F0
}

.frst .pg-band--deep {
    background: #611ADB
}

.frst .pg-band--mid {
    background: #f5f2fb
}

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

.frst img {
    display: block;
    max-width: 100%
}

.frst p {
    margin: 0
}

.frst h1,
.frst h2,
.frst h3,
.frst h4,
.frst h5,
.frst h6 {
    margin: 0
}

.frst ul,
.frst ol {
    margin: 0;
    padding: 0;
    list-style: none
}

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

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

@keyframes frst-fade-up {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

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

@keyframes frst-scale-in {
    from {
        transform: scale(0.92);
        opacity: 0
    }

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

.frst .t-reveal {
    animation: frst-clip-reveal .5s cubic-bezier(0.4, 0, 1, 1) both
}

.frst .t-fade-up {
    animation: frst-fade-up .5s cubic-bezier(0.4, 0, 1, 1) both
}

.frst .t-scale-in {
    animation: frst-scale-in .5s cubic-bezier(0.4, 0, 1, 1) both
}

.frst .t-delay-1 {
    animation-delay: .12s
}

.frst .t-delay-2 {
    animation-delay: .22s
}

.frst .t-delay-3 {
    animation-delay: .34s
}

.frst .t-delay-4 {
    animation-delay: .44s
}

.frst .max-w {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px
}

@media (max-width: 768px) {
    .frst .max-w {
        padding-left: 16px;
        padding-right: 16px
    }
}

.frst .divider-tri {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    display: block
}

.frst .divider-tri svg {
    display: block;
    width: 100%
}

.frst .divider-tri--inv svg {
    transform: scaleY(-1)
}

.frst .titl {
    padding-top: 80px;
    padding-bottom: 0;
    position: relative;
    background: #fff
}

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

.frst .titl__bg-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.frst .titl__bg-grid svg {
    width: 100%;
    height: 100%;
    opacity: .04
}

.frst .titl__text-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 1
}

.frst .titl__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase
}

.frst .titl__eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 0;
    background: #611ADB;
    transform: rotate(45deg);
    flex-shrink: 0
}

.frst .titl__h1 {
    font-size: 68px;
    line-height: 1.1;
    color: #1b1035;
    font-weight: 800
}

.frst .titl__h1 span.acc {
    color: #611ADB
}

.frst .titl__h1 span.light {
    color: #D19ED9
}

.frst .titl__desc {
    font-size: 22px;
    line-height: 1.5;
    color: #3d2e6b;
    max-width: 520px
}

.frst .titl__actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.frst .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 6px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1)
}

.frst .btn-primary:hover {
    background: #611ADB;
    color: #fff
}

.frst .btn-primary:hover .btn-icon {
    transform: translateX(6px)
}

.frst .btn-icon {
    transition: transform .14s cubic-bezier(0.4, 0, 1, 1);
    display: inline-flex
}

.frst .btn-sec {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 6px;
    border: 2px solid #D19ED9;
    background: transparent;
    color: #3d2e6b;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s ease-in, color .18s ease-in
}

.frst .btn-sec:hover {
    background: #D19ED9;
    color: #1b1035
}

.frst .btn-sec:hover .btn-icon {
    transform: translateX(6px)
}

.frst .titl__img-col {
    position: relative;
    z-index: 1
}

.frst .titl__img-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 36px -2px #611adb21
}

.frst .titl__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.frst .titl__img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(323deg, #611adb8c 0%, #e6e2f01f 100%);
    pointer-events: none
}

.frst .titl__img-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: #ffffffed;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 4px 18px -2px #611adb1c;
    min-width: 180px
}

.frst .titl__img-badge-label {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 700
}

.frst .titl__img-badge-sub {
    font-size: 15px;
    line-height: 1.5;
    color: #3d2e6b
}

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

    .frst .titl__h1 {
        font-size: 52px
    }

    .frst .titl__img-col {
        order: -1
    }
}

@media (max-width: 375px) {
    .frst .titl__h1 {
        font-size: 52px
    }

    .frst .titl__desc {
        font-size: 15px
    }
}

.frst .nums {
    background: #611ADB;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative
}

.frst .nums__decor {
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 340px;
    pointer-events: none;
    overflow: hidden
}

.frst .nums__decor svg {
    width: 100%;
    height: 100%;
    opacity: .07
}

.frst .nums__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px
}

.frst .nums__label {
    font-size: 15px;
    line-height: 1.5;
    color: #D19ED9;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em
}

.frst .nums__h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800;
    max-width: 640px
}

.frst .nums__h2 span.acc {
    color: #D19ED9
}

.frst .nums__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px
}

.frst .nums__card {
    background: #ffffff12;
    border-radius: 10px;
    padding: 24px;
    border: 1px solid #d19ed92e;
    box-shadow: inset 0 1px 5px -2px #d19ed917;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), transform .16s cubic-bezier(0.4, 0, 1, 1);
    cursor: default
}

.frst .nums__card:hover {
    background: #ffffff21;
    transform: scale(1.04)
}

.frst .nums__card--sm {
    transform: scale(0.97);
    opacity: .85
}

.frst .nums__card--sm:hover {
    transform: scale(1.01);
    opacity: 1
}

.frst .nums__val {
    font-size: 68px;
    line-height: 1.1;
    color: #fff;
    font-weight: 900
}

.frst .nums__val span.acc {
    color: #D19ED9
}

.frst .nums__card-label {
    font-size: 22px;
    line-height: 1.5;
    color: #E6E2F0;
    font-weight: 600
}

.frst .nums__card-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #e6e2f0bf
}

.frst .nums__img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 40px
}

.frst .nums__img-wrap {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 4px 18px -2px #611adb21
}

.frst .nums__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s cubic-bezier(0.4, 0, 1, 1)
}

.frst .nums__img-wrap:hover img {
    transform: scale(1.04)
}

@media (max-width: 768px) {
    .frst .nums__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .frst .nums__h2 {
        font-size: 52px
    }

    .frst .nums__img-row {
        grid-template-columns: 1fr
    }
}

@media (max-width: 375px) {
    .frst .nums__grid {
        grid-template-columns: 1fr
    }

    .frst .nums__val {
        font-size: 52px
    }
}

.frst .appr {
    background: #f5f2fb;
    padding-top: 80px;
    padding-bottom: 0;
    position: relative
}

.frst .appr__inner {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 40px;
    align-items: start
}

.frst .appr__sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.frst .appr__sidebar-img {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 36px -2px #611adb21
}

.frst .appr__sidebar-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.frst .appr__sidebar-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.frst .appr__sidebar-stat {
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 5px -2px #611adb12;
    border: 1px solid #611adb14;
    transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1)
}

.frst .appr__sidebar-stat:hover {
    box-shadow: 0 4px 18px -2px #611adb1c
}

.frst .appr__sidebar-stat-val {
    font-size: 22px;
    line-height: 1.1;
    color: #611ADB;
    font-weight: 800
}

.frst .appr__sidebar-stat-lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #3d2e6b
}

.frst .appr__main {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.frst .appr__h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #1b1035;
    font-weight: 800;
    border-bottom: 2px solid #611ADB;
    padding-bottom: 16px
}

.frst .appr__h2 span.acc {
    color: #611ADB
}

.frst .appr__intro {
    font-size: 22px;
    line-height: 1.5;
    color: #3d2e6b
}

.frst .appr__items {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.frst .appr__item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: start;
    padding: 24px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #611adb14;
    box-shadow: 0 1px 5px -2px #611adb12;
    transition: box-shadow .18s ease-in, transform .18s ease-in
}

.frst .appr__item:hover {
    box-shadow: 0 4px 18px -2px #611adb1c;
    transform: scale(1.015)
}

.frst .appr__item-num {
    width: 56px;
    height: 56px;
    border-radius: 6px;
    background: linear-gradient(323deg, #611ADB 0%, #E6E2F0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1.1;
    color: #fff;
    font-weight: 900;
    flex-shrink: 0
}

.frst .appr__item-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.frst .appr__item-h {
    font-size: 22px;
    line-height: 1.5;
    color: #1b1035;
    font-weight: 700;
    border-bottom: 1px solid #E6E2F0;
    padding-bottom: 8px
}

.frst .appr__item-p {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2e6b
}

.frst .appr__item-p span.acc {
    color: #611ADB;
    font-weight: 700
}

@media (max-width: 768px) {
    .frst .appr__inner {
        grid-template-columns: 1fr
    }

    .frst .appr__sidebar {
        position: static
    }

    .frst .appr__h2 {
        font-size: 52px
    }
}

@media (max-width: 375px) {
    .frst .appr__h2 {
        font-size: 52px
    }

    .frst .appr__item {
        grid-template-columns: 1fr
    }
}

.frst .exp {
    background: #fff;
    padding-top: 80px;
    padding-bottom: 80px
}

.frst .exp__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
    max-width: 700px
}

.frst .exp__eyebrow {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em
}

.frst .exp__h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #1b1035;
    font-weight: 800;
    border-bottom: 2px solid #D19ED9;
    padding-bottom: 16px
}

.frst .exp__h2 span.acc {
    color: #611ADB
}

.frst .exp__sub {
    font-size: 22px;
    line-height: 1.5;
    color: #3d2e6b
}

.frst .exp__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.frst .exp__phases {
    display: flex;
    flex-direction: column;
    gap: 0
}

.frst .exp__phase {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: stretch;
    padding-bottom: 24px
}

.frst .exp__phase:last-child {
    padding-bottom: 0
}

.frst .exp__phase-track {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 40px
}

.frst .exp__phase-dot {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 18px -2px #611adb1c;
    transition: transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.frst .exp__phase:hover .exp__phase-dot {
    transform: scale(1.15)
}

.frst .exp__phase-dot svg {
    width: 20px;
    height: 20px
}

.frst .exp__phase-line {
    flex: 1;
    width: 2px;
    background: linear-gradient(180deg, #D19ED9 0%, #E6E2F0 100%);
    margin-top: 8px
}

.frst .exp__phase:last-child .exp__phase-line {
    display: none
}

.frst .exp__phase-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 8px
}

.frst .exp__phase-h {
    font-size: 22px;
    line-height: 1.5;
    color: #1b1035;
    font-weight: 700
}

.frst .exp__phase-p {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2e6b
}

.frst .exp__phase-p span.acc {
    color: #611ADB;
    font-weight: 700
}

.frst .exp__right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.frst .exp__portrait-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.frst .exp__portrait-item {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.frst .exp__portrait-wrap {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 3/4;
    box-shadow: 0 4px 18px -2px #611adb1c
}

.frst .exp__portrait-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: transform .5s cubic-bezier(0.4, 0, 1, 1)
}

.frst .exp__portrait-wrap:hover img {
    transform: scale(1.04)
}

.frst .exp__portrait-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.frst .exp__portrait-name {
    font-size: 15px;
    line-height: 1.5;
    color: #1b1035;
    font-weight: 700
}

.frst .exp__portrait-role {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB
}

.frst .exp__portrait-quote {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2e6b;
    font-style: italic;
    padding: 16px;
    background: #f5f2fb;
    border-radius: 6px;
    border-left: 3px solid #611ADB;
    border-top: 1px solid #611adb1a
}

.frst .exp__cta-strip {
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%);
    border-radius: 10px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 9px 36px -2px #611adb21
}

.frst .exp__cta-strip-h {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    font-weight: 700
}

.frst .exp__cta-strip-p {
    font-size: 15px;
    line-height: 1.8;
    color: #ffffffd9
}

.frst .btn-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 6px;
    border: 2px solid #fff;
    background: transparent;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1);
    align-self: flex-start
}

.frst .btn-white:hover {
    background: #fff;
    color: #611ADB
}

.frst .btn-white:hover .btn-icon {
    transform: translateX(6px)
}

@media (max-width: 768px) {
    .frst .exp__layout {
        grid-template-columns: 1fr
    }

    .frst .exp__h2 {
        font-size: 52px
    }
}

@media (max-width: 375px) {
    .frst .exp__portrait-row {
        grid-template-columns: 1fr
    }

    .frst .exp__h2 {
        font-size: 52px
    }
}

.frst .nums__para {
    font-size: 15px;
    line-height: 1.8;
    color: #e6e2f0cc;
    max-width: 600px;
    margin-top: 16px
}

.frst .appr__para {
    font-size: 15px;
    line-height: 1.8;
    color: #3d2e6b
}

.frst .appr__para span.acc {
    color: #611ADB;
    font-weight: 700
}

.cont-pg {
    background-color: #fff;
    overflow-x: hidden
}

.cont-pg .pg-texture {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: .03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    background-size: 200px 200px
}

.cont-pg .split-band {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 420px;
    border-top: 2px solid #611ADB;
    border-bottom: 2px solid #E6E2F0
}

.cont-pg .split-band__left {
    background: linear-gradient(323deg, #611ADB, #E6E2F0);
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.cont-pg .split-band__left::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 180px 180px;
    opacity: .06;
    pointer-events: none
}

.cont-pg .split-band__right {
    background: #fff;
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.cont-pg .split-band__label {
    font-size: 15px;
    line-height: 1.5;
    color: #ffffffbf;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px
}

.cont-pg .split-band__h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px
}

.cont-pg .split-band__h1 .accented-word {
    color: #E6E2F0;
    display: inline-block;
    text-decoration: underline;
    text-decoration-color: #e6e2f066;
    text-underline-offset: 6px
}

.cont-pg .split-band__desc {
    font-size: 15px;
    line-height: 1.8;
    color: #ffffffe0;
    max-width: 400px
}

.cont-pg .split-band__img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 9px 36px -2px #611adb21
}

.cont-pg .split-band__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    filter: grayscale(100%);
    display: block;
    animation: pan-img 18s ease-in-out infinite alternate
}

@keyframes pan-img {
    from {
        object-position: 20% 30%
    }

    to {
        object-position: 80% 30%
    }
}

.cont-pg .form-band {
    position: relative;
    background: #F4F1FA;
    padding: 80px 40px;
    border-top: 2px solid #E6E2F0;
    border-bottom: 2px solid #611ADB
}

.cont-pg .form-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n2)'/%3E%3C/svg%3E");
    background-size: 160px 160px;
    opacity: .04;
    pointer-events: none
}

.cont-pg .form-band__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    position: relative;
    z-index: 1
}

.cont-pg .form-band__aside {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.cont-pg .form-band__aside-head {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #611ADB;
    text-underline-offset: 5px
}

.cont-pg .contact-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: #fff;
    border-radius: 10px;
    border-top: 3px solid #611ADB;
    border-right: 1px solid #E6E2F0;
    box-shadow: 0 4px 18px -2px #611adb1c;
    position: relative
}

.cont-pg .contact-item__label {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 600;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.cont-pg .contact-item__val {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a
}

.cont-pg .contact-item__val a {
    color: #611ADB;
    text-decoration: none;
    transition: color .16s cubic-bezier(0.4, 0, 1, 1)
}

.cont-pg .contact-item__val a:hover {
    color: #D19ED9
}

.cont-pg .form-wrap {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 9px 36px -2px #611adb21;
    border-top: 3px solid #611ADB;
    border-left: 1px solid #E6E2F0
}

.cont-pg .form-wrap__head {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    margin: 0 0 24px;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 5px
}

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

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

.cont-pg .cf__field {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cont-pg .cf__field label {
    font-size: 15px;
    line-height: 1.5;
    color: #2a1a4a;
    font-weight: 600
}

.cont-pg .cf__field input[type="text"],
.cont-pg .cf__field input[type="email"] {
    padding: 16px;
    border: 1.5px solid #E6E2F0;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #1a0a3d;
    background: #fff;
    outline: none;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: inset 0 1px 5px -2px #611adb12;
    width: 100%;
    box-sizing: border-box
}

.cont-pg .cf__field input[type="text"]::placeholder,
.cont-pg .cf__field input[type="email"]::placeholder {
    font-style: italic;
    opacity: .55;
    color: #2a1a4a
}

.cont-pg .cf__field input[type="text"]:focus,
.cont-pg .cf__field input[type="email"]:focus {
    border-color: #611ADB;
    box-shadow: inset 0 1px 5px -2px #611adb21 0 0 0 3px #611adb14
}

.cont-pg .cf__radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cont-pg .cf__radio-group legend {
    font-size: 15px;
    line-height: 1.5;
    color: #2a1a4a;
    font-weight: 600;
    margin-bottom: 8px;
    display: block
}

.cont-pg .cf__radio-opts {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.cont-pg .cf__radio-opt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.cont-pg .cf__radio-opt input[type="radio"] {
    accent-color: #611ADB;
    width: 18px;
    height: 18px;
    cursor: pointer
}

.cont-pg .cf__radio-opt label {
    font-size: 15px;
    line-height: 1.5;
    color: #2a1a4a;
    cursor: pointer
}

.cont-pg .cf__radio-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.cont-pg .cf__radio-card-item {
    position: relative
}

.cont-pg .cf__radio-card-item input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.cont-pg .cf__radio-card-item label {
    display: block;
    padding: 8px 16px;
    border: 1.5px solid #E6E2F0;
    border-radius: 32px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a1a4a;
    cursor: pointer;
    transition: background .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1), color .15s cubic-bezier(0.4, 0, 1, 1);
    background: #fff
}

.cont-pg .cf__radio-card-item input[type="radio"]:checked+label {
    background: #611ADB;
    border-color: #611ADB;
    color: #fff
}

.cont-pg .cf__radio-card-item label:hover {
    border-color: #611ADB;
    color: #611ADB
}

.cont-pg .cf__privacy {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

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

.cont-pg .cf__privacy-text {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a
}

.cont-pg .cf__privacy-text a {
    color: #611ADB;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.cont-pg .cf__privacy-text a:hover {
    color: #D19ED9
}

.cont-pg .cf__submit-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    background: transparent;
    border: 2px solid #611ADB;
    border-radius: 6px;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .18s cubic-bezier(0.4, 0, 1, 1);
    align-self: flex-start
}

.cont-pg .cf__submit-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #611ADB;
    transition: left .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.cont-pg .cf__submit-btn:hover::before {
    left: 0
}

.cont-pg .cf__submit-btn:hover {
    color: #fff
}

.cont-pg .cf__submit-btn span,
.cont-pg .cf__submit-btn i {
    position: relative;
    z-index: 1
}

.cont-pg .cf__submit-btn i {
    transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.cont-pg .cf__submit-btn:hover i {
    transform: translateX(6px)
}

.cont-pg .cf__submit-btn:focus {
    outline: 3px solid #611adb59;
    outline-offset: 2px
}

.cont-pg .details-band {
    position: relative;
    background: #fff;
    padding: 80px 40px;
    border-top: 2px solid #E6E2F0;
    border-bottom: 2px solid #611ADB
}

.cont-pg .details-band__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    align-items: start
}

.cont-pg .details-band__text-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cont-pg .details-band__h2 {
    font-size: 22px;
    line-height: 1.5;
    color: #1a0a3d;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #611ADB;
    text-underline-offset: 5px
}

.cont-pg .details-band__para {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a;
    margin: 0
}

.cont-pg .details-band__para .num-accent {
    color: #611ADB;
    font-weight: 700
}

.cont-pg .details-band__img-wrap {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 9px 36px -2px #611adb21;
    position: relative
}

.cont-pg .details-band__img-wrap::after {
    content: "";
    position: absolute;
    bottom: -8px;
    right: -8px;
    width: 100%;
    height: 100%;
    border: 2px solid #D19ED9;
    border-radius: 10px;
    z-index: 0;
    pointer-events: none
}

.cont-pg .details-band__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    position: relative;
    z-index: 1
}

.cont-pg .details-band__quick {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cont-pg .details-band__quick-head {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em
}

.cont-pg .quick-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border-radius: 6px;
    border: 1.5px solid #E6E2F0;
    border-top: 3px solid #611ADB;
    text-decoration: none;
    color: #2a1a4a;
    font-size: 15px;
    line-height: 1.5;
    background: #fff;
    box-shadow: 0 1px 5px -2px #611adb12;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.cont-pg .quick-link i {
    transition: transform .16s cubic-bezier(0.4, 0, 1, 1);
    color: #611ADB
}

.cont-pg .quick-link:hover {
    background: #611ADB;
    color: #fff;
    box-shadow: 0 4px 18px -2px #611adb1c
}

.cont-pg .quick-link:hover i {
    color: #fff;
    transform: translateX(5px)
}

.cont-pg .quick-link:focus {
    outline: 3px solid #611adb59;
    outline-offset: 2px
}

.cont-pg .shadow-divider {
    height: 24px;
    background: transparent;
    box-shadow: 0 4px 18px -2px #611adb1c;
    margin: 0
}

@media (max-width: 1366px) {
    .cont-pg .split-band {
        grid-template-columns: 1fr 1fr
    }

    .cont-pg .form-band__inner {
        grid-template-columns: 1fr 1.5fr;
        gap: 40px
    }

    .cont-pg .details-band__inner {
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 24px
    }
}

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

    .cont-pg .split-band__left {
        padding: 40px 24px
    }

    .cont-pg .split-band__right {
        padding: 40px 24px
    }

    .cont-pg .split-band__h1 {
        font-size: 52px
    }

    .cont-pg .form-band {
        padding: 40px 24px
    }

    .cont-pg .form-band__inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

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

    .cont-pg .details-band {
        padding: 40px 24px
    }

    .cont-pg .details-band__inner {
        grid-template-columns: 1fr;
        gap: 40px
    }
}

@media (max-width: 375px) {
    .cont-pg .split-band__h1 {
        font-size: 52px
    }

    .cont-pg .form-wrap {
        padding: 24px 16px
    }

    .cont-pg .cf__radio-card {
        flex-direction: column
    }
}

.abt-pg {
    background: #fff;
    overflow-x: hidden
}

.abt-pg .ld-schema {
    display: none
}

.abt-pg .title-blk {
    position: relative;
    background: linear-gradient(323deg, #E6E2F0 0%, #fff 55%, #f5f0ff 100%);
    padding: 80px 40px;
    overflow: hidden
}

.abt-pg .title-blk::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #611ADB 0%, #D19ED9 100%)
}

.abt-pg .title-blk__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px
}

.abt-pg .title-blk__text {
    flex: 1 1 0;
    min-width: 0
}

.abt-pg .title-blk__label {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.abt-pg .title-blk__h1 {
    font-size: 68px;
    line-height: 1.1;
    color: #1b0a3a;
    margin: 0 0 24px
}

.abt-pg .title-blk__h1 strong {
    color: #611ADB;
    font-weight: inherit
}

.abt-pg .title-blk__tagline {
    font-size: 22px;
    line-height: 1.5;
    color: #3a2d55;
    margin: 0 0 40px;
    max-width: 520px
}

.abt-pg .title-blk__actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.abt-pg .btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 24px;
    border: 2px solid #611ADB;
    border-radius: 10px;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .btn-ghost i {
    transition: transform .12s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .btn-ghost:hover {
    background: #611ADB;
    color: #fff
}

.abt-pg .btn-ghost:hover i {
    transform: translateX(4px)
}

.abt-pg .btn-ghost:focus-visible {
    outline: 3px solid #611ADB !important;
    outline-offset: 3px !important
}

.abt-pg .title-blk__img-col {
    flex: 0 0 420px;
    max-width: 420px
}

.abt-pg .title-blk__img-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 36px -2px #611adb21
}

.abt-pg .title-blk__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .title-blk__img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 30%, transparent 40%, #611adb2e 100%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .title-blk__img-wrap:hover::after {
    opacity: 1
}

.abt-pg .title-blk__img-wrap:hover img {
    transform: scale(1.03)
}

.abt-pg .story-sec {
    background: #f7f4fc;
    padding: 80px 40px
}

.abt-pg .story-sec__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start
}

.abt-pg .story-sec__imgs {
    flex: 0 0 480px;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-pg .story-sec__img-main {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 4px 18px -2px #611adb1c
}

.abt-pg .story-sec__img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .story-sec__img-main:hover img {
    transform: scale(1.04)
}

.abt-pg .story-sec__img-main::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 40px #611adb14;
    border-radius: 10px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .story-sec__img-main {
    position: relative
}

.abt-pg .story-sec__img-main:hover::after {
    opacity: 1
}

.abt-pg .story-sec__img-row {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.abt-pg .story-sec__img-sm {
    flex: 1 1 0;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 1px 5px -2px #611adb12
}

.abt-pg .story-sec__img-sm img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abt-pg .story-sec__text {
    flex: 1 1 0;
    min-width: 0
}

.abt-pg .sec-label {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    text-transform: uppercase;
    letter-spacing: .07em;
    display: block;
    margin-bottom: 16px
}

.abt-pg .sec-h2 {
    font-size: 52px;
    line-height: 1.1;
    color: #1b0a3a;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 6px
}

.abt-pg .sec-divider {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 24px 0
}

.abt-pg .sec-divider__thick {
    height: 3px;
    width: 60px;
    background: #611ADB;
    border-radius: 0
}

.abt-pg .sec-divider__thin {
    height: 1px;
    width: 40px;
    background: #D19ED9;
    border-radius: 0
}

.abt-pg .story-sec__para {
    font-size: 15px;
    line-height: 1.8;
    color: #2d1f4a;
    margin: 0 0 16px
}

.abt-pg .story-sec__para .para-num {
    color: #611ADB;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    margin-right: 8px
}

.abt-pg .story-sec__para:last-of-type {
    margin-bottom: 0
}

.abt-pg .metrics-sec {
    background: #fff;
    padding: 80px 40px;
    position: relative
}

.abt-pg .metrics-sec__pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.abt-pg .metrics-sec__pattern svg {
    width: 100%;
    height: 100%;
    opacity: .045
}

.abt-pg .metrics-sec__inner {
    max-width: 1600px;
    margin: 0 auto;
    position: relative
}

.abt-pg .metrics-sec__top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 80px;
    flex-wrap: wrap
}

.abt-pg .metrics-sec__heading {
    flex: 1 1 400px
}

.abt-pg .metrics-sec__desc {
    flex: 0 1 480px;
    font-size: 15px;
    line-height: 1.8;
    color: #3a2d55
}

.abt-pg .metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.abt-pg .metric-card {
    background: linear-gradient(323deg, #E6E2F0 0%, #fff 100%);
    border-radius: 10px;
    padding: 40px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 4px 18px -2px #611adb1c;
    box-sizing: border-box;
    animation: abt-fadein .5s cubic-bezier(0.4, 0, 1, 1) both
}

.abt-pg .metric-card:nth-child(1) {
    animation-delay: .08s
}

.abt-pg .metric-card:nth-child(2) {
    animation-delay: .18s
}

.abt-pg .metric-card:nth-child(3) {
    animation-delay: .28s
}

@keyframes abt-fadein {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

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

.abt-pg .metric-card__ring {
    width: 96px;
    height: 96px;
    margin-bottom: 24px;
    position: relative
}

.abt-pg .metric-card__ring svg {
    width: 96px;
    height: 96px;
    transform: rotate(-90deg)
}

.abt-pg .metric-card__ring-num {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1.1;
    color: #611ADB;
    font-weight: 700
}

.abt-pg .metric-card__label {
    font-size: 15px;
    line-height: 1.5;
    color: #1b0a3a;
    text-align: center;
    font-weight: 600
}

.abt-pg .metric-card__sub {
    font-size: 15px;
    line-height: 1.5;
    color: #6b5a8a;
    text-align: center;
    margin-top: 8px
}

.abt-pg .team-sec {
    background: #f0ecf9;
    padding: 80px 40px
}

.abt-pg .team-sec__inner {
    max-width: 1600px;
    margin: 0 auto
}

.abt-pg .team-sec__top {
    margin-bottom: 40px
}

.abt-pg .team-sec__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.abt-pg .team-card {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    box-shadow: 0 1px 5px -2px #611adb12;
    transition: box-shadow .18s cubic-bezier(0.4, 0, 1, 1)
}

.abt-pg .team-card:hover {
    box-shadow: 0 9px 36px -2px #611adb21
}

.abt-pg .team-card__portrait {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: inset 0 0 0 3px #611adb26
}

.abt-pg .team-card__portrait img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: top;
    display: block;
    border-radius: 50%
}

.abt-pg .team-card__avatar {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 2px 8px #611adb33
}

.abt-pg .team-card__avatar i {
    font-size: 22px;
    color: #fff
}

.abt-pg .team-card__info {
    flex: 1 1 0;
    min-width: 0
}

.abt-pg .team-card__name {
    font-size: 22px;
    line-height: 1.1;
    color: #1b0a3a;
    margin: 0 0 8px
}

.abt-pg .team-card__role {
    font-size: 15px;
    line-height: 1.5;
    color: #611ADB;
    margin: 0 0 16px
}

.abt-pg .team-card__bio {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2d55;
    margin: 0
}

.abt-pg .team-sec__values {
    margin-top: 40px;
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    box-shadow: 0 1px 5px -2px #611adb12
}

.abt-pg .val-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt-pg .val-item__icon {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: linear-gradient(323deg, #611ADB 0%, #D19ED9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.abt-pg .val-item__icon i {
    color: #fff;
    font-size: 15px
}

.abt-pg .val-item__name {
    font-size: 15px;
    line-height: 1.5;
    color: #1b0a3a;
    font-weight: 700;
    margin: 0
}

.abt-pg .val-item__desc {
    font-size: 15px;
    line-height: 1.5;
    color: #6b5a8a;
    margin: 0
}

@media (max-width: 1366px) {
    .abt-pg .title-blk__h1 {
        font-size: 52px
    }

    .abt-pg .title-blk__img-col {
        flex: 0 0 340px;
        max-width: 340px
    }

    .abt-pg .story-sec__imgs {
        flex: 0 0 360px;
        max-width: 360px
    }

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

@media (max-width: 768px) {
    .abt-pg .title-blk {
        padding: 40px 24px
    }

    .abt-pg .title-blk__inner {
        flex-direction: column;
        gap: 40px
    }

    .abt-pg .title-blk__h1 {
        font-size: 52px
    }

    .abt-pg .title-blk__img-col {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%
    }

    .abt-pg .story-sec {
        padding: 40px 24px
    }

    .abt-pg .story-sec__inner {
        flex-direction: column;
        gap: 40px
    }

    .abt-pg .story-sec__imgs {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%
    }

    .abt-pg .metrics-sec {
        padding: 40px 24px
    }

    .abt-pg .metrics-sec__top {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        margin-bottom: 40px
    }

    .abt-pg .metrics-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .abt-pg .team-sec {
        padding: 40px 24px
    }

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

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

    .abt-pg .sec-h2 {
        font-size: 36px
    }
}

@media (max-width: 375px) {
    .abt-pg .title-blk__h1 {
        font-size: 36px
    }

    .abt-pg .title-blk__tagline {
        font-size: 15px
    }

    .abt-pg .btn-ghost {
        padding: 16px;
        font-size: 15px
    }

    .abt-pg .team-card {
        flex-direction: column
    }

    .abt-pg .story-sec__img-row {
        flex-direction: column
    }

    .abt-pg .sec-h2 {
        font-size: 28px
    }
}

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

.success-page .success-card {
    max-width: 560px;
    width: 100%;
    background: #E6E2F0;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 4px 18px -2px #611adb1c;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.success-page .success-card .success-icon {
    width: 64px;
    height: 64px;
    border-radius: 32px;
    background: linear-gradient(323deg, #611ADB, #E6E2F0);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: inset 0 2px 8px #611adb2e 0 1px 5px -2px #611adb12
}

.success-page .success-card .success-icon svg {
    width: 28px;
    height: 28px
}

.success-page .success-card .success-heading {
    font-size: 22px;
    line-height: 1.5;
    color: #611ADB;
    margin: 0;
    text-align: center;
    text-decoration: underline;
    text-decoration-color: #D19ED9;
    text-underline-offset: 4px
}

.success-page .success-card .success-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%
}

.success-page .success-card .success-body .success-para {
    font-size: 15px;
    line-height: 1.8;
    color: #2a1a4a;
    margin: 0;
    text-align: center
}

.success-page .success-card .success-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(323deg, #611ADB, #D19ED9);
    border: none;
    border-radius: 0
}

.success-page .success-card .success-back-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    border-radius: 6px;
    border: 2px solid #611ADB;
    background: transparent;
    color: #611ADB;
    font-size: 15px;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s cubic-bezier(0.4, 0, 1, 1), color .16s cubic-bezier(0.4, 0, 1, 1)
}

.success-page .success-card .success-back-link svg {
    width: 16px;
    height: 16px;
    transition: transform .13s cubic-bezier(0.4, 0, 1, 1);
    flex-shrink: 0
}

.success-page .success-card .success-back-link:hover {
    background: #611ADB;
    color: #fff
}

.success-page .success-card .success-back-link:hover svg {
    transform: translateX(4px)
}

.success-page .success-card .success-back-link:focus-visible {
    outline: 2px solid #611ADB;
    outline-offset: 3px
}

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

    .success-page .success-card {
        padding: 24px 16px;
        gap: 16px
    }
}