@import "https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;1,400;0,700;1,700&display=swap";

*,
::before,
::after {
    content: none;
    box-sizing: border-box
}

body {
    margin: 0;
    padding: 0
}

.top-bar {
    background: #117161;
    padding: 8px 0
}

.top-bar-pod {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.top-bar-contact {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap
}

.top-bar-link {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #FFFEED;
    text-decoration: none;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .15s ease-out
}

.top-bar-link:hover,
.top-bar-link:focus {
    color: #F14092;
    outline: none
}

.top-bar-link:focus-visible {
    outline: 2px solid;
    outline-color: #F14092;
    outline-offset: 2px;
    border-radius: 4px
}

.top-bar-icon {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.top-bar-tagline {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #fffeedb3;
    letter-spacing: .04em;
    font-style: italic
}

.site-header {
    background: linear-gradient(135deg, #0d5a4d 0%, #117161 40%, #1a8a75 70%, #0f6358 100%);
    position: relative;
    overflow: hidden
}

.site-header::before {
    content: '';
    position: absolute;
    top: -32px;
    right: -64px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: #f1409214;
    pointer-events: none
}

.site-header::after {
    content: '';
    position: absolute;
    bottom: -16px;
    left: 25%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: #fffeed0a;
    pointer-events: none
}

.brand-pod {
    max-width: 1500px;
    margin: 0 auto;
    padding: 32px 32px 16px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px;
    flex-wrap: wrap
}

.brand-value {
    flex: 1;
    min-width: 200px
}

.brand-value-text {
    font-family: 'Spectral', serif;
    font-size: 20px;
    line-height: 1.7;
    color: #FFFEED;
    letter-spacing: .01em;
    max-width: 480px
}

.brand-value-text strong {
    color: #F14092;
    font-weight: 700
}

.logo-frame {
    background: #fffeed1f;
    border-radius: 12px;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 3px -1px #f1409214 0 5px 25px -1px #f1409217;
    border: 1px solid #fffeed33;
    flex-shrink: 0
}

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

.nav-strip {
    border-top: 1px solid #fffeed1f;
    background: #0000001f
}

.nav-pod {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: stretch;
    gap: 0;
    flex-wrap: wrap
}

.nav-item {
    font-family: 'Spectral', serif;
    font-size: 17px;
    line-height: 1.15;
    color: #FFFEED;
    text-decoration: none;
    padding: 16px 32px;
    letter-spacing: .01em;
    display: flex;
    align-items: center;
    position: relative;
    transition: color .12s ease, background-color .12s ease
}

.nav-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 32px;
    right: 32px;
    height: 3px;
    background: #F14092;
    border-radius: 4px 4px 0 0;
    transform: scaleX(0);
    transition: transform .18s ease-out
}

.nav-item:hover,
.nav-item:focus {
    color: #FFFEED;
    background: #f140921f;
    outline: none
}

.nav-item:hover::after,
.nav-item:focus::after {
    transform: scaleX(1)
}

.nav-item:focus-visible {
    outline: 2px solid #F14092;
    outline-offset: -2px
}

.nav-item.active {
    color: #F14092;
    font-weight: 700
}

.nav-item.active::after {
    transform: scaleX(1)
}

.site-footer {
    background: linear-gradient(160deg, #0d5a4d 0%, #117161 50%, #0a4a3f 100%);
    padding: 64px 0 0
}

.footer-logo-band {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px 32px;
    border-bottom: 1px solid #fffeed26
}

.footer-logo-frame {
    background: #fffeed1a;
    border-radius: 12px;
    padding: 16px 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 25px -1px #11716117;
    border: 1px solid #fffeed2e
}

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

.footer-cols-deck {
    max-width: 1500px;
    margin: 0 auto;
    padding: 32px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 64px
}

.footer-addr-cell {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer-company-name {
    font-family: 'Spectral', serif;
    font-size: 20px;
    line-height: 1.15;
    color: #FFFEED;
    font-weight: 700;
    letter-spacing: -.01em
}

.footer-addr-text {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #fffeedbf;
    font-style: normal
}

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

.footer-contact-link {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #fffeedbf;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .15s ease-out
}

.footer-contact-link:hover,
.footer-contact-link:focus {
    color: #F14092;
    outline: none
}

.footer-contact-link:focus-visible {
    outline: 2px solid #F14092;
    outline-offset: 2px;
    border-radius: 4px
}

.footer-contact-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.footer-links-cell {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer-links-label {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #fffeed80;
    letter-spacing: .06em;
    text-transform: uppercase
}

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

.footer-link-item {
    font-family: 'Spectral', serif;
    font-size: 17px;
    line-height: 1.7;
    color: #fffeedcc;
    text-decoration: none;
    letter-spacing: .01em;
    transition: color .12s ease-out
}

.footer-link-item:hover,
.footer-link-item:focus {
    color: #F14092;
    outline: none
}

.footer-link-item:focus-visible {
    outline: 2px solid #F14092;
    outline-offset: 2px;
    border-radius: 4px
}

.footer-bottom-bar {
    background: #0003;
    padding: 16px 0;
    margin-top: 0
}

.footer-bottom-pod {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.footer-copy {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #fffeed80;
    letter-spacing: .02em
}

.footer-legal-links {
    display: flex;
    gap: 32px;
    flex-wrap: wrap
}

.footer-legal-link {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #fffeed80;
    text-decoration: none;
    letter-spacing: .02em;
    transition: color .15s ease-out
}

.footer-legal-link:hover,
.footer-legal-link:focus {
    color: #FFFEED;
    outline: none
}

.footer-legal-link:focus-visible {
    outline: 2px solid #F14092;
    outline-offset: 2px;
    border-radius: 4px
}

.consent-card {
    position: fixed;
    bottom: 32px;
    left: 32px;
    width: 340px;
    background: #FFFEED;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 9px 60px -1px #1171611a 0 5px 25px -1px #11716117;
    z-index: 4000;
    display: none;
    opacity: 0;
    transition: opacity .26s ease;
    max-width: calc(100vw - 64px)
}

.consent-card.visible {
    opacity: 1
}

.consent-desc {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #117161;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.consent-cats {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.consent-cat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.consent-cat-label {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    color: #0d5a4d
}

.consent-cat-label.required {
    color: #0d5a4d99;
    font-style: italic
}

.consent-toggle {
    width: 36px;
    height: 20px;
    border-radius: 36px;
    background: #d4d4c8;
    border: none;
    cursor: pointer;
    position: relative;
    transition: background-color .18s ease-out;
    flex-shrink: 0
}

.consent-toggle.on {
    background: #117161
}

.consent-toggle-dot {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #FFFEED;
    transition: transform .18s ease-out;
    pointer-events: none
}

.consent-toggle.on .consent-toggle-dot {
    transform: translateX(16px)
}

.consent-toggle:disabled {
    opacity: .5;
    cursor: not-allowed
}

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

.consent-btn {
    font-family: 'Spectral', serif;
    font-size: 15px;
    line-height: 1.15;
    text-decoration: underline;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    letter-spacing: .01em;
    transition: color .12s ease-out
}

.consent-accept {
    color: #117161
}

.consent-accept:hover,
.consent-accept:focus {
    color: #F14092;
    outline: none
}

.consent-accept:focus-visible {
    outline: 2px solid #117161;
    outline-offset: 2px;
    border-radius: 4px
}

.consent-decline {
    color: #11716199
}

.consent-decline:hover,
.consent-decline:focus {
    color: #F14092;
    outline: none
}

.consent-decline:focus-visible {
    outline: 2px solid #117161;
    outline-offset: 2px;
    border-radius: 4px
}

.prefs-trigger {
    position: fixed;
    bottom: 32px;
    left: 32px;
    width: 44px;
    height: 44px;
    border-radius: 36px;
    background: #117161;
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3999;
    box-shadow: 0 5px 25px -1px #11716117;
    transition: background-color .15s ease-out, transform .15s ease-out
}

.prefs-trigger:hover,
.prefs-trigger:focus {
    background: #F14092;
    transform: scale(1.06);
    outline: none
}

.prefs-trigger:focus-visible {
    outline: 2px solid #FFFEED;
    outline-offset: 2px
}

.prefs-trigger-icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #FFFEED;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

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

    .footer-addr-cell {
        grid-column: 1 / -1
    }
}

@media (max-width: 768px) {
    .brand-pod {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 16px 16px
    }

    .logo-frame {
        align-self: flex-end
    }

    .nav-pod {
        padding: 0 16px
    }

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

    .nav-item::after {
        left: 16px;
        right: 16px
    }

    .top-bar-pod {
        padding: 0 16px
    }

    .footer-cols-deck {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 16px
    }

    .footer-addr-cell {
        grid-column: auto
    }

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

    .footer-logo-band {
        padding: 0 16px 32px
    }
}

@media (max-width: 640px) {
    .top-bar-contact {
        gap: 16px
    }

    .top-bar-tagline {
        display: none
    }

    .consent-card {
        left: 16px;
        bottom: 16px;
        width: calc(100vw - 32px);
        max-width: calc(100vw - 32px);
        padding: 16px
    }

    .prefs-trigger {
        left: 16px;
        bottom: 16px
    }
}

.doc-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 64px 32px;
    color: #2d2d2d
}

.doc-inner ul,
.doc-inner ol {
    padding-left: 32px;
    margin-bottom: 32px
}

.doc-inner li {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 8px;
    color: #2d2d2d
}

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

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

.doc-inner ul ul,
.doc-inner ol ol,
.doc-inner ul ol,
.doc-inner ol ul {
    margin-top: 8px;
    margin-bottom: 8px
}

.doc-inner strong,
.doc-inner b {
    font-weight: 700;
    color: #1a3d36
}

.doc-inner em,
.doc-inner i {
    font-style: italic;
    color: #3a3a3a
}

.doc-inner a {
    color: #117161;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .15s ease-out, text-decoration-color .15s ease-out
}

.doc-inner a:hover {
    color: #F14092;
    text-decoration-color: #F14092
}

.doc-inner a:visited {
    color: #0d5549
}

.doc-inner table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    font-size: 15px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 3px -1px #f1409214
}

.doc-inner thead {
    background-color: #117161
}

.doc-inner thead th {
    color: #FFFEED;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .03em;
    padding: 16px;
    text-align: left
}

.doc-inner tbody tr {
    border-bottom: 1px solid #e8e8e0;
    transition: background-color .12s ease-out
}

.doc-inner tbody tr:nth-child(even) {
    background-color: #FFFEED
}

.doc-inner tbody tr:hover {
    background-color: #f5f5ec
}

.doc-inner td {
    padding: 16px;
    font-size: 15px;
    line-height: 1.7;
    color: #2d2d2d;
    vertical-align: top
}

.doc-inner hr {
    border: none;
    border-top: 2px solid #e2e2d8;
    margin: 32px 0;
    border-radius: 4px
}

.doc-inner div {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d
}

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

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

    .doc-inner ul,
    .doc-inner ol {
        padding-left: 16px
    }
}

@media (max-width: 640px) {
    .doc-inner {
        padding: 32px 8px
    }

    .doc-inner li {
        font-size: 15px
    }

    .doc-inner td,
    .doc-inner thead th {
        padding: 8px;
        font-size: 15px
    }
}

.tm-root {
    max-width: 1500px;
    margin: 0 auto;
    overflow-x: clip
}

.tm-root .tm-hero {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    padding: 64px;
    position: relative;
    background: linear-gradient(97deg, #fff9f4 0%, #FFFEED 100%)
}

.tm-root .tm-hero-bg-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.tm-root .tm-hero-bg-lines svg {
    width: 100%;
    height: 100%;
    opacity: .18
}

.tm-root .tm-hero-left {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: center;
    z-index: 1
}

.tm-root .tm-hero-label {
    font-size: 15px;
    letter-spacing: .12em;
    color: #117161;
    text-transform: uppercase;
    font-weight: 600
}

.tm-root .tm-hero-heading {
    font-size: 68px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #1b1b1b;
    margin: 0
}

.tm-root .tm-hero-heading .accent-word {
    color: #F14092;
    text-decoration: underline;
    text-decoration-color: #F14092;
    text-underline-offset: 6px;
    text-decoration-thickness: 3px
}

.tm-root .tm-hero-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d;
    max-width: 380px;
    margin: 0
}

.tm-root .tm-hero-right {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center
}

.tm-root .tm-hero-img-wrap {
    position: relative;
    width: 100%;
    max-width: 680px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #f140921a
}

.tm-root .tm-hero-img-wrap img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
    transition: transform .5s ease-out
}

.tm-root .tm-hero-img-wrap:hover img {
    transform: scale(1.04)
}

.tm-root .tm-hero-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    box-shadow: inset 0 0 60px 20px #fffeed61;
    pointer-events: none
}

.tm-root .tm-diamond {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 48px;
    height: 48px;
    background: linear-gradient(97deg, #F14092, #117161);
    transform: rotate(45deg);
    border-radius: 6px;
    opacity: .72;
    pointer-events: none
}

.tm-root .tm-stats-band {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #117161;
    padding: 48px 64px;
    gap: 32px;
    position: relative;
    overflow: hidden
}

.tm-root .tm-stats-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 18px, #ffffff0a 18px, #ffffff0a 19px);
    animation: scanlines 6s linear infinite;
    pointer-events: none
}

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

    100% {
        background-position: 0 76px
    }
}

.tm-root .tm-stat-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    z-index: 1
}

.tm-root .tm-stat-num {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.04em;
    color: #FFFEED;
    font-weight: 700
}

.tm-root .tm-stat-num span {
    color: #F14092
}

.tm-root .tm-stat-label {
    font-size: 15px;
    line-height: 1.7;
    color: #fffeedc7
}

.tm-root .tm-stat-bar {
    width: 100%;
    height: 4px;
    background: #fffeed26;
    border-radius: 4px;
    margin-top: 8px;
    overflow: hidden
}

.tm-root .tm-stat-bar-fill {
    height: 100%;
    background: linear-gradient(97deg, #F14092, #FFFEED);
    border-radius: 4px;
    transition: width .5s ease-out
}

.tm-root .tm-people {
    padding: 64px;
    background: #fff
}

.tm-root .tm-people-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 48px
}

.tm-root .tm-people-heading {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #1b1b1b;
    margin: 0
}

.tm-root .tm-people-heading .first-word {
    color: #F14092
}

.tm-root .tm-people-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d;
    max-width: 340px;
    margin: 0
}

.tm-root .tm-people-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 32px
}

.tm-root .tm-person {
    background: #FFFEED;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 5px 25px -1px #11716117;
    transition: transform .2s ease-out, box-shadow .2s ease-out
}

.tm-root .tm-person:hover {
    transform: scale(1.03);
    box-shadow: 0 9px 60px -1px #1171611a
}

.tm-root .tm-person.featured {
    background: linear-gradient(97deg, #f7fff5 0%, #FFFEED 100%);
    grid-row: span 1
}

.tm-root .tm-person-avatar {
    width: 64px;
    height: 64px;
    border-radius: 36px;
    background: linear-gradient(97deg, #F14092, #117161);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.tm-root .tm-person-avatar svg {
    width: 32px;
    height: 32px;
    fill: #FFFEED
}

.tm-root .tm-person-name {
    font-size: 20px;
    line-height: 1.15;
    color: #1b1b1b;
    margin: 0;
    font-weight: 700
}

.tm-root .tm-person-role {
    font-size: 15px;
    color: #117161;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0
}

.tm-root .tm-person-bio {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.tm-root .tm-person-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px
}

.tm-root .tm-tag {
    font-size: 15px;
    color: #117161;
    background: #11716117;
    border-radius: 4px;
    padding: 4px 12px;
    font-weight: 600
}

.tm-root .tm-approach {
    padding: 64px;
    background: linear-gradient(180deg, #117161 0%, #1e8e7a 60%, #FFFEED 100%);
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start
}

.tm-root .tm-approach-left {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 16px
}

.tm-root .tm-approach-heading {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #FFFEED;
    margin: 0
}

.tm-root .tm-approach-heading .first-word {
    color: #F14092
}

.tm-root .tm-approach-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #fffeede0;
    margin: 0
}

.tm-root .tm-approach-right {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.tm-root .tm-approach-item {
    background: #fffeed1a;
    border-radius: 12px;
    padding: 32px;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    transition: background .18s ease-out
}

.tm-root .tm-approach-item:hover {
    background: #fffeed2e
}

.tm-root .tm-approach-num {
    font-size: 26px;
    line-height: 1.15;
    color: #F14092;
    font-weight: 700;
    letter-spacing: -.04em
}

.tm-root .tm-approach-item-heading {
    font-size: 20px;
    line-height: 1.15;
    color: #FFFEED;
    margin: 0 0 8px;
    font-weight: 700
}

.tm-root .tm-approach-item-text {
    font-size: 15px;
    line-height: 1.7;
    color: #fffeedcc;
    margin: 0
}

@media (max-width: 1024px) {
    .tm-root .tm-hero {
        grid-template-columns: 1fr;
        padding: 64px 32px;
        gap: 32px
    }

    .tm-root .tm-hero-heading {
        font-size: 50px
    }

    .tm-root .tm-stats-band {
        grid-template-columns: repeat(2, 1fr);
        padding: 48px 32px
    }

    .tm-root .tm-people {
        padding: 64px 32px
    }

    .tm-root .tm-people-grid {
        grid-template-columns: 1fr 1fr
    }

    .tm-root .tm-approach {
        grid-template-columns: 1fr;
        padding: 64px 32px;
        gap: 32px
    }
}

@media (max-width: 768px) {
    .tm-root .tm-hero {
        padding: 32px 16px
    }

    .tm-root .tm-hero-heading {
        font-size: 50px
    }

    .tm-root .tm-stats-band {
        grid-template-columns: 1fr 1fr;
        padding: 32px 16px
    }

    .tm-root .tm-people {
        padding: 32px 16px
    }

    .tm-root .tm-people-top {
        flex-direction: column;
        align-items: flex-start
    }

    .tm-root .tm-people-heading {
        font-size: 26px
    }

    .tm-root .tm-people-grid {
        grid-template-columns: 1fr
    }

    .tm-root .tm-approach {
        padding: 32px 16px;
        gap: 32px
    }

    .tm-root .tm-approach-heading {
        font-size: 26px
    }
}

@media (max-width: 640px) {
    .tm-root .tm-hero-heading {
        font-size: 26px
    }

    .tm-root .tm-stats-band {
        grid-template-columns: 1fr
    }

    .tm-root .tm-stat-num {
        font-size: 26px
    }
}

.lrn-prog {
    background: #fff;
    overflow-x: clip
}

.lrn-prog .lp-title-block {
    background: #0d2b25;
    padding: 64px 32px;
    position: relative
}

.lrn-prog .lp-title-block .dot-scatter {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.lrn-prog .lp-title-block .dot-scatter span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 36px;
    background: #FFFEED;
    opacity: .13
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(1) {
    top: 12%;
    left: 8%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(2) {
    top: 28%;
    left: 22%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(3) {
    top: 55%;
    left: 5%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(4) {
    top: 70%;
    left: 35%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(5) {
    top: 18%;
    left: 60%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(6) {
    top: 42%;
    left: 78%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(7) {
    top: 80%;
    left: 88%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(8) {
    top: 8%;
    left: 92%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(9) {
    top: 62%;
    left: 52%
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(10) {
    top: 35%;
    left: 44%;
    width: 6px;
    height: 6px
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(11) {
    top: 90%;
    left: 15%;
    width: 3px;
    height: 3px
}

.lrn-prog .lp-title-block .dot-scatter span:nth-child(12) {
    top: 5%;
    left: 48%;
    width: 3px;
    height: 3px
}

.lrn-prog .lp-title-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px;
    position: relative;
    z-index: 1
}

.lrn-prog .lp-title-text {
    flex: 1 1 0
}

.lrn-prog .lp-eyebrow {
    font-size: 15px;
    color: #F14092;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.15
}

.lrn-prog .lp-h1 {
    font-size: 68px;
    line-height: 1.15;
    color: #FFFEED;
    letter-spacing: -.02em;
    margin-bottom: 32px
}

.lrn-prog .lp-h1 .accent-word {
    color: #F14092
}

.lrn-prog .lp-counter-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-bottom: 32px
}

.lrn-prog .lp-counter {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .lp-counter .num {
    font-size: 50px;
    line-height: 1.15;
    color: #FFFEED;
    letter-spacing: -.03em
}

.lrn-prog .lp-counter .num .unit {
    font-size: 26px;
    color: #F14092
}

.lrn-prog .lp-counter .lbl {
    font-size: 15px;
    color: #a8c4be;
    line-height: 1.7;
    border-top: 1px solid #1f4f44;
    padding-top: 8px
}

.lrn-prog .lp-desc {
    font-size: 17px;
    color: #c8ddd8;
    line-height: 1.7;
    max-width: 520px
}

.lrn-prog .lp-img-col {
    flex: 0 0 420px;
    position: relative
}

.lrn-prog .lp-img-frame {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 9px 60px -1px #1171611a
}

.lrn-prog .lp-img-frame img {
    width: 420px;
    height: 340px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
    filter: saturate(0.7) brightness(0.85) hue-rotate(0deg)
}

.lrn-prog .lp-img-frame .img-tint {
    position: absolute;
    inset: 0;
    background: linear-gradient(97deg, #11716161, #f140922e);
    border-radius: 12px;
    pointer-events: none;
    transition: opacity .2s ease-out;
    opacity: 1
}

.lrn-prog .lp-img-frame:hover .img-tint {
    opacity: .55
}

.lrn-prog .lp-img-frame .img-border {
    position: absolute;
    inset: 0;
    border-radius: 12px;
    border: 2px solid #f1409247;
    pointer-events: none
}

.lrn-prog .lp-brushstroke {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #0d2b25
}

.lrn-prog .lp-brushstroke svg {
    display: block;
    width: 100%
}

.lrn-prog .lp-detail-block {
    background: #fff;
    padding: 64px 32px
}

.lrn-prog .lp-detail-inner {
    max-width: 1500px;
    margin: 0 auto
}

.lrn-prog .lp-detail-top {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    margin-bottom: 64px
}

.lrn-prog .lp-detail-lead {
    flex: 1 1 0
}

.lrn-prog .lp-detail-lead .sec-label {
    font-size: 15px;
    color: #117161;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.15
}

.lrn-prog .lp-detail-lead .sec-h2 {
    font-size: 50px;
    line-height: 1.15;
    color: #0d2b25;
    letter-spacing: -.02em;
    margin-bottom: 16px
}

.lrn-prog .lp-detail-lead .sec-h2 .col2 {
    color: #117161
}

.lrn-prog .lp-detail-lead .lead-p {
    font-size: 17px;
    color: #2a4a42;
    line-height: 1.7;
    max-width: 480px
}

.lrn-prog .lp-detail-aside {
    flex: 0 0 340px;
    background: #FFFEED;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 5px 25px -1px #11716117
}

.lrn-prog .lp-detail-aside .aside-title {
    font-size: 20px;
    color: #0d2b25;
    line-height: 1.15;
    margin-bottom: 16px;
    letter-spacing: -.01em
}

.lrn-prog .lp-detail-aside .aside-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #d6e8e4
}

.lrn-prog .lp-detail-aside .aside-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.lrn-prog .lp-detail-aside .aside-item .ai-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: linear-gradient(97deg, #F14092, #117161);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.lrn-prog .lp-detail-aside .aside-item .ai-icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #FFFEED;
    stroke-width: 2;
    stroke-linecap: round
}

.lrn-prog .lp-detail-aside .aside-item .ai-text .ai-label {
    font-size: 15px;
    color: #0d2b25;
    line-height: 1.15;
    font-weight: 600
}

.lrn-prog .lp-detail-aside .aside-item .ai-text .ai-val {
    font-size: 15px;
    color: #3a6b5e;
    line-height: 1.7
}

.lrn-prog .lp-modules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 64px
}

.lrn-prog .lp-module-card {
    border-radius: 12px;
    padding: 32px;
    background: #fff;
    box-shadow: 0 3px 3px -1px #f1409214;
    position: relative;
    transition: box-shadow .18s ease-out, transform .18s ease-out
}

.lrn-prog .lp-module-card:hover {
    box-shadow: 0 9px 60px -1px #1171611a;
    transform: translateY(-4px) scale(1.02)
}

.lrn-prog .lp-module-card .card-num {
    font-size: 50px;
    line-height: 1.15;
    color: #F14092;
    letter-spacing: -.03em;
    opacity: .18;
    position: absolute;
    top: 16px;
    right: 16px
}

.lrn-prog .lp-module-card .card-h {
    font-size: 20px;
    color: #0d2b25;
    line-height: 1.15;
    margin-bottom: 16px;
    letter-spacing: -.01em
}

.lrn-prog .lp-module-card .card-h .ch-accent {
    color: #117161
}

.lrn-prog .lp-module-card .card-body {
    font-size: 15px;
    color: #3a5a52;
    line-height: 1.7
}

.lrn-prog .lp-module-card .card-tag {
    margin-top: 16px;
    display: inline-block;
    font-size: 15px;
    color: #117161;
    border-radius: 4px;
    background: #11716114;
    padding: 4px 8px;
    line-height: 1.15
}

.lrn-prog .lp-diagram-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: stretch
}

.lrn-prog .lp-diagram-box {
    flex: 1 1 0;
    background: #0d2b25;
    border-radius: 12px;
    padding: 32px;
    position: relative;
    overflow: hidden
}

.lrn-prog .lp-diagram-box .circles-deco {
    position: absolute;
    bottom: -32px;
    right: -32px;
    pointer-events: none
}

.lrn-prog .lp-diagram-box .circles-deco svg circle {
    fill: none;
    stroke: #FFFEED;
    stroke-width: 1;
    opacity: .07
}

.lrn-prog .lp-diagram-box .diag-title {
    font-size: 20px;
    color: #FFFEED;
    line-height: 1.15;
    margin-bottom: 32px;
    letter-spacing: -.01em
}

.lrn-prog .lp-diagram-box .diag-title .dt-accent {
    color: #F14092
}

.lrn-prog .lp-funnel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.lrn-prog .lp-funnel-step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.lrn-prog .lp-funnel-step .fs-bar-wrap {
    flex: 1 1 0;
    background: #fffeed14;
    border-radius: 4px;
    height: 36px;
    position: relative
}

.lrn-prog .lp-funnel-step .fs-bar {
    height: 100%;
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 16px
}

.lrn-prog .lp-funnel-step .fs-bar.w100 {
    width: 100%;
    background: linear-gradient(97deg, #117161, #0d5a4a)
}

.lrn-prog .lp-funnel-step .fs-bar.w78 {
    width: 78%;
    background: linear-gradient(97deg, #1a8a76, #117161)
}

.lrn-prog .lp-funnel-step .fs-bar.w56 {
    width: 56%;
    background: linear-gradient(97deg, #F14092, #c02070)
}

.lrn-prog .lp-funnel-step .fs-bar.w38 {
    width: 38%;
    background: linear-gradient(97deg, #e0306a, #F14092)
}

.lrn-prog .lp-funnel-step .fs-bar .fs-label {
    font-size: 15px;
    color: #FFFEED;
    line-height: 1.15;
    white-space: nowrap
}

.lrn-prog .lp-funnel-step .fs-val {
    font-size: 15px;
    color: #a8c4be;
    line-height: 1.15;
    min-width: 48px;
    text-align: right
}

.lrn-prog .lp-legend {
    flex: 0 0 280px;
    background: #FFFEED;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrn-prog .lp-legend .leg-title {
    font-size: 20px;
    color: #0d2b25;
    line-height: 1.15;
    margin-bottom: 8px
}

.lrn-prog .lp-legend .leg-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 16px;
    border-bottom: 1px solid #d0e6e0
}

.lrn-prog .lp-legend .leg-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.lrn-prog .lp-legend .leg-item .li-dot-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.lrn-prog .lp-legend .leg-item .li-dot {
    width: 12px;
    height: 12px;
    border-radius: 4px;
    flex-shrink: 0
}

.lrn-prog .lp-legend .leg-item .li-dot.green {
    background: #117161
}

.lrn-prog .lp-legend .leg-item .li-dot.pink {
    background: #F14092
}

.lrn-prog .lp-legend .leg-item .li-key {
    font-size: 15px;
    color: #0d2b25;
    line-height: 1.15;
    font-weight: 600
}

.lrn-prog .lp-legend .leg-item .li-desc {
    font-size: 15px;
    color: #3a6b5e;
    line-height: 1.7
}

.lrn-prog .icon-cycle-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 32px;
    align-items: center;
    justify-content: center
}

.lrn-prog .icon-cycle-row .ic-item {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #fffeed14;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    transition: background .15s ease-out
}

.lrn-prog .icon-cycle-row .ic-item svg {
    width: 22px;
    height: 22px;
    stroke: #a8c4be;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    transition: stroke .15s ease-out
}

.lrn-prog .icon-cycle-row .ic-item.active {
    background: #f1409238
}

.lrn-prog .icon-cycle-row .ic-item.active svg {
    stroke: #F14092
}

@keyframes lp-icon-cycle {

    0%,
    20% {
        opacity: 1;
        background: #f1409238
    }

    21%,
    100% {
        opacity: 1;
        background: #fffeed14
    }
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(1) {
    animation: lp-icon-cycle 3s 0s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(2) {
    animation: lp-icon-cycle 3s .6s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(3) {
    animation: lp-icon-cycle 3s 1.2s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(4) {
    animation: lp-icon-cycle 3s 1.8s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(5) {
    animation: lp-icon-cycle 3s 2.4s infinite
}

@keyframes lp-icon-stroke-cycle {

    0%,
    20% {
        stroke: #F14092
    }

    21%,
    100% {
        stroke: #a8c4be
    }
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(1) svg {
    animation: lp-icon-stroke-cycle 3s 0s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(2) svg {
    animation: lp-icon-stroke-cycle 3s .6s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(3) svg {
    animation: lp-icon-stroke-cycle 3s 1.2s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(4) svg {
    animation: lp-icon-stroke-cycle 3s 1.8s infinite
}

.lrn-prog .icon-cycle-row .ic-item:nth-child(5) svg {
    animation: lp-icon-stroke-cycle 3s 2.4s infinite
}

.lrn-prog .lp-fish-section {
    background: #FFFEED;
    padding: 64px 32px;
    position: relative
}

.lrn-prog .lp-fish-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 0 0, #11716112 1px, transparent 1px);
    background-size: 28px 16px;
    pointer-events: none;
    border-radius: 0
}

.lrn-prog .lp-fish-section .lp-fish-inner {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.lrn-prog .lp-brushstroke2 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.lrn-prog .lp-brushstroke2 svg {
    display: block;
    width: 100%
}

@media (max-width: 1024px) {
    .lrn-prog .lp-title-inner {
        flex-direction: column;
        gap: 32px
    }

    .lrn-prog .lp-img-col {
        flex: 0 0 auto;
        width: 100%
    }

    .lrn-prog .lp-img-frame img {
        width: 100%;
        height: 280px
    }

    .lrn-prog .lp-h1 {
        font-size: 50px
    }

    .lrn-prog .lp-modules-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .lrn-prog .lp-detail-top {
        flex-direction: column;
        gap: 32px
    }

    .lrn-prog .lp-detail-aside {
        flex: 0 0 auto;
        width: 100%
    }

    .lrn-prog .lp-diagram-row {
        flex-direction: column
    }

    .lrn-prog .lp-legend {
        flex: 0 0 auto;
        width: 100%
    }
}

@media (max-width: 768px) {
    .lrn-prog .lp-h1 {
        font-size: 50px
    }

    .lrn-prog .lp-counter-row {
        flex-wrap: wrap;
        gap: 16px
    }

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

    .lrn-prog .lp-title-block {
        padding: 32px 16px
    }

    .lrn-prog .lp-detail-block {
        padding: 32px 16px
    }

    .lrn-prog .lp-fish-section {
        padding: 32px 16px
    }
}

@media (max-width: 640px) {
    .lrn-prog .lp-h1 {
        font-size: 26px
    }

    .lrn-prog .lp-counter .num {
        font-size: 26px
    }

    .lrn-prog .lp-detail-lead .sec-h2 {
        font-size: 26px
    }
}

.abt-us {
    background: #fff;
    overflow-x: clip
}

.abt-us .grad-band {
    height: 6px;
    background: linear-gradient(97deg, #F14092, #117161)
}

.abt-us .grad-band.rev {
    background: linear-gradient(97deg, #117161, #F14092)
}

.abt-us ::selection {
    background: #F14092;
    color: #fff
}

.abt-us .pg-cap {
    background: linear-gradient(97deg, #F14092 0%, #c03070 30%, #117161 70%, #0d5a4d 100%);
    padding: 80px 32px 48px;
    position: relative
}

.abt-us .pg-cap::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 40%, #ffffee2e 0%, #11716114 60%, #f140920d 100%);
    pointer-events: none
}

.abt-us .pg-cap-grid {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 64px;
    align-items: center;
    position: relative;
    z-index: 1
}

.abt-us .cap-dots {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 32px
}

.abt-us .cap-dot {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: #fffeed80
}

.abt-us .cap-dot.lg {
    width: 24px;
    background: #fffeedd9
}

.abt-us .cap-dot.md {
    width: 14px;
    background: #fffeeda6
}

.abt-us .cap-heading {
    font-size: 68px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #FFFEED;
    margin: 0 0 16px
}

.abt-us .cap-heading span {
    color: #fffeed8c
}

.abt-us .cap-sub {
    font-size: 20px;
    line-height: 1.7;
    color: #fffeedd1;
    max-width: 520px;
    margin: 0 0 32px
}

.abt-us .cap-year-tag {
    display: inline-block;
    background: #fffeed1f;
    border: 1px solid #fffeed40;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 15px;
    color: #fffeedb3;
    letter-spacing: .04em
}

.abt-us .cap-img-wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden
}

.abt-us .cap-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, transparent 40%, #11716159 100%);
    pointer-events: none
}

.abt-us .cap-img-wrap img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    filter: saturate(0.9) contrast(1.05)
}

.abt-us .story-seg {
    background: #FFFEED;
    padding: 64px 32px;
    position: relative
}

.abt-us .story-seg::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 220px;
    background: repeating-linear-gradient(90deg, #f140920f 0px, #f140920f 1px, transparent 1px, transparent 18px);
    pointer-events: none
}

.abt-us .story-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 64px;
    align-items: start
}

.abt-us .story-label {
    font-size: 15px;
    letter-spacing: .08em;
    color: #F14092;
    text-transform: uppercase;
    margin: 0 0 16px
}

.abt-us .story-h {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 32px;
    color: #1a2e28
}

.abt-us .story-h em {
    font-style: normal;
    color: #117161
}

.abt-us .story-num-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .story-num-list li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start
}

.abt-us .s-num {
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    color: #F14092;
    letter-spacing: -.02em
}

.abt-us .s-body {
    padding-top: 4px
}

.abt-us .s-body strong {
    display: block;
    font-size: 17px;
    line-height: 1.15;
    color: #1a2e28;
    margin-bottom: 8px
}

.abt-us .s-body p {
    font-size: 15px;
    line-height: 1.7;
    color: #3d5a52;
    margin: 0
}

.abt-us .story-aside {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .story-img-wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 25px -1px #f1409217
}

.abt-us .story-img-wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block
}

.abt-us .story-quote {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 3px 3px -1px #11716114
}

.abt-us .story-quote p {
    font-size: 17px;
    line-height: 1.7;
    color: #2a4a40;
    margin: 0 0 16px
}

.abt-us .story-quote cite {
    font-size: 15px;
    color: #117161;
    font-style: normal;
    font-weight: 600
}

.abt-us .metrics-seg {
    background: #1a2e28;
    padding: 64px 32px;
    position: relative;
    overflow: hidden
}

.abt-us .metrics-seg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #11716159 0%, #0a141100 70%);
    animation: abt-radmove 8s ease-in-out infinite alternate;
    pointer-events: none
}

@keyframes abt-radmove {
    from {
        background-position: 30% 40%
    }

    to {
        background-position: 70% 60%
    }
}

.abt-us .metrics-seg::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 300px;
    height: 300px;
    border: 1px solid #f1409214;
    border-radius: 50%;
    pointer-events: none
}

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

.abt-us .metrics-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: end;
    margin-bottom: 64px
}

.abt-us .metrics-h {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #FFFEED;
    margin: 0
}

.abt-us .metrics-h span {
    color: #F14092
}

.abt-us .metrics-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #fffeeda6;
    margin: 0
}

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

.abt-us .metric-card {
    background: #fffeed0d;
    border: 1px solid #fffeed1a;
    border-radius: 12px;
    padding: 32px 16px;
    text-align: center;
    transition: background .2s ease-out, transform .15s ease-out;
    cursor: default
}

.abt-us .metric-card:hover {
    background: #fffeed17;
    transform: scale(1.04)
}

.abt-us .metric-val {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #F14092;
    display: block;
    margin-bottom: 8px
}

.abt-us .metric-lbl {
    font-size: 15px;
    line-height: 1.7;
    color: #fffeed99
}

.abt-us .team-seg {
    background: #fff;
    padding: 64px 32px;
    position: relative
}

.abt-us .team-seg::before {
    content: '';
    position: absolute;
    top: 32px;
    right: 64px;
    width: 180px;
    height: 180px;
    border: 1px solid #f140921a;
    border-radius: 50%;
    pointer-events: none
}

.abt-us .team-seg::after {
    content: '';
    position: absolute;
    top: 64px;
    right: 96px;
    width: 100px;
    height: 100px;
    border: 1px solid #11716114;
    border-radius: 50%;
    pointer-events: none
}

.abt-us .team-inner {
    max-width: 1500px;
    margin: 0 auto
}

.abt-us .team-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    margin-bottom: 64px;
    align-items: end
}

.abt-us .team-h {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1a2e28;
    margin: 0
}

.abt-us .team-h span {
    color: #117161
}

.abt-us .team-intro {
    font-size: 17px;
    line-height: 1.7;
    color: #3d5a52;
    margin: 0
}

.abt-us .team-anchor-grid {
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 32px;
    align-items: start
}

.abt-us .team-anchor {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 9px 60px -1px #1171611a
}

.abt-us .team-anchor img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block
}

.abt-us .team-anchor-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(0deg, #1a2e28eb 0%, transparent 100%);
    padding: 32px
}

.abt-us .anchor-name {
    font-size: 26px;
    line-height: 1.15;
    color: #FFFEED;
    margin: 0 0 8px
}

.abt-us .anchor-role {
    font-size: 15px;
    color: #fffeeda6
}

.abt-us .team-compact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abt-us .team-compact-card {
    background: #FFFEED;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 3px 3px -1px #f1409214;
    transition: box-shadow .2s ease-out, transform .15s ease-out
}

.abt-us .team-compact-card:hover {
    box-shadow: 0 5px 25px -1px #f1409217;
    transform: scale(1.02)
}

.abt-us .tcc-name {
    font-size: 20px;
    line-height: 1.15;
    color: #1a2e28;
    margin: 0 0 8px
}

.abt-us .tcc-role {
    font-size: 15px;
    color: #F14092;
    margin: 0 0 16px;
    font-weight: 600
}

.abt-us .tcc-note {
    font-size: 15px;
    line-height: 1.7;
    color: #3d5a52;
    margin: 0
}

.abt-us .icon-spin-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background: #f140921a;
    margin-bottom: 16px;
    cursor: pointer;
    transition: background .2s ease-out
}

.abt-us .icon-spin-wrap:active .spin-icon {
    animation: abt-spin-return .5s ease-out
}

.abt-us .icon-spin-wrap:hover {
    background: #f140922e
}

@keyframes abt-spin-return {
    0% {
        transform: rotate(0deg)
    }

    60% {
        transform: rotate(180deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

.abt-us .spin-icon {
    width: 18px;
    height: 18px;
    display: block
}

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

    .abt-us .cap-heading {
        font-size: 50px
    }

    .abt-us .story-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

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

    .abt-us .metrics-grid {
        grid-template-columns: repeat(2, 1fr)
    }

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

    .abt-us .team-header {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

@media (max-width: 768px) {
    .abt-us .cap-heading {
        font-size: 50px
    }

    .abt-us .metrics-h {
        font-size: 26px
    }

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

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

    .abt-us .story-h {
        font-size: 26px
    }

    .abt-us .team-h {
        font-size: 26px
    }
}

@media (max-width: 640px) {
    .abt-us .pg-cap {
        padding: 64px 16px 32px
    }

    .abt-us .story-seg,
    .abt-us .metrics-seg,
    .abt-us .team-seg {
        padding: 32px 16px
    }

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

    .abt-us .cap-heading {
        font-size: 26px
    }

    .abt-us .metrics-top {
        margin-bottom: 32px
    }

    .abt-us .team-header {
        margin-bottom: 32px
    }
}

.ld-root {
    max-width: 1500px;
    margin: 0 auto;
    overflow-x: clip
}

.ld-root .grad-line {
    height: 3px;
    background: linear-gradient(97deg, #F14092, #117161);
    border: none;
    margin: 0
}

.ld-root .txt-select::selection {
    background: #F14092;
    color: #fff
}

.ld-root .title-blk {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    position: relative
}

.ld-root .title-img-side {
    position: relative;
    overflow: hidden;
    min-height: 520px
}

.ld-root .title-img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    animation: img-wipe .9s ease-out both
}

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

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

.ld-root .title-img-side .img-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #f140928c 0%, #1171612e 60%, transparent 100%);
    pointer-events: none
}

.ld-root .title-txt-side {
    background: #FFFEED;
    padding: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.ld-root .dot-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #F14092 1px, transparent 1px);
    background-size: 22px 22px;
    opacity: .1;
    pointer-events: none
}

.ld-root .title-txt-side .dbl-border-box {
    border: 3px solid #117161;
    outline: 1px solid #F14092;
    outline-offset: 5px;
    padding: 32px;
    position: relative;
    z-index: 1
}

.ld-root .title-eyebrow {
    font-size: 15px;
    letter-spacing: .12em;
    color: #F14092;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.ld-root .title-h1 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin-bottom: 16px
}

.ld-root .title-h1 .w1 {
    color: #F14092
}

.ld-root .title-h1 .w2 {
    color: #117161
}

.ld-root .title-manifesto {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    margin-bottom: 32px
}

.ld-root .title-manifesto strong {
    color: #117161
}

.ld-root .title-cta-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.ld-root .btn-primary {
    background: #F14092;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 16px 32px;
    font-size: 17px;
    cursor: pointer;
    transition: background .18s ease-out, transform .12s ease-out;
    text-decoration: none;
    display: inline-block
}

.ld-root .btn-primary:hover {
    background: #c4206e;
    transform: scale(1.04)
}

.ld-root .btn-primary:active {
    transform: scale(0.98)
}

.ld-root .btn-sec {
    background: transparent;
    color: #117161;
    border: 2px solid #117161;
    border-radius: 6px;
    padding: 16px 32px;
    font-size: 17px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
    text-decoration: none;
    display: inline-block
}

.ld-root .btn-sec:hover {
    background: #117161;
    color: #fff
}

.ld-root .hesit-blk {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 64px;
    padding: 64px;
    background: #fff;
    align-items: start
}

.ld-root .hesit-num-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
}

.ld-root .hesit-big-num {
    font-size: 68px;
    line-height: 1.15;
    letter-spacing: -.04em;
    color: #F14092;
    font-weight: 700
}

.ld-root .hesit-label {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    letter-spacing: .04em
}

.ld-root .hesit-img-wrap {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 25px -1px #f1409217;
    margin-top: 32px
}

.ld-root .hesit-img-wrap img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    transition: transform .45s ease-out
}

.ld-root .hesit-img-wrap:hover img {
    transform: scale(1.05)
}

.ld-root .hesit-txt-col {
    padding-top: 8px
}

.ld-root .hesit-h2 {
    font-size: 26px;
    line-height: 1.15;
    margin-bottom: 16px
}

.ld-root .hesit-h2 .w1 {
    color: #F14092
}

.ld-root .hesit-h2 .w2 {
    color: #2a2a2a
}

.ld-root .hesit-body {
    font-size: 17px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 16px
}

.ld-root .hesit-underline-word {
    color: #117161;
    text-decoration: underline;
    text-decoration-color: #117161;
    text-underline-offset: 3px
}

.ld-root .hesit-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px
}

.ld-root .hesit-card {
    border-radius: 12px;
    padding: 16px;
    background: #FFFEED;
    box-shadow: 0 3px 3px -1px #f1409214;
    border-top: 3px solid #F14092
}

.ld-root .hesit-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #117161;
    margin-bottom: 8px
}

.ld-root .hesit-card-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #444
}

.ld-root .avail-blk {
    background: #117161;
    padding: 64px;
    position: relative
}

.ld-root .avail-blk .vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, #fffeed0f 0%, transparent 75%);
    pointer-events: none
}

.ld-root .avail-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 32px;
    gap: 32px;
    position: relative;
    z-index: 1
}

.ld-root .avail-h2 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #FFFEED
}

.ld-root .avail-h2 .w1 {
    color: #F14092
}

.ld-root .avail-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #fffeedcc;
    max-width: 380px
}

.ld-root .avail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    position: relative;
    z-index: 1
}

.ld-root .avail-item {
    background: #fffeed12;
    border-radius: 12px;
    padding: 32px;
    border: 1px solid #fffeed26;
    transition: background .2s ease, transform .15s ease-out
}

.ld-root .avail-item:hover {
    background: #fffeed21;
    transform: scale(1.03)
}

.ld-root .avail-item-num {
    font-size: 50px;
    line-height: 1.15;
    color: #F14092;
    font-weight: 700;
    letter-spacing: -.03em
}

.ld-root .avail-item-name {
    font-size: 20px;
    line-height: 1.15;
    color: #FFFEED;
    margin-top: 8px;
    margin-bottom: 8px
}

.ld-root .avail-item-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #fffeedb8
}

.ld-root .exper-blk {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 0;
    background: #FFFEED
}

.ld-root .exper-img-col {
    position: relative;
    overflow: hidden;
    min-height: 480px
}

.ld-root .exper-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    filter: saturate(0.85);
    transition: filter .4s ease
}

.ld-root .exper-img-col:hover img {
    filter: saturate(1)
}

.ld-root .exper-txt-col {
    padding: 64px 32px 64px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.ld-root .exper-quote-mark {
    width: 36px;
    height: 36px;
    display: block
}

.ld-root .exper-h3 {
    font-size: 26px;
    line-height: 1.15;
    color: #117161;
    margin-bottom: 8px
}

.ld-root .exper-quote {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    font-style: italic
}

.ld-root .exper-attr {
    font-size: 15px;
    color: #F14092;
    letter-spacing: .06em;
    margin-top: 8px
}

.ld-root .exper-attr span {
    color: #555;
    font-size: 15px;
    letter-spacing: 0
}

.ld-root .exper-detail-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ld-root .exper-detail-list li {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    padding-left: 16px;
    position: relative
}

.ld-root .exper-detail-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #F14092
}

.ld-root .shape-blk {
    background: #fff;
    padding: 64px
}

.ld-root .shape-header {
    text-align: center;
    margin-bottom: 64px
}

.ld-root .shape-h2 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em
}

.ld-root .shape-h2 .w1 {
    color: #F14092
}

.ld-root .shape-h2 .w2 {
    color: #117161
}

.ld-root .shape-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #555;
    max-width: 560px;
    margin: 16px auto 0
}

.ld-root .shape-timeline {
    display: grid;
    grid-template-columns: 1fr 3px 1fr 3px 1fr 3px 1fr;
    gap: 0;
    align-items: start;
    position: relative
}

.ld-root .shape-vert-line {
    background: linear-gradient(180deg, #F14092, #117161);
    width: 3px;
    height: 100%;
    min-height: 200px;
    border-radius: 4px
}

.ld-root .shape-phase {
    padding: 32px;
    border-radius: 12px;
    background: #FFFEED;
    box-shadow: 0 3px 3px -1px #11716114;
    transition: box-shadow .2s ease, transform .15s ease-out
}

.ld-root .shape-phase:hover {
    box-shadow: 0 9px 60px -1px #1171611a;
    transform: scale(1.02)
}

.ld-root .shape-phase-num {
    font-size: 68px;
    line-height: 1.15;
    color: #F14092;
    font-weight: 700;
    letter-spacing: -.04em;
    opacity: .25
}

.ld-root .shape-phase-title {
    font-size: 20px;
    line-height: 1.15;
    color: #117161;
    margin-bottom: 8px
}

.ld-root .shape-phase-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #444
}

.ld-root .rep-blk {
    background: #2a2a2a;
    padding: 64px;
    position: relative
}

.ld-root .rep-blk .vignette-rep {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 70% at 50% 50%, #f1409212 0%, transparent 70%);
    pointer-events: none
}

.ld-root .rep-inner {
    position: relative;
    z-index: 1
}

.ld-root .rep-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    margin-bottom: 64px
}

.ld-root .rep-h2 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #FFFEED
}

.ld-root .rep-h2 .w1 {
    color: #F14092
}

.ld-root .rep-intro {
    font-size: 17px;
    line-height: 1.7;
    color: #fffeedbf
}

.ld-root .rep-img-wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #f140921a
}

.ld-root .rep-img-wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform .45s ease
}

.ld-root .rep-img-wrap:hover img {
    transform: scale(1.04)
}

.ld-root .rep-refs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.ld-root .rep-ref-item {
    border-radius: 12px;
    padding: 32px 16px;
    background: #fffeed0d;
    border: 1px solid #fffeed1a;
    text-align: center;
    transition: background .18s ease-out
}

.ld-root .rep-ref-item:hover {
    background: #fffeed1a
}

.ld-root .rep-ref-val {
    font-size: 50px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.03em;
    background: linear-gradient(97deg, #F14092, #117161);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.ld-root .rep-ref-label {
    font-size: 15px;
    line-height: 1.7;
    color: #fffeeda6;
    margin-top: 8px
}

.ld-root .ltv-blk {
    padding: 64px;
    background: #FFFEED;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.ld-root .ltv-txt {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ld-root .ltv-h2 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em
}

.ld-root .ltv-h2 .w1 {
    color: #117161
}

.ld-root .ltv-h2 .w2 {
    color: #F14092
}

.ld-root .ltv-body {
    font-size: 17px;
    line-height: 1.7;
    color: #333
}

.ld-root .ltv-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    counter-reset: ltv-counter
}

.ld-root .ltv-list li {
    counter-increment: ltv-counter;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start
}

.ld-root .ltv-list li::before {
    content: counter(ltv-counter);
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    color: #F14092;
    letter-spacing: -.02em
}

.ld-root .ltv-list-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    padding-top: 4px
}

.ld-root .ltv-list-txt strong {
    color: #117161;
    display: block;
    font-size: 17px
}

.ld-root .ltv-visual {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ld-root .ltv-img-wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 25px -1px #11716117
}

.ld-root .ltv-img-wrap img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    transition: transform .45s ease
}

.ld-root .ltv-img-wrap:hover img {
    transform: scale(1.04)
}

.ld-root .ltv-dbl-box {
    border: 3px solid #F14092;
    outline: 1px solid #117161;
    outline-offset: 5px;
    border-radius: 12px;
    padding: 32px;
    background: #fff
}

.ld-root .ltv-dbl-box-title {
    font-size: 20px;
    line-height: 1.15;
    color: #117161;
    margin-bottom: 8px
}

.ld-root .ltv-dbl-box-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #444
}

.ld-root .anim-chars {
    display: inline
}

.ld-root .anim-chars .ch {
    display: inline-block;
    opacity: 0;
    animation: ch-appear .05s ease-out forwards
}

@keyframes ch-appear {
    to {
        opacity: 1
    }
}

@media (max-width: 1024px) {
    .ld-root .title-blk {
        grid-template-columns: 1fr
    }

    .ld-root .title-img-side {
        min-height: 320px
    }

    .ld-root .title-txt-side {
        padding: 32px
    }

    .ld-root .hesit-blk {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px
    }

    .ld-root .avail-blk {
        padding: 32px
    }

    .ld-root .avail-grid {
        grid-template-columns: 1fr 1fr
    }

    .ld-root .avail-top {
        flex-direction: column;
        align-items: flex-start
    }

    .ld-root .exper-blk {
        grid-template-columns: 1fr
    }

    .ld-root .exper-img-col {
        min-height: 280px
    }

    .ld-root .exper-txt-col {
        padding: 32px
    }

    .ld-root .shape-blk {
        padding: 32px
    }

    .ld-root .shape-timeline {
        grid-template-columns: 1fr
    }

    .ld-root .shape-vert-line {
        display: none
    }

    .ld-root .rep-blk {
        padding: 32px
    }

    .ld-root .rep-top {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ld-root .rep-refs {
        grid-template-columns: 1fr 1fr
    }

    .ld-root .ltv-blk {
        grid-template-columns: 1fr;
        padding: 32px;
        gap: 32px
    }
}

@media (max-width: 768px) {
    .ld-root .title-h1 {
        font-size: 26px
    }

    .ld-root .avail-h2 {
        font-size: 26px
    }

    .ld-root .avail-grid {
        grid-template-columns: 1fr
    }

    .ld-root .hesit-cards {
        grid-template-columns: 1fr
    }

    .ld-root .rep-refs {
        grid-template-columns: 1fr 1fr
    }

    .ld-root .rep-h2 {
        font-size: 26px
    }

    .ld-root .shape-h2 {
        font-size: 26px
    }

    .ld-root .ltv-h2 {
        font-size: 26px
    }

    .ld-root .shape-header {
        margin-bottom: 32px
    }
}

@media (max-width: 640px) {
    .ld-root .title-txt-side {
        padding: 16px
    }

    .ld-root .title-txt-side .dbl-border-box {
        padding: 16px
    }

    .ld-root .title-cta-row {
        flex-direction: column
    }

    .ld-root .rep-refs {
        grid-template-columns: 1fr
    }
}

.ct-us {
    background: #fff;
    overflow-x: clip
}

.ct-us .pg-strip {
    display: flex;
    flex-direction: row;
    min-height: 100vh;
    align-items: stretch
}

.ct-us .img-rail {
    width: 220px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden
}

.ct-us .img-rail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.ct-us .img-rail::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(97deg, #f140922e, #11716138);
    pointer-events: none
}

.ct-us .pg-text {
    flex: 1;
    padding: 64px;
    position: relative;
    background: #FFFEED
}

.ct-us .dot-scatter {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.ct-us .dot-scatter span {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 36px;
    background: #F14092;
    opacity: .12
}

.ct-us .dot-scatter span:nth-child(1) {
    top: 8%;
    left: 12%
}

.ct-us .dot-scatter span:nth-child(2) {
    top: 18%;
    left: 78%
}

.ct-us .dot-scatter span:nth-child(3) {
    top: 35%;
    left: 55%
}

.ct-us .dot-scatter span:nth-child(4) {
    top: 52%;
    left: 22%
}

.ct-us .dot-scatter span:nth-child(5) {
    top: 67%;
    left: 88%
}

.ct-us .dot-scatter span:nth-child(6) {
    top: 80%;
    left: 40%
}

.ct-us .dot-scatter span:nth-child(7) {
    top: 90%;
    left: 65%
}

.ct-us .dot-scatter span:nth-child(8) {
    top: 44%;
    left: 92%
}

.ct-us .dot-scatter span:nth-child(9) {
    top: 6%;
    left: 48%
}

.ct-us .dot-scatter span:nth-child(10) {
    top: 72%;
    left: 10%
}

.ct-us .num-accent {
    font-size: 68px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -2px;
    background: linear-gradient(97deg, #F14092, #117161);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
    margin-bottom: 8px
}

.ct-us .pg-heading {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -1px;
    margin: 0 0 16px;
    color: #1b2a27
}

.ct-us .pg-heading em {
    font-style: normal;
    color: #F14092;
    text-decoration: underline;
    text-decoration-color: #F14092;
    text-underline-offset: 4px
}

.ct-us .pg-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #2c3e38;
    max-width: 560px;
    margin: 0 0 32px
}

.ct-us .dashed-path {
    position: absolute;
    right: 64px;
    top: 64px;
    pointer-events: none;
    opacity: .22
}

.ct-us .contact-strip {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap;
    margin-top: 32px
}

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

.ct-us .contact-label {
    font-size: 15px;
    letter-spacing: .06em;
    color: #117161;
    font-weight: 700;
    text-transform: uppercase
}

.ct-us .contact-val {
    font-size: 17px;
    line-height: 1.7;
    color: #1b2a27;
    text-decoration: none;
    transition: color .18s ease-out
}

.ct-us .contact-val:hover {
    color: #F14092
}

.ct-us .contact-addr {
    font-size: 17px;
    line-height: 1.7;
    color: #1b2a27;
    font-style: normal
}

.ct-us .icon-anchor {
    position: absolute;
    bottom: 64px;
    right: 64px;
    opacity: .07;
    pointer-events: none
}

.ct-us .icon-anchor svg {
    width: 120px;
    height: 120px
}

.ct-us .wave-div {
    line-height: 0;
    background: #FFFEED
}

.ct-us .wave-div svg {
    display: block;
    width: 100%
}

.ct-us .form-sec {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.ct-us .form-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(97deg, #f140920a 0%, #fffeed00 50%, #1171610d 100%);
    pointer-events: none;
    animation: contrast-breath 6s ease-in-out infinite
}

@keyframes contrast-breath {
    0% {
        filter: contrast(1)
    }

    50% {
        filter: contrast(1.06)
    }

    100% {
        filter: contrast(1)
    }
}

.ct-us .form-wrap {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 64px;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.ct-us .form-left {
    flex: 0 0 340px
}

.ct-us .form-left-label {
    font-size: 15px;
    letter-spacing: .08em;
    color: #117161;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.ct-us .form-heading {
    font-size: 26px;
    line-height: 1.15;
    color: #1b2a27;
    margin: 0 0 16px
}

.ct-us .form-heading strong {
    color: #F14092
}

.ct-us .form-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #2c3e38;
    margin: 0 0 32px
}

.ct-us .team-link {
    display: inline-block;
    font-size: 15px;
    color: #117161;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .15s ease-out
}

.ct-us .team-link:hover {
    color: #F14092;
    text-decoration: none
}

.ct-us .metrics-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px
}

.ct-us .metric-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.ct-us .metric-bar-bg {
    flex: 1;
    height: 6px;
    background: #1171611f;
    border-radius: 4px;
    overflow: hidden
}

.ct-us .metric-bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(97deg, #F14092, #117161);
    transition: width .5s ease-out
}

.ct-us .metric-name {
    font-size: 15px;
    color: #2c3e38;
    min-width: 130px
}

.ct-us .metric-pct {
    font-size: 15px;
    font-weight: 700;
    color: #117161;
    min-width: 40px;
    text-align: right
}

.ct-us .form-right {
    flex: 1
}

.ct-us .tech-form {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 9px 60px -1px #f140921a;
    padding: 32px;
    position: relative
}

.ct-us .tech-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(97deg, #F14092, #117161);
    border-radius: 12px 12px 0 0
}

.ct-us .field-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-bottom: 16px
}

.ct-us .field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.ct-us .field-group.full {
    flex: 1 1 100%
}

.ct-us .f-label {
    font-size: 15px;
    font-weight: 600;
    color: #1b2a27;
    letter-spacing: .02em
}

.ct-us .f-input {
    padding: 16px;
    border: 1.5px solid #11716140;
    border-radius: 6px;
    font-size: 17px;
    color: #1b2a27;
    background: #FFFEED;
    outline: none;
    transition: border-color .18s ease-out, box-shadow .18s ease-out;
    width: 100%;
    box-sizing: border-box
}

.ct-us .f-input:focus {
    border-color: #F14092;
    box-shadow: 0 3px 3px -1px #f1409214
}

.ct-us .f-input::placeholder {
    color: #8aada6;
    font-size: 15px
}

.ct-us .f-select {
    padding: 16px;
    border: 1.5px solid #11716140;
    border-radius: 6px;
    font-size: 17px;
    color: #1b2a27;
    background: #FFFEED;
    outline: none;
    transition: border-color .18s ease-out;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    cursor: pointer
}

.ct-us .f-select:focus {
    border-color: #F14092
}

.ct-us .select-wrap {
    position: relative
}

.ct-us .select-wrap::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #117161;
    pointer-events: none
}

.ct-us .cond-toggle {
    display: none
}

.ct-us .cond-field {
    display: none;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.ct-us .cond-toggle:checked~.cond-field {
    display: flex
}

.ct-us .topic-check-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.ct-us .topic-check-row label {
    font-size: 15px;
    color: #2c3e38;
    cursor: pointer
}

.ct-us .topic-check-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #F14092;
    cursor: pointer
}

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

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

.ct-us .privacy-text {
    font-size: 15px;
    line-height: 1.7;
    color: #2c3e38
}

.ct-us .privacy-text a {
    color: #117161;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .15s ease-out
}

.ct-us .privacy-text a:hover {
    color: #F14092;
    text-decoration: none
}

.ct-us .submit-btn {
    display: block;
    width: 100%;
    padding: 16px 32px;
    background: linear-gradient(97deg, #F14092, #117161);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    letter-spacing: .03em;
    transition: transform .18s ease-out, box-shadow .18s ease-out;
    position: relative;
    overflow: hidden
}

.ct-us .submit-btn:hover {
    transform: scale(1.03);
    box-shadow: 0 5px 25px -1px #f1409217
}

.ct-us .submit-btn:active {
    transform: scale(0.98)
}

.ct-us .submit-btn:focus {
    outline: 3px solid #F14092;
    outline-offset: 3px
}

.ct-us .char-hover-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 32px
}

.ct-us .char-hover-row .ch {
    font-size: 20px;
    line-height: 1.15;
    font-weight: 700;
    color: #1b2a27;
    transition: color .12s ease-out;
    cursor: default;
    letter-spacing: -.5px
}

.ct-us .char-hover-row:hover .ch:nth-child(1) {
    color: #F14092
}

.ct-us .char-hover-row:hover .ch:nth-child(2) {
    color: #e83d8a
}

.ct-us .char-hover-row:hover .ch:nth-child(3) {
    color: #d63b80
}

.ct-us .char-hover-row:hover .ch:nth-child(4) {
    color: #c03a76
}

.ct-us .char-hover-row:hover .ch:nth-child(5) {
    color: #a8396c
}

.ct-us .char-hover-row:hover .ch:nth-child(6) {
    color: #8f3862
}

.ct-us .char-hover-row:hover .ch:nth-child(7) {
    color: #763758
}

.ct-us .char-hover-row:hover .ch:nth-child(8) {
    color: #5d364e
}

.ct-us .char-hover-row:hover .ch:nth-child(9) {
    color: #443544
}

.ct-us .char-hover-row:hover .ch:nth-child(10) {
    color: #2b3440
}

.ct-us .char-hover-row:hover .ch:nth-child(11) {
    color: #18336e
}

.ct-us .char-hover-row:hover .ch:nth-child(12) {
    color: #117161
}

.ct-us .char-hover-row:hover .ch:nth-child(13) {
    color: #117161
}

.ct-us .char-hover-row:hover .ch:nth-child(14) {
    color: #117161
}

.ct-us .char-hover-row:hover .ch:nth-child(15) {
    color: #117161
}

.ct-us .hatch-bg {
    background-image: repeating-linear-gradient(45deg, #1171610a 0px, #1171610a 1px, transparent 1px, transparent 8px), repeating-linear-gradient(-45deg, #1171610a 0px, #1171610a 1px, transparent 1px, transparent 8px)
}

@media (max-width: 1024px) {
    .ct-us .form-wrap {
        flex-direction: column;
        padding: 0 32px;
        gap: 32px
    }

    .ct-us .form-left {
        flex: none;
        width: 100%
    }

    .ct-us .pg-text {
        padding: 64px 32px
    }

    .ct-us .dashed-path {
        display: none
    }
}

@media (max-width: 768px) {
    .ct-us .pg-strip {
        flex-direction: column
    }

    .ct-us .img-rail {
        width: 100%;
        height: 220px
    }

    .ct-us .pg-text {
        padding: 32px 16px
    }

    .ct-us .pg-heading {
        font-size: 26px
    }

    .ct-us .num-accent {
        font-size: 50px
    }

    .ct-us .field-row {
        flex-direction: column
    }

    .ct-us .form-wrap {
        padding: 0 16px
    }

    .ct-us .form-sec {
        padding: 32px 0
    }

    .ct-us .contact-strip {
        flex-direction: column;
        gap: 16px
    }

    .ct-us .icon-anchor {
        display: none
    }
}

@media (max-width: 640px) {
    .ct-us .tech-form {
        padding: 16px
    }

    .ct-us .pg-heading {
        font-size: 20px
    }
}

.success-pg {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 16px;
    background-color: #FFFEED
}

.success-pg .success-card {
    background: #fff;
    border-radius: 12px;
    padding: 64px 32px;
    max-width: 560px;
    width: 100%;
    text-align: center;
    box-shadow: 0 9px 60px -1px #1171611a
}

.success-pg .check-wrap {
    width: 72px;
    height: 72px;
    margin: 0 auto 32px;
    border-radius: 36px;
    background: linear-gradient(97deg, #F14092, #117161);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.success-pg .check-wrap svg {
    display: block
}

.success-pg .success-heading {
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #117161;
    margin: 0 0 16px
}

.success-pg .success-heading span {
    color: #F14092
}

.success-pg .success-body {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0 0 32px
}

.success-pg .success-divider {
    width: 48px;
    height: 3px;
    border-radius: 4px;
    background: linear-gradient(97deg, #F14092, #117161);
    margin: 0 auto 32px
}

.success-pg .success-note {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 32px
}

.success-pg .back-btn {
    display: inline-block;
    background: linear-gradient(97deg, #F14092, #117161);
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: 6px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform .15s ease-out, box-shadow .2s ease;
    box-shadow: 0 5px 25px -1px #f1409217
}

.success-pg .back-btn:hover {
    transform: scale(1.04);
    box-shadow: 0 9px 60px -1px #f140921a
}

.success-pg .back-btn:focus {
    outline: 3px solid #117161;
    outline-offset: 3px
}

@media (max-width: 640px) {
    .success-pg .success-card {
        padding: 32px 16px
    }

    .success-pg .success-heading {
        font-size: 20px
    }
}