/* D10 — final responsive QA layer. Loaded last on the frontend. */
html { overflow-x: clip; }
body { min-inline-size: 0; }
:where(img, svg, video, iframe) { max-inline-size: 100%; }
:where(.wp-site-blocks, .amp-site-main, .amp-container, .wp-block-group, .wp-block-column) { min-inline-size: 0; }
:where(h1, h2, h3, h4, p, li, a) { overflow-wrap: anywhere; }

@media (max-width: 70rem) {
	.amp-container { inline-size: min(100%, var(--wp--style--global--content-size)); }
	.amp-home-hero-shell,
	.amp-home-services-shell,
	.amp-home-support-shell { gap: clamp(1.75rem, 4vw, 3.25rem); }
	.amp-related-articles .wp-block-post-template { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 52rem) {
	/* Header: preserve generous touch targets without forcing three tiny CTAs. */
	.amp-header-inner.wp-block-group { align-items: center; }
	.amp-site-header .wp-block-navigation__responsive-container.is-menu-open {
		padding: max(1.25rem, var(--wp--custom--layout--gutter));
	}

	/* Global section rhythm. */
	.amp-section { scroll-margin-top: 6rem; }
	.amp-section .wp-block-columns { gap: var(--wp--preset--spacing--50); }

	/* Homepage and editorial layouts become single-column before cramped states. */
	.amp-home-hero-shell,
	.amp-home-search.wp-block-group,
	.amp-home-services-shell,
	.amp-home-support-shell,
	.amp-pathways-featured,
	.amp-home-services-list { grid-template-columns: minmax(0, 1fr); }
	.amp-home-search.wp-block-group { margin-block-start: -1rem; }
	.amp-home-hero-media,
	.amp-pathway-feature__image { max-inline-size: 42rem; margin-inline: auto; }
	.amp-pathways-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* Archive/search sidebar always follows the result list on smaller screens. */
	.amp-archive-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "sidebar"; }
	.amp-archive-sidebar { position: static; }

	/* Content columns should not preserve desktop ordering at the expense of reading flow. */
	.amp-content-columns.wp-block-columns { flex-wrap: wrap !important; }
	.amp-content-columns.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 40rem) {
	:root { --amp-mobile-gutter: max(.9rem, var(--wp--custom--layout--gutter)); }
	.amp-site-header,
	.amp-site-footer,
	.amp-section { padding-inline: var(--amp-mobile-gutter); }


	.amp-home-hero-actions.wp-block-buttons,
	.amp-support-actions.wp-block-buttons { inline-size: 100%; }
	.amp-home-hero-actions .wp-block-button,
	.amp-home-hero-actions .wp-block-button__link,
	.amp-support-actions .wp-block-button,
	.amp-support-actions .wp-block-button__link { inline-size: 100%; text-align: center; }

	.amp-pathways-compact,
	.amp-home-services-list,
	.amp-archive-sidebar,
	.amp-related-articles .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }

	.amp-archive-search .wp-block-search__inside-wrapper,
	.amp-not-found__search-form .wp-block-search__inside-wrapper { align-items: stretch; }
	.amp-archive-search .wp-block-search__input { min-inline-size: 0; }

	.amp-statistics.wp-block-group { grid-template-columns: minmax(0, 1fr); }
	.amp-statistic + .amp-statistic { border-inline-start: 0; border-block-start: 1px solid var(--wp--custom--border--color); }

	.amp-article-body .wp-block-table { margin-inline: 0; }
	.amp-article-body .wp-block-table table { min-inline-size: 30rem; }
}

@media (max-width: 30rem) {
	.amp-home-hero-title,
	.is-style-amp-hero-title,
	.is-style-amp-article-title.wp-block-post-title { text-wrap: balance; }
	.amp-archive-query .wp-block-query-pagination { justify-content: center; }
	.amp-archive-query .wp-block-query-pagination :where(a, .current) { min-inline-size: 2.6rem; min-block-size: 2.6rem; }
}

@media (hover: none) {
	.amp-archive-query .amp-archive-card:hover,
	.amp-related-articles .amp-article-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; }
}

/* Shared reference grids and heading rhythm: desktop 3, tablet 2, mobile 1. */
@media (max-width: 64rem) {
	.amp-reference-grid.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-reference-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; inline-size: calc((100% - var(--wp--preset--spacing--50)) / 2); justify-self: center; }
}
@media (max-width: 47.99rem) {
	.amp-reference-grid.wp-block-group { grid-template-columns: minmax(0, 1fr); }
	.amp-reference-grid > :last-child:nth-child(odd) { grid-column: auto; inline-size: 100%; }
	.amp-reference-heading > * + * { margin-block-start: var(--wp--preset--spacing--40); }
	.amp-reference-card-body { padding-inline: var(--wp--preset--spacing--30); }
}

/* Grid variations and split content share the same breakpoints. */
.amp-reference-grid.amp-reference-grid--fluid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.amp-reference-grid--fluid > :last-child:nth-child(odd) { inline-size: auto; grid-column: auto; justify-self: stretch; }
@media (max-width: 64rem) {
	.amp-reference-latest .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
	.amp-reference-latest .wp-block-post-template,
	.amp-reference-grid.amp-reference-grid--fluid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 64rem) {
	.amp-reference-grid.amp-reference-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-reference-split.wp-block-group { gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 47.99rem) {
	.amp-reference-grid:is(.amp-reference-grid--two, .amp-reference-grid--four, .amp-reference-grid--three-notes),
	.amp-reference-split.wp-block-group { grid-template-columns: minmax(0, 1fr); }
	.amp-reference-grid--two > :last-child:nth-child(odd),
	.amp-reference-grid--four > :last-child:nth-child(odd),
	.amp-reference-grid--three-notes > :last-child:nth-child(odd) { inline-size: 100%; grid-column: auto; }
	.amp-reference-split > .amp-reference-copy { order: -1; }
	.amp-reference-split .amp-reference-media { inline-size: 100%; max-inline-size: var(--wp--custom--layout--narrow); margin-inline: auto; }
}

/* Reference editorial grids preserve the standard desktop/tablet/mobile rhythm. */
@media (max-width: 64rem) { .amp-reference-articles .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.99rem) { .amp-reference-articles .wp-block-post-template { grid-template-columns: minmax(0, 1fr); } }
