/* Services page specific styles */

/* Fix: sidebar behind the white container */
.sticky-sidebar-blue-layer {
    z-index: 1;
    right: -40px !important;
    /* Tuck slightly less under the white block */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
}

/* Image badge styles */
.sticky-sidebar-blue-img {
    position: sticky;
    top: 64px;
    /* Align perfectly to the top (safe because the corner is tucked 80px deep!) */
    margin-top: 0;
    height: auto;
    width: auto;
    max-width: 90px;
    display: block;
}

/* Page Background */
body.services-page {
    background: #b8b8b8;
}

.services-page .request-form-section {
    background: rgb(53, 53, 53);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    /* .container has padding: 0 80px, stretch to fill edge-to-edge */
    width: calc(100% + 160px) !important;
    margin-left: -80px !important;
    margin-right: -80px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 1100px) {
    .services-page .request-form-section {
        width: calc(100% + 80px) !important;
        margin-left: -40px !important;
        margin-right: -40px !important;
    }
}

@media (max-width: 800px) {
    .services-page .request-form-section {
        width: 100vw !important;
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        max-width: none !important;
    }
}



.services-page .request-form-title {
    font-size: 75px;
    color: rgb(251, 251, 251);
}

.services-page-container {
    background: #FBFBFB;
    padding-bottom: 0;
}

.services-main {
    max-width: 1152px;
    margin: 0 auto;
    width: 100%;
}

/* Page Background */
body.services-page {
    background: #b8b8b8;
}

.services-headline {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(2.8rem, 8vw, 110px);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: normal;
    text-align: left;
    text-transform: uppercase;
    color: #1e1e1e;
    margin-top: 60px;
    margin-bottom: 100px;
}

@media (max-width: 800px) {
    .services-headline {
        margin-left: 16px;
        margin-bottom: 64px;
    }
}

/* Services Grid */
.services-grid {
    display: flex;
    flex-direction: column;
    gap: 103px;
    max-width: 1152px;
}

/* Each section */
.services-section {
    display: flex;
    flex-direction: column;
    gap: 72px;
}

/* Default row: 2 equal columns, 154px column gap */
.services-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 154px;
    align-items: start;
}

/* Section 2 row: wider column gap (196px per Figma) */
.services-row--wide {
    column-gap: 154px;
}

/* Single-card row: only first column used */
.services-row-single {
    grid-template-columns: 1fr 1fr;
    column-gap: 154px;
}

/* Service Card */
.service-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-card-body {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.service-name {
    font-size: 40px;
    font-weight: 900;
    color: #1e1e1e;
    line-height: 1.15;
}

/* Steps list */
.service-steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-step {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.step-title {
    font-size: 20px;
    color: #1e1e1e;
    line-height: 1.54;
    margin: 0;
}

.step-num {
    font-weight: 700;
}

.step-label {
    font-weight: 400;
}

.step-sub {
    font-size: 18px;
    font-weight: 400;
    color: #9e9e9e;
    line-height: 1.54;
    margin: 0;
    max-width: 380px;
    /* Forces wrapping similar to Figma */
}

/* Learn more link */
.service-learn-more {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #007efa;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    text-transform: uppercase;
    transition: color 0.2s;
    width: fit-content;
}

.service-learn-more:hover {
    color: #0055c7;
}

.service-learn-more svg {
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1440px) {
    .sticky-sidebar-blue {
        font-size: 88px;
    }
}

@media (max-width: 1100px) {
    .sticky-sidebar-blue {
        font-size: 72px;
    }

    .services-row {
        gap: 80px;
    }



    .service-name {
        font-size: 36px;
    }
}

@media (max-width: 800px) {

    .services-row,
    .services-row-single {
        grid-template-columns: 1fr;
        gap: 64px;
    }



    .service-name {
        font-size: 28px;
    }

    .step-title {
        font-size: 18px;
    }

    .step-sub {
        font-size: 15px;
    }
}