/* Service page only: preserve the parent theme's identity and mobile stack. */
.services-hero {
    min-height: auto;
    padding-block: clamp(130px, 15vw, 200px) clamp(56px, 7vw, 100px);
}

.services-hero h1 {
    font-size: clamp(2.75rem, 1rem + 6vw, 7rem);
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.services-hero .eyebrow {
    display: inline-block;
    line-height: 1.5;
}

.services-hero .lead {
    font-size: clamp(1rem, .9rem + .3vw, 1.15rem);
}

.services-hero .hero-actions,
.service-story .story-actions {
    flex-wrap: wrap;
}

.service-journey {
    padding-block: clamp(24px, 4vw, 64px) clamp(48px, 7vw, 100px);
}

.service-journey-grid > * {
    min-width: 0;
}

.service-story {
    min-height: 640px;
    min-height: min(78svh, 800px);
    padding-block: clamp(48px, 6vw, 80px);
}

.service-story h2 {
    font-size: clamp(2.25rem, 1.5rem + 4vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
}

.service-story ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-story li {
    min-width: 0;
    overflow-wrap: anywhere;
}

.service-story .story-actions {
    gap: 12px 24px;
}

.service-story .text-link {
    min-height: 44px;
    margin-top: 0;
}

.service-story .text-link svg {
    flex-shrink: 0;
}

.service-visual {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    justify-items: center;
}

.service-visual .visual-browser {
    width: 100%;
    max-width: 510px;
}

@media (max-width: 1000px) {
    .service-story {
        min-height: 0;
    }

    .service-journey-grid {
        gap: 0;
    }
}

@media (max-width: 650px) {
    .service-story ul {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 600px) {
    .service-principles,
    .service-principles + .section {
        padding-block: 56px;
    }

    .service-principles .section-head h2,
    .service-principles + .section .cta-panel h2 {
        font-size: clamp(2rem, 1rem + 5vw, 2.75rem);
        line-height: 1.1;
        overflow-wrap: anywhere;
    }

    .service-principles .process-row {
        gap: 16px;
    }

    .service-principles .process-row article {
        min-height: 0;
    }

    .service-principles .process-row h3 {
        margin-top: 24px;
    }

    .service-principles + .section .cta-panel {
        padding: 32px 24px;
        border-radius: 24px;
    }

    .service-principles + .section .button {
        width: 100%;
        padding: 12px 16px;
    }
}
