/*
 * Homepage compositions built from Phase 2 tokens and native blocks.
 * Shared colors, type, cards, buttons, focus, and menu behavior remain in blocks.css.
 */
.wp-site-blocks > .ng-home,
.wp-site-blocks > .ng-home + .wp-block-template-part,
.ng-home > .ng-section {
	margin-block-start: 0;
	margin-block-end: 0;
}
.ng-home .ng-home-section-heading {
	max-width: 48rem;
	margin-inline: 0;
}
.ng-home-section-heading > .ng-eyebrow,
.ng-home-hero .ng-eyebrow {
	margin-block-end: var(--wp--preset--spacing--30);
}
.ng-home .wp-block-columns {
	gap: var(--wp--preset--spacing--50);
}
.ng-home .ng-home-hero-columns,
.ng-home .ng-home-why-columns {
	gap: clamp(2rem, 4vw, 4rem);
}
.ng-home-hero h1 {
	max-width: 13ch;
}
.ng-home-hero .wp-block-buttons {
	gap: var(--wp--preset--spacing--30);
}
.ng-home .ng-home-promise {
	margin-block-start: var(--wp--preset--spacing--50);
	max-width: 36rem;
}
.ng-home .ng-home-hero-panel {
	border-top: 4px solid var(--wp--preset--color--light-teal);
	box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 12%);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.ng-home .ng-home-panel-title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	line-height: 1.25;
}
.ng-home-capabilities > p {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: var(--wp--preset--spacing--30);
	margin: 0;
	font-weight: 600;
}
.ng-home-capabilities > p::before {
	content: "";
	display: inline-block;
	width: 0.45rem;
	height: 0.45rem;
	margin-inline-end: 0.75rem;
	background: var(--wp--preset--color--interactive);
}
.wp-block-group.ng-home-service-grid,
.wp-block-group.ng-home-two-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}
.wp-block-group.ng-home-four-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}
.ng-home .ng-home-service-card {
	padding: var(--wp--preset--spacing--50);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
}
.ng-home .ng-home-service-card > * {
	margin-block: 0;
	margin-inline: 0;
}
.ng-home .ng-home-service-card .ng-home-text-link {
	margin-block-start: auto;
}
.ng-home-text-link a {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--target--minimum);
}
.ng-home-problem,
.ng-home-benefit,
.ng-home-step {
	border-top: 2px solid var(--wp--preset--color--border);
	padding-block-start: var(--wp--preset--spacing--40);
}
.ng-home-step-number,
.ng-home-price {
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.025em;
}
.ng-home .ng-home-offer {
	border-inline-start: 2px solid var(--wp--preset--color--light-teal);
	padding-inline-start: var(--wp--preset--spacing--50);
}
.ng-home-inverse .wp-block-button__link {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--background);
}
.ng-home-inverse .wp-block-button__link:hover {
	background: var(--wp--preset--color--light-teal);
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--light-teal);
}
/* Keep hash destinations below the browser edge without animated scrolling. */
.ng-home section[id] {
	scroll-margin-block-start: var(--wp--preset--spacing--40);
}
@media (max-width: 1100px) {
	.wp-block-group.ng-home-four-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 781px) {
	.ng-home-hero h1 {
		max-width: 18ch;
	}
	.ng-home .ng-home-offer {
		border-inline-start: 0;
		border-block-start: 2px solid var(--wp--preset--color--light-teal);
		padding-inline-start: 0;
		padding-block-start: var(--wp--preset--spacing--50);
	}
}
@media (max-width: 599px) {
	.wp-block-group.ng-home-service-grid,
	.wp-block-group.ng-home-two-grid,
	.wp-block-group.ng-home-four-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.ng-home .ng-home-hero-panel {
		box-shadow: none;
	}
}

.ng-home .ng-home-care-card {
	padding: var(--wp--preset--spacing--50);
}
