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

body {
    margin: 0;
    min-height: 100dvh;
    overflow-x: hidden
}

.hd-shell {
    padding: 14px 28px;
    background: #FBFAFC
}

.hd-round {
    max-width: 1600px;
    margin: 0 auto;
    background: linear-gradient(135deg, #423CCB 0%, #6b68d8 60%, #9093D2 100%);
    border-radius: 24px;
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    padding: 0 28px;
    display: flex;
    flex-direction: column;
    gap: 0
}

.hd-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid #fbfafc2e
}

.hd-brand-box {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0
}

.hd-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #FBFAFC;
    border-radius: 14px 4px 14px 4px;
    box-shadow: -1px 5px 22px 0 #423ccb2e 0 0 0 2px #fbfafc99;
    padding: 6px;
    flex-shrink: 0
}

.hd-logo-wrap img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    display: block
}

.hd-brand-name {
    font-family: 'Lato', sans-serif;
    font-size: 21px;
    font-weight: 700;
    color: #FBFAFC;
    line-height: 1.1;
    letter-spacing: .04em;
    text-transform: uppercase
}

.hd-contact-strip {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-shrink: 0
}

.hd-contact-strip a {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #fbfafcd9;
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease-out, opacity .2s ease-out
}

.hd-contact-strip a:hover {
    color: #FBFAFC;
    opacity: 1
}

.hd-contact-strip a:focus-visible {
    outline: 2px solid #FBFAFC;
    outline-offset: 4px;
    border-radius: 4px
}

.hd-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    flex-wrap: wrap;
    gap: 6px
}

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

.hd-nav-list li a {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #fbfafce0;
    text-decoration: none;
    display: inline-block;
    padding: 14px;
    border-radius: 8px;
    line-height: 1.1;
    transition: background .22s ease-out, color .18s ease-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.hd-nav-list li a:hover {
    background: #fbfafc24;
    color: #FBFAFC
}

.hd-nav-list li a:focus-visible {
    outline: 2px solid #FBFAFC;
    outline-offset: 2px;
    border-radius: 8px
}

.hd-nav-list li a[data-current="true"] {
    background: #fbfafc2e;
    color: #FBFAFC;
    font-weight: 700
}

.hd-lang-sel {
    display: flex;
    align-items: center;
    flex-shrink: 0
}

.hd-lang-sel select {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #FBFAFC;
    background: #fbfafc1f;
    border: 1px solid #fbfafc47;
    border-radius: 8px;
    padding: 6px 14px;
    cursor: pointer;
    min-height: 44px;
    transition: background .2s ease-out, border-color .2s ease-out;
    appearance: none;
    -webkit-appearance: none
}

.hd-lang-sel select:hover {
    background: #fbfafc33;
    border-color: #fbfafc80
}

.hd-lang-sel select:focus-visible {
    outline: 2px solid #FBFAFC;
    outline-offset: 2px
}

.hd-lang-sel select option {
    background: #423CCB;
    color: #FBFAFC
}

.ft-bar {
    background: #2a2560;
    padding: 28px
}

.ft-inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px
}

.ft-brand-block {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0
}

.ft-logo-wrap {
    display: flex;
    align-items: center;
    gap: 14px
}

.ft-logo-img-box {
    width: 55px;
    height: 55px;
    background: #FBFAFC;
    border-radius: 4px 14px 4px 14px;
    box-shadow: -1px 5px 22px 0 #9093d22e 0 0 0 1px #fbfafc66;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ft-logo-img-box img {
    width: 43px;
    height: 43px;
    object-fit: contain;
    display: block
}

.ft-brand-text {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #FBFAFC;
    line-height: 1.1;
    letter-spacing: .06em;
    text-transform: uppercase
}

.ft-tagline {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 300;
    color: #fbfafc99;
    line-height: 1.4;
    padding-left: 69px
}

.ft-links-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px
}

.ft-links-row a {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #9093D2;
    text-decoration: underline;
    text-decoration-color: #9093d266;
    text-underline-offset: 3px;
    line-height: 1.4;
    padding: 6px 14px;
    border-radius: 4px;
    transition: color .25s ease-out, text-decoration-color .2s ease-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.ft-links-row a:hover {
    color: #FBFAFC;
    text-decoration-color: #fbfafc99
}

.ft-links-row a:focus-visible {
    outline: 2px solid #9093D2;
    outline-offset: 2px
}

.ft-sep {
    width: 1px;
    height: 16px;
    background: #9093d24d;
    flex-shrink: 0
}

.ft-copy {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 300;
    color: #fbfafc73;
    line-height: 1.4;
    flex-shrink: 0
}

@media (max-width: 1024px) {
    .hd-contact-strip {
        gap: 14px
    }

    .hd-top-row {
        flex-wrap: wrap;
        gap: 14px
    }
}

@media (max-width: 640px) {
    .hd-shell {
        padding: 14px
    }

    .hd-round {
        padding: 0 14px;
        border-radius: 14px
    }

    .hd-contact-strip {
        display: none
    }

    .hd-top-row {
        justify-content: center
    }

    .hd-nav-row {
        justify-content: center
    }

    .ft-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px
    }

    .ft-links-row {
        gap: 0
    }

    .ft-tagline {
        padding-left: 0
    }
}

@media (max-width: 360px) {
    .hd-brand-name {
        font-size: 15px
    }

    .hd-nav-list li a {
        font-size: 15px;
        padding: 14px 6px
    }
}

.legal-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 56px 28px;
    color: #2a2640;
    line-height: 1.7;
    font-size: 15px
}

.legal-inner h1 {
    font-size: 51px;
    line-height: 1.1;
    color: #423CCB;
    margin-bottom: 28px;
    margin-top: 0;
    padding-bottom: 14px;
    border-bottom: 2px solid #9093D2
}

.legal-inner h2 {
    font-size: 37px;
    line-height: 1.1;
    color: #2a2640;
    margin-top: 56px;
    margin-bottom: 28px;
    padding-bottom: 6px;
    border-bottom: 1px solid #9093D2
}

.legal-inner h3 {
    font-size: 21px;
    line-height: 1.4;
    color: #423CCB;
    margin-top: 28px;
    margin-bottom: 14px
}

.legal-inner h4 {
    font-size: 15px;
    line-height: 1.4;
    color: #2a2640;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-top: 28px;
    margin-bottom: 14px
}

.legal-inner h5 {
    font-size: 15px;
    line-height: 1.4;
    color: #423CCB;
    margin-top: 14px;
    margin-bottom: 6px
}

.legal-inner h6 {
    font-size: 15px;
    line-height: 1.4;
    color: #9093D2;
    margin-top: 14px;
    margin-bottom: 6px
}

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

.legal-inner a {
    color: #423CCB;
    text-decoration: underline;
    text-decoration-color: #423ccb59;
    text-underline-offset: 3px;
    transition: color .2s ease-out, text-decoration-color .25s ease-out
}

.legal-inner a:hover {
    color: #9093D2;
    text-decoration-color: #9093d2b3
}

.legal-inner a:visited {
    color: #6b65d4
}

.legal-inner hr {
    border: none;
    border-top: 1px solid #9093D2;
    margin-top: 56px;
    margin-bottom: 56px;
    opacity: .4
}

.legal-inner table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 28px;
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.legal-inner thead {
    background-color: #423CCB;
    color: #FBFAFC
}

.legal-inner thead th {
    padding: 14px 28px;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #FBFAFC;
    border-bottom: 2px solid #fbfafc33
}

.legal-inner tbody tr {
    background-color: #FBFAFC;
    transition: background-color .18s ease-out
}

.legal-inner tbody tr:nth-child(even) {
    background-color: #9093d214
}

.legal-inner tbody tr:hover {
    background-color: #423ccb0f
}

.legal-inner tbody td {
    padding: 14px 28px;
    color: #2a2640;
    border-bottom: 1px solid #9093d240;
    vertical-align: top
}

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

.legal-inner th {
    text-align: left
}

@media (max-width: 1024px) {
    .legal-inner {
        padding: 56px 28px
    }

    .legal-inner h1 {
        font-size: 37px
    }

    .legal-inner h2 {
        font-size: 21px;
        margin-top: 56px
    }
}

@media (max-width: 640px) {
    .legal-inner {
        padding: 28px 14px
    }

    .legal-inner h1 {
        font-size: 37px
    }

    .legal-inner h2 {
        font-size: 21px;
        margin-top: 28px
    }

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

    .legal-inner table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 4px
    }

    .legal-inner thead th,
    .legal-inner tbody td {
        padding: 14px;
        min-width: 120px
    }

    .legal-inner hr {
        margin-top: 28px;
        margin-bottom: 28px
    }
}

@media (max-width: 360px) {
    .legal-inner {
        padding: 28px 6px
    }

    .legal-inner h1 {
        font-size: 21px
    }

    .legal-inner thead th,
    .legal-inner tbody td {
        padding: 6px 14px
    }
}

.meth-det {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.meth-det .pg-title {
    padding: 56px 56px 28px;
    position: relative
}

.meth-det .pg-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-47deg, transparent, transparent 18px, #423ccb0a 18px, #423ccb0a 19px);
    pointer-events: none;
    z-index: 0
}

.meth-det .pg-title .title-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1
}

.meth-det .pg-title .title-txt h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #18154a;
    margin: 0 0 28px
}

.meth-det .pg-title .title-txt h1 span {
    display: block
}

.meth-det .pg-title .title-txt .meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap
}

.meth-det .pg-title .title-txt .meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: #423CCB;
    font-weight: 500
}

.meth-det .pg-title .title-txt .meta-item svg {
    flex-shrink: 0
}

.meth-det .pg-title .img-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.meth-det .pg-title .img-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #423ccb14 0%, #9093d22e 100%);
    pointer-events: none
}

.meth-det .pg-title .img-card img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
    filter: blur(0px)
}

.meth-det .pg-title .img-card img.bg-blur {
    filter: blur(3px) brightness(0.92)
}

.meth-det .pg-title .corner-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #423CCB;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 8px;
    z-index: 2;
    letter-spacing: .03em
}

.meth-det .divider-thin {
    border: none;
    border-top: 1px solid #423ccb1a;
    margin: 0 56px
}

.meth-det .price-strip {
    padding: 28px 56px;
    background: linear-gradient(107deg, #423CCB 0%, #9093D2 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    flex-wrap: wrap
}

.meth-det .price-strip .price-left {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.meth-det .price-strip .price-val {
    font-size: 51px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1
}

.meth-det .price-strip .price-note {
    font-size: 15px;
    color: #fbfafcd1;
    line-height: 1.4
}

.meth-det .price-strip .enroll-btn {
    background: #FBFAFC;
    color: #423CCB;
    font-size: 21px;
    font-weight: 700;
    padding: 14px 56px;
    border-radius: 24px;
    border: none;
    cursor: pointer;
    box-shadow: -1px 5px 22px 0 #423ccb2e;
    transition: box-shadow .22s ease-out, background .18s ease-out, color .18s ease-out;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap
}

.meth-det .price-strip .enroll-btn:hover {
    background: #18154a;
    color: #fff;
    box-shadow: -1px 12px 44px 0 #423ccb38
}

.meth-det .price-strip .enroll-btn:focus {
    outline: 3px solid #fff;
    outline-offset: 3px
}

.meth-det .body-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    padding: 56px 56px 96px;
    background: #FBFAFC;
    position: relative
}

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

.meth-det .body-grid .prog-col {
    position: relative;
    z-index: 1
}

.meth-det .body-grid .prog-col .prog-label {
    font-size: 15px;
    font-weight: 700;
    color: #423CCB;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.meth-det .body-grid .prog-col .prog-label svg {
    flex-shrink: 0
}

.meth-det .prog-box {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    border-top: 4px solid #423CCB
}

.meth-det .prog-box h2 {
    font-size: 21px;
    font-weight: 700;
    color: #18154a;
    line-height: 1.4;
    margin: 0 0 14px
}

.meth-det .prog-box h3 {
    font-size: 21px;
    font-weight: 700;
    color: #18154a;
    line-height: 1.4;
    margin: 14px 0 6px
}

.meth-det .prog-box p {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 14px
}

.meth-det .prog-box small {
    font-size: 15px;
    color: #9093D2;
    display: block;
    margin: 0 0 6px
}

.meth-det .prog-box mark {
    background: #423ccb1a;
    color: #423CCB;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 15px;
    font-weight: 600
}

.meth-det .prog-box ol {
    padding-left: 28px;
    margin: 0 0 14px
}

.meth-det .prog-box ol li {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 6px;
    padding-left: 6px
}

.meth-det .prog-box dl {
    margin: 0 0 14px
}

.meth-det .prog-box dt {
    font-size: 15px;
    font-weight: 700;
    color: #18154a;
    margin: 14px 0 4px
}

.meth-det .prog-box dd {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 6px 14px
}

.meth-det .prog-box blockquote {
    border-left: none;
    background: #423ccb0f;
    border-radius: 8px;
    padding: 14px 28px;
    margin: 14px 0;
    font-size: 15px;
    color: #3a3760;
    font-style: italic;
    line-height: 1.7
}

.meth-det .desc-col {
    position: relative;
    z-index: 1
}

.meth-det .desc-col .desc-label {
    font-size: 15px;
    font-weight: 700;
    color: #423CCB;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.meth-det .desc-col .desc-label svg {
    flex-shrink: 0
}

.meth-det .desc-body {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.meth-det .desc-body h2 {
    font-size: 37px;
    font-weight: 800;
    color: #18154a;
    line-height: 1.1;
    margin: 0 0 28px
}

.meth-det .desc-body h3 {
    font-size: 21px;
    font-weight: 700;
    color: #18154a;
    line-height: 1.4;
    margin: 28px 0 14px
}

.meth-det .desc-body p {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 14px
}

.meth-det .desc-body cite {
    font-size: 15px;
    color: #9093D2;
    font-style: italic;
    display: block;
    margin: 0 0 14px
}

.meth-det .desc-body ul {
    padding-left: 28px;
    margin: 0 0 14px
}

.meth-det .desc-body ul li {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 6px;
    padding-left: 6px
}

.meth-det .desc-body ol {
    padding-left: 28px;
    margin: 0 0 14px
}

.meth-det .desc-body ol li {
    font-size: 15px;
    color: #3a3760;
    line-height: 1.7;
    margin: 0 0 6px;
    padding-left: 6px
}

.meth-det .desc-body figure {
    margin: 28px 0;
    border-radius: 14px;
    overflow: hidden
}

.meth-det .desc-body figure img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
    border-radius: 14px
}

.meth-det .desc-body figcaption {
    font-size: 15px;
    color: #9093D2;
    margin-top: 6px;
    text-align: center
}

.meth-det .desc-body details {
    border-radius: 8px;
    background: #423ccb0d;
    padding: 14px;
    margin: 0 0 14px
}

.meth-det .desc-body summary {
    font-size: 15px;
    font-weight: 700;
    color: #423CCB;
    cursor: pointer;
    list-style: none;
    padding: 6px 0
}

.meth-det .desc-body summary::-webkit-details-marker {
    display: none
}

.meth-det .desc-body details[open] summary {
    margin-bottom: 14px
}

.meth-det .stats-strip {
    padding: 56px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    position: relative
}

.meth-det .stats-strip::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 56px;
    right: 56px;
    height: 1px;
    background: #423ccb1a
}

.meth-det .stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 14px;
    border-radius: 14px;
    background: #FBFAFC;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    transition: box-shadow .25s ease-out, transform .2s ease-out;
    position: relative
}

.meth-det .stat-item:hover {
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    transform: translateY(-4px)
}

.meth-det .stat-item .stat-num {
    font-size: 51px;
    font-weight: 800;
    color: #423CCB;
    line-height: 1.1
}

.meth-det .stat-item .stat-lbl {
    font-size: 15px;
    color: #3a3760;
    margin-top: 6px;
    line-height: 1.4
}

.meth-det .stat-item .stat-ico {
    margin-bottom: 14px
}

.meth-det .stat-item .corner-accent {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 28px 28px 0;
    border-color: transparent #9093D2 transparent transparent;
    border-radius: 0 14px 0 0
}

@keyframes flicker-accent {

    0%,
    100% {
        opacity: 0
    }

    50% {
        opacity: 1
    }
}

.meth-det .stat-item .flicker-dot {
    position: absolute;
    bottom: 14px;
    left: 14px;
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #423CCB;
    animation: flicker-accent 2.8s ease-out infinite
}

.meth-det .stat-item:nth-child(2) .flicker-dot {
    animation-delay: .9s;
    background: #9093D2
}

.meth-det .stat-item:nth-child(3) .flicker-dot {
    animation-delay: 1.7s
}

.meth-det .contact-bar {
    padding: 56px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    flex-wrap: wrap;
    background: #FBFAFC
}

.meth-det .contact-bar .bar-txt h4 {
    font-size: 21px;
    font-weight: 700;
    color: #18154a;
    margin: 0 0 6px
}

.meth-det .contact-bar .bar-txt p {
    font-size: 15px;
    color: #3a3760;
    margin: 0;
    line-height: 1.4
}

.meth-det .contact-bar .bar-links {
    display: flex;
    flex-direction: row;
    gap: 14px;
    flex-wrap: wrap
}

.meth-det .contact-bar .bar-links a {
    font-size: 15px;
    color: #423CCB;
    text-decoration: none;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 8px;
    border: 2px solid #423ccb40;
    transition: background .18s ease-out, color .2s ease-out, border-color .2s ease-out
}

.meth-det .contact-bar .bar-links a:hover {
    background: #423CCB;
    color: #fff;
    border-color: #423CCB
}

@media (max-width: 1024px) {
    .meth-det .pg-title {
        padding: 28px 28px 14px
    }

    .meth-det .pg-title .title-grid {
        grid-template-columns: 1fr 240px;
        gap: 28px
    }

    .meth-det .pg-title .title-txt h1 {
        font-size: 37px
    }

    .meth-det .divider-thin {
        margin: 0 28px
    }

    .meth-det .price-strip {
        padding: 28px
    }

    .meth-det .body-grid {
        grid-template-columns: 1fr;
        padding: 28px 28px 56px;
        gap: 28px
    }

    .meth-det .stats-strip {
        padding: 28px
    }

    .meth-det .contact-bar {
        padding: 28px
    }
}

@media (max-width: 640px) {
    .meth-det .pg-title {
        padding: 14px
    }

    .meth-det .pg-title .title-grid {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .meth-det .pg-title .img-card {
        max-width: 100%
    }

    .meth-det .pg-title .title-txt h1 {
        font-size: 37px
    }

    .meth-det .divider-thin {
        margin: 0 14px
    }

    .meth-det .price-strip {
        padding: 14px;
        flex-direction: column;
        align-items: flex-start
    }

    .meth-det .price-strip .enroll-btn {
        width: 100%;
        text-align: center;
        padding: 14px 28px;
        font-size: 15px
    }

    .meth-det .body-grid {
        padding: 14px 14px 28px;
        gap: 14px
    }

    .meth-det .stats-strip {
        padding: 14px;
        grid-template-columns: 1fr;
        gap: 14px
    }

    .meth-det .contact-bar {
        padding: 14px;
        flex-direction: column;
        align-items: flex-start
    }

    .meth-det .price-strip .price-val {
        font-size: 37px
    }
}

@media (max-width: 360px) {
    .meth-det .pg-title .title-txt h1 {
        font-size: 21px
    }

    .meth-det .stat-item .stat-num {
        font-size: 37px
    }
}

.bse {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.bse .div-line {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #423CCB 30%, #9093D2 60%, transparent 100%);
    border: none;
    margin: 0
}

.bse .t-blk {
    padding: 96px 56px 56px;
    background: #FBFAFC;
    position: relative
}

.bse .t-blk__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
    max-width: 1600px;
    margin: 0 auto
}

.bse .t-blk__left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.bse .t-blk__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: #423CCB;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase
}

.bse .t-blk__tag svg {
    flex-shrink: 0
}

.bse .t-blk__h1 {
    font-size: 68px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1640;
    margin: 0
}

.bse .t-blk__sub {
    font-size: 21px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0;
    max-width: 480px
}

.bse .t-blk__actions {
    display: flex;
    flex-direction: row;
    gap: 14px;
    flex-wrap: wrap
}

.bse .btn-prim {
    display: inline-block;
    padding: 14px 28px;
    background: #423CCB;
    color: #FBFAFC;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid #423CCB;
    cursor: pointer;
    text-decoration: none;
    transition: background .25s ease-out, box-shadow .2s ease-out, opacity .18s ease-out;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.bse .btn-prim:hover {
    background: #3530a8;
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    opacity: .93
}

.bse .btn-sec {
    display: inline-block;
    padding: 14px 28px;
    background: transparent;
    color: #423CCB;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid #9093D2;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .22s ease-out, color .22s ease-out
}

.bse .btn-sec:hover {
    border-color: #423CCB;
    color: #3530a8
}

.bse .t-blk__right {
    position: relative;
    display: flex;
    justify-content: center
}

.bse .t-blk__img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 12px 44px 0 #423ccb1f
}

.bse .t-blk__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .t-blk__bracket {
    position: absolute;
    width: 32px;
    height: 32px;
    border-color: #423CCB;
    border-style: solid
}

.bse .t-blk__bracket--tl {
    top: -8px;
    left: -8px;
    border-width: 3px 0 0 3px;
    border-radius: 4px 0 0 0
}

.bse .t-blk__bracket--br {
    bottom: -8px;
    right: -8px;
    border-width: 0 3px 3px 0;
    border-radius: 0 0 4px 0
}

.bse .grad-blk {
    padding: 56px;
    background: linear-gradient(158deg, #423CCB 0%, #9093D2 100%);
    position: relative
}

.bse .grad-blk::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 0;
    box-shadow: inset 0 0 60px 0 #423ccb2e;
    pointer-events: none
}

@keyframes edgeglow {

    0%,
    100% {
        opacity: .4
    }

    50% {
        opacity: 1
    }
}

.bse .grad-blk__glow {
    position: absolute;
    inset: 0;
    border: 2px solid #9093d280;
    border-radius: 0;
    animation: edgeglow 3.5s ease-out infinite;
    pointer-events: none
}

.bse .grad-blk__inner {
    max-width: 1600px;
    margin: 0 auto
}

.bse .grad-blk__label {
    font-size: 15px;
    color: #fbfafcbf;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 6px
}

.bse .grad-blk__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC;
    margin: 0 0 28px;
    max-width: 680px
}

.bse .grad-blk__grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start
}

.bse .grad-blk__aside {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.bse .grad-blk__img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 12px 44px 0 #423ccb1f
}

.bse .grad-blk__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .grad-blk__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.bse .grd-card {
    background: #fbfafc1f;
    border: 1px solid #fbfafc33;
    border-radius: 14px;
    padding: 28px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background .2s ease-out, transform .25s ease-out
}

.bse .grd-card:hover {
    background: #fbfafc33;
    transform: translateY(-2px)
}

.bse .grd-card__num {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC;
    margin-bottom: 6px
}

.bse .grd-card__lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #fbfafcd9
}

.bse .feel-blk {
    padding: 96px 56px;
    background: #FBFAFC
}

.bse .feel-blk__inner {
    max-width: 1600px;
    margin: 0 auto
}

.bse .feel-blk__head {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    margin-bottom: 56px;
    align-items: end
}

.bse .feel-blk__h2 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1640;
    margin: 0
}

.bse .feel-blk__desc {
    font-size: 21px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .feel-blk__steps {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.bse .step-item {
    display: grid;
    grid-template-columns: 56px 1fr 1fr;
    gap: 28px;
    align-items: center;
    padding: 28px;
    border-radius: 14px;
    background: #fff;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    transition: box-shadow .2s ease-out, background .18s ease-out
}

.bse .step-item:hover {
    box-shadow: -1px 5px 22px 0 #423ccb17;
    background: #FBFAFC
}

.bse .step-item__num {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #423CCB;
    opacity: .25
}

.bse .step-item__name {
    font-size: 21px;
    line-height: 1.4;
    font-weight: 700;
    color: #1b1640
}

.bse .step-item__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .env-blk {
    padding: 56px;
    background: #1b1640;
    position: relative
}

.bse .env-blk__bg {
    position: absolute;
    inset: 0;
    background-image: url(./project_gallery/draft-container4-opt.jpg);
    background-size: cover;
    background-position: center;
    opacity: .12;
    filter: blur(4px)
}

.bse .env-blk__inner {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 56px;
    align-items: start
}

.bse .env-blk__left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.bse .env-blk__label {
    font-size: 15px;
    color: #9093D2;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px
}

.bse .env-blk__h2 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC;
    margin: 0
}

.bse .env-blk__body {
    font-size: 21px;
    line-height: 1.7;
    color: #fbfafccc;
    margin: 0
}

.bse .env-blk__pills {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 14px
}

.bse .env-pill {
    padding: 6px 14px;
    border-radius: 40px;
    border: 1px solid #9093d266;
    font-size: 15px;
    color: #fbfafcd9;
    background: #9093d21a;
    transition: border-color .2s ease-out, background .2s ease-out
}

.bse .env-pill:hover {
    border-color: #9093D2;
    background: #9093d233
}

.bse .env-blk__right {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.bse .env-stat {
    background: #fbfafc0f;
    border: 1px solid #9093d233;
    border-radius: 14px;
    padding: 28px;
    text-align: center
}

.bse .env-stat__num {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #9093D2;
    display: block
}

.bse .env-stat__txt {
    font-size: 15px;
    line-height: 1.4;
    color: #fbfafca6
}

.bse .moment-blk {
    padding: 96px 56px;
    background: #fff
}

.bse .moment-blk__inner {
    max-width: 1600px;
    margin: 0 auto
}

.bse .moment-blk__grid {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 56px;
    align-items: center
}

.bse .moment-blk__img-wrap {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 12px 44px 0 #423ccb1f
}

.bse .moment-blk__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .moment-blk__right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.bse .moment-blk__label {
    font-size: 15px;
    color: #423CCB;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px
}

.bse .moment-blk__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1640;
    margin: 0
}

.bse .moment-blk__body {
    font-size: 21px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .moment-blk__scenarios {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.bse .scen-card {
    background: #FBFAFC;
    border-radius: 14px;
    padding: 28px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    transition: box-shadow .22s ease-out
}

.bse .scen-card:hover {
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.bse .scen-card__icon {
    width: 32px;
    height: 32px;
    margin-bottom: 14px;
    color: #423CCB
}

.bse .scen-card__name {
    font-size: 15px;
    font-weight: 700;
    color: #1b1640;
    margin-bottom: 6px
}

.bse .scen-card__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .longval-blk {
    padding: 56px;
    background: #FBFAFC
}

.bse .longval-blk__inner {
    max-width: 1600px;
    margin: 0 auto
}

.bse .longval-blk__top {
    text-align: center;
    margin-bottom: 56px
}

.bse .longval-blk__h2 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1640;
    margin: 0 0 14px
}

.bse .longval-blk__sub {
    font-size: 21px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .res-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 14px;
    align-items: start
}

.bse .res-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow .28s ease-out
}

.bse .res-card:hover {
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.bse .res-card__type {
    font-size: 15px;
    font-weight: 600;
    color: #423CCB;
    letter-spacing: .06em;
    text-transform: uppercase
}

.bse .res-card__name {
    font-size: 21px;
    line-height: 1.4;
    font-weight: 700;
    color: #1b1640;
    margin: 0
}

.bse .res-card__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3660;
    margin: 0
}

.bse .res-card__meta {
    font-size: 15px;
    color: #9093D2;
    display: flex;
    align-items: center;
    gap: 6px
}

.bse .res-card__img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 8px;
    overflow: hidden
}

.bse .res-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .res-card--feat {
    grid-row: span 2
}

.bse .people-blk {
    padding: 96px 56px;
    background: linear-gradient(158deg, #FBFAFC 0%, #9093d226 100%)
}

.bse .people-blk__inner {
    max-width: 1600px;
    margin: 0 auto
}

.bse .people-blk__label {
    font-size: 15px;
    color: #423CCB;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px
}

.bse .people-blk__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1640;
    text-align: center;
    margin: 0 0 56px
}

.bse .people-blk__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px
}

.bse .person-card {
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: -1px 5px 22px 0 #423ccb17;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow .25s ease-out, transform .2s ease-out
}

.bse .person-card:hover {
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    transform: translateY(-3px)
}

.bse .person-card__quote {
    font-size: 21px;
    line-height: 1.7;
    color: #1b1640;
    margin: 0;
    font-style: italic
}

.bse .person-card__foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin-top: 6px
}

.bse .person-card__avatar {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: -1px 1px 5px 0 #423ccb0f
}

.bse .person-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .person-card__avatar-ph {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background: linear-gradient(135deg, #9093D2 0%, #423CCB 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.bse .person-card__avatar-ph span {
    font-size: 21px;
    font-weight: 800;
    color: #FBFAFC
}

.bse .person-card__name {
    font-size: 15px;
    font-weight: 700;
    color: #1b1640;
    margin: 0
}

.bse .person-card__role {
    font-size: 15px;
    color: #9093D2;
    margin: 0
}

.bse .person-card__tag {
    margin-left: auto;
    padding: 6px 14px;
    border-radius: 40px;
    background: #423ccb14;
    font-size: 15px;
    color: #423CCB;
    font-weight: 600;
    white-space: nowrap
}

.bse .char-hover {
    display: inline-block
}

.bse .char-hover .ch {
    display: inline-block;
    transition: color .15s ease-out
}

.bse .char-hover:hover .ch:nth-child(1) {
    color: #423CCB;
    transition-delay: 0s
}

.bse .char-hover:hover .ch:nth-child(2) {
    color: #423CCB;
    transition-delay: .04s
}

.bse .char-hover:hover .ch:nth-child(3) {
    color: #423CCB;
    transition-delay: .08s
}

.bse .char-hover:hover .ch:nth-child(4) {
    color: #423CCB;
    transition-delay: .12s
}

.bse .char-hover:hover .ch:nth-child(5) {
    color: #423CCB;
    transition-delay: .16s
}

.bse .char-hover:hover .ch:nth-child(6) {
    color: #423CCB;
    transition-delay: .2s
}

.bse .char-hover:hover .ch:nth-child(7) {
    color: #423CCB;
    transition-delay: .24s
}

.bse .char-hover:hover .ch:nth-child(8) {
    color: #423CCB;
    transition-delay: .28s
}

.bse .char-hover:hover .ch:nth-child(9) {
    color: #423CCB;
    transition-delay: .32s
}

.bse .char-hover:hover .ch:nth-child(10) {
    color: #423CCB;
    transition-delay: .36s
}

.bse .char-hover:hover .ch:nth-child(11) {
    color: #423CCB;
    transition-delay: .4s
}

.bse .char-hover:hover .ch:nth-child(12) {
    color: #423CCB;
    transition-delay: .44s
}

.bse .dashed-path {
    position: absolute;
    pointer-events: none;
    overflow: hidden
}

@media (max-width: 1024px) {
    .bse .t-blk {
        padding: 56px 28px 28px
    }

    .bse .t-blk__grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

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

    .bse .grad-blk {
        padding: 56px 28px
    }

    .bse .grad-blk__grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .bse .grad-blk__cards {
        grid-template-columns: 1fr 1fr
    }

    .bse .feel-blk {
        padding: 56px 28px
    }

    .bse .feel-blk__head {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .bse .feel-blk__h2 {
        font-size: 37px
    }

    .bse .step-item {
        grid-template-columns: 40px 1fr
    }

    .bse .step-item__desc {
        grid-column: 2
    }

    .bse .env-blk {
        padding: 56px 28px
    }

    .bse .env-blk__inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .bse .env-blk__h2 {
        font-size: 37px
    }

    .bse .moment-blk {
        padding: 56px 28px
    }

    .bse .moment-blk__grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .bse .moment-blk__scenarios {
        grid-template-columns: 1fr
    }

    .bse .longval-blk {
        padding: 56px 28px
    }

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

    .bse .res-card--feat {
        grid-column: span 2;
        grid-row: span 1
    }

    .bse .people-blk {
        padding: 56px 28px
    }

    .bse .people-blk__grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 640px) {
    .bse .t-blk {
        padding: 56px 14px 28px
    }

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

    .bse .t-blk__sub {
        font-size: 15px
    }

    .bse .grad-blk {
        padding: 56px 14px
    }

    .bse .grad-blk__h2 {
        font-size: 21px
    }

    .bse .grad-blk__cards {
        grid-template-columns: 1fr
    }

    .bse .grd-card__num {
        font-size: 37px
    }

    .bse .feel-blk {
        padding: 56px 14px
    }

    .bse .step-item {
        grid-template-columns: 1fr;
        gap: 6px
    }

    .bse .step-item__num {
        font-size: 21px
    }

    .bse .env-blk {
        padding: 56px 14px
    }

    .bse .env-blk__h2 {
        font-size: 21px
    }

    .bse .env-blk__body {
        font-size: 15px
    }

    .bse .moment-blk {
        padding: 56px 14px
    }

    .bse .moment-blk__h2 {
        font-size: 21px
    }

    .bse .longval-blk {
        padding: 56px 14px
    }

    .bse .longval-blk__h2 {
        font-size: 37px
    }

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

    .bse .res-card--feat {
        grid-column: span 1
    }

    .bse .people-blk {
        padding: 56px 14px
    }

    .bse .people-blk__h2 {
        font-size: 21px
    }

    .bse .person-card__tag {
        display: none
    }
}

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

    .bse .t-blk__actions {
        flex-direction: column
    }

    .bse .env-stat__num {
        font-size: 37px
    }
}

.abt-pg {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.abt-pg .blur-reveal {
    animation: blurIn .45s ease-out both
}

.abt-pg .blur-reveal-2 {
    animation: blurIn .38s ease-out .12s both
}

.abt-pg .blur-reveal-3 {
    animation: blurIn .32s ease-out .22s both
}

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

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

.abt-pg ::selection {
    background: #423CCB;
    color: #fff
}

.abt-pg .divider-tri {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 0
}

.abt-pg .divider-tri svg {
    display: block
}

.abt-pg .strip-img {
    position: relative;
    width: 160px;
    min-width: 160px;
    flex-shrink: 0;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 1/1
}

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

.abt-pg .strip-img .img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #423ccb8c 0%, #9093d22e 100%);
    border-radius: 14px
}

.abt-pg .strip-img .diag-stripe {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, #ffffff0a 6px, #ffffff0a 12px)
}

.abt-pg .title-blk {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 56px;
    padding: 96px 56px;
    background: linear-gradient(105deg, #423CCB 0%, #9093D2 55%, #FBFAFC 100%);
    position: relative
}

.abt-pg .title-blk::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-52deg, transparent, transparent 18px, #ffffff09 18px, #ffffff09 36px);
    border-radius: 0;
    pointer-events: none
}

.abt-pg .title-blk .t-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px
}

.abt-pg .title-blk .t-text h1 {
    font-size: 68px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800;
    letter-spacing: .01em;
    margin: 0
}

.abt-pg .title-blk .t-text p {
    font-size: 21px;
    line-height: 1.7;
    color: #ffffffe0;
    margin: 0;
    max-width: 560px
}

.abt-pg .story-sec {
    padding: 96px 56px;
    background: #FBFAFC;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start
}

.abt-pg .story-sec .story-label {
    font-size: 15px;
    line-height: 1.4;
    color: #423CCB;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 28px
}

.abt-pg .story-sec .story-label .accent-dot {
    width: 8px;
    height: 8px;
    background: #423CCB;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0
}

.abt-pg .story-sec .story-left h2 {
    font-size: 37px;
    line-height: 1.1;
    color: #1b1640;
    font-weight: 800;
    margin: 0 0 14px
}

.abt-pg .story-sec .story-left .year-badge {
    display: inline-block;
    background: linear-gradient(135deg, #423CCB 0%, #9093D2 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 8px;
    margin-top: 14px;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.abt-pg .story-sec .story-right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt-pg .story-sec .story-right p {
    font-size: 21px;
    line-height: 1.7;
    color: #2a2550;
    margin: 0
}

.abt-pg .story-sec .story-right p.small-p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4770
}

.abt-pg .story-imgs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    margin-top: 28px
}

.abt-pg .story-imgs .s-img-wrap {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.abt-pg .story-imgs .s-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .42s ease-out
}

.abt-pg .story-imgs .s-img-wrap:hover img {
    transform: scale(1.04)
}

.abt-pg .story-imgs .s-img-wrap .num-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: #423ccbe0;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 1px 5px 0 #423ccb0f
}

.abt-pg .story-imgs .s-img-wrap .img-border-acc {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 2px solid #423ccb2e;
    pointer-events: none
}

.abt-pg .team-sec {
    padding: 96px 56px;
    background: linear-gradient(108deg, #423CCB 0%, #FBFAFC 100%);
    display: flex;
    flex-direction: column;
    gap: 56px
}

.abt-pg .team-sec .team-hdr {
    text-align: center
}

.abt-pg .team-sec .team-hdr h2 {
    font-size: 51px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800;
    margin: 0 0 14px
}

.abt-pg .team-sec .team-hdr p {
    font-size: 21px;
    line-height: 1.7;
    color: #ffffffd9;
    max-width: 560px;
    margin: 0 auto
}

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

.abt-pg .team-cards .t-card {
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-align: center;
    transition: box-shadow .22s ease-out, transform .18s ease-out;
    position: relative
}

.abt-pg .team-cards .t-card:hover {
    box-shadow: -1px 12px 44px 0 #423ccb2e;
    transform: translateY(-4px)
}

.abt-pg .team-cards .t-card:hover~.t-card {
    transform: translateX(4px)
}

.abt-pg .team-cards .t-card .card-num {
    position: absolute;
    top: -10px;
    right: 14px;
    background: #423CCB;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.abt-pg .team-cards .t-card .portrait-wrap {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    border: 3px solid #9093D2;
    flex-shrink: 0
}

.abt-pg .team-cards .t-card .portrait-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.abt-pg .team-cards .t-card .no-portrait {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: linear-gradient(135deg, #9093D2 0%, #423CCB 100%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.abt-pg .team-cards .t-card .no-portrait .init-ltr {
    font-size: 37px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1
}

.abt-pg .team-cards .t-card h4 {
    font-size: 21px;
    line-height: 1.4;
    color: #1b1640;
    font-weight: 700;
    margin: 0
}

.abt-pg .team-cards .t-card .role-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #423CCB;
    font-weight: 600;
    margin: 0
}

.abt-pg .team-cards .t-card p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4770;
    margin: 0
}

.abt-pg .contact-strip {
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    box-shadow: -1px 5px 22px 0 #9093d217;
    flex-wrap: wrap
}

.abt-pg .contact-strip .c-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 160px
}

.abt-pg .contact-strip .c-item .c-label {
    font-size: 15px;
    color: #9093D2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em
}

.abt-pg .contact-strip .c-item a,
.abt-pg .contact-strip .c-item span {
    font-size: 15px;
    color: #1b1640;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.4;
    transition: color .22s ease-out
}

.abt-pg .contact-strip .c-item a:hover {
    color: #423CCB
}

.abt-pg .contact-strip .c-divider {
    width: 1px;
    height: 40px;
    background: #423ccb26;
    flex-shrink: 0
}

@media (max-width: 1024px) {
    .abt-pg .title-blk {
        padding: 56px 28px;
        gap: 28px
    }

    .abt-pg .title-blk .t-text h1 {
        font-size: 51px
    }

    .abt-pg .story-sec {
        grid-template-columns: 1fr;
        padding: 56px 28px;
        gap: 28px
    }

    .abt-pg .story-imgs {
        grid-template-columns: 1fr 1fr
    }

    .abt-pg .team-sec {
        padding: 56px 28px;
        gap: 28px
    }

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

    .abt-pg .team-sec .team-hdr h2 {
        font-size: 37px
    }
}

@media (max-width: 640px) {
    .abt-pg .title-blk {
        flex-direction: column;
        padding: 56px 14px;
        gap: 14px
    }

    .abt-pg .title-blk .strip-img {
        width: 100%;
        min-width: unset;
        max-width: 240px;
        margin: 0 auto
    }

    .abt-pg .title-blk .t-text h1 {
        font-size: 37px
    }

    .abt-pg .title-blk .t-text p {
        font-size: 15px
    }

    .abt-pg .story-sec {
        padding: 56px 14px
    }

    .abt-pg .story-imgs {
        grid-template-columns: 1fr
    }

    .abt-pg .team-sec {
        padding: 56px 14px
    }

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

    .abt-pg .contact-strip {
        flex-direction: column;
        align-items: flex-start
    }

    .abt-pg .contact-strip .c-divider {
        width: 100%;
        height: 1px
    }
}

@media (max-width: 360px) {
    .abt-pg .title-blk .t-text h1 {
        font-size: 21px
    }

    .abt-pg .story-sec .story-left h2 {
        font-size: 21px
    }

    .abt-pg .team-sec .team-hdr h2 {
        font-size: 21px
    }
}

.ctc-us {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip;
    position: relative
}

.ctc-us .geo-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    z-index: 0
}

.ctc-us .geo-bg__circle {
    position: absolute;
    border-radius: 40px;
    border: 1px solid #423ccb0f;
    background: transparent
}

.ctc-us .geo-bg__circle--a {
    width: 420px;
    height: 420px;
    border-radius: 50%;
    top: -80px;
    right: -100px;
    border-color: #423ccb0d
}

.ctc-us .geo-bg__circle--b {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    bottom: 120px;
    left: -60px;
    border-color: #9093d212
}

.ctc-us .geo-bg__circle--c {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    top: 40%;
    right: 8%;
    border-color: #423ccb0a
}

.ctc-us .strip-top {
    height: 4px;
    background: linear-gradient(97deg, #423CCB 0%, #9093D2 100%);
    width: 100%
}

.ctc-us .band-intro {
    position: relative;
    z-index: 1;
    padding: 56px 56px 28px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 56px
}

.ctc-us .band-intro__img-col {
    flex: 0 0 220px;
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    min-height: 180px;
    background: linear-gradient(137deg, #423CCB 0%, #9093D2 60%, #FBFAFC 100%)
}

.ctc-us .band-intro__img-col::after {
    content: "";
    position: absolute;
    top: -40px;
    left: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #fbfafc8c 0%, transparent 70%);
    pointer-events: none
}

.ctc-us .band-intro__img-col::before {
    content: "";
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    border: 2px solid #fbfafc4d;
    pointer-events: none
}

.ctc-us .band-intro__label {
    position: absolute;
    bottom: 28px;
    left: 28px;
    font-size: 15px;
    line-height: 1.4;
    color: #FBFAFC;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.ctc-us .band-intro__text-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px
}

.ctc-us .band-intro__eyebrow {
    font-size: 15px;
    line-height: 1.4;
    color: #423CCB;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px
}

.ctc-us .band-intro__eyebrow-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #423CCB;
    flex-shrink: 0
}

.ctc-us .band-intro__h1 {
    font-size: 51px;
    line-height: 1.1;
    color: #1b1740;
    font-weight: 800;
    margin: 0
}

.ctc-us .band-intro__sub {
    font-size: 21px;
    line-height: 1.4;
    color: #3d3b5e;
    max-width: 560px;
    margin: 0
}

.ctc-us .band-intro__sub em {
    font-style: normal;
    color: #423CCB;
    font-weight: 600
}

.ctc-us .scallop-divider {
    width: 100%;
    height: 28px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0
}

.ctc-us .scallop-divider svg {
    width: 100%;
    height: 100%;
    display: block
}

.ctc-us .two-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: 0;
    background: #FBFAFC;
    padding: 56px
}

.ctc-us .two-panel__form-col {
    flex: 1 1 0;
    padding-right: 56px
}

.ctc-us .two-panel__divider {
    width: 3px;
    background: linear-gradient(180deg, #423CCB 0%, #9093D2 100%);
    border-radius: 4px;
    flex-shrink: 0;
    align-self: stretch;
    margin: 0 56px
}

.ctc-us .two-panel__info-col {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-left: 0
}

.ctc-us .form-title {
    font-size: 37px;
    line-height: 1.1;
    color: #1b1740;
    font-weight: 800;
    margin: 0 0 28px
}

.ctc-us .form-row {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-bottom: 28px
}

.ctc-us .form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 0
}

.ctc-us .form-field label {
    font-size: 15px;
    line-height: 1.4;
    color: #1b1740;
    font-weight: 600
}

.ctc-us .form-field input[type="text"],
.ctc-us .form-field input[type="email"] {
    padding: 14px;
    border: 1.5px solid #423ccb33;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #1b1740;
    background: #fff;
    box-shadow: inset -1px 1px 4px 0 #423ccb0f;
    transition: border-color .2s ease-out, box-shadow .25s ease-out;
    outline: none;
    text-overflow: ellipsis
}

.ctc-us .form-field input[type="text"]::placeholder,
.ctc-us .form-field input[type="email"]::placeholder {
    color: #9093D2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ctc-us .form-field input[type="text"]:focus,
.ctc-us .form-field input[type="email"]:focus {
    border-color: #423CCB;
    box-shadow: inset -1px 1px 4px 0 #423ccb17 -1px 1px 5px 0 #423ccb0f
}

.ctc-us .checks-group {
    margin-bottom: 28px
}

.ctc-us .checks-group__label {
    font-size: 15px;
    line-height: 1.4;
    color: #1b1740;
    font-weight: 600;
    margin-bottom: 14px;
    display: block
}

.ctc-us .checks-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.ctc-us .check-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 14px;
    border: 1.5px solid #423ccb26;
    border-radius: 8px;
    background: #fff;
    transition: border-color .2s ease-out, background .18s ease-out;
    position: relative
}

.ctc-us .check-item:hover {
    border-color: #423CCB;
    background: #423ccb0a
}

.ctc-us .check-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #423CCB;
    flex-shrink: 0;
    cursor: pointer
}

.ctc-us .check-item__text {
    font-size: 15px;
    line-height: 1.4;
    color: #3d3b5e
}

.ctc-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
    padding: 14px;
    border-radius: 8px;
    background: #423ccb0a
}

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

.ctc-us .privacy-row__text {
    font-size: 15px;
    line-height: 1.7;
    color: #3d3b5e
}

.ctc-us .privacy-row__text a {
    color: #423CCB;
    text-decoration: underline;
    transition: opacity .2s ease-out
}

.ctc-us .privacy-row__text a:hover {
    opacity: .75
}

.ctc-us .btn-submit {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding: 14px 56px;
    background: #423CCB;
    color: #FBFAFC;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    letter-spacing: .06em;
    box-shadow: -1px 5px 22px 0 #423ccb17;
    transition: background .22s ease-out, box-shadow .28s ease-out, opacity .18s ease-out;
    position: relative;
    overflow: hidden
}

.ctc-us .btn-submit::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 2px solid transparent;
    transition: border-color .15s ease-out;
    pointer-events: none
}

.ctc-us .btn-submit:hover {
    background: #3530b0;
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    opacity: .95
}

.ctc-us .btn-submit:focus {
    outline: 3px solid #9093D2;
    outline-offset: 3px
}

.ctc-us .btn-submit:active {
    background: #2c28a0
}

.ctc-us .info-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .28s ease-out
}

.ctc-us .info-card:hover {
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.ctc-us .info-card--draw {
    border: 2px solid transparent;
    background-clip: padding-box
}

.ctc-us .info-card--draw::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 2px solid transparent;
    transition: border-top-color .18s ease-out 0s, border-right-color .18s ease-out 0.18s, border-bottom-color .18s ease-out 0.36s, border-left-color .18s ease-out .45s;
    pointer-events: none
}

.ctc-us .info-card--draw:hover::after {
    border-color: #423CCB #423CCB #9093D2 #9093D2
}

.ctc-us .info-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(137deg, #423CCB 0%, #9093D2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ctc-us .info-card__icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #FBFAFC;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ctc-us .info-card__lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #9093D2;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase
}

.ctc-us .info-card__val {
    font-size: 15px;
    line-height: 1.7;
    color: #1b1740;
    font-weight: 500;
    word-break: break-word
}

.ctc-us .info-card__val a {
    color: #423CCB;
    text-decoration: none;
    transition: opacity .2s ease-out
}

.ctc-us .info-card__val a:hover {
    opacity: .75;
    text-decoration: underline
}

.ctc-us .flow-section {
    position: relative;
    z-index: 1;
    background: linear-gradient(137deg, #423CCB 0%, #9093D2 100%);
    padding: 56px
}

.ctc-us .flow-section__heading {
    font-size: 37px;
    line-height: 1.1;
    color: #FBFAFC;
    font-weight: 800;
    text-align: center;
    margin: 0 0 14px
}

.ctc-us .flow-section__sub {
    font-size: 15px;
    line-height: 1.7;
    color: #fbfafcd1;
    text-align: center;
    max-width: 560px;
    margin: 0 auto 56px
}

.ctc-us .flow-track {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    max-width: 960px;
    margin: 0 auto
}

.ctc-us .flow-step {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    padding: 28px 14px;
    background: #fbfafc14;
    border-radius: 14px;
    position: relative;
    transition: background .22s ease-out;
    opacity: 0;
    animation: col-appear .35s ease-out forwards
}

.ctc-us .flow-step:nth-child(1) {
    animation-delay: .1s
}

.ctc-us .flow-step:nth-child(3) {
    animation-delay: .22s
}

.ctc-us .flow-step:nth-child(5) {
    animation-delay: .34s
}

.ctc-us .flow-step:nth-child(7) {
    animation-delay: .46s
}

@keyframes col-appear {
    from {
        opacity: 0;
        transform: translateY(14px)
    }

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

.ctc-us .flow-step:hover {
    background: #fbfafc24
}

.ctc-us .flow-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0 6px
}

.ctc-us .flow-arrow svg {
    width: 24px;
    height: 24px;
    stroke: #fbfafc80;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ctc-us .flow-step__num {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fbfafc2e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC;
    flex-shrink: 0
}

.ctc-us .flow-step__title {
    font-size: 15px;
    line-height: 1.4;
    color: #FBFAFC;
    font-weight: 700
}

.ctc-us .flow-step__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #fbfafcc7
}

.ctc-us .scallop-divider--inv svg path {
    fill: #FBFAFC
}

.ctc-us .scallop-divider--top svg path {
    fill: #FBFAFC
}

@media (max-width: 1024px) {
    .ctc-us .band-intro {
        padding: 56px 28px 28px;
        gap: 28px
    }

    .ctc-us .band-intro__img-col {
        flex: 0 0 160px
    }

    .ctc-us .band-intro__h1 {
        font-size: 37px
    }

    .ctc-us .two-panel {
        flex-direction: column;
        padding: 56px 28px
    }

    .ctc-us .two-panel__form-col {
        padding-right: 0
    }

    .ctc-us .two-panel__divider {
        width: 100%;
        height: 3px;
        margin: 28px 0;
        align-self: auto;
        background: linear-gradient(90deg, #423CCB 0%, #9093D2 100%)
    }

    .ctc-us .two-panel__info-col {
        flex: none;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 14px
    }

    .ctc-us .info-card {
        flex: 1 1 240px
    }

    .ctc-us .flow-section {
        padding: 56px 28px
    }

    .ctc-us .flow-track {
        flex-direction: column;
        gap: 14px;
        align-items: stretch
    }

    .ctc-us .flow-arrow {
        transform: rotate(90deg);
        padding: 6px 0;
        align-self: center
    }
}

@media (max-width: 640px) {
    .ctc-us .band-intro {
        flex-direction: column;
        padding: 28px 14px 14px;
        gap: 14px
    }

    .ctc-us .band-intro__img-col {
        flex: none;
        height: 120px;
        min-height: 0
    }

    .ctc-us .band-intro__h1 {
        font-size: 37px
    }

    .ctc-us .band-intro__sub {
        font-size: 15px
    }

    .ctc-us .form-row {
        flex-direction: column;
        gap: 14px
    }

    .ctc-us .checks-grid {
        grid-template-columns: 1fr
    }

    .ctc-us .two-panel {
        padding: 28px 14px
    }

    .ctc-us .flow-section {
        padding: 28px 14px
    }

    .ctc-us .flow-section__heading {
        font-size: 21px
    }

    .ctc-us .btn-submit {
        width: 100%;
        justify-content: center
    }
}

@media (max-width: 360px) {
    .ctc-us .band-intro__h1 {
        font-size: 21px
    }

    .ctc-us .form-title {
        font-size: 21px
    }
}

.meth-pg {
    overflow-x: hidden
}

.meth-pg .split-hero {
    display: flex;
    flex-direction: row;
    min-height: 520px
}

.meth-pg .split-hero__left {
    flex: 1 1 50%;
    background: #423CCB;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 96px 56px;
    position: relative
}

.meth-pg .split-hero__left .blob-a {
    position: absolute;
    width: 320px;
    height: 320px;
    background: #9093D2;
    border-radius: 40px;
    filter: blur(80px);
    opacity: .35;
    top: -60px;
    left: -80px;
    pointer-events: none
}

.meth-pg .split-hero__left .blob-b {
    position: absolute;
    width: 200px;
    height: 200px;
    background: #FBFAFC;
    border-radius: 40px;
    filter: blur(60px);
    opacity: .12;
    bottom: 40px;
    right: 20px;
    pointer-events: none
}

.meth-pg .split-hero__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fbfafc1f;
    border: 1px solid #fbfafc38;
    border-radius: 8px;
    padding: 6px 14px;
    margin-bottom: 28px;
    width: fit-content
}

.meth-pg .split-hero__tag-dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #FBFAFC;
    display: inline-block
}

.meth-pg .split-hero__tag span {
    font-size: 15px;
    color: #FBFAFC;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase
}

.meth-pg .split-hero__h1 {
    font-size: 51px;
    line-height: 1.1;
    color: #FBFAFC;
    font-weight: 800;
    margin-bottom: 28px;
    max-width: 480px
}

.meth-pg .split-hero__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #fbfafcd1;
    max-width: 400px
}

.meth-pg .split-hero__right {
    flex: 1 1 50%;
    background: #9093D2;
    position: relative;
    overflow: hidden
}

.meth-pg .split-hero__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.meth-pg .split-hero__right::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #423CCB 0%, transparent 55%);
    pointer-events: none
}

.meth-pg .approach-strip {
    background: linear-gradient(175deg, #423ccb12 0%, #FBFAFC 60%);
    padding: 96px 56px
}

.meth-pg .approach-strip__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start
}

.meth-pg .approach-strip__col-a {
    flex: 0 0 260px
}

.meth-pg .approach-strip__col-b {
    flex: 1 1 0
}

.meth-pg .approach-strip__label {
    font-size: 15px;
    line-height: 1.4;
    color: #423CCB;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 6px
}

.meth-pg .approach-strip__label-ico {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #423CCB;
    display: inline-block;
    position: relative
}

.meth-pg .approach-strip__label-ico::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 40px;
    background: #9093D2;
    top: -2px;
    right: -3px
}

.meth-pg .approach-strip__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1748;
    margin-bottom: 14px
}

.meth-pg .approach-strip__sub {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a5c
}

.meth-pg .approach-strip__steps {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 6px
}

.meth-pg .step-item {
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
    padding: 28px;
    background: #fff;
    border-radius: 14px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    transition: box-shadow .22s ease-out, transform .18s ease-out;
    border: 1px solid #9093d22e
}

.meth-pg .step-item:hover {
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    transform: translateY(-2px)
}

.meth-pg .step-item__num {
    flex: 0 0 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(135deg, #423CCB 0%, #9093D2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 800;
    color: #FBFAFC
}

.meth-pg .step-item__body {
    flex: 1 1 0
}

.meth-pg .step-item__body h5 {
    font-size: 15px;
    font-weight: 700;
    color: #1b1748;
    line-height: 1.4;
    margin-bottom: 6px
}

.meth-pg .step-item__body p {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a5c
}

.meth-pg .cards-section {
    background: #FBFAFC;
    padding: 96px 56px
}

.meth-pg .cards-section__top {
    max-width: 1600px;
    margin: 0 auto 56px;
    text-align: center
}

.meth-pg .cards-section__top h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1748;
    margin-bottom: 14px
}

.meth-pg .cards-section__top p {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a5c;
    max-width: 560px;
    margin: 0 auto
}

.meth-pg .cards-grid {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px
}

.meth-pg .mcard {
    background: #fff;
    border-radius: 14px;
    box-shadow: -1px 5px 22px 0 #423ccb17;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .28s ease-out, transform .22s ease-out;
    border: 1px solid #9093d224
}

.meth-pg .mcard:hover {
    box-shadow: -1px 12px 44px 0 #423ccb1f;
    transform: translateY(-3px)
}

.meth-pg .mcard__img-wrap {
    aspect-ratio: 1/1;
    width: 100%;
    overflow: hidden;
    position: relative
}

.meth-pg .mcard__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .45s ease-out
}

.meth-pg .mcard:hover .mcard__img-wrap img {
    transform: scale(1.04)
}

.meth-pg .mcard__ph-wrap {
    aspect-ratio: 1/1;
    width: 100%;
    overflow: hidden
}

.meth-pg .mcard__ph-wrap .ph-item {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    height: 100%
}

.meth-pg .mcard__ph-wrap .ph-row {
    height: 100%
}

.meth-pg .mcard__ph-wrap .ph-picture {
    height: 100%
}

.meth-pg .mcard__body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    gap: 14px
}

.meth-pg .mcard__meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px
}

.meth-pg .mcard__stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: #9093D2;
    line-height: 1.4
}

.meth-pg .mcard__stat-ico {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.meth-pg .mcard__stat-ico svg {
    width: 14px;
    height: 14px;
    fill: #9093D2
}

.meth-pg .mcard__h3 {
    font-size: 21px;
    line-height: 1.4;
    font-weight: 700;
    color: #1b1748
}

.meth-pg .mcard__desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a5c;
    flex: 1 1 0
}

.meth-pg .mcard__footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid #9093d22e;
    gap: 14px
}

.meth-pg .mcard__price-block {
    display: flex;
    flex-direction: column;
    gap: 0
}

.meth-pg .mcard__price {
    font-size: 21px;
    font-weight: 800;
    color: #423CCB;
    line-height: 1.1
}

.meth-pg .mcard__price-note {
    font-size: 15px;
    color: #9093D2;
    line-height: 1.4
}

.meth-pg .mcard__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #423CCB;
    color: #FBFAFC;
    font-size: 15px;
    font-weight: 700;
    border-radius: 8px;
    padding: 6px 14px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .2s ease-out, box-shadow .25s ease-out;
    white-space: nowrap
}

.meth-pg .mcard__btn:hover {
    background: #3530b0;
    box-shadow: -1px 5px 22px 0 #423ccb2e
}

.meth-pg .mcard__btn:focus {
    outline: 2px solid #423CCB;
    outline-offset: 2px
}

.meth-pg .spider-section {
    background: linear-gradient(170deg, #423CCB 0%, #9093D2 100%);
    padding: 96px 56px
}

.meth-pg .spider-section__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.6fr;
    gap: 28px;
    align-items: center
}

.meth-pg .spider-section__text {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.meth-pg .spider-section__text h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC
}

.meth-pg .spider-section__text p {
    font-size: 15px;
    line-height: 1.7;
    color: #fbfafcd1
}

.meth-pg .spider-section__stats {
    grid-column: 3 / 4;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.meth-pg .spider-stat {
    background: #fbfafc1a;
    border-radius: 8px;
    padding: 14px;
    text-align: center;
    border: 1px solid #fbfafc2e;
    transition: background .2s ease-out
}

.meth-pg .spider-stat:hover {
    background: #fbfafc2e
}

.meth-pg .spider-stat__val {
    font-size: 37px;
    font-weight: 800;
    color: #FBFAFC;
    line-height: 1.1
}

.meth-pg .spider-stat__lbl {
    font-size: 15px;
    color: #fbfafcb8;
    line-height: 1.4
}

.meth-pg .spider-section__chart {
    grid-column: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center
}

.meth-pg .spider-chart-wrap {
    width: 260px;
    height: 260px;
    position: relative
}

.meth-pg .spider-chart-wrap svg {
    width: 100%;
    height: 100%
}

.meth-pg .testimonial-band {
    background: #FBFAFC;
    padding: 96px 56px
}

.meth-pg .testimonial-band__inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start
}

.meth-pg .testimonial-band__portrait {
    flex: 0 0 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px
}

.meth-pg .testimonial-band__portrait-img {
    width: 180px;
    height: 231px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.meth-pg .testimonial-band__portrait-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.meth-pg .testimonial-band__portrait-name {
    font-size: 15px;
    font-weight: 700;
    color: #1b1748;
    line-height: 1.4;
    text-align: center
}

.meth-pg .testimonial-band__portrait-role {
    font-size: 15px;
    color: #9093D2;
    line-height: 1.4;
    text-align: center
}

.meth-pg .testimonial-band__content {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 28px
}

.meth-pg .testimonial-band__content h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1748
}

.meth-pg .testimonial-band__quote {
    padding: 28px;
    background: #fff;
    border-radius: 14px;
    border: 1.5px dashed #9093D2;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    position: relative
}

.meth-pg .testimonial-band__quote::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 28px;
    width: 40px;
    height: 4px;
    background: #423CCB;
    border-radius: 4px
}

.meth-pg .testimonial-band__quote p {
    font-size: 21px;
    line-height: 1.7;
    color: #1b1748;
    font-style: italic
}

.meth-pg .testimonial-band__details {
    display: flex;
    flex-direction: row;
    gap: 28px
}

.meth-pg .tband-detail {
    flex: 1 1 0;
    background: #fff;
    border-radius: 8px;
    padding: 14px;
    box-shadow: -1px 1px 5px 0 #423ccb0f;
    border: 1px solid #9093d224;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.meth-pg .tband-detail__label {
    font-size: 15px;
    color: #9093D2;
    line-height: 1.4
}

.meth-pg .tband-detail__val {
    font-size: 21px;
    font-weight: 700;
    color: #423CCB;
    line-height: 1.1
}

@keyframes color-wash {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0 50%
    }
}

.meth-pg .cta-band {
    background: linear-gradient(135deg, #423CCB, #9093D2, #3530b0, #423CCB);
    background-size: 300% 300%;
    animation: color-wash 8s ease-in-out infinite;
    padding: 96px 56px
}

.meth-pg .cta-band__inner {
    max-width: 1600px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px
}

.meth-pg .cta-band__inner h2 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #FBFAFC;
    max-width: 720px
}

.meth-pg .cta-band__inner p {
    font-size: 21px;
    line-height: 1.7;
    color: #fbfafcd1;
    max-width: 520px
}

.meth-pg .cta-band__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FBFAFC;
    color: #423CCB;
    font-size: 15px;
    font-weight: 800;
    border-radius: 8px;
    padding: 14px 28px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: box-shadow .3s ease-out, background .2s ease-out;
    letter-spacing: .04em
}

.meth-pg .cta-band__btn:hover {
    box-shadow: -1px 12px 44px 0 #423ccb38;
    background: #f0eeff
}

.meth-pg .cta-band__btn:focus {
    outline: 2px solid #FBFAFC;
    outline-offset: 3px
}

@media (max-width: 1024px) {
    .meth-pg .split-hero {
        flex-direction: column
    }

    .meth-pg .split-hero__right {
        min-height: 320px
    }

    .meth-pg .approach-strip__inner {
        flex-direction: column;
        gap: 28px
    }

    .meth-pg .approach-strip__col-a {
        flex: none
    }

    .meth-pg .cards-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .meth-pg .spider-section__inner {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto
    }

    .meth-pg .spider-section__text {
        grid-column: 1 / 3
    }

    .meth-pg .spider-section__stats {
        grid-column: 1 / 2
    }

    .meth-pg .spider-section__chart {
        grid-column: 2 / 3
    }

    .meth-pg .testimonial-band__inner {
        flex-direction: column;
        gap: 28px
    }

    .meth-pg .testimonial-band__portrait {
        flex-direction: row;
        flex: none;
        align-items: center
    }

    .meth-pg .testimonial-band__portrait-img {
        width: 120px;
        height: 154px
    }
}

@media (max-width: 640px) {
    .meth-pg .split-hero__left {
        padding: 56px 28px
    }

    .meth-pg .split-hero__h1 {
        font-size: 37px
    }

    .meth-pg .approach-strip {
        padding: 56px 28px
    }

    .meth-pg .cards-section {
        padding: 56px 28px
    }

    .meth-pg .cards-grid {
        grid-template-columns: 1fr
    }

    .meth-pg .spider-section {
        padding: 56px 28px
    }

    .meth-pg .spider-section__inner {
        grid-template-columns: 1fr
    }

    .meth-pg .spider-section__text {
        grid-column: 1 / 2
    }

    .meth-pg .spider-section__stats {
        grid-column: 1 / 2;
        flex-direction: row;
        flex-wrap: wrap
    }

    .meth-pg .spider-stat {
        flex: 1 1 120px
    }

    .meth-pg .spider-section__chart {
        grid-column: 1 / 2
    }

    .meth-pg .testimonial-band {
        padding: 56px 28px
    }

    .meth-pg .testimonial-band__details {
        flex-direction: column
    }

    .meth-pg .cta-band {
        padding: 56px 28px
    }

    .meth-pg .cta-band__inner h2 {
        font-size: 37px
    }
}

@media (max-width: 360px) {
    .meth-pg .split-hero__left {
        padding: 28px 14px
    }

    .meth-pg .split-hero__h1 {
        font-size: 21px
    }

    .meth-pg .approach-strip {
        padding: 28px 14px
    }

    .meth-pg .cards-section {
        padding: 28px 14px
    }

    .meth-pg .spider-section {
        padding: 28px 14px
    }

    .meth-pg .testimonial-band {
        padding: 28px 14px
    }

    .meth-pg .cta-band {
        padding: 28px 14px
    }

    .meth-pg .cta-band__inner h2 {
        font-size: 21px
    }
}

.success-pg {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 28px;
    background: #FBFAFC
}

.success-pg .success-wrap {
    max-width: 560px;
    width: 100%;
    text-align: center
}

.success-pg .success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    background: linear-gradient(135deg, #423CCB 0%, #9093D2 100%);
    box-shadow: -1px 5px 22px 0 #423ccb17
}

.success-pg .success-icon svg {
    display: block
}

.success-pg .success-heading {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1840;
    margin: 0 0 14px;
    letter-spacing: -.01em
}

.success-pg .success-msg {
    font-size: 15px;
    line-height: 1.7;
    color: #3d3a5c;
    margin: 0 0 28px
}

.success-pg .success-divider {
    width: 48px;
    height: 3px;
    border-radius: 4px;
    background: linear-gradient(90deg, #423CCB 0%, #9093D2 100%);
    margin: 0 auto 28px
}

.success-pg .success-note {
    font-size: 15px;
    line-height: 1.4;
    color: #6a668f;
    margin: 0 0 56px
}

.success-pg .success-note a {
    color: #423CCB;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity .2s ease-out
}

.success-pg .success-note a:hover {
    opacity: .72
}

.success-pg .success-btn {
    display: inline-block;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #FBFAFC;
    background: #423CCB;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: -1px 5px 22px 0 #423ccb17;
    transition: box-shadow .2s ease-out, opacity .18s ease-out
}

.success-pg .success-btn:hover {
    opacity: .88;
    box-shadow: -1px 12px 44px 0 #423ccb1f
}

.success-pg .success-btn:focus-visible {
    outline: 2px solid #423CCB;
    outline-offset: 4px
}

.success-pg .success-btn:active {
    opacity: .78;
    box-shadow: -1px 1px 5px 0 #423ccb0f
}

@media (max-width: 640px) {
    .success-pg {
        padding: 56px 14px
    }

    .success-pg .success-heading {
        font-size: 21px
    }
}