/**
 * Zone Hero Widget — Preset Styles
 *
 * Presets: classic | alumni | foundation | bold | minimal
 *
 * @package TAMUK_Foundation
 * @since   1.1.0
 */

/* =============================================================
   BASE — shared across all presets
   ============================================================= */
.tamuk-zone-hero {
	min-height: 500px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Hero entrance — overlay fades in, content slides up */
.tamuk-zone-hero__content {
	opacity: 0;
	transform: translateY(24px);
	animation: tamuk-zh-content-enter 0.8s ease 0.3s forwards;
}

.tamuk-zone-hero__heading {
	opacity: 0;
	animation: tamuk-zh-fade-up 0.6s ease 0.5s forwards;
}

.tamuk-zone-hero__subtitle {
	opacity: 0;
	animation: tamuk-zh-fade-up 0.6s ease 0.7s forwards;
}

.tamuk-zone-hero__buttons {
	opacity: 0;
	animation: tamuk-zh-fade-up 0.6s ease 0.9s forwards;
}

@keyframes tamuk-zh-content-enter {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes tamuk-zh-fade-up {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tamuk-zone-hero__content,
	.tamuk-zone-hero__heading,
	.tamuk-zone-hero__subtitle,
	.tamuk-zone-hero__buttons {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.tamuk-zone-hero.hero {
	min-height: 500px;
}

/* Override ALL landing page overlay styles — presets handle their own */
.tamuk-zone-hero > .hero-overlay {
	background: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Kill all landing page pseudo-element overlays */
.tamuk-zone-hero > .hero-overlay::before,
.tamuk-zone-hero > .hero-overlay::after {
	content: none !important;
	display: none !important;
}

/* ---- Content ---- */
.tamuk-zone-hero__content {
	position: relative;
	z-index: 3;
	max-width: var(--container-xl, 1280px);
	margin: 0 auto;
	padding: var(--space-12, 3rem) var(--gutter, 1.5rem);
	text-align: center;
}

/* ---- Slideshow Controls ---- */
.tamuk-zh-controls {
	position: absolute;
	bottom: var(--space-6, 1.5rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 4;
	display: flex;
	align-items: center;
	gap: var(--space-3, 0.75rem);
}

/* For Alumni preset — position controls on the right side (over the image) */
.tamuk-zone-hero--alumni .tamuk-zh-controls {
	left: auto;
	right: var(--space-6, 1.5rem);
	transform: none;
}

/* Arrow buttons */
.tamuk-zh-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.tamuk-zh-arrow:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.1);
}

.tamuk-zh-arrow:active {
	transform: scale(0.95);
}

/* Progress dots */
.tamuk-zh-progress {
	display: flex;
	align-items: center;
	gap: var(--space-2, 0.5rem);
}

.tamuk-zh-dot {
	position: relative;
	width: 32px;
	height: 3px;
	border: none;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.3);
	cursor: pointer;
	padding: 0;
	overflow: hidden;
	transition: background 0.2s ease;
}

.tamuk-zh-dot:hover {
	background: rgba(255, 255, 255, 0.5);
}

/* The fill bar that animates across the active dot */
.tamuk-zh-dot-fill {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 2px;
	transition: none;
}

.tamuk-zh-dot.is-active .tamuk-zh-dot-fill {
	animation: tamuk-zh-dot-progress linear forwards;
	/* Duration set by JS via custom property */
	animation-duration: var(--zh-interval, 7s);
}

@keyframes tamuk-zh-dot-progress {
	from { width: 0%; }
	to   { width: 100%; }
}

/* Completed dots show full gold */
.tamuk-zh-dot.is-past {
	background: rgba(255, 255, 255, 0.25);
}

.tamuk-zh-dot.is-past .tamuk-zh-dot-fill {
	width: 100%;
	animation: none;
}

@media (max-width: 480px) {
	.tamuk-zh-controls {
		bottom: var(--space-3, 0.75rem);
		gap: var(--space-2, 0.5rem);
	}

	.tamuk-zh-arrow {
		width: 30px;
		height: 30px;
	}

	.tamuk-zh-dot {
		width: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tamuk-zh-dot-fill {
		animation: none !important;
	}

	.tamuk-zh-dot.is-active {
		background: var(--tamuk-gold, #FCC10F);
	}
}

/* ---- Eyebrow ---- */
.tamuk-zone-hero__eyebrow {
	display: block;
	font-family: var(--font-body, 'Source Sans 3', sans-serif);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--tamuk-gold, #FCC10F);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-bottom: var(--space-2, 0.5rem);
	opacity: 0;
	animation: tamuk-zh-fade-up 0.6s ease 0.4s forwards;
}

@media (prefers-reduced-motion: reduce) {
	.tamuk-zone-hero__eyebrow {
		opacity: 1;
		animation: none;
	}
}

/* ---- Heading ---- */
.tamuk-zone-hero__heading {
	font-family: var(--font-heading, 'Cinzel', serif);
	font-weight: 700;
	font-size: clamp(2rem, 5vw, 3.75rem);
	color: #fff;
	letter-spacing: var(--tracking-wider, 0.04em);
	line-height: 1.15;
	margin: 0;
	position: relative;
	display: inline-block;
	text-shadow:
		0 2px 12px rgba(0, 0, 0, 0.5),
		0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Reset all heading pseudo-elements */
.tamuk-zone-hero__heading::before,
.tamuk-zone-hero__heading::after {
	content: none;
}

/* ---- Subtitle ---- */
.tamuk-zone-hero__subtitle {
	font-family: var(--font-body, 'Source Sans 3', sans-serif);
	font-size: var(--text-lg, 1.125rem);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.75;
	max-width: 650px;
	margin: var(--space-4, 1rem) auto var(--space-8, 2rem);
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

/* ---- Buttons ---- */
.tamuk-zone-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-4, 1rem);
	margin-top: var(--space-6, 1.5rem);
}

.tamuk-zone-hero__buttons .btn {
	text-decoration: none;
}

.tamuk-zone-hero__buttons .btn-outline-white {
	color: var(--tamuk-white, #fff);
	border: 2px solid rgba(255, 255, 255, 0.6);
	background: transparent;
	padding: var(--space-2, 0.5rem) var(--space-6, 1.5rem);
	border-radius: var(--radius-full, 9999px);
	font-weight: 700;
	font-size: var(--text-sm, 0.875rem);
	text-transform: uppercase;
	letter-spacing: var(--tracking-wider, 0.04em);
	transition: background 0.2s ease, border-color 0.2s ease;
}

.tamuk-zone-hero__buttons .btn-outline-white:hover,
.tamuk-zone-hero__buttons .btn-outline-white:focus {
	background: rgba(255, 255, 255, 0.15);
	border-color: #fff;
}


/* =============================================================
   PRESET: Classic
   ============================================================= */

.tamuk-zone-hero--classic > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: rgba(0, 30, 100, 0.55) !important;
	pointer-events: none;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--classic > .hero-overlay::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse 58% 52% at 50% 48%,
		rgba(0, 30, 95, 0.28) 0%,
		rgba(0, 30, 95, 0) 100%
	) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	mask-image: radial-gradient(ellipse 60% 55% at 50% 48%, black 0%, transparent 100%);
	-webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 48%, black 0%, transparent 100%);
	pointer-events: none;
	height: auto !important;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--classic .tamuk-zone-hero__heading {
	padding-bottom: var(--space-4, 1rem);
}

.tamuk-zone-hero--classic .tamuk-zone-hero__heading::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 9999px;
}


/* =============================================================
   PRESET: Alumni — Split panel layout

   The image takes the full background, then a solid angled
   panel covers the left side creating a split-screen effect.
   Text sits on the solid panel for maximum contrast.
   ============================================================= */

/* Alumni panel entrance — slide in from left */
.tamuk-zone-hero--alumni > .hero-overlay::before {
	animation: tamuk-zh-panel-enter 0.7s ease forwards;
}

.tamuk-zone-hero--alumni > .hero-overlay::after {
	animation: tamuk-zh-panel-enter 0.7s ease 0.15s forwards;
	opacity: 0;
}

@keyframes tamuk-zh-panel-enter {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Foundation glass card entrance — scale up + fade */
.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
	animation: tamuk-zh-glass-enter 0.7s ease 0.2s forwards;
	opacity: 0;
	transform: scale(0.95);
}

@keyframes tamuk-zh-glass-enter {
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tamuk-zone-hero--alumni > .hero-overlay::before,
	.tamuk-zone-hero--alumni > .hero-overlay::after,
	.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
		animation: none;
		opacity: 1;
		transform: none;
	}
}

/* Solid blue panel — covers the left ~45% of the hero */
.tamuk-zone-hero--alumni > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 48%;
	background: linear-gradient(145deg, var(--tamuk-blue, #003399) 0%, #001a4d 100%) !important;
	pointer-events: none;
	clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 1 !important;
	animation: none !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
	z-index: 1;
}

/* Gold diagonal stripe along the panel's angled edge */
.tamuk-zone-hero--alumni > .hero-overlay::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 48%;
	pointer-events: none;
	clip-path: polygon(99% 0, 100% 0, 85% 100%, 84% 100%);
	background: var(--tamuk-gold, #FCC10F) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
	z-index: 2;
	opacity: 1 !important;
	animation: none !important;
	height: auto !important;
	inset: 0 auto 0 0 !important;
}

/* Image visible on the right ~55% */
.tamuk-zone-hero--alumni .hero-slides {
	left: 22%;
	width: 78%;
}

.tamuk-zone-hero--alumni .hero-slide {
	left: 0;
	right: -4%;
}

/* Override the base center alignment — pin content to the left */
.tamuk-zone-hero--alumni {
	justify-content: flex-start;
}

/* Content: left-aligned, inside the blue panel with left spacing */
.tamuk-zone-hero--alumni .tamuk-zone-hero__content {
	text-align: left;
	max-width: 38%;
	margin: 0;
	padding: var(--space-12, 3rem) var(--space-8, 2rem);
	padding-left: clamp(9.5rem, 4vw, 4rem);
	z-index: 3;
}

.tamuk-zone-hero--alumni .tamuk-zone-hero__heading {
	font-size: clamp(1.75rem, 4vw, 3rem);
	text-shadow: none;
	display: block;
}

.tamuk-zone-hero--alumni .tamuk-zone-hero__heading::after {
	content: "";
	display: block;
	position: relative;
	left: 0;
	transform: none;
	width: 50px;
	height: 4px;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 2px;
	margin-top: var(--space-3, 0.75rem);
}

.tamuk-zone-hero--alumni .tamuk-zone-hero__subtitle {
	max-width: 440px;
	margin-left: 0;
	margin-right: auto;
	text-shadow: none;
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--text-base, 1.0625rem);
}

.tamuk-zone-hero--alumni .tamuk-zone-hero__buttons {
	justify-content: flex-start;
}


/* =============================================================
   PRESET: Foundation — Frosted glass card

   The image fills the full background at low overlay.
   Content sits inside a frosted glass card centered on the hero.
   Elegant, donor-facing, high-end feel.
   ============================================================= */

.tamuk-zone-hero--foundation > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: rgba(0, 15, 50, 0.35) !important;
	pointer-events: none;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
	background: rgba(0, 20, 60, 0.65);
	backdrop-filter: blur(20px) saturate(1.4);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	border-radius: var(--radius-xl, 1rem);
	border: 1px solid rgba(255, 255, 255, 0.12);
	max-width: 700px;
	padding: var(--space-12, 3rem) var(--space-10, 2.5rem);
	box-shadow:
		0 20px 60px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Thin gold line at the top of the card */
.tamuk-zone-hero--foundation .tamuk-zone-hero__content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 3px;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 0 0 2px 2px;
}

.tamuk-zone-hero--foundation .tamuk-zone-hero__heading {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	letter-spacing: 0.06em;
	text-shadow: none;
}

/* Small gold diamond ornament below heading */
.tamuk-zone-hero--foundation .tamuk-zone-hero__heading::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: var(--tamuk-gold, #FCC10F);
	transform: rotate(45deg);
	margin: var(--space-4, 1rem) auto 0;
	position: relative;
	left: auto;
}

.tamuk-zone-hero--foundation .tamuk-zone-hero__subtitle {
	color: rgba(255, 255, 255, 0.8);
	text-shadow: none;
	font-size: var(--text-base, 1.0625rem);
	max-width: 520px;
}

/* Buttons: refined, pill with subtle backdrop */
.tamuk-zone-hero--foundation .tamuk-zone-hero__buttons .btn-cta {
	background: var(--tamuk-gold, #FCC10F);
	color: var(--tamuk-blue, #003399);
	border: none;
	box-shadow: 0 4px 16px rgba(252, 193, 15, 0.3);
}

.tamuk-zone-hero--foundation .tamuk-zone-hero__buttons .btn-cta:hover {
	box-shadow: 0 6px 24px rgba(252, 193, 15, 0.45);
	transform: translateY(-1px);
}


/* =============================================================
   PRESET: Foundation Split — Right panel (mirror of Alumni)

   Image fills the left side, a solid dark panel on the right
   holds the content. Gold vertical accent stripe at the edge.
   ============================================================= */

/* Panel entrance */
.tamuk-zone-hero--foundation-split > .hero-overlay::before {
	animation: tamuk-zh-panel-enter-right 0.7s ease forwards;
}

.tamuk-zone-hero--foundation-split > .hero-overlay::after {
	animation: tamuk-zh-panel-enter-right 0.7s ease 0.15s forwards;
	opacity: 0;
}

@keyframes tamuk-zh-panel-enter-right {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tamuk-zone-hero--foundation-split > .hero-overlay::before,
	.tamuk-zone-hero--foundation-split > .hero-overlay::after {
		animation: none;
		opacity: 1;
		transform: none;
	}
}

/* Gradient overlay — image visible left, solid dark right */
.tamuk-zone-hero--foundation-split > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(0, 20, 60, 0.06) 0%,
		rgba(0, 20, 60, 0.1) 30%,
		rgba(0, 20, 60, 0.5) 45%,
		rgba(0, 15, 50, 0.92) 55%,
		rgba(0, 15, 50, 0.98) 65%,
		#001040 75%,
		#001040 100%
	) !important;
	pointer-events: none;
	clip-path: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 1 !important;
	animation: none !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
	z-index: 1;
}

/* Reset ::after — we use a content pseudo-element for the gold line instead */
.tamuk-zone-hero--foundation-split > .hero-overlay::after {
	content: none !important;
	display: none !important;
}

/* Gold vertical framing line next to the content */
.tamuk-zone-hero--foundation-split .tamuk-zone-hero__content::before {
	content: "";
	position: absolute;
	left: 0;
	top: 15%;
	bottom: 15%;
	width: 3px;
	background: linear-gradient(
		to bottom,
		transparent 0%,
		var(--tamuk-gold, #FCC10F) 15%,
		var(--tamuk-gold, #FCC10F) 85%,
		transparent 100%
	);
	border-radius: 2px;
}

/* Image constrained to the left ~65% so faces show in the clear area */
.tamuk-zone-hero--foundation-split .hero-slides {
	left: 0;
	right: 22%;
	width: 78%;
}

.tamuk-zone-hero--foundation-split .hero-slide {
	left: -4%;
	right: 0;
}

/* Pin content to the right */
.tamuk-zone-hero--foundation-split {
	justify-content: flex-end;
}

/* Content: right-aligned, inside the dark area */
.tamuk-zone-hero--foundation-split .tamuk-zone-hero__content {
	position: relative;
	text-align: left;
	max-width: 42%;
	margin: 0;
	padding: var(--space-12, 3rem) clamp(2rem, 4vw, 4rem);
	padding-left: clamp(2rem, 3vw, 3rem);
	padding-right: clamp(2.5rem, 5vw, 5rem);
	z-index: 3;
}

.tamuk-zone-hero--foundation-split .tamuk-zone-hero__heading {
	font-size: clamp(1.75rem, 4vw, 3rem);
	text-shadow: none;
	display: block;
}

.tamuk-zone-hero--foundation-split .tamuk-zone-hero__heading::after {
	content: "";
	display: block;
	position: relative;
	left: 0;
	transform: none;
	width: 50px;
	height: 4px;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 2px;
	margin-top: var(--space-3, 0.75rem);
}

.tamuk-zone-hero--foundation-split .tamuk-zone-hero__subtitle {
	max-width: 440px;
	margin-left: 0;
	margin-right: auto;
	text-shadow: none;
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--text-base, 1.0625rem);
}

.tamuk-zone-hero--foundation-split .tamuk-zone-hero__buttons {
	justify-content: flex-start;
}

/* Slideshow controls — position on the left (over the image) */
.tamuk-zone-hero--foundation-split .tamuk-zh-controls {
	left: var(--space-6, 1.5rem);
	right: auto;
	transform: none;
}


/* =============================================================
   PRESET: Bold
   ============================================================= */

.tamuk-zone-hero--bold > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: rgba(0, 10, 30, 0.78) !important;
	pointer-events: none;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--bold > .hero-overlay::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40%;
	background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.6) 100%) !important;
	pointer-events: none;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--bold .tamuk-zone-hero__heading {
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.05;
	text-transform: uppercase;
	padding-bottom: calc(var(--space-4, 1rem) + 2px);
}

.tamuk-zone-hero--bold .tamuk-zone-hero__heading::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 6px;
	background: var(--tamuk-gold, #FCC10F);
	border-radius: 9999px;
}

.tamuk-zone-hero--bold .tamuk-zone-hero__subtitle {
	text-transform: uppercase;
	font-size: var(--text-sm, 0.875rem);
	letter-spacing: 0.1em;
	max-width: 580px;
}


/* =============================================================
   PRESET: Minimal
   ============================================================= */

.tamuk-zone-hero--minimal > .hero-overlay::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: 0;
	background: rgba(0, 20, 60, 0.35) !important;
	pointer-events: none;
	opacity: 1 !important;
	animation: none !important;
}

.tamuk-zone-hero--minimal .tamuk-zone-hero__heading {
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.tamuk-zone-hero--minimal .tamuk-zone-hero__subtitle {
	text-shadow: none;
	color: rgba(255, 255, 255, 0.88);
}

.tamuk-zone-hero--minimal .tamuk-zone-hero__buttons .btn {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.45);
	color: #fff;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.tamuk-zone-hero--minimal .tamuk-zone-hero__buttons .btn:hover,
.tamuk-zone-hero--minimal .tamuk-zone-hero__buttons .btn:focus {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.8);
}


/* =============================================================
   RESPONSIVE — 768px
   ============================================================= */
@media (max-width: 768px) {
	.tamuk-zone-hero__heading {
		font-size: clamp(1.75rem, 5vw, 2.5rem);
	}

	.tamuk-zone-hero__subtitle {
		font-size: var(--text-base, 1rem);
	}

	.tamuk-zone-hero__content {
		padding: var(--space-10, 2.5rem) var(--gutter, 1.5rem);
	}

	/* Alumni: collapse the split panel to full-width overlay on tablet */
	.tamuk-zone-hero--alumni > .hero-overlay::before {
		width: 100% !important;
		clip-path: none !important;
		background: linear-gradient(
			to bottom,
			rgba(0, 26, 77, 0.85) 0%,
			rgba(0, 26, 77, 0.6) 100%
		) !important;
	}

	.tamuk-zone-hero--alumni > .hero-overlay::after {
		display: none !important;
	}

	.tamuk-zone-hero--alumni .hero-slides {
		left: 0;
		width: 100%;
	}

	.tamuk-zone-hero--alumni .hero-slide {
		left: -4%;
		right: -4%;
	}

	/* Center the slideshow controls on mobile (all presets) */
	.tamuk-zh-controls,
	.tamuk-zone-hero--alumni .tamuk-zh-controls {
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
	}

	.tamuk-zone-hero--alumni .tamuk-zone-hero__content {
		max-width: 100%;
		margin-left: auto;
		text-align: center;
		padding-left: var(--gutter, 1.5rem);
	}

	.tamuk-zone-hero--alumni .tamuk-zone-hero__heading::after {
		margin-left: auto;
		margin-right: auto;
	}

	.tamuk-zone-hero--alumni .tamuk-zone-hero__subtitle {
		margin-left: auto;
		margin-right: auto;
	}

	.tamuk-zone-hero--alumni .tamuk-zone-hero__buttons {
		justify-content: center;
	}

	.tamuk-zone-hero--alumni::after {
		height: 3px;
	}

	/* Foundation Split: collapse to full-width on tablet */
	.tamuk-zone-hero--foundation-split > .hero-overlay::before {
		width: 100% !important;
		clip-path: none !important;
		background: linear-gradient(
			to bottom,
			rgba(0, 26, 77, 0.6) 0%,
			rgba(0, 26, 77, 0.85) 100%
		) !important;
	}

	.tamuk-zone-hero--foundation-split > .hero-overlay::after {
		display: none !important;
	}

	.tamuk-zone-hero--foundation-split .hero-slides {
		left: 0;
		right: 0;
		width: 100%;
	}

	.tamuk-zone-hero--foundation-split .hero-slide {
		left: -4%;
		right: -4%;
	}

	.tamuk-zone-hero--foundation-split .tamuk-zone-hero__content {
		max-width: 100%;
		text-align: center;
		padding-left: var(--gutter, 1.5rem);
		padding-right: var(--gutter, 1.5rem);
	}

	.tamuk-zone-hero--foundation-split .tamuk-zone-hero__content::before {
		display: none;
	}

	.tamuk-zone-hero--foundation-split .tamuk-zone-hero__heading::after {
		margin-left: auto;
		margin-right: auto;
	}

	.tamuk-zone-hero--foundation-split .tamuk-zone-hero__subtitle {
		margin-left: auto;
		margin-right: auto;
	}

	.tamuk-zone-hero--foundation-split .tamuk-zone-hero__buttons {
		justify-content: center;
	}

	.tamuk-zone-hero--foundation-split .tamuk-zh-controls {
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
	}

	/* Foundation: adjust card padding */
	.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
		margin: 0 var(--gutter, 1.5rem);
		padding: var(--space-8, 2rem) var(--space-6, 1.5rem);
	}

	.tamuk-zone-hero--foundation .tamuk-zone-hero__heading {
		font-size: clamp(1.5rem, 4.5vw, 2.25rem);
	}

	/* Bold: scale down */
	.tamuk-zone-hero--bold .tamuk-zone-hero__heading {
		font-size: clamp(2rem, 5.5vw, 3.5rem);
	}
}


/* =============================================================
   RESPONSIVE — 480px
   ============================================================= */
@media (max-width: 480px) {
	.tamuk-zone-hero__heading {
		font-size: clamp(1.5rem, 6vw, 2rem);
	}

	.tamuk-zone-hero__subtitle {
		font-size: var(--text-sm, 0.875rem);
	}

	.tamuk-zone-hero__buttons {
		flex-direction: column;
		align-items: center;
	}

	/* Foundation */
	.tamuk-zone-hero--foundation .tamuk-zone-hero__heading {
		font-size: clamp(1.375rem, 5.5vw, 1.875rem);
	}

	.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
		padding: var(--space-6, 1.5rem) var(--space-4, 1rem);
	}

	/* Bold */
	.tamuk-zone-hero--bold .tamuk-zone-hero__heading {
		font-size: clamp(1.75rem, 6vw, 2.75rem);
	}

	.tamuk-zone-hero--bold .tamuk-zone-hero__heading::after {
		width: 50px;
		height: 4px;
	}
}


/* =============================================================
   REDUCED MOTION
   ============================================================= */
@media (prefers-reduced-motion: reduce) {
	.tamuk-zone-hero .hero-overlay::after {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.tamuk-zone-hero--foundation .tamuk-zone-hero__content {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		background: rgba(0, 20, 60, 0.8);
	}
}
