body {
    margin: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
    font-family: 'JetBrains Mono', monospace
}

:focus-visible {
    outline: 3px solid;
    outline-color: #168886;
    outline-offset: 3px
}

.site-head {
    background: linear-gradient(160deg, #168886 0%, #1BBDEB 100%);
    padding: 48px 24px 0;
    position: relative
}

.site-head::after {
    content: '';
    display: block;
    height: 6px;
    background: linear-gradient(90deg, #168886 0%, #1BBDEB 60%, #FBFBFB 100%);
    margin-top: 0
}

.brand-mount {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-bottom: 24px
}

.brand-img-shell {
    width: 64px;
    height: 64px;
    border-radius: 13px;
    background: #FBFBFB;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 1px 4px 0 #16888612 -1px 7px 28px 0 #16888617 -1px 12px 60px 0 #1688861c;
    padding: 8px;
    border: 2px solid #fbfbfbb3;
    flex-shrink: 0
}

.brand-img-shell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.brand-name {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 700;
    color: #FBFBFB;
    letter-spacing: -.02em;
    line-height: 1.2;
    text-align: center
}

.brand-tagline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfbd1;
    letter-spacing: .06em;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase
}

.primary-nav {
    background: #fbfbfb1a;
    border-top: 1px solid #fbfbfb2e
}

.primary-nav-shell {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 24px
}

.nav-lnk {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 400;
    color: #FBFBFB;
    text-decoration: none;
    padding: 8px 24px;
    border-radius: 40px;
    letter-spacing: .03em;
    line-height: 1.4;
    display: inline-block;
    transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), color .25s cubic-bezier(0.34, 1.56, 0.64, 1), padding .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    min-height: 44px;
    box-sizing: border-box;
    display: flex;
    align-items: center
}

.nav-lnk:hover {
    background: #fbfbfb2e;
    color: #FBFBFB;
    padding-left: 32px;
    padding-right: 32px
}

.nav-lnk.active {
    background: #FBFBFB;
    color: #168886;
    font-weight: 700;
    box-shadow: -1px 1px 4px 0 #16888612
}

.nav-lnk.active:hover {
    background: #FBFBFB;
    color: #168886
}

.site-foot {
    background: #111c1c;
    padding: 48px 24px 24px
}

.foot-brand-row {
    max-width: 1280px;
    margin: 0 auto 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding-bottom: 48px;
    border-bottom: 1px solid #1bbdeb2e
}

.foot-logo-shell {
    width: 56px;
    height: 56px;
    border-radius: 13px;
    background: #FBFBFB;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 1px 4px 0 #1bbdeb12 -1px 7px 28px 0 #1bbdeb17;
    padding: 8px;
    border: 1px solid #1bbdeb40;
    flex-shrink: 0
}

.foot-logo-shell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.foot-brand-text {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.foot-brand-name {
    font-family: 'JetBrains Mono', monospace;
    font-size: 18px;
    font-weight: 700;
    color: #FBFBFB;
    letter-spacing: -.01em;
    line-height: 1.2
}

.foot-brand-since {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfb80;
    letter-spacing: .05em;
    line-height: 1.4
}

.foot-cols {
    max-width: 1280px;
    margin: 0 auto 48px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 48px
}

.foot-col-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #1BBDEB;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: 16px
}

.foot-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px
}

.foot-contact-item i {
    color: #1BBDEB;
    font-size: 15px;
    margin-top: 2px;
    flex-shrink: 0
}

.foot-contact-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfbb8;
    letter-spacing: .02em;
    line-height: 1.6
}

.foot-contact-val a {
    color: #fbfbfbb8;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.foot-contact-val a:hover {
    color: #1BBDEB
}

.foot-hours-block {
    background: #1bbdeb12;
    border-radius: 13px;
    padding: 16px;
    border: 1px solid #1bbdeb26
}

.foot-hours-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px
}

.foot-hours-row:last-child {
    margin-bottom: 0
}

.foot-hours-day {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfb8c;
    letter-spacing: .02em;
    line-height: 1.4
}

.foot-hours-time {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #FBFBFB;
    letter-spacing: .02em;
    line-height: 1.4
}

.foot-nav-lnk {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 400;
    color: #fbfbfbb8;
    text-decoration: none;
    letter-spacing: .02em;
    line-height: 1.6;
    padding: 8px 0;
    transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1), padding-left .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.foot-nav-lnk:hover {
    color: #1BBDEB;
    padding-left: 8px
}

.foot-bottom {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 24px;
    border-top: 1px solid #1bbdeb1f;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.foot-copy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfb61;
    letter-spacing: .03em;
    line-height: 1.4
}

.foot-domain {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #1bbdeb99;
    letter-spacing: .03em;
    line-height: 1.4
}

@media (max-width: 768px) {
    .foot-cols {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .foot-brand-row {
        flex-direction: column;
        text-align: center
    }

    .foot-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

@media (max-width: 640px) {
    .site-head {
        padding: 24px 16px 0
    }

    .primary-nav-shell {
        padding: 8px 16px
    }

    .brand-name {
        font-size: 18px
    }

    .site-foot {
        padding: 48px 16px 24px
    }
}

.prefs-btn {
    position: fixed;
    bottom: 96px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 40px;
    background: linear-gradient(135deg, #168886 0%, #1BBDEB 100%);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 7px 28px 0 #16888617;
    z-index: 1500;
    transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), width .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prefs-btn:hover {
    box-shadow: -1px 12px 60px 0 #1688861c;
    width: 52px
}

.prefs-btn i {
    color: #FBFBFB;
    font-size: 18px
}

.ck-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #111c1c;
    border-top: 2px solid #168886;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    z-index: 2000;
    box-shadow: -1px 12px 60px 0 #1688861c
}

.ck-bar-text {
    flex: 1;
    min-width: 200px
}

.ck-bar-choice {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    color: #FBFBFB;
    line-height: 1.4;
    margin-bottom: 8px
}

.ck-bar-desc {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 400;
    color: #fbfbfb9e;
    line-height: 1.6;
    letter-spacing: .02em
}

.ck-bar-desc a {
    color: #1BBDEB;
    text-decoration: underline
}

.ck-bar-desc a:hover {
    color: #FBFBFB
}

.ck-bar-acts {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.ck-accept {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    color: #168886;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: .02em;
    padding: 8px 0;
    transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck-accept:hover {
    color: #1BBDEB
}

.ck-decline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 400;
    color: #fbfbfb80;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: .02em;
    padding: 8px 0;
    transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck-decline:hover {
    color: #fbfbfbd9
}

.policy-layout {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 24px;
    color: #2d3a3a
}

.policy-layout p {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 16px;
    letter-spacing: .01em
}

.policy-layout ul,
.policy-layout ol {
    margin: 16px 0 24px;
    padding-left: 24px
}

.policy-layout ul {
    list-style: none;
    padding-left: 16px
}

.policy-layout ol {
    list-style: none;
    counter-reset: policy-counter;
    padding-left: 16px
}

.policy-layout ol li {
    counter-increment: policy-counter
}

.policy-layout ol li::before {
    content: counter(policy-counter) ".";
    color: #168886;
    font-size: 14px;
    font-weight: 700;
    margin-right: 8px;
    letter-spacing: .02em
}

.policy-layout ul li {
    padding-left: 16px;
    position: relative
}

.policy-layout ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #1BBDEB
}

.policy-layout li {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 8px;
    letter-spacing: .01em
}

.policy-layout em,
.policy-layout i {
    font-style: italic;
    color: #168886
}

.policy-layout a {
    color: #168886;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1), text-decoration-color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.policy-layout a:hover {
    color: #1BBDEB;
    text-decoration-color: #1BBDEB
}

.policy-layout a:visited {
    color: #168886
}

.policy-layout table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 14px;
    line-height: 1.6;
    box-shadow: -1px 7px 28px 0 #16888617;
    border-radius: 13px;
    overflow: hidden
}

.policy-layout thead {
    background: linear-gradient(90deg, #168886 0%, #1BBDEB 100%)
}

.policy-layout thead th {
    color: #FBFBFB;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 16px;
    text-align: left
}

.policy-layout tbody tr {
    border-bottom: 1px solid #1688861f;
    transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

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

.policy-layout tbody tr:nth-child(even) {
    background: #1bbdeb0d
}

.policy-layout tbody tr:hover {
    background: #16888614
}

.policy-layout td {
    padding: 16px;
    font-size: 14px;
    line-height: 1.6;
    color: #2d3a3a;
    vertical-align: top
}

.policy-layout hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #1688864d 20%, #1bbdeb66 50%, #1688864d 80%, transparent 100%);
    margin: 48px 0
}

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

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

    .policy-layout p {
        font-size: 15px
    }
}

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

    .policy-layout thead {
        display: none
    }

    .policy-layout table,
    .policy-layout tbody,
    .policy-layout tr,
    .policy-layout td {
        display: block;
        width: 100%
    }

    .policy-layout tbody tr {
        margin-bottom: 16px;
        border-radius: 13px;
        border: 1px solid #16888626;
        box-shadow: -1px 1px 4px 0 #16888612;
        overflow: hidden
    }

    .policy-layout tbody tr:last-child {
        border-bottom: 1px solid #16888626
    }

    .policy-layout td {
        padding: 8px 16px;
        border-bottom: 1px solid #16888614
    }

    .policy-layout td:last-child {
        border-bottom: none
    }

    .policy-layout td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: 14px;
        font-weight: 700;
        color: #168886;
        margin-bottom: 8px;
        letter-spacing: .03em
    }
}

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

.anlyt .pg-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px
}

.anlyt .tb {
    position: relative;
    padding: 48px 0;
    background: linear-gradient(197deg, #16888614 0%, #1bbdeb0d 60%, #FBFBFB 100%), radial-gradient(ellipse at 30% 60%, #1bbdeb1f 0%, transparent 65%);
    border-bottom: 1px solid #1688861f
}

.anlyt .tb-grid {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.anlyt .tb-grid-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, #1688860a 0px, #1688860a 1px, transparent 1px, transparent 48px), repeating-linear-gradient(90deg, #1688860a 0px, #1688860a 1px, transparent 1px, transparent 48px);
    pointer-events: none
}

.anlyt .tb-text {
    flex: 1;
    min-width: 0
}

.anlyt .tb-label {
    display: inline-block;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #168886;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 16px
}

.anlyt .tb-h1 {
    font-size: 56px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #111820;
    margin: 0 0 16px;
    font-weight: 700
}

.anlyt .tb-h1 span {
    color: #168886
}

.anlyt .tb-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #2d3a42;
    max-width: 520px;
    margin: 0
}

.anlyt .tb-img-col {
    flex: 0 0 420px;
    position: relative
}

.anlyt .tb-img-frame {
    position: relative;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: -1px 7px 28px 0 #16888617
}

.anlyt .tb-img-frame::before {
    content: '';
    position: absolute;
    inset: 6px;
    border: 2px solid #1bbdeb59;
    border-radius: 8px;
    z-index: 1;
    pointer-events: none
}

.anlyt .tb-img-frame::after {
    content: '';
    position: absolute;
    inset: 2px;
    border: 1px solid #16888633;
    border-radius: 11px;
    z-index: 1;
    pointer-events: none
}

.anlyt .tb-img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
    border-radius: 13px;
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.anlyt .tb-img-frame:hover .tb-img {
    transform: scale(1.04)
}

.anlyt .divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
    max-width: 1280px;
    margin: 0 auto
}

.anlyt .divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #16888640, transparent)
}

.anlyt .divider-mono {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #1688864d;
    border-radius: 3px;
    background: #FBFBFB
}

.anlyt .divider-mono svg {
    width: 16px;
    height: 16px;
    stroke: #168886;
    fill: none
}

.anlyt .metrics-sec {
    padding: 96px 0 48px;
    background: #FBFBFB
}

.anlyt .metrics-sec .sec-label {
    display: block;
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #168886;
    font-weight: 600;
    margin-bottom: 8px
}

.anlyt .metrics-sec .sec-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 8px;
    font-weight: 700
}

.anlyt .metrics-sec .sec-h2 .acc {
    text-transform: uppercase;
    font-size: 30px;
    color: #168886;
    letter-spacing: .04em
}

.anlyt .metrics-sec .sec-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #3a4a54;
    max-width: 560px;
    margin: 0 0 48px
}

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

.anlyt .m-anchor {
    grid-row: 1 / 3;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    border-radius: 13px;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-shadow: -1px 12px 60px 0 #1688861c;
    position: relative;
    overflow: hidden
}

.anlyt .m-anchor::before {
    content: '';
    position: absolute;
    top: -24px;
    right: -24px;
    width: 120px;
    height: 120px;
    border: 2px solid #ffffff26;
    border-radius: 40px;
    pointer-events: none
}

.anlyt .m-anchor-num {
    font-size: 56px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.03em;
    margin-bottom: 8px
}

.anlyt .m-anchor-label {
    font-size: 18px;
    line-height: 1.4;
    color: #ffffffe6;
    font-weight: 500;
    margin-bottom: 16px
}

.anlyt .m-anchor-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #ffffffbf;
    margin: 0
}

.anlyt .m-card {
    background: #fff;
    border-radius: 13px;
    padding: 24px;
    border: 1px solid #1688861a;
    box-shadow: -1px 1px 4px 0 #16888612;
    transition: box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1), transform .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative
}

.anlyt .m-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #168886, #1BBDEB);
    border-radius: 13px 13px 0 0;
    opacity: 0;
    transition: opacity .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.anlyt .m-card:hover {
    box-shadow: -1px 7px 28px 0 #16888617;
    transform: translateY(-3px)
}

.anlyt .m-card:hover::before {
    opacity: 1
}

.anlyt .m-card-num {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    color: #168886;
    letter-spacing: -.02em;
    margin-bottom: 8px
}

.anlyt .m-card-label {
    font-size: 14px;
    line-height: 1.4;
    color: #111820;
    font-weight: 600;
    margin-bottom: 8px
}

.anlyt .m-card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #3a4a54;
    margin: 0
}

.anlyt .table-sec {
    padding: 48px 0 96px;
    background: linear-gradient(197deg, #1bbdeb0f 0%, #FBFBFB 70%);
    clip-path: polygon(0 0, 100% 24px, 100% 100%, 0 100%);
    padding-top: 72px
}

.anlyt .table-sec .sec-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 8px;
    font-weight: 700
}

.anlyt .table-sec .sec-h2 .acc {
    text-transform: uppercase;
    font-size: 22px;
    color: #1BBDEB;
    letter-spacing: .06em;
    vertical-align: middle
}

.anlyt .table-sec .sec-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #3a4a54;
    max-width: 580px;
    margin: 0 0 48px
}

.anlyt .top-line {
    display: block;
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, #168886, #1BBDEB);
    border-radius: 3px;
    margin-bottom: 16px
}

.anlyt .budget-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: -1px 7px 28px 0 #16888617
}

.anlyt .budget-table thead tr {
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%)
}

.anlyt .budget-table thead th {
    padding: 16px 24px;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    font-weight: 600;
    text-align: left
}

.anlyt .budget-table thead th:last-child {
    text-align: right
}

.anlyt .budget-table tbody tr {
    background: #fff;
    transition: background .2s cubic-bezier(0.34, 1.56, 0.64, 1);
    border-bottom: 1px solid #16888612
}

.anlyt .budget-table tbody tr:nth-child(even) {
    background: #16888608
}

.anlyt .budget-table tbody tr:hover {
    background: #1bbdeb14 !important
}

.anlyt .budget-table tbody td {
    padding: 16px 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #111820
}

.anlyt .budget-table tbody td:last-child {
    text-align: right;
    font-weight: 600;
    color: #168886
}

.anlyt .budget-table .td-cat {
    font-weight: 600;
    color: #111820
}

.anlyt .budget-table .td-pct {
    display: inline-block;
    font-size: 14px;
    background: #1688861a;
    color: #168886;
    border-radius: 40px;
    padding: 2px 12px;
    font-weight: 600
}

.anlyt .budget-table .td-pct.high {
    background: #16888626;
    color: #0f6664
}

.anlyt .budget-table .td-pct.med {
    background: #1bbdeb1f;
    color: #0e7fa3
}

.anlyt .budget-table .td-pct.low {
    background: #1688860f;
    color: #168886
}

.anlyt .table-note {
    font-size: 14px;
    line-height: 1.6;
    color: #5a6a74;
    margin: 16px 0 0;
    padding-left: 16px;
    border-left: none;
    border-top: 1px solid #1688861f;
    padding-top: 16px
}

.anlyt .dense-sec {
    padding: 96px 0;
    background: #fff
}

.anlyt .dense-sec .sec-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 8px;
    font-weight: 700
}

.anlyt .dense-sec .sec-h2 .acc {
    text-transform: uppercase;
    font-size: 22px;
    color: #168886;
    letter-spacing: .06em
}

.anlyt .dense-sec .sec-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #3a4a54;
    max-width: 560px;
    margin: 0 0 48px
}

.anlyt .dense-layout {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 16px;
    align-items: start
}

.anlyt .dense-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.anlyt .dense-col.center {
    gap: 16px
}

.anlyt .d-item {
    background: #FBFBFB;
    border-radius: 13px;
    padding: 24px;
    border: 1px solid #16888614;
    box-shadow: -1px 1px 4px 0 #16888612;
    transition: box-shadow .28s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.anlyt .d-item:hover {
    box-shadow: -1px 7px 28px 0 #16888617;
    transform: scale(1.02)
}

.anlyt .d-item-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(197deg, #1688861f, #1bbdeb1f);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.anlyt .d-item-icon svg {
    width: 18px;
    height: 18px;
    stroke: #168886;
    fill: none;
    stroke-width: 1.8
}

.anlyt .d-item-h {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    color: #111820;
    margin: 0 0 8px
}

.anlyt .d-item-p {
    font-size: 14px;
    line-height: 1.6;
    color: #3a4a54;
    margin: 0
}

.anlyt .d-center-card {
    background: linear-gradient(197deg, #168886 0%, #0f6664 100%);
    border-radius: 13px;
    padding: 48px;
    box-shadow: -1px 12px 60px 0 #1688861c;
    position: relative;
    overflow: hidden
}

.anlyt .d-center-card::before {
    content: '';
    position: absolute;
    bottom: -32px;
    right: -32px;
    width: 140px;
    height: 140px;
    border: 2px solid #ffffff1a;
    border-radius: 40px;
    pointer-events: none
}

.anlyt .d-center-card::after {
    content: '';
    position: absolute;
    top: -16px;
    left: -16px;
    width: 80px;
    height: 80px;
    border: 1px solid #ffffff14;
    border-radius: 13px;
    pointer-events: none
}

.anlyt .d-center-card .top-line-w {
    display: block;
    width: 40px;
    height: 3px;
    background: #ffffff80;
    border-radius: 3px;
    margin-bottom: 24px
}

.anlyt .d-center-card-h {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px
}

.anlyt .d-center-card-p {
    font-size: 15px;
    line-height: 1.6;
    color: #ffffffd9;
    margin: 0 0 24px
}

.anlyt .d-center-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.anlyt .d-center-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: #fffc
}

.anlyt .d-center-list li::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #fff9;
    margin-top: 8px
}

@keyframes trace-top {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes trace-right {
    from {
        height: 0
    }

    to {
        height: 100%
    }
}

@keyframes trace-bottom {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes trace-left {
    from {
        height: 0
    }

    to {
        height: 100%
    }
}

.anlyt .trace-box {
    position: relative
}

.anlyt .trace-box .trace-t,
.anlyt .trace-box .trace-r,
.anlyt .trace-box .trace-b,
.anlyt .trace-box .trace-l {
    position: absolute;
    background: #1BBDEB;
    pointer-events: none
}

.anlyt .trace-box .trace-t {
    top: 0;
    left: 0;
    height: 2px;
    width: 0;
    animation: trace-top .35s cubic-bezier(0.34, 1.56, 0.64, 1) .1s forwards
}

.anlyt .trace-box .trace-r {
    top: 0;
    right: 0;
    width: 2px;
    height: 0;
    animation: trace-right .35s cubic-bezier(0.34, 1.56, 0.64, 1) .45s forwards
}

.anlyt .trace-box .trace-b {
    bottom: 0;
    right: 0;
    height: 2px;
    width: 0;
    animation: trace-bottom .35s cubic-bezier(0.34, 1.56, 0.64, 1) .8s forwards
}

.anlyt .trace-box .trace-l {
    bottom: 0;
    left: 0;
    width: 2px;
    height: 0;
    animation: trace-left .35s cubic-bezier(0.34, 1.56, 0.64, 1) 1.15s forwards
}

.anlyt .border-break {
    position: relative;
    border: 1px solid #16888633;
    border-radius: 13px;
    transition: border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.anlyt .border-break::before,
.anlyt .border-break::after {
    content: '';
    position: absolute;
    background: #FBFBFB;
    transition: width .25s cubic-bezier(0.34, 1.56, 0.64, 1), height .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none
}

.anlyt .border-break::before {
    top: -1px;
    left: 20%;
    height: 3px;
    width: 0
}

.anlyt .border-break::after {
    bottom: -1px;
    right: 20%;
    height: 3px;
    width: 0
}

.anlyt .border-break:hover::before,
.anlyt .border-break:hover::after {
    width: 30%
}

.anlyt .border-break:hover {
    border-color: #168886
}

.anlyt .scroll-zoom-img {
    transition: transform .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.anlyt .table-mobile {
    display: none;
    flex-direction: column;
    gap: 16px
}

.anlyt .tm-card {
    background: #fff;
    border-radius: 13px;
    padding: 24px;
    border: 1px solid #1688861a;
    box-shadow: -1px 1px 4px 0 #16888612
}

.anlyt .tm-card-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px
}

.anlyt .tm-cat {
    font-size: 15px;
    font-weight: 600;
    color: #111820
}

.anlyt .tm-val {
    font-size: 15px;
    font-weight: 700;
    color: #168886
}

.anlyt .tm-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #3a4a54;
    margin: 0 0 8px
}

@media (max-width: 1024px) {
    .anlyt .tb-img-col {
        flex: 0 0 320px
    }

    .anlyt .tb-h1 {
        font-size: 42px
    }

    .anlyt .metrics-grid {
        grid-template-columns: 1fr 1fr
    }

    .anlyt .m-anchor {
        grid-row: auto;
        grid-column: 1 / 3
    }

    .anlyt .dense-layout {
        grid-template-columns: 1fr 1fr
    }

    .anlyt .dense-col.center {
        grid-column: 1 / 3;
        order: -1
    }
}

@media (max-width: 768px) {
    .anlyt .tb-grid {
        flex-direction: column;
        gap: 24px
    }

    .anlyt .tb-img-col {
        flex: 0 0 auto;
        width: 100%
    }

    .anlyt .tb-h1 {
        font-size: 30px
    }

    .anlyt .metrics-sec .sec-h2,
    .anlyt .table-sec .sec-h2,
    .anlyt .dense-sec .sec-h2 {
        font-size: 30px
    }

    .anlyt .metrics-grid {
        grid-template-columns: 1fr
    }

    .anlyt .m-anchor {
        grid-column: auto
    }

    .anlyt .budget-table {
        display: none
    }

    .anlyt .table-mobile {
        display: flex
    }

    .anlyt .dense-layout {
        grid-template-columns: 1fr
    }

    .anlyt .dense-col.center {
        grid-column: auto;
        order: 0
    }

    .anlyt .d-center-card {
        padding: 24px
    }

    .anlyt .metrics-sec,
    .anlyt .dense-sec {
        padding: 48px 0
    }

    .anlyt .table-sec {
        padding: 48px 0;
        clip-path: none
    }
}

@media (max-width: 640px) {
    .anlyt .pg-wrap {
        padding: 0 16px
    }

    .anlyt .tb {
        padding: 24px 0
    }

    .anlyt .tb-h1 {
        font-size: 22px
    }

    .anlyt .m-anchor-num {
        font-size: 42px
    }
}

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

.ab-us .pg-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px
}

.ab-us .div-cross {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0
}

.ab-us .div-cross span {
    display: block;
    height: 1px;
    width: 48px;
    background: #168886;
    opacity: .35
}

.ab-us .div-cross i {
    width: 7px;
    height: 7px;
    border: 1.5px solid #168886;
    border-radius: 3px;
    transform: rotate(45deg);
    opacity: .5;
    display: block
}

.ab-us .title-blk {
    position: relative;
    background: linear-gradient(197deg, #0d5e5c 0%, #168886 45%, #1BBDEB 100%);
    padding: 96px 24px;
    overflow: hidden
}

.ab-us .title-blk::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' 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='1'/%3E%3C/svg%3E");
    opacity: .04;
    pointer-events: none
}

.ab-us .title-blk::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 40px;
    background: radial-gradient(ellipse at 30% 40%, #1bbdeb2e 0%, transparent 70%);
    top: -80px;
    right: -120px;
    pointer-events: none;
    animation: radshift 7s ease-in-out infinite alternate
}

@keyframes radshift {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: .7
    }

    100% {
        transform: translate(40px, 30px) scale(1.15);
        opacity: 1
    }
}

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

.ab-us .title-text {
    flex: 1 1 0;
    min-width: 0
}

.ab-us .title-accent-line {
    display: block;
    width: 40px;
    height: 3px;
    background: #fbfbfb8c;
    border-radius: 3px;
    margin-bottom: 24px
}

.ab-us .title-label {
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fbfbfbb3;
    line-height: 1.4;
    margin-bottom: 16px;
    display: block
}

.ab-us .title-h1 {
    font-size: 56px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #FBFBFB;
    margin-bottom: 24px;
    font-weight: 700
}

.ab-us .title-h1 em {
    font-style: normal;
    text-transform: uppercase;
    color: #1BBDEB
}

.ab-us .title-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #fbfbfbd9;
    margin-bottom: 48px;
    max-width: 520px
}

.ab-us .title-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.ab-us .btn-prim {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 13px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #FBFBFB;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: width .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1), transform .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: -1px 7px 28px 0 #16888617;
    white-space: nowrap
}

.ab-us .btn-prim:hover {
    transform: scaleX(1.06);
    box-shadow: -1px 12px 60px 0 #1688862e;
    color: #FBFBFB;
    text-decoration: none
}

.ab-us .btn-prim:focus {
    outline: 2px solid #FBFBFB;
    outline-offset: 3px
}

.ab-us .btn-ghost {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 13px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #FBFBFB;
    background: transparent;
    border: 1.5px solid #fbfbfb73;
    text-decoration: none;
    cursor: pointer;
    transition: background .28s cubic-bezier(0.68, -0.55, 0.27, 1.55), border-color .28s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    white-space: nowrap
}

.ab-us .btn-ghost:hover {
    background: #fbfbfb1f;
    border-color: #FBFBFB;
    transform: scaleX(1.05);
    color: #FBFBFB;
    text-decoration: none
}

.ab-us .btn-ghost:focus {
    outline: 2px solid #FBFBFB;
    outline-offset: 3px
}

.ab-us .title-visual {
    flex: 0 0 340px;
    display: flex;
    align-items: center;
    justify-content: center
}

.ab-us .title-stat-card {
    background: #fbfbfb1a;
    border: 1px solid #fbfbfb33;
    border-radius: 13px;
    padding: 48px 40px;
    text-align: center;
    box-shadow: -1px 12px 60px 0 #1688861c;
    backdrop-filter: blur(8px);
    position: relative
}

.ab-us .title-stat-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    background: linear-gradient(197deg, #1BBDEB, #168886);
    border-radius: 0 13px 0 40px
}

.ab-us .stat-num {
    font-size: 56px;
    font-weight: 700;
    color: #FBFBFB;
    line-height: 1.2;
    letter-spacing: -.03em;
    display: block
}

.ab-us .stat-lbl {
    font-size: 15px;
    color: #fbfbfbb3;
    line-height: 1.4;
    margin-top: 8px;
    display: block
}

.ab-us .stat-divider {
    width: 32px;
    height: 2px;
    background: #1bbdeb99;
    border-radius: 3px;
    margin: 24px auto
}

.ab-us .story-sec {
    background: #FBFBFB;
    padding: 96px 24px
}

.ab-us .story-grid {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.ab-us .story-aside {
    position: relative
}

.ab-us .story-img-wrap {
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: -1px 7px 28px 0 #16888617
}

.ab-us .story-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.ab-us .story-tag {
    position: absolute;
    bottom: -16px;
    right: -16px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    color: #FBFBFB;
    font-size: 14px;
    font-weight: 600;
    padding: 16px 24px;
    border-radius: 13px;
    letter-spacing: .04em;
    box-shadow: -1px 7px 28px 0 #16888617
}

.ab-us .story-body {
    padding-top: 8px
}

.ab-us .sec-accent-line {
    display: block;
    width: 32px;
    height: 3px;
    background: #168886;
    border-radius: 3px;
    margin-bottom: 16px
}

.ab-us .story-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #0f3534;
    margin-bottom: 24px;
    font-weight: 700
}

.ab-us .story-h2 strong {
    text-transform: uppercase;
    color: #168886
}

.ab-us .story-p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a4a49;
    margin-bottom: 16px
}

.ab-us .story-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px
}

.ab-us .metric-item {
    border-top: 2px solid #168886;
    padding-top: 16px
}

.ab-us .metric-val {
    font-size: 30px;
    font-weight: 700;
    color: #168886;
    line-height: 1.2;
    letter-spacing: -.02em;
    display: block
}

.ab-us .metric-desc {
    font-size: 14px;
    color: #2a4a49;
    line-height: 1.4;
    margin-top: 8px;
    display: block
}

.ab-us .method-sec {
    padding: 96px 24px;
    background: #0f3534;
    position: relative
}

.ab-us .method-sec-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.ab-us .method-sec-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .06
}

.ab-us .method-inner {
    max-width: 1280px;
    margin: 0 auto;
    position: relative
}

.ab-us .method-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 48px
}

.ab-us .method-heading {
    flex: 1 1 0
}

.ab-us .method-h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #FBFBFB;
    font-weight: 700;
    margin-bottom: 0
}

.ab-us .method-h2 em {
    font-style: normal;
    text-transform: uppercase;
    color: #1BBDEB
}

.ab-us .method-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #fbfbfbb3;
    max-width: 400px
}

.ab-us .method-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start
}

.ab-us .method-steps {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ab-us .step-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    border-radius: 13px;
    background: #fbfbfb0d;
    border: 1px solid #fbfbfb14;
    transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ab-us .step-item:hover {
    background: #1bbdeb14;
    border-color: #1bbdeb40
}

.ab-us .step-num {
    flex: 0 0 36px;
    height: 36px;
    border-radius: 40px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    color: #FBFBFB;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: .02em
}

.ab-us .step-txt h4 {
    font-size: 15px;
    font-weight: 600;
    color: #FBFBFB;
    line-height: 1.4;
    margin-bottom: 8px
}

.ab-us .step-txt p {
    font-size: 14px;
    color: #fbfbfba6;
    line-height: 1.6;
    margin: 0
}

.ab-us .code-display {
    background: #081f1e;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: -1px 12px 60px 0 #1688861c;
    border: 1px solid #16888640
}

.ab-us .code-bar {
    background: #0d2e2d;
    padding: 16px 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #16888633
}

.ab-us .code-dot {
    width: 10px;
    height: 10px;
    border-radius: 40px;
    display: block
}

.ab-us .code-dot.red {
    background: #e05c5c
}

.ab-us .code-dot.yel {
    background: #e0b85c
}

.ab-us .code-dot.grn {
    background: #5ce08a
}

.ab-us .code-file {
    font-size: 13px;
    color: #fbfbfb66;
    margin-left: 8px;
    letter-spacing: .04em
}

.ab-us .code-body {
    padding: 24px;
    font-size: 14px;
    line-height: 1.9;
    color: #fbfbfbcc;
    font-family: monospace
}

.ab-us .code-body .ck {
    color: #1BBDEB
}

.ab-us .code-body .cs {
    color: #5ce08a
}

.ab-us .code-body .cn {
    color: #fbfbfb66
}

.ab-us .code-body .cv {
    color: #e0b85c
}

.ab-us .sub-sec {
    padding: 96px 24px;
    background: linear-gradient(197deg, #eaf8f7 0%, #f0fbfe 100%);
    position: relative
}

.ab-us .sub-sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #168886, #1BBDEB, transparent)
}

.ab-us .sub-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: center
}

.ab-us .sub-txt h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #0f3534;
    font-weight: 700;
    margin-bottom: 16px
}

.ab-us .sub-txt h2 strong {
    text-transform: uppercase;
    color: #168886
}

.ab-us .sub-txt p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a4a49;
    margin-bottom: 0
}

.ab-us .sub-img-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 24px
}

.ab-us .sub-img-thumb {
    width: 48px;
    height: 48px;
    border-radius: 40px;
    overflow: hidden;
    border: 2px solid #FBFBFB;
    box-shadow: -1px 1px 4px 0 #16888612;
    flex-shrink: 0
}

.ab-us .sub-img-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.ab-us .sub-social-proof {
    font-size: 14px;
    color: #2a4a49;
    line-height: 1.4
}

.ab-us .sub-social-proof strong {
    color: #168886;
    font-weight: 700
}

.ab-us .sub-form-wrap {
    position: relative
}

.ab-us .sub-card {
    background: #FBFBFB;
    border-radius: 13px;
    padding: 48px;
    box-shadow: -1px 12px 60px 0 #1688861c;
    border: 1px solid #1688861a;
    position: relative
}

.ab-us .sub-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: 56px;
    background: linear-gradient(197deg, #1BBDEB, #168886);
    border-radius: 0 13px 0 40px
}

.ab-us .sub-card-h {
    font-size: 22px;
    font-weight: 700;
    color: #0f3534;
    line-height: 1.4;
    margin-bottom: 8px
}

.ab-us .sub-card-sub {
    font-size: 15px;
    color: #2a4a49;
    line-height: 1.6;
    margin-bottom: 24px
}

.ab-us .field-grp {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px
}

.ab-us .field-lbl {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #0f3534;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.ab-us .field-inp {
    width: 100%;
    padding: 16px;
    border-radius: 13px;
    border: 1.5px solid #16888640;
    background: #FBFBFB;
    font-size: 15px;
    color: #0f3534;
    line-height: 1.4;
    box-shadow: inset -1px 1px 4px 0 #16888612;
    transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-sizing: border-box
}

.ab-us .field-inp::placeholder {
    color: #0f353466
}

.ab-us .field-inp:focus {
    outline: none;
    border-color: #168886;
    box-shadow: inset -1px 1px 4px 0 #16888612 0 0 0 3px #1688861f
}

.ab-us .sub-btn {
    width: 100%;
    padding: 16px 24px;
    border-radius: 13px;
    border: none;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    color: #FBFBFB;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    letter-spacing: .02em;
    box-shadow: -1px 7px 28px 0 #16888617;
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ab-us .sub-btn:hover {
    transform: scaleX(1.04);
    box-shadow: -1px 12px 60px 0 #1688862e
}

.ab-us .sub-btn:focus {
    outline: 2px solid #168886;
    outline-offset: 3px
}

.ab-us .sub-note {
    font-size: 13px;
    color: #2a4a49a6;
    line-height: 1.4;
    margin-top: 16px;
    text-align: center;
    display: block
}

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

    .ab-us .title-visual {
        flex: 0 0 260px
    }

    .ab-us .story-grid {
        grid-template-columns: 1fr 1.5fr
    }

    .ab-us .method-layout {
        grid-template-columns: 1fr
    }

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

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

    .ab-us .title-visual {
        flex: 0 0 auto;
        width: 100%;
        max-width: 320px
    }

    .ab-us .title-h1 {
        font-size: 30px
    }

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

    .ab-us .story-aside {
        max-width: 320px
    }

    .ab-us .story-tag {
        right: 0
    }

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

    .ab-us .method-top {
        flex-direction: column;
        align-items: flex-start
    }

    .ab-us .method-h2 {
        font-size: 30px
    }

    .ab-us .sub-txt h2 {
        font-size: 30px
    }

    .ab-us .sub-card {
        padding: 24px
    }

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

@media (max-width: 640px) {
    .ab-us .title-blk {
        padding: 48px 16px
    }

    .ab-us .story-sec {
        padding: 48px 16px
    }

    .ab-us .method-sec {
        padding: 48px 16px
    }

    .ab-us .sub-sec {
        padding: 48px 16px
    }

    .ab-us .title-actions {
        flex-direction: column
    }

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

    .ab-us .title-stat-card {
        padding: 24px
    }

    .ab-us .stat-num {
        font-size: 42px
    }
}

.dbt-pg {
    overflow-x: hidden
}

.dbt-pg .fade-in {
    animation: dbtFadeBlur .7s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes dbtFadeBlur {
    from {
        opacity: 0;
        filter: blur(8px);
        transform: translateY(16px)
    }

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

.dbt-pg .reveal {
    animation: dbtReveal .55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    animation-delay: .15s
}

@keyframes dbtReveal {
    from {
        opacity: 0;
        transform: translateY(24px);
        filter: blur(4px)
    }

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

.dbt-pg .t-blk {
    background: #111820;
    padding: 48px 24px 96px;
    position: relative
}

.dbt-pg .t-blk__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-end
}

.dbt-pg .t-blk__text {
    flex: 1 1 60%
}

.dbt-pg .t-blk__img-col {
    flex: 0 0 320px;
    max-width: 320px
}

.dbt-pg .t-blk__accent-bar {
    width: 48px;
    height: 3px;
    background: #168886;
    opacity: .55;
    margin-bottom: 24px;
    border-radius: 3px
}

.dbt-pg .t-blk__label {
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #168886;
    margin-bottom: 16px;
    display: block
}

.dbt-pg .t-blk__h1 {
    font-size: 56px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #FBFBFB;
    margin: 0 0 24px
}

.dbt-pg .t-blk__h1 span {
    color: #1BBDEB;
    text-transform: uppercase
}

.dbt-pg .t-blk__quote {
    font-size: 18px;
    line-height: 1.6;
    color: #a8b4bf;
    border-top: 1px solid #1bbdeb33;
    padding-top: 16px;
    max-width: 520px
}

.dbt-pg .t-blk__img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    border-radius: 3px;
    filter: grayscale(1);
    box-shadow: -1px 12px 60px 0 #1688861c
}

.dbt-pg .t-blk__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.dbt-pg .t-blk__deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 340px;
    background: linear-gradient(197deg, #16888612, transparent 70%), radial-gradient(ellipse at 80% 20%, #1bbdeb0f, transparent 60%);
    pointer-events: none;
    border-radius: 3px
}

.dbt-pg .zig-div {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.dbt-pg .zig-div svg {
    display: block;
    width: 100%
}

.dbt-pg .appr {
    background: #FBFBFB;
    padding: 96px 24px 48px;
    position: relative
}

.dbt-pg .appr__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.dbt-pg .appr__top-line {
    width: 32px;
    height: 2px;
    background: #168886;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .appr__h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 24px
}

.dbt-pg .appr__h2 span {
    text-transform: uppercase
}

.dbt-pg .appr__body {
    font-size: 18px;
    line-height: 1.6;
    color: #2a3540;
    margin: 0 0 16px
}

.dbt-pg .appr__right {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.dbt-pg .appr__card {
    background: #fff;
    border-radius: 13px;
    padding: 24px;
    box-shadow: -1px 7px 28px 0 #16888617;
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    cursor: default
}

.dbt-pg .appr__card:hover {
    transform: translateY(-4px);
    box-shadow: -1px 12px 60px 0 #1688861c
}

.dbt-pg .appr__card-num {
    font-size: 14px;
    letter-spacing: .1em;
    color: #168886;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
    text-align: right
}

.dbt-pg .appr__card-title {
    font-size: 15px;
    line-height: 1.4;
    color: #111820;
    font-weight: 600;
    margin: 0 0 8px
}

.dbt-pg .appr__card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #4a5a66;
    margin: 0
}

.dbt-pg .team {
    background: linear-gradient(197deg, #0f1c28 0%, #162530 60%), radial-gradient(ellipse at 70% 80%, #1bbdeb0f, transparent 55%);
    padding: 48px 24px 96px;
    position: relative;
    overflow: hidden
}

.dbt-pg .team__bg-tex {
    position: absolute;
    inset: 0;
    background-image: url(/uploads/media-b.jpg);
    background-size: cover;
    background-position: center;
    opacity: .04;
    pointer-events: none
}

.dbt-pg .team__inner {
    max-width: 1280px;
    margin: 0 auto;
    position: relative
}

.dbt-pg .team__top-line {
    width: 32px;
    height: 2px;
    background: #1BBDEB;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .team__h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #FBFBFB;
    margin: 0 0 48px
}

.dbt-pg .team__h2 span {
    text-transform: uppercase;
    color: #1BBDEB
}

.dbt-pg .team__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.dbt-pg .team__person {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start
}

.dbt-pg .team__portrait {
    flex: 0 0 88px;
    width: 88px;
    height: 110px;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: -1px 7px 28px 0 #16888617
}

.dbt-pg .team__portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.dbt-pg .team__name {
    font-size: 18px;
    line-height: 1.4;
    color: #FBFBFB;
    margin: 0 0 8px
}

.dbt-pg .team__role {
    font-size: 14px;
    letter-spacing: .08em;
    color: #1BBDEB;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px
}

.dbt-pg .team__desc {
    font-size: 15px;
    line-height: 1.6;
    color: #8fa5b5;
    margin: 0
}

.dbt-pg .team__img-feature {
    grid-column: 1 / -1;
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 13px;
    margin-top: 8px;
    box-shadow: -1px 12px 60px 0 #1688861c
}

.dbt-pg .team__img-feature img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.dbt-pg .hesit {
    background: #fff;
    padding: 96px 24px 48px
}

.dbt-pg .hesit__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 48px;
    align-items: start
}

.dbt-pg .hesit__img-col {
    position: relative
}

.dbt-pg .hesit__img-wrap {
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
    border-radius: 13px;
    box-shadow: -1px 12px 60px 0 #1688861c
}

.dbt-pg .hesit__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dbt-pg .hesit__img-wrap:hover img {
    transform: scale(1.04)
}

.dbt-pg .hesit__badge {
    position: absolute;
    bottom: -16px;
    right: -16px;
    background: #168886;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    padding: 16px;
    border-radius: 13px;
    max-width: 180px;
    box-shadow: -1px 7px 28px 0 #16888617
}

.dbt-pg .hesit__top-line {
    width: 32px;
    height: 2px;
    background: #168886;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .hesit__h2 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #111820;
    margin: 0 0 24px
}

.dbt-pg .hesit__body {
    font-size: 18px;
    line-height: 1.6;
    color: #2a3540;
    margin: 0 0 16px
}

.dbt-pg .hesit__note {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5a66;
    margin: 0;
    padding: 16px;
    background: #f0f8f8;
    border-radius: 13px;
    box-shadow: inset -1px 1px 4px 0 #16888612
}

.dbt-pg .comm {
    background: linear-gradient(197deg, #edf7f7 0%, #f4fbfb 100%), radial-gradient(ellipse at 20% 60%, #1bbdeb14, transparent 50%);
    padding: 48px 24px 96px
}

.dbt-pg .comm__inner {
    max-width: 1280px;
    margin: 0 auto
}

.dbt-pg .comm__top-line {
    width: 32px;
    height: 2px;
    background: #168886;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .comm__h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 8px
}

.dbt-pg .comm__h2 span {
    text-transform: uppercase;
    color: #168886
}

.dbt-pg .comm__sub {
    font-size: 18px;
    line-height: 1.6;
    color: #4a5a66;
    margin: 0 0 48px;
    max-width: 600px
}

.dbt-pg .comm__metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
    max-width: 640px;
    margin: 0 0 48px
}

.dbt-pg .comm__metric {
    background: #fff;
    border-radius: 13px;
    padding: 24px;
    box-shadow: -1px 7px 28px 0 #16888617;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dbt-pg .comm__metric:hover {
    transform: scale(1.03)
}

.dbt-pg .comm__metric-val {
    font-size: 42px;
    line-height: 1.2;
    color: #168886;
    letter-spacing: -.02em;
    display: block;
    margin-bottom: 8px
}

.dbt-pg .comm__metric-label {
    font-size: 14px;
    line-height: 1.4;
    color: #4a5a66;
    letter-spacing: .06em;
    text-transform: uppercase
}

.dbt-pg .comm__peers {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap
}

.dbt-pg .comm__peer {
    background: #fff;
    border-radius: 40px;
    padding: 16px 24px;
    box-shadow: -1px 1px 4px 0 #16888612;
    font-size: 15px;
    line-height: 1.4;
    color: #2a3540;
    transition: box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1), transform .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dbt-pg .comm__peer:hover {
    box-shadow: -1px 7px 28px 0 #16888617;
    transform: translateY(-2px)
}

.dbt-pg .comm__peer strong {
    color: #168886;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 4px
}

.dbt-pg .ltval {
    background: #111820;
    padding: 96px 24px 48px;
    position: relative
}

.dbt-pg .ltval__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.dbt-pg .ltval__top-line {
    width: 32px;
    height: 2px;
    background: #1BBDEB;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .ltval__h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #FBFBFB;
    margin: 0 0 24px
}

.dbt-pg .ltval__h2 span {
    text-transform: uppercase;
    color: #1BBDEB
}

.dbt-pg .ltval__body {
    font-size: 18px;
    line-height: 1.6;
    color: #8fa5b5;
    margin: 0 0 16px
}

.dbt-pg .ltval__img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 13px;
    box-shadow: -1px 12px 60px 0 #1688861c;
    position: relative
}

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

.dbt-pg .ltval__img-mask {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 30%, #11182099 100%);
    border-radius: 13px;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dbt-pg .ltval__img-wrap:hover .ltval__img-mask {
    opacity: 0
}

.dbt-pg .ltval__list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.dbt-pg .ltval__list li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #8fa5b5;
    border-bottom: 1px solid #1bbdeb1a;
    padding-bottom: 16px
}

.dbt-pg .ltval__list li:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.dbt-pg .ltval__list li span {
    font-size: 14px;
    color: #1BBDEB;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0
}

.dbt-pg .fit {
    background: #FBFBFB;
    padding: 48px 24px 96px
}

.dbt-pg .fit__inner {
    max-width: 1280px;
    margin: 0 auto
}

.dbt-pg .fit__top-line {
    width: 32px;
    height: 2px;
    background: #168886;
    margin-bottom: 16px;
    border-radius: 3px
}

.dbt-pg .fit__h2 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: #111820;
    margin: 0 0 8px
}

.dbt-pg .fit__h2 span {
    text-transform: uppercase
}

.dbt-pg .fit__sub {
    font-size: 18px;
    line-height: 1.6;
    color: #4a5a66;
    margin: 0 0 48px;
    max-width: 560px
}

.dbt-pg .fit__cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px
}

.dbt-pg .fit__col-h {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #168886;
    margin: 0 0 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #16888633
}

.dbt-pg .fit__items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    counter-reset: fit-counter
}

.dbt-pg .fit__items li {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: baseline;
    gap: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a3540;
    counter-increment: fit-counter
}

.dbt-pg .fit__items li::after {
    content: counter(fit-counter, decimal-leading-zero);
    font-size: 14px;
    color: #168886;
    letter-spacing: .06em;
    flex-shrink: 0;
    width: 28px;
    text-align: right
}

.dbt-pg .fit__items.not-fit li {
    color: #4a5a66
}

.dbt-pg .fit__items.not-fit li::after {
    color: #8fa5b5
}

.dbt-pg .fit__note {
    margin-top: 48px;
    padding: 24px;
    background: linear-gradient(197deg, #1688860f, #1bbdeb0a), radial-gradient(ellipse at 80% 50%, #1bbdeb0d, transparent 60%);
    border-radius: 13px;
    box-shadow: -1px 1px 4px 0 #16888612;
    font-size: 15px;
    line-height: 1.6;
    color: #2a3540
}

@media (max-width: 1024px) {
    .dbt-pg .t-blk__h1 {
        font-size: 42px
    }

    .dbt-pg .appr__inner {
        grid-template-columns: 1fr
    }

    .dbt-pg .hesit__inner {
        grid-template-columns: 1fr
    }

    .dbt-pg .hesit__img-col {
        max-width: 400px
    }

    .dbt-pg .ltval__inner {
        grid-template-columns: 1fr
    }

    .dbt-pg .fit__cols {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .dbt-pg .t-blk__inner {
        flex-direction: column
    }

    .dbt-pg .t-blk__img-col {
        flex: 0 0 auto;
        max-width: 100%
    }

    .dbt-pg .t-blk__h1 {
        font-size: 30px
    }

    .dbt-pg .appr__h2 {
        font-size: 30px
    }

    .dbt-pg .team__grid {
        grid-template-columns: 1fr
    }

    .dbt-pg .comm__metrics {
        grid-template-columns: 1fr
    }

    .dbt-pg .ltval__h2 {
        font-size: 30px
    }

    .dbt-pg .fit__h2 {
        font-size: 30px
    }

    .dbt-pg .comm__h2 {
        font-size: 30px
    }

    .dbt-pg .team__h2 {
        font-size: 30px
    }
}

@media (max-width: 640px) {
    .dbt-pg .t-blk {
        padding: 48px 16px 96px
    }

    .dbt-pg .appr {
        padding: 48px 16px
    }

    .dbt-pg .team {
        padding: 48px 16px 96px
    }

    .dbt-pg .hesit {
        padding: 48px 16px
    }

    .dbt-pg .comm {
        padding: 48px 16px 96px
    }

    .dbt-pg .ltval {
        padding: 48px 16px
    }

    .dbt-pg .fit {
        padding: 48px 16px 96px
    }

    .dbt-pg .t-blk__h1 {
        font-size: 22px
    }

    .dbt-pg .hesit__badge {
        position: static;
        margin-top: 16px;
        max-width: 100%
    }

    .dbt-pg .comm__peers {
        flex-direction: column
    }
}

.ct-us {
    max-width: 100%;
    overflow-x: clip
}

.ct-us .pg-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px
}

.ct-us .split-row {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: stretch
}

.ct-us .accent-line {
    width: 32px;
    height: 3px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    margin-bottom: 16px;
    border-radius: 3px
}

.ct-us .dbl-divider {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0
}

.ct-us .dbl-divider span {
    display: block;
    height: 1px;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 60%, transparent 100%);
    border-radius: 3px
}

.ct-us .dbl-divider span:last-child {
    opacity: .35;
    width: 60%
}

.ct-us .tb {
    padding: 48px 0 24px;
    background: linear-gradient(197deg, #16888612 0%, #1bbdeb0a 60%, #FBFBFB 100%);
    position: relative
}

.ct-us .tb::before {
    content: '';
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    width: 220px;
    height: 220px;
    border-radius: 40px;
    background: radial-gradient(ellipse at 30% 40%, #1bbdeb21 0%, transparent 70%);
    pointer-events: none
}

.ct-us .tb::after {
    content: '';
    position: absolute;
    right: 14%;
    top: 30%;
    width: 120px;
    height: 120px;
    border-radius: 40px;
    background: radial-gradient(ellipse at 60% 60%, #1688861a 0%, transparent 70%);
    pointer-events: none
}

.ct-us .tb-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    position: relative;
    z-index: 1
}

.ct-us .tb-text {
    flex: 1;
    min-width: 0
}

.ct-us .tb-label {
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #168886;
    font-weight: 600;
    margin-bottom: 8px;
    display: block
}

.ct-us .tb-h1 {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #0f2f2e;
    margin: 0 0 16px;
    font-weight: 700
}

.ct-us .tb-h1 em {
    font-style: normal;
    color: #168886
}

.ct-us .tb-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e4a49;
    margin: 0;
    max-width: 480px
}

.ct-us .tb-shapes {
    flex: 0 0 auto;
    width: 180px;
    height: 140px;
    position: relative
}

.ct-us .circ {
    position: absolute;
    border-radius: 40px;
    opacity: .18
}

.ct-us .circ-a {
    width: 110px;
    height: 110px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    top: 0;
    left: 0;
    border-radius: 40px;
    animation: flip-in .35s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.ct-us .circ-b {
    width: 80px;
    height: 80px;
    background: #1BBDEB;
    top: 30px;
    left: 55px;
    border-radius: 40px;
    animation: flip-in .28s .08s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.ct-us .circ-c {
    width: 55px;
    height: 55px;
    background: #168886;
    top: 70px;
    left: 20px;
    border-radius: 40px;
    animation: flip-in .3s .14s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes flip-in {
    from {
        opacity: 0;
        transform: rotateY(90deg) scale(0.7)
    }

    to {
        opacity: .18;
        transform: rotateY(0deg) scale(1)
    }
}

.ct-us .cf-blk {
    padding: 96px 0 48px;
    background: #FBFBFB
}

.ct-us .cf-left {
    flex: 0 0 30%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct-us .cf-right {
    flex: 1;
    min-width: 0
}

.ct-us .info-card {
    background: #fff;
    border-radius: 13px;
    padding: 24px;
    box-shadow: -1px 1px 4px 0 #16888612 -1px 7px 28px 0 #16888617;
    display: flex;
    flex-direction: column;
    gap: 16px;
    animation: flip-in-card .32s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes flip-in-card {
    from {
        opacity: 0;
        transform: perspective(600px) rotateX(30deg) translateY(16px)
    }

    to {
        opacity: 1;
        transform: perspective(600px) rotateX(0deg) translateY(0)
    }
}

.ct-us .info-card h4 {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #0f2f2e;
    margin: 0
}

.ct-us .info-row {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ct-us .info-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.ct-us .info-ico {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px
}

.ct-us .info-ico svg {
    width: 18px;
    height: 18px;
    stroke: #168886;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ct-us .info-val {
    font-size: 15px;
    line-height: 1.6;
    color: #1c3a39
}

.ct-us .info-val a {
    color: #168886;
    text-decoration: none;
    transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ct-us .info-val a:hover {
    color: #1BBDEB
}

.ct-us .avail-strip {
    background: linear-gradient(197deg, #0d4a48 0%, #168886 100%);
    border-radius: 13px;
    padding: 24px;
    color: #FBFBFB;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: -1px 7px 28px 0 #1688861c
}

.ct-us .avail-strip h5 {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 700;
    margin: 0;
    color: #1BBDEB
}

.ct-us .avail-strip p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    color: #e8f5f5
}

.ct-us .frm {
    background: #fff;
    border-radius: 13px;
    padding: 48px;
    box-shadow: -1px 7px 28px 0 #16888617 -1px 12px 60px 0 #1688861c;
    display: flex;
    flex-direction: column;
    gap: 24px;
    animation: flip-in-card .35s .1s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.ct-us .frm-head {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ct-us .frm-head h2 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #0f2f2e;
    margin: 0;
    font-weight: 700
}

.ct-us .frm-head p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a5a59;
    margin: 0
}

.ct-us .frm-row {
    display: flex;
    flex-direction: row;
    gap: 24px
}

.ct-us .frm-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 0
}

.ct-us .frm-field label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
    color: #0f2f2e
}

.ct-us .frm-field input[type="text"],
.ct-us .frm-field input[type="tel"],
.ct-us .frm-field textarea {
    border: 1.5px solid #c8dedd;
    border-radius: 13px;
    padding: 16px;
    font-size: 15px;
    line-height: 1.4;
    color: #0f2f2e;
    background: #FBFBFB;
    outline: none;
    transition: border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    width: 100%;
    box-sizing: border-box
}

.ct-us .frm-field input::placeholder,
.ct-us .frm-field textarea::placeholder {
    color: #0f2f2e66
}

.ct-us .frm-field input:focus,
.ct-us .frm-field textarea:focus {
    border-color: #168886;
    box-shadow: inset 0 0 0 3px #1688861a
}

.ct-us .frm-field textarea {
    resize: vertical;
    min-height: 96px
}

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

.ct-us .chk-group legend {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
    color: #0f2f2e;
    margin-bottom: 8px;
    display: block
}

.ct-us .chk-opts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.ct-us .chk-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border: 1.5px solid #c8dedd;
    border-radius: 13px;
    cursor: pointer;
    transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), background .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    background: #FBFBFB;
    position: relative;
    overflow: hidden
}

.ct-us .chk-item::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    border-radius: 3px 0 0 3px;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ct-us .chk-item:hover::after {
    transform: scaleY(1)
}

.ct-us .chk-item:hover {
    border-color: #168886;
    background: #1688860a
}

.ct-us .chk-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #168886;
    flex: 0 0 18px;
    cursor: pointer
}

.ct-us .chk-item span {
    font-size: 14px;
    line-height: 1.4;
    color: #1c3a39
}

.ct-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: #1688860d;
    border-radius: 13px
}

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

.ct-us .privacy-row label {
    font-size: 14px;
    line-height: 1.6;
    color: #2e4a49;
    cursor: pointer
}

.ct-us .privacy-row label a {
    color: #168886;
    text-decoration: underline;
    text-underline-offset: 2px
}

.ct-us .privacy-row label a:hover {
    color: #1BBDEB
}

.ct-us .btn-submit {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 48px;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    border: none;
    border-radius: 13px;
    cursor: pointer;
    transition: width .28s cubic-bezier(0.34, 1.56, 0.64, 1), padding .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: -1px 7px 28px 0 #1688862e;
    align-self: flex-start
}

.ct-us .btn-submit:hover {
    padding: 16px 64px;
    box-shadow: -1px 12px 60px 0 #16888638
}

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

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

.ct-us .proc-blk {
    padding: 96px 0;
    background: linear-gradient(197deg, #0d4a48 0%, #168886 100%);
    position: relative;
    overflow: hidden
}

.ct-us .proc-blk::before {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 300px;
    height: 300px;
    border-radius: 40px;
    background: #1bbdeb14;
    pointer-events: none
}

.ct-us .proc-blk::after {
    content: '';
    position: absolute;
    left: -40px;
    top: -40px;
    width: 200px;
    height: 200px;
    border-radius: 40px;
    background: #1bbdeb0f;
    pointer-events: none
}

.ct-us .proc-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 48px
}

.ct-us .proc-top h2 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #FBFBFB;
    margin: 0;
    font-weight: 700;
    max-width: 480px
}

.ct-us .proc-top p {
    font-size: 15px;
    line-height: 1.6;
    color: #fbfbfbbf;
    margin: 0;
    max-width: 320px;
    text-align: right
}

.ct-us .proc-flow {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    position: relative;
    z-index: 1
}

.ct-us .proc-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    background: #fbfbfb12;
    border-radius: 13px;
    position: relative;
    transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ct-us .proc-step:hover {
    background: #fbfbfb21;
    transform: translateY(-4px)
}

.ct-us .proc-step::after {
    content: '';
    position: absolute;
    right: -1px;
    top: 24px;
    bottom: 24px;
    width: 1px;
    background: #1bbdeb40
}

.ct-us .proc-step:last-child::after {
    display: none
}

.ct-us .step-num {
    width: 36px;
    height: 36px;
    border-radius: 13px;
    background: linear-gradient(197deg, #168886, #1BBDEB);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    flex: 0 0 36px
}

.ct-us .step-label {
    font-size: 15px;
    font-weight: 700;
    color: #FBFBFB;
    line-height: 1.4;
    margin: 0
}

.ct-us .step-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #fbfbfbb8;
    margin: 0
}

.ct-us .arr-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 8px;
    flex: 0 0 auto
}

.ct-us .arr-icon svg {
    width: 20px;
    height: 20px;
    stroke: #1bbdeb80;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ct-us .proc-dbl {
    margin-top: 48px
}

.ct-us .proc-dbl .dbl-divider span {
    background: linear-gradient(197deg, #1bbdeb80 0%, transparent 100%)
}

.ct-us .analytics-bar {
    margin-top: 48px;
    padding: 24px;
    background: #fbfbfb17;
    border-radius: 13px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative;
    z-index: 1
}

.ct-us .analytics-bar p {
    font-size: 15px;
    line-height: 1.6;
    color: #fbfbfbcc;
    margin: 0;
    max-width: 520px
}

.ct-us .analytics-bar p strong {
    color: #FBFBFB
}

.ct-us .btn-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 24px;
    border: 1.5px solid #1bbdeb80;
    border-radius: 13px;
    color: #1BBDEB;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
    white-space: nowrap;
    transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1), padding .28s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ct-us .btn-link:hover {
    background: #1bbdeb1f;
    border-color: #1BBDEB;
    padding: 16px 32px
}

.ct-us .btn-link svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

@media (max-width: 1024px) {
    .ct-us .frm {
        padding: 24px
    }

    .ct-us .proc-step {
        padding: 16px
    }
}

@media (max-width: 768px) {
    .ct-us .split-row {
        flex-direction: column;
        gap: 24px
    }

    .ct-us .cf-left {
        flex: none
    }

    .ct-us .frm-row {
        flex-direction: column;
        gap: 16px
    }

    .ct-us .chk-opts {
        grid-template-columns: 1fr
    }

    .ct-us .proc-flow {
        flex-direction: column;
        gap: 8px
    }

    .ct-us .proc-step::after {
        display: none
    }

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

    .ct-us .proc-top {
        flex-direction: column;
        align-items: flex-start
    }

    .ct-us .proc-top p {
        text-align: left
    }

    .ct-us .analytics-bar {
        flex-direction: column;
        align-items: flex-start
    }

    .ct-us .tb-shapes {
        display: none
    }

    .ct-us .tb-h1 {
        font-size: 30px
    }
}

@media (max-width: 640px) {
    .ct-us .cf-blk {
        padding: 48px 0
    }

    .ct-us .proc-blk {
        padding: 48px 0
    }

    .ct-us .tb {
        padding: 24px 0
    }

    .ct-us .frm {
        padding: 16px
    }
}

.succ-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 96px 24px;
    background: linear-gradient(197deg, #f0fafa 0%, #e8f8fd 100%)
}

.succ-page .succ-card {
    background: #FBFBFB;
    border-radius: 13px;
    padding: 48px;
    max-width: 560px;
    width: 100%;
    box-shadow: -1px 7px 28px 0 #16888617 -1px 1px 4px 0 #16888612;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    text-align: center
}

.succ-page .succ-icon {
    width: 64px;
    height: 64px;
    border-radius: 40px;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 12px 60px 0 #1bbdeb1c;
    flex-shrink: 0
}

.succ-page .succ-icon svg {
    display: block
}

.succ-page .succ-heading {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #111827;
    margin: 0;
    font-weight: 700
}

.succ-page .succ-heading span {
    text-transform: uppercase;
    color: #168886
}

.succ-page .succ-line {
    width: 40px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(197deg, #168886, #1BBDEB)
}

.succ-page .succ-body {
    font-size: 15px;
    line-height: 1.6;
    color: #2d3748;
    margin: 0
}

.succ-page .succ-note {
    font-size: 14px;
    line-height: 1.4;
    color: #4a5568;
    margin: 0;
    padding: 16px;
    background: #edf9f9;
    border-radius: 3px;
    width: 100%;
    box-sizing: border-box
}

.succ-page .succ-btn {
    display: inline-block;
    padding: 16px 48px;
    background: linear-gradient(197deg, #168886 0%, #1BBDEB 100%);
    color: #FBFBFB;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .03em;
    text-decoration: none;
    border-radius: 13px;
    border: none;
    cursor: pointer;
    box-shadow: -1px 7px 28px 0 #16888617;
    transition: padding .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.succ-page .succ-btn:hover {
    padding: 16px 56px;
    box-shadow: -1px 12px 60px 0 #1688861c
}

.succ-page .succ-btn:focus {
    outline: 2px solid #168886;
    outline-offset: 3px
}

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

    .succ-page .succ-card {
        padding: 24px 16px;
        gap: 16px
    }

    .succ-page .succ-heading {
        font-size: 22px
    }
}