@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/500.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/700.css');

html {
    box-sizing: border-box;
    font-size: 100%;
}

html,
body {
    margin: 0;
}

body {
    font-family: 'Roboto Slab', Georgia, serif;
}

.pg-head {
    position: relative;
    background: #1C405D;
    overflow: visible;
}

.pg-head::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #07E5A2 0%, #1C405D 60%, #07E5A2 100%);
}

.head-top-bar {
    border-bottom: 1px solid rgba(7, 229, 162, 0.18);
}

.head-top-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
}

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

.head-nav-list li {
    display: flex;
}

.head-nav-list a {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    font-family: 'Roboto Slab', Georgia, serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    color: #E7E7E7;
    text-decoration: none;
    border-radius: 8px;
    border: 1px solid transparent;
    min-height: 44px;
    transition: color 0.2s ease-out, border-color 0.2s ease-out, background 0.25s ease-out;
}

.head-nav-list a:hover {
    color: #07E5A2;
    border-color: rgba(7, 229, 162, 0.3);
    background: rgba(7, 229, 162, 0.07);
}

.head-nav-list a:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.head-nav-list .nav-active a {
    color: #07E5A2;
    border-color: rgba(7, 229, 162, 0.4);
    background: rgba(7, 229, 162, 0.1);
}

.head-brand-row {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 48px 32px;
    display: flex;
    align-items: center;
    gap: 48px;
}

.logo-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 120px;
    height: 72px;
    border-radius: 40px;
    background: #ffffff;
    box-shadow:
        -1px 3px 2px -1px rgba(7, 229, 162, 0.05),
        -1px 5px 14px -1px rgba(7, 229, 162, 0.08),
        0 0 0 2px rgba(7, 229, 162, 0.35),
        0 0 0 4px rgba(7, 229, 162, 0.12);
    padding: 8px 16px;
}

.logo-pill img {
    display: block;
    width: 72px;
    height: 56px;
    object-fit: contain;
}

.brand-prop {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.brand-prop-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(7, 229, 162, 0.12);
    border: 1px solid rgba(7, 229, 162, 0.3);
    border-radius: 3px;
    width: fit-content;
}

.brand-prop-tag span {
    font-size: 15px;
    font-weight: 500;
    color: #07E5A2;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.brand-prop-tag-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #07E5A2;
    flex-shrink: 0;
}

.brand-name-text {
    font-size: 34px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0;
}

.brand-desc-text {
    font-size: 16px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.75);
    line-height: 1.8;
    margin: 0;
    max-width: 560px;
}

.brand-contact-strip {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    flex-shrink: 0;
}

.contact-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    min-height: 44px;
    transition: background 0.2s ease-out, border-color 0.2s ease-out;
    text-decoration: none;
}

.contact-chip:hover {
    background: rgba(7, 229, 162, 0.1);
    border-color: rgba(7, 229, 162, 0.3);
}

.contact-chip:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.contact-chip-label {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.7);
    line-height: 1.2;
}

.contact-chip-val {
    font-size: 15px;
    font-weight: 500;
    color: #E7E7E7;
    line-height: 1.2;
}

.contact-chip-ico {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.pg-foot {
    background: #1C405D;
    position: relative;
}

.pg-foot::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #07E5A2 40%, #07E5A2 60%, transparent 100%);
}

.foot-upper {
    max-width: 1600px;
    margin: 0 auto;
    padding: 48px 48px 24px;
    display: grid;
    grid-template-columns: 220px 1fr 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.foot-brand-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.foot-logo-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 64px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow:
        -1px 3px 2px -1px rgba(7, 229, 162, 0.05),
        -1px 5px 14px -1px rgba(7, 229, 162, 0.08),
        0 0 0 2px rgba(7, 229, 162, 0.3);
    padding: 8px;
}

.foot-logo-pill img {
    display: block;
    width: 65px;
    height: 48px;
    object-fit: contain;
}

.foot-brand-name {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.foot-brand-since {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.55);
    line-height: 1.8;
}

.foot-contact-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.foot-contact-item {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.foot-contact-lbl {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.5);
    line-height: 1.2;
}

.foot-contact-link {
    font-size: 15px;
    font-weight: 500;
    color: #E7E7E7;
    line-height: 1.8;
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.foot-contact-link:hover {
    color: #07E5A2;
}

.foot-contact-link:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.foot-contact-addr {
    font-size: 15px;
    font-weight: 400;
    color: #E7E7E7;
    line-height: 1.8;
}

.foot-nav-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.foot-nav-head {
    font-size: 15px;
    font-weight: 700;
    color: #07E5A2;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(7, 229, 162, 0.2);
}

.foot-nav-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.foot-nav-items a {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.75);
    text-decoration: none;
    line-height: 1.8;
    display: inline-block;
    transition: color 0.18s ease-out;
}

.foot-nav-items a:hover {
    color: #07E5A2;
}

.foot-nav-items a:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.foot-lower {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid rgba(231, 231, 231, 0.1);
    flex-wrap: wrap;
}

.foot-copy {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.45);
    line-height: 1.8;
}

.foot-legal-link {
    font-size: 15px;
    font-weight: 400;
    color: rgba(231, 231, 231, 0.45);
    text-decoration: none;
    line-height: 1.8;
    transition: color 0.2s ease-out;
}

.foot-legal-link:hover {
    color: #07E5A2;
}

.foot-legal-link:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

@media (max-width: 1024px) {
    .head-brand-row {
        padding: 24px 24px 32px;
        flex-wrap: wrap;
        gap: 24px;
    }

    .head-top-inner {
        padding: 0 24px;
    }

    .brand-contact-strip {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .foot-upper {
        grid-template-columns: 1fr 1fr;
        padding: 48px 24px 24px;
        gap: 24px;
    }

    .foot-lower {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    .head-brand-row {
        padding: 16px 16px 24px;
        gap: 16px;
    }

    .head-top-inner {
        padding: 0 16px;
    }

    .head-nav-list {
        gap: 0;
    }

    .head-nav-list a {
        font-size: 15px;
        padding: 8px 8px;
    }

    .brand-name-text {
        font-size: 24px;
    }

    .foot-upper {
        grid-template-columns: 1fr;
        padding: 24px 16px;
        gap: 24px;
    }

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

@media (max-width: 360px) {
    .head-nav-list a {
        padding: 8px;
        font-size: 15px;
    }

    .brand-name-text {
        font-size: 20px;
    }
}

.cookie-prefs-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    cursor: pointer;
    font-size: 15px;
    color: #1C405D;
    font-family: 'Roboto Slab', Georgia, serif;
    font-weight: 500;
    line-height: 1.2;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}

.cookie-prefs-toggle:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.cookie-prefs-panel {
    padding: 8px 0;
    border-top: 1px solid #E7E7E7;
}

.cookie-prefs-switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    font-size: 15px;
    color: #1C405D;
    font-family: 'Roboto Slab', Georgia, serif;
    line-height: 1.8;
}

.cookie-prefs-switch label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.cookie-prefs-switch input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #07E5A2;
    cursor: pointer;
}

.cookie-act-btn {
    background: none;
    border: none;
    padding: 0;
    font-family: 'Roboto Slab', Georgia, serif;
    font-size: 15px;
    font-weight: 500;
    color: #1C405D;
    cursor: pointer;
    text-decoration: underline;
    line-height: 1.8;
    transition: color 0.2s ease-out;
}

.cookie-act-btn:hover {
    color: #07E5A2;
}

.cookie-act-btn:focus {
    outline: 3px solid #07E5A2;
    outline-offset: 2px;
}

.policy-main {
    max-width: 860px;
    margin: 0 auto;
    padding: 96px 48px;
    color: #1C405D;
}

.policy-main h1 {
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1C405D;
    margin-bottom: 48px;
    padding-bottom: 24px;
    border-bottom: 3px solid #07E5A2;
}

.policy-main h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #1C405D;
    margin-top: 48px;
    margin-bottom: 24px;
}

.policy-main h3 {
    font-size: 24px;
    line-height: 1.2;
    color: #1C405D;
    margin-top: 48px;
    margin-bottom: 16px;
}

.policy-main h4 {
    font-size: 20px;
    line-height: 1.2;
    color: #1C405D;
    margin-top: 24px;
    margin-bottom: 16px;
}

.policy-main h5 {
    font-size: 16px;
    line-height: 1.8;
    color: #1C405D;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.policy-main h6 {
    font-size: 15px;
    line-height: 1.8;
    color: #1C405D;
    margin-top: 16px;
    margin-bottom: 8px;
    opacity: 0.75;
}

.policy-main p {
    font-size: 16px;
    line-height: 1.8;
    color: #1C405D;
    margin-bottom: 16px;
    max-width: 72ch;
}

.policy-main strong,
.policy-main b {
    font-weight: 700;
    color: #1C405D;
}

.policy-main hr {
    border: none;
    border-top: 1px solid #E7E7E7;
    margin-top: 48px;
    margin-bottom: 48px;
}

.policy-main div {
    font-size: 16px;
    line-height: 1.8;
}

.policy-main table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 24px;
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.8;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.policy-main thead {
    background-color: #1C405D;
    color: #ffffff;
}

.policy-main thead th {
    padding: 16px 24px;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #ffffff;
    border: none;
}

.policy-main tbody tr {
    border-bottom: 1px solid #E7E7E7;
    transition: background-color 0.2s ease-out;
}

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

.policy-main tbody tr:nth-child(even) {
    background-color: rgba(7, 229, 162, 0.04);
}

.policy-main tbody tr:hover {
    background-color: rgba(7, 229, 162, 0.09);
}

.policy-main td {
    padding: 16px 24px;
    color: #1C405D;
    font-size: 15px;
    vertical-align: top;
}

.policy-main th {
    padding: 16px 24px;
    text-align: left;
}

@media (max-width: 768px) {
    .policy-main {
        padding: 48px 24px;
    }

    .policy-main h1 {
        font-size: 34px;
    }

    .policy-main h2 {
        font-size: 24px;
    }

    .policy-main h3 {
        font-size: 20px;
    }

    .policy-main table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 360px) {
    .policy-main {
        padding: 48px 16px;
    }

    .policy-main h1 {
        font-size: 24px;
    }

    .policy-main h2 {
        font-size: 20px;
    }

    .policy-main p,
    .policy-main td,
    .policy-main div {
        font-size: 15px;
    }
}

.lrn-prog {
    background: #fff;
    max-width: 100%;
    overflow-x: clip;
}

.lrn-prog .pg-reveal {
    animation: mask-reveal 0.85s ease-out both;
}

@keyframes mask-reveal {
    from {
        clip-path: inset(0 50% 0 50%);
        opacity: 0;
    }

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

.lrn-prog .inner-cap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px;
}

@media (max-width: 768px) {
    .lrn-prog .inner-cap {
        padding: 0 16px;
    }
}

.lrn-prog .dbl-border {
    display: inline-block;
    border: 2px solid #07E5A2;
    outline: 2px solid #1C405D;
    outline-offset: 4px;
    border-radius: 3px;
}

.lrn-prog .sh-prefix {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #07E5A2;
    border-radius: 3px;
    margin-right: 8px;
    vertical-align: middle;
    transform: rotate(45deg);
}

.lrn-prog .band-div {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
}

.lrn-prog .band-div-rev {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #1C405D, #07E5A2);
}

.lrn-prog .txt-sel-accent::selection {
    background: #07E5A2;
    color: #1C405D;
}

.lrn-prog .col2-body {
    columns: 2;
    column-gap: 48px;
}

@media (max-width: 768px) {
    .lrn-prog .col2-body {
        columns: 1;
    }
}

.lrn-prog .pg-text {
    font-size: 16px;
    line-height: 1.8;
    color: #2a3a4a;
}

.lrn-prog .sm-text {
    font-size: 15px;
    line-height: 1.8;
    color: #2a3a4a;
}

.lrn-prog .lbl-tag {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #07E5A2;
    margin-bottom: 16px;
}

.lrn-prog .h1-main {
    font-size: 64px;
    line-height: 1.2;
    font-weight: 900;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}

.lrn-prog .h2-sec {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}

.lrn-prog .h3-sub {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.lrn-prog .h4-card {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 8px;
}

@media (max-width: 768px) {
    .lrn-prog .h1-main {
        font-size: 34px;
    }

    .lrn-prog .h2-sec {
        font-size: 34px;
    }

    .lrn-prog .h3-sub {
        font-size: 24px;
    }
}

.lrn-prog .tagline {
    font-size: 20px;
    line-height: 1.8;
    color: #3a5068;
    margin: 0 0 24px;
}

.lrn-prog .act-links {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.lrn-prog .btn-prim {
    display: inline-block;
    padding: 16px 48px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-position 0.25s ease-out, box-shadow 0.2s ease-out;
    background-size: 200% 100%;
    background-position: 0% 50%;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.lrn-prog .btn-prim:hover {
    background-position: 100% 50%;
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.lrn-prog .btn-sec {
    display: inline-block;
    padding: 16px 48px;
    background: transparent;
    color: #1C405D;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #1C405D;
    cursor: pointer;
    transition: background 0.2s ease-out, color 0.2s ease-out;
}

.lrn-prog .btn-sec:hover {
    background: #1C405D;
    color: #fff;
}

.lrn-prog .title-blk {
    padding: 96px 0 48px;
    text-align: center;
    background: #fff;
    position: relative;
}

.lrn-prog .title-blk .shape-a {
    position: absolute;
    width: 180px;
    height: 180px;
    border: 2px solid rgba(7, 229, 162, 0.18);
    border-radius: 24px;
    top: 48px;
    left: 8%;
    transform: rotate(20deg);
    pointer-events: none;
}

.lrn-prog .title-blk .shape-b {
    position: absolute;
    width: 100px;
    height: 100px;
    background: rgba(28, 64, 93, 0.05);
    border-radius: 40px;
    top: 96px;
    right: 10%;
    transform: rotate(-15deg);
    pointer-events: none;
}

.lrn-prog .title-blk .shape-c {
    position: absolute;
    width: 60px;
    height: 60px;
    border: 2px solid rgba(7, 229, 162, 0.3);
    border-radius: 14px;
    bottom: 96px;
    left: 20%;
    transform: rotate(8deg);
    pointer-events: none;
}

.lrn-prog .img-wrap {
    margin: 48px auto 0;
    max-width: 860px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
    position: relative;
}

.lrn-prog .img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.35s ease-out, filter 0.35s ease-out;
    object-fit: cover;
}

.lrn-prog .img-wrap:hover img {
    transform: scale(1.03);
    filter: brightness(1.05);
}

.lrn-prog .img-wrap .dbl-exp {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(7, 229, 162, 0.08), rgba(28, 64, 93, 0.12));
    pointer-events: none;
    border-radius: 14px;
}

.lrn-prog .prog-sec {
    padding: 96px 0;
    background: #F4F8FB;
}

.lrn-prog .prog-sec .split-grid {
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 48px;
    align-items: start;
}

@media (max-width: 1024px) {
    .lrn-prog .prog-sec .split-grid {
        grid-template-columns: 1fr;
    }
}

.lrn-prog .prog-sec .left-col {
    position: sticky;
    top: 48px;
}

.lrn-prog .prog-sec .right-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lrn-prog .step-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: -1px 5px 14px -1px rgba(28, 64, 93, 0.08);
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    transition: box-shadow 0.22s ease-out, transform 0.22s ease-out;
}

.lrn-prog .step-card:hover {
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
    transform: translateY(-2px);
}

.lrn-prog .step-num {
    width: 48px;
    height: 48px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0;
}

.lrn-prog .step-card .h4-card {
    margin-bottom: 8px;
}

.lrn-prog .metrics-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 48px;
}

.lrn-prog .met-item {
    flex: 1 1 140px;
    background: #fff;
    border-radius: 14px;
    padding: 24px 16px;
    text-align: center;
    box-shadow: -1px 3px 2px -1px rgba(7, 229, 162, 0.05);
    border-top: 3px solid #07E5A2;
}

.lrn-prog .met-val {
    font-size: 34px;
    font-weight: 900;
    color: #1C405D;
    line-height: 1.2;
    display: block;
}

.lrn-prog .met-lbl {
    font-size: 15px;
    color: #3a5068;
    line-height: 1.8;
    margin-top: 8px;
    display: block;
}

.lrn-prog .review-strip {
    margin-top: 48px;
    padding: 24px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    border-radius: 14px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

.lrn-prog .review-strip .rating-num {
    font-size: 48px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    flex-shrink: 0;
}

.lrn-prog .review-strip .rating-txt {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.8;
}

.lrn-prog .stars-row {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin-bottom: 8px;
}

.lrn-prog .star-sh {
    width: 18px;
    height: 18px;
    background: #fff;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.lrn-prog .prog-sec .left-col .body-txt {
    font-size: 16px;
    line-height: 1.8;
    color: #2a3a4a;
    margin: 0 0 24px;
}

.lrn-prog .portrait-trio {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 48px;
    flex-wrap: wrap;
}

.lrn-prog .port-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1 1 100px;
}

.lrn-prog .port-img-wrap {
    width: 80px;
    height: 103px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 5px 14px -1px rgba(28, 64, 93, 0.08);
    flex-shrink: 0;
}

.lrn-prog .port-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.28s ease-out;
}

.lrn-prog .port-img-wrap:hover img {
    transform: scale(1.06);
}

.lrn-prog .port-name {
    font-size: 15px;
    font-weight: 700;
    color: #1C405D;
    text-align: center;
}

.lrn-prog .port-role {
    font-size: 15px;
    color: #3a5068;
    text-align: center;
}

.lrn-prog .faq-sec {
    padding: 96px 0;
    background: #fff;
}

.lrn-prog .faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
}

@media (max-width: 768px) {
    .lrn-prog .faq-grid {
        grid-template-columns: 1fr;
    }
}

.lrn-prog .faq-item {
    border-radius: 14px;
    border: 2px solid #E7E7E7;
    padding: 24px;
    transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}

.lrn-prog .faq-item:hover {
    border-color: #07E5A2;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.lrn-prog .faq-q {
    font-size: 16px;
    font-weight: 700;
    color: #1C405D;
    line-height: 1.2;
    margin: 0 0 16px;
}

.lrn-prog .faq-a {
    font-size: 15px;
    line-height: 1.8;
    color: #2a3a4a;
    margin: 0;
}

.lrn-prog .faq-hdr-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap;
}

.lrn-prog .faq-hdr-row .faq-intro {
    font-size: 16px;
    line-height: 1.8;
    color: #2a3a4a;
    max-width: 520px;
    margin: 0;
}

@media (max-width: 768px) {
    .lrn-prog .faq-hdr-row {
        flex-direction: column;
        gap: 16px;
    }
}

.lrn-prog a.pg-link {
    color: #1C405D;
    text-decoration: none;
    background: transparent;
    transition: background 0.18s ease-out, color 0.18s ease-out;
    border-radius: 3px;
    padding: 0 2px;
}

.lrn-prog a.pg-link:hover {
    background: #07E5A2;
    color: #1C405D;
}

@media (max-width: 360px) {
    .lrn-prog .inner-cap {
        padding: 0 8px;
    }

    .lrn-prog .h1-main {
        font-size: 24px;
    }

    .lrn-prog .h2-sec {
        font-size: 24px;
    }

    .lrn-prog .step-card {
        grid-template-columns: 1fr;
    }

    .lrn-prog .metrics-row {
        flex-direction: column;
    }

    .lrn-prog .review-strip {
        flex-direction: column;
    }
}

.dbt-pg {
    background: #fff;
    overflow-x: clip;
    position: relative;
}

.dbt-pg .dbt-pg-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 48px;
}

.dbt-pg .diam-div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    overflow: hidden;
}

.dbt-pg .diam-div span {
    width: 6px;
    height: 6px;
    background: #07E5A2;
    transform: rotate(45deg);
    flex-shrink: 0;
    display: inline-block;
}

.dbt-pg .diam-div-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
    flex-wrap: nowrap;
}

.dbt-pg .pill-lbl {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #07E5A2;
    color: #1C405D;
    font-size: 15px;
    font-weight: 700;
    border-radius: 40px;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.dbt-pg .sec1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px;
    position: relative;
}

.dbt-pg .sec1-left {
    background: #1C405D;
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.dbt-pg .sec1-left h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0;
}

.dbt-pg .sec1-left h1 em {
    color: #07E5A2;
    font-style: normal;
}

.dbt-pg .sec1-left p {
    font-size: 20px;
    line-height: 1.8;
    color: #E7E7E7;
    margin: 0;
    max-width: 520px;
}

.dbt-pg .sec1-right {
    position: relative;
    overflow: hidden;
}

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

.dbt-pg .sec1-right-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #1C405D 0%, rgba(28, 64, 93, 0.3) 60%, transparent 100%);
    z-index: 1;
}

.dbt-pg .sec1-deco {
    position: absolute;
    bottom: 24px;
    right: 24px;
    font-size: 160px;
    line-height: 1.2;
    color: rgba(7, 229, 162, 0.12);
    font-weight: 900;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}

.dbt-pg .sec2 {
    background: #E7E7E7;
    padding: 96px 0;
}

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

.dbt-pg .sec2-aside h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 16px 0;
}

.dbt-pg .sec2-aside p {
    font-size: 16px;
    line-height: 1.8;
    color: #1C405D;
    margin: 0;
}

.dbt-pg .sec2-cases {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dbt-pg .case-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    transition: box-shadow 0.25s ease-out;
}

.dbt-pg .case-card:hover {
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.dbt-pg .case-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.dbt-pg .case-card p {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin: 0;
}

.dbt-pg .case-tag {
    font-size: 15px;
    font-weight: 700;
    color: #07E5A2;
    margin: 0 0 8px 0;
    display: block;
}

.dbt-pg .sec3 {
    padding: 96px 0;
    background: #fff;
    position: relative;
}

.dbt-pg .sec3-wrap {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: center;
}

.dbt-pg .sec3-img-box {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

.dbt-pg .sec3-img-box img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.dbt-pg .sec3-img-box-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(28, 64, 93, 0.55) 0%, transparent 70%);
}

.dbt-pg .sec3-txt h2 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 16px 0;
}

.dbt-pg .sec3-txt p {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin: 0 0 16px 0;
}

.dbt-pg .sec3-meta {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.dbt-pg .sec3-meta-item {
    background: #E7E7E7;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 15px;
    color: #1C405D;
    font-weight: 600;
    line-height: 1.2;
}

.dbt-pg .sec4 {
    background: #1C405D;
    padding: 96px 0;
    position: relative;
    overflow: hidden;
}

.dbt-pg .sec4-bg-anim {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #1C405D, #0e2d42);
    animation: bgshift 5s ease-out infinite alternate;
    z-index: 0;
}

@keyframes bgshift {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.7;
    }
}

.dbt-pg .sec4-inner {
    position: relative;
    z-index: 1;
}

.dbt-pg .sec4-head {
    margin-bottom: 48px;
}

.dbt-pg .sec4-head h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    margin: 0 0 16px 0;
}

.dbt-pg .sec4-head p {
    font-size: 20px;
    line-height: 1.8;
    color: #E7E7E7;
    margin: 0;
    max-width: 700px;
}

.dbt-pg .req-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.dbt-pg .req-item {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 24px;
    box-shadow: inset 0 1px 0 rgba(7, 229, 162, 0.15);
    transition: background 0.2s ease-out;
}

.dbt-pg .req-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.dbt-pg .req-item h5 {
    font-size: 16px;
    font-weight: 700;
    color: #07E5A2;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.dbt-pg .req-item p {
    font-size: 15px;
    line-height: 1.8;
    color: #E7E7E7;
    margin: 0;
}

.dbt-pg .sec5 {
    padding: 96px 0;
    background: #E7E7E7;
}

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

.dbt-pg .sec5-left h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 300;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 24px 0;
}

.dbt-pg .sec5-left h2 strong {
    font-weight: 800;
    display: block;
}

.dbt-pg .sec5-left p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0 0 16px 0;
}

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

.dbt-pg .method-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    box-shadow: -1px 3px 2px -1px rgba(7, 229, 162, 0.05);
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.dbt-pg .method-row:hover {
    transform: translateX(4px);
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.dbt-pg .method-num {
    font-size: 34px;
    font-weight: 800;
    color: #07E5A2;
    line-height: 1.2;
    min-width: 48px;
}

.dbt-pg .method-txt h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.dbt-pg .method-txt p {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    margin: 0;
}

.dbt-pg .sec6 {
    padding: 96px 0;
    background: #fff;
    position: relative;
}

.dbt-pg .sec6-head {
    margin-bottom: 48px;
}

.dbt-pg .sec6-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0 0 16px 0;
    line-height: 1.2;
}

.dbt-pg .sec6-head p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    max-width: 640px;
    margin: 0;
}

.dbt-pg .assoc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.dbt-pg .assoc-item {
    border-radius: 14px;
    border: 2px solid #E7E7E7;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.2s ease-out, box-shadow 0.35s ease-out;
}

.dbt-pg .assoc-item:hover {
    border-color: #07E5A2;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.dbt-pg .assoc-item h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1C405D;
    margin: 0;
    line-height: 1.2;
}

.dbt-pg .assoc-item p {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    margin: 0;
}

.dbt-pg .assoc-year {
    font-size: 34px;
    font-weight: 800;
    color: #07E5A2;
    line-height: 1.2;
}

.dbt-pg .sec6-img-wrap {
    margin-top: 48px;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

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

.dbt-pg .sec6-img-wrap-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #1C405D 0%, rgba(28, 64, 93, 0.1) 60%);
}

.dbt-pg .sec6-img-caption {
    position: absolute;
    bottom: 24px;
    left: 48px;
    z-index: 2;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    max-width: 480px;
}

.dbt-pg .sec7 {
    background: #1C405D;
    padding: 96px 0;
}

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

.dbt-pg .sec7-portrait {
    position: relative;
}

.dbt-pg .sec7-portrait img {
    width: 100%;
    aspect-ratio: 5/7;
    object-fit: cover;
    object-position: center;
    border-radius: 24px;
    display: block;
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.dbt-pg .sec7-right h2 {
    font-size: 48px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    margin: 0 0 24px 0;
    line-height: 1.2;
}

.dbt-pg .sec7-right p {
    font-size: 16px;
    line-height: 1.8;
    color: #E7E7E7;
    margin: 0 0 16px 0;
}

.dbt-pg .team-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.dbt-pg .team-member {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 24px;
    box-shadow: inset 0 1px 0 rgba(7, 229, 162, 0.1);
}

.dbt-pg .team-member h5 {
    font-size: 16px;
    font-weight: 700;
    color: #07E5A2;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.dbt-pg .team-member .tm-role {
    font-size: 15px;
    color: #E7E7E7;
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
    line-height: 1.2;
}

.dbt-pg .team-member p {
    font-size: 15px;
    line-height: 1.8;
    color: #aac;
    margin: 0;
}

.dbt-pg .char-hover span {
    display: inline-block;
    transition: color 0.15s ease-out;
}

.dbt-pg .char-hover:hover span {
    color: #07E5A2;
}

@media (max-width: 1024px) {
    .dbt-pg .dbt-pg-inner {
        padding: 0 24px;
    }

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

    .dbt-pg .sec1-left {
        padding: 48px 24px;
    }

    .dbt-pg .sec1-left h1 {
        font-size: 48px;
    }

    .dbt-pg .sec1-right {
        height: 360px;
    }

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

    .dbt-pg .case-card {
        grid-template-columns: 1fr;
    }

    .dbt-pg .sec3-wrap {
        grid-template-columns: 1fr;
    }

    .dbt-pg .req-list {
        grid-template-columns: 1fr 1fr;
    }

    .dbt-pg .sec5-layout {
        grid-template-columns: 1fr;
    }

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

    .dbt-pg .sec7-layout {
        grid-template-columns: 1fr;
    }

    .dbt-pg .sec7-portrait img {
        max-width: 320px;
    }
}

@media (max-width: 768px) {
    .dbt-pg .dbt-pg-inner {
        padding: 0 16px;
    }

    .dbt-pg .sec1-left h1 {
        font-size: 34px;
    }

    .dbt-pg .sec1-left {
        padding: 48px 16px;
    }

    .dbt-pg .req-list {
        grid-template-columns: 1fr;
    }

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

    .dbt-pg .team-cols {
        grid-template-columns: 1fr;
    }

    .dbt-pg .sec6-img-caption {
        font-size: 20px;
        left: 16px;
        bottom: 16px;
    }
}

@media (max-width: 360px) {
    .dbt-pg .sec1-left h1 {
        font-size: 24px;
    }

    .dbt-pg .sec2-aside h2 {
        font-size: 34px;
    }
}

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

.proc-pg .proc-title {
    background: linear-gradient(90deg, #07E5A2 0%, #1C405D 100%);
    padding: 96px 48px 48px;
    position: relative;
}

.proc-pg .proc-title .pt-inner {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.proc-pg .proc-title .pt-circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.proc-pg .proc-title .pt-circles span {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.proc-pg .proc-title .pt-circles span:nth-child(1) {
    width: 320px;
    height: 320px;
    top: -80px;
    right: 10%;
}

.proc-pg .proc-title .pt-circles span:nth-child(2) {
    width: 180px;
    height: 180px;
    bottom: -40px;
    right: 18%;
    border-color: rgba(255, 255, 255, 0.07);
}

.proc-pg .proc-title .pt-circles span:nth-child(3) {
    width: 500px;
    height: 500px;
    top: -200px;
    right: 5%;
    border-color: rgba(255, 255, 255, 0.05);
}

.proc-pg .proc-title .pt-label {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.proc-pg .proc-title h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.02em;
    max-width: 780px;
}

.proc-pg .proc-title h1 .und-word {
    position: relative;
    display: inline-block;
}

.proc-pg .proc-title h1 .und-word::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 3px;
}

.proc-pg .proc-title .pt-quote {
    font-size: 20px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    max-width: 560px;
    font-weight: 300;
}

.proc-pg .steps-block {
    padding: 96px 48px;
    background: #fff;
    position: relative;
}

.proc-pg .steps-block .diag-lines {
    position: absolute;
    top: 0;
    right: 0;
    width: 260px;
    height: 260px;
    pointer-events: none;
    overflow: hidden;
}

.proc-pg .steps-block .diag-lines::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(-45deg,
            transparent,
            transparent 12px,
            rgba(7, 229, 162, 0.06) 12px,
            rgba(7, 229, 162, 0.06) 13px);
}

.proc-pg .steps-block .sb-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.proc-pg .steps-block .sb-head {
    margin-bottom: 48px;
}

.proc-pg .steps-block .sb-head h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #1C405D;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.proc-pg .steps-block .sb-head p {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a78;
    max-width: 560px;
    margin-top: 16px;
}

.proc-pg .steps-block .steps-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 24px;
    align-items: start;
}

.proc-pg .steps-block .step-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    transition: box-shadow 0.25s ease-out, transform 0.25s ease-out;
    position: relative;
}

.proc-pg .steps-block .step-card:hover {
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
    transform: translateY(-2px);
}

.proc-pg .steps-block .step-card .sc-num {
    font-size: 48px;
    font-weight: 800;
    color: #07E5A2;
    line-height: 1.2;
    opacity: 0.35;
}

.proc-pg .steps-block .step-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1C405D;
    margin-top: 8px;
    line-height: 1.2;
}

.proc-pg .steps-block .step-card p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a5a78;
    margin-top: 8px;
}

.proc-pg .steps-block .step-card .sc-tag {
    display: inline-block;
    background: linear-gradient(90deg, #07E5A2 0%, #1C405D 100%);
    color: #fff;
    font-size: 15px;
    padding: 8px 16px;
    border-radius: 8px;
    margin-top: 16px;
    font-weight: 600;
}

.proc-pg .steps-block .step-main {
    background: linear-gradient(90deg, #07E5A2 0%, #1C405D 100%);
    border-radius: 14px;
    padding: 48px 24px;
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.proc-pg .steps-block .step-main h3 {
    font-size: 34px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.proc-pg .steps-block .step-main p {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.88);
}

.proc-pg .steps-block .step-main .sm-img {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

.proc-pg .steps-block .step-main .sm-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 8px;
}

.proc-pg .steps-block .side-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.proc-pg .metrics-block {
    padding: 96px 48px;
    background: #E7E7E7;
    position: relative;
}

.proc-pg .metrics-block .mb-inner {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.proc-pg .metrics-block .mb-text h2 {
    font-size: 48px;
    font-weight: 800;
    color: #1C405D;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.proc-pg .metrics-block .mb-text h2 .und-word {
    position: relative;
    display: inline-block;
}

.proc-pg .metrics-block .mb-text h2 .und-word::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 3px;
    background: #07E5A2;
    border-radius: 3px;
}

.proc-pg .metrics-block .mb-text .cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
}

.proc-pg .metrics-block .mb-text .cols p {
    font-size: 15px;
    line-height: 1.8;
    color: #1C405D;
}

.proc-pg .metrics-block .mb-data {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.proc-pg .metrics-block .met-cell {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: -1px 5px 14px -1px rgba(28, 64, 93, 0.08);
    transition: box-shadow 0.35s ease-out;
}

.proc-pg .metrics-block .met-cell:hover {
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

.proc-pg .metrics-block .met-cell .mc-val {
    font-size: 48px;
    font-weight: 800;
    color: #07E5A2;
    line-height: 1.2;
}

.proc-pg .metrics-block .met-cell h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1C405D;
    margin-top: 8px;
}

.proc-pg .metrics-block .met-cell p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a5a78;
    margin-top: 8px;
}

.proc-pg .team-block {
    padding: 96px 48px;
    background: #1C405D;
    position: relative;
}

.proc-pg .team-block .diag-lines {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200px;
    height: 200px;
    pointer-events: none;
    overflow: hidden;
}

.proc-pg .team-block .diag-lines::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(-45deg,
            transparent,
            transparent 12px,
            rgba(7, 229, 162, 0.08) 12px,
            rgba(7, 229, 162, 0.08) 13px);
}

.proc-pg .team-block .tb-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.proc-pg .team-block .tb-head {
    margin-bottom: 48px;
}

.proc-pg .team-block .tb-head h2 {
    font-size: 48px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.proc-pg .team-block .tb-head p {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    max-width: 560px;
    margin-top: 16px;
}

.proc-pg .team-block .tb-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.proc-pg .team-block .tm-card {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.05);
    transition: background 0.2s ease-out, box-shadow 0.2s ease-out;
}

.proc-pg .team-block .tm-card:hover {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.proc-pg .team-block .tm-card .tc-portrait {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    flex-shrink: 0;
}

.proc-pg .team-block .tm-card .tc-portrait img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.proc-pg .team-block .tm-card .tc-name {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.proc-pg .team-block .tm-card .tc-role {
    font-size: 15px;
    color: #07E5A2;
    font-weight: 600;
}

.proc-pg .team-block .tm-card p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
}

.proc-pg .team-block .tm-card .tc-sep {
    width: 32px;
    height: 2px;
    background: #07E5A2;
    border-radius: 3px;
}

.proc-pg .team-block .tm-plain {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.05);
    transition: background 0.2s ease-out;
}

.proc-pg .team-block .tm-plain:hover {
    background: rgba(255, 255, 255, 0.1);
}

.proc-pg .team-block .tm-plain .tc-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(90deg, #07E5A2 0%, #1C405D 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.proc-pg .team-block .tm-plain .tc-icon svg {
    width: 36px;
    height: 36px;
}

.proc-pg .team-block .tm-plain .tc-name {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.proc-pg .team-block .tm-plain .tc-role {
    font-size: 15px;
    color: #07E5A2;
    font-weight: 600;
}

.proc-pg .team-block .tm-plain p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
}

.proc-pg .team-block .tm-plain .tc-sep {
    width: 32px;
    height: 2px;
    background: #07E5A2;
    border-radius: 3px;
}

@keyframes proc-split-open {
    0% {
        clip-path: inset(0 50% 0 50%);
        opacity: 0;
    }

    100% {
        clip-path: inset(0 0% 0 0%);
        opacity: 1;
    }
}

.proc-pg .proc-title .pt-inner {
    animation: proc-split-open 0.45s ease-out both;
}

@media (max-width: 1024px) {
    .proc-pg .steps-block .steps-grid {
        grid-template-columns: 1fr;
    }

    .proc-pg .steps-block .side-cards {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .proc-pg .steps-block .side-cards .step-card {
        flex: 1 1 260px;
    }

    .proc-pg .metrics-block .mb-inner {
        grid-template-columns: 1fr;
    }

    .proc-pg .team-block .tb-grid {
        grid-template-columns: 1fr 1fr;
    }

    .proc-pg .proc-title h1 {
        font-size: 48px;
    }
}

@media (max-width: 768px) {
    .proc-pg .proc-title {
        padding: 96px 24px 48px;
    }

    .proc-pg .proc-title h1 {
        font-size: 34px;
    }

    .proc-pg .proc-title .pt-quote {
        font-size: 16px;
    }

    .proc-pg .steps-block {
        padding: 48px 24px;
    }

    .proc-pg .steps-block .steps-grid {
        grid-template-columns: 1fr;
    }

    .proc-pg .steps-block .side-cards {
        flex-direction: column;
    }

    .proc-pg .metrics-block {
        padding: 48px 24px;
    }

    .proc-pg .metrics-block .mb-data {
        grid-template-columns: 1fr;
    }

    .proc-pg .metrics-block .mb-text .cols {
        grid-template-columns: 1fr;
    }

    .proc-pg .team-block {
        padding: 48px 24px;
    }

    .proc-pg .team-block .tb-grid {
        grid-template-columns: 1fr;
    }

    .proc-pg .steps-block .sb-head h2,
    .proc-pg .metrics-block .mb-text h2,
    .proc-pg .team-block .tb-head h2 {
        font-size: 34px;
    }
}

@media (max-width: 360px) {
    .proc-pg .proc-title h1 {
        font-size: 24px;
    }

    .proc-pg .metrics-block .met-cell .mc-val {
        font-size: 34px;
    }
}

.cont-pg {
    background: #ffffff;
    overflow-x: clip;
}

.cont-pg .rg-strip {
    width: 100%;
    background: linear-gradient(90deg, #07E5A2, #1C405D);
    height: 4px;
}

.cont-pg .pg-top {
    position: relative;
    background: linear-gradient(135deg, #1C405D 0%, #0d2d42 40%, #07E5A2 100%);
    padding: 96px 48px;
}

.cont-pg .pg-top .dot-field {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

.cont-pg .pg-top .dot-field span {
    position: absolute;
    border-radius: 40px;
    background: #07E5A2;
    opacity: 0.08;
}

.cont-pg .pg-top .dot-field span:nth-child(1) {
    width: 8px;
    height: 8px;
    top: 18%;
    left: 6%;
}

.cont-pg .pg-top .dot-field span:nth-child(2) {
    width: 16px;
    height: 16px;
    top: 30%;
    left: 10%;
}

.cont-pg .pg-top .dot-field span:nth-child(3) {
    width: 6px;
    height: 6px;
    top: 55%;
    left: 4%;
}

.cont-pg .pg-top .dot-field span:nth-child(4) {
    width: 12px;
    height: 12px;
    top: 70%;
    left: 14%;
}

.cont-pg .pg-top .dot-field span:nth-child(5) {
    width: 20px;
    height: 20px;
    top: 12%;
    left: 88%;
}

.cont-pg .pg-top .dot-field span:nth-child(6) {
    width: 8px;
    height: 8px;
    top: 40%;
    left: 92%;
}

.cont-pg .pg-top .dot-field span:nth-child(7) {
    width: 14px;
    height: 14px;
    top: 65%;
    left: 85%;
}

.cont-pg .pg-top .dot-field span:nth-child(8) {
    width: 6px;
    height: 6px;
    top: 80%;
    left: 94%;
}

.cont-pg .pg-top .top-inner {
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.cont-pg .pg-top .pg-label {
    display: inline-block;
    background: rgba(7, 229, 162, 0.15);
    border: 1px solid rgba(7, 229, 162, 0.4);
    color: #07E5A2;
    font-size: 15px;
    letter-spacing: 0.08em;
    padding: 8px 16px;
    border-radius: 3px;
    margin-bottom: 24px;
    animation: flipIn 0.45s ease-out both;
}

.cont-pg .pg-top h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.02em;
    max-width: 700px;
    margin: 0 0 24px 0;
    animation: flipIn 0.38s ease-out 0.1s both;
}

.cont-pg .pg-top .top-desc {
    font-size: 20px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    max-width: 560px;
    margin: 0;
    animation: flipIn 0.35s ease-out 0.2s both;
}

@keyframes flipIn {
    from {
        opacity: 0;
        transform: rotateX(-20deg) translateY(16px);
    }

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

.cont-pg .contact-body {
    max-width: 1600px;
    margin: 0 auto;
    padding: 96px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: start;
}

.cont-pg .info-col {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.cont-pg .info-col .reach-head {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 16px 0;
    letter-spacing: -0.01em;
}

.cont-pg .info-col .reach-sub {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a73;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}

.cont-pg .info-col .reach-sub span {
    display: block;
}

.cont-pg .detail-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cont-pg .det-card {
    background: #ffffff;
    border: 1px solid #E7E7E7;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    box-shadow: -1px 3px 2px -1px rgba(7, 229, 162, 0.05);
    transition: box-shadow 0.25s ease-out, border-color 0.25s ease-out;
}

.cont-pg .det-card:hover {
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    border-color: #07E5A2;
}

.cont-pg .det-card .card-ico {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(90deg, #07E5A2, #1C405D);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cont-pg .det-card .card-ico svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cont-pg .det-card .card-body {
    flex: 1;
}

.cont-pg .det-card .card-lbl {
    font-size: 15px;
    color: #8aa3b5;
    margin: 0 0 8px 0;
    letter-spacing: 0.04em;
}

.cont-pg .det-card .card-val {
    font-size: 16px;
    line-height: 1.8;
    color: #1C405D;
    font-weight: 600;
    margin: 0;
}

.cont-pg .det-card .card-val a {
    color: #1C405D;
    text-decoration: none;
    transition: color 0.2s ease-out;
}

.cont-pg .det-card .card-val a:hover {
    color: #07E5A2;
}

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

.cont-pg .ind-dot {
    width: 48px;
    height: 48px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    flex-shrink: 0;
}

.cont-pg .ind-dot.d1 {
    background: #07E5A2;
}

.cont-pg .ind-dot.d2 {
    background: #1C405D;
}

.cont-pg .ind-dot.d3 {
    background: linear-gradient(90deg, #07E5A2, #1C405D);
}

.cont-pg .ind-meta {
    font-size: 15px;
    line-height: 1.8;
    color: #3a5a73;
}

.cont-pg .ind-meta strong {
    color: #1C405D;
    display: block;
    font-size: 16px;
}

.cont-pg .form-col {
    background: #F4F8FB;
    border-radius: 14px;
    padding: 48px;
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

.cont-pg .form-col .form-head {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 8px 0;
}

.cont-pg .form-col .form-note {
    font-size: 15px;
    line-height: 1.8;
    color: #5a7a8f;
    margin: 0 0 48px 0;
}

.cont-pg .rg-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.cont-pg .rg-form .f-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cont-pg .rg-form label {
    font-size: 15px;
    color: #1C405D;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.cont-pg .rg-form input[type="email"],
.cont-pg .rg-form textarea {
    width: 100%;
    border: 1px solid #d0dce6;
    border-radius: 3px;
    padding: 16px;
    font-size: 16px;
    color: #1C405D;
    background: #ffffff;
    outline: none;
    transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out;
    box-sizing: border-box;
    appearance: none;
}

.cont-pg .rg-form input[type="email"]::placeholder,
.cont-pg .rg-form textarea::placeholder {
    color: rgba(28, 64, 93, 0.35);
}

.cont-pg .rg-form input[type="email"]:focus,
.cont-pg .rg-form textarea:focus {
    border-color: #07E5A2;
    box-shadow: inset 0 0 0 2px rgba(7, 229, 162, 0.15);
}

.cont-pg .rg-form textarea {
    resize: vertical;
    min-height: 120px;
}

.cont-pg .rg-form .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
}

.cont-pg .rg-form .privacy-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #d0dce6;
    border-radius: 3px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #07E5A2;
    cursor: pointer;
}

.cont-pg .rg-form .privacy-row .priv-txt {
    font-size: 15px;
    line-height: 1.8;
    color: #5a7a8f;
}

.cont-pg .rg-form .privacy-row .priv-txt a {
    color: #07E5A2;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease-out;
}

.cont-pg .rg-form .privacy-row .priv-txt a:hover {
    color: #1C405D;
}

.cont-pg .rg-form .sub-btn {
    width: 100%;
    padding: 16px 24px;
    background: linear-gradient(90deg, #07E5A2, #1C405D);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    letter-spacing: 0.03em;
    transition: opacity 0.2s ease-out, transform 0.15s ease-out;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.cont-pg .rg-form .sub-btn:hover {
    background: linear-gradient(270deg, #07E5A2, #1C405D);
    opacity: 0.92;
    transform: translateY(-1px);
}

.cont-pg .rg-form .sub-btn:active {
    transform: translateY(0);
    opacity: 1;
}

.cont-pg .rg-form .sub-btn:focus-visible {
    outline: 3px solid #07E5A2;
    outline-offset: 3px;
}

.cont-pg .flow-sec {
    background: #1C405D;
    padding: 96px 48px;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    padding-bottom: 128px;
}

.cont-pg .flow-sec .flow-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.cont-pg .flow-sec .flow-head {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 300;
    color: #ffffff;
    margin: 0 0 8px 0;
    letter-spacing: -0.01em;
}

.cont-pg .flow-sec .flow-head strong {
    font-weight: 700;
    color: #07E5A2;
}

.cont-pg .flow-sec .flow-desc {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.65);
    max-width: 540px;
    margin: 0 0 48px 0;
}

.cont-pg .flow-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative;
}

.cont-pg .flow-steps::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(16.66% + 8px);
    right: calc(16.66% + 8px);
    height: 2px;
    background: linear-gradient(90deg, #07E5A2, rgba(7, 229, 162, 0.2));
    pointer-events: none;
}

.cont-pg .f-step {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(7, 229, 162, 0.18);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background 0.25s ease-out, border-color 0.3s ease-out;
}

.cont-pg .f-step:hover {
    background: rgba(7, 229, 162, 0.08);
    border-color: rgba(7, 229, 162, 0.45);
}

.cont-pg .f-step .step-num {
    width: 56px;
    height: 56px;
    border-radius: 40px;
    background: linear-gradient(90deg, #07E5A2, #1C405D);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    box-shadow: inset 0 1px 8px rgba(255, 255, 255, 0.15);
}

.cont-pg .f-step .step-title {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.cont-pg .f-step .step-body {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

@media (max-width: 1024px) {
    .cont-pg .pg-top h1 {
        font-size: 48px;
    }

    .cont-pg .contact-body {
        grid-template-columns: 1fr;
        gap: 48px;
        padding: 48px 24px;
    }

    .cont-pg .flow-steps {
        grid-template-columns: 1fr;
    }

    .cont-pg .flow-steps::before {
        display: none;
    }

    .cont-pg .flow-sec {
        clip-path: none;
        padding: 48px 24px 96px;
    }

    .cont-pg .info-col .reach-sub {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .cont-pg .pg-top {
        padding: 48px 24px;
    }

    .cont-pg .pg-top h1 {
        font-size: 34px;
    }

    .cont-pg .pg-top .top-desc {
        font-size: 16px;
    }

    .cont-pg .form-col {
        padding: 24px;
    }

    .cont-pg .indicators-row {
        flex-wrap: wrap;
    }
}

@media (max-width: 360px) {
    .cont-pg .pg-top h1 {
        font-size: 24px;
    }

    .cont-pg .det-card {
        flex-direction: column;
    }

    .cont-pg .indicators-row {
        gap: 8px;
    }
}

.srv-pg {
    background: #ffffff;
    overflow-x: clip;
}

.srv-pg *,
.srv-pg *::before,
.srv-pg *::after {
    box-sizing: border-box;
}

.srv-pg .t-band {
    position: relative;
    padding: 96px 48px 48px;
    background: #1C405D;
    max-width: 100%;
    overflow: hidden;
}

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

.srv-pg .t-band-grid {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px;
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
}

.srv-pg .t-text {
    flex: 1 1 0;
    padding-bottom: 48px;
}

.srv-pg .t-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    color: #07E5A2;
    text-transform: uppercase;
    margin-bottom: 24px;
    padding: 8px 16px;
    border: 1px solid rgba(7, 229, 162, 0.3);
    border-radius: 3px;
}

.srv-pg .t-head {
    font-size: 64px;
    line-height: 1.2;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}

.srv-pg .t-sub {
    font-size: 20px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
    max-width: 560px;
}

.srv-pg .t-img-col {
    flex: 0 0 340px;
    position: relative;
    align-self: flex-end;
}

.srv-pg .t-img-wrap {
    width: 340px;
    height: 420px;
    overflow: hidden;
    clip-path: polygon(0 8%, 8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.srv-pg .t-img-wrap img {
    width: 340px;
    height: 420px;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.15) brightness(0.9) contrast(1.05);
}

.srv-pg .t-deco-line {
    position: absolute;
    top: 50%;
    right: -24px;
    width: 1px;
    height: 120px;
    background: linear-gradient(to bottom, transparent, #07E5A2, transparent);
    transform: translateY(-50%);
}

.srv-pg .svg-div {
    width: 100%;
    line-height: 0;
    background: #1C405D;
}

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

.srv-pg .svc-grid-area {
    background: #ffffff;
    padding: 96px 48px;
}

.srv-pg .svc-grid-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.srv-pg .svc-row-head {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px;
    margin-bottom: 48px;
}

.srv-pg .svc-row-head h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    letter-spacing: -0.02em;
    margin: 0;
    flex: 0 0 auto;
}

.srv-pg .svc-row-head p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 0;
    flex: 1 1 0;
}

.srv-pg .svc-cards {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
}

.srv-pg .svc-card {
    background: #ffffff;
    border: 1px solid #E7E7E7;
    border-radius: 14px;
    padding: 48px;
    box-shadow: -1px 5px 14px -1px rgba(28, 64, 93, 0.08);
    transition: box-shadow 0.25s ease-out, border-color 0.25s ease-out;
}

.srv-pg .svc-card:hover {
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
    border-color: #07E5A2;
}

.srv-pg .svc-card.wide {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.srv-pg .svc-card.tall {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.srv-pg .svc-card.sm {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}

.srv-pg .svc-card.bot-a {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.srv-pg .svc-card.bot-b {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.srv-pg .card-num {
    font-size: 48px;
    font-weight: 700;
    color: #07E5A2;
    line-height: 1.2;
    letter-spacing: -0.03em;
    display: block;
    margin-bottom: 16px;
}

.srv-pg .card-ico {
    width: 40px;
    height: 40px;
    margin-bottom: 16px;
}

.srv-pg .svc-card h4 {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 16px;
}

.srv-pg .svc-card p {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    margin: 0;
}

.srv-pg .svc-card.wide p {
    column-count: 2;
    column-gap: 24px;
}

.srv-pg .svc-card h3 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 24px;
    letter-spacing: -0.02em;
}

.srv-pg .tag-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.srv-pg .tag {
    font-size: 15px;
    line-height: 1.2;
    color: #1C405D;
    background: #E7E7E7;
    border-radius: 40px;
    padding: 8px 16px;
    transition: background 0.2s ease-out, color 0.2s ease-out;
}

.srv-pg .tag:hover {
    background: #07E5A2;
    color: #1C405D;
}

.srv-pg .detail-band {
    background: #1C405D;
    padding: 96px 48px;
    position: relative;
}

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

.srv-pg .detail-inner {
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
}

.srv-pg .detail-top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    margin-bottom: 48px;
    align-items: flex-start;
}

.srv-pg .detail-top h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: -0.01em;
    margin: 0;
    flex: 0 0 420px;
}

.srv-pg .detail-top h2 strong {
    font-weight: 700;
    color: #07E5A2;
}

.srv-pg .detail-cols {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.srv-pg .detail-item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding: 24px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(7, 229, 162, 0.15);
    transition: background 0.35s ease-out, border-color 0.35s ease-out;
}

.srv-pg .detail-item:hover {
    background: rgba(7, 229, 162, 0.08);
    border-color: rgba(7, 229, 162, 0.4);
}

.srv-pg .detail-dot {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: #07E5A2;
    flex-shrink: 0;
    margin-top: 8px;
}

.srv-pg .detail-item h5 {
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: #07E5A2;
    margin: 0 0 8px;
}

.srv-pg .detail-item p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
}

.srv-pg .metrics-strip {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-top: 48px;
    padding-top: 48px;
    border-top: 1px dashed rgba(7, 229, 162, 0.3);
}

.srv-pg .metric-box {
    flex: 1 1 0;
    text-align: center;
    padding: 24px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.srv-pg .metric-val {
    display: block;
    font-size: 48px;
    font-weight: 700;
    color: #07E5A2;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.srv-pg .metric-desc {
    display: block;
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 8px;
}

.srv-pg .svg-div2 {
    width: 100%;
    line-height: 0;
    background: #ffffff;
}

.srv-pg .svg-div2 svg {
    display: block;
    width: 100%;
}

.srv-pg .review-area {
    background: #ffffff;
    padding: 96px 48px;
}

.srv-pg .review-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.srv-pg .review-layout {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.srv-pg .review-left {
    flex: 0 0 320px;
}

.srv-pg .review-left h2 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #1C405D;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
}

.srv-pg .review-left p {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    margin: 0 0 24px;
}

.srv-pg .portrait-wrap {
    width: 220px;
    height: 275px;
    overflow: hidden;
    clip-path: polygon(0 0, 85% 0, 100% 15%, 100% 100%, 0 100%);
    box-shadow: -1px 5px 14px -1px rgba(28, 64, 93, 0.08);
}

.srv-pg .portrait-wrap img {
    width: 220px;
    height: 275px;
    object-fit: cover;
    object-position: center;
}

.srv-pg .review-right {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.srv-pg .rev-card {
    padding: 24px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #E7E7E7;
    box-shadow: -1px 3px 2px -1px rgba(28, 64, 93, 0.05);
    transition: box-shadow 0.2s ease-out;
}

.srv-pg .rev-card:hover {
    box-shadow: -1px 10px 48px -1px rgba(28, 64, 93, 0.11);
}

.srv-pg .rev-card blockquote {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0 0 16px;
    padding: 0;
}

.srv-pg .rev-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

.srv-pg .rev-name {
    font-size: 15px;
    font-weight: 700;
    color: #1C405D;
    line-height: 1.2;
}

.srv-pg .rev-role {
    font-size: 15px;
    color: #888;
    line-height: 1.2;
}

.srv-pg .rev-sep {
    color: #07E5A2;
    font-size: 20px;
    line-height: 1.2;
}

.srv-pg .rev-stars {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin-left: auto;
}

.srv-pg .star-shape {
    width: 14px;
    height: 14px;
}

.srv-pg .rev-row2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.srv-pg a.cta-btn {
    display: inline-block;
    padding: 16px 48px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.35s ease-out, box-shadow 0.35s ease-out;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.srv-pg a.cta-btn:hover {
    background: linear-gradient(to left, #07E5A2, #1C405D);
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

@keyframes srv-fadein {
    from {
        opacity: 0;
        filter: blur(6px);
    }

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

.srv-pg .t-band,
.srv-pg .svc-grid-area,
.srv-pg .detail-band,
.srv-pg .review-area {
    animation: srv-fadein 0.45s ease-out both;
}

@media (max-width: 1024px) {
    .srv-pg .t-head {
        font-size: 48px;
    }

    .srv-pg .t-img-col {
        flex: 0 0 260px;
    }

    .srv-pg .t-img-wrap {
        width: 260px;
        height: 320px;
    }

    .srv-pg .t-img-wrap img {
        width: 260px;
        height: 320px;
    }

    .srv-pg .svc-cards {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .srv-pg .svc-card.wide {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .srv-pg .svc-card.wide p {
        column-count: 2;
    }

    .srv-pg .svc-card.tall,
    .srv-pg .svc-card.sm,
    .srv-pg .svc-card.bot-a,
    .srv-pg .svc-card.bot-b {
        grid-column: auto;
        grid-row: auto;
    }

    .srv-pg .detail-top {
        flex-direction: column;
        gap: 24px;
    }

    .srv-pg .detail-top h2 {
        flex: 0 0 auto;
        font-size: 34px;
    }

    .srv-pg .metrics-strip {
        flex-wrap: wrap;
    }

    .srv-pg .metric-box {
        flex: 0 0 calc(50% - 12px);
    }
}

@media (max-width: 768px) {
    .srv-pg .t-band {
        padding: 48px 24px 48px;
    }

    .srv-pg .t-band-grid {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .srv-pg .t-head {
        font-size: 34px;
    }

    .srv-pg .t-img-col {
        align-self: flex-start;
    }

    .srv-pg .svc-grid-area {
        padding: 48px 24px;
    }

    .srv-pg .svc-row-head {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }

    .srv-pg .svc-row-head h2 {
        font-size: 34px;
    }

    .srv-pg .svc-cards {
        grid-template-columns: 1fr;
    }

    .srv-pg .svc-card.wide {
        grid-column: auto;
    }

    .srv-pg .svc-card.wide p {
        column-count: 1;
    }

    .srv-pg .detail-band {
        padding: 48px 24px;
    }

    .srv-pg .metrics-strip {
        flex-direction: column;
        gap: 16px;
    }

    .srv-pg .metric-box {
        flex: 0 0 auto;
    }

    .srv-pg .review-area {
        padding: 48px 24px;
    }

    .srv-pg .review-layout {
        flex-direction: column;
        gap: 24px;
    }

    .srv-pg .review-left {
        flex: 0 0 auto;
    }

    .srv-pg .rev-row2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .srv-pg .t-head {
        font-size: 24px;
    }

    .srv-pg .card-num {
        font-size: 34px;
    }

    .srv-pg .metric-val {
        font-size: 34px;
    }
}

.abt-pg {
    background: #fff;
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden;
}

.abt-pg .tl-blk {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
    position: relative;
}

.abt-pg .tl-left {
    padding: 96px 48px 96px 96px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.abt-pg .tl-corner-tl {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #07E5A2;
    border-left: 2px solid #07E5A2;
    border-radius: 3px 0 0 0;
    pointer-events: none;
}

.abt-pg .tl-corner-br {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-bottom: 2px solid #1C405D;
    border-right: 2px solid #1C405D;
    border-radius: 0 0 3px 0;
    pointer-events: none;
}

.abt-pg .tl-eyebrow {
    font-size: 15px;
    color: #07E5A2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}

.abt-pg .tl-h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #1C405D;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
}

.abt-pg .tl-h1 span {
    font-weight: 300;
    color: #07E5A2;
}

.abt-pg .tl-desc {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a72;
    max-width: 480px;
}

.abt-pg .tl-right {
    position: relative;
    overflow: hidden;
}

.abt-pg .tl-img-wrap {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.abt-pg .tl-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.45s ease-out;
}

.abt-pg .tl-img-wrap:hover img {
    transform: scale(1.04);
}

.abt-pg .tl-scanline {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg,
            transparent,
            transparent 3px,
            rgba(7, 229, 162, 0.04) 3px,
            rgba(7, 229, 162, 0.04) 4px);
    pointer-events: none;
    z-index: 2;
}

.abt-pg .tl-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(28, 64, 93, 0.18), transparent);
    z-index: 1;
    pointer-events: none;
}

.abt-pg .divider-thin {
    height: 1px;
    background: #E7E7E7;
    margin: 0 96px;
}

.abt-pg .story-blk {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 48px;
    padding: 96px 96px 48px 96px;
    background: linear-gradient(to top, #fff 0%, #f2f9f7 100%);
    position: relative;
}

.abt-pg .story-circles {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    pointer-events: none;
    overflow: hidden;
}

.abt-pg .story-circles::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 260px;
    height: 260px;
    border-radius: 40px;
    background: rgba(7, 229, 162, 0.06);
}

.abt-pg .story-circles::after {
    content: "";
    position: absolute;
    top: 40px;
    right: 40px;
    width: 180px;
    height: 180px;
    border-radius: 40px;
    background: rgba(28, 64, 93, 0.05);
}

.abt-pg .story-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.abt-pg .story-img-wrap {
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.abt-pg .story-img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.35s ease-out;
}

.abt-pg .story-img-wrap:hover img {
    transform: scale(1.03);
}

.abt-pg .story-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1C405D;
    color: #07E5A2;
    font-size: 15px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 8px;
    width: fit-content;
}

.abt-pg .story-badge .yr {
    font-size: 24px;
    font-weight: 800;
    color: #fff;
}

.abt-pg .story-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}

.abt-pg .story-h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #1C405D;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.abt-pg .story-h2 em {
    font-style: normal;
    font-weight: 300;
    color: #3a5a72;
}

.abt-pg .story-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.abt-pg .story-col p {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a72;
    margin: 0;
}

.abt-pg .story-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.abt-pg .stag {
    font-size: 15px;
    color: #1C405D;
    background: #E7E7E7;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 500;
    transition: background 0.2s ease-out, color 0.2s ease-out;
}

.abt-pg .stag:hover {
    background: #07E5A2;
    color: #1C405D;
}

.abt-pg .divider-accent {
    height: 1px;
    background: linear-gradient(to right, #07E5A2, #1C405D, transparent);
    margin: 0;
}

.abt-pg .team-blk {
    padding: 48px 96px 96px 96px;
    background: #1C405D;
    position: relative;
    overflow: hidden;
}

.abt-pg .team-bg-circ {
    position: absolute;
    pointer-events: none;
}

.abt-pg .team-bg-circ.c1 {
    width: 400px;
    height: 400px;
    border-radius: 40px;
    background: rgba(7, 229, 162, 0.06);
    top: -100px;
    right: -100px;
}

.abt-pg .team-bg-circ.c2 {
    width: 200px;
    height: 200px;
    border-radius: 40px;
    background: rgba(7, 229, 162, 0.04);
    bottom: 48px;
    left: 48px;
}

.abt-pg .team-h3 {
    font-size: 34px;
    line-height: 1.2;
    color: #fff;
    font-weight: 700;
    margin-bottom: 48px;
    letter-spacing: -0.01em;
}

.abt-pg .team-h3 span {
    color: #07E5A2;
    font-weight: 300;
}

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

.abt-pg .team-card {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 24px;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    transition: background 0.25s ease-out;
}

.abt-pg .team-card:hover {
    background: rgba(255, 255, 255, 0.09);
}

.abt-pg .team-port {
    width: 120px;
    min-width: 120px;
    aspect-ratio: 5/7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.abt-pg .team-port img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.35s ease-out;
}

.abt-pg .team-card:hover .team-port img {
    transform: scale(1.04);
}

.abt-pg .team-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.abt-pg .team-name {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.abt-pg .team-role {
    font-size: 15px;
    color: #07E5A2;
    font-weight: 500;
}

.abt-pg .team-bio {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.abt-pg .team-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.abt-pg .tbadge {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(7, 229, 162, 0.3);
    padding: 4px 8px;
    border-radius: 8px;
    font-weight: 400;
}

.abt-pg .divider-geo {
    height: 24px;
    background: #1C405D;
    clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);
}

.abt-pg .vals-blk {
    padding: 96px 96px 96px 96px;
    background: #fff;
    position: relative;
}

.abt-pg .vals-top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    margin-bottom: 48px;
    align-items: end;
}

.abt-pg .vals-h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #1C405D;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.abt-pg .vals-lead {
    font-size: 16px;
    line-height: 1.8;
    color: #3a5a72;
    margin: 0;
}

.abt-pg .vals-mosaic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 16px;
}

.abt-pg .vcard {
    border-radius: 14px;
    padding: 24px;
    position: relative;
    overflow: hidden;
    box-shadow: -1px 3px 2px -1px rgba(7, 229, 162, 0.05);
    transition: box-shadow 0.2s ease-out, transform 0.2s ease-out;
}

.abt-pg .vcard:hover {
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
    transform: translateY(-2px);
}

.abt-pg .vcard.vc-a {
    background: #1C405D;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.abt-pg .vcard.vc-b {
    background: linear-gradient(to right, #07E5A2, #1C405D);
    grid-column: 2 / 4;
    grid-row: 1 / 2;
}

.abt-pg .vcard.vc-c {
    background: #E7E7E7;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
}

.abt-pg .vcard.vc-d {
    background: #1C405D;
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.abt-pg .vcard-num {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

.abt-pg .vcard.vc-a .vcard-num,
.abt-pg .vcard.vc-d .vcard-num {
    color: #07E5A2;
}

.abt-pg .vcard.vc-b .vcard-num {
    color: #fff;
}

.abt-pg .vcard.vc-c .vcard-num {
    color: #1C405D;
}

.abt-pg .vcard-label {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.2;
}

.abt-pg .vcard.vc-a .vcard-label,
.abt-pg .vcard.vc-d .vcard-label {
    color: #fff;
}

.abt-pg .vcard.vc-b .vcard-label {
    color: #fff;
}

.abt-pg .vcard.vc-c .vcard-label {
    color: #1C405D;
}

.abt-pg .vcard-txt {
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

.abt-pg .vcard.vc-a .vcard-txt,
.abt-pg .vcard.vc-d .vcard-txt {
    color: rgba(255, 255, 255, 0.72);
}

.abt-pg .vcard.vc-b .vcard-txt {
    color: rgba(255, 255, 255, 0.85);
}

.abt-pg .vcard.vc-c .vcard-txt {
    color: #3a5a72;
}

.abt-pg .vals-img-strip {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    border-radius: 14px;
    overflow: hidden;
}

.abt-pg .vals-img-item {
    overflow: hidden;
    border-radius: 14px;
}

.abt-pg .vals-img-item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.45s ease-out;
}

.abt-pg .vals-img-item:hover img {
    transform: scale(1.05);
}

.abt-pg .vals-cta-row {
    margin-top: 48px;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.abt-pg .btn-prim {
    display: inline-block;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 48px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    transition: background 0.2s ease-out, box-shadow 0.2s ease-out;
}

.abt-pg .btn-prim:hover {
    background: linear-gradient(to left, #07E5A2, #1C405D);
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.abt-pg .btn-sec {
    display: inline-block;
    background: transparent;
    color: #1C405D;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 24px;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #1C405D;
    cursor: pointer;
    transition: border-color 0.2s ease-out, color 0.2s ease-out;
}

.abt-pg .btn-sec:hover {
    border-color: #07E5A2;
    color: #07E5A2;
}

.abt-pg .clip-reveal {
    animation: clipReveal 0.45s ease-out forwards;
}

@keyframes clipReveal {
    from {
        clip-path: inset(50% 50% 50% 50%);
        opacity: 0;
    }

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

.abt-pg .contrast-breath {
    animation: contBreath 6s ease-in-out infinite;
}

@keyframes contBreath {

    0%,
    100% {
        filter: contrast(1);
    }

    50% {
        filter: contrast(1.12);
    }
}

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

    .abt-pg .tl-right {
        height: 340px;
    }

    .abt-pg .tl-left {
        padding: 48px 48px 48px 48px;
    }

    .abt-pg .tl-h1 {
        font-size: 48px;
    }

    .abt-pg .story-blk {
        grid-template-columns: 1fr;
        padding: 48px;
    }

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

    .abt-pg .team-blk {
        padding: 48px;
    }

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

    .abt-pg .vals-blk {
        padding: 48px;
    }

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

    .abt-pg .vals-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .abt-pg .vcard.vc-a {
        grid-column: 1/2;
        grid-row: auto;
    }

    .abt-pg .vcard.vc-b {
        grid-column: 2/3;
        grid-row: auto;
    }

    .abt-pg .vcard.vc-c {
        grid-column: 1/2;
        grid-row: auto;
    }

    .abt-pg .vcard.vc-d {
        grid-column: 2/3;
        grid-row: auto;
    }

    .abt-pg .divider-thin {
        margin: 0 48px;
    }
}

@media (max-width: 768px) {
    .abt-pg .tl-h1 {
        font-size: 34px;
    }

    .abt-pg .tl-left {
        padding: 48px 24px;
    }

    .abt-pg .story-blk {
        padding: 48px 24px;
    }

    .abt-pg .story-h2 {
        font-size: 34px;
    }

    .abt-pg .team-blk {
        padding: 48px 24px;
    }

    .abt-pg .team-card {
        flex-direction: column;
    }

    .abt-pg .vals-blk {
        padding: 48px 24px;
    }

    .abt-pg .vals-h2 {
        font-size: 34px;
    }

    .abt-pg .vals-mosaic {
        grid-template-columns: 1fr;
    }

    .abt-pg .vcard.vc-a,
    .abt-pg .vcard.vc-b,
    .abt-pg .vcard.vc-c,
    .abt-pg .vcard.vc-d {
        grid-column: 1/2;
        grid-row: auto;
    }

    .abt-pg .vals-img-strip {
        grid-template-columns: 1fr;
    }

    .abt-pg .divider-thin {
        margin: 0 24px;
    }
}

@media (max-width: 360px) {
    .abt-pg .tl-h1 {
        font-size: 24px;
    }

    .abt-pg .story-h2 {
        font-size: 24px;
    }

    .abt-pg .vals-h2 {
        font-size: 24px;
    }

    .abt-pg .team-h3 {
        font-size: 24px;
    }

    .abt-pg .btn-prim,
    .abt-pg .btn-sec {
        width: 100%;
        text-align: center;
    }
}

.suc-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 24px;
    background: #ffffff;
}

.suc-page .suc-wrap {
    max-width: 600px;
    width: 100%;
    text-align: center;
}

.suc-page .suc-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 48px;
    display: block;
}

.suc-page .suc-icon circle {
    fill: none;
    stroke: #07E5A2;
    stroke-width: 2.5;
}

.suc-page .suc-icon polyline {
    fill: none;
    stroke: #07E5A2;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.suc-page .suc-heading {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    color: #1C405D;
    margin: 0 0 16px;
    letter-spacing: -0.5px;
}

.suc-page .suc-sub {
    font-size: 16px;
    line-height: 1.8;
    color: #1C405D;
    opacity: 0.75;
    margin: 0 0 48px;
}

.suc-page .suc-divider {
    width: 48px;
    height: 3px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    border-radius: 3px;
    margin: 0 auto 48px;
}

.suc-page .suc-detail {
    background: #E7E7E7;
    border-radius: 14px;
    padding: 24px 32px;
    margin: 0 0 48px;
    text-align: left;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
}

.suc-page .suc-detail .suc-detail-label {
    font-size: 15px;
    font-weight: 600;
    color: #1C405D;
    line-height: 1.2;
    margin: 0 0 8px;
}

.suc-page .suc-detail .suc-detail-text {
    font-size: 15px;
    line-height: 1.8;
    color: #1C405D;
    opacity: 0.7;
    margin: 0;
}

.suc-page .suc-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.suc-page .suc-btn-primary {
    display: inline-block;
    padding: 16px 32px;
    background: linear-gradient(to right, #07E5A2, #1C405D);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    box-shadow: -1px 5px 14px -1px rgba(7, 229, 162, 0.08);
    transition: box-shadow 0.25s ease-out, background-position 0.2s ease-out;
    background-size: 200% 100%;
    background-position: 0% 50%;
}

.suc-page .suc-btn-primary:hover {
    background-position: 100% 50%;
    box-shadow: -1px 10px 48px -1px rgba(7, 229, 162, 0.11);
}

.suc-page .suc-btn-primary:focus {
    outline: 2px solid #07E5A2;
    outline-offset: 3px;
}

.suc-page .suc-btn-secondary {
    display: inline-block;
    padding: 16px 32px;
    background: transparent;
    color: #1C405D;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    border: 2px solid #1C405D;
    cursor: pointer;
    transition: background 0.2s ease-out, color 0.2s ease-out;
}

.suc-page .suc-btn-secondary:hover {
    background: #1C405D;
    color: #ffffff;
}

.suc-page .suc-btn-secondary:focus {
    outline: 2px solid #07E5A2;
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .suc-page {
        padding: 48px 16px;
    }

    .suc-page .suc-heading {
        font-size: 24px;
    }

    .suc-page .suc-detail {
        padding: 24px 16px;
    }

    .suc-page .suc-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .suc-page .suc-btn-primary,
    .suc-page .suc-btn-secondary {
        text-align: center;
    }
}

@media (max-width: 360px) {
    .suc-page .suc-heading {
        font-size: 20px;
    }

    .suc-page .suc-sub {
        font-size: 15px;
    }
}