/* Home page — hero + section-specific tweaks */

.hero {
	padding-top: calc(var(--header-h) + var(--sp-6));
	padding-bottom: var(--sp-9);
	display: grid;
	gap: var(--sp-8);
	grid-template-columns: 1fr;
	align-items: center;
	overflow: hidden;
}
@media (min-width: 1024px) {
	.hero {
		grid-template-columns: 1fr 1fr;
		gap: var(--sp-11);
		padding-top: calc(var(--header-h) + var(--sp-9));
		padding-bottom: var(--sp-11);
		min-height: calc(100vh - var(--header-h));
	}
}

.hero__content { order: 2; }
.hero__media { order: 1; }
@media (min-width: 1024px) {
	.hero__content { order: 1; }
	.hero__media { order: 2; }
}

.hero__eyebrow {
	display: inline-flex; align-items: center; gap: var(--sp-2);
	font-size: var(--fs-caption); letter-spacing: 0.14em; font-weight: 700;
	color: var(--c-accent);
	margin-bottom: var(--sp-5);
}
.hero__title { margin-bottom: var(--sp-5); max-width: 14ch; }
.hero__subtitle { font-size: var(--fs-lead); color: var(--c-text-soft); max-width: 42ch; margin-bottom: var(--sp-7); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-bottom: var(--sp-8); }
.hero__actions .btn { min-width: 168px; }

.hero__trust { display: flex; flex-wrap: wrap; gap: var(--sp-6); }
.hero__trust-item { display: flex; flex-direction: column; }
.hero__trust-num { font-size: var(--fs-h3); font-weight: 700; color: var(--c-charcoal); font-family: var(--font-display); }
.hero__trust-label { font-size: var(--fs-caption); color: var(--c-text-soft); }

.hero__media { position: relative; }
.hero__media .ratio { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.hero__media .ratio img {
	transform: scale(1.08);
	transition: transform 1.4s var(--ease);
}
.hero.is-loaded .hero__media .ratio img { transform: scale(1); }
.hero__badge {
	position: absolute;
	bottom: var(--sp-6);
	inset-inline-start: calc(-1 * var(--sp-6));
	background: var(--c-surface);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
	padding: var(--sp-5);
	display: flex; align-items: center; gap: var(--sp-4);
	max-width: 260px;
}
@media (max-width: 1023px) { .hero__badge { inset-inline-start: var(--sp-3); bottom: var(--sp-3); padding: var(--sp-4); } }
.hero__badge-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--c-accent-soft); color: var(--c-accent-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hero__badge-text { font-size: var(--fs-caption); line-height: var(--lh-tight); font-weight: 600; }

.hero__scroll {
	display: none;
}
@media (min-width: 1024px) {
	.hero__scroll {
		display: flex;
		align-items: center;
		gap: var(--sp-3);
		position: absolute;
		bottom: var(--sp-6);
		inset-inline-start: var(--container-pad);
		font-size: var(--fs-caption);
		color: var(--c-text-faint);
	}
	.hero__scroll-line { width: 1px; height: 34px; background: var(--c-text-faint); position: relative; overflow: hidden; }
	.hero__scroll-line::after {
		content: '';
		position: absolute; top: -100%; inset-inline: 0; height: 100%;
		background: var(--c-accent);
		animation: scrollLine 1.8s var(--ease) infinite;
	}
}
@keyframes scrollLine { to { top: 100%; } }

/* Benefits */
.benefits-grid { grid-template-columns: 1fr; }
@media (min-width: 640px) { .benefits-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .benefits-grid { grid-template-columns: repeat(4, 1fr); } }

/* Category tiles on the services preview */
.category-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); }
@media (min-width: 1024px) { .category-tiles { grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); } }
.category-tile { position: relative; border-radius: var(--radius-md); overflow: hidden; display: block; }
.category-tile .ratio { aspect-ratio: 3/4; }
.category-tile__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(0deg, rgba(27,23,20,0.78) 0%, rgba(27,23,20,0.05) 60%);
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: var(--sp-5);
	color: #fff;
}
.category-tile__title { font-size: var(--fs-h4); margin-bottom: var(--sp-1); }
.category-tile__count { font-size: var(--fs-caption); color: rgba(255,255,255,0.75); }
.category-tile img { transition: transform 0.9s var(--ease); }
.category-tile:hover img { transform: scale(1.08); }

/* Before/After section grid on home */
.ba-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-6); }
@media (min-width: 640px) { .ba-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ba-grid { grid-template-columns: repeat(3, 1fr); } }

/* Standards section */
.standards-grid { grid-template-columns: 1fr; }
@media (min-width: 640px) { .standards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .standards-grid { grid-template-columns: repeat(3, 1fr); } }
.standard-item { display: flex; gap: var(--sp-4); align-items: flex-start; }
.standard-item__icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(233,220,204,0.12); color: var(--c-accent-soft); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.standard-item__title { font-size: 1rem; font-weight: 700; margin-bottom: var(--sp-1); }
.standard-item__desc { font-size: var(--fs-small); color: var(--c-dark-text-soft); margin: 0; }
