/* LP-only bridge to the official fixed header and bottom navigation. */
.km-root {
  position: relative;
  isolation: isolate;
  width: calc(100% - 16px);
  --km-site-header-height: 0px;
  --km-site-bottom-height: 115px;
  --km-focus-top: 20px;
}
.km-root [id] { scroll-margin-top: calc(var(--km-site-header-height) + 20px); }
.km-root #km-who.km-focus-pinned .km-focus-shell {
  top: var(--km-focus-top);
  height: calc(100vh - var(--km-site-header-height) - var(--km-site-bottom-height) - 40px);
}
@media (min-width: 960px) {
  .km-root {
    --km-site-header-height: 91px;
    --km-site-bottom-height: 90px;
    --km-focus-top: 111px;
  }
}
/* The common menu is a div in the original markup. Add keyboard focus styling
   only to the enhanced control, never to unrelated site buttons. */
.km-common-menu:focus-visible { outline: 3px solid #263d50; outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) {
  .km-site-page .header *,
  .km-site-page .hdBreadcrumb,
  .km-site-page .pageTop { transition: none; }
}

/* Compact desktop layout: preserve text size and scale >= 1, fit illustrations
   and controls between the measured common header and fixed bottom bar. */
@media (min-width: 960px) {
  .km-root #km-who.km-focus-pinned.km-focus-compact .km-focus-shell {
    grid-template-rows: auto minmax(56px, 1fr);
  }
  .km-root #km-who.km-focus-pinned.km-focus-compact .km-scene-cards .km-lc {
    top: 20px;
    height: var(--km-focus-card-height);
    min-height: 380px;
    padding: 20px 36px 18px;
    gap: 8px;
  }
  .km-root #km-who.km-focus-pinned.km-focus-compact .km-scene-band {
    padding: 10px 16px;
    flex-shrink: 0;
  }
  .km-root #km-who.km-focus-pinned.km-focus-compact .km-scene-cards .km-mini-scene {
    height: 80px;
    min-height: 80px;
    max-height: 300px;
    flex: 1 1 80px;
  }
  .km-root #km-who.km-focus-pinned.km-focus-compact .km-scene-cards .km-after {
    flex-shrink: 0;
  }
}
