/* One sticky shell owns both desktop surfaces and all existing mobile levels.
   It stays in flow, so hiding it never changes the content's layout position. */
.asem-header-shell {
  position: sticky;
  top: 0;
  z-index: 1040;
  overflow: visible;
  transition: transform 260ms cubic-bezier(.22, .61, .36, 1);
}
.asem-header-shell.is-navigation-hidden { transform: translateY(calc(-100% - 32px)); pointer-events: none; }
.asem-header-shell .header-layout1 { position: relative; }
.asem-header-shell .asem-primary-navigation { position: relative; top: auto; }
.asem-header-shell .asem-mobile-tabs,
.asem-header-shell .asem-mobile-modules { position: relative; top: auto; }
@media (prefers-reduced-motion: reduce) {
  .asem-header-shell { transition: none; }
}
/* Legacy overflow-x:hidden makes body a separate scroll container on desktop.
   Clip keeps the same horizontal crop without trapping position:sticky. */
@supports (overflow: clip) {
  html:has([data-header-shell]),
  body:has([data-header-shell]) { overflow-x: clip; }
}
