/*
Theme Name: Sage Automation
Theme URI: https://www.sagerobot.com/
Author: Sage Automation Inc.
Description: A native WordPress block theme for Sage Automation's industrial automation and material handling website.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.3.1
Text Domain: sage-automation
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--sage-shadow: 0 1.25rem 3rem rgba( 8, 34, 55, 0.12 );
}

html {
	scroll-behavior: smooth;
}

body {
	text-wrap: pretty;
}

a {
	text-underline-offset: 0.2em;
}

.wp-site-blocks {
	overflow: clip;
}

.wp-site-blocks > header {
	position: relative;
	z-index: 100;
}

.wp-site-blocks > header + main,
main > .alignfull + .alignfull {
	margin-block-start: 0;
}

.sage-breadcrumbs {
	background: var(--wp--preset--color--navy);
	color: rgba( 255, 255, 255, 0.76 );
	font-size: 0.78rem;
	letter-spacing: 0.025em;
	margin: 0;
	padding: 0.65rem max( 1.25rem, calc( ( 100vw - 76rem ) / 2 ) );
}

.sage-breadcrumbs__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	list-style: none;
	margin: 0 auto;
	max-width: 76rem;
	padding: 0;
}

.sage-breadcrumbs__inner li:not( :last-child )::after {
	color: var(--wp--preset--color--sky);
	content: "/";
	margin-left: 0.55rem;
}

.sage-breadcrumbs a {
	color: inherit;
}

.sage-breadcrumbs [aria-current="page"] {
	color: var(--wp--preset--color--white);
	font-weight: 700;
}

.sage-eyebrow {
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sage-card {
	box-shadow: var(--sage-shadow);
	height: 100%;
}

.sage-hero {
	min-height: clamp(38rem, 82vh, 54rem);
}

.sage-hero .wp-block-cover__inner-container {
	display: flex;
	align-items: flex-end;
	min-height: inherit;
}

.sage-proof-number {
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.sage-diagonal {
	clip-path: polygon( 0 0, 100% 0, 94% 100%, 0 100% );
}

.sage-primary-nav {
	white-space: nowrap;
}

.sage-primary-nav .wp-block-navigation-item__content {
	font-size: 0.78rem;
	letter-spacing: 0.015em;
}

.sage-compact-hero {
	min-height: clamp(31rem, 62vh, 43rem);
}

.sage-engineering-hero h1 {
	max-width: 18ch;
}

.sage-hero-system-image,
.sage-hero-system-image img {
	height: 100%;
	min-height: 19rem;
}

.sage-hero-system-image img {
	display: block;
	object-fit: cover;
	width: 100%;
}

.sage-hero-facts {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 1px;
	margin-top: 1.5rem;
	background: rgba( 255, 255, 255, 0.28 );
	border: 1px solid rgba( 255, 255, 255, 0.28 );
}

.sage-hero-facts > div {
	background: var(--wp--preset--color--navy);
	padding: 1rem 1.15rem;
}

.sage-hero-facts strong,
.sage-hero-facts span {
	display: block;
}

.sage-hero-facts strong {
	color: var(--wp--preset--color--sky);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	margin-bottom: 0.35rem;
	text-transform: uppercase;
}

.sage-hero-facts span {
	font-size: 0.9rem;
	line-height: 1.45;
}

.sage-video-rail {
	display: grid;
	grid-auto-columns: minmax(19rem, 34rem);
	grid-auto-flow: column;
	gap: 1rem;
	overflow-x: auto;
	padding: 0 0 1rem;
	scroll-snap-type: x mandatory;
	scrollbar-color: var(--wp--preset--color--blue) var(--wp--preset--color--mist);
}

.sage-video-card {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	scroll-snap-align: start;
}

.sage-video-card iframe {
	border: 0;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.sage-video-card__label {
	margin: 0;
	padding: 0.85rem 1rem 1rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
}

.sage-swiper-video {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	height: 100%;
}

.sage-swiper-video iframe {
	border: 0;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.sage-swiper-video p {
	margin: 0;
	padding: 0.9rem 1rem 1.1rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.wp-block-da-wp-swiper-slides {
	--swiper-navigation-color: var(--wp--preset--color--white);
	--swiper-pagination-color: var(--wp--preset--color--sky);
	--swiper-pagination-bullet-inactive-color: var(--wp--preset--color--white);
	--swiper-pagination-bullet-inactive-opacity: 0.45;
}

.wp-block-da-wp-swiper-slides .swiper-button-next,
.wp-block-da-wp-swiper-slides .swiper-button-prev {
	background: rgba( 11, 68, 110, 0.9 );
	border: 1px solid rgba( 255, 255, 255, 0.5 );
	height: 3rem;
	width: 3rem;
}

.wp-block-da-wp-swiper-slides .swiper-pagination {
	position: relative;
	margin-top: 1rem;
}

.sage-inquiry-drawer {
	bottom: 1rem;
	filter: drop-shadow( 0 1rem 2.5rem rgba( 8, 34, 55, 0.3 ) );
	position: fixed;
	right: 1rem;
	z-index: 10000;
}

.sage-inquiry-drawer[open] {
	display: flex;
	flex-direction: column-reverse;
	gap: 0.5rem;
}

.sage-inquiry-drawer > summary {
	align-items: center;
	background: var(--wp--preset--color--blue);
	border: 1px solid rgba( 255, 255, 255, 0.35 );
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	display: flex;
	font-size: 0.82rem;
	font-weight: 800;
	gap: 0.65rem;
	letter-spacing: 0.06em;
	list-style: none;
	margin-left: auto;
	padding: 0.85rem 1.1rem;
	text-transform: uppercase;
	width: max-content;
}

.sage-inquiry-drawer > summary:hover,
.sage-inquiry-drawer > summary:focus-visible {
	background: var(--wp--preset--color--navy);
}

.sage-inquiry-drawer > summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--sky);
	outline-offset: 3px;
}

.sage-inquiry-drawer__icon {
	align-items: center;
	background: rgba( 255, 255, 255, 0.16 );
	border-radius: 50%;
	display: inline-flex;
	font-size: 1rem;
	height: 1.75rem;
	justify-content: center;
	letter-spacing: 0;
	width: 1.75rem;
}

.sage-inquiry-drawer > summary::-webkit-details-marker {
	display: none;
}

.sage-inquiry-drawer[open] > summary::after {
	content: "×";
	font-size: 1.15rem;
	line-height: 1;
}

.sage-inquiry-drawer__panel {
	background: var(--wp--preset--color--white);
	border: 1px solid rgba( 11, 68, 110, 0.18 );
	border-radius: 0.75rem;
	max-height: min( 42rem, calc( 100vh - 6rem ) );
	overflow: auto;
	padding: 1.25rem;
	width: min( 27rem, calc( 100vw - 2rem ) );
}

.sage-inquiry-drawer__panel h2 {
	font-size: 1.35rem;
	margin: 0 0 0.5rem;
}

.sage-inquiry-drawer__panel > p {
	font-size: 0.9rem;
	line-height: 1.45;
	margin-top: 0;
}

.sage-form-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0 0.75rem;
}

.wpcf7-form label {
	display: block;
	font-size: 0.78rem;
	font-weight: 750;
	margin-bottom: 0.65rem;
}

.wpcf7-form input:not([type="submit"]),
.wpcf7-form select,
.wpcf7-form textarea {
	background: var(--wp--preset--color--white);
	border: 1px solid #9aacb8;
	border-radius: 0;
	box-sizing: border-box;
	font: inherit;
	margin-top: 0.2rem;
	padding: 0.6rem;
	width: 100%;
}

.wpcf7-form textarea {
	min-height: 7rem;
	resize: vertical;
}

.wpcf7-form input[type="submit"] {
	background: var(--wp--preset--color--blue);
	border: 0;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	padding: 0.9rem 1rem;
	text-transform: uppercase;
}

/* Persistent, focused feedback for Contact Form 7 enquiries. */
.sage-form-feedback {
	background: #f0faf5;
	border: 2px solid #197447;
	border-radius: 0.75rem;
	color: #123e2b;
	margin: 0 0 1rem;
	padding: 1.5rem;
	scroll-margin-top: 8rem;
}
.sage-form-feedback[hidden] { display: none; }
.sage-form-feedback:focus { outline: 3px solid #175c98; outline-offset: 4px; }
.sage-form-feedback__icon {
	align-items: center;
	background: #197447;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 1.75rem;
	font-weight: 800;
	height: 3.25rem;
	justify-content: center;
	margin: 0 auto 1rem;
	width: 3.25rem;
}
.sage-form-feedback h2 { color: inherit; font-size: 1.6rem; line-height: 1.2; margin: 0 0 0.75rem; }
.sage-form-feedback p { font-size: 1rem; line-height: 1.6; margin: 0 0 1.25rem; }
.sage-form-feedback--success { text-align: center; }
.sage-form-feedback--error { background: #fff5f3; border-color: #a32922; color: #73201c; }
.sage-form-feedback--error .sage-form-feedback__icon { background: #a32922; }
.sage-form-feedback__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.sage-form-feedback button {
	background: #0b446e;
	border: 2px solid #0b446e;
	border-radius: 0.4rem;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	min-height: 2.75rem;
	padding: 0.65rem 1rem;
}
.sage-form-feedback button.sage-form-feedback__secondary { background: #fff; color: #0b446e; }
.sage-form-feedback button:hover { background: #082237; border-color: #082237; color: #fff; }
.sage-form-feedback button:focus-visible { outline: 3px solid #175c98; outline-offset: 3px; }
.sage-inquiry-sent form,
.sage-inquiry-has-feedback .wpcf7-response-output,
.sage-inquiry-drawer__panel--sent > h2,
.sage-inquiry-drawer__panel--sent > p { display: none !important; }
.sage-inquiry-drawer__panel--sent .sage-form-feedback { margin: 0; }

/* Keep the inquiry fields and submit action together in a compact panel. */
.sage-inquiry-drawer__panel {
	box-sizing: border-box;
	max-height: calc( 100dvh - 6rem );
	padding: 1rem;
	width: min( 32rem, calc( 100vw - 2rem ) );
}
.sage-inquiry-drawer__panel > h2 { font-size: 1.2rem; margin-bottom: 0.4rem; }
.sage-inquiry-drawer__panel > p { font-size: 0.82rem; line-height: 1.4; margin-bottom: 0.75rem; }
.sage-inquiry-drawer .sage-form-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 0.5rem 0.75rem; }
/* Contact Form 7 inserts a paragraph around the labels; let them be grid items. */
.sage-inquiry-drawer .sage-form-grid > p { display: contents; }
.sage-inquiry-drawer .wpcf7-form { margin: 0; }
.sage-inquiry-drawer .wpcf7-form > p { margin: 0.65rem 0 0; }
.sage-inquiry-drawer .wpcf7-form label { font-size: 0.76rem; line-height: 1.35; margin: 0; min-width: 0; }
.sage-inquiry-drawer .wpcf7-form input:not([type="submit"]),
.sage-inquiry-drawer .wpcf7-form select {
	font-size: 1rem;
	height: 2.65rem;
	margin-top: 0.2rem;
	min-width: 0;
	padding: 0.4rem 0.5rem;
}
.sage-inquiry-drawer .wpcf7-form textarea {
	font-size: 1rem;
	height: 4.5rem;
	min-height: 4.5rem;
	padding: 0.4rem 0.5rem;
}
.sage-inquiry-drawer .wpcf7-form input[type="submit"] {
	font-size: 0.75rem;
	margin-top: 0.65rem;
	min-height: 2.75rem;
	padding: 0.7rem 0.85rem;
	width: 100%;
}
.sage-inquiry-drawer .wpcf7-spinner { display: none; }
.sage-inquiry-drawer .submitting .wpcf7-spinner { display: inline-block; margin: 0.35rem 0 0; }
@media (max-width: 600px) {
	.sage-inquiry-drawer .sage-inquiry-drawer__panel {
		max-height: calc( 100dvh - 5rem );
		padding: 0.85rem;
		width: calc( 100vw - 1rem );
	}
}

.sage-motion-hero {
	min-height: 28rem;
	overflow: hidden;
	position: relative;
}

.sage-motion-hero__video {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.sage-motion-hero__video iframe {
	height: 56.25vw;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	transform: translate( -50%, -50% );
	width: 177.78vh;
}

.sage-promo-video-underlay video {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.sage-featured-carousel {
	background: #26292b;
	box-sizing: border-box;
	margin: 0 !important;
	overflow: hidden;
	padding: clamp( 0.5rem, 1vw, 1rem ) 0;
	position: relative;
	width: 100%;
}

.sage-featured-carousel__slider,
.sage-featured-carousel__slider > p,
.sage-featured-carousel__slider sr7-module {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.sage-featured-carousel__slider sr7-module {
	display: block;
	min-height: 270px;
}

.sage-featured-carousel__slider sr7-arrow {
	pointer-events: auto !important;
	z-index: 20 !important;
}

.sage-revslider-underlay,
.sage-revslider-underlay .wp-block-shortcode,
.sage-revslider-underlay rs-module-wrap,
.sage-revslider-underlay rs-module,
.sage-revslider-underlay sr7-module {
	height: 100% !important;
	max-width: none !important;
	width: 100% !important;
}

.sage-revslider-underlay rs-module-wrap {
	left: 0 !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY( -50% );
}

.sage-revslider-underlay sr7-module {
	left: 50% !important;
	position: absolute !important;
	top: 50% !important;
	transform: translate( -50%, -50% );
}

.sage-revslider-underlay rs-module,
.sage-revslider-underlay rs-sbg-wrap,
.sage-revslider-underlay rs-sbg,
.sage-revslider-underlay rs-bgvideo {
	min-height: 100% !important;
}

.sage-revslider-underlay sr7-content,
.sage-revslider-underlay sr7-slide,
.sage-revslider-underlay sr7-mask,
.sage-revslider-underlay sr7-bg,
.sage-revslider-underlay sr7-module-bg {
	min-height: 100% !important;
}

.sage-motion-hero__overlay {
	background: linear-gradient( 90deg, rgba( 6, 35, 58, 0.95 ) 0%, rgba( 11, 68, 110, 0.78 ) 52%, rgba( 11, 68, 110, 0.32 ) 100% );
	bottom: 1rem;
	left: max( 1rem, calc( ( 100% - 1280px ) / 2 - 2rem ) );
	margin: 0 !important;
	max-width: 824px !important;
	pointer-events: none;
	position: absolute;
	top: 1rem;
	width: calc( 100% - 2rem );
	z-index: 1;
}

.sage-revslider-underlay {
	pointer-events: auto;
}

.sage-revslider-underlay video,
.sage-revslider-underlay sr7-bg,
.sage-revslider-underlay sr7-module-bg {
	pointer-events: none;
}

.sage-revslider-underlay sr7-arrow,
.sage-revslider-underlay sr7-bullet {
	pointer-events: auto !important;
}

.sage-partner-marquee {
	background: #f3f6f8;
	border-bottom: 1px solid var(--wp--preset--color--mist);
	border-top: 1px solid var(--wp--preset--color--mist);
	box-sizing: border-box;
	overflow: hidden;
	padding: clamp( 1.5rem, 2.5vw, 2.25rem ) 0;
}

.sage-partner-marquee__heading {
	margin: 0 auto clamp( 1rem, 1.5vw, 1.4rem );
	max-width: 1280px;
	padding: 0 clamp( 1.25rem, 4vw, 3rem );
	text-align: center;
}

.sage-partner-marquee__heading .sage-eyebrow {
	color: #668092;
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	margin: 0 0 0.65rem;
}

.sage-partner-marquee__heading h2 {
	color: #536b7a;
	font-size: clamp( 1.25rem, 2vw, 1.75rem );
	font-weight: 600;
	line-height: 1.3;
	margin: 0 auto;
	max-width: 1100px;
}

.sage-partner-marquee__viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient( 90deg, transparent, #000 6%, #000 94%, transparent );
	mask-image: linear-gradient( 90deg, transparent, #000 6%, #000 94%, transparent );
}

.sage-partner-marquee__track {
	animation: sage-partner-marquee 44s linear infinite;
	display: flex;
	gap: 1.5rem;
	width: max-content;
	will-change: transform;
}

.sage-partner-marquee__group {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sage-partner-marquee__item {
	align-items: center;
	background: #fff;
	border: 1px solid #dce5ea;
	box-shadow: 0 8px 24px rgba( 6, 35, 58, 0.07 );
	display: flex;
	height: 96px;
	justify-content: center;
	width: clamp( 220px, 22vw, 300px );
}

.sage-partner-marquee__item--dark {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
}

.sage-partner-marquee__item a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	padding: 1.5rem 2rem;
	width: 100%;
}

.sage-partner-marquee__item img {
	display: block;
	height: 54px !important;
	object-fit: contain;
	width: 170px !important;
}

@media (min-width: 782px) {
	.sage-partner-marquee__heading h2 {
		white-space: nowrap;
	}
}

.sage-partner-marquee__item a:focus-visible {
	outline: 3px solid var(--wp--preset--color--blue);
	outline-offset: -5px;
}

.sage-expanded-navigation {
	font-size: 0.82rem;
	font-weight: 700;
}

.sage-expanded-navigation .wp-block-navigation__container {
	column-gap: clamp( 0.75rem, 1.4vw, 1.3rem );
}

.sage-expanded-navigation .wp-block-navigation__submenu-container {
	border: 1px solid #dce5ea !important;
	box-shadow: 0 14px 34px rgba( 6, 35, 58, 0.16 );
	min-width: 250px !important;
	z-index: 101 !important;
}

.sage-expanded-navigation .wp-block-navigation__submenu-container a {
	line-height: 1.25;
	padding: 0.75rem 1rem !important;
}

.sage-navigation-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--white) !important;
	padding: 0.65rem 0.85rem !important;
}

.sage-capability-strip {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
	padding: 0.42rem clamp( 1rem, 3vw, 2.5rem );
}

.sage-capability-strip__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
	max-width: 1280px;
}

.sage-capability-strip span {
	align-items: center;
	display: inline-flex;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.075em;
	line-height: 1.25;
	text-transform: uppercase;
	white-space: nowrap;
}

.sage-capability-strip span + span::before {
	background: rgba( 255, 255, 255, 0.38 );
	content: "";
	display: inline-block;
	height: 0.9rem;
	margin: 0 0.8rem;
	width: 1px;
}

.sage-technical-hero h1 {
	max-width: 1050px;
}

.sage-video-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.sage-video-grid .wp-block-embed {
	margin: 0;
}

.sage-video-grid iframe {
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
}

@media (max-width: 1120px) {
	.sage-expanded-navigation {
		font-size: 0.75rem;
	}

	.sage-expanded-navigation .wp-block-navigation__container {
		column-gap: 0.65rem;
	}

	.sage-hero-facts {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sage-capability-strip span {
		font-size: 0.62rem;
	}
}

@media (max-width: 781px) {
	.sage-capability-strip__inner {
		display: grid;
		gap: 0.35rem 0.85rem;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sage-capability-strip span {
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	.sage-capability-strip span + span::before {
		display: none;
	}

	.sage-video-grid {
		grid-template-columns: 1fr;
	}
}

@keyframes sage-partner-marquee {
	to {
		transform: translateX( calc( -50% - 0.75rem ) );
	}
}

.sage-motion-hero__content {
	position: relative;
	z-index: 2;
}

.sage-motion-hero__content h1,
.sage-motion-hero__content .has-large-font-size {
	max-width: 760px;
}

.sage-motion-hero__content .has-large-font-size {
	font-size: clamp( 1.05rem, 1.65vw, 1.35rem ) !important;
	line-height: 1.45;
}

.sage-motion-hero__content .wp-block-buttons,
.sage-motion-hero__content .sage-hero-facts {
	margin-top: 1rem;
}

.sage-spec-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 1px;
	background: var(--wp--preset--color--steel);
	border: 1px solid var(--wp--preset--color--steel);
}

.sage-spec-grid > * {
	background: var(--wp--preset--color--white);
	margin: 0;
	padding: 1.25rem;
}

.sage-seo-hero {
	padding-block: clamp( 1.25rem, 2.5vw, 2.25rem );
}

.sage-seo-hero .wp-block-columns {
	gap: clamp( 1.5rem, 3vw, 3rem );
}

.sage-seo-hero h1 {
	font-size: clamp( 2rem, 3.6vw, 3.5rem );
	line-height: 1;
	margin-block: 0.45rem 0.75rem;
	max-width: 16ch;
}

.sage-seo-hero .has-large-font-size {
	font-size: clamp( 0.98rem, 1.25vw, 1.12rem ) !important;
	line-height: 1.45;
	margin-block: 0 0.9rem;
	max-width: 42rem;
}

.sage-seo-hero .sage-eyebrow {
	margin-bottom: 0.45rem;
}

.sage-seo-hero .wp-block-buttons {
	margin-top: 0.9rem;
}

.sage-seo-hero__image,
.sage-seo-hero__image img {
	max-height: 19rem;
	min-height: clamp( 12rem, 21vw, 19rem );
}

.sage-seo-hero__image {
	background: var(--wp--preset--color--ink);
	box-shadow: var(--sage-shadow);
	margin: 0;
	overflow: hidden;
}

.sage-seo-hero__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sage-seo-section {
	padding-block: clamp( 3.25rem, 6vw, 6rem );
}

.sage-seo-overview {
	gap: clamp( 2rem, 5vw, 5rem );
}

.sage-seo-checklist {
	border-left: 4px solid var(--wp--preset--color--blue);
	padding: clamp( 1.5rem, 3vw, 2.25rem );
}

.sage-seo-checklist ul {
	margin-bottom: 0;
	padding-left: 1.25rem;
}

.sage-seo-checklist li + li {
	margin-top: 0.6rem;
}

.sage-seo-card-grid,
.sage-related-grid {
	align-items: stretch;
	display: grid;
	gap: 1px;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	margin-top: clamp( 1.5rem, 3vw, 2.5rem );
}

/*
 * These groups use Gutenberg's flow layout in the editor, then become grids on
 * the front end. Reset the generated sibling margins so every grid item starts
 * on the same row and fills the available height.
 */
.sage-seo-card-grid > *,
.sage-related-grid > * {
	margin-block: 0 !important;
	min-width: 0;
}

.sage-seo-card {
	border-top: 4px solid var(--wp--preset--color--blue);
	box-shadow: 0 1rem 2.25rem rgba( 8, 34, 55, 0.08 );
	padding: clamp( 1.5rem, 3vw, 2.25rem );
}

.sage-seo-card h3 {
	margin-top: 0;
}

.sage-seo-media {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.sage-seo-media h2 {
	color: var(--wp--preset--color--white);
}

.sage-seo-faq__item {
	border-top: 1px solid var(--wp--preset--color--mist);
	padding-block: 1.25rem;
}

.sage-seo-faq__item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--mist);
}

.sage-seo-faq__item h3 {
	color: var(--wp--preset--color--navy);
	font-size: 1.12rem;
	font-weight: 800;
	margin: 0 0 0.45rem;
}

.sage-seo-faq__item p {
	margin: 0;
	max-width: 58rem;
}

.sage-related-grid a {
	align-items: center;
	background: rgba( 255, 255, 255, 0.08 );
	color: var(--wp--preset--color--white);
	display: flex;
	min-height: 5.5rem;
	padding: 1rem 1.25rem;
	text-decoration: none;
}

.sage-related-grid a:hover,
.sage-related-grid a:focus-visible {
	background: var(--wp--preset--color--blue);
}

.sage-seo-contact-form {
	box-shadow: var(--sage-shadow);
	margin-top: 0;
	padding: clamp( 1.5rem, 4vw, 3rem );
}

.sage-seo-contact-band {
	padding-block: clamp( 2rem, 4vw, 4rem );
}

@media (max-width: 960px) {
	.sage-spec-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sage-seo-card-grid,
	.sage-related-grid {
		grid-template-columns: 1fr;
	}
}

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

	.sage-motion-hero__video {
		display: none;
	}

	.sage-partner-marquee__viewport {
		mask-image: none;
		-webkit-mask-image: none;
	}

	.sage-partner-marquee__track {
		animation: none;
		display: block;
		width: auto;
	}

	.sage-partner-marquee__group {
		flex-wrap: wrap;
		justify-content: center;
	}

	.sage-partner-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

@media (max-width: 781px) {
	.sage-diagonal {
		clip-path: none;
	}

	.sage-spec-grid {
		grid-template-columns: 1fr;
	}

	.sage-video-rail {
		grid-auto-columns: 86vw;
	}

	.sage-engineering-hero h1 {
		max-width: none;
	}

	.sage-hero-facts {
		grid-template-columns: 1fr;
	}

	.sage-form-grid {
		grid-template-columns: 1fr;
	}

	.sage-seo-hero h1 {
		font-size: clamp( 1.85rem, 9vw, 2.35rem );
		margin-block: 0.35rem 0.6rem;
		max-width: none;
	}

	.sage-seo-hero {
		padding-block: 1rem;
	}

	.sage-seo-hero .wp-block-columns {
		gap: 0.75rem;
	}

	.sage-seo-hero .has-large-font-size {
		font-size: 0.95rem !important;
		line-height: 1.38;
	}

	.sage-seo-hero__image {
		display: none;
	}

	.sage-seo-hero .wp-block-button__link {
		padding: 0.75rem 1rem;
	}

	.sage-inquiry-drawer {
		bottom: 0.5rem;
		right: 0.5rem;
	}

	.sage-inquiry-drawer > summary {
		font-size: 0.72rem;
		padding: 0.65rem 0.85rem;
	}

	.sage-inquiry-drawer__panel {
		max-height: calc( 100vh - 5rem );
		width: calc( 100vw - 1rem );
	}
}
