/* Helpers */
html { scroll-behavior: smooth; }
.glass { backdrop-filter: saturate(180%) blur(8px); background: rgba(255,255,255,0.7); }
.contain { width: min(1150px, 92%); margin-inline: auto; }

/* Hero overlay */
.home-hero .overlay {
  background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.25) 100%);
}
.home-hero h1, .home-hero p { text-shadow: 0 8px 30px rgba(0,0,0,.35); }

/* =========================
   Interactions & Animations
   ========================= */

/* Reveal-on-scroll base */
.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.reveal.in-view{ opacity:1; transform:none; }

/* Variants (optional; pick via data-reveal="...") */
.reveal[data-reveal="fade-in"]{ transform:none; }
.reveal[data-reveal="fade-up"]{ transform:translateY(16px); }
.reveal[data-reveal="slide-up"]{ transform:translateY(18px); }
.reveal[data-reveal="slide-right"]{ transform:translateX(-18px); }
.reveal[data-reveal="zoom-in"]{ transform:scale(.96); }
.reveal[data-reveal="zoom-in"].in-view,
.reveal[data-reveal="fade-in"].in-view,
.reveal[data-reveal="slide-up"].in-view,
.reveal[data-reveal="slide-right"].in-view,
.reveal[data-reveal="fade-up"].in-view { transform:none; }

/* Subtle hover lift for cards/buttons */
.hover-lift{ transition:transform .25s ease, box-shadow .25s ease; }
.hover-lift:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.10); }

/* Parallax target (image moves via JS) */
.home-hero img{ transition: transform .2s ease-out; }

/* Header shadow class toggled by JS */
header.header-shadow{ box-shadow:0 8px 24px rgba(0,0,0,.08); }

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none !important; transition:none !important; }
  .hover-lift, .home-hero img, header.header-shadow{ transition:none !important; }
}


/* Footer logo → force white on dark background */
.brand-logo--footer {
  filter: invert(1) saturate(0) brightness(1.8) contrast(1.05);
  transition: filter .2s ease;
}
.bg-dark .brand-logo--footer:hover {
  filter: invert(1) saturate(0) brightness(2) contrast(1.1);
}
