/* Sticky header fix (round 4).
   The header already had position:sticky, but WordPress wraps it (with the sketch bar) in
   .wp-block-template-part, which is only as tall as the header, so it scrolled away.
   display:contents removes that wrapper box, so the header sticks to the whole page. */
.wp-site-blocks>.wp-block-template-part:has(>.al-header){display:contents}

:root{--al-hdr-h:73px;--al-hdr-top:0px}
/* WP admin bar (logged in): fixed 32px desktop / 46px <=782px; on <=600px it scrolls away */
body.admin-bar{--al-hdr-top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){body.admin-bar{--al-hdr-top:0px}}

.al-header{position:sticky;top:var(--al-hdr-top);z-index:100;
  transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease}
/* once scrolled: a touch more opaque + soft shadow (blur stays). Text stays >= 7:1 on it. */
.al-header.is-scrolled{background:color-mix(in srgb,var(--al-dark) 96%,transparent);
  box-shadow:0 10px 28px -14px rgba(0,0,0,.6);border-bottom-color:var(--ail-border-dark-strong,var(--al-line-dark))}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.al-header,.al-header.is-scrolled{background:var(--al-dark)}}
@media (prefers-reduced-motion:reduce){.al-header{transition:none}}

/* anchors land below the header */
html{scroll-padding-top:calc(var(--al-hdr-h) + var(--al-hdr-top) + 16px)}

/* mobile menu panel: hangs from the header and scrolls if taller than the screen */
@media (max-width:960px){
  .al-nav{top:100%;max-height:calc(100dvh - var(--al-hdr-h) - var(--al-hdr-top));overflow-y:auto;overscroll-behavior:contain}
}

/* keep the interactive bits in their own stacking context, so dragged desk windows
   (rising z-index) never paint over the header */
.alx{isolation:isolate}

/* scroll story: centre the pinned stage in the space under the header */
.alx .stage{top:calc(var(--al-hdr-top) + var(--al-hdr-h) / 2 + 15vh);height:min(70vh,calc(100vh - var(--al-hdr-h) - var(--al-hdr-top) - 48px))}
@media (max-width:960px){
  .alx .stage{top:calc(var(--al-hdr-top) + var(--al-hdr-h))}
}

/* C19p: unused result-card rule removed */

/* mobile: while the menu is open, hide the bottom "Book a demo" bar so it can't cover the menu */
@media (max-width:960px){body:has(.al-nav.open) .al-sticky{display:none}}
