:root {
	--color-warm-white: #f5f1e9;
	--color-paper: #fbf9f4;
	--color-sand: #d8c7ae;
	--color-graphite: #262624;
	--color-charcoal-soft: #5e5b55;
	--color-olive: #69705a;
	--color-olive-deep: #46503d;
	--color-line: #d7d0c4;
	--color-inverse-text: #f5f1e9;
	--color-error: #8a4b3f;

	--font-heading: "Cormorant Garamond", Georgia, serif;
	--font-body: "DM Sans", Arial, sans-serif;

	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.5rem;
	--text-2xl: clamp(2rem, 3vw, 2.125rem);
	--text-3xl: clamp(2.5rem, 5vw, 3.25rem);
	--text-display: clamp(3rem, 7vw, 4.5rem);

	--leading-tight: 0.98;
	--leading-heading: 1.08;
	--leading-body: 1.6;
	--leading-ui: 1.5;

	--weight-regular: 400;
	--weight-medium: 500;
	--weight-semibold: 600;

	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-24: 6rem;
	--space-32: 8rem;

	--container-max: 90rem;
	--container-padding: 3rem;
	--container-padding-tablet: 1.5rem;
	--container-padding-mobile: 1.25rem;

	--surface-base: var(--color-warm-white);
	--surface-paper: var(--color-paper);
	--surface-sand: var(--color-sand);
	--surface-dark: var(--color-graphite);

	--text-primary: var(--color-graphite);
	--text-secondary: var(--color-charcoal-soft);
	--text-inverse: var(--color-inverse-text);

	--border-default: 1px solid var(--color-line);
	--radius-none: 0;
	--radius-sm: 2px;
	--shadow-menu: 0 12px 32px rgba(38, 38, 36, 0.08);

	--transition-fast: 180ms cubic-bezier(0.22, 0.61, 0.36, 1);
	--transition-base: 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

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

html {
	min-width: 320px;
	scroll-behavior: smooth;
	scroll-padding-top: var(--space-16);
	text-size-adjust: 100%;
}

body {
	min-width: 320px;
	min-height: 100vh;
	margin: 0;
	overflow-x: hidden;
	background: var(--surface-base);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-regular);
	line-height: var(--leading-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main,
header,
footer,
section,
article,
aside,
nav,
figure,
form,
fieldset {
	min-width: 0;
}

img,
picture,
svg,
video,
canvas,
iframe {
	display: block;
	max-width: 100%;
}

img,
video {
	height: auto;
}

svg {
	fill: currentColor;
}

iframe {
	width: 100%;
	border: 0;
}

button,
input,
select,
textarea {
	margin: 0;
	color: inherit;
	font: inherit;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
	cursor: not-allowed;
}

textarea {
	min-height: 8rem;
	resize: vertical;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	height: 1px;
	margin: var(--space-8) 0;
	border: 0;
	background: var(--color-line);
}

a {
	color: var(--color-olive-deep);
	text-decoration-color: currentColor;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
	transition:
		color var(--transition-fast),
		text-decoration-color var(--transition-fast);
}

a:hover {
	color: var(--color-graphite);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--color-olive-deep);
	outline-offset: 3px;
}

:target {
	scroll-margin-top: var(--space-16);
}

::selection {
	background: var(--color-sand);
	color: var(--color-graphite);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-weight: var(--weight-medium);
	letter-spacing: -0.02em;
	text-wrap: balance;
}

h1 {
	margin-bottom: var(--space-8);
	font-size: var(--text-display);
	line-height: var(--leading-tight);
}

h2 {
	margin-bottom: var(--space-6);
	font-size: var(--text-3xl);
	line-height: var(--leading-tight);
}

h3 {
	margin-bottom: var(--space-4);
	font-size: var(--text-2xl);
	line-height: var(--leading-heading);
}

h4 {
	margin-bottom: var(--space-4);
	font-size: var(--text-xl);
	line-height: 1.15;
}

h5,
h6 {
	margin-bottom: var(--space-3);
	font-size: var(--text-lg);
	line-height: 1.2;
}

p {
	margin-top: 0;
	margin-bottom: var(--space-6);
}

ul,
ol {
	margin-top: 0;
	margin-bottom: var(--space-6);
	padding-left: 1.25em;
}

li::marker {
	color: var(--color-olive-deep);
}

blockquote {
	margin: 0 0 var(--space-6);
	padding: var(--space-4) 0 var(--space-4) var(--space-6);
	border-left: 1px solid var(--color-olive);
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	line-height: 1.2;
}

figure {
	margin: 0 0 var(--space-6);
}

figcaption {
	margin-top: var(--space-3);
	color: var(--text-secondary);
	font-size: var(--text-xs);
	line-height: 1.4;
}

dl {
	margin: 0 0 var(--space-6);
}

dt {
	font-weight: var(--weight-medium);
}

dd {
	margin: 0 0 var(--space-4);
	color: var(--text-secondary);
}

small {
	font-size: var(--text-xs);
	line-height: 1.4;
}

strong,
b {
	font-weight: var(--weight-semibold);
}

sub,
sup {
	font-size: 0.75em;
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

legend {
	padding: 0;
}

label {
	display: block;
	margin-bottom: var(--space-2);
	color: var(--text-primary);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-ui);
}

input,
select,
textarea {
	width: 100%;
	border: var(--border-default);
	border-radius: var(--radius-sm);
	background: var(--surface-paper);
	color: var(--text-primary);
	line-height: var(--leading-ui);
	transition:
		border-color var(--transition-fast),
		background-color var(--transition-fast);
}

input,
select {
	min-height: 3rem;
	padding: 0.6875rem var(--space-3);
}

textarea {
	padding: 0.6875rem var(--space-3);
}

input::placeholder,
textarea::placeholder {
	color: var(--text-secondary);
	opacity: 0.8;
}

input:hover,
select:hover,
textarea:hover {
	border-color: var(--color-olive);
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
	border-color: var(--color-error);
}

input[type="checkbox"],
input[type="radio"] {
	width: 1.125rem;
	min-width: 1.125rem;
	min-height: 1.125rem;
	padding: 0;
	accent-color: var(--color-olive-deep);
}

input[type="file"] {
	padding: var(--space-2);
}

input[type="file"]::file-selector-button {
	min-height: 2rem;
	margin-right: var(--space-3);
	border: 0;
	background: var(--color-graphite);
	color: var(--color-inverse-text);
	font: inherit;
	font-weight: var(--weight-medium);
	cursor: pointer;
}

.container {
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
	margin-inline: auto;
}

.section {
	padding-block: var(--space-24);
}

.section--compact {
	padding-block: var(--space-16);
}

.section--spacious {
	padding-block: var(--space-32);
}

.surface-paper {
	background: var(--surface-paper);
}

.surface-sand {
	background: var(--surface-sand);
}

.surface-dark {
	background: var(--surface-dark);
	color: var(--text-inverse);
}

.surface-dark :is(h1, h2, h3, h4, h5, h6, label, strong) {
	color: var(--text-inverse);
}

.surface-dark :is(p, small, figcaption, dd) {
	color: var(--color-warm-white);
}

.surface-dark a {
	color: var(--color-warm-white);
}

.surface-dark a:hover {
	color: var(--color-sand);
}

.eyebrow {
	display: block;
	margin-bottom: var(--space-3);
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.surface-dark .eyebrow {
	color: var(--color-sand);
}

.lead {
	margin-bottom: var(--space-8);
	font-size: var(--text-lg);
	line-height: 1.5;
}

.muted {
	color: var(--text-secondary);
}

.stack {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

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

.stack--xs {
	gap: var(--space-1);
}

.stack--sm {
	gap: var(--space-2);
}

.stack--md {
	gap: var(--space-4);
}

.stack--lg {
	gap: var(--space-6);
}

.stack--xl {
	gap: var(--space-8);
}

.stack > :last-child {
	margin-bottom: 0;
}

.cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-width: 0;
	gap: var(--space-3);
}

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

.cluster--sm {
	gap: var(--space-2);
}

.cluster--lg {
	gap: var(--space-6);
}

.button,
.button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 3rem;
	padding: 0.6875rem var(--space-6);
	border: 1px solid transparent;
	border-radius: var(--radius-none);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.button {
	background: var(--color-graphite);
	color: var(--color-inverse-text);
}

.button:hover {
	background: var(--color-olive-deep);
	color: var(--color-inverse-text);
}

.button-secondary {
	border-color: var(--color-graphite);
	background: transparent;
	color: var(--color-graphite);
}

.button-secondary:hover {
	border-color: var(--color-olive-deep);
	background: var(--color-olive-deep);
	color: var(--color-inverse-text);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--color-olive-deep);
	font-weight: var(--weight-medium);
	text-decoration: none;
}

.text-link::after {
	content: "→";
	transition: transform var(--transition-fast);
}

.text-link:hover {
	color: var(--color-graphite);
}

.text-link:hover::after {
	transform: translateX(0.25rem);
}

.form-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-2);
}

.form-field > * {
	min-width: 0;
}

.form-help,
.form-error {
	margin: 0;
	font-size: var(--text-xs);
	line-height: 1.4;
}

.form-help {
	color: var(--text-secondary);
}

.form-error {
	color: var(--color-error);
}

.content-group > :last-child {
	margin-bottom: 0;
}

@media (max-width: 80rem) {
	:root {
		--container-padding: 2rem;
	}
}

@media (max-width: 48rem) {
	:root {
		--container-padding: var(--container-padding-tablet);
	}

	.section {
		padding-block: var(--space-16);
	}

	.section--compact {
		padding-block: var(--space-12);
	}

	.section--spacious {
		padding-block: var(--space-24);
	}
}

@media (max-width: 30rem) {
	:root {
		--container-padding: var(--container-padding-mobile);
	}

	h1 {
		font-size: clamp(2.5rem, 12vw, 3rem);
	}

	h2 {
		font-size: clamp(2rem, 10vw, 2.5rem);
	}

	.section {
		padding-block: var(--space-12);
	}

	.section--compact {
		padding-block: var(--space-8);
	}

	.section--spacious {
		padding-block: var(--space-16);
	}

	.button,
	.button-secondary {
		width: 100%;
	}
}

@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;
	}
}

.site-header {
	position: relative;
	z-index: 100;
	min-height: 5.5rem;
	border-bottom: 1px solid var(--color-line);
	background: var(--surface-base);
}

.site-header__inner {
	display: flex;
	align-items: center;
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
	min-height: 5.5rem;
	margin-inline: auto;
	gap: var(--space-6);
}

.site-header__brand,
.site-footer__brand {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	min-width: 0;
	gap: 0.75rem;
	color: var(--color-graphite);
	font-size: 1.3125rem;
	font-weight: var(--weight-medium);
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.site-header__brand:hover {
	color: var(--color-olive-deep);
}

.site-header__mark {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	object-fit: contain;
}

.site-header__nav {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	gap: clamp(0.875rem, 1.8vw, 1.75rem);
}

.site-header__nav-head,
.site-header__close,
.site-header__nav-cta,
.site-header__toggle,
.site-header__nav-mobile-only {
	display: none;
}

.site-header__nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: clamp(0.75rem, 1.4vw, 1.5rem);
}

.site-header__nav-list li,
.site-header__nav-list .site-header__nav-list a {
	display: block;
	padding-block: 0.5rem;
	color: var(--color-graphite);
	font-size: 0.8125rem;
	font-weight: var(--weight-medium);
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.site-header__nav-list a::after {
	display: block;
	width: 0;
	height: 1px;
	margin-top: 0.25rem;
	background: var(--color-olive-deep);
	content: "";
	transition: width var(--transition-fast);
}

.site-header__nav-list a:hover,
.site-header__nav-list a[aria-current="page"] {
	color: var(--color-olive-deep);
}

.site-header__nav-list a:hover::after,
.site-header__nav-list a[aria-current="page"]::after {
	width: 100%;
}

.site-header__desktop-cta {
	flex: 0 0 auto;
	min-height: 2.75rem;
	padding-inline: 1rem;
	font-size: 0.75rem;
	white-space: nowrap;
}

@media (max-width: 67rem) {
	.site-header {
		min-height: 4.875rem;
	}

	.site-header__inner {
		min-height: 4.875rem;
		justify-content: space-between;
		gap: var(--space-4);
	}

	.site-header__mark {
		width: 2.125rem;
		height: 2.125rem;
	}

	.site-header__brand {
		gap: 0.625rem;
		font-size: 1.125rem;
	}

	.site-header__desktop-cta {
		display: none;
	}

	.site-header__toggle {
		display: inline-flex;
		position: relative;
		flex: 0 0 3rem;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		padding: 0;
		border: 1px solid var(--color-line);
		background: var(--surface-paper);
		color: var(--color-graphite);
	}

	.site-header__toggle-line {
		position: absolute;
		width: 1.25rem;
		height: 1px;
		background: currentColor;
		transition:
			transform var(--transition-base),
			top var(--transition-base);
	}

	.site-header__toggle-line:first-child {
		top: calc(50% - 0.25rem);
	}

	.site-header__toggle-line:last-child {
		top: calc(50% + 0.25rem);
	}

	.site-header__toggle[aria-expanded="true"]
		.site-header__toggle-line:first-child {
		top: 50%;
		transform: rotate(45deg);
	}

	.site-header__toggle[aria-expanded="true"]
		.site-header__toggle-line:last-child {
		top: 50%;
		transform: rotate(-45deg);
	}

	.site-header__nav {
		position: fixed;
		top: 0;
		right: 0;
		display: flex;
		visibility: hidden;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: min(28rem, calc(100vw - 2rem));
		height: 100dvh;
		max-height: 100dvh;
		padding: 1.5rem var(--container-padding-tablet) 2rem;
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--surface-paper);
		box-shadow: var(--shadow-menu);
		opacity: 0;
		transform: translateX(100%);
		transition:
			transform var(--transition-base),
			opacity var(--transition-fast),
			visibility 0s linear var(--transition-base);
	}

	.site-header__nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
		transition:
			transform var(--transition-base),
			opacity var(--transition-fast);
	}

	.site-header__nav-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-bottom: var(--space-6);
		border-bottom: 1px solid var(--color-line);
	}

	.site-header__nav-title {
		font-size: var(--text-xs);
		font-weight: var(--weight-medium);
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.site-header__close {
		display: inline-flex;
		position: relative;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		padding: 0;
		border: 1px solid var(--color-line);
		background: transparent;
	}

	.site-header__close span {
		position: absolute;
		width: 1.25rem;
		height: 1px;
		background: currentColor;
	}

	.site-header__close span:first-child {
		transform: rotate(45deg);
	}

	.site-header__close span:last-child {
		transform: rotate(-45deg);
	}

	.site-header__nav-list {
		display: block;
		flex: 0 0 auto;
		margin: var(--space-6) 0 0;
		padding: 0;
	}

	.site-header__nav-list li,
	.site-header__nav-list .site-header__nav-list a {
		padding-block: 1rem;
		font-size: var(--text-base);
	}

	.site-header__nav-list a::after {
		display: none;
	}

	.site-header__nav-mobile-only {
		display: block;
	}

	.site-header__nav-cta {
		display: inline-flex;
		flex: 0 0 auto;
		width: 100%;
		margin-top: auto;
	}

	body.site-header-menu-open {
		overflow: hidden;
	}
}

@media (max-width: 30rem) {
	.site-header__inner {
		gap: var(--space-2);
	}

	.site-header__brand {
		gap: 0.5rem;
		font-size: 1rem;
		letter-spacing: 0;
	}

	.site-header__mark {
		width: 1.875rem;
		height: 1.875rem;
	}

	.site-header__nav {
		width: calc(100vw - 1rem);
		padding-inline: var(--container-padding-mobile);
	}
}

.site-footer {
	background: var(--surface-dark);
	color: var(--text-inverse);
}

.site-footer__inner {
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
	margin-inline: auto;
	padding-block: var(--space-16) var(--space-6);
}

.site-footer__brand-col {
	display: flex;
	flex-direction: column;
	max-width: 22rem;
	gap: var(--space-6);
}

.site-footer__brand {
	color: var(--text-inverse);
}

.site-footer__brand:hover {
	color: var(--color-sand);
}

.site-footer__mark {
	width: 2.25rem;
	height: 2.25rem;
	object-fit: contain;
}

.site-footer__intro {
	margin: 0;
	color: var(--color-warm-white);
	font-size: var(--text-sm);
	line-height: 1.6;
}

.site-footer__nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-8);
	margin-top: var(--space-12);
	padding-top: var(--space-12);
	border-top: 1px solid rgba(245, 241, 233, 0.25);
}

.site-footer__group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.site-footer__group h2 {
	margin: 0;
	color: var(--color-sand);
	font-family: var(--font-body);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.site-footer__group ul,
.site-footer__bottom ul {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: var(--space-2);
}

.site-footer__group li,
.site-footer__group li + li,
.site-footer__bottom li,
.site-footer__bottom .site-footer__group a,
.site-footer__group address,
.site-footer__bottom a,
.site-footer__bottom p {
	color: var(--color-warm-white);
	font-size: var(--text-sm);
	font-style: normal;
	line-height: 1.55;
}

.site-footer__group a,
.site-footer__bottom a {
	text-decoration: none;
}

.site-footer__group a:hover,
.site-footer__bottom a:hover {
	color: var(--color-sand);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.site-footer__bottom {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: var(--space-12);
	padding-top: var(--space-6);
	border-top: 1px solid rgba(245, 241, 233, 0.25);
	gap: var(--space-6);
}

.site-footer__bottom p {
	margin: 0;
}

.site-footer__bottom ul {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--space-3) var(--space-6);
}

.consent-banner {
	position: fixed;
	z-index: 200;
	right: var(--space-4);
	bottom: var(--space-4);
	left: var(--space-4);
	display: none;
	border: 1px solid var(--color-line);
	background: var(--surface-paper);
	box-shadow: var(--shadow-menu);
}

.consent-banner.is-visible {
	display: block;
}

.consent-banner.is-hiding {
	opacity: 0;
	transform: translateY(0.5rem);
	transition:
		opacity var(--transition-fast),
		transform var(--transition-fast);
}

.consent-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, 72rem);
	margin-inline: auto;
	padding: var(--space-6);
	gap: var(--space-6);
}

.consent-banner__copy {
	display: flex;
	flex-direction: column;
	max-width: 44rem;
	gap: var(--space-2);
}

.consent-banner__copy h2,
.consent-banner__copy p {
	margin: 0;
}

.consent-banner__copy h2 {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
}

.consent-banner__copy p,
.consent-banner__copy a {
	font-size: var(--text-xs);
	line-height: 1.5;
}

.consent-banner__copy a {
	align-self: flex-start;
}

.consent-banner__actions {
	display: flex;
	flex: 0 0 auto;
	gap: var(--space-2);
}

.consent-banner__actions button {
	min-height: 2.75rem;
	padding: 0.625rem var(--space-4);
	border: 1px solid var(--color-graphite);
	border-radius: 0;
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: 1.2;
}

.consent-banner__reject {
	background: transparent;
	color: var(--color-graphite);
}

.consent-banner__reject:hover {
	border-color: var(--color-olive-deep);
	color: var(--color-olive-deep);
}

.consent-banner__accept {
	background: var(--color-graphite);
	color: var(--color-inverse-text);
}

.consent-banner__accept:hover {
	border-color: var(--color-olive-deep);
	background: var(--color-olive-deep);
}

@media (max-width: 48rem) {
	.site-footer__inner {
		padding-block: var(--space-12) var(--space-6);
	}

	.site-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-8) var(--space-6);
		margin-top: var(--space-8);
		padding-top: var(--space-8);
	}

	.site-footer__bottom {
		flex-direction: column;
		margin-top: var(--space-8);
		gap: var(--space-4);
	}

	.site-footer__bottom ul {
		justify-content: flex-start;
	}

	.consent-banner {
		right: var(--space-3);
		bottom: var(--space-3);
		left: var(--space-3);
	}

	.consent-banner__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 30rem) {
	.site-footer__nav {
		grid-template-columns: 1fr;
	}

	.consent-banner__inner {
		padding: var(--space-4);
		gap: var(--space-4);
	}

	.consent-banner__actions {
		width: 100%;
	}

	.consent-banner__actions button {
		flex: 1 1 0;
	}
}

.cookies-page {
	background: var(--surface-base);
}

.cookies-page__hero-grid,
.cookies-page__document-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
}

.cookies-page__hero-content {
	grid-column: 1 / span 6;
	min-width: 0;
	width: 100%;
}

.cookies-page__hero-content h1 {
	max-width: 35rem;
}

.cookies-page__updated {
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-4);
	border-bottom: var(--border-default);
	color: var(--text-secondary);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.cookies-page__hero-lead {
	max-width: 38.75rem;
}

.cookies-page__overview-panel {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: var(--space-8) var(--space-6);
	width: min(100% - 16.6667%, 75rem);
	min-width: 0;
	margin-inline: auto;
	padding: var(--space-12);
	background: var(--surface-sand);
}

.cookies-page__overview-intro {
	grid-column: 1 / -1;
	min-width: 0;
	width: 100%;
}

.cookies-page__overview-intro p {
  margin-bottom: 0;
}

.cookies-page__overview-list {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
	width: 100%;
}

.cookies-page__overview-item {
	min-width: 0;
	width: 100%;
}

.cookies-page__overview-item + .cookies-page__overview-item {
	border-left: var(--border-default);
	padding-left: var(--space-6);
}

.cookies-page__item-number,
.cookies-page__chapter-number {
	display: block;
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.cookies-page__item-number {
	margin-bottom: var(--space-3);
}

.cookies-page__overview-item h2 {
	margin-bottom: var(--space-3);
	font-size: var(--text-xl);
}

.cookies-page__overview-item p {
  margin-bottom: 0;
	color: var(--text-primary);
	font-size: var(--text-sm);
	line-height: 1.55;
}

.cookies-page__document-column {
	grid-column: 3 / span 6;
	min-width: 0;
	width: 100%;
	max-width: 42.5rem;
}

.cookies-page__chapter-heading {
	width: 100%;
	min-width: 0;
	margin-bottom: var(--space-8);
	padding-top: var(--space-4);
	border-top: var(--border-default);
}

.cookies-page__chapter-heading h2 {
	max-width: 37.5rem;
	margin-top: var(--space-3);
	margin-bottom: 0;
}

.cookies-page__chapter-copy {
	width: 100%;
	min-width: 0;
}

.cookies-page__chapter-copy p {
  }

.cookies-page__chapter-copy h3 {
	margin-top: var(--space-8);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: 0.04em;
	line-height: var(--leading-ui);
}

.cookies-page__categories-content {
	grid-column: 3 / span 9;
	min-width: 0;
	width: 100%;
}

.cookies-page__chapter-heading--wide h2 {
	max-width: 37.5rem;
}

.cookies-page__category-list {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	border-top: var(--border-default);
}

.cookies-page__category-item {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 7fr);
	gap: var(--space-6);
	min-width: 0;
	width: 100%;
	padding-block: var(--space-8);
	border-bottom: var(--border-default);
}

.cookies-page__category-label,
.cookies-page__category-copy {
	min-width: 0;
	width: 100%;
}

.cookies-page__category-label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
}

.cookies-page__category-label span {
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
}

.cookies-page__category-label strong {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-ui);
}

.cookies-page__category-copy {
	max-width: 40rem;
}

.cookies-page__category-copy h3 {
	margin-bottom: var(--space-3);
	font-size: var(--text-xl);
}

.cookies-page__category-copy p {
	margin-bottom: 0;
}

.cookies-page__management-content {
	grid-column: 3 / span 7;
	min-width: 0;
	width: 100%;
}

.cookies-page__chapter-heading--management h2 {
	max-width: 36.25rem;
}

.cookies-page__management-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	min-width: 0;
	width: 100%;
}

.cookies-page__management-item {
	min-width: 0;
	width: 100%;
	max-width: 37.5rem;
}

.cookies-page__management-item--offset {
	align-self: flex-end;
	width: calc(100% - 8.3334%);
}

.cookies-page__management-item + .cookies-page__management-item {
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.cookies-page__management-item h3 {
	margin-bottom: var(--space-3);
	font-size: var(--text-xl);
}

.cookies-page__management-item--offset h3 {
	color: var(--color-olive-deep);
}

.cookies-page__management-item p {
	margin-bottom: 0;
}

.cookies-page__closing-content {
	grid-column: 3 / span 8;
	min-width: 0;
	width: 100%;
}

.cookies-page__closing-copy {
	min-width: 0;
	width: 100%;
	max-width: 40.625rem;
}

.cookies-page__closing-copy > p:first-child {
	margin-bottom: var(--space-6);
}

.cookies-page__updated--closing {
	max-width: 40.625rem;
	margin-bottom: var(--space-12);
}

.cookies-page__contact {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	width: 100%;
	min-width: 0;
	max-width: 57.5rem;
	padding: var(--space-12);
}

.cookies-page__contact .eyebrow,
.cookies-page__contact p {
	margin-bottom: 0;
}

.cookies-page__contact p {
  font-size: var(--text-lg);
	line-height: 1.5;
}

.cookies-page__contact-link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-width: 0;
	min-height: 2.75rem;
	color: var(--color-inverse-text);
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: var(--weight-medium);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.cookies-page__contact-link:hover {
	color: var(--color-sand);
}

@media (max-width: 80rem) {
	.cookies-page__overview-panel {
		width: min(100% - 16.6667%, 75rem);
	}
}

@media (max-width: 64rem) {
	.cookies-page__hero-content {
		grid-column: 1 / span 8;
	}

	.cookies-page__document-column,
	.cookies-page__categories-content,
	.cookies-page__management-content,
	.cookies-page__closing-content {
		grid-column: 2 / span 9;
	}

	.cookies-page__management-item--offset {
		align-self: flex-start;
		width: 100%;
	}
}

@media (max-width: 56.25rem) {
	.cookies-page__overview-panel {
		grid-template-columns: 1fr;
		width: 100%;
		padding: var(--space-8);
	}

	.cookies-page__overview-list {
		grid-template-columns: 1fr;
		gap: 0;
		border-top: var(--border-default);
	}

	.cookies-page__overview-item {
		padding-block: var(--space-6);
	}

	.cookies-page__overview-item + .cookies-page__overview-item {
		border-top: var(--border-default);
		border-left: 0;
		padding-left: 0;
	}

	.cookies-page__overview-item p {
  }

	.cookies-page__category-item {
		grid-template-columns: 1fr;
		gap: var(--space-3);
	}

	.cookies-page__category-label {
		flex-direction: row;
		align-items: baseline;
	}
}

@media (max-width: 55rem) {
	.cookies-page__document-column,
	.cookies-page__categories-content,
	.cookies-page__management-content,
	.cookies-page__closing-content {
		grid-column: 1 / -1;
	}

	.cookies-page__contact {
		max-width: none;
	}
}

@media (max-width: 48rem) {
	.cookies-page__hero-content {
		grid-column: 1 / -1;
	}

	.cookies-page__hero-content h1 {
		font-size: clamp(2.625rem, 9vw, 2.875rem);
	}

	.cookies-page__hero-lead {
		max-width: none;
		font-size: 1.0625rem;
	}

	.cookies-page__chapter-heading {
		margin-bottom: var(--space-6);
	}

	.cookies-page__chapter-heading h2 {
		font-size: clamp(2.125rem, 8vw, 2.375rem);
	}

	.cookies-page__management-list {
		gap: var(--space-6);
	}

	.cookies-page__contact {
		padding: var(--space-6);
	}
}

@media (max-width: 30rem) {
	.cookies-page__overview-panel {
		padding: var(--space-6);
	}

	.cookies-page__category-item {
		padding-block: var(--space-6);
	}

	.cookies-page__contact-link {
		width: 100%;
	}
}

.regulamin-page {
	background: var(--surface-base);
}

.regulamin-page__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
}

.regulamin-page__title-block {
	grid-column: 4 / span 8;
	width: 100%;
	max-width: 45rem;
	min-width: 0;
}

.regulamin-page__title-block h1 {
	width: 100%;
	max-width: 32.5rem;
	margin-bottom: var(--space-6);
	font-size: clamp(3.25rem, 4.2vw, 3.75rem);
	line-height: 1.02;
}

.regulamin-page__lead {
	width: 100%;
	max-width: 38.75rem;
	margin-bottom: var(--space-8);
	font-size: var(--text-lg);
	line-height: 1.5;
}

.regulamin-page__lead a {
	overflow-wrap: anywhere;
}

.regulamin-page__effective-date {
	display: flex;
	align-items: baseline;
	width: 100%;
	min-width: 0;
	margin-bottom: 0;
	padding-top: var(--space-4);
	border-top: var(--border-default);
	color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: var(--leading-ui);
}

.regulamin-page__effective-date span {
	margin-right: var(--space-2);
	color: var(--text-primary);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.regulamin-page__document {
	padding-top: var(--space-8);
}

.regulamin-page__document-grid {
	align-items: start;
	row-gap: var(--space-12);
}

.regulamin-toc {
	grid-column: 1 / span 3;
	position: sticky;
	top: calc(var(--space-16) + var(--space-4));
	width: 100%;
	max-width: 15.625rem;
	min-width: 0;
}

.regulamin-toc .eyebrow {
	margin-bottom: var(--space-4);
}

.regulamin-toc__list {
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: var(--border-default);
	list-style: none;
}

.regulamin-toc__list li {
	width: 100%;
	min-width: 0;
	border-bottom: var(--border-default);
}

.regulamin-toc__list li::marker {
	content: "";
}

.regulamin-toc__list a {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 2.75rem;
	padding: var(--space-3) 0;
	color: var(--text-secondary);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: 1.4;
	text-decoration: none;
	transition:
		color var(--transition-fast),
		padding-left var(--transition-fast);
}

.regulamin-toc__list a:hover,
.regulamin-toc__list a[aria-current="true"] {
	padding-left: var(--space-2);
	color: var(--color-olive-deep);
}

.regulamin-document {
	grid-column: 4 / span 7;
	width: 100%;
	max-width: 45rem;
	min-width: 0;
}

.regulamin-document__section {
	width: 100%;
	min-width: 0;
	padding-bottom: var(--space-16);
	border-bottom: var(--border-default);
}

.regulamin-document__section + .regulamin-document__section {
	padding-top: var(--space-16);
}

.regulamin-document__section--final {
	padding-bottom: var(--space-24);
	border-bottom: 0;
}

.regulamin-document__section h2 {
	width: 100%;
	max-width: 43.75rem;
	margin-bottom: var(--space-8);
	font-size: clamp(2.125rem, 3vw, 2.5rem);
	line-height: var(--leading-heading);
	scroll-margin-top: calc(var(--space-16) + var(--space-4));
}

.regulamin-document__clauses {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	gap: var(--space-8);
}

.regulamin-clause {
	display: grid;
	grid-template-columns: minmax(1.5rem, 2rem) minmax(0, 1fr);
	column-gap: var(--space-4);
	align-items: start;
	width: 100%;
	min-width: 0;
}

.regulamin-clause__number {
	grid-column: 1;
	width: 100%;
	min-width: 0;
	padding-top: 0.1em;
	color: var(--color-olive-deep);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-body);
}

.regulamin-clause__content {
	grid-column: 2;
	width: 100%;
	min-width: 0;
}

.regulamin-clause__content > :last-child {
	margin-bottom: 0;
}

.regulamin-clause__content p,
.regulamin-clause__content ul {
	width: 100%;
	max-width: 43.75rem;
}

.regulamin-clause__content ul {
	padding-left: 1.25em;
}

.regulamin-clause__content .regulamin-definitions {
	display: grid;
	grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr);
	width: 100%;
	min-width: 0;
	margin: 0;
	border-top: var(--border-default);
}

.regulamin-definitions > div {
	display: contents;
}

.regulamin-definitions dt,
.regulamin-definitions dd {
	min-width: 0;
	margin: 0;
	padding: var(--space-3) 0;
	border-bottom: var(--border-default);
	font-size: var(--text-sm);
	line-height: 1.5;
}

.regulamin-definitions dt {
	grid-column: 1;
	padding-right: var(--space-4);
	color: var(--text-primary);
	font-weight: var(--weight-medium);
}

.regulamin-definitions dd {
	grid-column: 2;
	color: var(--text-secondary);
}

.regulamin-document__email {
	overflow-wrap: anywhere;
}

@media (max-width: 80rem) {
	.regulamin-page__title-block {
		grid-column: 3 / span 8;
	}

	.regulamin-document {
		grid-column: 4 / span 8;
	}
}

@media (max-width: 55rem) {
	.regulamin-page__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		column-gap: 1.25rem;
	}

	.regulamin-page__title-block {
		grid-column: 2 / span 7;
		max-width: 45rem;
	}

	.regulamin-page__document {
		padding-top: 0;
	}

	.regulamin-toc {
		grid-column: 1 / span 8;
		position: static;
		max-width: none;
	}

	.regulamin-document {
		grid-column: 1 / span 8;
		max-width: 45rem;
	}
}

@media (max-width: 48rem) {
	.regulamin-page__title-block {
		grid-column: 1 / span 8;
	}

	.regulamin-document__section {
		padding-bottom: var(--space-12);
	}

	.regulamin-document__section + .regulamin-document__section {
		padding-top: var(--space-12);
	}

	.regulamin-document__section--final {
		padding-bottom: var(--space-16);
	}
}

@media (max-width: 30rem) {
	.regulamin-page__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: var(--space-4);
	}

	.regulamin-page__intro {
		padding-top: var(--space-12);
	}

	.regulamin-page__title-block,
	.regulamin-toc,
	.regulamin-document {
		grid-column: 1 / span 4;
	}

	.regulamin-page__title-block h1 {
		max-width: none;
		font-size: clamp(2.625rem, 12vw, 2.875rem);
	}

	.regulamin-page__lead {
		max-width: none;
	}

	.regulamin-page__effective-date {
		flex-wrap: wrap;
		row-gap: var(--space-1);
	}

	.regulamin-document__section h2 {
		max-width: none;
		font-size: clamp(1.875rem, 9vw, 2.125rem);
	}

	.regulamin-clause {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-2);
	}

	.regulamin-clause__number,
	.regulamin-clause__content {
		grid-column: 1;
	}

	.regulamin-clause__number {
		padding-top: 0;
	}

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

	.regulamin-definitions dt,
	.regulamin-definitions dd {
		grid-column: 1;
	}

	.regulamin-definitions dt {
		padding-bottom: var(--space-1);
		border-bottom: 0;
	}

	.regulamin-definitions dd {
		padding-top: 0;
	}

	.regulamin-document__email--touch {
		display: inline-flex;
		align-items: center;
		min-height: 2.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.regulamin-toc__list a {
		transition: none;
	}
}

.privacy-page {
	background: var(--surface-base);
}

.privacy-page__intro {
	padding-block: var(--space-32) var(--space-24);
}

.privacy-page__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
}

.privacy-page__grid > * {
	min-width: 0;
}

.privacy-page__intro-copy {
	grid-column: 2 / span 7;
	min-width: 0;
	max-width: 42.5rem;
}

.privacy-page__intro-copy .eyebrow {
	margin-bottom: var(--space-4);
}

.privacy-page__lead {
	max-width: 38.75rem;
	margin-bottom: var(--space-8);
	color: var(--text-secondary);
	font-size: var(--text-lg);
	line-height: 1.5;
}

.privacy-page__document-meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-2);
	padding-top: var(--space-4);
	border-top: var(--border-default);
	color: var(--text-primary);
	font-size: var(--text-sm);
	line-height: var(--leading-ui);
}

.privacy-page__meta-label {
	color: var(--text-secondary);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.privacy-page__document {
	grid-column: 2 / span 8;
	min-width: 0;
}

.privacy-section {
	display: grid;
	grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr);
	column-gap: var(--space-6);
	padding-block: var(--space-24);
	border-top: var(--border-default);
}

.privacy-section > * {
	min-width: 0;
}

.privacy-section__marker {
	width: 100%;
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.privacy-section__content {
	width: 100%;
	min-width: 0;
	max-width: 42.5rem;
}

.privacy-section__content > h2 {
	max-width: 39rem;
}

.privacy-section__prose {
	max-width: 40.625rem;
}

.privacy-section__prose > p + p,
.privacy-section__prose--closing > article + article {
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.privacy-section__prose--closing {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-6);
}

.privacy-section__prose--closing > article {
	min-width: 0;
}

.privacy-section__prose--closing > article + article {
	margin-top: 0;
}

.privacy-data-list,
.privacy-rights-list {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.privacy-data-list__item,
.privacy-rights-list__item {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr);
	column-gap: var(--space-4);
	min-width: 0;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}

.privacy-data-list__item:first-child,
.privacy-rights-list__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.privacy-data-list__number,
.privacy-rights-list__number {
	width: 100%;
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	line-height: 1.4;
}

.privacy-data-list__copy,
.privacy-rights-list__copy {
	min-width: 0;
	max-width: 40.625rem;
}

.privacy-data-list__copy h3,
.privacy-rights-list__copy h3 {
	margin-bottom: var(--space-3);
}

.privacy-data-list__copy p,
.privacy-rights-list__copy p {
  }

.privacy-purpose-list {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-6);
}

.privacy-purpose-list__item {
	min-width: 0;
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.privacy-purpose-list__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.privacy-purpose-list__label {
	display: block;
	max-width: 20rem;
	margin-bottom: var(--space-3);
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.privacy-purpose-list__item h3 {
	margin-bottom: var(--space-3);
}

.privacy-purpose-list__item p {
  }

.privacy-recipient-panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
	padding: var(--space-8);
	border: var(--border-default);
	background: var(--surface-paper);
}

.privacy-recipient-panel > * {
	min-width: 0;
}

.privacy-recipient-panel__item {
	width: 100%;
}

.privacy-recipient-panel__item h3 {
	max-width: 21rem;
}

.privacy-recipient-panel__item p {
  }

.privacy-rights-intro {
	max-width: 38.75rem;
	margin-bottom: var(--space-8);
}

.privacy-contact {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: var(--space-8);
	min-width: 0;
	margin-top: var(--space-24);
	padding: var(--space-12);
	background: var(--surface-sand);
}

.privacy-contact > * {
	min-width: 0;
}

.privacy-contact__content {
	width: 100%;
	max-width: 30rem;
}

.privacy-contact__content .eyebrow {
	margin-bottom: var(--space-3);
	color: var(--color-graphite);
}

.privacy-contact__content h2 {
	max-width: 25rem;
}

.privacy-contact__content p {
  }

.privacy-contact__details {
	display: flex;
	flex-direction: column;
	align-self: start;
	min-width: 0;
	gap: var(--space-3);
	font-size: var(--text-base);
	font-style: normal;
	line-height: var(--leading-body);
}

.privacy-contact__details a {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	min-height: 2.75rem;
	color: var(--color-olive-deep);
	font-weight: var(--weight-medium);
	text-decoration: none;
}

.privacy-contact__details a:hover,
.privacy-contact__details a:focus-visible {
	color: var(--color-graphite);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.privacy-page a:not(.privacy-contact__details a) {
	text-decoration: none;
}

.privacy-page a:not(.privacy-contact__details a):hover,
.privacy-page a:not(.privacy-contact__details a):focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

@media (max-width: 80rem) {
	.privacy-page__intro-copy,
	.privacy-page__document {
		grid-column: 1 / span 8;
	}
}

@media (max-width: 61.25rem) {
	.privacy-page__intro {
		padding-block: var(--space-24) var(--space-16);
	}

	.privacy-page__intro-copy,
	.privacy-page__document {
		grid-column: 1 / span 9;
	}

	.privacy-section {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-3);
	}

	.privacy-section__marker {
		width: auto;
	}
}

@media (max-width: 53.75rem) {
	.privacy-page__intro-copy,
	.privacy-page__document {
		grid-column: 1 / -1;
	}

	.privacy-recipient-panel {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
	}

	.privacy-recipient-panel__item,
	.privacy-recipient-panel__item p {
  }
}

@media (max-width: 47.5rem) {
	.privacy-contact {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
		padding: var(--space-6) var(--space-5, 1.25rem);
	}
}

@media (max-width: 48rem) {
	.privacy-page__intro {
		padding-block: var(--space-16) var(--space-12);
	}

	.privacy-section {
		padding-block: var(--space-16);
	}

	.privacy-contact {
		margin-top: var(--space-16);
	}
}

@media (max-width: 30rem) {
	.privacy-page__grid {
		column-gap: var(--space-4);
	}

	.privacy-page__intro-copy h1 {
		font-size: clamp(2.625rem, 12vw, 2.875rem);
	}

	.privacy-page__lead {
		font-size: var(--text-lg);
	}

	.privacy-section__content > h2,
	.privacy-contact__content h2 {
		font-size: clamp(2rem, 9vw, 2.25rem);
	}

	.privacy-data-list__item,
	.privacy-rights-list__item {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-2);
		padding-block: var(--space-6);
	}

	.privacy-recipient-panel {
		padding: var(--space-6) var(--space-5, 1.25rem);
	}

	.privacy-contact {
		padding: var(--space-6) var(--space-5, 1.25rem);
	}
}

.faq-page {
	overflow: clip;
}

.faq-hero__grid,
.faq-scope__grid,
.faq-group__layout,
.faq-contact__layout {
	display: grid;
	min-width: 0;
}

.faq-hero__grid {
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--space-6);
	align-items: start;
}

.faq-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	max-width: 35rem;
	padding-top: var(--space-8);
	gap: var(--space-6);
}

.faq-hero__copy > * {
	margin: 0;
	min-width: 0;
}
.faq-hero__copy h1 {
	font-size: clamp(2.625rem, 5vw, 4.5rem);
	line-height: 1;
}
.faq-hero__copy .lead {
	max-width: 34rem;
	font-size: var(--text-lg);
	line-height: 1.5;
}
.faq-hero__media {
	width: 100%;
	min-width: 0;
	margin: var(--space-6) 0 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
.faq-hero__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 62% center;
}

.faq-index {
	border-top: var(--border-default);
}
.faq-index__intro {
	max-width: 38.75rem;
}
.faq-index__links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	min-width: 0;
	margin-top: var(--space-12);
	border-top: var(--border-default);
	border-bottom: var(--border-default);
}
.faq-index__links > a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--space-3);
	align-items: center;
	min-width: 0;
	min-height: 7rem;
	padding: var(--space-4);
	color: var(--text-primary);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.faq-index__links > a + a {
	border-left: var(--border-default);
}
.faq-index__links span {
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
}
.faq-index__links strong {
	min-width: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	line-height: 1.1;
}
.faq-index__links b {
	font-weight: var(--weight-regular);
	transition: transform var(--transition-fast);
}
.faq-index__links a:hover b {
	transform: translateX(0.25rem);
}

.faq-group__layout--wide {
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--space-12);
}
.faq-group__intro {
	min-width: 0;
	max-width: 36.25rem;
}
.faq-accordions {
	width: 100%;
	min-width: 0;
}
.faq-accordion {
	border-top: var(--border-default);
}
.faq-accordion:last-child {
	border-bottom: var(--border-default);
}
.faq-accordion h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: 0;
}
.faq-accordion button {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-4);
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 3.75rem;
	padding: var(--space-4) 0;
	border: 0;
	background: transparent;
	color: var(--text-primary);
	font: inherit;
	line-height: 1.5;
	text-align: left;
}
.faq-accordion button > span {
	color: var(--color-olive-deep);
	font-size: 1.5rem;
	font-weight: var(--weight-regular);
	line-height: 1;
}
.faq-accordion__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--transition-base);
}
.faq-accordion__panel > div {
	min-width: 0;
	overflow: hidden;
}
.faq-accordion__panel:not([hidden]) {
	grid-template-rows: 1fr;
}
.faq-accordion__panel > div > :first-child {
	margin-top: 0;
}
.faq-accordion__panel > div > :last-child {
	margin-bottom: 0;
}
.faq-accordion__panel:not([hidden]) > div {
	padding-bottom: var(--space-6);
}
.faq-group__layout--wide .faq-accordions {
	grid-column: 1 / span 9;
	max-width: 61.25rem;
}
.faq-group__layout--wide .faq-accordion__panel > div {
	max-width: 42.5rem;
}

.faq-scope__grid {
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: var(--space-6);
	align-items: end;
}
.faq-scope__content {
	min-width: 0;
}
.faq-scope__intro {
	max-width: 38.75rem;
	margin-bottom: var(--space-8);
}
.faq-scope__content .faq-accordion__panel > div {
	max-width: 40.625rem;
}
.faq-scope__media {
	width: 100%;
	min-width: 0;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
.faq-scope__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transition: transform var(--transition-base);
}

.faq-group__layout--offset {
	grid-template-columns: 2fr minmax(0, 8fr) 2fr;
	gap: 0;
}
.faq-group__layout--offset > .faq-group__intro {
	grid-column: 2;
	width: 62.5%;
}
.faq-group__layout--offset > .faq-accordions {
	grid-column: 2;
	width: 100%;
	max-width: 61.25rem;
	margin-top: var(--space-8);
}
.faq-group__layout--offset .faq-accordion__panel > div {
	max-width: 41.25rem;
}

.faq-preparation {
	background: var(--surface-sand);
}
.faq-preparation__intro {
	max-width: 38.75rem;
}
.faq-preparation__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	min-width: 0;
	margin-top: var(--space-12);
	border-top: 1px solid rgba(38, 38, 36, 0.28);
	border-bottom: 1px solid rgba(38, 38, 36, 0.28);
}
.faq-preparation__item {
	display: grid;
	grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
	gap: var(--space-4);
	min-width: 0;
	padding: var(--space-6);
}
.faq-preparation__item + .faq-preparation__item {
	border-left: 1px solid rgba(38, 38, 36, 0.28);
}
.faq-preparation__item > span {
	color: var(--color-olive-deep);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
}
.faq-preparation__item > div {
	min-width: 0;
	max-width: 19.375rem;
}
.faq-preparation__item h3 {
	font-size: var(--text-xl);
}
.faq-preparation__item p:last-child {
	margin-bottom: 0;
}

.faq-contact__layout {
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--space-12);
}
.faq-contact__intro {
	min-width: 0;
	max-width: 33.75rem;
}
.faq-contact__layout > .faq-accordions {
	max-width: 47.5rem;
}
.faq-contact__layout .faq-accordion__panel > div {
	max-width: 42.5rem;
}

.faq-cta {
	padding-block: var(--space-24);
}
.faq-cta__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	max-width: 37.5rem;
	gap: var(--space-6);
}
.faq-cta__content > * {
	min-width: 0;
	margin: 0;
}
.faq-cta__content .eyebrow {
	color: var(--color-sand);
}
.faq-cta__content .button {
	width: auto;
}

@media (hover: hover) and (pointer: fine) {
	.faq-scope__media:hover img {
		transform: scale(1.02);
	}
}

@media (max-width: 68.75rem) {
	.faq-index__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.faq-index__links > a:nth-child(3) {
		border-left: 0;
		border-top: var(--border-default);
	}
	.faq-index__links > a:nth-child(4) {
		border-top: var(--border-default);
	}
	.faq-scope__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.faq-scope__media {
		grid-row: 1;
		max-width: 38rem;
	}
	.faq-scope__content {
		grid-row: 2;
	}
	.faq-contact__layout {
		gap: var(--space-8);
	}
}

@media (max-width: 65rem) {
	.faq-hero__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.faq-hero__copy {
		max-width: 35rem;
		padding-top: 0;
	}
	.faq-hero__media {
		margin-top: 0;
		aspect-ratio: 4 / 5;
		max-width: 46rem;
	}
	.faq-hero__media img {
		object-position: center;
	}
}

@media (max-width: 61.25rem) {
	.faq-group__layout--wide {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.faq-group__layout--wide .faq-accordions {
		grid-column: auto;
		max-width: none;
	}
}

@media (max-width: 56.25rem) {
	.faq-preparation__items {
		grid-template-columns: 1fr;
		margin-top: var(--space-8);
	}
	.faq-preparation__item {
		padding-inline: 0;
	}
	.faq-preparation__item + .faq-preparation__item {
		border-top: 1px solid rgba(38, 38, 36, 0.28);
		border-left: 0;
	}
	.faq-preparation__item > div {
		max-width: 38rem;
	}
	.faq-contact__layout {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
}

@media (max-width: 70rem) {
	.faq-group__layout--offset {
		grid-template-columns: 1fr;
	}
	.faq-group__layout--offset > .faq-group__intro,
	.faq-group__layout--offset > .faq-accordions {
		grid-column: auto;
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 45rem) {
	.faq-index__links {
		grid-template-columns: 1fr;
		margin-top: var(--space-8);
	}
	.faq-index__links > a {
		min-height: 3.5rem;
		padding-inline: 0;
	}
	.faq-index__links > a + a,
	.faq-index__links > a:nth-child(3),
	.faq-index__links > a:nth-child(4) {
		border-top: var(--border-default);
		border-left: 0;
	}
	.faq-group__layout--offset > .faq-accordions {
		margin-top: var(--space-6);
	}
	.faq-scope__media {
		max-width: none;
	}
	.faq-cta {
		padding-block: var(--space-16);
	}
	.faq-cta__content .button {
		width: 100%;
	}
}

@media (max-width: 30rem) {
	.faq-hero__copy h1 {
		font-size: clamp(2.625rem, 12vw, 3rem);
	}
	.faq-preparation__item {
		grid-template-columns: 1fr;
		gap: var(--space-2);
	}
}

@media (prefers-reduced-motion: reduce) {
	.faq-accordion__panel {
		transition: none;
	}
}

.process-page {
	overflow: clip;
}

.process-page .container {
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
}

.process-hero__grid,
.process-brief__grid,
.process-visual__grid,
.process-materials__grid,
.process-stage--consultation__grid,
.process-stage--technical__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	align-items: start;
}

.process-hero__content {
	grid-column: 1 / span 5;
	width: 100%;
	min-width: 0;
	max-width: 35rem;
	padding-block: var(--space-12);
}

.process-hero__content > :last-child,
.process-brief__content > :last-child,
.process-visual__content > :last-child,
.process-materials__content > :last-child,
.process-stage__main > :last-child,
.process-concept__intro > :last-child,
.process-faq__intro > :last-child,
.process-closing__content > :last-child {
	margin-bottom: 0;
}

.process-hero__content h1 {
	font-size: clamp(3.75rem, 5vw, 4.5rem);
}

.process-hero__content .lead {
	max-width: 33rem;
}

.process-hero__divider {
	width: 100%;
	height: 1px;
	margin-bottom: var(--space-6);
	background: var(--color-line);
}

.process-hero__note {
	max-width: 32rem;
	color: var(--text-secondary);
}

.process-hero__cta,
.process-closing__cta {
	gap: var(--space-2);
}

.process-hero__cta span,
.process-closing__cta span {
	transition: transform var(--transition-fast);
}

.process-hero__cta:hover span,
.process-closing__cta:hover span {
	transform: translateX(0.25rem);
}

.process-hero__media {
	grid-column: 7 / span 6;
	width: 100%;
	min-width: 0;
	margin: 0;
	align-self: end;
}

.process-hero__media img,
.process-brief__media img,
.process-visual__media img,
.process-materials__media img {
	width: 100%;
	max-width: 100%;
	object-fit: cover;
}

.process-hero__media img {
	aspect-ratio: 4 / 5;
	object-position: center center;
}

.process-map {
	border-top: var(--border-default);
	border-bottom: var(--border-default);
}

.process-map__intro {
	width: 100%;
	min-width: 0;
	max-width: 38.75rem;
	margin-bottom: var(--space-12);
}

.process-map__steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	border-top: var(--border-default);
}

.process-map__step {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	min-height: 12rem;
	padding: var(--space-4);
	color: var(--text-primary);
	text-decoration: none;
	border-right: var(--border-default);
	gap: var(--space-3);
}

.process-map__step:first-child {
	border-left: var(--border-default);
}

.process-map__step span {
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: var(--text-2xl);
	line-height: 1;
}

.process-map__step strong {
	font-family: var(--font-heading);
	font-size: 1.375rem;
	font-weight: var(--weight-medium);
	line-height: 1.08;
}

.process-map__step small {
	color: var(--text-secondary);
	font-size: var(--text-xs);
	line-height: 1.4;
}

.process-map__step:hover {
	color: var(--color-olive-deep);
	background: var(--surface-paper);
}

.process-stage--consultation {
	border-bottom: var(--border-default);
}

.process-stage__number {
	grid-column: 1 / span 2;
	width: 100%;
	min-width: 0;
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: clamp(4.5rem, 7vw, 6.5rem);
	font-weight: var(--weight-medium);
	line-height: 0.8;
}

.process-stage__main {
	grid-column: 3 / span 6;
	width: 100%;
	min-width: 0;
	max-width: 41.25rem;
}

.process-stage__side-points {
	grid-column: 9 / span 4;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: var(--space-6);
}

.process-side-point {
	width: 100%;
	min-width: 0;
	border-top: var(--border-default);
	padding-top: var(--space-4);
}

.process-side-point > :last-child,
.process-brief__list article > :last-child,
.process-concept__areas article > :last-child,
.process-visual__points article > :last-child,
.process-technical__points article > :last-child,
.process-materials__results > :last-child {
	margin-bottom: 0;
}

.process-side-point > span,
.process-visual__points span,
.process-concept__areas span {
	display: block;
	margin-bottom: var(--space-3);
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
}

.process-side-point h3,
.process-brief__list h3,
.process-visual__points h3,
.process-technical__points h3,
.process-materials__results h3 {
	font-size: 1.625rem;
}

.process-side-point p,
.process-brief__list p,
.process-visual__points p,
.process-technical__points p {
	color: var(--text-secondary);
	font-size: var(--text-sm);
}

.process-brief__media {
	grid-column: 1 / span 5;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.process-brief__media img {
	aspect-ratio: 3 / 4;
	object-position: center center;
}

.process-brief__content {
	grid-column: 7 / span 6;
	width: 100%;
	min-width: 0;
	max-width: 37.5rem;
	padding-top: var(--space-12);
}

.process-brief__content .lead {
	max-width: 37.5rem;
}

.process-brief__list {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	margin-top: var(--space-8);
}

.process-brief__list article {
	width: 100%;
	min-width: 0;
	border-top: var(--border-default);
	padding-block: var(--space-4);
}

.process-brief__list article:last-child {
	border-bottom: var(--border-default);
}

.process-concept__container {
	display: flex;
	flex-direction: column;
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
	min-width: 0;
	gap: var(--space-16);
}

.process-concept__intro {
	width: 58.333%;
	min-width: 0;
	max-width: 40.625rem;
}

.process-concept__areas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: var(--space-6);
}

.process-concept__areas article {
	width: 100%;
	min-width: 0;
	border-top: 1px solid rgba(245, 241, 233, 0.42);
	padding-top: var(--space-4);
}

.process-concept__areas span {
	color: var(--color-sand);
}

.process-concept__areas h3 {
	font-size: 1.75rem;
}

.process-concept__areas p {
	color: var(--color-warm-white);
	font-size: var(--text-sm);
}

.process-visual__media {
	grid-column: 1 / span 7;
	width: 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;
}

.process-visual__media img {
	aspect-ratio: 16 / 9;
	object-position: center center;
	transition: transform var(--transition-base);
}

@media (hover: hover) and (pointer: fine) {
	.process-visual__media:hover img {
		transform: scale(1.02);
	}
}

.process-visual__content {
	grid-column: 9 / span 4;
	width: 100%;
	min-width: 0;
	max-width: 35rem;
}

.process-visual__content h2 {
	font-size: clamp(2.75rem, 4vw, 3.25rem);
}

.process-visual__points {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	margin-top: var(--space-8);
}

.process-visual__points article {
	width: 100%;
	min-width: 0;
	border-top: var(--border-default);
	padding-block: var(--space-4);
}

.process-visual__points article:last-child {
	border-bottom: var(--border-default);
}

.process-stage--technical__grid {
	row-gap: var(--space-16);
}

.process-stage--technical .process-stage__main {
	grid-column: 3 / span 6;
}

.process-technical__points {
	grid-column: 1 / span 12;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: var(--space-6);
}

.process-technical__points article {
	width: 100%;
	min-width: 0;
	border-top: var(--border-default);
	padding-top: var(--space-4);
}

.process-materials__content {
	grid-column: 1 / span 6;
	width: 100%;
	min-width: 0;
	max-width: 38.75rem;
}

.process-materials__content .lead {
	max-width: 35.625rem;
}

.process-materials__media {
	width: 100%;
	min-width: 0;
	margin: 0;
}

.process-materials__media--desktop {
	grid-column: 8 / span 5;
	margin-top: var(--space-12);
}

.process-materials__media img {
	aspect-ratio: 4 / 5;
	object-position: center center;
}

.process-materials__media--mobile {
	display: none;
}

.process-materials__closing {
	max-width: 35.625rem;
	margin-top: var(--space-8);
}

.process-materials__results {
	width: 100%;
	min-width: 0;
	max-width: 38.75rem;
	margin-top: var(--space-8);
}

.process-materials__results ul {
	width: 100%;
	min-width: 0;
	padding-left: 0;
	list-style: none;
	border-top: var(--border-default);
}

.process-materials__results li {
	width: 100%;
	min-width: 0;
	padding: var(--space-4) 0;
	border-bottom: var(--border-default);
}

.process-faq__container {
	display: flex;
	flex-direction: column;
	width: min(100% - (2 * var(--container-padding)), var(--container-max));
	min-width: 0;
	gap: var(--space-12);
}

.process-faq__intro {
	width: 50%;
	min-width: 0;
	max-width: 38.75rem;
}

.process-faq__items {
	width: 66.666%;
	min-width: 0;
	margin-left: 16.666%;
	border-top: var(--border-default);
}

.process-faq__item {
	width: 100%;
	min-width: 0;
	border-bottom: var(--border-default);
}

.process-faq__item h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: 0;
}

.process-faq__item button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-width: 0;
	min-height: 3.5rem;
	padding: var(--space-4) 0;
	border: 0;
	background: transparent;
	color: var(--text-primary);
	text-align: left;
	gap: var(--space-4);
}

.process-faq__item button > span:first-child {
	min-width: 0;
}

.process-faq__symbol {
	flex: 0 0 auto;
	width: 1.25rem;
	color: var(--color-olive-deep);
	font-size: 1.5rem;
	font-weight: var(--weight-regular);
	line-height: 1;
	text-align: center;
}

.process-faq__panel {
	width: 100%;
	min-width: 0;
	max-width: 42.5rem;
	overflow: hidden;
	transition:
		grid-template-rows var(--transition-base),
		opacity var(--transition-fast);
}

.process-faq__panel p {
	padding-bottom: var(--space-6);
	color: var(--text-secondary);
}

.process-faq__panel p:last-child {
	margin-bottom: 0;
}

.process-closing__content {
	display: flex;
	flex-direction: column;
	width: 50%;
	min-width: 0;
	max-width: 38.75rem;
	margin-inline: auto;
	gap: var(--space-4);
}

.process-closing__content h2,
.process-closing__content p {
	margin-bottom: 0;
}

.process-closing__cta {
	align-self: flex-start;
	margin-top: var(--space-4);
}

@media (max-width: 62.5rem) {
	.process-hero__grid,
	.process-brief__grid,
	.process-visual__grid,
	.process-materials__grid {
		grid-template-columns: 1fr;
		row-gap: var(--space-8);
	}

	.process-hero__content,
	.process-hero__media,
	.process-brief__media,
	.process-brief__content,
	.process-visual__media,
	.process-visual__content,
	.process-materials__content,
	.process-materials__media--desktop {
		grid-column: 1;
  }

	.process-hero__content {
		padding-block: 0;
	}

	.process-hero__content .lead,
	.process-hero__note,
	.process-brief__content .lead,
	.process-materials__content .lead,
	.process-materials__closing {
		max-width: none;
	}

	.process-brief__content {
		padding-top: 0;
	}

	.process-visual__media img {
		aspect-ratio: 4 / 5;
		object-position: center center;
	}

	.process-materials__media--desktop {
		display: none;
	}

	.process-materials__media--mobile {
		display: block;
	}
}

@media (max-width: 63.75rem) {
	.process-stage--consultation__grid,
	.process-stage--technical__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.process-stage__number,
	.process-stage__main,
	.process-stage--technical .process-stage__main,
	.process-stage__side-points,
	.process-technical__points {
		grid-column: 1 / span 2;
	}

	.process-stage__number {
		font-size: clamp(4rem, 8vw, 5.5rem);
	}

	.process-stage__main {
		max-width: none;
	}

	.process-stage__side-points {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 56.25rem) {
	.process-map__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.process-map__step {
		min-height: 10.75rem;
		border-bottom: var(--border-default);
	}

	.process-map__step:nth-child(4) {
		border-left: var(--border-default);
	}

	.process-concept__intro,
	.process-faq__intro {
		width: 100%;
		max-width: none;
	}

	.process-concept__areas,
	.process-technical__points {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 53.75rem) {
	.process-faq__items {
		width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 48rem) {
	.process-page .container,
	.process-concept__container,
	.process-faq__container {
		width: min(100% - (2 * var(--container-padding)), var(--container-max));
	}

	.process-hero__content h1 {
		font-size: clamp(2.625rem, 10vw, 3rem);
	}

	.process-map__intro {
		margin-bottom: var(--space-8);
	}

	.process-concept__container,
	.process-faq__container {
		gap: var(--space-8);
	}

	.process-closing__content {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 40rem) {
	.process-map__steps {
		grid-template-columns: 1fr;
		border-top: 0;
	}

	.process-map__step,
	.process-map__step:first-child,
	.process-map__step:nth-child(4) {
		display: grid;
		grid-template-columns: 3.25rem minmax(0, 1fr);
		grid-template-rows: auto auto;
		min-height: auto;
		border-right: 0;
		border-bottom: var(--border-default);
		border-left: 0;
		padding-inline: 0;
	}

	.process-map__step span {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.process-map__step strong,
	.process-map__step small {
		grid-column: 2;
	}

	.process-stage--consultation__grid,
	.process-stage--technical__grid {
		grid-template-columns: 1fr;
		row-gap: var(--space-6);
	}

	.process-stage__number,
	.process-stage__main,
	.process-stage--technical .process-stage__main,
	.process-stage__side-points,
	.process-technical__points {
		grid-column: 1;
	}

	.process-stage__side-points,
	.process-technical__points,
	.process-concept__areas {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.process-concept__areas article,
	.process-technical__points article {
		padding-top: var(--space-4);
	}

	.process-faq__item button {
		min-height: 3.5rem;
	}

	.process-closing__cta {
		width: 100%;
		align-self: stretch;
	}
}

@media (prefers-reduced-motion: reduce) {
	.process-visual__media img,
	.process-faq__panel,
	.process-hero__cta span,
	.process-closing__cta span {
		transition: none;
	}
}

.portfolio-page {
	overflow: clip;
}

.portfolio-page .section {
	position: relative;
}

.portfolio-hero__grid,
.portfolio-reading__grid,
.portfolio-project--sand__grid,
.portfolio-project--landscape__grid,
.portfolio-project--office__grid,
.portfolio-materials__grid,
.portfolio-process__grid,
.portfolio-statement__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	row-gap: var(--space-8);
}

.portfolio-hero__copy {
	grid-column: 1 / span 4;
	align-self: center;
	min-width: 0;
}

.portfolio-hero__copy h1 {
	max-width: 10ch;
}

.portfolio-hero__copy .lead {
	max-width: 31rem;
}

.portfolio-hero__link {
	width: fit-content;
}

.portfolio-hero__media {
	grid-column: 6 / span 7;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.portfolio-hero__media img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 60% center;
}

.portfolio-reading__intro {
	grid-column: 1 / span 4;
	min-width: 0;
}

.portfolio-reading__intro p {
  }

.portfolio-reading__list {
	display: grid;
	grid-column: 5 / span 8;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portfolio-reading__item {
	min-width: 0;
	padding: 0 var(--space-6);
	border-left: var(--border-default);
}

.portfolio-reading__item:first-child {
	padding-left: 0;
	border-left: 0;
}

.portfolio-reading__item p {
  }

.portfolio-reading__number,
.portfolio-process__steps > li > span {
	display: block;
	margin-bottom: var(--space-4);
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	font-weight: var(--weight-medium);
	line-height: 0.9;
}

.portfolio-project__figure,
.portfolio-materials__figure {
	width: 100%;
	min-width: 0;
	margin: 0;
}

.portfolio-project__image-wrap {
	width: 100%;
	overflow: hidden;
}

.portfolio-project__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-base);
}

.portfolio-project--sand__figure {
	grid-column: 1 / span 7;
}

.portfolio-project--sand__figure img {
	aspect-ratio: 3 / 2;
	object-position: center;
}

.portfolio-project--sand__copy {
	grid-column: 9 / span 4;
	align-self: start;
	min-width: 0;
	margin-top: var(--space-24);
}

.portfolio-project__copy > p {
  }

.portfolio-project__metadata {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
	width: 100%;
	min-width: 0;
	max-width: 22.5rem;
	margin-top: var(--space-8);
}

.portfolio-project__metadata > div {
	min-width: 0;
	padding-top: var(--space-4);
	border-top: var(--border-default);
}

.portfolio-project__metadata p {
	margin-bottom: 0;
}

.portfolio-project__meta-label,
.portfolio-materials__observations span {
	display: block;
	margin-bottom: var(--space-2);
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.portfolio-project--landscape__intro {
	grid-column: 1 / span 5;
	min-width: 0;
}

.portfolio-project--landscape__intro p {
  }

.portfolio-project--landscape__figure {
	grid-column: 1 / -1;
}

.portfolio-project--landscape__figure img {
	aspect-ratio: 16 / 9;
	object-position: center;
}

.portfolio-project--landscape__notes {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	row-gap: var(--space-6);
	min-width: 0;
}

.portfolio-project--landscape__notes article {
	min-width: 0;
}

.portfolio-project--landscape__notes article:first-child {
	grid-column: 1 / span 4;
}

.portfolio-project--landscape__notes article:last-child {
	grid-column: 7 / span 4;
}

.portfolio-project--landscape__notes p {
  margin-bottom: 0;
}

.portfolio-project--office__copy {
	grid-column: 1 / span 5;
	min-width: 0;
}

.portfolio-project--office__figure {
	grid-column: 8 / span 5;
}

.portfolio-project--office__figure img {
	aspect-ratio: 4 / 5;
	object-position: center;
}

.portfolio-decisions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: var(--space-8) 0 0;
	padding: 0;
	list-style: none;
}

.portfolio-decisions li {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: var(--space-3);
	min-width: 0;
	padding: var(--space-4) 0;
	border-top: var(--border-default);
}

.portfolio-decisions li:last-child {
	border-bottom: var(--border-default);
}

.portfolio-decisions li > span {
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.08em;
}

.portfolio-decisions li > div {
	min-width: 0;
}

.portfolio-decisions h3 {
	margin-bottom: var(--space-2);
	font-size: var(--text-xl);
}

.portfolio-decisions p {
  margin-bottom: 0;
}

.portfolio-materials__intro {
	grid-column: 1 / span 5;
	min-width: 0;
}

.portfolio-materials__intro .lead {
	max-width: 32.5rem;
}

.portfolio-materials__lower {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	row-gap: var(--space-8);
	min-width: 0;
}

.portfolio-materials__figure {
	grid-column: 1 / span 6;
}

.portfolio-materials__figure img {
	aspect-ratio: 3 / 2;
	object-position: center;
}

.portfolio-materials__observations {
	display: grid;
	grid-column: 8 / span 5;
	grid-template-columns: 1fr;
	gap: 0;
	min-width: 0;
}

.portfolio-materials__observations article {
	min-width: 0;
	padding: var(--space-4) 0;
	border-top: var(--border-default);
}

.portfolio-materials__observations article:last-child {
	border-bottom: var(--border-default);
}

.portfolio-materials__observations p {
  margin-bottom: 0;
}

.portfolio-process__intro {
	grid-column: 1 / span 5;
	min-width: 0;
}

.portfolio-process__intro .lead {
	max-width: 35rem;
}

.portfolio-process__steps {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
	margin: var(--space-4) 0 0;
	padding: 0;
	list-style: none;
}

.portfolio-process__steps li {
	min-width: 0;
	padding-top: var(--space-4);
	border-top: 1px solid rgba(38, 38, 36, 0.35);
}

.portfolio-process__steps p {
  margin-bottom: 0;
}

.portfolio-process__link {
	grid-column: 1 / span 4;
	width: fit-content;
	margin-top: var(--space-2);
}

.portfolio-statement__thesis {
	grid-column: 3 / span 7;
	min-width: 0;
}

.portfolio-statement__thesis h2 {
	max-width: 42.5rem;
	font-size: clamp(2.375rem, 4.2vw, 4rem);
}

.portfolio-statement__copy {
	grid-column: 3 / span 5;
	max-width: 32.5rem;
	min-width: 0;
	margin-bottom: 0;
}

.portfolio-statement__contrasts {
	display: grid;
	grid-column: 7 / span 6;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
}

.portfolio-statement__contrasts article {
	min-width: 0;
	padding-top: var(--space-4);
	border-top: var(--border-default);
}

.portfolio-statement__contrasts h3 {
	font-size: var(--text-xl);
}

.portfolio-statement__contrasts p {
  margin-bottom: 0;
}

.portfolio-cta__panel {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	padding: clamp(var(--space-16), 6vw, var(--space-24));
}

.portfolio-cta__content {
	display: flex;
	grid-column: 1 / span 6;
	flex-direction: column;
	gap: var(--space-6);
	min-width: 0;
}

.portfolio-cta__content > * {
	min-width: 0;
	margin: 0;
}

.portfolio-cta__content h2 {
	max-width: 38.75rem;
}

.portfolio-cta__content p {
  }

.portfolio-cta__button {
	width: fit-content;
	min-width: 12.5rem;
	gap: var(--space-2);
}

.portfolio-cta__button span {
	transition: transform var(--transition-fast);
}

.portfolio-cta__button:hover span {
	transform: translateX(0.25rem);
}

.portfolio-note__content {
	width: 50%;
	max-width: 43.75rem;
	min-width: 0;
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.portfolio-note__content p {
  margin-bottom: 0;
	color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: 1.5;
}

@media (hover: hover) and (pointer: fine) {
	.portfolio-project__image-wrap:hover img {
		transform: scale(1.02);
	}
}

@media (max-width: 61.25rem) {
	.portfolio-hero__grid,
	.portfolio-project--sand__grid,
	.portfolio-project--office__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		column-gap: var(--space-6);
	}

	.portfolio-hero__copy {
		grid-column: 1 / span 3;
	}

	.portfolio-hero__media {
		grid-column: 4 / span 5;
	}

	.portfolio-project--sand__figure {
		grid-column: 1 / span 5;
	}

	.portfolio-project--sand__copy {
		grid-column: 6 / span 3;
		margin-top: var(--space-16);
	}

	.portfolio-project--office__copy {
		grid-column: 1 / span 4;
	}

	.portfolio-project--office__figure {
		grid-column: 5 / span 4;
	}

	.portfolio-project--sand__copy h2,
	.portfolio-project--office__copy h2 {
		font-size: clamp(2rem, 4.2vw, 2.75rem);
	}
}

@media (max-width: 57.5rem) {
	.portfolio-reading__grid,
	.portfolio-project--landscape__grid,
	.portfolio-materials__grid,
	.portfolio-process__grid,
	.portfolio-statement__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		column-gap: var(--space-6);
	}

	.portfolio-reading__intro {
		grid-column: 1 / span 3;
	}

	.portfolio-reading__list {
		grid-column: 4 / span 5;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portfolio-reading__item:nth-child(3) {
		grid-column: 1 / span 1;
		margin-top: var(--space-6);
		padding-left: 0;
		border-left: 0;
	}

	.portfolio-project--landscape__intro,
	.portfolio-materials__intro,
	.portfolio-process__intro {
		grid-column: 1 / span 5;
	}

	.portfolio-project--landscape__notes,
	.portfolio-materials__lower {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.portfolio-project--landscape__notes article:first-child,
	.portfolio-project--landscape__notes article:last-child {
		grid-column: 1 / span 4;
	}

	.portfolio-project--landscape__notes article:last-child {
		grid-column: 5 / span 4;
	}

	.portfolio-materials__figure {
		grid-column: 1 / span 8;
	}

	.portfolio-materials__observations {
		grid-column: 1 / span 8;
	}

	.portfolio-materials__observations p {
  }

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

	.portfolio-process__steps li:nth-child(3) {
		grid-column: 1 / span 1;
	}

	.portfolio-statement__thesis {
		grid-column: 2 / span 6;
	}

	.portfolio-statement__copy {
		grid-column: 2 / span 5;
	}

	.portfolio-statement__contrasts {
		grid-column: 4 / span 5;
	}

	.portfolio-note__content {
		width: 75%;
	}
}

@media (max-width: 60rem) {
	.portfolio-project--sand__grid,
	.portfolio-project--office__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}

	.portfolio-project--sand__figure,
	.portfolio-project--sand__copy,
	.portfolio-project--office__copy,
	.portfolio-project--office__figure {
		grid-column: 1;
		width: 100%;
		margin-top: 0;
	}

	.portfolio-project--sand__copy,
	.portfolio-project--office__copy {
		max-width: 32.5rem;
	}

	.portfolio-project--office__figure {
		order: -1;
	}
}

@media (max-width: 47.9375rem) {
	.portfolio-hero__grid,
	.portfolio-reading__grid,
	.portfolio-project--landscape__grid,
	.portfolio-materials__grid,
	.portfolio-process__grid,
	.portfolio-statement__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}

	.portfolio-hero__copy,
	.portfolio-hero__media,
	.portfolio-reading__intro,
	.portfolio-reading__list,
	.portfolio-project--landscape__intro,
	.portfolio-project--landscape__figure,
	.portfolio-project--landscape__notes,
	.portfolio-materials__intro,
	.portfolio-materials__lower,
	.portfolio-process__intro,
	.portfolio-process__steps,
	.portfolio-process__link,
	.portfolio-statement__thesis,
	.portfolio-statement__copy,
	.portfolio-statement__contrasts {
		grid-column: 1;
		width: 100%;
	}

	.portfolio-hero__copy h1 {
		max-width: 11ch;
		font-size: clamp(2.625rem, 11vw, 3rem);
	}

	.portfolio-hero__copy .lead,
	.portfolio-reading__intro p,
	.portfolio-project__copy > p,
	.portfolio-project--landscape__intro p,
	.portfolio-materials__intro .lead,
	.portfolio-process__intro .lead,
	.portfolio-statement__copy {
		max-width: none;
	}

	.portfolio-hero__media img {
		aspect-ratio: 4 / 5;
	}

	.portfolio-reading__list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.portfolio-reading__item,
	.portfolio-reading__item:first-child,
	.portfolio-reading__item:nth-child(3) {
		grid-column: 1;
		margin-top: 0;
		padding: var(--space-6) 0;
		border-top: var(--border-default);
		border-left: 0;
	}

	.portfolio-reading__item:last-child {
		border-bottom: var(--border-default);
	}

	.portfolio-reading__item p {
  margin-bottom: 0;
	}

	.portfolio-project--sand__figure img {
		aspect-ratio: 4 / 5;
		object-position: 55% center;
	}

	.portfolio-project--landscape__figure img {
		aspect-ratio: 3 / 2;
		object-position: center;
	}

	.portfolio-project--landscape__notes,
	.portfolio-materials__lower {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.portfolio-project--landscape__notes article:first-child,
	.portfolio-project--landscape__notes article:last-child,
	.portfolio-materials__figure,
	.portfolio-materials__observations {
		grid-column: 1;
		width: 100%;
	}

	.portfolio-project--landscape__notes article {
		padding-top: var(--space-4);
		border-top: var(--border-default);
	}

	.portfolio-project--landscape__notes article:last-child {
		padding-bottom: var(--space-4);
		border-bottom: var(--border-default);
	}

	.portfolio-project--landscape__notes p,
	.portfolio-decisions p,
	.portfolio-materials__observations p,
	.portfolio-process__steps p,
	.portfolio-statement__contrasts p {
  }

	.portfolio-project--office__figure img {
		aspect-ratio: 4 / 5;
	}

	.portfolio-process__steps {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 0;
	}

	.portfolio-process__steps li,
	.portfolio-process__steps li:nth-child(3) {
		grid-column: 1;
		padding: var(--space-6) 0;
	}

	.portfolio-process__steps li:last-child {
		border-bottom: 1px solid rgba(38, 38, 36, 0.35);
	}

	.portfolio-process__link {
		margin-top: 0;
	}

	.portfolio-statement__thesis h2 {
		max-width: none;
		font-size: clamp(2.125rem, 9vw, 2.375rem);
	}

	.portfolio-statement__contrasts {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.portfolio-cta__panel {
		grid-template-columns: 1fr;
		padding: var(--space-8) var(--space-6);
	}

	.portfolio-cta__content {
		grid-column: 1;
		width: 100%;
	}

	.portfolio-cta__content h2 {
		font-size: clamp(2.5rem, 10vw, 2.75rem);
	}

	.portfolio-cta__button {
		width: 100%;
	}

	.portfolio-note__content {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portfolio-project__image-wrap img,
	.portfolio-cta__button span {
		transform: none !important;
	}
}

.kontakt-page {
	overflow: clip;
}

.kontakt-page .container {
	max-width: var(--container-max);
}

.kontakt-hero {
	padding-block: clamp(6rem, 9vw, 8rem);
}

.kontakt-hero__grid,
.kontakt-direct__grid,
.kontakt-form__grid,
.kontakt-process__grid,
.kontakt-faq__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1.5rem;
}

.kontakt-hero__copy {
	grid-column: 1 / span 5;
	align-self: center;
	min-width: 0;
	max-width: 33.75rem;
}

.kontakt-hero__copy .lead {
	max-width: 29.375rem;
}

.kontakt-hero__actions,
.kontakt-closing__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-width: 0;
	gap: 1rem;
}

.kontakt-hero__actions > *,
.kontakt-closing__actions > * {
	min-width: 0;
}

.kontakt-hero__media {
	grid-column: 7 / -1;
	width: 100%;
	min-width: 0;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.kontakt-hero__media img,
.kontakt-materials__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.kontakt-hero__media img {
	object-position: 62% center;
}

.kontakt-preparation {
	border-top: var(--border-default);
}

.kontakt-preparation__intro {
	width: 41.666%;
	min-width: 0;
	max-width: 35rem;
}

.kontakt-preparation__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	min-width: 0;
	margin-top: 4rem;
	border-top: var(--border-default);
}

.kontakt-preparation__item {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	min-width: 0;
	gap: 1rem;
	padding: 2rem 1.5rem 0 0;
}

.kontakt-preparation__item + .kontakt-preparation__item {
	padding-left: 1.5rem;
	border-left: var(--border-default);
}

.kontakt-preparation__number,
.kontakt-process__number {
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: 2.125rem;
	font-weight: var(--weight-medium);
	line-height: 1;
}

.kontakt-preparation__content {
	min-width: 0;
	max-width: 21.25rem;
}

.kontakt-direct {
	background: var(--surface-sand);
}

.kontakt-direct__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 31.25rem;
}

.kontakt-direct__list {
	display: flex;
	grid-column: 6 / span 6;
	flex-direction: column;
	min-width: 0;
}

.kontakt-direct__item {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 4fr);
	min-width: 0;
	gap: 1.5rem;
	padding-block: 1.5rem;
	border-top: var(--border-default);
}

.kontakt-direct__item:last-child {
	border-bottom: var(--border-default);
}

.kontakt-direct__label,
.kontakt-direct__detail {
	min-width: 0;
}

.kontakt-direct__label h3 {
	margin-bottom: 0;
	font-size: 1.5rem;
}

.kontakt-direct__value {
	display: inline-block;
	min-height: 2.75rem;
	color: var(--color-graphite);
	font-family: var(--font-body);
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.kontakt-direct__value:hover {
	color: var(--color-olive-deep);
}

.kontakt-direct__address {
	margin-bottom: 1rem;
}

.kontakt-direct__detail p:not(.kontakt-direct__address) {
	max-width: 16.25rem;
}

.kontakt-form {
	border-top: var(--border-default);
}

.kontakt-form__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 35rem;
}

.kontakt-form__intro .lead {
	max-width: 35rem;
}

.kontakt-form__panel {
	grid-column: 5 / -1;
	min-width: 0;
	padding: clamp(2rem, 4vw, 4rem);
	background: var(--surface-paper);
}

.kontakt-form__fields {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2rem;
}

.kontakt-fieldset {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 1.25rem;
}

.kontakt-fieldset + .kontakt-fieldset {
	padding-top: 2rem;
	border-top: var(--border-default);
}

.kontakt-fieldset legend {
	color: var(--color-graphite);
	font-family: var(--font-heading);
	font-size: 2rem;
	font-weight: var(--weight-medium);
	line-height: var(--leading-tight);
}

.kontakt-fieldset__description {
	max-width: 28.75rem;
	margin-bottom: 0;
	color: var(--text-secondary);
	font-size: var(--text-sm);
}

.kontakt-form__two-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
	gap: 1.5rem;
}

.kontakt-form__two-columns > *,
.kontakt-scope-options > * {
	min-width: 0;
}

.kontakt-form__location,
.kontakt-form__project-description,
.kontakt-form__phone {
	width: 100%;
	min-width: 0;
}

.kontakt-form__location {
	max-width: calc(50% - 0.75rem);
}

.kontakt-scope-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
	gap: 0.75rem 1.5rem;
}

.kontakt-check {
	display: flex;
	align-items: flex-start;
	min-width: 0;
	gap: 0.75rem;
	margin-bottom: 0;
	color: var(--text-primary);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: 1.5;
}

.kontakt-check input {
	flex: 0 0 1.125rem;
	margin-top: 0.1875rem;
}

.kontakt-check span {
	min-width: 0;
}

.kontakt-form textarea {
	min-height: 9rem;
}

.kontakt-consent {
	min-width: 0;
	padding-top: 1.5rem;
	border-top: var(--border-default);
}

.kontakt-check--consent {
	max-width: 40rem;
}

.kontakt-form__submit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: 0.75rem;
}

.kontakt-form__submit p {
	margin-bottom: 0;
}

.kontakt-form__status {
	padding: 1rem;
	border: 1px solid var(--color-olive);
	background: var(--surface-base);
	color: var(--color-graphite);
	font-weight: var(--weight-medium);
}

.kontakt-process {
	border-top: var(--border-default);
}

.kontakt-process__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 32.5rem;
}

.kontakt-process__steps {
	display: flex;
	grid-column: 6 / span 6;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kontakt-process__step {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	min-width: 0;
	gap: 1.5rem;
	padding: 0 0 2rem;
}

.kontakt-process__step:not(:last-child) {
	border-left: 1px solid var(--color-olive);
}

.kontakt-process__number {
	position: relative;
	left: -0.1875rem;
	width: 5rem;
	background: var(--surface-base);
}

.kontakt-process__content {
	min-width: 0;
	max-width: 24.375rem;
}

.kontakt-materials {
	border-top: var(--border-default);
}

.kontakt-materials__media {
	width: 100%;
	min-width: 0;
	margin: 0 0 3rem;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.kontakt-materials__media img {
	object-position: center;
}

.kontakt-materials__heading {
	width: 41.666%;
	min-width: 0;
	max-width: 32.5rem;
}

.kontakt-materials__topics {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	min-width: 0;
	gap: 1.5rem;
	margin-top: 3rem;
}

.kontakt-materials__topic {
	min-width: 0;
}

.kontakt-materials__topic:nth-child(1) {
	grid-column: 1 / span 4;
	max-width: 20.625rem;
}

.kontakt-materials__topic:nth-child(2) {
	grid-column: 5 / span 4;
	max-width: 20.625rem;
}

.kontakt-materials__topic:nth-child(3) {
	grid-column: 10 / span 3;
	max-width: 20.625rem;
}

.kontakt-faq {
	border-top: var(--border-default);
}

.kontakt-faq__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 33.75rem;
}

.kontakt-faq__list {
	display: flex;
	grid-column: 5 / -1;
	flex-direction: column;
	min-width: 0;
}

.kontakt-faq__item {
	min-width: 0;
	border-top: var(--border-default);
}

.kontakt-faq__item:last-child {
	border-bottom: var(--border-default);
}

.kontakt-faq__item h3 {
	margin: 0;
}

.kontakt-faq__question {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 3rem;
	width: 100%;
	min-width: 0;
	min-height: 4.5rem;
	padding: 1rem 0;
	border: 0;
	background: transparent;
	color: var(--color-graphite);
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: var(--weight-medium);
	line-height: 1.15;
	text-align: left;
}

.kontakt-faq__question > span:first-child {
	min-width: 0;
}

.kontakt-faq__symbol {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	min-width: 3rem;
	color: var(--color-olive-deep);
	font-family: var(--font-body);
	font-size: 1.5rem;
	line-height: 1;
}

.kontakt-faq__answer {
	max-width: 38.75rem;
	padding: 1rem 1.5rem 1.25rem;
	background: color-mix(in srgb, var(--color-sand) 38%, transparent);
}

.kontakt-faq__answer p {
	margin-bottom: 0;
}

.kontakt-closing {
	background: var(--surface-dark);
}

.kontakt-closing__content {
	width: 50%;
	min-width: 0;
	max-width: 37.5rem;
	margin-inline: auto;
}

.kontakt-closing__content p {
  }

.kontakt-closing .button {
	background: var(--color-warm-white);
	color: var(--color-graphite);
}

.kontakt-closing .button:hover {
	background: var(--color-sand);
	color: var(--color-graphite);
}

.kontakt-closing .text-link {
	color: var(--color-warm-white);
}

.kontakt-closing .text-link:hover {
	color: var(--color-sand);
}

@media (max-width: 64rem) {
	.kontakt-hero__grid,
	.kontakt-direct__grid,
	.kontakt-form__grid,
	.kontakt-process__grid,
	.kontakt-faq__grid,
	.kontakt-materials__topics {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.kontakt-hero__grid {
		row-gap: 2rem;
	}

	.kontakt-hero__copy,
	.kontakt-hero__media,
	.kontakt-direct__intro,
	.kontakt-direct__list,
	.kontakt-form__intro,
	.kontakt-form__panel,
	.kontakt-process__intro,
	.kontakt-process__steps,
	.kontakt-faq__intro,
	.kontakt-faq__list {
		grid-column: 1 / -1;
	}

	.kontakt-hero__copy,
	.kontakt-direct__intro,
	.kontakt-form__intro,
	.kontakt-process__intro,
	.kontakt-faq__intro {
		max-width: 35rem;
	}

	.kontakt-hero__media {
		max-width: 42rem;
	}

	.kontakt-preparation__intro,
	.kontakt-materials__heading {
		width: 62.5%;
	}

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

	.kontakt-preparation__item:nth-child(3) {
		margin-top: 2rem;
		padding-left: 0;
		border-left: 0;
	}

	.kontakt-direct__list {
		margin-top: 1rem;
	}

	.kontakt-form__panel {
		margin-top: 1rem;
	}

	.kontakt-process__steps {
		margin-top: 1rem;
	}

	.kontakt-materials__topic:nth-child(1),
	.kontakt-materials__topic:nth-child(2) {
		grid-column: span 4;
	}

	.kontakt-materials__topic:nth-child(3) {
		grid-column: 1 / span 4;
		margin-top: 1.5rem;
	}

	.kontakt-faq__list {
		margin-top: 1rem;
	}

	.kontakt-closing__content {
		width: 75%;
	}
}

@media (max-width: 53.75rem) {
	.kontakt-form__two-columns,
	.kontakt-scope-options {
		grid-template-columns: 1fr;
	}

	.kontakt-form__location {
		max-width: 100%;
	}
}

@media (max-width: 42.5rem) {
	.kontakt-hero {
		padding-block: 4rem;
	}

	.kontakt-hero__grid,
	.kontakt-direct__grid,
	.kontakt-form__grid,
	.kontakt-process__grid,
	.kontakt-faq__grid,
	.kontakt-materials__topics {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}

	.kontakt-hero__copy,
	.kontakt-hero__media,
	.kontakt-direct__intro,
	.kontakt-direct__list,
	.kontakt-form__intro,
	.kontakt-form__panel,
	.kontakt-process__intro,
	.kontakt-process__steps,
	.kontakt-faq__intro,
	.kontakt-faq__list,
	.kontakt-materials__topic:nth-child(1),
	.kontakt-materials__topic:nth-child(2),
	.kontakt-materials__topic:nth-child(3) {
		grid-column: 1 / -1;
	}

	.kontakt-hero__copy h1 {
		font-size: clamp(2.625rem, 11vw, 3rem);
	}

	.kontakt-hero__actions,
	.kontakt-closing__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kontakt-hero__actions .button,
	.kontakt-closing__actions .button {
		width: 100%;
	}

	.kontakt-hero__actions .text-link,
	.kontakt-closing__actions .text-link {
		min-height: 2.75rem;
	}

	.kontakt-preparation__intro,
	.kontakt-materials__heading,
	.kontakt-closing__content {
		width: 100%;
	}

	.kontakt-preparation__list {
		grid-template-columns: 1fr;
		margin-top: 2.5rem;
	}

	.kontakt-preparation__item,
	.kontakt-preparation__item + .kontakt-preparation__item,
	.kontakt-preparation__item:nth-child(3) {
		grid-template-columns: 2.75rem minmax(0, 1fr);
		margin-top: 0;
		padding: 1.5rem 0;
		border-left: 0;
		border-bottom: var(--border-default);
	}

	.kontakt-preparation__item:last-child {
		border-bottom: 0;
	}

	.kontakt-direct__item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.kontakt-direct__detail p:not(.kontakt-direct__address) {
		max-width: 100%;
	}

	.kontakt-form__panel {
		padding: 1.25rem;
	}

	.kontakt-fieldset legend {
		font-size: 1.75rem;
	}

	.kontakt-form__submit .button {
		width: 100%;
	}

	.kontakt-process__step {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding-left: 1.25rem;
	}

	.kontakt-process__step:not(:last-child) {
		border-left: 1px solid var(--color-olive);
	}

	.kontakt-process__number {
		left: -1.625rem;
		width: auto;
		padding-left: 0.25rem;
	}

	.kontakt-process__content {
		max-width: 100%;
	}

	.kontakt-materials__media {
		margin-bottom: 2rem;
		aspect-ratio: 3 / 2;
	}

	.kontakt-materials__topics {
		margin-top: 2rem;
	}

	.kontakt-materials__topic:nth-child(3) {
		margin-top: 0;
	}

	.kontakt-faq__answer {
		padding: 1rem 0 1.25rem;
		background: transparent;
	}

	.kontakt-closing__content {
		margin-inline: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kontakt-page * {
		transition: none !important;
	}
}

.pm-page {
	overflow: hidden;
}
.pm-page .section--spacious {
	padding-block: 8rem;
}
.pm-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	column-gap: 8.333%;
	align-items: center;
}
.pm-hero__copy {
	grid-column: 1;
	min-width: 0;
	max-width: 32.5rem;
}
.pm-hero__copy .lead {
	max-width: 27.5rem;
}
.pm-hero__media {
	grid-column: 2;
	min-width: 0;
	margin: 0;
}
.pm-hero__media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: right center;
}
.pm-hero__media figcaption {
	max-width: 28rem;
}
.pm-start__intro {
	width: 50%;
	min-width: 0;
	margin-left: 16.667%;
}
.pm-start__intro .lead {
	max-width: 38.75rem;
}
.pm-principles {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 66.667%;
	margin-top: var(--space-16);
	margin-left: 16.667%;
}
.pm-principle {
	display: grid;
	grid-template-columns: minmax(4rem, 1fr) minmax(0, 6fr);
	gap: var(--space-6);
	min-width: 0;
	padding-block: var(--space-8);
	border-top: var(--border-default);
}
.pm-principle:last-child {
	border-bottom: var(--border-default);
}
.pm-principle__number {
	min-width: 0;
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: 2.25rem;
	line-height: 1;
}
.pm-principle__copy {
	min-width: 0;
	max-width: 42.5rem;
}
.pm-zones__intro {
	width: 50%;
	min-width: 0;
}
.pm-zones__intro .lead {
	max-width: 37.5rem;
}
.pm-zones__layout {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-24);
	margin-top: var(--space-16);
}
.pm-zone {
	display: grid;
	min-width: 0;
	align-items: start;
	gap: var(--space-8);
}
.pm-zone--living {
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
}
.pm-zone--bedroom {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}
.pm-zone--bedroom .pm-zone__copy {
	grid-column: 7 / span 5;
}
.pm-zone--kitchen {
	grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
	column-gap: 16.667%;
}
.pm-zone--bathroom {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	border-bottom: var(--border-default);
	padding-bottom: var(--space-12);
}
.pm-zone--bathroom .pm-zone__copy {
	grid-column: 2 / span 5;
}
.pm-zone__copy {
	min-width: 0;
	max-width: 32.5rem;
}
.pm-zone__media {
	min-width: 0;
	margin: 0;
	overflow: hidden;
}
.pm-zone__media img {
	width: 100%;
	object-fit: cover;
	transition: transform var(--transition-base);
}
.pm-zone__media:hover img {
	transform: scale(1.02);
}
.pm-zone__media--wide img {
	aspect-ratio: 3 / 2;
}
.pm-zone__media--portrait img {
	aspect-ratio: 4 / 5;
	object-position: center;
}
.pm-concept__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 8.333%;
	align-items: stretch;
}
.pm-concept__media {
	min-width: 0;
	margin: 0;
}
.pm-concept__media img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.pm-concept__content {
	min-width: 0;
}
.pm-concept__content > h2 {
	max-width: 32.5rem;
}
.pm-concept__blocks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
	margin-top: var(--space-8);
}
.pm-concept__blocks article {
	min-width: 0;
	padding-top: var(--space-4);
	border-top: var(--border-default);
}
.pm-concept__materials {
	max-width: 33.75rem;
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: var(--border-default);
}
.pm-scope__intro {
	width: 41.667%;
	min-width: 0;
}
.pm-scope__intro .lead {
	max-width: 37.5rem;
}
.pm-scope__list {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 66.667%;
	margin-top: var(--space-16);
	margin-left: 16.667%;
}
.pm-scope__list article {
	display: grid;
	grid-template-columns: minmax(4rem, 1fr) minmax(0, 6fr);
	gap: var(--space-6);
	min-width: 0;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}
.pm-scope__list article:last-child {
	border-bottom: var(--border-default);
}
.pm-scope__list span {
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: 2.25rem;
	line-height: 1;
}
.pm-scope__list article > div {
	min-width: 0;
	max-width: 38.75rem;
}
.pm-process__intro {
	width: 41.667%;
	min-width: 0;
}
.pm-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	min-width: 0;
	margin-top: var(--space-16);
	border-top: 1px solid rgba(245, 241, 233, 0.42);
}
.pm-process__steps article {
	min-width: 0;
	padding: var(--space-6);
	border-right: 1px solid rgba(245, 241, 233, 0.42);
}
.pm-process__steps article:first-child {
	padding-left: 0;
}
.pm-process__steps article:last-child {
	border-right: 0;
}
.pm-process__steps span {
	display: block;
	margin-bottom: var(--space-8);
	color: var(--color-sand);
	font-family: var(--font-heading);
	font-size: 3rem;
	line-height: 1;
}
.pm-process__steps h3 {
	font-size: 1.65rem;
}
.pm-process__steps p {
  }
.pm-scenarios__intro {
	width: 50%;
	min-width: 0;
}
.pm-scenarios__grid {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 4fr);
	gap: 8.333%;
	min-width: 0;
	margin-top: var(--space-16);
}
.pm-scenarios__grid article {
	min-width: 0;
	max-width: 23.75rem;
	padding-top: var(--space-4);
	border-top: var(--border-default);
}
.pm-scenarios__grid article:nth-child(2) {
	margin-top: var(--space-12);
}
.pm-scenarios__grid article:nth-child(3) {
	margin-top: var(--space-24);
}
.pm-scenarios__link {
	margin-top: var(--space-12);
}
.pm-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 8fr);
	gap: 8.333%;
	align-items: start;
}
.pm-faq__intro {
	min-width: 0;
}
.pm-faq__intro .lead {
	max-width: 32rem;
}
.pm-faq__accordion {
	min-width: 0;
}
.pm-faq__item {
	min-width: 0;
	border-top: var(--border-default);
}
.pm-faq__item:last-of-type {
	border-bottom: var(--border-default);
}
.pm-faq__item h3 {
	margin: 0;
}
.pm-faq__item button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-width: 0;
	padding: var(--space-6) 0;
	border: 0;
	background: transparent;
	color: var(--color-graphite);
	font-family: var(--font-heading);
	font-size: 1.7rem;
	font-weight: var(--weight-medium);
	line-height: 1.15;
	text-align: left;
}
.pm-faq__item button span {
	flex: 0 0 2.75rem;
	width: 2.75rem;
	color: var(--color-olive-deep);
	font-family: var(--font-body);
	font-size: 1.5rem;
	text-align: right;
}
.pm-faq__answer {
	max-width: 40.625rem;
	padding: 0 2.75rem var(--space-6) 0;
}
.pm-faq__link {
	margin-top: var(--space-8);
}
.pm-contact__copy {
	width: 50%;
	min-width: 0;
}
.pm-contact__copy .lead {
	max-width: 35rem;
}
.pm-contact__preparation {
	margin-top: var(--space-16);
}
.pm-contact__preparation > div {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	min-width: 0;
	border-top: var(--border-default);
}
.pm-contact__preparation article {
	min-width: 0;
	padding: var(--space-6) var(--space-6) 0 0;
	border-right: var(--border-default);
}
.pm-contact__preparation article + article {
	padding-left: var(--space-6);
}
.pm-contact__preparation article:last-child {
	border-right: 0;
}
.pm-contact__preparation p {
  }
.pm-related {
	padding-block: var(--space-24);
}
.pm-related .container {
	border-top: var(--border-default);
	padding-top: var(--space-16);
}
.pm-related__intro {
	width: 41.667%;
	min-width: 0;
}
.pm-related__links {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 4fr);
	gap: 8.333%;
	min-width: 0;
	margin-top: var(--space-12);
}
.pm-related__links a {
	display: block;
	min-width: 0;
	max-width: 22.5rem;
	color: var(--color-graphite);
	text-decoration: none;
}
.pm-related__links a:nth-child(2) {
	margin-left: 25%;
}
.pm-related__links h3 span {
	color: var(--color-olive-deep);
	transition: transform var(--transition-fast);
}
.pm-related__links a:hover h3 span {
	display: inline-block;
	transform: translateX(0.25rem);
}
.pm-related__links p {
	color: var(--text-secondary);
}
@media (max-width: 65.5625rem) {
	.pm-page .section--spacious {
		padding-block: var(--space-24);
	}
	.pm-hero__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
		gap: var(--space-6);
	}
	.pm-hero__copy {
		max-width: none;
	}
	.pm-hero__media img {
		aspect-ratio: 4 / 5;
		object-position: center;
	}
	.pm-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pm-process__steps article:nth-child(2) {
		border-right: 0;
	}
	.pm-process__steps article:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(245, 241, 233, 0.42);
	}
	.pm-process__steps article:first-child {
		padding-left: 0;
	}
	.pm-process__steps article:nth-child(3) {
		padding-left: 0;
	}
}
@media (max-width: 62.5rem) {
	.pm-zones__layout {
		gap: var(--space-16);
	}
	.pm-zone--living,
	.pm-zone--kitchen,
	.pm-zone--bedroom,
	.pm-zone--bathroom {
		display: flex;
		flex-direction: column;
		gap: var(--space-6);
	}
	.pm-zone--living .pm-zone__copy,
	.pm-zone--kitchen .pm-zone__copy,
	.pm-zone--bedroom .pm-zone__copy,
	.pm-zone--bathroom .pm-zone__copy {
		width: 100%;
		max-width: 32.5rem;
	}
	.pm-zone--living .pm-zone__media {
		order: 2;
		width: 100%;
	}
	.pm-zone--kitchen .pm-zone__media {
		order: 2;
		width: 100%;
	}
	.pm-zone--bathroom {
		padding-bottom: var(--space-8);
	}
}
@media (max-width: 59.375rem) {
	.pm-concept__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.pm-concept__media img {
		height: auto;
	}
	.pm-concept__content > h2 {
		max-width: 40rem;
	}
	.pm-concept__blocks {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
}
@media (max-width: 56.25rem) {
	.pm-start__intro,
	.pm-scope__intro,
	.pm-process__intro,
	.pm-scenarios__intro,
	.pm-related__intro {
		width: 100%;
		margin-left: 0;
	}
	.pm-principles,
	.pm-scope__list {
		width: 100%;
		margin-left: 0;
	}
	.pm-scenarios__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.pm-scenarios__grid article,
	.pm-scenarios__grid article:nth-child(2),
	.pm-scenarios__grid article:nth-child(3) {
		width: 100%;
		max-width: none;
		margin-top: 0;
		padding-block: var(--space-6);
	}
	.pm-scenarios__grid article:last-child {
		border-bottom: var(--border-default);
	}
}
@media (max-width: 55rem) {
	.pm-faq__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.pm-contact__copy {
		width: 100%;
	}
}
@media (max-width: 50rem) {
	.pm-contact__preparation > div {
		grid-template-columns: 1fr;
	}
	.pm-contact__preparation article,
	.pm-contact__preparation article + article {
		padding: var(--space-6) 0;
		border-right: 0;
		border-bottom: var(--border-default);
	}
}
@media (max-width: 47.5rem) {
	.pm-hero__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.pm-hero__copy .lead {
		max-width: none;
	}
	.pm-hero__media {
		width: 100%;
	}
	.pm-hero__media img {
		aspect-ratio: 4 / 5;
	}
	.pm-hero__copy .button {
		width: 100%;
	}
}
@media (max-width: 40rem) {
	.pm-page .section--spacious {
		padding-block: var(--space-16);
	}
	.pm-principle,
	.pm-scope__list article {
		grid-template-columns: 1fr;
		gap: var(--space-4);
	}
	.pm-principle__number,
	.pm-scope__list span {
		font-size: 2rem;
	}
	.pm-process__steps {
		grid-template-columns: 1fr;
	}
	.pm-process__steps article,
	.pm-process__steps article:nth-child(2),
	.pm-process__steps article:nth-child(3) {
		padding: var(--space-6) 0;
		border-right: 0;
		border-bottom: 1px solid rgba(245, 241, 233, 0.42);
	}
	.pm-process__steps article:last-child {
		border-bottom: 0;
	}
	.pm-process__steps span {
		margin-bottom: var(--space-4);
	}
	.pm-process__steps p {
  }
	.pm-faq__item button {
		font-size: 1.35rem;
	}
	.pm-faq__answer {
		padding-right: 0;
	}
	.pm-related__links {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}
	.pm-related__links a,
	.pm-related__links a:nth-child(2) {
		width: 100%;
		max-width: none;
		margin-left: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.pm-zone__media:hover img,
	.pm-related__links a:hover h3 span {
		transform: none;
	}
}

.zakres-page {
	overflow: clip;
}

.zakres-page .section {
	padding-block: var(--space-32);
}

.zakres-hero {
	padding-block: var(--space-24) var(--space-32);
}

.zakres-hero__grid,
.zakres-map__grid,
.zakres-concept__grid,
.zakres-visual__grid,
.zakres-materials__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	align-items: start;
}

.zakres-hero__copy {
	grid-column: 1 / span 4;
	width: 100%;
	max-width: 35.625rem;
	min-width: 0;
	align-self: center;
}

.zakres-hero__copy .lead {
	max-width: 35.625rem;
}

.zakres-hero__button {
	width: max-content;
}

.zakres-hero__media {
	grid-column: 6 / span 7;
	width: 100%;
	min-width: 0;
	min-height: 42.5rem;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.zakres-hero__media img,
.zakres-image-frame img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.zakres-hero__media img {
	object-position: 68% center;
}

.zakres-map__intro {
	grid-column: 1 / span 4;
	width: 100%;
	max-width: 30rem;
	min-width: 0;
}

.zakres-map__list {
	display: grid;
	grid-column: 6 / span 7;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--border-default);
}

.zakres-map__item {
	width: 100%;
	min-width: 0;
	border-bottom: var(--border-default);
}

.zakres-map__item::marker {
	content: "";
}

.zakres-map__item a {
	display: grid;
	grid-template-columns: minmax(2.5rem, 1fr) minmax(8rem, 2fr) minmax(0, 4fr);
	gap: var(--space-4);
	width: 100%;
	min-width: 0;
	padding-block: var(--space-6);
	color: inherit;
	text-decoration: none;
}

.zakres-map__number,
.zakres-section-number,
.zakres-documentation__principle > span,
.zakres-process__timeline > li > span,
.zakres-context__item > span {
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.zakres-map__name {
	min-width: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	line-height: 1.15;
}

.zakres-map__description {
	min-width: 0;
	max-width: 38.75rem;
	color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: 1.55;
}

.zakres-consult__intro {
	width: 50%;
	max-width: 38.75rem;
	min-width: 0;
}

.zakres-consult__notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-6);
	width: 100%;
	min-width: 0;
	margin-top: var(--space-16);
	padding-left: 16.666%;
}

.zakres-consult__note {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
}

.zakres-consult__note--offset {
	margin-top: var(--space-8);
}

.zakres-consult__note p {
  }

.zakres-consult__link {
	width: max-content;
	min-height: 2.75rem;
	margin-top: auto;
}

.zakres-concept__title {
	grid-column: 1 / span 4;
	width: 100%;
	max-width: 31.25rem;
	min-width: 0;
}

.zakres-section-number {
	display: block;
	margin-bottom: var(--space-3);
	font-size: var(--text-2xl);
}

.zakres-concept__copy {
	display: flex;
	grid-column: 7 / span 6;
	flex-direction: column;
	width: 100%;
	max-width: 40.625rem;
	min-width: 0;
	gap: var(--space-8);
}

.zakres-concept__copy .lead {
	max-width: 40.625rem;
}

.zakres-concept__detail {
	width: 100%;
	min-width: 0;
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.zakres-concept__detail p {
  }

.zakres-visual__media {
	grid-column: 1 / span 7;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.zakres-image-frame {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.zakres-visual__media .zakres-image-frame {
	aspect-ratio: 3 / 2;
}

.zakres-visual__copy {
	display: flex;
	grid-column: 9 / span 4;
	flex-direction: column;
	width: 100%;
	max-width: 36.25rem;
	min-width: 0;
	gap: var(--space-6);
}

.zakres-visual__copy :is(h2, h3, p) {
	margin-bottom: 0;
}

.zakres-visual__copy .lead {
	max-width: 36.25rem;
}

.zakres-visual__detail {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	gap: var(--space-3);
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.zakres-documentation {
	color: var(--text-inverse);
}

.zakres-documentation__intro {
	width: 50%;
	max-width: 41.25rem;
	min-width: 0;
}

.zakres-documentation__intro .lead {
	max-width: 41.25rem;
}

.zakres-documentation__principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	margin-top: var(--space-16);
	border-top: 1px solid rgba(215, 208, 196, 0.55);
}

.zakres-documentation__principle {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	padding: var(--space-6);
	border-right: 1px solid rgba(215, 208, 196, 0.55);
}

.zakres-documentation__principle:first-child {
	padding-left: 0;
}

.zakres-documentation__principle:last-child {
	border-right: 0;
}

.zakres-documentation__principle > span {
	color: var(--color-sand);
	margin-bottom: var(--space-8);
}

.zakres-documentation__principle p {
  margin-bottom: 0;
}

.zakres-materials__copy {
	display: flex;
	grid-column: 1 / span 5;
	flex-direction: column;
	width: 100%;
	max-width: 37.5rem;
	min-width: 0;
	gap: var(--space-6);
}

.zakres-materials__copy :is(h2, h3, p) {
	margin-bottom: 0;
}

.zakres-materials__copy .lead {
	max-width: 37.5rem;
}

.zakres-materials__detail {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	gap: var(--space-3);
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.zakres-materials__media {
	grid-column: 7 / span 6;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.zakres-materials__media .zakres-image-frame {
	aspect-ratio: 4 / 5;
}

.zakres-materials__media figcaption {
	width: 100%;
	max-width: 31.25rem;
}

@media (hover: hover) and (pointer: fine) {
	.zakres-image-frame img {
		transition: transform var(--transition-base);
	}

	.zakres-image-frame:hover img {
		transform: scale(1.02);
	}
}

.zakres-process__intro {
	width: 50%;
	max-width: 38.75rem;
	min-width: 0;
}

.zakres-process__intro .lead {
	max-width: 38.75rem;
}

.zakres-process__timeline {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--space-4);
	width: 100%;
	min-width: 0;
	margin: var(--space-16) 0 0;
	padding: var(--space-8) 0 0;
	list-style: none;
	border-top: var(--border-default);
}

.zakres-process__timeline > li {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	gap: var(--space-3);
	padding-top: var(--space-4);
}

.zakres-process__timeline > li::before {
	position: absolute;
	top: calc(-1 * var(--space-8) - 0.1875rem);
	left: 0;
	width: 0.375rem;
	height: 0.375rem;
	content: "";
	background: var(--color-olive-deep);
}

.zakres-process__timeline > li h3,
.zakres-process__timeline > li p {
	margin-bottom: 0;
}

.zakres-process__timeline > li h3 {
	font-size: var(--text-xl);
}

.zakres-process__timeline > li p {
  color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: 1.55;
}

.zakres-context__intro {
	width: 41.666%;
	max-width: 36.25rem;
	min-width: 0;
}

.zakres-context__intro .lead {
	max-width: 36.25rem;
}

.zakres-context__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-6);
	width: 100%;
	min-width: 0;
	margin-top: var(--space-16);
}

.zakres-context__item {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.zakres-context__item--offset {
	margin-top: var(--space-8);
}

.zakres-context__item > span {
	margin-bottom: var(--space-6);
}

.zakres-context__item p {
  }

.zakres-context__item .text-link {
	width: max-content;
	min-height: 2.75rem;
	margin-top: auto;
}

.zakres-cta {
	padding-block: var(--space-24);
}

.zakres-cta__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 38.75rem;
	min-width: 0;
	margin-inline: auto;
	text-align: center;
}

.zakres-cta__content > * {
	min-width: 0;
}

.zakres-cta__content > :is(h2, p) {
	margin-bottom: var(--space-6);
}

.zakres-cta__content > .eyebrow {
	margin-bottom: var(--space-3);
}

.zakres-cta__content > .zakres-cta__button {
	width: max-content;
	margin-bottom: var(--space-4);
}

.zakres-cta__note {
	max-width: 34rem;
	margin-bottom: 0 !important;
	color: var(--text-secondary);
	font-size: var(--text-sm);
}

@media (max-width: 68.75rem) {
	.zakres-hero__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.zakres-hero__copy {
		grid-column: 1 / span 8;
		max-width: 35.625rem;
	}

	.zakres-hero__media {
		grid-column: 1 / span 8;
		min-height: 0;
		max-width: 45rem;
		aspect-ratio: 4 / 5;
	}

	.zakres-concept__grid,
	.zakres-visual__grid,
	.zakres-materials__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.zakres-concept__title {
		grid-column: 1 / span 8;
	}

	.zakres-concept__copy {
		grid-column: 1 / span 8;
	}

	.zakres-visual__copy {
		grid-column: 1 / span 8;
		grid-row: 1;
		max-width: 38.75rem;
	}

	.zakres-visual__media {
		grid-column: 1 / span 8;
		grid-row: 2;
	}

	.zakres-materials__copy {
		grid-column: 1 / span 8;
		max-width: 37.5rem;
	}

	.zakres-materials__media {
		grid-column: 1 / span 8;
		max-width: 45rem;
	}

	.zakres-process__timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.zakres-process__timeline > li:last-child {
		grid-column: 1 / span 2;
		max-width: calc(50% - var(--space-2));
	}
}

@media (max-width: 60rem) {
	.zakres-map__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		row-gap: var(--space-12);
	}

	.zakres-map__intro,
	.zakres-map__list {
		grid-column: 1 / span 8;
	}

	.zakres-map__intro {
		max-width: 30rem;
	}

	.zakres-consult__intro,
	.zakres-documentation__intro,
	.zakres-process__intro,
	.zakres-context__intro {
		width: 75%;
	}

	.zakres-consult__notes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-left: 0;
	}

	.zakres-consult__note--offset {
		margin-top: 0;
	}

	.zakres-context__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.zakres-context__item--offset {
		margin-top: 0;
	}

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

	.zakres-documentation__principle {
		padding: var(--space-6) 0;
		border-right: 0;
		border-bottom: 1px solid rgba(215, 208, 196, 0.55);
	}

	.zakres-documentation__principle:last-child {
		border-bottom: 0;
	}

	.zakres-documentation__principle > span {
		margin-bottom: var(--space-4);
	}
}

@media (max-width: 48rem) {
	.zakres-page .section {
		padding-block: var(--space-24);
	}

	.zakres-hero {
		padding-block: var(--space-16) var(--space-24);
	}

	.zakres-hero__grid,
	.zakres-map__grid,
	.zakres-concept__grid,
	.zakres-visual__grid,
	.zakres-materials__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: var(--space-4);
	}

	.zakres-hero__copy,
	.zakres-hero__media,
	.zakres-map__intro,
	.zakres-map__list,
	.zakres-concept__title,
	.zakres-concept__copy,
	.zakres-visual__copy,
	.zakres-visual__media,
	.zakres-materials__copy,
	.zakres-materials__media {
		grid-column: 1 / span 4;
	}

	.zakres-hero__copy h1 {
		max-width: 26.25rem;
		font-size: clamp(2.625rem, 11vw, 3rem);
	}

	.zakres-hero__copy .lead {
		max-width: none;
	}

	.zakres-hero__button {
		width: 100%;
	}

	.zakres-hero__media {
		max-width: none;
	}

	.zakres-map__item a {
		grid-template-columns: 2.25rem minmax(0, 1fr);
		gap: var(--space-3) var(--space-4);
	}

	.zakres-map__description {
		grid-column: 2;
		max-width: none;
	}

	.zakres-consult__intro,
	.zakres-documentation__intro,
	.zakres-process__intro,
	.zakres-context__intro {
		width: 100%;
	}

	.zakres-consult__notes,
	.zakres-context__items {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
		margin-top: var(--space-12);
	}

	.zakres-consult__note,
	.zakres-context__item {
		padding-top: var(--space-6);
		border-top: var(--border-default);
	}

	.zakres-consult__note p,
	.zakres-context__item p {
  }

	.zakres-concept__copy,
	.zakres-visual__copy,
	.zakres-materials__copy {
		gap: var(--space-6);
	}

	.zakres-section-number {
		font-size: var(--text-sm);
	}

	.zakres-documentation__principles,
	.zakres-process__timeline {
		margin-top: var(--space-12);
	}

	.zakres-process__timeline {
		grid-template-columns: minmax(0, 1fr);
		padding: 0 0 0 var(--space-8);
		border-top: 0;
		border-left: var(--border-default);
		gap: var(--space-8);
	}

	.zakres-process__timeline > li,
	.zakres-process__timeline > li:last-child {
		grid-column: 1;
		max-width: none;
		padding-top: 0;
	}

	.zakres-process__timeline > li::before {
		top: 0.2rem;
		left: calc(-1 * var(--space-8) - 0.1875rem);
	}

	.zakres-process__timeline > li p {
  }

	.zakres-cta {
		padding-block: var(--space-16) !important;
	}

	.zakres-cta__content > .zakres-cta__button {
		width: 100%;
	}
}

@media (max-width: 30rem) {
	.zakres-page .section {
		padding-block: var(--space-16);
	}

	.zakres-hero {
		padding-block: var(--space-12) var(--space-16);
	}

	.zakres-map__item a {
		padding-block: var(--space-4);
	}

	.zakres-map__name {
		font-size: 1.375rem;
	}

	.zakres-documentation__principles,
	.zakres-process__timeline,
	.zakres-context__items,
	.zakres-consult__notes {
		margin-top: var(--space-8);
	}
}

@media (prefers-reduced-motion: reduce) {
	.zakres-image-frame img {
		transform: none !important;
	}
}

.home-page {
	overflow: hidden;
}

.home-hero {
	padding-block: var(--space-16) var(--space-32);
}
.home-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
	align-items: center;
	gap: var(--space-6);
	min-height: 42.5rem;
}
.home-hero__content {
	grid-column: 1 / 2;
	min-width: 0;
	max-width: 35rem;
}
.home-hero__content .lead {
	max-width: 32.5rem;
}
.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
	min-width: 0;
}
.home-hero__actions > * {
	min-width: 0;
}
.home-hero__figure {
	grid-column: 3 / 4;
	width: 100%;
	min-width: 0;
	margin: 0;
}
.home-hero__figure img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 62% center;
}
.home-hero__figure figcaption {
	max-width: 29rem;
}

.home-approach__intro {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--space-6);
	max-width: 100%;
}
.home-approach__intro > * {
	min-width: 0;
}
.home-approach__intro .eyebrow,
.home-approach__intro h2 {
	grid-column: 2 / span 5;
}
.home-approach__intro .lead {
	grid-column: 7 / span 5;
	max-width: 38.75rem;
}
.home-approach__principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-8);
	margin-top: var(--space-12);
}
.home-principle {
	min-width: 0;
	border-top: var(--border-default);
	padding-top: var(--space-6);
}
.home-principle__number,
.home-space__number,
.home-scope__item > span,
.home-process__steps > article > span,
.home-reading__links span {
	display: block;
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
}
.home-principle p {
  }

.home-spaces__intro {
	max-width: 36.25rem;
}
.home-spaces__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--space-12);
	border-top: var(--border-default);
}
.home-space {
	min-width: 0;
	padding: var(--space-6);
	border-right: var(--border-default);
}
.home-space:first-child {
	padding-left: 0;
}
.home-space:last-child {
	padding-right: 0;
	border-right: 0;
}
.home-space h3 a {
	color: inherit;
	text-decoration: none;
}
.home-space p {
  }

.home-portfolio__intro {
	max-width: 37.5rem;
}
.home-portfolio__boards {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-8) var(--space-6);
	margin-top: var(--space-12);
}
.home-board {
	display: grid;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}
.home-board__media {
	display: block;
	width: 100%;
	min-width: 0;
	overflow: hidden;
}
.home-board__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-base);
}
.home-board:hover .home-board__media img {
	transform: scale(1.02);
}
.home-board__caption {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-2);
	color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: 1.5;
}
.home-board__caption strong {
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	line-height: 1.15;
}
.home-board--living {
	grid-column: 1 / -1;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
}
.home-board--living .home-board__media {
	grid-column: 1 / span 8;
	aspect-ratio: 3 / 2;
}
.home-board--living .home-board__caption {
	grid-column: 10 / span 3;
	align-self: end;
}
.home-board--private {
	grid-column: 3 / span 6;
	grid-template-columns: minmax(0, 4fr) minmax(0, 3fr);
	align-items: end;
	gap: var(--space-6);
}
.home-board--private .home-board__media {
	aspect-ratio: 4 / 5;
}
.home-board--commercial {
	grid-column: 4 / -1;
	grid-template-columns: repeat(9, minmax(0, 1fr));
	gap: var(--space-6);
}
.home-board--commercial .home-board__media {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 9;
}
.home-board--commercial .home-board__caption {
	grid-column: 6 / -1;
}
.home-portfolio__link {
	margin-top: var(--space-8);
}

.home-scope__intro {
	max-width: 38.75rem;
}
.home-scope__list {
	margin-top: var(--space-12);
	border-top: var(--border-default);
}
.home-scope__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(
			22.5rem,
			5fr
		) minmax(0, 3fr);
	gap: var(--space-6);
	align-items: start;
	min-width: 0;
	padding-block: var(--space-6);
	border-bottom: var(--border-default);
}
.home-scope__item > * {
	min-width: 0;
	margin-bottom: 0;
}
.home-scope__item p {
  }

.home-process__intro {
	max-width: 38.75rem;
}
.home-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: var(--space-12);
	border-top: 1px solid var(--color-graphite);
}
.home-process__steps > article {
	min-width: 0;
	padding: var(--space-6);
	border-right: 1px solid rgba(38, 38, 36, 0.35);
}
.home-process__steps > article:first-child {
	padding-left: 0;
}
.home-process__steps > article:last-child {
	padding-right: 0;
	border-right: 0;
}
.home-process__steps > article > span {
	color: var(--color-graphite);
	font-size: var(--text-sm);
}
.home-process__steps p {
  }
.home-process > .container > .text-link {
	margin-top: var(--space-8);
}

.home-materials__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
}
.home-materials__figure {
	grid-column: 1 / span 7;
	width: 100%;
	min-width: 0;
	margin: 0;
}
.home-materials__figure img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.home-materials__content {
	grid-column: 9 / span 4;
	min-width: 0;
	max-width: 30rem;
}
.home-materials__content p {
  }
.home-materials__content p + p {
	padding-top: var(--space-6);
	border-top: var(--border-default);
}

.home-faq__intro {
	max-width: 37.5rem;
}
.home-faq__accordion {
	width: 66.666%;
	min-width: 0;
	margin-top: var(--space-12);
	border-top: var(--border-default);
}
.home-faq__item {
	border-bottom: var(--border-default);
}
.home-faq__item h3 {
	margin: 0;
}
.home-faq__item button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-width: 0;
	min-height: 3.5rem;
	padding: var(--space-4) 0;
	border: 0;
	background: transparent;
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	line-height: 1.4;
	text-align: left;
}
.home-faq__item button span {
	flex: 0 0 auto;
	margin-left: var(--space-6);
	font-size: 1.5rem;
	font-weight: var(--weight-regular);
}
.home-faq__answer {
	max-width: 42.5rem;
	padding-bottom: var(--space-6);
}
.home-faq__answer p {
	margin-bottom: 0;
}
.home-faq > .container > .text-link {
	margin-top: var(--space-8);
}

.home-cta__content {
	width: 50%;
	min-width: 0;
	max-width: 40.625rem;
	margin-left: 8.333%;
}
.home-cta .lead {
	max-width: 35rem;
}
.home-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.6875rem var(--space-6);
	background: var(--color-warm-white);
	color: var(--color-graphite);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	text-decoration: none;
	transition:
		background-color var(--transition-fast),
		color var(--transition-fast);
}
.home-cta__button:hover {
	background: var(--color-sand);
	color: var(--color-graphite);
}

.home-reading__intro {
	max-width: 32.5rem;
}
.home-reading__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--space-12);
	border-top: var(--border-default);
}
.home-reading__links > a {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-3);
	padding: var(--space-6);
	border-right: var(--border-default);
	color: inherit;
	text-decoration: none;
}
.home-reading__links > a:first-child {
	padding-left: 0;
}
.home-reading__links > a:last-child {
	padding-right: 0;
	border-right: 0;
}
.home-reading__links strong {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	line-height: 1.15;
}
.home-reading__links p {
  margin-bottom: 0;
	color: var(--text-secondary);
}
.home-reading__links em {
	color: var(--color-olive-deep);
	font-size: var(--text-sm);
	font-style: normal;
	font-weight: var(--weight-medium);
}
.home-reading__links > a:hover em {
	color: var(--color-graphite);
	transform: translateX(0.25rem);
	transition: transform var(--transition-fast);
}

@media (max-width: 68.75rem) {
	.home-hero__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		min-height: 0;
		row-gap: var(--space-8);
	}
	.home-hero__content {
		grid-column: 1 / span 6;
		max-width: 45rem;
	}
	.home-hero__figure {
		grid-column: 1 / -1;
	}
	.home-approach__intro {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}
	.home-approach__intro .eyebrow,
	.home-approach__intro h2 {
		grid-column: 1 / span 5;
	}
	.home-approach__intro .lead {
		grid-column: 1 / span 6;
	}
	.home-approach__principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-spaces__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-space {
		padding-left: 0;
	}
	.home-space:nth-child(2) {
		border-right: 0;
		padding-right: 0;
	}
	.home-space:nth-child(3) {
		border-top: var(--border-default);
		padding-top: var(--space-6);
	}
	.home-board--living .home-board__media {
		grid-column: 1 / span 8;
	}
	.home-board--living .home-board__caption {
		grid-column: 1 / span 5;
	}
	.home-board--private {
		grid-column: 1 / span 6;
	}
	.home-board--commercial {
		grid-column: 1 / -1;
	}
	.home-scope__item {
		grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
		gap: var(--space-3) var(--space-6);
	}
	.home-scope__item p {
		grid-column: 2 / 3;
  }
	.home-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-process__steps > article:nth-child(2) {
		border-right: 0;
		padding-right: 0;
	}
	.home-process__steps > article:nth-child(3),
	.home-process__steps > article:nth-child(4) {
		border-top: 1px solid rgba(38, 38, 36, 0.35);
	}
	.home-process__steps > article:nth-child(3) {
		padding-left: 0;
	}
	.home-materials__figure {
		grid-column: 1 / span 5;
	}
	.home-materials__content {
		grid-column: 6 / -1;
	}
	.home-cta__content {
		width: 66.666%;
		margin-left: 0;
	}
}

@media (max-width: 60rem) {
	.home-hero__grid,
	.home-materials__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}
	.home-materials__figure {
		grid-column: 1 / -1;
	}
	.home-materials__content {
		grid-column: 1 / span 6;
		max-width: 38.75rem;
	}
	.home-faq__accordion {
		width: 100%;
	}
	.home-cta__content {
		width: 83.333%;
	}
	.home-reading__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-reading__links > a:nth-child(2) {
		border-right: 0;
		padding-right: 0;
	}
	.home-reading__links > a:nth-child(3) {
		border-top: var(--border-default);
		padding-left: 0;
	}
}

@media (max-width: 48rem) {
	.home-hero {
		padding-block: var(--space-12) var(--space-16);
	}
	.home-hero__grid,
	.home-approach__intro,
	.home-materials__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--space-4);
	}
	.home-hero__content,
	.home-hero__figure,
	.home-materials__figure,
	.home-materials__content {
		grid-column: 1 / -1;
		width: 100%;
		max-width: none;
	}
	.home-hero__content h1 {
		font-size: clamp(2.625rem, 11vw, 3rem);
	}
	.home-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-3);
	}
	.home-hero__actions .text-link {
		justify-content: flex-start;
	}
	.home-hero__figure {
		margin-top: var(--space-4);
	}
	.home-hero__figure img {
		aspect-ratio: 3 / 2;
	}
	.home-approach__intro .eyebrow,
	.home-approach__intro h2,
	.home-approach__intro .lead {
		grid-column: 1 / -1;
	}
	.home-approach__principles,
	.home-spaces__list,
	.home-process__steps,
	.home-reading__links {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.home-approach__principles {
		margin-top: var(--space-8);
	}
	.home-principle {
		padding-block: var(--space-6);
	}
	.home-principle:last-child {
		border-bottom: var(--border-default);
	}
	.home-spaces__list {
		margin-top: var(--space-8);
	}
	.home-space,
	.home-space:first-child,
	.home-space:last-child {
		padding: var(--space-6) 0;
		border-right: 0;
		border-bottom: var(--border-default);
	}
	.home-space:nth-child(3) {
		border-top: 0;
	}
	.home-portfolio__boards {
		grid-template-columns: 1fr;
		gap: var(--space-8);
		margin-top: var(--space-8);
	}
	.home-board,
	.home-board--living,
	.home-board--private,
	.home-board--commercial {
		grid-column: auto;
		grid-template-columns: 1fr;
		gap: var(--space-4);
	}
	.home-board--living .home-board__media,
	.home-board--living .home-board__caption,
	.home-board--commercial .home-board__media,
	.home-board--commercial .home-board__caption {
		grid-column: auto;
	}
	.home-board--living .home-board__media {
		aspect-ratio: 3 / 2;
	}
	.home-board--private .home-board__media {
		aspect-ratio: 4 / 5;
	}
	.home-board--commercial .home-board__media {
		aspect-ratio: 16 / 9;
	}
	.home-scope__list {
		margin-top: var(--space-8);
	}
	.home-scope__item {
		grid-template-columns: 1fr;
		gap: var(--space-2);
		padding-block: var(--space-6);
	}
	.home-scope__item p {
		grid-column: auto;
  }
	.home-process__steps {
		margin-top: var(--space-8);
	}
	.home-process__steps > article,
	.home-process__steps > article:first-child,
	.home-process__steps > article:last-child,
	.home-process__steps > article:nth-child(2),
	.home-process__steps > article:nth-child(3) {
		padding: var(--space-6) 0;
		border-right: 0;
		border-top: 1px solid rgba(38, 38, 36, 0.35);
	}
	.home-process__steps > article:first-child {
		border-top: 0;
	}
	.home-process__steps > article:last-child {
		border-bottom: 1px solid rgba(38, 38, 36, 0.35);
	}
	.home-materials__grid {
		gap: var(--space-8);
	}
	.home-materials__content p {
  }
	.home-faq__accordion {
		margin-top: var(--space-8);
	}
	.home-faq__item button {
		min-height: 3.5rem;
		font-size: 1.0625rem;
	}
	.home-cta__content {
		width: 100%;
		max-width: none;
	}
	.home-cta h2 {
		font-size: clamp(2.5rem, 10vw, 2.75rem);
	}
	.home-cta__button {
		width: 100%;
	}
	.home-reading__links {
		margin-top: var(--space-8);
	}
	.home-reading__links > a,
	.home-reading__links > a:first-child,
	.home-reading__links > a:last-child,
	.home-reading__links > a:nth-child(2),
	.home-reading__links > a:nth-child(3) {
		padding: var(--space-6) 0;
		border-right: 0;
		border-bottom: var(--border-default);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-board:hover .home-board__media img {
		transform: none;
	}
}

.commercial-page {
	overflow: hidden;
}

.commercial-page .section {
	padding-block: var(--space-24);
}

.commercial-hero {
	padding-block: var(--space-16) var(--space-32);
}

.commercial-hero__grid,
.commercial-thinking__grid,
.commercial-scope__grid,
.commercial-materials__grid,
.commercial-contact__grid,
.commercial-faq__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
}

.commercial-hero__content {
	grid-column: 1 / span 5;
	align-self: center;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	max-width: 33.125rem;
	gap: var(--space-6);
}

.commercial-hero__content > * {
	min-width: 0;
	margin: 0;
}

.commercial-hero__content h1 {
	font-size: clamp(3.25rem, 5vw, 4.5rem);
}

.commercial-hero__content .lead {
	max-width: 31rem;
}

.commercial-hero__media {
	grid-column: 7 / span 6;
	width: 100%;
	min-width: 0;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.commercial-hero__media img,
.commercial-scene__image img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.commercial-hero__media img {
	object-position: 62% center;
}

.commercial-thinking__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 31.25rem;
}

.commercial-thinking__list {
	grid-column: 6 / span 7;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.commercial-thinking__item,
.commercial-scope__item {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr);
	gap: var(--space-4);
	min-width: 0;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}

.commercial-thinking__item:last-child,
.commercial-scope__item:last-child {
	border-bottom: var(--border-default);
}

.commercial-number {
	display: block;
	min-width: 0;
	color: var(--color-olive-deep);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.commercial-thinking__copy,
.commercial-scope__copy {
	min-width: 0;
	max-width: 38.75rem;
}

.commercial-thinking__copy > :last-child,
.commercial-scope__copy > :last-child {
	margin-bottom: 0;
}

.commercial-types__title {
	max-width: 34rem;
}

.commercial-types__grid {
	display: grid;
	grid-template-columns: 4fr 3fr 4fr;
	gap: var(--space-6);
	min-width: 0;
	margin-top: var(--space-12);
}

.commercial-types__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding-block: var(--space-8);
	border-bottom: 1px solid rgba(38, 38, 36, 0.35);
}

.commercial-types__item--office {
	margin-top: var(--space-8);
}

.commercial-types__number {
	display: block;
	margin-bottom: var(--space-6);
	color: var(--color-graphite);
	font-family: var(--font-heading);
	font-size: clamp(3.5rem, 6vw, 5rem);
	font-weight: var(--weight-medium);
	line-height: 0.85;
}

.commercial-types__item h3 {
	font-size: clamp(1.75rem, 2.2vw, 2.125rem);
}

.commercial-types__item p {
	min-width: 0;
  }

.commercial-types__item .text-link {
	min-height: 2.75rem;
	margin-top: auto;
}

.commercial-scope__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 28.75rem;
}

.commercial-scope__list {
	grid-column: 6 / span 7;
	min-width: 0;
}

.commercial-scope__copy {
	max-width: 32.5rem;
}

.commercial-scenes__intro {
	max-width: 38.75rem;
	margin-bottom: var(--space-12);
}

.commercial-scenes__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
	min-width: 0;
}

.commercial-scene {
	min-width: 0;
}

.commercial-scene figure {
	min-width: 0;
}

.commercial-scene__image {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	background: var(--surface-paper);
}

.commercial-scene__image img {
	transition: transform var(--transition-base);
}

.commercial-scene:hover .commercial-scene__image img {
	transform: scale(1.02);
}

.commercial-scene--entry {
	grid-column: 1 / span 8;
}

.commercial-scene--entry .commercial-scene__image {
	aspect-ratio: 3 / 2;
}

.commercial-scene--entry > :not(figure) {
	max-width: 35rem;
}

.commercial-scene--work {
	grid-column: 10 / span 3;
	margin-top: var(--space-24);
}

.commercial-scene--work .commercial-scene__image {
	aspect-ratio: 4 / 5;
}

.commercial-scene--work > :not(figure) {
	max-width: 23.75rem;
}

.commercial-scene--detail {
	grid-column: 3 / span 6;
}

.commercial-scene--detail .commercial-scene__image {
	aspect-ratio: 16 / 9;
}

.commercial-scene--detail > :not(figure) {
	max-width: 28.75rem;
}

.commercial-scene h3 {
	font-size: clamp(1.75rem, 2.2vw, 2rem);
}

.commercial-materials__grid {
	column-gap: calc(var(--space-6) * 2);
}

.commercial-materials__manifest {
	grid-column: 1 / span 5;
	min-width: 0;
	max-width: 26.25rem;
}

.commercial-materials__manifest h2 {
	color: var(--color-inverse-text);
}

.commercial-materials__list {
	grid-column: 8 / span 5;
	min-width: 0;
}

.commercial-materials__item {
	min-width: 0;
	max-width: 32.5rem;
	padding-block: var(--space-6);
	border-top: 1px solid rgba(245, 241, 233, 0.35);
}

.commercial-materials__item:last-child {
	border-bottom: 1px solid rgba(245, 241, 233, 0.35);
}

.commercial-materials__item > :last-child {
	margin-bottom: 0;
}

.commercial-materials__item .text-link {
	margin-top: var(--space-4);
	color: var(--color-warm-white);
}

.commercial-materials__item .text-link:hover {
	color: var(--color-sand);
}

.commercial-process__intro {
	max-width: 35rem;
	margin-bottom: var(--space-12);
}

.commercial-process__timeline {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.commercial-process__timeline::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc((100% / 12) * 2);
	width: 1px;
	background: var(--color-line);
	content: "";
}

.commercial-process__step {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	min-width: 0;
	padding-bottom: var(--space-12);
}

.commercial-process__step:last-child {
	padding-bottom: 0;
}

.commercial-process__number {
	grid-column: 1 / span 2;
	z-index: 1;
	align-self: start;
	min-width: 0;
	background: var(--surface-base);
	color: var(--color-graphite);
	font-family: var(--font-heading);
	font-size: clamp(3rem, 5vw, 4.5rem);
	font-weight: var(--weight-medium);
	line-height: 0.8;
}

.commercial-process__step > div {
	min-width: 0;
	max-width: 27.5rem;
}

.commercial-process__step--left > div {
	grid-column: 3 / span 4;
}

.commercial-process__step--right > div {
	grid-column: 7 / span 4;
}

.commercial-process__step > div > :last-child {
	margin-bottom: 0;
}

.commercial-preparation__intro {
	max-width: 38.75rem;
}

.commercial-preparation__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	min-width: 0;
	margin-top: var(--space-12);
}

.commercial-preparation__item {
	min-width: 0;
	padding: 0 var(--space-6);
	border-left: var(--border-default);
}

.commercial-preparation__item:first-child {
	padding-left: 0;
	border-left: 0;
}

.commercial-preparation__item h3 {
	font-size: clamp(1.5rem, 2vw, 1.75rem);
}

.commercial-preparation__item p {
  }

.commercial-preparation__item > :last-child {
	margin-bottom: 0;
}

.commercial-contact__content {
	grid-column: 1 / span 7;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	max-width: 35rem;
	gap: var(--space-6);
}

.commercial-contact__content > * {
	min-width: 0;
	margin: 0;
}

.commercial-contact__details {
	grid-column: 10 / span 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: var(--space-3);
	font-size: var(--text-sm);
	font-style: normal;
	line-height: 1.5;
}

.commercial-contact__details a,
.commercial-contact__details span {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	min-width: 0;
}

.commercial-faq__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	max-width: 37.5rem;
}

.commercial-faq__list {
	grid-column: 6 / span 7;
	min-width: 0;
}

.commercial-faq__item {
	min-width: 0;
	border-top: var(--border-default);
}

.commercial-faq__item:last-child {
	border-bottom: var(--border-default);
}

.commercial-faq__item h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: 0;
	line-height: 1.5;
}

.commercial-faq__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-width: 0;
	min-height: 4rem;
	padding: var(--space-4) 0;
	border: 0;
	background: transparent;
	color: var(--color-graphite);
	font: inherit;
	text-align: left;
}

.commercial-faq__trigger > span:first-child {
	min-width: 0;
	padding-right: var(--space-6);
}

.commercial-faq__symbol {
	flex: 0 0 auto;
	width: 1.5rem;
	color: var(--color-olive-deep);
	font-size: 1.5rem;
	font-weight: var(--weight-regular);
	line-height: 1;
	text-align: center;
}

.commercial-faq__panel {
	display: grid;
	grid-template-rows: 0fr;
	min-width: 0;
	opacity: 0;
	transition:
		grid-template-rows 220ms ease,
		opacity 180ms ease;
}

.commercial-faq__panel:not([hidden]) {
	grid-template-rows: 1fr;
	opacity: 1;
}

.commercial-faq__answer {
	min-width: 0;
	overflow: hidden;
}

.commercial-faq__answer p {
  padding-bottom: var(--space-6);
	margin-bottom: 0;
}

@media (max-width: 64rem) {
	.commercial-page .section {
		padding-block: var(--space-16);
	}

	.commercial-hero {
		padding-block: var(--space-12) var(--space-24);
	}

	.commercial-hero__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: var(--space-8) var(--space-6);
	}

	.commercial-hero__content,
	.commercial-hero__media {
		grid-column: 1 / -1;
	}

	.commercial-hero__content {
		max-width: 33.125rem;
	}

	.commercial-hero__media {
		max-width: 43.75rem;
	}

	.commercial-scenes__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: var(--space-6);
	}

	.commercial-scene--entry {
		grid-column: 1 / -1;
	}

	.commercial-scene--work {
		grid-column: 1 / span 4;
		margin-top: 0;
	}

	.commercial-scene--detail {
		grid-column: 5 / span 4;
		align-self: end;
	}
}

@media (max-width: 57.5rem) {
	.commercial-thinking__grid,
	.commercial-scope__grid,
	.commercial-materials__grid,
	.commercial-contact__grid,
	.commercial-faq__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		row-gap: var(--space-8);
	}

	.commercial-thinking__intro,
	.commercial-scope__intro,
	.commercial-materials__manifest,
	.commercial-contact__content,
	.commercial-faq__intro {
		grid-column: 1 / -1;
	}

	.commercial-thinking__list,
	.commercial-scope__list,
	.commercial-materials__list,
	.commercial-contact__details,
	.commercial-faq__list {
		grid-column: 1 / -1;
	}

	.commercial-materials__grid {
		column-gap: var(--space-6);
	}

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

	.commercial-types__item--office {
		margin-top: 0;
	}

	.commercial-types__item--business {
		grid-column: 1 / -1;
		max-width: calc(50% - (var(--space-6) / 2));
	}

	.commercial-process__timeline::before {
		left: 1rem;
	}

	.commercial-process__step {
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: var(--space-4);
		padding-bottom: var(--space-8);
	}

	.commercial-process__number {
		grid-column: 1;
		font-size: 2.5rem;
	}

	.commercial-process__step--left > div,
	.commercial-process__step--right > div {
		grid-column: 2;
		max-width: 30rem;
	}

	.commercial-preparation__grid {
		grid-template-columns: 1fr;
		margin-top: var(--space-8);
	}

	.commercial-preparation__item,
	.commercial-preparation__item:first-child {
		padding: var(--space-6) 0;
		border-top: var(--border-default);
		border-left: 0;
	}

	.commercial-preparation__item:last-child {
		border-bottom: var(--border-default);
	}
}

@media (max-width: 52.5rem) {
	.commercial-thinking__grid,
	.commercial-scope__grid,
	.commercial-materials__grid,
	.commercial-contact__grid,
	.commercial-faq__grid {
		grid-template-columns: 1fr;
	}

	.commercial-thinking__intro,
	.commercial-thinking__list,
	.commercial-scope__intro,
	.commercial-scope__list,
	.commercial-materials__manifest,
	.commercial-materials__list,
	.commercial-contact__content,
	.commercial-contact__details,
	.commercial-faq__intro,
	.commercial-faq__list {
		grid-column: 1;
	}
}

@media (max-width: 43.75rem) {
	.commercial-page .section {
		padding-block: var(--space-12);
	}

	.commercial-hero {
		padding-block: var(--space-8) var(--space-16);
	}

	.commercial-hero__grid,
	.commercial-scenes__grid {
		grid-template-columns: 1fr;
	}

	.commercial-hero__content,
	.commercial-hero__media,
	.commercial-scene--entry,
	.commercial-scene--work,
	.commercial-scene--detail {
		grid-column: 1;
	}

	.commercial-hero__content {
		max-width: none;
	}

	.commercial-hero__content h1 {
		font-size: clamp(2.625rem, 12vw, 3rem);
	}

	.commercial-hero__content .lead {
		max-width: none;
		font-size: 1.0625rem;
	}

	.commercial-hero__media {
		max-width: none;
	}

	.commercial-thinking__item,
	.commercial-scope__item {
		grid-template-columns: 1fr;
		gap: var(--space-3);
		padding-block: var(--space-6);
	}

	.commercial-types__grid {
		grid-template-columns: 1fr;
		margin-top: var(--space-8);
	}

	.commercial-types__item--business {
		grid-column: 1;
		max-width: none;
	}

	.commercial-types__item {
		padding-block: var(--space-6);
	}

	.commercial-scenes__intro {
		margin-bottom: var(--space-8);
	}

	.commercial-scene--work,
	.commercial-scene--detail {
		margin-top: 0;
	}

	.commercial-scene--entry > :not(figure),
	.commercial-scene--work > :not(figure),
	.commercial-scene--detail > :not(figure) {
		max-width: none;
	}

	.commercial-materials__manifest h2,
	.commercial-contact__content h2 {
		font-size: clamp(2.5rem, 11vw, 2.75rem);
	}

	.commercial-contact__content,
	.commercial-contact__details {
		max-width: none;
	}

	.commercial-contact__content .button {
		width: 100%;
	}

	.commercial-faq__trigger {
		min-height: 3.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.commercial-scene__image img,
	.commercial-faq__panel {
		transition: none;
	}

	.commercial-scene:hover .commercial-scene__image img {
		transform: none;
	}
}

.houses-page {
	background: var(--surface-base);
}
.houses-page .section {
	position: relative;
}
.houses-page h2 {
	font-size: clamp(2.25rem, 4vw, 3.25rem);
}
.houses-page h3 {
	font-size: clamp(1.5rem, 2.2vw, 1.75rem);
}
.houses-hero {
	padding-block: var(--space-32);
}
.houses-hero__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: center;
}
.houses-hero__content {
	grid-column: 1 / span 5;
	min-width: 0;
	width: 100%;
	max-width: 35rem;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.houses-hero__content > * {
	min-width: 0;
	margin: 0;
}
.houses-hero__content h1 {
	font-size: clamp(3.5rem, 5.2vw, 4.5rem);
}
.houses-hero__lead {
	max-width: 34rem;
	font-size: var(--text-lg);
	line-height: 1.5;
}
.houses-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
	min-width: 0;
}
.houses-hero__help {
	color: var(--text-secondary);
	font-size: var(--text-sm);
	line-height: 1.5;
}
.houses-hero__media {
	grid-column: 7 / -1;
	min-width: 0;
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
.houses-hero__media img,
.houses-layout__media img,
.houses-materials__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
.houses-hero__media img {
	object-position: 62% center;
}
.houses-life__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
}
.houses-life__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	width: 100%;
	max-width: 38.75rem;
}
.houses-life__chapters {
	grid-column: 5 / span 7;
	min-width: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}
.houses-life__chapter {
	display: grid;
	grid-template-columns: minmax(3rem, 1fr) minmax(0, 6fr);
	gap: var(--space-4);
	min-width: 0;
	width: 100%;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}
.houses-life__chapter:last-child {
	border-bottom: var(--border-default);
}
.houses-number,
.houses-layout__topic > span,
.houses-materials__principles > article > span,
.houses-prepare__items > article > span {
	color: var(--color-olive-deep);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	line-height: 1.4;
}
.houses-life__chapter-copy {
	min-width: 0;
	width: 100%;
	max-width: 35rem;
}
.houses-life__chapter-copy > *:last-child,
.houses-layout__topic > *:last-child,
.houses-scope__item div > *:last-child,
.houses-materials__principles article > *:last-child,
.houses-perspectives__card > *:last-child,
.houses-process__steps article > *:last-child,
.houses-prepare__items article > *:last-child,
.houses-cta__content > *:last-child {
	margin-bottom: 0;
}
.houses-layout__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
}
.houses-layout__content {
	grid-column: 1 / span 7;
	min-width: 0;
	width: 100%;
	max-width: 38.75rem;
}
.houses-layout__intro {
	max-width: 38.75rem;
}
.houses-layout__topics {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	margin-top: var(--space-8);
}
.houses-layout__topic {
	min-width: 0;
	width: 100%;
	max-width: 32.5rem;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}
.houses-layout__topic:last-child {
	border-bottom: var(--border-default);
}
.houses-layout__topic > span {
	display: block;
	margin-bottom: var(--space-2);
}
.houses-layout__media {
	grid-column: 9 / -1;
	min-width: 0;
	width: 100%;
	margin: 0;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.houses-layout__media img {
	object-position: center;
}
.houses-scope {
	overflow: hidden;
}
.houses-scope__band {
	position: absolute;
	top: 0;
	left: 0;
	width: 42%;
	height: 14rem;
	background: var(--surface-sand);
}
.houses-scope__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
}
.houses-scope__intro {
	grid-column: 1 / span 4;
	min-width: 0;
	width: 100%;
	max-width: 38.75rem;
	padding-top: var(--space-4);
}
.houses-scope__list {
	grid-column: 5 / -1;
	min-width: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}
.houses-scope__item {
	display: grid;
	grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr);
	gap: var(--space-4);
	min-width: 0;
	width: 100%;
	padding-block: var(--space-6);
	border-top: var(--border-default);
}
.houses-scope__item:last-child {
	border-bottom: var(--border-default);
}
.houses-scope__item > span {
	color: var(--color-olive-deep);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
}
.houses-scope__item div {
	min-width: 0;
	width: 100%;
	max-width: 37.5rem;
}
.houses-materials__media {
	width: 100%;
	margin: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.houses-materials__media img {
	object-position: center;
}
.houses-materials__intro {
	width: 100%;
	max-width: 38.75rem;
	margin-top: var(--space-12);
}
.houses-materials__principles {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr);
	gap: var(--space-6);
	width: 100%;
	margin-top: var(--space-8);
}
.houses-materials__principles > article {
	min-width: 0;
	width: 100%;
}
.houses-materials__principles > article:nth-child(3) {
	padding-top: var(--space-12);
}
.houses-materials__principles > article > span {
	display: block;
	margin-bottom: var(--space-3);
}
.houses-perspectives__intro {
	width: 100%;
	max-width: 38.75rem;
}
.houses-perspectives__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-6);
	align-items: start;
	width: 100%;
	margin-top: var(--space-8);
}
.houses-perspectives__card {
	position: relative;
	min-width: 0;
	width: 100%;
	min-height: 20rem;
	padding: var(--space-8);
	overflow: hidden;
}
.houses-perspectives__card b {
	display: block;
	margin-bottom: var(--space-12);
	color: var(--color-olive-deep);
	font-family: var(--font-heading);
	font-size: 5rem;
	font-weight: var(--weight-medium);
	line-height: 0.7;
	opacity: 0.25;
}
.houses-perspectives__card h3,
.houses-perspectives__card p {
	position: relative;
}
.houses-perspectives__card--paper {
	background: var(--surface-paper);
}
.houses-perspectives__card--line {
	margin-top: calc(var(--space-12) * -1);
	border: var(--border-default);
	background: var(--surface-base);
}
.houses-perspectives__card--sand {
	margin-top: var(--space-12);
	background: var(--surface-sand);
}
.houses-process {
	padding-block: var(--space-24);
}
.houses-process__intro {
	width: 100%;
	max-width: 38.75rem;
}
.houses-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-6);
	width: 100%;
	margin-top: var(--space-12);
}
.houses-process__steps > article {
	position: relative;
	min-width: 0;
	width: 100%;
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-olive);
}
.houses-process__steps > article > span {
	display: block;
	margin-bottom: var(--space-6);
	color: var(--color-sand);
	font-family: var(--font-heading);
	font-size: 3rem;
	line-height: 1;
}
.houses-process__steps p {
	color: var(--color-warm-white);
}
.houses-process__link {
	margin-top: var(--space-8);
	color: var(--color-sand);
}
.houses-prepare__intro {
	width: 100%;
	max-width: 37.5rem;
}
.houses-prepare__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	margin-top: var(--space-8);
}
.houses-prepare__items > article {
	min-width: 0;
	width: 100%;
	padding: var(--space-4) var(--space-6) var(--space-4) 0;
}
.houses-prepare__items > article:not(:first-child) {
	padding-left: var(--space-6);
	border-left: 1px solid rgba(38, 38, 36, 0.28);
}
.houses-prepare__items > article > span {
	display: block;
	margin-bottom: var(--space-3);
}
.houses-prepare__items .text-link {
	min-height: 2.75rem;
}
.houses-faq__intro {
	width: 100%;
	max-width: 38.75rem;
}
.houses-faq__list {
	width: 100%;
	max-width: 58rem;
	margin-top: var(--space-8);
	margin-left: 16.666%;
}
.houses-faq__item {
	border-top: var(--border-default);
}
.houses-faq__item:last-child {
	border-bottom: var(--border-default);
}
.houses-faq__item h3 {
	margin: 0;
	font-size: 1.5rem;
}
.houses-faq__item button {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--space-4);
	width: 100%;
	min-width: 0;
	min-height: 4rem;
	padding: var(--space-4) 0;
	border: 0;
	background: transparent;
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-size: inherit;
	font-weight: var(--weight-medium);
	line-height: 1.15;
	text-align: left;
}
.houses-faq__item button span {
	font-family: var(--font-body);
	font-size: 1.5rem;
	font-weight: var(--weight-regular);
}
.houses-faq__item button[aria-expanded="true"] span {
	font-size: 0;
}
.houses-faq__item button[aria-expanded="true"] span::after {
	content: "−";
	font-size: 1.5rem;
}
.houses-faq__panel {
	width: 100%;
	max-width: 40rem;
	padding: 0 0 var(--space-6);
}
.houses-faq__panel p {
	margin: 0;
}
.houses-cta {
	padding-block: var(--space-24);
}
.houses-cta__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	width: 100%;
}
.houses-cta__content {
	grid-column: 3 / span 6;
	min-width: 0;
	width: 100%;
	max-width: 36.25rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
}
.houses-cta__content > * {
	min-width: 0;
	margin: 0;
}
.houses-cta__content h2 {
	font-size: clamp(2.625rem, 4vw, 3.25rem);
}
.houses-cta__button {
	background: var(--color-warm-white);
	color: var(--color-graphite) !important;
}
.houses-cta__button:hover {
	background: var(--color-sand);
	color: var(--color-graphite);
}
.houses-cta__note {
	color: var(--color-warm-white);
	font-size: var(--text-sm);
	line-height: 1.5;
}
@media (max-width: 73.75rem) {
	.houses-hero__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: var(--space-5, 1.5rem);
	}
	.houses-hero__content {
		grid-column: 1 / span 3;
	}
	.houses-hero__content h1 {
		font-size: clamp(3rem, 5vw, 3.75rem);
	}
	.houses-hero__media {
		grid-column: 4 / -1;
	}
}
@media (max-width: 68.75rem) {
	.houses-layout__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.houses-layout__content,
	.houses-layout__media {
		grid-column: 1;
		max-width: none;
	}
	.houses-layout__media {
		aspect-ratio: 3 / 2;
	}
	.houses-layout__topic {
		max-width: 32.5rem;
	}
	.houses-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--space-8);
	}
}
@media (max-width: 64rem) {
	.houses-materials__principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.houses-materials__principles > article:nth-child(3) {
		padding-top: 0;
	}
	.houses-materials__principles > article:nth-child(3) {
		grid-column: 1 / span 1;
	}
}
@media (max-width: 61.25rem) {
	.houses-life__grid,
	.houses-scope__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.houses-life__intro,
	.houses-life__chapters,
	.houses-scope__intro,
	.houses-scope__list {
		grid-column: 1;
		max-width: none;
	}
	.houses-life__intro,
	.houses-scope__intro {
		width: 100%;
		max-width: 38.75rem;
	}
	.houses-scope__band {
		width: 65%;
	}
	.houses-perspectives__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.houses-perspectives__card--sand {
		grid-column: 1 / span 1;
		margin-top: 0;
	}
	.houses-prepare__items {
		grid-template-columns: 1fr;
	}
	.houses-prepare__items > article {
		padding: var(--space-6) 0;
		border-top: 1px solid rgba(38, 38, 36, 0.28);
	}
	.houses-prepare__items > article:not(:first-child) {
		padding-left: 0;
		border-left: 0;
	}
	.houses-prepare__items > article:last-child {
		border-bottom: 1px solid rgba(38, 38, 36, 0.28);
	}
}
@media (max-width: 56.25rem) {
	.houses-faq__list {
		max-width: none;
		margin-left: 0;
	}
	.houses-cta__content {
		grid-column: 1 / span 8;
	}
}
@media (max-width: 47.5rem) {
	.houses-hero {
		padding-block: var(--space-16);
	}
	.houses-hero__grid {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.houses-hero__content,
	.houses-hero__media {
		grid-column: 1;
		max-width: none;
	}
	.houses-hero__content h1 {
		font-size: clamp(2.625rem, 11vw, 3rem);
		line-height: 1;
	}
	.houses-hero__lead {
		max-width: none;
	}
	.houses-hero__media {
		aspect-ratio: 4 / 5;
	}
	.houses-life__chapter,
	.houses-scope__item {
		grid-template-columns: 1fr;
		gap: var(--space-2);
		padding-block: var(--space-6);
	}
	.houses-life__chapter-copy,
	.houses-scope__item div {
		max-width: none;
	}
	.houses-materials__media {
		aspect-ratio: 3 / 2;
	}
	.houses-materials__intro {
		margin-top: var(--space-8);
	}
	.houses-materials__principles,
	.houses-perspectives__cards,
	.houses-process__steps {
		grid-template-columns: 1fr;
	}
	.houses-materials__principles > article:nth-child(3),
	.houses-perspectives__card--sand {
		grid-column: 1;
	}
	.houses-perspectives__card--line {
		margin-top: 0;
	}
	.houses-perspectives__card {
		min-height: 13.75rem;
		padding: var(--space-6);
	}
	.houses-perspectives__card b {
		margin-bottom: var(--space-8);
		font-size: 4.25rem;
	}
	.houses-process {
		padding-block: var(--space-16);
	}
	.houses-process__steps {
		gap: var(--space-8);
		margin-top: var(--space-8);
	}
	.houses-process__steps > article {
		display: grid;
		grid-template-columns: 3.25rem minmax(0, 1fr);
		column-gap: var(--space-3);
		padding-top: var(--space-4);
	}
	.houses-process__steps > article > span {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 0;
		font-size: 2.5rem;
	}
	.houses-process__steps > article h3,
	.houses-process__steps > article p {
		grid-column: 2;
	}
	.houses-process__steps > article h3 {
		margin-bottom: var(--space-3);
	}
	.houses-process__link {
		margin-top: var(--space-6);
	}
	.houses-faq__item button {
		min-height: 3.5rem;
	}
	.houses-cta {
		padding-block: var(--space-16);
	}
	.houses-cta__grid {
		grid-template-columns: 1fr;
	}
	.houses-cta__content {
		grid-column: 1;
		max-width: none;
	}
	.houses-cta__content h2 {
		font-size: clamp(2.375rem, 10vw, 2.625rem);
	}
	.houses-cta__button {
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.houses-page *,
	.houses-page *::before,
	.houses-page *::after {
		transition-duration: 0.01ms !important;
	}
}

.thank-you-page {
	display: flex;
	min-height: 58vh;
	align-items: center;
}

.thank-you-page__confirmation {
	width: 100%;
}

.thank-you-page__content {
	max-width: 46rem;
	margin-inline: auto;
	padding: var(--space-16) var(--space-12);
	border-top: var(--border-default);
	border-bottom: var(--border-default);
	background: var(--surface-paper);
	text-align: center;
}

.thank-you-page__content > .eyebrow {
	margin-bottom: var(--space-4);
}

.thank-you-page__content > h1 {
	margin-bottom: var(--space-6);
}

.thank-you-page__copy {
	max-width: 38rem;
	margin-inline: auto;
	text-align: center;
}

.thank-you-page__copy .lead {
	margin-bottom: var(--space-4);
}

.thank-you-page__copy p:last-child {
	margin-bottom: 0;
	color: var(--text-secondary);
}

.thank-you-page__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-3);
	margin-top: var(--space-8);
}

@media (max-width: 48rem) {
	.thank-you-page {
		min-height: 0;
	}

	.thank-you-page__content {
		padding: var(--space-12) var(--space-8);
	}
}

@media (max-width: 30rem) {
	.thank-you-page__content {
		padding: var(--space-12) var(--space-4);
	}

	.thank-you-page__actions {
		flex-direction: column;
	}
}
