// Full-bleed video hero .hero { position: relative; height: calc(100vh - 92px); min-height: 480px; max-height: 820px; overflow: hidden; display: flex; align-items: center; justify-content: center; text-align: center; @media (max-width: $m-break) { height: calc(100vh - 72px); } &-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; } &-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 31, 32, 0.35) 0%, rgba(35, 31, 32, 0.15) 40%, rgba(35, 31, 32, 0.6) 100%); z-index: 1; } &-content { position: relative; z-index: 2; color: $white; padding: 0 20px; } &-eyebrow { @include Libre; text-transform: uppercase; letter-spacing: 5px; font-size: 13px; margin-bottom: 12px; color: #f2e9d6; } &-title { font-size: 84px; margin: 0 0 14px; line-height: 1; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4); @media (max-width: $s-break) { font-size: 52px; } } &-sub { @include Libre; font-size: 20px; margin-bottom: 28px; text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); @media (max-width: $s-break) { font-size: 16px; } } &-btn { font-size: 15px; padding: 0.7rem 2rem; } &-scroll { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 2; color: $white; opacity: 0.85; animation: heroBounce 2s infinite; svg { width: 34px; height: 34px; } } } @keyframes heroBounce { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 8px); } }