.services-page {
    background: #ffffff;
    padding-top: 58px;
}

.service-page-navigation {
    display: none;
}

body.service-empty-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.service-empty-page .services-page {
    box-sizing: border-box;
    display: flex;
    flex: 1 0 auto;
    min-height: 0;
    padding-top: 0;
}

.service-empty-state {
    align-items: center;
    background: linear-gradient(180deg, #f8faff 0%, #f3f6fc 100%);
    display: flex;
    flex: 1;
    min-height: 0;
    padding: 64px 0;
    text-align: center;
    width: 100%;
}

.service-empty-state-content {
    max-width: 720px;
    padding: 40px 24px;
}

.service-empty-state span {
    color: var(--brand-blue);
    display: block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.service-empty-state h1 {
    color: #171717;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 18px;
}

.service-empty-state p {
    color: #5a5a5a;
    font-size: 17px;
    line-height: 1.8;
    margin: 0 auto 30px;
    max-width: 620px;
}

.service-hero {
    background: var(--brand-blue-dark);
    height: 510px;
    overflow: hidden;
    position: relative;
}

.service-hero-image {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.service-hero-overlay {
    background: linear-gradient(90deg, rgba(3, 20, 65, 0.72), rgba(3, 20, 65, 0.2));
    inset: 0;
    position: absolute;
}

.service-hero-content {
    align-items: center;
    display: flex;
    inset: 0;
    position: absolute;
    z-index: 1;
}

.service-hero-content > div {
    max-width: 650px;
}

.service-hero-content span {
    color: rgba(255, 255, 255, 0.84);
    display: block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 13px;
    text-transform: uppercase;
}

.service-hero-content h1 {
    color: #ffffff;
    font-size: 50px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 18px;
}

.service-hero-content p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 17px;
    line-height: 1.8;
    margin: 0;
    max-width: 610px;
}

.service-content {
    padding: 100px 0 112px;
}

.service-rich-content {
    color: #5a5a5a;
    font-size: 15px;
    line-height: 1.9;
}

.service-rich-content > :first-child {
    margin-top: 0;
}

.service-rich-content > :last-child {
    margin-bottom: 0;
}

.service-rich-content h2,
.service-rich-content h3,
.service-rich-content h4 {
    color: #171717;
    font-weight: 800;
    line-height: 1.3;
}

.service-rich-content h2 {
    font-size: 30px;
    margin: 0 0 20px;
}

.service-rich-content h3 {
    font-size: 22px;
    margin: 28px 0 15px;
}

.service-rich-content h4 {
    font-size: 18px;
    margin: 24px 0 12px;
}

.service-rich-content p,
.service-rich-content ul,
.service-rich-content ol,
.service-rich-content blockquote,
.service-rich-content table {
    margin-bottom: 20px;
}

.service-rich-content ul,
.service-rich-content ol {
    padding-left: 22px;
}

.service-rich-content li + li {
    margin-top: 8px;
}

.service-rich-content blockquote {
    border-left: 4px solid var(--brand-blue);
    color: #343a40;
    padding: 10px 0 10px 20px;
}

.service-rich-content a {
    color: var(--brand-blue);
    text-decoration: underline;
}

.service-rich-content img {
    display: block;
    height: auto;
    max-width: 100%;
}

.service-rich-content iframe {
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
    width: 100%;
}

.service-rich-content .article-table-responsive {
    margin: 28px 0;
    overflow-x: auto;
}

.service-rich-content table {
    border-collapse: collapse;
    min-width: 640px;
    width: 100%;
}

.service-rich-content th,
.service-rich-content td {
    border: 1px solid #dfe3ea;
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
}

.service-rich-content th {
    background: #f2f5fb;
    color: #171717;
}

.service-rich-content .article-layout {
    align-items: center;
    display: grid;
    gap: clamp(48px, 7vw, 100px);
    margin: 0;
}

.service-rich-content .article-layout + .article-layout {
    margin-top: 104px;
}

.service-rich-content .article-layout--media-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.service-rich-content .article-layout--media-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.service-rich-content .article-layout--media-right > .article-layout__media {
    order: 2;
}

.service-rich-content .article-layout--media-right > .article-layout__copy {
    order: 1;
}

.service-rich-content .article-layout--media-wide {
    display: block;
}

.service-rich-content .article-layout--media-wide > .article-layout__copy {
    margin-top: 24px;
}

.service-rich-content .article-layout--media-pair {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-rich-content .article-layout__item,
.service-rich-content .article-layout__media,
.service-rich-content .article-layout__copy {
    min-width: 0;
}

.service-rich-content .article-layout__item > .article-layout__copy {
    margin-top: 16px;
}

.service-rich-content .article-layout__media {
    background: #e8ebf0;
    min-height: 410px;
    overflow: hidden;
}

.service-rich-content .article-layout__media:empty::after {
    content: "";
    display: block;
    min-height: 410px;
}

.service-rich-content .article-layout__media img {
    height: 410px;
    object-fit: cover;
    transition: transform 0.35s ease;
    width: 100%;
}

.service-rich-content .article-layout:hover > .article-layout__media img {
    transform: scale(1.015);
}

.service-rich-content .article-layout__media iframe {
    min-height: 410px;
}

.service-rich-content .article-layout__copy > :last-child {
    margin-bottom: 0;
}

.service-cta {
    background: #f2f5fb;
    padding: 64px 0;
}

.service-cta-layout {
    align-items: center;
    display: flex;
    gap: 40px;
    justify-content: space-between;
}

.service-cta h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px;
}

.service-cta p {
    color: #5a5a5a;
    margin: 0;
}

.service-cta-button {
    align-items: center;
    background: var(--brand-blue);
    border: 2px solid var(--brand-blue);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 800;
    justify-content: center;
    min-height: 46px;
    padding: 9px 24px;
}

.service-cta-button:hover,
.service-cta-button:focus {
    background: var(--brand-blue-dark);
    border-color: var(--brand-blue-dark);
    color: #ffffff;
}

@media (max-width: 991.98px) {
    .services-page {
        padding-top: 0;
    }

    .service-page-navigation {
        background: linear-gradient(100deg, var(--brand-blue), var(--brand-blue-dark));
        box-shadow: 0 9px 22px rgba(0, 20, 89, 0.14);
        display: block;
        position: sticky;
        top: 66px;
        z-index: 1020;
    }

    .service-page-navigation-list {
        align-items: stretch;
        display: flex;
        gap: 26px;
        min-height: 58px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding: 0 18px;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .service-page-navigation-list::-webkit-scrollbar {
        display: none;
    }

    .service-page-navigation-link {
        align-items: center;
        color: rgba(255, 255, 255, 0.88);
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 12px;
        font-weight: 800;
        min-height: 58px;
        position: relative;
        white-space: nowrap;
    }

    .service-page-navigation-link::after {
        background: #ffffff;
        bottom: 8px;
        content: "";
        height: 2px;
        left: 0;
        position: absolute;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.2s ease;
        width: 100%;
    }

    .service-page-navigation-link:hover,
    .service-page-navigation-link:focus,
    .service-page-navigation-link.active {
        color: #ffffff;
    }

    .service-page-navigation-link:hover::after,
    .service-page-navigation-link:focus::after,
    .service-page-navigation-link.active::after {
        transform: scaleX(1);
    }

    .service-hero {
        height: 420px;
    }

    .service-hero-content h1 {
        font-size: 42px;
    }

    .service-content {
        padding: 76px 0 88px;
    }

    .service-rich-content .article-layout {
        gap: 38px;
    }

    .service-rich-content .article-layout + .article-layout {
        margin-top: 76px;
    }

    .service-rich-content .article-layout__media,
    .service-rich-content .article-layout__media:empty::after,
    .service-rich-content .article-layout__media img,
    .service-rich-content .article-layout__media iframe {
        min-height: 350px;
    }

    .service-rich-content .article-layout__media img {
        height: 350px;
    }
}

@media (max-width: 767.98px) {
    .service-empty-state {
        padding: 40px 0;
    }

    .service-empty-state-content {
        padding: 40px 24px;
    }

    .service-empty-state h1 {
        font-size: 34px;
    }

    .service-empty-state p {
        font-size: 15px;
    }

    .service-hero {
        height: 340px;
    }

    .service-hero-overlay {
        background: rgba(3, 20, 65, 0.58);
    }

    .service-hero-content h1 {
        font-size: 34px;
        margin-bottom: 13px;
    }

    .service-hero-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .service-content {
        padding: 58px 0 68px;
    }

    .service-rich-content {
        font-size: 14px;
    }

    .service-rich-content .article-layout--media-left,
    .service-rich-content .article-layout--media-right,
    .service-rich-content .article-layout--media-pair {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .service-rich-content .article-layout + .article-layout {
        margin-top: 62px;
    }

    .service-rich-content .article-layout--media-right > .article-layout__media,
    .service-rich-content .article-layout--media-right > .article-layout__copy {
        order: initial;
    }

    .service-rich-content .article-layout__media,
    .service-rich-content .article-layout__media:empty::after,
    .service-rich-content .article-layout__media iframe {
        min-height: 300px;
    }

    .service-rich-content .article-layout__media img {
        height: 300px;
    }

    .service-rich-content h2 {
        font-size: 25px;
        margin-bottom: 14px;
    }

    .service-cta {
        padding: 48px 0;
    }

    .service-cta-layout {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }

    .service-cta h2 {
        font-size: 24px;
    }
}

@media (max-width: 420px) {
    .service-hero {
        height: 310px;
    }

    .service-hero-content h1 {
        font-size: 30px;
    }

    .service-rich-content .article-layout__media,
    .service-rich-content .article-layout__media:empty::after,
    .service-rich-content .article-layout__media iframe {
        min-height: 250px;
    }

    .service-rich-content .article-layout__media img {
        height: 250px;
    }
}
