/* ------------------------------------------------------------------
   Finum Hero Slider — self-contained, scoped under .finum-hero
   Replaces the Slider Revolution "slider-1" hero. No jQuery, no
   Slider Revolution, no external fonts. Inherits the theme's fonts
   with sensible fallbacks.
   ------------------------------------------------------------------ */

.finum-hero {
	/* Tweak these three to taste ------------------------------------ */
	--finum-ink: #090116;               /* headline + text colour      */
	--finum-eyebrow: #4a4753;           /* muted tagline colour        */
	--finum-bg: transparent;            /* section background          */
	--finum-max: 1240px;                /* content max-width           */
	--finum-img-max: 600px;             /* photo max-width on desktop   */
	/* --------------------------------------------------------------- */

	background: var(--finum-bg);
	padding: clamp(28px, 5vw, 64px) clamp(18px, 5vw, 40px) 0;
	overflow: hidden;
	position: relative;
}

.finum-hero *,
.finum-hero *::before,
.finum-hero *::after {
	box-sizing: border-box;
}

.finum-hero__inner {
	max-width: var(--finum-max);
	margin: 0 auto;
	display: flex;
	align-items: flex-end;          /* both columns sit on the baseline */
	justify-content: space-between;
	gap: clamp(20px, 4vw, 56px);
	min-height: clamp(420px, 46vw, 720px);
}

/* ---- Text column ------------------------------------------------- */
.finum-hero__text {
	flex: 1 1 46%;
	max-width: 620px;
	padding-bottom: clamp(28px, 5vw, 56px);
}

.finum-hero__eyebrow {
	margin: 0 0 clamp(18px, 2.4vw, 30px);
	font-family: 'halyard-display', 'Poppins', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: clamp(0.72rem, 1vw, 0.82rem);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--finum-eyebrow);
	max-width: 34ch;
}

.finum-hero__title {
	margin: 0;
	font-family: 'halyard-display', 'Poppins', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-weight: 500;
	font-size: clamp(2.6rem, 8.5vw, 7.5rem);
	line-height: 0.98;
	letter-spacing: -0.01em;
	color: var(--finum-ink);
	text-wrap: balance;
}

.finum-hero__title span {
	display: block;
}

/* ---- Scroll-down affordance -------------------------------------- */
.finum-hero__scroll {
	margin-top: clamp(22px, 3vw, 38px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--finum-ink);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.finum-hero__scroll svg {
	display: block;
}

.finum-hero__scroll:focus-visible {
	outline: 2px solid var(--finum-ink);
	outline-offset: 4px;
	border-radius: 4px;
}

/* ---- Media column ------------------------------------------------ */
.finum-hero__media {
	flex: 1 1 50%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	align-self: flex-end;
}

.finum-hero__media img {
	display: block;
	width: 100%;
	max-width: var(--finum-img-max);
	height: auto;
}

/* ---- Entrance animation ------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
	.finum-hero__eyebrow,
	.finum-hero__title span,
	.finum-hero__scroll {
		opacity: 0;
		transform: translateY(18px);
		animation: finum-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	}
	.finum-hero__eyebrow { animation-delay: 0.05s; }
	.finum-hero__title span:nth-child(1) { animation-delay: 0.14s; }
	.finum-hero__title span:nth-child(2) { animation-delay: 0.22s; }
	.finum-hero__title span:nth-child(3) { animation-delay: 0.30s; }
	.finum-hero__scroll { animation-delay: 0.42s; }

	.finum-hero__media img {
		opacity: 0;
		transform: translateX(60px);
		animation: finum-slide-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards;
	}

	.finum-hero__scroll svg {
		animation: finum-bob 2.4s ease-in-out 1.4s infinite;
	}

	@keyframes finum-rise {
		to { opacity: 1; transform: none; }
	}
	@keyframes finum-slide-in {
		to { opacity: 1; transform: none; }
	}
	@keyframes finum-bob {
		0%, 100% { transform: translateY(0); }
		50% { transform: translateY(5px); }
	}
}

/* ---- Responsive: stack on tablet / phone ------------------------- */
@media (max-width: 880px) {
	.finum-hero__inner {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		min-height: 0;
	}
	.finum-hero__text {
		flex: none;
		width: 100%;
		max-width: none;
		padding-bottom: 0;
		order: 1;
	}
	.finum-hero__media {
		flex: none;
		width: 100%;
		justify-content: center;
		order: 2;
		margin-top: clamp(8px, 3vw, 24px);
	}
	.finum-hero__media img {
		max-width: min(420px, 82%);
	}
}
