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

html {
    font-family: 'JetBrains Mono', monospace;
    font-size: 17px;
    line-height: 1.5;
    color: #000A34;
    background-color: #FCFDFF
}

body {
    margin: 0
}

.sitehead {
    background-color: #000A34;
    position: relative;
    overflow: hidden
}

.sitehead::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #000A34 60%, #001a5e 100%);
    pointer-events: none
}

.utilstrip {
    border-bottom: 1px solid #00d1e82e;
    position: relative;
    z-index: 2
}

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

.brandmark {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none
}

.brandmark-imgbox {
    width: 40px;
    height: 40px;
    padding: 4px;
    border-radius: 5px;
    background-color: #FCFDFF;
    box-shadow: -1px 3px 3px -2px #00d1e814 -1px 6px 18px -2px #00d1e81a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.brandmark-imgbox img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block
}

.brandmark-name {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    color: #FCFDFF;
    letter-spacing: 0
}

.utilcontact {
    display: flex;
    align-items: center;
    gap: 32px
}

.utilcontact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #fcfdffbf;
    font-size: 13px;
    line-height: 1.2;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.utilcontact-item:hover,
.utilcontact-item:focus {
    color: #00D1E8
}

.utilcontact-item:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e88c;
    border-radius: 5px
}

.utilcontact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    fill: currentColor
}

.navstrip {
    position: relative;
    z-index: 2
}

.navstrip-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: stretch
}

.primarnav {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
    flex-wrap: wrap
}

.primarnav-item {
    display: flex;
    align-items: stretch
}

.primarnav-link {
    display: flex;
    align-items: center;
    padding: 16px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #fcfdffa6;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color .45s ease-in-out, border-color .55s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
    min-height: 44px
}

.primarnav-link:hover,
.primarnav-link:focus {
    color: #00D1E8;
    border-bottom-color: #00D1E8
}

.primarnav-link:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px #00d1e873;
    border-radius: 5px 5px 0 0
}

.primarnav-link.active {
    color: #00D1E8;
    border-bottom-color: #00D1E8
}

.sitefooter {
    background-color: #000A34;
    position: relative
}

.sitefooter::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00D1E8, transparent);
    pointer-events: none
}

.sitefooter-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 48px 48px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.footerbrand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.footerbrand-imgbox {
    width: 40px;
    height: 40px;
    padding: 4px;
    border-radius: 5px;
    background-color: #FCFDFF;
    box-shadow: -1px 3px 3px -2px #00d1e814 -1px 6px 18px -2px #00d1e81a;
    display: flex;
    align-items: center;
    justify-content: center
}

.footerbrand-imgbox img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block
}

.footerbrand-name {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    color: #FCFDFF;
    text-align: center
}

.footernav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0
}

.footernav-item {
    display: flex;
    align-items: center
}

.footernav-item+.footernav-item::before {
    content: '';
    display: inline-block;
    width: 1px;
    height: 14px;
    background-color: #00d1e859;
    margin: 0 16px;
    flex-shrink: 0
}

.footernav-link {
    font-size: 13px;
    line-height: 1.2;
    color: #fcfdff99;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 8px 4px;
    min-height: 44px;
    display: flex;
    align-items: center
}

.footernav-link:hover,
.footernav-link:focus {
    color: #00D1E8
}

.footernav-link:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e880;
    border-radius: 5px
}

.footercontact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 32px
}

.footercontact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #fcfdff99;
    font-size: 13px;
    line-height: 1.5;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footercontact-item:hover,
.footercontact-item:focus {
    color: #00D1E8
}

.footercontact-item:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e880;
    border-radius: 5px
}

.footercontact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    fill: currentColor
}

.footeraddr {
    font-size: 13px;
    line-height: 1.5;
    color: #fcfdff73;
    text-align: center;
    margin: 0
}

.footerdivider {
    width: 100%;
    height: 1px;
    background-color: #00d1e81f;
    border: none;
    margin: 0
}

.footercopy {
    font-size: 13px;
    line-height: 1.2;
    color: #fcfdff59;
    text-align: center;
    margin: 0
}

.cookiepop {
    position: fixed;
    bottom: 32px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 360px;
    background-color: #FCFDFF;
    border-radius: 10px;
    box-shadow: -1px 6px 18px -2px #000a341a -1px 10px 52px -2px #000a3421;
    z-index: 1200;
    display: none;
    overflow: hidden;
    border-top: 3px solid #00D1E8
}

.cookiepop.visible {
    display: block
}

.cookiepop.sliding {
    animation: slideFromLeft .26s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.cookiepop.closing {
    animation: slideToLeft .26s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

@keyframes slideFromLeft {
    from {
        transform: translateX(-110%);
        opacity: 0
    }

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

@keyframes slideToLeft {
    from {
        transform: translateX(0);
        opacity: 1
    }

    to {
        transform: translateX(-110%);
        opacity: 0
    }
}

.cookiepop-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.cookiepop-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background-color: #00d1e81f;
    flex-shrink: 0
}

.cookiepop-icon svg {
    width: 20px;
    height: 20px;
    fill: #000A34
}

.cookiepop-text {
    font-size: 13px;
    line-height: 1.5;
    color: #000A34;
    margin: 0
}

.cookiepop-text strong {
    font-weight: 700
}

.cookiepop-panel {
    background-color: #000a340a;
    border-radius: 5px;
    padding: 12px;
    display: none;
    flex-direction: column;
    gap: 8px
}

.cookiepop-panel.open {
    display: flex
}

.cookiepop-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.cookiepop-togglelabel {
    font-size: 13px;
    line-height: 1.5;
    color: #000A34;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none
}

.cookiepop-togglelabel input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #00D1E8;
    cursor: pointer;
    flex-shrink: 0
}

.cookiepop-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.cookiepop-btn {
    flex: 1;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 5px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
    background-color: transparent
}

.cookiepop-btn.accept {
    border: 2px solid #000A34;
    color: #000A34
}

.cookiepop-btn.accept:hover,
.cookiepop-btn.accept:focus {
    border-color: #00D1E8;
    color: #00D1E8
}

.cookiepop-btn.accept:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e866
}

.cookiepop-btn.decline {
    border: 2px solid #000a344d;
    color: #000a3499
}

.cookiepop-btn.decline:hover,
.cookiepop-btn.decline:focus {
    border-color: #000A34;
    color: #000A34
}

.cookiepop-btn.decline:focus {
    outline: none;
    box-shadow: 0 0 0 2px #000a3433
}

.cookiepop-btn.settings {
    border: 2px solid #000a3433;
    color: #000a3480;
    flex: 0 0 auto;
    min-width: 44px;
    padding: 8px
}

.cookiepop-btn.settings:hover,
.cookiepop-btn.settings:focus {
    border-color: #00D1E8;
    color: #00D1E8
}

.cookiepop-btn.settings:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e866
}

.cookiepop-btn.settings svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    display: block
}

.minibanner {
    position: fixed;
    bottom: 0;
    left: 32px;
    z-index: 1199;
    display: none
}

.minibanner.visible {
    display: block
}

.minibanner-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background-color: #000A34;
    color: #00D1E8;
    border: none;
    border-radius: 10px 10px 0 0;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    min-height: 44px;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.minibanner-btn:hover,
.minibanner-btn:focus {
    background-color: #001a5e
}

.minibanner-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px #00d1e880
}

.minibanner-btn svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    flex-shrink: 0
}

@media (max-width: 900px) {
    .utilstrip-inner {
        padding: 8px 16px;
        flex-wrap: wrap;
        gap: 8px
    }

    .navstrip-inner {
        padding: 0 16px
    }

    .utilcontact {
        gap: 16px;
        flex-wrap: wrap
    }

    .sitefooter-inner {
        padding: 32px 16px
    }

    .cookiepop {
        width: calc(100% - 32px);
        bottom: 16px
    }
}

@media (max-width: 600px) {
    .utilcontact-item.addr {
        display: none
    }

    .footercontact {
        flex-direction: column;
        align-items: center
    }
}

.policy-main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 48px 32px;
    color: #000A34
}

.policy-main h1 {
    font-size: 50px;
    line-height: 1.2;
    margin-bottom: 32px;
    margin-top: 0
}

.policy-main h2 {
    font-size: 28px;
    line-height: 1.2;
    margin-top: 48px;
    margin-bottom: 16px
}

.policy-main h3 {
    font-size: 21px;
    line-height: 1.5;
    margin-top: 32px;
    margin-bottom: 12px
}

.policy-main h4,
.policy-main h5,
.policy-main h6 {
    font-size: 17px;
    line-height: 1.5;
    margin-top: 32px;
    margin-bottom: 8px
}

.policy-main p {
    font-size: 17px;
    line-height: 1.75;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 80ch
}

.policy-main ul,
.policy-main ol {
    font-size: 17px;
    line-height: 1.75;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px
}

.policy-main li {
    margin-bottom: 8px
}

.policy-main li:last-child {
    margin-bottom: 0
}

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

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

.policy-main a {
    color: #000A34;
    text-decoration: underline;
    text-decoration-color: #00D1E8;
    text-underline-offset: 3px;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), text-decoration-color .6s ease-in-out
}

.policy-main a:hover {
    color: #00D1E8;
    text-decoration-color: #00D1E8
}

.policy-main hr {
    border: none;
    border-top: 1.5px solid #00D1E8;
    margin-top: 48px;
    margin-bottom: 48px;
    opacity: .35
}

.policy-main div {
    font-size: 17px;
    line-height: 1.75
}

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

    .policy-main h1 {
        font-size: 28px
    }

    .policy-main h2 {
        font-size: 21px
    }

    .policy-main h3 {
        font-size: 17px
    }

    .policy-main h4,
    .policy-main h5,
    .policy-main h6 {
        font-size: 13px
    }

    .policy-main p,
    .policy-main ul,
    .policy-main ol,
    .policy-main div {
        font-size: 13px
    }
}

.contus {
    background: #FCFDFF;
    overflow-x: clip
}

.contus .pgwrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 32px
}

.contus .reach {
    padding: 80px 0 48px;
    background: #FCFDFF;
    position: relative
}

.contus .reach::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #00D1E8 40%, #000A34 70%, transparent);
    opacity: .18
}

.contus .reach .pgwrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px
}

.contus .reachleft {
    flex: 0 0 420px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 48px 0
}

.contus .reachright {
    flex: 1 1 0;
    position: relative;
    min-height: 480px;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: -1px 10px 52px -2px #000a3421
}

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

.contus .reachright .imgvign {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 60%, transparent 40%, #000a3473 100%);
    pointer-events: none
}

.contus .reachright .imgband {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #00D1E8 0%, #000A34 100%);
    border-radius: 5px 0 0 5px
}

.contus .reachlabel {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #00D1E8;
    font-weight: 700;
    line-height: 1.2
}

.contus .reachtitle {
    font-size: 50px;
    font-weight: 800;
    color: #000A34;
    line-height: 1.2;
    margin: 0
}

.contus .reachtitle .outlined {
    -webkit-text-stroke: 2px #000A34;
    color: transparent
}

.contus .reachtitle .underanim {
    position: relative;
    display: inline-block
}

.contus .reachtitle .underanim::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 3px;
    background: #00D1E8;
    border-radius: 5px;
    transform: scaleX(0);
    transform-origin: left;
    animation: drawline .6s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards
}

@keyframes drawline {
    to {
        transform: scaleX(1)
    }
}

.contus .reachdesc {
    font-size: 17px;
    color: #000A34;
    line-height: 1.75;
    margin: 0;
    max-width: 360px
}

.contus .reachdesc.narrow {
    max-width: 260px;
    font-size: 13px;
    line-height: 1.5;
    opacity: .72
}

.contus .contactitems {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.contus .citem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px
}

.contus .citem .cicn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, #e8f9fc 0%, #d0f4f9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 3px 3px -2px #00d1e814
}

.contus .citem .cicn svg {
    width: 16px;
    height: 16px
}

.contus .citem .ctext {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.contus .citem .ctext span {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.2
}

.contus .citem .ctext a,
.contus .citem .ctext p {
    font-size: 17px;
    color: #000A34;
    line-height: 1.5;
    margin: 0;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.contus .citem .ctext a:hover {
    color: #00D1E8
}

.contus .decurl {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 80px;
    height: 80px;
    opacity: .07;
    pointer-events: none
}

.contus .formblock {
    padding: 64px 0 96px;
    background: linear-gradient(158deg, #eaf9fc 0%, #f0f4ff 55%, #fdfeff 100%);
    position: relative;
    overflow: hidden
}

.contus .formblock .pgwrap {
    position: relative;
    z-index: 1
}

.contus .formblock .decurlb {
    position: absolute;
    bottom: 40px;
    right: 60px;
    width: 120px;
    height: 120px;
    opacity: .06;
    pointer-events: none
}

.contus .formlayout {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 48px;
    align-items: start
}

.contus .formmeta {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 16px;
    position: relative
}

.contus .formmeta::after {
    content: '';
    position: absolute;
    right: -24px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, #00D1E8 30%, #000A34 70%, transparent);
    opacity: .15
}

.contus .formmetatitle {
    font-size: 28px;
    font-weight: 800;
    color: #000A34;
    line-height: 1.2;
    margin: 0;
    position: relative;
    display: inline-block
}

.contus .formmetatitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 40px;
    height: 3px;
    background: #00D1E8;
    border-radius: 5px;
    animation: drawline .55s cubic-bezier(0.22, 1, 0.36, 1) .7s both
}

.contus .formmetadesc {
    font-size: 17px;
    color: #000A34;
    line-height: 1.75;
    margin: 0;
    opacity: .82
}

.contus .formmetadesc.short {
    font-size: 13px;
    line-height: 1.5;
    max-width: 280px;
    opacity: .6
}

.contus .slots {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px
}

.contus .slots .slottitle {
    font-size: 13px;
    color: #000A34;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.2;
    opacity: .7
}

.contus .slotgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 4px
}

.contus .slotgrid input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none
}

.contus .slotgrid label {
    display: block;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1.5px solid #000a3424;
    font-size: 13px;
    color: #000A34;
    cursor: pointer;
    text-align: center;
    line-height: 1.5;
    background: #ffffffb3;
    transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

.contus .slotgrid label:hover {
    border-color: #00D1E8;
    background: #00d1e812;
    box-shadow: -1px 6px 18px -2px #00d1e81a
}

.contus .slotgrid input[type="radio"]:checked+label {
    border-color: #000A34;
    background: #000a340f;
    font-weight: 700;
    box-shadow: -1px 3px 3px -2px #000a3414
}

.contus .slotgrid input[type="radio"]:focus-visible+label {
    outline: 2px solid #00D1E8;
    outline-offset: 2px
}

.contus .contactform {
    background: #FCFDFF;
    border-radius: 26px;
    padding: 48px;
    box-shadow: -1px 10px 52px -2px #000a3421;
    display: flex;
    flex-direction: column;
    gap: 24px;
    clip-path: inset(0 0 0 0 round 26px);
    animation: clipreveal .65s cubic-bezier(0.22, 1, 0.36, 1) .2s both
}

@keyframes clipreveal {
    from {
        clip-path: inset(0 0 100% 0 round 26px)
    }

    to {
        clip-path: inset(0 0 0 0 round 26px)
    }
}

.contus .frow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.contus .frow.full {
    grid-template-columns: 1fr
}

.contus .fgroup {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative
}

.contus .fgroup input,
.contus .fgroup select,
.contus .fgroup textarea {
    width: 100%;
    padding: 20px 16px 8px;
    border: 1.5px solid #000a3426;
    border-radius: 10px;
    font-size: 17px;
    color: #000A34;
    background: #fcfdffe6;
    outline: none;
    transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: inset 0 1px 2px #000a340a;
    line-height: 1.5;
    appearance: none;
    -webkit-appearance: none
}

.contus .fgroup select {
    padding: 14px 40px 14px 16px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000A34' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center
}

.contus .fgroup textarea {
    min-height: 100px;
    resize: vertical;
    padding-top: 24px
}

.contus .fgroup input:focus,
.contus .fgroup select:focus,
.contus .fgroup textarea:focus {
    border-color: #00D1E8;
    box-shadow: inset 0 1px 2px #000a340a -1px 6px 18px -2px #00d1e81a
}

.contus .fgroup label.flabel {
    position: absolute;
    top: 14px;
    left: 16px;
    font-size: 17px;
    color: #000a3480;
    pointer-events: none;
    transition: top .45s cubic-bezier(0.22, 1, 0.36, 1), font-size .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
    line-height: 1.2
}

.contus .fgroup input:focus+label.flabel,
.contus .fgroup input:not(:placeholder-shown)+label.flabel,
.contus .fgroup textarea:focus+label.flabel,
.contus .fgroup textarea:not(:placeholder-shown)+label.flabel {
    top: 6px;
    font-size: 13px;
    color: #00D1E8
}

.contus .fgroup select+label.flabel {
    top: 6px;
    font-size: 13px;
    color: #00D1E8
}

.contus .fgroup input::placeholder,
.contus .fgroup textarea::placeholder {
    color: transparent
}

.contus .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 10px;
    background: #000a3408;
    border: 1px solid #000a3412
}

.contus .privacyrow input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #000A34;
    cursor: pointer
}

.contus .privacyrow label {
    font-size: 13px;
    color: #000A34;
    line-height: 1.5;
    opacity: .75;
    cursor: pointer
}

.contus .privacyrow label a {
    color: #000A34;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.contus .privacyrow label a:hover {
    color: #00D1E8
}

.contus .submitbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 48px;
    background: #000A34;
    color: #FCFDFF;
    font-size: 17px;
    font-weight: 700;
    border: 2px solid #000A34;
    border-radius: 26px;
    cursor: pointer;
    line-height: 1.2;
    align-self: flex-start;
    transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), color .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: -1px 6px 18px -2px #000a341a
}

.contus .submitbtn:hover {
    border-color: #00D1E8;
    box-shadow: -1px 10px 52px -2px #000a3421
}

.contus .submitbtn:focus-visible {
    outline: 2px solid #00D1E8;
    outline-offset: 3px
}

.contus .submitbtn:active {
    box-shadow: -1px 3px 3px -2px #000a3414
}

.contus .svgdivider {
    display: block;
    width: 100%;
    height: 32px;
    overflow: hidden;
    line-height: 0
}

.contus .svgdivider svg {
    width: 100%;
    height: 32px;
    display: block
}

@media (max-width: 1024px) {
    .contus .reach .pgwrap {
        flex-direction: column
    }

    .contus .reachleft {
        flex: none;
        padding: 32px 0 0
    }

    .contus .reachright {
        min-height: 320px
    }

    .contus .formlayout {
        grid-template-columns: 1fr
    }

    .contus .formmeta::after {
        display: none
    }
}

@media (max-width: 680px) {
    .contus .reachtitle {
        font-size: 28px
    }

    .contus .frow {
        grid-template-columns: 1fr
    }

    .contus .contactform {
        padding: 32px 16px
    }

    .contus .slotgrid {
        grid-template-columns: 1fr
    }

    .contus .submitbtn {
        width: 100%
    }

    .contus .reach {
        padding: 48px 0 32px
    }

    .contus .formblock {
        padding: 48px 0 64px
    }
}

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

.aboutUs .fadeIn {
    opacity: 0;
    animation: auFadeIn .7s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.aboutUs .fadeIn:nth-child(1) {
    animation-delay: .1s
}

.aboutUs .fadeIn:nth-child(2) {
    animation-delay: .25s
}

.aboutUs .fadeIn:nth-child(3) {
    animation-delay: .4s
}

.aboutUs .fadeIn:nth-child(4) {
    animation-delay: .55s
}

@keyframes auFadeIn {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

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

.aboutUs .rotGeo {
    position: absolute;
    width: 380px;
    height: 380px;
    border: 2px solid #00d1e81a;
    border-radius: 40px;
    animation: auRotate 18s linear infinite;
    pointer-events: none;
    top: -80px;
    right: -100px;
    z-index: 0
}

.aboutUs .rotGeo.small {
    width: 180px;
    height: 180px;
    top: auto;
    bottom: 40px;
    right: 60px;
    animation-duration: 26s;
    animation-direction: reverse;
    border-color: #000a3412
}

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

    to {
        transform: rotate(360deg)
    }
}

.aboutUs .splitPanel {
    display: flex;
    flex-direction: row;
    min-height: 520px;
    position: relative;
    background: linear-gradient(108deg, #e8f9fc 0%, #FCFDFF 60%);
    overflow: hidden
}

.aboutUs .splitPanel .leftCol {
    flex: 0 0 60%;
    padding: 64px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1
}

.aboutUs .splitPanel .rightCol {
    flex: 0 0 40%;
    position: relative;
    display: flex;
    align-items: stretch
}

.aboutUs .splitPanel .imgClip {
    width: 100%;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
    clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.aboutUs .splitPanel .imgClip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: blur(0px)
}

.aboutUs .splitPanel .eyebrow {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #00D1E8;
    font-weight: 700;
    margin-bottom: 16px;
    display: block
}

.aboutUs .splitPanel .mainStmt {
    font-size: 50px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 800;
    margin-bottom: 32px;
    max-width: 560px
}

.aboutUs .splitPanel .mainStmt em {
    font-style: italic;
    color: #00D1E8
}

.aboutUs .splitPanel .subText {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    max-width: 480px;
    margin-bottom: 32px
}

.aboutUs .splitPanel .flowArrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-top: 8px
}

.aboutUs .splitPanel .flowDot {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: #00D1E8;
    flex-shrink: 0
}

.aboutUs .splitPanel .flowLine {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, #00D1E8 0%, #00d1e814 100%);
    max-width: 120px
}

.aboutUs .splitPanel .flowEnd {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 9px solid #00d1e859
}

.aboutUs .waveDiv {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.aboutUs .waveDiv svg {
    display: block;
    width: 100%
}

.aboutUs .teamSection {
    background: #FCFDFF;
    padding: 64px 48px;
    position: relative
}

.aboutUs .teamSection .sectionLabel {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #00D1E8;
    font-weight: 700;
    margin-bottom: 8px;
    display: block
}

.aboutUs .teamSection .sectionHead {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin-bottom: 48px;
    max-width: 600px;
    position: relative;
    display: inline-block
}

.aboutUs .teamSection .sectionHead::after {
    content: '';
    display: block;
    height: 3px;
    width: 0;
    background: #00D1E8;
    border-radius: 5px;
    margin-top: 8px;
    animation: auUnderline .6s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

@keyframes auUnderline {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.aboutUs .teamSection .threeCol {
    display: grid;
    grid-template-columns: 1fr 0.8fr 1fr;
    gap: 32px;
    margin-bottom: 48px
}

.aboutUs .teamSection .personCard {
    background: #fff;
    border-radius: 10px;
    padding: 32px 24px;
    box-shadow: -1px 6px 18px -2px #000a341a;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.aboutUs .teamSection .personCard:hover {
    box-shadow: -1px 10px 52px -2px #000a3421
}

.aboutUs .teamSection .personCard.shorter {
    padding-top: 24px;
    padding-bottom: 24px
}

.aboutUs .teamSection .portrait {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px;
    flex-shrink: 0;
    box-shadow: -1px 3px 3px -2px #00d1e814
}

.aboutUs .teamSection .portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.aboutUs .teamSection .personName {
    font-size: 17px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.2;
    margin-bottom: 4px
}

.aboutUs .teamSection .personRole {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 600;
    margin-bottom: 12px;
    letter-spacing: .06em;
    text-transform: uppercase
}

.aboutUs .teamSection .personBio {
    font-size: 13px;
    line-height: 1.75;
    color: #3a4060
}

.aboutUs .teamSection .noPortrait {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e8f9fc 0%, #c8f0f6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    flex-shrink: 0
}

.aboutUs .teamSection .noPortrait svg {
    width: 40px;
    height: 40px;
    opacity: .5
}

.aboutUs .teamSection .stepsBlock {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    margin-top: 16px
}

.aboutUs .teamSection .stepsText {
    flex: 0 0 38%
}

.aboutUs .teamSection .stepsText .stepsHead {
    font-size: 21px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.2;
    margin-bottom: 16px
}

.aboutUs .teamSection .stepsText p {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    margin-bottom: 16px
}

.aboutUs .teamSection .stepsText p.narrow {
    max-width: 320px;
    font-size: 13px;
    color: #3a4060
}

.aboutUs .teamSection .stepsList {
    flex: 1;
    position: relative;
    padding-left: 32px
}

.aboutUs .teamSection .stepsList::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, #00D1E8 0%, #00d1e826 100%);
    border-radius: 5px
}

.aboutUs .teamSection .stepItem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
    position: relative
}

.aboutUs .teamSection .stepItem:last-child {
    margin-bottom: 0
}

.aboutUs .teamSection .stepNum {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #000A34;
    color: #FCFDFF;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: absolute;
    left: -44px;
    top: 0;
    box-shadow: -1px 3px 3px -2px #000a3414
}

.aboutUs .teamSection .stepBody {
    padding-left: 4px
}

.aboutUs .teamSection .stepTitle {
    font-size: 17px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.2;
    margin-bottom: 4px
}

.aboutUs .teamSection .stepDesc {
    font-size: 13px;
    line-height: 1.75;
    color: #3a4060
}

.aboutUs .teamSection .miniCard {
    background: #000A34;
    border-radius: 10px;
    padding: 24px 32px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    margin-top: 48px;
    box-shadow: -1px 10px 52px -2px #000a3421
}

.aboutUs .teamSection .miniCard .miniImg {
    width: 140px;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0
}

.aboutUs .teamSection .miniCard .miniImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.85)
}

.aboutUs .teamSection .miniCard .miniText {
    flex: 1
}

.aboutUs .teamSection .miniCard .miniLabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block
}

.aboutUs .teamSection .miniCard .miniHead {
    font-size: 21px;
    font-weight: 700;
    color: #FCFDFF;
    line-height: 1.2;
    margin-bottom: 8px
}

.aboutUs .teamSection .miniCard .miniDesc {
    font-size: 13px;
    line-height: 1.5;
    color: #fcfdffbf
}

.aboutUs .teamSection .miniCard .miniAction {
    flex-shrink: 0
}

.aboutUs .teamSection .miniCard .miniAction a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 26px;
    border: 2px solid #00d1e880;
    color: #00D1E8;
    text-decoration: none;
    transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.aboutUs .teamSection .miniCard .miniAction a:hover {
    border-color: #00D1E8
}

.aboutUs .teamSection .miniCard .miniAction a svg {
    width: 20px;
    height: 20px
}

.aboutUs .shadowPulse {
    animation: auShadowPulse 3.5s ease-in-out infinite
}

@keyframes auShadowPulse {

    0%,
    100% {
        box-shadow: -1px 6px 18px -2px #000a341a
    }

    50% {
        box-shadow: -1px 10px 52px -2px #000a342e
    }
}

@media (max-width: 1024px) {
    .aboutUs .splitPanel {
        flex-direction: column;
        min-height: auto
    }

    .aboutUs .splitPanel .leftCol {
        flex: none;
        padding: 48px 32px
    }

    .aboutUs .splitPanel .rightCol {
        flex: none;
        height: 320px
    }

    .aboutUs .splitPanel .imgClip {
        clip-path: none;
        min-height: 320px
    }

    .aboutUs .teamSection .threeCol {
        grid-template-columns: 1fr 1fr
    }

    .aboutUs .teamSection .stepsBlock {
        flex-direction: column;
        gap: 32px
    }

    .aboutUs .teamSection .stepsText {
        flex: none
    }

    .aboutUs .teamSection .miniCard {
        flex-direction: column;
        text-align: center
    }

    .aboutUs .teamSection .miniCard .miniImg {
        width: 100%;
        height: 140px
    }
}

@media (max-width: 768px) {
    .aboutUs .splitPanel .leftCol {
        padding: 32px 16px
    }

    .aboutUs .splitPanel .mainStmt {
        font-size: 28px
    }

    .aboutUs .teamSection {
        padding: 48px 16px
    }

    .aboutUs .teamSection .threeCol {
        grid-template-columns: 1fr
    }

    .aboutUs .rotGeo {
        display: none
    }
}

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

.srvpg ::selection {
    background: #000A34;
    color: #FCFDFF;
    font-weight: 700
}

.srvpg .pgblock {
    position: relative
}

.srvpg .titlerow {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 32px;
    align-items: stretch;
    padding: 48px;
    background: linear-gradient(168deg, #eaf6f9 0%, #f4fafc 60%, #e8f0fb 100%)
}

.srvpg .titlerow .imgpanel {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    min-height: 280px
}

.srvpg .titlerow .imgpanel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.7);
    transition: filter .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .titlerow .imgpanel:hover img {
    filter: saturate(1)
}

.srvpg .titlerow .imgpanel .imggrad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #000a3461 0%, transparent 55%);
    border-radius: 10px;
    pointer-events: none
}

.srvpg .titlerow .imgpanel .geoshape {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 64px;
    height: 64px;
    border: 2px solid #00d1e840;
    border-radius: 10px;
    transform: rotate(18deg);
    pointer-events: none
}

.srvpg .titlerow .imgpanel .geoshape2 {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 36px;
    height: 36px;
    border: 1.5px solid #00d1e82e;
    border-radius: 5px;
    transform: rotate(-10deg);
    pointer-events: none
}

.srvpg .titlerow .txtcenter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 16px 8px
}

.srvpg .titlerow .txtcenter .badge {
    display: inline-block;
    background: #000A34;
    color: #00D1E8;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-radius: 5px;
    padding: 4px 12px;
    width: fit-content
}

.srvpg .titlerow .txtcenter .pghead {
    font-size: 50px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 800;
    margin: 0
}

.srvpg .titlerow .txtcenter .pghead em {
    font-style: normal;
    font-family: Georgia, serif;
    color: #00D1E8
}

.srvpg .titlerow .txtcenter .pghead .uline {
    display: inline-block;
    position: relative
}

.srvpg .titlerow .txtcenter .pghead .uline::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 0;
    height: 3px;
    background: #00D1E8;
    border-radius: 5px;
    animation: drawline .65s cubic-bezier(0.22, 1, 0.36, 1) .3s forwards
}

@keyframes drawline {
    to {
        width: 100%
    }
}

.srvpg .titlerow .txtcenter .ptlist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvpg .titlerow .txtcenter .ptlist li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 17px;
    line-height: 1.5;
    color: #000A34
}

.srvpg .titlerow .txtcenter .ptlist li .ptdot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    background: #00D1E8;
    border-radius: 40px;
    margin-top: 7px
}

.srvpg .divline {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 48px;
    margin: 0
}

.srvpg .divline .dline {
    flex: 1;
    height: 1px;
    background: #000a341f
}

.srvpg .divline .dword {
    font-size: 13px;
    color: #000a3466;
    letter-spacing: .1em;
    text-transform: uppercase
}

.srvpg .fourblock {
    padding: 48px;
    background: #FCFDFF
}

.srvpg .fourblock .fbtop {
    margin-bottom: 32px
}

.srvpg .fourblock .fbtop .fbhead {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0 0 8px
}

.srvpg .fourblock .fbtop .fbhead .uline {
    display: inline-block;
    position: relative
}

.srvpg .fourblock .fbtop .fbhead .uline::after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 0;
    height: 2px;
    background: #00D1E8;
    border-radius: 5px;
    animation: drawline .6s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

.srvpg .fourblock .fbtop .fbsub {
    font-size: 17px;
    line-height: 1.5;
    color: #000a34a6;
    max-width: 560px;
    margin: 0
}

.srvpg .fourblock .fbgrid {
    display: grid;
    grid-template-columns: 280px 1fr 1fr 1fr;
    gap: 16px;
    align-items: stretch
}

.srvpg .fourblock .fbgrid .accentcol {
    background: #000A34;
    border-radius: 10px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: -1px 10px 52px -2px #000a3421;
    position: relative;
    overflow: hidden
}

.srvpg .fourblock .fbgrid .accentcol .diagline {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 160px;
    height: 1px;
    background: #00d1e833;
    transform: rotate(45deg);
    transform-origin: left center;
    pointer-events: none
}

.srvpg .fourblock .fbgrid .accentcol .diagline2 {
    position: absolute;
    bottom: 30px;
    left: -10px;
    width: 120px;
    height: 1px;
    background: #00d1e826;
    transform: rotate(45deg);
    transform-origin: left center;
    pointer-events: none
}

.srvpg .fourblock .fbgrid .accentcol .aclabel {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #00D1E8;
    margin-bottom: 16px
}

.srvpg .fourblock .fbgrid .accentcol .acnum {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 800;
    color: #FCFDFF;
    margin-bottom: 8px
}

.srvpg .fourblock .fbgrid .accentcol .acnum em {
    font-style: normal;
    font-family: Georgia, serif;
    color: #00D1E8
}

.srvpg .fourblock .fbgrid .accentcol .actxt {
    font-size: 17px;
    line-height: 1.5;
    color: #fcfdffbf;
    margin: 0
}

.srvpg .fourblock .fbgrid .srvcard {
    background: #FCFDFF;
    border-radius: 10px;
    padding: 28px 24px;
    box-shadow: -1px 6px 18px -2px #000a341a;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .fourblock .fbgrid .srvcard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: transparent;
    border-radius: 10px 10px 0 0;
    transition: background .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .fourblock .fbgrid .srvcard:hover::before {
    background: #00D1E8
}

.srvpg .fourblock .fbgrid .srvcard:hover {
    box-shadow: -1px 10px 52px -2px #000a3421
}

.srvpg .fourblock .fbgrid .srvcard .srvdiag {
    position: absolute;
    bottom: -10px;
    right: -10px;
    width: 80px;
    height: 80px;
    border: 1.5px solid #00d1e81f;
    border-radius: 10px;
    transform: rotate(22deg);
    pointer-events: none
}

.srvpg .fourblock .fbgrid .srvcard .sicon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #e8f8fb 0%, #d4f1f6 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.srvpg .fourblock .fbgrid .srvcard .sicon svg {
    width: 20px;
    height: 20px
}

.srvpg .fourblock .fbgrid .srvcard .srvname {
    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;
    color: #000A34;
    margin: 0
}

.srvpg .fourblock .fbgrid .srvcard .srvdesc {
    font-size: 17px;
    line-height: 1.75;
    color: #000a34b3;
    margin: 0
}

.srvpg .fourblock .fbgrid .srvcard .srvdesc .kterm {
    background: #00d1e82e;
    border-radius: 5px;
    padding: 0 4px
}

.srvpg .fourblock .fbgrid .srvcard .srvtags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px
}

.srvpg .fourblock .fbgrid .srvcard .srvtags .tag {
    font-size: 13px;
    color: #000A34;
    background: #000a340f;
    border-radius: 26px;
    padding: 4px 12px;
    transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .fourblock .fbgrid .srvcard:hover .srvtags .tag {
    background: #00d1e82e;
    color: #000A34
}

.srvpg .divline2 {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 48px
}

.srvpg .divline2 .dline {
    flex: 1;
    height: 1px;
    background: #000a341a
}

.srvpg .divline2 .dword {
    font-size: 13px;
    color: #000a3459;
    letter-spacing: .1em;
    text-transform: uppercase
}

.srvpg .teamblock {
    padding: 48px;
    background: linear-gradient(160deg, #000A34 0%, #001a5e 100%);
    position: relative;
    overflow: hidden
}

.srvpg .teamblock .tbdiag {
    position: absolute;
    top: 40px;
    right: 80px;
    width: 200px;
    height: 1px;
    background: #00d1e826;
    transform: rotate(45deg);
    transform-origin: left center;
    pointer-events: none
}

.srvpg .teamblock .tbdiag2 {
    position: absolute;
    bottom: 60px;
    left: 60px;
    width: 140px;
    height: 1px;
    background: #00d1e81a;
    transform: rotate(45deg);
    transform-origin: left center;
    pointer-events: none
}

.srvpg .teamblock .tbinner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.srvpg .teamblock .tbinner .tbleft {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvpg .teamblock .tbinner .tbleft .tblabel {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #00D1E8
}

.srvpg .teamblock .tbinner .tbleft .tbhead {
    font-size: 28px;
    line-height: 1.2;
    color: #FCFDFF;
    font-weight: 700;
    margin: 0
}

.srvpg .teamblock .tbinner .tbleft .tbhead .uline {
    display: inline-block;
    position: relative
}

.srvpg .teamblock .tbinner .tbleft .tbhead .uline::after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 0;
    height: 2px;
    background: #00D1E8;
    border-radius: 5px;
    animation: drawline .6s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards
}

.srvpg .teamblock .tbinner .tbleft .tbpara {
    font-size: 17px;
    line-height: 1.75;
    color: #fcfdffbf;
    margin: 0
}

.srvpg .teamblock .tbinner .tbleft .tbpara.narrow {
    max-width: 380px;
    font-size: 17px;
    line-height: 1.5
}

.srvpg .teamblock .tbinner .tbleft .tbpara .kterm {
    background: #00d1e838;
    border-radius: 5px;
    padding: 0 4px;
    color: #FCFDFF
}

.srvpg .teamblock .tbinner .tbleft .ctabtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #00D1E8;
    color: #000A34;
    font-size: 17px;
    font-weight: 700;
    border: 2px solid #00D1E8;
    border-radius: 10px;
    padding: 12px 32px;
    cursor: pointer;
    width: fit-content;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .teamblock .tbinner .tbleft .ctabtn .btnbg {
    position: absolute;
    inset: 0;
    background: #FCFDFF;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 0;
    border-radius: 8px
}

.srvpg .teamblock .tbinner .tbleft .ctabtn:hover .btnbg {
    transform: scaleX(1)
}

.srvpg .teamblock .tbinner .tbleft .ctabtn:hover {
    border-color: #FCFDFF;
    color: #000A34
}

.srvpg .teamblock .tbinner .tbleft .ctabtn span {
    position: relative;
    z-index: 1
}

.srvpg .teamblock .tbinner .tbright {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvpg .teamblock .tbinner .tbright .profilerow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.srvpg .teamblock .tbinner .tbright .profilerow .pimg {
    width: 80px;
    min-width: 80px;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: -1px 6px 18px -2px #000a3440
}

.srvpg .teamblock .tbinner .tbright .profilerow .pimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: saturate(0.7);
    transition: filter .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvpg .teamblock .tbinner .tbright .profilerow .pimg:hover img {
    filter: saturate(1)
}

.srvpg .teamblock .tbinner .tbright .profilerow .pinfo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px
}

.srvpg .teamblock .tbinner .tbright .profilerow .pinfo .pname {
    font-size: 21px;
    font-weight: 700;
    color: #FCFDFF;
    margin: 0;
    line-height: 1.2
}

.srvpg .teamblock .tbinner .tbright .profilerow .pinfo .prole {
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #00D1E8
}

.srvpg .teamblock .tbinner .tbright .profilerow .pinfo .pquote {
    font-size: 17px;
    line-height: 1.5;
    color: #fcfdffb3;
    margin: 0
}

.srvpg .teamblock .tbinner .tbright .statrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px
}

.srvpg .teamblock .tbinner .tbright .statrow .statcard {
    background: #fcfdff12;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: background .5s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: inset 0 1px 2px #00d1e814
}

.srvpg .teamblock .tbinner .tbright .statrow .statcard:hover {
    background: #00d1e81f
}

.srvpg .teamblock .tbinner .tbright .statrow .statcard .stnum {
    font-size: 28px;
    font-weight: 800;
    color: #00D1E8;
    line-height: 1.2
}

.srvpg .teamblock .tbinner .tbright .statrow .statcard .stnum em {
    font-style: normal;
    font-family: Georgia, serif
}

.srvpg .teamblock .tbinner .tbright .statrow .statcard .stlabel {
    font-size: 13px;
    color: #fcfdff99;
    line-height: 1.5
}

@media (max-width: 1100px) {
    .srvpg .titlerow {
        grid-template-columns: 1fr 1.2fr 1fr;
        gap: 16px;
        padding: 32px
    }

    .srvpg .fourblock {
        padding: 32px
    }

    .srvpg .fourblock .fbgrid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .srvpg .teamblock {
        padding: 48px 32px
    }

    .srvpg .divline,
    .srvpg .divline2 {
        padding: 0 32px
    }
}

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

    .srvpg .titlerow .imgpanel {
        min-height: 200px
    }

    .srvpg .titlerow .txtcenter .pghead {
        font-size: 28px
    }

    .srvpg .fourblock {
        padding: 32px 16px
    }

    .srvpg .fourblock .fbgrid {
        grid-template-columns: 1fr
    }

    .srvpg .teamblock {
        padding: 32px 16px
    }

    .srvpg .teamblock .tbinner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .srvpg .divline,
    .srvpg .divline2 {
        padding: 0 16px
    }
}

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

.bse .titleblock {
    position: relative;
    padding: 80px 48px;
    background: linear-gradient(160deg, #e8f4f8 0%, #f0fafc 40%, #e4f0fb 100%);
    background-size: 300% 300%;
    animation: gradshift 8s ease-in-out infinite;
    overflow: hidden
}

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

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

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

.bse .titleblock .diag {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(118deg, transparent, transparent 28px, #00d1e80f 28px, #00d1e80f 30px);
    pointer-events: none
}

.bse .titleblock .tinner {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto
}

.bse .titleblock .ttext {
    flex: 1 1 0;
    min-width: 0
}

.bse .titleblock .timg {
    flex: 0 0 420px;
    width: 420px;
    height: 340px;
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

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

.bse .titleblock .timg .scanline {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, #000a340a 3px, #000a340a 4px);
    pointer-events: none
}

.bse .titleblock .timg .fadegrad {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #e8f4f8b3 0%, transparent 40%);
    pointer-events: none
}

.bse .titleblock h1 {
    font-size: 50px;
    line-height: 1.2;
    color: #000A34;
    margin: 0 0 16px;
    font-weight: 700
}

.bse .titleblock h1 .gword {
    background: linear-gradient(120deg, #00D1E8 20%, #000A34 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.bse .titleblock .tlead {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    max-width: 520px;
    margin: 0 0 32px
}

.bse .titleblock .tbadge {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #00d1e81f;
    border-radius: 5px;
    font-size: 13px;
    color: #000A34;
    font-weight: 600
}

.bse .titleblock .tbadge .dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #00D1E8;
    flex-shrink: 0
}

.bse .svgdiv {
    display: block;
    width: 100%;
    line-height: 0
}

.bse .communityblock {
    padding: 64px 48px;
    background: #FCFDFF
}

.bse .communityblock .cinner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.bse .communityblock .cleft {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.bse .communityblock .cright {
    flex: 1 1 0;
    min-width: 0
}

.bse .communityblock h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0 0 8px;
    position: relative;
    display: inline-block
}

.bse .communityblock h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #00D1E8;
    animation: underlinein .7s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards
}

@keyframes underlinein {
    to {
        width: 100%
    }
}

.bse .communityblock .clabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px
}

.bse .communityblock .cimg {
    width: 100%;
    height: 220px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: -1px 6px 18px -2px #000a341a
}

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

.bse .communityblock .cpara {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    margin: 0 0 16px
}

.bse .communityblock .cpara.narrow {
    max-width: 460px;
    font-size: 17px;
    line-height: 1.5
}

.bse .communityblock .statrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 32px
}

.bse .communityblock .stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    background: #FCFDFF;
    border-radius: 10px;
    box-shadow: -1px 3px 3px -2px #000a3414;
    flex: 1 1 0
}

.bse .communityblock .stat .snum {
    font-size: 28px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.2
}

.bse .communityblock .stat .sdesc {
    font-size: 13px;
    color: #000A34;
    line-height: 1.5;
    opacity: .7
}

.bse .svgdiv2 {
    display: block;
    width: 100%;
    line-height: 0
}

.bse .currentblock {
    padding: 64px 48px;
    background: linear-gradient(180deg, #e8f4f8 0%, #FCFDFF 100%)
}

.bse .currentblock .curinner {
    max-width: 1200px;
    margin: 0 auto
}

.bse .currentblock .curlabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px
}

.bse .currentblock h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0 0 32px;
    position: relative;
    display: inline-block
}

.bse .currentblock h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #00D1E8;
    animation: underlinein2 .7s cubic-bezier(0.22, 1, 0.36, 1) .6s forwards
}

@keyframes underlinein2 {
    to {
        width: 100%
    }
}

.bse .currentblock .cardrow {
    display: flex;
    flex-direction: row;
    gap: 32px
}

.bse .currentblock .ccard {
    flex: 1 1 0;
    background: #FCFDFF;
    border-radius: 10px;
    box-shadow: -1px 6px 18px -2px #000a341a;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: colappear .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

.bse .currentblock .ccard:nth-child(1) {
    animation-delay: .1s
}

.bse .currentblock .ccard:nth-child(2) {
    animation-delay: .25s
}

.bse .currentblock .ccard:nth-child(3) {
    animation-delay: .4s
}

@keyframes colappear {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

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

.bse .currentblock .ccard .ccimgwrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
    flex-shrink: 0
}

.bse .currentblock .ccard .ccimgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .currentblock .ccard .ccbody {
    padding: 16px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.bse .currentblock .ccard .cctag {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em
}

.bse .currentblock .ccard h4 {
    font-size: 17px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.5;
    margin: 0
}

.bse .currentblock .ccard p {
    font-size: 13px;
    color: #000A34;
    line-height: 1.75;
    margin: 0;
    opacity: .8
}

.bse .currentblock .ccard .ccaccent {
    display: inline-block;
    width: 32px;
    height: 3px;
    background: #00D1E8;
    border-radius: 5px;
    margin-top: 8px
}

.bse .teamblock {
    padding: 80px 48px;
    background: #000A34
}

.bse .teamblock .tinner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.bse .teamblock .tportrait {
    flex: 0 0 260px;
    width: 260px;
    height: 364px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: -1px 10px 52px -2px #00d1e821
}

.bse .teamblock .tportrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.bse .teamblock .tright {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.bse .teamblock .tlabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0
}

.bse .teamblock h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #FCFDFF;
    font-weight: 700;
    margin: 0;
    position: relative;
    display: inline-block
}

.bse .teamblock h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #00D1E8;
    animation: underlinein3 .7s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

@keyframes underlinein3 {
    to {
        width: 100%
    }
}

.bse .teamblock .tpara {
    font-size: 17px;
    line-height: 1.75;
    color: #fcfdffd9;
    margin: 0
}

.bse .teamblock .tpara.narrow {
    max-width: 480px;
    font-size: 17px;
    line-height: 1.5
}

.bse .teamblock .tcredits {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 8px
}

.bse .teamblock .tcred {
    padding: 8px 16px;
    background: #00d1e81a;
    border-radius: 5px;
    font-size: 13px;
    color: #00D1E8;
    font-weight: 600
}

.bse .teamblock .tname {
    font-size: 21px;
    font-weight: 700;
    color: #FCFDFF;
    line-height: 1.2;
    margin: 0
}

.bse .teamblock .trole {
    font-size: 13px;
    color: #fcfdff99;
    margin: 0
}

.bse .journeyblock {
    padding: 64px 48px;
    background: #FCFDFF
}

.bse .journeyblock .jinner {
    max-width: 1200px;
    margin: 0 auto
}

.bse .journeyblock .jlabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px
}

.bse .journeyblock h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0 0 48px;
    position: relative;
    display: inline-block
}

.bse .journeyblock h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #00D1E8;
    animation: underlinein4 .7s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

@keyframes underlinein4 {
    to {
        width: 100%
    }
}

.bse .journeyblock .phases {
    display: flex;
    flex-direction: row;
    gap: 0;
    position: relative
}

.bse .journeyblock .phases::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    height: 2px;
    background: linear-gradient(90deg, #00D1E8, #00d1e833);
    pointer-events: none
}

.bse .journeyblock .phase {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 16px;
    position: relative;
    animation: colappear .55s cubic-bezier(0.22, 1, 0.36, 1) both
}

.bse .journeyblock .phase:nth-child(1) {
    animation-delay: .1s
}

.bse .journeyblock .phase:nth-child(2) {
    animation-delay: .22s
}

.bse .journeyblock .phase:nth-child(3) {
    animation-delay: .34s
}

.bse .journeyblock .phase:nth-child(4) {
    animation-delay: .46s
}

.bse .journeyblock .pnum {
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background: #00D1E8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
    color: #000A34;
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.bse .journeyblock .phase h5 {
    font-size: 17px;
    font-weight: 700;
    color: #000A34;
    line-height: 1.5;
    margin: 0
}

.bse .journeyblock .phase p {
    font-size: 13px;
    color: #000A34;
    line-height: 1.75;
    margin: 0;
    opacity: .75
}

.bse .journeyblock .jimgrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 48px;
    align-items: center
}

.bse .journeyblock .jimg {
    flex: 0 0 360px;
    height: 240px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: -1px 6px 18px -2px #000a341a
}

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

.bse .journeyblock .jtext {
    flex: 1 1 0;
    min-width: 0
}

.bse .journeyblock .jtext p {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    margin: 0 0 16px
}

.bse .journeyblock .jtext p.narrow {
    max-width: 400px;
    font-size: 17px;
    line-height: 1.5
}

.bse .storyblock {
    padding: 80px 48px;
    background: linear-gradient(180deg, #e4f0fb 0%, #FCFDFF 100%)
}

.bse .storyblock .sinner {
    max-width: 1200px;
    margin: 0 auto
}

.bse .storyblock .slabel {
    font-size: 13px;
    color: #00D1E8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px
}

.bse .storyblock h2 {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0 0 48px;
    position: relative;
    display: inline-block
}

.bse .storyblock h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #00D1E8;
    animation: underlinein5 .7s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

@keyframes underlinein5 {
    to {
        width: 100%
    }
}

.bse .storyblock .stcard {
    background: #FCFDFF;
    border-radius: 10px;
    box-shadow: -1px 10px 52px -2px #000a3421;
    display: flex;
    flex-direction: row;
    overflow: hidden
}

.bse .storyblock .stleft {
    flex: 0 0 280px;
    background: #000A34;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: flex-end
}

.bse .storyblock .stname {
    font-size: 21px;
    font-weight: 700;
    color: #FCFDFF;
    line-height: 1.2
}

.bse .storyblock .stdetail {
    font-size: 13px;
    color: #fcfdffa6;
    line-height: 1.5
}

.bse .storyblock .stquotemark {
    width: 40px;
    height: 40px;
    margin-bottom: 16px;
    flex-shrink: 0
}

.bse .storyblock .stright {
    flex: 1 1 0;
    padding: 48px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.bse .storyblock .stquote {
    font-size: 21px;
    line-height: 1.75;
    color: #000A34;
    font-weight: 400;
    margin: 0
}

.bse .storyblock .stquote em {
    font-style: italic
}

.bse .storyblock .stbody {
    font-size: 17px;
    line-height: 1.75;
    color: #000A34;
    margin: 0;
    opacity: .85
}

.bse .storyblock .stbody.narrow {
    max-width: 460px;
    font-size: 17px;
    line-height: 1.5
}

.bse .storyblock .staccent {
    width: 48px;
    height: 3px;
    background: #00D1E8;
    border-radius: 5px;
    margin-top: 8px
}

.bse .flashbtn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    background: #00D1E8;
    color: #000A34;
    font-size: 17px;
    font-weight: 700;
    border-radius: 26px;
    border: 2px solid #00D1E8;
    cursor: pointer;
    text-decoration: none !important;
    transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background .45s ease-in-out
}

.bse .flashbtn:hover {
    border-color: #000A34;
    background: #00D1E8
}

.bse .flashbtn:active {
    animation: flashaccent .55s cubic-bezier(0.22, 1, 0.36, 1)
}

@keyframes flashaccent {
    0% {
        background: #00D1E8
    }

    30% {
        background: #000A34;
        color: #00D1E8
    }

    100% {
        background: #00D1E8;
        color: #000A34
    }
}

@media (max-width: 900px) {
    .bse .titleblock .tinner {
        flex-direction: column
    }

    .bse .titleblock .timg {
        flex: 0 0 auto;
        width: 100%;
        height: 220px
    }

    .bse .communityblock .cinner {
        flex-direction: column
    }

    .bse .communityblock .cleft {
        flex: 0 0 auto;
        width: 100%
    }

    .bse .currentblock .cardrow {
        flex-direction: column
    }

    .bse .teamblock .tinner {
        flex-direction: column
    }

    .bse .teamblock .tportrait {
        flex: 0 0 auto;
        width: 100%;
        height: 320px
    }

    .bse .journeyblock .phases {
        flex-direction: column;
        gap: 32px
    }

    .bse .journeyblock .phases::before {
        display: none
    }

    .bse .journeyblock .jimgrow {
        flex-direction: column
    }

    .bse .journeyblock .jimg {
        flex: 0 0 auto;
        width: 100%
    }

    .bse .storyblock .stcard {
        flex-direction: column
    }

    .bse .storyblock .stleft {
        flex: 0 0 auto;
        width: 100%
    }

    .bse .communityblock .statrow {
        flex-direction: column
    }

    .bse .titleblock {
        padding: 48px 16px
    }

    .bse .communityblock,
    .bse .currentblock,
    .bse .teamblock,
    .bse .journeyblock,
    .bse .storyblock {
        padding: 48px 16px
    }
}

.successPage {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 16px;
    background: #FCFDFF
}

.successPage .confirmCard {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: -1px 6px 18px -2px #000a341a;
    padding: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.successPage .confirmCard .iconWrap {
    width: 72px;
    height: 72px;
    border-radius: 40px;
    background: linear-gradient(135deg, #e0fafe 0%, #f0fdff 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 3px 3px -2px #00d1e814;
    flex-shrink: 0
}

.successPage .confirmCard .iconWrap svg {
    display: block
}

.successPage .confirmCard .msgBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center
}

.successPage .confirmCard .msgBlock .heading {
    font-size: 28px;
    line-height: 1.2;
    color: #000A34;
    font-weight: 700;
    margin: 0
}

.successPage .confirmCard .msgBlock .heading em {
    font-style: italic;
    font-weight: 400
}

.successPage .confirmCard .msgBlock .subtext {
    font-size: 17px;
    line-height: 1.75;
    color: #2a3060;
    margin: 0;
    max-width: 400px
}

.successPage .confirmCard .dividerAccent {
    width: 48px;
    height: 3px;
    border-radius: 5px;
    background: linear-gradient(90deg, #00D1E8 0%, #a8f0f8 100%)
}

.successPage .confirmCard .infoNote {
    font-size: 13px;
    line-height: 1.5;
    color: #4a5280;
    text-align: center;
    margin: 0
}

.successPage .confirmCard .infoNote a {
    color: #00A8C0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.successPage .confirmCard .infoNote a:hover {
    color: #000A34
}

.successPage .confirmCard .returnBtn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #000A34;
    color: #FCFDFF;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    border: 2px solid #000A34;
    border-radius: 26px;
    padding: 12px 32px;
    text-decoration: none;
    cursor: pointer;
    transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .55s cubic-bezier(0.22, 1, 0.36, 1), color .45s ease-in-out
}

.successPage .confirmCard .returnBtn:hover {
    background: #00D1E8;
    border-color: #00D1E8;
    color: #000A34
}

.successPage .confirmCard .returnBtn:focus-visible {
    outline: 3px solid #00D1E8;
    outline-offset: 4px
}