.services-page {
    width: 100%;
    overflow: visible;
}

.services-hero-width-container,
.services-category-width-container,
.services-cta-width-container {
    width: 1280px;
    position: relative;
}

/*-----------------------------------*\
  #HERO
\*-----------------------------------*/
.services-hero-section {
    width: 100%;
    min-height: 561px;
    padding: 168px 0 144px;
    display: flex;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.services-hero-title-container {
    width: 879px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
    position: relative;
}

.services-hero-title {
    width: 100%;
    text-align: center;
    text-shadow: 0 4px 20px rgba(234, 234, 234, 0.25);
    font-size: 64px;
    font-weight: var(--medium);
    line-height: 72px;
    letter-spacing: -1.28px;
    background: linear-gradient(270deg, #FFF 28.51%, rgba(236, 236, 236, 0.40) 93.99%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-hero-title-blue {
    background: linear-gradient(270deg, #3D9DE5 28.51%, rgba(177, 218, 248, 0.40) 93.99%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 64px;
    font-weight: var(--medium);
    line-height: 72px;
}

.services-hero-description {
    width: 720px;
    color: rgba(236, 236, 236, 0.65);
    text-align: center;
    font-size: 16px;
    font-weight: var(--regular);
    line-height: 24px;
}

.services-hero-purple-circle {
    width: 200px;
    height: 200px;
    left: 17px;
    top: -56px;
    background: rgba(91, 70, 185, 0.40);
}

.services-hero-blue-circle {
    width: 240px;
    height: 240px;
    right: 0;
    top: 44px;
}

/*-----------------------------------*\
  #STICKY TABS
\*-----------------------------------*/
.services-sticky-tabs-shell {
    width: 100%;
    height: 132px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: sticky;
    top: 80px;
    z-index: 100;
    pointer-events: none;
    transition: background 0.35s ease, border-color 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease, height 0.35s ease;
}

.services-sticky-tabs-shell.is-stuck {
    height: 80px;
    border-bottom: 1px solid rgba(126, 126, 126, 0.15);
    background: linear-gradient(180deg, rgba(7, 11, 19, 0.75) 0%, rgba(7, 12, 19, 0.25) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.services-sticky-tabs-container {
    width: 1440px;
    height: fit-content;
    padding: 24px 0 28px;
    display: flex;
    justify-content: center;
    gap: 24px;
    pointer-events: auto;
    background: linear-gradient(180deg, rgba(1, 7, 19, 0.98) 0%, rgba(1, 7, 19, 0.88) 68%, rgba(1, 7, 19, 0) 100%);
    transition: padding 0.35s ease, gap 0.35s ease, background 0.35s ease;
}

.services-sticky-tabs-shell.is-stuck .services-sticky-tabs-container {
    padding: 12px 0 12px;
    gap: 16px;
    background: transparent;
}

.services-sticky-tab {
    width: 328px;
    height: 80px;
    border-radius: 16px;
    border: 1px solid rgba(126, 126, 126, 0.15);
    box-shadow: 0 0 40px rgba(46, 113, 235, 0.08);
    background: rgba(1, 7, 19, 0.92);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    transition: 0.35s ease;
}

.services-sticky-tabs-shell.is-stuck .services-sticky-tab {
    height: 56px;
    border-radius: 12px;
}

.services-sticky-tab.active,
.services-sticky-tab:is(:hover, :focus-visible) {
    border-color: rgba(18, 120, 212, 0.50);
    box-shadow: 0 0 20px rgba(46, 113, 235, 0.08);
    background:
        radial-gradient(circle at center, rgba(69, 152, 215, 0.12) 0%, rgba(21, 57, 103, 0.08) 55%, rgba(1, 7, 19, 1) 100%);
}

.services-sticky-tab span {
    color: #6E7C91;
    font-size: 20px;
    font-weight: var(--medium);
    line-height: 20px;
    letter-spacing: -0.2px;
    transition: font-size 0.35s ease, line-height 0.35s ease;
}

.services-sticky-tabs-shell.is-stuck .services-sticky-tab span {
    font-size: 18px;
    line-height: 18px;
}

.services-sticky-tab.active span,
.services-sticky-tab:is(:hover, :focus-visible) span {
    color: var(--light-blue-02);
}

.services-sticky-tab-icon {
    width: 24px;
    height: 24px;
}

/*-----------------------------------*\
  #CATEGORY
\*-----------------------------------*/
.services-category-section {
    width: 100%;
    padding: 80px 0;
    display: flex;
    justify-content: center;
    scroll-margin-top: 228px;
}

.services-category-width-container {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.services-category-heading-container {
    width: 722px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.services-category-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.services-category-title-icon {
    width: 48px;
    height: 48px;
}

.services-category-title {
    color: var(--neutral-02);
    text-shadow: 0 4px 20px rgba(234, 234, 234, 0.25);
    font-size: 48px;
    font-weight: var(--medium);
    line-height: 48px;
    letter-spacing: -0.96px;
}

.services-category-copy-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
}

.services-category-highlight-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    background: rgba(142, 195, 241, 0.20);
}

.services-category-highlight-banner.purple {
    background: rgba(31, 24, 63, 0.75);
}

.services-category-highlight-banner.blue {
    background: rgba(67, 158, 239, 0.30);
}

.services-category-highlight-icon {
    width: 24px;
    height: 24px;
    filter: var(--filter-white);
}

.services-category-highlight-banner p {
    color: #E6E6E6;
    font-size: 18px;
    font-weight: var(--medium);
    line-height: 18px;
}

.services-category-description {
    color: var(--neutral-08);
    font-size: 16px;
    font-weight: var(--medium);
    line-height: 24px;
}

.services-card-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.services-card-group-label {
    color: var(--neutral-08);
    font-size: 16px;
    font-weight: var(--medium);
    line-height: 24px;
    text-transform: uppercase;
}

.services-card-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 302px);
    gap: 24px;
}

.services-service-card {
    min-height: 388px;
    padding: 40px 24px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 16px rgba(255, 255, 255, 0.20);
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: linear-gradient(180deg, rgba(3, 10, 24, 0.88) 0%, rgba(1, 7, 19, 0.95) 100%);
}

.services-service-card.defensive {
    min-height: 394px;
}


.services-service-card-icon {
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.services-service-card-copy {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.services-service-card-copy.compact {
    min-height: 120px;
}

.services-service-card-copy.compact.tall {
    min-height: 170px;
}

.services-service-card-title {
    color: var(--light-blue-01);
    font-size: 22px;
    font-weight: var(--semiBold);
    line-height: 28px;
    letter-spacing: -0.22px;
}

.services-service-card-description {
    color: rgba(236, 236, 236, 0.65);
    font-size: 14px;
    font-weight: var(--regular);
    line-height: 22px;
}

.services-service-card-button {
    width: fit-content;
    height: 40px;
    margin-top: auto;
    padding: 13px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 14px;
}

/*-----------------------------------*\
  #MANAGED
\*-----------------------------------*/
.services-category-section.managed {
    padding-bottom: 112px;
}

.services-category-width-container.managed {
    gap: 80px;
}

.services-category-heading-container.managed {
    width: 100%;
}

.services-category-copy-container.managed {
    width: 737px;
}

.services-managed-cta-button {
    min-width: 220px;
    display: inline-flex;
    justify-content: center;
}

.services-card-group.managed {
    gap: 24px;
}

.services-managed-included-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr;
    align-items: stretch;
    gap: 0;
}

.services-managed-included-card {
    min-height: 222px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.services-managed-included-title {
    color: var(--light-blue-01);
    font-size: 18px;
    font-weight: var(--semiBold);
    line-height: 28px;
    letter-spacing: -0.18px;
}

.services-managed-included-description {
    color: rgba(236, 236, 236, 0.65);
    font-size: 14px;
    font-weight: var(--regular);
    line-height: 22px;
}

.services-managed-included-divider {
    width: 1px;
    height: 221px;
    align-self: center;
    background: linear-gradient(180deg, rgba(14, 93, 165, 0.05) 0%, rgba(67, 158, 239, 0.5) 50%, rgba(14, 93, 165, 0.05) 100%);
}

/*-----------------------------------*\
  #CTA
\*-----------------------------------*/
.services-cta-section {
    width: 100%;
    min-height: 578px;
    padding: 108px 0 104px;
    display: flex;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.services-cta-content-container {
    width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
    align-items: center;
    text-align: center;
    position: relative;
}

.services-cta-title {
    width: 100%;
    text-align: center;
    text-shadow: 0 4px 20px rgba(234, 234, 234, 0.25);
    font-size: 64px;
    font-weight: var(--medium);
    line-height: 72px;
    letter-spacing: -1.28px;
    background: linear-gradient(270deg, #FFF 28.51%, rgba(236, 236, 236, 0.40) 93.99%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-cta-title-blue {
    background: linear-gradient(270deg, #3D9DE5 28.51%, rgba(177, 218, 248, 0.40) 93.99%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-cta-description {
    width: 660px;
    color: var(--neutral-07);
    font-size: 18px;
    font-weight: var(--regular);
    line-height: 26px;
    letter-spacing: -0.36px;
}

.services-cta-actions-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.services-cta-note {
    color: var(--neutral-08);
    font-size: 14px;
    font-weight: var(--regular);
    line-height: 14px;
}

.services-cta-blue-circle {
    width: 260px;
    height: 260px;
    left: 240px;
    top: 230px;
}

.services-cta-purple-circle {
    width: 200px;
    height: 200px;
    right: 233px;
    top: 148px;
}

/*-----------------------------------*\
  #RESPONSIVE
\*-----------------------------------*/
@media (max-width: 1399px) {

    .services-hero-width-container,
    .services-category-width-container,
    .services-cta-width-container {
        width: min(100% - 48px, 1280px);
    }

    .services-card-grid {
        grid-template-columns: repeat(2, minmax(280px, 1fr));
    }

    .services-managed-included-grid {
        grid-template-columns: 1fr 1px 1fr;
        row-gap: 0;
    }

    .services-managed-included-grid .services-managed-included-divider:nth-of-type(2n + 3) {
        display: none;
    }
}

@media (max-width: 991px) {
    .services-sticky-tabs-shell {
        top: 80px;
        height: auto;
    }

    .services-sticky-tabs-shell.is-stuck {
        height: auto;
    }

    .services-sticky-tabs-container {
        width: 100%;
        padding: 16px 24px 20px;
        flex-wrap: wrap;
    }

    .services-sticky-tabs-shell.is-stuck .services-sticky-tabs-container {
        padding: 12px 24px 16px;
    }

    .services-sticky-tab {
        width: calc(50% - 12px);
    }

    .services-hero-title-container,
    .services-category-heading-container,
    .services-category-copy-container.managed,
    .services-cta-content-container {
        width: 100%;
    }

    .services-hero-title,
    .services-cta-title {
        font-size: 48px;
        line-height: 56px;
    }

    .services-hero-description,
    .services-cta-description {
        width: 100%;
    }

    .services-managed-included-grid {
        grid-template-columns: 1fr;
    }

    .services-managed-included-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, rgba(14, 93, 165, 0.05) 0%, rgba(67, 158, 239, 0.5) 50%, rgba(14, 93, 165, 0.05) 100%);
    }
}

@media (max-width: 767px) {

    .services-hero-width-container,
    .services-category-width-container,
    .services-cta-width-container {
        width: min(100% - 32px, 1280px);
    }

    .services-hero-section {
        min-height: auto;
        padding: 148px 0 96px;
    }

    .services-hero-title,
    .services-cta-title {
        font-size: 36px;
        line-height: 44px;
    }

    .services-category-title {
        font-size: 34px;
        line-height: 38px;
    }

    .services-sticky-tab {
        width: 100%;
        height: 68px;
        padding: 20px;
    }

    .services-sticky-tabs-shell.is-stuck .services-sticky-tab {
        height: 56px;
        padding: 16px;
    }

    .services-sticky-tab span {
        font-size: 18px;
    }

    .services-card-grid {
        grid-template-columns: 1fr;
    }

    .services-category-section {
        padding: 64px 0;
        scroll-margin-top: 280px;
    }

    .services-category-width-container {
        gap: 56px;
    }

    .services-cta-section {
        min-height: auto;
        padding: 88px 0 88px;
    }
}
