@import "https://cdn.jsdelivr.net/npm/@fontsource/inconsolata@latest/300.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inconsolata@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inconsolata@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/inconsolata@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-serif@latest/300.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-serif@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-serif@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-serif@latest/700.css";

html {
    font-size: 100%
}

body {
    margin: 0;
    -webkit-text-size-adjust: 100%
}

.siteheader {
    background: #fff;
    border-bottom: 2px solid #D300F7;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    position: relative;
    z-index: 100
}

.topstrip {
    background: linear-gradient(90deg, #005117 0%, #003a10 100%);
    padding: 8px 32px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px
}

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

.topstrip-link {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.5;
    transition: color .45s ease-in-out
}

.topstrip-link:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

.topstrip-link:hover {
    color: #D300F7
}

.topstrip-link .fa {
    font-size: 14px;
    color: #D300F7
}

.brandrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 32px 16px;
    max-width: 1400px;
    margin: 0 auto
}

.logomount {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 2px solid #D300F7;
    border-radius: 16px;
    padding: 16px;
    box-shadow: -1px 2px 6px 1px #d300f70f -1px 7px 25px 1px #d300f71a
}

.logomount img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    display: block;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.logomount img.loaded {
    opacity: 1
}

.brandname {
    font-family: 'IBM Plex Serif', serif;
    font-size: 33px;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: 0;
    line-height: 1.1;
    margin-left: 16px
}

.brandname span {
    color: #D300F7
}

.navrow {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px 16px;
    display: flex;
    align-items: center;
    justify-content: center
}

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

.primarnav li {
    display: flex
}

.primarnav li a {
    font-family: 'Inconsolata', monospace;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 5px;
    border: 1px solid transparent;
    line-height: 1.5;
    min-height: 44px;
    transition: background-color .45s ease-in-out, border-color .45s ease-in-out, color .2s ease-in-out;
    white-space: nowrap
}

.primarnav li a .fa {
    font-size: 14px;
    color: #D300F7;
    transition: color .45s ease-in-out
}

.primarnav li a:hover {
    background-color: #F8F8F8;
    border-color: #D300F7;
    color: #D300F7
}

.primarnav li a:hover .fa {
    color: #005117
}

.primarnav li a:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

.primarnav li.active a {
    background-color: #D300F7;
    color: #fff;
    border-color: #D300F7;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.primarnav li.active a .fa {
    color: #fff
}

.sitefooter {
    background: #111;
    color: #fff;
    padding: 64px 32px 32px
}

.ftrbody {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 64px
}

.ftrlogomount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 2px solid #D300F7;
    border-radius: 16px;
    padding: 16px;
    box-shadow: -1px 2px 6px 1px #d300f70f;
    margin-bottom: 16px
}

.ftrlogomount img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    display: block;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ftrlogomount img.loaded {
    opacity: 1
}

.ftrbrand {
    font-family: 'IBM Plex Serif', serif;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 8px
}

.ftrbrand span {
    color: #D300F7
}

.ftrtag {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 300;
    color: #aaa;
    line-height: 1.5
}

.ftrcolhead {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #D300F7;
    text-transform: uppercase;
    letter-spacing: .12em;
    line-height: 1.5;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #333
}

.ftrcontact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ftrcontact li {
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.ftrcontact li .fa {
    font-size: 16px;
    color: #D300F7;
    margin-top: 2px;
    flex-shrink: 0
}

.ftrcontact li a,
.ftrcontact li span {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #ccc;
    text-decoration: none;
    line-height: 1.5;
    transition: color .45s ease-in-out
}

.ftrcontact li a:hover {
    color: #D300F7
}

.ftrcontact li a:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

.ftrpages {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ftrpages li a {
    font-family: 'Inconsolata', monospace;
    font-size: 16px;
    font-weight: 400;
    color: #ccc;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.5;
    transition: color .45s ease-in-out
}

.ftrpages li a .fa {
    font-size: 14px;
    color: #005117;
    transition: color .2s ease-in-out
}

.ftrpages li a:hover {
    color: #D300F7
}

.ftrpages li a:hover .fa {
    color: #D300F7
}

.ftrpages li a:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

.ftrdivider {
    max-width: 1400px;
    margin: 64px auto 0;
    border: none;
    border-top: 1px solid #333;
    padding-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.ftrcopy {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 300;
    color: #888;
    line-height: 1.5
}

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

.ftrlegal a {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #888;
    text-decoration: none;
    line-height: 1.5;
    transition: color .45s ease-in-out
}

.ftrlegal a:hover {
    color: #D300F7
}

.ftrlegal a:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

.cookiepop {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 320px;
    background: #fff;
    border: 2px solid #D300F7;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 10px 52px 1px #d300f71f;
    z-index: 1000;
    display: none;
    opacity: 0;
    transition: opacity .22s ease-in-out
}

.cookiepop.showing {
    opacity: 1
}

.cookietext {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #222;
    line-height: 1.9;
    margin-bottom: 16px
}

.cookietext a {
    color: #D300F7;
    text-decoration: underline
}

.cookiebtnrow {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.cookieaccept {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 600;
    color: #D300F7;
    background: transparent;
    border: 2px solid #D300F7;
    border-radius: 5px;
    padding: 8px 16px;
    cursor: pointer;
    min-height: 44px;
    line-height: 1.5;
    transition: background-color .45s ease-in-out, color .2s ease-in-out, width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cookieaccept:hover {
    background-color: #D300F7;
    color: #fff
}

.cookieaccept:focus {
    outline: 2px solid #005117;
    outline-offset: 2px;
    transform: scale(1.02)
}

.cookiedeny {
    font-family: 'Inconsolata', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #888;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    min-height: 44px;
    line-height: 1.5;
    text-decoration: underline;
    transition: color .45s ease-in-out
}

.cookiedeny:hover {
    color: #005117
}

.cookiedeny:focus {
    outline: 2px solid #D300F7;
    outline-offset: 2px;
    transform: scale(1.02)
}

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

    .topstrip {
        padding: 8px 16px;
        gap: 16px
    }

    .brandrow {
        padding: 32px 16px 16px
    }

    .navrow {
        padding: 0 16px 16px
    }
}

@media (max-width: 640px) {
    .topstrip-contact {
        gap: 16px;
        flex-wrap: wrap
    }

    .topstrip {
        justify-content: center
    }

    .ftrbody {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ftrdivider {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .sitefooter {
        padding: 32px 16px
    }

    .cookiepop {
        right: 16px;
        left: 16px;
        width: auto;
        bottom: 16px
    }

    .primarnav li a {
        font-size: 14px;
        padding: 8px
    }

    .brandname {
        font-size: 24px
    }
}

.legal-area {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px
}

.legal-area h1 {
    font-size: 46px;
    line-height: 1.1;
    color: #111;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 2px solid #D300F7
}

.legal-area h2 {
    font-size: 33px;
    line-height: 1.1;
    color: #111;
    margin-top: 64px;
    margin-bottom: 16px
}

.legal-area h3 {
    font-size: 24px;
    line-height: 1.5;
    color: #1b1b1b;
    margin-top: 32px;
    margin-bottom: 16px
}

.legal-area h4 {
    font-size: 19px;
    line-height: 1.5;
    color: #1b1b1b;
    margin-top: 32px;
    margin-bottom: 8px
}

.legal-area h5 {
    font-size: 16px;
    line-height: 1.5;
    color: #005117;
    margin-top: 16px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.legal-area h6 {
    font-size: 14px;
    line-height: 1.5;
    color: #005117;
    margin-top: 16px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .1em
}

.legal-area p {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
    margin-bottom: 16px;
    max-width: 72ch
}

.legal-area ul {
    margin-top: 8px;
    margin-bottom: 16px;
    padding-left: 32px;
    list-style: none
}

.legal-area ol {
    margin-top: 8px;
    margin-bottom: 16px;
    padding-left: 32px;
    list-style: none;
    counter-reset: policy-counter
}

.legal-area ul li {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
    margin-bottom: 8px;
    position: relative;
    padding-left: 16px;
    max-width: 72ch
}

.legal-area ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #D300F7;
    transition: background-color .45s ease-in-out
}

.legal-area ul li:hover::before {
    background-color: #005117
}

.legal-area ol li {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
    margin-bottom: 8px;
    position: relative;
    padding-left: 16px;
    counter-increment: policy-counter;
    max-width: 72ch
}

.legal-area ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: -16px;
    top: 0;
    font-size: 14px;
    line-height: 1.9;
    color: #D300F7;
    font-weight: 700;
    min-width: 24px
}

.legal-area ul ul,
.legal-area ol ol,
.legal-area ul ol,
.legal-area ol ul {
    margin-top: 8px;
    margin-bottom: 8px;
    padding-left: 32px
}

.legal-area ul ul li::before {
    background-color: #005117;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    top: 15px
}

.legal-area em,
.legal-area i {
    font-style: italic;
    color: #005117
}

.legal-area div {
    margin-bottom: 16px
}

.legal-area div p:last-child {
    margin-bottom: 0
}

@media (max-width: 1024px) {
    .legal-area {
        padding: 64px 32px
    }

    .legal-area h1 {
        font-size: 33px
    }

    .legal-area h2 {
        font-size: 24px;
        margin-top: 32px
    }

    .legal-area h3 {
        font-size: 19px
    }
}

@media (max-width: 640px) {
    .legal-area {
        padding: 32px 16px
    }

    .legal-area h1 {
        font-size: 24px;
        margin-bottom: 16px
    }

    .legal-area h2 {
        font-size: 19px;
        margin-top: 32px
    }

    .legal-area h3 {
        font-size: 16px
    }

    .legal-area h4,
    .legal-area h5,
    .legal-area h6 {
        font-size: 14px
    }

    .legal-area p,
    .legal-area ul li,
    .legal-area ol li {
        font-size: 14px;
        line-height: 1.9
    }

    .legal-area ul {
        padding-left: 16px
    }

    .legal-area ol {
        padding-left: 16px
    }
}

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

.dgst .pgwrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.dgst .titstrip {
    position: relative;
    width: 100%;
    padding: 64px 0;
    background: #111820
}

.dgst .titstrip .imgband {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    border-radius: 0
}

.dgst .titstrip .imgband img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.dgst .titstrip .imgband img.loaded {
    opacity: 1
}

.dgst .titstrip .imgoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to right, #005117cc 0%, #D300F7aa 100%)
}

.dgst .titstrip .bracketframe {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.dgst .titstrip .bracketframe .bktopleft {
    width: 32px;
    height: 32px;
    border-top: 3px solid #D300F7;
    border-left: 3px solid #D300F7;
    border-radius: 2px 0 0 0;
    margin-bottom: 16px
}

.dgst .titstrip .bracketframe .bkbotright {
    width: 32px;
    height: 32px;
    border-bottom: 3px solid #D300F7;
    border-right: 3px solid #D300F7;
    border-radius: 0 0 2px 0;
    align-self: flex-end;
    margin-top: 16px
}

.dgst .titstrip .tittext {
    padding: 0 8px
}

.dgst .titstrip .tittext h1 {
    font-size: 62px;
    line-height: 1.1;
    font-weight: 900;
    color: #fff;
    margin: 0 0 16px;
    letter-spacing: -1px
}

.dgst .titstrip .tittext h1 .acctxt {
    background: linear-gradient(to right, #005117, #D300F7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.dgst .titstrip .tittext .subdesc {
    font-size: 19px;
    line-height: 1.5;
    color: #ffffffd9;
    max-width: 540px;
    margin: 0
}

.dgst .svgdiv1 {
    line-height: 0;
    background: #111820
}

.dgst .svgdiv1 svg {
    display: block;
    width: 100%
}

.dgst .stratblock {
    padding: 96px 0;
    background: #fff
}

.dgst .stratblock .pgwrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.dgst .stratblock .strleft {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.dgst .stratblock .strleft .strhead {
    font-size: 33px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0;
    background: linear-gradient(to right, #005117, #D300F7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.dgst .stratblock .strleft .strpara {
    font-size: 16px;
    line-height: 1.9;
    color: #1e2a38;
    margin: 0
}

.dgst .stratblock .strleft .strpara .acctxt {
    color: #D300F7;
    font-weight: 700
}

.dgst .stratblock .strright {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.dgst .stratblock .strright .metricrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 5px;
    background: #F4F4F8;
    box-shadow: -1px 2px 6px 1px #d300f70f;
    transition: box-shadow .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.dgst .stratblock .strright .metricrow:hover {
    box-shadow: -1px 7px 25px 1px #d300f71a;
    transform: translateX(4px)
}

.dgst .stratblock .strright .metricrow .micon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: linear-gradient(to right, #005117, #D300F7);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.dgst .stratblock .strright .metricrow .micon i {
    color: #fff;
    font-size: 19px
}

.dgst .stratblock .strright .metricrow .mtxt {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.dgst .stratblock .strright .metricrow .mtxt .mlabel {
    font-size: 14px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e2a38;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .08em
}

.dgst .stratblock .strright .metricrow .mtxt .mval {
    font-size: 16px;
    line-height: 1.5;
    color: #3a4558;
    margin: 0
}

.dgst .svgdiv2 {
    line-height: 0;
    background: #fff
}

.dgst .svgdiv2 svg {
    display: block;
    width: 100%
}

.dgst .discblock {
    padding: 96px 0;
    background: linear-gradient(to right, #005117, #D300F7);
    background-size: 120% 120%;
    animation: bgbreath 10s ease-in-out infinite;
    position: relative;
    overflow: hidden
}

@keyframes bgbreath {
    0% {
        background-size: 100% 100%
    }

    50% {
        background-size: 130% 130%
    }

    100% {
        background-size: 100% 100%
    }
}

.dgst .discblock .pgwrap {
    position: relative;
    z-index: 1
}

.dgst .discblock .discgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.dgst .discblock .dischead {
    grid-column: 1 / -1;
    text-align: center;
    margin-bottom: 16px
}

.dgst .discblock .dischead h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px
}

.dgst .discblock .dischead .discsubhead {
    font-size: 19px;
    line-height: 1.5;
    color: #ffffffd9;
    max-width: 600px;
    margin: 0 auto
}

.dgst .discblock .discard {
    background: #ffffff1f;
    border: 1px solid #ffffff40;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: inset 0 1px 0 #fff3 -1px 7px 25px 1px #0051171a;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.dgst .discblock .discard:hover {
    background: #fff3;
    transform: translateY(-4px)
}

.dgst .discblock .discard .cardicon {
    width: 56px;
    height: 56px;
    border-radius: 24px;
    background: #fff3;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 3px #ffffff4d
}

.dgst .discblock .discard .cardicon i {
    font-size: 24px;
    color: #fff
}

.dgst .discblock .discard h3 {
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
    color: #fff;
    margin: 0
}

.dgst .discblock .discard .cardpara {
    font-size: 16px;
    line-height: 1.9;
    color: #ffffffe0;
    margin: 0
}

.dgst .discblock .discard .cardpara .acctxt {
    font-weight: 700;
    color: #fff
}

.dgst .svgdiv3 {
    line-height: 0;
    background: #F4F4F8
}

.dgst .svgdiv3 svg {
    display: block;
    width: 100%
}

.dgst .insightblock {
    padding: 96px 0;
    background: #F4F4F8
}

.dgst .insightblock .pgwrap {
    display: flex;
    flex-direction: column;
    gap: 64px;
    align-items: center
}

.dgst .insightblock .inshead {
    text-align: center;
    max-width: 700px
}

.dgst .insightblock .inshead h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0 0 16px;
    background: linear-gradient(to right, #005117, #D300F7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.dgst .insightblock .inshead .inssubhead {
    font-size: 19px;
    line-height: 1.5;
    color: #2e3a4e;
    margin: 0
}

.dgst .insightblock .instable {
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.dgst .insightblock .instable .trow {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 16px;
    padding: 16px 32px;
    border-radius: 5px;
    align-items: center;
    transition: box-shadow .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.dgst .insightblock .instable .trow.thead {
    background: linear-gradient(to right, #005117, #D300F7);
    border-radius: 5px
}

.dgst .insightblock .instable .trow.thead .tcell {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em
}

.dgst .insightblock .instable .trow.tdata {
    background: #fff;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.dgst .insightblock .instable .trow.tdata:hover {
    box-shadow: -1px 7px 25px 1px #d300f71a;
    background: #fdf4ff
}

.dgst .insightblock .instable .trow.tdata .tcell {
    font-size: 16px;
    line-height: 1.5;
    color: #1e2a38
}

.dgst .insightblock .instable .trow.tdata .tcell.bold {
    font-weight: 700;
    color: #005117
}

.dgst .insightblock .instable .trow.tdata .tcell .badge {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700
}

.dgst .insightblock .instable .trow.tdata .tcell .badge.high {
    background: #d300f71f;
    color: #8800a3
}

.dgst .insightblock .instable .trow.tdata .tcell .badge.mid {
    background: #0051171f;
    color: #005117
}

.dgst .insightblock .insanchor {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.dgst .insightblock .insanchor .bigicon {
    width: 96px;
    height: 96px;
    border-radius: 24px;
    background: linear-gradient(to right, #005117, #D300F7);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 10px 52px 1px #d300f71f inset 0 1px 0 #fff3
}

.dgst .insightblock .insanchor .bigicon i {
    font-size: 46px;
    color: #fff
}

.dgst .insightblock .insanchor .anchortxt {
    font-size: 16px;
    line-height: 1.5;
    color: #3a4558;
    text-align: center;
    max-width: 480px;
    margin: 0
}

.dgst .insightblock .insanchor .anchortxt .acctxt {
    color: #D300F7;
    font-weight: 700
}

.dgst .insightblock .insanchor .ctabtn {
    display: inline-block;
    padding: 16px 32px;
    background: linear-gradient(to right, #005117, #D300F7);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 5px;
    text-decoration: none;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.dgst .insightblock .insanchor .ctabtn:hover {
    padding: 16px 48px;
    box-shadow: -1px 10px 52px 1px #d300f71f
}

.dgst .curvedline {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.dgst .curvedline svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .08
}

@media (max-width: 1024px) {
    .dgst .stratblock .pgwrap {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .dgst .discblock .discgrid {
        grid-template-columns: 1fr 1fr
    }

    .dgst .titstrip .tittext h1 {
        font-size: 46px
    }
}

@media (max-width: 640px) {
    .dgst .titstrip .tittext h1 {
        font-size: 33px
    }

    .dgst .titstrip .tittext .subdesc {
        font-size: 16px
    }

    .dgst .discblock .discgrid {
        grid-template-columns: 1fr
    }

    .dgst .insightblock .instable .trow {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .dgst .insightblock .instable .trow.thead {
        display: none
    }

    .dgst .pgwrap {
        padding: 0 16px
    }

    .dgst .stratblock {
        padding: 64px 0
    }

    .dgst .discblock {
        padding: 64px 0
    }

    .dgst .insightblock {
        padding: 64px 0
    }

    .dgst .insightblock .inshead h2 {
        font-size: 33px
    }

    .dgst .discblock .dischead h2 {
        font-size: 33px
    }

    .dgst .insightblock .instable .trow.tdata {
        padding: 16px
    }
}

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

.lrnprog .lpwrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.lrnprog .titblock {
    position: relative;
    background: #fff;
    padding: 96px 32px 64px;
    text-align: center;
    overflow: hidden
}

.lrnprog .titblock .bgcurves {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}

.lrnprog .titblock .bgcurves svg {
    width: 100%;
    height: 100%;
    opacity: .13
}

.lrnprog .titblock .titwrap {
    max-width: 1400px;
    margin: 0 auto;
    position: relative
}

.lrnprog .titblock .eyebrow {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #005117;
    border: 1.5px solid #005117;
    border-radius: 2px;
    padding: 8px 16px;
    margin-bottom: 32px
}

.lrnprog .titblock .mainhed {
    font-size: 62px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 16px;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrnprog .titblock .subhed {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.1;
    color: #1b1b1b;
    margin-bottom: 32px
}

.lrnprog .titblock .subhed span {
    color: #D300F7
}

.lrnprog .titblock .tipdesc {
    font-size: 19px;
    line-height: 1.9;
    color: #2c2c2c;
    max-width: 720px;
    margin: 0 auto 32px
}

.lrnprog .titblock .imgframe {
    position: relative;
    max-width: 960px;
    margin: 32px auto 0;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: -1px 10px 52px 1px #d300f71f
}

.lrnprog .titblock .imgframe img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    transition: opacity .55s ease-in-out
}

.lrnprog .titblock .imgframe img.loaded {
    opacity: 1
}

.lrnprog .titblock .imgfade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(to top, #fff 0%, transparent 100%);
    pointer-events: none
}

.lrnprog .titblock .metarow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 32px
}

.lrnprog .titblock .metaitem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.lrnprog .titblock .metanum {
    font-size: 33px;
    font-weight: 900;
    line-height: 1.1;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrnprog .titblock .metalabel {
    font-size: 14px;
    color: #444;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em
}

.lrnprog .titblock .divline {
    width: 1px;
    height: 48px;
    background: #ccc
}

.lrnprog .svgdiv {
    display: block;
    line-height: 0;
    overflow: hidden
}

.lrnprog .svgdiv svg {
    display: block;
    width: 100%
}

.lrnprog .progdetail {
    background: linear-gradient(to top, #fff 0%, #f0ffe6 100%);
    padding: 96px 32px;
    position: relative
}

.lrnprog .progdetail .scanlines {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.lrnprog .progdetail .scanlines::before {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    right: 0;
    height: 300%;
    background: repeating-linear-gradient(to bottom, transparent 0px, transparent 18px, #00511708 18px, #00511708 19px);
    animation: scandown 14s linear infinite
}

@keyframes scandown {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(33.33%)
    }
}

.lrnprog .progdetail .detailwrap {
    max-width: 1400px;
    margin: 0 auto;
    position: relative
}

.lrnprog .progdetail .toprow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    margin-bottom: 64px
}

.lrnprog .progdetail .leftcol .seceyebrow {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #D300F7;
    margin-bottom: 16px;
    display: block
}

.lrnprog .progdetail .leftcol .sechead {
    font-size: 46px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 16px;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrnprog .progdetail .leftcol .secdesc {
    font-size: 16px;
    line-height: 1.9;
    color: #2c2c2c;
    margin-bottom: 32px
}

.lrnprog .progdetail .leftcol .secdesc span {
    color: #D300F7;
    font-weight: 700
}

.lrnprog .progdetail .leftcol .imgbox {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: -1px 7px 25px 1px #0051171a
}

.lrnprog .progdetail .leftcol .imgbox img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    transition: opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scale(1);
    transition: opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .progdetail .leftcol .imgbox img.loaded {
    opacity: 1
}

.lrnprog .progdetail .leftcol .imgbox:hover img {
    transform: scale(1.04)
}

.lrnprog .progdetail .rightcol {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrnprog .progdetail .modcard {
    background: #fff;
    border-radius: 5px;
    padding: 24px 32px;
    border-left: 4px solid #D300F7;
    border-top: 1px solid #d300f71f;
    box-shadow: -1px 2px 6px 1px #d300f70f;
    transition: box-shadow .45s ease-in-out, border-left-color .45s ease-in-out
}

.lrnprog .progdetail .modcard:hover {
    box-shadow: -1px 7px 25px 1px #d300f71a;
    border-left-color: #005117
}

.lrnprog .progdetail .modcard .modnum {
    font-size: 14px;
    font-weight: 700;
    color: #D300F7;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 8px
}

.lrnprog .progdetail .modcard .modtitle {
    font-size: 19px;
    font-weight: 800;
    color: #1b1b1b;
    margin-bottom: 8px;
    line-height: 1.5
}

.lrnprog .progdetail .modcard .moddesc {
    font-size: 14px;
    line-height: 1.9;
    color: #444
}

.lrnprog .progdetail .modcard .modtitle {
    display: inline-block;
    position: relative
}

.lrnprog .progdetail .modcard .modtitle::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #D300F7;
    transition: width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .progdetail .modcard:hover .modtitle::after {
    width: 100%
}

.lrnprog .progdetail .bottomarea {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    margin-top: 32px
}

.lrnprog .progdetail .statpanel {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    box-shadow: -1px 2px 6px 1px #0051170f;
    border: 1px solid #0051171a;
    transition: box-shadow .5s ease-in-out
}

.lrnprog .progdetail .statpanel:hover {
    box-shadow: -1px 7px 25px 1px #0051171a
}

.lrnprog .progdetail .statpanel .sticon {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center
}

.lrnprog .progdetail .statpanel .sticon svg {
    width: 36px;
    height: 36px
}

.lrnprog .progdetail .statpanel .stval {
    font-size: 33px;
    font-weight: 900;
    line-height: 1.1;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px
}

.lrnprog .progdetail .statpanel .stlabel {
    font-size: 14px;
    color: #444;
    line-height: 1.5;
    font-weight: 600
}

.lrnprog .progdetail .framelines {
    position: absolute;
    top: 32px;
    left: 32px;
    right: 32px;
    bottom: 32px;
    pointer-events: none;
    border: 1px solid #00511712;
    border-radius: 24px
}

.lrnprog .progdetail .instrrow {
    margin-top: 64px;
    padding-top: 64px;
    border-top: 1px solid #0051171f
}

.lrnprog .progdetail .instrrow .rowhead {
    text-align: center;
    font-size: 33px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 32px;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrnprog .progdetail .instrlist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.lrnprog .progdetail .instrcard {
    background: #fff;
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: -1px 2px 6px 1px #d300f70f;
    border: 1px solid #d300f714;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .progdetail .instrcard:hover {
    box-shadow: -1px 7px 25px 1px #d300f71a
}

.lrnprog .progdetail .instrcard .portframe {
    width: 96px;
    height: 128px;
    border-radius: 16px;
    overflow: hidden;
    margin: 0 auto 16px;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.lrnprog .progdetail .instrcard .portframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    opacity: 0;
    transition: opacity .55s ease-in-out
}

.lrnprog .progdetail .instrcard .portframe img.loaded {
    opacity: 1
}

.lrnprog .progdetail .instrcard .iname {
    font-size: 19px;
    font-weight: 800;
    color: #1b1b1b;
    margin-bottom: 8px;
    line-height: 1.5
}

.lrnprog .progdetail .instrcard .irole {
    font-size: 14px;
    color: #D300F7;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .1em
}

.lrnprog .progdetail .instrcard .ibio {
    font-size: 14px;
    line-height: 1.9;
    color: #555
}

.lrnprog .progdetail .faqarea {
    margin-top: 64px;
    padding-top: 64px;
    border-top: 1px solid #d300f71a
}

.lrnprog .progdetail .faqarea .faqhead {
    font-size: 33px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    margin-bottom: 32px;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrnprog .progdetail .faqlist {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrnprog .progdetail .faqitem {
    background: #fff;
    border-radius: 5px;
    border: 1px solid #0051171f;
    box-shadow: -1px 2px 6px 1px #0051170f;
    overflow: hidden
}

.lrnprog .progdetail .faqitem summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 24px 32px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    color: #1b1b1b;
    list-style: none;
    transition: color .45s ease-in-out;
    gap: 16px
}

.lrnprog .progdetail .faqitem summary::-webkit-details-marker {
    display: none
}

.lrnprog .progdetail .faqitem summary:hover {
    color: #D300F7
}

.lrnprog .progdetail .faqitem summary .faqarrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform .45s ease-in-out
}

.lrnprog .progdetail .faqitem[open] summary .faqarrow {
    transform: rotate(180deg)
}

.lrnprog .progdetail .faqitem .faqbody {
    padding: 0 32px 24px;
    font-size: 16px;
    line-height: 1.9;
    color: #444
}

.lrnprog .progdetail .ctastrip {
    margin-top: 64px;
    background: linear-gradient(to left, #D300F7, #005117);
    border-radius: 24px;
    padding: 64px 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: -1px 10px 52px 1px #d300f71f
}

.lrnprog .progdetail .ctastrip .ctahed {
    font-size: 46px;
    font-weight: 900;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 16px
}

.lrnprog .progdetail .ctastrip .ctasub {
    font-size: 19px;
    line-height: 1.9;
    color: #ffffffe0;
    margin-bottom: 32px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto
}

.lrnprog .progdetail .ctastrip .ctabtn {
    display: inline-block;
    background: #fff;
    color: #005117;
    font-size: 16px;
    font-weight: 800;
    border: none;
    border-radius: 5px;
    padding: 16px 32px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: -1px 7px 25px 1px #0051171a;
    transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .progdetail .ctastrip .ctabtn:hover {
    padding: 16px 48px;
    box-shadow: -1px 10px 52px 1px #0051171f
}

.lrnprog .progdetail .ctastrip .ctabtn:focus {
    outline: 3px solid #fff;
    outline-offset: 3px
}

@media (max-width: 1024px) {
    .lrnprog .titblock .mainhed {
        font-size: 46px
    }

    .lrnprog .progdetail .toprow {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .lrnprog .progdetail .bottomarea {
        grid-template-columns: 1fr 1fr
    }

    .lrnprog .progdetail .instrlist {
        grid-template-columns: 1fr 1fr
    }

    .lrnprog .progdetail .leftcol .sechead {
        font-size: 33px
    }
}

@media (max-width: 640px) {
    .lrnprog .titblock {
        padding: 64px 16px 32px
    }

    .lrnprog .titblock .mainhed {
        font-size: 33px
    }

    .lrnprog .titblock .subhed {
        font-size: 24px
    }

    .lrnprog .titblock .metarow {
        gap: 16px
    }

    .lrnprog .titblock .divline {
        display: none
    }

    .lrnprog .titblock .imgframe img {
        height: 260px
    }

    .lrnprog .progdetail {
        padding: 64px 16px
    }

    .lrnprog .progdetail .toprow {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .lrnprog .progdetail .bottomarea {
        grid-template-columns: 1fr
    }

    .lrnprog .progdetail .instrlist {
        grid-template-columns: 1fr
    }

    .lrnprog .progdetail .ctastrip .ctahed {
        font-size: 33px
    }

    .lrnprog .progdetail .framelines {
        display: none
    }

    .lrnprog .progdetail .faqitem summary {
        padding: 16px
    }

    .lrnprog .progdetail .faqitem .faqbody {
        padding: 0 16px 16px
    }
}

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

.ctus .pg-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.ctus .reach-band {
    background: linear-gradient(to left, #D300F7 0%, #6a0080 40%, #002d0d 75%, #005117 100%);
    padding: 96px 32px 64px;
    position: relative
}

.ctus .reach-band::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #d300f714 0%, transparent 50%), linear-gradient(225deg, #0051171f 0%, transparent 50%);
    pointer-events: none
}

.ctus .reach-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 64px;
    align-items: start;
    position: relative;
    z-index: 1
}

.ctus .reach-quote-mark {
    position: absolute;
    top: -16px;
    left: -8px;
    font-size: 220px;
    line-height: 1.1;
    color: #d300f71a;
    pointer-events: none;
    user-select: none;
    font-weight: 900;
    z-index: 0
}

.ctus .reach-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.ctus .reach-label {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff9;
    font-weight: 600
}

.ctus .reach-contact-card {
    background: #ffffff12;
    border: 1px solid #ffffff1f;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    position: relative;
    overflow: hidden
}

.ctus .reach-contact-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(to left, #D300F7, #005117);
    border-radius: 0 16px 0 0
}

.ctus .reach-contact-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus .reach-contact-item .ci-label {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff80;
    text-transform: uppercase;
    letter-spacing: .08em
}

.ctus .reach-contact-item .ci-val {
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
    font-weight: 500
}

.ctus .reach-contact-item .ci-val a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #d300f766;
    transition: border-color .45s ease-in-out, color .45s ease-in-out
}

.ctus .reach-contact-item .ci-val a:hover {
    color: #D300F7;
    border-color: #D300F7
}

.ctus .reach-deco-lines {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px
}

.ctus .reach-deco-lines span {
    display: block;
    height: 1px;
    background: #d300f740;
    border-radius: 2px
}

.ctus .reach-deco-lines span:nth-child(1) {
    width: 48px
}

.ctus .reach-deco-lines span:nth-child(2) {
    width: 32px
}

.ctus .reach-deco-lines span:nth-child(3) {
    width: 64px
}

.ctus .reach-deco-lines span:nth-child(4) {
    width: 24px
}

.ctus .reach-deco-lines span:nth-child(5) {
    width: 56px
}

.ctus .reach-center {
    position: relative
}

.ctus .reach-heading-wrap {
    margin-bottom: 32px;
    position: relative;
    z-index: 1
}

.ctus .reach-heading-wrap h1 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    background: linear-gradient(to left, #D300F7, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 16px
}

.ctus .reach-heading-wrap h1 span {
    display: block
}

.ctus .reach-subtext {
    font-size: 16px;
    line-height: 1.9;
    color: #ffffffbf;
    max-width: 520px
}

.ctus .reach-right {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-end
}

.ctus .reach-ring-group {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-end
}

.ctus .ring-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.ctus .ring-item .ring-label {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffffa6;
    text-align: right;
    max-width: 120px
}

.ctus .ring-svg {
    width: 72px;
    height: 72px;
    flex-shrink: 0
}

.ctus .ring-svg circle.bg {
    fill: none;
    stroke: #ffffff1a;
    stroke-width: 5
}

.ctus .ring-svg circle.prog {
    fill: none;
    stroke-width: 5;
    stroke-linecap: round;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    transition: stroke-dashoffset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .ring-svg text {
    fill: #fff;
    font-size: 14px;
    font-weight: 700;
    dominant-baseline: middle;
    text-anchor: middle
}

.ctus .reach-right-note {
    font-size: 14px;
    line-height: 1.9;
    color: #ffffff80;
    text-align: right;
    max-width: 200px
}

.ctus .divider-crosses {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    height: 24px
}

.ctus .divider-crosses .cross-unit {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.ctus .divider-crosses .cross-unit::before,
.ctus .divider-crosses .cross-unit::after {
    content: "";
    position: absolute;
    background: #00511733;
    border-radius: 2px
}

.ctus .divider-crosses .cross-unit::before {
    width: 1px;
    height: 10px
}

.ctus .divider-crosses .cross-unit::after {
    width: 10px;
    height: 1px
}

.ctus .form-band {
    background: #fff;
    padding: 96px 32px
}

.ctus .form-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.ctus .form-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.ctus .form-left h2 {
    font-size: 33px;
    line-height: 1.1;
    font-weight: 800;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0
}

.ctus .form-left .fl-desc {
    font-size: 16px;
    line-height: 1.9;
    color: #2a2a2a
}

.ctus .form-left .fl-desc span {
    color: #D300F7;
    font-weight: 600
}

.ctus .form-subgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px
}

.ctus .fsg-card {
    background: #F8F8F8 !important;
    border: 1px solid #0051171a;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: -1px 2px 6px 1px #0051170f;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .fsg-card:hover {
    box-shadow: -1px 7px 25px 1px #0051171a;
    border-color: #d300f740
}

.ctus .fsg-card.wide {
    grid-column: 1 / -1
}

.ctus .fsg-card .fsc-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to left, #d300f71f, #0051171f);
    border-radius: 5px;
    margin-bottom: 8px
}

.ctus .fsg-card .fsc-icon i {
    font-size: 16px;
    color: #005117
}

.ctus .fsg-card h5 {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0
}

.ctus .fsg-card p {
    font-size: 14px;
    line-height: 1.9;
    color: #444;
    margin: 0
}

.ctus .form-right {
    display: flex;
    flex-direction: column;
    gap: 0
}

.ctus .contact-form {
    background: #fff;
    border: 1px solid #d300f71f;
    border-radius: 24px;
    padding: 48px;
    box-shadow: -1px 10px 52px 1px #d300f71f;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ctus .cf-row {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus .cf-row label {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    color: #1a1a2e;
    letter-spacing: .04em;
    text-transform: uppercase
}

.ctus .cf-row input,
.ctus .cf-row select,
.ctus .cf-row textarea {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: #1a1a2e;
    background: #fff;
    border: 1.5px solid #0051172e;
    border-radius: 5px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .45s ease-in-out, box-shadow .45s ease-in-out;
    appearance: none;
    -webkit-appearance: none
}

.ctus .cf-row input::placeholder {
    color: #00511766;
    font-style: italic
}

.ctus .cf-row input:focus,
.ctus .cf-row select:focus,
.ctus .cf-row textarea:focus {
    border-color: #D300F7;
    box-shadow: inset 0 0 0 3px #d300f714
}

.ctus .cf-row select {
    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='%23005117' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px
}

.ctus .cf-row textarea {
    resize: vertical;
    min-height: 96px
}

.ctus .cf-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.ctus .cf-privacy {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #0051170a;
    border-radius: 5px;
    border: 1px solid #0051171a
}

.ctus .cf-privacy input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 2px;
    accent-color: #D300F7;
    cursor: pointer;
    border-radius: 2px
}

.ctus .cf-privacy .priv-text {
    font-size: 14px;
    line-height: 1.9;
    color: #444
}

.ctus .cf-privacy .priv-text a {
    color: #D300F7;
    text-decoration: none;
    border-bottom: 1px solid #d300f74d;
    transition: border-color .45s ease-in-out
}

.ctus .cf-privacy .priv-text a:hover {
    border-color: #D300F7
}

.ctus .cf-submit {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus .cf-submit button[type="submit"] {
    width: 100%;
    padding: 16px 32px;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(to left, #D300F7, #005117);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .45s ease-in-out;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    letter-spacing: .02em
}

.ctus .cf-submit button[type="submit"]:hover {
    box-shadow: -1px 10px 52px 1px #d300f71f;
    opacity: .93
}

.ctus .cf-submit button[type="submit"]:focus {
    outline: 3px solid #D300F7;
    outline-offset: 3px
}

.ctus .cf-submit button[type="submit"]:active {
    opacity: .85
}

.ctus .cf-note {
    font-size: 14px;
    line-height: 1.5;
    color: #00511780;
    text-align: center
}

@keyframes ctus-reveal {
    from {
        opacity: 0;
        transform: rotate(-1.5deg) translateY(24px)
    }

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

.ctus .reach-band {
    animation: ctus-reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.ctus .form-band {
    animation: ctus-reveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

@media (max-width: 1024px) {
    .ctus .reach-inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .ctus .reach-right {
        display: none
    }

    .ctus .form-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ctus .reach-heading-wrap h1 {
        font-size: 33px
    }
}

@media (max-width: 640px) {
    .ctus .reach-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ctus .reach-left {
        order: 2
    }

    .ctus .reach-center {
        order: 1
    }

    .ctus .reach-heading-wrap h1 {
        font-size: 24px
    }

    .ctus .reach-band {
        padding: 64px 16px 32px
    }

    .ctus .form-band {
        padding: 64px 16px
    }

    .ctus .contact-form {
        padding: 32px 16px
    }

    .ctus .cf-two-col {
        grid-template-columns: 1fr
    }

    .ctus .form-subgrid {
        grid-template-columns: 1fr
    }

    .ctus .fsg-card.wide {
        grid-column: auto
    }
}

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

.entr .pgwrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .titlblk {
    padding: 96px 0;
    background: #fff;
    position: relative
}

.entr .titlblk .pgwrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.entr .titlshape {
    position: relative;
    flex-shrink: 0
}

.entr .titlimgframe {
    width: 100%;
    aspect-ratio: 4/5;
    clip-path: polygon(0 8%, 8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
    overflow: hidden;
    border-radius: 5px
}

.entr .titlimgframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .55s ease-in-out;
    filter: blur(0px)
}

.entr .titlimgframe img.loaded {
    opacity: 1
}

.entr .titldeco {
    position: absolute;
    width: 80px;
    height: 80px;
    border: 3px solid #D300F7;
    border-radius: 5px;
    top: -16px;
    left: -16px;
    pointer-events: none;
    animation: rotateDeco 18s linear infinite
}

.entr .titldeco2 {
    position: absolute;
    width: 48px;
    height: 48px;
    background: #005117;
    border-radius: 2px;
    bottom: 32px;
    right: -24px;
    pointer-events: none;
    opacity: .18;
    animation: rotateDeco 24s linear infinite reverse
}

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

    to {
        transform: rotate(360deg)
    }
}

.entr .titltxt {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .titltxt .eyebrow {
    font-size: 14px;
    line-height: 1.5;
    color: #005117;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600
}

.entr .titltxt h1 {
    font-size: 62px;
    line-height: 1.1;
    font-weight: 800;
    color: #111;
    margin: 0
}

.entr .titltxt h1 .punct {
    color: #D300F7
}

.entr .gradtxt {
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .titltxt .subline {
    font-size: 19px;
    line-height: 1.9;
    color: #333;
    margin: 0
}

.entr .titlbtns {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.entr .btnprim {
    display: inline-block;
    background: #D300F7;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 32px;
    border-radius: 5px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: padding .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .2s ease-in-out;
    box-shadow: -1px 7px 25px 1px #d300f71a
}

.entr .btnprim:hover {
    background: #b800d4;
    padding: 16px 48px
}

.entr .btnsec {
    display: inline-block;
    background: transparent;
    color: #005117;
    font-size: 14px;
    font-weight: 600;
    padding: 16px 24px;
    border-radius: 5px;
    text-decoration: none;
    border: 2px solid #005117;
    cursor: pointer;
    transition: padding .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .2s ease-in-out
}

.entr .btnsec:hover {
    padding: 16px 36px;
    border-color: #D300F7;
    color: #D300F7
}

.entr .divfade {
    height: 32px;
    background: linear-gradient(to right, transparent, #e8e8e8 30%, #e8e8e8 70%, transparent);
    margin: 0
}

.entr .divfade2 {
    height: 2px;
    background: linear-gradient(to right, transparent, #D300F7 30%, #005117 70%, transparent);
    margin: 0
}

.entr .outcmblk {
    padding: 96px 0;
    background: #fff
}

.entr .outcmblk .pgwrap {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    align-items: start
}

.entr .outcmleft {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .outcmleft h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0
}

.entr .outcmleft p {
    font-size: 19px;
    line-height: 1.9;
    color: #222;
    margin: 0
}

.entr .outcmgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px
}

.entr .outcmcard {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    border-top: 3px solid #D300F7;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.entr .outcmcard .bignum {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    color: #D300F7
}

.entr .outcmcard .numlab {
    font-size: 14px;
    line-height: 1.5;
    color: #555
}

.entr .outcmright {
    position: relative
}

.entr .outcmimgbox {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: -1px 10px 52px 1px #0051171f
}

.entr .outcmimgbox img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .6s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .outcmimgbox img.loaded {
    opacity: 1
}

.entr .outcmimgbox:hover img {
    transform: scale(1.04)
}

.entr .expblk {
    padding: 96px 0;
    position: relative;
    background: #005117;
    overflow: hidden
}

.entr .expblk .bgshape {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    border: 80px solid #ffffff0a;
    top: -100px;
    right: -100px;
    pointer-events: none;
    animation: rotateDeco 30s linear infinite
}

.entr .expblk .pgwrap {
    position: relative;
    z-index: 1
}

.entr .expblk h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    margin: 0 0 32px;
    text-align: center
}

.entr .expblk h2 .punct {
    color: #D300F7
}

.entr .exptrack {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.entr .expphs {
    background: #ffffff12;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-left: 4px solid #D300F7;
    border-bottom: 2px solid #d300f72e;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .expphs:hover {
    background: #ffffff21
}

.entr .expphs .phnum {
    font-size: 62px;
    line-height: 1.1;
    font-weight: 900;
    color: #d300f738
}

.entr .expphs h4 {
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
    color: #fff;
    margin: 0
}

.entr .expphs p {
    font-size: 16px;
    line-height: 1.9;
    color: #ffffffc7;
    margin: 0
}

.entr .expimgrow {
    margin-top: 64px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 32px;
    align-items: center
}

.entr .expimgbox {
    border-radius: 16px;
    overflow: hidden
}

.entr .expimgbox img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .6s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .expimgbox img.loaded {
    opacity: 1
}

.entr .expimgbox:hover img {
    transform: scale(1.04)
}

.entr .expimgtxt {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.entr .expimgtxt p {
    font-size: 19px;
    line-height: 1.9;
    color: #ffffffd9;
    margin: 0
}

.entr .condblk {
    padding: 96px 0;
    background: #fff
}

.entr .condblk .pgwrap {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start
}

.entr .condleft {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px
}

.entr .condleft h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0
}

.entr .condleft p {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    margin: 0
}

.entr .condright {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.entr .condrow {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    padding: 32px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #eee;
    border-left: 4px solid #005117;
    transition: box-shadow .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-left-color .2s ease-in-out
}

.entr .condrow:hover {
    box-shadow: -1px 7px 25px 1px #d300f71a;
    border-left-color: #D300F7
}

.entr .condrow .icnbox {
    width: 48px;
    height: 48px;
    border-radius: 5px;
    background: linear-gradient(to left, #D300F7, #005117);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.entr .condrow .icnbox i {
    color: #fff;
    font-size: 19px
}

.entr .condrow .condtxt h5 {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px
}

.entr .condrow .condtxt p {
    font-size: 14px;
    line-height: 1.9;
    color: #444;
    margin: 0
}

.entr .offrblk {
    padding: 96px 0;
    background: linear-gradient(to left, #d300f70f, #0051170f)
}

.entr .offrblk .pgwrap {
    display: flex;
    flex-direction: column;
    gap: 64px
}

.entr .offrhd {
    text-align: center
}

.entr .offrhd h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0 0 16px
}

.entr .offrhd p {
    font-size: 19px;
    line-height: 1.9;
    color: #333;
    margin: 0;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto
}

.entr .offrmosaic {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px
}

.entr .offrcard {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 2px 6px 1px #d300f70f;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .offrcard:hover {
    box-shadow: -1px 10px 52px 1px #0051171f;
    transform: translateY(-4px)
}

.entr .offrcard.featured {
    grid-row: 1 / 3;
    background: #005117;
    color: #fff
}

.entr .offrcard.featured h4 {
    color: #fff
}

.entr .offrcard.featured p {
    color: #ffffffd1
}

.entr .offrcard h4 {
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
    color: #111;
    margin: 0
}

.entr .offrcard p {
    font-size: 14px;
    line-height: 1.9;
    color: #444;
    margin: 0
}

.entr .offrcard .tagline {
    display: inline-block;
    background: #D300F7;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 2px;
    align-self: flex-start
}

.entr .offrcard .featimgbox {
    border-radius: 5px;
    overflow: hidden;
    flex: 1
}

.entr .offrcard .featimgbox img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .6s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .offrcard .featimgbox img.loaded {
    opacity: 1
}

.entr .offrcard:hover .featimgbox img {
    transform: scale(1.04)
}

.entr .offrcard .discbadge {
    display: inline-block;
    background: #d300f71f;
    color: #D300F7;
    font-size: 14px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 2px;
    align-self: flex-start
}

.entr .reputblk {
    padding: 96px 0;
    background: #fff
}

.entr .reputblk .pgwrap {
    display: flex;
    flex-direction: column;
    gap: 64px
}

.entr .reputhd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.entr .reputhd h2 {
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0
}

.entr .reputhd p {
    font-size: 19px;
    line-height: 1.9;
    color: #333;
    margin: 0
}

.entr .reputrefs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.entr .reputref {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 7px 25px 1px #0051171a;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-top: 3px solid #005117
}

.entr .reputref .refquote {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
    margin: 0
}

.entr .reputref .refperson {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center
}

.entr .reputref .refperson img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .5s ease-in-out
}

.entr .reputref .refperson img.loaded {
    opacity: 1
}

.entr .reputref .refname {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    line-height: 1.5
}

.entr .reputref .refrole {
    font-size: 14px;
    color: #666;
    line-height: 1.5
}

.entr .reputassoc {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.entr .associtem {
    background: linear-gradient(to left, #d300f70d, #0051170d);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    text-align: center;
    border: 1px solid #0051171a;
    transition: border-color .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entr .associtem:hover {
    border-color: #D300F7
}

.entr .associtem i {
    font-size: 33px;
    color: #005117
}

.entr .associtem .assoctitle {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    line-height: 1.5
}

.entr .associtem .assocdesc {
    font-size: 14px;
    color: #555;
    line-height: 1.5
}

.entr .accentspan {
    color: #D300F7
}

.entr .clipreveal {
    clip-path: inset(0 50% 0 50%);
    animation: clipOpen .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s forwards
}

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

.entr .underlink {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    color: #005117;
    transition: text-decoration-thickness .18s ease-in-out, color .18s ease-in-out
}

.entr .underlink:hover {
    text-decoration-thickness: 3px;
    color: #D300F7
}

@media (max-width: 1024px) {
    .entr .titlblk .pgwrap {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .entr .titltxt h1 {
        font-size: 46px
    }

    .entr .outcmblk .pgwrap {
        grid-template-columns: 1fr
    }

    .entr .outcmgrid {
        grid-template-columns: 1fr 1fr
    }

    .entr .exptrack {
        grid-template-columns: 1fr 1fr
    }

    .entr .condblk .pgwrap {
        grid-template-columns: 1fr
    }

    .entr .condleft {
        position: static
    }

    .entr .offrmosaic {
        grid-template-columns: 1fr 1fr
    }

    .entr .offrcard.featured {
        grid-row: auto;
        grid-column: 1 / 3
    }

    .entr .reputhd {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .reputassoc {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 640px) {
    .entr .pgwrap {
        padding: 0 16px
    }

    .entr .titlblk {
        padding: 64px 0
    }

    .entr .titlblk .pgwrap {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .titlshape {
        order: -1
    }

    .entr .titltxt h1 {
        font-size: 33px
    }

    .entr .outcmgrid {
        grid-template-columns: 1fr
    }

    .entr .exptrack {
        grid-template-columns: 1fr
    }

    .entr .expimgrow {
        grid-template-columns: 1fr
    }

    .entr .offrmosaic {
        grid-template-columns: 1fr
    }

    .entr .offrcard.featured {
        grid-column: auto
    }

    .entr .reputrefs {
        grid-template-columns: 1fr
    }

    .entr .reputassoc {
        grid-template-columns: 1fr 1fr
    }

    .entr .outcmblk,
    .entr .expblk,
    .entr .condblk,
    .entr .offrblk,
    .entr .reputblk {
        padding: 64px 0
    }
}

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

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

.abtus a {
    color: #D300F7;
    transition: color .45s ease-in-out
}

.abtus a:hover {
    color: #005117
}

.abtus .pgwrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

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

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

@keyframes imgFadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

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

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

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

@keyframes rotateIn {
    from {
        opacity: 0;
        transform: rotate(-8deg) translateY(16px)
    }

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

.abtus .titlband {
    background: linear-gradient(270deg, #D300F7, #005117, #3a0060, #002b0d);
    background-size: 600% 600%;
    animation: gradShift 12s ease-in-out infinite;
    padding: 64px 0;
    position: relative
}

.abtus .titlband .pgwrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px
}

.abtus .titlband .titltxt {
    flex: 1 1 0;
    min-width: 0
}

.abtus .titlband .titltxt .numaccent {
    font-size: 62px;
    font-weight: 900;
    line-height: 1.1;
    color: #fff;
    display: block;
    animation: slideUpFade .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.abtus .titlband .titltxt .numaccent span {
    color: #D300F7;
    filter: brightness(1.6)
}

.abtus .titlband .titltxt h1 {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin: 16px 0;
    animation: slideUpFade .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .22s both
}

.abtus .titlband .titltxt .subdesc {
    font-size: 19px;
    line-height: 1.5;
    color: #ffffffd1;
    max-width: 520px;
    animation: slideUpFade .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .36s both
}

.abtus .titlband .titlimgzone {
    flex: 0 0 360px;
    position: relative
}

.abtus .titlband .titlimgzone .imgdeco {
    position: absolute;
    inset: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #d300f747 0%, #0051172e 100%);
    pointer-events: none;
    z-index: 1
}

.abtus .titlband .titlimgzone .geomotif {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 64px;
    height: 64px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden
}

.abtus .titlband .titlimgzone .imgwrp {
    width: 360px;
    height: 280px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    box-shadow: -1px 10px 52px 1px #d300f71f;
    animation: imgFadeIn .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .45s both
}

.abtus .titlband .titlimgzone .imgwrp img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: sepia(0.18) saturate(1.3) brightness(0.92);
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtus .titlband .titlimgzone .imgwrp:hover img {
    transform: translateX(-6%) scale(1.04)
}

.abtus .divline1 {
    height: 4px;
    background: linear-gradient(to left, #D300F7, #005117);
    width: 100%
}

.abtus .storyband {
    padding: 96px 0 64px;
    background: #fff
}

.abtus .storyband .pgwrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.abtus .storyband .storyhead {
    grid-column: 1 / -1;
    text-align: center;
    margin-bottom: 16px;
    animation: slideUpFade .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.abtus .storyband .storyhead h2 {
    font-size: 33px;
    font-weight: 800;
    line-height: 1.1;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    margin: 0
}

.abtus .storyband .storyhead .subline {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    margin-top: 8px
}

.abtus .storyband .storycol {
    background: #F0F0F0;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 7px 25px 1px #0051171a;
    animation: slideUpFade .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    text-align: center;
    border-top: 4px solid #D300F7
}

.abtus .storyband .storycol:nth-child(3) {
    animation-delay: .18s
}

.abtus .storyband .storycol:nth-child(4) {
    animation-delay: .3s
}

.abtus .storyband .storycol:nth-child(5) {
    animation-delay: .42s
}

.abtus .storyband .storycol .colnum {
    font-size: 46px;
    font-weight: 900;
    line-height: 1.1;
    color: #D300F7;
    display: block
}

.abtus .storyband .storycol .colnumlabel {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    display: block;
    margin-bottom: 16px
}

.abtus .storyband .storycol h3 {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    color: #111;
    margin: 0 0 8px
}

.abtus .storyband .storycol p {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    margin: 0
}

.abtus .storyband .storywideimg {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
    margin-top: 32px
}

.abtus .storyband .storywideimg .swimgwrp {
    border-radius: 16px;
    overflow: hidden;
    height: 320px;
    box-shadow: -1px 7px 25px 1px #d300f71a
}

.abtus .storyband .storywideimg .swimgwrp img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtus .storyband .storywideimg .swimgwrp img.loaded {
    opacity: 1
}

.abtus .storyband .storywideimg .swimgwrp:hover img {
    transform: translateY(-4%) scale(1.03)
}

.abtus .storyband .storywideimg .swimgtxt {
    padding: 16px 0
}

.abtus .storyband .storywideimg .swimgtxt h4 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1;
    color: #111;
    margin: 0 0 16px
}

.abtus .storyband .storywideimg .swimgtxt p {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    margin: 0 0 16px
}

.abtus .storyband .storywideimg .swimgtxt .accentspan {
    color: #D300F7;
    font-weight: 700
}

.abtus .divline2 {
    height: 1px;
    background: linear-gradient(to left, #d300f766, #00511766);
    border: none;
    margin: 0
}

.abtus .expertband {
    background: #111;
    padding: 96px 0;
    position: relative;
    overflow: hidden
}

.abtus .expertband .geomstrip {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    display: flex;
    flex-direction: column;
    gap: 0;
    pointer-events: none
}

.abtus .expertband .geomstrip .geopiece {
    flex: 1;
    background: #D300F7;
    opacity: .18;
    animation: rotateIn .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abtus .expertband .geomstrip .geopiece:nth-child(1) {
    animation-delay: .05s
}

.abtus .expertband .geomstrip .geopiece:nth-child(2) {
    animation-delay: .12s;
    background: #005117
}

.abtus .expertband .geomstrip .geopiece:nth-child(3) {
    animation-delay: .19s
}

.abtus .expertband .geomstrip .geopiece:nth-child(4) {
    animation-delay: .26s;
    background: #005117
}

.abtus .expertband .geomstrip .geopiece:nth-child(5) {
    animation-delay: .33s
}

.abtus .expertband .pgwrap {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.abtus .expertband .exleft {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtus .expertband .exleft .exporthdr h2 {
    font-size: 33px;
    font-weight: 800;
    line-height: 1.1;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    margin: 0 0 16px
}

.abtus .expertband .exleft .exporthdr p {
    font-size: 16px;
    line-height: 1.9;
    color: #ffffffb8;
    margin: 0
}

.abtus .expertband .exleft .trustrow {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abtus .expertband .exleft .trustitem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #ffffff0d;
    border-radius: 5px;
    border-left: 3px solid #D300F7;
    border-right: 1px solid #d300f726;
    box-shadow: inset 0 1px 8px #d300f714;
    animation: slideUpFade .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abtus .expertband .exleft .trustitem:nth-child(1) {
    animation-delay: .1s
}

.abtus .expertband .exleft .trustitem:nth-child(2) {
    animation-delay: .22s
}

.abtus .expertband .exleft .trustitem:nth-child(3) {
    animation-delay: .34s
}

.abtus .expertband .exleft .trustitem .tiico {
    flex: 0 0 32px;
    height: 32px;
    border-radius: 5px;
    background: linear-gradient(135deg, #D300F7, #005117);
    display: flex;
    align-items: center;
    justify-content: center
}

.abtus .expertband .exleft .trustitem .tiico i {
    color: #fff;
    font-size: 14px
}

.abtus .expertband .exleft .trustitem .titxt strong {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    display: block;
    line-height: 1.5
}

.abtus .expertband .exleft .trustitem .titxt span {
    font-size: 14px;
    color: #ffffff8c;
    line-height: 1.5
}

.abtus .expertband .exright {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtus .expertband .exright .persongrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.abtus .expertband .exright .personcard {
    background: #ffffff0a;
    border-radius: 16px;
    padding: 32px;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    border: 1px solid #d300f71f;
    transition: border-color .45s ease-in-out, box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation: slideUpFade .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.abtus .expertband .exright .personcard:nth-child(1) {
    animation-delay: .15s
}

.abtus .expertband .exright .personcard:nth-child(2) {
    animation-delay: .28s
}

.abtus .expertband .exright .personcard:hover {
    border-color: #d300f773;
    box-shadow: -1px 10px 52px 1px #d300f71f
}

.abtus .expertband .exright .personcard .pcportrait {
    width: 80px;
    height: 112px;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.abtus .expertband .exright .personcard .pcportrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtus .expertband .exright .personcard .pcportrait img.loaded {
    opacity: 1
}

.abtus .expertband .exright .personcard .pcportrait:hover img {
    transform: translateX(4%)
}

.abtus .expertband .exright .personcard h4 {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    margin: 0 0 8px
}

.abtus .expertband .exright .personcard .pcrole {
    font-size: 14px;
    line-height: 1.5;
    color: #D300F7;
    font-weight: 600;
    display: block;
    margin-bottom: 8px
}

.abtus .expertband .exright .personcard p {
    font-size: 14px;
    line-height: 1.9;
    color: #ffffff9e;
    margin: 0
}

.abtus .expertband .exright .personcard.noport {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.abtus .expertband .exright .personcard.noport .pcinitials {
    width: 80px;
    height: 80px;
    border-radius: 5px;
    background: linear-gradient(to left, #D300F7, #005117);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 24px;
    font-weight: 900;
    color: #fff
}

.abtus .expertband .exright .imgpairrow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px
}

.abtus .expertband .exright .imgpairrow .eximg {
    border-radius: 5px;
    overflow: hidden;
    height: 160px;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.abtus .expertband .exright .imgpairrow .eximg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtus .expertband .exright .imgpairrow .eximg img.loaded {
    opacity: 1
}

.abtus .expertband .exright .imgpairrow .eximg:hover img {
    transform: translateX(-5%) scale(1.04)
}

.abtus .divline3 {
    height: 6px;
    background: linear-gradient(to left, #D300F7 0%, #005117 40%, #D300F7 100%)
}

@media (max-width: 1024px) {
    .abtus .titlband .pgwrap {
        flex-direction: column;
        gap: 32px
    }

    .abtus .titlband .titlimgzone {
        flex: 0 0 auto;
        width: 100%
    }

    .abtus .titlband .titlimgzone .imgwrp {
        width: 100%;
        height: 220px
    }

    .abtus .storyband .pgwrap {
        grid-template-columns: 1fr 1fr
    }

    .abtus .storyband .storyhead {
        grid-column: 1 / -1
    }

    .abtus .storyband .storywideimg {
        grid-column: 1 / -1;
        grid-template-columns: 1fr
    }

    .abtus .expertband .pgwrap {
        flex-direction: column;
        gap: 32px
    }

    .abtus .expertband .exleft {
        flex: 0 0 auto;
        width: 100%
    }

    .abtus .expertband .exright .imgpairrow {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 640px) {
    .abtus .pgwrap {
        padding: 0 16px
    }

    .abtus .titlband {
        padding: 32px 0
    }

    .abtus .titlband .titltxt .numaccent {
        font-size: 46px
    }

    .abtus .titlband .titltxt h1 {
        font-size: 33px
    }

    .abtus .titlband .titltxt .subdesc {
        font-size: 16px
    }

    .abtus .storyband {
        padding: 64px 0 32px
    }

    .abtus .storyband .pgwrap {
        grid-template-columns: 1fr
    }

    .abtus .storyband .storyhead {
        grid-column: 1
    }

    .abtus .storyband .storywideimg {
        grid-column: 1
    }

    .abtus .expertband {
        padding: 64px 0
    }

    .abtus .expertband .exright .persongrid {
        grid-template-columns: 1fr
    }

    .abtus .expertband .exright .imgpairrow {
        grid-template-columns: 1fr
    }

    .abtus .storyband .storyhead h2 {
        font-size: 24px
    }

    .abtus .expertband .exleft .exporthdr h2 {
        font-size: 24px
    }
}

.successPage {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 32px;
    background: #fff
}

.successPage .successWrap {
    max-width: 600px;
    width: 100%;
    text-align: center;
    padding: 64px 32px;
    border-radius: 16px;
    box-shadow: -1px 7px 25px 1px #d300f71a;
    background: #fff;
    border-top: 4px solid #D300F7
}

.successPage .iconRing {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 3px solid #005117;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 32px;
    background: #fff;
    box-shadow: -1px 2px 6px 1px #0051170f
}

.successPage .iconRing svg {
    display: block
}

.successPage .successTitle {
    font-size: 33px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 16px;
    background: linear-gradient(to left, #D300F7, #005117);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.successPage .successMsg {
    font-size: 16px;
    line-height: 1.5;
    color: #1a1a2e;
    margin: 0 0 32px;
    padding: 0 8px
}

.successPage .successMsg span {
    color: #D300F7;
    font-weight: 600;
    -webkit-text-fill-color: #D300F7
}

.successPage .backBtn {
    display: inline-block;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(to left, #D300F7, #005117);
    padding: 16px 32px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    transition: padding .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s ease-in-out;
    box-shadow: -1px 2px 6px 1px #d300f70f
}

.successPage .backBtn:hover {
    padding: 16px 48px;
    box-shadow: -1px 7px 25px 1px #d300f71a
}

.successPage .backBtn:focus {
    outline: 3px solid #005117;
    outline-offset: 3px
}

.successPage .divLine {
    width: 48px;
    height: 2px;
    background: linear-gradient(to left, #D300F7, #005117);
    margin: 32px auto;
    border-radius: 2px
}

.successPage .successNote {
    font-size: 14px;
    line-height: 1.5;
    color: #445
}

@media (max-width: 640px) {
    .successPage {
        padding: 64px 16px
    }

    .successPage .successWrap {
        padding: 32px 16px
    }

    .successPage .successTitle {
        font-size: 24px
    }
}