/* Clean starter compositions. Owned and versioned by each generated site. */
:where(.aws-starter-section, .aws-starter-content) {
	padding-block: var(--wp--preset--spacing--60);
}

.aws-starter-main,
.aws-starter-main > .aws-starter-section,
.aws-starter-section > .aws-starter-inner {
	margin-block: 0;
}

.aws-starter-header {
	padding-block: var(--wp--preset--spacing--40);
	background: var(--wp--custom--aws--color--menu-background);
	color: var(--wp--custom--aws--color--menu-text);
}

.aws-starter-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
}

.aws-starter-header-inner > *,
.aws-starter-footer .wp-block-site-title {
	margin-block: 0;
}

:is(.aws-starter-header, .aws-starter-footer) .wp-block-site-title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

:where(.aws-starter-header, .aws-starter-footer) .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.aws-starter-navigation {
	font-size: var(--wp--preset--font-size--navigation);
}

.aws-starter-navigation .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--40);
}

.aws-starter-navigation a {
	color: var(--wp--custom--aws--color--menu-text);
}

.aws-starter-grid {
	gap: var(--wp--preset--spacing--40);
	margin-block: 0;
}

.aws-starter-grid > .wp-block-column {
	min-width: 0;
}

.aws-starter-hero-grid {
	align-items: center;
	gap: var(--wp--preset--spacing--50);
}

.aws-starter-hero-copy > * + * {
	margin-block-start: var(--wp--preset--spacing--40);
}

.aws-starter-hero-copy .wp-block-buttons {
	margin-block-start: var(--wp--preset--spacing--50);
}

:where(.aws-starter-section, .aws-starter-content) :is(h1, h2, h3) {
	text-wrap: balance;
}

:where(.aws-starter-section) :is(h1, h2, h3) {
	margin-block-start: 0;
}

.aws-starter-intro {
	max-width: 48rem;
	margin-inline: auto;
	margin-block-end: var(--wp--preset--spacing--50);
	text-align: center;
}

.aws-starter-grid .aws-starter-intro {
	text-align: left;
	margin: 0;
}

:where(.aws-starter-eyebrow, .is-style-aws-eyebrow) {
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wp--custom--aws--color--muted-text);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-block: 0 var(--wp--preset--spacing--30);
}

.aws-starter-lead {
	color: var(--wp--custom--aws--color--muted-text);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.7;
}

.aws-starter-muted {
	color: var(--wp--custom--aws--color--muted-text);
}

:where(.aws-starter-card, .is-style-aws-card, .aws-starter-service, .aws-starter-faq) {
	border: 1px solid var(--wp--custom--aws--color--border);
	border-radius: var(--wp--custom--aws--radius--section);
	background: var(--wp--custom--aws--color--section-background);
	color: var(--wp--custom--aws--color--section-text);
	box-shadow: var(--wp--custom--aws--shadow, none);
}

:where(.aws-starter-card, .is-style-aws-card, .aws-starter-card-body) {
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

:where(.aws-starter-card, .is-style-aws-card, .aws-starter-card-body) > :first-child {
	margin-block-start: 0;
}

:where(.aws-starter-card, .is-style-aws-card, .aws-starter-card-body) > :last-child {
	margin-block-end: 0;
}

.aws-starter-grid > .wp-block-column > :is(.aws-starter-card, .aws-starter-service) {
	height: 100%;
	box-sizing: border-box;
}

:where(.aws-starter-card, .is-style-aws-card, .aws-starter-service) .wp-block-heading:not(.has-text-color) {
	color: inherit;
}

.aws-starter-media {
	background: var(--wp--preset--color--line);
	border-radius: var(--wp--custom--aws--radius--image);
	overflow: hidden;
}

.aws-starter-hero-media {
	min-height: clamp(20rem, 38vw, 34rem);
}

.aws-starter-service {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.aws-starter-service > .aws-starter-media {
	border-radius: 0;
}

.aws-starter-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.aws-starter-card-body .wp-block-buttons {
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--30);
}

.aws-starter-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}

.aws-starter-stats > * {
	margin-block: 0;
}

.aws-starter-number {
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: 600;
}

.aws-starter-person {
	font-weight: 600;
}

.aws-starter-faq-list {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.aws-starter-faq {
	padding: var(--wp--preset--spacing--40);
	margin-block: 0;
}

.aws-starter-faq summary {
	cursor: pointer;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

.aws-starter-faq > p {
	color: var(--wp--custom--aws--color--muted-text);
	margin-block-end: 0;
}

.aws-starter-footer {
	padding-block: var(--wp--preset--spacing--50);
	margin-block-start: var(--wp--preset--spacing--50);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:is(:hover, :focus-visible) {
	background: var(--wp--custom--aws--color--button-hover-background);
	border-color: var(--wp--custom--aws--color--button-hover-border);
	color: var(--wp--custom--aws--color--button-hover-text);
}

.aws-starter-content .wp-block-post-content > * + * {
	margin-block-start: var(--wp--preset--spacing--40);
}

.aws-starter-content .wp-block-post-template {
	gap: var(--wp--preset--spacing--40);
}

.aws-starter-content .wp-block-query-pagination {
	margin-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {

	.aws-starter-hero-grid {
		flex-direction: column-reverse;
	}

	.aws-starter-hero-grid > .wp-block-column {
		width: 100%;
	}

	.aws-starter-intro {
		text-align: left;
	}

	.aws-starter-stats {
		grid-template-columns: minmax(0, 1fr);
	}

	.aws-starter-content .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.aws-starter-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.aws-starter-navigation .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.aws-starter-navigation .is-menu-open {
		padding: var(--wp--preset--spacing--40);
	}
}

@media (scripting: none) {

	.aws-starter-header-inner {
		flex-wrap: wrap;
	}

	.aws-starter-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block;
		position: static;
	}

	.aws-starter-navigation .wp-block-navigation__responsive-container-open {
		display: none;
	}
}
