/* NeoChrom vendor storefront — isolated from the RDL theme. */
.neochrom-theme {
    --nc-ink: #071a38;
    --nc-ink-soft: #263b57;
    --nc-muted: #60738b;
    --nc-blue: #006f86;
    --nc-blue-dark: #064c63;
    --nc-blue-soft: #d8eaec;
    --nc-line: #b5c7ce;
    --nc-page: #9fbeca;
    --nc-canvas: #edf2f3;
    --nc-panel: #cddadf;
    --nc-panel-strong: #bfd0d7;
    --nc-surface: #f8f9fa;
    --nc-navy: #031c3c;
    --nc-max: 1320px;
    --ink: var(--nc-ink);
    --ink-soft: var(--nc-ink-soft);
    --muted: var(--nc-muted);
    --blue: var(--nc-blue);
    --blue-dark: var(--nc-blue-dark);
    --blue-soft: var(--nc-blue-soft);
    --line: var(--nc-line);
    --canvas: var(--nc-canvas);
    --navy: var(--nc-navy);
    --max-width: var(--nc-max);
    color: var(--nc-ink);
    background: var(--nc-page);
}

.neochrom-theme svg { display: block; }
.neochrom-theme .site-header,
.neochrom-theme .site-footer,
.neochrom-theme .public-main { width: 100%; max-width: none; margin-inline: 0; }
.neochrom-theme .public-main { overflow: hidden; background: var(--nc-canvas); }

/* Header and sticky breadcrumb rail */
.neochrom-theme .site-header {
    min-height: 84px;
    border-bottom: 1px solid var(--nc-line);
    background: rgb(248 249 250 / 97%);
    box-shadow: none;
    backdrop-filter: blur(14px);
}
.neochrom-theme .site-header.is-scrolled { box-shadow: 0 8px 28px rgb(3 28 60 / 12%); }
.neochrom-theme .header-inner,
.neochrom-theme .site-header.is-scrolled .header-inner {
    width: min(var(--nc-max), calc(100% - 48px));
    min-height: 84px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 24px;
    gap: clamp(22px, 2.8vw, 46px);
}
.neochrom-theme .brand img {
    width: 210px;
    height: 52px;
    object-fit: contain;
    object-position: left center;
}
.neochrom-theme .desktop-navigation { gap: clamp(16px, 1.65vw, 29px); }
.neochrom-theme .top-nav-item > a { color: var(--nc-ink); font-size: .79rem; font-weight: 760; }
.neochrom-theme .top-nav-item:has(.top-dropdown) > a::after {
    content: "";
    width: 5px;
    height: 5px;
    margin: -3px 0 0 6px;
    display: inline-block;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}
.neochrom-theme .language-nav a { color: #6d7d91; font-size: .68rem; }
.neochrom-theme .language-nav a[aria-current="page"] { color: #fff; background: var(--blue); }
.neochrom-theme .sticky-breadcrumbs {
    min-height: 40px;
    top: 84px;
    background: rgb(221 231 234 / 96%);
    border-bottom-color: var(--nc-line);
    box-shadow: 0 5px 17px rgb(3 28 60 / 5%);
}
.neochrom-theme .sticky-breadcrumbs .breadcrumbs {
    width: min(var(--nc-max), calc(100% - 48px));
    box-sizing: border-box;
    padding: 17px 24px 9px;
    color: #7a8ca1;
    font-size: .72rem;
}

/* Hero */
.neochrom-theme .hero {
    min-height: 0;
    grid-template-columns: minmax(0, 51%) minmax(0, 49%);
    background:
        linear-gradient(96deg, #edf2f3 0%, rgb(221 231 234 / 97%) 45%, rgb(191 208 215 / 72%) 100%),
        radial-gradient(circle at 82% 25%, #f8f9fa 0 17%, #cddadf 70%, #edf2f3 100%);
    border-bottom: 1px solid var(--nc-line);
}
.neochrom-theme .hero-copy {
    width: 100%;
    max-width: 710px;
    margin-left: max(24px, calc((100vw - var(--nc-max)) / 2));
    padding: 24px 30px 24px 0;
    align-self: center;
}
.neochrom-theme .hero .eyebrow { margin-bottom: 11px; font-size: .72rem; letter-spacing: .065em; text-align: right; }
.neochrom-theme .hero h1 {
    max-width: 690px;
    margin: 0;
    font-size: clamp(2.3rem, 3.4vw, 3.45rem);
    line-height: 1.04;
    letter-spacing: -.044em;
}
.neochrom-theme .hero-lead {
    max-width: 570px;
    margin: 20px 0 26px;
    color: var(--nc-ink-soft);
    font-size: clamp(.98rem, 1.12vw, 1.12rem);
    line-height: 1.55;
}
.neochrom-theme .hero-actions { width: min(470px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.neochrom-theme .hero-action {
    min-width: 0;
    min-height: 70px;
    padding: 12px 13px;
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr) 15px;
    align-items: center;
    gap: 9px;
    color: var(--nc-ink);
    background: var(--nc-surface);
    border: 1px solid var(--nc-line);
    border-radius: 7px;
    box-shadow: 0 7px 18px rgb(14 45 85 / 8%);
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.neochrom-theme .hero-action .action-icon { width: 27px; height: 27px; color: var(--nc-blue); }
.neochrom-theme .hero-action .action-arrow { width: 14px; height: 14px; color: var(--nc-blue); opacity: .9; }
.neochrom-theme .hero-action .action-copy { min-width: 0; }
.neochrom-theme .hero-action strong {
    overflow: hidden;
    color: inherit;
    font-size: .75rem;
    line-height: 1.2;
    text-overflow: ellipsis;
}
.neochrom-theme .hero-action small { margin-top: 3px; color: var(--nc-muted); font-size: .61rem; line-height: 1.2; }
.neochrom-theme .hero-action.is-active,
.neochrom-theme .hero-action:is(:hover, :focus-visible) {
    color: #fff;
    background: linear-gradient(135deg, #007e95, #07566f);
    border-color: transparent;
}
.neochrom-theme .hero-action.is-active .action-icon,
.neochrom-theme .hero-action.is-active .action-arrow,
.neochrom-theme .hero-action:is(:hover, :focus-visible) .action-icon,
.neochrom-theme .hero-action:is(:hover, :focus-visible) .action-arrow { color: #fff; }
.neochrom-theme .hero-action.is-active small,
.neochrom-theme .hero-action:is(:hover, :focus-visible) small { color: rgb(255 255 255 / 78%); }
.neochrom-theme .hero-action:hover { transform: translateY(-1px); }
.neochrom-theme .hero-visual { min-height: 0; align-items: center; }
.neochrom-theme .hero-image-preview {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    box-sizing: border-box;
    cursor: zoom-in;
    background: transparent;
    border: 0;
}
.neochrom-theme .hero-image-preview:focus-visible {
    outline: 3px solid var(--nc-blue);
    outline-offset: -3px;
}
.neochrom-theme .hero-visual::before {
    background:
        linear-gradient(90deg, var(--nc-panel) 0%, transparent 23%),
        repeating-linear-gradient(90deg, transparent 0 104px, rgb(6 76 99 / 6%) 105px 106px);
}
.neochrom-theme .hero-visual img {
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0 auto;
    display: block;
    object-fit: contain;
    object-position: center;
    filter: none;
    -webkit-mask-image:
        linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(180deg, transparent 0, #000 3%, #000 95%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(180deg, transparent 0, #000 3%, #000 95%, transparent 100%);
    mask-composite: intersect;
}

/* Service cards */
.neochrom-theme .service-section {
    width: min(var(--nc-max), calc(100% - 48px));
    padding: 22px 0 0;
}
.neochrom-theme .service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--nc-line);
    border-radius: 8px;
    box-shadow: 0 9px 30px rgb(10 45 88 / 7%);
    overflow: hidden;
}
.neochrom-theme .service-card,
.neochrom-theme .service-card:nth-child(n) {
    min-height: 360px;
    padding: 22px 19px 18px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(160px, auto) 150px;
    gap: 14px;
    position: relative;
    color: var(--nc-ink);
    background: #fff;
    border: 0;
    border-right: 1px solid var(--nc-line);
    border-radius: 0;
    box-shadow: none;
    transform: none;
}
.neochrom-theme .service-card:last-child { border-right: 0; }
.neochrom-theme .service-card-copy { min-width: 0; display: flex; align-items: flex-start; flex-direction: column; }
.neochrom-theme .service-card .service-icon {
    width: 37px;
    height: 37px;
    margin-bottom: 15px;
    color: var(--nc-blue);
    background: transparent;
    border-radius: 0;
}
.neochrom-theme .service-card h2 { margin: 0 0 9px; color: var(--nc-ink); font-size: 1rem; line-height: 1.26; }
.neochrom-theme .service-card p { margin: 0 0 14px; color: var(--nc-ink-soft); font-size: .78rem; line-height: 1.55; }
.neochrom-theme .service-card a {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--nc-blue);
    font-size: .74rem;
    font-weight: 720;
    text-decoration: none;
}
.neochrom-theme .service-card a svg { width: 14px; height: 14px; }
.neochrom-theme .service-image { width: 100%; height: 150px; min-height: 0; align-self: end; display: grid; place-items: center; overflow: hidden; border-radius: 7px; background: var(--nc-blue-soft); }
.neochrom-theme .service-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.neochrom-theme .service-image-position-top img { object-position: center top; }
.neochrom-theme .service-image-position-bottom img { object-position: center bottom; }
.neochrom-theme .service-image-position-left img { object-position: left center; }
.neochrom-theme .service-image-position-right img { object-position: right center; }
.neochrom-theme .service-image-position-top-left img { object-position: left top; }
.neochrom-theme .service-image-position-top-right img { object-position: right top; }
.neochrom-theme .service-image-position-bottom-left img { object-position: left bottom; }
.neochrom-theme .service-image-position-bottom-right img { object-position: right bottom; }
.neochrom-theme .service-image-fit-contain img { object-fit: contain; object-position: center; }
.neochrom-theme .service-card:hover .service-image img { transform: none; }
.neochrom-theme .service-image-preview {
    width: 100%;
    height: 100%;
    padding: 0;
    display: block;
    overflow: hidden;
    cursor: zoom-in;
    background: transparent;
    border: 0;
    border-radius: inherit;
}
.neochrom-theme .service-image-preview:focus-visible {
    outline: 3px solid var(--nc-blue);
    outline-offset: 3px;
}
.neochrom-theme.image-preview-open { overflow: hidden; }
.neochrom-theme .image-lightbox[hidden] { display: none; }
.neochrom-theme .image-lightbox {
    position: fixed;
    z-index: 3000;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgb(3 20 39 / 92%);
}
.neochrom-theme .image-lightbox-stage {
    width: 100%;
    height: 100%;
    padding:
        max(12px, env(safe-area-inset-top))
        max(12px, env(safe-area-inset-right))
        max(12px, env(safe-area-inset-bottom))
        max(12px, env(safe-area-inset-left));
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.neochrom-theme .image-lightbox-image {
    width: auto;
    height: auto;
    max-width: calc(100vw - 24px);
    max-width: calc(100dvw - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    display: block;
    object-fit: contain;
    object-position: center;
}
.neochrom-theme .image-lightbox-close {
    width: 44px;
    height: 44px;
    padding: 0;
    position: absolute;
    z-index: 1;
    top: max(10px, env(safe-area-inset-top));
    right: max(10px, env(safe-area-inset-right));
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    background: rgb(3 20 39 / 76%);
    border: 1px solid rgb(255 255 255 / 45%);
    border-radius: 50%;
}
.neochrom-theme .media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 120px;
    padding: 14px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 9px;
    color: #7488a1;
    background:
        linear-gradient(135deg, rgb(255 255 255 / 62%), transparent),
        repeating-linear-gradient(135deg, #edf3f8 0 10px, #e8eff6 10px 20px);
    border: 1px dashed #bdcddd;
    border-radius: inherit;
    text-align: center;
}
.neochrom-theme .media-placeholder svg { width: 30px; height: 30px; color: var(--nc-blue); }
.neochrom-theme .media-placeholder span { color: #657b95; font-size: .67rem; font-weight: 700; letter-spacing: .03em; }
@media (hover: hover) {
    .neochrom-theme .service-card:hover {
        color: var(--nc-ink);
        background: #fff;
        box-shadow: inset 0 3px 0 var(--nc-blue);
        transform: none;
    }
    .neochrom-theme .service-card:hover h2 { color: var(--nc-ink); }
    .neochrom-theme .service-card:hover a { color: var(--nc-blue); }
}

/* Standards / trust */
.neochrom-theme .trust-strip {
    width: min(calc(var(--nc-max) - 20px), calc(100% - 20px));
    margin: 10px auto;
    padding: 28px max(24px, calc((100vw - var(--nc-max)) / 2));
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    background: var(--nc-panel);
    border-block: 1px solid var(--nc-line);
}
.neochrom-theme .trust-strip .trust-item,
.neochrom-theme .trust-strip .trust-item:nth-child(n) {
    flex: 0 0 20%;
    min-width: 0;
    min-height: 74px;
    padding: 8px 18px;
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 13px;
    color: var(--nc-ink);
    border: 0;
    border-right: 1px solid var(--nc-line);
    text-align: left;
}
.neochrom-theme .trust-strip .trust-item:last-child { border-right: 0; }
.neochrom-theme .trust-item > svg { width: 36px; height: 36px; color: var(--nc-blue); }
.neochrom-theme .trust-item > span { min-width: 0; margin: 0; }
.neochrom-theme .trust-item strong { display: block; color: var(--nc-ink); font-size: .82rem; line-height: 1.25; }
.neochrom-theme .trust-item small { display: block; margin-top: 5px; color: var(--nc-muted); font-size: .68rem; line-height: 1.45; }

/* Applications / Why: two columns, stacked on mobile. */
.neochrom-theme .capability-grid {
    width: min(calc(var(--nc-max) - 48px), calc(100% - 48px));
    padding: 46px 32px;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: clamp(32px, 3.2vw, 48px);
    align-items: start;
    background: rgb(248 249 250 / 72%);
    border: 1px solid var(--nc-line);
    border-radius: 12px;
}
.neochrom-theme .process-section,
.neochrom-theme .story-section {
    width: min(calc(var(--nc-max) - 48px), calc(100% - 48px));
}
.neochrom-theme .process-list { gap: 12px; }
.neochrom-theme .process-list li {
    min-height: 92px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
}
.neochrom-theme .process-list span {
    padding-right: 14px;
    display: grid;
    place-items: center;
    border-right: 1px solid var(--nc-line);
    font-size: .72rem;
}
.neochrom-theme .process-list strong {
    align-self: center;
    font-size: clamp(.82rem, .9vw, .9rem);
    line-height: 1.35;
}
.neochrom-theme .capability-panel { min-width: 0; padding: 0; }
.neochrom-theme .applications-lead { color: var(--nc-ink); }
.neochrom-theme .applications-introduction { color: var(--nc-ink-soft); font-size: .92rem; }
.neochrom-theme .check-list.application-list { gap: 22px; }
.neochrom-theme .application-list li { font-size: .9rem; }
.neochrom-theme .application-copy h3 { color: var(--nc-ink); font-size: 1rem; }
.neochrom-theme .why-panel .check-list li { font-size: .86rem; line-height: 1.6; }
.neochrom-theme .capability-panel h2 { margin: 0 0 20px; font-size: clamp(1.45rem, 2.1vw, 2rem); letter-spacing: -.025em; }
.neochrom-theme .check-list { margin: 0 0 23px; gap: 10px; }
.neochrom-theme .check-list li {
    padding: 0;
    display: grid;
    grid-template-columns: 17px 1fr;
    align-items: start;
    gap: 9px;
    color: var(--nc-ink-soft);
    font-size: .82rem;
    line-height: 1.48;
}
.neochrom-theme .check-list li::before { display: none; }
.neochrom-theme .check-list li > svg {
    width: 16px;
    height: 16px;
    margin-top: 2px;
    padding: 3px;
    color: var(--nc-blue);
    background: var(--nc-blue-soft);
    border-radius: 50%;
}
.neochrom-theme .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--nc-blue);
    font-size: .78rem;
    text-decoration: none;
}
.neochrom-theme .text-link svg { width: 14px; height: 14px; }

/* CTA band */
.neochrom-theme .final-cta {
    padding: 30px max(24px, calc((100vw - var(--nc-max)) / 2));
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 36px;
    color: #fff;
    background: linear-gradient(110deg, #087b8d 0%, #07546a 52%, #04374f 100%);
}
.neochrom-theme .final-cta-copy { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 17px; }
.neochrom-theme .final-cta-copy > svg { width: 44px; height: 44px; color: #d4e7ff; }
.neochrom-theme .final-cta .eyebrow { margin: 0 0 6px; color: #d4e7ff; font-size: .67rem; }
.neochrom-theme .final-cta h2 { max-width: 680px; margin: 0; color: #fff; font-size: clamp(1.12rem, 1.75vw, 1.55rem); line-height: 1.35; }
.neochrom-theme .final-cta-side { display: grid; justify-items: center; gap: 7px; }
.neochrom-theme .final-cta-actions { display: flex; gap: 9px; }
.neochrom-theme .final-cta .button { min-height: 44px; padding: 10px 19px; border-radius: 6px; font-size: .78rem; }
.neochrom-theme .final-cta .button-primary { color: #0649b8; background: #fff; }
.neochrom-theme .final-cta .button-secondary { color: #fff; background: transparent; border-color: rgb(255 255 255 / 46%); }
.neochrom-theme .final-cta-side > small { color: #c3d7ef; font-size: .63rem; }

/* Footer */
.neochrom-theme .site-social-bar { display: none; }
.neochrom-theme .site-footer {
    padding: 42px max(24px, calc((100vw - var(--nc-max)) / 2)) 22px;
    color: #b9c9dc;
    background: linear-gradient(115deg, #07384a 0%, #04283c 58%, #021b2d 100%);
}
.neochrom-theme .footer-grid,
.neochrom-theme .footer-grid.footer-grid-configured {
    display: grid;
    grid-template-columns: minmax(210px, 1.45fr) repeat(6, minmax(92px, 1fr));
    gap: clamp(20px, 2.4vw, 38px);
}
.neochrom-theme .footer-brand img { width: 178px; height: 45px; filter: brightness(0) invert(1); }
.neochrom-theme .footer-brand p { max-width: 230px; margin: 15px 0; color: #b0c1d5; font-size: .74rem; line-height: 1.55; }
.neochrom-theme .group-links { gap: 4px; }
.neochrom-theme .group-links strong { font-size: .73rem; }
.neochrom-theme .group-links a { color: #91b9ef; font-size: .7rem; }
.neochrom-theme .footer-social-area {
    width: max-content;
    margin: 14px 0 18px;
    display: grid;
    justify-items: start;
    gap: 10px;
}
.neochrom-theme .footer-social-group { width: 100%; display: grid; gap: 6px; }
.neochrom-theme .footer-social-links,
.neochrom-theme .footer-share-links { display: flex; gap: 8px; }
.neochrom-theme .footer-social-label,
.neochrom-theme .footer-share > span { color: #91a9c2; font-size: .66rem; font-weight: 700; }
.neochrom-theme .footer-social-links a,
.neochrom-theme .footer-share-links a {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: #cfe3fb;
    background: rgb(255 255 255 / 7%);
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 5px;
}
.neochrom-theme .footer-social-links svg,
.neochrom-theme .footer-share-links svg { width: 13px; height: 13px; }
.neochrom-theme .footer-share {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 6px;
}
.neochrom-theme .footer-share-links { justify-self: end; }
.neochrom-theme .footer-column { gap: 6px; }
.neochrom-theme .footer-column .footer-title { margin-bottom: 5px; color: #fff; font-size: .75rem; font-weight: 800; }
.neochrom-theme .footer-column a { color: #b4c5d9; font-size: .69rem; line-height: 1.4; }
.neochrom-theme .footer-subtitle { color: #fff; font-size: .67rem; }
.neochrom-theme .footer-update-link { max-width: 170px; }
.neochrom-theme .footer-media-link { max-width: 180px; }
.neochrom-theme .footer-contact a { display: grid; grid-template-columns: 15px minmax(0, 1fr); gap: 7px; }
.neochrom-theme .footer-contact-icon { width: 14px; height: 14px; color: #d8e9fc; }
.neochrom-theme .footer-bottom { margin-top: 34px; padding-top: 16px; color: #849ab3; font-size: .65rem; }
.neochrom-theme .footer-bottom a { color: #9cb0c6; }
.neochrom-theme .footer-legal { margin-left: auto; display: flex; align-items: center; gap: 24px; }
.neochrom-theme .footer-legal a { margin-left: 0; }

/* Internal pages keep exactly the same content rail as the homepage. */
.neochrom-theme .page-shell {
    width: min(var(--nc-max), calc(100% - 48px));
    margin-inline: auto;
    padding: 32px 0 62px;
    background: transparent;
}
.neochrom-theme .content-card {
    width: 100%;
    padding: clamp(30px, 4vw, 56px);
    border: 1px solid var(--nc-line);
    border-radius: 9px;
    background: var(--nc-surface);
    box-shadow: 0 10px 34px rgb(10 45 88 / 7%);
}
.neochrom-theme .content-heading { margin-bottom: 28px; padding-bottom: 22px; }
.neochrom-theme .content-heading h1,
.neochrom-theme .legacy-content h1 { font-size: clamp(2.2rem, 3.5vw, 3.65rem); }
.neochrom-theme .legacy-content { max-width: 1080px; }
.neochrom-theme .mobile-action-bar svg { width: 23px; height: 23px; }

@media (min-width: 1181px) and (max-width: 1368px) {
    .neochrom-theme .hero-copy { margin-left: 32px; }
}

@media (min-width: 1369px) {
    .neochrom-theme .site-header {
        background: linear-gradient(
            90deg,
            var(--nc-page) 0 calc(50% - 660px),
            rgb(248 249 250 / 97%) calc(50% - 660px) calc(50% + 660px),
            var(--nc-page) calc(50% + 660px) 100%
        );
    }
    .neochrom-theme .sticky-breadcrumbs {
        background: linear-gradient(
            90deg,
            var(--nc-page) 0 calc(50% - 660px),
            rgb(221 231 234 / 96%) calc(50% - 660px) calc(50% + 660px),
            var(--nc-page) calc(50% + 660px) 100%
        );
    }
    .neochrom-theme .public-main {
        background: linear-gradient(
            90deg,
            var(--nc-page) 0 calc(50% - 660px),
            var(--nc-canvas) calc(50% - 660px) calc(50% + 660px),
            var(--nc-page) calc(50% + 660px) 100%
        );
    }
    .neochrom-theme .hero,
    .neochrom-theme .trust-strip {
        width: var(--nc-max);
        margin-inline: auto;
        overflow: hidden;
        border-radius: 12px;
    }
    .neochrom-theme .hero-copy {
        margin-left: 0;
        padding-left: 20px;
    }
    .neochrom-theme .hero h1 { font-size: clamp(2.45rem, 2.8vw, 3.1rem); }
    .neochrom-theme .trust-strip { width: calc(var(--nc-max) - 20px); padding-inline: 0; }
    .neochrom-theme .capability-panel {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .neochrom-theme .capability-panel .text-link {
        margin-top: auto;
        align-self: flex-start;
    }
}

@media (max-width: 1180px) {
    .neochrom-theme .hero-actions { grid-template-columns: 1fr 1fr; }
    .neochrom-theme .hero-action:nth-child(n + 3) { display: none; }
    .neochrom-theme .footer-grid,
    .neochrom-theme .footer-grid.footer-grid-configured { grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(120px, 1fr)); }
    .neochrom-theme .footer-contact { grid-column: auto; }
}

@media (max-width: 900px) {
    .neochrom-theme { --sticky-header-height: 76px; }
    .neochrom-theme .site-header { min-height: 76px; }
    .neochrom-theme .header-inner,
    .neochrom-theme .site-header.is-scrolled .header-inner { width: calc(100% - 32px); min-height: 76px; }
    .neochrom-theme .brand img { width: 195px; height: 48px; }
    .neochrom-theme .sticky-breadcrumbs { top: 76px; }
    .neochrom-theme .sticky-breadcrumbs .breadcrumbs { width: calc(100% - 32px); }

    .neochrom-theme .hero { min-height: 0; grid-template-columns: minmax(0, 57%) minmax(0, 43%); }
    .neochrom-theme .hero-copy { max-width: none; margin: 0; padding: 28px 12px 28px 28px; }
    .neochrom-theme .hero h1 { font-size: clamp(2.1rem, 5.3vw, 2.85rem); }
    .neochrom-theme .hero-lead { font-size: .92rem; }
    .neochrom-theme .hero-visual { min-height: 0; }
    .neochrom-theme .hero-image-preview { padding: 0; }
    .neochrom-theme .hero-visual img { width: 100%; max-width: 100%; max-height: none; margin: 0 auto; }

    .neochrom-theme .service-section { width: calc(100% - 32px); padding-block: 18px 0; }
    .neochrom-theme .service-grid,
    .neochrom-theme .service-grid.has-overflow { display: grid; grid-template-columns: 1fr; gap: 9px; overflow: visible; background: transparent; border: 0; box-shadow: none; }
    .neochrom-theme .service-card,
    .neochrom-theme .service-card:nth-child(n),
    .neochrom-theme .service-grid.has-overflow .service-card {
        min-height: 150px;
        padding: 15px 17px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 160px;
        grid-template-rows: 1fr;
        align-items: center;
        gap: 16px;
        color: var(--nc-ink);
        background: #fff;
        border: 1px solid var(--nc-line);
        border-radius: 8px;
        box-shadow: 0 7px 20px rgb(10 45 88 / 7%);
    }
    .neochrom-theme .service-card-copy {
        display: grid;
        grid-template-columns: 45px 1px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        align-items: start;
        column-gap: 14px;
    }
    .neochrom-theme .service-card-copy::after {
        content: attr(aria-label);
        width: 1px;
        min-height: 100%;
        grid-column: 2;
        grid-row: 1 / 4;
        background: var(--nc-line);
    }
    .neochrom-theme .service-card .service-icon { width: 42px; height: 42px; margin: 1px 0 0; grid-row: 1 / 4; }
    .neochrom-theme .service-card h2 { grid-column: 3; margin-bottom: 5px; }
    .neochrom-theme .service-card p { grid-column: 3; margin-bottom: 8px; }
    .neochrom-theme .service-card a { grid-column: 3; margin-top: 0; }
    .neochrom-theme .service-image { width: 160px; height: auto; aspect-ratio: 5 / 3; }
    .neochrom-theme .service-carousel-controls { display: none; }

    .neochrom-theme .trust-strip { padding: 24px 26px; }
    .neochrom-theme .trust-strip .trust-item,
    .neochrom-theme .trust-strip .trust-item:nth-child(n) { flex-basis: calc(100% / 3); min-height: 82px; border-right: 1px solid var(--nc-line); }
    .neochrom-theme .trust-strip .trust-item:nth-child(3) { border-right: 0; }
    .neochrom-theme .trust-strip .trust-item:nth-child(n + 4) { border-top: 1px solid var(--nc-line); }
    .neochrom-theme .trust-strip .trust-item:last-child { border-right: 0; }

    .neochrom-theme .capability-grid { width: calc(100% - 40px); padding: 40px 24px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px; }
    .neochrom-theme .process-section,
    .neochrom-theme .story-section { width: calc(100% - 40px); }
    .neochrom-theme .capability-panel {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .neochrom-theme .capability-panel .text-link {
        margin-top: auto;
        align-self: flex-start;
    }
    .neochrom-theme .why-panel { order: initial; }
    .neochrom-theme .check-list li { font-size: .76rem; }

    .neochrom-theme .final-cta { padding: 27px 24px; }
    .neochrom-theme .final-cta-copy { grid-template-columns: 38px 1fr; }
    .neochrom-theme .final-cta-copy > svg { width: 36px; height: 36px; }
    .neochrom-theme .final-cta-actions { display: grid; grid-template-columns: 1fr 1fr; }

    .neochrom-theme .footer-grid,
    .neochrom-theme .footer-grid.footer-grid-configured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .neochrom-theme .footer-brand { grid-column: 1 / -1; }
    .neochrom-theme .footer-contact { grid-column: auto; }

    .neochrom-theme .mobile-action-bar {
        height: 72px;
        padding: 8px 12px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        position: fixed;
        z-index: 150;
        inset: auto 0 0;
        background: linear-gradient(105deg, #08798d, #04354f);
        box-shadow: 0 -8px 28px rgb(3 28 60 / 24%);
    }
    .neochrom-theme .mobile-action-bar a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        color: #fff;
        border: 1px solid rgb(255 255 255 / 50%);
        border-radius: 7px;
        font-size: .76rem;
        font-weight: 800;
        text-decoration: none;
    }
    .neochrom-theme .mobile-action-bar a:first-child { background: var(--nc-blue); border-color: var(--nc-blue); }
    .neochrom-theme { padding-bottom: 72px; }
}

@media (min-width: 621px) and (max-width: 900px) {
    .neochrom-theme { padding-bottom: 0; }
    .neochrom-theme .page-shell { width: calc(100% - 32px); }
    .neochrom-theme .mobile-action-bar { display: none; }
    .neochrom-theme .footer-brand {
        display: grid;
        grid-template-columns: minmax(140px, 178px) minmax(0, 1fr) auto;
        align-items: center;
        gap: 18px;
    }
    .neochrom-theme .footer-brand > img { width: 160px; }
    .neochrom-theme .footer-brand > p { max-width: 310px; margin: 0; }
    .neochrom-theme .footer-social-area { margin: 0; align-self: center; }
    .neochrom-theme .footer-brand .group-links { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .neochrom-theme { --sticky-header-height: 72px; }
    .neochrom-theme .site-header { min-height: 72px; }
    .neochrom-theme .header-inner,
    .neochrom-theme .site-header.is-scrolled .header-inner {
        min-height: 72px;
        flex-wrap: wrap;
        position: relative;
        column-gap: 18px;
        row-gap: 0;
    }
    .neochrom-theme .brand img { width: 178px; height: 44px; }
    .neochrom-theme .header-inner:has(.nc-user-menu) {
        flex-wrap: nowrap;
        column-gap: 8px;
    }
    .neochrom-theme .header-inner:has(.nc-user-menu) .brand { flex: 0 1 auto; min-width: 0; }
    .neochrom-theme .site-header.mobile-menu-open .brand {
        min-height: 72px;
        display: flex;
        align-items: center;
    }
    .neochrom-theme .site-header.mobile-menu-open { position: fixed; top: 0; right: 0; left: 0; width: 100%; }
    .neochrom-theme .site-header.mobile-menu-open + .sticky-breadcrumbs { top: 72px; }
    .neochrom-theme .mobile-menu { width: 44px; height: 44px; flex: 0 0 44px; }
    .neochrom-theme .mobile-menu summary {
        width: 44px;
        height: 44px;
        padding: 0;
        display: block;
        position: absolute;
        z-index: 3;
        top: 14px;
        right: 0;
    }
    .neochrom-theme .mobile-menu summary span {
        width: 28px;
        height: 3px;
        position: absolute;
        top: 50%;
        left: 50%;
    }
    .neochrom-theme .mobile-menu summary span:nth-child(1) { transform: translate(-50%, -9px); }
    .neochrom-theme .mobile-menu summary span:nth-child(2) { transform: translate(-50%, -50%); }
    .neochrom-theme .mobile-menu summary span:nth-child(3) { transform: translate(-50%, 6px); }
    .neochrom-theme .mobile-menu[open] summary span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
    .neochrom-theme .mobile-menu[open] summary span:nth-child(2) { opacity: 0; transform: translate(-50%, -50%) scaleX(0); }
    .neochrom-theme .mobile-menu[open] summary span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
    .neochrom-theme .mobile-menu[open] {
        width: 44px;
        height: 44px;
        margin-left: auto;
        flex: 0 0 44px;
    }
    .neochrom-theme .mobile-menu-panel {
        width: 100vw;
        /* Header backdrop-filter contains fixed descendants: size from the viewport,
           not opposing insets inside the 72px-tall header. */
        height: calc(100vh - 144px);
        height: calc(100dvh - 144px);
        max-height: none;
        margin-left: 0;
        padding: 10px 16px 4px;
        position: fixed;
        top: 72px;
        right: 0;
        bottom: auto;
        left: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .neochrom-theme .mobile-menu-panel .mobile-languages {
        margin: 0 0 8px;
        padding: 10px 0;
        position: static;
    }
    .neochrom-theme .mobile-navigation-children,
    .neochrom-theme .mobile-navigation-root > .mobile-navigation-children {
        margin-left: 0;
        border-left: 0;
    }
    .neochrom-theme .mobile-navigation-children .mobile-child {
        padding-left: 4px;
    }
    .neochrom-theme .sticky-breadcrumbs { min-height: 38px; top: 72px; }
    .neochrom-theme .sticky-breadcrumbs .breadcrumbs { width: calc(100% - 28px); padding: 16px 12px 8px; font-size: .66rem; }
    .neochrom-theme .header-inner, .neochrom-theme .site-header.is-scrolled .header-inner { padding-inline: 12px; }

    .neochrom-theme .hero { min-height: 0; display: flex; flex-direction: column; background: linear-gradient(145deg, #edf2f3 0%, #cddadf 100%); }
    .neochrom-theme .hero-copy { padding: 30px 20px 22px; }
    .neochrom-theme .hero .eyebrow { margin-bottom: 10px; font-size: .64rem; }
    .neochrom-theme .hero h1 { font-size: clamp(1.85rem, 9.4vw, 2.55rem); line-height: 1.08; }
    .neochrom-theme .hero-lead { margin: 17px 0 21px; font-size: .88rem; line-height: 1.55; }
    .neochrom-theme .hero-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .neochrom-theme .hero-action { min-height: 62px; padding: 11px 13px; grid-template-columns: 28px 1fr 18px; }
    .neochrom-theme .hero-action:nth-child(n + 3) { display: grid; }
    .neochrom-theme .hero-action strong { font-size: .83rem; }
    .neochrom-theme .hero-action small { font-size: .65rem; }
    .neochrom-theme .hero-visual {
        min-height: 0;
        padding-block: 18px;
        order: 2;
        align-items: center;
    }
    .neochrom-theme .hero-image-preview {
        height: auto;
        min-height: 0;
    }
    .neochrom-theme .hero-visual img {
        width: 100%;
        max-width: none;
        max-height: 100%;
        height: auto;
        margin: 0 auto;
        object-position: center;
        -webkit-mask-image:
            linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%),
            linear-gradient(180deg, transparent 0, #000 2%, #000 97%, transparent 100%);
        mask-image:
            linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%),
            linear-gradient(180deg, transparent 0, #000 2%, #000 97%, transparent 100%);
    }

    .neochrom-theme .service-section { width: calc(100% - 24px); padding-block: 24px 0; }
    .neochrom-theme .mobile-only-heading { display: block; margin: 0 8px 16px; }
    .neochrom-theme .mobile-only-heading .eyebrow { display: none; }
    .neochrom-theme .mobile-only-heading h2 { font-size: 1.32rem; }
    .neochrom-theme .service-card,
    .neochrom-theme .service-card:nth-child(n),
    .neochrom-theme .service-grid.has-overflow .service-card {
        min-height: 132px;
        padding: 13px 12px;
        grid-template-columns: minmax(0, 1fr) clamp(108px, 34vw, 132px);
        gap: 10px;
    }
    .neochrom-theme .service-card-copy { grid-template-columns: 38px 1px minmax(0, 1fr); column-gap: 10px; }
    .neochrom-theme .service-card .service-icon { width: 36px; height: 36px; }
    .neochrom-theme .service-card h2 { font-size: .86rem; }
    .neochrom-theme .service-card p { font-size: .7rem; line-height: 1.4; }
    .neochrom-theme .service-card a { font-size: .68rem; }
    .neochrom-theme .service-image { width: clamp(108px, 34vw, 132px); height: auto; aspect-ratio: 5 / 3; }
    .neochrom-theme .service-image .media-placeholder { min-height: 62px; padding: 6px; }
    .neochrom-theme .service-image .media-placeholder svg { width: 20px; height: 20px; }
    .neochrom-theme .service-image .media-placeholder span { font-size: .53rem; }

    .neochrom-theme .trust-strip { padding: 25px 16px; }
    .neochrom-theme .trust-strip .trust-item,
    .neochrom-theme .trust-strip .trust-item:nth-child(n) {
        min-height: 88px;
        flex-basis: 50%;
        padding: 12px 10px;
        grid-template-columns: 31px 1fr;
        gap: 9px;
        border-right: 1px solid var(--nc-line);
        border-top: 0;
        border-bottom: 1px solid var(--nc-line);
    }
    .neochrom-theme .trust-strip .trust-item:nth-child(even) { border-right: 0; }
    .neochrom-theme .trust-strip .trust-item:nth-child(3) { border-right: 1px solid var(--nc-line); }
    .neochrom-theme .trust-strip .trust-item:last-child { border-right: 0; border-bottom: 0; }
    .neochrom-theme .trust-item > svg { width: 29px; height: 29px; }
    .neochrom-theme .trust-item strong { font-size: .72rem; }
    .neochrom-theme .trust-item small { font-size: .61rem; }

    .neochrom-theme .capability-grid { width: calc(100% - 24px); padding: 30px 18px; display: block; }
    .neochrom-theme .process-section,
    .neochrom-theme .story-section { width: calc(100% - 24px); }
    .neochrom-theme .process-section { padding-block: 30px; }
    .neochrom-theme .process-section .section-heading .eyebrow { display: none; }
    .neochrom-theme .process-section .section-heading h2 { font-size: 1.32rem; }
    .neochrom-theme .process-list { margin-top: 18px; gap: 8px; }
    .neochrom-theme .process-list li {
        min-height: 74px;
        padding: 11px 14px;
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        align-items: stretch;
        gap: 12px;
    }
    .neochrom-theme .process-list span {
        padding-right: 12px;
        display: grid;
        place-items: center;
        border-right: 1px solid var(--nc-line);
        font-size: .72rem;
    }
    .neochrom-theme .process-list strong {
        align-self: center;
        font-size: .82rem;
        line-height: 1.32;
    }
    .neochrom-theme .capability-panel { min-height: 0; display: block; }
    .neochrom-theme .capability-panel .text-link { margin-top: 0; }
    .neochrom-theme .capability-panel h2 { font-size: 1.28rem; }
    .neochrom-theme .why-panel { display: block; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--nc-line); }
    .neochrom-theme .check-list li { font-size: .76rem; }

    .neochrom-theme .final-cta { display: none; }
    .neochrom-theme .site-footer { padding: 38px 20px 24px; }
    .neochrom-theme .footer-grid,
    .neochrom-theme .footer-grid.footer-grid-configured { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
    .neochrom-theme .footer-brand { grid-column: 1 / -1; }
    .neochrom-theme .footer-social-area {
        width: 100%;
        grid-template-columns: max-content max-content;
        align-items: start;
        justify-content: start;
        gap: 18px;
    }
    .neochrom-theme .footer-social-group,
    .neochrom-theme .footer-share { width: auto; }
    .neochrom-theme .footer-share-links { justify-self: start; }
    .neochrom-theme .footer-column:nth-child(n),
    .neochrom-theme .footer-grid-configured .footer-column:nth-child(n) { display: grid; }
    .neochrom-theme .footer-contact { grid-column: 1 / -1; }
    .neochrom-theme .footer-bottom { flex-wrap: wrap; }
    .neochrom-theme .footer-bottom a { margin-left: 0; }
    .neochrom-theme .footer-legal { width: 100%; margin-left: 0; }

    .neochrom-theme .page-shell { width: calc(100% - 24px); padding: 20px 0 42px; }
    .neochrom-theme .content-card { padding: 23px 17px; }
    .neochrom-theme .content-heading h1,
    .neochrom-theme .legacy-content h1 { font-size: 2rem; }
}

@media (max-width: 420px) {
    .neochrom-theme .mobile-action-bar a { gap: 7px; font-size: .71rem; }
    .neochrom-theme .mobile-action-bar svg { width: 20px; height: 20px; }
}

/* Keep the main homepage sections on the same rail as the trust strip. */
.neochrom-theme .hero,
.neochrom-theme .service-section,
.neochrom-theme .trust-strip,
.neochrom-theme .capability-grid,
.neochrom-theme .process-section,
.neochrom-theme .story-section {
    width: min(calc(var(--nc-max) - 20px), calc(100% - 20px));
    margin-inline: auto;
}

@media (prefers-reduced-motion: reduce) {
    .neochrom-theme * { transition: none !important; scroll-behavior: auto !important; }
}
