/* Frontend hero styles */
:root { --wpdhs-zoom-duration: 10s; }
#wpdhs-hero.wpdhs-hero { position: relative; width: 100%; height: 100vh; overflow: hidden; }
.wpdhs-hero .wpdhs-bg,
.wpdhs-hero .wpdhs-bg video,
.wpdhs-hero .wpdhs-bg img,
.wpdhs-hero .wpdhs-bg .wpdhs-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wpdhs-hero .wpdhs-overlay { position: absolute; inset: 0; pointer-events: none; }
.wpdhs-hero .wpdhs-inner { position: relative; z-index: 3; height: 100%; display: grid; place-items: center; text-align: center; padding: 24px; }
.wpdhs-hero .wpdhs-align-left { text-align: left; justify-items: start; }
.wpdhs-hero .wpdhs-align-right { text-align: right; justify-items: end; }
.wpdhs-hero .wpdhs-copy { opacity: 0; transform: translateY(8px); animation: wpdhs-fadeup 900ms ease forwards 300ms; }
@keyframes wpdhs-fadeup { to { opacity: 1; transform: translateY(0); } }
.wpdhs-hero .wpdhs-heading { font-size: clamp(28px, 5vw, 56px); line-height: 1.1; margin: 0 0 12px 0; color: #fff; }
.wpdhs-hero .wpdhs-sub { font-size: clamp(16px, 2.4vw, 22px); color: #fff; opacity: .9; margin: 0 0 20px 0; }
.wpdhs-hero .wpdhs-cta { display: inline-block; padding: 12px 22px; border-radius: 999px; background: #ffffff; color: #111; text-decoration: none; font-weight: 600; }
/* Logo top-left */
.wpdhs-hero .wpdhs-logo { position: absolute; top: 16px; left: 16px; z-index: 4; opacity: 0; animation: wpdhs-fade 900ms ease forwards 300ms; }
.wpdhs-hero .wpdhs-logo img { display: block; width: clamp(80px, 12vw, 150px); height: auto; }
@keyframes wpdhs-fade { to { opacity: 1; } }
/* Slider */
.wpdhs-hero .wpdhs-slide { opacity: 0; transition: opacity var(--wpdhs-fade, 1500ms) ease; background-position: center center; background-size: cover; }
.wpdhs-hero .wpdhs-slide.is-active { opacity: 1; }
/* Zoom effect */
.wpdhs-hero .wpdhs-zoom-in { animation: wpdhs-zoom-in var(--wpdhs-zoom-duration,10s) linear both; }
.wpdhs-hero .wpdhs-zoom-out { animation: wpdhs-zoom-out var(--wpdhs-zoom-duration,10s) linear both; }
@keyframes wpdhs-zoom-in { from { transform: scale(1); } to { transform: scale(1.06); } }
@keyframes wpdhs-zoom-out { from { transform: scale(1.06); } to { transform: scale(1); } }
/* Layering: ensure videos above fallback images */
.wpdhs-hero .wpdhs-bg img { z-index: 0; }
.wpdhs-hero .wpdhs-bg .wpdhs-slide { z-index: 0; }
.wpdhs-hero .wpdhs-bg video { z-index: 1; }
