/* Editorial rhythm: the home introduces; interior pages carry the visual depth. */
.visual-evidence { margin: var(--space-6) 0 0; }
.visual-evidence-image { display: block; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--surface); }
.visual-evidence-image img { display: block; width: 100%; height: auto; }
.visual-evidence figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); padding-block: var(--space-4); color: var(--text-muted); font-size: 13px; line-height: 1.6; }
.visual-evidence figcaption > span:nth-child(2) { flex: 1 1 22rem; }
.visual-evidence figcaption a { color: var(--accent); text-underline-offset: 4px; }
.evidence-label { color: var(--accent); font-weight: 700; }
:root {
    --visual-container: 1440px;
    --home-section-space: 84px
}

.visual-container {
    width: min(var(--visual-container),calc(100% - var(--gutter)*2));
    margin-inline: auto
}

.home-section {
    padding-block: var(--home-section-space)
}

    .home-section.capabilities {
        gap: 80px
    }

.home-stories {
    padding-bottom: var(--home-section-space)
}

.home-story {
    position: relative
}

.story-kicker, .section-kicker {
    margin-bottom: 18px;
    color: var(--accent-strong);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .01em
}

.editorial-media-story {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr);
    align-items: stretch;
    min-height: 500px
}

.editorial-media-story-media {
    min-height: 500px;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--surface)
}

.editorial-media-story-media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.editorial-media-story-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(44px,6vw,88px)
}

    .editorial-media-story-copy h2 {
        max-width: 660px;
        font-size: clamp(34px,4vw,54px);
        line-height: 1.1
    }

.service-visual-section .editorial-media-story-copy h2, .product-context-section .editorial-media-story-copy h2 {
    font-size: clamp(32px,3.6vw,48px)
}

.editorial-media-story-copy > p:not(.story-kicker) {
    max-width: 590px;
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.75
}

.editorial-media-story-copy .text-link {
    margin-top: 26px
}

.editorial-media-story-reverse {
    grid-template-columns: minmax(360px,.85fr) minmax(0,1.15fr)
}

    .editorial-media-story-reverse .editorial-media-story-media {
        grid-column: 2;
        grid-row: 1
    }

    .editorial-media-story-reverse .editorial-media-story-copy {
        grid-column: 1;
        grid-row: 1
    }

.service-visual-section {
    border-bottom: 1px solid var(--line)
}

.product-context-section {
    padding-top: 72px;
    padding-bottom: 0
}

.home-solutions-teaser {
    border-block: 1px solid var(--line);
    background: var(--bg-alt)
}

.home-solutions-layout {
    display: grid;
    grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
    gap: clamp(56px,8vw,120px);
    align-items: center
}

.home-solutions-copy h2 {
    font-size: clamp(36px,4.3vw,58px);
    line-height: 1.08
}

.home-solutions-copy > p:not(.section-kicker) {
    max-width: 510px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.75
}

.home-solutions-copy .text-link {
    margin-top: 26px
}

.home-solution-list {
    border-top: 1px solid var(--line-strong)
}

    .home-solution-list a {
        display: grid;
        grid-template-columns: minmax(180px,.7fr) minmax(0,1fr) 22px;
        gap: 24px;
        align-items: center;
        min-height: 104px;
        border-bottom: 1px solid var(--line-strong);
        color: var(--text-secondary)
    }

    .home-solution-list span {
        color: var(--accent-strong);
        font-size: 13px;
        font-weight: 600
    }

    .home-solution-list strong {
        font-size: 18px;
        line-height: 1.45;
        font-weight: 500;
        letter-spacing: -.02em
    }

    .home-solution-list .icon {
        width: 18px;
        color: var(--text-muted);
        transition: color var(--transition),transform var(--transition)
    }

.applied-section {
    border-block: 1px solid var(--line);
    background: var(--bg-alt)
}

.solutions-applications {
    margin-bottom: var(--section-space)
}

.applied-heading {
    display: grid;
    grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr);
    gap: 28px 72px;
    align-items: end;
    margin-bottom: 48px
}

    .applied-heading .eyebrow {
        grid-column: 1/-1
    }

    .applied-heading h2 {
        font-size: clamp(38px,4.4vw,60px);
        line-height: 1.08
    }

    .applied-heading > p:last-child {
        max-width: 460px;
        font-size: 16px;
        line-height: 1.75
    }

.applied-grid { display: grid; gap: var(--space-8); }
.applied-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-7);
    min-width: 0;
    scroll-margin-top: calc(var(--header-height) + 24px);
}
.applied-card > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1672 / 941;
    object-fit: cover;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
}
.applied-card-copy { min-width: 0; }
.applied-card-copy > p:first-child { margin-bottom: 13px; color: var(--accent); font-weight: 600; font-size: 14px; }
.applied-card h3 { max-width: 610px; color: var(--text); font-size: clamp(25px, 2.7vw, 38px); line-height: 1.14; }
.applied-card-sport h3, .applied-card-operations h3 { font-size: clamp(24px, 2.3vw, 32px); }
.applied-card-copy > p:not(:first-child) { max-width: 650px; margin-top: 15px; color: var(--text-secondary); line-height: 1.65; font-size: 16px; }
@media (max-width: 900px) {
    .applied-grid { gap: var(--space-7); }
    .applied-card { grid-template-columns: 1fr; gap: var(--space-5); }
    .applied-card-copy { max-width: 44rem; }
}
@media (max-width: 700px) {
    .applied-card h3, .applied-card-sport h3, .applied-card-operations h3 { font-size: 28px; }
}

.applied-note {
    margin-top: 18px;
    font-size: 12px;
    line-height: 1.6
}

.scenario-label {
    margin-bottom: 22px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600
}

.products-showcase {
    overflow: hidden
}

.products-heading {
    margin-bottom: 48px
}

    .products-heading .section-kicker {
        margin-bottom: 16px
    }

    .products-heading h2 {
        font-size: clamp(38px,4.5vw,60px);
        line-height: 1.08
    }

.home-product-panels .product-panels {
    gap: 28px
}

.home-process .section-heading-row {
    margin-bottom: 32px
}

.home-process .process-steps {
    margin: 32px 0 20px
}

    .home-process .process-steps p {
        line-height: 1.65
    }

@media(hover:hover) and (pointer:fine) {
.editorial-media-story-media img {
        transition: transform 280ms var(--ease),filter 280ms var(--ease)
    }

.editorial-media-story:hover .editorial-media-story-media img {
        transform: scale(1.015)
    }

    .home-solution-list a:hover {
        color: var(--text)
    }

        .home-solution-list a:hover .icon {
            color: var(--accent-strong);
            transform: translateX(3px)
        }
}

@media(max-width:1150px) {
    :root {
        --home-section-space: 76px
    }

    .home-section.capabilities {
        gap: 56px
    }

    .editorial-media-story {
        grid-template-columns: minmax(0,1.05fr) minmax(330px,.95fr);
        min-height: 470px
    }

    .editorial-media-story-media {
        min-height: 470px
    }

    .editorial-media-story-copy {
        padding: 44px
    }

    .editorial-media-story-reverse {
        grid-template-columns: minmax(330px,.95fr) minmax(0,1.05fr)
    }

    .home-solutions-layout {
        gap: 56px
    }

    .applied-heading {
        gap: 28px 48px
    }

}

@media(max-width:900px) {
    :root {
        --home-section-space: 68px
    }

    .editorial-media-story, .editorial-media-story-reverse {
        grid-template-columns: 1fr;
        min-height: 0
    }

        .editorial-media-story-media, .editorial-media-story-reverse .editorial-media-story-media {
            grid-column: 1;
            grid-row: 1;
            min-height: 0;
            aspect-ratio: 16/9
        }

        .editorial-media-story-copy, .editorial-media-story-reverse .editorial-media-story-copy {
            grid-column: 1;
            grid-row: 2;
            padding: 40px 24px 48px
        }

    .home-solutions-layout {
        grid-template-columns: 1fr;
        gap: 44px
    }

    .home-solutions-copy > p:not(.section-kicker) {
        max-width: 680px
    }

    .applied-heading {
        grid-template-columns: 1fr;
        gap: 22px
    }

        .applied-heading .eyebrow {
            grid-column: 1
        }

        .applied-heading > p:last-child {
            max-width: 680px
        }

}

@media(max-width:700px) {
    :root {
        --home-section-space: 56px
    }

    .home-section.capabilities {
        gap: 42px
    }

    .home-stories {
        padding-bottom: var(--home-section-space)
    }

    .editorial-media-story-media, .editorial-media-story-reverse .editorial-media-story-media {
        aspect-ratio: 4/3;
        border-radius: var(--radius)
    }

    .editorial-media-story-copy, .editorial-media-story-reverse .editorial-media-story-copy {
        padding: 28px 2px 36px
    }

        .editorial-media-story-copy h2 {
            font-size: clamp(31px,9.6vw,42px)
        }

        .editorial-media-story-copy > p:not(.story-kicker) {
            font-size: 15px;
            line-height: 1.7
        }

    .product-context-section {
        padding-top: 56px
    }

    .home-solutions-copy h2 {
        font-size: clamp(34px,10.5vw,44px)
    }

    .home-solutions-copy > p:not(.section-kicker) {
        font-size: 15px
    }

    .home-solution-list a {
        grid-template-columns: minmax(0,1fr) 22px;
        gap: 8px 18px;
        min-height: 112px;
        padding-block: 18px
    }

    .home-solution-list span, .home-solution-list strong {
        grid-column: 1
    }

    .home-solution-list strong {
        font-size: 16px
    }

    .home-solution-list .icon {
        grid-column: 2;
        grid-row: 1/3
    }

    .solutions-applications {
        margin-bottom: 56px
    }

    .applied-heading {
        margin-bottom: 34px
    }

        .applied-heading h2, .products-heading h2 {
            font-size: clamp(34px,10.5vw,44px)
        }

        .applied-heading > p:last-child {
            font-size: 15px
        }

    .products-heading {
        margin-bottom: 34px
    }

    .home-process .section-heading-row {
        margin-bottom: 24px
    }

    .home-process .process-steps {
        margin-top: 24px
    }
}

@media(prefers-reduced-motion:reduce) {
.editorial-media-story-media img {
        transition: none !important;
        transform: none !important
    }
}

