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

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

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'JetBrains Mono', monospace
}

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

:focus-visible {
    outline: 2px dashed #5E35C7;
    outline-offset: 3px;
    animation: dash-spin 3s linear infinite
}

@keyframes dash-spin {
    0% {
        outline-offset: 3px
    }

    50% {
        outline-offset: 5px
    }

    100% {
        outline-offset: 3px
    }
}

.hd-strip {
    background: #5E35C7;
    width: 100%;
    padding: 8px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 100%
}

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

.hd-strip-link {
    color: #ffffffd9;
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    letter-spacing: .04em;
    transition: color .25s ease-in-out
}

.hd-strip-link:hover {
    color: #FF0982
}

.hd-strip-tag {
    color: #ffffff80;
    font-size: 16px;
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: .08em
}

.hd-body {
    background: #fff;
    border-bottom: 1px solid #5e35c71f;
    max-width: 100%;
    overflow: hidden
}

.hd-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 28px
}

.hd-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 0;
    flex-shrink: 0
}

.hd-logo-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: #fff;
    box-shadow: 0 0 0 3px #5E35C7, 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714;
    flex-shrink: 0
}

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

.hd-prop {
    margin-top: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #2d1a6e;
    letter-spacing: .02em;
    max-width: 220px
}

.hd-nav-shell {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: flex-end
}

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

.hd-nav li {
    display: block
}

.hd-nav a {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .06em;
    color: #2d1a6e;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .32s cubic-bezier(0.4, 0, 0.2, 1), background .36s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    min-height: 44px;
    display: flex;
    align-items: center
}

.hd-nav a:hover {
    color: #5E35C7;
    border-color: #5e35c740;
    background: #5e35c70f
}

.hd-nav li.active a {
    color: #FF0982;
    border-color: #ff098233;
    background: #ff09820d
}

@media (max-width: 768px) {
    .hd-strip {
        padding: 8px 16px;
        flex-direction: column;
        gap: 4px;
        align-items: flex-start
    }

    .hd-strip-contact {
        gap: 16px;
        flex-wrap: wrap
    }

    .hd-inner {
        flex-direction: column;
        padding: 0 16px;
        gap: 16px
    }

    .hd-brand {
        padding: 16px 0 8px;
        flex-direction: row;
        align-items: center;
        gap: 16px
    }

    .hd-prop {
        margin-top: 0;
        max-width: 100%
    }

    .hd-nav-shell {
        justify-content: flex-start;
        padding-bottom: 16px
    }

    .hd-nav {
        justify-content: flex-start
    }
}

@media (max-width: 390px) {
    .hd-strip-tag {
        display: none
    }

    .hd-nav a {
        font-size: 16px;
        padding: 8px
    }
}

.ft {
    background: #1a0d4a;
    color: #e8e0ff;
    padding: 56px 0 0;
    overflow: hidden
}

.ft-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 28px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px 28px
}

.ft-col-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #FF0982;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

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

.ft-nav a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e0ffcc;
    text-decoration: none;
    transition: color .26s ease-in-out;
    display: inline-block
}

.ft-nav a:hover {
    color: #fff
}

.ft-contact-list {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ft-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.ft-contact-item svg {
    flex-shrink: 0;
    margin-top: 2px
}

.ft-contact-link {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e0ffcc;
    text-decoration: none;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1);
    word-break: break-all
}

.ft-contact-link:hover {
    color: #FF0982
}

.ft-addr {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e0ffa6;
    font-style: normal
}

.ft-bottom {
    max-width: 1440px;
    margin: 56px auto 0;
    padding: 28px;
    border-top: 1px solid #ffffff14;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.ft-copy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e0ff73
}

.ft-legal {
    display: flex;
    gap: 16px;
    flex-wrap: wrap
}

.ft-legal a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e0ff80;
    text-decoration: none;
    transition: color .25s ease-in-out
}

.ft-legal a:hover {
    color: #fff
}

.ft-logo-hold {
    display: flex;
    justify-content: center;
    padding: 28px 0 0;
    max-width: 1440px;
    margin: 0 auto
}

.ft-logo-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: #ffffff14;
    box-shadow: 0 0 0 2px #ff098280 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714
}

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

@media (max-width: 768px) {
    .ft-inner {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding: 0 16px
    }

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

@media (max-width: 390px) {
    .ft-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .ft {
        padding: 28px 0 0
    }
}

.ck-box {
    position: fixed;
    top: 28px;
    right: 28px;
    width: 340px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 9px 60px -1px #5e35c71a 0 5px 28px -1px #5e35c714;
    z-index: 2000;
    transform: translateY(-120%);
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.ck-box.shown {
    transform: translateY(0)
}

.ck-pad {
    padding: 28px
}

.ck-icon-row {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.ck-icon-row svg {
    display: block
}

.ck-desc {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #2d1a6e;
    margin-bottom: 16px
}

.ck-expand-btn {
    background: none;
    border: none;
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    color: #5E35C7;
    cursor: pointer;
    padding: 0;
    letter-spacing: .04em;
    text-decoration: underline;
    transition: color .25s ease-in-out;
    margin-bottom: 8px;
    display: block
}

.ck-expand-btn:hover {
    color: #FF0982
}

.ck-panel {
    display: none;
    padding: 16px 0 8px
}

.ck-panel.open {
    display: block
}

.ck-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px
}

.ck-toggle-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    line-height: 1.6;
    color: #2d1a6e
}

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

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

.ck-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #5e35c733;
    border-radius: 22px;
    transition: background .28s ease-in-out;
    cursor: pointer
}

.ck-slider::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 38px;
    top: 3px;
    left: 3px;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px -1px #5e35c712
}

.ck-toggle input:checked+.ck-slider {
    background: #5E35C7
}

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

.ck-btns {
    display: flex;
    gap: 8px;
    margin-top: 16px
}

.ck-btn {
    flex: 1;
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 10px;
    border: 2px solid #5E35C7;
    cursor: pointer;
    min-height: 44px;
    position: relative;
    overflow: hidden;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .32s cubic-bezier(0.4, 0, 0.2, 1);
    background: #fff;
    color: #5E35C7;
    z-index: 0
}

.ck-btn::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: #5E35C7;
    transition: height .32s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1
}

.ck-btn:hover::before {
    height: 100%
}

.ck-btn:hover {
    color: #fff
}

.ck-btn.prim {
    background: #5E35C7;
    color: #fff
}

.ck-btn.prim::before {
    background: #FF0982
}

.ck-btn.prim:hover {
    color: #fff;
    border-color: #FF0982
}

.ck-settings-btn {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    background: #5E35C7;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1999;
    box-shadow: 0 5px 28px -1px #5e35c714;
    transition: background .26s ease-in-out
}

.ck-settings-btn:hover {
    background: #FF0982
}

@media (max-width: 390px) {
    .ck-box {
        width: calc(100vw - 32px);
        right: 16px;
        top: 16px
    }
}

.policy-article {
    max-width: 1440px;
    margin: 0 auto;
    padding: 56px 28px
}

.policy-article p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 16px;
    color: #2a2a2a
}

.policy-article ul,
.policy-article ol {
    padding-left: 28px;
    margin-bottom: 16px
}

.policy-article li {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 8px;
    color: #2a2a2a
}

.policy-article ul li {
    list-style-type: disc
}

.policy-article ol li {
    list-style-type: decimal
}

.policy-article em,
.policy-article i {
    font-style: italic;
    color: inherit
}

.policy-article a {
    color: #5E35C7;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .25s ease-in-out, text-decoration-color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.policy-article a:hover {
    color: #FF0982;
    text-decoration-color: #FF0982
}

.policy-article table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.6;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714
}

.policy-article thead {
    background: #5E35C7
}

.policy-article thead th {
    color: #FFF;
    font-size: 16px;
    font-weight: 700;
    padding: 16px;
    text-align: left;
    letter-spacing: .04em
}

.policy-article tbody tr {
    border-bottom: 1px solid #e8e2f7;
    transition: background .26s ease-in-out
}

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

.policy-article tbody tr:hover {
    background: #f4f0fd
}

.policy-article td {
    padding: 16px;
    color: #2a2a2a;
    font-size: 16px;
    line-height: 1.6;
    vertical-align: top
}

.policy-article hr {
    border: none;
    border-top: 1px solid #e8e2f7;
    margin: 28px 0
}

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

@media (max-width: 768px) {
    .policy-article {
        padding: 28px 16px
    }

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

    .policy-article thead th,
    .policy-article td {
        padding: 8px 16px
    }
}

@media (max-width: 390px) {
    .policy-article {
        padding: 16px 8px
    }

    .policy-article p,
    .policy-article li,
    .policy-article td {
        font-size: 16px
    }
}

.srvd {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.srvd .pg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    padding: 56px 56px 56px 0;
    align-items: center
}

.srvd .strip-img {
    width: 100%;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.srvd .strip-img img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
    border-radius: 10px;
    transition: opacity .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .strip-img .sk {
    position: absolute;
    inset: 0;
    background: #d4cef0;
    border-radius: 10px;
    transition: opacity .38s ease-in-out
}

.srvd .strip-img img.loaded+.sk,
.srvd .strip-img img.loaded~.sk {
    opacity: 0;
    pointer-events: none
}

.srvd .strip-img::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    box-shadow: inset 0 0 60px 10px #ffffff2e;
    pointer-events: none
}

.srvd .brkt {
    position: absolute;
    width: 28px;
    height: 28px;
    pointer-events: none
}

.srvd .brkt-tl {
    top: 8px;
    left: 8px;
    border-top: 2px solid #5E35C7;
    border-left: 2px solid #5E35C7;
    border-radius: 6px 0 0 0
}

.srvd .brkt-br {
    bottom: 8px;
    right: 8px;
    border-bottom: 2px solid #FF0982;
    border-right: 2px solid #FF0982;
    border-radius: 0 0 6px 0
}

.srvd .ttl-area {
    padding: 56px 28px 56px 56px
}

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

.srvd .meta-tag {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .08em;
    color: #5E35C7;
    background: #5e35c714;
    padding: 4px 16px;
    border-radius: 6px;
    text-transform: uppercase
}

.srvd .meta-sep {
    width: 4px;
    height: 4px;
    border-radius: 1px;
    background: #FF0982;
    display: inline-block
}

.srvd .meta-date {
    font-size: 16px;
    line-height: 1.2;
    color: #555
}

.srvd .meta-read {
    font-size: 16px;
    line-height: 1.2;
    color: #555
}

.srvd .h1wrap {
    background: linear-gradient(135deg, #5E35C7 0%, transparent 100%);
    -webkit-background-clip: text;
    background-clip: text;
    display: inline
}

.srvd .pg-h1 {
    font-size: 72px;
    line-height: 1.2;
    color: #1a0a4a;
    margin-bottom: 28px;
    letter-spacing: -.01em
}

.srvd .pg-h1 .acc {
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%)
}

.srvd .pg-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a;
    margin-bottom: 0
}

.srvd .price-band {
    margin-top: 28px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-end;
    flex-wrap: wrap
}

.srvd .price-val {
    font-size: 42px;
    line-height: 1.2;
    color: #5E35C7;
    font-weight: 700
}

.srvd .price-note {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    padding-bottom: 8px
}

.srvd .like-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 16px
}

.srvd .like-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: none;
    border: 1px solid #5e35c740;
    border-radius: 22px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 16px;
    color: #5E35C7;
    transition: background .28s ease-in-out, border-color .25s ease-in-out;
    position: relative;
    overflow: hidden
}

.srvd .like-btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #5e35c71a;
    transition: height .32s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 22px
}

.srvd .like-btn:hover::before {
    height: 100%
}

.srvd .like-btn:hover {
    border-color: #5E35C7
}

.srvd .like-ico {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.srvd .dashed-conn {
    border: none;
    border-top: 1px dashed #5e35c74d;
    margin: 0
}

.srvd .desc-sec {
    padding: 56px;
    background: #f4f1fd
}

.srvd .desc-inner {
    max-width: 1440px
}

.srvd .desc-h2 {
    font-size: 30px;
    line-height: 1.2;
    color: #1a0a4a;
    margin-bottom: 28px;
    display: inline-block;
    background: #5E35C7;
    color: #fff;
    padding: 4px 16px;
    border-radius: 6px
}

.srvd .desc-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px
}

.srvd .desc-full {
    grid-column: 1 / -1;
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a
}

.srvd .desc-full p:first-child::first-letter {
    font-size: 42px;
    line-height: 1.2;
    color: #FF0982;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
    font-weight: 700
}

.srvd .desc-col {
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a
}

.srvd .desc-col p,
.srvd .desc-full p {
    margin-bottom: 16px
}

.srvd .desc-col ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.srvd .desc-col ul li {
    padding: 8px 0;
    border-bottom: 1px solid #5e35c726;
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a
}

.srvd .desc-col ul li:last-child {
    border-bottom: none
}

.srvd .desc-col h3 {
    font-size: 30px;
    line-height: 1.2;
    color: #1a0a4a;
    margin-bottom: 16px
}

.srvd .desc-col details {
    border-bottom: 1px solid #5e35c726;
    padding: 8px 0
}

.srvd .desc-col summary {
    font-size: 19px;
    line-height: 1.6;
    color: #5E35C7;
    cursor: pointer;
    list-style: none;
    padding: 4px 0
}

.srvd .desc-col summary::-webkit-details-marker {
    display: none
}

.srvd .prog-sec {
    padding: 56px;
    position: relative
}

.srvd .prog-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 59px, #5e35c70a 60px), repeating-linear-gradient(90deg, transparent, transparent 59px, #5e35c70a 60px);
    pointer-events: none;
    animation: gridpulse 5s ease-in-out infinite
}

@keyframes gridpulse {

    0%,
    100% {
        opacity: .6
    }

    50% {
        opacity: 1
    }
}

.srvd .prog-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    position: relative;
    z-index: 1
}

.srvd .prog-label {
    font-size: 30px;
    line-height: 1.2;
    color: #1a0a4a;
    display: inline-block;
    background: #FF0982;
    color: #fff;
    padding: 4px 16px;
    border-radius: 6px;
    margin-bottom: 28px;
    align-self: start
}

.srvd .prog-aside {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.srvd .prog-stat {
    background: #fff;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 5px 28px -1px #5e35c714
}

.srvd .prog-stat-num {
    font-size: 42px;
    line-height: 1.2;
    color: #5E35C7;
    font-weight: 700
}

.srvd .prog-stat-lbl {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    text-transform: uppercase;
    letter-spacing: .06em
}

.srvd .prog-body {
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a
}

.srvd .prog-body h2 {
    font-size: 30px;
    line-height: 1.2;
    color: #1a0a4a;
    margin-bottom: 16px;
    background: #5e35c714;
    padding: 4px 16px;
    border-radius: 6px;
    display: inline-block
}

.srvd .prog-body ol {
    padding-left: 28px;
    margin: 0
}

.srvd .prog-body ol li {
    padding: 8px 0;
    border-bottom: 1px solid #5e35c71a;
    font-size: 19px;
    line-height: 1.6
}

.srvd .prog-body ol li:last-child {
    border-bottom: none
}

.srvd .prog-body p {
    margin-bottom: 16px
}

.srvd .prog-body dl dt {
    font-size: 19px;
    font-weight: 700;
    color: #5E35C7;
    margin-top: 16px
}

.srvd .prog-body dl dd {
    font-size: 16px;
    line-height: 1.6;
    color: #2a1a5a;
    margin-left: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #5e35c71a
}

.srvd .prog-body blockquote {
    border-left: none;
    background: #ff09820f;
    padding: 16px 28px;
    border-radius: 10px;
    margin: 16px 0;
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a5a
}

.srvd .prog-body cite {
    font-size: 16px;
    color: #FF0982;
    display: block;
    margin-top: 8px
}

.srvd .prog-body small {
    font-size: 16px;
    color: #555
}

.srvd .prog-body figure {
    margin: 16px 0
}

.srvd .prog-body figcaption {
    font-size: 16px;
    color: #555;
    margin-top: 4px
}

.srvd .prog-body summary {
    font-size: 19px;
    color: #5E35C7;
    cursor: pointer;
    list-style: none
}

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

.srvd .prog-body details {
    border-bottom: 1px solid #5e35c726;
    padding: 8px 0
}

.srvd .cta-sec {
    padding: 56px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    position: relative;
    overflow: hidden
}

.srvd .cta-sec .bg-dec {
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 38px;
    background: #ffffff0f;
    top: -100px;
    right: -80px;
    pointer-events: none;
    transform: rotate(25deg)
}

.srvd .cta-sec .bg-dec2 {
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 22px;
    background: #ffffff0a;
    bottom: -60px;
    left: 120px;
    pointer-events: none;
    transform: rotate(-15deg)
}

.srvd .cta-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center
}

.srvd .cta-txt h2 {
    font-size: 42px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 16px
}

.srvd .cta-txt p {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffe0;
    margin-bottom: 0
}

.srvd .cta-form {
    background: #ffffff1f;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.srvd .cta-form form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvd .cta-form input,
.srvd .cta-form textarea {
    background: #ffffff26;
    border: 1px solid #ffffff4d;
    border-radius: 10px;
    padding: 16px;
    font-size: 16px;
    color: #fff;
    outline: none;
    box-shadow: inset 0 2px 4px -1px #5e35c712;
    transition: border-color .28s ease-in-out, background .25s ease-in-out
}

.srvd .cta-form input::placeholder,
.srvd .cta-form textarea::placeholder {
    color: #ffffff73
}

.srvd .cta-form input:focus,
.srvd .cta-form textarea:focus {
    border-color: #ffffffb3;
    background: #ffffff38
}

.srvd .cta-form textarea {
    resize: vertical;
    min-height: 100px
}

.srvd .cta-form .submit-btn {
    background: #fff;
    color: #5E35C7;
    border: none;
    border-radius: 10px;
    padding: 16px 28px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s ease-in-out;
    box-shadow: 0 2px 4px -1px #5e35c712
}

.srvd .cta-form .submit-btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #FF0982;
    transition: height .35s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 10px
}

.srvd .cta-form .submit-btn:hover::before {
    height: 100%
}

.srvd .cta-form .submit-btn:hover {
    color: #fff;
    box-shadow: 0 5px 28px -1px #5e35c714
}

.srvd .cta-form .submit-btn span {
    position: relative;
    z-index: 1
}

.srvd .slit-wrap {
    overflow: hidden;
    max-height: 0;
    transition: max-height .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .slit-trigger:hover .slit-wrap {
    max-height: 200px
}

.srvd .slit-trigger {
    cursor: default
}

@media (max-width: 1280px) {
    .srvd .pg-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding: 28px
    }

    .srvd .ttl-area {
        padding: 28px
    }

    .srvd .pg-h1 {
        font-size: 42px
    }

    .srvd .desc-sec,
    .srvd .prog-sec,
    .srvd .cta-sec {
        padding: 28px
    }

    .srvd .prog-grid {
        grid-template-columns: 1fr 2fr;
        gap: 28px
    }

    .srvd .cta-inner {
        grid-template-columns: 1fr 1fr;
        gap: 28px
    }
}

@media (max-width: 768px) {
    .srvd .pg-grid {
        grid-template-columns: 1fr;
        padding: 28px 16px;
        gap: 16px
    }

    .srvd .strip-img {
        display: none
    }

    .srvd .ttl-area {
        padding: 28px 16px
    }

    .srvd .pg-h1 {
        font-size: 30px
    }

    .srvd .price-val {
        font-size: 30px
    }

    .srvd .desc-sec,
    .srvd .prog-sec,
    .srvd .cta-sec {
        padding: 28px 16px
    }

    .srvd .desc-cols {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .srvd .desc-full {
        grid-column: 1 / -1
    }

    .srvd .prog-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .srvd .cta-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .srvd .cta-txt h2 {
        font-size: 30px
    }
}

@media (max-width: 390px) {
    .srvd .pg-h1 {
        font-size: 30px
    }

    .srvd .meta-row {
        gap: 8px
    }

    .srvd .cta-txt h2 {
        font-size: 30px
    }
}

.prs {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden
}

.prs .kd-block {
    position: relative;
    padding: 56px 56px 0
}

.prs .kd-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.prs .kd-txt {
    padding-right: 28px
}

.prs .kd-label {
    display: inline-block;
    font-size: 16px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #5E35C7;
    margin-bottom: 16px;
    font-weight: 600
}

.prs .kd-h1 {
    font-size: 72px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1234;
    margin-bottom: 28px;
    position: relative
}

.prs .kd-h1 .und-word {
    position: relative;
    display: inline-block
}

.prs .kd-h1 .und-word::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #FF0982;
    border-radius: 1px
}

.prs .kd-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2d2250;
    margin-bottom: 28px
}

.prs .kd-desc::first-letter {
    font-size: 42px;
    line-height: 1.2;
    color: #5E35C7;
    font-weight: 800;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.prs .kd-meta {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-top: 28px
}

.prs .kd-stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.prs .kd-stat-num {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 800;
    background: linear-gradient(135deg, #5E35C7, #FF0982);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.prs .kd-stat-lbl {
    font-size: 16px;
    color: #5a4e7a;
    letter-spacing: .08em
}

.prs .kd-img-col {
    position: relative;
    align-self: stretch
}

.prs .kd-img-wrap {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.prs .kd-img-skel {
    width: 100%;
    height: 480px;
    background: #ddd8f0;
    border-radius: 22px
}

.prs .kd-img-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
    transition: opacity .35s ease-in-out
}

.prs .kd-img-wrap img.loaded {
    opacity: 1
}

.prs .kd-img-wrap img:not(.loaded) {
    opacity: 0
}

.prs .kd-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, #5e35c78c, transparent 70%);
    border-radius: 22px;
    pointer-events: none
}

.prs .kd-curve {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: 28px
}

.prs .kd-curve svg {
    display: block;
    width: 100%
}

.prs .kd-deco-line {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    pointer-events: none;
    z-index: 0
}

.prs .kd-deco-line svg {
    width: 100%;
    height: 100%
}

.prs .med-block {
    background: #f4f1fd;
    padding: 56px;
    position: relative
}

.prs .med-block .med-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 56px;
    margin-bottom: 56px
}

.prs .med-block .med-heading {
    flex: 1
}

.prs .med-hl {
    display: inline-block;
    background: #5E35C7;
    color: #fff;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 6px;
    margin-bottom: 16px
}

.prs .med-sub {
    font-size: 19px;
    line-height: 1.6;
    color: #2d2250;
    max-width: 480px
}

.prs .med-dl {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
    min-width: 220px
}

.prs .med-dl a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #5E35C7;
    font-weight: 600;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 10px;
    border: 1px solid #5e35c740;
    background: #fff;
    box-shadow: 0 2px 4px -1px #5e35c712;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1
}

.prs .med-dl a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #5E35C7;
    transition: height .28s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1
}

.prs .med-dl a:hover::before {
    height: 100%
}

.prs .med-dl a:hover {
    color: #fff;
    box-shadow: 0 5px 28px -1px #5e35c714
}

.prs .med-dl a:focus-visible {
    outline: 3px solid #FF0982 !important;
    outline-offset: 2px !important
}

.prs .med-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px
}

.prs .med-card {
    background: #fff;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 5px 28px -1px #5e35c714;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: box-shadow .35s ease-in-out, transform .32s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.prs .med-card:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a;
    transform: translateY(-4px)
}

.prs .med-card-ico {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: linear-gradient(135deg, #5E35C7, #FF0982);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.prs .med-card-ico svg {
    width: 24px;
    height: 24px;
    fill: #fff
}

.prs .med-card-ttl {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1234
}

.prs .med-card-body {
    font-size: 16px;
    line-height: 1.6;
    color: #4a3d6e
}

.prs .med-card-sep {
    height: 1px;
    background: #5e35c71f;
    border: none;
    margin: 0
}

.prs .med-card-tag {
    font-size: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #FF0982;
    font-weight: 600
}

.prs .med-path {
    margin-top: 56px;
    position: relative;
    padding: 28px 0
}

.prs .med-path-ttl {
    display: inline-block;
    background: #FF0982;
    color: #fff;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 6px;
    margin-bottom: 28px
}

.prs .med-steps {
    display: flex;
    flex-direction: row;
    gap: 0;
    position: relative;
    align-items: flex-start
}

.prs .med-steps::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    right: 24px;
    height: 2px;
    background: linear-gradient(90deg, #5E35C7, #FF0982);
    z-index: 0
}

.prs .med-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 1;
    padding: 0 8px
}

.prs .med-step-dot {
    width: 48px;
    height: 48px;
    border-radius: 38px;
    background: #fff;
    border: 3px solid #5E35C7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    font-weight: 800;
    color: #5E35C7;
    box-shadow: 0 2px 4px -1px #5e35c712;
    transition: background .25s ease-in-out, color .28s ease-in-out
}

.prs .med-step:hover .med-step-dot {
    background: #5E35C7;
    color: #fff
}

.prs .med-step-lbl {
    font-size: 16px;
    line-height: 1.6;
    color: #2d2250;
    text-align: center;
    font-weight: 500
}

.prs .med-contact-strip {
    margin-top: 56px;
    background: linear-gradient(135deg, #5E35C7 60%, #FF0982);
    border-radius: 22px;
    padding: 28px 56px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.prs .med-contact-txt {
    font-size: 19px;
    line-height: 1.6;
    color: #fff;
    font-weight: 600
}

.prs .med-contact-em {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff
}

.prs .med-contact-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #5E35C7;
    background: #fff;
    border: none;
    border-radius: 10px;
    padding: 16px 28px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 5px 28px -1px #5e35c714;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s ease-in-out
}

.prs .med-contact-btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #FF0982;
    transition: height .28s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1
}

.prs .med-contact-btn:hover::before {
    height: 100%
}

.prs .med-contact-btn:hover {
    color: #fff
}

.prs .med-contact-btn:focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 2px !important
}

.prs .anim-reveal {
    animation: revealUp .55s cubic-bezier(0.4, 0, 0.2, 1) both
}

.prs .anim-reveal-d1 {
    animation-delay: .08s
}

.prs .anim-reveal-d2 {
    animation-delay: .18s
}

.prs .anim-reveal-d3 {
    animation-delay: .28s
}

@keyframes revealUp {
    from {
        opacity: 0;
        transform: translateY(32px)
    }

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

@media (max-width: 1280px) {
    .prs .kd-block {
        padding: 56px 28px 0
    }

    .prs .med-block {
        padding: 56px 28px
    }

    .prs .kd-h1 {
        font-size: 42px
    }

    .prs .med-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .prs .med-contact-strip {
        padding: 28px
    }
}

@media (max-width: 768px) {
    .prs .kd-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .prs .kd-img-col {
        display: none
    }

    .prs .kd-block {
        padding: 28px 16px 0
    }

    .prs .med-block {
        padding: 28px 16px
    }

    .prs .kd-h1 {
        font-size: 42px
    }

    .prs .kd-meta {
        flex-direction: column;
        gap: 16px
    }

    .prs .med-top {
        flex-direction: column;
        gap: 28px;
        align-items: flex-start
    }

    .prs .med-grid {
        grid-template-columns: 1fr
    }

    .prs .med-steps {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px
    }

    .prs .med-steps::before {
        display: none
    }

    .prs .med-step {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 16px
    }

    .prs .med-step-lbl {
        text-align: left
    }

    .prs .med-contact-strip {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 390px) {
    .prs .kd-h1 {
        font-size: 30px
    }

    .prs .kd-stat-num {
        font-size: 30px
    }

    .prs .med-hl {
        font-size: 19px
    }

    .prs .med-path-ttl {
        font-size: 19px
    }

    .prs .med-contact-em {
        font-size: 19px
    }
}

.abt {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden
}

.abt .s1 {
    padding: 56px;
    position: relative
}

.abt .s1-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.abt .s1-num {
    position: absolute;
    font-size: 72px;
    font-weight: 900;
    color: #5E35C7;
    opacity: .06;
    line-height: 1.2;
    top: 16px;
    left: 28px;
    pointer-events: none;
    user-select: none;
    letter-spacing: -4px
}

.abt .s1-tag {
    display: inline-block;
    font-size: 16px;
    letter-spacing: .18em;
    color: #FF0982;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.6
}

.abt .s1-h {
    font-size: 72px;
    line-height: 1.2;
    font-weight: 900;
    color: #1b1b2e;
    margin: 0 0 28px
}

.abt .s1-h .gw {
    background: linear-gradient(120deg, #5E35C7, #FF0982);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt .s1-p {
    font-size: 19px;
    line-height: 1.6;
    color: #2a2a3d;
    margin: 0 0 16px
}

.abt .s1-p::first-letter {
    font-size: 42px;
    font-weight: 900;
    color: #5E35C7;
    float: left;
    line-height: 1;
    margin-right: 8px;
    margin-top: 4px
}

.abt .s1-p2 {
    font-size: 19px;
    line-height: 1.6;
    color: #2a2a3d;
    margin: 0
}

.abt .s1-img-wrap {
    position: relative;
    border-radius: 22px;
    overflow: hidden
}

.abt .s1-img-clip {
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    background: #d4cff0
}

.abt .s1-img-clip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) brightness(0.95) hue-rotate(0deg);
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .s1-img-clip img.loaded {
    animation: revealrot .4s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes revealrot {
    from {
        opacity: 0;
        transform: rotate(2deg) scale(0.98)
    }

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

.abt .s1-img-clip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 0% 0%, #5e35c72e, transparent 70%);
    z-index: 1;
    pointer-events: none
}

.abt .s1-badge {
    position: absolute;
    bottom: 28px;
    right: -8px;
    background: #5E35C7;
    color: #fff;
    border-radius: 10px;
    padding: 16px 28px;
    font-size: 16px;
    line-height: 1.6;
    box-shadow: 0 9px 60px -1px #5e35c71a;
    z-index: 2
}

.abt .s1-badge strong {
    display: block;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 900
}

.abt .s1-divider {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 56px 0 0
}

.abt .s1-divider-line {
    flex: 1;
    height: 1px;
    background: #e2ddf5
}

.abt .s1-divider-dot {
    width: 28px;
    height: 4px;
    border-radius: 1px;
    background: #FF0982
}

.abt .s2 {
    padding: 56px;
    background: #f4f2fc;
    position: relative
}

.abt .s2::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 100%;
    background: repeating-linear-gradient(90deg, transparent, transparent 10px, #5e35c70a 10px, #5e35c70a 12px);
    pointer-events: none
}

.abt .s2-top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    margin-bottom: 56px
}

.abt .s2-hl {
    display: inline-block;
    background: #5E35C7;
    color: #fff;
    padding: 4px 16px;
    border-radius: 6px;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 28px
}

.abt .s2-lead {
    font-size: 19px;
    line-height: 1.6;
    color: #2a2a3d;
    columns: 2;
    column-gap: 28px
}

.abt .s2-lead p {
    margin: 0 0 16px;
    break-inside: avoid
}

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

.abt .s2-card {
    background: #ffffffb3;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 5px 28px -1px #5e35c714;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .28s ease-in-out
}

.abt .s2-card:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a;
    transform: translateY(-4px)
}

.abt .s2-card-img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    background: #d4cff0;
    margin-bottom: 16px
}

.abt .s2-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .36s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .s2-card:hover .s2-card-img img {
    transform: scale(1.04)
}

.abt .s2-card-name {
    font-size: 19px;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 4px;
    line-height: 1.2
}

.abt .s2-card-role {
    font-size: 16px;
    color: #FF0982;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0 0 8px;
    line-height: 1.6
}

.abt .s2-card-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #3a3a55;
    margin: 0;
    border-top: 1px solid #e2ddf5;
    padding-top: 8px
}

.abt .s2-divider {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 56px 0 0
}

.abt .s2-divider-line {
    flex: 1;
    height: 1px;
    background: #c9c2ea
}

.abt .s2-divider-dot {
    width: 28px;
    height: 4px;
    border-radius: 1px;
    background: #5E35C7
}

.abt .s3 {
    padding: 56px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    position: relative;
    overflow: hidden
}

.abt .s3-deco {
    position: absolute;
    top: -28px;
    right: 56px;
    width: 220px;
    height: 220px;
    border-radius: 38px;
    background: #ffffff0f;
    transform: rotate(18deg);
    pointer-events: none
}

.abt .s3-deco2 {
    position: absolute;
    bottom: -16px;
    left: 28px;
    width: 120px;
    height: 120px;
    border-radius: 22px;
    background: #ffffff0d;
    transform: rotate(-12deg);
    pointer-events: none
}

.abt .s3-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1
}

.abt .s3-hl {
    display: inline-block;
    background: #ffffff26;
    color: #fff;
    padding: 4px 16px;
    border-radius: 6px;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 28px
}

.abt .s3-p {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffeb;
    margin: 0 0 16px
}

.abt .s3-vals {
    list-style: none;
    padding: 0;
    margin: 28px 0 0
}

.abt .s3-vals li {
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    padding: 8px 0;
    border-bottom: 1px solid #fff3;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    transition: padding-left .25s ease-in-out
}

.abt .s3-vals li:hover {
    padding-left: 8px
}

.abt .s3-vals li:last-child {
    border-bottom: none
}

.abt .s3-icon {
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background: #fff;
    flex-shrink: 0;
    transform: rotate(45deg)
}

.abt .s3-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px
}

.abt .s3-met {
    background: #ffffff1f;
    border-radius: 22px;
    padding: 28px;
    text-align: center;
    transition: background .28s ease-in-out
}

.abt .s3-met:hover {
    background: #fff3
}

.abt .s3-met-val {
    font-size: 42px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    display: block
}

.abt .s3-met-lbl {
    font-size: 16px;
    color: #fffc;
    line-height: 1.6;
    margin-top: 4px;
    display: block
}

.abt .s3-met.big {
    grid-column: span 2;
    box-shadow: 0 9px 60px -1px #ff09821a
}

@media (max-width: 1280px) {
    .abt .s1-h {
        font-size: 42px
    }

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

@media (max-width: 768px) {
    .abt .s1 {
        padding: 28px 16px
    }

    .abt .s1-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .abt .s1-img-wrap {
        display: none
    }

    .abt .s1-h {
        font-size: 42px
    }

    .abt .s1-num {
        font-size: 42px
    }

    .abt .s2 {
        padding: 28px 16px
    }

    .abt .s2-top {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .abt .s2-lead {
        columns: 1
    }

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

    .abt .s2-card-img {
        display: none
    }

    .abt .s3 {
        padding: 28px 16px
    }

    .abt .s3-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .abt .s3-metrics {
        grid-template-columns: 1fr 1fr
    }

    .abt .s3-met.big {
        grid-column: span 2
    }
}

@media (max-width: 390px) {
    .abt .s1 {
        padding: 16px
    }

    .abt .s1-h {
        font-size: 30px
    }

    .abt .s2 {
        padding: 16px
    }

    .abt .s3 {
        padding: 16px
    }

    .abt .s3-metrics {
        grid-template-columns: 1fr
    }

    .abt .s3-met.big {
        grid-column: span 1
    }
}

.srvs {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.srvs .pg-hero {
    position: relative;
    padding: 56px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 56px
}

.srvs .pg-hero .dot-grid {
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.srvs .pg-hero .dot-grid svg {
    width: 100%;
    height: 100%
}

.srvs .pg-hero .hero-txt {
    flex: 1 1 55%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    position: relative;
    z-index: 1;
    padding: 28px 28px 28px 0
}

.srvs .pg-hero .hero-img-col {
    flex: 0 0 38%;
    position: relative;
    z-index: 1;
    border-radius: 22px;
    overflow: hidden;
    min-height: 340px
}

.srvs .pg-hero .hero-img-col .img-sk {
    position: absolute;
    inset: 0;
    background: #c4b5f4;
    border-radius: 22px;
    transition: opacity .35s ease-in-out
}

.srvs .pg-hero .hero-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
    display: block;
    position: relative;
    z-index: 1;
    filter: saturate(0.7) brightness(0.75);
    transition: filter .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .pg-hero .hero-img-col img.loaded+.img-sk {
    opacity: 0
}

.srvs .pg-hero .lbl {
    font-size: 16px;
    letter-spacing: .18em;
    color: #ffffffb3;
    text-transform: uppercase
}

.srvs .pg-hero .h1 {
    font-size: 72px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    margin: 0
}

.srvs .pg-hero .h1 span {
    display: block
}

.srvs .pg-hero .sub {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffe0;
    max-width: 480px;
    margin: 0
}

.srvs .pg-hero .divline {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #ffffff2e 30%, #ffffff73 100%);
    border-radius: 1px
}

.srvs .cards-sec {
    padding: 56px;
    background: #f5f2ff
}

.srvs .cards-sec .sec-head {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 56px;
    gap: 28px
}

.srvs .cards-sec .sec-head .hl {
    font-size: 42px;
    line-height: 1.2;
    color: #1a0a3c;
    font-weight: 700;
    margin: 0;
    position: relative;
    display: inline-block
}

.srvs .cards-sec .sec-head .hl::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: -6px;
    height: 4px;
    width: 40%;
    background: linear-gradient(90deg, #5E35C7, #FF0982);
    border-radius: 1px
}

.srvs .cards-sec .sec-head .cnt-lbl {
    font-size: 16px;
    color: #5E35C7;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap
}

.srvs .card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    gap: 28px;
    align-items: start
}

.srvs .svc-card {
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .28s ease-in-out, transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .svc-card:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a;
    transform: translateY(-4px)
}

.srvs .svc-card.featured {
    grid-column: span 1;
    flex-direction: row
}

.srvs .svc-card .img-wrap {
    position: relative;
    flex-shrink: 0
}

.srvs .svc-card:not(.featured) .img-wrap {
    height: 200px;
    width: 100%
}

.srvs .svc-card.featured .img-wrap {
    width: 45%;
    min-height: 320px
}

.srvs .svc-card .img-sk {
    position: absolute;
    inset: 0;
    background: #e8e0fa;
    transition: opacity .32s ease-in-out;
    z-index: 0
}

.srvs .svc-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 1;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .svc-card:hover .img-wrap img {
    transform: scale(1.04)
}

.srvs .svc-card .card-bd {
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1
}

.srvs .svc-card .card-bd .ttl {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #1a0a3c;
    margin: 0
}

.srvs .svc-card .card-bd .desc {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2f6e;
    margin: 0;
    flex: 1
}

.srvs .svc-card .card-bd .meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.srvs .svc-card .card-bd .meta .price {
    font-size: 19px;
    font-weight: 800;
    color: #5E35C7
}

.srvs .svc-card .card-bd .meta .pnote {
    font-size: 16px;
    color: #7a6aaa;
    line-height: 1.6
}

.srvs .svc-card .card-bd .meta .rt {
    font-size: 16px;
    color: #9a8ec4;
    margin-left: auto
}

.srvs .svc-card .card-bd .meta .lk {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    color: #FF0982
}

.srvs .svc-card .card-bd .meta .lk svg {
    width: 16px;
    height: 16px;
    fill: #FF0982;
    flex-shrink: 0
}

.srvs .svc-card .card-bd .sep {
    height: 1px;
    background: #ede8fa;
    border-radius: 1px
}

.srvs .svc-card .card-bd .btn-lnk {
    display: inline-block;
    padding: 8px 28px;
    background: #5E35C7;
    color: #fff;
    font-size: 16px;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    transition: color .28s ease-in-out;
    align-self: flex-start
}

.srvs .svc-card .card-bd .btn-lnk::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #FF0982;
    border-radius: 10px;
    transition: height .32s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.srvs .svc-card .card-bd .btn-lnk:hover::before {
    height: 100%
}

.srvs .svc-card .card-bd .btn-lnk span {
    position: relative;
    z-index: 1
}

.srvs .why-sec {
    padding: 56px;
    background: #fff;
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: center
}

.srvs .why-sec .why-left {
    flex: 0 0 42%;
    display: flex;
    flex-direction: column;
    gap: 28px
}

.srvs .why-sec .why-left .hl-strip {
    display: inline-block;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    padding: 4px 16px;
    border-radius: 6px
}

.srvs .why-sec .why-left .hl-strip h2 {
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
    font-weight: 700;
    margin: 0
}

.srvs .why-sec .why-left .drop-p {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2f6e;
    margin: 0
}

.srvs .why-sec .why-left .drop-p::first-letter {
    font-size: 42px;
    line-height: 1;
    font-weight: 800;
    color: #5E35C7;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.srvs .why-sec .why-left .drop-p2 {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2f6e;
    margin: 0
}

.srvs .why-sec .why-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px
}

.srvs .why-sec .why-right .feat-item {
    padding: 16px 0;
    border-bottom: 1px solid #ede8fa;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.srvs .why-sec .why-right .feat-item:last-child {
    border-bottom: none
}

.srvs .why-sec .why-right .feat-item .ico {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    display: flex;
    align-items: center;
    justify-content: center
}

.srvs .why-sec .why-right .feat-item .ico svg {
    width: 20px;
    height: 20px;
    fill: #fff
}

.srvs .why-sec .why-right .feat-item .ft {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.srvs .why-sec .why-right .feat-item .ft h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1a0a3c;
    margin: 0;
    line-height: 1.2
}

.srvs .why-sec .why-right .feat-item .ft p {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2f6e;
    margin: 0
}

.srvs .cta-sec {
    padding: 56px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;
    position: relative;
    overflow: hidden
}

.srvs .cta-sec .dots-dec {
    position: absolute;
    bottom: 16px;
    right: 28px;
    pointer-events: none
}

.srvs .cta-sec .cta-txt {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvs .cta-sec .cta-txt h3 {
    font-size: 42px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    margin: 0
}

.srvs .cta-sec .cta-txt p {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffe0;
    margin: 0;
    max-width: 520px
}

.srvs .cta-sec .cta-actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    flex-shrink: 0
}

.srvs .cta-sec .cta-actions .btn-pri {
    display: inline-block;
    padding: 16px 56px;
    background: #fff;
    color: #5E35C7;
    font-size: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .28s ease-in-out
}

.srvs .cta-sec .cta-actions .btn-pri::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1a0a3c;
    border-radius: 10px;
    transition: height .35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.srvs .cta-sec .cta-actions .btn-pri:hover::before {
    height: 100%
}

.srvs .cta-sec .cta-actions .btn-pri:hover {
    color: #fff
}

.srvs .cta-sec .cta-actions .btn-pri span {
    position: relative;
    z-index: 1
}

.srvs .cta-sec .cta-actions .note {
    font-size: 16px;
    color: #ffffffb3
}

.srvs .img-gallery-sec {
    padding: 56px;
    background: #f5f2ff;
    display: flex;
    flex-direction: column;
    gap: 28px
}

.srvs .img-gallery-sec .gal-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.srvs .img-gallery-sec .gal-head .hl-strip2 {
    display: inline-block;
    background: #1a0a3c;
    padding: 4px 16px;
    border-radius: 6px
}

.srvs .img-gallery-sec .gal-head .hl-strip2 h2 {
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
    font-weight: 700;
    margin: 0
}

.srvs .img-gallery-sec .gal-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 28px
}

.srvs .img-gallery-sec .gal-grid .gitem {
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    min-height: 280px
}

.srvs .img-gallery-sec .gal-grid .gitem .img-sk {
    position: absolute;
    inset: 0;
    background: #c4b5f4;
    z-index: 0;
    transition: opacity .32s ease-in-out
}

.srvs .img-gallery-sec .gal-grid .gitem img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 1;
    transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .img-gallery-sec .gal-grid .gitem:hover img {
    transform: scale(1.04)
}

.srvs .img-gallery-sec .gal-grid .gitem .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, #5e35c7b3 100%);
    z-index: 2;
    pointer-events: none
}

.srvs .img-gallery-sec .gal-grid .gitem .gcap {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    z-index: 3;
    color: #fff;
    font-size: 16px;
    line-height: 1.6
}

@keyframes bgshift {
    0% {
        background-position: 0 0
    }

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

    100% {
        background-position: 0 0
    }
}

.srvs .pg-hero {
    background-size: 200% 200%;
    animation: bgshift 12s ease-in-out infinite
}

@keyframes blink-cursor {

    0%,
    100% {
        border-right-color: #FF0982
    }

    50% {
        border-right-color: transparent
    }
}

.srvs .pg-hero .h1 .typed {
    display: inline-block;
    border-right: 3px solid #FF0982;
    animation: blink-cursor .9s ease-in-out infinite;
    padding-right: 4px
}

@media (max-width: 1280px) {
    .srvs .pg-hero {
        padding: 56px 28px;
        gap: 28px
    }

    .srvs .cards-sec {
        padding: 56px 28px
    }

    .srvs .why-sec {
        padding: 56px 28px
    }

    .srvs .cta-sec {
        padding: 56px 28px
    }

    .srvs .img-gallery-sec {
        padding: 56px 28px
    }

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

    .srvs .svc-card.featured {
        grid-column: span 2
    }
}

@media (max-width: 768px) {
    .srvs .pg-hero {
        flex-direction: column;
        padding: 56px 16px 28px;
        gap: 28px
    }

    .srvs .pg-hero .hero-img-col {
        display: none
    }

    .srvs .pg-hero .h1 {
        font-size: 42px
    }

    .srvs .pg-hero .dot-grid {
        width: 160px
    }

    .srvs .cards-sec {
        padding: 56px 16px
    }

    .srvs .cards-sec .sec-head {
        flex-direction: column;
        align-items: flex-start
    }

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

    .srvs .svc-card.featured {
        flex-direction: column;
        grid-column: span 1
    }

    .srvs .svc-card.featured .img-wrap {
        width: 100%;
        min-height: 200px
    }

    .srvs .why-sec {
        flex-direction: column;
        padding: 56px 16px;
        gap: 28px
    }

    .srvs .why-sec .why-left {
        flex: unset
    }

    .srvs .cta-sec {
        flex-direction: column;
        padding: 56px 16px;
        gap: 28px
    }

    .srvs .cta-sec .cta-txt h3 {
        font-size: 30px
    }

    .srvs .img-gallery-sec {
        padding: 56px 16px
    }

    .srvs .img-gallery-sec .gal-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 390px) {
    .srvs .pg-hero .h1 {
        font-size: 30px
    }

    .srvs .cta-sec .cta-actions .btn-pri {
        padding: 16px 28px
    }
}

.cu-pg {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden
}

.cu-pg .grad-line {
    height: 2px;
    background: radial-gradient(circle at 50% 50%, #FF0982 0%, transparent 70%);
    margin: 0
}

.cu-pg .band-top {
    background: linear-gradient(135deg, #5E35C7 0%, #3d1f8f 60%, #2a1060 100%);
    padding: 56px 56px 28px;
    position: relative
}

.cu-pg .band-top::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #FF0982 40%, #5E35C7 70%, transparent 100%)
}

.cu-pg .band-top::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: radial-gradient(circle at 50% 50%, #ff098299 0%, transparent 65%)
}

.cu-pg .band-top .pg-label {
    font-size: 16px;
    letter-spacing: .18em;
    color: #ffffff8c;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.cu-pg .band-top .pg-hdg {
    font-size: 72px;
    line-height: 1.2;
    color: #FFF;
    margin: 0 0 16px;
    font-weight: 800
}

.cu-pg .band-top .pg-hdg .ac {
    color: #FF0982
}

.cu-pg .band-top .pg-sub {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffbf;
    max-width: 520px;
    margin: 0
}

.cu-pg .band-top .deco-line {
    position: absolute;
    right: 56px;
    top: 28px;
    bottom: 28px;
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, #ff098266 40%, #5e35c799 70%, transparent 100%)
}

.cu-pg .band-top .deco-coords {
    position: absolute;
    right: 72px;
    top: 50%;
    transform: translateY(-50%);
    text-align: right
}

.cu-pg .band-top .deco-coords .coord-item {
    display: block;
    font-size: 16px;
    color: #ffffff73;
    letter-spacing: .1em;
    line-height: 2
}

.cu-pg .band-top .deco-coords .coord-item.hi {
    color: #ff0982cc
}

.cu-pg .form-area {
    background: #f4f2fc;
    padding: 56px;
    position: relative
}

.cu-pg .form-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 56px;
    right: 56px;
    height: 1px;
    background: radial-gradient(circle at 50% 50%, #5e35c74d 0%, transparent 70%)
}

.cu-pg .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    max-width: 1200px
}

.cu-pg .form-col-left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.cu-pg .form-col-right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.cu-pg .contact-cards {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cu-pg .c-card {
    background: #FFF;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .c-card:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a;
    transform: translateY(-2px)
}

.cu-pg .c-card .ic {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.cu-pg .c-card .ic svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #FFF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.cu-pg .c-card .cd {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cu-pg .c-card .cd .ct {
    font-size: 16px;
    letter-spacing: .08em;
    color: #5E35C7;
    text-transform: uppercase;
    font-weight: 700
}

.cu-pg .c-card .cd .cv {
    font-size: 19px;
    line-height: 1.6;
    color: #1e1240;
    font-weight: 500
}

.cu-pg .c-card .cd .cv a {
    color: #1e1240;
    text-decoration: none;
    position: relative;
    display: inline-block;
    transition: color .26s ease-in-out
}

.cu-pg .c-card .cd .cv a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 1px;
    background: #FF0982;
    transition: left .35s cubic-bezier(0.4, 0, 0.2, 1), right .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .c-card .cd .cv a:hover {
    color: #5E35C7
}

.cu-pg .c-card .cd .cv a:hover::after {
    left: 0;
    right: 0
}

.cu-pg .form-hdg {
    font-size: 30px;
    line-height: 1.2;
    color: #1e1240;
    margin: 0;
    font-weight: 700
}

.cu-pg .form-hdg .ac {
    color: #5E35C7
}

.cu-pg .form-hdg-strip {
    display: inline;
    background: linear-gradient(90deg, #5e35c71a 0%, #ff098214 100%);
    padding: 4px 8px;
    border-radius: 6px
}

.cu-pg .f-form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cu-pg .f-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.cu-pg .f-grp {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cu-pg .f-grp label {
    font-size: 16px;
    color: #3d2a7a;
    font-weight: 600;
    letter-spacing: .06em
}

.cu-pg .f-grp input,
.cu-pg .f-grp select,
.cu-pg .f-grp textarea {
    border: 1.5px solid #5e35c733;
    border-radius: 6px;
    padding: 16px;
    font-size: 16px;
    color: #1e1240;
    background: #FFF;
    outline: none;
    box-shadow: inset 0 2px 6px #5e35c70d;
    transition: border-color .26s ease-in-out, box-shadow .28s ease-in-out;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none
}

.cu-pg .f-grp input::placeholder,
.cu-pg .f-grp textarea::placeholder {
    color: #1e124059
}

.cu-pg .f-grp input:focus,
.cu-pg .f-grp select:focus,
.cu-pg .f-grp textarea:focus {
    border-color: #5E35C7;
    box-shadow: inset 0 2px 6px #5e35c714 0 0 0 3px #5e35c71a
}

.cu-pg .f-grp select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%235E35C7' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 44px;
    cursor: pointer
}

.cu-pg .f-grp textarea {
    resize: vertical;
    min-height: 100px
}

.cu-pg .f-opts {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cu-pg .f-opts .opts-lbl {
    font-size: 16px;
    color: #3d2a7a;
    font-weight: 600;
    letter-spacing: .06em
}

.cu-pg .f-chk-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.cu-pg .f-chk {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px;
    border-radius: 6px;
    border: 1.5px solid #5e35c726;
    background: #FFF;
    transition: border-color .26s ease-in-out, background .28s ease-in-out
}

.cu-pg .f-chk:hover {
    border-color: #5e35c766;
    background: #5e35c70a
}

.cu-pg .f-chk input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: #5E35C7;
    cursor: pointer;
    box-shadow: none;
    border-radius: 1px;
    padding: 0
}

.cu-pg .f-chk span {
    font-size: 16px;
    color: #1e1240;
    line-height: 1.6
}

.cu-pg .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: #5e35c70d;
    border-radius: 6px;
    border: 1px solid #5e35c71f
}

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

.cu-pg .privacy-row .priv-txt {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2a7a
}

.cu-pg .privacy-row .priv-txt a {
    color: #5E35C7;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    display: inline-block;
    transition: color .26s ease-in-out
}

.cu-pg .privacy-row .priv-txt a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 1px;
    background: #FF0982;
    transition: left .35s cubic-bezier(0.4, 0, 0.2, 1), right .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .privacy-row .priv-txt a:hover::after {
    left: 0;
    right: 0
}

.cu-pg .f-submit {
    position: relative;
    overflow: hidden;
    background: #1e1240;
    color: #FFF;
    border: none;
    border-radius: 22px;
    padding: 16px 56px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
    align-self: flex-start;
    transition: color .28s ease-in-out, box-shadow .32s ease-in-out;
    box-shadow: 0 5px 28px -1px #5e35c714
}

.cu-pg .f-submit::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    transition: height .35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.cu-pg .f-submit span {
    position: relative;
    z-index: 1
}

.cu-pg .f-submit:hover::before {
    height: 100%
}

.cu-pg .f-submit:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.cu-pg .f-submit:focus {
    outline: 3px solid #5e35c766;
    outline-offset: 3px
}

.cu-pg .f-submit:active {
    animation: flash-ac .38s ease-in-out
}

@keyframes flash-ac {
    0% {
        background: #1e1240
    }

    40% {
        background: #FF0982
    }

    100% {
        background: #1e1240
    }
}

.cu-pg .zigzag-sep {
    width: 100%;
    height: 20px;
    background: #f4f2fc;
    position: relative;
    overflow: hidden
}

.cu-pg .zigzag-sep svg {
    display: block;
    width: 100%;
    height: 20px
}

.cu-pg .flicker-bg {
    position: absolute;
    border-radius: 38px;
    pointer-events: none;
    animation: flk 6s ease-in-out infinite
}

.cu-pg .flicker-bg.f1 {
    width: 180px;
    height: 180px;
    top: -40px;
    right: 200px;
    background: radial-gradient(circle at top left, #ff098214 0%, transparent 70%);
    animation-delay: 0s
}

.cu-pg .flicker-bg.f2 {
    width: 120px;
    height: 120px;
    bottom: 20px;
    left: 300px;
    background: radial-gradient(circle at top left, #5e35c712 0%, transparent 70%);
    animation-delay: 2.5s
}

@keyframes flk {

    0%,
    100% {
        opacity: .4
    }

    50% {
        opacity: 1
    }
}

.cu-pg .drop-cap-txt::first-letter {
    font-size: 42px;
    line-height: 1;
    color: #5E35C7;
    font-weight: 800;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.cu-pg .sep-ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.cu-pg .sep-ul li {
    padding: 8px 0;
    border-bottom: 1px solid #5e35c71f;
    font-size: 16px;
    line-height: 1.6;
    color: #1e1240
}

.cu-pg .sep-ul li:last-child {
    border-bottom: none
}

.cu-pg .work-info {
    background: #FFF;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 2px 4px -1px #5e35c712
}

.cu-pg .work-info .wi-hdg {
    font-size: 19px;
    font-weight: 700;
    color: #1e1240;
    margin: 0 0 16px
}

.cu-pg .work-info .wi-hdg .ac {
    color: #FF0982
}

@media (max-width: 1280px) {
    .cu-pg .band-top {
        padding: 56px 28px 28px
    }

    .cu-pg .band-top .deco-coords {
        display: none
    }

    .cu-pg .band-top .deco-line {
        display: none
    }

    .cu-pg .band-top .pg-hdg {
        font-size: 42px
    }

    .cu-pg .form-area {
        padding: 56px 28px
    }

    .cu-pg .form-grid {
        gap: 28px
    }
}

@media (max-width: 768px) {
    .cu-pg .band-top {
        padding: 28px 16px
    }

    .cu-pg .band-top .pg-hdg {
        font-size: 30px
    }

    .cu-pg .form-area {
        padding: 28px 16px
    }

    .cu-pg .form-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .cu-pg .f-row {
        grid-template-columns: 1fr
    }

    .cu-pg .f-chk-row {
        grid-template-columns: 1fr
    }

    .cu-pg .f-submit {
        align-self: stretch;
        text-align: center
    }
}

@media (max-width: 390px) {
    .cu-pg .band-top .pg-hdg {
        font-size: 30px
    }

    .cu-pg .band-top .pg-sub {
        font-size: 16px
    }
}

.lnch {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.lnch .t-blk {
    position: relative;
    padding: 56px;
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 60%, #5E35C7 100%);
    background-size: 300% 300%;
    animation: gradsh 8s ease-in-out infinite;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

@keyframes gradsh {
    0% {
        background-position: 0 50%
    }

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

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

.lnch .t-blk .geo-tl {
    position: absolute;
    top: 28px;
    left: 28px;
    width: 80px;
    height: 80px;
    pointer-events: none
}

.lnch .t-blk .geo-br {
    position: absolute;
    bottom: 28px;
    right: 28px;
    width: 56px;
    height: 56px;
    pointer-events: none
}

.lnch .t-blk .t-tag {
    font-size: 16px;
    letter-spacing: .18em;
    color: #ffffffbf;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.2
}

.lnch .t-blk .t-h1 {
    font-size: 72px;
    line-height: 1.2;
    color: #fff;
    font-weight: 900;
    margin: 0 0 16px;
    max-width: 700px
}

.lnch .t-blk .t-sub {
    font-size: 19px;
    line-height: 1.6;
    color: #ffffffe0;
    max-width: 520px;
    margin-bottom: 28px
}

.lnch .t-blk .t-img {
    position: absolute;
    right: 0;
    top: 0;
    width: 48%;
    height: 100%;
    pointer-events: none
}

.lnch .t-blk .t-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-mask-image: linear-gradient(to bottom, #000000b3 0%, #0000 100%);
    mask-image: linear-gradient(to bottom, #000000b3 0%, #0000 100%)
}

.lnch .t-blk .img-skel {
    background: #ffffff1f;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.lnch .t-blk .t-btn {
    display: inline-block;
    padding: 16px 28px;
    background: #fff;
    color: #5E35C7;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 0 5px 28px -1px #5e35c714;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.lnch .t-blk .t-btn::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #5E35C7;
    transition: height .28s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.lnch .t-blk .t-btn:hover::after {
    height: 100%
}

.lnch .t-blk .t-btn:hover {
    color: #fff;
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.lnch .t-blk .t-btn span {
    position: relative;
    z-index: 1
}

.lnch .pat-blk {
    padding: 56px;
    background: #fff;
    position: relative
}

.lnch .pat-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 42%;
    height: 100%;
    background: linear-gradient(160deg, #5e35c70f 0%, transparent 100%);
    pointer-events: none
}

.lnch .pat-blk .ph2 {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b0a3f;
    margin: 0 0 28px;
    display: inline-block;
    background: #5E35C7;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.lnch .pat-blk .ph2-wrap {
    display: inline-block;
    background: #5e35c714;
    border-radius: 6px;
    padding: 4px 16px;
    margin-bottom: 28px
}

.lnch .pat-blk .ph2-wrap .ph2 {
    margin: 0;
    padding: 0
}

.lnch .pat-blk .pat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px
}

.lnch .pat-blk .p-card {
    border-radius: 10px;
    padding: 28px;
    background: #fff;
    box-shadow: 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .28s ease-in-out;
    animation: shdbld .7s ease-in-out forwards
}

@keyframes shdbld {
    from {
        box-shadow: 0 0 0 0 #5e35c700
    }

    to {
        box-shadow: 0 2px 4px -1px #5e35c712 0 5px 28px -1px #5e35c714
    }
}

.lnch .pat-blk .p-card:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a;
    transform: translateY(-4px)
}

.lnch .pat-blk .p-card .p-ico {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: linear-gradient(135deg, #5E35C7, #FF0982);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    box-shadow: 0 5px 28px -1px #ff098214
}

.lnch .pat-blk .p-card .p-ico svg {
    width: 24px;
    height: 24px;
    fill: #fff
}

.lnch .pat-blk .p-card .p-nm {
    font-size: 16px;
    font-weight: 700;
    color: #1b0a3f;
    margin-bottom: 8px;
    line-height: 1.2
}

.lnch .pat-blk .p-card .p-role {
    font-size: 16px;
    color: #5E35C7;
    margin-bottom: 8px;
    line-height: 1.2;
    letter-spacing: .06em
}

.lnch .pat-blk .p-card .p-txt {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2a5e
}

.lnch .pat-blk .p-card .p-txt::first-letter {
    font-size: 30px;
    color: #FF0982;
    font-weight: 800;
    line-height: 1;
    float: left;
    margin-right: 4px
}

.lnch .rel-blk {
    padding: 56px;
    background: #f3f0fb;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center
}

.lnch .rel-blk .r-imgs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.lnch .rel-blk .r-imgs .r-img {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px 28px -1px #5e35c714
}

.lnch .rel-blk .r-imgs .r-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform .38s ease-in-out
}

.lnch .rel-blk .r-imgs .r-img:hover img {
    transform: scale(1.04)
}

.lnch .rel-blk .r-imgs .r-img .skel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #d8d0ee;
    border-radius: 10px;
    z-index: 1;
    transition: opacity .35s ease-in-out
}

.lnch .rel-blk .r-imgs .r-img img.loaded+.skel,
.lnch .rel-blk .r-imgs .r-img img:not([src])+.skel {
    opacity: 0
}

.lnch .rel-blk .r-imgs .r-img.tall {
    grid-row: span 2
}

.lnch .rel-blk .r-imgs .r-img.tall img {
    height: 100%;
    min-height: 300px
}

.lnch .rel-blk .r-txt .ph3 {
    font-size: 42px;
    font-weight: 800;
    color: #1b0a3f;
    line-height: 1.2;
    margin-bottom: 16px
}

.lnch .rel-blk .r-txt .ph3-strip {
    display: inline-block;
    background: #ff09821a;
    border-radius: 6px;
    padding: 4px 16px;
    margin-bottom: 28px
}

.lnch .rel-blk .r-txt .ph3-strip .ph3 {
    margin: 0
}

.lnch .rel-blk .r-txt .r-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px
}

.lnch .rel-blk .r-txt .r-list li {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2a5e;
    padding: 8px 0;
    border-bottom: 1px solid #5e35c71f
}

.lnch .rel-blk .r-txt .r-list li:last-child {
    border-bottom: none
}

.lnch .rel-blk .r-txt .r-body {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2a5e;
    margin-bottom: 16px
}

.lnch .rel-blk .r-txt .r-body::first-letter {
    font-size: 30px;
    color: #5E35C7;
    font-weight: 800;
    float: left;
    margin-right: 4px;
    line-height: 1
}

.lnch .prb-blk {
    padding: 56px;
    background: #1b0a3f;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch
}

.lnch .prb-blk .prb-geo {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    pointer-events: none;
    opacity: .07
}

.lnch .prb-blk .ph4-wrap {
    display: inline-block;
    background: #ff09822e;
    border-radius: 6px;
    padding: 4px 16px;
    margin-bottom: 28px;
    align-self: flex-start
}

.lnch .prb-blk .ph4 {
    font-size: 42px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    margin: 0
}

.lnch .prb-blk .prb-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.lnch .prb-blk .prb-col .prb-p {
    font-size: 16px;
    line-height: 1.6;
    color: #ffffffd1;
    margin-bottom: 16px
}

.lnch .prb-blk .prb-col .prb-p::first-letter {
    font-size: 30px;
    color: #FF0982;
    font-weight: 800;
    float: left;
    margin-right: 4px;
    line-height: 1
}

.lnch .prb-blk .prb-col .prb-p2 {
    font-size: 16px;
    line-height: 1.6;
    color: #ffffffd1;
    margin-bottom: 16px
}

.lnch .prb-blk .prb-img {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #ff09821a;
    position: relative
}

.lnch .prb-blk .prb-img img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease-in-out
}

.lnch .prb-blk .prb-img:hover img {
    transform: scale(1.03)
}

.lnch .prb-blk .prb-img .skel2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff0f;
    border-radius: 22px
}

.lnch .prb-blk .prb-met {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-top: 28px
}

.lnch .prb-blk .prb-met .m-item {
    flex: 1;
    background: #ffffff0d;
    border-radius: 10px;
    padding: 16px;
    border-top: 2px solid #FF0982
}

.lnch .prb-blk .prb-met .m-item .m-val {
    font-size: 30px;
    font-weight: 800;
    color: #FF0982;
    line-height: 1.2;
    margin-bottom: 4px
}

.lnch .prb-blk .prb-met .m-item .m-lbl {
    font-size: 16px;
    color: #ffffffa6;
    line-height: 1.6
}

.lnch .prb-blk .prb-lnk {
    display: inline-block;
    margin-top: 28px;
    padding: 16px 28px;
    background: #FF0982;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 0 5px 28px -1px #ff098214;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s ease-in-out;
    align-self: flex-start;
    position: relative;
    overflow: hidden
}

.lnch .prb-blk .prb-lnk::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #5E35C7;
    transition: height .28s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.lnch .prb-blk .prb-lnk:hover::after {
    height: 100%
}

.lnch .prb-blk .prb-lnk span {
    position: relative;
    z-index: 1
}

.lnch .prb-blk .prb-lnk:hover {
    box-shadow: 0 9px 60px -1px #5e35c71a
}

.lnch .geo-pulse {
    animation: gpulse 4s ease-in-out infinite
}

@keyframes gpulse {

    0%,
    100% {
        opacity: .18
    }

    50% {
        opacity: .32
    }
}

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

    .lnch .t-blk .t-h1 {
        font-size: 56px
    }

    .lnch .t-blk .t-img {
        width: 42%
    }

    .lnch .pat-blk {
        padding: 56px 28px
    }

    .lnch .pat-blk .pat-grid {
        grid-template-columns: 1fr 1fr
    }

    .lnch .rel-blk {
        padding: 56px 28px;
        gap: 28px
    }

    .lnch .prb-blk {
        padding: 56px 28px
    }

    .lnch .prb-blk .prb-row {
        gap: 28px
    }
}

@media (max-width: 768px) {
    .lnch .t-blk {
        padding: 56px 16px
    }

    .lnch .t-blk .t-h1 {
        font-size: 42px
    }

    .lnch .t-blk .t-img {
        display: none
    }

    .lnch .pat-blk {
        padding: 56px 16px
    }

    .lnch .pat-blk .pat-grid {
        grid-template-columns: 1fr
    }

    .lnch .rel-blk {
        padding: 56px 16px;
        grid-template-columns: 1fr;
        gap: 28px
    }

    .lnch .rel-blk .r-imgs {
        display: none
    }

    .lnch .prb-blk {
        padding: 56px 16px
    }

    .lnch .prb-blk .prb-row {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .lnch .prb-blk .prb-img {
        display: none
    }

    .lnch .prb-blk .prb-met {
        flex-direction: column;
        gap: 16px
    }
}

@media (max-width: 390px) {
    .lnch .t-blk .t-h1 {
        font-size: 30px
    }

    .lnch .t-blk .t-sub {
        font-size: 16px
    }

    .lnch .pat-blk .ph2 {
        font-size: 30px
    }

    .lnch .rel-blk .r-txt .ph3 {
        font-size: 30px
    }

    .lnch .prb-blk .ph4 {
        font-size: 30px
    }

    .lnch .prb-blk .prb-met {
        flex-direction: column
    }
}

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

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

.suc-pg .suc-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 28px;
    display: block
}

.suc-pg .suc-icon circle {
    fill: none;
    stroke: #5E35C7;
    stroke-width: 2.5;
    transition: stroke-dashoffset .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.suc-pg .suc-icon polyline {
    fill: none;
    stroke: #FF0982;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.suc-pg .suc-tag {
    display: inline-block;
    font-size: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #FF0982;
    margin-bottom: 16px;
    padding: 4px 16px;
    border-radius: 6px;
    background: #ff098212
}

.suc-pg .suc-title {
    font-size: 42px;
    line-height: 1.2;
    color: #1b1035;
    margin: 0 0 16px;
    font-weight: 700
}

.suc-pg .suc-title span {
    background: linear-gradient(135deg, #5E35C7 0%, #FF0982 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.suc-pg .suc-txt {
    font-size: 19px;
    line-height: 1.6;
    color: #2d2250;
    margin: 0 0 28px
}

.suc-pg .suc-divider {
    width: 56px;
    height: 2px;
    background: linear-gradient(90deg, #5E35C7, #FF0982);
    border-radius: 1px;
    margin: 0 auto 28px
}

.suc-pg .suc-note {
    font-size: 16px;
    line-height: 1.6;
    color: #5c5080;
    margin: 0 0 28px
}

.suc-pg .suc-btn {
    display: inline-block;
    font-size: 16px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
    background: #5E35C7;
    padding: 16px 28px;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 0 5px 28px -1px #5e35c714;
    transition: color .28s ease-in-out, box-shadow .35s ease-in-out
}

.suc-pg .suc-btn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #FF0982;
    border-radius: 10px;
    transition: height .32s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.suc-pg .suc-btn:hover::before {
    height: 100%
}

.suc-pg .suc-btn:hover {
    box-shadow: 0 9px 60px -1px #ff09821a
}

.suc-pg .suc-btn-lbl {
    position: relative;
    z-index: 1
}

.suc-pg .suc-btn:focus {
    outline: 2px solid #5E35C7;
    outline-offset: 4px
}

@media (max-width: 390px) {
    .suc-pg {
        padding: 28px 16px
    }

    .suc-pg .suc-title {
        font-size: 30px
    }

    .suc-pg .suc-txt {
        font-size: 16px
    }
}