/* Agility-page composition using the shared GraphicStream components. */
.agility-page {
    --agility-ink: #162e42;
    --agility-muted: #526575;
    --agility-accent: #076e8a;
    color: var(--agility-ink);
    background: #fff;
    font-size: 1rem;
    line-height: 1.75;
}

.agility-page *, .agility-page *::before, .agility-page *::after { box-sizing: border-box; }
.agility-container { width: min(1200px, calc(100% - 4rem)); margin-inline: auto; }
.agility-page :is(h1, h2, h3) { padding: 0; color: inherit; text-wrap: balance; }
.agility-page :is(p, h1, h2, h3) { overflow-wrap: anywhere; }
.agility-page :is(a, button):focus-visible { outline: 3px solid #076e8a; outline-offset: 5px; }
.agility-page section[id] { scroll-margin-top: 7rem; }
.agility-page .gs-action { white-space: normal; text-align: center; }
.agility-page .gs-grid-item { min-width: 0; }
.agility-page .gs-layout-grid { align-items: center; }
.agility-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.agility-page .gs-content-header { margin-bottom: 2.5rem; color: inherit; }
.agility-page :is(.gs-content-header__eyebrow, .gs-content-block__eyebrow, .gs-feature-panel__eyebrow) { color: var(--agility-accent); font-weight: 750; letter-spacing: .1em; }
.agility-page :is(.gs-content-header__text, .gs-content-block__text, .gs-feature-panel__text) { color: var(--agility-muted); line-height: 1.75; }
.agility-page .gs-content-block__text { font-size: 1.05rem; }

.agility-hero { padding-block: 1.5rem clamp(3rem, 6vw, 5rem); background: radial-gradient(ellipse at 95% 60%, #fff0c4, transparent 65%), #f7f9fa; }
.agility-breadcrumb { margin-bottom: clamp(2rem, 5vw, 4rem); font-size: .85rem; color: var(--agility-muted); }
.agility-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.agility-breadcrumb li + li::before { content: "/"; padding-right: .5rem; color: #8294a1; }
.agility-breadcrumb a { color: inherit; }
.agility-hero .gs-content-block__title { max-width: 18ch; font-size: clamp(2.6rem, 5vw, 4.5rem); font-weight: 750; line-height: 1.06; letter-spacing: -.045em; }
.agility-hero .gs-content-block__text { max-width: 40rem; font-size: 1.15rem; }
.agility-hero__visual { position: relative; isolation: isolate; display: grid; justify-items: center; margin: 0; padding-top: 1.5rem; }
.agility-hero__visual::before { position: absolute; z-index: -1; inset: 0 5% 2rem; content: ""; border: 1px solid #e1d9ba; border-radius: 50% 44% 48% 40%; background: #fff8e5; transform: rotate(-9deg); }
.agility-hero__visual img { display: block; width: min(100%, 382px); height: auto; }
.agility-hero__visual figcaption { max-width: 90%; padding: .65rem 1.2rem; border: 1px solid #dce6eb; border-radius: 2rem; background: #fff; color: var(--agility-ink); font-size: .85rem; font-weight: 600; text-align: center; }

.agility-principles .gs-benefit__content { justify-content: flex-start; }
.agility-principles .gs-benefit__title { margin-bottom: 1rem; font-size: 1.5rem; line-height: 1.3; }
.agility-principles .gs-benefit__description { color: var(--agility-muted); line-height: 1.75; }
.agility-principles .gs-benefit__description p { margin: 0; }
.agility-principles .gs-benefit { border-top: 3px solid #e5b83a; }

.agility-satisfaction { padding-top: 0; }
.agility-satisfaction .gs-feature-panel { border-radius: 1.5rem; }
.agility-satisfaction .gs-feature-panel__content { display: flex; align-items: center; padding: clamp(1.5rem, 4vw, 3.5rem); }
.agility-satisfaction .gs-feature-panel__body { align-self: center; }
.agility-satisfaction .gs-feature-panel__media { display: grid; align-items: center; background: #ffbd00; }
.agility-satisfaction .gs-feature-panel__media img { height: auto; }

.agility-collaboration { background: #f3f7f9; }
.agility-team-commitment { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #d5e2e8; }
.agility-team-commitment .gs-content-block__title { font-size: 1.55rem; }
.agility-team-visual { margin: 0; overflow: hidden; border-radius: 1.5rem; }
.agility-team-visual img { display: block; width: 100%; height: auto; }

.agility-contact { margin-bottom: clamp(2rem, 4vw, 4rem); background: #162e42; color: #fff; }
.agility-contact .gs-content-header { margin-bottom: 0; }
.agility-contact .gs-content-header__text { color: #dce8ee; font-size: 1.15rem; }
.agility-contact .gs-action-group { justify-content: center; }
.agility-contact .gs-action--link { color: #bce2ed; }
.agility-contact :is(a, button):focus-visible { outline-color: #fff; }

@media (max-width: 64rem) {
    .agility-hero__visual { width: min(100%, 30rem); margin-inline: auto; }
    .agility-team-visual { width: min(100%, 34rem); margin-inline: auto; }
}

@media (max-width: 600px) {
    .agility-container { width: calc(100% - 2rem); }
    .agility-hero .gs-content-block__title { font-size: clamp(2.3rem, 10vw, 3.5rem); }
    .agility-hero .gs-content-block__text { font-size: 1rem; }
    .agility-page .gs-action-group { width: 100%; align-items: stretch; }
    .agility-page .gs-action-group .gs-action { flex: 1 1 100%; justify-content: center; }
}
