/* Shared actions and touch layouts, promoted from the approved Home treatment. */
.wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
    background: linear-gradient(115deg, #8644ed, #7133d7 70%, #6932c5);
    border-color: #c69aff35;
    box-shadow: inset 0 1px 0 #ffffff17, 0 5px 18px #622ec21a;
}
.wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
    background: linear-gradient(115deg, #9457f4, #8043e4 70%, #7540d4);
}
.am-swipe-progress { display: none; }

/* Insights hub only: the archive and search result lists retain their layouts. */
@media (max-width: 980px) {
    .page-id-178 .am-insights-polish :is(.am-r5-insight-paths .am-r5-four, .ad-article-grid) {
        position: relative; /* Contain visually hidden link labels inside the rail. */
        display: flex; flex-wrap: nowrap; align-items: stretch; gap: 16px;
        width: 100%; max-width: 100%; min-width: 0; margin: 0;
        padding: 6px 0 12px; overflow-x: auto;
        scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
    }
    .page-id-178 .am-insights-polish :is(.am-r5-insight-paths .am-r5-four, .ad-article-grid)::-webkit-scrollbar { display: none; }
    .page-id-178 .am-insights-polish :is(.am-r5-insight-paths .am-r5-four, .ad-article-grid) > * {
        flex: 0 0 46%; max-width: 46%; min-width: 0; margin: 0;
        scroll-snap-align: start; transform: none;
    }
    .page-id-178 .am-insights-polish .am-insight-category { padding: 18px; }
    .page-id-178 .am-insights-polish .am-insight-category .am-insight-category-link a { font-size: 13px; line-height: 1.5; }
    .page-id-178 .am-insights-polish .am-insight-category .am-insight-category-art { aspect-ratio: 16 / 10; margin-bottom: 18px; }
    .page-id-178 .am-insights-polish .am-insight-category > p:not(.am-insight-category-label):not(.am-insight-category-link) { font-size: 14px; line-height: 1.7; margin-bottom: 20px; }
    .page-id-178 .am-insights-polish .ad-article-card { display: flex; flex-direction: column; align-items: stretch; height: 100%; overflow: hidden; border-radius: 18px; }
    .page-id-178 .am-insights-polish .ad-article-card .wp-block-post-featured-image { align-self: stretch; margin: 12px 12px 0; }
    .page-id-178 .am-insights-polish .ad-article-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; }
    .page-id-178 .am-insights-polish .ad-article-card .ad-card-content { display: flex; flex-direction: column; flex: 1; padding: 20px; }
    .page-id-178 .am-insights-polish .ad-article-card .ad-card-content h3 { font-size: 23px; line-height: 1.25; }
    .page-id-178 .am-insights-polish .ad-article-card .wp-block-post-excerpt { font-size: 14px; }
    .page-id-178 .am-insights-polish .ad-article-card .wp-block-read-more { margin-top: auto; }
}
@media (max-width: 600px) {
    .page-id-178 .am-insights-polish :is(.am-r5-insight-paths .am-r5-four, .ad-article-grid) > * { flex-basis: 86%; max-width: 86%; }
}

@media (max-width: 980px) {
    /* Keep the shared service section navigation on one swipeable line. */
    .wp-site-blocks main .am-service-overhaul .am-r5-jump > .ad-shell {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 24px;
        min-width: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
        scrollbar-color: #a77cec #a77cec18;
    }
    .wp-site-blocks main .am-service-overhaul .am-r5-jump > .ad-shell > p {
        flex: 0 0 auto;
        margin: 0;
        white-space: nowrap;
    }
    /* Intrinsic text width avoids Safari shrinking the label beside its arrow. */
    body .wp-site-blocks :is(main, footer) .wp-block-buttons {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        min-width: 0;
        max-width: 100%;
    }
    body .wp-site-blocks main .wp-block-buttons > .wp-block-button {
        flex: 0 0 auto;
        width: max-content;
        min-width: 0;
        max-width: 100%;
        margin: 0;
    }
    body .wp-site-blocks :is(main, footer) .wp-block-buttons > .wp-block-button > .wp-block-button__link {
        position: relative;
        display: inline-block;
        box-sizing: border-box;
        width: auto;
        max-width: 100%;
        min-height: 46px;
        padding: 13px 52px 13px 24px;
        font-size: 13px;
        line-height: 1.45;
        white-space: normal;
        text-align: center;
    }
    body .wp-site-blocks :is(main, footer) .wp-block-buttons .wp-block-button__link::after {
        position: absolute;
        right: 23px;
        top: calc(50% - 7.5px);
        width: 15px;
        height: 15px;
    }
    /* Paired actions use the compact Home proportions, then wrap only as needed. */
    body .wp-site-blocks main .wp-block-buttons:has(> .wp-block-button + .wp-block-button) { gap: 8px; }
    body .wp-site-blocks main .wp-block-buttons:has(> .wp-block-button + .wp-block-button) > .wp-block-button > .wp-block-button__link {
        padding: 13px 35px 13px 16px;
        font-size: 12px;
    }
    body .wp-site-blocks main .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link::after {
        right: 14px;
        top: calc(50% - 7px);
        width: 14px;
        height: 14px;
    }
    body .wp-site-blocks footer .ad-footer-mobile-action > .wp-block-button > .wp-block-button__link { width: 100%; }

    /* Scope containment to the card rail; keep document-sticky reading layouts intact. */
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid) {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 16px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-inline: 0;
        padding: 6px 0 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid)::-webkit-scrollbar { display: none; }
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid) > * {
        flex: 0 0 46%;
        width: auto;
        min-width: 0;
        max-width: 46%;
        margin: 0;
        transform: none;
        scroll-snap-align: start;
    }
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid):has(> :only-child) > * { flex-basis: 100%; max-width: 100%; }
    .wp-site-blocks main :is(.am-service-project, .am-case-related-card, .am-r5-service-tile) { border-radius: 18px; }
    .wp-site-blocks main :is(.am-r5-service-tile, .am-case-related-card) { padding: 24px; }
    .wp-site-blocks main :is(.am-project-info, .am-service-project-copy) { padding: 20px; }
    .wp-site-blocks main :is(.am-project-info, .am-service-project-copy, .am-case-related-card, .am-r5-service-tile) :is(h2, h3) { font-size: 23px; line-height: 1.25; text-wrap: pretty; }
    .wp-site-blocks main :is(.am-project-info, .am-service-project-copy, .am-case-related-card, .am-r5-service-tile) p { font-size: 15px; line-height: 1.7; }
    .wp-site-blocks main .am-project-art img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
    .am-swipe-progress:not([hidden]) { display: block; height: 4px; margin: 8px 0 24px; border-radius: 100px; overflow: hidden; background: #b28add26; }
    .am-swipe-progress > span { display: block; position: relative; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff985b, #b97cf8 60%, #7c3aed); }

    /* Services hub: retain the rails, stack each card's media above its copy. */
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile,
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        min-height: 0;
        padding: 0;
        overflow: hidden;
    }
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile .am-r5-art,
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card .am-service-project-image {
        order: -1;
        flex: 0 0 auto;
        position: relative;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        margin: 0;
        aspect-ratio: 4 / 3;
        border-radius: 0;
        overflow: hidden;
    }
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile .am-r5-art img,
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card .am-service-project-image img {
        display: block;
        position: static;
        width: 100%;
        height: 100%;
        min-height: 0;
        max-height: none;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center 25%;
    }
    .wp-site-blocks main .am-service-hub-projects .am-service-project-image a { display: block; height: 100%; }
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card .am-service-project-image img { object-position: center; }
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile-copy { flex: 1; width: 100%; box-sizing: border-box; margin: 0; padding: 22px; }
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile-copy h3 { margin: 0 0 14px; }
    .wp-site-blocks main .am-service-hub-overhaul .am-r5-service-tile-copy p { margin: 0; font-size: 15px; line-height: 1.7; }
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card > h3 { align-self: stretch; margin: 22px 22px 10px; }
    .wp-site-blocks main .am-service-hub-projects .am-case-related-card > p { align-self: stretch; margin: 0 22px 22px; }

    /* Similar hero compositions share the centered mobile reading order. */
    .wp-site-blocks main :is(.ac-hero-grid, .amp-hero-grid, .am-r5-hero-grid) { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .wp-site-blocks main :is(.ac-intro, .amp-hero-copy, .am-r5-intro) { min-width: 0; text-align: center; }
    .wp-site-blocks main :is(.ac-intro, .amp-hero-copy, .am-r5-intro) > :is(h1, p) { margin-inline: auto; text-wrap: pretty; }
    .wp-site-blocks main :is(.ac-intro, .amp-hero-copy, .am-r5-intro) :is(.wp-block-buttons, .ad-breadcrumbs) { justify-content: center; }
    .wp-site-blocks main .amp-hero-copy { padding-bottom: 0; }
    .wp-site-blocks main .am-heading-row { gap: 20px; margin-bottom: 28px; }

    /* Company: readable stacked reasons, compact product proof and no floating gap. */
    .am-company-polish > section { padding-block: 44px; }
    .am-company-polish .ac-hero { padding-block: 30px 44px; }
    .am-company-polish .ac-intro h1 { font-size: clamp(32px, 7.7vw, 46px); margin-bottom: 22px; }
    .am-company-polish .ac-hero-disciplines { justify-content: space-between; flex-wrap: nowrap; gap: 8px; margin-top: 26px; padding-top: 18px; }
    .am-company-polish .ac-hero-disciplines p { min-width: 0; font-size: clamp(9px, 2.5vw, 12px); line-height: 1.5; }
    .am-company-polish .ac-hero-visual { width: 100%; max-width: 620px; padding: 0; margin-inline: auto; }
    .am-company-polish .ac-hero-visual figure { border-radius: 20px; }
    .am-company-polish .ac-hero-visual img { aspect-ratio: 4 / 3; }
    .am-company-polish .ac-visual-caption { position: relative; right: auto; bottom: auto; margin-top: 12px; padding: 16px 20px; text-align: center; box-shadow: none; }
    .am-company-polish :is(.ac-story-grid, .ac-values-grid, .ac-closing-panel) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .am-company-polish .ac-section-head { margin-bottom: 26px; }
    .am-company-polish .ac-story-grid { gap: 32px; }
    .am-company-polish .ac-story-grid .ac-section-head { margin-bottom: 22px; }
    .am-company-polish .ac-story-pillars { gap: 28px; }
    .am-company-polish .ac-story-pillar { padding: 22px 0 0; }
    .am-company-polish .ac-story-pillar::before { position: static; display: block; margin-bottom: 12px; }
    .am-company-polish .ac-story-pillar h3 { margin: 0 0 14px; }
    .am-company-polish .ac-story-pillar p { font-size: 16px; line-height: 1.8; }
    .am-company-polish .ac-purpose-pair { gap: 16px; margin-top: 36px; padding: 0; border: 0; background: none; }
    .am-company-polish .ac-purpose,
    .am-company-polish .ac-purpose + .ac-purpose { padding: 24px; border: 1px solid #ad81d42e; border-radius: 18px; background: linear-gradient(135deg, #241c33, #151925); }
    .am-company-polish .ac-purpose + .ac-purpose { background: linear-gradient(135deg, #171c2b, #151925); }
    .am-company-polish .ac-purpose .am-eyebrow { margin: 0 0 20px; }
    .am-company-polish .ac-purpose h3 { margin: 0 0 16px; }
    .am-company-polish .ac-capabilities { padding-top: 12px; }
    .am-company-polish .ac-search-focus { padding: 0; gap: 18px; margin-bottom: 56px; border: 0; border-radius: 0; background: none; }
    .am-company-polish .ac-search-focus .ac-search-lead { max-width: none; margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: none; text-align: left; }
    .am-company-polish .ac-search-lead .am-eyebrow { margin: 0 0 22px; }
    .am-company-polish .ac-search-lead h3 { margin: 0 0 20px; }
    .am-company-polish .ac-search-lead > p:not(.am-eyebrow) { margin: 0 0 18px; }
    .am-company-polish .ac-search-lead .ac-search-link { margin: 24px 0 0; }
    .am-company-polish .ac-search-disciplines { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .am-company-polish .ac-search-discipline { padding: 24px; border: 1px solid #a981cf25; border-image: none; border-radius: 16px; background: #131824; }
    .am-company-polish .ac-search-discipline .ac-search-label { margin-bottom: 14px; line-height: 1.6; }
    .am-company-polish .ac-search-discipline h4 { margin-bottom: 14px; }
    .am-company-polish .ac-capability-grid { gap: 28px; }
    .am-company-polish .ac-capability { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 26px 0 0; }
    .am-company-polish .ac-capability > :is(h3, p) { grid-column: 1; margin: 0; }
    .am-company-polish .ac-capability .ac-capability-label { grid-column: 1; margin: 0 0 2px; }
    .am-company-polish .ac-capability > p:not([class]),
    .am-company-polish .ac-capability .ac-capability-links { grid-column: 1; margin: 0; }
    .am-company-polish .ac-approach-grid > .ac-section-head { max-width: none; margin: 0; text-align: left; }
    .am-company-polish .ac-approach-grid .ac-section-head p:last-child { margin-inline: 0; }
    .am-company-polish .ac-values-grid { gap: 14px; }
    .am-company-polish .ac-value { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px 14px; padding: 22px; border-radius: 16px; }
    .am-company-polish .ac-value::before { grid-column: 1; grid-row: 1 / 3; width: 26px; height: 26px; }
    .am-company-polish .ac-value h3 { grid-column: 2; margin: 0; font-size: 21px; }
    .am-company-polish .ac-value p { grid-column: 2; font-size: 15px; line-height: 1.7; }
    .am-company-polish .ac-product { padding: 22px; gap: 24px; border-radius: 18px; }
    .am-company-polish .ac-product-copy > .am-eyebrow { margin: 0 0 16px; }
    .am-company-polish .ac-product-copy h3 { margin: 0 0 16px; font-size: 27px; }
    .am-company-polish .ac-product-copy > p:not(.am-eyebrow) { margin: 0 0 14px; }
    .am-company-polish .ac-product-copy .ac-product-link { margin: 0; }
    .am-company-polish .ac-product-visual { width: 100%; margin: 0; aspect-ratio: auto; }
    .am-company-polish .ac-product-image { width: 100%; max-width: none; margin: 0; box-sizing: border-box; }
    .am-company-polish .ac-product-image img { height: auto; aspect-ratio: auto; object-fit: contain; }
    .am-company-polish .ac-work .am-work-caption { padding: 18px 0 0; }
    .am-company-polish .ac-work .am-work-caption h3 { font-size: 23px; }
    .am-company-polish .ac-closing-panel { text-align: center; padding: 28px 24px; }
    .am-company-polish .ac-closing-panel .ad-actions { justify-content: center; }
    .am-company-polish .ac-closing-copy h2 { font-size: clamp(28px, 6.5vw, 36px); }

    /* Product hub cards use the same contained screenshot slot as Home. */
    .am-prod-page.am-prod-hub .amp-product-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .am-prod-page.am-prod-hub .amp-product-card { min-width: 0; padding: 24px; border-radius: 18px; }
    .am-prod-page.am-prod-hub .amp-product-card .amp-card-preview { padding: 12px; }
    .am-prod-page.am-prod-hub .amp-product-card .amp-card-preview img { display: block; width: 100%; height: 180px; object-fit: contain; object-position: center; }
}

@media (max-width: 600px) {
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid) { gap: 14px; }
    .wp-site-blocks main :is(.am-r5-project-pair, .am-service-project-grid, .am-case-related-grid, .am-r5-service-grid, .am-project-grid, .ad-articles--related .ad-article-grid) > * { flex-basis: 86%; max-width: 86%; }
    .am-company-polish :is(.ac-culture-items, .ac-steps, .ac-product-grid, .ac-ecosystem-links) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .am-company-polish .ac-step { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; }
    .am-company-polish .ac-step-number { grid-column: 1; }
    .am-company-polish .ac-step-copy { grid-column: 2; }
}
