/* Home (Hero) styles */
.hero { position: relative; min-height: 100vh; display: grid; place-items: center; }
.hero-bg, .hero-bg-next {
  position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat;
  transition: opacity 800ms ease;
}
.hero-bg { opacity: 1; z-index: 0; }
.hero-bg-next { opacity: 0; z-index: 0; }
.hero-overlay { position:absolute; inset:0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(11,15,26,.85)); }
.hero-content { position: relative; z-index: 2; text-align: center; padding: 80px 0; }
.hero h1 { color: #fff; font-size: clamp(28px, 6vw, 48px); margin: 0 0 12px; }
.hero p { color: rgba(255,255,255,0.92); font-size: clamp(16px, 3.5vw, 20px); margin: 0 0 24px; }
.hero.is-fading .hero-bg { opacity: 0; }
.hero.is-fading .hero-bg-next { opacity: 1; }
.cta-group { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }