/* One shared header based on the homepage: glass navigation and navy quote pill. */
.site-header.reference-header {
  --header-unit:min(100vw / 1280,100svh / 960);
  --header-inset:6.1vw;
  --accent:var(--navigation-link-hover, #0050c8);
  --ink:#202124;
  --muted:#62676d;
  --home-cta:#202124;
  --home-cta-knob:#0050c8;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#202124;
}
.site-header.reference-header .nav {
  width:100%; max-width:none; min-height:0; margin:0;
  padding:12px var(--header-inset); gap:18px;
}
.site-header.reference-header .brand { flex-shrink:0; gap:0; }
.site-header.reference-header .brand img { width:94px; height:42px; object-fit:contain; object-position:left center; filter:none; }
.site-header.reference-header .desktop-nav {
  position:static; transform:none; display:flex; align-items:center;
  gap:20px; height:auto; min-height:58px; padding:0 24px;
  border:1px solid rgba(255,255,255,.85); border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 0 0 1px rgba(120,145,180,.2),0 2px 10px rgba(28,52,92,.05);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
}
.site-header.reference-header .desktop-nav > a,
.site-header.reference-header .nav-menu > summary {
  padding:18px 0; font-size:16px; font-weight:600; color:#202124; text-decoration:none;
}
.site-header.reference-header .header-product-nav { display:flex; align-items:center; gap:2px; border-radius:4px; }
.site-header.reference-header .header-product-nav:hover { background:#f4f5f6; }
.site-header.reference-header .header-product-nav > a,
.site-header.reference-header .header-products-toggle { color:#202124; font:600 16px/1.4 Arial,Helvetica,sans-serif; text-decoration:none; }
.site-header.reference-header .header-product-nav > a { display:block; padding:18px 3px 18px 8px; }
.site-header.reference-header .header-products-toggle { display:grid; place-items:center; width:30px; min-height:46px; padding:0; border:0; background:transparent; cursor:pointer; }
.site-header.reference-header .header-product-nav > a:hover,
.site-header.reference-header .header-product-nav > a.active,
.site-header.reference-header .header-products-toggle:hover,
.site-header.reference-header .header-products-toggle[aria-expanded="true"],
.site-header.reference-header .product-category-menu > summary:hover { color:var(--accent); }
.site-header.reference-header .header-products-toggle svg { width:14px; height:14px; transition:transform .25s ease; }
.site-header.reference-header .header-products-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.site-header.reference-header .desktop-nav > a:hover,
.site-header.reference-header .desktop-nav > a.active,
.site-header.reference-header .nav-menu > summary:hover,
.site-header.reference-header .nav-menu > summary.active { color:var(--accent); text-decoration:none; }
.site-header.reference-header .desktop-nav > a::before,
.site-header.reference-header .desktop-nav > a::after,
.site-header.reference-header .nav-menu > summary::before,
.site-header.reference-header .nav-menu > summary::after { content:none; display:none; }
/* Products and capabilities share one compact vertical dropdown. */
.site-header.reference-header .header-product-nav { position:relative; align-self:stretch; }
.site-header.reference-header .product-category-menu { position:static; align-self:stretch; }
.site-header.reference-header .product-category-menu > summary {
  display:flex; justify-content:center; width:25px; height:100%; padding:0;
  list-style:none; cursor:pointer; color:var(--ink);
}
.site-header.reference-header .nav-menu > summary { animation:none; }
.site-header.reference-header .nav-menu > summary svg { transition:transform .18s ease; }
.site-header.reference-header .nav-menu[open] > summary svg { transform:rotate(180deg); }
.site-header.reference-header .nav-menu > .menu-panel {
  top:100%; left:-10px; width:250px; max-width:calc(100vw - 32px); padding:6px;
  z-index:70; background:#fff; border:1px solid var(--line); border-radius:6px;
  box-shadow:0 12px 30px #20212418; backdrop-filter:none; -webkit-backdrop-filter:none;
}
.site-header.reference-header .nav-menu[open] > .menu-panel { animation:header-menu-enter .16s ease-out; }
.site-header.reference-header .nav-menu > .menu-panel a {
  min-height:44px; padding:10px 12px; font-size:15px; font-weight:600; line-height:1.35;
  color:var(--ink); margin:0; transition:background .15s ease,color .15s ease;
}
.site-header.reference-header .nav-menu > .menu-panel a + a { border-top:1px solid #edf0f3; }
.site-header.reference-header .nav-menu > .menu-panel a:hover,
.site-header.reference-header .nav-menu > .menu-panel a:focus-visible { background:var(--soft-blue); color:var(--accent); }
@keyframes header-menu-enter { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
  .site-header.reference-header .nav-menu[open] > .menu-panel { animation:none; }
  .site-header.reference-header .nav-menu > summary svg { transition:none; }
}
.site-header.reference-header .nav-actions { gap:6px; margin-left:0; }
.site-header.reference-header .language-picker > svg { display:none; }
.site-header.reference-header .language-picker select { width:60px; color:#62676d; font-size:12px; }
.site-header.reference-header .nav-actions .icon-button { color:#62676d; }
.site-header.reference-header .nav-actions .icon-button:hover { background:#eef3f9; border-color:#dfe2e5; }
.site-header.reference-header .nav-actions .nav-quote {
  display:inline-flex; width:auto; height:44px; min-height:44px;
  padding:0 14px; gap:10px; border:1px solid #cdd4dc; border-radius:5px;
  background:#fff; color:#202124;
  font-size:14px; font-weight:600;
  letter-spacing:0; white-space:nowrap; box-shadow:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .25s ease;
}
.site-header.reference-header .nav-quote .quote-label { display:inline; color:inherit; }
.site-header.reference-header .nav-quote .quote-knob {
  display:grid; place-items:center; flex:none;
  width:18px; height:18px;
  border-radius:0; background:transparent;
}
.site-header.reference-header .nav-quote .quote-knob svg {
  display:block; width:17px; height:17px; padding:0; border-radius:0;
  background:none; color:#0050c8; stroke-width:1.9;
}
.site-header.reference-header .nav-actions .nav-quote:hover { background:#f4f7fb; border-color:#8eabc9; color:#0050c8; transform:translateY(-2px); }
.site-header.reference-header .nav-actions .nav-quote:active { transform:scale(.98); }
.site-header.reference-header .nav-actions .nav-quote:focus-visible { outline:2px solid #0050c8; outline-offset:3px; }
.site-header.reference-header .mobile-menu-button { display:none; }
.site-header.reference-header .mobile-nav {
  margin:0; border:0; border-top:1px solid #dfe2e5; border-radius:0;
  background:rgba(255,255,255,.97); box-shadow:none; color:#202124;
}
.site-header.reference-header .mobile-nav a:hover,
.site-header.reference-header .mobile-nav a[aria-current="page"] { color:var(--accent); }
.site-header.reference-header .mobile-products-row { display:flex; align-items:center; justify-content:space-between; }
.site-header.reference-header .mobile-products-label { flex:1; font-weight:600; }
.site-header.reference-header .mobile-products-toggle { display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; color:#202124; cursor:pointer; }
.site-header.reference-header .mobile-products-toggle svg { width:17px; height:17px; transition:transform .25s ease; }
.site-header.reference-header .mobile-products-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.site-header.reference-header .mobile-subnav[hidden] { display:none; }
.site-header.reference-header :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media (max-width:1240px) {
  .site-header.reference-header .desktop-nav { display:none; }
  .site-header.reference-header .mobile-menu-button {
    display:inline-grid; border-radius:5px;
    background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.72);
    box-shadow:0 10px 26px rgba(28,52,92,.12); backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
  }
  .site-header.reference-header .nav-actions { margin-left:auto; }
}
@media (max-width:1060px) {
  .site-header.reference-header .nav { padding-block:10px; }
}
@media (max-width:800px), (max-aspect-ratio:4/5) {
  .site-header.reference-header { --header-inset:26px; --header-unit:1px; }
}
@media (max-width:800px) {
  .site-header.reference-header .brand img { width:82px; height:36px; }
}
@media (max-width:440px) {
  .site-header.reference-header { --header-inset:20px; }
  .site-header.reference-header .nav-actions { gap:2px; }
  .site-header.reference-header .nav-actions .nav-quote { height:44px; min-height:44px; padding:6px 6px 6px 14px; gap:10px; font-size:12px; }
  .site-header.reference-header .nav-quote .quote-knob { width:32px; height:32px; }
  .site-header.reference-header .nav-actions .language-picker select { width:46px; }
  .site-header.reference-header .nav-actions > .icon-button { width:30px; }
}
@media (max-width:390px) {
  .site-header.reference-header .nav-actions .nav-quote .quote-label { display:none; }
  .site-header.reference-header .nav-actions .nav-quote { width:44px; padding:6px; gap:0; }
}
@media (prefers-reduced-transparency:reduce) {
  .site-header.reference-header .desktop-nav,.site-header.reference-header .menu-panel,
  .site-header.reference-header .mobile-nav,.site-header.reference-header .mobile-menu-button {
    background:#f4f7fb; backdrop-filter:none; -webkit-backdrop-filter:none;
  }
}

/* ZEISS-inspired section rail: the page family stays visible until the user
   starts reading, then folds away while the main navigation remains available. */
.site-header.reference-header.inner-page-header {
  position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid #e3e6ea;
  box-shadow:0 1px 0 rgba(20,32,48,.04);
}
.site-header.reference-header .site-section-bar {
  height:42px;
  overflow:hidden;
  background:#202124;
  color:#fff;
  transition:max-height .42s cubic-bezier(.22,1,.36,1), opacity .3s ease, transform .42s cubic-bezier(.22,1,.36,1);
  max-height:42px;
}
.site-header.reference-header .site-section-bar-inner {
  width:min(1480px,calc(100% - 48px));
  height:42px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.site-header.reference-header .site-section-identity { display:flex; min-width:0; align-items:center; gap:14px; }
.site-header.reference-header .site-section-label {
  min-width:0;
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.site-header.reference-header .site-section-label:hover { color:#d9e7ff; }
.site-header.reference-header .site-section-contact { flex:none; border-left:1px solid #697078; padding-left:14px; color:#e0e3e7; font-size:14px; font-weight:600; line-height:1.2; white-space:nowrap; }
.site-header.reference-header .site-section-contact:hover { color:#fff; }
.site-header.reference-header .section-drawer-toggle {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  padding:6px 0;
  background:transparent;
  color:#d9e7ff;
  font:500 11px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.02em;
}
.site-header.reference-header .section-drawer-toggle svg { width:14px; height:14px; transition:transform .32s ease; }
.site-header.reference-header .section-drawer-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.site-header.reference-header .section-drawer {
  display:grid;
  grid-template-rows:0fr;
  overflow:hidden;
  background:#fff;
  border-bottom:0 solid #dfe4ea;
  opacity:0;
  visibility:hidden;
  transition:grid-template-rows .48s cubic-bezier(.22,1,.36,1), opacity .24s ease, visibility 0s linear .48s, border-bottom-width .48s ease;
}
.site-header.reference-header .section-drawer[aria-hidden="false"] {
  grid-template-rows:1fr;
  border-bottom-width:1px;
  opacity:1;
  visibility:visible;
  transition:grid-template-rows .48s cubic-bezier(.22,1,.36,1), opacity .24s ease, visibility 0s, border-bottom-width .48s ease;
}
.site-header.reference-header .section-drawer-inner { min-height:0; overflow:hidden; width:min(1480px,calc(100% - 48px)); margin:auto; padding:0; display:grid; grid-template-columns:minmax(220px,.62fr) minmax(0,1.9fr); gap:42px; }
.site-header.reference-header .section-drawer[aria-hidden="false"] .section-drawer-inner { padding:30px 0 34px; }
.site-header.reference-header .section-drawer-intro { padding:2px 0 0; }
  .site-header.reference-header .section-drawer-kicker { margin:0 0 12px; color:#0050c8; font:600 11px/1.2 Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.site-header.reference-header .section-drawer-intro h2 { margin:0 0 12px; color:#202124; font-size:25px; line-height:1.15; letter-spacing:-.02em; }
.site-header.reference-header .section-drawer-intro p:last-child { max-width:300px; margin:0; color:#62676d; font-size:13px; line-height:1.6; }
.site-header.reference-header .section-drawer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#e2e6eb; border:1px solid #e2e6eb; }
.site-header.reference-header .section-drawer-link { position:relative; display:flex; min-height:68px; align-items:center; padding:14px 16px; background:#fff; color:#202124; transition:background .2s ease,color .2s ease; }
.site-header.reference-header .section-drawer-link > span { font-size:15px; font-weight:600; line-height:1.35; }
.site-header.reference-header .section-drawer-link svg { position:absolute; right:13px; top:15px; width:15px; height:15px; color:#0050c8; opacity:.55; transition:transform .22s ease,opacity .22s ease; }
.site-header.reference-header .section-drawer-link:hover,
.site-header.reference-header .section-drawer-link.is-current { background:#f4f5f6; color:#003b91; }
.site-header.reference-header:not(.inner-page-header) .section-drawer { position:absolute; top:100%; left:0; right:0; z-index:50; box-shadow:0 18px 26px -20px rgba(20,32,48,.25); }
.site-header.reference-header:not(.inner-page-header) .section-drawer-inner { width:calc(100% - 12.2vw); max-height:calc(100dvh - 100px); overflow:auto; overscroll-behavior:contain; }
.site-header.reference-header:not(.inner-page-header) .section-drawer-grid { border:0; background:transparent; gap:0 28px; }
.site-header.reference-header:not(.inner-page-header) .section-drawer-link { border-top:1px solid #dfe2e5; padding:14px 8px 14px 0; background:#fff; }
.site-header.reference-header:not(.inner-page-header) .section-drawer-link:hover { background:#fff; }
.site-header.reference-header .section-drawer-link:hover svg { transform:translate(2px,-2px); opacity:1; }
.site-header.reference-header.is-scrolled .site-section-bar { max-height:0; opacity:0; transform:translateY(-100%); }
.site-header.reference-header.is-scrolled .section-drawer[aria-hidden="false"] { grid-template-rows:0fr; opacity:0; visibility:hidden; border-bottom-width:0; }
@media (max-width:900px) {
  .site-header.reference-header .site-section-bar-inner,
  .site-header.reference-header .section-drawer-inner { width:calc(100% - 40px); }
  .site-header.reference-header .section-drawer-inner { grid-template-columns:1fr; gap:22px; }
  .site-header.reference-header .section-drawer-intro p:last-child { max-width:560px; }
  .site-header.reference-header .section-drawer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-header.reference-header:not(.inner-page-header) .section-drawer-inner { width:calc(100% - 40px); }
}
@media (max-width:520px) {
  .site-header.reference-header .site-section-bar-inner,
  .site-header.reference-header .section-drawer-inner { width:calc(100% - 32px); }
  .site-header.reference-header .site-section-bar-inner { gap:10px; }
  .site-header.reference-header .site-section-label { max-width:58%; }
  .site-header.reference-header .section-drawer-toggle { font-size:10px; }
  .site-header.reference-header .section-drawer[aria-hidden="false"] .section-drawer-inner { padding:22px 0 24px; }
  .site-header.reference-header .section-drawer-grid { grid-template-columns:1fr; }
  .site-header.reference-header .section-drawer-link { min-height:86px; }
  .site-header.reference-header .site-section-identity { gap:8px; }
  .site-header.reference-header .site-section-contact { padding-left:8px; font-size:12px; }
  .site-header.reference-header .site-section-label { max-width:none; }
  .site-header.reference-header:not(.inner-page-header) .section-drawer-inner { width:calc(100% - 32px); }
}
@media (prefers-reduced-motion:reduce) {
  .site-header.reference-header .site-section-bar,
  .site-header.reference-header .section-drawer,
  .site-header.reference-header .section-drawer-link,
  .site-header.reference-header .section-drawer-toggle svg { transition:none; }
}

/* Stable page space prevents the collapsing navigation from moving content. */
.section-header-shell { height:166px; }
.site-header.reference-header.inner-page-header { position:fixed; inset:0 0 auto; --header-inset:6.1vw; --accent:#0050c8; }
.site-header.reference-header.inner-page-header .nav { position:relative; height:80px; padding:0 var(--header-inset); gap:28px; background:#fff; border-bottom:0; }
.site-header.reference-header.inner-page-header .nav::after {
  content:"";
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:#e3e6ea;
  pointer-events:none;
}
.site-header.reference-header.inner-page-header .desktop-nav { margin-left:32px; margin-right:auto; padding:0; min-height:0; gap:26px; border:0; border-radius:0; box-shadow:none; background:#fff; backdrop-filter:none; }
.site-header.reference-header.inner-page-header .desktop-nav > a,
.site-header.reference-header.inner-page-header .nav-menu > summary,
.site-header.reference-header.inner-page-header .header-product-nav > a { padding-block:27px; font-size:16px; font-weight:600; }
.site-header.reference-header.inner-page-header .product-category-menu > summary { padding:0; }
.site-header.reference-header.inner-page-header .header-products-toggle { font-size:16px; font-weight:600; }
.site-header.reference-header.inner-page-header .header-products-toggle:hover,
.site-header.reference-header.inner-page-header .header-products-toggle.active,
.site-header.reference-header.inner-page-header .desktop-nav > a.active,
.site-header.reference-header.inner-page-header .nav-menu > summary.active { color:#0050c8; }
.site-header.reference-header.inner-page-header .site-section-bar-inner,
.site-header.reference-header.inner-page-header .header-context-inner,
.site-header.reference-header.inner-page-header .section-drawer-inner { width:calc(100% - 12.2vw); }
.site-header.reference-header.inner-page-header .header-context-bar { max-height:44px; overflow:hidden; background:#fff; border-bottom:0; transition:max-height .48s cubic-bezier(.22,1,.36,1),opacity .3s ease; }
.site-header.reference-header.inner-page-header .header-context-inner { display:flex; height:44px; align-items:center; gap:13px; margin:auto; color:#62676d; font-size:13px; font-weight:500; line-height:1.2; white-space:nowrap; overflow:auto; scrollbar-width:none; }
.site-header.reference-header.inner-page-header .header-context-inner > [aria-hidden] { color:#afb4bc; }
.site-header.reference-header.inner-page-header .header-context-inner > [aria-current] { color:#202124; }
.site-header.reference-header.inner-page-header.is-scrolled .header-context-bar { max-height:0; opacity:0; }
.site-header.reference-header.inner-page-header .section-drawer { position:absolute; inset:100% 0 auto; box-shadow:0 18px 26px -20px rgba(20,32,48,.25); }
.site-header.reference-header.inner-page-header .section-drawer-inner { padding:0; max-height:calc(100dvh - 170px); overflow:auto; overscroll-behavior:contain; }
.site-header.reference-header.inner-page-header .section-drawer-grid { border:0; background:transparent; gap:0 28px; }
.site-header.reference-header.inner-page-header .section-drawer-link { border-top:1px solid #dfe2e5; padding:14px 8px 14px 0; min-height:68px; background:#fff; }
.site-header.reference-header.inner-page-header .section-drawer-link:hover { background:#fff; }
.site-header.reference-header.inner-page-header .section-drawer-link.is-current > span { color:#0050c8; }
.site-header.reference-header.inner-page-header .section-drawer-intro > a { font-size:13px; color:#0050c8; }
.site-header.reference-header.inner-page-header.is-scrolled .section-drawer[aria-hidden="false"] { grid-template-rows:1fr; opacity:1; visibility:visible; border-bottom-width:1px; }
.site-header.reference-header.inner-page-header .section-drawer[aria-hidden="true"] { pointer-events:none; }
@media (max-width:1240px) {
  .site-header.reference-header.inner-page-header .desktop-nav { display:none; }
  .site-header.reference-header.inner-page-header .nav { gap:12px; }
}
@media (max-width:800px) {
  .section-header-shell { height:156px; }
  .site-header.reference-header.inner-page-header { --header-inset:24px; }
  .site-header.reference-header.inner-page-header .nav { height:70px; }
  .site-header.reference-header.inner-page-header .site-section-bar-inner,
  .site-header.reference-header.inner-page-header .header-context-inner,
  .site-header.reference-header.inner-page-header .section-drawer-inner { width:calc(100% - 48px); }
  .site-header.reference-header.inner-page-header .section-drawer-inner { max-height:calc(100dvh - 155px); }
  .site-header.reference-header.inner-page-header .mobile-nav { max-height:calc(100dvh - 155px); overscroll-behavior:contain; }
  .site-header.reference-header.inner-page-header.is-scrolled .mobile-nav { max-height:calc(100dvh - 71px); }
}
@media (max-width:440px) {
  .site-header.reference-header.inner-page-header { --header-inset:20px; }
  .site-header.reference-header.inner-page-header .site-section-bar-inner,
  .site-header.reference-header.inner-page-header .header-context-inner,
  .site-header.reference-header.inner-page-header .section-drawer-inner { width:calc(100% - 40px); }
  .site-header.reference-header.inner-page-header .nav-actions .nav-quote { height:44px; min-height:44px; }
  .site-header.reference-header.inner-page-header .section-drawer-link { min-height:64px; padding:14px 8px 14px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header.reference-header.inner-page-header .header-context-bar,
  .site-header.reference-header.inner-page-header .header-products-toggle svg { transition:none; }
}
