/**
 * Homepage layout polish (front page only).
 */

/* -------------------------------------------------------------------------
   Hero + contact form
   ------------------------------------------------------------------------- */
.jumpstart-brand.home .hero.jumpstart-premium-hero {
	padding-top: clamp(1.25rem, 3vw, 2rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__grid {
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__lead {
	max-width: 36rem;
	line-height: 1.6;
}

.jumpstart-brand.home .hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.jumpstart-brand.home .hero__actions .jumpstart-hero-cta {
	flex: 1 1 10rem;
	justify-content: center;
	min-height: 2.75rem;
}

/* Solid form panel — readable on photo backgrounds */
.jumpstart-brand.home .jumpstart-hero-card {
	width: 100%;
	max-width: 26rem;
	margin-inline: auto;
	background: #0f172a;
	border: 1px solid rgba(148, 163, 184, 0.22);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}

.jumpstart-brand.home .jumpstart-hero-contact-form__input,
.jumpstart-brand.home .jumpstart-hero-contact-form__textarea {
	background: #1e293b;
	border-color: rgba(148, 163, 184, 0.3);
}

@media (max-width: 899px) {
	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__grid {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
	}

	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__content {
		order: 1;
	}

	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__visual {
		order: 2;
		width: 100%;
	}

	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__title {
		font-size: clamp(1.5rem, 5.5vw, 2rem);
		line-height: 1.12;
		margin-bottom: 0.65rem;
	}

	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__lead {
		font-size: 0.9375rem;
		margin-bottom: 0.85rem;
	}

	.jumpstart-brand.home .hero.jumpstart-premium-hero .eyebrow {
		font-size: 0.6875rem;
		margin-bottom: 0.35rem;
	}

	.jumpstart-brand.home .jumpstart-trust-badges {
		margin: 0.65rem 0 0.85rem;
		gap: 0.4rem;
	}

	.jumpstart-brand.home .jumpstart-trust-badges__item {
		font-size: 0.75rem;
		padding: 0.3rem 0.65rem;
	}

	.jumpstart-brand.home .hero__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem;
		margin-top: 0;
	}

	.jumpstart-brand.home .hero__actions .jumpstart-hero-cta {
		flex: none;
		width: 100%;
		font-size: 0.8125rem;
		padding: 0.6rem 0.5rem;
		white-space: nowrap;
	}

	.jumpstart-brand.home .jumpstart-hero-card {
		max-width: none;
		padding: 1rem 1.1rem 1.15rem;
		border-radius: 14px;
	}

	.jumpstart-brand.home .jumpstart-hero-contact-form .jumpstart-hero-card__label {
		font-size: 0.8125rem;
		margin-bottom: 0.75rem;
	}

	.jumpstart-brand.home .jumpstart-hero-contact-form__field {
		margin-bottom: 0.65rem;
	}

	.jumpstart-brand.home .jumpstart-hero-contact-form__textarea {
		min-height: 5rem;
	}

	/* Stronger overlay when hero uses a background photo */
	.jumpstart-brand.home .hero--has-bg.jumpstart-premium-hero {
		background-image: linear-gradient(
				180deg,
				rgba(11, 18, 32, 0.92) 0%,
				rgba(11, 18, 32, 0.97) 55%,
				rgba(11, 18, 32, 1) 100%
			),
			var(--hero-bg-image);
		background-size: cover, cover;
		background-position: center, center;
	}
}

@media (min-width: 900px) {
	.jumpstart-brand.home .hero.jumpstart-premium-hero .hero__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(300px, 380px);
	}

	.jumpstart-brand.home .jumpstart-hero-card {
		margin-inline: 0;
		margin-left: auto;
	}
}

/* -------------------------------------------------------------------------
   Sections
   ------------------------------------------------------------------------- */
.jumpstart-brand.home .section {
	padding-block: clamp(2.75rem, 6vw, 4.5rem);
}

.jumpstart-brand.home .section-header {
	margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.jumpstart-brand.home .section-header .section-lead {
	max-width: 40rem;
	margin-inline: auto;
	line-height: 1.6;
}

.jumpstart-brand.home .section-header--left .section-lead {
	margin-inline: 0;
}

.jumpstart-brand.home .jumpstart-services-block__media--cover {
	max-height: min(280px, 42vw);
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.jumpstart-brand.home .jumpstart-service-cards {
	gap: 1.25rem;
}

@media (max-width: 599px) {
	.jumpstart-brand.home .cards-grid--services.jumpstart-service-cards {
		grid-template-columns: 1fr;
	}

	.jumpstart-brand.home .jumpstart-service-card.card--service {
		padding: 1.25rem;
	}
}

.jumpstart-brand.home #about .about__text {
	color: #cbd5e1;
	font-size: 1rem;
	line-height: 1.7;
	max-width: 65ch;
}

.jumpstart-brand.home #about .about__highlights {
	color: #f1f5f9;
}

.jumpstart-brand.home #about .about__highlights li {
	margin-bottom: 0.65rem;
	line-height: 1.5;
}

.jumpstart-brand.home #about .section-media--about {
	margin-bottom: 1.5rem;
}

.jumpstart-brand.home .process-timeline {
	gap: 1rem;
}

.jumpstart-brand.home .process-step__desc {
	color: #94a3b8;
}

@media (max-width: 640px) {
	.jumpstart-brand.home .process-timeline {
		grid-template-columns: 1fr;
	}

	.jumpstart-brand.home .jumpstart-mid-cta__inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.jumpstart-brand.home .jumpstart-mid-cta__actions {
		justify-content: center;
	}

	.jumpstart-brand.home .jumpstart-mid-cta__actions .btn {
		flex: 1 1 auto;
		min-width: 9rem;
	}
}

.jumpstart-brand.home #testimonials .section-media {
	margin-bottom: 1.5rem;
}

.jumpstart-brand.home #testimonials .section-header {
	margin-bottom: 1.25rem;
}

.jumpstart-brand.home .jumpstart-trustindex {
	margin-top: 0.25rem;
}

.jumpstart-brand.home .jumpstart-trustindex .ti-widget {
	margin: 0 auto;
}
