* {
    box-sizing: border-box
}

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1b3a2e
}

.site-hdr {
    background: linear-gradient(135deg, #0d5e3e 0%, #10744E 55%, #3a9068 100%);
    position: relative;
    overflow: hidden
}

.hdr-top-band {
    background: #0000002e;
    border-bottom: 1px solid #7addc62e;
    padding: 8px 0
}

.hdr-top-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px
}

.hdr-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #7addc6e6;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    letter-spacing: .01em;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.hdr-contact-item:hover,
.hdr-contact-item:focus {
    color: #7ADDC6;
    outline: none;
    box-shadow: 0 0 0 3px #7addc666;
    border-radius: 3px
}

.hdr-contact-item .fi {
    font-size: 16px;
    opacity: .8
}

.contact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: .8
}

.hdr-main-row {
    max-width: 1320px;
    margin: 0 auto;
    padding: 32px 32px 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 32px
}

.brand-pod {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none
}

.brand-hex {
    width: 80px;
    height: 80px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    box-shadow: 0 7px 25px 1px #10744e14;
    padding: 8px
}

.brand-hex img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    display: block
}

.brand-name {
    font-family: 'Bitter', serif;
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .02em;
    line-height: 1.2;
    text-align: center
}

.hdr-nav-deck {
    display: flex;
    justify-content: center
}

.hdr-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0
}

.hdr-nav-list li {
    position: relative
}

.hdr-nav-list li+li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 18px;
    background: #7addc659
}

.hdr-nav-list a {
    display: flex;
    align-items: center;
    padding: 16px 32px;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    color: #ffffffe0;
    text-decoration: none;
    transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1);
    border-radius: 3px;
    white-space: nowrap
}

.hdr-nav-list a:hover,
.hdr-nav-list a:focus {
    color: #7ADDC6;
    background: #7addc614;
    outline: none;
    box-shadow: 0 0 0 3px #7addc659
}

.hdr-nav-list a[aria-current="page"] {
    color: #7ADDC6
}

.hdr-prop-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px
}

.prop-tag {
    background: #7addc626;
    border: 1px solid #7addc64d;
    border-radius: 18px;
    padding: 8px 16px;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    color: #7ADDC6;
    letter-spacing: .01em;
    line-height: 1.2;
    text-align: right
}

.prop-flag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff9;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    letter-spacing: .01em
}

.prop-flag .fi {
    font-size: 19px;
    border-radius: 3px
}

.hdr-bottom-accent {
    height: 4px;
    background: linear-gradient(90deg, transparent, #7ADDC6 40%, #4DA074 100%);
    margin-top: 32px
}

@media (max-width: 1024px) {
    .hdr-main-row {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        padding: 32px 32px 0;
        gap: 16px
    }

    .hdr-prop-cell {
        grid-column: 1 / -1;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px
    }

    .hdr-nav-deck {
        grid-column: 1 / -1;
        justify-content: flex-start
    }

    .hdr-nav-list a {
        padding: 16px
    }
}

@media (max-width: 640px) {
    .hdr-top-inner {
        padding: 0 16px;
        gap: 16px
    }

    .hdr-main-row {
        padding: 16px 16px 0;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        justify-items: center
    }

    .hdr-nav-list {
        justify-content: center
    }

    .hdr-nav-list a {
        padding: 16px 8px;
        font-size: 16px
    }

    .hdr-prop-cell {
        align-items: center;
        justify-content: center
    }

    .prop-tag {
        text-align: center
    }
}

.site-ftr {
    background: #0d5e3e;
    color: #fffc;
    font-family: 'Karla', sans-serif
}

.ftr-main-deck {
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 32px 32px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px
}

.ftr-col-head {
    font-family: 'Bitter', serif;
    font-size: 16px;
    font-weight: 700;
    color: #7ADDC6;
    letter-spacing: .02em;
    line-height: 1.2;
    margin-bottom: 16px;
    text-transform: uppercase
}

.ftr-links-pod {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ftr-links-pod a {
    color: #ffffffbf;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: .01em;
    line-height: 1.8;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
    display: inline-block
}

.ftr-links-pod a:hover,
.ftr-links-pod a:focus {
    color: #7ADDC6;
    outline: none;
    box-shadow: 0 0 0 3px #7addc659;
    border-radius: 3px
}

.ftr-address-pod {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffffbf;
    letter-spacing: .01em
}

.ftr-address-pod a {
    color: #ffffffbf;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.ftr-address-pod a:hover,
.ftr-address-pod a:focus {
    color: #7ADDC6;
    outline: none;
    box-shadow: 0 0 0 3px #7addc659;
    border-radius: 3px
}

.ftr-addr-line {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px
}

.ftr-addr-line svg {
    flex-shrink: 0;
    margin-top: 4px;
    opacity: .7
}

.ftr-bottom-bar {
    border-top: 1px solid #7addc626;
    background: #00000026
}

.ftr-bottom-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
}

.ftr-logo-cell {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none
}

.ftr-logo-hex {
    width: 52px;
    height: 52px;
    background: #fff;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    box-shadow: 0 3px 3px 1px #10744e14
}

.ftr-logo-hex img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block
}

.ftr-brand-label {
    font-family: 'Bitter', serif;
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .02em
}

.ftr-copy {
    font-size: 16px;
    color: #ffffff80;
    letter-spacing: .01em;
    line-height: 1.2
}

.ftr-legal-links {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.ftr-legal-links a {
    font-size: 16px;
    color: #ffffff8c;
    text-decoration: none;
    letter-spacing: .01em;
    transition: color .45s ease-in-out
}

.ftr-legal-links a:hover,
.ftr-legal-links a:focus {
    color: #7ADDC6;
    outline: none;
    box-shadow: 0 0 0 3px #7addc659;
    border-radius: 3px
}

.ftr-legal-links span {
    color: #7addc64d;
    font-size: 16px
}

@media (max-width: 1024px) {
    .ftr-main-deck {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        padding: 48px 32px 32px
    }
}

@media (max-width: 640px) {
    .ftr-main-deck {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 16px
    }

    .ftr-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 16px;
        gap: 16px
    }
}

.cookie-tray {
    position: fixed;
    bottom: 32px;
    left: 32px;
    max-width: 360px;
    width: calc(100vw - 64px);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 9px 48px 1px #10744e1c;
    padding: 32px;
    z-index: 1500;
    border: 1px solid #10744e1f;
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie-tray[data-visible="true"] {
    opacity: 1
}

.cookie-icon-mark {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #10744E, #7ADDC6);
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.cookie-icon-mark svg {
    width: 20px;
    height: 20px
}

.cookie-desc {
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    color: #1b3a2e;
    line-height: 1.8;
    margin-bottom: 16px;
    letter-spacing: .01em
}

.cookie-desc a {
    color: #10744E;
    text-decoration: underline;
    transition: color .45s ease-in-out
}

.cookie-desc a:hover,
.cookie-desc a:focus {
    color: #4DA074;
    outline: none
}

.cookie-btns {
    display: flex;
    gap: 8px
}

.cookie-btn {
    flex: 1;
    padding: 16px;
    border-radius: 18px;
    border: 2px solid #10744E;
    background: transparent;
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #10744E;
    cursor: pointer;
    letter-spacing: .01em;
    line-height: 1.2;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie-btn:hover,
.cookie-btn:focus {
    box-shadow: 0 7px 25px 1px #10744e14;
    background: #10744E;
    color: #fff;
    outline: none
}

.cookie-btn.decline {
    border-color: #10744e59;
    color: #4DA074
}

.cookie-btn.decline:hover,
.cookie-btn.decline:focus {
    background: #10744e14;
    color: #10744E;
    box-shadow: 0 3px 3px 1px #10744e14
}

@media (max-width: 640px) {
    .cookie-tray {
        bottom: 16px;
        left: 16px;
        width: calc(100vw - 32px);
        padding: 16px
    }
}

.policy-page {
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 48px
}

.policy-page h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    margin-bottom: 32px;
    margin-top: 0
}

.policy-page h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    margin-top: 96px;
    margin-bottom: 32px
}

.policy-page h3 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: .015em;
    color: #10744E;
    margin-top: 48px;
    margin-bottom: 16px
}

.policy-page h4 {
    font-size: 19px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #10744E;
    margin-top: 32px;
    margin-bottom: 16px
}

.policy-page h5 {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #4DA074;
    margin-top: 32px;
    margin-bottom: 8px
}

.policy-page h6 {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #4DA074;
    margin-top: 16px;
    margin-bottom: 8px
}

.policy-page p {
    font-size: 19px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #1b3a2f;
    margin-top: 0;
    margin-bottom: 16px
}

.policy-page strong,
.policy-page b {
    color: #10744E;
    font-weight: 700
}

.policy-page div {
    margin-bottom: 32px
}

.policy-page table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 32px;
    margin-bottom: 48px;
    box-shadow: 0 7px 25px 1px #10744e14;
    border-radius: 18px;
    overflow: hidden
}

.policy-page thead {
    background-color: #10744E
}

.policy-page thead th {
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    padding: 16px 32px;
    text-align: left;
    font-weight: 700
}

.policy-page tbody tr {
    border-bottom: 1px solid #10744e1a;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.policy-page tbody tr:last-child {
    border-bottom: none
}

.policy-page tbody tr:nth-child(even) {
    background-color: #7addc614
}

.policy-page tbody tr:hover {
    background-color: #7addc62e
}

.policy-page td {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #1b3a2f;
    padding: 16px 32px;
    vertical-align: top
}

.policy-page th {
    font-size: 16px;
    line-height: 1.8
}

@media (max-width: 1024px) {
    .policy-page {
        padding: 96px 32px
    }

    .policy-page h1 {
        font-size: 42px
    }

    .policy-page h2 {
        font-size: 30px;
        margin-top: 48px
    }

    .policy-page h3 {
        font-size: 19px
    }
}

@media (max-width: 640px) {
    .policy-page {
        padding: 48px 16px
    }

    .policy-page h1 {
        font-size: 30px
    }

    .policy-page h2 {
        font-size: 19px;
        margin-top: 48px;
        margin-bottom: 16px
    }

    .policy-page h3 {
        font-size: 16px;
        margin-top: 32px
    }

    .policy-page p {
        font-size: 16px
    }

    .policy-page table {
        display: block;
        overflow-x: auto;
        border-radius: 3px
    }

    .policy-page thead th,
    .policy-page td {
        padding: 16px;
        white-space: nowrap
    }
}

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

.rdmp .pm-strip {
    width: 100%;
    height: 4px;
    background: #10744E;
    display: block
}

.rdmp .phase-band {
    background: #fff;
    padding: 96px 0 48px
}

.rdmp .phase-band .pm-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.rdmp .pm-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    margin-bottom: 96px
}

.rdmp .pm-blob-wrap {
    position: relative;
    flex: 0 0 auto
}

.rdmp .pm-blob {
    position: absolute;
    border-radius: 28px;
    filter: blur(48px);
    pointer-events: none;
    z-index: 0
}

.rdmp .pm-blob.b1 {
    width: 220px;
    height: 220px;
    background: #7ADDC6;
    opacity: .28;
    top: -40px;
    left: -40px
}

.rdmp .pm-blob.b2 {
    width: 160px;
    height: 160px;
    background: #4DA074;
    opacity: .18;
    bottom: -30px;
    right: -20px
}

.rdmp .pm-label {
    display: inline-block;
    background: #10744E;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 3px;
    margin-bottom: 32px;
    position: relative;
    z-index: 1
}

.rdmp .pm-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #0d2e1f;
    font-weight: 700;
    margin: 0 0 32px;
    position: relative;
    z-index: 1;
    max-width: 640px
}

.rdmp .pm-h1 .accent-word {
    color: #10744E;
    font-weight: 300
}

.rdmp .pm-sub {
    font-size: 19px;
    line-height: 1.8;
    color: #1e3d2c;
    max-width: 520px;
    margin: 0;
    position: relative;
    z-index: 1
}

.rdmp .pm-img-col {
    flex: 0 0 380px;
    position: relative
}

.rdmp .pm-img-frame {
    width: 380px;
    height: 380px;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.rdmp .pm-img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.1);
    display: block
}

.rdmp .pm-img-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(217deg, #7addc661 0%, transparent 70%);
    pointer-events: none
}

.rdmp .pm-img-frame::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(to top, #fff 0%, transparent 100%);
    z-index: 2;
    pointer-events: none
}

.rdmp .pm-diag {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 18px
}

.rdmp .pm-diag::after {
    content: '';
    position: absolute;
    top: 20%;
    left: -10%;
    width: 120%;
    height: 1px;
    background: #4da07459;
    transform: rotate(-38deg);
    transform-origin: left center
}

.rdmp .pm-steps-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-bottom: 48px
}

.rdmp .pm-step {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 7px 25px 1px #10744e14;
    position: relative;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
    border-top: 4px solid #10744E
}

.rdmp .pm-step:hover {
    box-shadow: 0 9px 48px 1px #10744e1c
}

.rdmp .pm-step.accent-left {
    background: linear-gradient(217deg, #10744E 0%, #1a5c3a 100%);
    border-top: 4px solid #7ADDC6
}

.rdmp .pm-step.accent-left .step-num {
    color: #7addc6b3
}

.rdmp .pm-step.accent-left .step-head {
    color: #fff
}

.rdmp .pm-step.accent-left .step-body {
    color: #ffffffd1
}

.rdmp .step-num {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    color: #10744E;
    letter-spacing: .01em
}

.rdmp .step-head {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #0d2e1f;
    letter-spacing: .01em
}

.rdmp .step-body {
    font-size: 16px;
    line-height: 1.8;
    color: #2a4d38;
    letter-spacing: .01em
}

.rdmp .step-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    animation: icon-sway 3.2s ease-in-out infinite
}

.rdmp .pm-step:nth-child(2) .step-icon {
    animation-duration: 3.8s;
    animation-delay: .4s
}

.rdmp .pm-step:nth-child(3) .step-icon {
    animation-duration: 4.1s;
    animation-delay: .9s
}

.rdmp .pm-step:nth-child(4) .step-icon {
    animation-duration: 3.5s;
    animation-delay: .2s
}

@keyframes icon-sway {

    0%,
    100% {
        transform: translateY(0px) rotate(-2deg)
    }

    50% {
        transform: translateY(-6px) rotate(2deg)
    }
}

.rdmp .pm-strip-bottom {
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #10744E 0%, #7ADDC6 100%);
    display: block;
    margin-top: 48px
}

.rdmp .detail-band {
    background: linear-gradient(180deg, #f2faf7 0%, #e6f5ef 100%);
    padding: 96px 0
}

.rdmp .detail-band .dm-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.rdmp .dm-head-row {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    margin-bottom: 96px
}

.rdmp .dm-h2 {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    color: #0d2e1f;
    letter-spacing: .01em;
    margin: 0 0 16px;
    flex: 0 0 auto;
    max-width: 420px
}

.rdmp .dm-lead {
    font-size: 19px;
    line-height: 1.8;
    color: #1e3d2c;
    margin: 0;
    flex: 1;
    padding-top: 8px
}

.rdmp .dm-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 48px
}

.rdmp .dm-col-a {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.rdmp .dm-col-b {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.rdmp .dm-item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding: 32px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 3px 3px 1px #10744e14;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), transform .6s cubic-bezier(0.22, 1, 0.36, 1);
    position: relative
}

.rdmp .dm-item:hover {
    box-shadow: 0 9px 48px 1px #10744e1c;
    transform: translateY(-2px)
}

.rdmp .dm-item.selected {
    border-top: 4px solid #10744E
}

.rdmp .dm-item-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    animation: icon-sway 4s ease-in-out infinite
}

.rdmp .dm-item:nth-child(2) .dm-item-icon {
    animation-duration: 3.6s;
    animation-delay: .6s
}

.rdmp .dm-item-text {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.rdmp .dm-item-head {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #0d2e1f;
    letter-spacing: .01em
}

.rdmp .dm-item-body {
    font-size: 16px;
    line-height: 1.8;
    color: #2a4d38;
    letter-spacing: .01em
}

.rdmp .dm-metric-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    padding: 48px;
    background: #10744E;
    border-radius: 28px;
    box-shadow: 0 9px 48px 1px #10744e1c;
    align-items: center;
    flex-wrap: wrap
}

.rdmp .dm-metric {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 140px
}

.rdmp .dm-metric-num {
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    color: #7ADDC6;
    letter-spacing: .01em
}

.rdmp .dm-metric-label {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffffd9;
    letter-spacing: .01em
}

.rdmp .dm-metric-divider {
    width: 1px;
    height: 64px;
    background: #7addc64d;
    flex-shrink: 0
}

.rdmp .dm-badge {
    display: inline-block;
    background: #7addc62e;
    color: #7ADDC6;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 3px;
    margin-bottom: 16px
}

@media (max-width: 1024px) {
    .rdmp .pm-top {
        flex-direction: column;
        gap: 32px
    }

    .rdmp .pm-img-col {
        flex: 0 0 auto;
        width: 100%
    }

    .rdmp .pm-img-frame {
        width: 100%;
        height: 320px
    }

    .rdmp .pm-steps-row {
        grid-template-columns: repeat(2, 1fr)
    }

    .rdmp .dm-head-row {
        flex-direction: column;
        gap: 16px
    }

    .rdmp .dm-h2 {
        max-width: 100%
    }

    .rdmp .dm-cols {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .rdmp .dm-metric-row {
        gap: 32px
    }
}

@media (max-width: 640px) {
    .rdmp .pm-h1 {
        font-size: 42px
    }

    .rdmp .phase-band {
        padding: 48px 0 32px
    }

    .rdmp .phase-band .pm-inner {
        padding: 0 16px
    }

    .rdmp .pm-steps-row {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .rdmp .detail-band {
        padding: 48px 0
    }

    .rdmp .detail-band .dm-inner {
        padding: 0 16px
    }

    .rdmp .dm-h2 {
        font-size: 30px
    }

    .rdmp .dm-metric-row {
        flex-direction: column;
        gap: 32px;
        padding: 32px
    }

    .rdmp .dm-metric-divider {
        width: 64px;
        height: 1px
    }

    .rdmp .pm-top {
        margin-bottom: 48px
    }

    .rdmp .dm-head-row {
        margin-bottom: 48px
    }
}

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

.prm .pm-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.prm .split-frame {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 580px;
    position: relative
}

.prm .split-left {
    background-color: #10744E;
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.prm .dot-field {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, #ffffff1f 1px, transparent 1px);
    background-size: 28px 28px
}

.prm .split-badge {
    display: inline-block;
    background: #7addc62e;
    color: #7ADDC6;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 18px;
    margin-bottom: 32px;
    width: fit-content
}

.prm .split-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    margin: 0 0 32px;
    position: relative;
    z-index: 1
}

.prm .split-quote {
    font-size: 19px;
    line-height: 1.8;
    color: #ffffffd1;
    letter-spacing: .01em;
    margin: 0;
    border-top: 1px solid #7addc64d;
    padding-top: 16px;
    position: relative;
    z-index: 1
}

.prm .split-right {
    background-color: #4DA074;
    position: relative;
    overflow: hidden
}

.prm .split-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.85) brightness(0.9);
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .split-right:hover img {
    transform: scale(1.03)
}

.prm .split-right::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(217deg, #4da07473, transparent 70%);
    pointer-events: none
}

.prm .approach-wrap {
    background: #fff;
    padding: 96px 0 80px;
    position: relative
}

.prm .approach-wrap::before {
    content: '';
    display: block;
    height: 3px;
    background: #10744E;
    max-width: 1320px;
    margin: 0 auto
}

.prm .approach-wrap::after {
    content: '';
    display: block;
    height: 3px;
    background: #10744E;
    max-width: 1320px;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: 32px;
    right: 32px
}

.prm .approach-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start
}

.prm .approach-sidebar {
    position: sticky;
    top: 32px
}

.prm .approach-label {
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 16px
}

.prm .approach-num {
    font-size: 72px;
    line-height: 1.2;
    color: #7ADDC6;
    font-weight: 700;
    letter-spacing: -.01em;
    margin-bottom: 8px
}

.prm .approach-num-label {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    letter-spacing: .01em
}

.prm .approach-body h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    font-weight: 700;
    margin: 0 0 16px
}

.prm .approach-body .lead-p {
    font-size: 19px;
    line-height: 1.8;
    color: #222;
    margin: 0 0 32px;
    letter-spacing: .01em
}

.prm .approach-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.prm .approach-item {
    padding: 32px;
    border-radius: 18px;
    background: linear-gradient(217deg, #7addc61a, #4da0740a);
    box-shadow: 0 7px 25px 1px #10744e14;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.prm .approach-item:hover {
    box-shadow: 0 9px 48px 1px #10744e1c;
    transform: translateY(-2px)
}

.prm .approach-item h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.prm .approach-item p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0;
    letter-spacing: .01em
}

.prm .approach-img-row {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.prm .approach-img-box {
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 0 7px 25px 1px #10744e14
}

.prm .approach-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.9) brightness(0.95);
    transition: transform .6s ease-in-out
}

.prm .approach-img-box:hover img {
    transform: scale(1.04)
}

.prm .scale-wrap {
    padding: 96px 0;
    background: linear-gradient(217deg, #10744e0f, #7addc614);
    position: relative
}

.prm .scale-wrap .cross-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(#10744E 1px, transparent 1px), linear-gradient(90deg, #10744E 1px, transparent 1px);
    background-size: 40px 40px;
    background-position: center center;
    opacity: .04
}

.prm .scale-head {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 1
}

.prm .scale-head h2 {
    font-size: 42px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    letter-spacing: .01em;
    margin: 0 0 16px
}

.prm .scale-head p {
    font-size: 19px;
    line-height: 1.8;
    color: #333;
    max-width: 640px;
    margin: 0 auto;
    letter-spacing: .01em
}

.prm .metrics-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    position: relative;
    z-index: 1;
    margin-bottom: 48px
}

.prm .metric-card {
    background: #fff;
    border-radius: 28px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 7px 25px 1px #10744e14;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), transform .55s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: default
}

.prm .metric-card:hover {
    box-shadow: 0 9px 48px 1px #10744e1c;
    transform: translateY(-3px)
}

.prm .metric-card:active {
    background-color: #7addc633 !important
}

.prm .metric-val {
    font-size: 58px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    letter-spacing: -.01em;
    display: block;
    margin-bottom: 8px
}

.prm .metric-desc {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    letter-spacing: .01em
}

.prm .scale-img-strip {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    position: relative;
    z-index: 1
}

.prm .scale-img-main {
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.prm .scale-img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.88)
}

.prm .scale-aside {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: center
}

.prm .scale-fact {
    background: #10744E;
    border-radius: 18px;
    padding: 32px;
    color: #fff
}

.prm .scale-fact h5 {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 8px;
    color: #7ADDC6;
    letter-spacing: .01em
}

.prm .scale-fact p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    color: #ffffffe0;
    letter-spacing: .01em
}

.prm .clients-wrap {
    padding: 80px 0 96px;
    background: #fff;
    position: relative
}

.prm .clients-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px
}

.prm .clients-divider .div-line {
    flex: 1;
    height: 1px;
    background: #4DA074
}

.prm .clients-divider .div-gem {
    width: 10px;
    height: 10px;
    background: #10744E;
    border-radius: 3px;
    transform: rotate(45deg)
}

.prm .clients-head {
    margin-bottom: 48px
}

.prm .clients-head h2 {
    font-size: 42px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    letter-spacing: .01em;
    margin: 0 0 16px
}

.prm .clients-head p {
    font-size: 19px;
    line-height: 1.8;
    color: #333;
    max-width: 560px;
    margin: 0;
    letter-spacing: .01em
}

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

.prm .client-card {
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 3px 3px 1px #10744e14;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
    background: linear-gradient(217deg, #7addc612, #fff 80%);
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prm .client-card:hover {
    box-shadow: 0 9px 48px 1px #10744e1c
}

.prm .client-tag {
    display: inline-block;
    background: #10744e14;
    color: #10744E;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 18px;
    letter-spacing: .02em;
    line-height: 1.2;
    width: fit-content
}

.prm .client-name {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #111;
    margin: 0;
    letter-spacing: .01em
}

.prm .client-detail {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0;
    letter-spacing: .01em
}

.prm .client-outcome {
    font-size: 16px;
    line-height: 1.8;
    color: #10744E;
    font-weight: 700;
    margin: 0;
    letter-spacing: .01em;
    padding-top: 8px;
    border-top: 1px solid #10744e26
}

.prm .team-wrap {
    padding: 96px 0;
    background: linear-gradient(217deg, #10744e17 0%, #7addc60d 100%);
    position: relative
}

.prm .team-wrap .radial-spot {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 50%, #7addc621, transparent 70%);
    pointer-events: none
}

.prm .team-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1
}

.prm .team-text h2 {
    font-size: 42px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 700;
    letter-spacing: .01em;
    margin: 0 0 16px
}

.prm .team-text .lead-p {
    font-size: 19px;
    line-height: 1.8;
    color: #222;
    margin: 0 0 32px;
    letter-spacing: .01em
}

.prm .team-text p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.prm .team-members {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prm .team-member {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    align-items: start;
    background: #fff;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 7px 25px 1px #10744e14;
    transition: box-shadow .5s ease-in-out, transform .5s ease-in-out
}

.prm .team-member:hover {
    box-shadow: 0 9px 48px 1px #10744e1c;
    transform: translateY(-2px)
}

.prm .member-avatar {
    width: 80px;
    height: 80px;
    border-radius: 28px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 3px 3px 1px #10744e14
}

.prm .member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.85)
}

.prm .member-info h5 {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    color: #10744E;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.prm .member-role {
    display: inline-block;
    background: #7addc633;
    color: #10744E;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 18px;
    letter-spacing: .02em;
    line-height: 1.2;
    margin-bottom: 8px
}

.prm .member-info p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 0;
    letter-spacing: .01em
}

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

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

.prm .split-badge {
    animation: fadeUp .5s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

.prm .split-h1 {
    animation: fadeUp .6s cubic-bezier(0.22, 1, 0.36, 1) .25s both
}

.prm .split-quote {
    animation: fadeUp .65s cubic-bezier(0.22, 1, 0.36, 1) .4s both
}

@media (max-width: 1024px) {
    .prm .split-frame {
        grid-template-columns: 1fr
    }

    .prm .split-right {
        min-height: 360px
    }

    .prm .split-h1 {
        font-size: 42px
    }

    .prm .approach-grid {
        grid-template-columns: 1fr
    }

    .prm .approach-sidebar {
        position: static
    }

    .prm .approach-num {
        font-size: 58px
    }

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

    .prm .scale-img-strip {
        grid-template-columns: 1fr
    }

    .prm .client-cards {
        grid-template-columns: 1fr 1fr
    }

    .prm .team-layout {
        grid-template-columns: 1fr
    }
}

@media (max-width: 640px) {
    .prm .pm-inner {
        padding: 0 16px
    }

    .prm .split-left {
        padding: 48px 32px
    }

    .prm .split-h1 {
        font-size: 30px
    }

    .prm .approach-cols {
        grid-template-columns: 1fr
    }

    .prm .approach-img-row {
        grid-template-columns: 1fr
    }

    .prm .metrics-row {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .prm .metric-val {
        font-size: 42px
    }

    .prm .client-cards {
        grid-template-columns: 1fr
    }

    .prm .team-member {
        grid-template-columns: 1fr
    }

    .prm .member-avatar {
        width: 64px;
        height: 64px
    }
}

.nws-root {
    overflow-x: hidden
}

.nws-root .nws-schema {
    display: none
}

.nws-root .nws-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 380px;
    position: relative
}

.nws-root .nws-hero-left {
    background: #10744E;
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.nws-root .nws-hero-left::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #ffffff14 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none
}

.nws-root .nws-hero-right {
    background: #4DA074;
    position: relative;
    overflow: hidden
}

.nws-root .nws-hero-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: multiply;
    animation: nws-zoom 8s ease-in-out infinite alternate
}

.nws-root .nws-hero-tint {
    position: absolute;
    inset: 0;
    background: linear-gradient(217deg, #10744E 0%, transparent 70%);
    opacity: .55;
    pointer-events: none
}

@keyframes nws-zoom {
    from {
        transform: scale(1)
    }

    to {
        transform: scale(1.07)
    }
}

.nws-root .nws-badge {
    display: inline-block;
    background: #7addc638;
    color: #7ADDC6;
    font-size: 16px;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 18px;
    margin-bottom: 16px;
    border: 1px solid #7addc659;
    line-height: 1.2
}

.nws-root .nws-hero-h {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    margin: 0 0 16px
}

.nws-root .nws-hero-desc {
    font-size: 19px;
    line-height: 1.8;
    color: #ffffffe0;
    margin: 0 0 32px;
    letter-spacing: .01em
}

.nws-root .nws-hero-link {
    display: inline-block;
    background: #7ADDC6;
    color: #10744E;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 16px 32px;
    border-radius: 28px;
    text-decoration: none;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .4s ease-in-out;
    box-shadow: 0 3px 3px 1px #10744e14;
    align-self: flex-start
}

.nws-root .nws-hero-link:hover {
    box-shadow: 0 9px 48px 1px #10744e38;
    background: #fff
}

.nws-root .nws-collection {
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 48px
}

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

.nws-root .nws-col-label {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.nws-root .nws-accent-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.nws-root .nws-vert-rule {
    width: 3px;
    height: 48px;
    background: linear-gradient(217deg, #10744E, #7ADDC6);
    border-radius: 3px;
    flex-shrink: 0
}

.nws-root .nws-col-h {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    font-weight: 700;
    margin: 0
}

.nws-root .nws-col-sub {
    font-size: 16px;
    line-height: 1.8;
    color: #2d6b50;
    margin: 0;
    max-width: 520px;
    letter-spacing: .01em
}

.nws-root .nws-cards-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 32px
}

.nws-root .nws-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 7px 25px 1px #10744e14;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
    border: 1px solid #10744e17
}

.nws-root .nws-card:hover {
    box-shadow: 0 9px 48px 1px #10744e26;
    transform: translateY(-4px) scale(1.01)
}

.nws-root .nws-card.anchor {
    grid-row: 1 / 3
}

.nws-root .nws-card-img {
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    flex-shrink: 0
}

.nws-root .nws-card.anchor .nws-card-img {
    aspect-ratio: 3/4;
    flex: 1
}

.nws-root .nws-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s cubic-bezier(0.22, 1, 0.36, 1)
}

.nws-root .nws-card:hover .nws-card-img img {
    transform: scale(1.06)
}

.nws-root .nws-card-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.nws-root .nws-card.compact .nws-card-body {
    padding: 16px
}

.nws-root .nws-tag {
    display: inline-block;
    font-size: 16px;
    letter-spacing: .02em;
    color: #10744E;
    background: #7addc62e;
    border-radius: 3px;
    padding: 4px 8px;
    line-height: 1.2;
    font-weight: 600;
    align-self: flex-start
}

.nws-root .nws-card-h {
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #0d3d28;
    font-weight: 700;
    margin: 0
}

.nws-root .nws-card.anchor .nws-card-h {
    font-size: 30px
}

.nws-root .nws-card-p {
    font-size: 16px;
    line-height: 1.8;
    color: #2d5c42;
    margin: 0;
    letter-spacing: .01em
}

.nws-root .nws-card-link {
    display: inline-block;
    margin-top: 8px;
    font-size: 16px;
    color: #10744E;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: .01em;
    transition: color .4s ease-in-out;
    align-self: flex-start
}

.nws-root .nws-card-link:hover {
    color: #4DA074
}

.nws-root .nws-stats {
    background: #10744E;
    position: relative;
    overflow: hidden
}

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

.nws-root .nws-stats-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 48px;
    position: relative;
    z-index: 1
}

.nws-root .nws-stats-h {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #7ADDC6;
    font-weight: 300;
    margin: 0 0 48px;
    max-width: 600px
}

.nws-root .nws-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.nws-root .nws-stat-card {
    background: #ffffff12;
    border-radius: 18px;
    padding: 32px;
    border: 1px solid #7addc62e;
    box-shadow: inset 0 4px 6px #10744e1f;
    transition: background .5s ease-in-out, box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.nws-root .nws-stat-card:hover {
    background: #ffffff21;
    box-shadow: 0 9px 48px 1px #10744e2e inset 0 4px 6px #10744e1a
}

.nws-root .nws-stat-num {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    display: block
}

.nws-root .nws-stat-unit {
    font-size: 30px;
    color: #7ADDC6
}

.nws-root .nws-stat-label {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffffbf;
    margin: 8px 0 0;
    letter-spacing: .01em
}

.nws-root .nws-featured {
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 48px
}

.nws-root .nws-feat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.nws-root .nws-feat-img-wrap {
    border-radius: 28px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 0 9px 48px 1px #10744e1c;
    position: relative
}

.nws-root .nws-feat-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: nws-pan 10s ease-in-out infinite alternate
}

@keyframes nws-pan {
    from {
        transform: scale(1.04) translateX(0)
    }

    to {
        transform: scale(1.04) translateX(-3%)
    }
}

.nws-root .nws-feat-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(217deg, #10744e2e, transparent 60%);
    pointer-events: none
}

.nws-root .nws-feat-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.nws-root .nws-feat-h {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    font-weight: 700;
    margin: 0
}

.nws-root .nws-feat-intro {
    font-size: 19px;
    line-height: 1.8;
    color: #1a4d34;
    margin: 0;
    letter-spacing: .01em
}

.nws-root .nws-feat-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 8px
}

.nws-root .nws-feat-col-p {
    font-size: 16px;
    line-height: 1.8;
    color: #2d5c42;
    margin: 0;
    letter-spacing: .01em
}

.nws-root .nws-feat-link {
    display: inline-block;
    background: #10744E;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 16px 32px;
    border-radius: 28px;
    text-decoration: none;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .4s ease-in-out;
    box-shadow: 0 3px 3px 1px #10744e14;
    align-self: flex-start;
    margin-top: 8px
}

.nws-root .nws-feat-link:hover {
    box-shadow: 0 9px 48px 1px #10744e38;
    background: #4DA074
}

@keyframes nws-slide-in {
    from {
        opacity: 0;
        transform: translateX(-48px)
    }

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

.nws-root .nws-hero-left>* {
    animation: nws-slide-in .7s cubic-bezier(0.22, 1, 0.36, 1) both
}

.nws-root .nws-hero-left .nws-badge {
    animation-delay: .05s
}

.nws-root .nws-hero-left .nws-hero-h {
    animation-delay: .18s
}

.nws-root .nws-hero-left .nws-hero-desc {
    animation-delay: .3s
}

.nws-root .nws-hero-left .nws-hero-link {
    animation-delay: .42s
}

@media (max-width: 1024px) {
    .nws-root .nws-hero {
        grid-template-columns: 1fr
    }

    .nws-root .nws-hero-right {
        height: 320px
    }

    .nws-root .nws-hero-left {
        padding: 48px 32px
    }

    .nws-root .nws-hero-h {
        font-size: 30px
    }

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

    .nws-root .nws-card.anchor {
        grid-row: auto;
        grid-column: 1 / 3
    }

    .nws-root .nws-card.anchor .nws-card-img {
        aspect-ratio: 16/7
    }

    .nws-root .nws-stats-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .nws-root .nws-feat-grid {
        grid-template-columns: 1fr
    }

    .nws-root .nws-collection {
        padding: 48px 32px
    }

    .nws-root .nws-stats-inner {
        padding: 48px 32px
    }

    .nws-root .nws-featured {
        padding: 48px 32px
    }
}

@media (max-width: 640px) {
    .nws-root .nws-hero-left {
        padding: 48px 16px
    }

    .nws-root .nws-hero-h {
        font-size: 30px
    }

    .nws-root .nws-collection {
        padding: 48px 16px
    }

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

    .nws-root .nws-card.anchor {
        grid-column: auto
    }

    .nws-root .nws-card.anchor .nws-card-img {
        aspect-ratio: 1/1
    }

    .nws-root .nws-col-top {
        flex-direction: column;
        align-items: flex-start
    }

    .nws-root .nws-stats-inner {
        padding: 48px 16px
    }

    .nws-root .nws-stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .nws-root .nws-stat-num {
        font-size: 42px
    }

    .nws-root .nws-featured {
        padding: 48px 16px
    }

    .nws-root .nws-feat-h {
        font-size: 30px
    }

    .nws-root .nws-feat-cols {
        grid-template-columns: 1fr
    }
}

.abt-us {
    overflow-x: clip;
    padding: 0
}

.abt-us .pg-open {
    background: #10744E;
    position: relative;
    padding: 96px 32px
}

.abt-us .pg-open::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
    background-size: 180px;
    opacity: .4;
    pointer-events: none
}

.abt-us .pg-open::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #10744E);
    pointer-events: none
}

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

.abt-us .open-badge {
    display: inline-block;
    background: #7addc62e;
    color: #7ADDC6;
    border: 1px solid #7addc659;
    border-radius: 3px;
    font-size: 16px;
    letter-spacing: .02em;
    padding: 8px 16px;
    margin-bottom: 32px;
    line-height: 1.2
}

.abt-us .open-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    max-width: 760px;
    margin: 0 0 32px
}

.abt-us .open-rule {
    width: 48px;
    height: 3px;
    background: #7ADDC6;
    border-radius: 3px;
    margin: 0 0 32px
}

.abt-us .open-desc {
    font-size: 19px;
    line-height: 1.8;
    color: #ffffffd1;
    max-width: 600px;
    letter-spacing: .01em;
    margin: 0
}

.abt-us .svg-divider-a {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #10744E
}

.abt-us .svg-divider-a svg {
    display: block;
    width: 100%
}

.abt-us .story-strip {
    background: #fff;
    padding: 96px 32px;
    position: relative
}

.abt-us .story-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(217deg, #4da0740f, transparent 60%);
    pointer-events: none
}

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

.abt-us .story-label {
    display: inline-block;
    background: #10744e14;
    color: #10744E;
    border-radius: 18px;
    font-size: 16px;
    letter-spacing: .02em;
    padding: 8px 16px;
    margin-bottom: 32px;
    line-height: 1.2;
    font-weight: 600
}

.abt-us .story-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #0d2b1e;
    font-weight: 700;
    margin: 0 0 32px
}

.abt-us .story-lead {
    font-size: 19px;
    line-height: 1.8;
    color: #1a3d2b;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.abt-us .story-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px
}

.abt-us .story-para {
    font-size: 16px;
    line-height: 1.8;
    color: #2a4a38;
    letter-spacing: .01em;
    margin: 0
}

.abt-us .story-right {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-us .story-img-main {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.abt-us .story-img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .story-img-main:hover img {
    transform: scale(1.03)
}

.abt-us .story-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abt-us .story-img-sm {
    aspect-ratio: 1/1;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 7px 25px 1px #10744e14
}

.abt-us .story-img-sm img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease-in-out
}

.abt-us .story-img-sm:hover img {
    transform: scale(1.04)
}

.abt-us .svg-divider-b {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.abt-us .svg-divider-b svg {
    display: block;
    width: 100%
}

.abt-us .ranked-strip {
    background: linear-gradient(217deg, #10744e0d, #4da07414 50%, transparent);
    padding: 96px 32px;
    position: relative;
    overflow: hidden
}

.abt-us .ranked-strip .bg-spot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    border-radius: 28px;
    background: radial-gradient(circle, #7addc61f 0%, transparent 70%);
    animation: spotpulse 5s ease-in-out infinite;
    pointer-events: none
}

@keyframes spotpulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .7
    }

    50% {
        transform: translate(-50%, -50%) scale(1.18);
        opacity: 1
    }
}

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

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

.abt-us .ranked-heading-col {
    grid-column: span 2
}

.abt-us .ranked-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #0d2b1e;
    font-weight: 700;
    margin: 0 0 16px
}

.abt-us .ranked-sub {
    font-size: 19px;
    line-height: 1.8;
    color: #2a4a38;
    margin: 0;
    letter-spacing: .01em
}

.abt-us .ranked-aside {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end
}

.abt-us .ranked-stat {
    font-size: 42px;
    font-weight: 700;
    color: #10744E;
    line-height: 1.2;
    letter-spacing: .01em
}

.abt-us .ranked-stat-label {
    font-size: 16px;
    color: #4DA074;
    letter-spacing: .02em;
    line-height: 1.2
}

.abt-us .ranked-list {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .ranked-item {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 32px;
    align-items: center;
    background: #fff;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 3px 3px 1px #10744e14;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .ranked-item:hover {
    box-shadow: 0 9px 48px 1px #10744e1c;
    transform: translateY(-2px)
}

.abt-us .ranked-num {
    font-size: 30px;
    font-weight: 700;
    color: #10744E;
    line-height: 1.2;
    letter-spacing: .01em
}

.abt-us .ranked-item-h {
    font-size: 19px;
    font-weight: 700;
    color: #0d2b1e;
    margin: 0 0 8px;
    line-height: 1.2;
    letter-spacing: .01em
}

.abt-us .ranked-item-p {
    font-size: 16px;
    line-height: 1.8;
    color: #2a4a38;
    margin: 0;
    letter-spacing: .01em
}

.abt-us .ranked-bar-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    min-width: 120px
}

.abt-us .bar-track {
    width: 120px;
    height: 8px;
    background: #10744e1f;
    border-radius: 3px;
    overflow: hidden
}

.abt-us .bar-fill {
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, #4DA074, #10744E);
    animation: barload 1.2s cubic-bezier(0.22, 1, 0.36, 1) both
}

.abt-us .ranked-item:nth-child(1) .bar-fill {
    width: 95%;
    animation-delay: .1s
}

.abt-us .ranked-item:nth-child(2) .bar-fill {
    width: 88%;
    animation-delay: .2s
}

.abt-us .ranked-item:nth-child(3) .bar-fill {
    width: 82%;
    animation-delay: .3s
}

.abt-us .ranked-item:nth-child(4) .bar-fill {
    width: 76%;
    animation-delay: .4s
}

@keyframes barload {
    from {
        width: 0
    }
}

.abt-us .bar-pct {
    font-size: 16px;
    color: #10744E;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.2
}

.abt-us .team-photo-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 96px
}

.abt-us .team-photo-card {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 7px 25px 1px #10744e14;
    animation: bounceload .7s cubic-bezier(0.22, 1, 0.36, 1) both
}

.abt-us .team-photo-card:nth-child(1) {
    animation-delay: .05s;
    margin-top: 32px
}

.abt-us .team-photo-card:nth-child(2) {
    animation-delay: .15s
}

.abt-us .team-photo-card:nth-child(3) {
    animation-delay: .25s;
    margin-top: 48px
}

@keyframes bounceload {
    0% {
        opacity: 0;
        transform: translateY(24px) scale(0.97)
    }

    60% {
        transform: translateY(-6px) scale(1.01)
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1)
    }
}

.abt-us .team-photo-card img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
    transition: transform .6s ease-in-out
}

.abt-us .team-photo-card:hover img {
    transform: scale(1.04)
}

.abt-us .team-photo-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 32px 16px 16px;
    background: linear-gradient(217deg, #10744ed1, #10744e8c)
}

.abt-us .team-photo-name {
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    letter-spacing: .01em;
    margin: 0 0 8px
}

.abt-us .team-photo-role {
    font-size: 16px;
    color: #7ADDC6;
    letter-spacing: .02em;
    line-height: 1.2;
    margin: 0
}

.abt-us .roadmap-link-strip {
    margin-top: 96px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    background: #10744E;
    border-radius: 28px;
    padding: 48px;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.abt-us .roadmap-link-text {
    flex: 1
}

.abt-us .roadmap-link-h {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.2;
    letter-spacing: .01em
}

.abt-us .roadmap-link-p {
    font-size: 16px;
    line-height: 1.8;
    color: #fffc;
    margin: 0;
    letter-spacing: .01em
}

.abt-us .btn-roadmap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #7ADDC6;
    color: #0d2b1e;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 16px 32px;
    border-radius: 18px;
    text-decoration: none;
    white-space: nowrap;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .4s ease-in-out;
    box-shadow: 0 3px 3px 1px #10744e14
}

.abt-us .btn-roadmap:hover {
    box-shadow: 0 9px 48px 1px #10744e38;
    transform: translateY(-2px)
}

.abt-us .btn-roadmap svg {
    flex-shrink: 0
}

@media (max-width: 1024px) {
    .abt-us .open-h1 {
        font-size: 42px
    }

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

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

    .abt-us .ranked-heading-col {
        grid-column: span 1
    }

    .abt-us .ranked-aside {
        align-items: flex-start
    }

    .abt-us .ranked-item {
        grid-template-columns: 48px 1fr;
        gap: 16px
    }

    .abt-us .ranked-bar-col {
        display: none
    }

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

    .abt-us .team-photo-card:nth-child(3) {
        display: none
    }

    .abt-us .roadmap-link-strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }
}

@media (max-width: 640px) {
    .abt-us .pg-open {
        padding: 48px 16px
    }

    .abt-us .open-h1 {
        font-size: 30px
    }

    .abt-us .open-desc {
        font-size: 16px
    }

    .abt-us .story-strip {
        padding: 48px 16px
    }

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

    .abt-us .story-h2 {
        font-size: 30px
    }

    .abt-us .ranked-strip {
        padding: 48px 16px
    }

    .abt-us .ranked-h2 {
        font-size: 30px
    }

    .abt-us .ranked-item {
        grid-template-columns: 40px 1fr;
        gap: 16px;
        padding: 16px
    }

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

    .abt-us .team-photo-card:nth-child(1),
    .abt-us .team-photo-card:nth-child(2),
    .abt-us .team-photo-card:nth-child(3) {
        margin-top: 0;
        display: block
    }

    .abt-us .roadmap-link-strip {
        padding: 32px 16px
    }

    .abt-us .roadmap-link-h {
        font-size: 19px
    }
}

.ctus-pg {
    width: 100%;
    overflow-x: clip;
    background: #fff
}

.ctus-pg .reach-band {
    background: linear-gradient(217deg, #10744E, #4DA074 60%, #7ADDC6);
    background-size: 300% 300%;
    animation: bgflicker 8s ease-in-out infinite;
    padding: 96px 16px;
    position: relative
}

@keyframes bgflicker {
    0% {
        background-position: 0 50%;
        opacity: 1
    }

    30% {
        background-position: 60% 30%;
        opacity: .93
    }

    60% {
        background-position: 100% 70%;
        opacity: .97
    }

    100% {
        background-position: 0 50%;
        opacity: 1
    }
}

.ctus-pg .reach-band::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #7ADDC6;
    opacity: .7
}

.ctus-pg .reach-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center
}

.ctus-pg .reach-text {
    flex: 1 1 420px
}

.ctus-pg .reach-badge {
    display: inline-block;
    background: #ffffff2e;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 18px;
    margin-bottom: 32px
}

.ctus-pg .reach-h {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    margin: 0 0 32px
}

.ctus-pg .reach-h .punct {
    color: #7ADDC6
}

.ctus-pg .reach-desc {
    font-size: 19px;
    line-height: 1.8;
    color: #ffffffeb;
    letter-spacing: .01em;
    margin: 0 0 32px
}

.ctus-pg .reach-details {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ctus-pg .detail-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.ctus-pg .detail-icon {
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background: #ffffff26;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ctus-pg .detail-icon svg {
    width: 20px;
    height: 20px
}

.ctus-pg .detail-label {
    font-size: 16px;
    line-height: 1.2;
    color: #ffffffb3;
    letter-spacing: .01em;
    margin: 0 0 8px
}

.ctus-pg .detail-val {
    font-size: 19px;
    line-height: 1.2;
    color: #fff;
    letter-spacing: .01em;
    margin: 0
}

.ctus-pg .detail-val a {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: #fff6;
    transition: text-decoration-color .5s ease-in-out
}

.ctus-pg .detail-val a:hover {
    text-decoration-color: #fff
}

.ctus-pg .reach-img-col {
    flex: 0 0 400px;
    position: relative
}

.ctus-pg .reach-img-wrap {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #10744e1c;
    position: relative
}

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

.ctus-pg .reach-img-wrap::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to bottom, #10744e8c, transparent);
    pointer-events: none
}

.ctus-pg .tri-accent {
    position: absolute;
    bottom: -24px;
    right: -24px;
    width: 0;
    height: 0;
    border-left: 48px solid transparent;
    border-top: 48px solid #7addc659;
    pointer-events: none
}

.ctus-pg .form-zone {
    background: #f5faf8;
    padding: 96px 16px;
    position: relative
}

.ctus-pg .topo-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.ctus-pg .topo-bg svg {
    width: 100%;
    height: 100%;
    opacity: .04
}

.ctus-pg .form-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 96px;
    align-items: flex-start;
    position: relative
}

.ctus-pg .form-aside {
    flex: 0 0 300px
}

.ctus-pg .aside-label {
    display: inline-block;
    background: #10744E;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 3px;
    margin-bottom: 32px
}

.ctus-pg .aside-h {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    font-weight: 300;
    margin: 0 0 16px
}

.ctus-pg .aside-p {
    font-size: 16px;
    line-height: 1.8;
    color: #2a4a3a;
    letter-spacing: .01em;
    margin: 0 0 32px
}

.ctus-pg .timeline {
    display: flex;
    flex-direction: column;
    gap: 0
}

.ctus-pg .tl-period {
    margin-bottom: 32px
}

.ctus-pg .tl-period-label {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #4DA074;
    font-weight: 700;
    margin: 0 0 16px
}

.ctus-pg .tl-events {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-left: 16px
}

.ctus-pg .tl-ev {
    position: relative;
    padding-left: 16px
}

.ctus-pg .tl-ev::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #7ADDC6
}

.ctus-pg .tl-ev-name {
    font-size: 16px;
    line-height: 1.2;
    color: #1a3a2a;
    font-weight: 600;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.ctus-pg .tl-ev-desc {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a4a;
    margin: 0;
    letter-spacing: .01em
}

.ctus-pg .form-col {
    flex: 1 1 auto
}

.ctus-pg .cf {
    background: #fff;
    border-radius: 28px;
    padding: 48px;
    box-shadow: 0 7px 25px 1px #10744e14
}

.ctus-pg .cf-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-bottom: 32px
}

.ctus-pg .cf-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto
}

.ctus-pg .cf-field label {
    font-size: 16px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 600;
    letter-spacing: .01em
}

.ctus-pg .cf-field input[type="text"],
.ctus-pg .cf-field input[type="tel"] {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.2;
    color: #1a3a2a;
    background: #f5faf8;
    border: 1.5px solid #b2d8c8;
    border-radius: 3px;
    outline: none;
    transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
    box-sizing: border-box;
    letter-spacing: .01em
}

.ctus-pg .cf-field input[type="text"]::placeholder,
.ctus-pg .cf-field input[type="tel"]::placeholder {
    color: #10744e66
}

.ctus-pg .cf-field input[type="text"]:focus,
.ctus-pg .cf-field input[type="tel"]:focus {
    border-color: #10744E;
    box-shadow: 0 3px 3px 1px #10744e14
}

.ctus-pg .budget-label {
    font-size: 16px;
    line-height: 1.2;
    color: #10744E;
    font-weight: 600;
    letter-spacing: .01em;
    margin: 0 0 16px;
    display: block
}

.ctus-pg .budget-opts {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px
}

.ctus-pg .budget-opt {
    position: relative
}

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

.ctus-pg .budget-opt label {
    display: inline-block;
    padding: 16px 32px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    background: #f5faf8;
    border: 1.5px solid #b2d8c8;
    border-radius: 18px;
    cursor: pointer;
    transition: background .6s cubic-bezier(0.22, 1, 0.36, 1), border-color .6s cubic-bezier(0.22, 1, 0.36, 1), color .6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
    user-select: none
}

.ctus-pg .budget-opt input[type="radio"]:checked+label {
    background: #10744E;
    border-color: #10744E;
    color: #fff;
    box-shadow: 0 7px 25px 1px #10744e14
}

.ctus-pg .budget-opt input[type="radio"]:focus-visible+label {
    outline: 2px solid #10744E;
    outline-offset: 3px
}

.ctus-pg .budget-opt label:hover {
    border-color: #10744E;
    box-shadow: 0 3px 3px 1px #10744e14
}

.ctus-pg .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px
}

.ctus-pg .privacy-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #10744E;
    cursor: pointer
}

.ctus-pg .privacy-row .prv-text {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a4a;
    letter-spacing: .01em;
    margin: 0
}

.ctus-pg .privacy-row .prv-text a {
    color: #10744E;
    text-decoration: underline;
    text-decoration-color: #10744e66;
    transition: text-decoration-color .5s ease-in-out
}

.ctus-pg .privacy-row .prv-text a:hover {
    text-decoration-color: #10744E
}

.ctus-pg .submit-btn {
    display: inline-block;
    padding: 16px 48px;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    background: #10744E;
    border: none;
    border-radius: 18px;
    cursor: pointer;
    font-weight: 600;
    box-shadow: 0 3px 3px 1px #10744e14;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), background .5s ease-in-out
}

.ctus-pg .submit-btn:hover {
    background: #0d5f3f;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.ctus-pg .submit-btn:focus-visible {
    outline: 2px solid #10744E;
    outline-offset: 3px
}

.ctus-pg .submit-btn:active {
    background: #0a4d33
}

.ctus-pg .svgline {
    display: block;
    width: 100%;
    height: 48px;
    overflow: visible
}

@media (max-width: 1024px) {
    .ctus-pg .reach-inner {
        flex-direction: column;
        gap: 48px
    }

    .ctus-pg .reach-img-col {
        flex: 0 0 auto;
        width: 100%;
        max-width: 480px;
        align-self: center
    }

    .ctus-pg .reach-h {
        font-size: 42px
    }

    .ctus-pg .form-inner {
        flex-direction: column;
        gap: 48px
    }

    .ctus-pg .form-aside {
        flex: 0 0 auto;
        width: 100%
    }
}

@media (max-width: 640px) {
    .ctus-pg .reach-band {
        padding: 48px 16px
    }

    .ctus-pg .reach-h {
        font-size: 30px
    }

    .ctus-pg .cf-row {
        flex-direction: column;
        gap: 16px
    }

    .ctus-pg .budget-opts {
        flex-direction: column
    }

    .ctus-pg .form-zone {
        padding: 48px 16px
    }

    .ctus-pg .cf {
        padding: 32px 16px
    }

    .ctus-pg .budget-opt label {
        padding: 16px
    }
}

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

.pg-success .success-wrap {
    max-width: 1320px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px
}

.pg-success .success-icon {
    width: 72px;
    height: 72px;
    flex-shrink: 0
}

.pg-success .success-icon circle {
    fill: none;
    stroke: #10744E;
    stroke-width: 2.5
}

.pg-success .success-icon polyline {
    fill: none;
    stroke: #10744E;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.pg-success .badge-label {
    display: inline-block;
    background: #7ADDC6;
    color: #10744E;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 18px;
    box-shadow: 0 3px 3px 1px #10744e14
}

.pg-success .success-heading {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #10744E;
    font-weight: 700;
    margin: 0
}

.pg-success .success-body {
    max-width: 520px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.pg-success .success-body p {
    font-size: 19px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #1b3d2e;
    margin: 0
}

.pg-success .success-body p.note {
    font-size: 16px;
    color: #4DA074
}

.pg-success .divider-line {
    width: 64px;
    height: 3px;
    background: linear-gradient(217deg, #4DA074, transparent);
    border-radius: 3px
}

.pg-success .btn-home {
    display: inline-block;
    padding: 16px 32px;
    background: #10744E;
    color: #fff;
    font-size: 16px;
    letter-spacing: .02em;
    font-weight: 600;
    border-radius: 28px;
    text-decoration: none;
    box-shadow: 0 7px 25px 1px #10744e14;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .4s ease-in-out
}

.pg-success .btn-home:hover {
    background: #0d6040;
    box-shadow: 0 9px 48px 1px #10744e1c
}

.pg-success .btn-home:focus {
    outline: 3px solid #7ADDC6;
    outline-offset: 4px
}

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

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

    .pg-success .success-body p {
        font-size: 16px
    }
}