@charset "UTF-8";

@font-face {
	font-family: "Roboto Condensed Local";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/roboto-condensed-latin.woff2") format("woff2");
}

:root {
	--ink: #080808;
	--cream: #f7f4ed;
	--cream-deep: #eee9df;
	--paper: #fffdf8;
	--accent: #efa900;
	--accent-dark: #c88d00;
	--red: #df0505;
	--muted: #6d6a64;
	--line: rgba(8, 8, 8, 0.16);
	--sidebar: clamp(16rem, 19.92vw, 19.25rem);
	--page-pad: clamp(2rem, 4.1vw, 5rem);
	--font: Arial, Helvetica, sans-serif;
	--font-condensed: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
	--shadow: 0 1.5rem 5rem rgba(26, 19, 7, 0.13);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 0;
}

body {
	margin: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: inherit;
}

button,
summary,
a {
	-webkit-tap-highlight-color: transparent;
}

button,
summary {
	font: inherit;
}

button,
a,
summary {
	outline-offset: 0.3rem;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
	outline: 0.15rem solid var(--accent);
}

::selection {
	background: var(--accent);
	color: var(--ink);
}

.skip-link {
	position: fixed;
	z-index: 1000;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.8rem 1rem;
	background: var(--accent);
	color: var(--ink);
	font-weight: 700;
	transform: translateY(-150%);
	transition: transform 180ms ease;
}

.skip-link:focus {
	transform: translateY(0);
}

.svg-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.icon {
	width: 2.7rem;
	height: 2.7rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: 0 0 auto;
}

/* Fixed desktop navigation */
.sidebar {
	position: fixed;
	inset: 0 auto 0 0;
	z-index: 50;
	display: flex;
	width: var(--sidebar);
	min-height: 100svh;
	flex-direction: column;
	background: #030303;
	color: #fff;
}

.brand {
	display: block;
	padding: clamp(1.5rem, 3.4vh, 2.2rem) clamp(1.6rem, 2.55vw, 2.5rem) clamp(1.25rem, 2.5vh, 1.75rem);
	text-decoration: none;
}

.brand-mark {
	display: block;
	font-family: var(--font-condensed);
	font-size: clamp(2.75rem, 4.25vw, 4.05rem);
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: -0.065em;
	line-height: 0.95;
}

.brand-mark span,
.mobile-brand span,
.hero-logo span {
	color: var(--red);
}

.brand-mark sup,
.mobile-brand sup,
.hero-logo sup {
	position: relative;
	top: -0.45em;
	font-size: 0.26em;
	letter-spacing: 0;
}

.brand-copy {
	display: block;
	margin-top: 0.9rem;
	font-size: clamp(0.78rem, 1.03vw, 1rem);
	font-weight: 300;
	line-height: 1.45;
}

.brand-copy em {
	color: #ffd000;
	font-style: normal;
}

.sidebar-nav {
	min-height: 0;
	flex: 1;
}

.sidebar-nav ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sidebar-nav a {
	display: grid;
	min-height: clamp(2.75rem, 4.85vh, 3.2rem);
	grid-template-columns: 3.2rem 1fr;
	align-items: center;
	padding: 0.4rem 1.45rem 0.4rem clamp(1.6rem, 2.55vw, 2.5rem);
	border-left: 0.2rem solid transparent;
	color: #f4f4f4;
	font-family: var(--font-condensed);
	font-size: clamp(0.76rem, 1.04vw, 1rem);
	font-stretch: condensed;
	line-height: 1.22;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.sidebar-nav a span {
	color: #ffd000;
}

.sidebar-nav a:hover,
.sidebar-nav a.is-active {
	border-left-color: var(--accent);
	background: linear-gradient(90deg, rgba(239, 169, 0, 0.26), rgba(239, 169, 0, 0.08));
}

.sidebar-nav a.is-active span {
	display: inline-grid;
	width: 2.45rem;
	height: 2.45rem;
	margin-left: -0.6rem;
	place-items: center;
	border: 0.1rem solid #ffd000;
	border-radius: 50%;
}

.sidebar-cta {
	display: flex;
	min-height: 7.4rem;
	align-items: center;
	justify-content: space-between;
	margin: 0 clamp(1.6rem, 2.55vw, 2.5rem);
	padding: 1.15rem 0;
	border-top: 0.08rem solid rgba(239, 169, 0, 0.45);
	font-size: clamp(0.9rem, 1.18vw, 1.15rem);
	line-height: 1.45;
	text-decoration: none;
}

.sidebar-cta strong,
.contact-cta strong {
	color: #ffd000;
	font-weight: 400;
}

.round-arrow {
	display: grid;
	width: 3.4rem;
	height: 3.4rem;
	place-items: center;
	border: 0.1rem solid #ffd000;
	border-radius: 50%;
	color: #ffd000;
	font-size: 2rem;
	line-height: 1;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.sidebar-cta:hover .round-arrow,
.contact-cta:hover .round-arrow {
	background: #ffd000;
	color: #000;
	transform: translateX(0.2rem);
}

.mobile-header {
	display: none;
}

main {
	margin-left: var(--sidebar);
	overflow: clip;
}

.chapter {
	position: relative;
	display: grid;
	min-height: 100svh;
	align-content: center;
	isolation: isolate;
	padding: clamp(3rem, 6vh, 5.5rem) var(--page-pad);
	background: var(--cream);
	overflow: clip;
}

.chapter > * {
	min-width: 0;
}

.chapter h1,
.chapter h2,
.chapter h3,
.chapter p {
	margin-top: 0;
}

.chapter h2 {
	margin-bottom: 1.25rem;
	font-family: var(--font-condensed);
	font-size: clamp(2.65rem, 4.4vw, 5rem);
	font-stretch: condensed;
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 0.94;
	text-transform: uppercase;
}

.chapter h2 span,
.section-copy .intro span,
.contact-copy .intro span {
	color: var(--accent);
}

.chapter p {
	max-width: 35rem;
}

.chapter .intro {
	font-size: clamp(1.05rem, 1.38vw, 1.35rem);
	line-height: 1.45;
}

.section-number {
	margin-bottom: 1rem;
	color: var(--accent-dark);
	font-family: var(--font-condensed);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bottom-ribbon {
	display: flex;
	min-height: 2rem;
	align-items: center;
	justify-content: center;
	gap: 1.3rem;
	border: 0.08rem solid rgba(239, 169, 0, 0.52);
	font-family: var(--font-condensed);
	font-size: clamp(0.56rem, 0.66vw, 0.7rem);
	font-weight: 700;
	letter-spacing: 0.15em;
	text-align: center;
	text-transform: uppercase;
}

.bottom-ribbon i,
.statement i,
.site-footer i {
	width: 0.08rem;
	height: 0.9rem;
	background: var(--accent);
}

/* Home */
.hero-section {
	display: block;
	min-height: 100svh;
	padding: 0;
	background: #faf7f3;
	container-type: inline-size;
}

.hero-copy {
	position: absolute;
	z-index: 2;
	inset: 0;
	width: 100%;
	max-width: none;
}

.eyebrow.plain {
	position: absolute;
	top: 17.99svh;
	left: 4.63cqi;
	margin: 0;
	font-family: var(--font);
	font-size: min(2.805cqi, 3.363svh);
	font-weight: 700;
	line-height: 1;
	transform: scaleX(0.925);
	transform-origin: left top;
	white-space: nowrap;
}

.hero-logo {
	position: absolute;
	top: 22.52svh;
	left: 4.11cqi;
	margin: 0;
	font-family: var(--font);
	font-size: min(10.91cqi, 13.08svh);
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: -0.075em;
	line-height: 0.94;
	transform: scaleX(0.968);
	transform-origin: left top;
	white-space: nowrap;
}

.lead-brand {
	position: absolute;
	top: 37.95svh;
	left: 4.53cqi;
	margin: 0;
	font-family: var(--font);
	font-size: min(2.15cqi, 2.58svh);
	line-height: 1.1;
	transform: scaleX(0.994);
	transform-origin: left top;
	white-space: nowrap;
}

.lead-brand strong {
	color: var(--red);
	font-weight: inherit;
}

.hero-copy .intro {
	position: absolute;
	top: 44.28svh;
	left: 4.58cqi;
	width: 35cqi;
	max-width: none;
	margin: 0;
	font-size: min(1.965cqi, 2.355svh);
	line-height: 1.59;
	transform: scaleX(0.949);
	transform-origin: left top;
	white-space: nowrap;
}

.hero-visual {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 39.32cqi;
	width: min(60.96cqi, 73.09svh);
	margin: 0;
}

.hero-visual img {
	width: 100%;
	max-width: none;
}

.hero-map-extension {
	position: absolute;
	z-index: 0;
	top: 2.24svh;
	right: 60.68cqi;
	width: min(10.33cqi, 12.39svh);
	max-width: none;
}

.benefit-row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 0.4rem;
	padding-top: 1.25rem;
	border-top: 0.08rem solid rgba(239, 169, 0, 0.25);
}

.benefit-row article {
	display: flex;
	min-width: 0;
	gap: 0.75rem;
	align-items: flex-start;
	padding: 0 1rem;
	border-right: 0.08rem solid var(--accent);
}

.benefit-row article:first-child {
	padding-left: 0;
}

.benefit-row article:last-child {
	padding-right: 0;
	border-right: 0;
}

.benefit-row .icon {
	width: clamp(2rem, 2.8vw, 3rem);
	height: clamp(2rem, 2.8vw, 3rem);
}

.benefit-row strong,
.icon-list strong {
	display: block;
	font-family: var(--font-condensed);
	font-size: clamp(0.67rem, 0.77vw, 0.8rem);
	line-height: 1.2;
	text-transform: uppercase;
}

.benefit-row span,
.icon-list span {
	display: block;
	margin-top: 0.35rem;
	font-size: clamp(0.64rem, 0.76vw, 0.8rem);
	line-height: 1.48;
}

.hero-section .benefit-row {
	position: absolute;
	z-index: 3;
	top: 72.65svh;
	left: 3.13cqi;
	width: calc(100% - 3.13cqi);
	height: 10.65svh;
	grid-template-columns: 233fr 252fr 219fr 249fr 233fr;
	margin: 0;
	padding: 0;
	border-top: 0;
}

.hero-section .benefit-row article,
.hero-section .benefit-row article:first-child,
.hero-section .benefit-row article:last-child {
	display: flex;
	min-height: 0;
	align-items: flex-start;
	padding: 0;
	border-right: max(1px, min(0.094cqi, 0.112svh)) solid var(--accent);
	border-bottom: 0;
}

.hero-section .benefit-row article:last-child {
	border-right: 0;
}

.hero-section .benefit-row article:nth-child(1) {
	gap: 2.15cqi;
}

.hero-section .benefit-row article:nth-child(2) {
	gap: 2.15cqi;
	padding-left: 2.62cqi;
}

.hero-section .benefit-row article:nth-child(3) {
	gap: 1.69cqi;
	padding-left: 2.1cqi;
}

.hero-section .benefit-row article:nth-child(4) {
	gap: 1.55cqi;
	padding-left: 1.82cqi;
}

.hero-section .benefit-row article:nth-child(5) {
	gap: 1.92cqi;
	padding-left: 1.92cqi;
}

.hero-section .benefit-row img {
	flex: 0 0 auto;
	height: auto;
}

.hero-section .benefit-row article:nth-child(1) img {
	width: min(3.74cqi, 4.48svh);
	margin-top: 0.56svh;
	transform: translateX(0.05cqi);
}

.hero-section .benefit-row article:nth-child(2) img {
	width: min(3.88cqi, 4.65svh);
	margin-top: 0.79svh;
}

.hero-section .benefit-row article:nth-child(3) img {
	width: min(3.74cqi, 4.48svh);
	margin-top: 0.45svh;
	transform: translateX(0.09cqi);
}

.hero-section .benefit-row article:nth-child(4) img {
	width: min(4.16cqi, 4.99svh);
	margin-top: 1.29svh;
	transform: translateX(0.06cqi);
}

.hero-section .benefit-row article:nth-child(5) img {
	width: min(3.69cqi, 4.43svh);
	margin-top: 0.84svh;
	transform: translateX(0.09cqi);
}

.hero-section .benefit-row article > div {
	min-width: 0;
}

.hero-section .benefit-row article:first-child > div {
	margin-top: 1.01svh;
}

.hero-section .benefit-row strong {
	display: block;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: min(1.356cqi, 1.626svh);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.48;
	transform: translateY(-0.34svh) scaleX(1.02);
	transform-origin: left top;
	text-transform: uppercase;
	white-space: nowrap;
}

.hero-section .benefit-row span {
	display: block;
	margin-top: min(0.33cqi, 0.39svh);
	font-size: min(1.22cqi, 1.46svh);
	line-height: 1.92;
	transform: scaleX(0.96);
	transform-origin: left top;
	white-space: nowrap;
}

.hero-section .benefit-row article:first-child span {
	margin-top: min(0.37cqi, 0.45svh);
}

.hero-section .benefit-row article:nth-child(3) span {
	margin-top: 0;
}

.outline-cta {
	position: absolute;
	z-index: 3;
	top: 89.01svh;
	left: 24.92cqi;
	display: flex;
	width: 46.75cqi;
	height: 4.88svh;
	min-height: 0;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding-right: 1.22cqi;
	border: max(1px, min(0.14cqi, 0.168svh)) solid var(--accent);
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: min(1.87cqi, 2.24svh);
	letter-spacing: 0.135em;
	text-decoration: none;
	text-transform: uppercase;
}

.outline-cta__label {
	display: block;
	transform: translate(0.14cqi, 0.22svh);
}

.outline-cta .outline-cta__arrow {
	position: absolute;
	top: 50%;
	right: 5.4%;
	color: var(--accent);
	font-family: var(--font);
	font-size: min(2.65cqi, 3.18svh);
	font-weight: 300;
	line-height: 1;
	transform: translateY(-50%);
	transition: transform 180ms ease;
}

.outline-cta:hover {
	background: var(--accent);
}

.outline-cta:hover .outline-cta__arrow {
	color: var(--ink);
	transform: translate(0.2em, -50%);
}

/* Shared split-section copy */
.section-copy {
	position: relative;
	z-index: 2;
	align-self: center;
}

.section-copy > p:not(.section-number) {
	font-size: clamp(0.93rem, 1.08vw, 1.12rem);
}

/* What is EBOS */
.what-section {
	display: block;
	height: 100svh;
	min-height: 0;
	padding: 0;
	background: #f6eee6;
	container-type: size;
}

.what-layout {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100cqi, 116.7cqh);
	aspect-ratio: 1160 / 994;
	transform: translate(-50%, -50%);
}

.what-copy {
	position: absolute;
	z-index: 3;
	left: 5.17%;
	top: 7.55%;
	width: 24%;
}

.what-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.what-copy h2 {
	margin: 0;
	color: #080808;
	font-family: var(--font);
	font-size: 4.15cqi;
	font-stretch: normal;
	font-weight: 720;
	letter-spacing: -0.035em;
	line-height: 1.05;
	text-transform: none;
	white-space: nowrap;
}

.what-copy h2 span {
	color: #080808;
}

.what-copy h2 .what-title__prefix {
	display: inline-block;
	margin-right: 1.03cqi;
	transform: scaleX(1.07);
	transform-origin: left center;
}

.what-copy h2 .what-title__brand {
	color: #d72e2c;
}

.what-copy h2 .what-title__suffix {
	display: inline-block;
	transform: scaleX(1.145);
	transform-origin: left center;
}

.what-copy h2 sup {
	position: relative;
	top: -0.68em;
	margin-left: 0.04em;
	color: #080808;
	font-size: 0.34em;
	letter-spacing: -0.03em;
}

.what-copy .intro,
.what-copy .what-description {
	width: max-content;
	max-width: none;
	margin-bottom: 0;
	font-family: var(--font);
	font-size: 1.82cqi;
	font-weight: 430;
	line-height: 1.5;
}

.what-copy .intro {
	margin-top: 5.65cqi;
}

.what-copy .what-description {
	margin-top: 2.67cqi;
}

.what-features {
	position: absolute;
	z-index: 3;
	left: 3.62%;
	top: 50.4%;
	display: grid;
	width: 24.5%;
	grid-auto-rows: 7.3cqi;
	gap: 3.08cqi;
}

.what-features article {
	display: grid;
	grid-template-columns: 5cqi 1fr;
	align-items: start;
	column-gap: 1.2cqi;
}

.what-features img {
	width: 5cqi;
	height: 6.5cqi;
	margin-left: -0.6cqi;
	object-fit: contain;
}

.what-features article:nth-child(2) img {
	height: 5.5cqi;
}

.what-features article div {
	padding-top: 0.35cqi;
}

.what-features strong,
.what-features span {
	display: block;
	font-family: var(--font);
	font-size: 1.3cqi;
}

.what-features strong {
	font-weight: 760;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.what-features span {
	margin-top: 0.55cqi;
	font-weight: 430;
	line-height: 1.58;
}

.what-visual {
	position: absolute;
	z-index: 1;
	left: 27.155%;
	top: 5.533%;
	width: 72.845%;
	margin: 0;
}

.what-visual img {
	width: 100%;
}

.what-visual .what-visual__icon {
	position: absolute;
	z-index: 2;
	height: auto;
	pointer-events: none;
}

.what-visual .what-visual__icon--engineering {
	left: 34.92%;
	top: 4.303125%;
	width: 7%;
}

.what-visual .what-visual__icon--products {
	left: 66.15%;
	top: 26.195%;
	width: 8%;
}

.what-visual .what-visual__icon--system {
	left: 3.09%;
	top: 42.825%;
	width: 8%;
}

.what-visual .what-visual__icon--construction {
	left: 68.42%;
	top: 58.213125%;
	width: 7%;
}

.what-visual .what-visual__icon--digital {
	left: 31.95%;
	top: 83.391875%;
	width: 7.4%;
}

.what-disciplines {
	position: absolute;
	z-index: 3;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.what-disciplines li {
	position: absolute;
	width: max-content;
	font-family: var(--font);
	font-size: 1.35cqi;
	font-weight: 430;
	line-height: 1.68;
}

.what-disciplines strong,
.what-disciplines span {
	display: block;
}

.what-disciplines strong {
	font-size: 1.22cqi;
	font-weight: 780;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.what-disciplines span {
	margin-top: 0.5cqi;
}

.what-discipline--engineering {
	left: 61.1%;
	top: 8.15%;
}

.what-discipline--system {
	left: 28.05%;
	top: 51.2%;
	font-size: 1.25cqi;
}

.what-discipline--products {
	left: 83.8%;
	top: 26.25%;
}

.what-discipline--construction {
	left: 84.3%;
	top: 53.75%;
}

.what-discipline--digital {
	left: 58.35%;
	top: 73.55%;
}

/* Wheel */
.wheel-section {
	display: block;
	height: 100svh;
	min-height: 0;
	padding: 0;
	background: #f6eee7;
	container-type: size;
}

.wheel-layout {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100cqi, 125.78cqh);
	aspect-ratio: 2171 / 1726;
	transform: translate(-50%, -50%);
}

.wheel-kicker {
	position: absolute;
	z-index: 3;
	left: 3.04%;
	top: 5.2%;
	display: flex;
	align-items: center;
	gap: 1.9cqi;
}

.wheel-kicker i {
	display: block;
	width: 3.32cqi;
	height: 3.45cqi;
	border: 0.17cqi solid var(--accent);
	border-radius: 50%;
}

.wheel-kicker p {
	margin: 0;
	font-family: var(--font);
	font-size: 2.48cqi;
	font-weight: 760;
	letter-spacing: -0.035em;
	line-height: 1;
	transform: scaleX(1.2);
	transform-origin: left center;
	text-transform: uppercase;
}

.wheel-kicker sup {
	position: relative;
	top: -0.7em;
	margin-left: 0.14em;
	font-size: 0.4em;
}

.wheel-copy {
	position: absolute;
	z-index: 3;
	left: 3.1%;
	top: 22.85%;
	width: 25%;
}

.wheel-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.wheel-copy h2 {
	margin: 0;
	color: var(--ink);
	font-family: var(--font);
	font-size: 2.82cqi;
	font-stretch: normal;
	font-weight: 690;
	letter-spacing: -0.04em;
	line-height: 1.43;
	transform: translateY(-0.75cqi);
	transform-origin: left top;
	text-transform: none;
}

.wheel-copy h2 span {
	color: #d72e2c;
}

.wheel-copy-rule {
	display: block;
	width: 3.27cqi;
	height: 0.12cqi;
	margin-top: 0.62cqi;
	background: var(--accent);
}

.wheel-copy > p:not(.section-number) {
	width: max-content;
	max-width: none;
	margin-bottom: 0;
	font-family: var(--font);
	font-size: 1.33cqi;
	font-weight: 430;
	line-height: 2.05;
}

.wheel-copy .wheel-copy__lead {
	margin-top: 1.72cqi;
}

.wheel-copy .wheel-copy__lead + p {
	margin-top: 0.7cqi;
}

.wheel-copy .small-copy {
	margin-top: 1.26cqi;
	font-weight: 430;
}

.wheel-visual {
	position: absolute;
	z-index: 1;
	left: 24.87%;
	top: 1.16%;
	width: 75.13%;
	margin: 0;
}

.wheel-visual img {
	display: block;
	width: 100%;
}

.wheel {
	position: absolute;
	z-index: 4;
	inset: 0;
	pointer-events: none;
}

.wheel-node {
	position: absolute;
	width: 6.9%;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: transparent;
	cursor: pointer;
	pointer-events: auto;
}

.wheel-node::after {
	content: "";
	position: absolute;
	inset: 0.14cqi;
	border: 0.12cqi solid transparent;
	border-radius: 50%;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.wheel-node b,
.wheel-node span {
	opacity: 0;
}

.wheel-node:hover::after,
.wheel-node:focus-visible::after {
	border-color: var(--ink);
	background: rgba(239, 169, 0, 0.08);
	box-shadow: 0 0 0 0.22cqi rgba(246, 238, 231, 0.78);
}

.wheel.is-engaged .wheel-node.is-active::after {
	border-color: #d72e2c;
	background: rgba(215, 46, 44, 0.07);
}

.wheel-node:focus-visible {
	outline: 0;
}

.wheel .node-1 { left: 52.55%; top: 9.1%; }
.wheel .node-2 { left: 65.73%; top: 16.1%; }
.wheel .node-3 { left: 74.8%; top: 29.95%; }
.wheel .node-4 { left: 74.8%; top: 48.96%; }
.wheel .node-5 { left: 68.35%; top: 63.2%; }
.wheel .node-6 { left: 52.65%; top: 69.47%; }
.wheel .node-7 { left: 40.4%; top: 63.2%; }
.wheel .node-8 { left: 34.45%; top: 48.96%; }
.wheel .node-9 { left: 34.45%; top: 30.01%; }
.wheel .node-10 { left: 39.8%; top: 17.5%; }

.wheel-detail {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.wheel-ribbon {
	position: absolute;
	z-index: 3;
	left: 9.21%;
	top: 89.75%;
	display: grid;
	width: 85.03%;
	height: 5.51%;
	grid-template-columns: 21.9% 43.7% 34.4%;
	border: 0.08cqi solid var(--accent);
}

.wheel-ribbon span {
	display: grid;
	place-items: center;
	font-family: var(--font-condensed);
	font-size: 1.34cqi;
	font-weight: 430;
	letter-spacing: 0.16em;
	line-height: 1;
	transform: scaleX(1.09);
	text-transform: uppercase;
	white-space: nowrap;
}

.wheel-ribbon span + span {
	position: relative;
}

.wheel-ribbon span + span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 28%;
	width: 0.08cqi;
	height: 44%;
	background: var(--accent);
}

/* Engineering */
.engineering-section {
	display: block;
	min-height: 100svh;
	padding: 0;
	container-type: inline-size;
	background: #f3ede9;
	overflow: hidden;
}

.engineering-copy {
	position: absolute;
	z-index: 3;
	top: 8.9svh;
	left: 3.84cqi;
	width: 24cqi;
}

.engineering-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.engineering-copy h2 {
	position: relative;
	top: -0.58svh;
	margin: 0;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(2.5rem, min(3.9cqi, 4.8svh), 4.75rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.255;
	transform: scaleX(1.018);
	transform-origin: left top;
}

.engineering-copy h2 span {
	position: relative;
	left: -0.05cqi;
	display: inline-block;
	color: #d62620;
	transform: scaleX(1.04);
	transform-origin: left center;
}

.engineering-rule {
	display: block;
	width: min(4.1cqi, 5.06svh);
	height: min(0.26cqi, 0.32svh);
	margin-top: 1.08svh;
	background: #e9a300;
}

.engineering-copy .engineering-lead,
.engineering-copy .engineering-description {
	margin-inline: 0;
	font-family: var(--font);
	font-size: clamp(1rem, min(1.89cqi, 2.33svh), 2.3rem);
	font-weight: 400;
	line-height: 1.62;
	white-space: nowrap;
	transform: scaleX(0.91);
	transform-origin: left top;
}

.engineering-copy .engineering-lead {
	margin-block: 2.31svh 0;
}

.engineering-copy .engineering-description {
	margin-block: 2.08svh 0;
	line-height: 1.64;
}

.engineering-features {
	position: absolute;
	top: 52.4svh;
	left: -0.42cqi;
	display: grid;
	gap: 4.08svh;
	width: 24cqi;
}

.engineering-features article {
	display: grid;
	grid-template-columns: 6.57cqi minmax(0, 1fr);
	align-items: start;
	column-gap: 0.95cqi;
}

.engineering-features img {
	width: 6.57cqi;
	height: auto;
}

.engineering-features article:first-child img {
	aspect-ratio: 125 / 135;
}

.engineering-features article:last-child img {
	aspect-ratio: 125 / 145;
}

.engineering-features article:last-child {
	position: relative;
	top: -0.58svh;
}

.engineering-features article > div {
	position: relative;
	left: -0.05cqi;
	padding-top: 2.33svh;
}

.engineering-features strong,
.engineering-features span {
	display: block;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(0.9rem, min(1.47cqi, 1.82svh), 1.8rem);
}

.engineering-features strong {
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	text-transform: uppercase;
	transform: scaleX(1.035);
	transform-origin: left top;
}

.engineering-features span {
	margin-top: 0.42svh;
	font-weight: 400;
	line-height: 1.6;
	transform: scaleX(1.035);
	transform-origin: left top;
}

.engineering-features article:last-child > div {
	top: 0.13svh;
}

.engineering-features article:last-child strong {
	position: relative;
	left: -0.05cqi;
	transform: scaleX(1.08);
}

.engineering-features article:last-child span {
	margin-top: 0.55svh;
	transform: scaleX(1.08);
}

.engineering-visual {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 29.13cqi;
	right: 0;
	height: 100svh;
	margin: 0;
}

.engineering-visual img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: fill;
}

.engineering-outcomes {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

/* Technical Performance library */
.technical-cta {
	display: grid;
	width: max-content;
	max-width: 100%;
	min-height: 2.8rem;
	grid-template-areas:
		"series arrow"
		"label arrow";
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 1.1rem;
	padding: 0.45rem 0.2rem 0.55rem 0;
	border-top: 1px solid rgba(220, 146, 0, 0.38);
	border-bottom: 1px solid #dc9200;
	color: #111;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	text-decoration: none;
	text-transform: uppercase;
}

.technical-cta__series {
	grid-area: series;
	color: #b97800;
	font-size: clamp(0.5rem, min(0.58cqi, 0.72svh), 0.69rem);
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.1;
}

.technical-cta strong {
	grid-area: label;
	font-size: clamp(0.68rem, min(0.79cqi, 0.98svh), 0.92rem);
	font-weight: 700;
	letter-spacing: 0.065em;
	line-height: 1.15;
	white-space: nowrap;
}

.technical-cta__arrow {
	grid-area: arrow;
	color: #dc9200;
	font-size: clamp(1rem, min(1.15cqi, 1.42svh), 1.35rem);
	line-height: 1;
	transition: transform 180ms ease;
}

.technical-cta:hover .technical-cta__arrow,
.technical-cta:focus-visible .technical-cta__arrow {
	transform: translateX(0.22rem);
}

.technical-cta:focus-visible {
	border-radius: 0.1rem;
	outline: 2px solid #dc9200;
	outline-offset: 0.3rem;
}

.engineering-technical-cta {
	position: absolute;
	top: 81svh;
	left: 0;
}

/* Independence */
.dark-chapter {
	background: #090909;
	color: #fff;
}

.independence-section {
	grid-template-columns: minmax(19rem, 0.72fr) minmax(36rem, 1.28fr);
	gap: clamp(3rem, 6vw, 7rem);
	background-image: radial-gradient(circle at 82% 18%, rgba(239, 169, 0, 0.14), transparent 30%), linear-gradient(135deg, #090909, #111 58%, #050505);
}

.independence-copy {
	align-self: center;
}

.independence-copy h2 {
	font-size: clamp(3.2rem, 5vw, 5.8rem);
}

.independence-copy p {
	color: #d6d6d6;
}

.independence-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-self: center;
	gap: 1rem;
}

.independence-grid article {
	position: relative;
	min-width: 0;
	min-height: 23rem;
	padding: clamp(1.4rem, 2.2vw, 2.3rem);
	border: 0.08rem solid rgba(239, 169, 0, 0.55);
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.01));
}

.independence-grid article > span {
	position: absolute;
	top: 1rem;
	right: 1rem;
	color: var(--accent);
	font-size: 0.75rem;
}

.independence-grid .icon {
	margin: 2rem 0 3rem;
	color: var(--accent);
}

.independence-grid h3 {
	font-family: var(--font-condensed);
	font-size: clamp(1.35rem, 1.8vw, 1.8rem);
	line-height: 1;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.independence-grid p {
	color: #aaa;
	font-size: 0.83rem;
}

.statement {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin: 0;
	color: #ddd;
	font-family: var(--font-condensed);
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

/* Architecture */
.architecture-section {
	display: block;
	min-height: 100svh;
	padding: 0;
	container-type: inline-size;
	background: #f5efeb;
	font-family: var(--font);
}

.architecture-copy {
	position: absolute;
	z-index: 3;
	top: 6svh;
	left: 4.37cqi;
	width: 31cqi;
}

.architecture-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.architecture-copy h2 {
	margin: 0;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	width: 100%;
	font-size: clamp(2.25rem, min(4.35cqi, 5.45svh), 4.75rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.08;
	transform: scaleX(1.08);
	transform-origin: left top;
}

.architecture-copy h2 span {
	letter-spacing: -0.02em;
}

.architecture-rule {
	display: block;
	width: min(5.32cqi, 6.62svh);
	height: min(0.36cqi, 0.44svh);
	margin-top: 1.58svh;
	background: #e69d06;
}

.architecture-copy .architecture-intro {
	max-width: none;
	margin: 2.56svh 0 0;
	font-size: clamp(0.72rem, min(1.48cqi, 1.85svh), 1.62rem);
	font-weight: 400;
	line-height: 1.75;
}

.architecture-features {
	display: grid;
	width: 35cqi;
	gap: 0.85svh;
	margin: 1.17svh 0 0 -0.83cqi;
	padding: 0;
	list-style: none;
}

.architecture-features li {
	display: grid;
	grid-template-columns: min(5.91cqi, 7.36svh) 1fr;
	align-items: start;
	gap: min(0.53cqi, 0.66svh);
}

.architecture-features li:nth-child(4) {
	margin-top: 0;
}

.architecture-features img {
	width: min(5.91cqi, 7.36svh);
	height: auto;
	transform: scale(1.04);
	transform-origin: center top;
}

.architecture-features li > span {
	width: 94.34%;
	padding-top: 1.02svh;
	transform: scaleX(1.06);
	transform-origin: left top;
}

.architecture-features strong,
.architecture-features li > span > span,
.architecture-benefits strong,
.architecture-benefits span {
	display: block;
}

.architecture-features strong,
.architecture-benefits strong {
	color: #dc9200;
	font-size: clamp(0.65rem, min(1.25cqi, 1.56svh), 1.36rem);
	font-weight: 700;
	line-height: 1.05;
	text-transform: uppercase;
}

.architecture-features li > span > span {
	margin-top: 0.42svh;
	font-size: clamp(0.65rem, min(1.11cqi, 1.39svh), 1.23rem);
	font-weight: 400;
	line-height: 1.62;
}

.architecture-technical-cta {
	position: absolute;
	top: 68.7svh;
	left: 0;
}

.architecture-visual {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: auto;
	height: 78.37svh;
	margin: 0;
}

.architecture-visual img {
	width: auto;
	height: 100%;
	max-width: none;
	object-fit: contain;
}

.architecture-benefits {
	position: absolute;
	z-index: 4;
	top: 78svh;
	left: 3.25cqi;
	right: 4.2cqi;
	display: grid;
	height: 9.25svh;
	grid-template-columns: 24% 24.2% 24.3% 27.5%;
	background: transparent;
}

.architecture-benefits article {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: auto 1fr;
	align-items: start;
	padding-top: 0;
}

.architecture-benefits article::after {
	position: absolute;
	top: 1.45svh;
	right: 0;
	bottom: 0.95svh;
	width: 1px;
	background: rgba(230, 157, 6, 0.68);
	content: "";
}

.architecture-benefits article:last-child::after {
	display: none;
}

.architecture-benefits article:nth-child(1) {
	column-gap: 0.18cqi;
}

.architecture-benefits article:nth-child(2) {
	column-gap: 0.59cqi;
	padding-left: 2.01cqi;
}

.architecture-benefits article:nth-child(3) {
	column-gap: 0.59cqi;
	padding-left: 0.89cqi;
}

.architecture-benefits article:nth-child(4) {
	column-gap: 1.48cqi;
	padding-left: 0.83cqi;
}

.architecture-benefits article:nth-child(1) > img {
	width: min(6.5cqi, 8.1svh);
}

.architecture-benefits article:nth-child(2) > img {
	width: min(5.32cqi, 6.62svh);
}

.architecture-benefits article:nth-child(3) > img,
.architecture-benefits article:nth-child(4) > img {
	width: min(6.2cqi, 7.73svh);
}

.architecture-benefits article > img {
	height: auto;
}

.architecture-benefits article > div {
	padding-top: 1.45svh;
}

.architecture-benefits span {
	margin-top: 0.42svh;
	font-size: clamp(0.65rem, min(1.08cqi, 1.35svh), 1.2rem);
	font-weight: 400;
	line-height: 1.45;
}

.architecture-ribbon {
	position: absolute;
	z-index: 4;
	top: 89.48svh;
	left: 4.31cqi;
	right: 4.2cqi;
	display: grid;
	width: auto;
	height: 5svh;
	min-height: 0;
	grid-template-columns: 26.3% 1px 31.3% 1px 1fr;
	gap: 0;
	margin: 0;
	border-color: rgba(230, 157, 6, 0.72);
	font-family: var(--font);
	font-size: clamp(0.6rem, min(1.13cqi, 1.41svh), 1.25rem);
	font-weight: 600;
	letter-spacing: 0.18em;
}

.architecture-ribbon span {
	display: grid;
	height: 100%;
	place-items: center;
}

.architecture-ribbon i {
	width: 1px;
	height: 1.65svh;
	align-self: center;
}

/* CalSil */
.calsil-section {
	grid-template-columns: minmax(32rem, 1.2fr) minmax(22rem, 0.8fr);
	gap: clamp(3rem, 7vw, 8rem);
	perspective: 80rem;
}

.calsil-visual {
	position: relative;
	min-height: min(43rem, 77vh);
	align-self: center;
	transform-style: preserve-3d;
}

.material-panel {
	position: absolute;
	inset: 12% 10% 12% 16%;
	display: flex;
	align-items: flex-end;
	padding: 1.5rem;
	border: 0.08rem solid rgba(255, 255, 255, 0.22);
	background: linear-gradient(135deg, #4a4a46, #161616);
	box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.4);
	transform: rotateY(38deg) rotateX(5deg);
	transform-origin: center;
}

.material-panel span {
	font-family: var(--font-condensed);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.panel-back {
	background-image: repeating-linear-gradient(90deg, #2c2c2c 0 0.3rem, #171717 0.3rem 3.2rem);
	transform: translate3d(-8rem, 0, -5rem) rotateY(38deg) rotateX(5deg);
}

.panel-core {
	background-image: radial-gradient(circle, #aaa 0 0.08rem, transparent 0.09rem), linear-gradient(135deg, #848179, #3a3936);
	background-size: 0.85rem 0.85rem, auto;
	transform: translate3d(-2rem, 0, -1rem) rotateY(38deg) rotateX(5deg);
}

.panel-face {
	background: linear-gradient(115deg, #dedbd3, #7e7b74 70%, #ddd9d1);
	transform: translate3d(4rem, 0, 3rem) rotateY(38deg) rotateX(5deg);
}

.calsil-copy {
	align-self: center;
	min-width: 0;
}

.calsil-copy h2 {
	font-size: clamp(2.65rem, 3.65vw, 4.15rem);
	overflow-wrap: break-word;
}

.calsil-copy p {
	color: #d5d5d5;
}

.calsil-performance {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 2.2rem 0 1.35rem;
	border-top: 0.08rem solid rgba(239, 169, 0, 0.5);
	border-bottom: 0.08rem solid rgba(239, 169, 0, 0.5);
}

.calsil-performance article {
	min-width: 0;
	padding: 1.05rem 0.8rem 1.15rem;
	border-right: 0.08rem solid rgba(239, 169, 0, 0.35);
}

.calsil-performance article:last-child {
	border: 0;
}

.calsil-performance h3,
.calsil-performance p,
.calsil-performance strong,
.calsil-performance strong span {
	display: block;
	margin: 0;
}

.calsil-performance h3 {
	color: var(--accent);
	font-family: var(--font-condensed);
	font-size: clamp(1rem, 1.35vw, 1.35rem);
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1;
	text-transform: uppercase;
}

.calsil-copy .calsil-performance p {
	margin-top: 0.45rem;
	color: #9f9f9f;
	font-family: var(--font-condensed);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.calsil-performance strong {
	margin-top: 0.75rem;
	color: #fff;
	font-family: var(--font-condensed);
	font-size: clamp(1.15rem, 1.55vw, 1.55rem);
	font-weight: 700;
	line-height: 1;
}

.calsil-performance strong span {
	display: inline;
	margin-left: 0.28rem;
	color: #c7c7c7;
	font-size: 0.69rem;
	font-weight: 400;
	letter-spacing: 0.025em;
	line-height: 1.2;
}

.calsil-technical-cta {
	width: 100%;
	color: #fff;
}

.calsil-technical-cta .technical-cta__series {
	color: var(--accent);
}

/* Global */
.global-section {
	display: block;
	height: 100svh;
	min-height: 0;
	padding: 0;
	background: #f9f0e4;
	container-type: size;
}

.global-layout {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100cqi, 125.07cqh);
	aspect-ratio: 2305 / 1843;
	transform: translate(-50%, -50%);
}

.global-copy,
.global-top-values,
.global-benefits,
.global-ribbon {
	font-family: "Roboto Condensed Local", var(--font-condensed);
}

.global-top-values {
	position: absolute;
	z-index: 3;
	left: 26.2%;
	top: 3.55%;
	display: grid;
	width: 71.1%;
	grid-template-columns: 23% 26% 28% 23%;
}

.global-top-values article {
	display: grid;
	min-width: 0;
	min-height: 7.1cqi;
	grid-template-columns: 4.7cqi minmax(0, 1fr);
	align-items: start;
	gap: 1.05cqi;
	padding: 0 1.55cqi;
	border-right: 0.055cqi solid rgba(233, 167, 0, 0.72);
}

.global-top-values article:first-child {
	padding-left: 0;
}

.global-top-values article:last-child {
	padding-right: 0;
	border-right: 0;
}

.global-top-values img {
	width: 5.7cqi;
	height: 5.7cqi;
	object-fit: contain;
}

.global-top-values article:nth-child(4) img {
	width: 5.15cqi;
	height: 5.8cqi;
}

.global-top-values strong,
.global-top-values span,
.global-benefits strong,
.global-benefits span {
	display: block;
}

.global-top-values strong {
	font-size: 1.08cqi;
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.1;
	transform: scaleX(1.1);
	transform-origin: left center;
	text-transform: uppercase;
	white-space: nowrap;
}

.global-top-values span {
	margin-top: 0.62cqi;
	font-size: 0.99cqi;
	line-height: 1.55;
}

.global-copy {
	position: absolute;
	z-index: 3;
	left: 2.95%;
	top: 10.75%;
	width: 22.2%;
}

.global-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.global-copy h2 {
	margin: 0;
	font-size: 4.45cqi;
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.global-copy h2 span {
	color: var(--accent);
}

.global-copy-rule {
	display: block;
	width: 4.25cqi;
	height: 0.13cqi;
	margin-top: 1.2cqi;
	background: var(--accent);
}

.global-copy p {
	width: max-content;
	max-width: none;
	margin-bottom: 0;
}

.global-copy .global-intro {
	margin-top: 2.55cqi;
	font-size: 1.35cqi;
	line-height: 1.72;
}

.global-copy .global-description {
	margin-top: 1.85cqi;
	font-size: 1.22cqi;
	line-height: 1.78;
}

.global-visual {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 13.02%;
	width: 100%;
	margin: 0;
}

.global-visual img {
	display: block;
	width: 100%;
}

.global-benefits {
	position: absolute;
	z-index: 4;
	left: 2.95%;
	top: 77.86%;
	display: grid;
	width: 95.15%;
	height: 12.26%;
	grid-template-columns: 24.45% 23.2% 25% 27.35%;
	border: 0.055cqi solid rgba(255, 255, 255, 0.42);
	border-radius: 0.7cqi;
	background: #070a0a;
	color: #fff;
	overflow: hidden;
}

.global-benefits article {
	display: grid;
	min-width: 0;
	grid-template-columns: 6.35cqi minmax(0, 1fr);
	align-items: start;
	gap: 1.8cqi;
	padding: 2.02cqi 1.35cqi 1.25cqi 2.15cqi;
	border-right: 0.055cqi solid rgba(233, 167, 0, 0.62);
}

.global-benefits article:last-child {
	border-right: 0;
}

.global-benefits img {
	width: 6.2cqi;
	height: 6.2cqi;
	object-fit: contain;
}

.global-benefits article:first-child img {
	width: 6.85cqi;
}

.global-benefits strong {
	color: var(--accent);
	font-size: 1.17cqi;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.12;
	transform: scaleX(1.08);
	transform-origin: left center;
	text-transform: uppercase;
	white-space: nowrap;
}

.global-benefits span {
	margin-top: 0.62cqi;
	font-size: 1.03cqi;
	line-height: 1.55;
}

.global-ribbon {
	position: absolute;
	z-index: 4;
	left: 2.95%;
	top: 90.78%;
	display: grid;
	width: 95.15%;
	height: 5.75%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-radius: 0.55cqi;
	background: #070a0a;
	color: #fff;
	overflow: hidden;
}

.global-ribbon span {
	position: relative;
	display: grid;
	place-items: center;
	font-size: 1.35cqi;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.global-ribbon span + span::before {
	position: absolute;
	left: 0;
	top: 31%;
	width: 0.055cqi;
	height: 38%;
	background: var(--accent);
	content: "";
}

/* Partnership */
.partnership-section {
	display: block;
	height: 100svh;
	min-height: 0;
	padding: 0;
	background: #f5ede2;
	container-type: size;
}

.partnership-layout {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100cqi, 125.369cqh);
	aspect-ratio: 2293 / 1829;
	transform: translate(-50%, -50%);
}

.partnership-copy,
.partnership-top-values,
.partnership-steps,
.partnership-roles,
.partnership-ribbon {
	font-family: "Roboto Condensed Local", var(--font-condensed);
}

.partnership-copy {
	position: absolute;
	z-index: 3;
	left: 3.358%;
	top: 10.607%;
	width: 23.34%;
}

.partnership-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.partnership-copy h2 {
	margin: 0;
	font-size: 3.82cqi;
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1;
	transform: scaleX(1.08);
	transform-origin: left center;
	text-transform: uppercase;
	white-space: nowrap;
}

.partnership-copy h2 span {
	color: #d79500;
}

.partnership-copy-rule {
	display: block;
	width: 4.35cqi;
	height: 0.13cqi;
	margin-top: 2.15cqi;
	background: #d79500;
}

.partnership-copy p {
	width: max-content;
	max-width: none;
	margin-bottom: 0;
}

.partnership-copy .partnership-intro {
	margin-top: 2.45cqi;
	font-size: 2.15cqi;
	line-height: 1.3;
	transform: scaleX(1.13);
	transform-origin: left top;
}

.partnership-copy .partnership-description {
	margin-top: 1.32cqi;
	font-size: 1.15cqi;
	line-height: 1.72;
	transform: scaleX(1.245);
	transform-origin: left top;
}

.partnership-top-values {
	position: absolute;
	z-index: 3;
	left: 36.2%;
	top: 5.36%;
	display: grid;
	width: 60.71%;
	grid-template-columns: 22.4% 24% 25.4% 28.2%;
}

.partnership-top-values article {
	display: flex;
	min-width: 0;
	min-height: 13.55cqi;
	flex-direction: column;
	align-items: center;
	padding: 0 1.1cqi;
	border-right: 0.055cqi solid rgba(215, 149, 0, 0.72);
	text-align: center;
}

.partnership-top-values article:last-child {
	padding-right: 0;
	border-right: 0;
}

.partnership-top-values img {
	position: relative;
	width: 4.95cqi;
	height: 4.95cqi;
	object-fit: contain;
}

.partnership-top-values article:nth-child(1) img {
	transform: translateX(-0.01cqi) scale(1.47, 1.32);
}

.partnership-top-values article:nth-child(2) img {
	transform: scale(1.05, 1.14);
}

.partnership-top-values article:nth-child(3) img {
	transform: translateX(0.02cqi) scale(1.16, 1.21);
}

.partnership-top-values article:nth-child(4) img {
	transform: translateX(-0.56cqi) scale(1.16, 1.19);
}

.partnership-top-values article:nth-child(1) > * {
	left: -0.6cqi;
}

.partnership-top-values article:nth-child(2) > * {
	position: relative;
	left: -0.15cqi;
}

.partnership-top-values article:nth-child(3) > * {
	position: relative;
	left: -0.3cqi;
}

.partnership-top-values article:nth-child(4) > * {
	position: relative;
	left: -1.1cqi;
}

.partnership-top-values strong,
.partnership-top-values span,
.partnership-steps strong,
.partnership-steps span,
.partnership-roles strong,
.partnership-roles span {
	display: block;
}

.partnership-top-values strong {
	margin-top: 0.92cqi;
	font-size: 1.3cqi;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.1;
	transform: scaleX(1.06);
	text-transform: uppercase;
}

.partnership-top-values span {
	margin-top: 0.65cqi;
	font-size: 1.19cqi;
	line-height: 1.5;
}

.partnership-steps {
	position: absolute;
	z-index: 3;
	left: 3.14%;
	top: 37.18%;
	width: 20.55%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.partnership-steps li {
	display: grid;
	min-width: 0;
	min-height: 7.83cqi;
	grid-template-columns: 5.4cqi minmax(0, 1fr);
	align-items: center;
	gap: 1.45cqi;
	border-bottom: 0.055cqi solid rgba(215, 149, 0, 0.72);
}

.partnership-steps li:last-child {
	border-bottom: 0;
}

.partnership-steps img {
	width: 5.35cqi;
	height: 5.35cqi;
	object-fit: contain;
	transform: translateY(-0.2cqi) scale(1.07);
}

.partnership-steps strong {
	color: #d79500;
	font-size: 1.49cqi;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.1;
	transform: scaleX(1.08);
	transform-origin: left center;
	text-transform: uppercase;
	white-space: nowrap;
}

.partnership-steps span {
	margin-top: 0.35cqi;
	font-size: 1.03cqi;
	line-height: 1.34;
	transform: scaleX(1.21);
	transform-origin: left center;
}

.partnership-visual {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 22.963%;
	width: 100%;
	margin: 0;
}

.partnership-visual img {
	display: block;
	width: 100%;
}

.partnership-roles {
	position: absolute;
	z-index: 4;
	left: 2.704%;
	top: 77.529%;
	display: grid;
	width: 94.2%;
	height: 12.958%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 0.075cqi solid rgba(215, 149, 0, 0.75);
	border-radius: 0.62cqi;
	background: rgba(245, 237, 226, 0.93);
	overflow: hidden;
}

.partnership-roles article {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: 5.25cqi minmax(0, 1fr);
	align-items: center;
	gap: 1.32cqi;
	padding: 1.3cqi 1.15cqi 1.3cqi 2.28cqi;
}

.partnership-roles article:nth-child(n + 2) {
	grid-template-columns: 7.08cqi minmax(0, 1fr);
}

.partnership-roles article + article::before {
	position: absolute;
	left: 0;
	top: 14%;
	width: 0.055cqi;
	height: 72%;
	background: rgba(215, 149, 0, 0.72);
	content: "";
}

.partnership-roles img {
	width: 5.5cqi;
	height: 6.4cqi;
	object-fit: contain;
	transform: translate(-0.41cqi, -0.56cqi) scale(1.26, 1.53);
}

.partnership-roles article:nth-child(2) img {
	width: 6.2cqi;
	transform: translate(0.65cqi, -0.56cqi) scale(1.28, 1.36);
}

.partnership-roles article:nth-child(3) img {
	position: relative;
	left: 0.5cqi;
	top: -0.69cqi;
	width: 6.55cqi;
	height: 6.45cqi;
	transform: none;
}

.partnership-roles article:nth-child(4) img {
	transform: translate(0.79cqi, -0.5cqi) scale(1.16, 1.25);
}

.partnership-roles strong {
	font-size: 1.41cqi;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.1;
	text-transform: uppercase;
}

.partnership-roles span {
	margin-top: 0.58cqi;
	font-size: 1.15cqi;
	line-height: 1.45;
}

.partnership-ribbon {
	position: absolute;
	z-index: 4;
	left: 2.704%;
	top: 91.471%;
	display: grid;
	width: 94.2%;
	height: 5.741%;
	grid-template-columns: 36.5% 38.2% 25.3%;
	border-radius: 0.55cqi;
	background: #050607;
	color: #fff;
	overflow: hidden;
}

.partnership-ribbon span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35em;
	font-size: 1.46cqi;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.partnership-ribbon span + span::before {
	position: absolute;
	left: 0;
	top: 31%;
	width: 0.055cqi;
	height: 38%;
	background: #d79500;
	content: "";
}

.partnership-ribbon em {
	color: #d79500;
	font-style: normal;
}

/* Projects */
.projects-section {
	display: block;
	min-height: 100svh;
	padding: 0;
	container-type: inline-size;
	background: #f7f0e5;
	font-family: var(--font);
}

.projects-copy {
	position: absolute;
	z-index: 3;
	top: 10.45svh;
	left: 3.37cqi;
	width: 22.4cqi;
}

.projects-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.projects-copy h2 {
	position: relative;
	left: -0.13cqi;
	margin: 0;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(2.4rem, min(4.43cqi, 5.58svh), 7rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 0.94;
	transform: scaleX(1.06);
	transform-origin: left top;
}

.projects-copy h2 span {
	position: relative;
	top: 0.16svh;
	left: 0.13cqi;
	display: inline-block;
	color: #cf9500;
	transform: scale(0.94, 1.2);
	transform-origin: center bottom;
}

.projects-rule {
	display: block;
	width: min(3.92cqi, 4.94svh);
	height: min(0.26cqi, 0.32svh);
	margin-top: 2.41svh;
	background: #cf9500;
}

.projects-copy .projects-intro {
	position: relative;
	left: -0.13cqi;
	margin: 1.98svh 0 0;
	color: #c89100;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(1.8rem, min(3.15cqi, 3.96svh), 4.8rem);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1.12;
	transform: scaleX(1.038);
	transform-origin: left top;
}

.projects-copy .projects-description {
	margin: 2.2svh 0 0;
	font-family: var(--font);
	font-size: clamp(0.9rem, min(1.36cqi, 1.71svh), 2.1rem);
	font-weight: 400;
	line-height: 1.65;
	transform: scaleX(0.98);
	transform-origin: left top;
}

.projects-values {
	position: absolute;
	z-index: 4;
	top: 2.39svh;
	left: 30.79cqi;
	right: 2.63cqi;
	display: grid;
	height: 8.4svh;
	grid-template-columns: 15.4cqi 16.7cqi 16.7cqi 1fr;
}

.projects-values article {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: 6.33cqi 1fr;
	align-items: start;
	column-gap: 0.7cqi;
}

.projects-values article:nth-child(2),
.projects-values article:nth-child(3) {
	padding-left: 1.68cqi;
	column-gap: 0.4cqi;
}

.projects-values article:nth-child(4) {
	padding-left: 1.35cqi;
	grid-template-columns: 6.75cqi 1fr;
	column-gap: 0;
}

.projects-values article::after {
	position: absolute;
	top: 1.38svh;
	right: 0;
	bottom: 0.25svh;
	width: 1px;
	background: rgba(200, 146, 0, 0.68);
	content: "";
}

.projects-values article:last-child::after {
	display: none;
}

.projects-values img {
	width: 6.33cqi;
	height: auto;
}

.projects-values article:last-child img {
	width: 6.75cqi;
}

.projects-values article > div {
	padding-top: 2.12svh;
}

.projects-values article:first-child > div {
	position: relative;
	left: 0.04cqi;
}

.projects-values strong,
.projects-values span {
	display: block;
}

.projects-values strong {
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(0.8rem, min(1.14cqi, 1.43svh), 1.75rem);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	transform: scaleX(1.05);
	transform-origin: left top;
}

.projects-values span {
	margin-top: 0.54svh;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(0.82rem, min(1.13cqi, 1.42svh), 1.75rem);
	font-weight: 400;
	line-height: 1.55;
	transform: scaleX(0.96);
	transform-origin: left top;
}

.projects-values article:last-child strong,
.projects-values article:last-child span {
	white-space: nowrap;
}

.projects-visual {
	position: absolute;
	z-index: 1;
	top: 14.16svh;
	left: 26.55cqi;
	right: 0;
	height: 48.83svh;
	margin: 0;
}

.projects-visual img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: fill;
}

.projects-film {
	position: absolute;
	z-index: 2;
	top: 16.5svh;
	right: 3cqi;
	height: 44svh;
	aspect-ratio: 9 / 16;
	margin: 0;
	background: #050505;
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.35);
}

.projects-film video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.projects-gallery-shell {
	position: absolute;
	z-index: 5;
	top: 64.33svh;
	left: 3.64cqi;
	right: 2.62cqi;
	height: 26.39svh;
}

.project-gallery {
	display: grid;
	width: 100%;
	height: 100%;
	grid-template-columns: 14.64cqi 14.93cqi 14.72cqi 14.55cqi 14.93cqi 1fr;
	gap: 0.53cqi;
	overflow: hidden;
}

.project-gallery:focus-visible {
	outline: 2px solid #cf9500;
	outline-offset: 0.35rem;
}

.project-gallery article {
	display: grid;
	min-width: 0;
	height: 100%;
	grid-template-rows: 20.33svh 1fr;
	background: #090909;
	border: 1px solid rgba(0, 0, 0, 0.72);
	border-radius: 0.2cqi;
	color: #fff;
	overflow: hidden;
}

.project-gallery img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: fill;
	filter: none;
	transition: transform 400ms ease, filter 400ms ease;
}

.project-gallery article:hover img {
	transform: scale(1.045);
	filter: brightness(1.04);
}

.project-gallery div {
	position: relative;
	z-index: 1;
	padding: 0.91svh 1.05cqi 0;
	background: #090909;
}

.project-gallery strong,
.project-gallery span {
	display: block;
}

.project-gallery strong {
	color: #e2ad00;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(0.72rem, min(1.22cqi, 1.535svh), 1.9rem);
	font-weight: 700;
	line-height: 1.12;
	white-space: nowrap;
	text-transform: uppercase;
}

.project-gallery span {
	margin-top: 0.52svh;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(0.68rem, min(1.11cqi, 1.4svh), 1.75rem);
	font-weight: 400;
	line-height: 1.15;
	white-space: nowrap;
}

.project-arrow {
	position: absolute;
	z-index: 4;
	top: 50%;
	display: grid;
	width: min(3.25cqi, 4.09svh);
	height: min(3.25cqi, 4.09svh);
	padding: 0;
	border: min(0.11cqi, 0.14svh) solid #e2ad00;
	border-radius: 50%;
	place-items: center;
	background: #050505;
	color: #e2ad00;
	cursor: pointer;
	transform: translateY(-50%);
}

.project-arrow span {
	width: min(0.7cqi, 0.88svh);
	height: min(0.7cqi, 0.88svh);
	border-top: min(0.09cqi, 0.11svh) solid currentColor;
	border-right: min(0.09cqi, 0.11svh) solid currentColor;
	font-size: 0;
}

.project-arrow--previous {
	left: -2.7cqi;
}

.project-arrow--previous span {
	transform: translateX(0.13cqi) rotate(-135deg);
}

.project-arrow--next {
	right: -1.6cqi;
}

.project-arrow--next span {
	transform: translateX(-0.13cqi) rotate(45deg);
}

.project-arrow:focus-visible {
	outline: 3px solid #050505;
	outline-offset: 3px;
}

.project-arrow:disabled {
	cursor: default;
	opacity: 1;
}

.projects-ribbon {
	position: absolute;
	z-index: 5;
	top: 92.3svh;
	left: 3.67cqi;
	right: 2.62cqi;
	display: block;
	width: auto;
	height: 5.47svh;
	min-height: 0;
	margin: 0;
	padding: 0;
	border-color: rgba(200, 146, 0, 0.68);
	border-radius: min(0.3cqi, 0.38svh);
	font-family: "Roboto Condensed Local", var(--font-condensed);
	font-size: clamp(1rem, min(1.72cqi, 2.16svh), 2.65rem);
	font-weight: 400;
	letter-spacing: 0.16em;
}

.projects-ribbon span {
	position: absolute;
	top: 2px;
	display: grid;
	height: 100%;
	place-items: center;
	transform: translateX(-50%);
}

.projects-ribbon span:nth-of-type(1) {
	left: 23.23%;
}

.projects-ribbon span:nth-of-type(2) {
	left: 49.78%;
}

.projects-ribbon span:nth-of-type(3) {
	left: 76.58%;
}

.projects-ribbon i {
	position: absolute;
	top: 50%;
	width: 1px;
	height: 3svh;
	transform: translateY(-50%);
}

.projects-ribbon i:nth-of-type(1) {
	left: 36.3%;
}

.projects-ribbon i:nth-of-type(2) {
	left: 63.7%;
}

/* Contact */
.contact-section {
	display: block;
	height: 100svh;
	min-height: 0;
	padding: 0;
	background: #f7eee3;
	container-type: size;
}

.contact-layout {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(100cqi, 126.545cqh);
	aspect-ratio: 2355 / 1861;
	font-family: "Roboto Condensed Local", var(--font-condensed);
	transform: translate(-50%, -50%);
}

.contact-copy {
	position: absolute;
	z-index: 2;
	left: 3.74%;
	top: 7.86%;
	width: 23%;
}

.contact-copy .section-number {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	margin: -1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

.contact-copy h2 {
	margin: 0;
	font-size: 4.15cqi;
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.contact-copy h2 span,
.contact-intro {
	color: #cc8d00;
}

.contact-copy-rule {
	display: block;
	width: 4.02cqi;
	height: 0.12cqi;
	margin-top: 2.05cqi;
	background: #cc8d00;
}

.contact-copy p {
	width: max-content;
	max-width: none;
	margin-bottom: 0;
}

.contact-copy .contact-intro {
	margin-top: 1.1cqi;
	font-size: 2.8cqi;
	line-height: 1.22;
	transform: scaleX(1.075);
	transform-origin: left top;
}

.contact-copy .contact-description {
	margin-top: 1.5cqi;
	font-size: 1.42cqi;
	line-height: 1.62;
	transform: scaleX(1.04);
	transform-origin: left top;
}

.contact-visual {
	position: absolute;
	z-index: 1;
	left: 25.9%;
	top: 0;
	display: block;
	width: 74.1%;
	height: 44.06%;
	margin: 0;
	overflow: hidden;
}

.contact-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: fill;
}

.contact-grid {
	position: absolute;
	z-index: 3;
	left: 3.4%;
	top: 45.8%;
	display: grid;
	width: 66.4%;
	height: 17.2%;
	grid-template-columns: 21.8% 25.2% 26.1% 26.9%;
	margin: 0;
	padding: 0;
	font-style: normal;
}

.contact-grid > div {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 6.1cqi 0.5cqi 0 3.15cqi;
	border-right: 0.055cqi solid rgba(204, 141, 0, 0.62);
}

.contact-grid > div:last-child {
	border-right: 0;
}

.contact-grid > div:nth-child(2) {
	padding-left: 3.9cqi;
}

.contact-grid > div:nth-child(3),
.contact-grid > div:nth-child(4) {
	padding-left: 3.45cqi;
}

.contact-grid img {
	position: absolute;
	top: 0.4cqi;
	width: 3.55cqi;
	height: 4.1cqi;
	object-fit: contain;
}

.contact-grid > div:nth-child(1) img {
	left: 2.55cqi;
	transform: translate(-0.17cqi, 0.24cqi) scale(1.68, 1.51);
}

.contact-grid > div:nth-child(2) img {
	left: 4.95cqi;
	width: 4cqi;
	height: 4cqi;
	transform: translate(0.21cqi, 0.28cqi) scale(1.25, 1.32);
}

.contact-grid > div:nth-child(3) img {
	left: 3.5cqi;
	width: 4.05cqi;
	height: 3.25cqi;
	transform: translate(0.24cqi, 0.78cqi) scale(1.57);
}

.contact-grid > div:nth-child(4) img {
	left: 3.15cqi;
	width: 3.8cqi;
	height: 3.8cqi;
	padding: 0;
	background: transparent;
	transform: translate(0.3cqi, 0.2cqi) scale(1.3);
}

.contact-grid strong {
	color: #cc8d00;
	font-size: 1.28cqi;
	text-transform: uppercase;
}

.contact-grid span,
.contact-grid a {
	display: block;
	min-width: 0;
	font-size: 1.17cqi;
	line-height: 1.5;
	text-decoration: none;
}

.contact-grid a:hover,
.contact-grid a:focus-visible {
	text-decoration: underline;
}

.contact-cta {
	position: absolute;
	z-index: 3;
	left: 3.4%;
	top: 65.4%;
	display: flex;
	width: 44.5%;
	height: 8.65%;
	align-items: center;
	gap: 2.1cqi;
	padding: 0;
	font-size: 1.45cqi;
	line-height: 1.15;
	text-decoration: none;
}

.contact-qr {
	width: 6.8cqi;
	height: 6.8cqi;
	object-fit: contain;
}

.contact-cta-title {
	font-size: 1.95cqi;
}

.contact-cta-title strong {
	color: #cc8d00;
}

.contact-cta > i {
	width: 0.055cqi;
	height: 5.2cqi;
	background: #cc8d00;
}

.contact-cta-description {
	font-size: 1.19cqi;
	line-height: 1.55;
}

.contact-cta .round-arrow {
	width: 4.45cqi;
	height: 4.45cqi;
	font-size: 2.5cqi;
}

.contact-projects {
	position: absolute;
	z-index: 2;
	left: 1.7%;
	top: 76.2%;
	display: grid;
	width: 96.6%;
	height: 16.8%;
	grid-template-columns: 15% 15.55% 16.05% 16.78% 16.83% 16.78%;
	gap: 0.58%;
}

.contact-projects article {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.contact-projects img {
	width: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.contact-projects strong,
.contact-projects span {
	display: block;
}

.contact-projects strong {
	margin-top: 0.7cqi;
	color: #cc8d00;
	font-size: 1.12cqi;
	text-transform: uppercase;
}

.contact-projects span {
	margin-top: 0.25cqi;
	font-size: 1.03cqi;
}

.site-footer {
	position: absolute;
	z-index: 2;
	left: 3.4%;
	top: 94.35%;
	display: flex;
	width: 93.2%;
	height: 4.4%;
	align-items: center;
	justify-content: space-between;
	gap: 1cqi;
	margin: 0;
	padding: 0;
	background: transparent;
	color: #111;
	font-size: 1.38cqi;
	font-weight: 400;
	letter-spacing: 0.19em;
	text-transform: uppercase;
}

.site-footer i {
	width: 0.055cqi;
	height: 1.45cqi;
	background: #cc8d00;
}

.site-footer em {
	color: #cc8d00;
	font-style: normal;
}

/* Straffe Sites credit (issue straffesites-moonshot#93) */
.site-credit {
	margin: 0 0 0 var(--sidebar);
	padding: 1.1rem var(--page-pad);
	background: var(--cream);
	color: var(--ink);
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
	opacity: 0.7;
}

.site-credit a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.site-credit a:hover,
.site-credit a:focus-visible {
	color: var(--accent-dark);
}

@media (max-width: 62rem) {
	.site-credit {
		margin-left: 0;
	}
}

/* Progressive motion */
.js.motion-ok .reveal {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 700ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js.motion-ok .reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Mid-sized desktop / tablet landscape */
@media (max-width: 78rem) {
	:root {
		--sidebar: 15.5rem;
		--page-pad: clamp(1.5rem, 3vw, 3rem);
	}

	.brand-mark {
		font-size: 3.2rem;
	}

	.sidebar-nav a {
		min-height: 2.65rem;
		grid-template-columns: 2.7rem 1fr;
		padding-left: 1.6rem;
		font-size: 0.74rem;
	}

	.hero-section,
	.architecture-section,
	.global-section,
	.partnership-section,
	.contact-section {
		grid-template-columns: minmax(17rem, 0.72fr) minmax(28rem, 1.28fr);
	}


	.benefit-row article {
		padding-inline: 0.6rem;
	}

	.independence-section {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.independence-grid article {
		min-height: 17rem;
	}

	.independence-grid .icon {
		margin: 1.5rem 0 2rem;
	}

	.calsil-section {
		grid-template-columns: minmax(25rem, 1.1fr) minmax(20rem, 0.9fr);
	}
}

/* Mobile/tablet navigation */
@media (max-width: 62rem) {
	html {
		scroll-padding-top: 4.5rem;
	}

	.sidebar {
		display: none;
	}

	.mobile-header {
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		display: flex;
		width: 100%;
		height: 4.5rem;
		align-items: center;
		justify-content: space-between;
		padding: 0 1.25rem;
		background: #030303;
		color: #fff;
	}

	.mobile-brand {
		font-family: var(--font-condensed);
		font-size: 2.3rem;
		font-weight: 800;
		letter-spacing: -0.06em;
		line-height: 1;
		text-decoration: none;
	}

	.mobile-menu summary {
		display: flex;
		min-width: 5rem;
		min-height: 2.8rem;
		align-items: center;
		justify-content: flex-end;
		gap: 0.75rem;
		cursor: pointer;
		font-size: 0.8rem;
		list-style: none;
		text-transform: uppercase;
	}

	.mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.mobile-menu summary i,
	.mobile-menu summary i::before,
	.mobile-menu summary i::after {
		display: block;
		width: 1.5rem;
		height: 0.1rem;
		background: var(--accent);
		content: "";
		transition: transform 180ms ease, opacity 180ms ease;
	}

	.mobile-menu summary i {
		position: relative;
	}

	.mobile-menu summary i::before {
		position: absolute;
		top: -0.45rem;
	}

	.mobile-menu summary i::after {
		position: absolute;
		top: 0.45rem;
	}

	.mobile-menu[open] summary i {
		background: transparent;
	}

	.mobile-menu[open] summary i::before {
		top: 0;
		transform: rotate(45deg);
	}

	.mobile-menu[open] summary i::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.mobile-menu:not([open]) nav {
		display: none;
	}

	.mobile-menu nav {
		position: fixed;
		inset: 4.5rem 0 0;
		display: grid;
		align-content: center;
		padding: 1.5rem;
		background: rgba(3, 3, 3, 0.98);
		overflow-y: auto;
	}

	.mobile-menu nav a {
		display: flex;
		min-height: 3.25rem;
		align-items: center;
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.25);
		font-family: var(--font-condensed);
		font-size: clamp(1rem, 4vw, 1.35rem);
		text-decoration: none;
		text-transform: uppercase;
	}

	main {
		margin-left: 0;
		padding-top: 4.5rem;
	}

	.chapter {
		min-height: auto;
		padding-top: clamp(4.5rem, 10vw, 7rem);
		padding-bottom: clamp(4.5rem, 10vw, 7rem);
	}

	.hero-section,
	.engineering-section,
	.independence-section,
	.architecture-section,
	.calsil-section,
	.global-section,
	.partnership-section,
	.contact-section {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 2.5rem;
	}

	.hero-copy,
	.section-copy,
	.independence-copy,
	.calsil-copy,
	.contact-copy {
		max-width: 39rem;
	}

	.hero-section {
		padding-top: 3rem;
	}

	.hero-visual {
		grid-row: 2;
		margin: -3rem -8rem -2rem 2rem;
	}

	.benefit-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}

	.benefit-row article {
		min-height: 7rem;
		padding: 1rem;
		border-right: 0;
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.4);
	}

	.benefit-row article:nth-child(odd) {
		border-right: 0.08rem solid rgba(239, 169, 0, 0.4);
	}

	.benefit-row article:first-child {
		padding-left: 1rem;
	}

	.benefit-row article:last-child {
		grid-column: 1 / -1;
		border-right: 0;
	}

	.outline-cta {
		width: 100%;
	}

	.architecture-section .bottom-ribbon,
	.global-section .bottom-ribbon,
	.partnership-section .bottom-ribbon {
		grid-column: 1;
	}


	.engineering-visual,
	.architecture-visual,
	.global-visual,
	.partnership-visual,
	.contact-visual {
		margin: 0;
	}

	.engineering-visual img,
	.architecture-visual img,
	.global-visual img,
	.partnership-visual img,
	.contact-visual img {
		max-height: none;
	}

	.independence-grid {
		grid-template-columns: repeat(3, minmax(17rem, 1fr));
		width: calc(100% + var(--page-pad));
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.independence-grid article {
		scroll-snap-align: start;
	}

	.statement {
		grid-column: 1;
		flex-wrap: wrap;
	}

	.architecture-visual {
		grid-row: 2;
	}

	.benefit-row.slim {
		grid-template-columns: repeat(2, 1fr);
	}

	.calsil-visual {
		min-height: 35rem;
		grid-row: 2;
	}

	.dark-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.role-row {
		grid-column: 1;
		grid-template-columns: repeat(2, 1fr);
	}

	.role-row article:nth-child(2) {
		border-right: 0;
	}

	.role-row article:nth-child(-n+2) {
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.4);
	}

	.project-gallery {
		grid-template-columns: repeat(3, 1fr);
	}

	.contact-visual {
		grid-row: 2;
	}

	.contact-grid,
	.contact-cta,
	.site-footer {
		grid-column: 1;
	}

	.contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-grid > div {
		min-height: 8rem;
		padding: 1rem;
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.45);
	}

	.contact-grid > div:nth-child(2) {
		border-right: 0;
	}

	.contact-grid > div:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.contact-grid > div:first-child {
		padding-left: 1rem;
	}

	.site-footer {
		margin-top: 1rem;
	}
}

@media (max-width: 40rem) {
	:root {
		--page-pad: 1.25rem;
	}

	.chapter h2 {
		font-size: clamp(2.7rem, 14vw, 4.5rem);
	}

	.architecture-section h2 {
		font-size: 11.5vw;
	}

	.calsil-copy h2 {
		font-size: 11.2vw;
		overflow-wrap: normal;
	}

	.hero-logo {
		font-size: clamp(5.4rem, 28vw, 8.5rem);
	}

	.lead-brand {
		margin-top: 1.4rem;
		font-size: 1.25rem;
	}

	.hero-visual {
		margin: -2rem -5rem -1rem 0;
	}

	.benefit-row,
	.benefit-row.slim,
	.dark-row {
		grid-template-columns: 1fr;
	}

	.benefit-row article,
	.benefit-row article:nth-child(odd),
	.benefit-row.slim article {
		min-height: 0;
		padding: 1rem 0;
		border-right: 0;
	}

	.benefit-row article:last-child {
		grid-column: 1;
	}

	.outline-cta {
		min-height: 3.6rem;
		gap: 0.7rem;
		padding: 0.7rem 1rem;
		font-size: 0.73rem;
		letter-spacing: 0.1em;
		text-align: center;
	}


	.bottom-ribbon,
	.site-footer {
		flex-wrap: wrap;
		gap: 0.6rem;
		padding-block: 0.7rem;
	}

	.independence-grid {
		grid-template-columns: repeat(3, 82vw);
	}

	.calsil-visual {
		min-height: 26rem;
	}

	.material-panel {
		inset: 12% 7% 12% 10%;
	}

	.panel-back {
		transform: translate3d(-3rem, 0, -5rem) rotateY(30deg) rotateX(5deg);
	}

	.panel-core {
		transform: translate3d(0, 0, -1rem) rotateY(30deg) rotateX(5deg);
	}

	.panel-face {
		transform: translate3d(3rem, 0, 3rem) rotateY(30deg) rotateX(5deg);
	}

	.steps {
		grid-template-columns: 1fr;
	}

	.role-row {
		grid-template-columns: 1fr;
	}

	.role-row article,
	.role-row article:nth-child(2),
	.role-row article:nth-child(-n+2) {
		border-right: 0;
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.4);
	}

	.role-row article:last-child {
		border-bottom: 0;
	}

	.project-gallery {
		grid-template-columns: repeat(6, minmax(13rem, 1fr));
		width: calc(100% + var(--page-pad));
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.project-gallery article {
		scroll-snap-align: start;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-grid > div,
	.contact-grid > div:nth-child(2),
	.contact-grid > div:nth-last-child(-n+2) {
		min-height: 0;
		padding: 1rem 0;
		border-right: 0;
		border-bottom: 0.08rem solid rgba(239, 169, 0, 0.4);
	}

	.contact-grid > div:first-child {
		padding-left: 0;
	}

	.contact-grid > div:last-child {
		border-bottom: 0;
	}

	.contact-cta {
		justify-content: space-between;
	}
}

/* Architecture: responsive reflow */
@media (max-width: 78rem) {
	.architecture-section {
		display: grid;
		min-height: auto;
		grid-template-columns: 1fr;
		align-content: start;
		gap: 2.5rem;
		padding: clamp(4.5rem, 10vw, 7rem) var(--page-pad) 2rem;
	}

	.architecture-copy {
		position: relative;
		top: auto;
		left: auto;
		width: min(100%, 40rem);
	}

	.architecture-copy .section-number {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 1rem;
		clip: auto;
		clip-path: none;
		overflow: visible;
		white-space: normal;
	}

	.architecture-copy h2 {
		width: 100%;
		font-size: clamp(3rem, 12.5cqi, 5.25rem);
		line-height: 1;
		transform: none;
	}

	.architecture-rule {
		width: 4.5rem;
		height: 0.28rem;
		margin-top: 1.75rem;
	}

	.architecture-copy .architecture-intro {
		margin-top: 1.75rem;
		font-size: clamp(1rem, 2.8cqi, 1.2rem);
		line-height: 1.65;
	}

	.architecture-intro br {
		display: initial;
	}

	.architecture-features {
		width: 100%;
		gap: 1.2rem;
		margin: 2rem 0 0;
	}

	.architecture-technical-cta {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 1.75rem;
	}

	.architecture-features li {
		grid-template-columns: 4.5rem 1fr;
		gap: 0.8rem;
	}

	.architecture-features li:nth-child(4) {
		margin-top: 0;
	}

	.architecture-features img {
		width: 4.25rem;
		transform: none;
	}

	.architecture-features li > span {
		width: auto;
		padding-top: 0.65rem;
		transform: none;
	}

	.architecture-features strong,
	.architecture-benefits strong {
		font-size: 0.95rem;
	}

	.architecture-features li > span > span,
	.architecture-benefits span {
		font-size: 0.9rem;
		line-height: 1.55;
	}

	.architecture-visual {
		position: relative;
		top: auto;
		right: auto;
		width: calc(100% + (var(--page-pad) * 2));
		height: auto;
		margin: 0 calc(var(--page-pad) * -1);
		overflow: hidden;
	}

	.architecture-visual img {
		width: 100%;
		height: auto;
		max-width: 100%;
	}

	.architecture-benefits {
		position: static;
		display: grid;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		background: transparent;
	}

	.architecture-benefits article,
	.architecture-benefits article:nth-child(1),
	.architecture-benefits article:nth-child(2),
	.architecture-benefits article:nth-child(3),
	.architecture-benefits article:nth-child(4) {
		column-gap: 0.9rem;
		padding: 1.25rem;
		border-bottom: 1px solid rgba(230, 157, 6, 0.52);
	}

	.architecture-benefits article:nth-child(odd) {
		border-right: 1px solid rgba(230, 157, 6, 0.52);
	}

	.architecture-benefits article::after {
		display: none;
	}

	.architecture-benefits article:nth-child(1) > img,
	.architecture-benefits article:nth-child(2) > img,
	.architecture-benefits article:nth-child(3) > img,
	.architecture-benefits article:nth-child(4) > img {
		width: 4.5rem;
	}

	.architecture-benefits article > div {
		padding-top: 0.7rem;
	}

	.architecture-ribbon {
		position: static;
		width: 100%;
		height: 3.8rem;
		grid-template-columns: 1fr 1px 1.15fr 1px 1.5fr;
		font-size: clamp(0.62rem, 1.8cqi, 0.8rem);
	}

	.architecture-ribbon i {
		height: 1rem;
	}
}

@media (max-width: 40rem) {
	.architecture-copy h2 {
		font-size: clamp(2.75rem, 13.5cqi, 4.25rem);
	}

	.architecture-benefits {
		grid-template-columns: 1fr;
	}

	.architecture-benefits article,
	.architecture-benefits article:nth-child(odd) {
		border-right: 0;
	}

	.architecture-ribbon {
		height: auto;
		grid-template-columns: 1fr;
		padding-block: 0.35rem;
	}

	.architecture-ribbon span {
		min-height: 2rem;
	}

	.architecture-ribbon i {
		display: none;
	}
}

/* Engineering: responsive reflow */
@media (max-width: 78rem) {
	.engineering-section {
		display: grid;
		min-height: auto;
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
		gap: 2.5rem;
		padding: clamp(4.5rem, 10vw, 7rem) var(--page-pad) 2rem;
		overflow: hidden;
	}

	.engineering-copy,
	.engineering-visual,
	.engineering-outcomes {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
	}

	.engineering-copy {
		width: min(100%, 40rem);
	}

	.technical-cta__series {
		font-size: 0.62rem;
	}

	.technical-cta strong {
		font-size: 0.78rem;
	}

	.technical-cta__arrow {
		font-size: 1.1rem;
	}

	.engineering-copy .section-number {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 1rem;
		clip: auto;
		clip-path: none;
		overflow: visible;
		white-space: normal;
	}

	.engineering-copy h2 {
		top: auto;
		font-size: clamp(3.2rem, 10cqi, 5.2rem);
		line-height: 1.08;
		transform: none;
	}

	.engineering-copy h2 span {
		left: auto;
		transform: none;
	}

	.engineering-rule {
		width: 4.75rem;
		height: 0.25rem;
		margin-top: 1.75rem;
	}

	.engineering-copy .engineering-lead,
	.engineering-copy .engineering-description {
		font-size: clamp(1rem, 2.4cqi, 1.15rem);
		line-height: 1.65;
		white-space: normal;
		transform: none;
	}

	.engineering-copy .engineering-lead {
		margin-top: 1.75rem;
	}

	.engineering-copy .engineering-description {
		margin-top: 1.25rem;
	}

	.engineering-features {
		position: static;
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
		margin-top: 2rem;
	}

	.engineering-technical-cta {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 1.75rem;
	}

	.engineering-features article,
	.engineering-features article:last-child {
		position: static;
		display: grid;
		min-height: 9rem;
		grid-template-columns: 5.5rem minmax(0, 1fr);
		column-gap: 1rem;
		padding: 1.25rem;
		border: 1px solid rgba(200, 146, 0, 0.55);
	}

	.engineering-features img {
		width: 5.5rem;
	}

	.engineering-features article > div,
	.engineering-features article:last-child > div {
		position: static;
		left: auto;
		padding-top: 0.65rem;
	}

	.engineering-features strong,
	.engineering-features span,
	.engineering-features article:last-child strong,
	.engineering-features article:last-child span {
		position: static;
		left: auto;
		font-size: clamp(0.88rem, 1.7cqi, 1.05rem);
		transform: none;
	}

	.engineering-features span,
	.engineering-features article:last-child span {
		margin-top: 0.4rem;
		line-height: 1.5;
	}

	.engineering-visual {
		width: calc(100% + (var(--page-pad) * 2));
		height: auto;
		margin: 0 calc(var(--page-pad) * -1);
	}

	.engineering-visual img {
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: contain;
	}

	.engineering-outcomes {
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 0;
		padding: 0;
		border: 1px solid rgba(200, 146, 0, 0.55);
		clip: auto;
		clip-path: none;
		overflow: visible;
		white-space: normal;
		list-style: none;
	}

	.engineering-outcomes li {
		padding: 1rem;
		border-right: 1px solid rgba(200, 146, 0, 0.55);
		font-family: "Roboto Condensed Local", var(--font-condensed);
		font-weight: 700;
		text-align: center;
		text-transform: uppercase;
	}

	.engineering-outcomes li:last-child {
		border-right: 0;
	}
}

@media (max-width: 40rem) {
	.engineering-section {
		gap: 2rem;
		padding-top: 5.5rem;
	}

	.engineering-copy h2 {
		font-size: clamp(2.85rem, 13cqi, 4.25rem);
	}

	.engineering-features {
		grid-template-columns: 1fr;
	}

	.engineering-features article,
	.engineering-features article:last-child {
		min-height: 8rem;
		grid-template-columns: 4.75rem minmax(0, 1fr);
		padding: 1rem;
	}

	.engineering-features img {
		width: 4.75rem;
	}

	.engineering-outcomes {
		grid-template-columns: 1fr;
	}

	.engineering-outcomes li {
		border-right: 0;
		border-bottom: 1px solid rgba(200, 146, 0, 0.55);
	}

	.engineering-outcomes li:last-child {
		border-bottom: 0;
	}

	.technical-cta {
		width: 100%;
	}

	.technical-cta strong {
		white-space: normal;
	}
}

/* Compact sidebar desktop: CalSil needs a single-column flow. */
@media (min-width: 62.01rem) and (max-width: 68rem) {
	.calsil-section {
		min-height: auto;
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
		gap: 2.5rem;
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.calsil-copy {
		max-width: 39rem;
		grid-row: 1;
	}

	.calsil-visual {
		min-height: 35rem;
		grid-row: 2;
	}
}

/* Keep the Architecture CTA inside the narrow desktop spacer band. */
@media (min-width: 78.01rem) and (max-height: 55rem) {
	.architecture-technical-cta {
		top: 69svh;
		min-height: 1.5rem;
		grid-template-areas: "label arrow";
		grid-template-columns: auto auto;
		column-gap: 0.7rem;
		padding: 0.12rem 0.15rem 0.18rem 0;
		border-top: 0;
	}

	.architecture-technical-cta .technical-cta__series {
		display: none;
	}
}

/* Projects: responsive reflow */
@media (max-width: 78rem) {
	.projects-section {
		display: grid;
		min-height: auto;
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
		gap: 2.5rem;
		padding: clamp(4.5rem, 10vw, 7rem) var(--page-pad) 2rem;
	}

	.projects-copy,
	.projects-values,
	.projects-visual,
	.projects-film,
	.projects-gallery-shell,
	.projects-ribbon {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
	}

	.projects-copy {
		width: min(100%, 40rem);
	}

	.projects-copy .section-number {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 1rem;
		clip: auto;
		clip-path: none;
		overflow: visible;
		white-space: normal;
	}

	.projects-copy h2 {
		left: auto;
		font-size: clamp(3.25rem, 12cqi, 5.5rem);
		line-height: 1;
		transform: none;
	}

	.projects-copy h2 span {
		top: auto;
		left: auto;
		transform: none;
	}

	.projects-rule {
		width: 4.5rem;
		height: 0.28rem;
		margin-top: 1.75rem;
	}

	.projects-copy .projects-intro {
		left: auto;
		margin-top: 1.75rem;
		font-size: clamp(2rem, 5.5cqi, 3.1rem);
		transform: none;
	}

	.projects-copy .projects-description {
		margin-top: 1.75rem;
		font-size: clamp(1rem, 2.4cqi, 1.15rem);
		line-height: 1.65;
		transform: none;
	}

	.projects-values {
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.projects-values article,
	.projects-values article:nth-child(2),
	.projects-values article:nth-child(3),
	.projects-values article:nth-child(4) {
		min-height: 8.5rem;
		grid-template-columns: 5rem 1fr;
		column-gap: 1rem;
		padding: 1rem;
		border-bottom: 1px solid rgba(200, 146, 0, 0.5);
	}

	.projects-values article:nth-child(odd) {
		border-right: 1px solid rgba(200, 146, 0, 0.5);
	}

	.projects-values article::after {
		display: none;
	}

	.projects-values img,
	.projects-values article:last-child img {
		width: 5rem;
		transform: none;
	}

	.projects-values article > div,
	.projects-values article:first-child > div {
		position: static;
		left: auto;
		padding-top: 0.7rem;
	}

	.projects-values strong,
	.projects-values span,
	.projects-values article:last-child strong,
	.projects-values article:last-child span {
		white-space: normal;
		transform: none;
	}

	.projects-values strong {
		font-size: 0.95rem;
	}

	.projects-values span {
		margin-top: 0.35rem;
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.projects-visual {
		width: calc(100% + (var(--page-pad) * 2));
		height: auto;
		margin: 0 calc(var(--page-pad) * -1);
		overflow: hidden;
	}

	.projects-visual img {
		width: 100%;
		height: auto;
		max-width: 100%;
	}

	.projects-film {
		right: auto;
		width: min(100%, 22rem);
		height: auto;
		justify-self: center;
	}

	.projects-gallery-shell {
		width: 100%;
		height: clamp(23rem, 48vw, 30rem);
	}

	.project-gallery {
		width: 100%;
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(17rem, 42%);
		gap: 1rem;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.project-gallery::-webkit-scrollbar {
		display: none;
	}

	.project-gallery article {
		grid-template-rows: minmax(0, 1fr) 7rem;
		border-radius: 0.35rem;
		scroll-snap-align: start;
	}

	.project-gallery img {
		object-fit: cover;
	}

	.project-gallery div {
		padding: 1rem 1.1rem 0;
	}

	.project-gallery strong {
		font-size: 1.15rem;
	}

	.project-gallery span {
		margin-top: 0.35rem;
		font-size: 1rem;
	}

	.project-arrow {
		width: 3.25rem;
		height: 3.25rem;
		border-width: 2px;
	}

	.project-arrow span {
		width: 0.75rem;
		height: 0.75rem;
		border-width: 2px;
	}

	.project-arrow--previous {
		left: -1.5rem;
	}

	.project-arrow--previous span {
		transform: translateX(0.12rem) rotate(-135deg);
	}

	.project-arrow--next {
		right: -1.5rem;
	}

	.project-arrow--next span {
		transform: translateX(-0.12rem) rotate(45deg);
	}

	.projects-ribbon {
		display: grid;
		width: 100%;
		height: 4rem;
		grid-template-columns: 1fr 1px 1fr 1px 1fr;
		font-size: clamp(0.72rem, 1.7cqi, 0.95rem);
		letter-spacing: 0.13em;
	}

	.projects-ribbon span,
	.projects-ribbon span:nth-of-type(1),
	.projects-ribbon span:nth-of-type(2),
	.projects-ribbon span:nth-of-type(3) {
		position: static;
		display: grid;
		height: 100%;
		place-items: center;
		transform: none;
	}

	.projects-ribbon i,
	.projects-ribbon i:nth-of-type(1),
	.projects-ribbon i:nth-of-type(2) {
		position: static;
		width: 1px;
		height: 1.5rem;
		align-self: center;
		transform: none;
	}
}

@media (max-width: 40rem) {
	.projects-section {
		gap: 2rem;
		padding-top: 5.5rem;
	}

	.projects-copy h2 {
		font-size: clamp(3rem, 14cqi, 4.5rem);
	}

	.projects-copy .projects-intro {
		font-size: clamp(1.85rem, 9cqi, 2.6rem);
	}

	.projects-values {
		grid-template-columns: 1fr;
	}

	.projects-values article,
	.projects-values article:nth-child(odd) {
		min-height: 7.5rem;
		border-right: 0;
	}

	.projects-values article:last-child {
		border-bottom: 0;
	}

	.projects-gallery-shell {
		height: 28rem;
	}

	.project-gallery,
	.project-gallery:focus-visible {
		width: 100%;
		outline-offset: -2px;
	}

	.project-gallery {
		grid-auto-columns: minmax(16rem, 82vw);
	}

	.project-arrow--previous {
		left: 0.5rem;
	}

	.project-arrow--next {
		right: 0.5rem;
	}

	.projects-ribbon {
		height: auto;
		grid-template-columns: 1fr;
		padding-block: 0.4rem;
	}

	.projects-ribbon span,
	.projects-ribbon span:nth-of-type(1),
	.projects-ribbon span:nth-of-type(2),
	.projects-ribbon span:nth-of-type(3) {
		min-height: 2.4rem;
	}

	.projects-ribbon i,
	.projects-ribbon i:nth-of-type(1),
	.projects-ribbon i:nth-of-type(2) {
		display: none;
	}
}

@media (max-width: 62rem) {
	.hero-section {
		--home-gutter: clamp(1.5rem, 5vw, 4rem);
		display: grid;
		height: auto;
		min-height: calc(100svh - 4.5rem);
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding: clamp(5.5rem, 10vw, 6.5rem) var(--home-gutter) clamp(4rem, 8vw, 6rem);
	}

	.hero-copy {
		position: relative;
		z-index: 2;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		max-width: none;
		padding: 0;
	}

	.eyebrow.plain,
	.hero-logo,
	.lead-brand,
	.hero-copy .intro {
		position: static;
		width: auto;
		max-width: none;
		transform: none;
		white-space: normal;
	}

	.eyebrow.plain {
		font-size: clamp(2rem, 6vw, 3.5rem);
		line-height: 1.05;
	}

	.hero-logo {
		margin-top: clamp(0.35rem, 1.5vw, 0.8rem);
		font-size: clamp(6rem, 21vw, 12rem);
		line-height: 0.9;
		white-space: nowrap;
	}

	.lead-brand {
		margin-top: clamp(1.75rem, 5vw, 3rem);
		font-size: clamp(1.2rem, 4.2vw, 2rem);
		line-height: 1.25;
	}

	.hero-copy .intro {
		max-width: 40rem;
		margin-top: clamp(1.75rem, 4vw, 2.5rem);
		font-size: clamp(1.15rem, 3.6vw, 1.6rem);
		line-height: 1.55;
	}

	.home-reference-break {
		display: none;
	}

	.hero-map-extension {
		display: none;
	}

	.hero-visual {
		position: relative;
		z-index: 1;
		inset: auto;
		grid-column: 1;
		grid-row: 2;
		justify-self: end;
		width: min(62rem, calc(100% + 18vw));
		margin: clamp(1.75rem, 5vw, 3rem) calc(-1 * var(--home-gutter)) 0 0;
	}

	.hero-section .benefit-row {
		position: static;
		grid-column: 1;
		grid-row: 3;
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: clamp(2.5rem, 6vw, 4rem);
		padding: 0;
		border-top: 1px solid var(--accent);
	}

	.hero-section .benefit-row article,
	.hero-section .benefit-row article:nth-child(n) {
		display: grid;
		min-width: 0;
		grid-template-columns: clamp(3.5rem, 8vw, 5rem) minmax(0, 1fr);
		gap: clamp(1rem, 2.5vw, 1.5rem);
		align-items: start;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border-right: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
	}

	.hero-section .benefit-row article:nth-child(odd):not(:last-child) {
		border-right: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
	}

	.hero-section .benefit-row article:last-child {
		grid-column: 1 / -1;
		border-bottom: 0;
	}

	.hero-section .benefit-row article:nth-child(n) img {
		width: 100%;
		max-width: 5rem;
		margin: 0;
		transform: none;
	}

	.hero-section .benefit-row article > div,
	.hero-section .benefit-row article:first-child > div {
		margin: 0;
	}

	.hero-section .benefit-row strong {
		font-size: clamp(1rem, 2.35vw, 1.2rem);
		line-height: 1.25;
		transform: none;
		white-space: normal;
	}

	.hero-section .benefit-row span,
	.hero-section .benefit-row article:first-child span,
	.hero-section .benefit-row article:nth-child(3) span {
		margin-top: 0.65rem;
		font-size: clamp(0.95rem, 2vw, 1.1rem);
		line-height: 1.55;
		transform: none;
		white-space: normal;
	}

	.outline-cta {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 4;
		width: 100%;
		max-width: 40rem;
		height: auto;
		min-height: 4.5rem;
		margin: clamp(2.5rem, 6vw, 4rem) auto 0;
		padding: 0.85rem 4.5rem 0.85rem 1.5rem;
		border-width: 1px;
		font-size: clamp(1rem, 2.8vw, 1.25rem);
		letter-spacing: 0.13em;
		text-align: center;
	}

	.outline-cta__label {
		transform: none;
	}

	.outline-cta .outline-cta__arrow {
		right: 1.5rem;
		font-size: 2.7rem;
	}
}

@media (max-width: 40rem) {
	.hero-section {
		padding: 5.75rem 1.25rem 3.5rem;
	}

	.eyebrow.plain {
		font-size: clamp(1.9rem, 9vw, 2.5rem);
	}

	.hero-logo {
		font-size: clamp(5.5rem, 26vw, 7rem);
	}

	.lead-brand {
		font-size: clamp(1.1rem, 5.4vw, 1.45rem);
	}

	.hero-copy .intro {
		font-size: clamp(1.05rem, 4.8vw, 1.3rem);
	}

	.hero-visual {
		width: calc(100% + 2.5rem);
		margin-right: -1.25rem;
	}

	.hero-section .benefit-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero-section .benefit-row article,
	.hero-section .benefit-row article:nth-child(n),
	.hero-section .benefit-row article:last-child {
		grid-column: 1;
		grid-template-columns: 4rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.5rem 0;
		border-right: 0;
	}

	.hero-section .benefit-row article:last-child {
		border-bottom: 0;
	}

	.hero-section .benefit-row strong {
		font-size: 1.05rem;
	}

	.hero-section .benefit-row span,
	.hero-section .benefit-row article:first-child span,
	.hero-section .benefit-row article:nth-child(3) span {
		font-size: 0.98rem;
	}

	.outline-cta {
		min-height: 4.25rem;
		padding-inline: 1rem 3.5rem;
		font-size: clamp(0.88rem, 4vw, 1rem);
		letter-spacing: 0.1em;
	}

	.outline-cta .outline-cta__arrow {
		right: 1rem;
		font-size: 2.4rem;
	}
}

/* What is EBOS: responsive document flow */
@media (max-width: 58rem) {
	.what-section {
		display: block;
		height: auto;
		min-height: calc(100svh - 4.5rem);
		padding: clamp(6rem, 12vw, 7.5rem) var(--page-pad) clamp(4rem, 10vw, 6rem);
		container-type: inline-size;
	}

	.what-layout {
		position: relative;
		left: auto;
		top: auto;
		display: grid;
		width: 100%;
		aspect-ratio: auto;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2.5rem, 7vw, 4.5rem);
		transform: none;
	}

	.what-copy,
	.what-features,
	.what-visual,
	.what-disciplines {
		position: static;
		width: 100%;
	}

	.what-copy {
		order: 1;
	}

	.what-copy .section-number {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 1.2rem;
		clip: auto;
		clip-path: none;
		overflow: visible;
		white-space: normal;
	}

	.what-copy h2 {
		font-size: clamp(2.8rem, 9cqi, 4.8rem);
		letter-spacing: -0.045em;
		white-space: normal;
	}

	.what-copy h2 .what-title__prefix,
	.what-copy h2 .what-title__suffix {
		margin-right: 0;
		transform: none;
	}

	.what-copy .intro,
	.what-copy .what-description {
		width: auto;
		max-width: 34rem;
		font-size: clamp(1.05rem, 3cqi, 1.35rem);
		line-height: 1.55;
	}

	.what-copy .intro {
		margin-top: clamp(2rem, 5vw, 3rem);
	}

	.what-copy .what-description {
		margin-top: clamp(1.5rem, 4vw, 2.5rem);
	}

	.what-visual {
		position: relative;
		left: auto;
		top: auto;
		order: 2;
		margin: 0 calc(-1 * var(--page-pad));
		width: calc(100% + var(--page-pad) + var(--page-pad));
	}

	.what-disciplines {
		order: 3;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid rgba(239, 169, 0, 0.65);
		list-style: none;
	}

	.what-disciplines li,
	.what-discipline--system {
		position: static;
		width: auto;
		min-height: 9rem;
		padding: clamp(1.25rem, 3.5vw, 2rem);
		border-right: 1px solid rgba(239, 169, 0, 0.35);
		border-bottom: 1px solid rgba(239, 169, 0, 0.35);
		font-size: clamp(0.95rem, 2.3cqi, 1.1rem);
		line-height: 1.55;
	}

	.what-disciplines li:nth-child(even) {
		border-right: 0;
	}

	.what-disciplines li:last-child {
		grid-column: 1 / -1;
		border-right: 0;
	}

	.what-disciplines strong {
		font-size: clamp(0.85rem, 2cqi, 1rem);
	}

	.what-features {
		position: static;
		order: 4;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
		grid-auto-rows: auto;
		gap: 0;
		border-top: 1px solid rgba(8, 8, 8, 0.18);
	}

	.what-features article {
		min-height: 9rem;
		grid-template-columns: 4rem minmax(0, 1fr);
		gap: 1.25rem;
		align-items: start;
		padding: 1.5rem 0;
		border-bottom: 1px solid rgba(8, 8, 8, 0.14);
	}

	.what-features img,
	.what-features article:nth-child(2) img {
		width: 4rem;
		height: 4.5rem;
		margin-left: 0;
		transform: none;
	}

	.what-features article div {
		padding-top: 0.2rem;
	}

	.what-features strong,
	.what-features span {
		font-size: clamp(0.95rem, 2.2cqi, 1.08rem);
	}

	.what-features span {
		margin-top: 0.55rem;
		line-height: 1.55;
	}
}

@media (max-width: 40rem) {
	.what-section {
		padding-inline: 1.25rem;
	}

	.what-copy h2 {
		font-size: clamp(2.55rem, 12cqi, 3.6rem);
	}

	.what-copy .intro,
	.what-copy .what-description {
		font-size: clamp(1.02rem, 4.8cqi, 1.2rem);
	}

	.what-visual {
		width: calc(100% + 2.5rem);
		margin-inline: -1.25rem;
	}

	.what-disciplines {
		grid-template-columns: minmax(0, 1fr);
	}

	.what-disciplines li,
	.what-disciplines li:last-child {
		grid-column: 1;
		min-height: 0;
		padding: 1.25rem 0;
		border-right: 0;
	}

	.what-features {
		grid-template-columns: minmax(0, 1fr);
	}

	.what-features article {
		min-height: 0;
		padding: 1.35rem 0;
	}
}

/* The Wheel responsive document flow */
@media (max-width: 72rem) {
	.wheel-section {
		height: auto;
		min-height: 100svh;
		padding: clamp(5rem, 9vw, 7rem) var(--page-pad) clamp(4.5rem, 9vw, 7rem);
		container-type: inline-size;
	}

	.wheel-layout {
		position: relative;
		left: auto;
		top: auto;
		display: grid;
		width: 100%;
		aspect-ratio: auto;
		gap: clamp(2rem, 5vw, 3.5rem);
		transform: none;
	}

	.wheel-kicker {
		position: static;
		order: 1;
		gap: clamp(1rem, 3vw, 1.75rem);
	}

	.wheel-kicker i {
		width: clamp(3.5rem, 8cqi, 4.75rem);
		height: clamp(3.5rem, 8cqi, 4.75rem);
		border-width: 0.18rem;
	}

	.wheel-kicker p {
		font-size: clamp(2rem, 6cqi, 3.35rem);
		transform: none;
	}

	.wheel-copy {
		position: static;
		order: 2;
		width: min(100%, 40rem);
	}

	.wheel-copy h2 {
		font-size: clamp(3rem, 8.5cqi, 5.5rem);
		line-height: 1.13;
		transform: none;
	}

	.wheel-copy-rule {
		width: clamp(4rem, 10cqi, 5.25rem);
		height: 0.16rem;
		margin-top: clamp(1.25rem, 3vw, 2rem);
	}

	.wheel-copy > p:not(.section-number) {
		width: auto;
		max-width: 35rem;
		font-size: clamp(1.05rem, 2.5cqi, 1.3rem);
		line-height: 1.65;
	}

	.wheel-copy .wheel-copy__lead {
		margin-top: clamp(1.75rem, 4vw, 2.75rem);
	}

	.wheel-copy .wheel-copy__lead + p,
	.wheel-copy .small-copy {
		margin-top: 1.15rem;
	}

	.wheel-visual {
		position: static;
		order: 3;
		width: calc(100% + (var(--page-pad) * 2));
		margin-inline: calc(var(--page-pad) * -1);
	}

	.wheel {
		position: static;
		order: 4;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		inset: auto;
		border-top: 1px solid rgba(8, 8, 8, 0.18);
		pointer-events: auto;
	}

	.wheel-node {
		position: static;
		display: grid;
		width: auto;
		min-height: 6.75rem;
		aspect-ratio: auto;
		grid-template-columns: 3.4rem minmax(0, 1fr);
		gap: 1rem;
		align-items: center;
		padding: 1rem;
		border-radius: 0;
		border-right: 1px solid rgba(8, 8, 8, 0.14);
		border-bottom: 1px solid rgba(8, 8, 8, 0.14);
		color: var(--ink);
		text-align: left;
	}

	.wheel-node:nth-child(even) {
		border-right: 0;
	}

	.wheel-node::after {
		display: none;
	}

	.wheel-node b,
	.wheel-node span {
		opacity: 1;
	}

	.wheel-node b {
		display: grid;
		width: 3.25rem;
		height: 3.25rem;
		place-items: center;
		border: 0.1rem solid var(--accent);
		border-radius: 50%;
		font-size: 0.75rem;
		font-weight: 650;
	}

	.wheel-node span {
		font-family: var(--font-condensed);
		font-size: clamp(0.85rem, 2.2cqi, 1rem);
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.wheel.is-engaged .wheel-node.is-active {
		background: rgba(239, 169, 0, 0.14);
	}

	.wheel-node:hover,
	.wheel-node:focus-visible {
		background: rgba(239, 169, 0, 0.09);
		outline: 0.13rem solid var(--accent);
		outline-offset: -0.13rem;
	}

	.wheel-detail {
		position: static;
		order: 5;
		display: block;
		width: 100%;
		height: auto;
		padding: clamp(1.25rem, 3vw, 2rem);
		border-left: 0.18rem solid var(--accent);
		margin: 0;
		clip: auto;
		clip-path: none;
		overflow: visible;
		background: rgba(255, 255, 255, 0.34);
		white-space: normal;
	}

	.wheel-detail > span {
		display: block;
		color: var(--muted);
		font-size: 0.68rem;
		letter-spacing: 0.13em;
		text-transform: uppercase;
	}

	.wheel-detail strong {
		display: block;
		margin-top: 0.3rem;
		font-family: var(--font-condensed);
		font-size: clamp(1.3rem, 3.3cqi, 1.7rem);
		text-transform: uppercase;
	}

	.wheel-detail p {
		max-width: 42rem;
		margin: 0.5rem 0 0;
		font-size: 0.9rem;
		line-height: 1.55;
	}

	.wheel-ribbon {
		position: static;
		order: 6;
		width: 100%;
		height: clamp(5.25rem, 11cqi, 6.5rem);
		grid-template-columns: 22% 44% 34%;
		border-width: 1px;
	}

	.wheel-ribbon span {
		font-size: clamp(0.62rem, 1.7cqi, 0.92rem);
		letter-spacing: 0.13em;
		transform: none;
	}

	.wheel-ribbon span + span::before {
		width: 1px;
	}
}

@media (max-width: 40rem) {
	.wheel-section {
		padding-inline: 1.25rem;
	}

	.wheel-layout {
		gap: 2rem;
	}

	.wheel-kicker p {
		font-size: clamp(1.75rem, 8cqi, 2.5rem);
	}

	.wheel-copy h2 {
		font-size: clamp(2.55rem, 13cqi, 4rem);
	}

	.wheel-visual {
		width: calc(100% + 2.5rem);
		margin-inline: -1.25rem;
	}

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

	.wheel-node {
		min-height: 5.6rem;
		border-right: 0;
	}

	.wheel-ribbon {
		height: auto;
		grid-template-columns: minmax(0, 1fr);
	}

	.wheel-ribbon span {
		min-height: 4.25rem;
		font-size: 0.72rem;
	}

	.wheel-ribbon span + span::before {
		left: 8%;
		top: 0;
		width: 84%;
		height: 1px;
	}
}

/* Global Platform responsive document flow */
@media (max-width: 72rem) {
	.global-section {
		height: auto;
		min-height: 100svh;
		padding: clamp(5rem, 9vw, 7rem) var(--page-pad) clamp(4.5rem, 9vw, 7rem);
		container-type: inline-size;
	}

	.global-layout {
		position: relative;
		left: auto;
		top: auto;
		display: grid;
		width: 100%;
		aspect-ratio: auto;
		gap: clamp(2rem, 5vw, 3.75rem);
		transform: none;
	}

	.global-copy {
		position: static;
		order: 1;
		width: min(100%, 42rem);
	}

	.global-copy h2 {
		font-size: clamp(3.5rem, 10cqi, 6.5rem);
		line-height: 0.96;
	}

	.global-copy-rule {
		width: clamp(4rem, 10cqi, 6rem);
		height: 0.16rem;
		margin-top: clamp(1.25rem, 3vw, 2rem);
	}

	.global-copy p {
		width: auto;
		max-width: 39rem;
	}

	.global-copy .global-intro {
		margin-top: clamp(1.75rem, 4vw, 2.75rem);
		font-size: clamp(1.15rem, 2.7cqi, 1.5rem);
		line-height: 1.55;
	}

	.global-copy .global-description {
		margin-top: clamp(1.5rem, 3vw, 2.25rem);
		font-size: clamp(1rem, 2.25cqi, 1.25rem);
		line-height: 1.65;
	}

	.global-top-values {
		position: static;
		order: 2;
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid rgba(8, 8, 8, 0.16);
	}

	.global-top-values article {
		min-height: 10rem;
		grid-template-columns: 4.75rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.5rem;
		border-right: 1px solid rgba(8, 8, 8, 0.16);
		border-bottom: 1px solid rgba(8, 8, 8, 0.16);
	}

	.global-top-values article:first-child {
		padding-left: 1.5rem;
	}

	.global-top-values article:nth-child(even) {
		border-right: 0;
	}

	.global-top-values article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.global-top-values img,
	.global-top-values article:nth-child(4) img {
		width: 4.5rem;
		height: 4.5rem;
	}

	.global-top-values strong {
		font-size: clamp(0.95rem, 2.2cqi, 1.15rem);
	}

	.global-top-values span {
		margin-top: 0.65rem;
		font-size: clamp(0.88rem, 2cqi, 1.05rem);
		line-height: 1.5;
	}

	.global-visual {
		position: static;
		order: 3;
		width: calc(100% + (var(--page-pad) * 2));
		aspect-ratio: 1.62;
		margin-inline: calc(var(--page-pad) * -1);
		overflow: hidden;
	}

	.global-visual img {
		width: 100%;
		height: 100%;
		max-height: none;
		object-fit: cover;
		object-position: 72% center;
	}

	.global-benefits {
		position: static;
		order: 4;
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-width: 1px;
		border-radius: 0.75rem;
	}

	.global-benefits article {
		min-height: 11rem;
		grid-template-columns: 5rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.5rem;
		border-right-width: 1px;
		border-bottom: 1px solid rgba(233, 167, 0, 0.55);
	}

	.global-benefits article:nth-child(even) {
		border-right: 0;
	}

	.global-benefits article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.global-benefits img,
	.global-benefits article:first-child img {
		width: 4.75rem;
		height: 4.75rem;
	}

	.global-benefits strong {
		font-size: clamp(0.95rem, 2.25cqi, 1.15rem);
	}

	.global-benefits span {
		margin-top: 0.65rem;
		font-size: clamp(0.88rem, 2cqi, 1.05rem);
		line-height: 1.5;
	}

	.global-ribbon {
		position: static;
		order: 5;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-radius: 0.65rem;
	}

	.global-ribbon span {
		min-height: 5.25rem;
		font-size: clamp(0.72rem, 1.8cqi, 0.95rem);
		letter-spacing: 0.16em;
	}

	.global-ribbon span + span::before {
		left: 0;
		top: 28%;
		width: 1px;
		height: 44%;
	}

	.global-ribbon span:nth-child(3)::before {
		left: 8%;
		top: 0;
		width: 84%;
		height: 1px;
	}
}

@media (max-width: 40rem) {
	.global-section {
		padding-inline: 1.25rem;
	}

	.global-layout {
		gap: 2rem;
	}

	.global-copy h2 {
		font-size: clamp(3rem, 16cqi, 4.75rem);
	}

	.global-copy .global-intro,
	.global-copy .global-description {
		font-size: clamp(1rem, 4.8cqi, 1.2rem);
	}

	.global-top-values {
		grid-template-columns: minmax(0, 1fr);
	}

	.global-top-values article,
	.global-top-values article:first-child {
		min-height: 0;
		padding: 1.35rem 0;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 8, 8, 0.16);
	}

	.global-top-values article:nth-last-child(2) {
		border-bottom: 1px solid rgba(8, 8, 8, 0.16);
	}

	.global-top-values article:last-child {
		border-bottom: 0;
	}

	.global-visual {
		width: calc(100% + 2.5rem);
		aspect-ratio: 1.42;
		margin-inline: -1.25rem;
	}

	.global-visual img {
		object-position: 70% center;
	}

	.global-benefits {
		grid-template-columns: minmax(0, 1fr);
	}

	.global-benefits article {
		min-height: 0;
		padding: 1.5rem;
		border-right: 0;
		border-bottom: 1px solid rgba(233, 167, 0, 0.55);
	}

	.global-benefits article:nth-last-child(2) {
		border-bottom: 1px solid rgba(233, 167, 0, 0.55);
	}

	.global-benefits article:last-child {
		border-bottom: 0;
	}

	.global-ribbon {
		grid-template-columns: minmax(0, 1fr);
	}

	.global-ribbon span {
		min-height: 4.5rem;
		font-size: 0.75rem;
	}

	.global-ribbon span + span::before,
	.global-ribbon span:nth-child(3)::before {
		left: 8%;
		top: 0;
		width: 84%;
		height: 1px;
	}
}

/* Partnership responsive document flow */
@media (max-width: 72rem) {
	.partnership-section {
		height: auto;
		min-height: 100svh;
		padding: clamp(5rem, 9vw, 7rem) var(--page-pad) clamp(4.5rem, 9vw, 7rem);
		container-type: inline-size;
	}

	.partnership-layout {
		position: relative;
		left: auto;
		top: auto;
		display: grid;
		width: 100%;
		aspect-ratio: auto;
		gap: clamp(2rem, 6vw, 3.5rem);
		transform: none;
	}

	.partnership-copy {
		position: static;
		order: 1;
		width: min(100%, 43rem);
	}

	.partnership-copy h2 {
		font-size: clamp(3.4rem, 9cqi, 6rem);
	}

	.partnership-copy-rule {
		width: clamp(4rem, 11cqi, 6rem);
		height: 3px;
		margin-top: clamp(1.5rem, 4vw, 2.3rem);
	}

	.partnership-copy p {
		width: auto;
		max-width: 36rem;
	}

	.partnership-copy .partnership-intro {
		margin-top: clamp(2rem, 6vw, 3rem);
		font-size: clamp(1.35rem, 3vw, 1.8rem);
		transform: none;
	}

	.partnership-copy .partnership-description {
		margin-top: clamp(1.5rem, 4vw, 2.2rem);
		font-size: clamp(1rem, 2.2vw, 1.25rem);
		line-height: 1.7;
		transform: none;
	}

	.partnership-top-values {
		position: static;
		order: 2;
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid rgba(17, 17, 17, 0.18);
		border-bottom: 1px solid rgba(17, 17, 17, 0.18);
	}

	.partnership-top-values article {
		min-height: 12rem;
		justify-content: center;
		padding: 1.5rem;
		border-right: 1px solid rgba(17, 17, 17, 0.18);
		border-bottom: 1px solid rgba(17, 17, 17, 0.18);
	}

	.partnership-top-values article:nth-child(2n) {
		border-right: 0;
	}

	.partnership-top-values article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.partnership-top-values img {
		left: auto !important;
		width: 4.75rem;
		height: 4.75rem;
		transform: none !important;
	}

	.partnership-top-values strong {
		left: auto !important;
		margin-top: 0.9rem;
		font-size: 1.05rem;
		transform: none;
	}

	.partnership-top-values span {
		left: auto !important;
		margin-top: 0.65rem;
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.partnership-steps {
		position: static;
		order: 3;
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.partnership-steps li {
		min-height: 10.5rem;
		grid-template-columns: 5rem minmax(0, 1fr);
		gap: 1.15rem;
		padding: 1.25rem;
		border-right: 1px solid rgba(215, 149, 0, 0.55);
		border-bottom: 1px solid rgba(215, 149, 0, 0.55);
	}

	.partnership-steps li:nth-child(2n) {
		border-right: 0;
	}

	.partnership-steps li:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.partnership-steps img {
		width: 4.75rem;
		height: 4.75rem;
		transform: none;
	}

	.partnership-steps strong {
		font-size: 1.05rem;
		transform: none;
	}

	.partnership-steps span {
		margin-top: 0.5rem;
		font-size: 0.95rem;
		transform: none;
	}

	.partnership-visual {
		position: static;
		order: 4;
		width: calc(100% + (2 * var(--page-pad)));
		aspect-ratio: 1.6;
		margin-inline: calc(-1 * var(--page-pad));
		overflow: hidden;
	}

	.partnership-visual img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 74% center;
	}

	.partnership-roles {
		position: static;
		order: 5;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-width: 1px;
		border-radius: 0.8rem;
		background: rgba(245, 237, 226, 0.98);
	}

	.partnership-roles article {
		min-height: 12rem;
		grid-template-columns: 5rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.5rem;
		border-right: 1px solid rgba(215, 149, 0, 0.62);
		border-bottom: 1px solid rgba(215, 149, 0, 0.62);
	}

	.partnership-roles article:nth-child(n + 2) {
		grid-template-columns: 5rem minmax(0, 1fr);
	}

	.partnership-roles article + article::before {
		display: none;
	}

	.partnership-roles article:nth-child(2n) {
		border-right: 0;
	}

	.partnership-roles article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.partnership-roles img,
	.partnership-roles article:nth-child(2) img,
	.partnership-roles article:nth-child(3) img,
	.partnership-roles article:nth-child(4) img {
		position: static;
		left: auto;
		top: auto;
		width: 4.75rem;
		height: 5.25rem;
		transform: none;
	}

	.partnership-roles strong {
		font-size: 1.05rem;
	}

	.partnership-roles span {
		font-size: 0.94rem;
	}

	.partnership-ribbon {
		position: static;
		order: 6;
		width: 100%;
		height: auto;
		grid-template-columns: 36.5% 38.2% 25.3%;
		border-radius: 0.75rem;
	}

	.partnership-ribbon span {
		min-height: 6.5rem;
		padding: 1rem;
		font-size: clamp(0.62rem, 1.25vw, 0.9rem);
		letter-spacing: 0.14em;
		text-align: center;
	}

	.partnership-ribbon span + span::before {
		width: 1px;
	}
}

@media (max-width: 40rem) {
	.partnership-section {
		padding-inline: 1.25rem;
		padding-bottom: 4rem;
	}

	.partnership-layout {
		gap: 2rem;
	}

	.partnership-copy h2 {
		font-size: clamp(3rem, 13.5cqi, 4.5rem);
	}

	.partnership-top-values,
	.partnership-steps,
	.partnership-roles,
	.partnership-ribbon {
		grid-template-columns: 1fr;
	}

	.partnership-top-values article,
	.partnership-top-values article:nth-child(2n),
	.partnership-top-values article:nth-last-child(-n + 2) {
		min-height: 10rem;
		border-right: 0;
		border-bottom: 1px solid rgba(17, 17, 17, 0.18);
	}

	.partnership-top-values article:last-child {
		border-bottom: 0;
	}

	.partnership-steps li,
	.partnership-steps li:nth-child(2n),
	.partnership-steps li:nth-last-child(-n + 2) {
		min-height: 8.7rem;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		padding-inline: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(215, 149, 0, 0.55);
	}

	.partnership-steps li:last-child {
		border-bottom: 0;
	}

	.partnership-steps img {
		width: 4.25rem;
		height: 4.25rem;
	}

	.partnership-visual {
		width: calc(100% + 2.5rem);
		aspect-ratio: 1.35;
		margin-inline: -1.25rem;
	}

	.partnership-visual img {
		object-position: 72% center;
	}

	.partnership-roles article,
	.partnership-roles article:nth-child(2n),
	.partnership-roles article:nth-last-child(-n + 2) {
		min-height: 10.5rem;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		border-right: 0;
		border-bottom: 1px solid rgba(215, 149, 0, 0.62);
	}

	.partnership-roles article:last-child {
		border-bottom: 0;
	}

	.partnership-roles img,
	.partnership-roles article:nth-child(2) img,
	.partnership-roles article:nth-child(3) img {
		width: 4.25rem;
		height: 4.75rem;
	}

	.partnership-ribbon span {
		min-height: 4.75rem;
		font-size: 0.72rem;
		letter-spacing: 0.18em;
	}

	.partnership-ribbon span + span::before {
		left: 8%;
		top: 0;
		width: 84%;
		height: 1px;
	}
}

/* Contact responsive document flow */
@media (max-width: 72rem) {
	.contact-section {
		height: auto;
		min-height: 100svh;
		padding: clamp(5rem, 9vw, 7rem) var(--page-pad) clamp(4rem, 8vw, 6rem);
		container-type: inline-size;
		overflow: hidden;
	}

	.contact-layout {
		position: relative;
		left: auto;
		top: auto;
		display: grid;
		width: 100%;
		aspect-ratio: auto;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2.5rem, 6vw, 4rem);
		transform: none;
	}

	.contact-copy {
		position: static;
		order: 1;
		width: min(100%, 43rem);
		opacity: 1 !important;
		pointer-events: auto;
	}

	.contact-copy h2 span,
	.contact-intro,
	.contact-grid strong,
	.contact-cta-title strong,
	.contact-projects strong,
	.site-footer em {
		color: #955f00;
	}

	.contact-copy h2 {
		font-size: clamp(3.4rem, 9cqi, 6rem);
	}

	.contact-copy-rule {
		width: clamp(4rem, 11cqi, 6rem);
		height: 3px;
		margin-top: clamp(1.5rem, 4vw, 2.3rem);
	}

	.contact-copy p {
		width: auto;
		max-width: 37rem;
	}

	.contact-copy .contact-intro {
		margin-top: clamp(2rem, 6vw, 3rem);
		font-size: clamp(1.55rem, 3.6vw, 2.25rem);
		transform: none;
	}

	.contact-copy .contact-description {
		margin-top: clamp(1.5rem, 4vw, 2.2rem);
		font-size: clamp(1rem, 2.2vw, 1.25rem);
		line-height: 1.7;
		transform: none;
	}

	.contact-visual {
		position: static;
		display: block;
		order: 2;
		width: calc(100% + (2 * var(--page-pad)));
		height: auto;
		aspect-ratio: 16 / 8;
		margin: 0 calc(-1 * var(--page-pad));
		overflow: hidden;
	}

	.contact-visual img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 70% center;
	}

	.contact-grid {
		position: static;
		order: 3;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid rgba(17, 17, 17, 0.18);
		border-bottom: 1px solid rgba(17, 17, 17, 0.18);
	}

	.contact-grid > div,
	.contact-grid > div:nth-child(2),
	.contact-grid > div:nth-child(3),
	.contact-grid > div:nth-child(4) {
		display: grid;
		min-height: 13rem;
		grid-template-columns: 4.8rem minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		align-content: center;
		gap: 0.55rem 1.25rem;
		padding: 1.5rem;
		border-right: 1px solid rgba(204, 141, 0, 0.45);
		border-bottom: 1px solid rgba(204, 141, 0, 0.45);
	}

	.contact-grid > div:nth-child(2n) {
		border-right: 0;
	}

	.contact-grid > div:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.contact-grid img,
	.contact-grid > div:nth-child(1) img,
	.contact-grid > div:nth-child(2) img,
	.contact-grid > div:nth-child(3) img,
	.contact-grid > div:nth-child(4) img {
		position: static;
		display: block;
		width: 4.4rem;
		height: 4.4rem;
		grid-row: 1 / 3;
		padding: 0;
		background: transparent;
		object-fit: contain;
	}

	.contact-grid strong,
	.contact-grid span,
	.contact-grid a {
		opacity: 1;
	}

	.contact-grid strong {
		font-size: 1rem;
	}

	.contact-grid span,
	.contact-grid a {
		font-size: 0.95rem;
		line-height: 1.55;
		overflow-wrap: anywhere;
	}

	.contact-cta {
		position: static;
		order: 4;
		display: grid;
		width: 100%;
		height: auto;
		min-height: 11rem;
		grid-template-columns: 8rem minmax(0, 1fr) 1px minmax(0, 1.25fr) 3.5rem;
		gap: clamp(1rem, 3vw, 2rem);
		padding: 1.25rem 0;
		border-top: 1px solid rgba(204, 141, 0, 0.5);
		border-bottom: 1px solid rgba(204, 141, 0, 0.5);
		opacity: 1 !important;
	}

	.contact-cta > * {
		min-width: 0;
	}

	.contact-qr {
		width: 8rem;
		height: 8rem;
	}

	.contact-cta-title {
		font-size: clamp(1.35rem, 3vw, 1.8rem);
	}

	.contact-cta > i {
		width: 1px;
		height: 5rem;
	}

	.contact-cta-description {
		font-size: clamp(0.95rem, 2vw, 1.1rem);
	}

	.contact-cta .round-arrow {
		width: 3.5rem;
		height: 3.5rem;
		font-size: 2rem;
	}

	.contact-projects {
		position: static;
		order: 5;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1rem, 3vw, 1.5rem);
		opacity: 1 !important;
	}

	.contact-projects article {
		padding-bottom: 1rem;
		border-bottom: 1px solid rgba(17, 17, 17, 0.14);
	}

	.contact-projects img {
		width: 100%;
		aspect-ratio: 1.75;
		border-radius: 0.45rem;
		object-fit: cover;
	}

	.contact-projects strong {
		margin-top: 0.8rem;
		font-size: 0.95rem;
	}

	.contact-projects span {
		margin-top: 0.2rem;
		font-size: 0.9rem;
	}

	.site-footer {
		position: static;
		order: 6;
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
		padding: 1.5rem 0;
		border-top: 1px solid rgba(204, 141, 0, 0.5);
		border-bottom: 1px solid rgba(204, 141, 0, 0.5);
		font-size: clamp(0.72rem, 1.5vw, 0.92rem);
		letter-spacing: 0.16em;
		opacity: 1;
	}

	.site-footer span {
		padding: 0.5rem 1rem;
		text-align: center;
	}

	.site-footer em {
		margin-left: 0.45em;
	}

	.site-footer i {
		display: none;
	}
}

@media (max-width: 40rem) {
	.contact-section {
		padding-inline: 1.25rem;
		padding-bottom: 4rem;
	}

	.contact-layout {
		gap: 2.25rem;
	}

	.contact-copy h2 {
		font-size: clamp(3rem, 13.5cqi, 4.5rem);
	}

	.contact-copy .contact-description br {
		display: none;
	}

	.contact-visual {
		width: calc(100% + 2.5rem);
		aspect-ratio: 1.32;
		margin-inline: -1.25rem;
	}

	.contact-visual img {
		object-position: 72% center;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-grid > div,
	.contact-grid > div:nth-child(2),
	.contact-grid > div:nth-child(3),
	.contact-grid > div:nth-child(4),
	.contact-grid > div:nth-last-child(-n + 2) {
		min-height: 9.5rem;
		grid-template-columns: 4.25rem minmax(0, 1fr);
		gap: 0.45rem 1rem;
		padding: 1.25rem 0;
		border-right: 0;
		border-bottom: 1px solid rgba(204, 141, 0, 0.45);
	}

	.contact-grid > div:last-child {
		border-bottom: 0;
	}

	.contact-grid img,
	.contact-grid > div:nth-child(1) img,
	.contact-grid > div:nth-child(2) img,
	.contact-grid > div:nth-child(3) img,
	.contact-grid > div:nth-child(4) img {
		width: 3.9rem;
		height: 3.9rem;
	}

	.contact-cta {
		min-height: 10rem;
		grid-template-columns: 5.5rem minmax(0, 1fr) 3.25rem;
		grid-template-rows: auto auto;
		gap: 0.65rem 1rem;
		padding: 1.25rem 0;
	}

	.contact-qr {
		width: 5.5rem;
		height: 5.5rem;
		grid-row: 1 / 3;
	}

	.contact-cta-title {
		align-self: end;
		font-size: 1.25rem;
	}

	.contact-cta > i {
		display: none;
	}

	.contact-cta-description {
		grid-column: 2;
		align-self: start;
		font-size: 0.85rem;
	}

	.contact-cta .round-arrow {
		width: 3.25rem;
		height: 3.25rem;
		grid-column: 3;
		grid-row: 1 / 3;
	}

	.contact-projects {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.contact-projects img {
		aspect-ratio: 1.7;
	}

	.site-footer {
		grid-template-columns: 1fr;
		padding: 0;
		font-size: 0.78rem;
	}

	.site-footer span {
		min-height: 3.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid rgba(204, 141, 0, 0.35);
	}

	.site-footer span:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 30rem) {
	.contact-projects {
		grid-template-columns: 1fr;
	}
}

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

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

@media print {
	.sidebar,
	.mobile-header,
	.skip-link {
		display: none;
	}

	main {
		margin: 0;
	}

	.chapter {
		min-height: auto;
		break-inside: avoid;
	}
}
