/*
 * Sitewide cohesion layer.
 *
 * This is deliberately the final stylesheet on every route. It turns the
 * accumulated page-era styles into one restrained system: quiet neutral
 * surfaces, one type hierarchy, one spacing rhythm, and consistent controls.
 * Dark marketing pages and light engineering libraries remain purposeful
 * modes of the same system rather than unrelated themes.
 */

:root {
    --cohesion-canvas: #0a0a0b;
    --cohesion-surface: #141415;
    --cohesion-surface-raised: #181819;
    --cohesion-surface-soft: #101011;
    --cohesion-ink: #f5f5f7;
    --cohesion-copy: rgba(245, 245, 247, 0.68);
    --cohesion-muted: rgba(245, 245, 247, 0.48);
    --cohesion-line: rgba(255, 255, 255, 0.10);
    --cohesion-line-strong: rgba(255, 255, 255, 0.18);
    --cohesion-light-canvas: #f5f5f7;
    --cohesion-light-surface: #ffffff;
    --cohesion-light-ink: #1d1d1f;
    --cohesion-light-copy: #6e6e73;
    --cohesion-light-line: #d2d2d7;
    --cohesion-card-shadow: none;
    --cohesion-light-shadow: none;
    --cohesion-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --cohesion-section-space: clamp(76px, 8vw, 116px);
    --cohesion-heading-gap: clamp(30px, 4vw, 48px);
    --cohesion-card-pad: clamp(22px, 2.6vw, 30px);
}

html,
body {
    background-color: var(--cohesion-canvas);
}

html body {
    color: var(--cohesion-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
    font-kerning: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html body:not(.case-library-page) {
    background: var(--cohesion-canvas) !important;
    color: var(--cohesion-ink) !important;
}

html body :is(.ambient-bg, .cursor-glow) {
    display: none !important;
}

html body :is(h1, h2, h3, h4) {
    color: inherit;
    font-weight: 700;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

html body :is(p, li, dd) {
    text-wrap: pretty;
}

html body:not(.case-library-page) main :is(h1, h2, h3, h4) {
    color: var(--cohesion-ink) !important;
}

html body :is(.page-hero h1, .blog-page-hero h1, .hs-hero h1) {
    font-size: clamp(42px, 5.4vw, 68px);
    line-height: 1.01;
}

html.page-home body .hero h1 {
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.02;
}

html body :is(.section-title, .hs-section > h2, .case-section-heading h2) {
    font-size: clamp(31px, 3.8vw, 48px);
    line-height: 1.08;
}

html body .article-title {
    max-inline-size: 20ch;
    font-size: clamp(38px, 5vw, 58px) !important;
    line-height: 1.04 !important;
}

/* Eyebrows are typography, never filled strips or decorative badges. */
html body :is(
    .section-label,
    .hs-kicker,
    .case-section-kicker,
    .case-card__eyebrow,
    .case-dialog__eyebrow,
    .platform-principles__eyebrow,
    .case-library-editorial__eyebrow
) {
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    font-size: 11.5px !important;
    font-weight: 720 !important;
    letter-spacing: 0.085em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

html body:not(.case-library-page) :is(
    .section-label,
    .hs-kicker,
    .case-section-kicker,
    .platform-principles__eyebrow
) {
    color: rgba(245, 245, 247, 0.58) !important;
}

html body:not(.case-library-page) :is(
    .section-desc,
    .page-hero-desc,
    .hero-desc,
    .hs-hero > p:not(.hs-breadcrumb):not(.hs-kicker),
    .hs-section > p,
    .article-meta,
    .case-basis
) {
    color: var(--cohesion-copy) !important;
    line-height: 1.65 !important;
}

/* One left-anchored editorial rhythm across marketing page families. */
html body main .section-header {
    inline-size: min(100%, 760px);
    max-inline-size: 760px !important;
    margin: 0 0 var(--cohesion-heading-gap) !important;
    text-align: start !important;
}

html body main .section-header :is(.section-title, .section-desc) {
    margin-inline: 0 !important;
    text-align: start !important;
}

html body main .section-header .section-title {
    margin-block: 10px 14px !important;
}

html body main .section-header .section-desc {
    max-inline-size: 62ch !important;
}

html body:not(.case-library-page) main > :is(.section, .blog-section) {
    background: transparent !important;
    background-image: none !important;
}

html body:not(.case-library-page) :is(.section-light, .section--band) {
    border-block: 1px solid var(--cohesion-line) !important;
    background: var(--cohesion-surface-soft) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body:not(.case-library-page) :is(.section-light, .section--band)::before,
html body:not(.case-library-page) :is(.section-light, .section--band)::after {
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body .hs-layout .hs-section {
    margin: 0 !important;
    padding-block: var(--cohesion-section-space) !important;
    border: 0 !important;
    border-top: 1px solid var(--cohesion-line) !important;
    background: transparent !important;
    background-image: none !important;
}

/* Quiet dark surfaces: thin edge, minimal depth, no glass or colored glow. */
html body:not(.case-library-page) :is(
    .glass-panel,
    .glass-panel-light,
    .floating-card,
    .point-chip,
    .flow-item,
    .process-detail,
    .platform-principle,
    .service-card,
    .industry-card:not(.industry-card--bg),
    .case-card,
    .cap-card,
    .cap-item,
    .cap-spec,
    .quality-card,
    .cert-card,
    .cert-item,
    .equip-card,
    .ind-card,
    .vas-card,
    .gallery-card,
    .blog-card,
    .faq-item,
    .value-card,
    .stat-card,
    .process-step,
    .featured-spec,
    .lead-card,
    .evidence-slot,
    .factory-proof-slot,
    .factory-proof-card,
    .factory-card,
    .is-feature,
    .oi-card,
    .timeline-item,
    .step-item,
    .wf-step,
    .mat-card,
    .hs-visual-break__item,
    .cert-banner,
    .stats-banner,
    .seo-link-card,
    .decision-signal,
    .contact-route,
    .cta-info-item,
    .promise-box,
    .quality-cta,
    .cta-wrap,
    .tech-item,
    .hs-card,
    .hs-scope-card,
    .hs-item,
    .hs-panel,
    .hs-step,
    .hs-contact,
    .article-cta,
    .contact-form,
    .thank-wrap
) {
    border: 1px solid var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: var(--cohesion-card-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body:not(.case-library-page) :is(
    .value-card,
    .cert-card,
    .equip-card,
    .hs-card,
    .hs-scope-card,
    .hs-item,
    .hs-panel,
    .hs-step,
    .evidence-slot,
    .seo-link-card,
    .article-faq-item
) {
    padding: var(--cohesion-card-pad) !important;
}

html body :is(.glass-panel, .glass-panel-light, .floating-card, .article-cta)::before,
html body :is(.glass-panel, .glass-panel-light, .floating-card, .point-chip, .article-cta)::after,
html body :is(.point-chip)::before {
    content: none !important;
    display: none !important;
}

/* Photography sits in quiet neutral frames; image pixels remain untouched. */
html body:not(.case-library-page) :is(
    .factory-media,
    .factory-proof-frame,
    .story-image,
    .story-media,
    .vas-media,
    .gallery-img-wrap,
    .featured-img,
    .closeup-card,
    .step-image,
    .evidence-slot__frame,
    .cap-img-wrap,
    .capacity-image-wrapper,
    .feature-img,
    .service-card-img,
    .img-placeholder,
    .article-cover-placeholder,
    .blog-img-placeholder
) {
    border-color: var(--cohesion-line) !important;
    background-color: var(--cohesion-surface-soft) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body.page-about .factory-media .image-slot-pending {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface-soft) !important;
    background-image: none !important;
}

@media (hover: hover) and (pointer: fine) {
    html body:not(.case-library-page) :is(
        .service-card,
        .industry-card,
        .cap-card,
        .cap-item,
        .point-chip,
        .flow-item,
        .process-detail,
        .platform-principle,
        .cert-card,
        .cert-item,
        .equip-card,
        .ind-card,
        .vas-card,
        .gallery-card,
        .blog-card,
        .faq-item,
        .value-card,
        .process-step,
        .featured-spec,
        .decision-signal,
        .contact-route,
        .cta-info-item,
        .promise-box,
        .factory-card,
        .is-feature,
        .oi-card,
        .timeline-item,
        .step-item,
        .wf-step,
        .mat-card,
        .hs-visual-break__item,
        .evidence-slot,
        .seo-link-card,
        .hs-card,
        .hs-scope-card,
        .hs-item,
        .hs-step
    ):hover {
        --ty: 0px !important;
        border-color: var(--cohesion-line-strong) !important;
        background-color: var(--cohesion-surface-raised) !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.page-capabilities #industries .ind-card:hover,
    html body.page-capabilities .cap-card:hover,
    html body.page-quality .equip-card:hover,
    html body.page-services .vas-card:hover {
        --ty: 0px !important;
        transform: none !important;
    }
}

/* Icon tiles support hierarchy but do not become accent-colored cards. */
html body:not(.case-library-page) :is(
    .service-icon,
    .services-task-icon,
    .cap-icon,
    .cap-item-icon,
    .ind-icon,
    .industry-icon,
    .cert-icon,
    .value-icon,
    .vas-icon,
    .oi-icon,
    .is-feature-icon,
    .step-marker,
    .wf-num,
    .footer-contact-icon
) {
    border-color: var(--cohesion-line) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.9) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Buttons use one monochrome hierarchy and one interaction model. */
html body :is(
    .nav-cta,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .article-cta-button,
    .hs-btn,
    .ai-quote-submit,
    .hp-cookie-btn,
    .case-filter-button,
    .case-library-editorial__primary-link,
    .case-library-editorial__secondary-link
) {
    min-block-size: 44px !important;
    padding: 11px 18px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 680 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.15 !important;
    transition: background-color 180ms var(--cohesion-ease), border-color 180ms var(--cohesion-ease), color 180ms var(--cohesion-ease), opacity 180ms var(--cohesion-ease), transform 120ms var(--cohesion-ease) !important;
}

html body:not(.case-library-page) :is(
    .nav-cta,
    .btn-primary,
    .article-cta-button,
    .hs-btn-primary,
    .ai-quote-submit
) {
    border: 1px solid #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
}

html body:not(.case-library-page) :is(
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .hs-btn-ghost
) {
    border: 1px solid var(--cohesion-line-strong) !important;
    background: transparent !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.84) !important;
}

html body :is(
    .nav-cta,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .article-cta-button,
    .hs-btn,
    .ai-quote-submit,
    .hp-cookie-btn
):active {
    transform: scale(0.985) !important;
}

html body:not(.case-library-page) :is(
    .learn-more,
    .blog-readmore,
    .article-back,
    .article-related-link,
    .hs-next-links a,
    .location-card__link
) {
    color: rgba(245, 245, 247, 0.72) !important;
    text-decoration-color: rgba(245, 245, 247, 0.28) !important;
}

html body:not(.case-library-page) :is(
    .learn-more,
    .blog-readmore,
    .article-back,
    .article-related-link,
    .hs-next-links a,
    .location-card__link
):is(:hover, :focus-visible) {
    color: #ffffff !important;
}

/* Forms share one calm field shape and neutral focus state. */
html body :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    textarea,
    select,
    .form-control,
    .case-library-search,
    .upload-zone,
    .drop-zone,
    .file-drop
) {
    min-block-size: 46px;
    padding: 12px 14px;
    font: inherit;
    font-size: 14px;
    box-shadow: none !important;
}

html body:not(.case-library-page) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    textarea,
    select,
    .form-control,
    .upload-zone,
    .drop-zone,
    .file-drop
) {
    border: 1px solid var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-soft) !important;
    color: var(--cohesion-ink) !important;
}

html body:not(.case-library-page) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    textarea,
    select,
    .form-control,
    .upload-zone,
    .drop-zone,
    .file-drop
):is(:focus, :focus-within) {
    border-color: rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06) !important;
}

/* Long-form pages become editorial rather than a card inside a card. */
html body.page-blog-detail .blog-detail {
    inline-size: 100% !important;
    max-inline-size: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

html body.page-blog-detail .article-container {
    inline-size: min(100%, 960px) !important;
    margin-inline: auto !important;
    padding: clamp(38px, 5vw, 64px) !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.page-blog-detail :is(.article-title, .article-meta, .article-content, .article-related, .article-faq, .article-cta) {
    margin-inline: auto !important;
}

html body.page-blog-detail :is(.article-meta, .article-content) {
    max-inline-size: 70ch !important;
}

html body.page-blog-detail .article-content {
    color: var(--cohesion-copy) !important;
    font-size: 17px !important;
    line-height: 1.76 !important;
}

html body.page-blog-detail .article-content :is(h2, h3) {
    margin-block: 2.1em 0.7em !important;
    color: var(--cohesion-ink) !important;
}

html body.page-blog-detail .article-content a {
    color: #f5f5f7 !important;
    text-decoration-color: rgba(245, 245, 247, 0.34) !important;
    text-underline-offset: 0.2em;
}

html body.page-blog-detail .article-related-link {
    min-block-size: 48px !important;
    padding: 14px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--cohesion-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.page-blog-detail .article-faq-item {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    box-shadow: none !important;
}

html body.page-blog-detail :is(.article-rfq-summary, .article-file-table-wrap) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Flat, information-first footers match every dark route. */
html body:not(.case-library-page) :is(.footer, .hs-footer) {
    border-top: 1px solid var(--cohesion-line) !important;
    background: #080809 !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body:not(.case-library-page) .footer .footer-container {
    padding-block: clamp(58px, 7vw, 84px) 28px !important;
}

html body:not(.case-library-page) .footer .footer-col--contact {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body:not(.case-library-page) .footer :is(h3, .footer-title) {
    color: rgba(245, 245, 247, 0.88) !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
}

html body:not(.case-library-page) .footer :is(p, a, .footer-bottom) {
    color: rgba(245, 245, 247, 0.52) !important;
}

html body:not(.case-library-page) .footer a:is(:hover, :focus-visible) {
    color: rgba(245, 245, 247, 0.92) !important;
}

/* Utility pages receive the same hierarchy instead of isolated inline themes. */
html body .legal-wrap {
    inline-size: min(760px, calc(100% - 40px));
    max-inline-size: 760px !important;
    padding: clamp(108px, 12vw, 148px) 0 80px !important;
}

html body .legal-wrap h1 {
    margin-block-end: 12px !important;
    font-size: clamp(40px, 6vw, 58px) !important;
    line-height: 1.03 !important;
}

html body .legal-wrap h2 {
    margin: 38px 0 12px !important;
    color: var(--cohesion-ink) !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

html body .legal-wrap :is(p, li) {
    color: var(--cohesion-copy) !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
}

html body .legal-wrap a {
    color: rgba(245, 245, 247, 0.86) !important;
    text-decoration-color: rgba(245, 245, 247, 0.32) !important;
    text-underline-offset: 0.2em;
}

html body.page-thank-you .thank-wrap {
    inline-size: min(720px, calc(100% - 40px)) !important;
    padding: clamp(30px, 5vw, 48px) !important;
    border-radius: var(--site-geometry-radius-panel, 24px) !important;
}

html body.page-thank-you :is(.lead-id, #leadIdPill) {
    border-color: var(--cohesion-line-strong) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(245, 245, 247, 0.72) !important;
    box-shadow: none !important;
}

html body.page-thank-you .btn-primary,
html body.page-thank-you .btn[style] {
    border-color: #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
}

html body.page-thank-you .btn-muted {
    border-color: var(--cohesion-line-strong) !important;
    background: transparent !important;
    color: rgba(245, 245, 247, 0.82) !important;
}

/* Light engineering libraries: pure-white cards on one soft canvas. */
html body.case-library-page,
html body.case-library-page .hs-layout,
html body.case-library-page .hs-main {
    background: var(--cohesion-light-canvas) !important;
    background-image: none !important;
    color: var(--cohesion-light-ink) !important;
}

html body.case-library-page .hs-layout .hs-section {
    border-top-color: var(--cohesion-light-line) !important;
}

html body.case-library-page :is(
    .case-card,
    .case-library-legend,
    .case-evidence-card,
    .hs-card,
    .hs-scope-card,
    .hs-item,
    .hs-panel,
    .hs-step,
    .hs-contact,
    .case-dialog__architecture-block
) {
    border: 1px solid var(--cohesion-light-line) !important;
    background: var(--cohesion-light-surface) !important;
    background-image: none !important;
    box-shadow: var(--cohesion-light-shadow) !important;
}

html body.case-library-page :is(.hs-card, .hs-scope-card, .hs-item, .hs-panel, .hs-step, .case-evidence-card) {
    padding: var(--cohesion-card-pad) !important;
}

html body.case-library-page :is(h1, h2, h3, h4, .hs-kicker, .case-section-kicker, .case-card__eyebrow) {
    color: var(--cohesion-light-ink) !important;
}

html body.case-library-page :is(
    p,
    li,
    dd,
    .case-library-hero__lead,
    .case-card__summary,
    .case-results-count,
    .case-matrix-hint
) {
    color: var(--cohesion-light-copy) !important;
}

html body.case-library-page :is(.case-card__media, .case-card__media img, .hs-visual-media) {
    border-color: var(--cohesion-light-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.case-library-page :is(.hs-btn-primary, .case-dialog__actions .hs-btn-primary) {
    border-color: var(--cohesion-light-ink) !important;
    background: var(--cohesion-light-ink) !important;
    color: #ffffff !important;
}

html body.case-library-page :is(.hs-btn-ghost, .case-filter-button) {
    border-color: var(--cohesion-light-line) !important;
    background: transparent !important;
    color: var(--cohesion-light-ink) !important;
    box-shadow: none !important;
}

html body.case-library-page .case-filter-button[aria-pressed="true"] {
    border-color: var(--cohesion-light-ink) !important;
    background: var(--cohesion-light-ink) !important;
    color: #ffffff !important;
}

html body.case-library-page :is(.case-library-search, .case-library-search input) {
    border-color: var(--cohesion-light-line) !important;
    background: #ffffff !important;
    color: var(--cohesion-light-ink) !important;
}

html body.case-library-page .case-matrix-scroll {
    border: 1px solid var(--cohesion-light-line) !important;
    border-radius: var(--site-geometry-radius-card, 18px) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.case-library-page :is(.case-footer, .hs-footer.case-footer) {
    border-top: 1px solid var(--cohesion-light-line) !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--cohesion-light-ink) !important;
    box-shadow: none !important;
}

html body.case-library-page .case-footer :is(p, a, span, strong) {
    color: var(--cohesion-light-copy) !important;
}

html body.case-library-page .case-footer :is(h2, a:hover, a:focus-visible) {
    color: var(--cohesion-light-ink) !important;
}

/* The Products engineering chapter uses the same light editorial mode. */
html body.page-products .case-library-editorial {
    padding-block: var(--cohesion-section-space) !important;
    background: var(--cohesion-light-canvas) !important;
    background-image: none !important;
    color: var(--cohesion-light-ink) !important;
}

html body.page-products .case-library-editorial :is(
    .case-library-editorial__hero,
    .case-library-editorial__row
) {
    border: 1px solid var(--cohesion-light-line) !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: var(--cohesion-light-shadow) !important;
}

html body.page-products .case-library-editorial :is(h2, h3, dt, .case-library-editorial__eyebrow) {
    color: var(--cohesion-light-ink) !important;
}

html body.page-products .case-library-editorial__featured h4 {
    color: var(--cohesion-light-ink) !important;
}

html body.page-products .case-library-editorial :is(p, li, dd, .case-library-editorial__meta) {
    color: var(--cohesion-light-copy) !important;
}

html body.page-products .case-library-editorial :is(
    .case-library-editorial__media,
    .case-library-editorial__media img,
    .case-library-editorial__hero-media
) {
    border-color: var(--cohesion-light-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.page-products .case-library-editorial .case-library-editorial__primary-link {
    border-color: var(--cohesion-light-ink) !important;
    background: var(--cohesion-light-ink) !important;
    color: #ffffff !important;
}

html body.page-products .case-library-editorial .case-library-editorial__secondary-link {
    border-color: var(--cohesion-light-line) !important;
    background: transparent !important;
    color: var(--cohesion-light-ink) !important;
}

/* Final cascade hardening for legacy ID rules and lazy-loaded modules. */
html body :focus-visible,
html:not(.page-home) body :focus-visible,
html.page-home body :focus-visible {
    outline: 2px solid rgba(245, 245, 247, 0.82) !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
}

html body.case-library-page :focus-visible {
    outline-color: rgba(29, 29, 31, 0.78) !important;
}

@media (min-width: 769px) {
    html body :is(.navbar.navbar, .hs-topbar.hs-topbar),
    html body :is(.navbar.navbar, .hs-topbar.hs-topbar).scrolled {
        box-sizing: border-box !important;
        min-block-size: 68px !important;
        padding-block: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--cohesion-line) !important;
        background: #080809 !important;
        background-image: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html body :is(.navbar.navbar .nav-container, .hs-topbar.hs-topbar .hs-topbar-inner) {
        min-block-size: 68px !important;
    }

    html body :is(.hs-mini-nav.hs-mini-nav, .case-library-toolbar.case-library-toolbar) {
        top: 68px !important;
    }
}

html.page-home body .fc-icon,
html.page-home body .hero .btn-secondary :is(svg, .icons),
html.page-home body .hero-stats .stat-value em {
    border-color: var(--cohesion-line) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.82) !important;
    box-shadow: none !important;
}

html.page-home body .hero-stats .stat-value em {
    border: 0 !important;
    background: transparent !important;
}

html body.page-capabilities main#main-content #capacity .capacity-banner {
    border: 1px solid var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.page-capabilities main#main-content #capacity .capacity-banner::before,
html body.page-capabilities main#main-content #capacity .capacity-banner::after {
    content: none !important;
    display: none !important;
}

html body.page-capabilities main#main-content #capacity .section-label {
    border: 0 !important;
    background: transparent !important;
    color: rgba(245, 245, 247, 0.58) !important;
    box-shadow: none !important;
}

html body.page-industries .industry-nav a:hover,
html body.page-industries .industry-nav a:focus-visible {
    border-color: var(--cohesion-line-strong) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.page-industries main#main-content :is(.is-visual, .industry-card, .industry-card-bg):hover {
    border-color: var(--cohesion-line-strong) !important;
    box-shadow: none !important;
}

html body.page-blog .pagination button:hover {
    border-color: var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-raised) !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.page-blog .pagination button.active {
    border-color: #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
    box-shadow: none !important;
}

html body.page-products .filter-btn.active,
html body.page-products .filter-btn[aria-pressed="true"] {
    border-color: #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
    box-shadow: none !important;
}

html body:not(.case-library-page) .hs-layout :is(
    .hs-breadcrumb a,
    .hs-buyer-strip span,
    .hs-contact a:not(.hs-btn),
    .hs-related a,
    .hs-next-links a
) {
    color: rgba(245, 245, 247, 0.68) !important;
    text-decoration-color: rgba(245, 245, 247, 0.25) !important;
}

html body:not(.case-library-page) .hs-layout :is(
    .hs-breadcrumb a,
    .hs-contact a:not(.hs-btn),
    .hs-related a,
    .hs-next-links a
):is(:hover, :focus-visible) {
    color: #ffffff !important;
}

html body :is(.lang-switcher__menu, .hs-mini-nav, .case-library-toolbar, .footer) {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body :is(.navbar.navbar, .hs-header.hs-header, .hs-topbar.hs-topbar) .lang-switcher__menu {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .lang-switcher__menu {
    border-color: var(--cohesion-line-strong) !important;
    background: #171718 !important;
    background-image: none !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34) !important;
}

html body:not(.case-library-page) .hs-mini-nav {
    border: 1px solid var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body.case-library-page .hs-mini-nav,
html body.case-library-page .case-library-toolbar {
    border: 1px solid var(--cohesion-light-line) !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body .case-dialog::backdrop,
html body .ai-quote-backdrop {
    background: rgba(0, 0, 0, 0.72) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .footer.footer {
    padding: 0 !important;
}

html body.page-blog-detail :is(.article-related, .article-faq) {
    padding-inline: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:not(.page-home) body.case-library-page .case-library-hero .hs-btn-ghost,
html:not(.page-home) body.case-library-page .hs-contact .hs-contact-actions .hs-btn-ghost,
html:not(.page-home) body.case-library-page .case-dialog .case-dialog__actions .hs-btn-ghost,
html:not(.page-home) body.case-library-page .case-library-hero .hs-btn-ghost:hover,
html:not(.page-home) body.case-library-page .hs-contact .hs-contact-actions .hs-btn-ghost:hover {
    border-color: var(--cohesion-light-line) !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--cohesion-light-ink) !important;
    box-shadow: none !important;
}

html body.page-products .case-library-editorial :is(
    .case-library-editorial__index-list a,
    .case-library-editorial__row-link,
    .case-library-editorial__focus dt,
    .case-library-editorial__featured a
) {
    border-color: var(--cohesion-light-line) !important;
    color: var(--cohesion-light-ink) !important;
    box-shadow: none !important;
}

html body.page-products .case-library-editorial .case-library-editorial__index-list a:is(
    :hover,
    :focus-visible,
    [aria-current="location"]
) {
    border-bottom-color: var(--cohesion-light-ink) !important;
    background: transparent !important;
    color: var(--cohesion-light-ink) !important;
}

html body.page-products .case-library-editorial .case-library-editorial__focus li::before {
    border-color: var(--cohesion-light-copy) !important;
    background: var(--cohesion-light-copy) !important;
    box-shadow: none !important;
}

html body.page-products .case-library-editorial .case-library-editorial__featured:is(:hover, :focus-within) {
    border-color: var(--cohesion-light-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.case-library-page .case-footer .case-footer__brand-link :is(span, strong),
html body.case-library-page .case-footer .case-footer__project-link {
    color: var(--cohesion-light-ink) !important;
}

html:not(.page-home) body.case-library-page main.hs-main .hs-contact {
    border: 1px solid var(--cohesion-light-line) !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--cohesion-light-ink) !important;
    box-shadow: none !important;
}

html:not(.page-home) body.case-library-page main.hs-main .hs-contact :is(h2, h3) {
    color: var(--cohesion-light-ink) !important;
}

html:not(.page-home) body.case-library-page main.hs-main .hs-contact :is(p, li) {
    color: var(--cohesion-light-copy) !important;
}

html body.case-library-page .case-footer .case-footer__project-link {
    border-color: var(--cohesion-light-ink) !important;
    background: var(--cohesion-light-ink) !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.case-library-page .case-footer .case-footer__project-link :is(span, strong, svg) {
    color: #ffffff !important;
}

/* The home hero uses the same solid surface system as every other card. */
html.page-home body .hero .hero-visual .floating-card,
html.page-home body #hero .hero-visual .floating-card,
html.page-home body .hero .point-chip {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body .hero :is(.floating-card, .point-chip)::before,
html.page-home body .hero :is(.floating-card, .point-chip)::after {
    content: none !important;
    display: none !important;
}

html.page-home body #hero .hero-content > .geo-answer-block.hero-platform-note,
html.page-home body #services .decision-signal-grid > .decision-signal,
html.page-home body #services .decision-signal-grid > .decision-signal + .decision-signal,
html.page-home body #services .decision-signal-grid > .decision-signal:nth-child(n + 3) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body main #services .services-grid > .service-card,
html.page-home body #services .cert-item,
html.page-home body #rfq-service-paths .seo-link-card,
html.page-home body #about .about-hl,
html.page-home body #capabilities .cap-list--cards .cap-item.glass-panel,
html.page-home body #tech-stack .tech-item.glass-panel,
html.page-home body #quality .flow-item,
html.page-home body #contact :is(.contact-form, .promise-box, .contact-route, .cta-info-item, .upload-zone),
html.page-home body #partners .client-logo {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body main #services .services-grid > .service-card:hover,
html.page-home body #services .cert-item:hover,
html.page-home body #rfq-service-paths .seo-link-card:hover,
html.page-home body #capabilities .cap-list--cards .cap-item.glass-panel:hover,
html.page-home body #tech-stack .tech-item.glass-panel:hover,
html.page-home body #quality .flow-item:hover,
html.page-home body #quality .quality-card:hover,
html.page-home body #partners .client-logo:hover {
    border-color: var(--cohesion-line-strong) !important;
    box-shadow: none !important;
    transform: none !important;
}

html.page-home body #about .about-hl-icon,
html.page-home body #contact .cta-info-icon,
html.page-home body #capabilities .cap-list--cards .cap-item-icon,
html.page-home body #industries .industry-card--bg .industry-icon,
html.page-home body .hero-content .hero-buttons .btn-secondary .icons {
    border-color: var(--cohesion-line) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.9) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body :is(.hero-badge, #services .cert-icon) {
    border-color: var(--cohesion-line) !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body #capabilities .cap-tech-chip,
html.page-home body #industries .industry-tags span {
    border-color: var(--cohesion-line) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.74) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body #toast.toast {
    border-color: var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-raised) !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body .lightbox-backdrop {
    background: rgba(0, 0, 0, 0.76) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.page-about main .page-hero .stats-grid > .stat-card.glass-panel,
html body.page-about main .page-hero .stats-grid > .stat-card.glass-panel:hover {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.page-services :is(#value-added, #buyer-paths, #rfq-checklist) .vas-icon {
    border-color: var(--cohesion-line) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    color: rgba(245, 245, 247, 0.9) !important;
    box-shadow: none !important;
}

html body.page-services :is(#value-added, #buyer-paths, #rfq-checklist) .vas-card,
html body.page-services #service-evidence .evidence-slot,
html body.page-services :is(#value-added, #buyer-paths, #rfq-checklist) .vas-card:hover {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.page-industries :is(.is-feature, .cert-item, .oi-card):hover,
html body.page-capabilities :is(.cap-card, .feature-img, .capacity-image-wrapper, .evidence-slot):hover {
    border-color: var(--cohesion-line-strong) !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.page-industries #industry-buyers .oi-card:hover {
    border-color: var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-raised) !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.page-industries .is-visual .img-placeholder,
html body.page-industries .is-visual:hover .img-placeholder,
html body.page-capabilities #capacity .capacity-image-wrapper {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface-soft) !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.page-products :is(.hero-counter, .stats-banner .stat-card) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body.page-products :is(.hero-counter, .stats-banner .stat-card)::before,
html body.page-products :is(.hero-counter, .stats-banner .stat-card)::after {
    content: none !important;
    display: none !important;
}

html.page-home body #contact #quoteForm :is(.rfq-details-toggle, .rfq-optional-details:not([hidden])) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface-soft) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.84) !important;
    box-shadow: none !important;
}

html.page-home body #contact #quoteForm .rfq-details-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) {
    border-color: var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-raised) !important;
    color: #ffffff !important;
}

html.page-home body #contact #quoteForm .rfq-details-toggle__indicator,
html.page-home body #contact #quoteForm .rfq-details-toggle[aria-expanded="true"] .rfq-details-toggle__indicator {
    border-color: var(--cohesion-line-strong) !important;
    background: rgba(255, 255, 255, 0.065) !important;
    color: rgba(245, 245, 247, 0.88) !important;
    box-shadow: none !important;
}

html.page-home body #contact.cta-section {
    border-top: 1px solid var(--cohesion-line) !important;
    background: var(--cohesion-canvas) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Lazy AI quote UI follows the same monochrome modal and control system. */
html.page-home body #contact .contact-route.ai-quote-trigger,
html.page-home body #contact .ai-quote-head-btn,
html.page-home body #contact .ai-quote-upload,
html.page-home body #contact .ai-quote-use,
html.page-home body #contact :is(.ai-quote-option, .ai-quote-result-card, .ai-quote-result-empty) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.88) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.page-home body #contact .ai-quote-head-btn:hover,
html.page-home body #contact .ai-quote-upload:hover,
html.page-home body #contact .ai-quote-use:not(:disabled):hover {
    border-color: var(--cohesion-line-strong) !important;
    background: var(--cohesion-surface-raised) !important;
    transform: none !important;
}

html body .ai-quote-dialog {
    border: 1px solid var(--cohesion-line-strong) !important;
    background: #111112 !important;
    background-image: none !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.48) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .ai-quote-kicker {
    padding-inline: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(245, 245, 247, 0.58) !important;
    box-shadow: none !important;
}

html.page-home body #contact .ai-quote-main {
    --ai-control-border: var(--cohesion-line-strong) !important;
    --ai-control-border-strong: rgba(255, 255, 255, 0.34) !important;
    --ai-control-fill: #101011 !important;
    --ai-control-fill-hover: #181819 !important;
    --ai-control-shadow: none !important;
}

html.page-home body #contact :is(
    .ai-quote-field input,
    .ai-quote-field select,
    .ai-quote-field textarea,
    .ai-quote-actions input,
    .ai-quote-actions select
) {
    border-color: var(--cohesion-line-strong) !important;
    background: #101011 !important;
    background-image: none !important;
    color: var(--cohesion-ink) !important;
    box-shadow: none !important;
}

html.page-home body #contact .ai-quote-actions select {
    appearance: auto !important;
    padding-inline-end: 16px !important;
}

html.page-home body #contact :is(
    .ai-quote-field input,
    .ai-quote-field select,
    .ai-quote-field textarea,
    .ai-quote-actions input,
    .ai-quote-actions select,
    .ai-quote-upload,
    .ai-quote-submit,
    .ai-quote-use,
    .ai-quote-head-btn
):focus-visible,
html body :is(.ai-quote-close, .ai-quote-use):focus-visible {
    outline: 2px solid rgba(245, 245, 247, 0.82) !important;
    outline-offset: 3px !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    box-shadow: none !important;
}

html.page-home body #contact .ai-quote-submit,
html.page-home body #contact .ai-quote-submit:hover,
html.page-home body #contact .ai-quote-submit[style] {
    border-color: #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
    box-shadow: none !important;
    transform: none !important;
}

html.page-home body #contact :is(.ai-quote-main, .ai-quote-result) {
    border-color: var(--cohesion-line) !important;
    background: var(--cohesion-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html.page-home body #contact .ai-quote-result-cta {
    border-color: #f5f5f7 !important;
    background: #f5f5f7 !important;
    background-image: none !important;
    color: #111112 !important;
    box-shadow: none !important;
}

html.page-home body #contact :is(
    .ai-quote-file-item,
    .ai-quote-upload.has-files,
    .ai-quote-status--notice,
    .ai-quote-confidence
) {
    border-color: var(--cohesion-line-strong) !important;
    background: rgba(255, 255, 255, 0.065) !important;
    background-image: none !important;
    color: rgba(245, 245, 247, 0.82) !important;
    box-shadow: none !important;
}

html.page-home body #contact .ai-quote-list:not(.ai-quote-list--risk) li::before {
    background: rgba(245, 245, 247, 0.72) !important;
}

html.page-home body::before {
    background: none !important;
    background-image: none !important;
}

html.page-home body .hero-grid {
    display: none !important;
    background: none !important;
    background-image: none !important;
}

html.page-home body .hero-img-main {
    border-color: var(--cohesion-line) !important;
    box-shadow: none !important;
}

html.page-home body :is(#industries .industry-card, #cases .case-card, #blog .blog-card, #contact .contact-route):hover {
    box-shadow: none !important;
    transform: none !important;
}

html.page-home body :is(#industries .industry-card, #cases .case-card, #blog .blog-card):hover img {
    transform: none !important;
}

/* Motion is present only where it communicates state. */
html body .tilt-card {
    --rx: 0deg !important;
    --ry: 0deg !important;
    --ty: 0px !important;
    transform: none !important;
    transform-style: flat !important;
}

html body :is(.service-card, .industry-card, .cap-card, .blog-card, .gallery-card, .hs-card, .hs-item, .hs-step) {
    transition: border-color 200ms var(--cohesion-ease), background-color 200ms var(--cohesion-ease), box-shadow 240ms var(--cohesion-ease) !important;
}

@media (max-width: 768px) {
    :root {
        --cohesion-section-space: clamp(58px, 15vw, 76px);
        --cohesion-heading-gap: 28px;
        --cohesion-card-pad: 20px;
    }

    html,
    body {
        overflow-x: clip !important;
    }

    html body :is(.page-hero h1, .blog-page-hero h1, .hs-hero h1),
    html.page-home body .hero h1 {
        font-size: clamp(36px, 10.5vw, 46px);
        line-height: 1.03;
    }

    html body :is(.section-title, .hs-section > h2, .case-section-heading h2) {
        font-size: clamp(29px, 8.5vw, 38px);
    }

    html body main .section-header {
        inline-size: 100%;
        margin-block-end: 28px !important;
    }

    html.page-home body .hero-stats .stat,
    html.page-home body .hero-stats .stat:nth-child(odd),
    html.page-home body .hero-stats .stat:nth-child(even),
    html.page-home body .hero-stats .stat:nth-child(n + 3) {
        border-color: var(--cohesion-line) !important;
        background: var(--cohesion-surface) !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    html.page-home body :is(
        #cases .case-grid.mobile-card-rail,
        #industries .industry-grid.mobile-card-rail,
        #services .services-grid.mobile-card-rail
    ):focus-visible {
        outline: 2px solid rgba(245, 245, 247, 0.82) !important;
        outline-offset: 3px !important;
        box-shadow: none !important;
    }

    html.page-home body #process :is(.process-step, .process-detail) {
        border-color: var(--cohesion-line) !important;
        background: var(--cohesion-surface) !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    html.page-home body #process .process-step.active {
        border-color: var(--cohesion-line-strong) !important;
        background: var(--cohesion-surface-raised) !important;
    }

    html.page-home body #process .process-step:focus-visible {
        outline: 2px solid rgba(245, 245, 247, 0.82) !important;
        outline-offset: -4px !important;
        box-shadow: none !important;
    }

    html.page-home body #process .process-step .step-marker {
        border-color: var(--cohesion-line) !important;
        background: rgba(255, 255, 255, 0.055) !important;
        color: rgba(245, 245, 247, 0.9) !important;
        box-shadow: none !important;
    }

    html.page-home body #process .process-step.active .step-marker {
        border-color: #f5f5f7 !important;
        background: #f5f5f7 !important;
        color: #111112 !important;
    }

    html.page-home body #faq .section-label {
        color: rgba(245, 245, 247, 0.58) !important;
    }

    html.page-home body #faq .faq-question-left > svg,
    html.page-home body #faq .faq-toggle {
        color: rgba(245, 245, 247, 0.78) !important;
    }

    html.page-home body #faq .faq-item.open .faq-toggle {
        border-color: var(--cohesion-line-strong) !important;
        background: rgba(255, 255, 255, 0.065) !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

    html.page-home body #faq .faq-question:focus-visible {
        outline: 2px solid rgba(245, 245, 247, 0.82) !important;
        outline-offset: -4px !important;
    }

    body.page-products .hero-btn-group .btn-ghost,
    body.page-capabilities .hero-btn-group .btn-ghost,
    html:not(.page-home) .platform-cta-actions :is(.btn-secondary, .btn-ghost, .btn-outline, .hs-btn-ghost) {
        border-color: var(--cohesion-line-strong) !important;
        background: transparent !important;
        background-image: none !important;
        color: rgba(245, 245, 247, 0.82) !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html body.page-blog-detail .article-container {
        padding: 30px 20px 54px !important;
    }

    html body.page-blog-detail .article-content {
        font-size: 16px !important;
        line-height: 1.72 !important;
    }

    html body.page-products .case-library-editorial {
        padding-inline: 20px !important;
    }

    html body.page-products .case-library-editorial > .section-container {
        inline-size: 100% !important;
    }

    html body.page-thank-you .thank-wrap {
        padding: 26px 22px !important;
    }

    html body:not(.case-library-page) .footer .footer-container {
        padding-block: 52px 24px !important;
    }
}

@media (max-width: 640px) {
    html body.page-services .vas-grid,
    html body.page-industries #industry-buyers .other-industries,
    html body.page-products .stats-banner-grid,
    html body.page-capabilities :is(.material-grid, .industry-grid) {
        gap: 12px !important;
    }

    html body.page-services :is(#value-added, #buyer-paths, #rfq-checklist) .vas-card.glass-panel,
    html body.page-industries #industry-buyers .oi-card,
    html body.page-products .stats-banner .stats-banner-grid .stat-card,
    html body.page-capabilities :is(.mat-card.glass-panel, .ind-card.glass-panel) {
        min-height: 0 !important;
        padding: 18px !important;
        border: 1px solid var(--cohesion-line) !important;
        border-radius: var(--site-geometry-radius-card, 18px) !important;
        background: var(--cohesion-surface) !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    html body.page-services :is(#value-added, #buyer-paths, #rfq-checklist) .vas-card + .vas-card,
    html body.page-industries #industry-buyers .oi-card + .oi-card,
    html body.page-products .stats-banner .stat-card:nth-child(n),
    html body.page-capabilities :is(.mat-card + .mat-card, .ind-card + .ind-card) {
        border: 1px solid var(--cohesion-line) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body *,
    html body *::before,
    html body *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }
}

/*
 * Unified motion language.
 *
 * These timings are a project-level translation of Apple's motion principles,
 * not values published by Apple. Motion communicates arrival, state, and
 * hierarchy; it never competes with the hardware evidence.
 */
:root {
    --site-motion-press: 120ms;
    --site-motion-control: 180ms;
    --site-motion-panel: 220ms;
    --site-motion-enter: 420ms;
    --site-motion-ease-control: cubic-bezier(0.32, 0.72, 0, 1);
    --site-motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Decorative effects are intentionally static. */
html body :is(.cursor-glow, .ripple) {
    display: none !important;
    animation: none !important;
}

html body :is(.ambient-bg .blob, .blob, .hero-img-main img, .floating-card) {
    animation: none !important;
    will-change: auto !important;
}

html body .hero-badge::before,
html body .img-placeholder::before {
    animation: none !important;
}

html body .tilt-card,
html body .magnetic {
    --rx: 0deg !important;
    --ry: 0deg !important;
    --mx: 0px !important;
    --my: 0px !important;
    transform: none !important;
    transform-style: flat !important;
    will-change: auto !important;
}

/* One short reveal language for static and dynamically inserted content. */
html.motion-ready body .fade-up:not(.visible):not(.is-visible),
html.motion-ready body [data-motion-reveal]:not(.visible):not(.is-visible) {
    opacity: 0 !important;
    filter: none !important;
    transform: translate3d(0, 8px, 0) !important;
    transition: opacity var(--site-motion-enter) var(--site-motion-ease-out),
        transform var(--site-motion-enter) var(--site-motion-ease-out) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
    will-change: opacity, transform !important;
}

html.motion-ready body :is(.fade-up.visible, .fade-up.is-visible),
html.motion-ready body [data-motion-reveal]:is(.visible, .is-visible) {
    opacity: 1 !important;
    filter: none !important;
    transform: translate3d(0, 0, 0) !important;
    transition: opacity var(--site-motion-enter) var(--site-motion-ease-out),
        transform var(--site-motion-enter) var(--site-motion-ease-out) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
    will-change: auto !important;
}

/* Controls respond quickly; normal cards never lift, tilt, or glow. */
html body :is(
    .nav-cta,
    .btn,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .hs-btn,
    .article-cta-button,
    .blog-readmore,
    .filter-btn,
    .case-filter-button,
    .lang-switcher__toggle,
    .lang-switcher__option,
    .mobile-toggle,
    .faq-question,
    .ai-quote-head-btn,
    .ai-quote-submit,
    .ai-quote-use,
    .hp-cookie-btn,
    .lightbox-close,
    .case-dialog__close,
    .values-carousel__nav,
    .location-card__link,
    .mobile-conversion-bar__quote,
    .mobile-conversion-bar__whatsapp,
    .upload-zone,
    .captcha-refresh,
    .back-to-top,
    .whatsapp-float
) {
    transition-property: transform, opacity, color, background-color, border-color !important;
    transition-duration: var(--site-motion-control) !important;
    transition-timing-function: var(--site-motion-ease-control) !important;
    transition-delay: 0ms !important;
}

html.page-home body :is(
    .nav-cta,
    .btn,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .hs-btn,
    .article-cta-button,
    .blog-readmore,
    .filter-btn,
    .case-filter-button,
    .lang-switcher__toggle,
    .lang-switcher__option,
    .mobile-toggle,
    .faq-question,
    .location-card__link,
    .mobile-conversion-bar__quote,
    .mobile-conversion-bar__whatsapp,
    .upload-zone,
    .captcha-refresh,
    .back-to-top,
    .whatsapp-float
):hover,
html:not(.page-home) body :is(
    .nav-cta,
    .btn,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .hs-btn,
    .article-cta-button,
    .blog-readmore,
    .filter-btn,
    .case-filter-button,
    .lang-switcher__toggle,
    .lang-switcher__option,
    .mobile-toggle,
    .faq-question,
    .location-card__link,
    .mobile-conversion-bar__quote,
    .mobile-conversion-bar__whatsapp,
    .upload-zone,
    .captcha-refresh,
    .back-to-top,
    .whatsapp-float
):hover,
html.page-home body :is(.hero-actions, .hero-buttons, .form-submit, .page-hero-actions) :is(.btn-primary, .btn-secondary, .btn-outline):hover {
    transform: none !important;
}

html:not(.motion-reduced) body :is(
    .nav-cta,
    .btn,
    .btn-primary,
    .btn-primary-inline,
    .btn-secondary,
    .btn-outline,
    .btn-ghost,
    .hs-btn,
    .article-cta-button,
    .blog-readmore,
    .filter-btn,
    .case-filter-button,
    .lang-switcher__toggle,
    .lang-switcher__option,
    .mobile-toggle,
    .ai-quote-head-btn,
    .ai-quote-submit,
    .ai-quote-use,
    .hp-cookie-btn,
    .lightbox-close,
    .case-dialog__close,
    .values-carousel__nav,
    .back-to-top,
    .whatsapp-float
):active {
    transform: scale(0.985) !important;
    transition-duration: var(--site-motion-press) !important;
}

html body :is(
    .glass-panel,
    .glass-panel-light,
    .service-card,
    .industry-card,
    .quality-card,
    .case-card,
    .case-library-portal__card,
    .blog-card,
    .gallery-card,
    .value-card,
    .lead-card,
    .factory-card,
    .evidence-slot,
    .stat-card,
    .floating-card,
    .platform-principle,
    .article-cta,
    .hs-panel,
    .point-chip,
    .flow-item,
    .cap-spec,
    .client-logo,
    .testi-card,
    .faq-item,
    .cta-info-item,
    .decision-signal,
    .gallery-item,
    .upload-zone,
    .cap-card,
    .cap-item,
    .tech-item,
    .process-step,
    .process-detail,
    .contact-route,
    .contact-form,
    .promise-box,
    .hs-card,
    .hs-scope-card,
    .hs-item,
    .hs-step,
    .hs-contact,
    .vas-card,
    .oi-card,
    .mat-card,
    .cert-card,
    .equip-card,
    .seo-link-card
) {
    transition-property: opacity, background-color, border-color !important;
    transition-duration: var(--site-motion-panel) !important;
    transition-timing-function: var(--site-motion-ease-control) !important;
}

html body :is(
    .glass-panel,
    .glass-panel-light,
    .service-card,
    .industry-card,
    .quality-card,
    .case-card,
    .case-library-portal__card,
    .blog-card,
    .gallery-card,
    .value-card,
    .lead-card,
    .factory-card,
    .evidence-slot,
    .stat-card,
    .floating-card,
    .platform-principle,
    .article-cta,
    .hs-panel,
    .point-chip,
    .flow-item,
    .cap-spec,
    .client-logo,
    .testi-card,
    .faq-item,
    .cta-info-item,
    .decision-signal,
    .gallery-item,
    .upload-zone,
    .cap-card,
    .cap-item,
    .tech-item,
    .process-step,
    .process-detail,
    .contact-route,
    .contact-form,
    .promise-box,
    .hs-card,
    .hs-scope-card,
    .hs-item,
    .hs-step,
    .hs-contact,
    .vas-card,
    .oi-card,
    .mat-card,
    .cert-card,
    .equip-card,
    .seo-link-card
):hover {
    transform: none !important;
}

/* Gallery filtering is the only card motion: a short state transition. */
html body.page-products .gallery-card {
    transition: opacity var(--site-motion-panel) var(--site-motion-ease-control),
        transform var(--site-motion-panel) var(--site-motion-ease-control),
        background-color var(--site-motion-panel) var(--site-motion-ease-control),
        border-color var(--site-motion-panel) var(--site-motion-ease-control) !important;
}

/* Product and factory media stay documentary rather than zooming on hover. */
html body main :is(
    img,
    video,
    .industry-card-bg,
    .story-video
) {
    filter: none !important;
    transition: opacity var(--site-motion-panel) var(--site-motion-ease-control) !important;
    will-change: auto !important;
}

html body :is(
    .service-card,
    .industry-card,
    .case-card,
    .gallery-card,
    .gallery-item,
    .blog-card,
    .evidence-slot,
    .vas-card,
    .cap-card,
    .feature-img,
    .capacity-image-wrapper,
    .step-content,
    .story-image,
    .factory-proof-slot,
    .is-visual,
    .hs-visual-media,
    .factory-media,
    .closeup-card,
    .service-card-img
):hover :is(img, video) {
    filter: none !important;
    transform: none !important;
}

html body.page-industries main .is-visual:hover .img-placeholder img,
html body.page-capabilities main .cap-card:hover .cap-img-wrap img,
html body.page-capabilities main .feature-img:hover img,
html body.page-capabilities main .capacity-image-wrapper:hover img,
html body.page-capabilities main .evidence-slot:hover img,
html body.page-quality main .step-content:hover .step-image img,
html body.page-quality main .evidence-slot:hover .evidence-slot__frame--image img,
html body.page-about main .story-image:hover .story-video,
html body.page-about main .factory-proof-slot:hover .factory-proof-frame img,
html body.case-library-page main .case-card:hover .case-card__media img {
    filter: none !important;
    transform: none !important;
}

/* Navigation and menus use the same panel rhythm on every route. */
html body :is(.navbar, .hs-topbar) {
    transition-property: opacity, transform, background-color, border-color !important;
    transition-duration: var(--site-motion-panel) !important;
    transition-timing-function: var(--site-motion-ease-control) !important;
}

html body :is(.lang-switcher__menu, .hs-mini-nav) {
    filter: none !important;
    transition: opacity var(--site-motion-control) var(--site-motion-ease-control),
        transform var(--site-motion-panel) var(--site-motion-ease-out),
        visibility 0s linear var(--site-motion-panel) !important;
}

html body :is(.lang-switcher__menu.open, .lang-switcher__menu.active, .hs-mini-nav.active),
html body .lang-switcher.is-open .lang-switcher__menu {
    transition-delay: 0ms !important;
}

@media (max-width: 768px) {
    html.page-home body::before,
    html:not(.page-home) body::before {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 1490 !important;
        background: rgba(0, 0, 0, 0.64) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transition: opacity var(--site-motion-control) linear,
            visibility 0s linear var(--site-motion-control) !important;
    }

    html.page-home body.nav-open::before,
    html:not(.page-home) body.nav-open::before {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition-delay: 0ms !important;
    }

    html.page-home body #navLinks.nav-links,
    html:not(.page-home) body #navLinks.nav-links,
    html.page-home body .hs-topbar .hs-nav.nav-links,
    html:not(.page-home) body .hs-topbar .hs-nav.nav-links {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        filter: none !important;
        transform: translate3d(0, -6px, 0) !important;
        transition: opacity var(--site-motion-control) linear,
            transform var(--site-motion-panel) var(--site-motion-ease-out),
            visibility 0s linear var(--site-motion-panel) !important;
        transition-delay: 0ms !important;
        will-change: opacity, transform !important;
    }

    html.page-home body #navLinks.nav-links.active,
    html:not(.page-home) body #navLinks.nav-links.active,
    html.page-home body.nav-open #navLinks.nav-links,
    html:not(.page-home) body.nav-open #navLinks.nav-links,
    html.page-home body .hs-topbar .hs-nav.nav-links.active,
    html:not(.page-home) body .hs-topbar .hs-nav.nav-links.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: 0ms !important;
        will-change: auto !important;
    }

    html body #navLinks.nav-links > li,
    html body .hs-topbar .hs-nav.nav-links > :is(li, a),
    html:not(.page-home) body #navLinks.nav-links > li,
    html:not(.page-home) body .hs-topbar .hs-nav.nav-links > a {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        transition-delay: 0ms !important;
    }

    html:not(.page-home) body #navLinks.nav-links.active > :nth-child(n),
    html:not(.page-home) body.nav-open #navLinks.nav-links > :nth-child(n) {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        transition-delay: 0ms !important;
    }

    html body #navLinks.nav-links a.active,
    html body #navLinks.nav-links a:focus-visible,
    html body .hs-topbar .hs-nav.nav-links a.active,
    html body .hs-topbar .hs-nav.nav-links a:focus-visible {
        transform: none !important;
    }

    html:not(.motion-reduced) body #mobileToggle:active,
    html:not(.motion-reduced) body .mobile-toggle:active {
        transform: scale(0.985) !important;
    }

    html.motion-ready body .fade-up:not(.visible):not(.is-visible),
    html.motion-ready body [data-motion-reveal]:not(.visible):not(.is-visible) {
        transform: none !important;
        transition-duration: 360ms !important;
    }
}

/* Disclosure, feedback, and modal transitions explain a state change. */
html body .faq-toggle {
    transition: transform var(--site-motion-control) var(--site-motion-ease-control),
        color var(--site-motion-control) var(--site-motion-ease-control),
        background-color var(--site-motion-control) var(--site-motion-ease-control),
        border-color var(--site-motion-control) var(--site-motion-ease-control) !important;
}

html body .faq-item.open .faq-toggle {
    transform: rotate(45deg) !important;
}

html body .faq-answer,
html.page-home body #faq .faq-answer {
    display: grid !important;
    grid-template-rows: 0fr !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: grid-template-rows var(--site-motion-panel) var(--site-motion-ease-out),
        opacity var(--site-motion-control) linear !important;
}

html body .faq-answer > p,
html.page-home body #faq .faq-answer > p {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 16px 16px !important;
    overflow: hidden !important;
}

html.page-home body #faq .faq-answer > p {
    padding: 0 18px 19px 45px !important;
}

html body .faq-item.open .faq-answer,
html.page-home body #faq .faq-item.open .faq-answer {
    grid-template-rows: 1fr !important;
    max-height: none !important;
    padding: 0 !important;
    opacity: 1 !important;
}

html body .hp-cookie-banner {
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out),
        visibility 0s linear var(--site-motion-panel) !important;
}

html body .hp-cookie-banner.is-visible {
    transition-delay: 0ms !important;
}

html body :is(.back-to-top, .whatsapp-float) {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .back-to-top {
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out),
        visibility 0s linear var(--site-motion-panel),
        background-color var(--site-motion-control) var(--site-motion-ease-control),
        border-color var(--site-motion-control) var(--site-motion-ease-control) !important;
}

html body .back-to-top.visible {
    transition-delay: 0ms !important;
}

html body .scroll-progress > span,
html body #scrollProgressBar {
    width: 100% !important;
    transform: scaleX(0);
    transform-origin: left center;
    transition: none !important;
    will-change: transform;
}

html body .toast {
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out),
        visibility 0s linear var(--site-motion-panel) !important;
}

html body .toast.show {
    transition-delay: 0ms !important;
}

html body.page-about .values-carousel__dot,
html body.page-about .values-carousel__dot.is-active {
    width: 8px !important;
    background: rgba(245, 245, 247, 0.32) !important;
    transform: scaleX(1);
    transition: transform var(--site-motion-control) var(--site-motion-ease-control),
        opacity var(--site-motion-control) linear,
        background-color var(--site-motion-control) var(--site-motion-ease-control) !important;
}

html body.page-about .values-carousel__dot.is-active {
    background: #f5f5f7 !important;
    transform: scaleX(2.5);
}

html body .ai-quote-panel {
    transition: opacity var(--site-motion-control) linear,
        visibility 0s linear var(--site-motion-control) !important;
}

html body .ai-quote-panel.is-open {
    transition-delay: 0ms !important;
}

html body .ai-quote-dialog {
    transform: translate3d(0, 8px, 0) scale(0.99) !important;
    transition: transform var(--site-motion-panel) var(--site-motion-ease-out),
        opacity var(--site-motion-control) linear !important;
}

html body .ai-quote-panel.is-open .ai-quote-dialog {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

html body .case-dialog {
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(0.99);
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out),
        display var(--site-motion-panel) allow-discrete,
        overlay var(--site-motion-panel) allow-discrete !important;
    transition-behavior: allow-discrete;
}

html body .case-dialog[open] {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

html body .case-dialog::backdrop {
    opacity: 0;
    transition: opacity var(--site-motion-control) linear,
        display var(--site-motion-panel) allow-discrete,
        overlay var(--site-motion-panel) allow-discrete !important;
    transition-behavior: allow-discrete;
}

html body .case-dialog[open]::backdrop {
    opacity: 1;
}

html.page-home body .lightbox {
    transition: opacity var(--site-motion-control) linear,
        visibility 0s linear var(--site-motion-control) !important;
}

html.page-home body .lightbox.open {
    transition-delay: 0ms !important;
}

html.page-home body .lightbox-dialog {
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(0.99);
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out) !important;
}

html.page-home body .lightbox.open .lightbox-dialog {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

@starting-style {
    html body .case-dialog[open] {
        opacity: 0;
        transform: translate3d(0, 8px, 0) scale(0.99);
    }

    html body .case-dialog[open]::backdrop {
        opacity: 0;
    }
}

html body.page-products .lightbox-overlay {
    display: flex !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: opacity var(--site-motion-control) linear,
        visibility 0s linear var(--site-motion-control) !important;
}

html body.page-products .lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0ms !important;
}

html body.page-products .lightbox-content {
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(0.99);
    transition: opacity var(--site-motion-control) linear,
        transform var(--site-motion-panel) var(--site-motion-ease-out) !important;
}

html body.page-products .lightbox-overlay.active .lightbox-content {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

/* High-specificity legacy media rules must not reintroduce documentary zoom. */
html.page-home body #services .service-card:hover img,
html.page-home body main .industry-card--bg:hover .industry-card-bg,
html body.page-capabilities main .hero-image-wrapper:hover .hero-media-video,
html body .hs-layout main .hs-visual-break__item:hover img,
html:not(.page-home) body main .section figure:hover > img,
html:not(.page-home) body main .section .vas-media:hover > img,
html:not(.page-home) body main .section .sr-visual:hover img,
html body main .factory-card:hover :is(img, video) {
    filter: none !important;
    transform: none !important;
    transition: opacity var(--site-motion-panel) var(--site-motion-ease-control) !important;
}

/* Card surfaces change state without floating away from the page plane. */
html body.page-services main .page-hero .services-task-link:hover,
html body.page-services main .page-hero .services-task-link:active,
html body.page-services main #value-added .vas-card:hover,
html body.page-services main #buyer-paths .vas-card:hover,
html body.page-services main #rfq-checklist .vas-card:hover,
html body.page-services main #buyer-paths .vas-card:active,
html body.page-services main #rfq-checklist .vas-card:active,
html body.page-about main .timeline-content:hover {
    transform: none !important;
    box-shadow: none !important;
}

html body.page-services main .page-hero .services-task-link,
html body.page-about main .timeline-content {
    transition-property: color, background-color, border-color, opacity !important;
    transition-duration: var(--site-motion-panel) !important;
    transition-timing-function: var(--site-motion-ease-control) !important;
}

html body.page-services .services-hero-actions > :is(.btn-primary, .btn-secondary):hover {
    transform: none !important;
}

html body.page-services .services-hero-actions > :is(.btn-primary, .btn-secondary):active {
    transform: scale(0.985) !important;
}

html body.page-industries main .industry-nav a:hover,
html body .hs-topbar #navLinks.nav-links .nav-cta:hover,
html body .hs-topbar #navLinks.nav-links .nav-cta:focus-visible {
    transform: none !important;
}

/* Case-library light mode: remove dark-theme color remnants that were still
   reaching captions, related links, process numbers, and the shared footer. */
html body.case-library-page .case-library-hero__visual .hs-visual-media img,
html body.case-library-page .case-card__media img,
html body.case-library-page .case-dialog__image {
    mix-blend-mode: normal !important;
}

html body.case-library-page .case-library-hero__visual figcaption > span,
html body.case-library-page .case-library-hero__architecture span {
    border: 0 !important;
    background: transparent !important;
    color: #6e6e73 !important;
}

html body.case-library-page .case-library-hero__visual figcaption > strong,
html body.case-library-page .case-library-hero__architecture b {
    color: #1d1d1f !important;
}

html body.case-library-page main.hs-main .hs-step > span {
    width: auto !important;
    height: auto !important;
    align-self: flex-start !important;
    margin-bottom: 14px !important;
    border: 0 !important;
    background: transparent !important;
    color: #6e6e73 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

html body.case-library-page main.hs-main .hs-next-links > span {
    color: #6e6e73 !important;
}

html body.case-library-page main.hs-main .hs-next-links a {
    border: 1px solid var(--cohesion-light-line) !important;
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
}

html body.case-library-page main.hs-main .hs-next-links a:is(:hover, :focus-visible) {
    border-color: #a7a7ac !important;
    background: #ffffff !important;
    color: #000000 !important;
}

html:not(.page-home) body.case-library-page footer.hs-footer.case-footer .case-footer__brand .case-footer__brand-link :is(span, strong),
html:not(.page-home) body.case-library-page footer.hs-footer.case-footer :is(.case-footer__nav h2, .case-footer__contact h2) {
    color: #1d1d1f !important;
}

html:not(.page-home) body.case-library-page footer.hs-footer.case-footer :is(
    .case-footer__contact-item > span,
    .case-footer__proof-item > span
) {
    color: #6e6e73 !important;
}

html:not(.page-home) body.case-library-page footer.hs-footer.case-footer :is(
    .case-footer__summary,
    .case-footer__nav a,
    .case-footer__contact-item a,
    .case-footer__proof-item strong,
    .case-footer__legal,
    .case-footer__legal a
) {
    color: #515154 !important;
}

html:not(.page-home) body.case-library-page footer.hs-footer.case-footer .case-footer__legal #year {
    color: #515154 !important;
}

html:not(.page-home) body.case-library-page footer.hs-footer.case-footer :is(
    .case-footer__nav,
    .case-footer__contact,
    .case-footer__proof
) {
    border-color: var(--cohesion-light-line) !important;
}

/* The engineering-library hero becomes an editorial block on small screens,
   not a shrunken desktop card with edge-to-edge copy. */
@media (max-width: 780px) {
    /* A legacy pet-library rule turns this into auto-flowing columns. Reset it
       explicitly before choosing the two-column mobile summary layout. */
    html body.case-library-page .hs-buyer-strip {
        display: grid !important;
        grid-auto-flow: row !important;
        grid-auto-columns: auto !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: visible !important;
    }

    html body.case-library-page .hs-buyer-strip > div {
        min-inline-size: 0;
        overflow-wrap: break-word;
        word-break: normal;
    }

    /* Keep every mobile dossier field on one deliberate inset. The source
       case stylesheet previously reset these horizontal paddings to zero. */
    html body.case-library-page .case-card__body,
    html body.case-library-page .case-card:nth-child(even) .case-card__body,
    html body.case-library-page:is([data-case-category="pet"], [data-case-layout="dossier"]) .case-card__body {
        box-sizing: border-box;
        min-width: 0;
        padding: 28px clamp(24px, 6.5vw, 30px) 44px !important;
    }

    html body.case-library-page .case-card__media-note {
        box-sizing: border-box;
        min-width: 0;
        padding: 18px clamp(24px, 6.5vw, 30px) 24px !important;
    }

    html body.case-library-page .case-library-hero__visual {
        margin-top: 28px !important;
        overflow: hidden !important;
        border: 1px solid var(--cohesion-light-line) !important;
        border-radius: 20px !important;
        background: #ffffff !important;
    }

    html body.case-library-page .case-library-hero__visual .hs-visual-media {
        border: 0 !important;
        border-bottom: 1px solid var(--cohesion-light-line) !important;
        border-radius: 0 !important;
    }

    html body.case-library-page .case-library-hero__visual figcaption {
        padding: 22px !important;
        border-top: 0 !important;
    }

    html body.case-library-page .case-library-hero__architecture > div {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding-block: 12px !important;
    }

    html body.case-library-page .hs-buyer-strip {
        margin-top: 42px !important;
    }

    html body.case-library-page .hs-mini-nav {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 24px !important;
        padding-inline: 20px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-padding-inline: 20px;
    }

    html body.case-library-page .hs-mini-nav a {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        padding-block: 15px 13px !important;
        white-space: nowrap !important;
    }

    html body.case-library-page main.hs-main > .hs-section {
        padding-block: 64px !important;
    }

    html body.case-library-page main.hs-main > #reference-library {
        padding-top: 54px !important;
    }

    html body.case-library-page main.hs-main > #evidence-notice {
        padding-bottom: 36px !important;
    }

    html body.case-library-page main.hs-main > #evidence-notice + .hs-section {
        padding-top: 36px !important;
    }

    /* Mobile filter toolbar: full-width search, readable result count, then
       complete wrapping filters. No control is allowed to leave the card. */
    html body.case-library-page .case-library-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 14px !important;
        overflow: hidden;
    }

    html body.case-library-page .case-library-search {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0;
    }

    html body.case-library-page .case-library-search input {
        width: 100%;
        min-width: 0;
        padding-right: 16px !important;
        text-overflow: ellipsis;
    }

    html body.case-library-page .case-results-count {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: end;
        min-width: 0;
        padding-inline: 2px !important;
    }

    html body.case-library-page .case-filter-row {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 100%;
        min-width: 0;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body.case-library-page .case-filter-button {
        min-height: 40px !important;
        max-width: 100%;
        padding: 8px 14px !important;
        font-size: 13px !important;
        overflow-wrap: anywhere;
    }

    html body.case-library-page main.hs-main .hs-contact {
        padding: 24px 20px !important;
    }

    html body.case-library-page main.hs-main .hs-next-links {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    html body.case-library-page main.hs-main .hs-next-links > span {
        grid-column: 1 / -1;
    }

    html body.case-library-page main.hs-main .hs-next-links a {
        box-sizing: border-box;
        min-width: 0;
        min-height: 42px;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    html body.case-library-page footer.case-footer {
        padding: 36px 20px calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body.case-library-page footer.case-footer .case-footer__primary {
        gap: 28px !important;
    }

    html body.case-library-page footer.case-footer :is(.case-footer__nav, .case-footer__contact) {
        padding-top: 22px !important;
    }

    html body.case-library-page footer.case-footer .case-footer__proof {
        margin-top: 28px !important;
    }

    html body.page-products .case-library-editorial {
        padding-block: 32px 40px !important;
    }

    html body.page-products .case-library-editorial .section-container {
        width: min(calc(100% - 32px), 680px) !important;
    }

    html body.page-products .case-library-editorial__hero {
        gap: 0 !important;
        overflow: hidden;
        border-radius: 20px !important;
    }

    html body.page-products .case-library-editorial__intro {
        max-width: none;
        padding: 24px 24px 22px;
    }

    html body.page-products .case-library-editorial__eyebrow {
        margin-bottom: 10px;
        font-size: 10px;
        letter-spacing: 0.07em;
    }

    html body.page-products .case-library-editorial__intro h2 {
        font-size: clamp(34px, 9vw, 42px) !important;
        line-height: 1.06;
        letter-spacing: -0.04em;
    }

    html body.page-products .case-library-editorial__intro > p {
        margin-top: 14px;
        font-size: 16px;
        line-height: 1.5;
    }

    html body.page-products .case-library-editorial__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 18px;
    }

    html body.page-products .case-library-editorial :is(
        .case-library-editorial__primary-link,
        .case-library-editorial__secondary-link
    ) {
        width: 100%;
        min-height: 48px !important;
    }

    html body.page-products .case-library-editorial__hero-media {
        margin: 0 24px 24px;
        padding-top: 20px;
        border-top: 1px solid var(--cohesion-light-line) !important;
    }

    html body.page-products .case-library-editorial__hero-media img {
        height: auto !important;
        aspect-ratio: 4 / 3;
        transform: none !important;
    }

    html body.page-products .case-library-editorial__hero-media figcaption {
        padding-top: 10px;
    }
}

/* Services hero — one quiet capability matrix and one proof strip. Individual
   floating tiles gave every item the same visual weight and separated icons
   from their labels; the grouped treatment restores hierarchy on both desktop
   and mobile while keeping every destination intact. */
html body.page-services main .page-hero .services-task-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 20px !important;
    background: #111212 !important;
}

html body.page-services main#main-content section.page-hero .section-container > nav.services-task-grid {
    border-radius: 18px !important;
}

html body.page-services main .page-hero .services-task-link {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 16px !important;
    align-items: center !important;
    justify-content: initial !important;
    gap: 12px !important;
    min-height: 78px !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(245, 245, 247, 0.94) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 680 !important;
    line-height: 1.25 !important;
}

html body.page-services main .page-hero .services-task-link:nth-child(even) {
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body.page-services main .page-hero .services-task-link:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body.page-services main .page-hero .services-task-link:hover,
html body.page-services main .page-hero .services-task-link:focus-visible {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: #ffffff !important;
}

html body.page-services main .page-hero .services-task-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.065) !important;
}

html body.page-services main .page-hero .services-task-arrow {
    position: static !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: auto !important;
    color: rgba(245, 245, 247, 0.42) !important;
}

html body.page-services main .page-hero .services-hero-facts {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
    margin-top: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 18px !important;
    background: #101111 !important;
}

html body.page-services main .page-hero .services-hero-facts > div,
html body.page-services main .page-hero .services-hero-facts > div:first-child {
    min-height: 78px !important;
    box-sizing: border-box;
    padding: 14px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

html body.page-services main .page-hero .services-hero-facts > div + div {
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body.page-services main .page-hero .services-hero-facts dt {
    font-size: 22px !important;
}

html body.page-services main .page-hero .services-hero-facts dd {
    margin-top: 6px !important;
    font-size: 10px !important;
}

@media (min-width: 901px) {
    html body.page-services main .page-hero > .section-container {
        grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr) !important;
        column-gap: clamp(44px, 5vw, 72px) !important;
    }

    html body.page-services main .page-hero h1 {
        max-width: 11ch !important;
    }
}

@media (max-width: 900px) {
    html body.page-services main .page-hero .services-task-grid {
        margin-top: 24px !important;
        border-radius: 18px !important;
    }

    html body.page-services main .page-hero .services-task-link {
        grid-template-columns: 34px minmax(0, 1fr) 14px !important;
        gap: 10px !important;
        min-height: 72px !important;
        padding: 12px 14px !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
    }

    html body.page-services main .page-hero .services-task-icon {
        width: 34px !important;
        height: 34px !important;
        border-radius: 11px !important;
    }

    html body.page-services main .page-hero .services-task-arrow {
        width: 14px !important;
        height: 14px !important;
    }

    html body.page-services main .page-hero .services-hero-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-top: 16px !important;
        border-radius: 18px !important;
    }

    html body.page-services main .page-hero .services-hero-facts > div,
    html body.page-services main .page-hero .services-hero-facts > div:first-child {
        min-height: 74px !important;
        border: 0 !important;
    }

    html body.page-services main .page-hero .services-hero-facts > div:nth-child(even) {
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    html body.page-services main .page-hero .services-hero-facts > div:nth-child(n + 3) {
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
}

@media (max-width: 520px) {
    html body.page-services main .page-hero .services-task-link {
        grid-template-columns: 34px minmax(0, 1fr) !important;
    }

    html body.page-services main .page-hero .services-task-arrow {
        display: none !important;
    }
}

/* Products editorial library — desktop cards share a measured internal frame.
   The previous desktop layout placed copy directly against the card stroke and
   vertically centred each column independently, which created uneven blank
   bands from one library to the next. */
@media (min-width: 781px) {
    html body.page-products .case-library-editorial__hero {
        box-sizing: border-box;
        padding: 28px clamp(36px, 3.4vw, 48px) !important;
    }

    html body.page-products .case-library-editorial__row {
        box-sizing: border-box;
        align-items: start;
        padding: clamp(42px, 3.8vw, 54px) clamp(32px, 3.2vw, 44px) !important;
    }
}

@media (min-width: 1081px) {
    html body.page-products .case-library-editorial__hero {
        grid-template-columns: minmax(0, 1.2fr) minmax(380px, 0.8fr);
        gap: clamp(32px, 3vw, 42px) !important;
    }
}

@media (max-width: 520px) {
    html body.case-library-page .hs-buyer-strip {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    /* Products library cards use one consistent mobile inset. The body, media
       and featured links now share the same 24 px content line instead of
       touching the card border or being separated by desktop-sized gaps. */
    html body.page-products .case-library-editorial__row {
        gap: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        border-radius: 20px !important;
    }

    html body.page-products .case-library-editorial__body {
        padding: 24px 24px 20px !important;
    }

    html body.page-products .case-library-editorial__media-link {
        min-width: 0;
        padding: 0 24px 20px;
    }

    html body.page-products .case-library-editorial__media {
        border-top: 1px solid var(--cohesion-light-line) !important;
    }

    html body.page-products .case-library-editorial__media img {
        aspect-ratio: 4 / 3;
    }

    html body.page-products .case-library-editorial__media figcaption {
        padding-top: 10px;
    }

    html body.page-products .case-library-editorial__featured {
        padding: 0 24px 24px;
    }

    html body.page-products .case-library-editorial__featured h4 {
        margin-bottom: 10px;
    }
}

/* Motion accessibility is final in the cascade so it cannot be reopened. */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    html body *,
    html body *::before,
    html body *::after {
        animation: none !important;
        animation-duration: 0.001ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition: none !important;
        transition-duration: 0.001ms !important;
        transition-delay: 0ms !important;
    }

    html.motion-ready body .fade-up,
    html.motion-ready body [data-motion-reveal] {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

    html body :is(a, button, [role="button"], input[type="submit"]):active {
        transform: none !important;
    }

    html body :is(
        .nav-cta,
        .btn,
        .btn-primary,
        .btn-primary-inline,
        .btn-secondary,
        .btn-outline,
        .btn-ghost,
        .hs-btn,
        .article-cta-button,
        .blog-readmore,
        .filter-btn,
        .case-filter-button,
        .lang-switcher__toggle,
        .lang-switcher__option,
        .mobile-toggle,
        .ai-quote-head-btn,
        .ai-quote-submit,
        .ai-quote-use,
        .hp-cookie-btn,
        .captcha-refresh,
        .values-carousel__nav,
        .back-to-top,
        .whatsapp-float
    ):active {
        transform: none !important;
    }

    html body #navLinks.nav-links a:active,
    html body .hs-topbar .hs-nav.nav-links a:active,
    html body #mobileToggle:active,
    html body .mobile-toggle:active,
    html body .navbar .nav-cta:active,
    html body .hs-header .nav-cta:active,
    html body .hs-topbar .nav-cta:active,
    html body .hs-topbar #navLinks.nav-links .nav-cta:active,
    html body #navLinks.nav-links .nav-cta:active,
    html body .hs-topbar .hs-nav.nav-links .nav-cta:active,
    html.page-home body .navbar .nav-links .nav-cta:active,
    html:not(.page-home) body .navbar .nav-links .nav-cta:active,
    html.page-home body #navLinks.nav-links .nav-cta:active,
    html:not(.page-home) body #navLinks.nav-links .nav-cta:active,
    html body.page-about .values-carousel__nav:active:not(:disabled),
    html body .hp-cookie-btn:active,
    html body .captcha-refresh:active,
    html.page-home body #contact .captcha-refresh:active,
    html.page-home body #contact .ai-quote-upload:active,
    html.page-home body #contact .ai-quote-submit:active,
    html.page-home body #contact .ai-quote-use:not(:disabled):active,
    html body .mobile-conversion-bar a:active,
    html body .lang-switcher__toggle:active,
    html body .lang-switcher__option:active,
    html.page-home body #faq .faq-section-cta .btn-secondary:active,
    html.page-home body :is(.btn-primary, .btn-primary-inline, .btn-secondary, .btn-outline, .btn-ghost, .nav-cta, .contact-route, .blog-readmore, .location-card__link):active,
    html body.page-services main .page-hero .services-task-link:active,
    html body.page-services .services-hero-actions > :is(.btn-primary, .btn-secondary):active,
    html body.page-services main #buyer-paths .vas-card:active,
    html body.page-services main #rfq-checklist .vas-card:active {
        transform: none !important;
    }
}
/* visual-polish-20260801 */
html { scrollbar-gutter: stable; }
html body main [id] { scroll-margin-top: calc(var(--navbar-height, 72px) + 20px); }
html.white-apple-theme body :focus-visible { outline-color: rgba(29, 29, 31, 0.78) !important; }
