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

*,
*::before,
*::after {
    box-sizing: inherit;
}

html,
body {
    margin: 0;
}

body {
    position: relative;
    min-height: 100vh;
    font-family: 'Roboto', sans-serif;
}

.hd-root {
    background: #fff;
    border-bottom: 2px solid #D0CADB;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    overflow: visible;
}

.hd-accent-bar {
    background: linear-gradient(90deg, #184661 0%, #2a6a92 60%, #ACA3B7 100%);
    height: 4px;
    width: 100%;
}

.hd-body {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 48px;
    align-items: center;
    min-height: 110px;
}

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

.hd-logo-pill {
    background: #184661;
    border-radius: 42px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05), 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    border: 2px solid #ACA3B7;
}

.hd-logo-pill img {
    display: block;
    object-fit: contain;
}

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

.hd-company-name {
    font-size: 23px;
    font-weight: 700;
    color: #184661;
    line-height: 1.2;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.hd-tagline {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.hd-divider {
    width: 1px;
    height: 60px;
    background: linear-gradient(180deg, transparent, #D0CADB 30%, #D0CADB 70%, transparent);
    flex-shrink: 0;
    margin-left: 8px;
}

.hd-right-zone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.hd-proof-strip {
    display: flex;
    align-items: center;
    gap: 16px;
}

.hd-proof-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #184661;
    line-height: 1.6;
}

.hd-proof-item i {
    color: #ACA3B7;
    font-size: 15px;
}

.hd-proof-sep {
    width: 4px;
    height: 4px;
    border-radius: 2px;
    background: #D0CADB;
    flex-shrink: 0;
}

.hd-nav-mount {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.hd-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
}

.hd-nav-list li {
    flex-shrink: 0;
}

.hd-nav-link {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    color: #184661;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 7px;
    border: 2px solid transparent;
    line-height: 1.6;
    letter-spacing: 0.01em;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.1s cubic-bezier(0.4, 0, 1, 1), background 0.1s cubic-bezier(0.4, 0, 1, 1);
    white-space: nowrap;
}

.hd-nav-link:hover {
    background: #f4f2f7;
    border-color: #D0CADB;
    color: #184661;
}

.hd-nav-link:focus {
    outline: none;
    color: #fff;
    background: #184661;
    border-color: #184661;
}

.hd-nav-link-active {
    background: #184661;
    color: #fff;
    border-color: #184661;
}

.hd-nav-link-active:hover {
    background: #184661;
    color: #fff;
    border-color: #184661;
}

@media (max-width: 1024px) {
    .hd-body {
        gap: 32px;
        padding: 0 16px;
    }

    .hd-proof-strip {
        display: none;
    }
}

@media (max-width: 768px) {
    .hd-body {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 16px;
        gap: 16px;
    }

    .hd-right-zone {
        align-items: flex-start;
    }

    .hd-nav-list {
        justify-content: flex-start;
    }

    .hd-tagline {
        display: none;
    }
}

@media (max-width: 375px) {
    .hd-company-name {
        font-size: 19px;
    }

    .hd-nav-link {
        font-size: 15px;
        padding: 8px 8px;
    }
}

.ft-root {
    background: #fff;
    border-top: 4px solid #184661;
}

.ft-upper {
    background: linear-gradient(135deg, #184661 0%, #1e5575 100%);
    padding: 48px 32px;
}

.ft-upper-shell {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 96px;
    align-items: start;
}

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

.ft-desc {
    font-size: 15px;
    color: #D0CADB;
    line-height: 1.9;
    letter-spacing: 0.01em;
}

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

.ft-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #D0CADB;
    line-height: 1.6;
}

.ft-contact-item i {
    color: #ACA3B7;
    font-size: 15px;
    flex-shrink: 0;
}

.ft-contact-link {
    color: #D0CADB;
    text-decoration: none;
    transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ft-contact-link:hover {
    color: #fff;
}

.ft-contact-link:focus {
    outline: none;
    color: #184661;
    background: #fff;
    border-radius: 2px;
}

.ft-links-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.ft-links-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ft-group-label {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(172, 163, 183, 0.3);
}

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

.ft-link-item a {
    font-size: 15px;
    color: #ACA3B7;
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ft-link-item a:hover {
    color: #fff;
}

.ft-link-item a:focus {
    outline: none;
    color: #184661;
    background: #fff;
    border-radius: 2px;
    padding: 0 4px;
}

.ft-lower {
    background: #0f2e3f;
    padding: 16px 32px;
}

.ft-lower-shell {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.ft-copy {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
}

.ft-logo-anchor {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ft-logo-pill {
    background: #fff;
    border-radius: 42px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05), 0 6px 20px -1px rgba(24, 70, 97, 0.10);
    border: 2px solid #D0CADB;
}

.ft-logo-pill img {
    display: block;
    object-fit: contain;
}

.ft-legal-nav {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.ft-legal-link {
    font-size: 15px;
    color: #ACA3B7;
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ft-legal-link:hover {
    color: #fff;
}

.ft-legal-link:focus {
    outline: none;
    color: #0f2e3f;
    background: #fff;
    border-radius: 2px;
    padding: 0 4px;
}

@media (max-width: 1024px) {
    .ft-upper-shell {
        gap: 48px;
    }

    .ft-links-col {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .ft-upper {
        padding: 32px 16px;
    }

    .ft-upper-shell {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .ft-lower {
        padding: 16px;
    }

    .ft-lower-shell {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .ft-logo-anchor {
        align-self: flex-end;
    }
}

@media (max-width: 375px) {
    .ft-links-col {
        grid-template-columns: 1fr;
    }
}

.v-doc-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 48px;
}

.v-doc-content h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #184661;
    margin-bottom: 48px;
    padding-bottom: 32px;
    border-bottom: 2px solid #D0CADB;
}

.v-doc-content h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin-top: 48px;
    margin-bottom: 16px;
}

.v-doc-content h3 {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: -0.005em;
    color: #184661;
    margin-top: 32px;
    margin-bottom: 16px;
}

.v-doc-content h4 {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #184661;
    margin-top: 32px;
    margin-bottom: 8px;
}

.v-doc-content h5 {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #184661;
    margin-top: 16px;
    margin-bottom: 8px;
}

.v-doc-content h6 {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.03em;
    color: #ACA3B7;
    margin-top: 16px;
    margin-bottom: 8px;
}

.v-doc-content p {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.01em;
    color: #2c3e50;
    margin-bottom: 16px;
}

.v-doc-content ul,
.v-doc-content ol {
    margin: 16px 0 32px 0;
    padding-left: 32px;
}

.v-doc-content ul {
    list-style: none;
    padding-left: 0;
}

.v-doc-content ul li {
    position: relative;
    padding-left: 32px;
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.01em;
    color: #2c3e50;
    margin-bottom: 8px;
}

.v-doc-content ul li::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 13px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background-color: #ACA3B7;
}

.v-doc-content ol {
    list-style: decimal;
}

.v-doc-content ol li {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.01em;
    color: #2c3e50;
    margin-bottom: 8px;
    padding-left: 8px;
}

.v-doc-content ol li::marker {
    color: #184661;
    font-size: 15px;
}

.v-doc-content ul ul,
.v-doc-content ol ol,
.v-doc-content ul ol,
.v-doc-content ol ul {
    margin: 8px 0 8px 16px;
}

.v-doc-content strong,
.v-doc-content b {
    font-weight: 700;
    color: #184661;
}

.v-doc-content em,
.v-doc-content i {
    font-style: italic;
    color: #3a5a70;
}

.v-doc-content a {
    color: #184661;
    text-decoration: underline;
    text-decoration-color: #ACA3B7;
    text-underline-offset: 3px;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), text-decoration-color 0.1s ease-in;
}

.v-doc-content a:hover {
    color: #ACA3B7;
    text-decoration-color: #184661;
}

.v-doc-content div {
    margin-bottom: 16px;
}

.v-doc-content div+div {
    margin-top: 8px;
}

@media (max-width: 1024px) {
    .v-doc-content {
        padding: 96px 48px;
    }

    .v-doc-content h1 {
        font-size: 58px;
    }
}

@media (max-width: 768px) {
    .v-doc-content {
        padding: 48px 32px;
    }

    .v-doc-content h1 {
        font-size: 23px;
        margin-bottom: 32px;
        padding-bottom: 16px;
    }

    .v-doc-content h2 {
        font-size: 19px;
        margin-top: 32px;
    }

    .v-doc-content h3 {
        font-size: 16px;
        margin-top: 32px;
    }

    .v-doc-content h4,
    .v-doc-content h5,
    .v-doc-content h6 {
        font-size: 15px;
    }

    .v-doc-content p,
    .v-doc-content ul li,
    .v-doc-content ol li {
        font-size: 15px;
    }

    .v-doc-content ul,
    .v-doc-content ol {
        margin-bottom: 16px;
    }
}

@media (max-width: 375px) {
    .v-doc-content {
        padding: 32px 16px;
    }

    .v-doc-content h1 {
        font-size: 23px;
    }

    .v-doc-content ul li {
        padding-left: 24px;
    }

    .v-doc-content ul li::before {
        left: 4px;
    }
}

.srvdet {
    background: #fff;
    color: #1b2a35;
    overflow-x: clip;
    position: relative;
}

.srvdet .load-fade {
    opacity: 0;
    animation: fadeLoad 0.18s cubic-bezier(0.4, 0, 1, 1) forwards;
}

.srvdet .load-fade.d1 {
    animation-delay: 0.05s;
}

.srvdet .load-fade.d2 {
    animation-delay: 0.1s;
}

.srvdet .load-fade.d3 {
    animation-delay: 0.15s;
}

.srvdet .load-fade.d4 {
    animation-delay: 0.2s;
}

@keyframes fadeLoad {
    to {
        opacity: 1;
    }
}

.srvdet .geo-bg {
    position: fixed;
    top: 10vh;
    right: -120px;
    width: 340px;
    height: 340px;
    border: 1.5px solid rgba(24, 70, 97, 0.07);
    border-radius: 7px;
    animation: slowSpin 28s linear infinite;
    pointer-events: none;
    z-index: 0;
}

.srvdet .geo-bg::before {
    content: '';
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(172, 163, 183, 0.1);
    border-radius: 7px;
}

@keyframes slowSpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.srvdet .pg-bound {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 1;
}

.srvdet .breadcrumb-row {
    padding: 16px 0 8px;
}

.srvdet .breadcrumb-row nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.srvdet .breadcrumb-row nav a {
    font-size: 15px;
    color: #184661;
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.srvdet .breadcrumb-row nav a:hover {
    color: #ACA3B7;
}

.srvdet .breadcrumb-row nav .bc-sep {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
}

.srvdet .breadcrumb-row nav .bc-cur {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
}

.srvdet .title-blk {
    padding: 96px 0 48px;
    position: relative;
    overflow: hidden;
}

.srvdet .title-blk .repeat-pat {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at top right, rgba(24, 70, 97, 0.06) 0%, transparent 60%),
        repeating-linear-gradient(0deg,
            transparent,
            transparent 38px,
            rgba(172, 163, 183, 0.07) 38px,
            rgba(172, 163, 183, 0.07) 39px),
        repeating-linear-gradient(90deg,
            transparent,
            transparent 38px,
            rgba(172, 163, 183, 0.05) 38px,
            rgba(172, 163, 183, 0.05) 39px);
    pointer-events: none;
}

.srvdet .title-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
}

.srvdet .title-text-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvdet .tag-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.srvdet .cat-tag {
    font-size: 15px;
    color: #184661;
    background: rgba(24, 70, 97, 0.07);
    border: 1px solid rgba(24, 70, 97, 0.15);
    border-radius: 2px;
    padding: 4px 16px;
    line-height: 1.6;
    letter-spacing: 0.06em;
}

.srvdet .user-tag {
    font-size: 15px;
    color: #ACA3B7;
    background: rgba(172, 163, 183, 0.1);
    border: 1px solid rgba(172, 163, 183, 0.25);
    border-radius: 2px;
    padding: 4px 16px;
    line-height: 1.6;
    letter-spacing: 0.06em;
}

.srvdet .page-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.srvdet .sub-caption {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

.srvdet .sub-caption .cap-line {
    width: 48px;
    height: 1px;
    background: #184661;
    flex-shrink: 0;
}

.srvdet .sub-caption span {
    font-size: 15px;
    color: #184661;
    letter-spacing: 0.12em;
    line-height: 1.6;
}

.srvdet .meta-chips {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
}

.srvdet .meta-chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #1b2a35;
    line-height: 1.6;
}

.srvdet .meta-chip i {
    color: #184661;
    font-size: 15px;
}

.srvdet .title-img-col {
    position: relative;
}

.srvdet .img-border-wrap {
    position: relative;
    border-radius: 7px;
    overflow: hidden;
}

.srvdet .img-border-wrap::before {
    content: '';
    position: absolute;
    inset: -8px;
    border: 1.5px solid rgba(24, 70, 97, 0.18);
    border-radius: 7px;
    z-index: 2;
    pointer-events: none;
}

.srvdet .img-border-wrap::after {
    content: '';
    position: absolute;
    inset: -16px;
    border: 1px solid rgba(172, 163, 183, 0.15);
    border-radius: 7px;
    z-index: 1;
    pointer-events: none;
}

.srvdet .img-border-wrap img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    border-radius: 7px;
    filter: contrast(1.03) saturate(0.92);
    transition: filter 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.srvdet .img-border-wrap:hover img {
    filter: contrast(1.05) saturate(1.0);
}

.srvdet .like-badge {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(24, 70, 97, 0.12);
    border-radius: 26px;
    padding: 8px 16px;
    font-size: 15px;
    color: #184661;
    z-index: 3;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.srvdet .like-badge i {
    color: #184661;
}

.srvdet .divider-blur {
    height: 48px;
    background: linear-gradient(to bottom, rgba(208, 202, 219, 0.18), rgba(208, 202, 219, 0.04));
    filter: blur(4px);
    margin: 0;
}

.srvdet .pricing-trust-blk {
    padding: 48px 0 96px;
    position: relative;
}

.srvdet .pt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.srvdet .pt-col {
    padding: 48px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvdet .pt-col.primary-bg {
    background: #184661;
    color: #fff;
}

.srvdet .pt-col.neutral-bg {
    background: #f4f2f7;
    color: #1b2a35;
}

.srvdet .pt-col.accent-bg {
    background: rgba(208, 202, 219, 0.3);
    color: #1b2a35;
}

.srvdet .pt-col .col-label {
    font-size: 15px;
    letter-spacing: 0.1em;
    line-height: 1.6;
    opacity: 0.7;
}

.srvdet .pt-col.primary-bg .col-label {
    opacity: 0.65;
    color: #D0CADB;
}

.srvdet .price-big {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #fff;
}

.srvdet .price-note-txt {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
}

.srvdet .price-terms {
    font-size: 15px;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.85);
}

.srvdet .trust-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvdet .trust-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
}

.srvdet .trust-icon {
    width: 32px;
    height: 32px;
    background: rgba(24, 70, 97, 0.08);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.srvdet .trust-icon i {
    color: #184661;
    font-size: 15px;
}

.srvdet .trust-item-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.srvdet .trust-item-text strong {
    font-size: 15px;
    line-height: 1.6;
    color: #1b2a35;
}

.srvdet .trust-item-text span {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
}

.srvdet .enroll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #fff;
    color: #184661;
    border: none;
    border-radius: 26px;
    padding: 16px 32px;
    font-size: 16px;
    line-height: 1.6;
    cursor: pointer;
    width: fit-content;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    transition: padding 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s ease-in;
    font-weight: 600;
}

.srvdet .enroll-btn:hover {
    padding: 16px 48px;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.srvdet .enroll-btn:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.srvdet .seats-notice {
    font-size: 15px;
    color: #D0CADB;
    line-height: 1.6;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.srvdet .seats-notice i {
    font-size: 15px;
}

.srvdet .pyramid-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}

.srvdet .pyramid-layer {
    border-radius: 2px;
    padding: 8px 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #1b2a35;
    text-align: center;
    transition: opacity 0.12s ease-in;
}

.srvdet .pyramid-layer:hover {
    opacity: 0.75;
}

.srvdet .pyramid-layer.lv1 {
    background: rgba(24, 70, 97, 0.85);
    color: #fff;
    align-self: center;
    width: 55%;
}

.srvdet .pyramid-layer.lv2 {
    background: rgba(24, 70, 97, 0.6);
    color: #fff;
    align-self: center;
    width: 72%;
}

.srvdet .pyramid-layer.lv3 {
    background: rgba(24, 70, 97, 0.4);
    color: #fff;
    align-self: center;
    width: 88%;
}

.srvdet .pyramid-layer.lv4 {
    background: rgba(172, 163, 183, 0.35);
    color: #1b2a35;
    width: 100%;
}

.srvdet .pyramid-label {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

.srvdet .divider-line {
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(172, 163, 183, 0.3), transparent);
    margin: 0;
}

.srvdet .program-blk {
    padding: 96px 0 48px;
    background: #f4f2f7;
    position: relative;
}

.srvdet .program-blk .bg-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(24, 70, 97, 0.05) 0%, transparent 55%);
    pointer-events: none;
}

.srvdet .prog-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 48px;
    align-items: start;
}

.srvdet .prog-aside {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px;
}

.srvdet .prog-aside-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #184661;
    line-height: 1.6;
}

.srvdet .prog-aside-h {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvdet .readtime-chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
}

.srvdet .readtime-chip i {
    color: #184661;
}

.srvdet .prog-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvdet .prog-body h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvdet .prog-body h3 {
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -0.005em;
    color: #184661;
    margin: 0;
}

.srvdet .prog-body p {
    font-size: 16px;
    line-height: 1.9;
    color: #1b2a35;
    margin: 0;
}

.srvdet .prog-body strong {
    color: #184661;
}

.srvdet .prog-body ol {
    margin: 0;
    padding-left: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.srvdet .prog-body ol li {
    font-size: 16px;
    line-height: 1.9;
    color: #1b2a35;
}

.srvdet .prog-body blockquote {
    border-left: none;
    background: rgba(24, 70, 97, 0.05);
    border-radius: 7px;
    padding: 16px 32px;
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: #184661;
}

.srvdet .prog-body details {
    background: rgba(172, 163, 183, 0.12);
    border-radius: 7px;
    padding: 16px;
}

.srvdet .prog-body details summary {
    font-size: 16px;
    line-height: 1.6;
    color: #184661;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.srvdet .prog-body details summary::-webkit-details-marker {
    display: none;
}

.srvdet .prog-body details[open] summary {
    margin-bottom: 8px;
}

.srvdet .prog-body abbr {
    text-decoration: underline dotted rgba(24, 70, 97, 0.4);
    cursor: help;
    color: #184661;
}

.srvdet .divider-band {
    height: 48px;
    background: linear-gradient(to bottom, #f4f2f7, rgba(208, 202, 219, 0.12), #fff);
    filter: blur(2px);
}

.srvdet .desc-blk {
    padding: 96px 0;
    position: relative;
}

.srvdet .desc-blk .img-parallax-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.srvdet .desc-blk .img-parallax-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(244, 242, 247, 0.92);
    z-index: 1;
}

.srvdet .desc-blk .para-img {
    width: 100%;
    height: 130%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: -15%;
    display: block;
    will-change: transform;
}

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

.srvdet .desc-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvdet .desc-h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvdet .desc-main h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvdet .desc-main p {
    font-size: 16px;
    line-height: 1.9;
    color: #1b2a35;
    margin: 0;
}

.srvdet .desc-main em {
    color: #184661;
    font-style: normal;
    font-weight: 600;
}

.srvdet .desc-main ul {
    margin: 0;
    padding-left: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.srvdet .desc-main ul li {
    font-size: 16px;
    line-height: 1.9;
    color: #1b2a35;
}

.srvdet .desc-main dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.srvdet .desc-main dt {
    font-size: 16px;
    line-height: 1.6;
    color: #184661;
    font-weight: 600;
}

.srvdet .desc-main dd {
    font-size: 16px;
    line-height: 1.9;
    color: #1b2a35;
    margin-left: 16px;
}

.srvdet .desc-side {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.srvdet .contact-cta-card {
    background: #184661;
    border-radius: 7px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.srvdet .contact-cta-card .card-h {
    font-size: 19px;
    line-height: 1.2;
    color: #fff;
    margin: 0;
}

.srvdet .contact-cta-card p {
    font-size: 15px;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.srvdet .contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #fff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 26px;
    padding: 8px 32px;
    transition: padding 0.1s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s ease-in;
    width: fit-content;
}

.srvdet .contact-link:hover {
    padding: 8px 48px;
    border-color: rgba(255, 255, 255, 0.7);
}

.srvdet .contact-link:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.srvdet .about-card {
    background: rgba(208, 202, 219, 0.2);
    border-radius: 7px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border: 1px solid rgba(172, 163, 183, 0.2);
}

.srvdet .about-card .card-h {
    font-size: 19px;
    line-height: 1.2;
    color: #184661;
    margin: 0;
}

.srvdet .about-card p {
    font-size: 15px;
    line-height: 1.9;
    color: #1b2a35;
    margin: 0;
}

.srvdet .about-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #184661;
    text-decoration: none;
    border: 1px solid rgba(24, 70, 97, 0.3);
    border-radius: 26px;
    padding: 8px 32px;
    transition: padding 0.1s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s ease-in;
    width: fit-content;
}

.srvdet .about-link:hover {
    padding: 8px 48px;
    border-color: #184661;
}

.srvdet .about-link:focus {
    outline: 2px solid #184661;
    outline-offset: 3px;
}

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

    .srvdet .pt-grid {
        grid-template-columns: 1fr;
    }

    .srvdet .prog-layout {
        grid-template-columns: 1fr;
    }

    .srvdet .prog-aside {
        position: static;
    }

    .srvdet .desc-layout {
        grid-template-columns: 1fr;
    }
}

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

    .srvdet .title-blk {
        padding: 48px 0 32px;
    }

    .srvdet .page-h1 {
        font-size: 23px;
    }

    .srvdet .price-big {
        font-size: 23px;
    }

    .srvdet .pt-col {
        padding: 32px 16px;
    }

    .srvdet .program-blk {
        padding: 48px 0 32px;
    }

    .srvdet .desc-blk {
        padding: 48px 0;
    }

    .srvdet .geo-bg {
        display: none;
    }
}

@media (max-width: 375px) {
    .srvdet .page-h1 {
        font-size: 19px;
    }

    .srvdet .meta-chips {
        flex-direction: column;
        gap: 8px;
    }
}

.abt-us {
    overflow-x: clip;
    position: relative;
}

.abt-us .schema-data {
    display: none;
}

.abt-us .pg-lead {
    background: #fff;
    padding: 96px 32px 96px;
    position: relative;
    overflow: hidden;
}

.abt-us .pg-lead::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle at top right, rgba(24, 70, 97, 0.07), transparent 70%);
    pointer-events: none;
}

.abt-us .pg-lead::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: 60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle at top right, rgba(172, 163, 183, 0.09), transparent 70%);
    pointer-events: none;
}

.abt-us .pg-lead .lead-orb-a {
    position: absolute;
    top: 32px;
    left: 18%;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle at top right, rgba(208, 202, 219, 0.13), transparent 70%);
    pointer-events: none;
}

.abt-us .pg-lead .lead-orb-b {
    position: absolute;
    bottom: 48px;
    right: 22%;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle at top right, rgba(24, 70, 97, 0.06), transparent 70%);
    pointer-events: none;
}

.abt-us .lead-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 96px;
}

.abt-us .lead-text-col {
    flex: 1 1 0;
    min-width: 0;
}

.abt-us .lead-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #184661;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.2;
    padding: 4px 16px;
    border: 1px solid rgba(24, 70, 97, 0.18);
    border-radius: 2px;
}

.abt-us .lead-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 0 0 32px;
    background: linear-gradient(135deg, #184661, #ACA3B7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    overflow: hidden;
}

.abt-us .lead-h1 .word-a {
    display: inline-block;
    animation: splitRevealL 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

.abt-us .lead-h1 .word-b {
    display: inline-block;
    animation: splitRevealR 0.16s cubic-bezier(0.4, 0, 1, 1) 0.08s both;
}

@keyframes splitRevealL {
    from {
        transform: translateX(-18px);
        opacity: 0;
    }

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

@keyframes splitRevealR {
    from {
        transform: translateX(18px);
        opacity: 0;
    }

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

.abt-us .lead-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2a3d4a;
    margin: 0 0 32px;
    max-width: 520px;
}

.abt-us .lead-desc-micro {
    font-size: 16px;
    line-height: 1.6;
    color: #4a5c68;
    margin: 0;
    max-width: 500px;
}

.abt-us .lead-visual-col {
    flex: 0 0 420px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.abt-us .lead-img-frame {
    position: relative;
    border-radius: 7px;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.abt-us .lead-img-frame img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .lead-img-frame .grain-layer {
    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.07'/%3E%3C/svg%3E");
    pointer-events: none;
    border-radius: 7px;
}

.abt-us .lead-badge {
    position: absolute;
    bottom: -16px;
    left: -16px;
    background: #184661;
    color: #fff;
    border-radius: 7px;
    padding: 16px;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    min-width: 140px;
}

.abt-us .lead-badge .badge-num {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    display: block;
    margin-bottom: 4px;
}

.abt-us .lead-badge .badge-lbl {
    font-size: 15px;
    line-height: 1.2;
    opacity: 0.78;
}

.abt-us .lead-wavy {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 18px;
    pointer-events: none;
}

.abt-us .lead-divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #184661 0%, transparent 60%);
    margin: 0;
    border: none;
}

.abt-us .story-panel {
    background: #f4f2f7;
    padding: 96px 32px;
    position: relative;
    overflow: hidden;
}

.abt-us .story-panel .tri-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.abt-us .story-panel .tri-bg svg {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.10;
    width: 480px;
    height: 480px;
}

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

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

.abt-us .story-lbl {
    font-size: 15px;
    letter-spacing: 0.10em;
    color: #ACA3B7;
    text-transform: uppercase;
    line-height: 1.2;
}

.abt-us .story-h2 {
    font-size: 23px;
    line-height: 1.6;
    letter-spacing: -0.01em;
    margin: 0;
    background: linear-gradient(135deg, #184661, #ACA3B7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

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

.abt-us .story-body .micro {
    font-size: 19px;
    line-height: 1.6;
    color: #1e2d38;
    margin: 0;
    font-weight: 600;
}

.abt-us .story-body .para {
    font-size: 16px;
    line-height: 1.9;
    color: #3a4e5c;
    margin: 0;
}

.abt-us .story-metrics {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap;
}

.abt-us .metric-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    background: #fff;
    border-radius: 7px;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    min-width: 120px;
    flex: 1 1 0;
}

.abt-us .metric-item .met-val {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #184661;
}

.abt-us .metric-item .met-lbl {
    font-size: 15px;
    line-height: 1.2;
    color: #ACA3B7;
}

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

.abt-us .story-img-stack {
    position: relative;
    height: 380px;
}

.abt-us .story-img-main {
    position: absolute;
    top: 0;
    right: 0;
    width: 78%;
    height: 300px;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.abt-us .story-img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .story-img-sec {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 52%;
    height: 220px;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
    border: 4px solid #f4f2f7;
}

.abt-us .story-img-sec img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .team-strip {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: stretch;
}

.abt-us .team-card {
    background: #fff;
    border-radius: 7px;
    padding: 16px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    flex: 1 1 0;
    min-width: 0;
}

.abt-us .team-portrait {
    width: 56px;
    height: 74px;
    border-radius: 7px;
    overflow: hidden;
    flex-shrink: 0;
}

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

.abt-us .team-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.abt-us .team-name {
    font-size: 16px;
    line-height: 1.2;
    color: #184661;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.abt-us .team-role {
    font-size: 15px;
    line-height: 1.2;
    color: #ACA3B7;
}

.abt-us .story-wavy {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 18px;
    pointer-events: none;
}

.abt-us .story-divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #ACA3B7 0%, transparent 55%);
    border: none;
    margin: 0;
}

.abt-us .code-block-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: stretch;
    background: #1a2e3a;
    border-radius: 7px;
    overflow: hidden;
    padding: 16px;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.abt-us .code-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.abt-us .code-line {
    font-size: 15px;
    line-height: 1.9;
    color: #ACA3B7;
    font-family: monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.abt-us .code-line .kw {
    color: #D0CADB;
}

.abt-us .code-line .val {
    color: #a8d8ea;
}

.abt-us .code-sep {
    width: 1px;
    background: rgba(172, 163, 183, 0.2);
    flex-shrink: 0;
}

.abt-us .output-col {
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.abt-us .output-lbl {
    font-size: 15px;
    line-height: 1.2;
    color: rgba(172, 163, 183, 0.6);
    font-family: monospace;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.abt-us .output-val {
    font-size: 19px;
    line-height: 1.2;
    color: #fff;
    font-family: monospace;
}

.abt-us .output-bar {
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(to right, #184661, #ACA3B7);
}

@media (max-width: 1024px) {
    .abt-us .lead-inner {
        flex-direction: column;
        gap: 48px;
    }

    .abt-us .lead-visual-col {
        flex: 0 0 auto;
        width: 100%;
    }

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

    .abt-us .story-img-stack {
        height: 280px;
    }

    .abt-us .story-img-main {
        width: 70%;
        height: 220px;
    }

    .abt-us .story-img-sec {
        width: 48%;
        height: 180px;
    }
}

@media (max-width: 768px) {
    .abt-us .pg-lead {
        padding: 48px 16px 64px;
    }

    .abt-us .lead-h1 {
        font-size: 23px;
    }

    .abt-us .lead-inner {
        gap: 32px;
    }

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

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

    .abt-us .story-metrics {
        gap: 16px;
    }

    .abt-us .team-strip {
        flex-direction: column;
    }

    .abt-us .code-block-row {
        flex-direction: column;
    }

    .abt-us .output-col {
        flex: 0 0 auto;
        width: 100%;
    }

    .abt-us .code-sep {
        width: 100%;
        height: 1px;
    }

    .abt-us .story-img-stack {
        height: 240px;
    }

    .abt-us .story-img-main {
        height: 180px;
    }

    .abt-us .story-img-sec {
        height: 140px;
    }
}

@media (max-width: 375px) {
    .abt-us .lead-h1 {
        font-size: 19px;
    }

    .abt-us .pg-lead {
        padding: 32px 16px 48px;
    }

    .abt-us .story-panel {
        padding: 32px 16px;
    }

    .abt-us .story-metrics {
        flex-direction: column;
    }
}

.srvs-pg {
    display: block;
    width: 100%;
    overflow-x: hidden;
    background: #fff;
}

.srvs-pg .clip-reveal {
    animation: clipDown 0.18s cubic-bezier(0.4, 0, 1, 1) both;
}

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

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

.srvs-pg .fade-up {
    animation: fadeUp 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

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

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

.srvs-pg .pg-lead {
    position: relative;
    padding: 96px 32px 48px;
    background: radial-gradient(circle at 100% 0%, rgba(24, 70, 97, 0.13) 0%, transparent 62%);
    overflow: hidden;
}

.srvs-pg .pg-lead::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(160deg, rgba(208, 202, 219, 0.12) 0%, transparent 55%);
    pointer-events: none;
}

.srvs-pg .pg-lead-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.srvs-pg .pg-lead-text {
    flex: 1 1 0;
}

.srvs-pg .lead-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.08em;
    color: #184661;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.srvs-pg .lead-eyebrow .diamond {
    width: 7px;
    height: 7px;
    background: #ACA3B7;
    transform: rotate(45deg);
    display: inline-block;
    flex-shrink: 0;
}

.srvs-pg .lead-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #184661 30%, #ACA3B7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvs-pg .lead-sub {
    font-size: 19px;
    line-height: 1.6;
    color: #2e4f62;
    max-width: 520px;
    margin: 0 0 32px;
}

.srvs-pg .lead-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.srvs-pg .lead-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.srvs-pg .lead-stat-num {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    letter-spacing: -0.02em;
}

.srvs-pg .lead-stat-label {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    letter-spacing: 0.04em;
}

.srvs-pg .lead-divider {
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, transparent, #D0CADB, transparent);
}

.srvs-pg .lead-bg-num {
    position: absolute;
    right: 48px;
    top: 32px;
    font-size: 200px;
    line-height: 1;
    color: rgba(24, 70, 97, 0.04);
    letter-spacing: -0.05em;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

.srvs-pg .lead-img-wrap {
    flex: 0 0 340px;
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.srvs-pg .lead-img-wrap img {
    width: 340px;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: blur(0px);
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 60%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 60%, transparent 100%);
}

.srvs-pg .divider-asym {
    display: flex;
    flex-direction: row;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    gap: 8px;
}

.srvs-pg .divider-asym .short-line {
    width: 32px;
    height: 1px;
    background: #ACA3B7;
}

.srvs-pg .divider-asym .long-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, #ACA3B7, transparent);
}

.srvs-pg .cards-area {
    padding: 48px 32px 96px;
    background: #fff;
}

.srvs-pg .cards-area-inner {
    max-width: 1400px;
    margin: 0 auto;
}

.srvs-pg .cards-area-header {
    margin-bottom: 48px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}

.srvs-pg .cards-area-h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
}

.srvs-pg .cards-area-note {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    margin: 0;
}

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

.srvs-pg .svc-card {
    border-radius: 7px;
    border: 1px solid #D0CADB;
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    transition: box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.1s ease-in, transform 0.12s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden;
}

.srvs-pg .card-grid:hover .svc-card {
    filter: blur(0.5px);
    opacity: 0.85;
    transition: filter 0.12s ease-in, opacity 0.12s ease-in;
}

.srvs-pg .card-grid:hover .svc-card:hover {
    filter: blur(0px);
    opacity: 1;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
    border-color: #ACA3B7;
    transform: translateY(-2px);
}

.srvs-pg .card-img-wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    border-radius: 7px 7px 0 0;
    position: relative;
}

.srvs-pg .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.srvs-pg .svc-card:hover .card-img-wrap img {
    transform: scale(1.03);
}

.srvs-pg .card-img-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(24, 70, 97, 0.08) 0%, rgba(172, 163, 183, 0.15) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.srvs-pg .card-img-placeholder .ph-icon {
    width: 48px;
    height: 48px;
    opacity: 0.3;
}

.srvs-pg .card-tag-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 16px 0;
    flex-wrap: wrap;
}

.srvs-pg .card-tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    color: #184661;
    background: rgba(24, 70, 97, 0.07);
    border-radius: 2px;
    padding: 0 8px;
    letter-spacing: 0.04em;
}

.srvs-pg .card-level {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    border: 1px solid #D0CADB;
    border-radius: 2px;
    padding: 0 8px;
    letter-spacing: 0.03em;
}

.srvs-pg .card-body {
    padding: 16px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.srvs-pg .card-title {
    font-size: 19px;
    line-height: 1.2;
    color: #184661;
    margin: 0;
    letter-spacing: -0.01em;
}

.srvs-pg .card-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a4f5e;
    margin: 0;
    flex: 1;
}

.srvs-pg .card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 8px;
}

.srvs-pg .card-meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
}

.srvs-pg .card-meta-item i {
    font-size: 13px;
    color: #ACA3B7;
}

.srvs-pg .card-foot {
    border-top: 1px solid #D0CADB;
    padding: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.srvs-pg .card-price-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.srvs-pg .card-price {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    letter-spacing: -0.02em;
}

.srvs-pg .card-price-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
}

.srvs-pg .card-price-note {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    font-style: italic;
}

.srvs-pg .card-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #184661;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    border-radius: 7px;
    padding: 8px 16px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.1s ease-in, padding 0.12s cubic-bezier(0.4, 0, 1, 1);
    white-space: nowrap;
}

.srvs-pg .card-cta:hover {
    background: #1a5577;
    padding: 8px 24px;
}

.srvs-pg .card-cta:focus {
    outline: 2px solid #184661;
    outline-offset: 2px;
}

.srvs-pg .card-likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #ACA3B7;
}

.srvs-pg .card-likes i {
    font-size: 14px;
}

.srvs-pg .card-seats {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #184661;
}

.srvs-pg .card-seats i {
    font-size: 13px;
}

.srvs-pg .card-diag-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    border-radius: 7px;
}

.srvs-pg .card-diag-line::after {
    content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 1px;
    height: 200%;
    background: linear-gradient(to bottom, transparent, rgba(172, 163, 183, 0.18), transparent);
    transform: rotate(-35deg);
    transform-origin: top right;
}

.srvs-pg .card-readtime {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #ACA3B7;
}

.srvs-pg .sep-diamond {
    display: inline-block;
    width: 5px;
    height: 5px;
    background: #D0CADB;
    transform: rotate(45deg);
    flex-shrink: 0;
}

.srvs-pg .web-chart-section {
    padding: 96px 32px;
    background: rgba(24, 70, 97, 0.03);
    position: relative;
}

.srvs-pg .web-chart-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 96px;
}

.srvs-pg .web-chart-text {
    flex: 1 1 0;
}

.srvs-pg .web-chart-h2 {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
    background: linear-gradient(120deg, #184661 30%, #ACA3B7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvs-pg .web-chart-p {
    font-size: 16px;
    line-height: 1.6;
    color: #2e4f62;
    margin: 0 0 32px;
}

.srvs-pg .web-chart-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvs-pg .web-chart-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #2e4f62;
}

.srvs-pg .web-chart-list li .dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #184661;
    flex-shrink: 0;
}

.srvs-pg .web-chart-list li .dot.sec {
    background: #ACA3B7;
}

.srvs-pg .web-chart-list li .dot.ter {
    background: #D0CADB;
}

.srvs-pg .radar-wrap {
    flex: 0 0 360px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.srvs-pg .radar-svg {
    width: 360px;
    height: 360px;
}

.srvs-pg .experts-section {
    padding: 96px 32px;
    background: #fff;
    position: relative;
}

.srvs-pg .experts-inner {
    max-width: 1400px;
    margin: 0 auto;
}

.srvs-pg .experts-header {
    margin-bottom: 48px;
}

.srvs-pg .experts-h2 {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    margin: 0 0 8px;
    background: linear-gradient(120deg, #184661 30%, #ACA3B7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvs-pg .experts-sub {
    font-size: 16px;
    line-height: 1.6;
    color: #ACA3B7;
    margin: 0;
}

.srvs-pg .experts-layout {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: flex-start;
}

.srvs-pg .experts-sidebar {
    flex: 0 0 280px;
    background: rgba(24, 70, 97, 0.05);
    border-radius: 7px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.srvs-pg .expert-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.srvs-pg .expert-portrait {
    width: 96px;
    height: 120px;
    border-radius: 26px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.srvs-pg .expert-portrait img {
    width: 96px;
    height: 120px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.srvs-pg .expert-name {
    font-size: 16px;
    line-height: 1.2;
    color: #184661;
    margin: 0;
}

.srvs-pg .expert-role {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    margin: 0;
}

.srvs-pg .expert-quote {
    font-size: 15px;
    line-height: 1.6;
    color: #2e4f62;
    margin: 0;
    font-style: italic;
}

.srvs-pg .expert-sep {
    height: 1px;
    background: linear-gradient(to right, transparent, #D0CADB, transparent);
}

.srvs-pg .experts-main {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.srvs-pg .orbit-block {
    position: relative;
    width: 100%;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.srvs-pg .orbit-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
    border-radius: 42px;
    background: #184661;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.srvs-pg .orbit-center-label {
    font-size: 15px;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    padding: 8px;
}

.srvs-pg .orbit-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 300px;
    height: 300px;
    transform: translate(-50%, -50%);
    border-radius: 42px;
    border: 1px dashed rgba(172, 163, 183, 0.4);
    pointer-events: none;
}

.srvs-pg .orbit-item {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.srvs-pg .orbit-item-icon {
    width: 48px;
    height: 48px;
    border-radius: 7px;
    background: #fff;
    border: 1px solid #D0CADB;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    transition: border-color 0.1s ease-in, box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.srvs-pg .orbit-item-icon i {
    font-size: 19px;
    color: #184661;
}

.srvs-pg .orbit-item:hover .orbit-item-icon {
    border-color: #184661;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.srvs-pg .orbit-item-label {
    font-size: 15px;
    line-height: 1.2;
    color: #184661;
    white-space: nowrap;
}

.srvs-pg .orbit-item-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    white-space: nowrap;
}

.srvs-pg .orbit-item:nth-child(3) {
    left: calc(50% - 24px);
    top: 0;
}

.srvs-pg .orbit-item:nth-child(4) {
    right: 0;
    top: calc(50% - 28px);
}

.srvs-pg .orbit-item:nth-child(5) {
    left: calc(50% - 24px);
    bottom: 0;
}

.srvs-pg .orbit-item:nth-child(6) {
    left: 0;
    top: calc(50% - 28px);
}

.srvs-pg .orbit-item:nth-child(7) {
    right: 40px;
    top: 32px;
}

.srvs-pg .orbit-item:nth-child(8) {
    right: 40px;
    bottom: 32px;
}

.srvs-pg .orbit-item:nth-child(9) {
    left: 40px;
    top: 32px;
}

.srvs-pg .faq-section {
    padding: 96px 32px;
    background: rgba(24, 70, 97, 0.03);
}

.srvs-pg .faq-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 96px;
    align-items: flex-start;
}

.srvs-pg .faq-label-col {
    flex: 0 0 240px;
    position: sticky;
    top: 32px;
}

.srvs-pg .faq-h2 {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #184661 30%, #ACA3B7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.srvs-pg .faq-label-p {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    margin: 0;
}

.srvs-pg .faq-list {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvs-pg .faq-item {
    border: 1px solid #D0CADB;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
}

.srvs-pg .faq-q {
    width: 100%;
    background: none;
    border: none;
    padding: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    line-height: 1.6;
    color: #184661;
    transition: background 0.1s ease-in;
}

.srvs-pg .faq-q:hover {
    background: rgba(24, 70, 97, 0.04);
}

.srvs-pg .faq-q:focus {
    outline: 2px solid #184661;
    outline-offset: -2px;
}

.srvs-pg .faq-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid #D0CADB;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.1s ease-in, border-color 0.1s ease-in;
}

.srvs-pg .faq-icon i {
    font-size: 12px;
    color: #184661;
    transition: transform 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.srvs-pg .faq-item.open .faq-icon {
    background: #184661;
    border-color: #184661;
}

.srvs-pg .faq-item.open .faq-icon i {
    color: #fff;
    transform: rotate(45deg);
}

.srvs-pg .faq-ans {
    display: none;
    padding: 0 16px 16px;
    font-size: 15px;
    line-height: 1.9;
    color: #2e4f62;
}

.srvs-pg .faq-item.open .faq-ans {
    display: block;
}

@media (max-width: 1024px) {
    .srvs-pg .pg-lead-inner {
        flex-direction: column;
        gap: 32px;
    }

    .srvs-pg .lead-img-wrap {
        flex: 0 0 auto;
        width: 100%;
        max-width: 400px;
    }

    .srvs-pg .lead-img-wrap img {
        width: 100%;
        height: 280px;
    }

    .srvs-pg .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .srvs-pg .web-chart-inner {
        flex-direction: column;
        gap: 48px;
    }

    .srvs-pg .radar-wrap {
        flex: 0 0 auto;
    }

    .srvs-pg .experts-layout {
        flex-direction: column;
    }

    .srvs-pg .experts-sidebar {
        flex: 0 0 auto;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .srvs-pg .faq-inner {
        flex-direction: column;
        gap: 32px;
    }

    .srvs-pg .faq-label-col {
        flex: 0 0 auto;
        position: static;
    }

    .srvs-pg .orbit-block {
        min-height: 280px;
    }
}

@media (max-width: 768px) {
    .srvs-pg .pg-lead {
        padding: 48px 16px 32px;
    }

    .srvs-pg .lead-h1 {
        font-size: 23px;
    }

    .srvs-pg .lead-sub {
        font-size: 16px;
    }

    .srvs-pg .card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .srvs-pg .cards-area {
        padding: 32px 16px 48px;
    }

    .srvs-pg .web-chart-section {
        padding: 48px 16px;
    }

    .srvs-pg .radar-wrap {
        flex: 0 0 auto;
        width: 100%;
    }

    .srvs-pg .radar-svg {
        width: 280px;
        height: 280px;
    }

    .srvs-pg .experts-section {
        padding: 48px 16px;
    }

    .srvs-pg .faq-section {
        padding: 48px 16px;
    }

    .srvs-pg .lead-bg-num {
        font-size: 100px;
        right: 16px;
    }

    .srvs-pg .orbit-block {
        min-height: 240px;
    }

    .srvs-pg .orbit-ring {
        width: 220px;
        height: 220px;
    }

    .srvs-pg .orbit-center {
        width: 90px;
        height: 90px;
    }

    .srvs-pg .orbit-item:nth-child(3) {
        left: calc(50% - 24px);
        top: 0;
    }

    .srvs-pg .orbit-item:nth-child(4) {
        right: 0;
        top: calc(50% - 28px);
    }

    .srvs-pg .orbit-item:nth-child(5) {
        left: calc(50% - 24px);
        bottom: 0;
    }

    .srvs-pg .orbit-item:nth-child(6) {
        left: 0;
        top: calc(50% - 28px);
    }

    .srvs-pg .orbit-item:nth-child(7) {
        right: 20px;
        top: 20px;
    }

    .srvs-pg .orbit-item:nth-child(8) {
        right: 20px;
        bottom: 20px;
    }

    .srvs-pg .orbit-item:nth-child(9) {
        left: 20px;
        top: 20px;
    }
}

@media (max-width: 375px) {
    .srvs-pg .lead-h1 {
        font-size: 19px;
    }

    .srvs-pg .card-foot {
        flex-direction: column;
        align-items: flex-start;
    }

    .srvs-pg .lead-meta-row {
        gap: 16px;
    }
}

.ptl-root {
    overflow-x: hidden;
}

.ptl-root .ptl-title {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    padding: 96px 0;
    max-width: 100%;
    position: relative;
    background: #fff;
}

.ptl-root .ptl-title-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 96px 48px 96px 96px;
    position: relative;
    z-index: 2;
}

.ptl-root .ptl-title-bg-num {
    position: absolute;
    top: 50%;
    left: 48px;
    transform: translateY(-50%);
    font-size: 320px;
    line-height: 1.2;
    color: #184661;
    opacity: 0.04;
    font-weight: 900;
    letter-spacing: -0.04em;
    user-select: none;
    pointer-events: none;
    z-index: 0;
}

.ptl-root .ptl-title-text {
    position: relative;
    z-index: 1;
}

.ptl-root .ptl-brand-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.08em;
    color: #184661;
    border: 1px solid #ACA3B7;
    border-radius: 2px;
    padding: 4px 16px;
    margin-bottom: 32px;
    text-transform: uppercase;
}

.ptl-root .ptl-h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #ACA3B7, #184661);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 32px 0;
}

.ptl-root .ptl-title-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2d3e4a;
    margin: 0 0 48px 0;
    max-width: 480px;
}

.ptl-root .ptl-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.ptl-root .ptl-btn-primary {
    display: inline-block;
    padding: 16px 32px;
    background: #184661;
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    border-radius: 7px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: width 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.1s ease-in, padding 0.12s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05), 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.ptl-root .ptl-btn-primary:hover {
    background: #0f2f42;
    padding: 16px 40px;
}

.ptl-root .ptl-btn-primary:focus {
    outline: 2px solid #184661;
    outline-offset: 3px;
}

.ptl-root .ptl-btn-secondary {
    display: inline-block;
    padding: 16px 32px;
    background: transparent;
    color: #184661;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    border-radius: 7px;
    text-decoration: none;
    border: 1.5px solid #184661;
    cursor: pointer;
    transition: padding 0.14s cubic-bezier(0.4, 0, 1, 1), border-color 0.1s ease-in;
}

.ptl-root .ptl-btn-secondary:hover {
    padding: 16px 40px;
    border-color: #ACA3B7;
}

.ptl-root .ptl-btn-secondary:focus {
    outline: 2px solid #184661;
    outline-offset: 3px;
}

.ptl-root .ptl-title-right {
    position: relative;
    overflow: hidden;
    border-radius: 0 2px 2px 0;
}

.ptl-root .ptl-title-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .ptl-title-vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, transparent 40%, rgba(24, 70, 97, 0.45) 100%);
    pointer-events: none;
}

.ptl-root .ptl-wave-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff;
}

.ptl-root .ptl-wave-divider svg {
    display: block;
    width: 100%;
}

.ptl-root .ptl-outcomes {
    background: #f4f2f7;
    padding: 96px 0;
    position: relative;
}

.ptl-root .ptl-outcomes-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 96px;
}

.ptl-root .ptl-outcomes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.ptl-root .ptl-outcomes-img-wrap {
    position: relative;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.ptl-root .ptl-outcomes-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .ptl-fib-deco {
    position: absolute;
    bottom: -32px;
    right: -32px;
    width: 180px;
    height: 180px;
    opacity: 0.07;
    pointer-events: none;
}

.ptl-root .ptl-outcomes-text {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ptl-root .ptl-section-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #ACA3B7;
    text-transform: uppercase;
}

.ptl-root .ptl-h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    background: linear-gradient(135deg, #ACA3B7, #184661);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.ptl-root .ptl-outcomes-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ptl-root .ptl-outcomes-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 16px;
    line-height: 1.6;
    color: #2d3e4a;
}

.ptl-root .ptl-outcomes-list li .ptl-li-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 7px;
    background: #184661;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.ptl-root .ptl-outcomes-list li .ptl-li-icon i {
    color: #fff;
    font-size: 15px;
}

.ptl-root .ptl-outcomes-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ptl-root .ptl-metric {
    background: #fff;
    border: 1px solid #D0CADB;
    border-radius: 7px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ptl-root .ptl-metric-val {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    font-weight: 700;
}

.ptl-root .ptl-metric-label {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
}

.ptl-root .ptl-wave2 {
    background: #f4f2f7;
}

.ptl-root .ptl-experience {
    background: #184661;
    padding: 96px 0;
    position: relative;
    overflow: hidden;
}

.ptl-root .ptl-experience-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 96px;
    position: relative;
    z-index: 2;
}

.ptl-root .ptl-experience-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 96px;
    align-items: start;
}

.ptl-root .ptl-portrait-wrap {
    position: relative;
}

.ptl-root .ptl-portrait-frame {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(172, 163, 183, 0.10);
}

.ptl-root .ptl-portrait-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .ptl-portrait-bracket {
    position: absolute;
    top: -16px;
    left: -16px;
    width: 48px;
    height: 48px;
    border-top: 3px solid #ACA3B7;
    border-left: 3px solid #ACA3B7;
    border-radius: 2px;
    pointer-events: none;
}

.ptl-root .ptl-portrait-bracket-br {
    position: absolute;
    bottom: -16px;
    right: -16px;
    width: 48px;
    height: 48px;
    border-bottom: 3px solid #ACA3B7;
    border-right: 3px solid #ACA3B7;
    border-radius: 2px;
    pointer-events: none;
}

.ptl-root .ptl-experience-text {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 16px;
}

.ptl-root .ptl-section-label-light {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #ACA3B7;
    text-transform: uppercase;
}

.ptl-root .ptl-h2-light {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #fff;
    margin: 0;
}

.ptl-root .ptl-quote-block {
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.06);
    padding: 32px;
    position: relative;
}

.ptl-root .ptl-quote-mark {
    font-size: 58px;
    line-height: 1.2;
    color: #ACA3B7;
    opacity: 0.4;
    position: absolute;
    top: 8px;
    left: 24px;
    font-style: normal;
}

.ptl-root .ptl-quote-text {
    font-size: 19px;
    line-height: 1.6;
    color: #D0CADB;
    margin: 0;
    padding-top: 32px;
}

.ptl-root .ptl-quote-attr {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
    letter-spacing: 0.04em;
}

.ptl-root .ptl-quote-attr strong {
    color: #fff;
}

.ptl-root .ptl-experience-para {
    font-size: 16px;
    line-height: 1.9;
    color: #D0CADB;
    margin: 0;
}

.ptl-root .ptl-exp-deco {
    position: absolute;
    top: -48px;
    right: -48px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle at top right, rgba(172, 163, 183, 0.08), transparent 70%);
    pointer-events: none;
    z-index: 1;
}

.ptl-root .ptl-wave3 {
    background: #184661;
}

.ptl-root .ptl-audience {
    background: #fff;
    padding: 96px 0;
}

.ptl-root .ptl-audience-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 96px;
}

.ptl-root .ptl-audience-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px;
}

.ptl-root .ptl-audience-heading {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ptl-root .ptl-audience-intro {
    font-size: 16px;
    line-height: 1.9;
    color: #2d3e4a;
    margin: 0;
}

.ptl-root .ptl-audience-img-wrap {
    border-radius: 7px;
    overflow: hidden;
}

.ptl-root .ptl-audience-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .ptl-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ptl-root .ptl-fit-card {
    border: 1px solid #D0CADB;
    border-radius: 7px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ptl-root .ptl-fit-card:hover {
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.ptl-root .ptl-fit-card.good {
    background: #f4f2f7;
}

.ptl-root .ptl-fit-card.notgood {
    background: #fff;
}

.ptl-root .ptl-fit-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.ptl-root .ptl-fit-label.good {
    color: #184661;
}

.ptl-root .ptl-fit-label.notgood {
    color: #ACA3B7;
}

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

.ptl-root .ptl-fit-items li {
    font-size: 16px;
    line-height: 1.6;
    color: #2d3e4a;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.ptl-root .ptl-fit-items li i {
    margin-top: 3px;
    flex-shrink: 0;
    font-size: 15px;
}

.ptl-root .ptl-fit-items li i.good {
    color: #184661;
}

.ptl-root .ptl-fit-items li i.notgood {
    color: #ACA3B7;
}

.ptl-root .ptl-wave4 {
    background: #fff;
}

.ptl-root .ptl-longterm {
    background: #f4f2f7;
    padding: 96px 0;
    position: relative;
}

.ptl-root .ptl-longterm-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 96px;
}

.ptl-root .ptl-longterm-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: center;
}

.ptl-root .ptl-longterm-text {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ptl-root .ptl-longterm-para {
    font-size: 16px;
    line-height: 1.9;
    color: #2d3e4a;
    margin: 0;
}

.ptl-root .ptl-pillars {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ptl-root .ptl-pillar {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-radius: 7px;
    border: 1px solid #D0CADB;
    transition: box-shadow 0.16s ease-in;
}

.ptl-root .ptl-pillar:hover {
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.ptl-root .ptl-pillar-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 7px;
    background: #184661;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ptl-root .ptl-pillar-icon i {
    color: #fff;
    font-size: 16px;
}

.ptl-root .ptl-pillar-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ptl-root .ptl-pillar-title {
    font-size: 16px;
    line-height: 1.6;
    color: #184661;
    font-weight: 600;
    margin: 0;
}

.ptl-root .ptl-pillar-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #2d3e4a;
    margin: 0;
}

.ptl-root .ptl-longterm-img-col {
    position: relative;
}

.ptl-root .ptl-longterm-img-wrap {
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
}

.ptl-root .ptl-longterm-img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ptl-root .ptl-longterm-badge {
    position: absolute;
    bottom: 32px;
    left: -32px;
    background: #fff;
    border: 1px solid #D0CADB;
    border-radius: 7px;
    padding: 16px 32px;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 160px;
}

.ptl-root .ptl-badge-num {
    font-size: 23px;
    line-height: 1.2;
    color: #184661;
    font-weight: 700;
}

.ptl-root .ptl-badge-text {
    font-size: 15px;
    line-height: 1.6;
    color: #ACA3B7;
}

.ptl-root .ptl-pulse {
    animation: ptl-pulse-anim 2.8s cubic-bezier(0.4, 0, 1, 1) infinite;
}

@keyframes ptl-pulse-anim {

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

    50% {
        transform: scale(1.02);
    }
}

@media (max-width: 1024px) {
    .ptl-root .ptl-title {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .ptl-root .ptl-title-left {
        padding: 96px 48px;
        order: 2;
    }

    .ptl-root .ptl-title-right {
        order: 1;
        height: 320px;
        border-radius: 2px;
    }

    .ptl-root .ptl-title-bg-num {
        font-size: 180px;
    }

    .ptl-root .ptl-outcomes-inner,
    .ptl-root .ptl-experience-inner,
    .ptl-root .ptl-audience-inner,
    .ptl-root .ptl-longterm-inner {
        padding: 0 48px;
    }

    .ptl-root .ptl-outcomes-grid {
        grid-template-columns: 1fr;
    }

    .ptl-root .ptl-outcomes-img {
        height: 320px;
    }

    .ptl-root .ptl-experience-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ptl-root .ptl-portrait-frame {
        max-width: 280px;
    }

    .ptl-root .ptl-audience-top {
        grid-template-columns: 1fr;
    }

    .ptl-root .ptl-longterm-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ptl-root .ptl-longterm-badge {
        left: 0;
        bottom: 16px;
    }
}

@media (max-width: 768px) {
    .ptl-root .ptl-title-left {
        padding: 48px 32px;
    }

    .ptl-root .ptl-h1 {
        font-size: 23px;
    }

    .ptl-root .ptl-outcomes,
    .ptl-root .ptl-experience,
    .ptl-root .ptl-audience,
    .ptl-root .ptl-longterm {
        padding: 48px 0;
    }

    .ptl-root .ptl-outcomes-inner,
    .ptl-root .ptl-experience-inner,
    .ptl-root .ptl-audience-inner,
    .ptl-root .ptl-longterm-inner {
        padding: 0 32px;
    }

    .ptl-root .ptl-fit-grid {
        grid-template-columns: 1fr;
    }

    .ptl-root .ptl-outcomes-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .ptl-root .ptl-actions {
        flex-direction: column;
    }

    .ptl-root .ptl-longterm-img {
        height: 320px;
    }
}

@media (max-width: 375px) {
    .ptl-root .ptl-title-left {
        padding: 32px 16px;
    }

    .ptl-root .ptl-outcomes-inner,
    .ptl-root .ptl-experience-inner,
    .ptl-root .ptl-audience-inner,
    .ptl-root .ptl-longterm-inner {
        padding: 0 16px;
    }

    .ptl-root .ptl-outcomes-metrics {
        grid-template-columns: 1fr;
    }
}

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

.ctus .top-band {
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #184661 0%, #ACA3B7 60%, #D0CADB 100%);
}

.ctus .anchor-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative;
}

.ctus .anchor-visual {
    position: relative;
    overflow: hidden;
}

.ctus .anchor-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    will-change: transform;
    transform: translateY(0px);
    transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .anchor-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(24, 70, 97, 0.38);
    pointer-events: none;
}

.ctus .anchor-visual .grain-layer {
    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");
    pointer-events: none;
    opacity: 0.35;
    z-index: 2;
}

.ctus .anchor-visual .circles-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.ctus .anchor-visual .circles-bg span {
    position: absolute;
    border-radius: 42px;
    border: 1px solid rgba(208, 202, 219, 0.18);
}

.ctus .anchor-visual .circles-bg span:nth-child(1) {
    width: 320px;
    height: 320px;
    top: -80px;
    right: -60px;
    border-radius: 42px;
    opacity: 0.5;
}

.ctus .anchor-visual .circles-bg span:nth-child(2) {
    width: 200px;
    height: 200px;
    bottom: 48px;
    left: 32px;
    border-radius: 42px;
    opacity: 0.3;
}

.ctus .anchor-visual .circles-bg span:nth-child(3) {
    width: 120px;
    height: 120px;
    top: 50%;
    right: 32px;
    border-radius: 26px;
    opacity: 0.25;
}

.ctus .anchor-text {
    background: radial-gradient(circle at top right, rgba(172, 163, 183, 0.12) 0%, transparent 70%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 96px 48px 96px 48px;
    position: relative;
}

.ctus .anchor-text .dot-label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.ctus .anchor-text .dot-label .dot {
    width: 8px;
    height: 8px;
    border-radius: 42px;
    background: #184661;
    flex-shrink: 0;
}

.ctus .anchor-text .dot-label span {
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #184661;
    line-height: 1.2;
    text-transform: uppercase;
}

.ctus .anchor-text h1 {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 0 0 16px 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ctus .anchor-text .desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2c4a5a;
    margin: 0 0 32px 0;
    max-width: 420px;
}

.ctus .anchor-text .desc strong {
    color: #184661;
}

.ctus .anchor-text .contact-quick {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ctus .anchor-text .contact-quick .cq-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

.ctus .anchor-text .contact-quick .cq-icon {
    width: 40px;
    height: 40px;
    border-radius: 7px;
    background: #184661;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.ctus .anchor-text .contact-quick .cq-icon i {
    color: #fff;
    font-size: 16px;
}

.ctus .anchor-text .contact-quick .cq-detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctus .anchor-text .contact-quick .cq-label {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.2;
    letter-spacing: 0.04em;
}

.ctus .anchor-text .contact-quick .cq-val {
    font-size: 16px;
    color: #184661;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .anchor-text .contact-quick .cq-val:hover {
    color: #ACA3B7;
}

.ctus .mid-band {
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #D0CADB 0%, #ACA3B7 50%, #184661 100%);
}

.ctus .form-block {
    background: radial-gradient(circle at top right, rgba(208, 202, 219, 0.18) 0%, rgba(255, 255, 255, 0) 65%);
    position: relative;
    padding: 96px 0;
    overflow: hidden;
}

.ctus .form-block .stripe-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: repeating-linear-gradient(90deg,
            rgba(172, 163, 183, 0.06) 0px,
            rgba(172, 163, 183, 0.06) 1px,
            transparent 1px,
            transparent 48px);
}

.ctus .form-block .form-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 96px;
    position: relative;
    z-index: 1;
}

.ctus .form-block .form-meta {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px;
}

.ctus .form-block .form-meta h2 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7 0%, #184661 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ctus .form-block .form-meta .meta-note {
    font-size: 16px;
    line-height: 1.6;
    color: #2c4a5a;
    margin: 0;
}

.ctus .form-block .form-meta .meta-hours {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #D0CADB;
    padding-top: 32px;
}

.ctus .form-block .form-meta .hours-label {
    font-size: 15px;
    color: #ACA3B7;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
}

.ctus .form-block .form-meta .hours-val {
    font-size: 16px;
    color: #184661;
    line-height: 1.6;
    font-weight: 700;
}

.ctus .form-block .form-meta .hours-sub {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.6;
}

.ctus .form-area {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ctus .form-area form {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ctus .form-area .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ctus .form-area .field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ctus .form-area .field-group.full {
    grid-column: 1 / -1;
}

.ctus .form-area label {
    font-size: 15px;
    color: #184661;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.ctus .form-area .input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.ctus .form-area .input-wrap i {
    position: absolute;
    left: 16px;
    color: #ACA3B7;
    font-size: 15px;
    pointer-events: none;
    z-index: 1;
}

.ctus .form-area .input-wrap input,
.ctus .form-area .input-wrap select {
    width: 100%;
    padding: 16px 16px 16px 44px;
    border: 1.5px solid #D0CADB;
    border-radius: 7px;
    font-size: 16px;
    color: #184661;
    background: #fff;
    line-height: 1.6;
    outline: none;
    transition: border-color 0.14s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    -webkit-appearance: none;
    appearance: none;
}

.ctus .form-area .input-wrap input::placeholder {
    color: #ACA3B7;
}

.ctus .form-area .input-wrap input:focus,
.ctus .form-area .input-wrap select:focus {
    border-color: #184661;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.ctus .form-area .input-wrap select {
    cursor: pointer;
}

.ctus .form-area .select-arrow {
    position: absolute;
    right: 16px;
    pointer-events: none;
    z-index: 1;
}

.ctus .form-area .select-arrow svg {
    display: block;
}

.ctus .form-area .radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ctus .form-area .radio-group-label {
    font-size: 15px;
    color: #184661;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 700;
    margin-bottom: 4px;
}

.ctus .form-area .radio-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.ctus .form-area .radio-opt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1.5px solid #D0CADB;
    border-radius: 26px;
    cursor: pointer;
    transition: border-color 0.1s cubic-bezier(0.4, 0, 1, 1), background 0.1s cubic-bezier(0.4, 0, 1, 1);
    background: #fff;
}

.ctus .form-area .radio-opt:hover {
    border-color: #ACA3B7;
    background: rgba(208, 202, 219, 0.12);
}

.ctus .form-area .radio-opt input[type="radio"] {
    accent-color: #184661;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.ctus .form-area .radio-opt span {
    font-size: 15px;
    color: #184661;
    line-height: 1.2;
}

.ctus .form-area .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border: 1.5px solid #D0CADB;
    border-radius: 7px;
    background: rgba(208, 202, 219, 0.08);
}

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

.ctus .form-area .privacy-row .privacy-text {
    font-size: 15px;
    color: #2c4a5a;
    line-height: 1.6;
}

.ctus .form-area .privacy-row .privacy-text a {
    color: #184661;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #ACA3B7;
    text-underline-offset: 2px;
    transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .form-area .privacy-row .privacy-text a:hover {
    color: #ACA3B7;
}

.ctus .form-area .submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 48px;
    background: #184661;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    align-self: flex-start;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
    transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), padding 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.ctus .form-area .submit-btn:hover {
    background: #0f2f42;
    padding: 16px 56px;
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.16);
}

.ctus .form-area .submit-btn:focus {
    outline: 2px solid #184661;
    outline-offset: 3px;
}

.ctus .form-area .submit-btn:active {
    background: #184661;
}

.ctus .form-area .submit-btn i {
    font-size: 15px;
}

@keyframes fadein-up {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

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

.ctus .form-block .form-inner .form-meta {
    animation: fadein-up 0.16s cubic-bezier(0.4, 0, 1, 1) both;
    animation-delay: 0.04s;
}

.ctus .form-block .form-inner .form-area {
    animation: fadein-up 0.16s cubic-bezier(0.4, 0, 1, 1) both;
    animation-delay: 0.1s;
}

@media (max-width: 1024px) {
    .ctus .anchor-block {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .ctus .anchor-visual {
        height: 280px;
        order: -1;
    }

    .ctus .anchor-text {
        padding: 48px 32px;
    }

    .ctus .anchor-text h1 {
        font-size: 23px;
    }

    .ctus .anchor-text .desc {
        font-size: 16px;
    }

    .ctus .form-block .form-inner {
        grid-template-columns: 1fr;
        gap: 48px;
        padding: 0 32px;
    }

    .ctus .form-block {
        padding: 48px 0;
    }
}

@media (max-width: 768px) {
    .ctus .anchor-text {
        padding: 32px 16px;
    }

    .ctus .anchor-text h1 {
        font-size: 23px;
    }

    .ctus .form-block .form-inner {
        padding: 0 16px;
        gap: 32px;
    }

    .ctus .form-block {
        padding: 32px 0;
    }

    .ctus .form-area .field-row {
        grid-template-columns: 1fr;
    }

    .ctus .form-area .submit-btn {
        width: 100%;
        padding: 16px 32px;
    }

    .ctus .form-area .submit-btn:hover {
        padding: 16px 40px;
    }
}

@media (max-width: 375px) {
    .ctus .anchor-text h1 {
        font-size: 19px;
    }

    .ctus .form-area .radio-row {
        flex-direction: column;
    }
}

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

.why-us * {
    box-sizing: border-box;
}

.why-us ::selection {
    background: linear-gradient(90deg, #184661, #ACA3B7);
    color: #fff;
}

.why-us .pg-frame {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
}

.why-us .split-block {
    padding: 96px 0 48px;
    background: #fff;
}

.why-us .split-block .pg-frame {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 96px;
}

.why-us .img-col {
    flex: 0 0 40%;
    max-width: 40%;
}

.why-us .img-frame {
    border-radius: 42px;
    overflow: hidden;
    position: relative;
    width: 100%;
    aspect-ratio: 4/5;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.why-us .img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%);
    display: block;
}

.why-us .text-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.why-us .eyebrow {
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #ACA3B7;
    line-height: 1.2;
    text-transform: uppercase;
}

.why-us .main-heading {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7, #184661);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.why-us .lead-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.6;
    color: #184661;
    text-decoration: none;
    border-bottom: 1.5px solid #ACA3B7;
    padding-bottom: 4px;
    width: fit-content;
    transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.1s ease-in;
}

.why-us .lead-link:hover {
    color: #ACA3B7;
    border-color: #184661;
}

.why-us .lead-link:focus {
    outline: 2px solid #184661;
    outline-offset: 4px;
    border-radius: 2px;
}

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

.why-us .arc-divider svg {
    display: block;
    width: 100%;
}

.why-us .reasons-block {
    padding: 48px 0 96px;
    background: linear-gradient(160deg, #f4f2f7 0%, #eaf0f5 100%);
    position: relative;
}

.why-us .reasons-block .pg-frame {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.why-us .reasons-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

.why-us .reasons-label {
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #ACA3B7;
    text-transform: uppercase;
    line-height: 1.2;
}

.why-us .reasons-heading {
    font-size: 23px;
    line-height: 1.6;
    letter-spacing: -0.01em;
    margin: 8px 0 0;
    color: #184661;
    max-width: 480px;
}

.why-us .stat-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: stretch;
}

.why-us .stat-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    border: 1.5px solid #D0CADB;
    transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s ease-in;
}

.why-us .stat-item:hover {
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
    border-color: #ACA3B7;
}

.why-us .stat-num {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #184661;
    font-weight: 700;
}

.why-us .stat-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5a65;
    letter-spacing: 0.01em;
}

.why-us .reasons-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.why-us .reason-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    border: 1.5px solid #D0CADB;
    transition: box-shadow 0.18s cubic-bezier(0.4, 0, 1, 1), transform 0.16s cubic-bezier(0.4, 0, 1, 1), border-color 0.12s ease-in;
    animation: settle-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.why-us .reason-card:nth-child(1) {
    animation-delay: 0.05s;
}

.why-us .reason-card:nth-child(2) {
    animation-delay: 0.1s;
}

.why-us .reason-card:nth-child(3) {
    animation-delay: 0.15s;
}

.why-us .reason-card:nth-child(4) {
    animation-delay: 0.2s;
}

.why-us .reason-card:nth-child(5) {
    animation-delay: 0.25s;
}

.why-us .reason-card:nth-child(6) {
    animation-delay: 0.3s;
}

@keyframes settle-in {
    0% {
        transform: translateY(18px);
        opacity: 0;
    }

    70% {
        transform: translateY(-4px);
        opacity: 1;
    }

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

.why-us .reason-card:hover {
    box-shadow: 0 8px 40px -1px rgba(24, 70, 97, 0.10);
    transform: translateY(-2px);
    border-color: #ACA3B7;
}

.why-us .reason-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: linear-gradient(135deg, rgba(172, 163, 183, 0.15), rgba(24, 70, 97, 0.08));
    flex-shrink: 0;
    position: relative;
}

.why-us .reason-icon i {
    font-size: 19px;
    color: #184661;
}

.why-us .icon-outline {
    position: absolute;
    inset: -3px;
    border-radius: 10px;
    border: 1.5px solid transparent;
    animation: trace-outline 2.5s linear infinite;
    background: linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #184661, #ACA3B7, #184661) border-box;
    background-size: 200% 100%;
}

@keyframes trace-outline {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.why-us .reason-name {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #184661;
    font-weight: 600;
    margin: 0;
    position: relative;
    width: fit-content;
    cursor: default;
}

.why-us .reason-name .alt-text {
    position: absolute;
    top: 0;
    left: 0;
    color: #ACA3B7;
    opacity: 0;
    white-space: nowrap;
    transition: opacity 0.1s ease-in;
    pointer-events: none;
}

.why-us .reason-name .main-text {
    transition: opacity 0.1s ease-in;
    display: block;
}

.why-us .reason-card:hover .reason-name .main-text {
    opacity: 0;
}

.why-us .reason-card:hover .reason-name .alt-text {
    opacity: 1;
}

.why-us .reason-body {
    font-size: 15px;
    line-height: 1.9;
    color: #3a4a55;
    margin: 0;
}

.why-us .img-wide-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
}

.why-us .img-wide-wrap {
    border-radius: 26px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.why-us .img-wide-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.why-us .img-wide-wrap:hover img {
    transform: scale(1.02);
}

.why-us .img-caption-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.why-us .caption-heading {
    font-size: 23px;
    line-height: 1.6;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #ACA3B7, #184661);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.why-us .caption-body {
    font-size: 15px;
    line-height: 1.9;
    color: #3a4a55;
    margin: 0;
}

.why-us .review-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px 32px;
    background: #fff;
    border-radius: 26px;
    border: 1.5px solid #D0CADB;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05);
    width: fit-content;
}

.why-us .review-portrait {
    width: 48px;
    height: 48px;
    border-radius: 42px;
    overflow: hidden;
    flex-shrink: 0;
}

.why-us .review-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.why-us .review-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.why-us .review-quote {
    font-size: 15px;
    line-height: 1.6;
    color: #184661;
    margin: 0;
}

.why-us .review-author {
    font-size: 15px;
    color: #ACA3B7;
    line-height: 1.2;
}

.why-us .arc-divider-up {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: linear-gradient(160deg, #f4f2f7 0%, #eaf0f5 100%);
}

.why-us .arc-divider-up svg {
    display: block;
    width: 100%;
}

@media (max-width: 1024px) {
    .why-us .split-block .pg-frame {
        gap: 48px;
    }

    .why-us .main-heading {
        font-size: 42px;
    }

    .why-us .reasons-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-us .stat-row {
        flex-wrap: wrap;
    }

    .why-us .stat-item {
        flex: 1 1 calc(50% - 16px);
    }
}

@media (max-width: 768px) {
    .why-us .split-block .pg-frame {
        flex-direction: column;
        gap: 32px;
    }

    .why-us .img-col {
        flex: none;
        max-width: 280px;
        width: 100%;
        margin: 0 auto;
    }

    .why-us .main-heading {
        font-size: 42px;
    }

    .why-us .reasons-grid {
        grid-template-columns: 1fr;
    }

    .why-us .stat-row {
        flex-direction: column;
    }

    .why-us .reasons-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .why-us .img-wide-row {
        grid-template-columns: 1fr;
    }

    .why-us .split-block {
        padding: 48px 0 32px;
    }

    .why-us .reasons-block {
        padding: 32px 0 48px;
    }

    .why-us .pg-frame {
        padding: 0 16px;
    }

    .why-us .review-strip {
        width: 100%;
    }
}

@media (max-width: 375px) {
    .why-us .main-heading {
        font-size: 23px;
    }

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

    .why-us .reason-card {
        padding: 16px;
    }

    .why-us .stat-item {
        padding: 16px;
    }
}

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

.success-page .result-wrap {
    max-width: 560px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.success-page .icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 42px;
    background: #f4f2f7;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px -1px rgba(24, 70, 97, 0.08);
}

.success-page .icon-wrap svg {
    display: block;
}

.success-page .result-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.success-page .result-heading {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #184661;
    margin: 0;
    background: linear-gradient(135deg, #184661, #ACA3B7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.success-page .result-note {
    font-size: 16px;
    line-height: 1.6;
    color: #374151;
    margin: 0;
    max-width: 420px;
}

.success-page .divider-line {
    width: 48px;
    height: 2px;
    background: #D0CADB;
    border-radius: 2px;
}

.success-page .result-detail {
    font-size: 15px;
    line-height: 1.9;
    color: #4b5563;
    margin: 0;
    max-width: 400px;
}

.success-page .back-link {
    display: inline-block;
    padding: 16px 32px;
    background: #184661;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
    border-radius: 7px;
    box-shadow: 0 2px 2px -1px rgba(24, 70, 97, 0.05), 0 6px 20px -1px rgba(24, 70, 97, 0.08);
    transition: padding 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.1s ease-in;
}

.success-page .back-link:hover {
    padding: 16px 48px;
    background: #1d5475;
}

.success-page .back-link:focus-visible {
    outline: 2px solid #184661;
    outline-offset: 4px;
}

.success-page .back-link:active {
    background: #122f42;
}

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

    .success-page .result-heading {
        font-size: 19px;
    }
}