/*
 * Your Workspace Bricks Homepage
 * Core styling deliberately uses low-specificity selectors so edits made through
 * Bricks global classes can take precedence without editing this file.
 */

:where(body.yws-homepage-installed),
:where([data-yws-root="header"]),
:where([data-yws-root="footer"]) {
	--yws-ink: #10212c;
	--yws-ink-deep: #09151d;
	--yws-ink-soft: #1a3443;
	--yws-paper: #f4f2eb;
	--yws-paper-soft: #faf9f5;
	--yws-white: #ffffff;
	--yws-teal: #13b9b2;
	--yws-teal-dark: #0a8d89;
	--yws-mint: #dfeeea;
	--yws-mist: #e9f3f2;
	--yws-slate: #566873;
	--yws-line: rgba(16, 33, 44, 0.14);
	--yws-line-light: rgba(255, 255, 255, 0.16);
	--yws-shadow: 0 30px 80px rgba(8, 24, 34, 0.12);
	--yws-shadow-soft: 0 18px 50px rgba(8, 24, 34, 0.08);
	--yws-radius-xs: 10px;
	--yws-radius-sm: 16px;
	--yws-radius-md: 24px;
	--yws-radius-lg: 34px;
	--yws-shell: 1280px;
	--yws-gutter: clamp(20px, 3vw, 48px);
	--yws-section-space: clamp(84px, 9vw, 150px);
	--yws-font: Evan, "Avenir Next", Avenir, Inter, "Helvetica Neue", Arial, sans-serif;
}

body.yws-homepage-installed {
	margin: 0;
	background: var(--yws-paper);
	color: var(--yws-ink);
	font-family: var(--yws-font);
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.yws-homepage-installed :where(main#brx-content) {
	overflow: clip;
}

:where([data-yws-root], body.yws-homepage-installed) :where(*, *::before, *::after) {
	box-sizing: border-box;
}

:where([data-yws]) {
	margin-top: 0;
	margin-bottom: 0;
}

:where([data-yws]) :where(img, svg) {
	display: block;
	max-width: 100%;
}

:where([data-yws]) :where(a) {
	color: inherit;
	text-decoration: none;
}

:where([data-yws]) :where(button, input, textarea, select) {
	font: inherit;
}

body.yws-homepage-installed :where(.yws-section) {
	position: relative;
	width: 100%;
	padding: var(--yws-section-space) 0;
	overflow: clip;
}

body.yws-homepage-installed :where(.yws-shell),
:where([data-yws-root="header"], [data-yws-root="footer"]) :where(.yws-shell) {
	width: min(calc(100% - (var(--yws-gutter) * 2)), var(--yws-shell));
	max-width: var(--yws-shell);
	margin-inline: auto;
	padding: 0;
}

:where(.yws-stack) {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

:where(.yws-grid-2) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 48px);
}

:where(.yws-grid-3) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.5vw, 34px);
}

:where(.yws-grid-4) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
}

:where(.yws-kicker),
:where([data-yws~="kicker"], [data-yws~="discipline-label"], [data-yws~="project-type"], [data-yws~="product-number"], [data-yws~="feature-number"], [data-yws~="support-number"]) {
	color: var(--yws-teal-dark);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

:where(.yws-heading-xl) {
	font-family: var(--yws-font);
	font-size: clamp(58px, 7.3vw, 104px);
	font-weight: 650;
	line-height: 0.92;
	letter-spacing: -0.058em;
}

:where(.yws-heading-lg) {
	font-family: var(--yws-font);
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 620;
	line-height: 0.99;
	letter-spacing: -0.048em;
}

:where(.yws-heading-md) {
	font-family: var(--yws-font);
	font-size: clamp(24px, 2.3vw, 34px);
	font-weight: 620;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

:where(.yws-copy-lg) {
	color: var(--yws-slate);
	font-size: clamp(19px, 1.55vw, 23px);
	line-height: 1.52;
}

:where(.yws-copy) {
	color: var(--yws-slate);
	font-size: 16px;
	line-height: 1.62;
}

:where(.yws-small) {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

:where(.yws-card) {
	border: 1px solid var(--yws-line);
	border-radius: var(--yws-radius-md);
	background: var(--yws-white);
	box-shadow: var(--yws-shadow-soft);
}

:where(.yws-button) {
	display: inline-flex;
	width: auto;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.01em;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

:where(.yws-button)::after {
	content: "↗";
	font-size: 1.05em;
	transition: transform 180ms ease;
}

:where(.yws-button):hover,
:where(.yws-button):focus-visible {
	transform: translateY(-2px);
}

:where(.yws-button):hover::after,
:where(.yws-button):focus-visible::after {
	transform: translate(2px, -2px);
}

:where(.yws-button-primary) {
	background: var(--yws-teal);
	color: var(--yws-ink-deep);
	box-shadow: 0 12px 26px rgba(19, 185, 178, 0.22);
}

:where(.yws-button-primary):hover,
:where(.yws-button-primary):focus-visible {
	background: #29c8c0;
	box-shadow: 0 16px 32px rgba(19, 185, 178, 0.3);
}

:where(.yws-button-secondary) {
	border-color: var(--yws-line);
	background: rgba(255, 255, 255, 0.55);
	color: var(--yws-ink);
	box-shadow: none;
}

:where(.yws-button-secondary):hover,
:where(.yws-button-secondary):focus-visible {
	border-color: rgba(16, 33, 44, 0.3);
	background: var(--yws-white);
}

:where([data-yws~="button-row"]) {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

:where([data-yws~="section-intro"]) {
	max-width: 980px;
	margin-bottom: clamp(42px, 6vw, 76px);
}

:where([data-yws~="section-intro-split"]) {
	display: grid;
	max-width: none;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.7fr);
	align-items: end;
	gap: clamp(40px, 7vw, 110px);
}

:where([data-yws~="section-copy"]) {
	max-width: 720px;
}

:where([data-yws~="section-intro-split"] [data-yws~="section-copy"]) {
	max-width: 540px;
	padding-bottom: 7px;
}

/* Header */
:where([data-yws-root="header"]) {
	position: relative;
	z-index: 1000;
	width: 100%;
	min-height: 78px;
	padding: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(9, 21, 29, 0.96);
	color: var(--yws-white);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	overflow: visible;
}

:where([data-yws~="header-inner"]) {
	display: grid;
	min-height: 78px;
	grid-template-columns: 170px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 22px;
	overflow: visible;
}

:where([data-yws~="site-logo"], [data-yws~="footer-logo"]) {
	width: 154px;
	margin: 0;
	line-height: 0;
}

:where([data-yws~="site-logo"], [data-yws~="footer-logo"]) :where(a, picture) {
	display: block;
	width: 100%;
}

:where([data-yws~="site-logo"], [data-yws~="footer-logo"]) img {
	display: block;
	width: 100%;
	height: auto;
}

:where([data-yws~="primary-nav"]) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2.2vw, 34px);
	overflow: visible;
}

:where([data-yws~="nav-item"]) {
	position: relative;
	display: flex;
	align-items: center;
}

:where([data-yws~="nav-link"], [data-yws~="nav-trigger"]) {
	position: relative;
	display: inline-flex;
	width: auto;
	min-height: auto;
	align-items: center;
	justify-content: center;
	padding: 11px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	font-weight: 750;
	line-height: 1;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: color 160ms ease;
}

:where([data-yws~="nav-trigger"])::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}

:where([data-yws~="nav-link"], [data-yws~="nav-trigger"]):hover,
:where([data-yws~="nav-link"], [data-yws~="nav-trigger"]):focus-visible,
:where([data-yws~="nav-item-mega"].is-open > [data-yws~="nav-trigger"]) {
	color: var(--yws-white);
}

:where([data-yws~="nav-item-mega"].is-open > [data-yws~="nav-trigger"])::after {
	transform: translateY(2px) rotate(225deg);
}

:where([data-yws~="header-cta"]) {
	min-height: 42px;
	padding: 11px 18px;
	font-size: 13px;
}

:where([data-yws~="menu-toggle"]) {
	display: none;
	min-height: 42px;
	padding: 10px 15px;
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.06);
	color: var(--yws-white);
}

:where([data-yws~="menu-toggle"])::after {
	content: "";
	width: 16px;
	height: 10px;
	border-top: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: none;
}

:where([data-yws~="mega-panel"]) {
	position: fixed;
	top: 88px;
	left: 50vw;
	display: grid;
	visibility: hidden;
	width: min(1040px, calc(100vw - 44px));
	grid-template-columns: 1.08fr 0.8fr 0.9fr;
	gap: clamp(24px, 3vw, 50px);
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid rgba(16, 33, 44, 0.12);
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.985);
	box-shadow: 0 36px 100px rgba(4, 17, 26, 0.25);
	color: var(--yws-ink);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 12px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

:where([data-yws~="nav-item-mega"]:hover > [data-yws~="mega-panel"]),
:where([data-yws~="nav-item-mega"]:focus-within > [data-yws~="mega-panel"]),
:where([data-yws~="nav-item-mega"].is-open > [data-yws~="mega-panel"]) {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

:where([data-yws~="mega-intro"], [data-yws~="mega-links"]) {
	justify-content: flex-start;
}

:where([data-yws~="mega-heading"]) {
	max-width: 420px;
	font-size: clamp(25px, 2.3vw, 36px);
}

:where([data-yws~="mega-copy"], [data-yws~="mega-proof-copy"], [data-yws~="mega-feature-copy"]) {
	font-size: 14px;
}

:where([data-yws~="mega-link"]) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid var(--yws-line);
	color: var(--yws-ink);
	font-size: 15px;
	font-weight: 750;
	transition: color 160ms ease, padding-left 160ms ease;
}

:where([data-yws~="mega-link"])::after {
	content: "→";
	color: var(--yws-teal-dark);
}

:where([data-yws~="mega-link"]):hover,
:where([data-yws~="mega-link"]):focus-visible {
	padding-left: 6px;
	color: var(--yws-teal-dark);
}

:where([data-yws~="mega-proof"], [data-yws~="mega-feature"]) {
	padding: 22px;
	box-shadow: none;
}

:where([data-yws~="mega-proof-label"], [data-yws~="mega-feature-label"]) {
	color: var(--yws-teal-dark);
}

:where([data-yws~="mega-proof-link"]) {
	color: var(--yws-ink);
	font-size: 14px;
	font-weight: 800;
}

:where([data-yws~="mega-feature-image"]) {
	aspect-ratio: 16 / 9;
	margin: -10px -10px 16px;
	border-radius: 14px;
	overflow: hidden;
}

:where([data-yws~="mega-feature-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hero */
body.yws-homepage-installed :where([data-yws~="hero"]) {
	min-height: min(870px, calc(100svh - 78px));
	padding-top: clamp(68px, 7vw, 112px);
	padding-bottom: clamp(92px, 9vw, 148px);
	background:
		radial-gradient(circle at 88% 14%, rgba(19, 185, 178, 0.14), transparent 30%),
		linear-gradient(180deg, var(--yws-paper-soft), var(--yws-paper));
}

:where([data-yws~="hero-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
	align-items: center;
	gap: clamp(54px, 7vw, 112px);
}

:where([data-yws~="hero-copy"]) {
	position: relative;
	z-index: 2;
	max-width: 680px;
	gap: 28px;
}

:where([data-yws~="hero-heading"]) {
	max-width: 760px;
	color: var(--yws-ink);
}

:where([data-yws~="hero-heading"]) span {
	color: var(--yws-teal-dark);
}

:where([data-yws~="hero-intro"]) {
	max-width: 640px;
}

:where([data-yws~="hero-proof"]) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	padding-top: 10px;
}

:where([data-yws~="proof-item"]) {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--yws-ink);
}

:where([data-yws~="proof-item"])::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--yws-teal);
	box-shadow: 0 0 0 5px rgba(19, 185, 178, 0.12);
}

:where([data-yws~="hero-media"]) {
	position: relative;
	min-height: clamp(540px, 58vw, 720px);
}

:where([data-yws~="hero-image"]) {
	position: absolute;
	inset: 0;
	margin: 0;
	border-radius: var(--yws-radius-lg);
	box-shadow: var(--yws-shadow);
	overflow: hidden;
}

:where([data-yws~="hero-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 54% center;
	transform: scale(1.015);
}

:where([data-yws~="hero-media"])::before {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0;
	border-radius: var(--yws-radius-lg);
	background: linear-gradient(180deg, rgba(9, 21, 29, 0.02) 40%, rgba(9, 21, 29, 0.56) 100%);
	pointer-events: none;
}

:where([data-yws~="hero-signal-html"]) {
	position: absolute;
	z-index: 3;
	inset: 0;
	pointer-events: none;
}

:where(.yws-hero-signal) {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: var(--yws-radius-lg);
}

:where(.yws-hero-signal svg) {
	width: 100%;
	height: 100%;
}

:where(.yws-hero-signal path) {
	fill: none;
	stroke: rgba(74, 238, 226, 0.75);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 8 12;
}

:where(.yws-hero-signal .yws-signal-line-soft) {
	stroke: rgba(255, 255, 255, 0.3);
	stroke-width: 1;
}

:where(.yws-hero-signal circle) {
	fill: var(--yws-teal);
	stroke: rgba(255, 255, 255, 0.85);
	stroke-width: 2;
}

:where([data-yws~="hero-media-card"]) {
	position: absolute;
	z-index: 4;
	right: clamp(18px, 3vw, 40px);
	bottom: clamp(18px, 3vw, 40px);
	width: min(350px, calc(100% - 36px));
	padding: 24px 26px;
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(9, 21, 29, 0.82);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
	color: var(--yws-white);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

:where([data-yws~="hero-card-label"]) {
	color: #66ddd6;
}

:where([data-yws~="hero-card-heading"]) {
	font-size: clamp(24px, 2.2vw, 32px);
}

:where([data-yws~="hero-card-list"]) {
	color: rgba(255, 255, 255, 0.68);
}

/* Trust strip */
body.yws-homepage-installed :where([data-yws~="trust-strip"]) {
	padding: 0;
	border-top: 1px solid var(--yws-line);
	border-bottom: 1px solid var(--yws-line);
	background: var(--yws-paper-soft);
}

:where([data-yws~="trust-inner"]) {
	display: grid;
	min-height: 112px;
	grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.8fr);
	align-items: center;
	gap: 36px;
}

:where([data-yws~="trust-label"]) {
	color: var(--yws-ink);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:where([data-yws~="trust-list"]) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px 24px;
}

:where([data-yws~="trust-item"]) {
	position: relative;
	color: var(--yws-slate);
	white-space: nowrap;
}

:where([data-yws~="trust-item"]):not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -13px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--yws-teal-dark);
	transform: translateY(-50%);
}

/* Overview */
body.yws-homepage-installed :where([data-yws~="overview"]) {
	background: var(--yws-paper);
}

:where([data-yws~="overview-inner"]) {
	display: flex;
	flex-direction: column;
}

:where([data-yws~="discipline-grid"]) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 42px);
}

:where([data-yws~="discipline-card"]) {
	display: grid;
	grid-template-rows: minmax(300px, 0.94fr) auto;
	min-height: 670px;
	box-shadow: none;
	overflow: hidden;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

:where([data-yws~="discipline-card"]):hover {
	transform: translateY(-6px);
	box-shadow: var(--yws-shadow-soft);
}

:where([data-yws~="discipline-image"]) {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

:where([data-yws~="discipline-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

:where([data-yws~="discipline-card"]):hover :where([data-yws~="discipline-image"]) img {
	transform: scale(1.035);
}

:where([data-yws~="discipline-technology"] [data-yws~="discipline-image"]) img {
	object-position: 50% 45%;
}

:where([data-yws~="discipline-copy"]) {
	padding: clamp(28px, 4vw, 48px);
}

:where([data-yws~="discipline-heading"]) {
	max-width: 520px;
}

:where([data-yws~="result-strip"]) {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	align-items: center;
	gap: 30px;
	margin-top: clamp(28px, 4vw, 54px);
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid var(--yws-line);
	border-radius: var(--yws-radius-md);
	background: var(--yws-mint);
}

:where([data-yws~="result-heading"]) {
	font-size: clamp(28px, 3.2vw, 46px);
}

/* Process */
body.yws-homepage-installed :where([data-yws~="process"]) {
	background: var(--yws-mist);
}

:where([data-yws~="process-grid"]) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

:where([data-yws~="feature-item"]) {
	position: relative;
	min-height: 340px;
	padding: clamp(24px, 3vw, 36px);
	box-shadow: none;
	overflow: hidden;
	transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

:where([data-yws~="feature-item"])::after {
	content: "";
	position: absolute;
	right: -42px;
	bottom: -58px;
	width: 150px;
	height: 150px;
	border: 1px solid rgba(19, 185, 178, 0.23);
	border-radius: 50%;
	transition: transform 320ms ease;
}

:where([data-yws~="feature-item"]):hover {
	border-color: rgba(10, 141, 137, 0.36);
	background: var(--yws-paper-soft);
	transform: translateY(-5px);
}

:where([data-yws~="feature-item"]):hover::after {
	transform: scale(1.15);
}

:where([data-yws~="feature-number"]) {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	margin-bottom: auto;
	border: 1px solid rgba(10, 141, 137, 0.3);
	border-radius: 50%;
	color: var(--yws-teal-dark);
}

:where([data-yws~="feature-title"]) {
	margin-top: 74px;
	font-size: clamp(25px, 2.1vw, 32px);
}

:where([data-yws~="feature-copy"]) {
	margin-top: 14px;
}

/* Smart lockers */
body.yws-homepage-installed :where([data-yws~="smart-lockers"]) {
	background:
		radial-gradient(circle at 12% 18%, rgba(19, 185, 178, 0.14), transparent 33%),
		var(--yws-ink-deep);
	color: var(--yws-white);
}

:where([data-yws~="smart-lockers-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	align-items: center;
	gap: clamp(52px, 7vw, 112px);
}

:where([data-yws~="smart-lockers-media"]) {
	position: relative;
	min-height: clamp(520px, 58vw, 700px);
}

:where([data-yws~="smart-lockers-image"]) {
	position: absolute;
	inset: 0;
	margin: 0;
	border-radius: var(--yws-radius-lg);
	overflow: hidden;
}

:where([data-yws~="smart-lockers-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

:where([data-yws~="smart-lockers-media"])::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--yws-radius-lg);
	background: linear-gradient(180deg, transparent 55%, rgba(9, 21, 29, 0.62));
	pointer-events: none;
}

:where([data-yws~="interface-label"]) {
	position: absolute;
	z-index: 2;
	left: clamp(18px, 3vw, 36px);
	bottom: clamp(18px, 3vw, 36px);
	width: min(350px, calc(100% - 36px));
	padding: 22px 24px;
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(9, 21, 29, 0.78);
	box-shadow: 0 20px 55px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

:where([data-yws~="interface-kicker"]) {
	color: #61dcd5;
}

:where([data-yws~="interface-copy"]) {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.74);
}

:where([data-yws~="smart-lockers-copy"]) {
	gap: 28px;
}

:where([data-yws~="smart-lockers-copy"] .yws-kicker) {
	color: #62ddd6;
}

:where([data-yws~="smart-lockers-copy"] .yws-copy-lg),
:where([data-yws~="smart-lockers-copy"] .yws-copy) {
	color: rgba(255, 255, 255, 0.68);
}

:where([data-yws~="smart-locker-uses"]) {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--yws-line-light);
}

:where([data-yws~="use-item"]) {
	display: grid;
	grid-template-columns: minmax(160px, 0.55fr) minmax(0, 1fr);
	gap: 24px;
	padding: 23px 0;
	border-bottom: 1px solid var(--yws-line-light);
}

:where([data-yws~="use-heading"]) {
	font-size: 20px;
}

:where([data-yws~="use-copy"]) {
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 15px;
}

:where([data-yws~="smart-lockers-copy"] [data-yws~="button-primary"]) {
	align-self: flex-start;
}

/* Product range */
body.yws-homepage-installed :where([data-yws~="products"]) {
	background: var(--yws-paper-soft);
}

:where([data-yws~="product-grid"]) {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(18px, 2.3vw, 32px);
}

:where([data-yws~="product-card"]) {
	grid-column: span 5;
	box-shadow: none;
	overflow: hidden;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

:where([data-yws~="product-card-wide"]) {
	grid-column: span 7;
}

:where([data-yws~="product-card"]):hover {
	transform: translateY(-6px);
	box-shadow: var(--yws-shadow-soft);
}

:where([data-yws~="product-image"]) {
	width: 100%;
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
}

:where([data-yws~="product-card-wide"] [data-yws~="product-image"]) {
	aspect-ratio: 16 / 8.2;
}

:where([data-yws~="product-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 750ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

:where([data-yws~="product-card"]):hover :where([data-yws~="product-image"]) img {
	transform: scale(1.04);
}

:where([data-yws~="product-copy"]) {
	padding: clamp(24px, 3vw, 38px);
}

:where([data-yws~="product-heading"]) {
	font-size: clamp(28px, 2.8vw, 42px);
}

:where([data-yws~="product-link"]) {
	display: inline-flex;
	width: fit-content;
	margin-top: 6px;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	color: var(--yws-ink);
	font-size: 14px;
	font-weight: 800;
}

/* Ecosystem */
body.yws-homepage-installed :where([data-yws~="ecosystem"]) {
	background: var(--yws-mint);
}

:where([data-yws~="ecosystem-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
	align-items: center;
	gap: clamp(52px, 8vw, 126px);
}

:where([data-yws~="ecosystem-copy"]) {
	gap: 28px;
}

:where([data-yws~="ecosystem-qualities"]) {
	display: flex;
	flex-direction: column;
	margin-top: 10px;
	border-top: 1px solid var(--yws-line);
}

:where([data-yws~="quality-item"]) {
	display: grid;
	grid-template-columns: minmax(150px, 0.6fr) minmax(0, 1fr);
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid var(--yws-line);
}

:where([data-yws~="quality-heading"]) {
	font-size: 19px;
}

:where([data-yws~="quality-copy"]) {
	font-size: 15px;
}

:where([data-yws~="ecosystem-visual"]) {
	padding: clamp(16px, 2.8vw, 34px);
	border-color: rgba(16, 33, 44, 0.1);
	box-shadow: none;
}

:where(.yws-ecosystem-diagram) {
	width: 100%;
	aspect-ratio: 1.18 / 1;
}

:where(.yws-ecosystem-diagram svg) {
	width: 100%;
	height: 100%;
	overflow: visible;
}

:where(.yws-ecosystem-lines path) {
	fill: none;
	stroke: rgba(16, 33, 44, 0.24);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 6 8;
}

:where(.yws-ecosystem-node circle),
:where(.yws-ecosystem-node rect) {
	fill: var(--yws-paper-soft);
	stroke: rgba(16, 33, 44, 0.16);
	stroke-width: 1.5;
	filter: drop-shadow(0 12px 22px rgba(8, 24, 34, 0.08));
}

:where(.yws-ecosystem-node text) {
	fill: var(--yws-ink);
	font-family: var(--yws-font);
	font-size: 18px;
	font-weight: 760;
}

:where(.yws-ecosystem-node text.small) {
	fill: var(--yws-slate);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

:where(.yws-ecosystem-centre rect) {
	fill: var(--yws-ink);
	stroke: var(--yws-ink);
}

:where(.yws-ecosystem-centre text) {
	fill: var(--yws-white);
}

:where(.yws-ecosystem-centre text.small) {
	fill: rgba(255, 255, 255, 0.63);
}

/* Manufacturing and support */
body.yws-homepage-installed :where([data-yws~="support"]) {
	background: var(--yws-paper);
}

:where([data-yws~="anchor"]) {
	position: absolute;
	top: -100px;
}

:where([data-yws~="support-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	align-items: center;
	gap: clamp(52px, 8vw, 120px);
}

:where([data-yws~="support-media"]) {
	position: relative;
	min-height: clamp(560px, 62vw, 740px);
}

:where([data-yws~="support-image"]) {
	position: absolute;
	inset: 0;
	margin: 0;
	border-radius: var(--yws-radius-lg);
	box-shadow: var(--yws-shadow-soft);
	overflow: hidden;
}

:where([data-yws~="support-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

:where([data-yws~="factory-label"]) {
	position: absolute;
	right: clamp(18px, 3vw, 34px);
	bottom: clamp(18px, 3vw, 34px);
	width: min(320px, calc(100% - 36px));
	padding: 22px 24px;
	border-color: rgba(255, 255, 255, 0.34);
	background: rgba(255, 255, 255, 0.91);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

:where([data-yws~="factory-label-copy"]) {
	margin-top: 8px;
	color: var(--yws-slate);
}

:where([data-yws~="support-copy"]) {
	gap: 28px;
}

:where([data-yws~="support-disciplines"]) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

:where([data-yws~="support-discipline"]) {
	padding: 24px;
	box-shadow: none;
}

:where([data-yws~="support-number"]) {
	display: block;
	margin-bottom: 42px;
	color: var(--yws-teal-dark);
}

:where([data-yws~="support-discipline-heading"]) {
	font-size: 22px;
}

:where([data-yws~="support-discipline-copy"]) {
	margin-top: 12px;
	font-size: 14px;
}

:where([data-yws~="support-copy"] [data-yws~="button-primary"]) {
	align-self: flex-start;
}

/* Projects */
body.yws-homepage-installed :where([data-yws~="projects"]) {
	background: var(--yws-paper-soft);
}

:where([data-yws~="project-grid"]) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 32px);
}

:where([data-yws~="project-card"]) {
	box-shadow: none;
	overflow: hidden;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

:where([data-yws~="project-card"]):hover {
	transform: translateY(-6px);
	box-shadow: var(--yws-shadow-soft);
}

:where([data-yws~="project-image"]) {
	width: 100%;
	aspect-ratio: 4 / 3.2;
	margin: 0;
	overflow: hidden;
}

:where([data-yws~="project-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

:where([data-yws~="project-card"]):hover :where([data-yws~="project-image"]) img {
	transform: scale(1.04);
}

:where([data-yws~="project-copy"]) {
	padding: clamp(24px, 3vw, 36px);
}

:where([data-yws~="project-heading"]) {
	font-size: clamp(26px, 2.6vw, 38px);
}

:where([data-yws~="project-link"]) {
	display: inline-flex;
	width: fit-content;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	color: var(--yws-ink);
	font-size: 14px;
	font-weight: 800;
}

/* Sustainability */
body.yws-homepage-installed :where([data-yws~="sustainability"]) {
	background: var(--yws-mint);
}

:where([data-yws~="sustainability-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(480px, 1.16fr);
	align-items: center;
	gap: clamp(52px, 8vw, 120px);
}

:where([data-yws~="sustainability-copy"]) {
	gap: 28px;
}

:where([data-yws~="sustainability-features"]) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

:where([data-yws~="sustainability-feature"]) {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border: 1px solid rgba(16, 33, 44, 0.15);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.54);
	color: var(--yws-ink);
}

:where([data-yws~="sustainability-media"]) {
	position: relative;
	min-height: clamp(500px, 55vw, 660px);
}

:where([data-yws~="sustainability-image"]) {
	position: absolute;
	inset: 0;
	margin: 0;
	border-radius: var(--yws-radius-lg);
	box-shadow: var(--yws-shadow-soft);
	overflow: hidden;
}

:where([data-yws~="sustainability-image"]) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

:where([data-yws~="sustainability-callout"]) {
	position: absolute;
	left: clamp(18px, 3vw, 36px);
	bottom: clamp(18px, 3vw, 36px);
	width: min(360px, calc(100% - 36px));
	padding: 24px 26px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

:where([data-yws~="sustainability-callout-copy"]) {
	margin-top: 9px;
}

/* Contact call to action */
body.yws-homepage-installed :where([data-yws~="contact"]) {
	padding: clamp(80px, 9vw, 128px) 0;
	background:
		radial-gradient(circle at 78% 30%, rgba(19, 185, 178, 0.18), transparent 31%),
		var(--yws-ink);
	color: var(--yws-white);
}

:where([data-yws~="contact-inner"]) {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.45fr);
	align-items: end;
	gap: clamp(48px, 9vw, 140px);
}

:where([data-yws~="contact-copy"] .yws-kicker) {
	color: #62ddd6;
}

:where([data-yws~="contact-heading"]) {
	max-width: 900px;
	font-size: clamp(44px, 5.7vw, 80px);
}

:where([data-yws~="contact-intro"]) {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.68);
}

:where([data-yws~="contact-actions"]) {
	align-items: flex-start;
	padding-bottom: 4px;
}

:where([data-yws~="contact-email"]) {
	padding-bottom: 3px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.38);
	color: var(--yws-white);
	font-size: 16px;
	font-weight: 760;
}

:where([data-yws~="contact-phone"]) {
	color: rgba(255, 255, 255, 0.62);
}

/* Footer */
:where([data-yws-root="footer"]) {
	width: 100%;
	padding: clamp(72px, 8vw, 110px) 0 30px;
	background: var(--yws-ink-deep);
	color: var(--yws-white);
	overflow: hidden;
}

:where([data-yws~="footer-inner"]) {
	display: grid;
	grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, 0.58fr));
	gap: clamp(34px, 5vw, 82px);
}

:where([data-yws~="footer-intro"]) {
	max-width: 390px;
}

:where([data-yws~="footer-heading"]) {
	font-size: clamp(28px, 2.7vw, 40px);
}

:where([data-yws~="footer-copy"], [data-yws~="footer-location"]) {
	color: rgba(255, 255, 255, 0.58);
	font-size: 14px;
}

:where([data-yws~="footer-column-title"]) {
	color: rgba(255, 255, 255, 0.42);
	font-size: 11px;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

:where([data-yws~="footer-column"], [data-yws~="footer-contact"]) {
	gap: 13px;
}

:where([data-yws~="footer-link"], [data-yws~="footer-contact-link"]) {
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	font-weight: 650;
	transition: color 160ms ease, transform 160ms ease;
}

:where([data-yws~="footer-link"], [data-yws~="footer-contact-link"]):hover,
:where([data-yws~="footer-link"], [data-yws~="footer-contact-link"]):focus-visible {
	color: var(--yws-white);
	transform: translateX(3px);
}

:where([data-yws~="footer-lower"]) {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: clamp(34px, 5vw, 70px);
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
}

:where([data-yws~="footer-copyright"]) {
	color: rgba(255, 255, 255, 0.42);
	font-size: 12px;
}

:where([data-yws~="footer-legal"]) {
	display: flex;
	gap: 18px;
}

:where([data-yws~="footer-legal-link"]) {
	color: rgba(255, 255, 255, 0.48);
	font-size: 12px;
}

/* Restrained motion */
html.yws-js body.yws-homepage-installed :where([data-yws~="reveal"]) {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 620ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.yws-js body.yws-homepage-installed :where([data-yws~="reveal"].is-visible) {
	opacity: 1;
	transform: translateY(0);
}

html.yws-js body.yws-homepage-installed :where([data-yws~="project-grid"] [data-yws~="reveal"]:nth-child(2), [data-yws~="product-grid"] [data-yws~="reveal"]:nth-child(2), [data-yws~="process-grid"] [data-yws~="reveal"]:nth-child(2)) {
	transition-delay: 70ms;
}

html.yws-js body.yws-homepage-installed :where([data-yws~="project-grid"] [data-yws~="reveal"]:nth-child(3), [data-yws~="product-grid"] [data-yws~="reveal"]:nth-child(3), [data-yws~="process-grid"] [data-yws~="reveal"]:nth-child(3)) {
	transition-delay: 140ms;
}

html.yws-js body.yws-homepage-installed :where([data-yws~="product-grid"] [data-yws~="reveal"]:nth-child(4), [data-yws~="process-grid"] [data-yws~="reveal"]:nth-child(4)) {
	transition-delay: 210ms;
}

html.yws-js body.yws-homepage-installed :where([data-yws~="hero-media"].is-visible .yws-signal-line) {
	animation: yws-signal-flow 13s linear infinite;
}

html.yws-js body.yws-homepage-installed :where([data-yws~="ecosystem-visual"].is-visible .yws-ecosystem-lines path) {
	animation: yws-signal-flow 15s linear infinite;
}

@keyframes yws-signal-flow {
	to {
		stroke-dashoffset: -240;
	}
}

/* Tablet and compact desktop */
@media (max-width: 1180px) {
	:where([data-yws~="header-inner"]) {
		grid-template-columns: 150px minmax(0, 1fr) auto auto;
		gap: 16px;
	}

	:where([data-yws~="primary-nav"]) {
		gap: 18px;
	}

	:where([data-yws~="hero-inner"]) {
		grid-template-columns: minmax(0, 0.95fr) minmax(440px, 1.05fr);
		gap: 52px;
	}

	:where([data-yws~="process-grid"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:where([data-yws~="feature-item"]) {
		min-height: 300px;
	}

	:where([data-yws~="footer-inner"]) {
		grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(130px, 0.55fr));
		gap: 34px;
	}
}

@media (max-width: 1024px) {
	:where([data-yws~="header-inner"]) {
		grid-template-columns: 154px 1fr auto;
	}

	:where([data-yws~="header-cta"]) {
		display: none;
	}

	:where([data-yws~="menu-toggle"]) {
		display: inline-flex;
		justify-self: end;
	}

	:where([data-yws~="primary-nav"]) {
		position: fixed;
		top: 78px;
		left: 16px;
		right: 16px;
		display: none;
		max-height: calc(100svh - 96px);
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: 18px;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 20px;
		background: rgba(9, 21, 29, 0.985);
		box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
		overflow-y: auto;
	}

	:where([data-yws-root="header"].is-menu-open [data-yws~="primary-nav"]) {
		display: flex;
		flex-direction: column;
	}

	:where([data-yws~="primary-nav"] > [data-yws~="nav-link"]),
	:where([data-yws~="nav-item"]) {
		width: 100%;
	}

	:where([data-yws~="nav-link"], [data-yws~="nav-trigger"]) {
		width: 100%;
		justify-content: space-between;
		padding: 16px 4px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.11);
		color: rgba(255, 255, 255, 0.86);
		font-size: 15px;
	}

	:where([data-yws~="mega-panel"]) {
		position: static;
		display: none;
		visibility: visible;
		width: 100%;
		grid-template-columns: 1fr 1fr;
		gap: 22px;
		margin: 10px 0 18px;
		padding: 24px;
		border-radius: 18px;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	:where([data-yws~="nav-item-mega"]:hover > [data-yws~="mega-panel"]),
	:where([data-yws~="nav-item-mega"]:focus-within > [data-yws~="mega-panel"]) {
		display: none;
		transform: none;
	}

	:where([data-yws~="nav-item-mega"].is-open > [data-yws~="mega-panel"]) {
		display: grid;
		transform: none;
	}

	:where([data-yws~="mega-feature"], [data-yws~="mega-proof"]) {
		grid-column: 1 / -1;
	}

	:where([data-yws~="hero-inner"], [data-yws~="smart-lockers-inner"], [data-yws~="ecosystem-inner"], [data-yws~="support-inner"], [data-yws~="sustainability-inner"]) {
		grid-template-columns: 1fr;
		gap: clamp(50px, 8vw, 80px);
	}

	:where([data-yws~="hero-copy"]) {
		max-width: 820px;
	}

	:where([data-yws~="hero-media"]) {
		min-height: 680px;
	}

	:where([data-yws~="smart-lockers-media"], [data-yws~="support-media"], [data-yws~="sustainability-media"]) {
		min-height: 680px;
	}

	:where([data-yws~="ecosystem-copy"]) {
		max-width: 780px;
	}

	:where([data-yws~="ecosystem-visual"]) {
		width: min(100%, 760px);
		margin-inline: auto;
	}

	:where([data-yws~="project-grid"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:where([data-yws~="project-card"]:last-child) {
		grid-column: 1 / -1;
		width: calc(50% - 10px);
	}

	:where([data-yws~="contact-inner"]) {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	:where([data-yws~="contact-actions"]) {
		align-items: flex-start;
	}

	:where([data-yws~="footer-inner"]) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	:where([data-yws~="footer-intro"]) {
		grid-column: 1 / -1;
		max-width: 580px;
	}
}

@media (max-width: 780px) {
	:where(body.yws-homepage-installed),
	:where([data-yws-root="header"]),
	:where([data-yws-root="footer"]) {
		--yws-gutter: 20px;
		--yws-section-space: 88px;
	}

	:where(.yws-heading-xl) {
		font-size: clamp(52px, 15vw, 76px);
	}

	:where(.yws-heading-lg) {
		font-size: clamp(39px, 11vw, 58px);
	}

	:where([data-yws~="section-intro-split"]) {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 26px;
	}

	:where([data-yws~="hero-media"]) {
		min-height: 590px;
	}

	:where([data-yws~="trust-inner"]) {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 28px 0;
	}

	:where([data-yws~="trust-list"]) {
		justify-content: flex-start;
	}

	:where([data-yws~="discipline-grid"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="discipline-card"]) {
		min-height: 610px;
	}

	:where([data-yws~="result-strip"]) {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	:where([data-yws~="process-grid"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="feature-item"]) {
		min-height: 270px;
	}

	:where([data-yws~="feature-title"]) {
		margin-top: 55px;
	}

	:where([data-yws~="smart-lockers-media"], [data-yws~="support-media"], [data-yws~="sustainability-media"]) {
		min-height: 590px;
	}

	:where([data-yws~="use-item"], [data-yws~="quality-item"]) {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	:where([data-yws~="product-grid"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="product-card"], [data-yws~="product-card-wide"]) {
		grid-column: auto;
	}

	:where([data-yws~="product-card-wide"] [data-yws~="product-image"]),
	:where([data-yws~="product-image"]) {
		aspect-ratio: 16 / 10;
	}

	:where([data-yws~="support-disciplines"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="project-grid"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="project-card"]:last-child) {
		grid-column: auto;
		width: 100%;
	}

	:where([data-yws~="footer-inner"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:where([data-yws~="footer-contact"]) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	:where([data-yws~="header-inner"]) {
		min-height: 70px;
		grid-template-columns: 132px 1fr auto;
	}

	:where([data-yws~="site-logo"]) {
		width: 128px;
	}

	:where([data-yws-root="header"]) {
		min-height: 70px;
	}

	:where([data-yws~="primary-nav"]) {
		top: 70px;
	}

	:where([data-yws~="menu-toggle"]) {
		min-width: 44px;
		padding-inline: 12px;
		font-size: 0;
	}

	:where([data-yws~="menu-toggle"])::after {
		margin: 0;
	}

	:where([data-yws~="mega-panel"]) {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	:where([data-yws~="mega-feature"], [data-yws~="mega-proof"]) {
		grid-column: auto;
	}

	body.yws-homepage-installed :where([data-yws~="hero"]) {
		min-height: auto;
		padding-top: 64px;
	}

	:where([data-yws~="hero-copy"]) {
		gap: 22px;
	}

	:where([data-yws~="hero-heading"]) {
		font-size: clamp(50px, 15vw, 68px);
	}

	:where([data-yws~="button-row"]) {
		flex-direction: column;
		align-items: stretch;
	}

	:where([data-yws~="button-row"] .yws-button) {
		width: 100%;
	}

	:where([data-yws~="hero-proof"]) {
		flex-direction: column;
		align-items: flex-start;
	}

	:where([data-yws~="hero-media"]) {
		min-height: 490px;
	}

	:where([data-yws~="hero-media-card"]) {
		left: 14px;
		right: 14px;
		bottom: 14px;
		width: auto;
	}

	:where([data-yws~="trust-item"]):not(:last-child)::after {
		display: none;
	}

	:where([data-yws~="trust-list"]) {
		align-items: flex-start;
		gap: 9px 16px;
	}

	:where([data-yws~="discipline-card"]) {
		min-height: 540px;
		grid-template-rows: 280px auto;
	}

	:where([data-yws~="smart-lockers-media"], [data-yws~="support-media"], [data-yws~="sustainability-media"]) {
		min-height: 500px;
	}

	:where([data-yws~="support-disciplines"]) {
		gap: 12px;
	}

	:where([data-yws~="contact-heading"]) {
		font-size: clamp(42px, 12.5vw, 58px);
	}

	:where([data-yws~="footer-inner"]) {
		grid-template-columns: 1fr;
	}

	:where([data-yws~="footer-intro"], [data-yws~="footer-contact"]) {
		grid-column: auto;
	}

	:where([data-yws~="footer-lower"]) {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.yws-homepage-installed,
	body.yws-homepage-installed *,
	body.yws-homepage-installed *::before,
	body.yws-homepage-installed *::after,
	[data-yws-root="header"],
	[data-yws-root="header"] *,
	[data-yws-root="header"] *::before,
	[data-yws-root="header"] *::after,
	[data-yws-root="footer"],
	[data-yws-root="footer"] *,
	[data-yws-root="footer"] *::before,
	[data-yws-root="footer"] *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	html.yws-js body.yws-homepage-installed :where([data-yws~="reveal"]) {
		opacity: 1;
		transform: none;
	}
}

@media print {
	:where([data-yws-root="header"]),
	:where([data-yws-root="footer"]),
	:where([data-yws~="contact"]) {
		display: none !important;
	}

	html.yws-js body.yws-homepage-installed :where([data-yws~="reveal"]) {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Bricks renders header and footer sections inside the page body. Keep their
 * own spacing rules above the generic homepage section spacing. */
body.yws-homepage-installed [data-yws-root="header"] {
	padding: 0;
	overflow: visible;
}

body.yws-homepage-installed [data-yws-root="footer"] {
	padding: clamp(72px, 8vw, 110px) 0 30px;
	overflow: hidden;
}

/* The runtime safeguard uses the same saved Bricks templates when the theme's
 * normal template renderer returns no header or footer HTML. */
#brx-header.yws-runtime-template-fallback,
#brx-footer.yws-runtime-template-fallback {
	display: block;
	width: 100%;
}
