/* BORVEC v28 — single persistent morphing header, touch targets, consistent SVG icons. */
:root { --v28-header-space:94px; }
.v10-opening { padding-top:var(--v28-header-space); }
/* A fixed header outside of the hero's overflow/stacking context. */
.v28-primary-header.site-header {
  position:fixed!important;
  inset:0 auto auto 50%!important;
  translate:-50% 0;
  width:calc(100% - 8.6vw);
  max-width:1620px;
  box-sizing:border-box;
  height:94px;
  min-height:94px;
  display:grid;
  grid-template-columns:minmax(155px,1fr) auto minmax(155px,1fr);
  align-items:center;
  gap:22px;
  margin:0;
  padding:0;
  background:transparent;
  color:#f3f5f3;
  border:1px solid transparent;
  border-bottom-color:rgba(213,230,231,.18);
  border-radius:0;
  box-shadow:none;
  pointer-events:auto;
  z-index:160;
  isolation:isolate;
  transition:height .44s cubic-bezier(.16,1,.3,1), min-height .44s cubic-bezier(.16,1,.3,1),
    width .44s cubic-bezier(.16,1,.3,1), top .44s cubic-bezier(.16,1,.3,1),
    background-color .36s ease, border-color .36s ease, border-radius .44s cubic-bezier(.16,1,.3,1),
    box-shadow .36s ease, padding .44s cubic-bezier(.16,1,.3,1);
}
.v28-primary-header .brand {
  position:relative!important;
  grid-column:1;
  display:flex;
  align-items:center;
  width:clamp(176px,15.5vw,246px)!important;
  height:43px!important;
  min-height:44px;
  flex:none;
  z-index:1;
}
.v28-primary-header .brand::after { content:none!important; display:none!important; }
.v28-primary-header .brand img { filter:invert(1); width:100%; height:100%; object-fit:contain; }
.v28-primary-header #navigation {
  position:relative!important;
  inset:auto!important;
  grid-column:2;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2.4vw,36px);
  background:transparent;
  box-shadow:none;
  border:0;
  padding:0;
  margin:0;
  width:max-content;
  min-width:0;
  z-index:5;
}
.v28-primary-header #navigation .nav-direct,
.v28-primary-header #navigation .nav-contact {
  position:relative!important;
  inset:auto!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0;
  width:auto!important;
  font:600 13px/1.3 InstrumentSans,sans-serif;
  letter-spacing:.015em;
  white-space:nowrap;
  color:inherit;
  text-decoration:none;
}

.v28-primary-header #navigation :is(.nav-direct,.nav-contact):hover { color:#74ffed; }
.v28-primary-header .v28-active-indicator {
  position:absolute;
  z-index:1;
  height:1.5px;
  bottom:3px;
  width:0;
  left:0;
  background:currentColor;
  opacity:0;
  pointer-events:none;
  transition:left .38s cubic-bezier(.16,1,.3,1), width .38s cubic-bezier(.16,1,.3,1), opacity .25s;
}
.v28-primary-header .v28-active-indicator.is-ready { opacity:.72; }
.v28-primary-header .v28-active-indicator.v28-initial { transition:none; }
.v28-primary-header .menu-toggle { display:none; }
.v28-primary-header > .theme-toggle,
.v28-primary-header > .theme-toggle[hidden] {
  position:relative!important;
  top:auto!important; bottom:auto!important; right:auto!important; left:auto!important;
  inset:auto!important;
  grid-column:3;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 46px;
  width:46px;
  min-width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  border-radius:50%;
  z-index:2;
  margin:0;
  background:rgba(25,45,55,.38);
  color:inherit;
  border:1px solid rgba(230,247,245,.33);
  box-shadow:none;
}
.v28-primary-header > .theme-toggle[hidden] { display:none!important; }
.v28-primary-header > .theme-toggle svg { width:20px; height:20px; }
.v28-primary-header > .theme-toggle .theme-toggle-label {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* The same DOM and links remain throughout the morph; there is no second header. */
html.v28-scrolled .v28-primary-header.site-header {
  top:12px!important;
  height:70px;
  min-height:70px;
  width:calc(100% - 48px);
  max-width:1660px;
  padding:0 22px;
  background:#11212b;
  border:1px solid rgba(183,207,204,.29);
  border-radius:19px;
  box-shadow:0 13px 32px rgba(2,9,15,.25);
}
html[data-theme="light"] .v28-primary-header { color:#182d31; border-bottom-color:rgba(28,73,69,.2); }
html[data-theme="light"] .v28-primary-header .brand img { filter:none; }

html[data-theme="light"] .v28-primary-header #navigation :is(.nav-direct,.nav-contact):hover { color:#087d77; }
html[data-theme="light"] .v28-primary-header > .theme-toggle { background:rgba(255,255,255,.46);border-color:rgba(24,64,64,.3);color:#182d31; }
html[data-theme="light"].v28-scrolled .v28-primary-header.site-header {
  background:#fdfcf9;
  border-color:rgba(178,198,195,.78);
  box-shadow:0 13px 32px rgba(21,43,47,.1);
}
/* Retained typography/geometry after moving the header outside the opening. */
.intro-running .v28-primary-header .brand img { visibility:hidden; }
.v28-primary-header :is(a,button):focus-visible {
  outline:2px solid #74ffed;
  outline-offset:4px;
}
html[data-theme="light"] .v28-primary-header :is(a,button):focus-visible {outline-color:#087d77;}
/* SVG rather than Unicode arrow prevents the iOS emoji substitution. */
.v28-arrow-icon {display:inline-flex;flex:0 0 17px;width:17px;height:17px;align-items:center;justify-content:center; color:var(--mint,#74ffed);}
.v28-arrow-icon svg { width:100%; height:100%; fill:none; display:block; }
html[data-theme="light"] .v28-arrow-icon {color:#087d77;}
.v10-discipline-rail a .v28-arrow-icon {width:15px;height:15px;flex-basis:15px;}
.company .company-links a .v28-arrow-icon {width:18px;height:18px;flex-basis:18px;transition:transform .28s cubic-bezier(.16,1,.3,1);}
.company .company-links a:hover .v28-arrow-icon {transform:translate(3px,-3px);}
@media (max-width:1100px) {
  .v28-primary-header.site-header {grid-template-columns:minmax(130px,1fr) auto auto;gap:12px;}
  .v28-primary-header #navigation {gap:clamp(11px,1.3vw,18px);}
  .v28-primary-header #navigation .nav-direct,
  .v28-primary-header #navigation .nav-contact {font-size:12px;}
}
@media (max-width:980px) {
  :root { --v28-header-space:87px; }
  .v28-primary-header.site-header,
  html.v28-scrolled .v28-primary-header.site-header {
    top:10px!important;
    width:calc(100% - 32px);
    max-width:none;
    min-height:68px;
    height:68px;
    padding:0 16px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
    border:1px solid rgba(177,195,192,.42);
    border-radius:20px;
    box-shadow:0 11px 28px rgba(0,0,0,.15);
    background:#11212b;
  }
  .v28-primary-header .brand,
  html.v28-scrolled .v28-primary-header .brand {
    width:min(37vw,200px)!important;
    max-width:100%;
    height:44px!important;
    grid-column:1;
    min-width:0;
  }
  .v28-primary-header .menu-toggle {
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    display:flex!important;
    grid-column:2;
    align-items:center;
    gap:9px;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    height:44px;
    padding:8px;
    margin:0;
    background:none;
    color:inherit;
    border:0;
    border-radius:10px;
    font-size:14px;
    z-index:4;
  }
  .v28-primary-header .menu-toggle svg {width:22px;height:22px;flex:none;}
  .v28-primary-header > .theme-toggle {grid-column:3;min-width:44px;width:44px;min-height:44px;height:44px;}
  .v28-primary-header #navigation,
  html.v28-scrolled .v28-primary-header #navigation {
    position:absolute!important;
    z-index:3;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    width:auto;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    padding:10px;
    gap:0;
    border:1px solid rgba(177,195,192,.45);
    border-radius:16px;
    background:#142530;
    box-shadow:0 18px 40px rgba(0,0,0,.28);
    grid-column:auto;
  }
  .js .v28-primary-header #navigation:not([data-open="true"]) {display:none!important;}
  .js .v28-primary-header #navigation[data-open="true"] {display:flex!important;}
  .v28-primary-header #navigation a.nav-direct,
  .v28-primary-header #navigation a.nav-contact {
    position:static!important;
    display:flex;
    justify-content:flex-start;
    color:inherit;
    padding:12px 16px;
    font-size:15px;
    font-weight:600;
    width:100%!important;
    min-height:47px;
    border:0;
    border-radius:10px;
    white-space:normal;
  }
  .v28-primary-header #navigation a:hover,
  .v28-primary-header #navigation a[aria-current="location"] {background:rgba(116,255,237,.09);}
  .v28-primary-header .v28-active-indicator {display:none;}
  html[data-theme="light"] .v28-primary-header.site-header,
  html[data-theme="light"].v28-scrolled .v28-primary-header.site-header {background:#fdfcf9;border-color:#bdc9c5;color:#17232a;}
  html[data-theme="light"] .v28-primary-header #navigation,
  html[data-theme="light"].v28-scrolled .v28-primary-header #navigation {background:#fdfcf9;border-color:#bdc9c5;}
  html[data-theme="light"] .v28-primary-header #navigation a:hover,
  html[data-theme="light"] .v28-primary-header #navigation a[aria-current="location"] {background:#e9efeb;}
}
@media (max-width:600px) {
  :root { --v28-header-space:76px; }
  .v28-primary-header.site-header,
  html.v28-scrolled .v28-primary-header.site-header {width:calc(100% - 20px);top:9px!important;padding:0 12px;gap:6px;height:65px;min-height:65px;}
  .v28-primary-header .brand {width:min(41vw,170px)!important;}
  .v28-primary-header .menu-toggle {font-size:13px;gap:7px;padding:7px 4px;}
}
@media (max-width:365px) {
  .v28-primary-header .brand {width:min(37vw,135px)!important;}
  .v28-primary-header .menu-toggle {font-size:0;gap:0;min-width:44px;width:44px;}
  .v28-primary-header .menu-toggle svg {width:21px;height:21px;}
}
@media(prefers-reduced-motion:reduce) {
  .v28-primary-header.site-header,
  .v28-primary-header .v28-active-indicator,
  .company .company-links a .v28-arrow-icon {transition:none!important;}
}
