.h5-header {
  position: fixed;
  inset: 0 0 auto;
  height: var(--h5-nav-height);
  z-index: var(--z-sticky);
  background: var(--h5-nav-background);
  color: var(--h5-nav-ink);
  font: var(--h5-nav-type);
}
.h5-header__inner {
  position: relative;
  width: calc(100% - var(--space-7));
  max-width: var(--h5-nav-max);
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}
.h5-header a { color: inherit; text-decoration: none; }
.h5-brand { display: grid; gap: var(--space-1); flex: none; width: var(--h5-nav-logo-width); }
.h5-brand img { display: block; width: 100%; height: auto; }
.h5-nav { display: flex; align-items: center; gap: var(--h5-nav-gap); }
.h5-nav > a:hover, .h5-nav > a:focus-visible { color: var(--h5-nav-active-ink); }
.h8-mobile-search { display: none; }
/* Homepage 8: flat, compact menus using the existing brand glass treatment. */
.h5-mega.h8-mega {
  inset-inline: auto;
  left: 50%;
  width: min(100%, var(--h8-menu-compact-width));
  transform: translateX(-50%);
}
.h5-mega.h8-mega--wide { width: min(100%, var(--h8-menu-wide-width)); }
.h8-service-menu__groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); }
.h8-service-menu__groups > section { min-width:0; }
.h5-mega .h8-service-menu__groups .h8-menu-grid { grid-template-columns:minmax(0,1fr); }
.h5-mega .h8-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-2);
}
.h8-menu-grid li { min-width: 0; }
.h5-mega .h8-menu-grid a { min-height: var(--tap-min); }
.h8-menu-pending {
  display: grid;
  grid-template-columns: var(--h5-nav-icon) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-2);
  min-height: var(--tap-min);
  padding: var(--space-1) var(--space-2);
  color: var(--h5-nav-ink);
  cursor: default;
}
.h8-menu-pending .h5-icon { color: var(--h5-nav-cyan); }
.h8-menu-pending > span { white-space: nowrap; }
.h5-nav-home, .h5-nav-trigger { position: relative; display: flex; align-items: center; min-height: var(--tap-min); white-space: nowrap; }
.h5-nav-home::after, .h5-nav-trigger::after {
  content: ''; position: absolute; inset: auto 0 var(--space-1);
  height: var(--h5-nav-line); background: var(--h5-nav-cyan);
  box-shadow: var(--h5-nav-active-glow); opacity: 0;
  transition: opacity var(--dur-med) var(--ease-out);
}
.h5-nav-home[aria-current], .h5-nav-trigger:hover, .h5-nav-item[open] > summary { color: var(--h5-nav-active-ink); }
.h5-nav-home[aria-current]::after, .h5-nav-trigger:hover::after, .h5-nav-item[open] > summary::after { opacity: 1; }
.h5-nav-trigger { gap: var(--space-2); cursor: pointer; list-style: none; }
.h5-nav-trigger::-webkit-details-marker { display: none; }
.h5-nav-chevron {
  width: var(--h5-menu-chevron-size); height: var(--h5-menu-chevron-size);
  border-right: var(--h5-nav-border); border-bottom: var(--h5-nav-border);
  transform: var(--h5-menu-chevron-closed);
}
.h5-nav-item[open] .h5-nav-chevron { transform: var(--h5-menu-chevron-open); }
.h5-mega {
  position: absolute; top: 100%; inset-inline: 0;
  max-height: calc(100vh - var(--h5-nav-height) - var(--space-5));
  max-height: calc(100svh - var(--h5-nav-height) - var(--space-5));
  overflow-y: auto; overscroll-behavior: contain;
  padding: var(--space-5); background: var(--h5-menu-background);
  -webkit-backdrop-filter: var(--h5-menu-backdrop-filter);
  backdrop-filter: var(--h5-menu-backdrop-filter);
  border: var(--h5-nav-border); border-radius: var(--radius-md);
  box-shadow: var(--h5-menu-shadow); font: var(--h5-menu-type);
}
.h5-mega__groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.h5-technology-grid { columns: auto var(--h5-technology-column-min); column-gap: var(--space-4); }
.h5-technology-grid .h5-mega__group { break-inside: avoid; margin-bottom: var(--space-5); }
.h5-technology-grid .h5-mega__group:last-child { margin-bottom: 0; }
.h5-service-browser { position: relative; display: grid; gap: var(--space-1); }
.h5-service-category__trigger {
  display: flex; align-items: center; gap: var(--space-2); width: var(--h5-menu-sidebar-width);
  min-height: var(--h5-menu-category-height); padding: var(--space-2) var(--space-3);
  border: 0; border-radius: var(--radius-sm); background: transparent;
  color: var(--h5-nav-ink); font: var(--h5-menu-type); text-align: left; cursor: pointer;
}
.h5-service-category__trigger > .h5-icon { color: var(--h5-nav-cyan); }
.h5-service-browser .h5-service-category__trigger > .h5-nav-chevron { margin-left: auto; transform: var(--h5-menu-category-arrow); }
.h5-service-category__trigger:hover, .h5-service-category__trigger[aria-expanded="true"] {
  color: var(--h5-nav-cyan); background: var(--h5-menu-hover);
}
.h5-service-category__panel {
  display: flex; flex-direction: column;
  position: absolute; inset: 0 0 0 calc(var(--h5-menu-sidebar-width) + var(--space-5));
  padding-left: var(--space-5); border-left: var(--h5-nav-border);
  animation: h5-category-reveal var(--dur-fast) var(--ease-out);
}
.h5-service-category__panel[hidden] { display: none; }
.h5-service-category__panel .h5-mega__title { margin-block: var(--space-2) var(--space-4); }
.h5-service-category__panel ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-5); }
.h5-service-category__panel li { min-width: 0; }
.h5-mega a.h5-menu-feature {
  display: grid; grid-template-columns: var(--h5-menu-feature-image) minmax(0, 1fr);
  gap: var(--space-4); margin-top: auto; padding: var(--space-3);
  border: var(--h5-menu-feature-border); background: var(--h5-menu-hover);
}
.h5-menu-feature img { display: block; width: 100%; height: auto; border-radius: var(--radius-sm); }
.h5-mega a > .h5-menu-feature__body { display: grid; gap: var(--space-2); white-space: normal; }
.h5-menu-feature__eyebrow { color: var(--h5-nav-cyan); font: var(--h5-menu-feature-type); }
.h5-menu-feature__title { display: flex; align-items: center; gap: var(--space-3); color: var(--h5-nav-active-ink); font: var(--h5-menu-heading-type); }
.h5-menu-feature__title .h5-icon { margin-left: auto; color: var(--h5-nav-cyan); }
.h5-menu-feature__badges { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.h5-menu-feature__badges > span {
  display: inline-flex; align-items: center; padding: var(--space-1) var(--space-2);
  border: var(--h5-menu-feature-border); border-radius: var(--radius-pill);
  font: var(--h5-menu-feature-type); color: var(--h5-nav-ink);
}
@keyframes h5-category-reveal { from { opacity: 0; } to { opacity: 1; } }
.h5-header:not(.is-interactive) .h5-service-category__panel { position: static; padding: var(--space-3); }
.h5-mega__title { margin: 0 0 var(--space-2); color: var(--h5-nav-cyan); font: var(--h5-menu-heading-type); }
.h5-mega ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--h5-menu-item-gap); }
#h5-panel-industries .h5-mega__groups { display: block; }
#h5-panel-industries ul {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--h5-menu-column-min)), 1fr));
  column-gap: var(--space-5);
}
.h5-mega a, .h5-search__results a {
  display: flex; align-items: center; gap: var(--space-2); min-height: var(--h5-menu-row-height);
  padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); overflow-wrap: anywhere;
}
.h5-mega a > .h5-icon, .h5-search__results .h5-icon { color: var(--h5-nav-cyan); overflow: visible; }
.h5-mega a > span { min-width: 0; white-space: nowrap; }
.h5-mega.h8-mega a > span, .h8-menu-pending > span { white-space:normal; }
.h5-mega a:hover, .h5-mega a:focus-visible,
.h5-search__results a:hover, .h5-search__results a:focus-visible { color: var(--h5-nav-active-ink); background: var(--h5-menu-hover); }
.h5-mega__footer { margin-top: var(--space-4); padding-top: var(--space-2); border-top: var(--h5-nav-border); }
.h5-mega__footer a { width: fit-content; color: var(--h5-nav-cyan); }
.h5-header__actions { display: flex; align-items: center; gap: var(--space-3); }
.h5-icon { width: var(--h5-nav-icon); height: var(--h5-nav-icon); fill: currentColor; flex: none; }
.h5-technology-icon {
  width: var(--h5-technology-logo-width); height: var(--h5-technology-logo-height);
  object-fit: contain; flex: none;
}
.h5-icon-button {
  display: grid; place-items: center; width: var(--tap-min); height: var(--tap-min);
  padding: 0; border: 0; background: transparent; color: var(--h5-nav-ink); cursor: pointer;
}
.h5-talk {
  position: relative;
  min-width: var(--h5-nav-cta-width); min-height: var(--tap-min);
  display: flex; align-items: center; justify-content: center; gap: var(--space-4);
  padding: var(--space-3) var(--space-5); border: var(--h5-theme-primary-border);
  border-radius: var(--radius-pill); box-shadow: var(--h5-theme-primary-glow);
  background: var(--h5-theme-primary); white-space: nowrap;
  font: var(--h5-copy-button);
  transition: box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);
}
.h5-header .h5-talk { color: var(--h5-theme-primary-ink); }
.h5-talk .h5-icon { color: inherit; }
.h5-talk:hover { border-color: var(--h5-theme-colour); box-shadow: var(--h5-theme-primary-hover); }
.h5-cta-border {
  display: none; position: absolute; inset: calc(var(--h5-outline-cta-border-width) * -1);
  padding: var(--h5-outline-cta-border-width); border-radius: inherit;
  overflow: hidden; pointer-events: none;
}
@supports ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  .h5-cta-border {
    display: block;
    -webkit-mask: var(--h5-border-mask) content-box, var(--h5-border-mask);
    mask: var(--h5-border-mask) content-box, var(--h5-border-mask);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
  }
}
.h5-cta-border__gradient {
  position: absolute; left: 50%; top: 50%; width: var(--h5-border-gradient-size);
  aspect-ratio: 1; background: var(--h5-border-gradient);
  transform: var(--h5-border-gradient-start);
  animation: h5-gradient-border-turn var(--h5-border-motion-duration) var(--h5-border-motion-easing) infinite;
}
@keyframes h5-gradient-border-turn {
  from { transform: var(--h5-border-gradient-start); }
  to { transform: var(--h5-border-gradient-end); }
}
.h5-menu-toggle { display: none; }
.h5-header:not(.is-interactive) .h5-search-toggle,
.h5-header:not(.is-interactive) .h5-menu-toggle { display: none; }
.h5-header :focus-visible, .h5-search :focus-visible, .skip:focus-visible {
  outline: var(--h5-nav-focus); outline-offset: var(--focus-offset);
}
.skip:focus {
  position: fixed; inset: var(--space-3) auto auto var(--space-3); z-index: var(--z-modal);
  width: auto; height: auto; margin: 0; padding: var(--space-3) var(--space-4);
  clip-path: none; overflow: visible; background: var(--h5-nav-panel); color: var(--h5-nav-active-ink);
}
.h5-search {
  width: calc(100% - var(--space-6)); max-width: var(--h5-search-width);
  max-height: var(--h5-search-max-height); padding: var(--space-5);
  border: var(--h5-nav-border); border-radius: var(--radius-md);
  background: var(--h5-menu-background); color: var(--h5-nav-ink); font: var(--h5-menu-type);
  box-shadow: var(--h5-menu-shadow);
  -webkit-backdrop-filter: var(--h5-menu-backdrop-filter);
  backdrop-filter: var(--h5-menu-backdrop-filter);
}
.h5-search::backdrop { background: var(--h5-search-scrim); }
.h5-search__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.h5-search h2 { margin: 0; color: var(--h5-nav-cyan); font: var(--h5-menu-heading-type); }
.h5-search label { display: block; margin-block: var(--space-3) var(--space-2); font: inherit; }
.h5-search input {
  width: 100%; min-height: var(--tap-min); padding: var(--space-3); border: var(--h5-nav-border);
  border-radius: var(--radius-sm); background: var(--h5-menu-hover); color: var(--h5-nav-active-ink); font: inherit;
}
.h5-search input::placeholder { color: var(--h5-nav-ink); opacity: 1; }
.h5-search__status { margin-block: var(--space-3); font: var(--h5-menu-heading-type); }
.h5-search__results { display: grid; gap: var(--h5-menu-item-gap); list-style: none; margin: 0; padding: 0; }
.h5-search__results a { color: var(--h5-nav-ink); text-decoration: none; }
.h5-search__results a > span { min-width: 0; }
@media (max-width: 1100px) {
  .h8-service-menu__groups { grid-template-columns:minmax(0,1fr); }
  .h5-mega.h8-mega { width: 100%; left: auto; transform: none; }
  .h5-mega .h8-menu-grid { grid-template-columns: minmax(0, 1fr); }
  .h8-menu-grid a > span, .h8-menu-pending > span { white-space: normal; }
  :root { --h5-scene-top: var(--h5-nav-height-mobile); }
  .h5-header { height: var(--h5-nav-height-mobile); background: var(--h5-nav-panel); }
  .h5-header__inner { gap: var(--space-3); }
  .h5-brand { width: var(--h5-nav-logo-mobile); }
  .h5-menu-toggle { display: grid; }
  .h5-nav {
    display: none; position: absolute; inset: var(--h5-nav-height-mobile) 0 auto;
    padding: var(--space-3); max-height: calc(100svh - var(--h5-nav-height-mobile) - var(--space-5));
    overflow-y: auto; background: var(--h5-menu-background); border: var(--h5-nav-border); border-radius: var(--radius-md);
    -webkit-backdrop-filter: var(--h5-menu-backdrop-filter);
    backdrop-filter: var(--h5-menu-backdrop-filter);
  }
  .h5-nav.is-open, .h5-header:not(.is-interactive) .h5-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .h5-nav-home, .h5-nav-trigger { padding: var(--space-2); }
  .h5-nav-trigger { justify-content: space-between; }
  .h5-mega { position: static; max-height: none; padding: var(--space-2); box-shadow: none;
    background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .h5-mega a, .h5-search__results a { min-height: var(--tap-min); }
  .h5-mega__groups { grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--h5-menu-column-min)), 1fr)); }
  .h5-service-category__trigger { width: 100%; min-height: var(--tap-min); padding-inline: var(--space-2); }
  .h5-service-browser .h5-service-category__trigger > .h5-nav-chevron { transform: var(--h5-menu-chevron-closed); }
  .h5-service-browser .h5-service-category__trigger[aria-expanded="true"] > .h5-nav-chevron { transform: var(--h5-menu-chevron-open); }
  .h5-service-category__panel { position: static; padding: var(--space-2) 0 var(--space-3); border: 0; }
  .h5-mega a.h5-menu-feature { margin-top: var(--space-4); }
  .h5-service-category__panel .h5-mega__title { display: none; }
  .h5-service-category__panel ul { grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--h5-menu-column-min)), 1fr)); }
  .h5-story { margin-top: var(--h5-scene-top); }
  .h5-story .open { min-height: calc(100svh - var(--h5-scene-top)); }
  .h5-story.is-ready > .open { top: var(--h5-scene-top); }
}
@media (max-width: 560px) {
  /* Keep the logo, CTA and full-size menu target within narrow phone widths. */
  .h5-header__actions .h5-search-toggle { display: none; }
  .h8-mobile-search {
    display: flex; align-items: center; gap: var(--space-2);
    min-height: var(--tap-min); width: 100%; padding: var(--space-2);
    border: 0; border-top: var(--h5-nav-border); background: transparent;
    color: var(--h5-nav-ink); font: var(--h5-nav-type); text-align: left; cursor: pointer;
  }
  .h8-mobile-search:hover { color: var(--h5-nav-active-ink); }
  .h5-mega a.h5-menu-feature { grid-template-columns: minmax(0, 1fr); }
  .h5-search { padding: var(--space-3); }
  .h5-mega__groups, .h5-service-category__panel ul { grid-template-columns: minmax(0, 1fr); }
  .h5-header__inner { width: calc(100% - var(--space-6)); }
  .h5-header__actions { gap: var(--space-1); }
  .h5-talk { min-width: 0; padding-inline: var(--space-3); }
  .h5-talk .h5-icon { display: none; }
}
@media (max-width: 360px) {
  .h5-brand { width: var(--h5-nav-logo-compact); }
  .h5-talk { padding-inline: var(--space-2); }
}
@media (prefers-reduced-motion: reduce) {
  .h5-service-category__panel { animation: none; }
  .h5-nav-home::after, .h5-nav-trigger::after, .h5-talk { transition: none; }
  .h5-cta-border { display: none; }
  .h5-cta-border__gradient { animation: none; }
}
@media (pointer: coarse) { .h5-mega a, .h5-search__results a { min-height: var(--tap-min); } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .h5-mega, .h5-search { background: var(--h5-nav-panel); }
  @media (max-width: 1100px) { .h5-nav { background: var(--h5-nav-panel); } }
}
