body {
    margin: 0;
    position: relative;
    min-height: 100vh;
    word-break: break-word;
    overflow-wrap: anywhere;
    font-family: 'Lexend', sans-serif
}

.brand-hd {
    background: linear-gradient(135deg, #43978C 0%, #2d6b62 60%, #1e4d47 100%);
    border-bottom: 2px solid #9CCDBF;
    position: relative
}

.brand-hd__bar {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    min-height: 96px
}

.brand-hd__identity {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0
}

.brand-hd__mark {
    width: 88px;
    height: 88px;
    border: 3px solid #9CCDBF;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    box-shadow: 0 5px 14px -2px #43978c14;
    flex-shrink: 0
}

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

.brand-hd__namestack {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.brand-hd__name {
    font-size: 29px;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -.01em
}

.brand-hd__tag {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.35;
    color: #9CCDBF;
    letter-spacing: .08em;
    text-transform: uppercase
}

.brand-hd__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0
}

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

.nav-row__item {
    position: relative
}

.nav-row__lnk {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #E6EEEF;
    text-decoration: none;
    border-radius: 2px;
    border: 1px solid transparent;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.0, 0, 0.2, 1);
    white-space: nowrap;
    letter-spacing: .03em;
    min-height: 44px
}

.nav-row__lnk:hover,
.nav-row__lnk:focus {
    color: #fff;
    border-color: #9ccdbf80;
    background: #9ccdbf1f;
    outline: none
}

.nav-row__lnk:focus-visible {
    box-shadow: 0 0 0 3px #9ccdbf8c
}

.nav-row__item--sub:hover .sub-drop,
.nav-row__item--sub:focus-within .sub-drop {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.sub-drop {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #9CCDBF;
    border-radius: 2px;
    box-shadow: 0 9px 48px -2px #43978c1f;
    padding: 8px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 200
}

.sub-drop::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
    background: transparent
}

.sub-drop__lnk {
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d6b62;
    text-decoration: none;
    border-radius: 2px;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.sub-drop__lnk:hover,
.sub-drop__lnk:focus {
    background: #E6EEEF;
    color: #1e4d47;
    outline: none
}

.sub-drop__lnk:focus-visible {
    box-shadow: 0 0 0 3px #43978c59
}

.brand-hd__cred {
    flex-shrink: 0;
    display: flex;
    align-items: center
}

.cred-badge {
    border: 2px solid #9CCDBF;
    border-radius: 2px;
    padding: 8px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: #9ccdbf1a
}

.cred-badge__yr {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #fff
}

.cred-badge__label {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.35;
    color: #9CCDBF;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap
}

.ft-base {
    background: #fff;
    border-top: 2px solid #9CCDBF
}

.ft-base__upper {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 32px 32px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 48px;
    align-items: start
}

.ft-brand {
    display: flex;
    align-items: center;
    gap: 16px
}

.ft-brand__mark {
    width: 80px;
    height: 80px;
    border: 2px solid #43978C;
    border-radius: 2px;
    background: #E6EEEF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 5px -2px #43978c12;
    flex-shrink: 0
}

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

.ft-brand__name {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #2d6b62
}

.ft-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.ft-links__heading {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #43978C;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 8px
}

.ft-links__lnk {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d6b62;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft-links__lnk:hover,
.ft-links__lnk:focus {
    color: #43978C;
    border-color: #43978C;
    outline: none
}

.ft-links__lnk:focus-visible {
    box-shadow: 0 0 0 3px #43978c4d;
    border-radius: 2px
}

.ft-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end
}

.ft-trust__item {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #43978C
}

.ft-trust__item a {
    color: #43978C;
    text-decoration: none;
    border-bottom: 1px solid #43978c66;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft-trust__item a:hover {
    border-color: #43978C
}

.ft-trust__item a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #43978c4d;
    border-radius: 2px
}

.ft-base__lower {
    max-width: 1140px;
    margin: 0 auto;
    padding: 16px 32px 32px;
    border-top: 1px solid #E6EEEF;
    display: flex;
    align-items: center;
    justify-content: center
}

.ft-copy {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.55;
    color: #43978C;
    letter-spacing: .03em
}

.cookie-tray {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    z-index: 1200;
    background: #fff;
    border-top: 2px solid #9CCDBF;
    box-shadow: 0 9px 48px -2px #43978c1f;
    transform: translateX(100%);
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie-tray.tray-shown {
    transform: translateX(0)
}

.cookie-tray__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap
}

.cookie-tray__text {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #1e4d47
}

.cookie-tray__text a {
    color: #43978C;
    text-decoration: underline
}

.cookie-tray__opt {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #1e4d47;
    white-space: nowrap
}

.cookie-tray__opt label {
    cursor: pointer;
    font-weight: 400
}

.cookie-tray__toggle {
    width: 36px;
    height: 20px;
    appearance: none;
    background: #9CCDBF;
    border-radius: 24px;
    cursor: pointer;
    position: relative;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0
}

.cookie-tray__toggle:checked {
    background: #43978C
}

.cookie-tray__toggle::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 24px;
    background: #fff;
    transition: left .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie-tray__toggle:checked::after {
    left: 19px
}

.cookie-tray__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0
}

.tray-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    border-radius: 2px;
    cursor: pointer;
    min-height: 44px;
    border: 2px solid #43978C;
    text-decoration: none;
    transition: background .25s cubic-bezier(0.0, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Lexend', sans-serif
}

.tray-btn--filled {
    background: #43978C;
    color: #fff
}

.tray-btn--filled:hover,
.tray-btn--filled:focus {
    background: #2d6b62;
    border-color: #2d6b62;
    outline: none
}

.tray-btn--filled:focus-visible {
    box-shadow: 0 0 0 3px #43978c66
}

.tray-btn--ghost {
    background: transparent;
    color: #43978C
}

.tray-btn--ghost:hover,
.tray-btn--ghost:focus {
    background: #E6EEEF;
    outline: none
}

.tray-btn--ghost:focus-visible {
    box-shadow: 0 0 0 3px #43978c66
}

@media (max-width: 1024px) {
    .brand-hd__bar {
        padding: 0 16px;
        gap: 16px;
        flex-wrap: wrap;
        min-height: auto;
        padding-top: 16px;
        padding-bottom: 16px
    }

    .brand-hd__nav {
        order: 3;
        flex-basis: 100%;
        justify-content: flex-start
    }

    .ft-base__upper {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 16px 16px
    }

    .ft-trust {
        align-items: flex-start
    }
}

@media (max-width: 768px) {
    .brand-hd__cred {
        display: none
    }

    .brand-hd__name {
        font-size: 22px
    }

    .nav-row {
        gap: 4px
    }

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

    .ft-base__upper {
        padding: 32px 16px 16px
    }

    .cookie-tray__inner {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }
}

@media (max-width: 480px) {
    .brand-hd__mark {
        width: 64px;
        height: 64px
    }

    .brand-hd__mark img {
        width: 52px;
        height: 52px
    }

    .brand-hd__name {
        font-size: 17px
    }

    .brand-hd__tag {
        font-size: 14px
    }

    .ft-brand__mark {
        display: none
    }

    .cookie-tray__actions {
        flex-direction: column;
        width: 100%
    }

    .tray-btn {
        width: 100%;
        justify-content: center
    }
}

.doc-area {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 32px;
    color: #2c3e3d;
    background: #fff
}

.doc-area h1 {
    font-size: 40px;
    line-height: 1.1;
    letter-spacing: -.5px;
    color: #1a3532;
    margin-bottom: 32px;
    margin-top: 0;
    padding-bottom: 16px;
    border-bottom: 2px solid #E6EEEF
}

.doc-area h2 {
    font-size: 29px;
    line-height: 1.35;
    color: #1a3532;
    margin-top: 48px;
    margin-bottom: 16px
}

.doc-area h3 {
    font-size: 22px;
    line-height: 1.35;
    color: #2a4a47;
    margin-top: 32px;
    margin-bottom: 16px
}

.doc-area h4 {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a47;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: 32px;
    margin-bottom: 8px
}

.doc-area h5 {
    font-size: 17px;
    line-height: 1.55;
    color: #43978C;
    margin-top: 16px;
    margin-bottom: 8px
}

.doc-area h6 {
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #43978C;
    margin-top: 16px;
    margin-bottom: 8px
}

.doc-area p {
    font-size: 17px;
    line-height: 1.8;
    color: #2c3e3d;
    margin-top: 0;
    margin-bottom: 16px
}

.doc-area ul,
.doc-area ol {
    font-size: 17px;
    line-height: 1.8;
    color: #2c3e3d;
    padding-left: 32px;
    margin-top: 0;
    margin-bottom: 16px
}

.doc-area li {
    margin-bottom: 8px
}

.doc-area li:last-child {
    margin-bottom: 0
}

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

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

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

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

.doc-area a {
    color: #43978C;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.doc-area a:hover {
    color: #2a6b62;
    text-decoration-color: #9CCDBF
}

.doc-area a:visited {
    color: #2a6b62
}

.doc-area table {
    width: 100%;
    border-collapse: collapse;
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 32px;
    box-shadow: 0 3px 5px -2px #43978c12;
    border-radius: 2px;
    overflow: hidden
}

.doc-area thead {
    background: #E6EEEF
}

.doc-area thead th {
    font-size: 14px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #1a3532;
    padding: 16px;
    text-align: left;
    font-weight: 700;
    border-bottom: 2px solid #9CCDBF
}

.doc-area tbody tr {
    border-bottom: 1px solid #E6EEEF;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

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

.doc-area tbody tr:hover {
    background: #f4f9f8
}

.doc-area td {
    padding: 16px;
    color: #2c3e3d;
    vertical-align: top
}

.doc-area th {
    padding: 16px;
    vertical-align: top
}

.doc-area div {
    box-sizing: border-box
}

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

    .doc-area h1 {
        font-size: 29px
    }

    .doc-area h2 {
        font-size: 22px;
        margin-top: 32px
    }

    .doc-area h3 {
        font-size: 17px;
        margin-top: 32px
    }

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

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

    .doc-area h1 {
        font-size: 22px
    }

    .doc-area h2 {
        font-size: 17px
    }

    .doc-area p,
    .doc-area ul,
    .doc-area ol {
        font-size: 14px
    }

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

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

.hw-works .pg-limit {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px
}

.hw-works .title-blk {
    background: linear-gradient(to left, #9CCDBF 0%, #43978C 100%);
    padding-top: 96px;
    padding-bottom: 0;
    position: relative
}

.hw-works .title-blk::before {
    content: "";
    position: absolute;
    top: -48px;
    right: -48px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    border: 1.5px solid #ffffff1a;
    pointer-events: none
}

.hw-works .title-blk::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    border: 1px solid #ffffff0f;
    pointer-events: none
}

.hw-works .title-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.hw-works .title-text {
    flex: 1 1 0;
    padding-bottom: 64px
}

.hw-works .label-tag {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #E6EEEF;
    background: #ffffff21;
    border-radius: 2px;
    padding: 4px 16px;
    margin-bottom: 16px
}

.hw-works .title-text h1 {
    font-size: 70px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
    font-weight: 800
}

.hw-works .title-text p {
    font-size: 17px;
    line-height: 1.55;
    color: #E6EEEF;
    max-width: 480px;
    margin: 0
}

.hw-works .title-img-col {
    flex: 0 0 340px;
    align-self: flex-end
}

.hw-works .title-img-wrap {
    width: 340px;
    aspect-ratio: 16/9;
    border-radius: 24px 24px 0 0;
    overflow: hidden;
    box-shadow: 0 9px 48px -2px #43978c1f;
    position: relative
}

.hw-works .title-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(1) contrast(1.12);
    display: block
}

.hw-works .title-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 20%, transparent 40%, #1e3c378c 100%);
    pointer-events: none
}

.hw-works .wave-div {
    display: block;
    width: 100%;
    line-height: 0;
    margin-top: -2px
}

.hw-works .wave-div svg {
    display: block;
    width: 100%
}

.hw-works .proc-blk {
    background: #fff;
    padding-top: 96px;
    padding-bottom: 96px
}

.hw-works .proc-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    margin-bottom: 64px
}

.hw-works .proc-label {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #43978C;
    border-top: 2px solid #43978C;
    padding-top: 8px;
    margin-bottom: 16px
}

.hw-works .proc-heading-col {
    flex: 0 0 380px
}

.hw-works .proc-heading-col h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #1b3533;
    margin: 0 0 8px;
    font-weight: 800
}

.hw-works .proc-desc-col {
    flex: 1 1 0;
    padding-top: 8px
}

.hw-works .proc-desc-col p {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4e4b;
    margin: 0 0 16px
}

.hw-works .proc-desc-col p:last-child {
    margin-bottom: 0
}

.hw-works .timeline-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    position: relative;
    margin-bottom: 48px
}

.hw-works .timeline-row::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 22px;
    right: 22px;
    height: 2px;
    background: linear-gradient(to right, #43978C, #9CCDBF);
    z-index: 0
}

.hw-works .tl-point {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1
}

.hw-works .tl-dot {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #43978C;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 5px 14px -2px #43978c14;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.hw-works .tl-dot:hover {
    transform: scale(1.12)
}

.hw-works .tl-dot svg {
    display: block
}

.hw-works .tl-card {
    margin-top: 16px;
    background: #E6EEEF;
    border-radius: 24px;
    padding: 16px;
    width: 100%;
    max-width: 180px;
    box-shadow: 0 3px 5px -2px #43978c12;
    position: relative;
    border-top: 3px solid #43978C;
    transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.hw-works .tl-card:hover {
    box-shadow: 0 9px 48px -2px #43978c1f
}

.hw-works .tl-num {
    font-size: 40px;
    line-height: 1.1;
    color: #43978c21;
    font-weight: 900;
    position: absolute;
    top: 8px;
    right: 12px;
    pointer-events: none;
    user-select: none
}

.hw-works .tl-card h4 {
    font-size: 14px;
    line-height: 1.35;
    color: #1b3533;
    font-weight: 700;
    margin: 0 0 4px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.hw-works .tl-card p {
    font-size: 14px;
    line-height: 1.55;
    color: #2e4e4b;
    margin: 0
}

.hw-works .steps-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.hw-works .step-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 5px 14px -2px #43978c14;
    transition: box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative
}

.hw-works .step-item::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 0;
    width: 4px;
    height: 40px;
    background: #43978C;
    border-radius: 0 2px 2px 0
}

.hw-works .step-item:hover {
    box-shadow: 0 9px 48px -2px #43978c1f
}

.hw-works .step-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 2px;
    background: linear-gradient(to left, #9CCDBF, #43978C);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: float-icon 3.2s ease-in-out infinite
}

.hw-works .step-item:nth-child(2) .step-icon {
    animation-delay: .8s;
    animation-duration: 2.9s
}

.hw-works .step-item:nth-child(3) .step-icon {
    animation-delay: 1.4s;
    animation-duration: 3.5s
}

.hw-works .step-item:nth-child(4) .step-icon {
    animation-delay: .4s;
    animation-duration: 3.1s
}

@keyframes float-icon {

    0%,
    100% {
        transform: translateY(0)
    }

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

.hw-works .step-body {
    flex: 1 1 0
}

.hw-works .step-body h3 {
    font-size: 22px;
    line-height: 1.35;
    color: #1b3533;
    font-weight: 700;
    margin: 0 0 8px
}

.hw-works .step-body .step-p {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4e4b;
    margin: 0 0 8px
}

.hw-works .step-body .step-p:last-child {
    margin-bottom: 0
}

.hw-works .step-num-bg {
    font-size: 70px;
    line-height: 1.1;
    color: #9ccdbf26;
    font-weight: 900;
    position: absolute;
    bottom: 8px;
    right: 16px;
    pointer-events: none;
    user-select: none
}

.hw-works .expert-strip {
    margin-top: 64px;
    background: linear-gradient(to left, #9CCDBF 0%, #43978C 100%);
    border-radius: 24px;
    padding: 32px 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.hw-works .expert-portrait {
    flex-shrink: 0;
    width: 88px;
    height: 116px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 5px 14px -2px #43978c14
}

.hw-works .expert-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.hw-works .expert-quote {
    flex: 1 1 0
}

.hw-works .expert-quote p {
    font-size: 17px;
    line-height: 1.55;
    color: #E6EEEF;
    margin: 0 0 8px
}

.hw-works .expert-name {
    font-size: 14px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700;
    margin: 0
}

.hw-works .expert-role {
    font-size: 14px;
    color: #e6eeefcc;
    margin: 0
}

@media (max-width: 1024px) {
    .hw-works .title-inner {
        gap: 32px
    }

    .hw-works .title-img-col {
        flex: 0 0 260px
    }

    .hw-works .title-img-wrap {
        width: 260px
    }

    .hw-works .proc-top {
        flex-direction: column;
        gap: 16px
    }

    .hw-works .proc-heading-col {
        flex: none
    }
}

@media (max-width: 768px) {
    .hw-works .title-inner {
        flex-direction: column
    }

    .hw-works .title-img-col {
        display: none
    }

    .hw-works .title-text h1 {
        font-size: 40px
    }

    .hw-works .steps-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .hw-works .timeline-row {
        overflow-x: auto;
        padding-bottom: 8px
    }

    .hw-works .tl-point {
        min-width: 140px
    }

    .hw-works .expert-strip {
        flex-direction: column;
        padding: 32px;
        align-items: flex-start
    }

    .hw-works .expert-portrait {
        display: none
    }
}

@media (max-width: 480px) {
    .hw-works .pg-limit {
        padding-left: 16px;
        padding-right: 16px
    }

    .hw-works .title-text h1 {
        font-size: 29px
    }

    .hw-works .proc-blk {
        padding-top: 48px;
        padding-bottom: 48px
    }

    .hw-works .expert-strip {
        padding: 16px
    }
}

.ld-pg {
    background: #fff;
    overflow-x: clip
}

.ld-pg .t-blk {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px
}

.ld-pg .t-blk .img-side {
    position: relative;
    overflow: hidden
}

.ld-pg .t-blk .img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.78) saturate(1.1);
    transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .t-blk .img-side:hover img {
    filter: brightness(0.92) saturate(1.2)
}

.ld-pg .t-blk .img-side .ovr-shape {
    position: absolute;
    top: -32px;
    right: -32px;
    width: 220px;
    height: 220px;
    border: 2px solid #43978c47;
    border-radius: 24px;
    pointer-events: none
}

.ld-pg .t-blk .img-side .ovr-shape2 {
    position: absolute;
    bottom: 32px;
    left: -24px;
    width: 120px;
    height: 120px;
    border: 2px solid #9ccdbf59;
    border-radius: 2px;
    pointer-events: none
}

.ld-pg .t-blk .img-side .clr-ovr {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #43978c61, #9ccdbf1f);
    pointer-events: none
}

.ld-pg .t-blk .txt-side {
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff
}

.ld-pg .t-blk .txt-side .eyebrow {
    font-size: 14px;
    letter-spacing: .14em;
    color: #43978C;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.ld-pg .t-blk .txt-side .t-h1 {
    font-size: 70px;
    line-height: 1.1;
    color: #1b3a38;
    margin-bottom: 16px;
    font-weight: 800
}

.ld-pg .t-blk .txt-side .t-h1 span {
    color: #43978C;
    display: block
}

.ld-pg .t-blk .txt-side .sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f4d;
    margin-bottom: 32px;
    max-width: 420px
}

.ld-pg .t-blk .txt-side .btn-pri {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #43978C;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: 2px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), gap .2s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 5px 14px -2px #43978c14
}

.ld-pg .t-blk .txt-side .btn-pri:hover {
    background: #357a70;
    gap: 16px
}

.ld-pg .t-blk .txt-side .btn-pri svg {
    flex-shrink: 0
}

.ld-pg .exp-arc {
    padding: 96px 0;
    background: #E6EEEF;
    position: relative
}

.ld-pg .exp-arc .bg-outline {
    position: absolute;
    top: 48px;
    right: 48px;
    width: 280px;
    height: 280px;
    border: 2px solid #43978c1f;
    border-radius: 24px;
    pointer-events: none;
    overflow: hidden
}

.ld-pg .exp-arc .arc-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: start
}

.ld-pg .exp-arc .arc-left .sec-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #43978c1a;
    display: block;
    margin-bottom: 8px
}

.ld-pg .exp-arc .arc-left .sec-h {
    font-size: 40px;
    line-height: 1.1;
    color: #1b3a38;
    font-weight: 700;
    margin-bottom: 16px
}

.ld-pg .exp-arc .arc-left .sec-lead {
    font-size: 22px;
    line-height: 1.35;
    color: #43978C;
    font-weight: 500;
    margin-bottom: 16px
}

.ld-pg .exp-arc .arc-right {
    padding-top: 48px
}

.ld-pg .exp-arc .arc-right .para-num {
    font-size: 14px;
    letter-spacing: .1em;
    color: #43978C;
    font-weight: 700;
    margin-bottom: 4px
}

.ld-pg .exp-arc .arc-right .para-txt {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f4d;
    margin-bottom: 32px
}

.ld-pg .exp-arc .arc-img {
    max-width: 1140px;
    margin: 48px auto 0;
    padding: 0 32px
}

.ld-pg .exp-arc .arc-img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    filter: brightness(0.88);
    transition: filter .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .exp-arc .arc-img img:hover {
    filter: brightness(1)
}

.ld-pg .gap-blk {
    padding: 96px 0 48px;
    background: #fff
}

.ld-pg .gap-blk .gap-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px
}

.ld-pg .gap-blk .gap-hd {
    font-size: 14px;
    letter-spacing: .12em;
    color: #43978C;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 8px
}

.ld-pg .gap-blk .gap-h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #1b3a38;
    font-weight: 700;
    margin-bottom: 48px;
    max-width: 620px
}

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

.ld-pg .gap-blk .g-card {
    background: #fff;
    border: 1.5px solid #9CCDBF;
    border-radius: 2px;
    padding: 32px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .gap-blk .g-card:hover {
    box-shadow: 0 9px 48px -2px #43978c1f
}

.ld-pg .gap-blk .g-card .c-ovr {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #43978ceb, #9ccdbfe0);
    opacity: 0;
    transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px
}

.ld-pg .gap-blk .g-card:hover .c-ovr {
    opacity: 1
}

.ld-pg .gap-blk .g-card .c-ovr p {
    font-size: 17px;
    line-height: 1.55;
    color: #fff;
    text-align: center
}

.ld-pg .gap-blk .g-card .c-num {
    font-size: 40px;
    line-height: 1.1;
    font-weight: 800;
    color: #43978c1a;
    margin-bottom: 8px
}

.ld-pg .gap-blk .g-card .c-ttl {
    font-size: 22px;
    line-height: 1.35;
    color: #1b3a38;
    font-weight: 700;
    margin-bottom: 8px
}

.ld-pg .gap-blk .g-card .c-txt {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f4d
}

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

.ld-pg .gap-blk .gap-img-row img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    filter: brightness(0.85);
    transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .gap-blk .gap-img-row img:hover {
    filter: brightness(1)
}

.ld-pg .lv-blk {
    padding: 96px 0;
    background: #1b3a38;
    position: relative;
    overflow: hidden
}

.ld-pg .lv-blk .lv-bg-shape {
    position: absolute;
    bottom: -48px;
    left: -48px;
    width: 320px;
    height: 320px;
    border: 2px solid #9ccdbf24;
    border-radius: 24px;
    pointer-events: none
}

.ld-pg .lv-blk .lv-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px
}

.ld-pg .lv-blk .lv-top {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 96px;
    align-items: start;
    margin-bottom: 48px
}

.ld-pg .lv-blk .lv-sec-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #9ccdbf1a;
    display: block
}

.ld-pg .lv-blk .lv-h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #E6EEEF;
    font-weight: 700;
    margin-bottom: 16px
}

.ld-pg .lv-blk .lv-lead {
    font-size: 22px;
    line-height: 1.35;
    color: #9CCDBF;
    margin-bottom: 16px
}

.ld-pg .lv-blk .lv-right {
    padding-top: 48px
}

.ld-pg .lv-blk .lv-p {
    font-size: 17px;
    line-height: 1.55;
    color: #9CCDBF;
    margin-bottom: 16px
}

.ld-pg .lv-blk .lv-list {
    list-style: decimal;
    padding-left: 24px
}

.ld-pg .lv-blk .lv-list li {
    font-size: 17px;
    line-height: 1.8;
    color: #E6EEEF;
    margin-bottom: 8px
}

.ld-pg .lv-blk .lv-img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    filter: brightness(0.8);
    transition: filter .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.ld-pg .lv-blk .lv-img:hover {
    filter: brightness(1)
}

.ld-pg .env-blk {
    padding: 96px 0;
    background: #fff;
    position: relative
}

.ld-pg .env-blk::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, #43978c0a 0px, #43978c0a 1px, transparent 1px, transparent 32px), repeating-linear-gradient(90deg, #43978c0a 0px, #43978c0a 1px, transparent 1px, transparent 32px);
    pointer-events: none
}

.ld-pg .env-blk .env-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative
}

.ld-pg .env-blk .env-hd {
    text-align: center;
    margin-bottom: 48px
}

.ld-pg .env-blk .env-hd .sec-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #43978c14;
    display: block
}

.ld-pg .env-blk .env-hd .env-h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #1b3a38;
    font-weight: 700;
    margin-bottom: 8px
}

.ld-pg .env-blk .env-hd .env-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f4d;
    max-width: 560px;
    margin: 0 auto
}

.ld-pg .env-blk .env-cols {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.ld-pg .env-blk .env-port {
    position: relative
}

.ld-pg .env-blk .env-port img {
    width: 100%;
    aspect-ratio: 5/7;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 2px;
    filter: brightness(0.85);
    transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .env-blk .env-port img:hover {
    filter: brightness(1)
}

.ld-pg .env-blk .env-port .port-cap {
    background: #43978C;
    color: #fff;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 8px 16px;
    margin-top: 8px;
    text-align: center;
    border-radius: 2px
}

.ld-pg .env-blk .env-txt .para-num {
    font-size: 14px;
    letter-spacing: .1em;
    color: #43978C;
    font-weight: 700;
    margin-bottom: 4px
}

.ld-pg .env-blk .env-txt .para-body {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f4d;
    margin-bottom: 32px
}

.ld-pg .env-blk .env-txt .env-h4 {
    font-size: 22px;
    line-height: 1.35;
    color: #1b3a38;
    font-weight: 700;
    margin-bottom: 16px
}

.ld-pg .scale-blk {
    padding: 96px 0;
    background: linear-gradient(to right, #9CCDBF, #43978C)
}

.ld-pg .scale-blk .scale-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px
}

.ld-pg .scale-blk .scale-top {
    margin-bottom: 48px
}

.ld-pg .scale-blk .sc-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #ffffff1f;
    display: block
}

.ld-pg .scale-blk .sc-h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    font-weight: 700;
    margin-bottom: 8px
}

.ld-pg .scale-blk .sc-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #ffffffd1;
    max-width: 560px
}

.ld-pg .scale-blk .metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-bottom: 48px
}

.ld-pg .scale-blk .met {
    background: #ffffff1f;
    border-radius: 2px;
    padding: 32px;
    text-align: center;
    border: 1.5px solid #fff3;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .scale-blk .met:hover {
    background: #ffffff38
}

.ld-pg .scale-blk .met .m-val {
    font-size: 40px;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    display: block;
    margin-bottom: 8px
}

.ld-pg .scale-blk .met .m-lbl {
    font-size: 14px;
    letter-spacing: .1em;
    color: #ffffffd1;
    text-transform: uppercase
}

.ld-pg .scale-blk .sc-img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    filter: brightness(0.82);
    transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.ld-pg .scale-blk .sc-img:hover {
    filter: brightness(1)
}

.ld-pg .split-h {
    display: inline-block;
    overflow: hidden
}

.ld-pg .split-h .s-word {
    display: inline-block;
    animation: splitReveal .7s cubic-bezier(0.4, 0, 0.2, 1) both
}

.ld-pg .split-h .s-word:nth-child(2) {
    animation-delay: .12s
}

.ld-pg .split-h .s-word:nth-child(3) {
    animation-delay: .24s
}

@keyframes splitReveal {
    from {
        opacity: 0;
        transform: translateY(32px) scaleY(1.12);
        letter-spacing: .18em
    }

    to {
        opacity: 1;
        transform: translateY(0) scaleY(1);
        letter-spacing: normal
    }
}

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

    .ld-pg .t-blk .img-side {
        display: none
    }

    .ld-pg .t-blk .txt-side {
        padding: 48px 32px
    }

    .ld-pg .t-blk .txt-side .t-h1 {
        font-size: 40px
    }

    .ld-pg .exp-arc .arc-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ld-pg .gap-blk .gap-grid {
        grid-template-columns: 1fr 1fr
    }

    .ld-pg .lv-blk .lv-top {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ld-pg .env-blk .env-cols {
        grid-template-columns: 1fr
    }

    .ld-pg .env-blk .env-port {
        display: none
    }

    .ld-pg .scale-blk .metrics {
        grid-template-columns: repeat(2, 1fr)
    }

    .ld-pg .gap-blk .gap-img-row {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .ld-pg .t-blk .txt-side .t-h1 {
        font-size: 29px
    }

    .ld-pg .exp-arc {
        padding: 48px 0
    }

    .ld-pg .exp-arc .arc-inner {
        padding: 0 16px
    }

    .ld-pg .gap-blk .gap-grid {
        grid-template-columns: 1fr
    }

    .ld-pg .scale-blk .metrics {
        grid-template-columns: 1fr 1fr
    }

    .ld-pg .gap-blk .gap-inner {
        padding: 0 16px
    }

    .ld-pg .lv-blk .lv-inner {
        padding: 0 16px
    }

    .ld-pg .env-blk .env-inner {
        padding: 0 16px
    }

    .ld-pg .scale-blk .scale-inner {
        padding: 0 16px
    }
}

@media (max-width: 480px) {
    .ld-pg .scale-blk .metrics {
        grid-template-columns: 1fr
    }

    .ld-pg .t-blk .txt-side {
        padding: 32px 16px
    }

    .ld-pg .exp-arc .arc-left .sec-h {
        font-size: 29px
    }

    .ld-pg .gap-blk .gap-h2 {
        font-size: 29px
    }

    .ld-pg .lv-blk .lv-h2 {
        font-size: 29px
    }

    .ld-pg .env-blk .env-hd .env-h2 {
        font-size: 29px
    }

    .ld-pg .scale-blk .sc-h2 {
        font-size: 29px
    }
}

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

.arv .arv-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px
}

.arv .pg-band {
    background: #43978C;
    padding: 48px 0;
    position: relative;
    overflow: hidden
}

.arv .pg-band::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 2px solid #9ccdbf2e;
    pointer-events: none
}

.arv .pg-band::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 80px;
    width: 120px;
    height: 2px;
    background: #e6eeef38;
    pointer-events: none
}

.arv .pg-band .deco-strokes {
    position: absolute;
    top: 16px;
    left: 32px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: none
}

.arv .pg-band .deco-strokes span {
    display: block;
    height: 2px;
    background: #e6eeef4d;
    border-radius: 2px
}

.arv .pg-band .deco-strokes span:nth-child(1) {
    width: 32px
}

.arv .pg-band .deco-strokes span:nth-child(2) {
    width: 22px
}

.arv .pg-band .deco-strokes span:nth-child(3) {
    width: 16px
}

.arv .pg-band .curved-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none
}

.arv .pg-band .curved-bg svg {
    width: 100%;
    height: 100%
}

.arv .band-body {
    position: relative;
    z-index: 1
}

.arv .band-label {
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #9CCDBF;
    margin-bottom: 8px;
    line-height: 1.35
}

.arv .band-h1 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
    font-weight: 700
}

.arv .band-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #e6eeefe0;
    max-width: 560px;
    margin: 0 0 32px
}

.arv .band-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #43978C;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 16px 32px;
    border-radius: 2px;
    text-decoration: none;
    box-shadow: 0 5px 14px -2px #43978c14;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.arv .band-link svg {
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.arv .band-link:hover {
    background: #E6EEEF;
    color: #2d6b63
}

.arv .band-link:hover svg {
    transform: translateX(4px)
}

.arv .arc-grid {
    background: #fff;
    padding: 96px 0
}

.arv .arc-grid .sec-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 48px;
    gap: 32px
}

.arv .arc-grid .sec-head {
    font-size: 29px;
    line-height: 1.35;
    color: #1b3a37;
    margin: 0 0 8px;
    font-weight: 700
}

.arv .arc-grid .sec-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5c58;
    margin: 0;
    max-width: 460px
}

.arv .divider-dbl {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 48px
}

.arv .divider-dbl span {
    display: block;
    height: 2px;
    border-radius: 2px
}

.arv .divider-dbl span:first-child {
    background: #43978C;
    width: 64px
}

.arv .divider-dbl span:last-child {
    background: #9CCDBF;
    width: 40px
}

.arv .tbl-wrap {
    overflow: hidden;
    border-radius: 2px;
    box-shadow: 0 5px 14px -2px #43978c14
}

.arv .arc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px
}

.arv .arc-table thead tr {
    background: #43978C
}

.arv .arc-table thead th {
    color: #fff;
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 16px 24px;
    text-align: left;
    font-weight: 600;
    line-height: 1.35
}

.arv .arc-table tbody tr {
    border-bottom: 1px solid #E6EEEF;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.arv .arc-table tbody tr:nth-child(even) {
    background: #f4f9f8
}

.arv .arc-table tbody tr:nth-child(odd) {
    background: #fff
}

.arv .arc-table tbody tr:hover {
    background: #E6EEEF
}

.arv .arc-table tbody td {
    padding: 16px 24px;
    color: #1b3a37;
    line-height: 1.55;
    vertical-align: top
}

.arv .arc-table tbody td.td-topic {
    font-weight: 600;
    color: #2d6b63
}

.arv .arc-table tbody td.td-tag {
    font-size: 14px;
    color: #43978C
}

.arv .arc-table tbody td.td-len {
    color: #3a5c58;
    font-size: 14px
}

.arv .arc-table a.tbl-lnk {
    color: #43978C;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.arv .arc-table a.tbl-lnk svg {
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.arv .arc-table a.tbl-lnk:hover {
    color: #2d6b63
}

.arv .arc-table a.tbl-lnk:hover svg {
    transform: translateX(3px)
}

.arv .img-strip {
    margin-top: 48px;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.arv .img-strip img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block
}

.arv .fade-up {
    opacity: 0;
    transform: translateY(28px);
    animation: fup .26s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

.arv .fade-up.d1 {
    animation-delay: .06s
}

.arv .fade-up.d2 {
    animation-delay: .13s
}

.arv .fade-up.d3 {
    animation-delay: .2s
}

.arv .fade-up.d4 {
    animation-delay: .27s
}

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

@media (max-width: 768px) {
    .arv .band-h1 {
        font-size: 29px
    }

    .arv .arc-grid .sec-top {
        flex-direction: column;
        align-items: flex-start
    }

    .arv .arc-grid {
        padding: 48px 0
    }

    .arv .arv-inner {
        padding: 0 16px
    }

    .arv .arc-table thead th,
    .arv .arc-table tbody td {
        padding: 12px
    }
}

@media (max-width: 480px) {
    .arv .band-h1 {
        font-size: 22px
    }

    .arv .pg-band {
        padding: 32px 0
    }

    .arv .arc-table {
        font-size: 14px
    }

    .arv .td-tag,
    .arv .td-len {
        display: none
    }
}

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

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

.ctus-pg .ttl-blk {
    position: relative;
    padding: 96px 0;
    background: linear-gradient(270deg, #43978C, #9CCDBF, #E6EEEF, #9CCDBF, #43978C);
    background-size: 400% 100%;
    animation: gradshift 9s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    overflow: hidden
}

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

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

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

.ctus-pg .ttl-blk .corner-lines {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 120px;
    pointer-events: none
}

.ctus-pg .ttl-blk .corner-lines span {
    position: absolute;
    right: 24px;
    background: #ffffff59;
    height: 1px;
    display: block
}

.ctus-pg .ttl-blk .corner-lines span:nth-child(1) {
    width: 60px;
    top: 28px
}

.ctus-pg .ttl-blk .corner-lines span:nth-child(2) {
    width: 40px;
    top: 36px
}

.ctus-pg .ttl-blk .corner-lines span:nth-child(3) {
    width: 50px;
    top: 44px
}

.ctus-pg .ttl-blk .corner-lines-bl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 120px;
    height: 80px;
    pointer-events: none
}

.ctus-pg .ttl-blk .corner-lines-bl span {
    position: absolute;
    left: 24px;
    background: #ffffff40;
    height: 1px;
    display: block
}

.ctus-pg .ttl-blk .corner-lines-bl span:nth-child(1) {
    width: 50px;
    bottom: 28px
}

.ctus-pg .ttl-blk .corner-lines-bl span:nth-child(2) {
    width: 35px;
    bottom: 36px
}

.ctus-pg .ttl-inner {
    position: relative;
    z-index: 1;
    text-align: left
}

.ctus-pg .ttl-label {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2a6b62;
    background: #ffffff80;
    padding: 4px 16px;
    border-radius: 2px;
    margin-bottom: 16px;
    font-weight: 600
}

.ctus-pg .ttl-h1 {
    font-size: 70px;
    line-height: 1.1;
    color: #1b4a44;
    margin: 0 0 16px;
    font-weight: 800
}

.ctus-pg .ttl-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2a5e57;
    max-width: 520px;
    margin: 0
}

.ctus-pg .div-diamonds {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
    background: #fff;
    overflow: hidden
}

.ctus-pg .div-diamonds .dm {
    width: 8px;
    height: 8px;
    background: #9CCDBF;
    transform: rotate(45deg);
    border-radius: 2px;
    flex-shrink: 0
}

.ctus-pg .div-diamonds .dm.accent {
    background: #43978C;
    width: 10px;
    height: 10px
}

.ctus-pg .det-blk {
    background: #fff;
    padding: 96px 0 48px
}

.ctus-pg .det-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start
}

.ctus-pg .det-left {
    position: relative
}

.ctus-pg .det-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #E6EEEF;
    position: absolute;
    top: -24px;
    left: -16px;
    z-index: 0;
    user-select: none;
    pointer-events: none
}

.ctus-pg .det-heading {
    font-size: 40px;
    line-height: 1.1;
    color: #1b4a44;
    margin: 0 0 16px;
    position: relative;
    z-index: 1
}

.ctus-pg .det-intro {
    font-size: 17px;
    line-height: 1.55;
    color: #2d4a47;
    margin: 0 0 32px;
    position: relative;
    z-index: 1
}

.ctus-pg .det-intro.short {
    font-size: 17px;
    line-height: 1.35;
    margin-bottom: 32px
}

.ctus-pg .info-rows {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 1
}

.ctus-pg .info-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #E6EEEF;
    border-radius: 2px;
    box-shadow: 0 3px 5px -2px #43978c12;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .info-row:hover {
    background: #d4e8e4;
    box-shadow: 0 5px 14px -2px #43978c14
}

.ctus-pg .info-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.ctus-pg .info-icon svg {
    width: 22px;
    height: 22px;
    fill: #43978C
}

.ctus-pg .info-text {
    flex: 1
}

.ctus-pg .info-lbl {
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #43978C;
    font-weight: 700;
    display: block;
    margin-bottom: 4px
}

.ctus-pg .info-val {
    font-size: 17px;
    line-height: 1.35;
    color: #1b4a44
}

.ctus-pg .info-val a {
    color: #1b4a44;
    text-decoration: none;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .info-val a:hover {
    color: #43978C
}

.ctus-pg .det-right {
    position: sticky;
    top: 32px
}

.ctus-pg .pc-panel {
    background: #1b4a44;
    border-radius: 2px;
    padding: 32px;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.ctus-pg .pc-heading {
    font-size: 22px;
    line-height: 1.35;
    color: #9CCDBF;
    margin: 0 0 24px;
    font-weight: 700
}

.ctus-pg .pc-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.ctus-pg .pc-col-head {
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 12px
}

.ctus-pg .pc-col-head.yes {
    color: #9CCDBF
}

.ctus-pg .pc-col-head.no {
    color: #c9a97a
}

.ctus-pg .pc-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px
}

.ctus-pg .pc-dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 5px
}

.ctus-pg .pc-dot.yes {
    background: #43978C
}

.ctus-pg .pc-dot.no {
    background: #c9a97a
}

.ctus-pg .pc-item-txt {
    font-size: 14px;
    line-height: 1.55;
    color: #c8deda
}

.ctus-pg .div-stripe {
    height: 4px;
    background: linear-gradient(to left, #9CCDBF, #43978C);
    position: relative
}

.ctus-pg .form-blk {
    background: #E6EEEF;
    padding: 96px 0
}

.ctus-pg .form-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.ctus-pg .form-side {
    position: relative
}

.ctus-pg .form-side-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #43978c1f;
    position: absolute;
    top: -24px;
    left: -8px;
    z-index: 0;
    pointer-events: none;
    user-select: none
}

.ctus-pg .form-side-h {
    font-size: 29px;
    line-height: 1.35;
    color: #1b4a44;
    margin: 0 0 16px;
    position: relative;
    z-index: 1
}

.ctus-pg .form-side-p {
    font-size: 17px;
    line-height: 1.55;
    color: #2d4a47;
    margin: 0 0 32px;
    position: relative;
    z-index: 1
}

.ctus-pg .form-side-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    color: #43978C;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    z-index: 1;
    transition: gap .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .form-side-link:hover {
    gap: 16px
}

.ctus-pg .form-side-link svg {
    width: 18px;
    height: 18px;
    fill: #43978C;
    flex-shrink: 0
}

.ctus-pg .form-card {
    background: #fff;
    border-radius: 2px;
    padding: 48px;
    box-shadow: 0 5px 14px -2px #43978c14;
    position: relative;
    overflow: hidden
}

.ctus-pg .form-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 56px 56px 0;
    border-color: transparent #43978C transparent transparent
}

.ctus-pg .form-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 54px 54px 0;
    border-color: transparent #9CCDBF transparent transparent
}

.ctus-pg .contact-form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

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

.ctus-pg .fgrp {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus-pg .fgrp.full {
    grid-column: 1 / -1
}

.ctus-pg .flbl {
    font-size: 14px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1b4a44;
    font-weight: 700
}

.ctus-pg .finp {
    padding: 12px 16px;
    border: 1.5px solid #9CCDBF;
    border-radius: 2px;
    font-size: 17px;
    color: #1b4a44;
    background: #fff;
    box-shadow: inset 0 2px 4px #43978c0f;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    box-sizing: border-box
}

.ctus-pg .finp::placeholder {
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .07em;
    color: #7aada6
}

.ctus-pg .finp:focus {
    outline: none;
    border-color: #43978C;
    box-shadow: inset 0 2px 4px #43978c1a 0 0 0 3px #43978c1f
}

.ctus-pg .fsel {
    padding: 12px 16px;
    border: 1.5px solid #9CCDBF;
    border-radius: 2px;
    font-size: 17px;
    color: #1b4a44;
    background: #fff;
    box-shadow: inset 0 2px 4px #43978c0f;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%2343978C' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px
}

.ctus-pg .fsel:focus {
    outline: none;
    border-color: #43978C;
    box-shadow: inset 0 2px 4px #43978c1a 0 0 0 3px #43978c1f
}

.ctus-pg .ftarea {
    padding: 12px 16px;
    border: 1.5px solid #9CCDBF;
    border-radius: 2px;
    font-size: 17px;
    color: #1b4a44;
    background: #fff;
    box-shadow: inset 0 2px 4px #43978c0f;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    box-sizing: border-box;
    min-height: 120px;
    resize: vertical
}

.ctus-pg .ftarea::placeholder {
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .07em;
    color: #7aada6
}

.ctus-pg .ftarea:focus {
    outline: none;
    border-color: #43978C;
    box-shadow: inset 0 2px 4px #43978c1a 0 0 0 3px #43978c1f
}

.ctus-pg .priv-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: #E6EEEF;
    border-radius: 2px
}

.ctus-pg .priv-chk {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #43978C;
    cursor: pointer
}

.ctus-pg .priv-txt {
    font-size: 14px;
    line-height: 1.55;
    color: #2d4a47
}

.ctus-pg .priv-txt a {
    color: #43978C;
    text-decoration: underline;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .priv-txt a:hover {
    color: #1b4a44
}

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

.ctus-pg .btn-submit {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #43978C;
    color: #fff;
    border: none;
    border-radius: 2px;
    padding: 16px 32px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    box-shadow: 0 5px 14px -2px #43978c14;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), gap .24s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus-pg .btn-submit:hover {
    background: #1b4a44;
    gap: 16px;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.ctus-pg .btn-submit:focus {
    outline: 3px solid #43978c66;
    outline-offset: 2px
}

.ctus-pg .btn-submit svg {
    width: 18px;
    height: 18px;
    fill: #fff;
    flex-shrink: 0
}

.ctus-pg .anim-in {
    opacity: 0;
    transform: translateY(24px);
    animation: fadeup .52s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.ctus-pg .anim-in.d1 {
    animation-delay: .08s
}

.ctus-pg .anim-in.d2 {
    animation-delay: .18s
}

.ctus-pg .anim-in.d3 {
    animation-delay: .28s
}

.ctus-pg .anim-in.d4 {
    animation-delay: .38s
}

.ctus-pg .anim-in.d5 {
    animation-delay: .48s
}

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

@media (max-width: 1024px) {
    .ctus-pg .det-grid {
        grid-template-columns: 1fr
    }

    .ctus-pg .det-right {
        position: static
    }

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

    .ctus-pg .ttl-h1 {
        font-size: 40px
    }
}

@media (max-width: 768px) {
    .ctus-pg .frow {
        grid-template-columns: 1fr
    }

    .ctus-pg .form-card {
        padding: 32px 16px
    }

    .ctus-pg .det-blk {
        padding: 48px 0
    }

    .ctus-pg .form-blk {
        padding: 48px 0
    }

    .ctus-pg .ttl-blk {
        padding: 48px 0
    }

    .ctus-pg .pc-cols {
        grid-template-columns: 1fr
    }

    .ctus-pg .ttl-h1 {
        font-size: 29px
    }
}

@media (max-width: 480px) {
    .ctus-pg .pg-bound {
        padding: 0 16px
    }

    .ctus-pg .submit-row {
        flex-direction: column;
        align-items: flex-start
    }
}

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

.abt-pg .inner-cap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 32px
}

.abt-pg .title-band {
    position: relative;
    background-color: #1a2e2c;
    padding: 96px 32px 80px;
    overflow: hidden
}

.abt-pg .title-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, #43978C 0%, #1a2e2c 60%);
    opacity: .45;
    pointer-events: none
}

.abt-pg .geo-shape {
    position: absolute;
    border: 1px solid #9ccdbf1f;
    pointer-events: none
}

.abt-pg .geo-shape.sq-a {
    width: 180px;
    height: 180px;
    top: -40px;
    right: 120px;
    border-radius: 2px;
    transform: rotate(22deg)
}

.abt-pg .geo-shape.sq-b {
    width: 90px;
    height: 90px;
    bottom: 20px;
    right: 60px;
    border-radius: 2px;
    transform: rotate(45deg)
}

.abt-pg .geo-shape.sq-c {
    width: 260px;
    height: 260px;
    top: 30px;
    left: -60px;
    border-radius: 2px;
    transform: rotate(-12deg);
    border-color: #43978c1a
}

.abt-pg .title-inner {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.abt-pg .title-text {
    flex: 1 1 60%
}

.abt-pg .title-label {
    display: inline-block;
    font-size: 14px;
    letter-spacing: .12em;
    color: #9CCDBF;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.abt-pg .title-h1 {
    font-size: 70px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
    font-weight: 800
}

.abt-pg .title-h1 .punct {
    color: #43978C
}

.abt-pg .title-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #c8ddd9;
    max-width: 520px;
    margin: 0
}

.abt-pg .title-img-col {
    flex: 0 0 340px
}

.abt-pg .img-channel {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.abt-pg .img-channel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.7) contrast(1.1)
}

.abt-pg .img-channel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, #43978c59 0%, transparent 60%);
    pointer-events: none
}

.abt-pg .corner-bracket {
    position: absolute;
    width: 20px;
    height: 20px;
    pointer-events: none
}

.abt-pg .corner-bracket.tl {
    top: -4px;
    left: -4px;
    border-top: 2px solid #43978C;
    border-left: 2px solid #43978C
}

.abt-pg .corner-bracket.br {
    bottom: -4px;
    right: -4px;
    border-bottom: 2px solid #43978C;
    border-right: 2px solid #43978C
}

.abt-pg .wave-div {
    display: block;
    width: 100%;
    line-height: 0;
    background-color: #1a2e2c
}

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

.abt-pg .detail-sec {
    background-color: #fff;
    padding: 96px 32px
}

.abt-pg .detail-grid {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 48px;
    align-items: start
}

.abt-pg .detail-left {
    position: relative
}

.abt-pg .side-num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 900;
    color: #43978c14;
    position: absolute;
    top: -16px;
    left: -8px;
    pointer-events: none;
    user-select: none;
    letter-spacing: -4px
}

.abt-pg .side-label {
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #43978C;
    font-weight: 700;
    margin-bottom: 16px;
    display: block;
    position: relative
}

.abt-pg .side-h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #1a2e2c;
    margin: 0 0 16px;
    font-weight: 800;
    position: relative
}

.abt-pg .side-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #2d4a47;
    margin: 0 0 32px;
    position: relative
}

.abt-pg .portrait-wrap {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 5px 14px -2px #43978c14;
    position: relative;
    flex-shrink: 0
}

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

.abt-pg .expert-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 32px
}

.abt-pg .expert-info {
    flex: 1
}

.abt-pg .expert-name {
    font-size: 17px;
    font-weight: 700;
    color: #1a2e2c;
    margin: 0 0 4px
}

.abt-pg .expert-role {
    font-size: 14px;
    color: #43978C;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0
}

.abt-pg .detail-right {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.abt-pg .feat-cols {
    display: grid;
    grid-template-columns: 80px 1fr 80px 1fr;
    gap: 16px;
    align-items: start
}

.abt-pg .feat-icon-col {
    padding-top: 4px
}

.abt-pg .feat-icon {
    width: 48px;
    height: 48px;
    border-radius: 2px;
    background-color: #E6EEEF;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 5px -2px #43978c12;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-pg .feat-icon:hover {
    box-shadow: 0 5px 14px -2px #43978c14
}

.abt-pg .feat-icon svg {
    width: 24px;
    height: 24px
}

.abt-pg .feat-text-col {
    border-top: 2px solid #43978C;
    padding-top: 8px
}

.abt-pg .feat-h4 {
    font-size: 17px;
    font-weight: 700;
    color: #1a2e2c;
    margin: 0 0 8px;
    line-height: 1.35
}

.abt-pg .feat-p {
    font-size: 14px;
    line-height: 1.8;
    color: #2d4a47;
    margin: 0
}

.abt-pg .process-strip {
    background-color: #E6EEEF;
    border-radius: 2px;
    padding: 32px;
    position: relative;
    overflow: hidden
}

.abt-pg .process-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to left, #9CCDBF, #43978C)
}

.abt-pg .proc-label {
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #43978C;
    font-weight: 700;
    margin-bottom: 16px;
    display: block
}

.abt-pg .proc-steps {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0
}

.abt-pg .proc-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    position: relative
}

.abt-pg .proc-step:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -1px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #9CCDBF;
    z-index: 1
}

.abt-pg .proc-num {
    font-size: 29px;
    font-weight: 900;
    color: #43978c33;
    line-height: 1.1;
    margin-bottom: 8px
}

.abt-pg .proc-title {
    font-size: 14px;
    font-weight: 700;
    color: #1a2e2c;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 4px
}

.abt-pg .proc-desc {
    font-size: 14px;
    line-height: 1.55;
    color: #2d4a47;
    margin: 0
}

.abt-pg .img-trio {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px
}

.abt-pg .img-thumb {
    aspect-ratio: 16/9;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 3px 5px -2px #43978c12
}

.abt-pg .img-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-pg .img-thumb:hover img {
    transform: scale(1.04)
}

.abt-pg .metrics-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: stretch
}

.abt-pg .metric-card {
    flex: 1;
    background-color: #fff;
    border-radius: 2px;
    padding: 24px 16px;
    text-align: center;
    box-shadow: 0 3px 5px -2px #43978c12;
    animation: shadow-pulse 3s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

.abt-pg .metric-card:nth-child(2) {
    animation-delay: 1s
}

.abt-pg .metric-card:nth-child(3) {
    animation-delay: 2s
}

@keyframes shadow-pulse {

    0%,
    100% {
        box-shadow: 0 3px 5px -2px #43978c12
    }

    50% {
        box-shadow: 0 9px 48px -2px #43978c1f
    }
}

.abt-pg .metric-val {
    font-size: 40px;
    font-weight: 900;
    color: #43978C;
    line-height: 1.1;
    margin-bottom: 8px
}

.abt-pg .metric-lbl {
    font-size: 14px;
    color: #2d4a47;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.35
}

.abt-pg .para-num {
    font-size: 14px;
    font-weight: 700;
    color: #43978C;
    margin-right: 8px
}

.abt-pg .body-para {
    font-size: 17px;
    line-height: 1.55;
    color: #2d4a47;
    margin: 0 0 16px
}

.abt-pg .body-para.micro {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    color: #1a2e2c;
    margin-bottom: 8px
}

@media (max-width: 1024px) {
    .abt-pg .title-h1 {
        font-size: 40px
    }

    .abt-pg .title-img-col {
        flex: 0 0 260px
    }

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

    .abt-pg .feat-cols {
        grid-template-columns: 60px 1fr
    }

    .abt-pg .proc-steps {
        flex-direction: column;
        gap: 8px
    }

    .abt-pg .proc-step:not(:last-child)::after {
        display: none
    }

    .abt-pg .metrics-row {
        flex-direction: row;
        flex-wrap: wrap
    }
}

@media (max-width: 768px) {
    .abt-pg .title-band {
        padding: 48px 16px
    }

    .abt-pg .title-inner {
        flex-direction: column;
        gap: 32px
    }

    .abt-pg .title-img-col {
        display: none
    }

    .abt-pg .title-h1 {
        font-size: 40px
    }

    .abt-pg .detail-sec {
        padding: 48px 16px
    }

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

    .abt-pg .metrics-row {
        flex-direction: column
    }

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

    .abt-pg .feat-icon-col {
        display: none
    }
}

@media (max-width: 480px) {
    .abt-pg .title-h1 {
        font-size: 29px
    }

    .abt-pg .side-h2 {
        font-size: 29px
    }

    .abt-pg .inner-cap {
        padding: 0 16px
    }

    .abt-pg .detail-sec {
        padding: 48px 16px
    }
}

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

.success-pg .result-card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 24px;
    padding: 48px;
    box-shadow: 0 9px 48px -2px #43978c1f;
    text-align: center
}

.success-pg .result-card .icon-wrap {
    width: 72px;
    height: 72px;
    margin: 0 auto 32px;
    border-radius: 24px;
    background: #E6EEEF;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.success-pg .result-card .icon-wrap svg {
    display: block
}

.success-pg .result-card .card-title {
    font-size: 40px;
    line-height: 1.1;
    color: #43978C;
    margin: 0 0 16px;
    letter-spacing: -.5px
}

.success-pg .result-card .card-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a47;
    margin: 0 0 32px
}

.success-pg .result-card .divider-line {
    width: 48px;
    height: 2px;
    background: #9CCDBF;
    border-radius: 2px;
    margin: 0 auto 32px
}

.success-pg .result-card .detail-note {
    font-size: 14px;
    line-height: 1.8;
    color: #4a6b67;
    margin: 0 0 48px;
    letter-spacing: .01em
}

.success-pg .result-card .back-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: #43978C;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 2px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 5px 14px -2px #43978c14;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.success-pg .result-card .back-btn svg {
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-pg .result-card .back-btn:hover {
    background: #357a70;
    box-shadow: 0 9px 48px -2px #43978c1f
}

.success-pg .result-card .back-btn:hover svg {
    transform: translateX(4px)
}

.success-pg .result-card .back-btn:focus-visible {
    outline: 2px solid #43978C;
    outline-offset: 3px
}

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

    .success-pg .result-card {
        padding: 32px 16px
    }

    .success-pg .result-card .card-title {
        font-size: 29px
    }
}