@font-face {
	font-family: Telegrama;
	src: local(☺), url(../font/telegrama.otf) format(opentype);
}

@font-face {
	font-family: 'HND';
	src:
		local('HND'),
		local('HND'),
		url('font/HelvNowDisp_Black.woff2') format('woff2'),
		url('font/HelvNowDisp_Black.woff') format('woff');
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

@font-face {
	font-family: 'Source Code Pro';
	src: url('font/source-code-pro_5.2.7/source-code-pro-latin-wght-normal.woff2') format('woff2');
	font-style: normal;
	font-weight: 200 900;
	font-display: swap;
}

@font-face {
	font-family: 'Source Code Pro';
	src: url('font/source-code-pro_5.2.7/source-code-pro-latin-wght-italic.woff2') format('woff2');
	font-style: italic;
	font-weight: 200 900;
	font-display: swap;
}

:root {
	--color-paper: #fff;
	--color-paper-soft: #f2f2f2;
	--color-ink: #000;
	--color-ink-soft: #222;
	--color-ink-muted: #555;
	--color-accent: red;
	--color-night-bg: #101010;
	--color-night-fg: var(--color-paper-soft);
	--page-bg: var(--color-paper);
	--page-fg: var(--color-ink);
	--display-font: 'HND', 'Arial Bold', Arial, "Helvetica Neue", sans-serif;
	--mono-font: 'Source Code Pro', Menlo, Monaco, monospace;
	--sans-font: Arial, "Helvetica Neue", sans-serif;
	--tracking-display: 0.04em;
	--tracking-mono: normal;
	--font-display: 26px;
	--font-text: 12px;
	--font-caption: inherit;
	--font-small: 0.8rem;
	--font-mobile: 16px;
	--font-phone: 13px;
	--line-display: 1;
	--line-text: 1.4;
	--line-tight: 1.4;
	--line-legacy-text: 1.4;
	--line-control: 14px;
	--line-mobile-text: 18px;
	--space-ui: 0.32rem;
	--space-tight: 0.5rem;
	--space-text: 1em;
	--space-section: 2rem;
	--space-card: 0.64rem;
	--space-card-small: 0.32rem;
	--space-card-padding: 0.72rem 0.78rem;
	--space-chip-padding: 0.15rem 0.45rem;
	--panel-padding: var(--space-card) var(--space-text) var(--space-text);
	--title-padding: 0.5rem 0.7rem 0.6rem 0.7rem ;
	--control-padding: 0 var(--space-ui);
	--column-gap: 45px;
	--control-height: 32px;
	--page-gutter: 32px;
	--page-gutter-mobile: 12px;
	--page-gutter-phone: 15px;
	--header-top: 32px;
	--project-main-width: 865px;
	--project-text-width: 68ch;
	--legacy-header-width: 880px;
	--legacy-page-width: 900px;
	--legacy-wide-width: 960px;
	--legacy-offset: 45px;
	--legacy-image-small-width: 410px;
	--legacy-image-medium-width: 429px;
	--email-input-width: 132px;
	--about-title-size: clamp(1.05rem, 2.2vw, 1.35rem);
	--about-copy-size: 0.96rem;
	--about-small-size: 0.78rem;
	--about-copy-line: 1.4;
	--about-card-line: 1.4;
	--radius-media: .2rem;
	--shadow-media: 0 0 .25rem rgba(0, 0, 0, .25);
	--shadow-floating-toolbar: 0 7px 10px rgba(200, 200, 200, 0.45), 0 0px 10px rgba(200, 200, 200, 0.25);
    --shadow-floating-toolbar-night: 0 7px 10px rgba(0, 0, 0, 0.45), 0 0px 10px rgba(0, 0, 0, 0.25);
	color-scheme: light;
}

html {
	background: var(--page-bg);
	background-color: var(--page-bg);
	color: var(--page-fg);
	min-height: 100%;
	min-height: 100svh;
	min-height: 100dvh;
	margin: 0;
	padding: 0;
	top: 0 !important;
}

body {
	-webkit-font-smoothing: antialiased;
	background: var(--page-bg);
	background-color: var(--page-bg);
	color: var(--page-fg);
	font-family: var(--display-font);
	font-size: var(--font-display);
	font-weight: bold;
	letter-spacing: var(--tracking-display);
	line-height: var(--line-text);
	margin: 0;
	min-height: 100%;
	min-height: 100svh;
	min-height: 100dvh;
	overflow-x: hidden;
	overflow-y: auto;
	padding-top: env(safe-area-inset-top, 0px);
	padding-right: env(safe-area-inset-right, 0px);
	padding-bottom: 0;
	padding-left: env(safe-area-inset-left, 0px);
	text-rendering: optimizeLegibility;
	text-transform: uppercase;
}

main,
.projects,
.page-shell,
.desktop-home-main,
.desktop-about-main,
.about-main {
	background-color: var(--page-bg);
}

.viewport-shadow {
		background:
		linear-gradient(to right, rgba(204, 204, 204, 0.58), rgba(204, 204, 204, 0) 18px),
		linear-gradient(to left, rgba(204, 204, 204, 0.58), rgba(204, 204, 204, 0) 18px),
		linear-gradient(to bottom, rgba(204, 204, 204, 0.42), rgba(204, 204, 204, 0) 18px),
		linear-gradient(to top, rgba(204, 204, 204, 0.42), rgba(204, 204, 204, 0) 18px);
	background-repeat: no-repeat;
	bottom: -0vh;
	left: -0vw;
	pointer-events: none;
	position: fixed;
	right: -0vw;
	top: -0vh;
	transform: translateZ(0);
	z-index: 999;
}

header {
	max-width: var(--legacy-header-width);
	padding: var(--legacy-offset);
	padding-top: var(--header-top);
}

.videoWrapper,
.videoWrapper:hover,
.permahover {
	background-color: var(--color-paper);
	border-radius: var(--radius-media);
	box-shadow: var(--shadow-media);
	height: auto;
	max-height: 600px;
}

.dates {
	background-color: var(--color-ink);
	color: var(--color-paper);
	float: right;
	font-size: var(--font-caption);
	padding-right: var(--space-card);
	padding-top: var(--space-card);
	text-align: right;
	text-transform: uppercase;
}

.event {
	background-color: var(--color-ink);
	float: left;
	text-transform: uppercase;
}

.black {
	background-color: var(--color-ink);
	display: inline-block;
	max-width: var(--legacy-page-width);
	width: 100%;
}

.press {
	font-family: var(--sans-font);
	font-weight: 500;
	text-transform: none;
}

a {
	color: var(--color-ink-soft);
	cursor: pointer;
}

h4 a {
	color: var(--color-paper);
	margin: 0;
	padding: 0;
	text-decoration: none;
}

h4 a:hover {
	background-color: var(--color-ink);
	color: var(--color-ink);
	display: block;
}

#title,
.layout-title {
	font-weight: bold;
	line-height: 1.3em;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

span a {
	color: var(--color-ink-soft);
	text-decoration: underline;
}
h2 {
	background-color: var(--color-ink);
	display: inline-block;
	font-size: inherit;
	font-weight: 700;
	line-height: var(--line-tight);
	margin: 0;
}

h1, .plus {
	background-color: var(--color-ink);
	color: var(--color-paper);
	display: inline-block;
	font-family: var(--display-font);
	font-size: inherit;
	letter-spacing: var(--tracking-display);
	line-height: var(--line-display);
	margin: 0;
	padding: var(--title-padding);
}

h1 a, .plus a {
	color: var(--color-paper);
	display: inline-block;
	text-decoration: none;
}

.plus {
	background-color: var(--color-ink);
}

h2 a {
	color: var(--color-paper);
	display: inline-block;
	font-weight: 700;
	margin: 0;
	padding: var(--space-tight);
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 1px solid var(--color-accent);
	outline-offset: 3px;
}

.project-card > a:focus-visible {
	display: block;
}

.project-card > a:focus-visible .image4 img {
	box-shadow: 0 0 0 2px var(--color-accent);
}

[data-category-link]:focus-visible span,
.desktop-sidebar-topbar-link:focus-visible span,
.desktop-sidebar-language-link:focus-visible span {
	background: var(--color-ink);
	color: var(--color-paper);
}
.link3 {
	background-color: var(--color-ink);
	color: var(--color-paper);
	display: inline-block;
	font-size: inherit;
	font-weight: 700;
	line-height: var(--line-tight);
	margin: 5px 12px 0 0;
	padding: 0;
}


#content,
.layout-content {
	background-color: var(--page-bg);
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	padding-top: var(--space-card);
	text-transform: none;
	z-index: auto;
}

.project-card #title,
.project-card .layout-title,
.project-card .project-subtitle,
.project-card .project-medium {
	text-transform: uppercase;
}

.project-format {
	color: var(--color-ink-soft);
}

.project-format::after {
	color: var(--color-ink-muted);
	content: " | ";
	font-weight: 500;
}

.project-year {
	color: var(--color-ink);
	white-space: nowrap;
}

.project-card > a:first-child {
	display: block;
	margin-bottom: 0.5em;
}

.project-card .image4 {
	border-radius: var(--radius-media);
	overflow: hidden;
}

.project-card .image4 img {
	transition: filter .18s ease, transform .18s ease;
}

.project-card:hover .image4 img {
	filter: contrast(1.08);
	transform: scale(1.015);
}

.desktop-sidebar {
	display: none;
}

.desktop-sidebar-panel {
	border: 1px solid var(--color-ink);
	padding: var(--panel-padding);
}

.desktop-sidebar-panel--topbar {
	padding-bottom: var(--space-card);
}

.desktop-sidebar-topbar-row {
	align-items: flex-start;
	display: flex;
	gap: var(--space-ui);
	justify-content: space-between;
	flex-wrap: nowrap;
}

.desktop-sidebar-panel + .desktop-sidebar-panel {
	margin-top: 16px;
}

.desktop-sidebar-label {
	background: var(--color-ink);
	color: var(--color-paper);
	display: inline-block;
	font-family: var(--display-font);
	font-size: var(--font-small);
	letter-spacing: var(--tracking-display);
	line-height: 1;
	margin: 0 0 0.9rem;
	padding: var(--title-padding);
	text-transform: uppercase;
}

.desktop-sidebar-intro,
.desktop-sidebar-projects,
.desktop-sidebar-tags,
.desktop-sidebar-sections {
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-text);
	text-transform: none;
}

.desktop-sidebar-intro {
	margin: 0 0 0.8rem;
}

.desktop-sidebar-sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.desktop-sidebar-newsletter {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-ui);
	margin: 0.45rem 0 0;
}

.desktop-sidebar-newsletter input.email {
	flex: 1 1 130px;
	max-width: none;
	min-width: 0;
}

.desktop-sidebar-newsletter input,
.desktop-sidebar-newsletter button {
	box-sizing: border-box;
	height: 24px;
	font-size: var(--font-text);
	line-height: 1.1;
	padding: var(--space-chip-padding);
	white-space: nowrap;
}

.desktop-sidebar-nav,
.desktop-sidebar-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-ui);
}

.desktop-sidebar-topbar-row .desktop-sidebar-nav {
	flex: 0 0 auto;
	flex-wrap: nowrap;
	gap: var(--space-ui);
	min-width: 0;
}

.desktop-sidebar-topbar-tools {
	align-items: stretch;
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	gap: var(--space-ui);
	margin-left: 0;
	white-space: nowrap;
}

.desktop-sidebar-nav a,
.desktop-sidebar-links a,
.desktop-sidebar-language-switch a {
	text-decoration: none;
}

.desktop-sidebar-language-switch {
	display: flex;
	align-items: stretch;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	flex-wrap: nowrap;
	gap: 0;
	height: auto;
	min-height: var(--control-height);
	overflow: hidden;
	padding: 0;
	white-space: nowrap;
}

.desktop-sidebar-topbar-link,
.desktop-sidebar-language-link {
	align-items: stretch;
	display: inline-flex;
	height: auto;
	min-height: var(--control-height);
}

.desktop-sidebar-topbar-link button,
.desktop-sidebar-language-link button {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	background: var(--color-paper);
	border: 1px solid var(--color-ink);
	border-radius: 0;
	box-sizing: border-box;
	color: var(--color-ink-soft);
	cursor: pointer;
	display: inline-flex;
	height: auto;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	justify-content: center;
	letter-spacing: var(--tracking-mono);
	line-height: 1;
	margin: 0;
	min-height: var(--control-height);
	padding: var(--control-padding);
	text-decoration: none;
	text-transform: none;
	vertical-align: top;
	white-space: nowrap;
}

.desktop-sidebar-language-link {
	height: 100%;
	position: relative;
}

.desktop-sidebar-language-link button {
	text-transform: lowercase;
}

.desktop-sidebar-language-link + .desktop-sidebar-language-link {
	margin-left: -1px;
}

.desktop-theme-toggle {
	background: var(--color-paper);
	border: 1px solid var(--color-ink);
	border-radius: 999px;
	color: var(--color-ink-soft);
	cursor: pointer;
	display: inline-flex;
	height: var(--site-nav-control-height);
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: var(--site-nav-control-height);
	padding: 2px;
	position: relative;
	width: 54px;
}

.desktop-theme-toggle:hover,
.desktop-theme-toggle:focus-visible {
	background: var(--color-ink);
	color: var(--color-paper);
	outline: none;
}

.desktop-theme-toggle__track {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: flex-start;
	position: relative;
	width: 100%;
}

.desktop-theme-toggle__track::before,
.desktop-theme-toggle__track::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.desktop-theme-toggle__track::before {
	border: 1px solid currentColor;
	border-radius: 50%;
	height: 7px;
	left: 6px;
	opacity: 0.45;
	width: 7px;
}

.desktop-theme-toggle__track::after {
	border-radius: 50%;
	box-shadow: 2px 0 0 0 currentColor;
	height: 7px;
	opacity: 0.35;
	right: 8px;
	width: 7px;
}

.desktop-theme-toggle__thumb {
	background: currentColor;
	border-radius: 50%;
	display: block;
	height: 14px;
	transform: translateX(0);
	transition: transform 140ms ease;
	width: 14px;
}

.desktop-theme-toggle[data-theme-mode="night"] .desktop-theme-toggle__thumb {
	transform: translateX(20px);
}

.desktop-sidebar-nav a span,
.desktop-sidebar-links a span,
.desktop-sidebar-language-switch a span {
	border: 1px solid var(--color-ink);
	color: var(--color-ink-soft);
	display: inline-block;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: 1.1;
	padding: var(--space-chip-padding);
	text-transform: none;
	white-space: nowrap;
}

.desktop-sidebar-language-link button.is-active {
	background: var(--color-ink);
	color: var(--color-paper);
}

.desktop-sidebar-sections {
	display: grid;
	gap: var(--space-ui);
}

.desktop-sidebar-sections a,
.desktop-sidebar-projects a {
	color: var(--color-ink-soft);
	text-decoration: none;
}

.desktop-sidebar-sections a:hover,
.desktop-sidebar-projects a:hover {
	text-decoration: underline;
}

.desktop-sidebar-projects {
	display: grid;
	gap: var(--space-ui);
}

.desktop-sidebar-projects a {
	align-items: baseline;
	display: flex;
	gap: var(--space-text);
	justify-content: space-between;
}

.desktop-sidebar-projects span:last-child {
	color: var(--color-ink-muted);
	flex: 0 0 auto;
	margin-left: 1rem;
}

.desktop-sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-ui);
	list-style: none;
	margin: 0;
	padding: 0;
}

.desktop-sidebar-tags li {
	border: 1px solid var(--color-ink);
	padding: var(--space-chip-padding);
}

.home-mobile-categories {
	display: flex;
	gap: var(--space-ui);
	margin: 1rem 0 0;
	overflow-x: auto;
	padding: 0.15rem 0 var(--space-ui);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.home-mobile-categories::-webkit-scrollbar {
	display: none;
}

.home-mobile-categories a {
	color: inherit;
	flex: 0 0 auto;
	text-decoration: none;
}

.home-mobile-categories a span {
	align-items: center;
	border: 1px solid var(--color-ink);
	box-sizing: border-box;
	display: inline-flex;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: 1;
	min-height: var(--control-height);
	padding: var(--space-card-small) var(--space-ui);
	text-transform: none;
	white-space: nowrap;
}

.home-mobile-categories a[aria-current="page"] span,
.home-mobile-categories a span.is-active {
	background: var(--color-ink);
	color: var(--color-paper);
}

.desktop-sidebar-panel--categories .desktop-sidebar-tags a {
	text-decoration: none;
}

.desktop-sidebar-panel--categories .desktop-sidebar-tags a span.is-active {
	background: var(--color-ink);
	color: var(--color-paper);
}

.home-page .projects-filter-empty {
	display: none;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-text);
	margin: 0 0 2rem;
	text-transform: none;
}

.home-page .projects-filter-empty.is-visible {
	display: block;
}

.home-page .projects-filter-results {
	display: none;
}

.home-page .projects-filter-results.is-visible {
	display: block;
}

.home-page .desktop-home-main,
.about-page .desktop-about-main {
	min-width: 0;
}

.home-page .project-section,
.home-page .project-card {
	scroll-margin-top: 2rem;
}

@media (min-width: 640px) and (max-width: 1349px) {
	.site-topbar-form {
		box-sizing: border-box;
		max-width: none;
		width: calc(100vw - 90px);
	}

	.site-topbar-form--simple .site-main-nav-tools {
		margin-right: -33px;
	}
}

@media (min-width: 900px) {
	.home-page .projects-grid {
		align-items: start;
		column-gap: var(--page-gutter);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--space-tight);
	}

	.home-page .project-card {
		min-width: 0;
	}

	.home-page .project-card .image4 img {
		max-width: none;
		width: 100%;
	}

	.home-page .project-card :is(#block_2, .layout-block) {
		max-width: var(--project-text-width);
	}

	.home-page .desktop-home-main,
	.home-page .desktop-home-main > section,
	.home-page .desktop-home-main > section > :is(#unit, .layout-unit),
	.home-page .desktop-home-main > section > :is(#unit, .layout-unit) > :is(#content, .layout-content) {
		max-width: none;
		width: 100%;
	}

	.home-page .project-card:target {
		outline: 1px solid var(--color-ink);
		outline-offset: 8px;
	}

	.about-responsive-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}



@media (min-width: 1350px) {
	.home-mobile-categories {
		display: flex;
	}

	.desktop-sidebar-enabled {
		--home-sidebar-left: var(--page-gutter);
		--home-sidebar-width: 296px;
		--home-sidebar-gap: var(--page-gutter);
		--home-content-left: calc(var(--home-sidebar-left) + var(--home-sidebar-width) + var(--home-sidebar-gap));
	}

	.desktop-sidebar-enabled header {
		box-sizing: border-box;
		margin-left: 0;
		max-width: none;
		padding: var(--page-gutter);
		padding-right: var(--page-gutter);
		padding-top: var(--header-top);
		width: 100%;
	}

	.desktop-sidebar-enabled .projects {
		box-sizing: border-box;
		margin-left: 0;
		max-width: none;
		padding-right: 0;
	}

	.desktop-sidebar-enabled .desktop-sidebar {
		display: block;
		height: auto;
		left: auto;
		max-width: calc(100vw - (var(--page-gutter) * 2));
		overflow: visible;
		position: fixed;
		right: var(--page-gutter);
		top: var(--header-top);
		width: var(--home-sidebar-width);
		z-index: 1000;
	}

	.desktop-sidebar-enabled .desktop-sidebar-panel + .desktop-sidebar-panel {
		margin-top: 0;
	}

	.desktop-sidebar-enabled .site-topbar-form--header {
		display: none !important;
	}

	.desktop-sidebar-enabled .projects > br:first-child,
	.desktop-sidebar-enabled .projects > br:first-child + br,
	.desktop-sidebar-enabled .projects > br:first-child + br + br,
	.desktop-sidebar-enabled .projects > br:first-child + br + br + br {
		display: none;
	}

	.home-page .projects > br:first-child,
	.home-page .projects > br:first-child + br,
	.home-page .projects > br:first-child + br + br,
	.home-page .projects > br:first-child + br + br + br,
	.home-page .projects > br:first-child + br + br + br + h1 + .spacing2 + .home-page-main-intro + br,
	.home-page .projects > br:first-child + br + br + br + h1 + .spacing2 + .home-page-main-intro + br + br {
		display: none;
	}



	.about-page .projects > br:first-child,
	.about-page .projects > br:first-child + br,
	.about-page .projects > br:first-child + br + br,
	.about-page .projects > br:first-child + br + br + br {
		display: none;
	}

	.home-page .desktop-home-layout,
	.home-page .desktop-home-main {
		display: block;
	}

	.desktop-sidebar-enabled .desktop-sidebar-intro {
		text-transform: uppercase;
	}

	.about-page .desktop-about-layout,
	.about-page .desktop-about-main {
		display: block;
	}

	.about-page .projects > .spacing2,
	.about-page .projects > .image4,
	.about-page .projects > .shift-right,
	.about-page .desktop-about-main,
	.about-page .desktop-about-main > :is(#unit, .layout-unit),
	.about-page .desktop-about-main > :is(#unit, .layout-unit) > :is(#content, .layout-content),
	.about-page .desktop-about-main :is(#block_2, .layout-block) {
		box-sizing: border-box;
		max-width: min(100%, var(--project-main-width));
		width: min(100%, var(--project-main-width));
	}

	.about-page .projects > .image4 img,
	.about-page .desktop-about-main .image4 img,
	.about-page .desktop-about-main iframe,
	.about-page .desktop-about-main object,
	.about-page .desktop-about-main video,
	.about-page .desktop-about-main :is(#block_2, .layout-block) > img,
	.about-page .desktop-about-main :is(#block_2, .layout-block) > iframe,
	.about-page .desktop-about-main :is(#block_2, .layout-block) > object,
	.about-page .desktop-about-main :is(#block_2, .layout-block) > video {
		box-sizing: border-box;
		display: block;
		height: auto;
		max-width: 100%;
		width: 100%;
	}

	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .projects > .spacing2,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#unit, .layout-unit),
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content),
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#block_2, .layout-block),
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .shift-right,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .videoWrapper,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .image4,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .projects table {
		box-sizing: border-box;
		max-width: min(100%, var(--project-main-width));
		width: min(100%, var(--project-main-width));
	}

	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .image4 img,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .image4 iframe,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .image4 object,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) .image4 video {
		max-width: 100%;
	}

	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > img,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > iframe,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > object,
	.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > video {
		box-sizing: border-box;
		display: block;
		height: auto;
		max-width: min(100%, var(--project-main-width));
		width: min(100%, var(--project-main-width));
	}

	.home-page .desktop-home-main > br {
		display: none;
	}

	.home-page .desktop-home-main > section:first-of-type,
	.home-page .desktop-home-main > section[aria-labelledby="featured-works"] {
		margin-top: 2em;
	}

	.home-page .projects > .spacing2:first-of-type,
	.home-page .home-page-main-intro {
		display: block;
	}

	.home-page .projects > h1:first-of-type {
		display: inline-block;
		margin: 0;
		max-width: fit-content;
		width: auto;
	}

	.desktop-sidebar-enabled .projects > h1 {
		display: inline-block;
		max-width: fit-content;
		width: auto;
	}

	.home-page .home-page-main-intro {
		margin: 0 0 0;
		max-width: min(100%, var(--project-main-width));
	}

	.home-page .home-page-main-intro + br,
	.home-page .home-page-main-intro + br + br {
		display: none;
	}

	.desktop-sidebar-enabled .desktop-sidebar-panel--identity,
	.desktop-sidebar-enabled .desktop-sidebar-panel--categories {
		display: none;
	}

	.desktop-sidebar-enabled .desktop-sidebar-panel--topbar {
		background: transparent;
		border: 0;
		box-shadow: none;
		margin-top: 0;
		padding: 0;
		width: auto;
	}

	.desktop-sidebar-enabled .desktop-sidebar .site-topbar-form--floating {
		align-items: stretch;
		column-gap: var(--space-ui);
		display: flex !important;
		flex-wrap: nowrap;
		justify-content: flex-end;
		max-width: none;
		padding: 0;
		row-gap: 0;
		width: auto;
	}

	.desktop-sidebar-enabled .desktop-sidebar .site-topbar-form--floating :is(.site-main-nav, .site-main-nav-primary, .site-main-nav-tools) {
		align-items: stretch;
		flex-wrap: nowrap;
		gap: var(--space-ui);
		white-space: nowrap;
	}

	.desktop-sidebar-enabled .desktop-sidebar .site-topbar-form--floating .site-main-nav {
		align-self: stretch;
		justify-content: flex-end;
		justify-self: auto;
	}

	.desktop-sidebar-enabled .desktop-sidebar .site-topbar-form--floating .site-main-nav-tools {
		align-self: stretch;
		display: inline-flex !important;
		margin-left: 0;
	}

	.desktop-sidebar-enabled .desktop-sidebar .site-topbar-form--floating .site-main-nav-language-link button {
		top: auto;
	}

	.desktop-sidebar-enabled .desktop-sidebar .toolbar-button,
	.desktop-sidebar-enabled .desktop-sidebar .desktop-theme-toggle {
		background: var(--color-paper);
	}

	.desktop-sidebar-enabled .desktop-sidebar .toolbar-button.is-active {
		background: var(--color-ink) !important;
		border-color: var(--color-ink) !important;
		color: var(--color-paper) !important;
	}

	.desktop-sidebar-enabled .site-footer-links {
		display: flex !important;
	}

	.home-page .desktop-home-main > section > h1,
	.home-page .desktop-home-main > section > .shift-right {
		max-width: min(100%, var(--project-main-width));
	}
}

@media (min-width: 1350px) {
	.home-page .projects {
		padding-right: 0;
	}

	.home-page .projects-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.about-page .projects {
		padding-right: 0;
	}
}

.about-page h1,
.about-page h2,
.about-page h3,
.about-page .about-subnav a,
.about-page b,
.about-page u,
.about-page :is(#title, .layout-title),
.about-page .description {
	text-transform: uppercase;
}

.about-toggle > summary {
	text-transform: uppercase;
}

:is(#content, .layout-content) a[href^="#"] {
	text-transform: uppercase;
}

:is(#content, .layout-content) a {
	color: var(--color-accent);
}

:is(#content, .layout-content) a:hover {
	background-color: var(--color-accent);
	color: var(--color-accent);
}

.project-markdown-page :is(#content, .layout-content) p {
	margin: 0 0 1em;
}

.project-markdown-page :is(#content, .layout-content) p:last-child {
	margin-bottom: 0;
}

.project-markdown-page :is(#content, .layout-content) ul {
	margin: 0 0 1em 1.2em;
	padding: 0;
}

.project-markdown-page :is(#content, .layout-content) li {
	margin: 0 0 0.35em;
}

.project-markdown-page :is(#content, .layout-content) :is(#title, .layout-title) {
	margin: 0;
}

.project-markdown-page :is(#content, .layout-content) :is(#title, .layout-title) hr {
	margin: 0 0 0.75em;
}

.project-markdown-page :is(#content, .layout-content) :is(#block_2, .layout-block) > hr {
	margin: 0;
}

.project-markdown-page :is(#content, .layout-content) .videoWrapper + p,
.project-markdown-page :is(#content, .layout-content) .image4 + p,
.project-markdown-page :is(#content, .layout-content) div[style*="padding:56.25%"] + p {
	margin-top: 0.75em;
}

:is(#content, .layout-content) .image-caption {
	margin: 0.35em 0 1em;
	font-size: inherit;
	line-height: inherit;
}

/* Keep legacy project media inside the standard project column, even when old
   pages use inline max-width values or omit the .image4 wrapper. */
.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > :is(img, iframe, object, video),
.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > a > :is(img, iframe, object, video),
.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > div[style*="padding:"] {
	box-sizing: border-box;
	display: block;
	height: auto;
	max-width: min(100%, var(--project-main-width)) !important;
	width: min(100%, var(--project-main-width)) !important;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(.videoWrapper, div[style*="padding:"]) {
	box-sizing: border-box;
	display: block;
	overflow: hidden;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(.videoWrapper, div[style*="padding:"]) > :is(iframe, object, video) {
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) .video-frame,
.about-page .desktop-about-main .video-frame {
	box-sizing: border-box;
	display: block;
	max-width: min(100%, var(--project-main-width));
	overflow: hidden;
	width: min(100%, var(--project-main-width));
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) .video-frame > :is(iframe, object, video),
.about-page .desktop-about-main .video-frame > :is(iframe, object, video) {
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) .image4 > :is(img, iframe, object, video),
.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) .image4 > a > :is(img, iframe, object, video) {
	box-sizing: border-box;
	display: block;
	height: auto;
	max-width: 100% !important;
	width: 100% !important;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) :is(#content, .layout-content) :is(#block_2, .layout-block) > a:has(> :is(img, iframe, object, video)) {
	display: block;
	max-width: min(100%, var(--project-main-width));
	width: min(100%, var(--project-main-width));
}

/* Normalize only true back-to-back media with one empty-line gap. */
:is(#content, .layout-content) .image4 > img,
:is(#content, .layout-content) .image4 > iframe,
:is(#content, .layout-content) .image4 > object,
:is(#content, .layout-content) .image4 > video {
	display: block;
}

:is(#content, .layout-content) .image4 > br:last-child {
	display: none;
}

:is(#content, .layout-content) .image4 > :is(img, iframe, object, video) + :is(img, iframe, object, video) {
	display: block;
	margin-top: 1em;
}

:is(#content, .layout-content) .image4 > :is(img, iframe, object, video) + br + :is(img, iframe, object, video) {
	display: block;
	margin-top: 1em;
}

:is(#content, .layout-content) :is(#block_2, .layout-block) > :is(img, iframe, object, video) + :is(img, iframe, object, video) {
	display: block;
	margin-top: 1em;
}

:is(#content, .layout-content) :is(#block_2, .layout-block) > :is(.image4, .videoWrapper, .video-frame, div[style*="padding:56.25%"]) + :is(.image4, .videoWrapper, .video-frame, div[style*="padding:56.25%"]) {
	margin-top: 1em;
}

#unit,
.layout-unit {
	display: block;
	margin: 0;
	padding: 0;
	z-index: 2;
}

#sidebar {
	display: block;
	font-size: var(--font-mobile);
	position: absolute;
	right: var(--legacy-offset);
	text-align: right;
	top: var(--legacy-offset);
}

#sidebar h1 {
	display: block;
	font-size: var(--font-mobile);
	text-align: right !important;
}


h4 {
	background-color: var(--color-ink);
	color: var(--color-paper);
	display: inline-block;
	font-family: var(--display-font);
	font-size: inherit;
	letter-spacing: var(--tracking-display);
	line-height: 1;
	margin: 0;
	padding: var(--title-padding);
	position: relative;
	z-index: 1;
}

.link3 a {
	color: var(--color-paper);
	display: inline-block;
	font-weight: 700;
	margin: 0;
	padding: var(--space-tight);
	text-decoration: none;
}
h1 a:hover {
	color: var(--color-ink);
}
.link3 a:hover, h2 a:hover {
	color: var(--color-accent);
	font-size: inherit;
}
.footer {
	margin-bottom: 0;
}
.shift-right {
	margin-left: 0px;
}

.desktop-sidebar-enabled:not(.home-page):not(.about-page) .shift-right {
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-legacy-text);
	text-transform: none;
}

button,
input {
	background-color: var(--color-paper);
	border: 1px solid var(--color-ink);
	color: var(--color-ink);
	font-family: var(--mono-font);
	font-size: var(--font-text);
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-control);
	text-transform: none;
	display: inline-flex;
    align-items: center;
    gap: 0.32em;
    font-size: 1em;
    font-weight: 700;

}

input:hover,
button:hover {
	border-color: var(--color-ink);
	color: var(--color-ink);
}

input.email,
input.email:hover {
	border: 1px solid var(--color-ink);
	color: var(--color-ink-soft);
	height: 18px;
	max-width: var(--email-input-width);
}

.buttons {
	display: block;
	line-height: 1.1ex;
	margin: 0;
	padding: 0;
}

span.description {
	color: var(--color-ink-soft);
	font-weight: 700;
	margin: 0;
	padding: 0;
	text-align: justify;
	text-decoration: none;
	width: 400px !important;

}

span {
	padding: 0;
}
h2+.description, .link3+.description {
	margin-top: 5px!important;

}
#toTop {
	bottom: calc(1em + env(safe-area-inset-bottom, 0px));
	color: var(--color-accent);
	display: table-cell;
	font-family: var(--display-font);
	font-size: 1em;
	letter-spacing: var(--tracking-display);
	margin: 0;
	overflow: hidden;
	padding: var(--title-padding);
	position: fixed;
	right: 1em;
	text-decoration: none;
}
#toTop img {
	border: none!important;
	box-shadow: none !important;
	height: 60px;
	width: 60px;
}

#input3 {
	-moz-column-count: 2;
	-moz-column-gap: var(--column-gap);
	-webkit-column-count: 2;
	-webkit-column-gap: var(--column-gap);
	column-count: 2;
	column-gap: var(--column-gap);
	cursor: text;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	height: auto;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-legacy-text);
	margin: 0;
	max-width: 100%;
	padding: 2px 3px;
	text-transform: none;
}

#input3 b {
	font-family: var(--mono-font);
	font-size: var(--font-text);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
}

#block {
	display: inline-block;
	max-width: var(--legacy-wide-width);
}

#block-title{
	display:inline-block;
}

.site-topbar-form {
	--site-nav-control-height: var(--control-height);
	align-items: stretch;
	column-gap: var(--space-tight);
	display: grid;
	grid-template-areas:
		"newsletter nav tools";
	grid-template-columns: auto 1fr auto;
	row-gap: var(--space-ui);
}

.site-topbar-form--simple {
	align-items: stretch;
	column-gap: var(--space-tight);
	display: flex;
	justify-content: space-between;
}

.site-topbar-form > label {
	display: none;
}

.site-topbar-form .response {
	display: none !important;
}

.site-topbar-newsletter {
	align-items: stretch;
	column-gap: var(--space-ui);
	display: inline-flex;
	grid-area: newsletter;
	justify-self: start;
	min-width: 0;
}

.site-topbar-form input.email,
.site-topbar-form .button {
	-webkit-appearance: none;
	appearance: none;
	background: var(--color-paper);
	border: 1px solid var(--color-ink);
	border-radius: 0;
	box-sizing: border-box;
	color: var(--color-ink-soft);
	display: inline-flex;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	height: var(--site-nav-control-height);
	letter-spacing: var(--tracking-mono);
	line-height: 1;
	margin: 0;
	padding: var(--control-padding);
	text-transform: none;
	vertical-align: top;
	white-space: nowrap;
}

.site-topbar-form input.email {
	align-items: center;
	max-width: none;
	min-width: 7.25rem;
	width: min(8.75rem, 24vw);
}

.site-topbar-form .button {
	align-items: center;
	cursor: pointer;
	justify-content: center;
}

.site-topbar-form input.email:hover,
.site-topbar-form input.email:focus {
	background: var(--color-paper);
	color: var(--color-ink-soft);
}

.site-topbar-form .button:hover,
.site-topbar-form .button:focus-visible {
	background: var(--color-ink);
	color: var(--color-paper);
}

.site-main-nav {
	align-items: stretch;
	display: inline-flex !important;
	flex-wrap: wrap;
	gap: var(--space-ui);
	grid-area: nav;
	justify-content: center;
	justify-self: center;
	min-width: 0;
}

.site-topbar-form--simple .site-main-nav {
	justify-content: flex-start;
	justify-self: start;
}

.site-topbar-form--simple .site-main-nav-tools {
	margin-left: auto;
}

.site-main-nav u,
.site-main-nav > a,
.site-main-nav-primary,
.site-main-nav-tools,
.site-main-nav-language-switch,
.site-main-nav-language-item,
.site-main-nav-language-link {
	display: inline-flex;
	margin: 0;
}

.site-main-nav u,
.site-main-nav-language-item {
	align-items: stretch;
	text-decoration: none;
}

.site-main-nav-primary {
	align-items: stretch;
	gap: var(--space-ui);
}

.toolbar-button {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	background: var(--color-paper);
	border: 1px solid var(--color-ink);
	border-radius: 0;
	box-sizing: border-box;
	color: var(--color-ink-soft);
	display: inline-flex;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	height: var(--site-nav-control-height);
	justify-content: center;
	letter-spacing: var(--tracking-mono);
	line-height: 1;
	margin: 0;
	padding: var(--control-padding);
	text-decoration: none;
	text-transform: none;
	vertical-align: top;
	white-space: nowrap;
}

.site-topbar-form .button,
.toolbar-button,
.desktop-theme-toggle {
	height: var(--site-nav-control-height);
	min-height: var(--site-nav-control-height);
}

.toolbar-button:hover,
.toolbar-button:focus-visible {
	background: var(--color-ink) !important;
	color: var(--color-paper);
}

.site-main-nav-tools {
	align-items: stretch;
	gap: var(--space-ui);
	grid-area: tools;
	justify-self: end;
}

.site-main-nav-language-switch {
	align-self: stretch;
	align-items: stretch;
	display: inline-flex;
	gap: 0;
	height: var(--site-nav-control-height);
	min-height: var(--site-nav-control-height);
}

.site-main-nav-language-toggle {
	display: none;
	text-decoration: none;
}

.site-main-nav-language-link {
	align-items: stretch;
	display: flex;
	height: var(--site-nav-control-height);
	min-height: var(--site-nav-control-height);
	text-decoration: none;
}

.site-main-nav-language-link button {
	align-items: center;
	align-self: stretch;
	display: flex;
	height: var(--site-nav-control-height);
	justify-content: center;
	line-height: 1;
	margin: 0;
	min-height: var(--site-nav-control-height);
	padding-top: 0;
	padding-bottom: 0;
	padding-left: var(--space-ui);
	padding-right: var(--space-ui);
	position: static;
	top: auto;
	vertical-align: top;
}

.site-main-nav-language-item + .site-main-nav-language-item {
	margin-left: -1px;
}

@media (max-width: 639px) {
	header {
		padding: var(--page-gutter-mobile);
		padding-top: calc(var(--page-gutter-mobile) + env(safe-area-inset-top, 0px));
		padding-right: calc(var(--page-gutter-mobile) + env(safe-area-inset-right, 0px));
		padding-bottom: calc(var(--page-gutter-mobile) + env(safe-area-inset-bottom, 0px));
		padding-left: calc(var(--page-gutter-mobile) + env(safe-area-inset-left, 0px));
	}

	.site-topbar-form {
		column-gap: var(--space-ui);
		grid-template-areas: "newsletter nav tools";
		grid-template-columns: minmax(0, auto) 1fr auto;
	}

	.site-topbar-newsletter,
	.site-main-nav-primary,
	.site-main-nav-tools {
		column-gap: var(--space-ui);
	}


	.site-topbar-form .button,
	.site-main-nav button:not(.desktop-theme-toggle) {
		font-size: var(--font-text);
		padding: 0 var(--space-ui);
	}

	.site-topbar-form input.email {
		min-width: 0;
		padding: 0 0.28rem;
		width: clamp(4.6rem, 17vw, 6rem);
	}

	.site-main-nav {
		flex-wrap: nowrap;
		gap: var(--space-ui);
	}

	.site-main-nav-primary {
		flex-wrap: nowrap;
		gap: var(--space-ui);
	}

	.site-main-nav-tools {
		flex-wrap: nowrap;
		gap: var(--space-ui);
	}

	.site-topbar-form--header .site-main-nav {
		flex: 1 1 auto;
		min-width: 0;
	}

	.site-topbar-form--header .site-main-nav-primary {
		flex-wrap: nowrap;
		min-width: 0;
	}

	.site-topbar-form--header .site-main-nav-tools {
		flex: 0 0 auto;
		margin-left: 0rem;
	}

	.site-topbar-form.is-compact {
		grid-template-areas: "nav tools";
		grid-template-columns: 1fr auto;
	}

	.site-topbar-form.is-compact .site-topbar-newsletter {
		display: none;
	}

	.site-topbar-form.is-compact .site-main-nav {
		justify-content: flex-start;
		justify-self: start;
	}

	.site-topbar-form.is-tight .site-main-nav-tools .desktop-theme-toggle {
		display: none;
	}
}

@media (max-width: 430px) {
	.site-topbar-form input.email {
		width: clamp(4rem, 14vw, 4.8rem);
	}
}

@media (max-width: 639px) and (max-height: 960px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
	:root {
		--mobile-toolbar-clearance: 8rem;
		--mobile-toolbar-hit-padding-top: 3rem;
	}

	header {
		padding-bottom: calc(var(--page-gutter-phone) + env(safe-area-inset-bottom, 0px));
	}

	header::after {
		content: "";
		display: block;
		height: var(--mobile-toolbar-clearance);
		pointer-events: none;
	}

	.site-topbar-form--header {
		align-items: center;
		background: transparent;
		bottom: 0;
		box-sizing: border-box;
		display: flex;
		gap: 0;
		justify-content: space-between;
		left: 0;
		right: 0;
		max-width: none;
		padding:
			var(--mobile-toolbar-hit-padding-top)
			calc(var(--page-gutter-phone) + env(safe-area-inset-right, 0px))
			calc(var(--page-gutter-phone) + env(safe-area-inset-bottom, 0px))
			calc(var(--page-gutter-phone) + env(safe-area-inset-left, 0px));
		pointer-events: auto;
		position: fixed;
		touch-action: pan-y;
		width: 100%;
		z-index: 1200;
	}

	.site-topbar-form--header,
	.site-topbar-form--header .site-main-nav,
	.site-topbar-form--header .site-main-nav-primary,
	.site-topbar-form--header .site-main-nav-tools,
	.site-topbar-form--header .site-main-nav-language-switch {
		align-items: center;
		gap: var(--space-tight);
	}

	.site-topbar-form--header .site-main-nav {
		display: contents !important;
		flex: 0 0 auto;
		justify-content: flex-start;
		min-width: 0;
	}

	.site-topbar-form--header.is-compact .site-main-nav,
	.site-topbar-form--header.is-tight .site-main-nav {
		justify-content: flex-start;
		justify-self: auto;
	}

	.site-topbar-form--header .site-main-nav-primary,
	.site-topbar-form--header .site-main-nav-tools {
		display: contents;
		min-width: 0;
		width: auto;
	}

	.site-topbar-form--header .site-main-nav-primary {
		flex: 0 0 auto;
	}

	.site-topbar-form--header .site-main-nav-tools {
		flex: 0 0 auto;
	}

	.site-topbar-form--header.is-tight .site-main-nav-tools .desktop-theme-toggle,
	.site-topbar-form--header .desktop-theme-toggle {
		display: inline-flex !important;
	}

	.site-topbar-form--header u,
	.site-topbar-form--header a,
	.site-topbar-form--header .site-main-nav-language-item,
	.site-topbar-form--header .site-main-nav-language-link {
		align-items: center;
		display: inline-flex;
		height: auto;
		line-height: 1;
		margin: 0;
		min-height: 0;
		padding: 0;
		text-decoration: none;
	}

	.site-topbar-form--header .site-main-nav-primary > u {
		flex: 0 0 auto;
		min-width: 0;
	}

	body.home-page .site-topbar-form--header .site-main-nav-primary > u:first-child,
	body:not(.home-page) .site-topbar-form--header .site-main-nav-primary > u:nth-child(2) {
		display: none;
	}

	.site-topbar-form--header .site-main-nav-language-switch {
		display: none;
	}

	.site-topbar-form--header .site-main-nav-language-toggle {
		flex: 0 0 auto;
		gap: 0;
		min-width: 0;
	}

	.site-topbar-form--header .site-main-nav-language-item,
	.site-topbar-form--header .site-main-nav-language-link {
		flex: 0 0 auto;
		min-width: 0;
	}

	.site-topbar-form--header .site-main-nav-language-item + .site-main-nav-language-item {
		margin-left: 0;
		position: relative;
	}

	.site-topbar-form--header .site-main-nav-language-item + .site-main-nav-language-item::before {
		background: transparent;
		color: var(--color-paper);
		content: "|";
		font-family: var(--display-font);
		font-size: inherit;
		font-weight: 700;
		letter-spacing: var(--tracking-display);
		height: auto;
		left: 0;
		line-height: 1;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: auto;
		z-index: 1;
	}

	.site-topbar-form--header .site-main-nav button.toolbar-button,
	.site-topbar-form--header .site-main-nav-language-link button.toolbar-button,
	.site-topbar-form--header .site-main-nav-language-toggle,
	.site-topbar-form--header .desktop-theme-toggle {
		align-items: center;
		background: var(--color-ink);
		border: 0;
		border-radius: 0;
		box-sizing: border-box;
		color: var(--color-paper);
		display: inline-flex;
		font-family: var(--display-font);
		font-size: inherit;
		font-weight: 700;
		height: auto;
		justify-content: center;
		letter-spacing: var(--tracking-display);
		line-height: 1;
		margin: 0;
		min-height: 0;
		padding: var(--title-padding);
		text-decoration: none;
		text-transform: uppercase;
		vertical-align: top;
		width: auto;
	}

	.site-topbar-form--header .site-main-nav-language-toggle-label,
	.site-topbar-form--header .site-main-nav-language-toggle-separator {
		display: inline-flex;
		font: inherit;
		line-height: 1;
		margin: 0;
		padding: 0;
		text-transform: inherit;
	}

	.site-topbar-form--header .site-main-nav-language-toggle-label.is-active {
		text-decoration: none;
	}

	.site-topbar-form--header .site-main-nav-language-toggle-label.is-inactive {
		text-decoration-color: currentColor;
		text-decoration-line: line-through;
		text-decoration-thickness: 0.08em;
	}

	.site-topbar-form--header .desktop-theme-toggle {
		flex: 0 0 auto;
		min-width: 0;
	}

	.site-topbar-form--header .desktop-theme-toggle__track {
		height: 15px;
		width: 39px;
	}

	.site-topbar-form--header .desktop-theme-toggle__track::before {
		left: 4px;
	}

	.site-topbar-form--header .desktop-theme-toggle__track::after {
		right: 6px;
	}

	.site-topbar-form--header .desktop-theme-toggle__thumb {
		height: 13px;
		width: 13px;
	}

	.site-topbar-form--header .desktop-theme-toggle[data-theme-mode="night"] .desktop-theme-toggle__thumb {
		transform: translateX(18px);
	}

	.site-topbar-form--header .site-main-nav button.toolbar-button.is-active {
		background: var(--color-ink);
		border-color: var(--color-ink);
		color: var(--color-paper);
	}

	.site-topbar-form--header .site-main-nav button.toolbar-button,
	.site-topbar-form--header .site-main-nav-language-toggle,
	.site-topbar-form--header .desktop-theme-toggle {
		background-color: var(--color-ink);
		box-shadow: var(--shadow-floating-toolbar) !important;
		color: var(--color-paper);
	}

	.site-topbar-form--header .site-main-nav-language-switch .toolbar-button {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--color-paper);
		text-decoration-color: currentColor;
		text-decoration-thickness: 0.08em;
	}

	.site-topbar-form--header .site-main-nav-language-switch .toolbar-button.is-active {
		background: transparent !important;
		color: var(--color-paper) !important;
		text-decoration: none;
	}

	.site-topbar-form--header .site-main-nav-language-switch .toolbar-button:not(.is-active) {
		text-decoration-line: line-through;
	}

	html.theme-night .site-topbar-form--header .site-main-nav button.toolbar-button,
	html.theme-night .site-topbar-form--header .site-main-nav-language-link button.toolbar-button,
	html.theme-night .site-topbar-form--header .site-main-nav-language-toggle,
	html.theme-night .site-topbar-form--header .desktop-theme-toggle,
	html.theme-night .site-topbar-form--header .site-main-nav button.toolbar-button.is-active {
		background: var(--color-paper-soft);
		color: var(--color-ink-soft);
	}

	html.theme-night .site-topbar-form--header .site-main-nav-language-switch {
		background: var(--color-paper-soft);
		box-shadow: var(--shadow-floating-toolbar-night) !important;
	}

	html.theme-night .site-topbar-form--header .site-main-nav-language-item + .site-main-nav-language-item {
		border-left-color: transparent;
	}

	html.theme-night .site-topbar-form--header .site-main-nav-language-item + .site-main-nav-language-item::before {
		background: transparent;
		color: var(--color-ink-soft);
	}

	html.theme-night .site-topbar-form--header .site-main-nav-language-switch .toolbar-button {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--color-ink-soft);
	}

	html.theme-night .site-topbar-form--header .site-main-nav-language-switch .toolbar-button.is-active {
		background: transparent !important;
		color: var(--color-ink-soft) !important;
	}

	.theme-night .site-topbar-form--header .site-main-nav button.toolbar-button,
	.theme-night .site-topbar-form--header .site-main-nav-language-toggle,
	.theme-night .site-topbar-form--header .desktop-theme-toggle {
		box-shadow: var(--shadow-floating-toolbar-night) !important;
	}

	.home-page .projects > br:first-child,
	.home-page .projects > br:first-child + br,
	.home-page .projects > br:first-child + br + br,
	.home-page .projects > br:first-child + br + br + br,
	.about-page .projects > br:first-child,
	.about-page .projects > br:first-child + br,
	.about-page .projects > br:first-child + br + br,
	.about-page .projects > br:first-child + br + br + br {
		display: none;
	}

	.projects > br:first-child,
	.projects > br:first-child + br,
	.projects > br:first-child + br + br,
	.projects > br:first-child + br + br + br,
	.projects > br:first-child + br + br + br + h1 + .spacing2 + .home-page-main-intro + br,
	.projects > br:first-child + br + br + br + h1 + .spacing2 + .home-page-main-intro + br + br {
		display: none;
	}

	#toTop {
		bottom: calc(4.9rem + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 370px) {
	.site-topbar-form {
		grid-template-areas: "nav tools";
		grid-template-columns: 1fr auto;
	}

	.site-topbar-newsletter {
		display: none;
	}

	.site-main-nav {
		justify-content: flex-start;
		justify-self: start;
	}
}

.toolbar-button--language {
	text-transform: lowercase;
}

.toolbar-button.is-active {
	background: var(--color-ink);
	border-color: var(--color-ink);
	color: var(--color-paper);
}

.site-main-nav-tools .desktop-theme-toggle {
	box-sizing: border-box;
	height: var(--site-nav-control-height);
	margin: 0;
	min-height: var(--site-nav-control-height);
}

.image {
	background-color: var(--color-paper);
	display: table-cell;
	height: auto;
	width: 100%;
}

.image2 img,
.image2 img:hover,
.image2 img.permahover {
	background-color: var(--color-paper);
	height: auto;
	max-height: 500px;
	max-width: var(--legacy-image-small-width);
}

.image3 img,
.image3 img:hover,
.image3 img.permahover {
	background-color: var(--color-paper);
	height: auto;
	max-height: 500px;
	max-width: var(--legacy-image-medium-width);
}

.image4 img {
	background-color: var(--color-paper);
	border-radius: var(--radius-media);
	box-shadow: var(--shadow-media);
	height: auto;
	max-height: 1200px;
	width: var(--project-main-width);
}

.image3 img:hover {
	border-radius: var(--radius-media);
	box-shadow: var(--shadow-media);
	filter: grayscale(0%) brightness(100%) contrast(100%);
	-webkit-filter: grayscale(0%) brightness(100%) contrast(100%);
}

#imagefull img {
	display: block;
	margin: 0;
	padding: 0;
	z-index: 2;
}

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

td {
	padding: 0 var(--legacy-offset) 0 0;
	vertical-align: top;
	width: 50%;
}

.projects table {
	border-collapse: separate;
	border-spacing: 0;
	width: 99%;
}

.projects td {
	padding: 0 7px 0 0;
	vertical-align: top;
	width: 49%;
}

@media (max-width: 899px) {
	html,
	body {
		overflow-x: hidden;
		width: 100%;
	}

	header {
		font-size: var(--font-mobile);
		min-height: 100vh !important;
		min-height: 100svh !important;
		min-height: 100dvh !important;
		padding: var(--page-gutter-phone);
		padding-top: calc(var(--page-gutter-phone) + env(safe-area-inset-top, 0px));
		padding-right: calc(var(--page-gutter-phone) + env(safe-area-inset-right, 0px));
		padding-left: calc(var(--page-gutter-phone) + env(safe-area-inset-left, 0px));
	}

	#header {
		max-width: 100% !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		min-height: 100dvh !important;
	}

	#block,
	#input3 {
		-moz-column-count: 1 !important;
		-webkit-column-count: 1 !important;
		column-count: 1 !important;
		display: inline-block;
		line-height: var(--line-mobile-text);
		max-width: 100% !important;
	}

	:is(#content, .layout-content) {
		max-width: 100% !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		min-height: 100dvh !important;
	}

	.image2 img,
	.image3 img,
	.image4 img {
		display: inline-block;
		max-width: 100% !important;
	}

	table,
	.projects table {
		width: 100% !important;
	}

	td,
	.projects td {
		display: block;
		width: 100%;
	}

	.videoWrapper {
		border-radius: var(--radius-media);
		box-shadow: var(--shadow-media);
		height: 0;
		margin-bottom: 4px;
		padding-bottom: 56.25%;
		padding-top: 0;
		position: relative;
	}

	.videoWrapper iframe,
	.videoWrapper object {
		border-radius: var(--radius-media);
		box-shadow: var(--shadow-media);
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}
}

@media (min-width: 640px) {
	header {
		padding: var(--page-gutter);
		padding-top: var(--header-top);
	}
}

object, iframe, img {
	border-radius: var(--radius-media);
	box-shadow: var(--shadow-media);
}

/* Default project media keeps the usual treatment; add `nofx` in page markup
   when a logo or document image should render without shadow or rounded corners. */
.nofx > :is(img, iframe, object, video),
.nofx > a > :is(img, iframe, object, video),
:is(img, iframe, object, video).nofx {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	filter: none !important;
}

.press-grid a, .press-grid a:hover {
color: var(--color-ink) !important;
text-decoration: none;
background: var(--color-paper) !important;
}

.press-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-text);
}
.press-card {
  flex: 1 1 300px;
  background: var(--color-paper);
  border: 1px solid var(--color-ink-muted);
  border-radius: var(--radius-media);
  padding: var(--space-text);
  display: flex;
  gap: var(--space-text);
  align-items: center;
  transition: box-shadow 0.2s ease;
}
.press-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.press-logo {
  width: 80px;
  height: auto;
}
.press-content {
  flex: 1;
}
.press-title {
  font-weight: bold;
}
.press-meta {
  font-size: 0.9em;
  color: var(--color-ink-muted);
}

.press-thumb {
  width: 100%;
  height: auto;
  margin-bottom: 0.5em;
  border-radius: var(--radius-media);
}

section { margin-top: 3em; }


/* Collapsible sections for ABOUT page */
.about-toggle {
	margin: 0;
}

.about-toggle > summary {
  cursor: pointer;
  font-weight: 700;
  letter-spacing: var(--tracking-mono);
  list-style: none;
}
.about-toggle > summary::-webkit-details-marker { display: none; }
.about-toggle > summary::before { content: "+ "; color: var(--color-accent);}
.about-toggle[open] > summary::before { content: "– "; color: var(--color-accent); }
.about-toggle__content { margin-top: 0.75rem; margin-bottom: 0.75rem; padding-left: 0.95rem; }
.about-toggle--dense .about-toggle__content { column-gap: 2rem; columns: 1; max-width: none; }

.about-extlink {
  display: inline-block;
  text-decoration: none;
  font-size: 0.95em;
  line-height: 1;
  margin-left: 0.12em;
  opacity: 0.95;
  vertical-align: -0.06em;
}

.about-extlink:hover {
  opacity: 1;
}

.about-contact-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32em;
  align-items: center;
  margin: 0.5em 0;
  font-size: ;
}

.about-contact-buttons a {
  text-decoration: none;
}

.about-contact-buttons button {
  display: inline-flex;
  align-items: center;
  gap: 0.32em;
  font-size: 1em;
  font-weight: 700;
}

.newsletter-signup {
	border-bottom: 1px solid currentColor;
	border-top: 0px solid currentColor;
	box-sizing: border-box;
	max-width: min(100%, var(--project-main-width));
	text-transform: none;
}

.newsletter-text h2 {
	font-family: var(--display-font);
	font-size: inherit;
	font-weight: 700;
	letter-spacing: var(--tracking-display);
	line-height: var(--line-display);
	margin: 0 0 var(--space-tight);
	text-transform: uppercase;
}

.newsletter-text p {
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-text);
	margin: 0 0 0 0 ;
	max-width: var(--project-text-width);
	text-transform: none;
}

about-newsletter-email

.newsletter-form label {
	display: block;
	font-family: var(--mono-font);
	font-size: var(--font-text);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--line-legacy-text);
	margin: 1 1 1 1;
	text-transform: none;
}

.newsletter-row {
	display: flex;
	gap: var(--space-tight);
	width: 100%;
}

.newsletter-row input[type="email"],
.newsletter-row button {

}

.newsletter-row input[type="email"] {
	background: transparent;
	color: inherit;
	flex: 1 1 auto;
	min-width: 0;
}

.newsletter-row button {
	background: currentColor;
	color: var(--page-bg);
	cursor: pointer;
	flex: 0 0 auto;
}

.newsletter-row button:hover,
.newsletter-row button:focus-visible {
	opacity: 0.75;
}

.newsletter-honeypot {
	left: -5000px;
	position: absolute;
}

.newsletter-email {
	display: inline-flex;
    align-items: center;
    gap: 0.32em;
    font-size: 1em;
    font-weight: 700;
}

@media (max-width: 640px) {
	.newsletter-signup {
		margin: var(--space-section) 0;
		padding: calc(var(--space-section) * 0.75) 0;
	}

	.newsletter-row {
		flex-direction: column;
	}

	.newsletter-row button {
		width: 100%;
	}
}

.about-responsive-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem 1.6rem;
}

.about-responsive-list--3,
.about-responsive-list--4 {
  grid-template-columns: 1fr;
}

.about-responsive-list__item {
  min-width: 0;
  line-height: 1.1em;
}

.about-line-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-ui);
}

.about-line-item {
  min-width: 0;
  line-height: 1.1em;
}

:is(#content, .layout-content) .about-row-link {
  display: inline-block;
  max-width: 100%;
  width: auto;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

:is(#content, .layout-content) .about-row-link * {
  cursor: pointer;
}

:is(#content, .layout-content) .about-row-link:hover,
:is(#content, .layout-content) .about-row-link:focus-visible,
:is(#content, .layout-content) .about-row-link:visited {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

.about-linked-row:focus-within {
  outline: 1px solid var(--color-accent);
  outline-offset: 0.15rem;
}

.about-row-link__icon {
  pointer-events: none;
}

.about-list-label {
  margin: 0.7rem 0 0.35rem;
  font-weight: 700;
}

.about-list-note {
  margin-top: 0.6rem;
}

.about-page .desktop-about-main {
  --about-code-font-size: var(--font-text);
  --about-code-line-height: var(--about-copy-line);
  font-family: var(--mono-font);
  font-size: var(--about-code-font-size);
  letter-spacing: var(--tracking-mono);
  line-height: var(--about-code-line-height);
}

.about-page .desktop-about-main :is(.about-toggle > summary, .about-toggle__content, .about-responsive-list, .about-responsive-list__item, .about-line-list, .about-line-item, .about-list-label, .about-list-note) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.about-page .desktop-about-main .about-toggle {
  margin: 0;
}

.about-page .desktop-about-main .about-toggle > summary {
  margin: 0;
  min-height: 1lh;
}

.about-page .desktop-about-main .about-toggle__content {
  margin: 1lh 0;
  padding-left: 1lh;
}

.about-page .desktop-about-main .about-responsive-list {
  gap: 0 1.6rem;
}

.about-page .desktop-about-main .about-responsive-list__item,
.about-page .desktop-about-main .about-line-item,
.about-page .desktop-about-main .about-list-label,
.about-page .desktop-about-main .about-list-note {
  min-height: 1lh;
}

.about-page .desktop-about-main .about-line-list {
  gap: 0;
}

.about-page .desktop-about-main .about-list-label {
  margin: 1lh 0 0;
}

.about-page .desktop-about-main .about-list-note {
  margin-top: 1lh;
}

/* Institutional ABOUT landing page */
.about-institutional-page {
	--about-rule: var(--color-ink);
	--about-muted: var(--color-ink-muted);
	--about-panel: var(--color-paper);
}

.about-institutional-page .about-hero,
.about-institutional-page .about-main {
	box-sizing: border-box;
	max-width: min(100%, var(--project-main-width));
	width: min(100%, var(--project-main-width));
}

.about-hero {
	margin: 0 0 2.5rem;
}

.about-hero__media {
	margin: 1.1rem 0 1rem;
}

.about-hero__media img {
	box-sizing: border-box;
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.about-page-main-intro {
	margin: 0 0 0;
	max-width: min(100%, var(--project-main-width));
}

.about-main {
	font-family: var(--mono-font);
	letter-spacing: var(--tracking-mono);
}

.about-section {
	border-top: 1px solid var(--about-rule);
	margin: 0 0 calc(var(--space-section) + 1rem);
	padding-top: 1rem;
}

.about-section:first-child {
	border-top: 0;
	padding-top: 0;
}

.about-section__header {
	margin-bottom: 1rem;
}

.about-section h2 {
	background: var(--color-ink);
	color: var(--color-paper);
	display: inline-block;
	font-family: var(--display-font);
	font-size: var(--about-title-size);
	font-weight: 900;
	letter-spacing: var(--tracking-display);
	line-height: 1;
	margin: 0 0 var(--space-card);
	padding: 0.35rem 0.58rem 0.42rem;
	text-transform: uppercase;
}

.about-section h3 {
	font-size: var(--about-copy-size);
	font-weight: 700;
	letter-spacing: var(--tracking-mono);
	margin: 0 0 var(--space-card);
	text-transform: uppercase;
}

.about-section__header p {
	font-family: var(--mono-font);
	font-size: var(--about-copy-size);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	line-height: var(--about-copy-line);
	margin: 0;
	text-transform: none;
}

.about-download-grid,
.about-highlight-grid,
.about-card-grid,
.about-team-grid {
	display: grid;
	gap: var(--space-card);
	grid-template-columns: 1fr;
}

.about-page .about-download-grid {
	grid-template-columns: 1fr;
}

.about-download-card,
.about-highlight-card,
.about-card,
.about-team-card,
.about-event {
	background: var(--about-panel);
	border: 1px solid var(--about-rule);
	box-sizing: border-box;
	color: inherit;
	display: block;
	padding: var(--space-card-padding);
	text-decoration: none;
}

.about-download-card,
.about-highlight-card,
.about-team-card {
	min-height: 4.4rem;
}

.about-download-card {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.about-download-card__label,
.about-highlight-card b,
.about-card b,
.about-team-card b,
.about-event strong {
	display: block;
	font-size: var(--about-copy-size);
	font-weight: 700;
	line-height: var(--line-tight);
}

.about-download-card__meta,
.about-highlight-card span,
.about-card span,
.about-team-card span,
.about-event em {
	color: var(--about-muted);
	display: block;
	font-size: var(--about-small-size);
	font-style: normal;
	line-height: var(--about-card-line);
	margin-top: var(--space-card-small);
}

.about-download-card.is-disabled {
	cursor: not-allowed;
	opacity: 0.48;
}

.about-event-list {
	display: grid;
	gap: var(--space-ui);
}

.about-event {
	display: grid;
	gap: var(--space-ui) var(--space-card);
	grid-template-columns: minmax(4.5rem, auto) 1fr;
}

.about-event span {
	color: var(--about-muted);
	font-size: var(--about-small-size);
	font-weight: 700;
	grid-row: span 2;
	line-height: var(--line-tight);
	white-space: nowrap;
}

.about-event strong,
.about-event em {
	margin: 0;
}

.about-event-list--compact .about-event {
	padding-bottom: 0.55rem;
	padding-top: 0.55rem;
}

.about-event--notice {
	border-style: dashed;
}

.about-card {
	min-height: 7rem;
}

.about-name-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-tight);
}

.about-name-cloud span,
.about-name-cloud a {
	border: 1px solid var(--about-rule);
	box-sizing: border-box;
	color: inherit;
	display: inline-block;
	font-size: var(--about-small-size);
	line-height: var(--line-tight);
	padding: 0.32rem 0.48rem;
	text-decoration: none;
}

.about-name-cloud--small {
	gap: var(--space-card-small);
}

.about-section__subblock {
	margin-top: 1.25rem;
}

.about-main .about-row-link {
	cursor: pointer;
}

.about-main .about-row-link:hover,
.about-main .about-row-link:focus-visible,
.about-download-card:not(.is-disabled):hover,
.about-download-card:not(.is-disabled):focus-visible,
.about-name-cloud a:hover,
.about-name-cloud a:focus-visible {
	background: var(--color-ink);
	color: var(--color-paper);
	outline: none;
	text-decoration: none;
}

.about-main .about-row-link:hover *,
.about-main .about-row-link:focus-visible *,
.about-download-card:not(.is-disabled):hover *,
.about-download-card:not(.is-disabled):focus-visible *,
.about-name-cloud a:hover,
.about-name-cloud a:focus-visible {
	color: var(--color-paper);
}

@media (min-width: 640px) {
	.about-page .about-download-grid,
	.about-page .about-highlight-grid,
	.about-page .about-card-grid,
	.about-page .about-team-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.about-page .about-responsive-list,
	.about-page .about-responsive-list--3,
	.about-page .about-responsive-list--4 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.about-page .about-toggle--dense .about-toggle__content {
		column-count: 1 !important;
		column-width: auto !important;
		columns: 1 auto !important;
	}
}

@media (min-width: 900px) {
	.about-page details.about-toggle > .about-toggle__content > .about-responsive-list,
	.about-page details.about-toggle > .about-toggle__content > .about-responsive-list.about-responsive-list--3,
	.about-page details.about-toggle > .about-toggle__content > .about-responsive-list.about-responsive-list--4 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.about-institutional-page .about-hero,
	.about-institutional-page .about-main {
		margin-left: 0;
	}

	.about-institutional-page > h1 {
		margin-left: 0;
	}

	.about-hero {
		margin-bottom: 2.8rem;
	}
}

@media (min-width: 1180px) {
	.about-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

html.theme-night,
body.theme-night,
html.theme-night body {
	--page-bg: var(--color-night-bg);
	--page-fg: var(--color-night-fg);
	color-scheme: dark;
	background: var(--page-bg);
	background-color: var(--page-bg);
	color: var(--page-fg);
}

html.theme-night .viewport-shadow {
	background:
		linear-gradient(to right, rgba(52, 52, 52, 0.58), rgba(52, 52, 52, 0) 18px),
		linear-gradient(to left, rgba(52, 52, 52, 0.58), rgba(52, 52, 52, 0) 18px),
		linear-gradient(to bottom, rgba(52, 52, 52, 0.42), rgba(52, 52, 52, 0) 0px),
		linear-gradient(to top, rgba(52, 52, 52, 0.42), rgba(52, 52, 52, 0) 0px);
}

html.theme-night :is(#content, .layout-content),
html.theme-night .videoWrapper,
html.theme-night .videoWrapper:hover,
html.theme-night .permahover {
	background-color: transparent;
}

html.theme-night a,
html.theme-night span a,
html.theme-night .desktop-sidebar-sections a,
html.theme-night .desktop-sidebar-projects a,
html.theme-night .desktop-sidebar-links a,
html.theme-night .desktop-sidebar-language-switch a,
html.theme-night .desktop-sidebar-nav a {
	color: var(--color-night-fg);
}

html.theme-night :is(#content, .layout-content) a:hover,
html.theme-night h1 a:hover,
html.theme-night .link3 a:hover,
html.theme-night h2 a:hover,
html.theme-night h4 a:hover {
	background-color: transparent;
	color: var(--color-paper);
}

html.theme-night :is(#content, .layout-content) a,
html.theme-night :is(#content, .layout-content) a:hover,
html.theme-night :is(#content, .layout-content) a:visited {
	color: var(--color-accent);
}

html.theme-night .about-page :is(#content, .layout-content) a,
html.theme-night .about-page :is(#content, .layout-content) a:hover,
html.theme-night .about-page :is(#content, .layout-content) a:visited,
html.theme-night .about-page :is(#content, .layout-content) a.about-extlink,
html.theme-night .about-page :is(#content, .layout-content) a.about-extlink:hover,
html.theme-night .about-page :is(#content, .layout-content) a.about-extlink:visited {
	color: var(--color-night-fg);
}

html.theme-night .shift-right,
html.theme-night .description,
html.theme-night span.description,
html.theme-night .home-page .project-section > .shift-right,
html.theme-night .home-page .project-section > .shift-right .description,
html.theme-night .home-page .project-subtitle,
html.theme-night .home-page .project-medium,
html.theme-night .about-page .desktop-sidebar-intro {
	color: var(--color-night-fg);
}

html.theme-night .project-format {
	color: color-mix(in srgb, var(--color-night-fg) 72%, transparent);
}

html.theme-night .project-format::after {
	color: color-mix(in srgb, var(--color-night-fg) 45%, transparent);
}

html.theme-night .project-year {
	color: var(--color-night-fg);
}

html.theme-night .about-institutional-page {
	--about-rule: var(--color-night-fg);
	--about-muted: color-mix(in srgb, var(--color-night-fg) 68%, transparent);
	--about-panel: var(--color-night-bg);
}

html.theme-night .about-section h2 {
	background: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night .about-main a,
html.theme-night .about-main a:visited,
html.theme-night .about-name-cloud a,
html.theme-night .about-name-cloud a:visited {
	color: var(--color-night-fg);
}

html.theme-night .about-main .about-row-link:hover,
html.theme-night .about-main .about-row-link:focus-visible,
html.theme-night .about-download-card:not(.is-disabled):hover,
html.theme-night .about-download-card:not(.is-disabled):focus-visible,
html.theme-night .about-name-cloud a:hover,
html.theme-night .about-name-cloud a:focus-visible {
	background: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night .about-main .about-row-link:hover *,
html.theme-night .about-main .about-row-link:focus-visible *,
html.theme-night .about-download-card:not(.is-disabled):hover *,
html.theme-night .about-download-card:not(.is-disabled):focus-visible *,
html.theme-night .about-name-cloud a:hover,
html.theme-night .about-name-cloud a:focus-visible {
	color: var(--color-night-bg);
}

html.theme-night h1,
html.theme-night h4,
html.theme-night .desktop-sidebar-label,
html.theme-night .dates,
html.theme-night .event {
	background-color: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night h1 a,
html.theme-night h4 a {
	color: var(--color-night-bg);
}

html.theme-night .desktop-sidebar-panel,
html.theme-night .desktop-sidebar-nav a span,
html.theme-night .desktop-sidebar-links a span,
html.theme-night .home-mobile-categories a span,
html.theme-night .toolbar-button,
html.theme-night .desktop-sidebar-topbar-link button,
html.theme-night .desktop-sidebar-language-link button,
html.theme-night .desktop-sidebar-tags li,
html.theme-night .site-main-nav button:not(.desktop-theme-toggle),
html.theme-night .desktop-theme-toggle,
html.theme-night .desktop-sidebar-newsletter input,
html.theme-night .desktop-sidebar-newsletter .button,
html.theme-night .site-topbar-form input,
html.theme-night .site-topbar-form .button,
html.theme-night .site-footer-links button,
html.theme-night #toTop {
	border-color: var(--color-night-fg);
}

html.theme-night .desktop-sidebar-panel,
html.theme-night .desktop-sidebar-nav a span,
html.theme-night .desktop-sidebar-links a span,
html.theme-night .home-mobile-categories a span,
html.theme-night .toolbar-button,
html.theme-night .desktop-sidebar-topbar-link button,
html.theme-night .desktop-sidebar-language-link button,
html.theme-night .desktop-sidebar-tags li,
html.theme-night .site-main-nav button:not(.desktop-theme-toggle),
html.theme-night .desktop-theme-toggle,
html.theme-night .desktop-sidebar-newsletter input,
html.theme-night .desktop-sidebar-newsletter .button,
html.theme-night .site-topbar-form input,
html.theme-night .site-topbar-form .button,
html.theme-night .site-footer-links button {
	background: var(--color-ink);
	color: var(--color-night-fg);
}

html.theme-night .desktop-sidebar-panel--topbar {
	box-shadow: 0 0 22px 4px rgba(255, 255, 255, 0.16);
}

@media (min-width: 1350px) {
	html.theme-night .desktop-sidebar-panel--topbar {
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	html.theme-night .desktop-sidebar-enabled .desktop-sidebar .toolbar-button,
	html.theme-night .desktop-sidebar-enabled .desktop-sidebar .desktop-theme-toggle {
		background: var(--color-ink) !important;
		background-color: var(--color-ink) !important;
		border-color: var(--color-night-fg) !important;
		color: var(--color-night-fg) !important;
	}

	html.theme-night .desktop-sidebar-enabled .desktop-sidebar .toolbar-button.is-active {
		background: var(--color-night-fg) !important;
		background-color: var(--color-night-fg) !important;
		border-color: var(--color-night-fg) !important;
		color: var(--color-night-bg) !important;
	}
}

html.theme-night .desktop-theme-toggle:hover,
html.theme-night .desktop-theme-toggle:focus-visible,
html.theme-night .toolbar-button:hover,
html.theme-night .toolbar-button:focus-visible,
html.theme-night .site-main-nav button:not(.desktop-theme-toggle):hover,
html.theme-night .site-main-nav button:not(.desktop-theme-toggle):focus-visible,
html.theme-night .desktop-sidebar-newsletter .button:hover,
html.theme-night .site-topbar-form .button:hover,
html.theme-night .site-footer-links button:hover {
	background: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night .desktop-theme-toggle {
	background: var(--color-ink);
}

html.theme-night a:focus-visible,
html.theme-night button:focus-visible,
html.theme-night input:focus-visible {
	outline-color: var(--color-night-fg);
}

html.theme-night .toolbar-button.is-active,
html.theme-night .desktop-sidebar-language-link button.is-active {
	background: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night [data-category-link]:focus-visible span,
html.theme-night .desktop-sidebar-topbar-link:focus-visible span,
html.theme-night .desktop-sidebar-language-link:focus-visible span {
	background: var(--color-night-fg);
	color: var(--color-night-bg);
}

html.theme-night .desktop-sidebar-language-link + .desktop-sidebar-language-link {
	border-left-color: var(--color-night-fg);
}

html.theme-night .desktop-sidebar-projects span:last-child {
	color: color-mix(in srgb, var(--color-night-fg) 70%, transparent);
}

@media (max-width: 430px) {
	header {
		font-size: var(--font-phone);
	}
}

@media (hover: none), (pointer: coarse), (max-width: 640px) {
	.viewport-shadow {
		background:
			linear-gradient(to right, rgba(204, 204, 204, 0.58), rgba(204, 204, 204, 0) 0),
			linear-gradient(to left, rgba(204, 204, 204, 0.58), rgba(204, 204, 204, 0) 0),
			linear-gradient(to bottom, rgba(204, 204, 204, 0.42), rgba(204, 204, 204, 0) 0),
			linear-gradient(to top, rgba(204, 204, 204, 0.42), rgba(204, 204, 204, 0) 0);
		bottom: -38vh;
		left: 0;
		pointer-events: none;
		position: fixed;
		right: 0;
		top: -38vh;
		transform: translateZ(0);
		z-index: 999;
	}

	#toTop {
		display: none;
		visibility: hidden;
	}
}
