/* Page composition around the shared GraphicStream components. */
.services-page {
    --services-ink: #162e42;
    --services-muted: #526575;
    --services-accent: #076e8a;
    --gs-container-max-width: 1280px;
    color: var(--services-ink);
    background: #fff;
    font-size: 1rem;
    line-height: 1.7;
}

.services-page *, .services-page *::before, .services-page *::after { box-sizing: border-box; }
.services-container { width: min(1200px, calc(100% - 4rem)); margin-inline: auto; }
.services-page :is(h1, h2, h3) { padding: 0; color: inherit; text-wrap: balance; }
.services-page :is(p, h1, h2, h3) { overflow-wrap: anywhere; }
.services-page :is(a, button):focus-visible { outline: 3px solid #076e8a; outline-offset: 5px; }
.services-page section[id] { scroll-margin-top: 7rem; }
.services-page .gs-action { white-space: normal; text-align: center; }
.services-page .gs-grid-item { min-width: 0; }
.services-section { padding-block: clamp(3.5rem, 7vw, 6rem); }

.services-breadcrumb { padding-block: 1.2rem; font-size: .85rem; color: var(--services-muted); }
.services-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.services-breadcrumb li + li::before { content: "/"; padding-right: .5rem; color: #8294a1; }
.services-breadcrumb a { color: inherit; }
.services-page .gs-responsive-hero__title { max-width: 17ch; font-size: clamp(2.5rem, 4.8vw, 4.5rem); font-weight: 700; line-height: 1.06; }
.services-page .gs-responsive-hero__eyebrow { color: #bce2d1; }
.services-page .gs-responsive-hero__text { max-width: 40rem; font-size: 1.1rem; color: #edf4f6; }
.services-page .gs-responsive-hero__actions { margin-top: 2rem; }
.services-page .gs-responsive-hero .gs-action--secondary { color: #fff; border-color: #ffffff80; background: transparent; }
.services-page .gs-responsive-hero .gs-action--secondary:hover { background: #ffffff18; }
.services-page .gs-responsive-hero :is(a, button):focus-visible { outline-color: #fff; }

.services-page .gs-content-header { margin-bottom: 2.5rem; color: inherit; }
.services-page :is(.gs-content-header__eyebrow, .gs-content-block__eyebrow, .gs-feature-panel__eyebrow) { color: var(--services-accent); font-weight: 750; letter-spacing: .1em; }
.services-page :is(.gs-content-header__text, .gs-content-block__text, .gs-promo-card__text) { color: var(--services-muted); line-height: 1.75; }
.services-page .gs-content-block__text { font-size: 1.1rem; }
.services-page .gs-content-block__actions { flex-direction: column; align-items: flex-start; gap: 1rem; }
.services-page .gs-content-block__actions p { margin: 0; color: var(--services-muted); }
.services-page .gs-content-block__actions .services-emphasis { color: var(--services-ink); font-weight: 600; }
.services-page #scroll-target .gs-layout-grid { align-items: center; }
.services-mission-visual { margin: 0; overflow: hidden; border-radius: 1.5rem; }
.services-mission-visual img { display: block; width: 100%; height: auto; }

.services-support { background: #f3f7f9; }
.services-support .gs-benefit { border-top: 3px solid #67aab6; }
.services-support .gs-benefit__content { justify-content: flex-start; }
.services-support .gs-benefit__title { margin-bottom: 1rem; font-size: 1.35rem; line-height: 1.3; }
.services-support .gs-benefit__description { color: var(--services-muted); line-height: 1.75; }
.services-support .gs-benefit__description p { margin: 0; }

.services-agility .gs-feature-panel { border-radius: 1.5rem; }
.services-agility .gs-feature-panel__media { background: #fff; }
.services-agility .gs-feature-panel__content { display: flex; flex-direction: column; justify-content: center; gap: 1.25rem; }
.services-agility .gs-feature-panel__actions { align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; padding-top: 0; }
.services-agility .gs-feature-panel__content p { line-height: 1.75; color: var(--services-muted); }
.services-users .gs-content-header { margin-bottom: 0; }
.services-users .gs-content-header__text { color: #e0ebf0; font-size: 1.15rem; }

.services-skills .gs-content-header__actions { margin-top: 1rem; color: var(--services-muted); }
.services-skills .gs-content-header__actions p { margin: 0; }
.services-skills .gs-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.services-skills .gs-promo-card { border: 1px solid #dce6eb; box-shadow: none; }
.services-skills .gs-promo-card__media { height: 15rem; aspect-ratio: auto; background: #f5f8fa; }
.services-skills .gs-promo-card__content { padding: 1.75rem; }
.services-skills .gs-promo-card__title { font-size: 1.5rem; }
.services-skills .gs-promo-card__text { font-size: 1rem; }
.services-skills .gs-promo-card__actions { padding-top: 1rem; }

.services-contact { margin-bottom: clamp(2rem, 4vw, 4rem); background: #edf4ee; }
.services-contact .gs-content-header { margin-bottom: 0; }
.services-contact .gs-content-header__text { font-size: 1.2rem; }
.services-contact .gs-content-header__actions { gap: 1rem; margin-top: .35rem; }
.services-contact .gs-content-header__actions > p { flex-basis: 100%; color: var(--services-muted); font-size: 1.2rem; margin: 0 0 .75rem; }
.services-contact .gs-action-group { justify-content: center; }

@media (max-width: 64rem) {
    .services-page .gs-responsive-hero__overlay { opacity: .2; }
    .services-page .gs-responsive-hero__title { max-width: 24ch; }
    .services-page .gs-responsive-hero__content { padding: 2.5rem var(--gs-container-gutter); }
    .services-mission-visual { max-width: 36rem; margin-inline: auto; }
}

@media (max-width: 600px) {
    .services-container { width: calc(100% - 2rem); }
    .services-page .gs-responsive-hero__title { font-size: clamp(2.2rem, 9vw, 3rem); }
    .services-page .gs-responsive-hero__text { font-size: 1rem; }
    .services-page .gs-action-group { align-items: stretch; width: 100%; }
    .services-page .gs-action-group .gs-action { flex: 1 1 100%; justify-content: center; }
    .services-skills .gs-card-grid { grid-template-columns: 1fr; }
    .services-skills .gs-promo-card__content { padding: 1.25rem; }
    .services-skills .gs-promo-card__media { height: 12rem; }
}
