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

html {
    word-break: break-word;
    overflow-wrap: anywhere
}

body {
    margin: 0
}

:focus {
    outline: none;
    border-bottom: 4px solid #6DC28A
}

.site-header {
    background: linear-gradient(160deg, #0d1f17 0%, #112318 60%, #0b1a13 100%);
    border-bottom: 1px solid #2E6B51;
    box-shadow: 1px 4px 28px -2px #2e6b5117;
    position: relative;
    overflow: hidden
}

.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #2E6B51, #6DC28A, #2E6B51, transparent);
    pointer-events: none
}

.header-shell {
    max-width: 1500px;
    margin: 0 auto;
    padding: 28px 56px 0
}

.brand-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-bottom: 28px
}

.brand-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px
}

.logo-mount {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0d1f17;
    border: 1px solid #2E6B51;
    box-shadow: 0 0 0 3px #2e6b512e 1px 9px 36px -2px #2e6b5121
}

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

.brand-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 700;
    color: #D5F1DD;
    letter-spacing: .18em;
    text-transform: uppercase;
    line-height: 1.1
}

.brand-tagline {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #6DC28A;
    line-height: 1.75;
    letter-spacing: .06em
}

.notice-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: #2e6b511f;
    border: 1px solid #6dc28a33;
    border-radius: 5px;
    padding: 6px 28px;
    margin: 0 auto 28px;
    max-width: 640px
}

.notice-strip-icon {
    color: #6DC28A;
    font-size: 18px;
    flex-shrink: 0
}

.notice-strip-text {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    color: #D5F1DD;
    line-height: 1.75
}

.primary-nav-hold {
    border-top: 1px solid #2e6b514d
}

.primary-nav {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    max-width: 1500px;
    margin: 0 auto
}

.nav-item {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #a8d4b8;
    text-decoration: none;
    padding: 14px 28px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 2px solid transparent;
    transition: color .18s ease-out, border-color .15s ease-out, background .18s ease-out;
    line-height: 1.1;
    white-space: nowrap
}

.nav-item:hover {
    color: #D5F1DD;
    border-bottom-color: #6DC28A;
    background: #2e6b511a
}

.nav-item[data-active="true"] {
    color: #D5F1DD;
    border-bottom-color: #6DC28A
}

.nav-item-icon {
    font-size: 15px;
    color: #6DC28A;
    flex-shrink: 0
}

.site-footer {
    background: linear-gradient(175deg, #0b1a13 0%, #0d1f17 50%, #091510 100%);
    border-top: 1px solid #2E6B51;
    box-shadow: 1px 3px 4px -2px #2e6b510d 1px 4px 28px -2px #2e6b5117 1px 9px 36px -2px #2e6b5121;
    position: relative
}

.footer-shell {
    max-width: 1500px;
    margin: 0 auto;
    padding: 56px 56px 28px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    padding-bottom: 56px;
    border-bottom: 1px solid #2e6b5140
}

.footer-brand-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.footer-brand-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 300;
    color: #7aad90;
    line-height: 1.75;
    max-width: 360px
}

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #a8d4b8;
    line-height: 1.75
}

.footer-contact-icon {
    color: #6DC28A;
    font-size: 18px;
    flex-shrink: 0
}

.footer-contact-link {
    color: #a8d4b8;
    text-decoration: none;
    transition: color .15s ease-out
}

.footer-contact-link:hover {
    color: #D5F1DD
}

.footer-nav-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.footer-nav-heading {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #6DC28A;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.1;
    padding-bottom: 14px;
    border-bottom: 1px solid #2e6b514d
}

.footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.footer-link-item a {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #7aad90;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.75;
    transition: color .18s ease-out
}

.footer-link-item a:hover {
    color: #D5F1DD
}

.footer-link-arrow {
    font-size: 14px;
    color: #2E6B51;
    transition: color .18s ease-out
}

.footer-link-item a:hover .footer-link-arrow {
    color: #6DC28A
}

.footer-bottom-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 28px;
    flex-direction: column;
    gap: 14px
}

.footer-logo-mount {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0d1f17;
    border: 1px solid #2E6B51;
    box-shadow: 0 0 0 2px #2e6b5126 1px 4px 28px -2px #2e6b5117
}

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

.footer-copy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 300;
    color: #4a7a5e;
    line-height: 1.75;
    text-align: center
}

.cookie-notice {
    position: fixed;
    bottom: 28px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 680px;
    max-width: calc(100vw - 56px);
    background: linear-gradient(135deg, #0d1f17 0%, #112318 100%);
    border: 1px solid #2E6B51;
    border-radius: 9px;
    box-shadow: 1px 9px 36px -2px #2e6b5121 1px 4px 28px -2px #2e6b5117;
    z-index: 1000;
    display: none;
    transform: translateX(-60px);
    opacity: 0;
    transition: transform .42s cubic-bezier(0.4, 0, 0.6, 1), opacity .42s cubic-bezier(0.4, 0, 0.6, 1)
}

.cookie-notice[data-visible="true"] {
    transform: translateX(0);
    opacity: 1
}

.cookie-notice[data-visible="false"] {
    transform: translateX(-60px);
    opacity: 0
}

.cookie-main-view {
    padding: 28px
}

.cookie-headline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    color: #D5F1DD;
    line-height: 1.1;
    margin-bottom: 14px
}

.cookie-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #7aad90;
    line-height: 1.75;
    margin-bottom: 28px
}

.cookie-policy-link {
    color: #6DC28A;
    text-decoration: underline;
    transition: color .15s ease-out
}

.cookie-policy-link:hover {
    color: #D5F1DD
}

.cookie-btn-row {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap
}

.cookie-btn {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 5px;
    border: 1px solid #2E6B51;
    cursor: pointer;
    min-height: 44px;
    min-width: 120px;
    transition: background .18s ease-out, color .15s ease-out, border-color .15s ease-out;
    position: relative;
    overflow: hidden
}

.cookie-btn-accept {
    background: #2E6B51;
    color: #D5F1DD;
    border-color: #2E6B51
}

.cookie-btn-accept:hover {
    background: #6DC28A;
    color: #0d1f17;
    border-color: #6DC28A
}

.cookie-btn-decline {
    background: transparent;
    color: #7aad90;
    border-color: #2e6b5180
}

.cookie-btn-decline:hover {
    background: #2e6b5126;
    color: #D5F1DD;
    border-color: #2E6B51
}

.cookie-settings-link {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #4a7a5e;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    text-decoration: underline;
    transition: color .15s ease-out;
    min-height: 44px
}

.cookie-settings-link:hover {
    color: #6DC28A
}

.cookie-pref-view {
    padding: 28px;
    display: none
}

.cookie-pref-headline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    color: #D5F1DD;
    line-height: 1.1;
    margin-bottom: 14px
}

.cookie-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 28px
}

.cookie-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    background: #2e6b5114;
    border-radius: 5px;
    border: 1px solid #2e6b5133
}

.cookie-toggle-label {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #a8d4b8;
    line-height: 1.75
}

.cookie-toggle-input {
    width: 18px;
    height: 18px;
    accent-color: #6DC28A;
    flex-shrink: 0;
    cursor: pointer
}

.cookie-pref-btn-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.cookie-mini-bar {
    position: fixed;
    bottom: 0;
    left: 28px;
    background: #0d1f17;
    border: 1px solid #2E6B51;
    border-bottom: none;
    border-radius: 9px 9px 0 0;
    z-index: 999;
    display: none
}

.cookie-mini-btn {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    color: #6DC28A;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color .15s ease-out
}

.cookie-mini-btn:hover {
    color: #D5F1DD
}

@media (max-width: 900px) {
    .header-shell {
        padding: 28px 28px 0
    }

    .footer-shell {
        padding: 56px 28px 28px
    }

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

    .nav-item {
        padding: 14px;
        font-size: 14px
    }
}

@media (max-width: 600px) {
    .header-shell {
        padding: 14px 14px 0
    }

    .footer-shell {
        padding: 28px 14px 14px
    }

    .notice-strip {
        padding: 6px 14px
    }
}

.content-doc {
    max-width: 1500px;
    margin: 0 auto;
    padding: 56px 28px;
    color: #c8ddd4;
    background: #111a16
}

.content-doc p {
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 28px;
    color: #c8ddd4
}

.content-doc ul,
.content-doc ol {
    margin: 0 0 28px 28px;
    padding: 0
}

.content-doc li {
    font-size: 15px;
    line-height: 1.75;
    color: #c8ddd4;
    margin-bottom: 6px;
    padding-left: 6px
}

.content-doc ul li {
    list-style-type: disc
}

.content-doc ol li {
    list-style-type: decimal
}

.content-doc em,
.content-doc i {
    font-style: italic;
    color: #6DC28A
}

.content-doc a {
    color: #6DC28A;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .18s ease-out, text-decoration-color .14s ease-out
}

.content-doc a:hover {
    color: #D5F1DD;
    text-decoration-color: #2E6B51
}

.content-doc table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 28px;
    font-size: 14px;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

.content-doc thead {
    background: #2E6B51
}

.content-doc thead th {
    color: #D5F1DD;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 14px 28px;
    text-align: left;
    border-bottom: 2px solid #6DC28A
}

.content-doc tbody tr {
    border-bottom: 1px solid #6dc28a1f;
    transition: background .12s ease-out
}

.content-doc tbody tr:last-child {
    border-bottom: none
}

.content-doc tbody tr:hover {
    background: #2e6b512e
}

.content-doc td {
    padding: 14px 28px;
    font-size: 15px;
    line-height: 1.75;
    color: #c8ddd4;
    vertical-align: top
}

.content-doc hr {
    border: none;
    border-top: 1px solid #6dc28a33;
    margin: 56px 0;
    box-shadow: inset 0 1px 0 #6dc28a0f
}

@media (max-width: 768px) {
    .content-doc {
        padding: 28px 14px
    }

    .content-doc thead th,
    .content-doc td {
        padding: 14px
    }

    .content-doc table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

.aflt {
    background: #141a17;
    color: #d5f1dd;
    overflow-x: clip;
    position: relative
}

.aflt .geo-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0
}

.aflt .geo-bg svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: geo-spin 32s linear infinite;
    opacity: .04
}

@keyframes geo-spin {
    from {
        transform: translate(-50%, -50%) rotate(0deg)
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

.aflt .pg-inner {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.aflt .divider-geo {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    padding: 14px 0
}

.aflt .divider-geo svg {
    display: block;
    width: 100%
}

.aflt .divider-dots {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 28px
}

.aflt .divider-dots span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #2E6B51;
    display: block;
    opacity: .5
}

.aflt .divider-dots span:nth-child(3n) {
    opacity: .2
}

.aflt .divider-dots span:nth-child(2n) {
    opacity: .35
}

.aflt .title-blk {
    position: relative;
    padding: 96px 56px;
    overflow: hidden
}

.aflt .title-blk::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 38% 60%, #2E6B51 0%, #141a17 72%);
    animation: grad-shift 9s ease-in-out infinite alternate;
    z-index: 0
}

@keyframes grad-shift {
    0% {
        opacity: .85
    }

    100% {
        opacity: 1
    }
}

.aflt .title-blk .dot-grid {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden
}

.aflt .title-blk .dot-grid svg {
    width: 100%;
    height: 100%
}

.aflt .title-blk .pg-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1
}

.aflt .title-txt {
    padding: 56px 28px 56px 14px
}

.aflt .title-eyebrow {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    background: #2e6b5138;
    border: 1px solid #6dc28a4d;
    border-radius: 5px;
    padding: 6px 14px;
    margin-bottom: 28px
}

.aflt .title-eyebrow span {
    font-size: 14px;
    color: #6DC28A;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 600
}

.aflt .title-eyebrow .dot-live {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6DC28A;
    box-shadow: 0 0 6px #6dc28a99
}

.aflt .title-h1 {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0 0 28px
}

.aflt .title-h1 strong {
    color: #6DC28A;
    font-weight: 800
}

.aflt .counter-row {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-bottom: 28px;
    flex-wrap: wrap
}

.aflt .counter-item {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.aflt .counter-num {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
    color: #6DC28A
}

.aflt .counter-label {
    font-size: 14px;
    color: #a8cbb8;
    text-transform: uppercase;
    letter-spacing: .08em
}

.aflt .title-desc {
    font-size: 18px;
    line-height: 1.75;
    color: #b8d9c4;
    max-width: 480px
}

.aflt .title-actions {
    display: flex;
    flex-direction: row;
    gap: 14px;
    margin-top: 28px;
    flex-wrap: wrap
}

.aflt .btn-prim {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #6DC28A;
    color: #141a17;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s ease-out, box-shadow .15s ease-out;
    box-shadow: 1px 4px 28px -2px #6dc28a17;
    position: relative;
    overflow: hidden
}

.aflt .btn-prim:hover {
    background: #d5f1dd;
    box-shadow: 1px 9px 36px -2px #6dc28a21
}

.aflt .btn-prim:active {
    background: #2E6B51;
    color: #d5f1dd
}

.aflt .btn-sec {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: #6DC28A;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 28px;
    border-radius: 5px;
    border: 1px solid #6dc28a66;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .18s ease-out, color .15s ease-out
}

.aflt .btn-sec:hover {
    border-color: #6DC28A;
    color: #d5f1dd
}

.aflt .title-img-col {
    padding: 28px 14px 28px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px
}

.aflt .img-frame {
    position: relative;
    width: 100%;
    max-width: 440px
}

.aflt .img-frame img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 16px;
    display: block;
    box-shadow: 1px 9px 36px -2px #2e6b5121;
    filter: blur(0px);
    mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 60%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 60%, transparent 100%)
}

.aflt .img-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: #141a17e6;
    border: 1px solid #6dc28a4d;
    border-radius: 9px;
    padding: 6px 14px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

.aflt .img-badge span {
    font-size: 14px;
    color: #6DC28A;
    font-weight: 600
}

.aflt .prog-sec {
    position: relative;
    padding: 96px 56px;
    background: #0e1411
}

.aflt .prog-sec::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
    opacity: .4;
    pointer-events: none;
    z-index: 0
}

.aflt .prog-sec .pg-inner {
    position: relative;
    z-index: 1
}

.aflt .prog-head {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    margin-bottom: 56px;
    align-items: start
}

.aflt .prog-pull {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #6DC28A
}

.aflt .prog-body {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.aflt .prog-body p {
    font-size: 18px;
    line-height: 1.75;
    color: #b8d9c4;
    margin: 0
}

.aflt .prog-body p strong {
    color: #6DC28A;
    font-weight: 700
}

.aflt .prog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 56px
}

.aflt .prog-card {
    background: #2e6b5114;
    border: 1px solid #2e6b5133;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 1px 3px 4px -2px #2e6b510d;
    transition: border-color .18s ease-out, box-shadow .2s ease-out
}

.aflt .prog-card:hover {
    border-color: #6dc28a66;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.aflt .prog-card .card-icon {
    width: 40px;
    height: 40px;
    background: #2e6b5140;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6DC28A;
    font-size: 22px
}

.aflt .prog-card h4 {
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    color: #d5f1dd;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0
}

.aflt .prog-card p {
    font-size: 15px;
    line-height: 1.75;
    color: #8fb8a0;
    margin: 0
}

.aflt .icon-flow {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 28px 0;
    flex-wrap: wrap
}

.aflt .flow-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    animation: settle-in .22s cubic-bezier(0.4, 0, 0.6, 1) both
}

.aflt .flow-step:nth-child(1) {
    animation-delay: .04s
}

.aflt .flow-step:nth-child(3) {
    animation-delay: .08s
}

.aflt .flow-step:nth-child(5) {
    animation-delay: .12s
}

@keyframes settle-in {
    from {
        opacity: 0;
        transform: rotate(-4deg) translateY(8px)
    }

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

.aflt .flow-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: #2e6b5133;
    border: 1px solid #6dc28a40;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6DC28A;
    font-size: 22px
}

.aflt .flow-label {
    font-size: 14px;
    color: #8fb8a0;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .08em;
    max-width: 80px
}

.aflt .flow-dash {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    padding-bottom: 28px
}

.aflt .flow-dash span {
    width: 6px;
    height: 2px;
    background: #2E6B51;
    border-radius: 2px;
    display: block
}

.aflt .res-sec {
    padding: 96px 56px;
    background: #111814;
    position: relative
}

.aflt .res-sec .pg-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.aflt .res-left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.aflt .res-head {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.aflt .res-head h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
    color: #d5f1dd;
    margin: 0
}

.aflt .res-head p {
    font-size: 15px;
    line-height: 1.75;
    color: #8fb8a0;
    margin: 0
}

.aflt .res-card-grid {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.aflt .res-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    background: #2e6b5112;
    border: 1px solid #2e6b512e;
    border-radius: 9px;
    padding: 14px 28px;
    transition: background .15s ease-out;
    text-decoration: none
}

.aflt .res-card:hover {
    background: #2e6b5129
}

.aflt .res-card .res-type {
    font-size: 14px;
    color: #6DC28A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    min-width: 48px
}

.aflt .res-card .res-name {
    font-size: 15px;
    color: #d5f1dd;
    flex: 1
}

.aflt .res-card .res-size {
    font-size: 14px;
    color: #5a8a6e
}

.aflt .res-card .res-dl {
    color: #6DC28A;
    font-size: 18px
}

.aflt .res-right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.aflt .terms-head h3 {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0 0 14px;
    text-transform: uppercase;
    letter-spacing: .06em;
    text-align: center
}

.aflt .terms-list {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.aflt .term-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 14px 28px;
    background: #d5f1dd0a;
    border-radius: 5px;
    gap: 14px
}

.aflt .term-row:nth-child(even) {
    background: #2e6b511a
}

.aflt .term-key {
    font-size: 14px;
    color: #8fb8a0;
    text-transform: uppercase;
    letter-spacing: .07em
}

.aflt .term-val {
    font-size: 15px;
    color: #6DC28A;
    font-weight: 700;
    text-align: right
}

.aflt .tag-badges {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px
}

.aflt .tag-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #2e6b5126;
    border: 1px solid #6dc28a33;
    border-radius: 24px;
    padding: 6px 14px;
    font-size: 14px;
    color: #6DC28A
}

.aflt .contact-strip {
    background: #2e6b511f;
    border: 1px solid #2e6b5140;
    border-radius: 9px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.aflt .contact-strip h5 {
    font-size: 15px;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .08em
}

.aflt .contact-strip a {
    color: #6DC28A;
    font-size: 15px;
    text-decoration: none;
    transition: color .12s ease-out
}

.aflt .contact-strip a:hover {
    color: #d5f1dd;
    text-decoration: underline
}

@media (max-width: 1024px) {
    .aflt .title-blk .pg-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

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

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

    .aflt .res-sec .pg-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }
}

@media (max-width: 640px) {

    .aflt .title-blk,
    .aflt .prog-sec,
    .aflt .res-sec {
        padding: 56px 28px
    }

    .aflt .title-h1 {
        font-size: 42px
    }

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

    .aflt .counter-row {
        gap: 14px
    }

    .aflt .counter-num {
        font-size: 30px
    }
}

.cont-pg {
    background: #0e1a14;
    color: #c8ddd1;
    overflow-x: clip
}

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

.cont-pg .pg-stripe-bg::before {
    content: "";
    position: absolute;
    inset: -100%;
    background: repeating-linear-gradient(127deg, transparent 0px, transparent 38px, #2e6b510a 38px, #2e6b510a 40px);
    animation: stripe-move 18s linear infinite
}

@keyframes stripe-move {
    from {
        transform: translateX(0) translateY(0)
    }

    to {
        transform: translateX(80px) translateY(80px)
    }
}

.cont-pg .reach-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1500px;
    margin: 0 auto;
    padding: 96px 56px 56px;
    gap: 56px;
    align-items: start
}

.cont-pg .reach-left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.cont-pg .reach-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6DC28A;
    font-weight: 600
}

.cont-pg .reach-eyebrow-line {
    width: 28px;
    height: 1px;
    background: #6DC28A
}

.cont-pg .reach-h1 {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    color: #e8f5ed;
    margin: 0
}

.cont-pg .reach-h1 .accent-word {
    background: linear-gradient(ellipse at center, #2E6B51, #6DC28A);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.cont-pg .reach-desc {
    font-size: 18px;
    line-height: 1.75;
    color: #9dbdad;
    margin: 0;
    max-width: 420px
}

.cont-pg .reach-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 14px
}

.cont-pg .reach-meta-item {
    background: #2e6b5117;
    border: 1px solid #6dc28a24;
    border-radius: 9px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 1px 3px 4px -2px #2e6b510d
}

.cont-pg .reach-meta-label {
    font-size: 14px;
    color: #6DC28A;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600
}

.cont-pg .reach-meta-val {
    font-size: 15px;
    color: #c8ddd1;
    line-height: 1.75
}

.cont-pg .reach-meta-val a {
    color: #c8ddd1;
    text-decoration: none;
    transition: color .18s ease-out
}

.cont-pg .reach-meta-val a:hover {
    color: #6DC28A;
    text-decoration: underline
}

.cont-pg .reach-right {
    position: relative
}

.cont-pg .reach-right::before {
    content: "";
    position: absolute;
    top: 14px;
    right: -28px;
    width: 1px;
    height: calc(100% - 28px);
    background: linear-gradient(to bottom, transparent, #6dc28a33, transparent)
}

.cont-pg .form-card {
    background: #14231af2;
    border: 1px solid #6dc28a2e;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 1px 4px 28px -2px #2e6b5117 inset 0 1px 0 #6dc28a0f
}

.cont-pg .form-heading {
    font-size: 22px;
    line-height: 1.1;
    color: #e8f5ed;
    margin: 0 0 28px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 300
}

.cont-pg .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px
}

.cont-pg .form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px
}

.cont-pg .form-field:last-of-type {
    margin-bottom: 0
}

.cont-pg .field-lbl {
    font-size: 14px;
    color: #6DC28A;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600
}

.cont-pg .field-inp {
    background: #2e6b5114;
    border: 1px solid #6dc28a33;
    border-radius: 5px;
    padding: 14px;
    font-size: 15px;
    color: #e8f5ed;
    outline: none;
    transition: border-color .16s ease-out, box-shadow .16s ease-out;
    width: 100%;
    box-sizing: border-box
}

.cont-pg .field-inp::placeholder {
    font-size: 14px;
    color: #5a7a68
}

.cont-pg .field-inp:focus {
    border-color: #6dc28a80;
    box-shadow: inset 0 1px 3px #2e6b5126 0 0 0 2px #6dc28a14
}

.cont-pg .field-select {
    background: #2e6b5114;
    border: 1px solid #6dc28a33;
    border-radius: 5px;
    padding: 14px;
    font-size: 15px;
    color: #e8f5ed;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color .16s ease-out;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236DC28A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px
}

.cont-pg .field-select:focus {
    border-color: #6dc28a80
}

.cont-pg .field-select option {
    background: #0e1a14;
    color: #e8f5ed
}

.cont-pg .channel-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 14px
}

.cont-pg .channel-opt {
    position: relative
}

.cont-pg .channel-opt input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.cont-pg .channel-opt label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 6px;
    background: #2e6b5112;
    border: 1px solid #6dc28a26;
    border-radius: 9px;
    cursor: pointer;
    font-size: 14px;
    color: #9dbdad;
    text-align: center;
    transition: border-color .14s ease-out, background .14s ease-out, color .14s ease-out
}

.cont-pg .channel-opt label svg {
    width: 22px;
    height: 22px;
    stroke: #6DC28A;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.cont-pg .channel-opt input[type="radio"]:checked+label {
    background: #6dc28a26 !important;
    border-color: #6DC28A;
    color: #e8f5ed
}

.cont-pg .channel-opt input[type="radio"]:focus-visible+label {
    outline: 2px solid #6DC28A;
    outline-offset: 2px
}

.cont-pg .channel-lbl-head {
    font-size: 14px;
    color: #6DC28A;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
    margin-bottom: 6px
}

.cont-pg .privacy-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 28px 0 14px;
    padding: 14px;
    background: #2e6b510f;
    border-radius: 5px
}

.cont-pg .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 2px;
    accent-color: #6DC28A;
    cursor: pointer
}

.cont-pg .privacy-txt {
    font-size: 14px;
    line-height: 1.75;
    color: #9dbdad;
    margin: 0
}

.cont-pg .privacy-txt a {
    color: #6DC28A;
    text-decoration: none;
    transition: text-decoration .12s ease-out
}

.cont-pg .privacy-txt a:hover {
    text-decoration: underline
}

.cont-pg .submit-btn {
    width: 100%;
    padding: 14px 28px;
    background: #6DC28A;
    color: #0e1a14;
    border: none;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: background .18s ease-out, transform .12s ease-out
}

.cont-pg .submit-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #2E6B51;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0s
}

.cont-pg .submit-btn:hover {
    background: #5aad77
}

.cont-pg .submit-btn:active {
    transform: scale(0.98)
}

.cont-pg .submit-btn:active::after {
    transform: scaleX(1);
    transition: transform 2s linear
}

.cont-pg .submit-btn:focus-visible {
    outline: 2px solid #D5F1DD;
    outline-offset: 3px
}

.cont-pg .divider-asym {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 56px;
    display: flex;
    align-items: center;
    gap: 14px
}

.cont-pg .divider-asym .short-seg {
    width: 28px;
    height: 1px;
    background: #6dc28a4d
}

.cont-pg .divider-asym .long-seg {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, #6dc28a4d, transparent)
}

.cont-pg .channels-sect {
    position: relative;
    background: linear-gradient(ellipse at center, #2e6b512e 0%, #0e1a1400 70%);
    padding: 56px 0
}

.cont-pg .channels-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 56px
}

.cont-pg .channels-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 28px;
    gap: 28px
}

.cont-pg .channels-h2 {
    font-size: 30px;
    line-height: 1.1;
    color: #e8f5ed;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 300
}

.cont-pg .channels-sub {
    font-size: 15px;
    line-height: 1.75;
    color: #9dbdad;
    margin: 0;
    max-width: 360px;
    text-align: right
}

.cont-pg .info-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px
}

.cont-pg .info-tile {
    background: #14231acc;
    border: 1px solid #6dc28a1f;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 1px 4px 28px -2px #2e6b5117;
    position: relative;
    overflow: hidden
}

.cont-pg .info-tile::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(to right, #2E6B51, #6DC28A);
    transform: scaleX(0.3);
    transform-origin: left;
    transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.cont-pg .info-tile:hover::after {
    transform: scaleX(1)
}

.cont-pg .tile-icon {
    width: 42px;
    height: 42px;
    background: #2e6b5133;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.cont-pg .tile-icon svg {
    width: 22px;
    height: 22px;
    stroke: #6DC28A;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.cont-pg .tile-label {
    font-size: 14px;
    color: #6DC28A;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600
}

.cont-pg .tile-val {
    font-size: 18px;
    line-height: 1.75;
    color: #e8f5ed;
    font-weight: 600
}

.cont-pg .tile-val a {
    color: #e8f5ed;
    text-decoration: none;
    transition: color .16s ease-out
}

.cont-pg .tile-val a:hover {
    color: #6DC28A
}

.cont-pg .tile-note {
    font-size: 14px;
    color: #7a9e8a;
    line-height: 1.75
}

.cont-pg .context-sect {
    padding: 96px 0 56px;
    position: relative
}

.cont-pg .context-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 56px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 56px;
    align-items: start
}

.cont-pg .pull-quote-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.cont-pg .pull-phrase {
    font-size: 30px;
    line-height: 1.1;
    color: #6DC28A;
    font-weight: 700;
    margin: 0;
    border-top: 1px solid #6dc28a40;
    padding-top: 14px
}

.cont-pg .pull-body {
    font-size: 18px;
    line-height: 1.75;
    color: #9dbdad;
    margin: 0
}

.cont-pg .context-aside {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.cont-pg .aside-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #6dc28a1a;
    border: 1px solid #6dc28a33;
    border-radius: 24px;
    padding: 6px 14px;
    font-size: 14px;
    color: #6DC28A;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    width: fit-content
}

.cont-pg .aside-h3 {
    font-size: 22px;
    line-height: 1.1;
    color: #e8f5ed;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 300
}

.cont-pg .aside-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.cont-pg .aside-list li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #2e6b511a;
    border: 1px solid #6dc28a1f;
    border-radius: 24px;
    padding: 6px 14px;
    font-size: 14px;
    color: #c8ddd1;
    width: fit-content
}

.cont-pg .aside-list li svg {
    width: 14px;
    height: 14px;
    stroke: #6DC28A;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.cont-pg .aside-note {
    font-size: 15px;
    line-height: 1.75;
    color: #7a9e8a;
    margin: 0
}

@media (max-width: 900px) {
    .cont-pg .reach-row {
        grid-template-columns: 1fr;
        padding: 56px 28px 28px;
        gap: 28px
    }

    .cont-pg .reach-right::before {
        display: none
    }

    .cont-pg .reach-h1 {
        font-size: 42px
    }

    .cont-pg .info-strip {
        grid-template-columns: 1fr
    }

    .cont-pg .channels-inner {
        padding: 0 28px
    }

    .cont-pg .channels-top {
        flex-direction: column;
        align-items: flex-start
    }

    .cont-pg .channels-sub {
        text-align: left
    }

    .cont-pg .context-inner {
        grid-template-columns: 1fr;
        padding: 0 28px;
        gap: 28px
    }

    .cont-pg .divider-asym {
        padding: 0 28px
    }

    .cont-pg .channel-group {
        grid-template-columns: 1fr 1fr
    }

    .cont-pg .form-row {
        grid-template-columns: 1fr
    }

    .cont-pg .reach-meta-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 560px) {
    .cont-pg .reach-h1 {
        font-size: 30px
    }

    .cont-pg .channel-group {
        grid-template-columns: 1fr
    }
}

.opng {
    background: #0e1a14;
    color: #d5f1dd;
    overflow-x: clip
}

.opng .pg-width {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 28px
}

.opng .titl-blk {
    position: relative;
    padding-top: 56px;
    padding-bottom: 96px;
    overflow: hidden
}

.opng .titl-blk::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(127deg, #0e1a14 45%, #1a3528 100%);
    z-index: 0
}

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

.opng .titl-text-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.opng .titl-counter-row {
    display: flex;
    align-items: baseline;
    gap: 14px
}

.opng .titl-live-num {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    background: linear-gradient(ellipse at center, #6DC28A, #2E6B51);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.opng .titl-num-label {
    font-size: 15px;
    line-height: 1.75;
    color: #8cb8a0;
    text-transform: uppercase;
    letter-spacing: .12em
}

.opng .titl-h1 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #d5f1dd;
    margin: 0
}

.opng .titl-h1 strong {
    font-weight: 700;
    color: #6DC28A
}

.opng .titl-desc {
    font-size: 18px;
    line-height: 1.75;
    color: #9dbfac;
    max-width: 480px;
    margin: 0
}

.opng .titl-cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #6DC28A;
    color: #0e1a14;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 14px 28px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    width: fit-content;
    transition: background .18s ease-out, box-shadow .18s ease-out;
    box-shadow: 1px 4px 28px -2px #6dc28a17;
    position: relative;
    overflow: hidden
}

.opng .titl-cta::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background: #2e6b5159;
    transition: width .6s cubic-bezier(0.4, 0, 0.6, 1)
}

.opng .titl-cta:active::after {
    width: 100%
}

.opng .titl-cta:hover {
    background: #7dd49a;
    box-shadow: 1px 9px 36px -2px #6dc28a21
}

.opng .titl-img-col {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.opng .titl-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

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

.opng .titl-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(200deg, #6dc28a1f 0%, transparent 60%);
    pointer-events: none
}

.opng .titl-deco {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    transform: rotate(45deg);
    background: linear-gradient(135deg, #2E6B51, #6DC28A);
    border-radius: 9px;
    opacity: .18;
    pointer-events: none
}

.opng .team-blk {
    padding: 96px 0 56px;
    background: #111e17
}

.opng .team-inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start
}

.opng .team-pull {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #6DC28A;
    margin: 0;
    position: sticky;
    top: 28px
}

.opng .team-right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.opng .team-label {
    font-size: 14px;
    line-height: 1.75;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #6DC28A;
    font-weight: 700
}

.opng .team-h2 {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #d5f1dd;
    margin: 0
}

.opng .team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.opng .team-card {
    background: #162219;
    border-radius: 9px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 1px 3px 4px -2px #2e6b510d;
    transition: box-shadow .2s ease-out, transform .16s ease-out
}

.opng .team-card:hover {
    box-shadow: 1px 9px 36px -2px #2e6b5121;
    transform: translateY(-2px)
}

.opng .team-card-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(ellipse at center, #2E6B51, #1a3528);
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 1px 2px 6px #6dc28a1f
}

.opng .team-card-icon i {
    font-size: 20px;
    color: #6DC28A
}

.opng .team-card-name {
    font-size: 15px;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0
}

.opng .team-card-role {
    font-size: 14px;
    color: #7aaa8e;
    margin: 0
}

.opng .team-card-bio {
    font-size: 14px;
    line-height: 1.75;
    color: #8cb8a0;
    margin: 0
}

.opng .team-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.opng .team-img-frame {
    aspect-ratio: 1/1;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

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

.opng .appr-blk {
    padding: 56px 0;
    background: #0e1a14;
    border-top: 1px solid #1e3328
}

.opng .appr-inner {
    display: flex;
    flex-direction: column;
    gap: 56px
}

.opng .appr-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: end
}

.opng .appr-h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #d5f1dd;
    margin: 0
}

.opng .appr-h2 strong {
    color: #6DC28A;
    font-weight: 700
}

.opng .appr-lead {
    font-size: 18px;
    line-height: 1.75;
    color: #8cb8a0;
    margin: 0
}

.opng .appr-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px
}

.opng .appr-item {
    background: #13201a;
    border-radius: 9px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.6, 1);
    box-shadow: 1px 3px 4px -2px #2e6b510d
}

.opng .appr-item:hover {
    box-shadow: 1px 9px 36px -2px #6dc28a21
}

.opng .appr-item-num {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #2E6B51;
    opacity: .5
}

.opng .appr-item-h {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #d5f1dd;
    margin: 0
}

.opng .appr-item-p {
    font-size: 14px;
    line-height: 1.75;
    color: #7aaa8e;
    margin: 0
}

.opng .reput-blk {
    padding: 96px 0;
    background: linear-gradient(ellipse at center, #2E6B51 0%, #0e1a14 70%)
}

.opng .reput-inner {
    display: flex;
    flex-direction: column;
    gap: 56px;
    align-items: center;
    text-align: center
}

.opng .reput-h2 {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #d5f1dd;
    margin: 0;
    max-width: 700px
}

.opng .reput-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    width: 100%
}

.opng .reput-stat {
    background: #0e1a14b3;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    box-shadow: 1px 4px 28px -2px #2e6b5117 inset 0 1px 0 #6dc28a14;
    transition: box-shadow .2s ease-out
}

.opng .reput-stat:hover {
    box-shadow: 1px 9px 36px -2px #6dc28a21 inset 0 1px 0 #6dc28a1f
}

.opng .reput-stat-num {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #6DC28A
}

.opng .reput-stat-desc {
    font-size: 14px;
    line-height: 1.75;
    color: #8cb8a0;
    text-align: center
}

.opng .reput-refs {
    display: flex;
    flex-direction: row;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center
}

.opng .reput-ref-badge {
    background: #2e6b5138;
    border: 1px solid #6dc28a33;
    border-radius: 24px;
    padding: 6px 14px;
    font-size: 14px;
    color: #a8d8b8;
    display: flex;
    align-items: center;
    gap: 6px
}

.opng .reput-ref-badge i {
    font-size: 16px;
    color: #6DC28A
}

.opng .reput-img-wrap {
    width: 100%;
    max-width: 600px;
    aspect-ratio: 1/1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

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

.opng .gap-blk {
    padding: 56px 0 96px;
    background: #111e17
}

.opng .gap-inner {
    display: grid;
    grid-template-columns: 5fr 3fr;
    gap: 56px;
    align-items: start
}

.opng .gap-left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.opng .gap-h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #d5f1dd;
    margin: 0
}

.opng .gap-h2 strong {
    color: #6DC28A;
    font-weight: 700
}

.opng .gap-body {
    font-size: 15px;
    line-height: 1.75;
    color: #8cb8a0;
    margin: 0
}

.opng .gap-entry {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 28px;
    background: #162219;
    border-radius: 9px;
    position: relative;
    box-shadow: 1px 3px 4px -2px #2e6b510d
}

.opng .gap-entry-label {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #6DC28A;
    font-weight: 700
}

.opng .gap-entry-text {
    font-size: 15px;
    line-height: 1.75;
    color: #9dbfac;
    margin: 0
}

.opng .gap-exit {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 28px;
    background: #1a3528;
    border-radius: 9px;
    position: relative;
    box-shadow: 1px 4px 28px -2px #6dc28a17
}

.opng .gap-connector {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 0
}

.opng .gap-connector i {
    font-size: 22px;
    color: #2E6B51
}

.opng .gap-right {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.opng .gap-list-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px;
    background: #162219;
    border-radius: 9px;
    transition: box-shadow .16s ease-out
}

.opng .gap-list-item:hover {
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

.opng .gap-list-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: #1a3528;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center
}

.opng .gap-list-icon i {
    font-size: 16px;
    color: #6DC28A
}

.opng .gap-list-text {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.opng .gap-list-h {
    font-size: 15px;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0
}

.opng .gap-list-p {
    font-size: 14px;
    line-height: 1.75;
    color: #7aaa8e;
    margin: 0
}

.opng .offr-blk {
    padding: 96px 0 56px;
    background: #0e1a14;
    border-top: 1px solid #1e3328
}

.opng .offr-inner {
    display: flex;
    flex-direction: column;
    gap: 56px
}

.opng .offr-head {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
    text-align: center
}

.opng .offr-h2 {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #d5f1dd;
    margin: 0
}

.opng .offr-sub {
    font-size: 15px;
    line-height: 1.75;
    color: #8cb8a0;
    max-width: 560px;
    margin: 0
}

.opng .offr-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 14px;
    align-items: stretch
}

.opng .offr-card {
    background: #13201a;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 1px 3px 4px -2px #2e6b510d;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.6, 1), transform .16s ease-out
}

.opng .offr-card:hover {
    box-shadow: 1px 9px 36px -2px #6dc28a21;
    transform: translateY(-3px)
}

.opng .offr-card.featured {
    background: linear-gradient(160deg, #1a3528, #162219);
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

.opng .offr-card-icon {
    width: 44px;
    height: 44px;
    background: #1e3a2a;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 4px #6dc28a1a
}

.opng .offr-card-icon i {
    font-size: 22px;
    color: #6DC28A
}

.opng .offr-card-h {
    font-size: 18px;
    font-weight: 700;
    color: #d5f1dd;
    margin: 0
}

.opng .offr-card-p {
    font-size: 14px;
    line-height: 1.75;
    color: #7aaa8e;
    margin: 0;
    flex: 1
}

.opng .offr-card-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px
}

.opng .offr-tag {
    background: #2e6b5140;
    border-radius: 24px;
    padding: 6px 14px;
    font-size: 14px;
    color: #a8d8b8
}

.opng .offr-card-link {
    font-size: 14px;
    font-weight: 700;
    color: #6DC28A;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color .14s ease-out
}

.opng .offr-card-link:hover {
    color: #d5f1dd;
    text-decoration: underline
}

@keyframes height-reveal {
    from {
        max-height: 0;
        opacity: 0
    }

    to {
        max-height: 2000px;
        opacity: 1
    }
}

.opng .anim-reveal {
    animation: height-reveal .8s cubic-bezier(0.4, 0, 0.6, 1) forwards;
    overflow: hidden
}

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

    .opng .appr-cols {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 860px) {
    .opng .titl-inner {
        grid-template-columns: 1fr
    }

    .opng .titl-img-col {
        display: none
    }

    .opng .team-inner {
        grid-template-columns: 1fr
    }

    .opng .team-pull {
        position: static
    }

    .opng .appr-head {
        grid-template-columns: 1fr
    }

    .opng .gap-inner {
        grid-template-columns: 1fr
    }

    .opng .reput-stats {
        grid-template-columns: 1fr
    }

    .opng .offr-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 600px) {
    .opng .team-grid {
        grid-template-columns: 1fr
    }

    .opng .team-img-row {
        grid-template-columns: 1fr
    }

    .opng .appr-cols {
        grid-template-columns: 1fr
    }

    .opng .titl-h1 {
        font-size: 30px
    }

    .opng .appr-h2 {
        font-size: 30px
    }

    .opng .gap-h2 {
        font-size: 30px
    }
}

.abt-pg {
    background: #0d1f17;
    color: #d4edd9;
    overflow-x: clip;
    position: relative
}

.abt-pg .pg-bound {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 28px
}

.abt-pg .t-block {
    padding: 96px 28px 56px;
    position: relative;
    overflow: hidden
}

.abt-pg .t-block::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 80% at 20% 50%, #2e6b512e 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 80% 30%, #6dc28a12 0%, transparent 60%);
    pointer-events: none
}

.abt-pg .t-block-edge-glow {
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 80px -20px #2e6b5138 inset 0 0 2px 0 #6dc28a14;
    pointer-events: none;
    animation: edgeglow 4s ease-out infinite alternate
}

@keyframes edgeglow {
    0% {
        opacity: .5
    }

    100% {
        opacity: 1
    }
}

.abt-pg .t-curved-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}

.abt-pg .t-curved-bg svg {
    position: absolute;
    top: -40px;
    left: -60px;
    opacity: .06
}

.abt-pg .t-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 56px;
    align-items: start;
    position: relative;
    z-index: 1
}

.abt-pg .t-eyebrow {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6DC28A;
    font-weight: 600;
    margin-bottom: 28px;
    padding: 6px 14px;
    border: 1px solid #6dc28a40;
    border-radius: 5px;
    background: #6dc28a0f
}

.abt-pg .t-heading {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    color: #e8f5ec;
    margin: 0 0 28px;
    letter-spacing: -.01em
}

.abt-pg .t-heading .acc {
    background: linear-gradient(135deg, #6DC28A 0%, #D5F1DD 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.abt-pg .t-points {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 28px
}

.abt-pg .t-point {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 14px;
    padding: 14px;
    background: #2e6b511f;
    border-radius: 9px;
    box-shadow: 1px 3px 4px -2px #2e6b510d;
    transition: background .18s ease-out
}

.abt-pg .t-point:hover {
    background: #2e6b5138
}

.abt-pg .t-point-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: #6dc28a24;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6DC28A;
    font-size: 18px
}

.abt-pg .t-point-text {
    font-size: 15px;
    line-height: 1.75;
    color: #b8d9c2;
    margin: 0
}

.abt-pg .t-point-text strong {
    color: #6DC28A;
    font-weight: 700
}

.abt-pg .t-img-col {
    position: relative
}

.abt-pg .t-img-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

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

.abt-pg .t-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #2e6b518c 0%, #0d1f1726 60%, transparent 100%)
}

.abt-pg .t-founded-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: #0d1f17e0;
    border: 1px solid #6dc28a4d;
    border-radius: 9px;
    padding: 14px;
    box-shadow: 1px 4px 28px -2px #2e6b5117
}

.abt-pg .t-founded-badge .yr {
    font-size: 30px;
    font-weight: 700;
    color: #6DC28A;
    line-height: 1.1;
    display: block
}

.abt-pg .t-founded-badge .lbl {
    font-size: 14px;
    color: #7aaa8a;
    text-transform: uppercase;
    letter-spacing: .1em
}

.abt-pg .wave-div {
    line-height: 0;
    overflow: hidden
}

.abt-pg .wave-div svg {
    display: block;
    width: 100%
}

.abt-pg .ident-sec {
    background: linear-gradient(160deg, #152b1f 0%, #0f2218 50%, #112219 100%);
    padding: 96px 28px;
    position: relative;
    margin-left: 56px;
    border-radius: 16px 0 0 16px
}

.abt-pg .ident-sec::after {
    content: "";
    position: absolute;
    top: 28px;
    right: 28px;
    bottom: 28px;
    left: 28px;
    border-radius: 9px;
    box-shadow: inset 1px 1px 0 #6dc28a0f inset -1px -1px 0 #2e6b510a;
    pointer-events: none
}

.abt-pg .geo-circle {
    position: absolute;
    border-radius: 50%;
    border: 1px solid #6dc28a12;
    pointer-events: none
}

.abt-pg .geo-c1 {
    width: 320px;
    height: 320px;
    top: -80px;
    right: 60px
}

.abt-pg .geo-c2 {
    width: 180px;
    height: 180px;
    bottom: 40px;
    left: -40px;
    border-color: #2e6b511a
}

.abt-pg .ident-grid {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start;
    position: relative;
    z-index: 1
}

.abt-pg .ident-pull {
    position: sticky;
    top: 28px
}

.abt-pg .ident-pull-quote {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #6DC28A;
    margin: 0 0 28px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.abt-pg .ident-meta {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.abt-pg .ident-stat {
    padding: 14px;
    background: #2e6b5126;
    border-radius: 9px;
    border-top: 2px solid #6dc28a33;
    box-shadow: inset 0 1px 0 #6dc28a14
}

.abt-pg .ident-stat .num {
    font-size: 42px;
    font-weight: 700;
    color: #D5F1DD;
    line-height: 1.1;
    display: block
}

.abt-pg .ident-stat .desc {
    font-size: 14px;
    color: #7aaa8a;
    text-transform: uppercase;
    letter-spacing: .08em
}

.abt-pg .ident-body {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt-pg .ident-block {
    padding: 28px;
    background: #0d1f1799;
    border-radius: 16px;
    box-shadow: 1px 4px 28px -2px #2e6b5117;
    transition: box-shadow .16s ease-out
}

.abt-pg .ident-block:nth-child(even) {
    text-align: center
}

.abt-pg .ident-block:hover {
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.abt-pg .ident-block-head {
    font-size: 22px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #e8f5ec;
    margin: 0 0 14px;
    line-height: 1.1
}

.abt-pg .ident-block-body {
    font-size: 15px;
    line-height: 1.75;
    color: #9dc9aa;
    margin: 0
}

.abt-pg .ident-block-body strong {
    color: #6DC28A;
    font-weight: 700
}

.abt-pg .tag-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px
}

.abt-pg .tag-item {
    font-size: 14px;
    padding: 6px 14px;
    border-radius: 5px;
    background: #6dc28a1a;
    color: #6DC28A;
    border: 1px solid #6dc28a33;
    font-weight: 600;
    letter-spacing: .04em
}

.abt-pg .team-sec {
    background: #D5F1DD;
    padding: 96px 28px;
    position: relative;
    margin-right: 56px;
    border-radius: 0 16px 16px 0
}

.abt-pg .team-sec .geo-circle {
    border-color: #2e6b5114
}

.abt-pg .team-sec .geo-c1 {
    width: 280px;
    height: 280px;
    bottom: -60px;
    left: 40px
}

.abt-pg .team-sec .geo-c2 {
    width: 160px;
    height: 160px;
    top: 28px;
    right: -28px;
    border-color: #2e6b510f
}

.abt-pg .team-inner {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.abt-pg .team-top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px;
    margin-bottom: 56px
}

.abt-pg .team-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 4px 28px -2px #2e6b5117;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.6, 1), transform .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.abt-pg .team-card:hover {
    box-shadow: 1px 9px 36px -2px #2e6b5121;
    transform: translateY(-4px)
}

.abt-pg .team-card-img {
    aspect-ratio: 1/1;
    overflow: hidden;
    position: relative
}

.abt-pg .team-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abt-pg .team-card-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, #2e6b5166 100%)
}

.abt-pg .team-card-info {
    padding: 14px
}

.abt-pg .team-card-name {
    font-size: 18px;
    font-weight: 700;
    color: #0d1f17;
    margin: 0 0 6px;
    line-height: 1.1
}

.abt-pg .team-card-role {
    font-size: 14px;
    color: #2E6B51;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600
}

.abt-pg .team-card-note {
    font-size: 14px;
    color: #3d7a5a;
    line-height: 1.75;
    margin: 6px 0 0
}

.abt-pg .team-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: center
}

.abt-pg .team-about-text {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.abt-pg .team-about-text h3 {
    font-size: 30px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #0d1f17;
    margin: 0;
    line-height: 1.1
}

.abt-pg .team-about-text p {
    font-size: 15px;
    line-height: 1.75;
    color: #2a5a3a;
    margin: 0
}

.abt-pg .team-about-text strong {
    color: #2E6B51;
    font-weight: 700
}

.abt-pg .team-contact-block {
    background: #2E6B51;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.abt-pg .team-contact-block h4 {
    font-size: 22px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #D5F1DD;
    margin: 0;
    line-height: 1.1
}

.abt-pg .contact-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: #d5f1dd1a;
    border-radius: 9px;
    transition: background .16s ease-out
}

.abt-pg .contact-row:hover {
    background: #d5f1dd2e
}

.abt-pg .contact-row-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: #6dc28a33;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #D5F1DD;
    font-size: 18px
}

.abt-pg .contact-row-detail {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.abt-pg .contact-row-label {
    font-size: 14px;
    color: #d5f1dd99;
    text-transform: uppercase;
    letter-spacing: .08em
}

.abt-pg .contact-row-val {
    font-size: 15px;
    color: #D5F1DD;
    font-weight: 600;
    text-decoration: none;
    transition: color .14s ease-out
}

.abt-pg .contact-row-val:hover {
    color: #fff;
    text-decoration: underline
}

@media (max-width: 1024px) {
    .abt-pg .t-inner {
        grid-template-columns: 1fr
    }

    .abt-pg .t-img-col {
        max-width: 400px
    }

    .abt-pg .ident-sec {
        margin-left: 0;
        border-radius: 0
    }

    .abt-pg .ident-grid {
        grid-template-columns: 1fr
    }

    .abt-pg .ident-pull {
        position: static
    }

    .abt-pg .team-sec {
        margin-right: 0;
        border-radius: 0
    }

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

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

@media (max-width: 700px) {
    .abt-pg .t-heading {
        font-size: 42px
    }

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

    .abt-pg .ident-pull-quote {
        font-size: 22px
    }
}

.tech-req {
    background: #0d1a14;
    color: #d4e8dc;
    overflow-x: clip
}

.tech-req .pg-wrap {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 28px
}

.tech-req .title-blk {
    position: relative;
    padding: 96px 28px 56px;
    background: radial-gradient(ellipse at 50% 60%, #2e6b5161 0%, #0d1a14 72%)
}

.tech-req .title-blk::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #2E6B51 40%, #6DC28A 60%, transparent 100%)
}

.tech-req .title-blk::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 56px 56px 0;
    border-color: transparent #2E6B51 transparent transparent;
    opacity: .35
}

.tech-req .title-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start
}

.tech-req .title-text {
    flex: 1 1 55%
}

.tech-req .title-eyebrow {
    display: inline-block;
    font-size: 14px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #6DC28A;
    font-weight: 600;
    margin-bottom: 28px;
    padding: 6px 14px;
    border: 1px solid #6dc28a4d;
    border-radius: 5px
}

.tech-req .title-h1 {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #e8f5ed;
    margin-bottom: 28px
}

.tech-req .title-h1 strong {
    font-weight: 700;
    color: #6DC28A
}

.tech-req .title-thesis {
    font-size: 18px;
    line-height: 1.75;
    color: #a8cdb8;
    max-width: 520px;
    margin-bottom: 28px
}

.tech-req .title-thesis-b {
    font-size: 15px;
    line-height: 1.75;
    color: #8ab8a0;
    max-width: 520px
}

.tech-req .title-img-col {
    flex: 1 1 40%;
    position: relative
}

.tech-req .title-img-wrap {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.tech-req .title-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mask-image: linear-gradient(to bottom, #0000004d 0%, #000f 40%);
    -webkit-mask-image: linear-gradient(to bottom, #0000004d 0%, #000f 40%)
}

.tech-req .divider-a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 0
}

.tech-req .divider-a .d-line {
    flex: 1 1 auto;
    height: 1px;
    background: #2e6b5166;
    max-width: 200px
}

.tech-req .divider-a .d-diamond {
    width: 8px;
    height: 8px;
    background: #2E6B51;
    transform: rotate(45deg);
    border-radius: 2px;
    flex-shrink: 0
}

.tech-req .req-grid-sec {
    padding: 56px 28px;
    background: #0f1f17;
    position: relative
}

.tech-req .req-grid-sec::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #2E6B51 transparent transparent;
    opacity: .2
}

.tech-req .req-grid-sec .sec-label {
    font-size: 14px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #6DC28A;
    font-weight: 600;
    text-align: center;
    margin-bottom: 14px
}

.tech-req .req-grid-sec .sec-head {
    font-size: 30px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 300;
    color: #e8f5ed;
    text-align: center;
    margin-bottom: 6px
}

.tech-req .req-grid-sec .sec-sub {
    font-size: 15px;
    line-height: 1.75;
    color: #8ab8a0;
    text-align: center;
    max-width: 600px;
    margin: 0 auto 56px
}

.tech-req .req-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1500px;
    margin: 0 auto
}

.tech-req .req-card {
    background: #122019;
    border-radius: 16px;
    padding: 28px;
    border: 1px solid #2e6b5140;
    box-shadow: 1px 4px 28px -2px #2e6b5117;
    transition: border-color .18s ease-out, box-shadow .18s ease-out;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.tech-req .req-card:hover {
    border-color: #6dc28a80;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.tech-req .req-card-icon {
    width: 44px;
    height: 44px;
    background: #2e6b5140;
    border-radius: 9px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: inset 1px 3px 4px -2px #6dc28a1f
}

.tech-req .req-card-icon svg {
    width: 22px;
    height: 22px;
    stroke: #6DC28A;
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round
}

.tech-req .req-card-name {
    font-size: 15px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 600;
    color: #d4e8dc
}

.tech-req .req-card-body {
    font-size: 14px;
    line-height: 1.75;
    color: #8ab8a0
}

.tech-req .req-badge-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px
}

.tech-req .req-badge {
    font-size: 14px;
    line-height: 1.1;
    padding: 6px 14px;
    background: #2e6b5133;
    border: 1px solid #2e6b5166;
    border-radius: 5px;
    color: #6DC28A;
    font-weight: 500
}

.tech-req .divider-b {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 28px;
    background: #0f1f17
}

.tech-req .divider-b .d-line {
    flex: 0 0 120px;
    height: 1px;
    background: #6dc28a4d
}

.tech-req .divider-b .d-diamond {
    width: 8px;
    height: 8px;
    background: #6DC28A;
    transform: rotate(45deg);
    border-radius: 2px;
    flex-shrink: 0
}

.tech-req .compat-sec {
    padding: 56px 28px 96px;
    background: #0d1a14;
    position: relative
}

.tech-req .compat-sec::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 48px 48px;
    border-color: transparent transparent transparent #2E6B51;
    opacity: .18
}

.tech-req .compat-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start
}

.tech-req .compat-img-col {
    flex: 0 0 420px;
    position: relative
}

.tech-req .compat-img-wrap {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 9px 36px -2px #2e6b5121
}

.tech-req .compat-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.tech-req .compat-img-accent {
    position: absolute;
    bottom: -14px;
    left: -14px;
    width: 80px;
    height: 80px;
    border-radius: 9px;
    background: linear-gradient(135deg, #2E6B51, #6DC28A);
    opacity: .18;
    pointer-events: none
}

.tech-req .compat-text-col {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 28px
}

.tech-req .compat-eyebrow {
    font-size: 14px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #6DC28A;
    font-weight: 600
}

.tech-req .compat-head {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #e8f5ed
}

.tech-req .compat-head strong {
    font-weight: 700;
    color: #6DC28A
}

.tech-req .compat-pull {
    display: flex;
    flex-direction: row;
    gap: 28px;
    align-items: flex-start
}

.tech-req .pull-quote {
    flex: 0 0 auto;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    color: #6DC28A;
    max-width: 160px;
    padding-right: 28px;
    border-right: 2px solid #6dc28a4d
}

.tech-req .pull-body {
    flex: 1 1 auto;
    font-size: 15px;
    line-height: 1.75;
    color: #a8cdb8
}

.tech-req .compat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.tech-req .compat-item {
    background: #122019;
    border-radius: 9px;
    padding: 14px;
    border: 1px solid #2e6b5133;
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
    transition: background .14s ease-out
}

.tech-req .compat-item:hover {
    background: #162b20
}

.tech-req .compat-item-icon {
    width: 32px;
    height: 32px;
    background: #2e6b514d;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: inset 1px 3px 4px -2px #6dc28a1a
}

.tech-req .compat-item-icon svg {
    width: 16px;
    height: 16px;
    stroke: #6DC28A;
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round
}

.tech-req .compat-item-label {
    font-size: 14px;
    line-height: 1.1;
    font-weight: 600;
    color: #d4e8dc;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.tech-req .compat-item-val {
    font-size: 14px;
    line-height: 1.75;
    color: #7aaa90
}

.tech-req .vpn-note {
    background: #2e6b511f;
    border-radius: 9px;
    padding: 14px 28px;
    border: 1px solid #2e6b514d;
    font-size: 15px;
    line-height: 1.75;
    color: #a8cdb8;
    box-shadow: inset 1px 3px 4px -2px #6dc28a14
}

.tech-req .vpn-note strong {
    color: #6DC28A;
    font-weight: 700
}

@keyframes warmcool {
    0% {
        background-color: #0d1a14
    }

    40% {
        background-color: #0e1c15
    }

    70% {
        background-color: #0c1812
    }

    100% {
        background-color: #0d1a14
    }
}

.tech-req {
    animation: warmcool 18s cubic-bezier(0.4, 0, 0.6, 1) infinite
}

@media (max-width: 1024px) {
    .tech-req .title-inner {
        flex-direction: column;
        gap: 28px
    }

    .tech-req .title-img-col {
        flex: 0 0 auto;
        max-width: 480px
    }

    .tech-req .req-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .tech-req .compat-inner {
        flex-direction: column;
        gap: 28px
    }

    .tech-req .compat-img-col {
        flex: 0 0 auto;
        max-width: 420px
    }
}

@media (max-width: 700px) {
    .tech-req .title-h1 {
        font-size: 30px
    }

    .tech-req .req-grid {
        grid-template-columns: 1fr
    }

    .tech-req .compat-head {
        font-size: 30px
    }

    .tech-req .compat-row {
        grid-template-columns: 1fr
    }

    .tech-req .compat-pull {
        flex-direction: column;
        gap: 14px
    }

    .tech-req .pull-quote {
        border-right: none;
        padding-right: 0;
        border-bottom: 2px solid #6dc28a4d;
        padding-bottom: 14px;
        max-width: 100%
    }

    .tech-req .title-blk,
    .tech-req .req-grid-sec,
    .tech-req .compat-sec {
        padding-left: 14px;
        padding-right: 14px
    }
}

.success-pg {
    min-height: 100vh;
    background: #0d1f17;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 28px
}

.success-pg .success-wrap {
    max-width: 560px;
    width: 100%;
    background: #112318;
    border: 1px solid #2E6B51;
    border-radius: 16px;
    padding: 56px;
    box-shadow: 1px 9px 36px -2px #2e6b5121;
    text-align: center
}

.success-pg .icon-ring {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2E6B51, #6DC28A);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
    box-shadow: 1px 4px 28px -2px #6dc28a17
}

.success-pg .icon-ring svg {
    display: block
}

.success-pg .success-heading {
    font-size: 30px;
    line-height: 1.1;
    color: #D5F1DD;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin: 0 0 14px
}

.success-pg .success-msg {
    font-size: 15px;
    line-height: 1.75;
    color: #8bbfa0;
    margin: 0 0 28px
}

.success-pg .success-msg strong {
    color: #6DC28A;
    font-weight: 600
}

.success-pg .divider-line {
    width: 56px;
    height: 1px;
    background: #2E6B51;
    margin: 0 auto 28px
}

.success-pg .back-link {
    display: inline-block;
    padding: 14px 28px;
    background: #6DC28A;
    color: #0d1f17;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    text-decoration: none;
    border-radius: 9px;
    border: none;
    transition: background .18s ease-out, box-shadow .15s ease-out;
    box-shadow: 1px 3px 4px -2px #2e6b510d
}

.success-pg .back-link:hover {
    background: #D5F1DD;
    box-shadow: 1px 4px 28px -2px #6dc28a17
}

.success-pg .back-link:focus {
    outline: 2px solid #6DC28A;
    outline-offset: 3px
}

.success-pg .site-ref {
    margin-top: 28px;
    font-size: 14px;
    color: #3d6b52;
    line-height: 1.75
}