/* Responsive navigation and progressive gallery; source photographs remain intact. */
html{scroll-padding-top:110px}h2[id]{scroll-margin-top:110px}.mobile-menu-extra,.mobile-dock{display:none}.menu-toggle svg{flex:none}.menu-toggle{align-items:center;justify-content:center;gap:7px}.content-outline{max-width:900px;margin:24px auto 32px;padding:12px 18px;border:1px solid var(--line);border-radius:6px;background:#f0f4f7}.content-outline summary{font-size:15px;font-weight:800;cursor:pointer;min-height:44px;padding:8px 0}.content-outline ol{padding-inline-start:22px;margin:8px 0}.content-outline a{display:inline-flex;align-items:center;min-height:44px;padding-block:7px;color:var(--blue);font-size:14px}.editorial-copy .content-outline{margin-inline:0}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;margin-bottom:24px}.breadcrumbs a{color:var(--blue);display:inline-flex;align-items:center;min-height:44px}.offering-layout{display:grid;grid-template-areas:"summary image" "details image";grid-template-columns:1.1fr 1fr;align-items:start;column-gap:60px;row-gap:12px}.offering-summary{grid-area:summary}.offering-details{grid-area:details;min-width:0}.offering-layout>.offering-image{grid-area:image;position:sticky;top:110px;margin:0}.offering-image img{width:100%;max-height:620px;object-fit:contain;background:#f0f2f4}.offering-image figcaption{font-size:12px;padding:10px}.related-solutions>h2{font-size:30px;margin-bottom:28px}.solution-item>img,.product-image>img{object-fit:contain;background:#f0f2f4}.solution-item h3,.product-body h2{overflow-wrap:anywhere}.company-large-logo{min-height:170px;max-height:260px}.gallery-photo{min-width:0}.gallery-photo>img{object-fit:contain;background:#edf0f2}.gallery-photo>span{line-height:1.7}.gallery-photo:focus-visible{outline-offset:2px}.catalog-count{margin-bottom:18px}.catalog-filters.has-react{display:block}.catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.catalog-search-row>.reset-filters{min-height:48px;padding:10px 14px;background:#fff;border:1px solid #b7c8d7;border-radius:4px;font-weight:600;font-size:13px}.catalog-search-row>.reset-filters:disabled{opacity:.55;cursor:default}.company-chips{display:flex;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:16px 2px 10px}.company-chips button{min-height:44px;flex:none;padding:8px 18px;border:1px solid #b7c8d7;border-radius:25px;background:white;color:var(--navy);font-size:13px;font-weight:600}.company-chips button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.filter-options{margin-top:5px}.filter-options>summary{display:none;cursor:pointer;font-size:14px;font-weight:800;min-height:44px;padding:10px 0}.filter-fields{display:grid;grid-template-columns:1.3fr 1.2fr auto;gap:16px;align-items:end;margin-top:12px}.product-image img{aspect-ratio:4/3}.feature-item,.solution-item,.product-card{min-width:0}a,button{overflow-wrap:break-word}.mobile-menu-call{font-weight:800}.mobile-menu-call bdi{margin-inline-start:10px}.content-hub .text-link{white-space:normal}

/* Native dialog supplies focus containment and Escape; React supplies browsing state. */
.lightbox{padding:0;margin:0;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#071a2e;color:#fff}.lightbox::backdrop{background:#071a2eef}.lightbox[open]{display:block}.lightbox #agg-gallery-root{height:100%;width:100%}.gallery-viewer{height:100%;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;padding-bottom:env(safe-area-inset-bottom,0px)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid #34485b;min-width:0}.gallery-toolbar>div{display:flex;gap:10px;flex:none}.gallery-toolbar strong{font-size:16px}.gallery-viewer button{min-height:44px;border:1px solid #7d91a6;border-radius:5px;background:#163552;color:white;font:inherit;font-size:13px;font-weight:600;padding:8px 15px}.gallery-viewer button:hover,.gallery-viewer button[aria-pressed=true]{background:#295475}.gallery-viewer button:disabled{opacity:.4;cursor:default}.gallery-viewer button:focus-visible{outline:3px solid #ffad50;outline-offset:2px}.gallery-image-stage{position:relative;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}.gallery-image-stage>img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0}.gallery-image-stage>img.is-loaded{opacity:1}.gallery-image-stage.is-zoomed{display:block;overflow:auto;overscroll-behavior:contain}.gallery-image-stage.is-zoomed>img{width:160%;max-width:none;max-height:none;margin:auto}.gallery-loading,.gallery-error{color:white!important;text-align:center;font-size:14px}.gallery-loading{position:absolute;inset-inline:0;top:45%}.gallery-error a{color:#ffba6a;text-decoration:underline}.gallery-caption{font-size:13px;line-height:1.7;color:#f1f5f9!important;text-align:center;margin:0;padding:8px 20px;max-height:72px;overflow:auto}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:24px;padding:8px 18px}.gallery-controls button{min-width:140px}.gallery-position{font-size:14px;min-width:60px;text-align:center}.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:8px 20px 12px;max-width:100%;min-width:0}.gallery-thumbnails button{width:66px;height:58px;flex:none;padding:3px;background:#0f263c;border:2px solid #536a80;overflow:hidden}.gallery-thumbnails button[aria-current=true]{border-color:#ffad50;background:#28577c}.gallery-thumbnails img{width:100%;height:100%;object-fit:contain}.lightbox .gallery-toolbar button{position:static;inset:auto}

@media(max-width:1200px){
 .header-inner,html[dir=ltr] .header-inner{min-height:76px;flex-wrap:nowrap;padding-block:10px;gap:12px}.menu-toggle,html[dir=ltr] .menu-toggle{display:inline-flex;margin-inline-start:auto}.header-call{display:none}.site-header{position:sticky;top:0}.site-header #primary-nav{display:none;position:absolute;inset-inline:0;top:100%;width:100%;margin:0;padding:10px 24px 24px;background:var(--navy);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;border-bottom:3px solid var(--orange);box-shadow:0 12px 20px #00172b30;align-items:stretch;gap:0;flex-direction:column}.site-header #primary-nav.is-open,html[dir=ltr] .site-header #primary-nav.is-open{display:flex}.site-header #primary-nav .primary-menu{display:block;width:100%;margin:0;padding:0;list-style:none}.site-header #primary-nav a{display:flex;align-items:center;min-height:48px;white-space:normal;font-size:14px;padding:11px 8px;border-bottom:1px solid #34506a}.site-header #primary-nav a[aria-current=page]:after{display:none}.mobile-menu-extra{display:block}.mobile-menu-extra h2{font-size:13px;font-weight:600;color:#ffb66b;padding:18px 8px 6px}.mobile-menu-extra .mobile-menu-call{display:block;background:#123c64;margin-top:16px;border-radius:5px;padding:14px!important}.site-header:has(#primary-nav.is-open){z-index:70}html:not(.has-js) .site-header #primary-nav{display:flex;position:static;max-height:none;box-shadow:none}html:not(.has-js) .header-inner{flex-wrap:wrap}html:not(.has-js) .menu-toggle{display:none}
}
@media(max-width:800px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.mobile-dock{position:fixed;inset-inline:0;bottom:0;z-index:35;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cbd5df;background:#fffffff5;box-shadow:0 -4px 20px #001b3012;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));min-height:68px}.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;font-size:11px;font-weight:800;color:var(--navy);line-height:1.6}.mobile-dock a:last-child{color:#14643b}.mobile-dock svg{width:23px;height:23px}.floating-contact{display:none}.section{padding-block:40px}.page-heading{padding-top:28px}.page-heading h1{font-size:34px;line-height:1.4}.page-heading>p:last-child{font-size:15px}.page-heading+.page-content .section:first-child{padding-top:30px}.catalog-filters.has-react{padding:15px}.catalog-search-row{gap:10px;grid-template-columns:minmax(0,1fr) auto}.catalog-search-row>.reset-filters{padding:8px 10px;font-size:12px}.company-chips{margin-inline:-3px;padding-block:12px 6px}.company-chips button{padding:8px 14px;font-size:12px}.filter-options>summary{display:list-item}.filter-fields{grid-template-columns:1fr;gap:12px}.filter-fields>label,.filter-fields>.button{grid-column:auto}.catalog-count{font-size:14px;padding-block:5px;margin-bottom:18px}.offering-layout{grid-template-columns:1fr;grid-template-areas:"summary" "image" "details";gap:22px}.offering-layout>.offering-image{position:static}.offering-layout>.offering-image img{max-height:360px}.offering h1{font-size:32px;line-height:1.45}.offering .lead{font-size:17px;line-height:1.8}.offering .eyebrow{margin-bottom:10px}.breadcrumbs{margin-bottom:18px;gap:8px}.breadcrumbs a{font-size:12px}.offering-details .content-outline{margin-top:0}.content-outline{margin-block:20px 24px;padding:9px 14px;width:min(100% - 36px,900px)}.editorial-copy .content-outline{width:100%}.content-outline ol{padding-inline-start:22px}.content-outline a{font-size:13px}.content-article{padding-block:12px 36px}.content-article h2,.editorial-copy h2{font-size:26px;line-height:1.5;margin-block:28px 14px}.content-article .photo-grid{margin-block:20px 30px}.company-intro-grid{gap:24px;margin-top:16px}.company-large-logo{min-height:100px;padding:16px;max-width:230px}.company-large-logo img{max-height:100px}.company-intro>.editorial-copy{margin-top:24px}.company-intro .lead{font-size:18px}.company-intro .actions{margin-top:18px}.content-hub{padding:20px 5px;margin-block:32px}.content-hub h2{font-size:27px}.related-solutions>h2{font-size:27px}.related-solutions .feature-grid{margin-top:20px}.gallery-toolbar{padding:9px 12px;gap:8px}.gallery-toolbar strong{font-size:13px}.gallery-toolbar>div{gap:7px}.gallery-toolbar button{font-size:12px;padding:8px 11px}.gallery-controls{gap:8px;padding:6px 10px}.gallery-controls button{min-width:0;flex:1;font-size:12px;padding:8px 10px}.gallery-position{min-width:48px}.gallery-thumbnails{padding-inline:10px}.gallery-caption{padding:6px 14px;font-size:12px}.gallery-image-stage{padding:8px}
}
@media(max-width:480px){
 .header-inner{width:calc(100% - 28px);gap:8px}.wordmark{font-size:21px;gap:7px}.wordmark small{font-size:11px;padding-inline-start:8px}.language-switch{font-size:11px;min-height:44px;padding:7px 8px}.menu-toggle{min-height:44px;padding:7px 10px;font-size:12px}.hero-visual img{height:640px;min-height:0}.hero-copy{padding-top:30px}.hero h1{font-size:40px;line-height:1.35}.hero-lead{font-size:19px;margin-top:16px}.hero .actions{margin-top:20px}.hero-visual figcaption{font-size:9px;max-width:80%;padding:4px 8px}.hero .container{width:calc(100% - 32px)}.companies{padding-top:26px}.company-column{padding:22px 18px}.company-logo{margin-inline:auto}.company-summary{font-size:14px}.content-article p,.editorial-copy p{font-size:15px;line-height:1.9}.gallery-photo>span{font-size:11px;line-height:1.7;padding:9px}.photo-grid{gap:12px}.company-solutions .feature-grid{grid-template-columns:1fr}.catalog-search-row{grid-template-columns:1fr}.catalog-search-row>.reset-filters{justify-self:end;min-height:44px;padding:6px 12px}.catalog-search-row>.reset-filters:disabled{display:none}.content-hub .text-link{margin-inline-end:12px}
}
@media(max-width:360px){.menu-toggle span{display:none}.menu-toggle{min-width:44px;padding:7px}.wordmark{font-size:20px}.wordmark small{font-size:10px}.hero h1{font-size:36px}.hero-lead{font-size:18px}.hero-visual img{height:630px}.page-heading h1,.company-intro h1,.offering h1{font-size:29px}.gallery-toolbar strong{max-width:92px}.gallery-toolbar button{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.gallery-image-stage>img{transition:none}html{scroll-behavior:auto}}
.offering-zoom{display:block;position:relative}.image-zoom-hint{position:absolute;bottom:12px;inset-inline-end:12px;display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #b7c8d7;border-radius:5px;background:#ffffffed;color:var(--navy);font-size:12px;font-weight:800}.gallery-thumbnails{scrollbar-width:thin}.company-solutions+.company-solutions{padding-top:0}

.company-since{font-size:13px;font-weight:700;color:var(--blue);line-height:1.7;margin:0 0 12px}.company-large-logo{flex-direction:column;gap:12px}.company-large-logo .company-since{margin:0;text-align:center}
