body {
    margin: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    font-family: 'Open Sans', sans-serif
}

.hd {
    background: linear-gradient(135deg, #0e1a24 0%, #12232f 60%, #0a1820 100%);
    border-bottom: 2px solid #377CB4;
    box-shadow: 0 7px 18px 1px #377cb41c;
    position: relative;
    z-index: 100
}

.hd-top {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 48px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px
}

.hd-brand {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
    order: 2
}

.hd-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #1a3040;
    border-radius: 13px 4px 13px 4px;
    box-shadow: inset 0 2px 6px #377cb42e 0 3px 4px 1px #377cb412;
    border: 1px solid #96ceda38;
    flex-shrink: 0
}

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

.hd-brand-text {
    display: flex;
    flex-direction: column;
    gap: 0
}

.hd-co {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: #E4ECEF;
    letter-spacing: .01em
}

.hd-tag {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    color: #96CEDA;
    letter-spacing: .02em
}

.hd-nav-area {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-top: 8px
}

.hd-status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0
}

.hd-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 36px;
    background: #96CEDA;
    box-shadow: 0 0 6px #96ceda80;
    flex-shrink: 0
}

.hd-status-lbl {
    font-size: 16px;
    font-weight: 500;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .12em
}

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

.mn li {
    position: relative
}

.mn li a {
    display: flex;
    align-items: center;
    padding: 8px 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #E4ECEF;
    text-decoration: none;
    border-radius: 7px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    min-height: 44px
}

.mn li a:hover {
    color: #96CEDA;
    background: #377cb421;
    transform: translateY(-2px)
}

.mn li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #96ceda66;
    border-radius: 7px
}

.mn li.has-sub>a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #96CEDA;
    border-bottom: 2px solid #96CEDA;
    transform: rotate(45deg);
    margin-left: 8px;
    margin-top: -3px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.mn li.has-sub:hover>a::after {
    transform: rotate(-135deg);
    margin-top: 3px
}

.sub {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #0e1a24;
    border: 1px solid #377cb44d;
    border-radius: 4px 13px 13px 13px;
    box-shadow: 0 10px 60px 1px #377cb424;
    padding: 8px;
    list-style: none;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s cubic-bezier(0.0, 0, 0.2, 1);
    z-index: 200
}

.mn li.has-sub:hover .sub,
.mn li.has-sub:focus-within .sub {
    opacity: 1;
    pointer-events: auto
}

.sub li a {
    display: block;
    padding: 8px 24px;
    font-size: 16px;
    font-weight: 400;
    color: #E4ECEF;
    text-decoration: none;
    border-radius: 7px;
    min-height: 44px;
    white-space: nowrap;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.sub li a:hover {
    color: #96CEDA;
    background: #377cb421;
    transform: translateX(4px)
}

.sub li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #96ceda66;
    border-radius: 7px
}

.hd-rule {
    max-width: 1600px;
    margin: 24px auto 0;
    padding: 0 48px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #377cb459 30%, #96ceda80 60%, transparent 100%)
}

.ft {
    background: #0a1820;
    border-top: 1px solid #377cb440;
    box-shadow: 0 -3px 4px 1px #377cb412
}

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

.ft-brand {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0
}

.ft-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #1a3040;
    border-radius: 7px 4px 7px 4px;
    box-shadow: inset 0 2px 4px #377cb426 0 3px 4px 1px #377cb412;
    border: 1px solid #96ceda2e;
    flex-shrink: 0
}

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

.ft-co-sm {
    font-size: 16px;
    font-weight: 500;
    color: #96CEDA;
    line-height: 1.6
}

.ft-bottom {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    border-top: 1px solid #377cb41f;
    padding-top: 24px
}

.ft-copy {
    font-size: 16px;
    font-weight: 400;
    color: #e4ecef8c;
    line-height: 1.6
}

.ft-legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0
}

.ft-legal li a {
    font-size: 16px;
    font-weight: 400;
    color: #e4ecef8c;
    text-decoration: none;
    line-height: 1.6;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block
}

.ft-legal li a:hover {
    color: #96CEDA;
    transform: translateY(-2px)
}

.ft-legal li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #96ceda66;
    border-radius: 4px
}

.ck-bar {
    position: fixed;
    bottom: 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 96px);
    max-width: 860px;
    background: #0e1a24;
    border: 1px solid #377cb466;
    border-radius: 13px;
    box-shadow: 0 10px 60px 1px #377cb424;
    padding: 24px;
    z-index: 1200;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap
}

.ck-txt {
    flex: 1;
    min-width: 220px
}

.ck-hd {
    font-size: 18px;
    font-weight: 700;
    color: #E4ECEF;
    line-height: 1.2;
    margin-bottom: 8px
}

.ck-desc {
    font-size: 16px;
    font-weight: 400;
    color: #e4ecefbf;
    line-height: 1.6;
    margin: 0
}

.ck-desc ul {
    margin: 8px 0 0;
    padding-left: 24px
}

.ck-desc ul li {
    margin-bottom: 0
}

.ck-acts {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
    align-self: center
}

.ck-ok {
    display: inline-flex;
    align-items: center;
    padding: 8px 24px;
    font-size: 16px;
    font-weight: 500;
    color: #E4ECEF;
    background: transparent;
    border: 2px solid #377CB4;
    border-radius: 7px;
    cursor: pointer;
    min-height: 44px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Open Sans', sans-serif
}

.ck-ok:hover {
    background: #377cb42e;
    border-color: #96CEDA;
    color: #96CEDA
}

.ck-ok:focus {
    outline: none;
    box-shadow: 0 0 0 3px #96ceda66
}

.ck-skip {
    font-size: 16px;
    font-weight: 400;
    color: #e4ecef8c;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    min-height: 44px;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-family: 'Open Sans', sans-serif;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ck-skip:hover {
    color: #E4ECEF
}

.ck-skip:focus {
    outline: none;
    box-shadow: 0 0 0 3px #96ceda66;
    border-radius: 4px
}

@media (max-width: 900px) {
    .hd-top {
        padding: 24px 24px 0;
        gap: 24px;
        flex-wrap: wrap
    }

    .hd-rule {
        padding: 0 24px
    }

    .hd-brand {
        order: 1
    }

    .hd-nav-area {
        order: 2;
        width: 100%
    }

    .ft-inner,
    .ft-bottom {
        padding-left: 24px;
        padding-right: 24px
    }

    .ck-bar {
        width: calc(100% - 48px);
        flex-direction: column
    }

    .ck-acts {
        width: 100%;
        justify-content: flex-start
    }
}

.terms-m-box {
    max-width: 1600px;
    margin: 0 auto;
    padding: 96px 48px;
    color: #E4ECEF;
    background: #1b1e22;
    line-height: 1.9;
    font-size: 18px
}

.terms-m-box h1 {
    font-size: 56px;
    line-height: 1.2;
    color: #96CEDA;
    margin-bottom: 48px;
    margin-top: 0;
    letter-spacing: 0;
    border-bottom: 2px solid #377CB4;
    padding-bottom: 24px
}

.terms-m-box h2 {
    font-size: 40px;
    line-height: 1.2;
    color: #96CEDA;
    margin-top: 96px;
    margin-bottom: 24px
}

.terms-m-box h3 {
    font-size: 22px;
    line-height: 1.6;
    color: #E4ECEF;
    margin-top: 48px;
    margin-bottom: 24px;
    border-left: 3px solid #377CB4;
    padding-left: 24px;
    background: #377cb412;
    border-radius: 0 7px 7px 0
}

.terms-m-box h4 {
    font-size: 22px;
    line-height: 1.6;
    color: #96CEDA;
    margin-top: 48px;
    margin-bottom: 24px
}

.terms-m-box h5 {
    font-size: 18px;
    line-height: 1.6;
    color: #96CEDA;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.terms-m-box h6 {
    font-size: 16px;
    line-height: 1.6;
    color: #96cedab8;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .1em
}

.terms-m-box strong,
.terms-m-box b {
    color: #E4ECEF;
    font-weight: 700
}

.terms-m-box hr {
    border: none;
    border-top: 1px solid #377cb447;
    margin-top: 48px;
    margin-bottom: 48px
}

.terms-m-box table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 48px;
    margin-bottom: 48px;
    font-size: 16px;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.terms-m-box thead {
    background: #377cb438
}

.terms-m-box thead th {
    color: #96CEDA;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 24px;
    text-align: left;
    border-bottom: 2px solid #377cb466;
    font-weight: 700
}

.terms-m-box tbody tr {
    border-bottom: 1px solid #377cb424;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.terms-m-box tbody tr:last-child {
    border-bottom: none
}

.terms-m-box tbody tr:hover {
    background: #96ceda0f
}

.terms-m-box td {
    padding: 24px;
    color: #E4ECEF;
    line-height: 1.6;
    vertical-align: top
}

.terms-m-box div {
    margin-bottom: 24px
}

@media (max-width: 768px) {
    .terms-m-box {
        padding: 48px 24px
    }

    .terms-m-box h1 {
        font-size: 40px
    }

    .terms-m-box h2 {
        font-size: 22px;
        margin-top: 48px
    }

    .terms-m-box table {
        display: block;
        overflow-x: auto;
        border-radius: 7px
    }

    .terms-m-box thead th,
    .terms-m-box td {
        padding: 24px 8px;
        min-width: 120px
    }
}

.vsn {
    background-color: #181614;
    color: #E4ECEF;
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.vsn .t-block {
    position: relative;
    padding: 96px 48px;
    background: linear-gradient(157deg, #0e1a24 0%, #1a2a35 40%, #0f1c14 70%, #181614 100%);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    border-top: 2px solid #377CB4;
    border-bottom: 1px solid #377cb438
}

.vsn .t-block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(157deg, #377cb417 0%, #96ceda0f 50%, transparent 100%);
    pointer-events: none
}

.vsn .t-txt {
    position: relative;
    z-index: 1
}

.vsn .t-eyebrow {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #96CEDA;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.vsn .t-eyebrow::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 2px;
    background: #377CB4;
    flex-shrink: 0
}

.vsn .t-h1 {
    font-size: 72px;
    line-height: 1.2;
    margin-bottom: 8px;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.vsn .t-h2sub {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 24px
}

.vsn .t-lead {
    font-size: 18px;
    line-height: 1.9;
    color: #b8cdd8;
    max-width: 520px
}

.vsn .t-img-col {
    position: relative;
    z-index: 1
}

.vsn .t-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 10px 60px 1px #377cb424
}

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

.vsn .t-img-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(157deg, #0e1a248c 0%, transparent 60%);
    pointer-events: none
}

.vsn .t-flow-line {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #377CB4 0%, #96CEDA 50%, transparent 100%)
}

.vsn .t-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #377CB4;
    margin-left: 8px;
    vertical-align: middle;
    animation: bounce-in .56s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes bounce-in {
    0% {
        transform: translateY(-32px);
        opacity: 0
    }

    60% {
        transform: translateY(6px);
        opacity: 1
    }

    80% {
        transform: translateY(-3px)
    }

    100% {
        transform: translateY(0)
    }
}

.vsn .t-h1,
.vsn .t-h2sub,
.vsn .t-eyebrow {
    animation: bounce-in .52s cubic-bezier(0.4, 0, 0.2, 1) both
}

.vsn .t-h2sub {
    animation-delay: .07s
}

.vsn .t-lead {
    animation: bounce-in .6s cubic-bezier(0.0, 0, 0.2, 1) .12s both
}

.vsn .pillars {
    padding: 96px 48px;
    background: #12191f;
    border-bottom: 1px solid #96ceda21
}

.vsn .pillars-top {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px
}

.vsn .pillars-label {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #377CB4;
    margin-bottom: 24px
}

.vsn .pillars-h {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 24px
}

.vsn .pillars-intro {
    font-size: 22px;
    line-height: 1.6;
    color: #96CEDA;
    margin-bottom: 8px
}

.vsn .pillars-body {
    font-size: 16px;
    line-height: 1.9;
    color: #a8bec9
}

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

.vsn .feat-cat {
    background: #377cb412;
    border-radius: 13px;
    padding: 24px;
    border-top: 2px solid #377cb44d;
    box-shadow: 0 7px 18px 1px #377cb41c;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.vsn .feat-cat:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 60px 1px #377cb424
}

.vsn .feat-cat-title {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #96CEDA;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid #96ceda2e
}

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

.vsn .feat-list li {
    font-size: 16px;
    line-height: 1.6;
    color: #c8dae3;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.vsn .feat-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #377CB4;
    margin-top: 8px;
    flex-shrink: 0
}

.vsn .atm {
    position: relative;
    padding: 96px 48px;
    overflow: hidden
}

.vsn .atm-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(./visual_gallery/testasset-2021-002.jpg);
    background-size: cover;
    background-position: center
}

.vsn .atm-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(157deg, #0e1a24ed 0%, #181614de 60%, #12191ff2 100%)
}

.vsn .atm-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.vsn .atm-h {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 24px
}

.vsn .atm-p {
    font-size: 18px;
    line-height: 1.9;
    color: #b0c8d4;
    margin-bottom: 24px
}

.vsn .atm-p.sm {
    font-size: 16px;
    color: #8aaab8
}

.vsn .metric-stack {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.vsn .metric-item {
    background: #377cb417;
    border-radius: 7px;
    padding: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    box-shadow: 0 3px 4px 1px #377cb412;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.vsn .metric-item:hover {
    transform: translateX(6px)
}

.vsn .metric-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #377cb42e;
    border: 2px solid #96ceda59;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.vsn .metric-icon {
    width: 22px;
    height: 22px
}

.vsn .metric-val {
    font-size: 40px;
    line-height: 1.2;
    color: #96CEDA
}

.vsn .metric-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #8aaab8
}

.vsn .roadmap-strip {
    padding: 96px 48px;
    background: #181614;
    border-top: 2px solid #96ceda26;
    border-bottom: 2px solid #377CB4
}

.vsn .roadmap-head {
    text-align: center;
    margin-bottom: 48px
}

.vsn .roadmap-h {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px
}

.vsn .roadmap-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #8aaab8
}

.vsn .steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    position: relative
}

.vsn .steps::before {
    content: "";
    position: absolute;
    top: 36px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: linear-gradient(90deg, #377CB4, #96CEDA, #377CB4);
    z-index: 0
}

.vsn .step {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
    padding: 24px;
    border-radius: 13px;
    background: #e4ecef08;
    transition: background .26s cubic-bezier(0.4, 0, 0.2, 1), transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.vsn .step:hover {
    background: #377cb41a;
    transform: translateY(-5px)
}

.vsn .step-num {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #12191f;
    border: 2px solid #377CB4;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1.2;
    color: #96CEDA;
    box-shadow: 0 7px 18px 1px #377cb41c;
    flex-shrink: 0
}

.vsn .step-title {
    font-size: 18px;
    line-height: 1.6;
    color: #E4ECEF
}

.vsn .step-desc {
    font-size: 16px;
    line-height: 1.9;
    color: #8aaab8
}

.vsn .step-badge {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #377CB4;
    padding: 8px 24px;
    border-radius: 4px;
    border: 1px solid #377cb459;
    background: #377cb412;
    margin-top: auto
}

@media (max-width: 1100px) {
    .vsn .t-block {
        grid-template-columns: 1fr;
        padding: 48px 24px
    }

    .vsn .t-h1 {
        font-size: 56px
    }

    .vsn .pillars-top {
        grid-template-columns: 1fr
    }

    .vsn .feat-grid {
        grid-template-columns: 1fr 1fr
    }

    .vsn .atm-inner {
        grid-template-columns: 1fr
    }

    .vsn .steps {
        grid-template-columns: 1fr 1fr
    }

    .vsn .steps::before {
        display: none
    }
}

@media (max-width: 680px) {

    .vsn .t-block,
    .vsn .pillars,
    .vsn .atm,
    .vsn .roadmap-strip {
        padding: 48px 24px
    }

    .vsn .t-h1 {
        font-size: 40px
    }

    .vsn .feat-grid {
        grid-template-columns: 1fr
    }

    .vsn .steps {
        grid-template-columns: 1fr
    }

    .vsn .pillars-top {
        gap: 24px
    }
}

.lp {
    background: #16201f;
    color: #E4ECEF;
    overflow-x: clip;
    position: relative
}

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

.lp .pg-wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px
}

@keyframes blurFadeIn {
    from {
        opacity: 0;
        filter: blur(12px)
    }

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

@keyframes blurFadeUp {
    from {
        opacity: 0;
        filter: blur(8px);
        transform: translateY(24px)
    }

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

.lp .anim-load {
    animation: blurFadeIn .7s cubic-bezier(0.4, 0, 0.2, 1) both
}

.lp .anim-up {
    animation: blurFadeUp .65s cubic-bezier(0.4, 0, 0.2, 1) both
}

.lp .anim-up.d1 {
    animation-delay: .1s
}

.lp .anim-up.d2 {
    animation-delay: .22s
}

.lp .anim-up.d3 {
    animation-delay: .34s
}

.lp .anim-up.d4 {
    animation-delay: .46s
}

.lp .grad-txt {
    background: linear-gradient(157deg, #E4ECEF, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lp .div-a {
    height: 2px;
    background: linear-gradient(90deg, #377CB4, #96CEDA);
    border: none;
    margin: 0
}

.lp .div-b {
    height: 2px;
    background: linear-gradient(90deg, #96CEDA, transparent);
    border: none;
    margin: 0
}

.lp .ttl-blk {
    padding: 96px 0;
    position: relative;
    overflow: hidden
}

.lp .ttl-blk .atm-spot {
    position: absolute;
    border-radius: 36px;
    pointer-events: none;
    z-index: 0
}

.lp .ttl-blk .atm-spot.s1 {
    width: 520px;
    height: 320px;
    top: -48px;
    left: -96px;
    background: radial-gradient(ellipse at 30% 40%, #377cb421 0%, transparent 70%);
    filter: blur(40px)
}

.lp .ttl-blk .atm-spot.s2 {
    width: 380px;
    height: 280px;
    bottom: 0;
    right: 8%;
    background: radial-gradient(ellipse at 60% 60%, #96ceda1a 0%, transparent 70%);
    filter: blur(48px)
}

.lp .ttl-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 96px;
    position: relative;
    z-index: 1
}

.lp .ttl-img-col {
    flex: 0 0 380px;
    position: relative
}

.lp .ttl-img-wrap {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 60px 1px #377cb424
}

.lp .ttl-img-wrap img {
    width: 380px;
    height: 460px;
    object-fit: cover;
    display: block;
    border-radius: 22px
}

.lp .img-skel {
    position: absolute;
    inset: 0;
    background: #243030;
    border-radius: 22px;
    z-index: 1;
    transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp .ttl-img-wrap img.loaded+.img-skel,
.lp .ttl-img-wrap img:not([src=""])~.img-skel {
    opacity: 0;
    pointer-events: none
}

.lp .ttl-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 22px;
    background: radial-gradient(ellipse at 0% 0%, #16201f8c 0%, transparent 45%), radial-gradient(ellipse at 100% 100%, #16201f8c 0%, transparent 45%);
    pointer-events: none;
    z-index: 2
}

.lp .ttl-txt-col {
    flex: 1;
    min-width: 0
}

.lp .ttl-label {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.lp .ttl-label .dash {
    display: inline-block;
    width: 24px;
    height: 2px;
    background: #377CB4;
    border-radius: 4px;
    flex-shrink: 0
}

.lp .ttl-h1 {
    font-size: 56px;
    line-height: 1.2;
    margin: 0 0 24px;
    letter-spacing: -.01em
}

.lp .ttl-desc {
    font-size: 18px;
    line-height: 1.9;
    color: #c2d6de;
    max-width: 560px;
    margin: 0
}

.lp .prog-det {
    padding: 96px 0;
    background: linear-gradient(157deg, #377cb412 0%, #16201f00 60%, #96ceda0d 100%)
}

.lp .prog-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 24px;
    margin-bottom: 96px
}

.lp .prog-card {
    background: #243030d9;
    border-radius: 13px;
    padding: 48px 24px 24px;
    box-shadow: 0 7px 18px 1px #377cb41c;
    position: relative;
    overflow: hidden;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp .prog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 60px 1px #377cb424
}

.lp .prog-card .card-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    background: linear-gradient(157deg, #E4ECEF, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px
}

.lp .prog-card .card-lbl {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: 24px
}

.lp .prog-card .card-body {
    font-size: 16px;
    line-height: 1.9;
    color: #c2d6de;
    margin: 0
}

.lp .prog-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #377CB4, #96CEDA);
    border-radius: 13px 13px 0 0
}

.lp .prog-mid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: start
}

.lp .prog-mid-left h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 24px
}

.lp .prog-mid-left .sub-h {
    font-size: 18px;
    line-height: 1.6;
    color: #96CEDA;
    margin: 0 0 24px
}

.lp .prog-mid-left .body-p {
    font-size: 16px;
    line-height: 1.9;
    color: #c2d6de;
    margin: 0 0 24px
}

.lp .prog-mid-left .body-p.lead {
    font-size: 18px;
    color: #dde9ed
}

.lp .prog-cta-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 48px
}

.lp .btn-prim {
    display: inline-block;
    padding: 16px 48px;
    background: #377CB4;
    color: #E4ECEF;
    font-size: 16px;
    line-height: 1.6;
    border-radius: 7px;
    border: 2px solid #377CB4;
    cursor: pointer;
    text-decoration: none;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600
}

.lp .btn-prim:hover {
    transform: translateY(-3px);
    background: #2d6a9a;
    border-color: #2d6a9a
}

.lp .btn-sec {
    display: inline-block;
    padding: 16px 48px;
    background: transparent;
    color: #96CEDA;
    font-size: 16px;
    line-height: 1.6;
    border-radius: 7px;
    border: 2px solid #377CB4;
    cursor: pointer;
    text-decoration: none;
    transition: transform .22s cubic-bezier(0.0, 0, 0.2, 1), border-color .22s cubic-bezier(0.0, 0, 0.2, 1);
    font-weight: 600
}

.lp .btn-sec:hover {
    transform: translateY(-3px);
    border-color: #96CEDA;
    color: #E4ECEF
}

.lp .legend-blk {
    background: #16201fe6;
    border-radius: 13px;
    padding: 24px;
    box-shadow: 0 3px 4px 1px #377cb412
}

.lp .legend-blk .leg-ttl {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .09em;
    margin: 0 0 24px
}

.lp .leg-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px
}

.lp .leg-item:last-child {
    margin-bottom: 0
}

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

.lp .leg-icon.ic-blue {
    background: #377cb440
}

.lp .leg-icon.ic-teal {
    background: #96ceda2e
}

.lp .leg-icon.ic-light {
    background: #e4ecef1f
}

.lp .leg-icon svg {
    width: 18px;
    height: 18px
}

.lp .leg-txt h6 {
    font-size: 16px;
    line-height: 1.6;
    color: #E4ECEF;
    margin: 0 0 4px
}

.lp .leg-txt p {
    font-size: 16px;
    line-height: 1.6;
    color: #96a8ae;
    margin: 0
}

.lp .faq-sec {
    padding: 96px 0;
    background: #131c1b;
    position: relative;
    overflow: hidden
}

.lp .faq-sec .bg-outline {
    position: absolute;
    right: -80px;
    top: 48px;
    width: 480px;
    height: 480px;
    border-radius: 36px;
    border: 2px solid #377cb417;
    pointer-events: none;
    transform: rotate(18deg)
}

.lp .faq-sec .bg-outline2 {
    position: absolute;
    left: -60px;
    bottom: 24px;
    width: 300px;
    height: 300px;
    border-radius: 36px;
    border: 2px solid #96ceda12;
    pointer-events: none;
    transform: rotate(-12deg)
}

.lp .faq-head {
    text-align: center;
    margin-bottom: 48px
}

.lp .faq-head h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 24px
}

.lp .faq-head p {
    font-size: 18px;
    line-height: 1.9;
    color: #96a8ae;
    max-width: 560px;
    margin: 0 auto
}

.lp .faq-list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lp .faq-item {
    background: #243030b3;
    border-radius: 13px;
    border: 1px solid #377cb421;
    overflow: hidden
}

.lp .faq-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0
}

.lp .faq-q {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    cursor: pointer;
    gap: 24px;
    user-select: none;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp .faq-q:hover {
    background: #377cb414
}

.lp .faq-q-txt {
    font-size: 18px;
    line-height: 1.6;
    color: #E4ECEF;
    font-weight: 600
}

.lp .faq-arr {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background: #377cb42e;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp .faq-arr svg {
    width: 12px;
    height: 12px;
    stroke: #96CEDA
}

.lp .faq-item input:checked~.faq-q .faq-arr {
    transform: rotate(180deg);
    background: #377cb459
}

.lp .faq-ans {
    max-height: 0;
    overflow: hidden;
    transition: max-height .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.lp .faq-item input:checked~.faq-ans {
    max-height: 320px
}

.lp .faq-ans-in {
    padding: 0 24px 24px;
    font-size: 16px;
    line-height: 1.9;
    color: #a8bec4
}

.lp .leg-item {
    position: relative;
    clip-path: inset(0 100% 0 0);
    animation: clipReveal .65s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.lp .leg-item:nth-child(1) {
    animation-delay: .55s
}

.lp .leg-item:nth-child(2) {
    animation-delay: .7s
}

.lp .leg-item:nth-child(3) {
    animation-delay: .85s
}

.lp .leg-item:nth-child(4) {
    animation-delay: 1s
}

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

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

@keyframes btnShake {

    0%,
    100% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-6px)
    }

    40% {
        transform: translateX(6px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(4px)
    }
}

.lp .btn-prim:focus-visible,
.lp .btn-sec:focus-visible {
    outline: 2px solid #96CEDA;
    outline-offset: 4px
}

@media (max-width: 1100px) {
    .lp .prog-grid {
        grid-template-columns: 1fr 1fr
    }

    .lp .ttl-inner {
        gap: 48px
    }

    .lp .ttl-img-col {
        flex: 0 0 280px
    }

    .lp .ttl-img-wrap img {
        width: 280px;
        height: 340px
    }
}

@media (max-width: 860px) {
    .lp .pg-wrap {
        padding: 0 24px
    }

    .lp .ttl-inner {
        flex-direction: column;
        gap: 48px
    }

    .lp .ttl-img-col {
        flex: none;
        width: 100%
    }

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

    .lp .ttl-img-wrap img {
        width: 100%;
        height: 280px
    }

    .lp .ttl-h1 {
        font-size: 40px
    }

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

    .lp .prog-mid {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .lp .prog-mid-left h2 {
        font-size: 40px
    }

    .lp .faq-head h2 {
        font-size: 40px
    }
}

@media (max-width: 560px) {
    .lp .ttl-blk {
        padding: 48px 0
    }

    .lp .prog-det {
        padding: 48px 0
    }

    .lp .faq-sec {
        padding: 48px 0
    }

    .lp .prog-cta-row {
        flex-direction: column;
        align-items: flex-start
    }

    .lp .btn-prim,
    .lp .btn-sec {
        width: 100%;
        text-align: center
    }
}

.rdmp {
    background-color: #181614;
    color: #E4ECEF;
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.rdmp .pg-top {
    position: relative;
    padding: 96px 48px;
    text-align: center;
    overflow: hidden
}

.rdmp .pg-top .img-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    filter: brightness(0.32) saturate(0.7)
}

.rdmp .pg-top .img-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(157deg, #377cb48c, transparent);
    z-index: 1
}

.rdmp .pg-top .top-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(157deg, #377cb461 0%, #181614d1 100%);
    z-index: 1
}

.rdmp .pg-top .top-stripe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #377CB4 0%, #96CEDA 60%, transparent 100%);
    z-index: 3
}

.rdmp .pg-top .top-body {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto
}

.rdmp .pg-top .lbl {
    display: inline-block;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #96CEDA;
    margin-bottom: 24px;
    border: 1px solid #96ceda47;
    border-radius: 7px;
    padding: 8px 24px
}

.rdmp .pg-top h1 {
    font-size: 56px;
    line-height: 1.2;
    margin: 0 0 24px;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.rdmp .pg-top h1 .acc {
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.rdmp .pg-top .sub {
    font-size: 18px;
    line-height: 1.9;
    color: #e4ecefd1;
    max-width: 540px;
    margin: 0 auto;
    text-align: left
}

.rdmp .divider-a {
    height: 48px;
    background: linear-gradient(157deg, #377cb42e, transparent);
    border: none;
    margin: 0
}

.rdmp .phases {
    padding: 96px 48px;
    background-color: #1e1b18
}

.rdmp .phases .ph-head {
    text-align: center;
    margin-bottom: 96px
}

.rdmp .phases .ph-head h2 {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 24px
}

.rdmp .phases .ph-head p {
    font-size: 18px;
    line-height: 1.9;
    color: #e4ecefc7;
    max-width: 560px;
    margin: 0 auto;
    text-align: left
}

.rdmp .ph-flow {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 1100px;
    margin: 0 auto;
    position: relative
}

.rdmp .ph-flow::before {
    content: "";
    position: absolute;
    left: 48px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(180deg, #377CB4 0%, #96CEDA 50%, #96ceda1f 100%);
    z-index: 0
}

.rdmp .ph-item {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 48px;
    position: relative;
    z-index: 1;
    padding-bottom: 48px
}

.rdmp .ph-item:last-child {
    padding-bottom: 0
}

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

.rdmp .ph-num {
    width: 48px;
    height: 48px;
    border-radius: 22px;
    background: linear-gradient(157deg, #377CB4, #96CEDA);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1.2;
    color: #181614;
    font-weight: 700;
    box-shadow: 0 7px 18px 1px #377cb41c;
    flex-shrink: 0
}

.rdmp .ph-fill-bar {
    width: 2px;
    flex: 1;
    min-height: 24px;
    background: linear-gradient(180deg, #377cb466, #96ceda1a);
    border-radius: 4px
}

.rdmp .ph-card {
    background: #e4ecef0a;
    border: 1px solid #96ceda24;
    border-radius: 13px;
    padding: 48px;
    box-shadow: 0 3px 4px 1px #377cb412;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.rdmp .ph-card:hover {
    border: 1px dashed #96ceda73 !important;
    box-shadow: 0 10px 60px 1px #377cb424;
    transform: translateY(-3px)
}

.rdmp .ph-card .ph-tag {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #96CEDA;
    margin-bottom: 8px
}

.rdmp .ph-card h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #E4ECEF;
    margin: 0 0 24px
}

.rdmp .ph-card .ph-txt {
    font-size: 16px;
    line-height: 1.9;
    color: #e4ecefc7;
    margin: 0 0 24px
}

.rdmp .ph-card .ph-details {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.rdmp .ph-card .ph-det-item {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecefa6;
    background: #377cb41a;
    border-radius: 7px;
    padding: 8px 24px;
    border: 1px solid #377cb42e
}

.rdmp .ph-card .float-card {
    position: absolute;
    top: 48px;
    right: 48px;
    background: #181614eb;
    border: 1px solid #96ceda38;
    border-radius: 13px;
    padding: 24px;
    min-width: 180px;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.rdmp .ph-card .float-card .fc-status {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px
}

.rdmp .ph-card .float-card .fc-dot {
    width: 8px;
    height: 8px;
    border-radius: 22px;
    background: #96CEDA;
    flex-shrink: 0
}

.rdmp .ph-card .float-card .fc-dot.active {
    background: #4caf7d
}

.rdmp .ph-card .float-card .fc-dot.planned {
    background: #96ceda66
}

.rdmp .ph-card .float-card .fc-label {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecefa6
}

.rdmp .ph-card .float-card .fc-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #96ceda1a;
    gap: 8px
}

.rdmp .ph-card .float-card .fc-row:last-child {
    border-bottom: none
}

.rdmp .ph-card .float-card .fc-key {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef80
}

.rdmp .ph-card .float-card .fc-val {
    font-size: 16px;
    line-height: 1.6;
    color: #E4ECEF
}

.rdmp .ph-item.has-float .ph-card {
    padding-right: 240px
}

.rdmp .divider-b {
    height: 48px;
    background: linear-gradient(157deg, transparent, #96ceda1a)
}

.rdmp .metrics {
    padding: 96px 48px;
    background-color: #181614;
    position: relative;
    overflow: hidden
}

.rdmp .metrics .bg-wash {
    position: absolute;
    inset: 0;
    z-index: 0;
    animation: clrwash 9s ease-in-out infinite alternate
}

@keyframes clrwash {
    0% {
        background: #377cb40a
    }

    50% {
        background: #96ceda12
    }

    100% {
        background: #377cb408
    }
}

.rdmp .metrics .met-inner {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto
}

.rdmp .metrics .met-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 96px
}

.rdmp .metrics .met-head h2 {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0
}

.rdmp .metrics .met-head p {
    font-size: 18px;
    line-height: 1.9;
    color: #e4ecefbf;
    margin: 0
}

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

.rdmp .met-item {
    background: #e4ecef08;
    border: 1px solid #96ceda1f;
    border-radius: 13px;
    padding: 48px 24px;
    text-align: center;
    transition: transform .26s cubic-bezier(0.0, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.rdmp .met-item:hover {
    transform: translateY(-4px);
    border: 1px dashed #96ceda66 !important
}

.rdmp .met-item .met-num {
    font-size: 56px;
    line-height: 1.2;
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
    margin-bottom: 8px
}

.rdmp .met-item .met-bar-wrap {
    width: 80px;
    height: 3px;
    background: #96ceda26;
    border-radius: 4px;
    margin: 8px auto 24px;
    overflow: hidden
}

.rdmp .met-item .met-bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #377CB4, #96CEDA)
}

.rdmp .met-item .met-lbl {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecefa6;
    display: block
}

.rdmp .met-item .met-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef73;
    margin-top: 8px;
    display: block
}

.rdmp .read-arrow {
    position: absolute;
    right: 48px;
    bottom: 48px;
    width: 32px;
    height: 48px;
    opacity: .22;
    z-index: 1
}

.rdmp .read-arrow::before {
    content: "";
    display: block;
    width: 2px;
    height: 32px;
    background: #96CEDA;
    margin: 0 auto;
    border-radius: 4px
}

.rdmp .read-arrow::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #96CEDA;
    border-bottom: 2px solid #96CEDA;
    transform: rotate(45deg);
    margin: -4px auto 0
}

@media (max-width: 900px) {
    .rdmp .pg-top {
        padding: 96px 24px
    }

    .rdmp .pg-top h1 {
        font-size: 40px
    }

    .rdmp .phases {
        padding: 96px 24px
    }

    .rdmp .ph-flow::before {
        left: 24px
    }

    .rdmp .ph-item {
        grid-template-columns: 48px 1fr;
        gap: 24px
    }

    .rdmp .ph-item.has-float .ph-card {
        padding-right: 48px
    }

    .rdmp .ph-card .float-card {
        position: static;
        margin-top: 24px;
        min-width: unset
    }

    .rdmp .metrics {
        padding: 96px 24px
    }

    .rdmp .metrics .met-head {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .rdmp .met-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

@media (max-width: 600px) {
    .rdmp .pg-top h1 {
        font-size: 40px
    }

    .rdmp .ph-card {
        padding: 24px
    }

    .rdmp .ph-card .ph-details {
        flex-direction: column
    }
}

.lnch {
    background-color: #12110f;
    color: #E4ECEF;
    overflow-x: clip;
    position: relative
}

.lnch .pg-wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px
}

@keyframes drift-spot {
    0% {
        transform: translateX(-8%) translateY(0);
        opacity: .07
    }

    50% {
        transform: translateX(6%) translateY(-4%);
        opacity: .12
    }

    100% {
        transform: translateX(-8%) translateY(0);
        opacity: .07
    }
}

.lnch .tb {
    padding: 48px 0 96px;
    position: relative
}

.lnch .tb-strip {
    width: 100%;
    height: 180px;
    overflow: hidden;
    margin-bottom: 48px;
    position: relative
}

.lnch .tb-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .28;
    display: block
}

.lnch .tb-strip-curves {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.lnch .tb-strip-curves svg {
    width: 100%;
    height: 100%
}

.lnch .tb-drift {
    position: absolute;
    top: -30%;
    left: -10%;
    width: 55%;
    height: 260%;
    background: radial-gradient(ellipse at 30% 50%, #377cb421 0%, transparent 68%);
    pointer-events: none;
    animation: drift-spot 14s ease-in-out infinite
}

.lnch .tb-text {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 0 48px
}

.lnch .tb-label {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: block
}

.lnch .tb-h1 {
    font-size: 72px;
    line-height: 1.2;
    margin-bottom: 24px;
    background: linear-gradient(157deg, #E4ECEF, transparent 140%), linear-gradient(157deg, #96CEDA, #377CB4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #E4ECEF
}

.lnch .tb-divider {
    width: 64px;
    height: 2px;
    background: #377CB4;
    margin: 24px auto
}

.lnch .tb-desc {
    font-size: 22px;
    line-height: 1.6;
    color: #c8d8e0;
    max-width: 680px;
    margin: 0 auto
}

.lnch .inv {
    padding: 96px 0;
    background: linear-gradient(157deg, #1a1f24 0%, #12110f 100%);
    position: relative;
    overflow: hidden
}

.lnch .inv-bg-drift {
    position: absolute;
    right: -5%;
    top: -20%;
    width: 40%;
    height: 150%;
    background: radial-gradient(ellipse at 70% 40%, #96ceda12 0%, transparent 65%);
    pointer-events: none;
    animation: drift-spot 18s ease-in-out infinite reverse
}

.lnch .inv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px;
    align-items: start
}

.lnch .inv-lead {
    grid-column: 1 / 2
}

.lnch .inv-lead h2 {
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 24px;
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #96CEDA
}

.lnch .inv-lead p {
    font-size: 18px;
    line-height: 1.6;
    color: #b8cdd6
}

.lnch .inv-img-wrap {
    grid-column: 2 / 3;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 7px 18px 1px #377cb41c;
    position: relative
}

.lnch .inv-img-wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .inv-details {
    grid-column: 3 / 4;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.lnch .inv-item {
    padding: 24px;
    border-radius: 7px;
    background: #377cb414;
    border-top: 2px solid #377CB4;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .inv-item:hover {
    transform: translateY(-3px);
    background: #377cb424
}

.lnch .inv-item h5 {
    font-size: 16px;
    line-height: 1.2;
    color: #96CEDA;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .09em
}

.lnch .inv-item p {
    font-size: 16px;
    line-height: 1.6;
    color: #c0d4dc;
    margin: 0
}

.lnch .cond {
    padding: 96px 0;
    background: #12110f;
    position: relative
}

.lnch .cond-inner {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 96px;
    align-items: center
}

.lnch .cond-img-col {
    position: relative
}

.lnch .cond-img-frame {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 60px 1px #96ceda24
}

.lnch .cond-img-frame img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.lnch .cond-img-frame:hover img {
    transform: scale(1.03)
}

.lnch .cond-accent {
    position: absolute;
    bottom: -24px;
    right: -24px;
    width: 120px;
    height: 120px;
    border-radius: 22px;
    background: linear-gradient(157deg, #377CB4, #96CEDA);
    opacity: .18;
    pointer-events: none
}

.lnch .cond-text h2 {
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 24px;
    text-align: center;
    background: linear-gradient(157deg, #E4ECEF, transparent 140%), linear-gradient(157deg, #96CEDA, #377CB4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #E4ECEF
}

.lnch .cond-text p.lead-p {
    font-size: 18px;
    line-height: 1.6;
    color: #c8d8e0;
    margin-bottom: 24px
}

.lnch .cond-text p {
    font-size: 16px;
    line-height: 1.6;
    color: #b0c4cc;
    margin-bottom: 24px
}

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

.lnch .cond-list li {
    font-size: 16px;
    line-height: 1.6;
    color: #c0d4dc;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.lnch .cond-list li .chk {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    position: relative
}

.lnch .cond-list li .chk svg {
    width: 18px;
    height: 18px
}

.lnch .cond-list li.no .chk svg .chk-mark {
    stroke: #e07070
}

.lnch .team {
    padding: 96px 0;
    background: linear-gradient(157deg, #161b20 0%, #12110f 100%);
    position: relative;
    overflow: hidden
}

.lnch .team-drift {
    position: absolute;
    left: -8%;
    bottom: -10%;
    width: 45%;
    height: 130%;
    background: radial-gradient(ellipse at 20% 70%, #377cb417 0%, transparent 60%);
    pointer-events: none;
    animation: drift-spot 20s ease-in-out infinite
}

.lnch .team-hd {
    text-align: center;
    margin-bottom: 48px
}

.lnch .team-hd h2 {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #96CEDA, #377CB4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #96CEDA;
    margin-bottom: 8px
}

.lnch .team-hd p {
    font-size: 18px;
    line-height: 1.6;
    color: #b0c4cc;
    max-width: 560px;
    margin: 0 auto
}

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

.lnch .tm-card {
    border-radius: 13px;
    overflow: hidden;
    background: #e4ecef0a;
    box-shadow: 0 3px 4px 1px #377cb412;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.lnch .tm-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 60px 1px #377cb424
}

.lnch .tm-img-wrap {
    overflow: hidden;
    height: 220px;
    position: relative
}

.lnch .tm-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .tm-card:hover .tm-img-wrap img {
    transform: scale(1.05)
}

.lnch .tm-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(157deg, #377cb438, transparent 60%);
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none
}

.lnch .tm-card:hover .tm-overlay {
    opacity: 1
}

.lnch .tm-body {
    padding: 24px
}

.lnch .tm-name {
    font-size: 18px;
    line-height: 1.2;
    color: #E4ECEF;
    margin-bottom: 8px
}

.lnch .tm-role {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    margin-bottom: 8px
}

.lnch .tm-bio {
    font-size: 16px;
    line-height: 1.6;
    color: #a8bcc4;
    margin: 0
}

.lnch .tm-accent-line {
    width: 32px;
    height: 2px;
    background: #377CB4;
    margin-bottom: 8px
}

.lnch .scale {
    padding: 96px 0;
    background: #12110f;
    position: relative
}

.lnch .scale-top {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 48px;
    align-items: center;
    margin-bottom: 48px
}

.lnch .scale-quote-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.lnch .scale-big-q {
    font-size: 72px;
    line-height: 1;
    color: #377cb447;
    pointer-events: none;
    user-select: none;
    display: block
}

.lnch .scale-quote-text {
    font-size: 18px;
    line-height: 1.6;
    color: #c0d4dc;
    font-style: italic
}

.lnch .scale-quote-attr {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA
}

.lnch .scale-img-center {
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 7px 18px 1px #96ceda1c
}

.lnch .scale-img-center img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block
}

.lnch .scale-stats-col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.lnch .scale-stat {
    padding: 24px;
    border-radius: 7px;
    background: #96ceda0f;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .scale-stat:hover {
    background: #96ceda1c;
    transform: translateX(4px)
}

.lnch .scale-num {
    font-size: 40px;
    line-height: 1.2;
    color: #96CEDA;
    display: block;
    margin-bottom: 8px
}

.lnch .scale-lbl {
    font-size: 16px;
    line-height: 1.6;
    color: #a8bcc4
}

.lnch .scale-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding-top: 48px;
    border-top: 2px solid #377cb438
}

.lnch .scale-feat {
    padding: 24px;
    border-radius: 13px;
    background: #377cb412;
    box-shadow: 0 3px 4px 1px #377cb412;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .scale-feat:hover {
    transform: translateY(-3px)
}

.lnch .scale-feat h5 {
    font-size: 16px;
    line-height: 1.2;
    color: #96CEDA;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.lnch .scale-feat p {
    font-size: 16px;
    line-height: 1.6;
    color: #a8bcc4;
    margin: 0
}

.lnch .skel {
    background: linear-gradient(90deg, #377cb414 25%, #96ceda1f 50%, #377cb414 75%);
    background-size: 200% 100%;
    animation: skel-slide 1.6s ease-in-out infinite
}

@keyframes skel-slide {
    0% {
        background-position: 200% 0
    }

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

.lnch img {
    opacity: 0;
    transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch img.loaded {
    opacity: 1
}

@media (max-width: 1100px) {
    .lnch .inv-grid {
        grid-template-columns: 1fr 1fr
    }

    .lnch .inv-img-wrap {
        grid-column: 1 / 2
    }

    .lnch .inv-lead {
        grid-column: 2 / 3;
        order: -1
    }

    .lnch .inv-details {
        grid-column: 1 / 3;
        flex-direction: row
    }

    .lnch .team-grid {
        grid-template-columns: 1fr 1fr
    }

    .lnch .scale-top {
        grid-template-columns: 1fr 1fr
    }

    .lnch .scale-quote-col {
        grid-column: 1 / 2
    }

    .lnch .scale-img-center {
        grid-column: 2 / 3
    }

    .lnch .scale-stats-col {
        grid-column: 1 / 3;
        flex-direction: row
    }

    .lnch .scale-bottom {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 768px) {
    .lnch .pg-wrap {
        padding: 0 24px
    }

    .lnch .tb-h1 {
        font-size: 40px
    }

    .lnch .tb-text {
        padding: 0 24px
    }

    .lnch .inv-grid {
        grid-template-columns: 1fr
    }

    .lnch .inv-lead,
    .lnch .inv-img-wrap,
    .lnch .inv-details {
        grid-column: 1 / 2
    }

    .lnch .inv-details {
        flex-direction: column
    }

    .lnch .cond-inner {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .lnch .team-grid {
        grid-template-columns: 1fr
    }

    .lnch .scale-top {
        grid-template-columns: 1fr
    }

    .lnch .scale-quote-col,
    .lnch .scale-img-center,
    .lnch .scale-stats-col {
        grid-column: 1 / 2
    }

    .lnch .scale-stats-col {
        flex-direction: column
    }

    .lnch .scale-bottom {
        grid-template-columns: 1fr 1fr
    }

    .lnch .tb {
        padding: 24px 0 96px
    }
}

@media (max-width: 480px) {
    .lnch .scale-bottom {
        grid-template-columns: 1fr
    }
}

.abt {
    background: #141210;
    color: #E4ECEF;
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip
}

.abt .pg-reveal {
    animation: pgReveal .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes pgReveal {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.abt .strip-img {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative
}

.abt .strip-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
    filter: brightness(0.55) saturate(0.7) contrast(1.1)
}

.abt .strip-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(157deg, #377cb42e 0%, transparent 70%);
    pointer-events: none
}

.abt .strip-img .grain-lay {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
    pointer-events: none;
    opacity: .55
}

.abt .ttl-zone {
    padding: 48px 96px 96px;
    position: relative;
    background: linear-gradient(157deg, #18201f 0%, #141210 60%, #111518 100%);
    box-shadow: inset 0 0 120px 0 #377cb412
}

.abt .ttl-zone .geo-a {
    position: absolute;
    top: 24px;
    right: 96px;
    width: 120px;
    height: 120px;
    border: 1px solid #96ceda17;
    border-radius: 4px;
    transform: rotate(22deg);
    pointer-events: none
}

.abt .ttl-zone .geo-b {
    position: absolute;
    bottom: 48px;
    left: 48px;
    width: 64px;
    height: 64px;
    border: 1px solid #377cb41c;
    border-radius: 7px;
    transform: rotate(-14deg);
    pointer-events: none
}

.abt .ttl-zone .diag-line {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(157deg, transparent 0%, #377cb421 50%, transparent 100%);
    transform: rotate(8deg) translateX(-180px);
    pointer-events: none
}

.abt .ttl-top {
    font-size: 16px;
    color: #96CEDA;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 24px;
    opacity: .82
}

.abt .ttl-top span {
    color: #377CB4;
    margin: 0 8px
}

.abt .ttl-h1 {
    font-size: 56px;
    line-height: 1.2;
    margin-bottom: 24px;
    background: linear-gradient(157deg, #E4ECEF 30%, #96CEDA 70%, #377CB4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    max-width: 820px
}

.abt .ttl-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #c8d8df;
    max-width: 560px;
    margin-bottom: 48px
}

.abt .ttl-sub strong {
    color: #96CEDA
}

.abt .ttl-meta {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

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

.abt .meta-num {
    font-size: 40px;
    line-height: 1.2;
    color: #377CB4
}

.abt .meta-lbl {
    font-size: 16px;
    color: #96CEDA;
    opacity: .75
}

.abt .mid-sec {
    padding: 96px 96px 48px;
    background: #0f1214;
    position: relative
}

.abt .mid-sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #377cb438, transparent)
}

.abt .mid-sec::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 100%, #377cb40f 0%, transparent 70%);
    pointer-events: none
}

.abt .mid-grid {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 96px;
    align-items: start;
    position: relative;
    z-index: 1
}

.abt .mid-left {
    position: relative
}

.abt .mid-img-wrap {
    width: 100%;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 10px 60px 1px #377cb424;
    position: relative;
    background: #1e2428
}

.abt .mid-img-wrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .mid-img-wrap .img-skel {
    position: absolute;
    inset: 0;
    background: #1e2428;
    border-radius: 13px;
    transition: opacity .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt .mid-img-wrap img.loaded+.img-skel {
    opacity: 0
}

.abt .mid-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(157deg, #377cb41f 0%, transparent 60%);
    pointer-events: none;
    border-radius: 13px
}

.abt .mid-offset-card {
    margin-top: 24px;
    margin-left: 24px;
    background: #377cb417;
    border: 1px solid #377cb42e;
    border-radius: 7px;
    padding: 24px;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.abt .mid-offset-card p {
    font-size: 16px;
    line-height: 1.6;
    color: #b8cdd5;
    margin: 0
}

.abt .mid-offset-card .card-tag {
    font-size: 16px;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 8px
}

.abt .mid-right {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.abt .mid-h2 {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF 20%, #96CEDA 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0
}

.abt .mid-body {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .mid-body p {
    font-size: 18px;
    line-height: 1.6;
    color: #c0d0d8;
    margin: 0
}

.abt .mid-body p.lead {
    font-size: 22px;
    line-height: 1.6;
    color: #d8e6ea
}

.abt .rank-block {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt .rank-ttl {
    font-size: 16px;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 8px
}

.abt .rank-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px
}

.abt .rank-pos {
    font-size: 22px;
    color: #377cb480;
    min-width: 32px;
    line-height: 1.2
}

.abt .rank-label {
    font-size: 16px;
    color: #b8cdd5;
    min-width: 160px
}

.abt .rank-bar-wrap {
    flex: 1;
    height: 4px;
    background: #e4ecef14;
    border-radius: 4px;
    overflow: hidden
}

.abt .rank-bar {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #377CB4, #96CEDA);
    transition: width .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .team-sec {
    padding: 96px;
    background: linear-gradient(157deg, #13171a 0%, #141210 100%);
    position: relative
}

.abt .team-sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #96ceda26, transparent)
}

.abt .team-diag {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 96px;
    width: 1px;
    background: linear-gradient(157deg, transparent 0%, #96ceda14 50%, transparent 100%);
    pointer-events: none
}

.abt .team-hd {
    text-align: center;
    margin-bottom: 48px
}

.abt .team-hd h2 {
    font-size: 40px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF 30%, #96CEDA 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 24px
}

.abt .team-hd p {
    font-size: 18px;
    line-height: 1.6;
    color: #b8cdd5;
    max-width: 540px;
    margin: 0 auto
}

.abt .team-asymgrid {
    display: grid;
    grid-template-columns: 3fr 2fr 2fr;
    grid-template-rows: auto auto;
    gap: 24px;
    align-items: start
}

.abt .tm-card {
    background: #e4ecef0a;
    border: 1px solid #377cb424;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 3px 4px 1px #377cb412;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .tm-card:hover {
    box-shadow: 0 10px 60px 1px #377cb424;
    transform: translateY(-4px)
}

.abt .tm-card.featured {
    grid-row: 1 / 3;
    background: #377cb414;
    border-color: #377cb442
}

.abt .tm-img-wrap {
    width: 100%;
    overflow: hidden;
    background: #1e2428;
    position: relative
}

.abt .tm-img-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block
}

.abt .tm-card.featured .tm-img-wrap img {
    height: 340px
}

.abt .tm-img-skel {
    position: absolute;
    inset: 0;
    background: #1e2428
}

.abt .tm-info {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt .tm-name {
    font-size: 18px;
    line-height: 1.2;
    color: #E4ECEF
}

.abt .tm-role {
    font-size: 16px;
    color: #96CEDA;
    opacity: .85
}

.abt .tm-bio {
    font-size: 16px;
    line-height: 1.6;
    color: #9ab0ba;
    margin-top: 8px
}

.abt .tm-strips {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 8px;
    overflow: hidden
}

.abt .tm-strip-item {
    flex: 1;
    height: 3px;
    border-radius: 4px;
    background: #377cb438;
    position: relative;
    overflow: hidden
}

.abt .tm-strip-item::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #377CB4, #96CEDA);
    transition: width .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .tm-strip-item.s1::after {
    width: 85%
}

.abt .tm-strip-item.s2::after {
    width: 70%
}

.abt .tm-strip-item.s3::after {
    width: 60%
}

.abt .vis-link-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 48px
}

.abt .vis-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 24px 48px;
    background: #377cb41f;
    border: 1px solid #377cb44d;
    border-radius: 22px;
    color: #96CEDA;
    font-size: 18px;
    text-decoration: none;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 3px 4px 1px #377cb412
}

.abt .vis-link:hover {
    background: #377cb438;
    transform: translateY(-3px);
    box-shadow: 0 7px 18px 1px #377cb41c
}

.abt .vis-link svg {
    width: 18px;
    height: 18px;
    stroke: #96CEDA;
    fill: none
}

@media (max-width: 1100px) {
    .abt .ttl-zone {
        padding: 48px 48px 96px
    }

    .abt .mid-sec {
        padding: 96px 48px 48px
    }

    .abt .mid-grid {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .abt .team-sec {
        padding: 96px 48px
    }

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

    .abt .tm-card.featured {
        grid-row: auto
    }
}

@media (max-width: 720px) {
    .abt .ttl-zone {
        padding: 24px 24px 96px
    }

    .abt .ttl-h1 {
        font-size: 40px
    }

    .abt .ttl-meta {
        flex-direction: column;
        gap: 24px
    }

    .abt .mid-sec {
        padding: 48px 24px
    }

    .abt .team-sec {
        padding: 48px 24px
    }

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

    .abt .rank-row {
        flex-wrap: wrap
    }
}

.ct-us {
    background: #18201f;
    min-height: 100vh;
    padding: 0;
    overflow: hidden
}

.ct-us .pg-band {
    max-width: 1600px;
    margin: 0 auto;
    padding: 48px 48px 0
}

.ct-us .ttl-strip {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
    padding: 48px 0;
    position: relative
}

.ct-us .ttl-strip::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    border-bottom: 1px dashed #96ceda38
}

.ct-us .ttl-left {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.ct-us .dot-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(#377cb42e 1px, transparent 1px);
    background-size: 18px 18px;
    border-radius: 7px;
    pointer-events: none
}

.ct-us .ttl-label {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 8px;
    position: relative;
    z-index: 1
}

.ct-us .ttl-h1 {
    font-size: 56px;
    line-height: 1.2;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 24px;
    position: relative;
    z-index: 1
}

.ct-us .ttl-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #e4ecefb8;
    margin: 0;
    position: relative;
    z-index: 1
}

.ct-us .ttl-right {
    flex: 0 0 70%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.ct-us .contact-facts {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1
}

.ct-us .fact-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px
}

.ct-us .fact-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.ct-us .fact-icon svg {
    width: 22px;
    height: 22px;
    stroke: #377CB4;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ct-us .fact-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ct-us .fact-lbl {
    font-size: 16px;
    line-height: 1.2;
    color: #96ceda99;
    text-transform: uppercase;
    letter-spacing: .1em
}

.ct-us .fact-val {
    font-size: 18px;
    line-height: 1.6;
    color: #E4ECEF
}

.ct-us .fact-val a {
    color: #96CEDA;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .fact-val a:hover {
    color: #E4ECEF
}

.ct-us .arr-deco {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: .28
}

.ct-us .arr-deco svg {
    width: 18px;
    height: 48px;
    stroke: #96CEDA;
    fill: none;
    stroke-width: 1.5
}

.ct-us .form-sec {
    max-width: 1600px;
    margin: 0 auto;
    padding: 48px 48px 96px;
    display: grid;
    grid-template-columns: 30fr 70fr;
    gap: 48px;
    align-items: start
}

.ct-us .form-aside {
    position: sticky;
    top: 48px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct-us .aside-h {
    font-size: 22px;
    line-height: 1.6;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0
}

.ct-us .aside-p {
    font-size: 16px;
    line-height: 1.9;
    color: #e4ecefa6;
    margin: 0
}

.ct-us .aside-p .kw {
    background: #377cb447;
    color: #96CEDA;
    padding: 0 8px;
    border-radius: 4px
}

.ct-us .stat-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: #377cb414;
    border-radius: 13px;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.ct-us .stat-num {
    font-size: 40px;
    line-height: 1.2;
    color: #377CB4
}

.ct-us .stat-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef8c
}

.ct-us .form-wrap {
    background: #e4ecef0a;
    border-radius: 22px;
    padding: 48px;
    box-shadow: 0 10px 60px 1px #377cb424;
    position: relative;
    overflow: hidden
}

.ct-us .form-wrap::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle at 60% 40%, #377cb421, transparent 70%);
    pointer-events: none;
    border-radius: 36px
}

.ct-us .circ-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .04;
    background-image: linear-gradient(#96ceda80 1px, transparent 1px), linear-gradient(90deg, #96ceda80 1px, transparent 1px), radial-gradient(circle, #377cb4cc 1px, transparent 1px);
    background-size: 32px 32px, 32px 32px, 16px 16px;
    border-radius: 22px
}

.ct-us .form-h {
    font-size: 22px;
    line-height: 1.6;
    color: #E4ECEF;
    margin: 0 0 8px;
    text-align: center
}

.ct-us .form-sub {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef80;
    margin: 0 0 48px;
    text-align: center
}

.ct-us .cform {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 1
}

.ct-us .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.ct-us .fld {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ct-us .fld lbl,
.ct-us .fld label {
    font-size: 16px;
    line-height: 1.2;
    color: #96cedacc;
    letter-spacing: .04em
}

.ct-us .fld input,
.ct-us .fld select,
.ct-us .fld textarea {
    background: #18201fe6;
    border: 1px solid #377cb44d;
    border-radius: 7px;
    padding: 8px 24px;
    color: #E4ECEF;
    font-size: 16px;
    line-height: 1.6;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: inset 0 2px 6px #377cb412;
    outline: none;
    width: 100%;
    box-sizing: border-box
}

.ct-us .fld input::placeholder,
.ct-us .fld textarea::placeholder {
    color: #e4ecef47
}

.ct-us .fld input:focus,
.ct-us .fld select:focus,
.ct-us .fld textarea:focus {
    border-color: #377CB4;
    box-shadow: inset 0 2px 6px #377cb41f 0 3px 4px 1px #377cb412
}

.ct-us .fld select {
    appearance: none;
    cursor: pointer;
    padding-right: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2396CEDA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center
}

.ct-us .fld select option {
    background: #18201f;
    color: #E4ECEF
}

.ct-us .fld textarea {
    resize: vertical;
    min-height: 96px
}

.ct-us .rating-grp {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ct-us .rating-lbl {
    font-size: 16px;
    line-height: 1.2;
    color: #96cedacc
}

.ct-us .rating-opts {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.ct-us .rating-opts input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.ct-us .rating-opts label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 7px;
    border: 1px solid #377cb44d;
    background: #18201fe6;
    color: #e4ecef8c;
    font-size: 18px;
    line-height: 1.2;
    cursor: pointer;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .rating-opts label:hover {
    background: #377cb42e;
    border-color: #377CB4;
    color: #E4ECEF;
    transform: translateY(-2px)
}

.ct-us .rating-opts input[type="radio"]:checked+label {
    background: #377cb459;
    border-color: #96CEDA;
    color: #E4ECEF;
    box-shadow: 0 3px 4px 1px #377cb412
}

.ct-us .rating-note {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef59
}

.ct-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.ct-us .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 3px;
    accent-color: #377CB4;
    cursor: pointer
}

.ct-us .privacy-row label {
    font-size: 16px;
    line-height: 1.6;
    color: #e4ecef8c;
    cursor: pointer
}

.ct-us .privacy-row label a {
    color: #96CEDA;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .privacy-row label a:hover {
    color: #E4ECEF
}

.ct-us .submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px 48px;
    background: #377CB4;
    color: #E4ECEF;
    font-size: 18px;
    line-height: 1.2;
    border: none;
    border-radius: 13px;
    cursor: pointer;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 7px 18px 1px #377cb41c;
    align-self: flex-start
}

.ct-us .submit-btn:hover {
    background: #2d6a9a;
    transform: translateY(-2px);
    box-shadow: 0 10px 60px 1px #377cb424
}

.ct-us .submit-btn:active {
    transform: translateY(0)
}

.ct-us .submit-btn:focus-visible {
    outline: 2px solid #96CEDA;
    outline-offset: 3px
}

@keyframes ct-shake {
    0% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-5px)
    }

    40% {
        transform: translateX(5px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(3px)
    }

    100% {
        transform: translateX(0)
    }
}

.ct-us .submit-btn:invalid-feedback {
    animation: ct-shake .26s cubic-bezier(0.4, 0, 0.2, 1)
}

@keyframes ct-elastic {
    0% {
        opacity: 0;
        transform: scale(0.92)
    }

    60% {
        opacity: 1;
        transform: scale(1.03)
    }

    80% {
        transform: scale(0.98)
    }

    100% {
        transform: scale(1)
    }
}

.ct-us .form-wrap {
    animation: ct-elastic .28s cubic-bezier(0.4, 0, 0.2, 1) both
}

.ct-us .ttl-strip {
    animation: ct-elastic .24s cubic-bezier(0.4, 0, 0.2, 1) both
}

@media (max-width: 1024px) {
    .ct-us .form-sec {
        grid-template-columns: 1fr;
        padding: 48px 24px 96px
    }

    .ct-us .form-aside {
        position: static
    }

    .ct-us .pg-band {
        padding: 48px 24px 0
    }

    .ct-us .ttl-strip {
        flex-direction: column;
        gap: 24px
    }

    .ct-us .ttl-left,
    .ct-us .ttl-right {
        flex: none;
        width: 100%
    }
}

@media (max-width: 640px) {
    .ct-us .ttl-h1 {
        font-size: 40px
    }

    .ct-us .field-row {
        grid-template-columns: 1fr
    }

    .ct-us .form-wrap {
        padding: 24px
    }

    .ct-us .pg-band {
        padding: 24px 24px 0
    }

    .ct-us .form-sec {
        padding: 24px 24px 96px
    }

    .ct-us .ttl-right {
        flex-direction: column;
        gap: 24px
    }
}

.ok_pg {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 24px;
    background: #18201f;
    overflow: hidden;
    position: relative
}

.ok_pg::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 420px;
    height: 420px;
    background: linear-gradient(157deg, #377cb421, transparent);
    border-radius: 36px;
    pointer-events: none
}

.ok_pg::after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 320px;
    height: 320px;
    background: linear-gradient(157deg, #96ceda17, transparent);
    border-radius: 36px;
    pointer-events: none
}

.ok_wrap {
    max-width: 640px;
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 1
}

.ok_mark {
    width: 72px;
    height: 72px;
    margin: 0 auto 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(157deg, #377cb42e, #96ceda14);
    border-radius: 22px;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.ok_mark svg {
    width: 36px;
    height: 36px;
    display: block
}

.ok_head {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    background: linear-gradient(157deg, #E4ECEF, #96CEDA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 24px;
    letter-spacing: -.01em
}

.ok_sub {
    font-size: 18px;
    line-height: 1.6;
    color: #b8cdd4;
    margin: 0 0 48px;
    padding: 0 8px
}

.ok_div {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #377CB4, #96CEDA);
    border-radius: 4px;
    margin: 0 auto 48px
}

.ok_detail {
    background: #377cb412;
    border: 1px solid #96ceda21;
    border-radius: 13px;
    padding: 24px;
    margin: 0 0 48px;
    text-align: left;
    box-shadow: 0 3px 4px 1px #377cb412
}

.ok_detail p {
    font-size: 16px;
    line-height: 1.6;
    color: #96CEDA;
    margin: 0
}

.ok_detail p+p {
    margin-top: 8px;
    color: #7fa8b8
}

.ok_actions {
    display: flex;
    flex-direction: row;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap
}

.ok_btn {
    display: inline-block;
    font-size: 16px;
    line-height: 1.2;
    padding: 16px 32px;
    border-radius: 7px;
    text-decoration: none;
    font-weight: 600;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
    outline: none
}

.ok_btn:focus-visible {
    outline: 2px solid #96CEDA;
    outline-offset: 3px
}

.ok_btn.prim {
    background: #377CB4;
    color: #E4ECEF;
    box-shadow: 0 7px 18px 1px #377cb41c
}

.ok_btn.prim:hover {
    background: #96CEDA;
    color: #18201f;
    transform: translateY(-2px);
    box-shadow: 0 10px 60px 1px #377cb424
}

.ok_btn.prim:active {
    transform: translateY(0)
}

.ok_btn.sec {
    background: transparent;
    color: #96CEDA;
    border: 1px solid #96ceda4d;
    box-shadow: 0 3px 4px 1px #96ceda12
}

.ok_btn.sec:hover {
    background: #96ceda14;
    color: #E4ECEF;
    transform: translateY(-2px);
    border-color: #96ceda80
}

.ok_btn.sec:active {
    transform: translateY(0)
}

@media (max-width: 480px) {
    .ok_pg {
        padding: 48px 24px
    }

    .ok_head {
        font-size: 40px
    }

    .ok_actions {
        flex-direction: column;
        gap: 8px
    }

    .ok_btn {
        width: 100%;
        text-align: center
    }
}