/* Hero splash */
.wp-block-acf-hero-splash {margin-block: 0 !important;}

/* --wfb-header-height set in JS; dvh tracks the visible mobile viewport */
.wfb-hero-splash {position: relative; width: 100%; height: calc(100dvh - var(--wfb-header-height, 0px)); min-height: calc(100vh - var(--wfb-header-height, 0px)); box-sizing: border-box; padding: 44px; margin: 0; margin-bottom: var(--wfb-section-pad, 80px); background-image: var(--wfb-hero-bg-desktop); background-size: cover; background-position: center center; background-repeat: no-repeat; display: flex; align-items: stretch;}

/* Portrait crop on mobile */
@media (max-width: 640px), (orientation: portrait) and (max-width: 900px) {
	.wfb-hero-splash {background-image: var(--wfb-hero-bg-mobile, var(--wfb-hero-bg-desktop)); background-position: center top;}
}

/* Dark overlay */
.wfb-hero-splash::before {content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.38); z-index: 0;}

/* Inset frame */
.wfb-hero-splash__frame {position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 44px 40px; border: 1.5px solid rgba(255, 255, 255, 0.72); box-sizing: border-box; text-align: center; color: var(--color-white); gap: 0;}

/* Logos — width sizes viewBox-only SVGs; filter forces white */
.wfb-hero-splash__logos {flex: 1; display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap;}
.wfb-hero-splash__logo {display: block; width: clamp(250px, 45vw, 500px); height: auto; max-height: 50vh;}

/* Scroll group */
.wfb-hero-splash__scroll-group {display: flex; flex-direction: column; align-items: center; gap: 6px;}
.wfb-hero-splash__welcome {font-family: var(--font-heading, serif); font-size: clamp(1.4rem, 3vw, 2.1rem); font-style: normal; font-weight: 400; color: var(--color-white); margin: 0; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);}
.wfb-hero-splash__scroll-label {font-size: 0.85rem; letter-spacing: 0.20em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); margin: 0 0 5px;}

/* Bouncing arrow */
.wfb-hero-splash__arrow-btn {display: flex; align-items: center; justify-content: center; background: none; border: none; padding: 4px; margin: 0; cursor: pointer; color: var(--color-white); animation: wfb-hero-bounce 1.8s ease-in-out infinite; transition: opacity 0.2s ease;}
.wfb-hero-splash__arrow-btn:hover, .wfb-hero-splash__arrow-btn:focus-visible {opacity: 0.7; outline: none;}
.wfb-hero-splash__arrow-btn svg {display: block;}

@keyframes wfb-hero-bounce {
	0%, 100% {transform: translateY(0);}
	50% {transform: translateY(9px);}
}

/* Mobile */
@media (max-width: 640px) {
	.wfb-hero-splash {padding: 20px;}
	.wfb-hero-splash__frame {padding: 28px 20px;}
	.wfb-hero-splash__logos {gap: 20px;}
}