/* Home hero: fluid spacing and typography (loads after main theme CSS) */

.home {
	overflow-x: clip;
	min-height: 100vh;
	min-height: 100dvh;
}

.home .home__main {
	width: 100%;
	max-width: min(52rem, 100%);
	box-sizing: border-box;
	/* Avoid pushing headline below the fold on short / landscape phones */
	padding-top: clamp(5.25rem, 12vh + 3rem, 14rem);
	padding-bottom: clamp(1.25rem, 4vh, 2.5rem);
}

/* When hero uses two-column grid, padding lives on .home__hero-grid (hero-ai-visual.css) */
.home .home__hero-grid .home__main {
	padding-top: 0;
	padding-bottom: 0;
}

@media (min-width: 37.5em) {
	.home .home__main {
		padding-top: clamp(6rem, 18vh + 2rem, 16rem);
	}
}

.home h1 {
	font-size: clamp(1.35rem, 0.5rem + 3.8vw, 3rem);
	line-height: 1.22;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	-webkit-hyphens: auto;
}

.home__main #hero-subtitle {
	display: block;
	max-width: 50rem;
	font-size: clamp(0.9375rem, 0.88rem + 0.35vw, 1.125rem);
	line-height: 1.6;
	margin-top: 0.75rem;
}

.home .home__main > div {
	max-width: 50rem;
}

/* Phone + tablet stacked hero (matches hero two-column breakpoint in hero-ai-visual.css) */
@media (max-width: 64.9375em) {
	.home .home__main {
		padding-left: clamp(1rem, 4vw, 1.5rem);
		padding-right: clamp(1rem, 4vw, 1.5rem);
		text-align: center;
	}

	.home h1,
	.home__main #hero-subtitle,
	.home .home__main > div {
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}

	.home .cta-btn {
		margin-top: 1rem;
	}
}

/* Wide desktop: RTL hero text block alignment (only when not centered) */
@media (min-width: 65em) {
	html[dir='rtl'] .home .home__main {
		margin-right: 0;
		margin-left: auto;
	}
}
