/* hero.css */
.hero { position: relative; min-height: 100vh; display: grid; align-items: center; overflow: hidden; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-overlay { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to top, rgba(42,24,48,0.85), rgba(42,24,48,0.35) 60%, rgba(42,24,48,0.55)); }
.hero-content { color: var(--color-on-primary); max-width: 720px; padding-block-start: var(--header-h); }
.hero-eyebrow { color: var(--color-champagne); letter-spacing: 0.2em; margin-block-end: var(--space-md); }
.hero-title { color: var(--color-on-primary); font-size: clamp(2.5rem, 6vw, 4.5rem); }
.hero-sub { font-size: 1.15rem; margin-block: var(--space-md) var(--space-xl); color: #f3e9df; }
.hero-cta { background: var(--color-accent); color: #fff; }
.hero-cta:hover { background: var(--color-accent-hover); }
