/* Desktop: 1200px and above. */
@media (min-width: 1200px) {
	.gp-site-header .gp-header-inner > .gp-header-cta {
		display: flex;
	}

	.gp-header-brand {
		width: 13.75rem;
	}

	.gp-primary-nav .wp-block-navigation__container .gp-nav-rfq {
		display: none;
	}

	.gp-hero {
		min-height: min(46rem, calc(100vh - 5rem));
		padding-block: clamp(2.25rem, 3.5vw, 3.5rem);
	}

	.gp-hero__grid {
		gap: clamp(2rem, 2.5vw, 2.5rem);
		grid-template-columns: minmax(0, 1fr) minmax(30rem, 32.5rem);
	}

	.gp-hero__content {
		max-width: 44rem;
	}

	.gp-hero-media {
		aspect-ratio: 4 / 3;
		max-width: 32.5rem;
		width: 100%;
	}

	.gp-hero__title {
		font-size: clamp(3.5rem, 4.25vw, 4.5rem);
		line-height: 1;
		max-width: 18ch;
	}

	.gp-hero__positioning {
		margin-top: 1.1rem;
	}

	.gp-actions,
	.gp-hero__proof {
		margin-top: 1.5rem;
	}

	.gp-card,
	.gp-feature-card,
	.gp-application-card,
	.gp-type-card {
		transition: transform 160ms ease;
	}

	.gp-card:hover,
	.gp-feature-card:hover,
	.gp-application-card:hover,
	.gp-type-card:hover {
		transform: translateY(-0.25rem);
	}

	.gp-product-related-card {
		transition: transform 160ms ease;
	}

	.gp-product-related-card:hover {
		transform: translateY(-0.25rem);
	}
}

/* Tablet: 768px to below 1200px, including fractional viewport widths. */
@media (min-width: 768px) and (max-width: 1199.98px) {
	.gp-hero__grid {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.85fr);
	}

	.gp-hero-media {
		aspect-ratio: 4 / 3;
		max-width: 32.5rem;
		width: 100%;
	}

	.gp-card-grid--three,
	.gp-type-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gp-card-grid--three > :last-child,
	.gp-type-grid > :last-child {
		grid-column: 1 / -1;
	}

	.gp-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gp-capability-track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gp-process-track {
		gap: 2rem 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gp-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gp-product-hero__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.gp-product-hero__media {
		max-width: 42rem;
	}

	.gp-product-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Use the Core Navigation overlay across tablet and mobile widths. */
@media (max-width: 1199.98px) {
	.gp-site-header .gp-header-inner > .gp-header-cta,
	.gp-site-header .gp-header-inner > .wp-block-buttons {
		display: none !important;
	}

	.gp-primary-nav {
		flex: 0 0 auto;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		display: flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container-close {
		align-items: center;
		color: var(--gp-color-teal-deep);
		display: flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--gp-color-cream-light);
		box-shadow: var(--gp-shadow);
		left: auto;
		max-width: 24rem;
		padding: 1.25rem;
		right: 0;
		width: min(88vw, 24rem);
	}

	.gp-primary-nav .wp-block-navigation__responsive-close,
	.gp-primary-nav .wp-block-navigation__responsive-dialog,
	.gp-primary-nav .wp-block-navigation__responsive-container-content,
	.gp-primary-nav .wp-block-navigation__container {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container-content,
	.gp-primary-nav .wp-block-navigation__container {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container-content {
		padding-top: 4rem;
	}

	.gp-primary-nav .wp-block-navigation-item {
		border-bottom: 1px solid var(--gp-color-line);
		width: 100%;
	}

	.gp-primary-nav .wp-block-navigation-item__content {
		display: block;
		padding: 0.8rem 0;
		width: 100%;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .gp-nav-rfq {
		align-items: stretch;
		border: 0;
		display: flex;
		margin-top: 1rem;
		padding: 0;
		width: 100%;
	}

	.gp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .gp-nav-rfq > .wp-block-navigation-item__content {
		align-items: center;
		background: var(--gp-color-yellow);
		border-radius: 999px;
		box-sizing: border-box;
		color: var(--gp-color-teal-deep);
		display: flex;
		font-weight: 800;
		justify-content: center;
		min-height: 44px;
		padding: 0.75rem 1rem;
		text-align: center;
		width: 100%;
	}
}

/* Mobile: up to 767px, including 360px. */
@media (max-width: 767px) {
	:root {
		--gp-gutter: 1rem;
		--gp-section-space: 4.25rem;
	}

	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.wp-element-button,
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		min-height: 44px;
		min-width: 44px;
	}

	.gp-header-inner {
		min-height: 4.5rem;
	}

	.gp-header-brand {
		width: 9.5rem;
	}

	.gp-section-heading--split,
	.gp-hero__grid,
	.gp-split,
	.gp-why__grid,
	.gp-rfq__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.gp-hero {
		min-height: 0;
		padding-block: 3.25rem 4.5rem;
	}

	.gp-hero__title {
		font-size: clamp(2.65rem, 13vw, 4rem);
		max-width: 11ch;
	}

	.gp-actions,
	.gp-actions .wp-block-button,
	.gp-actions .wp-block-button__link {
		width: 100%;
	}

	.gp-hero__proof {
		align-items: stretch;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.gp-hero__proof p {
		text-align: center;
	}

	.gp-hero-media {
		aspect-ratio: 4 / 3;
		margin-inline: auto;
		max-width: 30rem;
		width: 100%;
	}

	.gp-card-grid--three,
	.gp-type-grid,
	.gp-feature-grid,
	.gp-process-track,
	.gp-footer-grid,
	.gp-product-hero__grid,
	.gp-product-specifications__item,
	.gp-product-faq__item,
	.gp-product-related__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.gp-product-hero__title {
		font-size: clamp(2.5rem, 13vw, 3.5rem);
	}

	.gp-product-hero__media {
		border-radius: var(--gp-radius-medium);
		width: 100%;
	}

	.gp-product-breadcrumb ol,
	.gp-product-specifications__item,
	.gp-product-faq__item,
	.gp-product-related-card {
		min-width: 0;
	}

	.gp-capability-track,
	.gp-application-track {
		display: grid;
		grid-auto-columns: minmax(82%, 1fr);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding-bottom: 1rem;
		scroll-snap-type: inline mandatory;
		scrollbar-width: thin;
	}

	.gp-capability-card,
	.gp-application-card {
		scroll-snap-align: start;
	}

	.gp-material-visual {
		aspect-ratio: 1;
		min-width: 0;
		order: 2;
	}

	.gp-split__content {
		order: 1;
	}

	.gp-process-track {
		margin-top: 2.5rem;
	}

	.gp-process-step {
		border-left: 0;
		border-top: 1px solid var(--gp-color-light-line);
		padding: 1.5rem 0 0;
	}

	.gp-why__intro {
		position: static;
	}

	.gp-why-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.gp-rfq__inner .wp-block-buttons,
	.gp-rfq__inner .wp-block-button,
	.gp-rfq__inner .wp-block-button__link {
		width: 100%;
	}

	.gp-site-footer {
		padding-top: 3.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
