@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-code@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-code@latest/700.css";

html {
    scroll-behavior: smooth
}

body {
    margin: 0
}

:focus {
    outline: 3px solid #D96C27;
    outline-offset: 2px;
    filter: invert(1)
}

.pg-shell {
    box-sizing: border-box;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.site-hdr {
    position: relative;
    background: linear-gradient(160deg, #382CA4 0%, #2a2080 55%, #1e1660 100%);
    z-index: 100
}

.hdr-top-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background: #d96c271f;
    border-bottom: 1px solid #cae1d126
}

.hdr-phone-link {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    color: #CAE1D1;
    text-decoration: none;
    letter-spacing: .08em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .28s ease-in-out
}

.hdr-phone-link:hover {
    color: #D96C27
}

.hdr-phone-link .la {
    font-size: 15px
}

.hdr-mid {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px 16px
}

.hdr-logo-card {
    background: #f5f2ee;
    border-radius: 8px 48px 8px 8px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px 1px #382ca41a 0 1px 4px 1px #382ca414;
    border: 2px solid #cae1d166
}

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

.hdr-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #cae1d14d 20%, #d96c2780 50%, #cae1d14d 80%, transparent 100%);
    margin: 0
}

.hdr-nav-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 12px 16px 20px
}

.hdr-nav-row a {
    font-family: 'Roboto Slab', serif;
    font-size: 15px;
    color: #cae1d1e6;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    display: inline-block;
    letter-spacing: .02em;
    line-height: 1.2;
    transition: color .25s cubic-bezier(0.4, 0, 0.2, 1);
    background: transparent
}

.hdr-nav-row a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background: #d96c272e;
    transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 8px
}

.hdr-nav-row a:hover::before {
    right: 0
}

.hdr-nav-row a:hover {
    color: #fff
}

.hdr-nav-row a.active-pg {
    color: #D96C27;
    background: #d96c271a
}

@media (max-width: 768px) {
    .hdr-nav-row a {
        font-size: 15px;
        padding: 10px 12px
    }

    .hdr-logo-card img {
        width: 60px;
        height: 60px
    }
}

@media (max-width: 480px) {
    .hdr-nav-row {
        gap: 4px;
        padding: 8px 8px 16px
    }

    .hdr-nav-row a {
        padding: 10px 8px
    }
}

.site-ftr {
    background: linear-gradient(175deg, #1e1660 0%, #382CA4 100%);
    color: #cae1d1d9
}

.ftr-main {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 48px;
    padding: 48px 16px 32px;
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box
}

.ftr-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
}

.ftr-logo-card {
    background: #f5f2ee;
    border-radius: 48px 8px 8px 8px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 14px 1px #382ca41a;
    border: 2px solid #cae1d14d
}

.ftr-logo-card img {
    width: 65px;
    height: 65px;
    object-fit: contain;
    display: block
}

.ftr-founded {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    color: #cae1d199;
    letter-spacing: .06em;
    line-height: 1.5
}

.ftr-desc {
    font-family: 'Roboto Slab', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #cae1d1cc;
    max-width: 420px
}

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

.ftr-contact-label {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    letter-spacing: .1em;
    color: #D96C27;
    line-height: 1.2
}

.ftr-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Roboto Slab', serif;
    font-size: 15px;
    line-height: 1.5;
    color: #cae1d1d9
}

.ftr-contact-item a {
    color: #cae1d1d9;
    text-decoration: none;
    transition: color .28s ease-in-out
}

.ftr-contact-item a:hover {
    color: #D96C27
}

.ftr-contact-item .la {
    color: #D96C27;
    font-size: 22px
}

.ftr-contact-page-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Roboto Slab', serif;
    font-size: 15px;
    color: #CAE1D1;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 8px;
    border: 1px solid #cae1d140;
    position: relative;
    overflow: hidden;
    margin-top: 8px;
    align-self: flex-start;
    transition: color .3s cubic-bezier(0.4, 0, 0.2, 1), border-color .3s cubic-bezier(0.4, 0, 0.2, 1)
}

.ftr-contact-page-link::before {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background: #d96c2733;
    transition: right .38s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 8px
}

.ftr-contact-page-link:hover::before {
    right: 0
}

.ftr-contact-page-link:hover {
    color: #fff;
    border-color: #d96c2780
}

.ftr-sep {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #cae1d133 30%, #cae1d133 70%, transparent);
    margin: 0
}

.ftr-bottom {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 16px 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px
}

.ftr-copy {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    color: #cae1d180;
    line-height: 1.5
}

.ftr-legal-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px
}

.ftr-legal-nav a {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    color: #cae1d18c;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    line-height: 1.2;
    transition: color .26s ease-in-out, background .26s ease-in-out
}

.ftr-legal-nav a:hover {
    color: #CAE1D1;
    background: #cae1d114
}

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

    .ftr-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
}

@media (max-width: 480px) {
    .ftr-legal-nav {
        flex-direction: column;
        align-items: flex-start
    }
}

.ck-popup-shell {
    display: none;
    position: fixed;
    top: 16px;
    right: 16px;
    width: 340px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 52px 1px #382ca421 0 4px 14px 1px #382ca41a;
    border: 1px solid #382ca41f;
    z-index: 1000;
    opacity: 0;
    transition: opacity 420ms cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.ck-popup-shell.ck-vis {
    opacity: 1
}

.ck-pop-inner {
    padding: 16px
}

.ck-pop-desc {
    font-family: 'Roboto Slab', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #2a2080;
    margin: 0 0 4px
}

.ck-pop-desc a {
    color: #D96C27;
    text-decoration: underline
}

.ck-pop-head {
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    font-weight: 700;
    color: #382CA4;
    letter-spacing: .04em;
    margin: 0 0 12px;
    line-height: 1.2
}

.ck-btn-row {
    display: flex;
    gap: 8px;
    margin-top: 12px
}

.ck-btn-accept,
.ck-btn-decline {
    flex: 1;
    font-family: 'Fira Code', monospace;
    font-size: 15px;
    padding: 12px 8px;
    border-radius: 8px;
    border: 1px solid #382CA4;
    cursor: pointer;
    line-height: 1.2;
    position: relative;
    overflow: hidden;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.ck-btn-accept {
    background: #382CA4;
    color: #fff
}

.ck-btn-accept:hover {
    background: #2a2080
}

.ck-btn-decline {
    background: transparent;
    color: #382CA4
}

.ck-btn-decline:hover {
    background: #382ca414
}

.ck-btn-accept:focus,
.ck-btn-decline:focus {
    outline: 3px solid #D96C27;
    outline-offset: 2px
}

.agreement-section-rclm {
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 32px
}

.agreement-section-rclm h1 {
    font-size: 52px;
    line-height: 1.2;
    color: #382CA4;
    margin-bottom: 32px;
    letter-spacing: -.5px
}

.agreement-section-rclm h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #382CA4;
    margin-top: 48px;
    margin-bottom: 16px
}

.agreement-section-rclm h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #2a2060;
    margin-top: 32px;
    margin-bottom: 12px
}

.agreement-section-rclm h4 {
    font-size: 15px;
    line-height: 1.5;
    color: #2a2060;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-top: 32px;
    margin-bottom: 8px
}

.agreement-section-rclm h5 {
    font-size: 15px;
    line-height: 1.5;
    color: #D96C27;
    margin-top: 16px;
    margin-bottom: 8px
}

.agreement-section-rclm h6 {
    font-size: 15px;
    line-height: 1.5;
    color: #555070;
    letter-spacing: .04em;
    margin-top: 16px;
    margin-bottom: 8px
}

.agreement-section-rclm p {
    font-size: 15px;
    line-height: 1.7;
    color: #2c2840;
    margin-bottom: 16px
}

.agreement-section-rclm strong,
.agreement-section-rclm b {
    color: #1e1a3a;
    font-weight: 700
}

.agreement-section-rclm a {
    color: #D96C27;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out
}

.agreement-section-rclm a:hover {
    color: #382CA4;
    text-decoration-color: #382CA4
}

.agreement-section-rclm hr {
    border: none;
    border-top: 1px solid #CAE1D1;
    margin: 48px 0
}

.agreement-section-rclm table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 32px;
    box-shadow: 0 1px 4px 1px #382ca414;
    border-radius: 8px;
    overflow: hidden
}

.agreement-section-rclm thead {
    background-color: #382CA4
}

.agreement-section-rclm thead th {
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: .05em;
    padding: 12px 16px;
    text-align: left;
    font-weight: 700
}

.agreement-section-rclm tbody tr {
    border-bottom: 1px solid #CAE1D1;
    transition: background-color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.agreement-section-rclm tbody tr:last-child {
    border-bottom: none
}

.agreement-section-rclm tbody tr:nth-child(even) {
    background-color: #f3f7f5
}

.agreement-section-rclm tbody tr:hover {
    background-color: #e6f0eb
}

.agreement-section-rclm td {
    color: #2c2840;
    padding: 12px 16px;
    vertical-align: top
}

@media (max-width: 768px) {
    .agreement-section-rclm {
        padding: 32px 16px
    }

    .agreement-section-rclm h1 {
        font-size: 28px
    }

    .agreement-section-rclm h2 {
        font-size: 22px
    }

    .agreement-section-rclm h3 {
        font-size: 15px
    }

    .agreement-section-rclm table {
        display: block;
        overflow-x: auto
    }
}

@media (max-width: 480px) {
    .agreement-section-rclm {
        padding: 16px 12px
    }

    .agreement-section-rclm h1 {
        font-size: 22px
    }

    .agreement-section-rclm h2 {
        font-size: 15px;
        margin-top: 32px
    }
}

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

.spt-pg .inner-lim {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px
}

.spt-pg .bento-wrap {
    background: #fff;
    padding: 72px 32px 48px;
    position: relative;
    overflow: hidden
}

.spt-pg .dot-field {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0
}

.spt-pg .dot-field::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #382ca41a 1.5px, transparent 1.5px);
    background-size: 28px 28px
}

.spt-pg .bento-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto
}

.spt-pg .bento-cell-img {
    grid-column: 2;
    grid-row: 1 / 3;
    border-radius: 8px;
    overflow: hidden
}

.spt-pg .bento-cell-img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    display: block
}

.spt-pg .bento-cell-txt {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 32px 32px 16px;
    background: linear-gradient(135deg, #cae1d159 0%, #fff0 100%);
    border-radius: 8px
}

.spt-pg .bento-cell-sub {
    grid-column: 1;
    grid-row: 2;
    padding: 16px 32px 32px
}

.spt-pg .pg-eyebrow {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .12em;
    color: #382CA4;
    background: #382ca414;
    padding: 4px 16px;
    border-radius: 48px;
    margin-bottom: 16px;
    text-transform: uppercase
}

.spt-pg .pg-h1 {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.01em;
    color: #1b1740;
    margin: 0 0 8px
}

.spt-pg .pg-h1 .pause-line {
    display: block
}

.spt-pg .pg-lead {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3560;
    margin: 0;
    max-width: 420px
}

.spt-pg .bento-cell-sub .pg-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3560;
    margin: 0
}

.spt-pg .zigzag-div {
    display: block;
    width: 100%;
    line-height: 0;
    background: #fff
}

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

.spt-pg .info-band {
    position: relative;
    background: linear-gradient(160deg, #cae1d138 0%, #382ca40f 100%);
    padding: 64px 32px;
    overflow: hidden
}

.spt-pg .wave-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden
}

.spt-pg .wave-bg svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    animation: wave-pass 9s linear infinite;
    opacity: .13
}

@keyframes wave-pass {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

.spt-pg .radial-spot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(ellipse at center, #d96c2714 0%, transparent 70%);
    pointer-events: none;
    z-index: 0
}

.spt-pg .info-lim {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.spt-pg .info-top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    margin-bottom: 48px
}

.spt-pg .info-top-left {
    flex: 0 0 340px
}

.spt-pg .info-top-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.spt-pg .sec-h2 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1740;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.spt-pg .sec-body {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3560;
    margin: 0
}

.spt-pg .quote-blk {
    background: #fff;
    border-radius: 8px;
    padding: 32px;
    box-shadow: 0 4px 14px 1px #382ca41a;
    position: relative
}

.spt-pg .quote-blk .q-mark {
    display: block;
    width: 36px;
    height: 36px;
    margin-bottom: 12px
}

.spt-pg .quote-blk .q-txt {
    font-size: 22px;
    line-height: 1.5;
    color: #1b1740;
    font-weight: 600;
    margin: 0 0 12px
}

.spt-pg .quote-blk .q-txt .q-accent {
    color: #D96C27;
    font-style: italic
}

.spt-pg .quote-blk .q-attr {
    font-size: 15px;
    color: #382CA4;
    font-weight: 600;
    letter-spacing: .06em;
    margin: 0
}

.spt-pg .q-portrait-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 16px
}

.spt-pg .q-portrait {
    width: 64px;
    height: 82px;
    border-radius: 48px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 1px 4px 1px #d96c2714
}

.spt-pg .q-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.spt-pg .q-attr-col {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.spt-pg .q-name {
    font-size: 15px;
    font-weight: 700;
    color: #1b1740;
    margin: 0
}

.spt-pg .q-role {
    font-size: 15px;
    color: #6a6490;
    margin: 0
}

.spt-pg .channels-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.spt-pg .ch-card {
    background: #fff;
    border-radius: 8px;
    padding: 32px 24px;
    box-shadow: 0 1px 4px 1px #382ca414;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.spt-pg .ch-card:hover {
    box-shadow: 0 10px 52px 1px #382ca421
}

.spt-pg .ch-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px
}

.spt-pg .ch-icon.orange {
    background: #d96c271f;
    color: #D96C27
}

.spt-pg .ch-icon.blue {
    background: #382ca41a;
    color: #382CA4
}

.spt-pg .ch-icon.green {
    background: #cae1d199;
    color: #2a7a4b
}

.spt-pg .ch-h {
    font-size: 15px;
    font-weight: 700;
    color: #1b1740;
    letter-spacing: .04em;
    margin: 0
}

.spt-pg .ch-val {
    font-size: 22px;
    font-weight: 700;
    color: #382CA4;
    margin: 0;
    line-height: 1.2
}

.spt-pg .ch-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3560;
    margin: 0
}

.spt-pg .ch-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #D96C27;
    text-decoration: none;
    border-radius: 48px;
    padding: 8px 16px;
    position: relative;
    overflow: hidden;
    transition: color .25s ease-in-out;
    background: transparent;
    border: none;
    cursor: pointer;
    margin-top: 4px;
    align-self: flex-start
}

.spt-pg .ch-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #d96c271a;
    border-radius: 48px;
    transform: translateX(100%);
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.spt-pg .ch-link:hover::before {
    transform: translateX(0)
}

.spt-pg .ch-link:hover {
    color: #b85520
}

.spt-pg .dec-lines {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: none
}

.spt-pg .dec-lines span {
    display: block;
    height: 2px;
    border-radius: 8px;
    background: #382ca41f
}

.spt-pg .dec-lines span:nth-child(1) {
    width: 32px
}

.spt-pg .dec-lines span:nth-child(2) {
    width: 24px
}

.spt-pg .dec-lines span:nth-child(3) {
    width: 16px
}

.spt-pg .dec-lines span:nth-child(4) {
    width: 8px
}

.spt-pg .img-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 48px
}

.spt-pg .img-pair-item {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px 1px #d96c2714
}

.spt-pg .img-pair-item img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    display: block
}

@media (max-width: 1024px) {
    .spt-pg .bento-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto
    }

    .spt-pg .bento-cell-img {
        grid-column: 1;
        grid-row: 1
    }

    .spt-pg .bento-cell-txt {
        grid-column: 1;
        grid-row: 2
    }

    .spt-pg .bento-cell-sub {
        grid-column: 1;
        grid-row: 3
    }

    .spt-pg .info-top {
        flex-direction: column;
        gap: 32px
    }

    .spt-pg .info-top-left {
        flex: 0 0 auto
    }

    .spt-pg .channels-row {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 768px) {
    .spt-pg .pg-h1 {
        font-size: 28px
    }

    .spt-pg .bento-wrap {
        padding: 48px 16px 32px
    }

    .spt-pg .bento-cell-txt {
        padding: 16px
    }

    .spt-pg .bento-cell-sub {
        padding: 8px 16px 16px
    }

    .spt-pg .channels-row {
        grid-template-columns: 1fr
    }

    .spt-pg .info-band {
        padding: 48px 16px
    }

    .spt-pg .img-pair {
        grid-template-columns: 1fr
    }

    .spt-pg .sec-h2 {
        font-size: 22px
    }
}

@media (max-width: 480px) {
    .spt-pg .pg-h1 {
        font-size: 22px
    }

    .spt-pg .inner-lim {
        padding: 0 16px
    }

    .spt-pg .quote-blk {
        padding: 16px
    }

    .spt-pg .ch-card {
        padding: 16px
    }
}

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

.tstml .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.tstml .ttl-band {
    background: #1a1230;
    position: relative;
    padding: 32px 0;
    overflow: hidden
}

.tstml .ttl-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, #cae1d10a 0px, #cae1d10a 1px, transparent 1px, transparent 48px), repeating-linear-gradient(90deg, #cae1d10a 0px, #cae1d10a 1px, transparent 1px, transparent 48px);
    pointer-events: none
}

.tstml .ttl-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px
}

.tstml .ttl-img-col {
    flex: 0 0 340px;
    position: relative
}

.tstml .ttl-img-wrap {
    width: 340px;
    aspect-ratio: 16/9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 52px 1px #382ca421
}

.tstml .ttl-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, transparent 40%, #1a12308c 100%);
    border-radius: 8px;
    pointer-events: none
}

.tstml .ttl-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.85) brightness(0.9)
}

.tstml .ttl-txt-col {
    flex: 1
}

.tstml .ttl-eyebrow {
    font-size: 15px;
    line-height: 1.5;
    color: #CAE1D1;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block
}

.tstml .ttl-h1 {
    font-size: 52px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    letter-spacing: .03em;
    margin: 0 0 8px
}

.tstml .ttl-h1 span {
    color: #D96C27;
    display: block
}

.tstml .ttl-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #cae1d1bf;
    margin: 0;
    max-width: 480px
}

.tstml .agg-band {
    background: #fff;
    padding: 48px 0;
    border-bottom: 1px solid #382ca414
}

.tstml .agg-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 32px;
    align-items: center
}

.tstml .agg-score-col {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.tstml .agg-big-num {
    font-size: 68px;
    line-height: 1.2;
    font-weight: 900;
    color: #382CA4;
    letter-spacing: -.02em
}

.tstml .agg-stars {
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center
}

.tstml .agg-star {
    width: 20px;
    height: 20px
}

.tstml .agg-star svg {
    width: 20px;
    height: 20px
}

.tstml .agg-count-lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #555
}

.tstml .agg-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    border-radius: 8px;
    background: #f4f2fd;
    box-shadow: 0 1px 4px 1px #382ca414
}

.tstml .agg-stat-num {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #D96C27
}

.tstml .agg-stat-lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #382CA4
}

.tstml .rev-band {
    padding: 48px 0;
    background: linear-gradient(158deg, #f4f2fd 0%, #eaf4ee 100%);
    animation: bg-shift 12s ease-in-out infinite alternate
}

@keyframes bg-shift {
    0% {
        background: linear-gradient(158deg, #f4f2fd 0%, #eaf4ee 100%)
    }

    50% {
        background: linear-gradient(158deg, #eaf4ee 0%, #f0edfc 100%)
    }

    100% {
        background: linear-gradient(158deg, #e8f5ee 0%, #f4f2fd 100%)
    }
}

.tstml .rev-head {
    margin-bottom: 32px
}

.tstml .rev-h2 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #382CA4;
    letter-spacing: .04em;
    margin: 0 0 8px
}

.tstml .rev-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #444;
    max-width: 580px;
    margin: 0
}

.tstml .rev-mosaic {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px
}

.tstml .rev-card {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 4px 14px 1px #382ca41a;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.tstml .rev-card:hover {
    box-shadow: 0 10px 52px 1px #382ca421;
    transform: translateY(-2px)
}

.tstml .rev-card.wide {
    grid-column: 2 / 3
}

.tstml .rev-card.tall {
    grid-row: 1 / 3
}

.tstml .rev-card-stars {
    display: flex;
    flex-direction: row;
    gap: 4px
}

.tstml .rev-card-stars svg {
    width: 16px;
    height: 16px
}

.tstml .rev-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    margin: 0;
    flex: 1
}

.tstml .rev-person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-top: 8px
}

.tstml .rev-portrait {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0
}

.tstml .rev-portrait img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    object-position: center;
    display: block
}

.tstml .rev-name {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    color: #382CA4
}

.tstml .rev-role {
    font-size: 15px;
    line-height: 1.5;
    color: #888
}

.tstml .rev-badge {
    display: inline-block;
    font-size: 15px;
    line-height: 1.5;
    padding: 4px 12px;
    border-radius: 48px;
    background: #CAE1D1;
    color: #1a2e22;
    letter-spacing: .06em;
    font-weight: 600;
    align-self: flex-start
}

.tstml .rev-badge.orange {
    background: #D96C27;
    color: #fff
}

.tstml .rev-badge.purple {
    background: #382CA4;
    color: #fff
}

.tstml .leg-band {
    background: #1a1230;
    padding: 48px 0;
    position: relative;
    overflow: hidden
}

.tstml .leg-band::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 320px;
    height: 320px;
    background: linear-gradient(135deg, #d96c272e 0%, #382ca438 100%);
    clip-path: polygon(20% 0%, 80% 0%, 100% 30%, 90% 80%, 50% 100%, 10% 85%, 0% 40%);
    pointer-events: none
}

.tstml .leg-flex {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.tstml .leg-txt-col {
    flex: 1
}

.tstml .leg-h2 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    letter-spacing: .04em;
    margin: 0 0 16px
}

.tstml .leg-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #cae1d1cc;
    margin: 0 0 24px
}

.tstml .leg-img-col {
    flex: 0 0 380px
}

.tstml .leg-img-wrap {
    width: 380px;
    aspect-ratio: 16/9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 52px 1px #d96c2721
}

.tstml .leg-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.8) brightness(0.85)
}

.tstml .leg-legend {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.tstml .leg-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px
}

.tstml .leg-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.tstml .leg-icon.c-green {
    background: #CAE1D1
}

.tstml .leg-icon.c-orange {
    background: #d96c2733
}

.tstml .leg-icon.c-purple {
    background: #382ca440
}

.tstml .leg-icon.c-white {
    background: #ffffff1f
}

.tstml .leg-icon i {
    font-size: 18px
}

.tstml .leg-icon.c-green i {
    color: #1a2e22
}

.tstml .leg-icon.c-orange i {
    color: #D96C27
}

.tstml .leg-icon.c-purple i {
    color: #CAE1D1
}

.tstml .leg-icon.c-white i {
    color: #fff
}

.tstml .leg-item-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #ffffffd9
}

.tstml .leg-item-txt strong {
    color: #fff;
    font-weight: 700
}

.tstml .cta-band {
    padding: 48px 0;
    background: #fff;
    border-top: 1px solid #cae1d180
}

.tstml .cta-center {
    text-align: center;
    max-width: 600px;
    margin: 0 auto
}

.tstml .cta-h2 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #382CA4;
    letter-spacing: .04em;
    margin: 0 0 12px
}

.tstml .cta-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #444;
    margin: 0 0 24px
}

.tstml .cta-btn {
    display: inline-block;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    color: #382CA4;
    text-decoration: none;
    padding: 12px 32px;
    border-radius: 8px;
    border: 2px solid #382CA4;
    position: relative;
    overflow: hidden;
    transition: color .35s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: .06em
}

.tstml .cta-btn::after {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
    height: 100%;
    background: #382CA4;
    transition: right .35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.tstml .cta-btn:hover {
    color: #fff
}

.tstml .cta-btn:hover::after {
    right: 0
}

.tstml .cta-btn span {
    position: relative;
    z-index: 1
}

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

    .tstml .agg-score-col {
        grid-column: 1 / 3
    }

    .tstml .rev-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
    }

    .tstml .rev-card.wide {
        grid-column: 1 / 3
    }

    .tstml .rev-card.tall {
        grid-row: auto
    }

    .tstml .leg-flex {
        flex-direction: column;
        gap: 32px
    }

    .tstml .leg-img-col {
        flex: unset;
        width: 100%
    }

    .tstml .leg-img-wrap {
        width: 100%
    }

    .tstml .ttl-img-col {
        flex: 0 0 260px
    }

    .tstml .ttl-img-wrap {
        width: 260px
    }
}

@media (max-width: 768px) {
    .tstml .ttl-flex {
        flex-direction: column;
        gap: 16px
    }

    .tstml .ttl-img-col {
        flex: unset;
        width: 100%
    }

    .tstml .ttl-img-wrap {
        width: 100%
    }

    .tstml .ttl-h1 {
        font-size: 28px
    }

    .tstml .agg-big-num {
        font-size: 52px
    }

    .tstml .rev-mosaic {
        grid-template-columns: 1fr
    }

    .tstml .rev-card.wide {
        grid-column: auto
    }
}

@media (max-width: 480px) {
    .tstml .agg-grid {
        grid-template-columns: 1fr
    }

    .tstml .agg-score-col {
        grid-column: auto
    }

    .tstml .ttl-h1 {
        font-size: 22px
    }
}

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

.prm .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.prm .t-blk {
    padding: 48px 0 32px;
    background: linear-gradient(135deg, #f5f3ff 0%, #e8f4ec 100%);
    position: relative
}

.prm .t-blk-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px
}

.prm .t-mosaic {
    flex: 0 0 420px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 8px;
    position: relative
}

.prm .t-mosaic-img {
    position: relative;
    overflow: hidden;
    border-radius: 8px
}

.prm .t-mosaic-img.big {
    grid-column: 1 / 2;
    grid-row: 1 / 3
}

.prm .t-mosaic-img.sm1 {
    grid-column: 2 / 3;
    grid-row: 1 / 2
}

.prm .t-mosaic-img.sm2 {
    grid-column: 2 / 3;
    grid-row: 2 / 3
}

.prm .t-mosaic-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.prm .t-mosaic-img.big img {
    height: 260px
}

.prm .t-mosaic-img.sm1 img,
.prm .t-mosaic-img.sm2 img {
    height: 124px
}

.prm .t-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #382ca473 0%, #d96c272e 100%);
    pointer-events: none
}

.prm .t-shape-arrow {
    position: absolute;
    right: -18px;
    top: 50%;
    width: 36px;
    height: 36px;
    z-index: 2;
    pointer-events: none
}

.prm .t-shape-arc {
    position: absolute;
    bottom: -12px;
    left: 20px;
    width: 80px;
    height: 40px;
    border: 2px solid #D96C27;
    border-top: none;
    border-radius: 0 0 48px 48px;
    pointer-events: none;
    opacity: .5
}

.prm .t-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.prm .t-label {
    font-size: 15px;
    letter-spacing: .12em;
    color: #382CA4;
    font-weight: 600;
    text-transform: uppercase
}

.prm .t-h1 {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    color: #1a1100;
    margin: 0;
    letter-spacing: -.01em
}

.prm .t-h1 .acc {
    color: #D96C27
}

.prm .t-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #2d2d2d;
    max-width: 420px;
    margin: 0
}

.prm .t-curved-line {
    width: 100%;
    height: 24px;
    overflow: visible;
    display: block;
    margin: 4px 0
}

.prm .dist-sec {
    padding: 64px 0 48px;
    background: #fff
}

.prm .dist-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 16px;
    margin-top: 32px
}

.prm .dist-hd {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #1a1100;
    letter-spacing: .02em;
    margin: 0 0 8px
}

.prm .dist-sub {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.prm .dist-card {
    background: #f7f5ff;
    border-radius: 8px;
    padding: 24px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 1px 4px 1px #382ca414;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.prm .dist-card:hover {
    box-shadow: 0 4px 14px 1px #382ca421;
    transform: translateY(-2px)
}

.prm .dist-card.accent-left {
    background: linear-gradient(135deg, #382CA4 0%, #5a4fd6 100%)
}

.prm .dist-card.accent-left .dist-card-num,
.prm .dist-card.accent-left .dist-card-lbl,
.prm .dist-card.accent-left .dist-card-txt {
    color: #fff
}

.prm .dist-card.accent-left .dist-card-icon {
    background: #ffffff2e;
    color: #fff
}

.prm .dist-card-num {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    color: #D96C27;
    letter-spacing: -.02em
}

.prm .dist-card-num sup {
    font-size: 22px;
    vertical-align: super;
    font-weight: 700
}

.prm .dist-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #e8e4ff;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #382CA4
}

.prm .dist-card-lbl {
    font-size: 15px;
    font-weight: 700;
    color: #1a1100;
    letter-spacing: .04em
}

.prm .dist-card-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.prm .gap-sec {
    padding: 56px 0 64px;
    background: radial-gradient(ellipse at 50% 40%, #e8f4ec 0%, #d0e8d8 60%, #b8d8c4 100%)
}

.prm .gap-inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.prm .gap-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prm .gap-hd {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #1a1100;
    margin: 0;
    letter-spacing: .01em
}

.prm .gap-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0
}

.prm .gap-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px
}

.prm .gap-step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    background: #ffffffb8;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 1px 4px 1px #382ca414
}

.prm .gap-step-num {
    font-size: 22px;
    font-weight: 800;
    color: #382CA4;
    min-width: 32px;
    text-align: right;
    line-height: 1.2
}

.prm .gap-step-body {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.prm .gap-step-lbl {
    font-size: 15px;
    font-weight: 700;
    color: #1a1100
}

.prm .gap-step-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.prm .gap-right {
    flex: 0 0 380px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prm .gap-img-wrap {
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 4px 14px 1px #d96c271a
}

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

.prm .gap-badge {
    background: #382CA4;
    color: #fff;
    border-radius: 8px;
    padding: 16px;
    font-size: 15px;
    line-height: 1.5
}

.prm .gap-badge strong {
    font-size: 22px;
    display: block;
    margin-bottom: 4px;
    color: #CAE1D1
}

.prm .exp-sec {
    padding: 64px 0 56px;
    background: #fff
}

.prm .exp-hd {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: #1a1100;
    margin: 0 0 32px;
    letter-spacing: .02em
}

.prm .exp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.prm .exp-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    background: #f5f3ff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 4px 1px #382ca414;
    transition: box-shadow .35s ease-in-out;
    align-items: flex-start
}

.prm .exp-card:hover {
    box-shadow: 0 10px 52px 1px #382ca421
}

.prm .exp-portrait {
    flex: 0 0 90px;
    width: 90px;
    height: 116px;
    border-radius: 48px;
    overflow: hidden;
    box-shadow: 0 4px 14px 1px #d96c271a
}

.prm .exp-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.prm .exp-no-portrait {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    border-radius: 48px;
    background: linear-gradient(135deg, #CAE1D1 0%, #a8d0b8 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.prm .exp-no-portrait svg {
    width: 40px;
    height: 40px;
    opacity: .6
}

.prm .exp-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prm .exp-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1100;
    letter-spacing: .04em
}

.prm .exp-role {
    font-size: 15px;
    color: #382CA4;
    font-weight: 500
}

.prm .exp-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0
}

.prm .exp-tag {
    display: inline-block;
    background: #CAE1D1;
    color: #1a1100;
    border-radius: 8px;
    padding: 4px 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    align-self: flex-start
}

.prm .exp-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px
}

.prm .exp-img-frame {
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 4px 14px 1px #d96c271a
}

.prm .exp-img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.prm .pulse-ring-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    pointer-events: none;
    z-index: 0
}

.prm .pulse-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid #382ca41f;
    transform: translate(-50%, -50%);
    animation: prm-pulse 4s ease-in-out infinite
}

.prm .pulse-ring.r1 {
    width: 120px;
    height: 120px;
    animation-delay: 0s
}

.prm .pulse-ring.r2 {
    width: 220px;
    height: 220px;
    animation-delay: 1.2s
}

.prm .pulse-ring.r3 {
    width: 340px;
    height: 340px;
    animation-delay: 2.4s
}

@keyframes prm-pulse {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.7)
    }

    40% {
        opacity: 1
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.15)
    }
}

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

    .prm .gap-inner {
        flex-direction: column;
        gap: 32px
    }

    .prm .gap-right {
        flex: unset;
        width: 100%
    }

    .prm .t-mosaic {
        flex: 0 0 300px
    }

    .prm .t-h1 {
        font-size: 52px
    }
}

@media (max-width: 768px) {
    .prm .t-blk-inner {
        flex-direction: column;
        gap: 24px
    }

    .prm .t-mosaic {
        flex: unset;
        width: 100%
    }

    .prm .t-mosaic-img.big img {
        height: 180px
    }

    .prm .t-mosaic-img.sm1 img,
    .prm .t-mosaic-img.sm2 img {
        height: 84px
    }

    .prm .t-h1 {
        font-size: 28px
    }

    .prm .dist-grid {
        grid-template-columns: 1fr
    }

    .prm .exp-grid {
        grid-template-columns: 1fr
    }

    .prm .exp-img-row {
        grid-template-columns: 1fr
    }

    .prm .t-shape-arrow {
        display: none
    }
}

@media (max-width: 480px) {
    .prm .t-h1 {
        font-size: 22px
    }

    .prm .dist-hd {
        font-size: 22px
    }

    .prm .gap-hd {
        font-size: 22px
    }

    .prm .exp-hd {
        font-size: 22px
    }

    .prm .exp-card {
        flex-direction: column
    }

    .prm .dist-card-num {
        font-size: 28px
    }
}

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

.ab-us .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.ab-us .geo-spin {
    position: absolute;
    width: 340px;
    height: 340px;
    border: 2px solid #382ca412;
    border-radius: 8px;
    animation: geo-rotate 28s linear infinite;
    pointer-events: none;
    z-index: 0
}

.ab-us .geo-spin.sm {
    width: 180px;
    height: 180px;
    border-color: #d96c2714;
    animation-duration: 18s;
    animation-direction: reverse
}

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

    to {
        transform: rotate(360deg)
    }
}

.ab-us .split-row {
    position: relative;
    overflow: hidden;
    background: #fff
}

.ab-us .split-row .accent-band {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #D96C27
}

.ab-us .split-inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 420px;
    position: relative;
    z-index: 1
}

.ab-us .split-text {
    flex: 0 0 50%;
    padding: 48px 48px 48px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    border-right: 1px solid #382ca41a
}

.ab-us .split-img {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden
}

.ab-us .split-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    aspect-ratio: 16/9
}

.ab-us .split-img .img-grad {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(to bottom, #382ca473, transparent);
    pointer-events: none
}

.ab-us .tag-pill {
    display: inline-block;
    background: #CAE1D1;
    color: #1a3a2a;
    font-size: 15px;
    letter-spacing: .08em;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 600;
    width: fit-content
}

.ab-us .split-h1 {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1540;
    letter-spacing: .01em;
    margin: 0
}

.ab-us .split-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3560;
    margin: 0
}

.ab-us .split-sub strong {
    color: #D96C27
}

.ab-us .split-stat-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px
}

.ab-us .stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ab-us .stat-num {
    font-size: 28px;
    font-weight: 800;
    color: #382CA4;
    line-height: 1.2
}

.ab-us .stat-lbl {
    font-size: 15px;
    color: #5a547a;
    line-height: 1.5
}

.ab-us .split-cta {
    display: inline-block;
    position: relative;
    overflow: hidden;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: #382CA4;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: color .28s ease-in-out;
    width: fit-content;
    margin-top: 8px
}

.ab-us .split-cta::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background: #D96C27;
    transition: width .35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.ab-us .split-cta:hover::before {
    width: 100%;
    left: 0;
    right: auto
}

.ab-us .split-cta span {
    position: relative;
    z-index: 1
}

.ab-us .split-cta:focus {
    outline: 3px solid #D96C27;
    outline-offset: 2px
}

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

.ab-us .about-deep {
    position: relative;
    background: #1b1540;
    overflow: hidden;
    padding: 48px 0;
    animation: bg-wash 12s ease-in-out infinite alternate
}

@keyframes bg-wash {
    from {
        background-color: #1b1540
    }

    to {
        background-color: #211960
    }
}

.ab-us .about-deep .geo-spin {
    border-color: #cae1d10f;
    top: -80px;
    right: -80px
}

.ab-us .about-deep .geo-spin.sm {
    border-color: #d96c2717;
    bottom: -60px;
    left: -60px;
    top: auto;
    right: auto
}

.ab-us .deep-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1
}

.ab-us .deep-left {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ab-us .deep-h2 {
    font-size: 28px;
    font-weight: 800;
    color: #CAE1D1;
    line-height: 1.2;
    letter-spacing: .04em;
    margin: 0
}

.ab-us .deep-p {
    font-size: 15px;
    line-height: 1.7;
    color: #cae1d1cc;
    margin: 0
}

.ab-us .checklist {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px
}

.ab-us .chk-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px
}

.ab-us .chk-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 1px
}

.ab-us .chk-text {
    font-size: 15px;
    line-height: 1.5;
    color: #cae1d1e6
}

.ab-us .deep-right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ab-us .team-block {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ab-us .team-h3 {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0;
    letter-spacing: .03em
}

.ab-us .team-cards {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.ab-us .team-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    background: #cae1d112;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 4px 14px 1px #382ca41a;
    transition: background .28s ease-in-out
}

.ab-us .team-card:hover {
    background: #cae1d121
}

.ab-us .team-portrait {
    width: 72px;
    height: 90px;
    flex-shrink: 0;
    overflow: hidden
}

.ab-us .team-portrait img {
    width: 72px;
    height: 90px;
    object-fit: cover;
    object-position: center;
    display: block
}

.ab-us .team-info {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ab-us .team-name {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5
}

.ab-us .team-role {
    font-size: 15px;
    color: #cae1d1b3;
    line-height: 1.5
}

.ab-us .img-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px
}

.ab-us .img-pair-item {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 1px 4px 1px #382ca414
}

.ab-us .img-pair-item img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.ab-us .img-pair-item:hover img {
    transform: scale(1.04)
}

.ab-us .rating-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    background: #d96c271f;
    border-radius: 8px;
    padding: 16px;
    margin-top: 8px
}

.ab-us .rating-num {
    font-size: 52px;
    font-weight: 800;
    color: #D96C27;
    line-height: 1.2
}

.ab-us .rating-detail {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ab-us .stars-row {
    display: flex;
    flex-direction: row;
    gap: 4px
}

.ab-us .star-svg {
    width: 18px;
    height: 18px
}

.ab-us .rating-count {
    font-size: 15px;
    color: #cae1d1bf;
    line-height: 1.5
}

@media (max-width: 1024px) {
    .ab-us .split-h1 {
        font-size: 38px
    }

    .ab-us .split-text {
        padding: 32px 32px 32px 24px
    }
}

@media (max-width: 768px) {
    .ab-us .split-inner {
        flex-direction: column;
        min-height: auto
    }

    .ab-us .split-text {
        flex: none;
        padding: 32px 16px;
        border-right: none;
        border-bottom: 1px solid #382ca41a
    }

    .ab-us .split-img {
        flex: none;
        height: 240px
    }

    .ab-us .split-img img {
        height: 240px
    }

    .ab-us .split-h1 {
        font-size: 28px
    }

    .ab-us .split-stat-row {
        gap: 16px
    }

    .ab-us .deep-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ab-us .about-deep {
        padding: 32px 0
    }
}

@media (max-width: 480px) {
    .ab-us .split-stat-row {
        flex-direction: column;
        gap: 12px
    }

    .ab-us .img-pair {
        grid-template-columns: 1fr
    }

    .ab-us .deep-h2 {
        font-size: 22px
    }
}

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

.cu-pg .inner-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.cu-pg .blk-one {
    background: #f4f1ee;
    padding: 48px 0 32px;
    position: relative
}

.cu-pg .blk-one .bg-circles {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.cu-pg .blk-one .bg-circles span {
    position: absolute;
    border-radius: 48px;
    border: 1px solid #382ca414;
    background: transparent
}

.cu-pg .blk-one .bg-circles span:nth-child(1) {
    width: 320px;
    height: 320px;
    top: -80px;
    left: -60px
}

.cu-pg .blk-one .bg-circles span:nth-child(2) {
    width: 180px;
    height: 180px;
    top: 40px;
    right: 80px;
    border-color: #d96c2712
}

.cu-pg .blk-one .bg-circles span:nth-child(3) {
    width: 240px;
    height: 240px;
    bottom: -60px;
    right: -40px;
    border-color: #382ca40d
}

.cu-pg .blk-one .top-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.cu-pg .blk-one .txt-col {
    flex: 1 1 0;
    min-width: 0
}

.cu-pg .blk-one .img-col {
    flex: 0 0 340px;
    max-width: 340px
}

.cu-pg .blk-one .pg-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #382CA4;
    background: #382ca414;
    padding: 4px 16px;
    border-radius: 48px;
    margin-bottom: 16px;
    font-weight: 600;
    animation: label-shift .6s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes label-shift {
    from {
        opacity: 0;
        color: #D96C27;
        background: #d96c271a;
        transform: translateY(-8px)
    }

    to {
        opacity: 1;
        color: #382CA4;
        background: #382ca414;
        transform: translateY(0)
    }
}

.cu-pg .blk-one .pg-h1 {
    font-size: 52px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b1b2e;
    font-weight: 800;
    margin: 0 0 16px;
    animation: slide-left .5s cubic-bezier(0.4, 0, 0.2, 1) .1s both
}

@keyframes slide-left {
    from {
        opacity: 0;
        transform: translateX(-24px)
    }

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

.cu-pg .blk-one .pg-h1 .kw-ul {
    text-decoration: underline;
    text-decoration-color: #D96C27;
    text-underline-offset: 6px
}

.cu-pg .blk-one .pg-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a4a;
    margin: 0 0 32px;
    max-width: 480px;
    animation: slide-left .5s cubic-bezier(0.4, 0, 0.2, 1) .2s both
}

.cu-pg .blk-one .contact-chips {
    display: flex;
    flex-direction: column;
    gap: 12px;
    animation: slide-left .5s cubic-bezier(0.4, 0, 0.2, 1) .3s both
}

.cu-pg .blk-one .chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 8px;
    padding: 12px 16px;
    box-shadow: 0 1px 4px 1px #382ca414;
    text-decoration: none;
    transition: box-shadow .28s ease-in-out, transform .28s ease-in-out
}

.cu-pg .blk-one .chip:hover {
    box-shadow: 0 4px 14px 1px #382ca41a;
    transform: translateX(4px)
}

.cu-pg .blk-one .chip-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #d96c271a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.cu-pg .blk-one .chip-icon i {
    font-size: 18px;
    color: #D96C27
}

.cu-pg .blk-one .chip-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cu-pg .blk-one .chip-lbl {
    font-size: 15px;
    color: #888;
    letter-spacing: .06em;
    font-weight: 500
}

.cu-pg .blk-one .chip-val {
    font-size: 15px;
    color: #1b1b2e;
    font-weight: 600
}

.cu-pg .blk-one .img-col .img-frame {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 52px 1px #382ca421;
    aspect-ratio: 16/9;
    animation: slide-right .5s cubic-bezier(0.4, 0, 0.2, 1) .15s both
}

@keyframes slide-right {
    from {
        opacity: 0;
        transform: translateX(24px)
    }

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

.cu-pg .blk-one .img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1)
}

.cu-pg .blk-one .diamond-acc {
    position: absolute;
    width: 28px;
    height: 28px;
    background: #D96C27;
    transform: rotate(45deg);
    border-radius: 4px;
    opacity: .18;
    bottom: 32px;
    left: 50%
}

.cu-pg .blk-two {
    background: radial-gradient(ellipse at 60% 40%, #f0eefd 0%, #e8e4f7 55%, #d4d0ef 100%);
    padding: 48px 0
}

.cu-pg .blk-two .two-col {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: flex-start
}

.cu-pg .blk-two .form-col {
    flex: 1 1 0;
    min-width: 0
}

.cu-pg .blk-two .side-col {
    flex: 0 0 320px;
    max-width: 320px
}

.cu-pg .blk-two .form-card {
    background: #fff;
    border-radius: 8px;
    padding: 32px;
    box-shadow: 0 4px 14px 1px #382ca41a;
    animation: slide-up .45s cubic-bezier(0.4, 0, 0.2, 1) .1s both
}

@keyframes slide-up {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

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

.cu-pg .blk-two .form-head {
    font-size: 28px;
    line-height: 1.2;
    color: #1b1b2e;
    font-weight: 700;
    letter-spacing: -.01em;
    margin: 0 0 8px
}

.cu-pg .blk-two .form-sub {
    font-size: 15px;
    line-height: 1.5;
    color: #555570;
    margin: 0 0 32px
}

.cu-pg .blk-two .f-group {
    margin-bottom: 16px
}

.cu-pg .blk-two .f-lbl {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #2a2a3e;
    margin-bottom: 8px;
    letter-spacing: .04em
}

.cu-pg .blk-two .f-inp-wrap {
    position: relative
}

.cu-pg .blk-two .f-inp-wrap i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9090b0;
    font-size: 16px;
    pointer-events: none
}

.cu-pg .blk-two .f-inp {
    width: 100%;
    border: 1.5px solid #d0cce8;
    border-radius: 8px;
    padding: 12px 12px 12px 36px;
    font-size: 15px;
    color: #1b1b2e;
    background: #faf9ff;
    box-shadow: inset 0 2px 4px #382ca40f;
    transition: border-color .26s ease-in-out, box-shadow .26s ease-in-out;
    box-sizing: border-box;
    outline: none;
    appearance: none;
    -webkit-appearance: none
}

.cu-pg .blk-two .f-inp:focus {
    border-color: #382CA4;
    box-shadow: inset 0 2px 4px #382ca414 0 0 0 3px #382ca41a
}

.cu-pg .blk-two .f-inp::placeholder {
    color: #aaaac0
}

.cu-pg .blk-two .f-sel-wrap {
    position: relative
}

.cu-pg .blk-two .f-sel-wrap i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9090b0;
    font-size: 16px;
    pointer-events: none;
    z-index: 1
}

.cu-pg .blk-two .f-sel-wrap .arr-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9090b0;
    font-size: 14px;
    pointer-events: none;
    z-index: 1
}

.cu-pg .blk-two .f-sel {
    width: 100%;
    border: 1.5px solid #d0cce8;
    border-radius: 8px;
    padding: 12px 36px;
    font-size: 15px;
    color: #1b1b2e;
    background: #faf9ff;
    box-shadow: inset 0 2px 4px #382ca40f;
    transition: border-color .26s ease-in-out, box-shadow .26s ease-in-out;
    box-sizing: border-box;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer
}

.cu-pg .blk-two .f-sel:focus {
    border-color: #382CA4;
    box-shadow: inset 0 2px 4px #382ca414 0 0 0 3px #382ca41a
}

.cu-pg .blk-two .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 24px;
    padding: 12px 16px;
    background: #382ca40a;
    border-radius: 8px
}

.cu-pg .blk-two .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #382CA4;
    cursor: pointer
}

.cu-pg .blk-two .privacy-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #444460
}

.cu-pg .blk-two .privacy-txt a {
    color: #382CA4;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .25s ease-in-out
}

.cu-pg .blk-two .privacy-txt a:hover {
    color: #D96C27
}

.cu-pg .blk-two .sub-btn {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border: none;
    border-radius: 8px;
    padding: 12px 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    color: #fff;
    background: #382CA4;
    cursor: pointer;
    transition: color .32s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    text-align: center
}

.cu-pg .blk-two .sub-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #D96C27;
    transform: translateX(100%);
    transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.cu-pg .blk-two .sub-btn span {
    position: relative;
    z-index: 1
}

.cu-pg .blk-two .sub-btn:hover::before {
    transform: translateX(0)
}

.cu-pg .blk-two .sub-btn:focus {
    outline: 3px solid #382ca459;
    outline-offset: 2px
}

.cu-pg .blk-two .side-col .img-side {
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 10px 52px 1px #d96c2721;
    margin-bottom: 24px;
    animation: slide-right .45s cubic-bezier(0.4, 0, 0.2, 1) .2s both
}

.cu-pg .blk-two .side-col .img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.cu-pg .blk-two .side-info {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 4px 1px #382ca414;
    animation: slide-right .45s cubic-bezier(0.4, 0, 0.2, 1) .28s both
}

.cu-pg .blk-two .side-info .si-head {
    font-size: 22px;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 12px;
    line-height: 1.2
}

.cu-pg .blk-two .side-info .si-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #444460;
    margin: 0 0 16px
}

.cu-pg .blk-two .side-info .si-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #D96C27;
    text-decoration: none;
    transition: color .28s ease-in-out, gap .28s ease-in-out
}

.cu-pg .blk-two .side-info .si-link:hover {
    color: #382CA4;
    gap: 12px
}

.cu-pg .blk-two .side-info .si-link i {
    font-size: 18px
}

.cu-pg .blk-two .cmp-block {
    margin-top: 24px;
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 4px 1px #382ca414;
    animation: slide-right .45s cubic-bezier(0.4, 0, 0.2, 1) .35s both
}

.cu-pg .blk-two .cmp-block .cmp-head {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #9090b0;
    margin: 0 0 16px;
    text-transform: uppercase
}

.cu-pg .blk-two .cmp-block .cmp-row {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.cu-pg .blk-two .cmp-block .cmp-col {
    flex: 1 1 0;
    border-radius: 8px;
    padding: 12px
}

.cu-pg .blk-two .cmp-block .cmp-col.bef {
    background: #d96c2712
}

.cu-pg .blk-two .cmp-block .cmp-col.aft {
    background: #382ca412
}

.cu-pg .blk-two .cmp-block .cmp-tag {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    margin-bottom: 8px;
    display: block
}

.cu-pg .blk-two .cmp-block .cmp-col.bef .cmp-tag {
    color: #D96C27
}

.cu-pg .blk-two .cmp-block .cmp-col.aft .cmp-tag {
    color: #382CA4
}

.cu-pg .blk-two .cmp-block .cmp-item {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a4a
}

@media (max-width: 1024px) {
    .cu-pg .blk-one .top-row {
        gap: 32px
    }

    .cu-pg .blk-one .img-col {
        flex: 0 0 260px;
        max-width: 260px
    }

    .cu-pg .blk-two .side-col {
        flex: 0 0 260px;
        max-width: 260px
    }
}

@media (max-width: 768px) {
    .cu-pg .blk-one .pg-h1 {
        font-size: 36px
    }

    .cu-pg .blk-one .top-row {
        flex-direction: column;
        gap: 24px
    }

    .cu-pg .blk-one .img-col {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%
    }

    .cu-pg .blk-two .two-col {
        flex-direction: column;
        gap: 24px
    }

    .cu-pg .blk-two .side-col {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%
    }

    .cu-pg .blk-two .form-card {
        padding: 24px 16px
    }
}

@media (max-width: 480px) {
    .cu-pg .blk-one {
        padding: 32px 0 24px
    }

    .cu-pg .blk-one .pg-h1 {
        font-size: 28px
    }

    .cu-pg .blk-two {
        padding: 32px 0
    }

    .cu-pg .blk-two .form-head {
        font-size: 22px
    }

    .cu-pg .blk-two .cmp-block .cmp-row {
        flex-direction: column
    }
}

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

.lp-prog .lp-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px
}

.lp-prog .fade-in {
    opacity: 0;
    transform: translateY(24px);
    animation: lp-appear .38s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.lp-prog .fade-in:nth-child(1) {
    animation-delay: .08s
}

.lp-prog .fade-in:nth-child(2) {
    animation-delay: .18s
}

.lp-prog .fade-in:nth-child(3) {
    animation-delay: .3s
}

.lp-prog .fade-in:nth-child(4) {
    animation-delay: .44s
}

.lp-prog .fade-in:nth-child(5) {
    animation-delay: .6s
}

@keyframes lp-appear {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.lp-prog ::selection {
    background: #382CA4;
    color: #fff;
    font-weight: 700
}

.lp-prog .s-hero {
    background: #1e1a4a;
    padding: 64px 0 0;
    position: relative
}

.lp-prog .s-hero-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
    padding-bottom: 64px
}

.lp-prog .s-hero-main {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lp-prog .s-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #D96C27;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .12em;
    padding: 4px 16px;
    border-radius: 8px;
    width: fit-content
}

.lp-prog .s-hero-h1 {
    font-size: 52px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    letter-spacing: .02em;
    margin: 0
}

.lp-prog .s-hero-h1 em {
    font-style: normal;
    color: #CAE1D1
}

.lp-prog .s-hero-desc {
    font-size: 22px;
    line-height: 1.5;
    color: #c8c4f0;
    margin: 0
}

.lp-prog .s-hero-pts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.lp-prog .s-hero-pts li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #e8e5ff
}

.lp-prog .s-hero-pts li .pt-num {
    min-width: 28px;
    height: 28px;
    background: #d96c2740;
    border: 1px solid #D96C27;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #D96C27;
    flex-shrink: 0
}

.lp-prog .s-hero-shapes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.lp-prog .s-hero-shapes .sh-a {
    position: absolute;
    top: -40px;
    right: 20%;
    width: 180px;
    height: 180px;
    border: 2px solid #cae1d11f;
    border-radius: 8px;
    transform: rotate(18deg)
}

.lp-prog .s-hero-shapes .sh-b {
    position: absolute;
    bottom: 60px;
    left: 5%;
    width: 90px;
    height: 90px;
    border: 2px solid #d96c2726;
    border-radius: 48px
}

.lp-prog .s-hero-shapes .sh-c {
    position: absolute;
    top: 30%;
    right: 8%;
    width: 60px;
    height: 60px;
    background: #cae1d10f;
    border-radius: 8px;
    transform: rotate(30deg)
}

.lp-prog .s-hero-side {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lp-prog .s-side-img-wrap {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 14px 1px #382ca41a;
    position: relative
}

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

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

    to {
        transform: scale(1.06)
    }
}

.lp-prog .s-side-img-wrap .scanline {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(to bottom, #382ca40a 0px, #382ca40a 1px, transparent 1px, transparent 4px);
    pointer-events: none
}

.lp-prog .s-side-card {
    background: #ffffff0d;
    border: 1px solid #cae1d12e;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.lp-prog .s-side-stat-row {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.lp-prog .s-side-stat {
    flex: 1;
    background: #382ca459;
    border-radius: 8px;
    padding: 12px 8px;
    text-align: center
}

.lp-prog .s-side-stat .stat-val {
    font-size: 22px;
    font-weight: 800;
    color: #CAE1D1;
    line-height: 1.2;
    display: block
}

.lp-prog .s-side-stat .stat-lbl {
    font-size: 15px;
    color: #c8c4f0;
    line-height: 1.5;
    display: block
}

.lp-prog .s-side-btn {
    display: block;
    background: #D96C27;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 12px 16px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .28s ease-in-out
}

.lp-prog .s-side-btn::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background: #382CA4;
    border-radius: 8px;
    transition: width .35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.lp-prog .s-side-btn:hover::before {
    width: 100%
}

.lp-prog .s-side-btn span {
    position: relative;
    z-index: 1
}

.lp-prog .s-side-rating {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.lp-prog .s-side-stars {
    display: flex;
    flex-direction: row;
    gap: 4px
}

.lp-prog .s-side-stars .star {
    width: 14px;
    height: 14px
}

.lp-prog .s-side-stars .star svg {
    width: 14px;
    height: 14px
}

.lp-prog .s-side-rating-txt {
    font-size: 15px;
    color: #c8c4f0;
    line-height: 1.5
}

.lp-prog .diag-div {
    width: 100%;
    height: 56px;
    background: #1e1a4a;
    clip-path: polygon(0 0, 100% 0, 100% 30%, 0 100%)
}

.lp-prog .s-detail {
    background: #fff;
    padding: 64px 0 80px
}

.lp-prog .s-detail-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 48px
}

.lp-prog .s-detail-eyebrow {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #D96C27;
    text-transform: uppercase
}

.lp-prog .s-detail-h2 {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    color: #1e1a4a;
    letter-spacing: .02em;
    margin: 0
}

.lp-prog .s-detail-sub {
    font-size: 22px;
    line-height: 1.5;
    color: #3d3a6e;
    margin: 0;
    max-width: 600px
}

.lp-prog .s-detail-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.lp-prog .s-detail-main {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lp-prog .s-detail-img-wrap {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 52px 1px #382ca421
}

.lp-prog .s-detail-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .38s ease-in-out
}

.lp-prog .s-detail-img-wrap:hover img {
    transform: scale(1.04)
}

.lp-prog .s-detail-body {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lp-prog .s-detail-body p {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2650;
    margin: 0
}

.lp-prog .s-detail-dashed {
    border: 2px dashed #D96C27;
    border-radius: 8px;
    padding: 16px;
    background: #d96c270a;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lp-prog .s-detail-dashed .d-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #D96C27;
    text-transform: uppercase
}

.lp-prog .s-detail-dashed .d-val {
    font-size: 22px;
    font-weight: 800;
    color: #1e1a4a;
    line-height: 1.2
}

.lp-prog .s-detail-dashed .d-note {
    font-size: 15px;
    color: #3d3a6e;
    line-height: 1.5
}

.lp-prog .s-detail-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lp-prog .s-detail-mod-card {
    background: #f5f4fb;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 4px 1px #382ca414;
    transition: box-shadow .28s ease-in-out, transform .28s ease-in-out
}

.lp-prog .s-detail-mod-card:hover {
    box-shadow: 0 4px 14px 1px #382ca41a;
    transform: translateY(-2px)
}

.lp-prog .s-detail-mod-card .mc-num {
    font-size: 52px;
    font-weight: 800;
    color: #382ca41f;
    line-height: 1;
    letter-spacing: -.02em
}

.lp-prog .s-detail-mod-card .mc-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e1a4a;
    line-height: 1.5
}

.lp-prog .s-detail-mod-card .mc-desc {
    font-size: 15px;
    color: #3d3a6e;
    line-height: 1.7;
    margin: 0
}

.lp-prog .s-detail-icon-anchor {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: #382CA4;
    border-radius: 8px;
    box-shadow: 0 4px 14px 1px #382ca41a
}

.lp-prog .s-detail-icon-anchor .anch-icon {
    font-size: 52px;
    color: #CAE1D1;
    line-height: 1
}

.lp-prog .s-detail-icon-anchor .anch-lbl {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .08em;
    text-align: center;
    line-height: 1.5
}

.lp-prog .s-test-strip {
    background: #CAE1D1;
    padding: 48px 0
}

.lp-prog .s-test-strip .strip-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #382CA4;
    text-transform: uppercase;
    margin-bottom: 32px
}

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

.lp-prog .s-test-card {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 1px 4px 1px #382ca414
}

.lp-prog .s-test-card .tc-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2650;
    margin: 0
}

.lp-prog .s-test-card .tc-person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px
}

.lp-prog .s-test-card .tc-portrait {
    width: 48px;
    height: 60px;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
    display: block
}

.lp-prog .s-test-card .tc-name {
    font-size: 15px;
    font-weight: 700;
    color: #1e1a4a;
    line-height: 1.2
}

.lp-prog .s-test-card .tc-role {
    font-size: 15px;
    color: #D96C27;
    line-height: 1.5
}

.lp-prog .char-hover {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0
}

.lp-prog .char-hover .ch {
    display: inline-block;
    transition: color .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp-prog .char-hover:hover .ch:nth-child(1) {
    color: #D96C27;
    transition-delay: 0s
}

.lp-prog .char-hover:hover .ch:nth-child(2) {
    color: #D96C27;
    transition-delay: .03s
}

.lp-prog .char-hover:hover .ch:nth-child(3) {
    color: #D96C27;
    transition-delay: .06s
}

.lp-prog .char-hover:hover .ch:nth-child(4) {
    color: #D96C27;
    transition-delay: .09s
}

.lp-prog .char-hover:hover .ch:nth-child(5) {
    color: #D96C27;
    transition-delay: .12s
}

.lp-prog .char-hover:hover .ch:nth-child(6) {
    color: #D96C27;
    transition-delay: .15s
}

.lp-prog .char-hover:hover .ch:nth-child(7) {
    color: #D96C27;
    transition-delay: .18s
}

.lp-prog .char-hover:hover .ch:nth-child(8) {
    color: #D96C27;
    transition-delay: .21s
}

.lp-prog .char-hover:hover .ch:nth-child(9) {
    color: #D96C27;
    transition-delay: .24s
}

.lp-prog .char-hover:hover .ch:nth-child(10) {
    color: #D96C27;
    transition-delay: .27s
}

.lp-prog .char-hover:hover .ch:nth-child(11) {
    color: #D96C27;
    transition-delay: .3s
}

.lp-prog .char-hover:hover .ch:nth-child(12) {
    color: #D96C27;
    transition-delay: .33s
}

.lp-prog .char-hover:hover .ch:nth-child(13) {
    color: #D96C27;
    transition-delay: .36s
}

.lp-prog .char-hover:hover .ch:nth-child(14) {
    color: #D96C27;
    transition-delay: .39s
}

.lp-prog .char-hover:hover .ch:nth-child(15) {
    color: #D96C27;
    transition-delay: .42s
}

.lp-prog .char-hover:hover .ch:nth-child(16) {
    color: #D96C27;
    transition-delay: .45s
}

@media (max-width: 1024px) {
    .lp-prog .s-hero-grid {
        grid-template-columns: 1fr 280px;
        gap: 32px
    }

    .lp-prog .s-hero-h1 {
        font-size: 52px
    }

    .lp-prog .s-detail-grid {
        grid-template-columns: 1fr 1fr
    }

    .lp-prog .s-detail-main {
        grid-column: 1 / -1
    }
}

@media (max-width: 768px) {
    .lp-prog .s-hero-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-bottom: 48px
    }

    .lp-prog .s-hero-h1 {
        font-size: 52px
    }

    .lp-prog .s-detail-h2 {
        font-size: 28px
    }

    .lp-prog .s-detail-grid {
        grid-template-columns: 1fr
    }

    .lp-prog .s-detail-main {
        grid-column: auto
    }

    .lp-prog .s-test-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 480px) {
    .lp-prog .s-hero-h1 {
        font-size: 28px
    }

    .lp-prog .s-hero-desc {
        font-size: 15px
    }

    .lp-prog .s-detail {
        padding: 48px 0 64px
    }

    .lp-prog .s-side-stat-row {
        flex-direction: column
    }
}

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

.succ-page .succ-wrap {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.succ-page .succ-icon-ring {
    width: 88px;
    height: 88px;
    border-radius: 48px;
    background: #CAE1D1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    box-shadow: 0 4px 14px 1px #382ca41a
}

.succ-page .succ-icon-ring svg {
    display: block
}

.succ-page .succ-heading {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.5px;
    color: #382CA4;
    margin-bottom: 16px
}

.succ-page .succ-sub {
    font-size: 22px;
    line-height: 1.5;
    color: #2a2a3d;
    max-width: 540px;
    margin-bottom: 32px
}

.succ-page .succ-divider {
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, #D96C27, #382CA4);
    border-radius: 8px;
    margin-bottom: 32px
}

.succ-page .succ-note {
    font-size: 15px;
    line-height: 1.7;
    color: #3d3d5c;
    max-width: 460px;
    margin-bottom: 48px
}

.succ-page .succ-btn {
    position: relative;
    display: inline-block;
    padding: 16px 48px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    color: #fff;
    background: #382CA4;
    border-radius: 8px;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 1px 4px 1px #382ca414;
    transition: color .28s ease-in-out, box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.succ-page .succ-btn::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background: #D96C27;
    border-radius: 8px;
    transition: width .32s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.succ-page .succ-btn:hover::after {
    width: 100%;
    right: auto;
    left: 0
}

.succ-page .succ-btn:hover {
    box-shadow: 0 10px 52px 1px #d96c2721
}

.succ-page .succ-btn-label {
    position: relative;
    z-index: 1
}

.succ-page .succ-btn:focus-visible {
    outline: 3px solid #D96C27;
    outline-offset: 3px
}

@media (max-width: 480px) {
    .succ-page .succ-heading {
        font-size: 28px
    }

    .succ-page .succ-sub {
        font-size: 15px
    }

    .succ-page .succ-icon-ring {
        width: 68px;
        height: 68px
    }
}