/* Taddey Hero — cinematic, responsive replacement for the Slider Revolution hero */

.taddey-hero {
	--taddey-brand-blue: #0d32aa;
	--taddey-navy: #0a1a3d;
	--taddey-warm-white: #f7f5ef;
	--taddey-sun-gold: #e7b872;
	--taddey-glass-fill: rgba(10, 26, 61, 0.5);
	--taddey-glass-border: rgba(247, 245, 239, 0.2);

	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: calc(var(--taddey-hero-min-height, 100dvh) - var(--taddey-hero-offset, 0px));
	overflow: hidden;
	isolation: isolate;
}

.taddey-hero__media {
	position: absolute;
	inset: 0;
	z-index: -3;
}

.taddey-hero__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: var(--taddey-hero-img-pos, center);
	display: block;
	animation: taddey-hero-kenburns 24s ease-in-out infinite alternate;
}

.taddey-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(180deg, rgba(10, 26, 61, 0.55) 0%, rgba(10, 26, 61, 0.28) 35%, rgba(10, 26, 61, 0.52) 68%, rgba(10, 26, 61, 0.85) 100%),
		linear-gradient(90deg, rgba(10, 26, 61, 0.6) 0%, rgba(10, 26, 61, 0.05) 55%);
}

.taddey-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 80rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	padding: clamp(1.5rem, 5vw, 3.5rem);
	padding-bottom: clamp(3.5rem, 9vw, 5.5rem);
}

.taddey-hero__signature {
	display: inline-flex;
	margin: 0;
	padding: 0.4em 0.95em;
	border-radius: 999px;
	background: var(--taddey-glass-fill);
	border: 1px solid var(--taddey-glass-border);
	backdrop-filter: blur(12px) saturate(140%);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
	font-family: "Inter", Roboto, Arial, sans-serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(0.85rem, 1.4vw, 1rem);
	color: var(--taddey-warm-white);
	text-decoration: none;
	animation: taddey-hero-rise 0.8s ease-out both;
}

a.taddey-hero__signature:hover,
a.taddey-hero__signature:focus-visible {
	border-color: rgba(247, 245, 239, 0.4);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.taddey-hero__title {
	position: relative;
	z-index: 2;
	margin: 0;
	font-family: "Pacifico", cursive;
	font-weight: 400;
	font-size: clamp(2.5rem, 7vw, 5.25rem);
	line-height: 1.08;
	color: var(--taddey-warm-white);
	text-shadow: 0 1px 2px rgba(10, 26, 61, 0.85), 0 10px 28px rgba(10, 26, 61, 0.6), 0 2px 10px rgba(10, 26, 61, 0.5);
	animation: taddey-hero-rise 0.8s 0.12s ease-out both;
}

.taddey-hero__panel {
	background: var(--taddey-glass-fill);
	border: 1px solid var(--taddey-glass-border);
	border-radius: 1.25rem;
	padding: clamp(1.1rem, 2.6vw, 1.6rem) clamp(1.25rem, 3vw, 1.8rem);
	max-width: 34rem;
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	box-shadow: 0 18px 40px -22px rgba(10, 26, 61, 0.6);
	animation: taddey-hero-rise 0.8s 0.24s ease-out both;
}

.taddey-hero__panel-heading {
	margin: 0 0 0.4rem;
	font-family: "Inter", Roboto, Arial, sans-serif;
	font-weight: 600;
	font-size: clamp(1rem, 1.9vw, 1.15rem);
	color: var(--taddey-warm-white);
}

.taddey-hero__panel-text {
	margin: 0;
	font-family: "Inter", Roboto, Arial, sans-serif;
	font-size: clamp(0.92rem, 1.6vw, 1.05rem);
	line-height: 1.55;
	color: rgba(247, 245, 239, 0.88);
}

.taddey-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	margin-top: 0.2rem;
	padding: 0.85em 1.7em;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--taddey-brand-blue), #1442d6);
	border: 1px solid rgba(247, 245, 239, 0.3);
	color: #fff;
	font-family: "Inter", Roboto, Arial, sans-serif;
	font-weight: 600;
	font-size: clamp(0.78rem, 1.3vw, 0.88rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 16px 32px -14px rgba(10, 26, 61, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
	animation: taddey-hero-rise 0.8s 0.34s ease-out both;
}

.taddey-hero__cta-icon {
	transition: transform 0.25s ease;
}

.taddey-hero__cta:hover,
.taddey-hero__cta:focus-visible {
	background: linear-gradient(135deg, #0a2680, var(--taddey-brand-blue));
	transform: translateY(-3px);
	box-shadow: 0 22px 38px -16px rgba(10, 26, 61, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.taddey-hero__cta:hover .taddey-hero__cta-icon,
.taddey-hero__cta:focus-visible .taddey-hero__cta-icon {
	transform: translateX(4px);
}

.taddey-hero__cta:focus-visible {
	outline: 2px solid var(--taddey-sun-gold);
	outline-offset: 3px;
}

.taddey-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: clamp(1.4rem, 3.5vw, 2.4rem);
	transform: translateX(-50%);
	background: none;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	z-index: 1;
}

.taddey-hero__scroll-track {
	display: block;
	width: 2px;
	height: 2.6rem;
	background: rgba(247, 245, 239, 0.3);
	position: relative;
	overflow: hidden;
	border-radius: 1px;
}

.taddey-hero__scroll-track::after {
	content: "";
	position: absolute;
	top: -40%;
	left: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(180deg, var(--taddey-sun-gold), rgba(231, 184, 114, 0));
	animation: taddey-hero-scroll-fall 1.8s ease-in-out infinite;
}

@media (min-width: 900px) {
	.taddey-hero__content {
		padding-left: clamp(3rem, 6vw, 6rem);
	}
}

@media (max-width: 480px) {
	.taddey-hero__content {
		gap: 0.65rem;
		padding-bottom: 2.25rem;
	}

	.taddey-hero__panel {
		padding: 1rem 1.1rem;
	}

	.taddey-hero__scroll {
		display: none;
	}
}

@keyframes taddey-hero-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes taddey-hero-kenburns {
	from { transform: scale(1.02); }
	to { transform: scale(1.09); }
}

@keyframes taddey-hero-scroll-fall {
	0% { top: -40%; }
	100% { top: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.taddey-hero__signature,
	.taddey-hero__title,
	.taddey-hero__panel,
	.taddey-hero__cta {
		animation: none;
	}

	.taddey-hero__img {
		animation: none;
	}

	.taddey-hero__scroll-track::after {
		animation: none;
		top: 0;
		height: 100%;
	}
}
