.elementor .site-header{max-width:100%;position:sticky;inset-block-start:0px;z-index:0;display:flex;flex-direction:row;/* scroll progress: 0 at the top of the page → 1 after 400px */
@property --hp {
  syntax: '';
  inherits: true;
  initial-value: 0;
}
@keyframes header-progress { to { --hp: 1; } }

.site-header {
  animation: header-progress linear both;
  animation-timeline: scroll(root);
  animation-range: 0 400px;          /* scroll distance for the change */
  background-color: rgba(255, 255, 255, var(--hp)) !important;
}

/* logos: black sits on top of white and fades in */
.header-logo { position: relative; }
.header-logo .logo-white { opacity: calc(1 - var(--hp)); }
.header-logo .logo-black {
  position: absolute !important;
  inset: 0;
  opacity: var(--hp);
}

/* menu text white → black (top-level items only, dropdown untouched) */
.site-header .elementor-nav-menu--main > ul > li > .elementor-item,
.site-header .elementor-menu-toggle {
  --hc: calc(255 - 255 * var(--hp));
  color: rgb(var(--hc), var(--hc), var(--hc)) !important;
  fill: currentColor;
}
.site-header .elementor-nav-menu--main .sub-arrow svg,
.site-header .elementor-menu-toggle svg { fill: currentColor; }\n}