header {
	.hero {
		width: 100%;
		margin-bottom: 20px;
		text-align: center;
		position: relative;

		&::after {
			content: "";
			position: absolute;
			inset: 0;
			background: rgba(0, 0, 0, 0.3);
			border-radius: 0 0 var(--radius-lg) var(--radius-lg);
			pointer-events: none;
			z-index: 2;
		}

		.hero-slider {
			position: relative;
			width: 100%;
			height: 640px;
			max-height: 640px;
			border-radius: 0 0 var(--radius-lg) var(--radius-lg);
			overflow: hidden;
			background-color: var(--background);
		}

		.hero-image {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			max-height: 640px;
			max-width: 100%;
			object-fit: cover;
			border-radius: 0 0 var(--radius-lg) var(--radius-lg);
			opacity: 0;
			transition: opacity var(--transition-hero);

			&.active {
				opacity: 1;
			}
		}

		.hero-dots {
			position: absolute;
			bottom: var(--spacing-xl);
			right: var(--spacing-xl);
			display: flex;
			gap: var(--spacing-sm);
			z-index: var(--z-modal);

			.dot {
				width: 24px;
				height: 24px;
				border-radius: var(--radius-full);
				background-color: rgba(0, 0, 0, 0.75);
				cursor: pointer;
				transition: background-color var(--transition-slow);
				border: 2px solid rgba(255, 255, 255, 0.7);

				&:hover {
					backdrop-filter: brightness(250);
				}

				&:focus-visible {
					outline: 2px solid var(--accent);
					outline-offset: 2px;
				}

				&.active {
					background-color: var(--accent);
					border-color: white;
				}
			}
		}

		.heroText {
			position: absolute;
			inset: 0;
			z-index: var(--z-overlay);
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			justify-content: center;
			padding-left: 12.5%;
			padding-right: 12.5%;
			color: white;
			text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);

			h1 {
				font-size: var(--font-size-7xl);
				margin-bottom: var(--spacing-xl);
				text-transform: uppercase;
				font-weight: var(--font-weight-bold);
			}

			p {
				font-size: var(--font-size-4xl);
				color: #f2f2f2;
			}
		}
	}
}

@media (max-width: 768px) {
	header {
		.hero {
			margin-bottom: var(--spacing-md);

			.hero-slider {
				height: 50vh;
				min-height: 280px;
				max-height: 400px;
			}

			.hero-image {
				max-height: 100%;
			}

			.heroText {
				padding-left: var(--spacing-xl);
				padding-right: var(--spacing-xl);
				align-items: center;
				text-align: center;

				h1 {
					font-size: 1.6rem;
				}

				p {
					font-size: 1rem;
				}
			}

			.hero-dots {
				bottom: var(--spacing-md);
				right: var(--spacing-md);

				.dot {
					width: 16px;
					height: 16px;
				}
			}
		}
	}
}

/* Template2-inspired refresh */
header {
	.hero {
		&::after {
			background:
				linear-gradient(
					120deg,
					rgba(0, 0, 0, 0.38) 0%,
					rgba(0, 0, 0, 0.14) 45%,
					rgba(0, 0, 0, 0.4) 100%
				),
				linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.34) 100%);
		}

		.hero-slider {
			border-radius: 0;
			box-shadow: 0 16px 34px var(--shadow-medium);
		}

		.hero-image {
			border-radius: 0;
			transform: none;
		}

		.heroText {
			max-width: 920px;
			gap: var(--spacing-md);
			align-items: flex-start;
			text-align: left;

			h1 {
				font-size: clamp(2rem, 4.7vw, 3.9rem);
				line-height: 1.15;
				letter-spacing: 0.01em;
			}

			p {
				font-size: clamp(1rem, 2.2vw, 1.35rem);
				max-width: 42ch;
			}
		}

		.hero-dots {
			background: rgba(255, 255, 255, 0.16);
			padding: 6px 10px;
			border: 1px solid rgba(255, 255, 255, 0.38);
			border-radius: 999px;

			.dot {
				width: 12px;
				height: 12px;
				background: rgba(255, 255, 255, 0.7);
				border: 1px solid rgba(255, 255, 255, 0.5);

				&.active {
					background: var(--accent);
					border-color: var(--accent);
					transform: scale(1.15);
				}
			}
		}
	}
}

@media (max-width: 768px) {
	header {
		.hero {
			.heroText {
				max-width: 100%;
				align-items: flex-start;
				text-align: left;

				h1 {
					line-height: 1.2;
				}
			}
		}
	}
}
