/* DEFINITIONS */

:root {
	--white: #FFFFFF;
	--black: #231F20;
	--clay: #994C3B;
	--shale: #434140;
	--sandstone: #A37B64;
	--chalk: #F2E3D6;
	--purpaidh: #7975EB;
	--purple: var(--purpaidh);
	--foreground: var(--shale);
	--background: var(--white);
	--dark-foreground: var(--chalk);
	--dark-background: var(--black);
	--link: var(--clay);
	--link-interaction: color-mix(in lab, var(--link) 80%, var(--foreground));
	--line: var(--shale);
	--dark-line: var(--chalk);
	--line-size: 1px;
	--page-margin-inline: clamp(1.2rem, 4vw, 2.8rem);
	--page-inline-size: min(1440px, 100% - var(--page-margin-inline));
	--fs-5: clamp(2.6rem, 4vi + 1.8rem, 4.5rem);
	--fs-4: clamp(1.9rem, 3vi + 1.6rem, 3.75rem);
	--fs-3: clamp(1.6rem, 2vi + 1.2rem, 2.7rem);
	--fs-2: clamp(1.35rem, 1.3vi + 1.1rem, 2.11rem);
	--fs-1: clamp(1rem, 0.65vi + 0.8rem, 1.4rem);
	--fs-0: clamp(0.97rem, 0.34vi + 0.8rem, 1.05rem);
	--fs--1: clamp(0.78rem, 0.35vi + 0.45rem, 0.95rem);
	--fs--2: clamp(0.72rem, 0.3vi + 0.38rem, 0.88rem);
}

/* GENERAL */

html {
	scroll-padding-block-start: 8.7rem;
}
body {
	color: var(--foreground);
	background-color: var(--background);
	font-weight: 300;
	font-size: var(--fs-0);
}
body,
.documentation .x-text h3,
.documentation .x-text h4 {
	font-family: "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
article .meta,
.entry-content cite,
#header nav li,
#footer .x-text,
#footer nav > ul > li > a,
#hero .indicator,
#hero .meta li,
#hero .coordinates li,
.news.listing .date,
.news .category-date,
.documentation .x-text li > a:only-child,
.x-acc > .x-acc-item .x-content li > a:only-child,
.gallery .slide-number,
.gallery figcaption,
.listing .x-anchor,
#enquiries .subject label,
#enquiries .wpcf7-response-output {
	font-family: 'Martian Mono', monospace;
	text-transform: uppercase;
	font-weight: 500;
}
.x-site > .x-container.width {
	width: auto;
}
.x-section > .x-container.width {
	inline-size: var(--page-inline-size);
	max-inline-size: none;
}
.x-section.lines .x-row {
	inline-size: auto;
	max-inline-size: none;
	padding-inline: var(--page-margin-inline);
}
.x-section.lines .x-row:first-child {
    border-block-start: var(--line-size) solid var(--line);
    padding-block-start: var(--fs-2);
}
.x-section.lines .x-row:last-child {
    border-block-end: var(--line-size) solid var(--line);
    padding-block-end: var(--fs-2);
}
.x-section.lines .x-row .x-col:only-child {
	flex: 0 1 var(--page-inline-size);
	margin-inline: var(--page-margin-inline);
}
section.chalk {
	--foreground: var(--chalk);
	--line: var(--foreground);
	--dark-background: var(--chalk);
}
section.clay {
	--foreground: var(--clay);
	--line: var(--foreground);
	--dark-background: var(--clay);
}
section.shale {
	--foreground: var(--shale);
	--dark-background: var(--shale);
}
section.sandstone h1,
section.sandstone h2,
section.sandstone h3,
section.sandstone h4 {
	--foreground: var(--sandstone);
	--dark-background: var(--sandstone);
	--link: var(--sandstone);
	--link-interaction: color-mix(in lab, var(--link) 80%, var(--foreground));
}
.x-section.line-start {
	border-block-start: var(--line-size) solid var(--line);
}
.x-section.line-end {
	border-block-end: var(--line-size) solid var(--line);
}
.clay-headings :is(h1, h2, h3) {
	--foreground: var(--clay);
}
.dark {
	--foreground: var(--dark-foreground);
	--background: var(--dark-background);
	--link: var(--dark-foreground);
	--line: color-mix(in lab, var(--dark-foreground) 60%, transparent);
	--link-interaction: color-mix(in lab, var(--accent) 80%, var(--dark-foreground));
}
.dark div,
.dark p,
.dark li,
.dark .x-text {
	color: var(--foreground);
}
a,
.x-site a {
	color: var(--link);
	text-decoration: none;
}
a:hover,
.x-site a:hover {
	color: var(--link-interaction);
	text-decoration: underline;
	text-decoration-color: var(--purpaidh);
}
h1 > a:hover,
h2 > a:hover,
h3 > a:hover,
.listing h4 > a:hover,
.x-site h1 > a:hover,
.x-site h2 > a:hover,
.x-site h3 > a:hover,
#header nav a:hover,
.cta a:hover,
.button:hover,
.x-btn:hover,
.x-site .cta a:hover,
.x-site .button:hover,
.x-site .x-btn:hover {
	text-decoration: none;
}
nav ul {
    list-style: none;
    margin-inline: 0;
    margin-block: 0;
    padding-inline: 0;
}
h1,
h2,
h3,
nav a {
	text-wrap: balance;
}
div,
p,
li {
	text-wrap: pretty;
}
body,
.x-section p,
.x-section li,
.x-section input,
.x-section select,
.x-section textarea,
.x-section th,
.x-section td,
.x-section h6 {
	font-size: var(--fs-0);
	line-height: 140%;
}
.x-container h1,
.x-container .h1,
.x-section h1,
.x-section .h1,
.x-container h2,
.x-container .h2,
.x-section h2,
.x-section .h2,
.entry-content h2,
.entry-content .h2,
.x-container h3,
.x-container .h3,
.x-section h3,
.x-section .h3,
.projects .listing h4,
.projects .listing .h4,
.cta a,
.x-btn,
.stats .number,
.contact label,
.page .x-acc > .x-acc-item > h3.x-acc-header,
.single-project .x-acc > .x-acc-item > h3.x-acc-header,
.x-acc > .x-acc-item .x-content h4,
.x-acc > .x-acc-item .x-content h5,
.documentation .x-text > :is(ul, ol) > li > h2,
.documentation .x-text > ol > li::before {
	font-family: "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-weight: 900;
}
.x-container h1,
.x-container .h1,
.x-section h1,
.x-section .h1,
.stats .number {
	font-size: var(--fs-5);
	line-height: 100%;
	hyphens: auto;
}
.x-container h2,
.x-container .h2,
.x-section h2,
.x-section .h2 {
	font-size: var(--fs-4);
	line-height: 100%;
	hyphens: auto;
}
.x-container h3,
.x-container .h3,
.x-section h3,
.x-section .h3 {
	font-size: var(--fs-3);
	line-height: 100%;
	hyphens: auto;
}
.x-container h4,
.x-container .h4,
.x-section h4,
.x-section .h4 {
	font-size: var(--fs-2);
}
.x-container h5,
.x-container .h5,
.x-section h5,
.x-section .h5,
.emphasis-first-paragraph .x-col .x-text > p:first-of-type {
	font-size: var(--fs-1);
}
.full-screen { 
	min-inline-size: 100dvw;
}
#header ::selection,
#footer ::selection,
.cs-content ::selection {
	color: var(--white);
	background-color: var(--purpaidh);
}
.x-text,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li {
	color: var(--foreground);
}
.x-text > :first-child {
	margin-block-start: 0;
}
.x-text > :last-child {
	margin-block-end: 0;
}
svg {
	width: 100%;
	height: auto;
}
@media (width < 600px) {
	:is(#projects-assets, #footer) .x-row,
	:is(#projects-assets, #footer) .x-row-inner {
		max-inline-size: 100dvw;
	}
	:is(#projects-assets, #footer) .x-row > .x-row-inner {
		margin-inline: auto;
	}
}
@media (width >= 500px) and (height >= 500px) {
	html,
	html > body {
		overflow-x: initial;
	}
}
@media (width >= 768px) {
	.x-container h1,
	.x-container .h1,
	.x-section h1,
	.x-section .h1,
	.stats .number,
	.x-container h2,
	.x-container .h2,
	.x-section h2,
	.x-section .h2,
	.x-container h3,
	.x-container .h3,
	.x-section h3,
	.x-section .h3 {
		hyphens: inherit;
	}
}
@media (width >= 1480px) {
	.x-section.lines .x-row .x-col:only-child {
		margin-inline: auto;
	}
	.x-section.lines .x-row {
		padding-inline: 0;
	}
}

/* HEADER */

#header {
	--foreground: var(--chalk);
	background-color: var(--background);
	inline-size: auto;
	max-inline-size: 100dvw;
	padding-block: var(--fs-2);
	padding-inline: var(--page-margin-inline);
	border-block-end: var(--line-size) solid var(--line);
	inset-block-start: 0 !important;
}
.documentation #header {
	--background: var(--chalk);
	--link: var(--shale);
	--link-interaction: var(--shale);
	--line: var(--shale);
}
.x-masthead > .x-bar-fixed {
	position: relative;
}
.x-masthead > .x-bar-space-h {
	display: none;
}
#header .x-bar-container {
	flex-wrap: wrap;
	flex: auto;
	gap: var(--fs-2);
}
#header .logo,
#header .navigation {
	flex: 1 0 100%;
}
#header .logo a {
	display: flex;
	inline-size: min(67vw, 10.4rem);
	margin-block: auto;
	margin-inline: auto;
	transition: 0.3s color linear;
}
#header .logo svg {
	inline-size: auto;
}
#header .logo a:hover {
	color: var(--black);
}
#header .logo .isi-logo {
    inline-size: min(30rem, 100%);
}
#header .logo a .isi-logo,
#header .logo a:hover .isi-logo {
	transition: 0.3s fill linear;
}
#header nav {
	justify-content: flex-end;
	display: flex;
}
#header nav ul {
	flex: 0 1 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5lh var(--fs-3);
	margin-inline: auto;
	justify-content: center;
}
#header nav li {
	flex: 1 0 90%;
	font-size: var(--fs--1);
	text-align: center;
}
#header nav a {
	position: relative;
}
#header nav a::after,
#enquiries .subject label::after {
    position: absolute;
    content: '';
    inset: auto 0 calc(var(--fs-2) * -1 - 6px);
    block-size: 3px;
    box-shadow: 0 -3px 0 0 transparent;
    clip-path: circle(0% at 50% 50%);
    transition: 0.35s clip-path ease-out 0.1s, 0.3s box-shadow linear 0s;
    z-index: 2;
}
#enquiries .subject label:has(:checked)::after {
	clip-path: circle(90% at 50% 50%);
	box-shadow: 0 -3px 0 0 var(--purpaidh);
}
@media (width >= 640px) {
	.x-site > .x-masthead {
		position: absolute;
		inset: 0 0 auto;
		z-index: 100;
	}
	#header .logo a {
		margin-inline-start: 0;
	}
	#header nav li {
		flex: 0 1 auto;
	}
	#header nav ul {
		margin-inline-end: 0;
		justify-content: end;
	}
	#header nav a:hover::after {
		clip-path: circle(90% at 50% 50%);
		box-shadow: 0 -3px 0 0 var(--purpaidh);
	}
}
@media (width >= 780px) {
	.admin-bar .x-site > .x-masthead {
		inset-block-start: 32px;
	}
}
@media (width >= 640px) and (height >= 500px) {
	.x-site > .x-masthead {
		position: sticky;
		box-shadow: 0vw 0 0 0 color-mix(in lab, var(--shale) 10%, transparent) inset, 0vw 0 0 0 color-mix(in lab, var(--shale) 10%, transparent) inset;
		transition: 0.45s box-shadow ease-in-out;
	}
	.home .x-site > .x-masthead,
	.x-site:has(#hero.full-screen) > .x-masthead,
	.x-site:has(#hero.half-screen) > .x-masthead,
	.x-site:has(#hero.dark.sandstone, #hero.dark.clay) > .x-masthead {
		--link: var(--chalk);
		--line: color-mix(in lab, var(--dark-foreground) 60%, transparent);
		--link-interaction: var(--chalk);
		--foreground: var(--chalk);
		--background: var(--dark-background);
		background-color: transparent;
	}
	.home .x-site > .x-masthead,
	.x-site:has(#hero.full-screen) > .x-masthead,
	.x-site:has(#hero.half-screen) > .x-masthead {
		position: fixed;
	}
	.home .x-site #header,
	.x-site:has(#hero.full-screen) #header,
	.x-site:has(#hero.half-screen) #header {
		background-color: transparent;
	}
	.x-site:has(#hero.sandstone) #header {
		--background: var(--sandstone);
		--dark-background: var(--sandstone);
		--line: var(--sandstone);
	}
	.x-site:has(#hero.clay) #header {
		--background: var(--clay);
		--dark-background: var(--clay);
		--line: var(--clay);
	}
	.x-site:has(#hero.dark.sandstone, #hero.dark.clay) #header {
		background-color: var(--dark-background);
	}
	.x-site > .x-masthead.opaque {
		box-shadow: -70vw 0 4rem 0 var(--shale) inset, 70vw 0 4rem 0 var(--shale) inset;
		--line: var(--shale);
	}
	#header {
		border-block-end-color: var(--line);
		transition: 0.3s border-block-end-color linear;
	}
	#header .logo {
		flex: 1 0 9rem;
	}
	#header .navigation {
		flex: 30 0 20rem;
	}
	.opaque #header {
		border-block-end-color: var(--shale);
	}
	.admin-bar .x-site > .x-masthead {
		inset-block-start: 46px;
	}
	.x-site:has(#hero) #header .logo a:hover {
		color: var(--white);
	}
}
@media (width >= 780px) and (height >= 500px) {
	.admin-bar .x-site > .x-masthead {
		inset-block-start: 32px;
	}
}

/* FOOTER */

#footer,
#footer .x-text,
#footer nav li {
	font-size: var(--fs--1);
}
#footer.dark.shale {
	--background: var(--shale);
	--link: var(--foreground);
	--link-interaction: color-mix(in lab, var(--chalk) 80%, var(--white));
	background-color: var(--background);
}
#footer::before,
#footer::after {
    display: none;
}
#footer .x-bar-container {
	flex-wrap: wrap;
	flex: 1;
}
#footer .x-row:last-child {
    border-block-start: var(--line-size) solid;
}
#footer .x-row {
	flex: 1 0 100%;
    padding-block: clamp(2rem, 2vw + 2vh, 7rem);
    margin-inline: auto;
    display: flex;
}
#footer .x-col {
    display: flex;
    flex-wrap: wrap;
    max-inline-size: min(1440px, 100%);
    margin-inline: auto;
}
#footer .menu-footer-container {
    flex: 1 0 21rem;
}
#footer .x-text,
#footer nav > ul > li > a {
	font-size: var(--fs--2);
	padding-block-start: 0;
}
#footer nav > ul > li > a:first-child {
	pointer-events: none;
}
#footer nav > ul > li > a:first-child:hover {
	text-decoration: none;
}
#footer .x-text,
#footer nav a {
	justify-content: center;
}
#footer .x-text {
	flex: 1 0 9rem;
	display: flex;
}
#footer nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1em;
}
#footer nav li {
    flex: 1 0 100%;
}
#footer nav a {
	display: flex;
	padding-block: 0.25lh;
}
#footer nav .menu > li {
	margin-block-end: var(--fs-2);
}
#footer nav .sub-menu {
	margin-block-start: 0.9em;
}
#footer .x-row:has(.isi-logo) a {
	flex: 1 0 60%;
	display: flex;
}
#footer .isi-logo {
    display: flex;
    max-inline-size: 100%;
}
#footer .menu-item:is(.menu-item-59, .menu-item-397) {
	display: none;
}
@media (width >= 768px) {
	#footer nav a {
		justify-content: flex-start;
	}
	#footer nav > ul > li {
		flex: 1 0 7rem;
	}
	#footer .x-text {
		justify-content: flex-end;
	}
	#footer .x-row:first-child .menu-footer-container {
		padding-inline-start: calc(5.6% + 1rem);
	}
	#footer .x-row:first-child .menu-footer-container + .x-text {
		padding-inline-end: calc(5.6% + 1rem);
	}
	#footer .x-row:has(.isi-logo) a {
		margin-inline: 1rem;
	}
}
@media (width >= 1480px) {
	#footer .x-row:has(.isi-logo) a {
		margin-inline: auto;
	}
	#footer .x-row:first-child .menu-footer-container {
		padding-inline-start: 5.6%;
	}
	#footer .x-row:first-child .menu-footer-container + .x-text {
		padding-inline-end: 5.6%;
	}
}
@media (height >= 768px) {
	#footer .x-row:first-child {
		padding-block-end: clamp(3rem, 5vw + 5vh, 20rem);
	}
}

/* BUTTONS */

.button,
.x-btn,
.cta a {
    position: relative;
    contain: content;
	display: inline-flex;
	font-size: var(--fs--1);
	color: var(--chalk);
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNGMkUzRDYiIHZpZXdCb3g9IjAgMCA3IDExIj48cGF0aCBkPSJNMS4yNzMgMCAwIDEuMjIyIDQuNDU1IDUuNSAwIDkuNzc4IDEuMjczIDExIDcgNS41eiIvPjwvc3ZnPg==") scroll no-repeat calc(100% - 1.7ex) 50% / 0.55em, var(--shale) linear-gradient(180deg, var(--foreground) 50%, var(--purpaidh) 50%) scroll no-repeat 50% 0% / 100% 210%;
	padding-inline: 2.7ex 4.5ex;
	padding-block: 0.4lh;
	transition: 0.4s color linear, 0.5s background-position ease-in-out;
}
.dark .button,
.dark .x-btn,
.dark .cta a {
	color: var(--background);
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiM0MzQxNDAiIHZpZXdCb3g9IjAgMCA3IDExIj48cGF0aCBkPSJNMS4yNzMgMCAwIDEuMjIyIDQuNDU1IDUuNSAwIDkuNzc4IDEuMjczIDExIDcgNS41eiIvPjwvc3ZnPg=="), linear-gradient(180deg, var(--foreground) 50%, var(--purpaidh) 50%);
	padding-inline: 2.7ex 4.5ex;
	padding-block: 0.4lh;
	transition: 0.4s color linear, 0.5s background-position ease-in-out;
}
.button:hover,
.x-btn:hover,
.cta a:hover,
.cta a.active,
.cta a.active:hover,
.x-btn:focus-visible {
	color: var(--chalk);
	background-position: calc(100% - 1.4ex) 50%, 50% 100%;
}
.dark .button:hover,
.dark .x-btn:hover,
.dark .cta a:hover,
.dark .x-btn:focus-visible {
	color: var(--background);
}
.chalk.dark .button,
.chalk.dark .x-btn,
.chalk.dark .cta a {
	color: var(--shale);
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxMCAxMSI+PHBhdGggZmlsbD0iI2YyZTNkNiIgZD0iTTEuMjczIDAgMCAxLjIyMiA0LjQ1NSA1LjUgMCA5Ljc3OCAxLjI3MyAxMSA3IDUuNXoiLz48cGF0aCBmaWxsPSIjNDM0MTQwIiBkPSJNNC4yNzMgMCAzIDEuMjIyIDcuNDU1IDUuNSAzIDkuNzc4IDQuMjczIDExIDEwIDUuNXoiLz48L3N2Zz4=") scroll no-repeat calc(100% - 1.7ex) 50% / 0.7em, var(--chalk) linear-gradient(180deg, var(--chalk) 50%, var(--shale) 50%) scroll no-repeat 50% 0% / 100% 210%;
}
.chalk.dark .button:hover,
.chalk.dark .x-btn:hover,
.chalk.dark .cta a:hover {
	color: var(--chalk);
	background-position: calc(100% - 1.4ex) 50%, 50% 100%;
}

/* HERO */

#hero {
    display: grid;
	grid-template-columns: 1fr;
    gap: 0;
}
#hero .x-row {
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
}
#hero.full-screen .x-row,
#hero.half-screen .x-row,
#hero.stone .x-row.stone,
#hero.stone .x-row.text {
	grid-area: 1 / 1 / 2 / 2;
}
#hero .x-row:first-child {
	z-index: 0;
}
#hero.stone .x-row.photo {
	border-block-start: calc(var(--fs-0) * 0.5) solid var(--purpaidh);
}
#hero .x-row-inner {
	margin-inline: 0;
	margin-block: 0;
}
#hero .x-col {
	flex: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-block: 0;
	margin-inline: 0;
}
#hero.stone .x-col {
	align-items: center;
}
#hero.stone .x-row:first-child .x-col {
	align-items: flex-start;
}
#hero .x-image img {
	max-inline-size: none;
	aspect-ratio: 2.4;
	inline-size: 100dvw;
	block-size: auto;
	object-fit: cover;
}
#hero.stone .stone .x-image img {
	object-position: 50% 0%;
}
#hero.stone .x-image img {
	block-size: clamp(10rem, 50vh, 28rem);
	aspect-ratio: initial;
}
#hero.darken .x-image::before {
	position: absolute;
	content: '';
	inset: 0;
	background-color: #00000078;
}
#hero .x-text {
	margin-block-end: var(--fs-2);
	margin-inline: 0;
	flex: 1 0 100%;
}
#hero :is(h1, h2, p, ul) {
	inline-size: var(--page-inline-size);
	margin-block: 0.58lh;
	margin-inline: auto;
}
#hero .x-text:has(h1 + p) h1 {
	margin-block-end: 0.2lh;
}
#hero .screen-reader-text {
	font-size: var(--fs--2);
}
#hero h1,
#hero h2 {
	font-size: var(--fs-4);
	hyphens: auto;
}
#hero ul {
	list-style: none;
	padding-inline: 0;
}
#hero li {
	padding-inline: 0;
}
#hero p {
	font-size: var(--fs-1);
}
#hero :is(.cta, .meta, .coordinates) {
	display: flex;
	justify-content: space-between;
}
#hero .cta {
	margin-block: 2.1lh 1.6lh;
}
#hero :is(.meta, .coordinates) {
	margin-block: 2.5lh 1.6lh;
}
#hero .cta a,
#hero :is(.meta, .coordinates) li {
	flex: 0 1 auto;
}
#hero :is(.meta, .coordinates) li {
	font-size: var(--fs--2);
}
#hero .x-text h1::before,
#hero .x-text .screen-reader-text + h2::before,
#hero .x-text .cta::before,
#hero .x-text .cta::after,
#hero .x-text .meta::before, 
#hero .x-text .meta::after, 
#hero .x-text .coordinates::before,
#hero .x-text .coordinates::after {
	position: absolute;
	display: block;
	content: '';
	inset-inline: 0;
	block-size: 1px;
}
#hero .x-text h1::before,
#hero .x-text .screen-reader-text + h2::before,
#hero .x-text .cta::before,
#hero .x-text .meta::before,
#hero .x-text .coordinates::before {
	border-block-start: var(--line-size) solid var(--line);
}
#hero .x-text h1::before,
#hero .x-text .screen-reader-text + h2::before,
#hero .x-text .cta::before {
	margin-block-start: calc(-0.5 * var(--fs-5));
}
#hero .x-text .meta::before,
#hero .x-text .coordinates::before {
	margin-block-start: calc(-0.5 * var(--fs-2));
}
#hero .x-text .cta::after, 
#hero .x-text .meta::after, 
#hero .x-text .coordinates::after {
	border-block-end: var(--line-size) solid var(--line);
}
#hero.stone .x-text h1::before {
	display: none;
}
#hero .x-text .cta::after {
	margin-block-start: calc(1.1 * var(--fs-5));
}
#hero .x-text .meta::after,
#hero .x-text .coordinates::after {
	margin-block-start: 1.5lh;
}
#hero .carousel {
	inline-size: auto;
	margin: 0;
}
#hero .slide {
	position: relative;
	display: flex;
	z-index: 1;
}
#hero.full-screen .slide,
#hero.full-screen .x-col > .x-image {
	min-inline-size: 100vw;
	min-inline-size: 100dvw;
	block-size: calc(80vh - 2rem);
	block-size: calc(80dvh - 2rem);
}
#hero .slide.hide {
	position: absolute;
	pointer-events: none;
	z-index: -1;
}
#hero .slide img,
#hero.full-screen .x-col > .x-image img {
	object-fit: cover;
	object-position: 50% 50%;
	inline-size: auto;
	block-size: auto;
}
#hero .indicator {
	position: absolute;
	inset: auto var(--page-margin-inline) calc(var(--fs-2) + var(--fs-4) + 0.5rem) auto;
	font-size: var(--fs--1);
	z-index: 1;
}
@media (width < 768px) and (aspect-ratio < 1) {
	#hero .x-image img {
		max-inline-size: none;
		aspect-ratio: 1.2;
	}
	.people-communities #hero .x-image img {
		object-position: 72% 50%;
	}
	.single-post.press-release #hero .x-image img {
		aspect-ratio: 0.75;
		object-position: 25% 50%;
	}
}
@media (width >= 640px) {
	#hero h1,
	#hero h2 {
		font-size: var(--fs-5);
	}
	#hero .x-text :is(h2, p) {
		hyphens: initial;
	}
	#hero p {
		padding-inline-end: clamp(0rem, 55%, var(--page-inline-size) * 0.63);
	}
}
@media (width >= 640px) and (height >= 600px) {
	#hero.full-screen .slide,
	#hero.full-screen .x-col > .x-image {
		block-size: 100vh;
		block-size: 100dvh;
	}
	.admin-bar #hero.full-screen .slide,
	.admin-bar #hero.full-screen .x-col > .x-image {
		block-size: calc(100vh - 46px);
		block-size: calc(100dvh - 46px);
	}
}
@media (width >= 780px) {
	.admin-bar .x-site > .x-masthead {
		inset-block-start: 32px;
	}
	.admin-bar #hero.full-screen .slide,
	.admin-bar #hero.full-screen .x-col > .x-image {
		block-size: calc(100vh - 32px);
		block-size: calc(100dvh - 32px);
	}
}
@media (width >= 1480px) {
	#hero .x-text :is(h2, p) {
		inline-size: var(--page-inline-size);
	}
	#hero .indicator {
		inset-inline-end: max(50vw - var(--page-inline-size), (100vw - 1440px) * 0.5);
	}
}
@media (width >= 1200px) {
	#hero .x-image img {
		aspect-ratio: 3;
	}
}
@media (aspect-ratio < 1.5) {
	#hero .slide {
		overflow: hidden;
	}
	#hero .slide img {
		block-size: 100dvh;
	}
}
@media (aspect-ratio >= 1.5) {
	#hero .slide img {
		inline-size: 100dvw;
	}
}

/* TITLE */

#title h1 + p {
	font-size: var(--fs-1);
	inline-size: min(42ch, 100%);
	margin-inline: 0 auto;
}

/* STATS */

.stats .x-text > h2 {
	margin-block-start: 0.43lh;
}
.stats ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fs-2);
	list-style: none;
	margin-block: 0;
	margin-inline: 0;
	padding-inline: 0;
}
.stats li {
	gap: var(--fs--1);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--fs--1);
	color: var(--foreground);
	position: relative;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 1.1lh;
	padding-inline: 0;
	text-wrap: balance;
	border-block-start: 1px solid;
}
.single-project .stats li {
	font-size: var(--fs-0);
}
.stats .number {
	display: flex;
	line-height: 100%;
	align-items: first baseline;
}
.stats .prefix,
.stats .suffix {
	flex: 1;
	display: inline-flex;
	font-size: 0.66em;
}
@media (width >= 600px) {
	.stats ul {
		grid-template-columns: 1fr 1fr;
	}
}

/* GALLERY AND PROJECT CAROUSEL */

.x-text > ul.gallery,
.gallery ul,
.projects .carousel-enclosure.listing {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	margin-block: calc(var(--fs-1) * -0.5);
	margin-inline: 0;
	padding-block: calc(var(--fs-1) * 0.5);
	padding-inline: 0;
	gap: var(--fs-1);
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
}
.projects .listing .carousel {
	display: flex;
	flex-wrap: nowrap;
	inline-size: fit-content;
	justify-content: flex-start;
}
.gallery li,
.projects .listing li {
	margin-block: 0;
	margin-inline: 0;
	padding-inline: 0;
	align-items: center;
	justify-content: center;
	scroll-snap-align: center;
	transition: 0.3s filter linear;
}
.gallery li {
	display: flex;
	flex: 1 0 clamp(20rem, 50vw, 40rem);
	background: var(--dark-background);
}
.gallery li:last-child {
	margin-inline-end: var(--fs-1);
}
.gallery .square {
	flex-basis: clamp(15rem, 33.33vw, 30rem);
}
.gallery .portrait {
	flex-basis: clamp(10rem, 25vw, 20rem);
}
.projects .carousel .slide {
	flex: 1 0 clamp(13rem, 25vw, 20rem);
}
.gallery img {
	display: block;
	object-fit: cover;
	block-size: 100%;
	inline-size: auto;
	aspect-ratio: 1.8;
}
.gallery .square img {
	aspect-ratio: 1;
}
.gallery .portrait img {
	aspect-ratio: 2 / 3;
}
.what-we-do .projects .x-row + .x-row {
	inline-size: auto;
}
.what-we-do .projects .x-row:has(h3) {
	border-block-start: var(--line-size) solid var(--line);
	padding-block: clamp(3rem, 2vw + 3.5vh, 6rem) clamp(1.5rem, 1vw + 1.75vh, 3rem);
}
.what-we-do .projects .x-row + .x-row .x-col {
	flex: 0 1 var(--page-inline-size);
	margin-inline: auto;
}
.what-we-do .projects .x-row article .x-text {
	gap: var(--fs-0);
}

/* EXTENDED CONTENT SHOW/HIDE */

.news .content,
.x-text > .content {
    --mask-level: 25%;
    block-size: 0.1rem;
    mask-image: linear-gradient(#fff var(--mask-level), transparent 100%);
    overflow-y: clip;
    transition: 0.6s all ease-in-out allow-discrete;
    grid-column: 1 / 3;
}
.news .content.open,
.x-text > .content.open {
	--mask-level: 100%;
	block-size: auto;
	block-size: calc-size(-moz-fit-content, size);
	block-size: calc-size(fit-content, size);
	margin-block-end: 2rem;
}

/* ACCORDION */

.x-col:has(.x-acc) .x-acc > .x-acc-item {
	box-shadow: 0 calc(var(--line-size) * -1) 0 0 var(--line);
	padding-inline: var(--page-margin-inline);
}
.x-col:has(.x-acc) .x-acc > .x-acc-item:last-child {
	border-block-end: var(--line-size) solid var(--line);
}
.x-acc > .x-acc-item + .x-acc-item {
	margin-block: 1.4rem 0;
}
.x-acc > .x-acc-item,
.x-acc > .x-acc-item > .x-acc-header,
.page .x-acc > .x-acc-item > h3.x-acc-header,
.single-project .x-acc > .x-acc-item > h3.x-acc-header {
	background-color: transparent;
	transition: 0.2s color linear;
}
.x-acc > .x-acc-item > h3.x-acc-header,
.x-acc .x-acc-header .x-acc-header-text {
	font-size: var(--fs-1);
}
.page .x-acc > .x-acc-item > h3.x-acc-header:hover,
.single-project .x-acc > .x-acc-item > h3.x-acc-header:hover {
	color: var(--purpaidh);
}
.x-acc > .x-acc-item > .x-acc-header {
	cursor: pointer;
}
.x-acc-header .x-acc-header-text::before {
	display: block;
	position: absolute;
	content: '';
	width: 1.3em;
	height: auto;
	aspect-ratio: 1;
	background: transparent scroll no-repeat 0% 0% / auto 100%;
	inset-inline-start: 0.9em;
}
.x-acc > .x-acc-item > div > .x-acc-content {
	border: 0 none;
	margin-block: 0 var(--fs-2);
}
.x-acc-header,
.x-acc-header + div {
	background-color: var(--background);
	box-shadow: 0 0 0 0 var(--accent) inset;
	transition: 0.5s box-shadow ease-in-out, 0.25s block-size ease-in-out, 0.25s display linear;
	transition-behavior: allow-descrete;
}
.x-acc .x-active,
.x-acc .x-active + div {
	background-color: var(--background);
	box-shadow: 100vw 0 1rem 0 var(--accent) inset;
}
.x-acc > .x-acc-item > .x-acc-header {
	padding-block: 1.6rem;
}
.x-acc .x-active .x-acc-header-indicator {
	color: transparent;
	transform: none;
	transition: none;
	rotate: none;
}
.x-col:has(.x-acc) > .x-acc > .x-acc-item > .x-acc-header > .x-acc-header-content > .x-acc-header-indicator {
	color: transparent;
}
.x-acc-header-indicator::before {
	display: block;
	position: absolute;
	content: '';
	inline-size: 1.5em;
	block-size: auto;
	aspect-ratio: 1;
	background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHZpZXdCb3g9IjAgMCAyMDAwIDEwMDAiPjxwYXRoIGZpbGw9IiM0MzQxNDAiIHN0cm9rZT0iIzQzNDE0MCIgc3Ryb2tlLXdpZHRoPSI4MCIgZD0iTTQ3Ni4yMjIgODEzLjA5MVY1MjMuMjY3SDE4Ni45OHYtNDcuNjI0aDI4OS4yNDJWMTg2Ljk4aDQ2LjQ2NnYyODguNjYyaDI5MC40MDR2NDcuNjI0SDUyMi42ODd2Mjg5LjgyNWgtNDYuNDY1em0xMzM3LjE1Mi0yODkuODI0SDExODYuOTh2LTQ3LjYyNGg2MjYuMzk0Ii8+PC9zdmc+") scroll no-repeat 0% 50% / auto 100%;
	transform: none;
	rotate: none;
	transition: 0s background-position-x linear 0.1s;
}
.x-acc .x-active .x-acc-header-indicator::before {
	background-position-x: 100%;
	rotate: 90deg;
	transform: none;
}
.x-acc-content {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-block-start: 0;
	padding-block-start: 0;
}
.x-acc-content > * {
	flex: 1 0 100%;
}
.x-acc-content > * {
	flex: 1 0 100%;
}
.x-acc-header-text .x-icon {
	font-size: 1.2rem;
	margin-inline-end: 1.3em;
}
.x-acc .x-text ul {
	list-style: none;
	padding-inline: 0;
}
.x-acc .x-text > ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fs-3) var(--fs-5);
}
.x-acc .x-text > ul > li {
	padding-inline: 0;
	flex: 1 0 min(12rem, 100%);
}
.x-acc .x-text > ul > li > :first-child {
	margin-block-start: 0;
}
.x-acc .x-text > ul > li > :last-child {
	margin-block-end: 0;
}
.x-acc .x-text > ul > li:first-child > * {
	margin-inline: 0 auto;
	inline-size: min(38rem, 100%);
}
.x-acc .x-content h4, 
.x-acc .x-content h5 {
	font-size: var(--fs-0);
}
.x-acc .x-content p,
.x-acc .x-content li,
.x-acc .x-content:not(:has(p, li)) {
	font-size: var(--fs-0);
	margin-block: 0.7lh;
	inline-size: min(100%, 70ch);
}
.x-acc .x-text li ul {
	margin-block: 0;
}
.x-acc .x-text li li {
	margin-block: 0.3lh;
}
.x-acc .x-text li li {
	margin-block: 0.3lh;
	font-size: var(--fs--1);
}
.x-acc .x-text > ul > li ul + h4,
.x-acc .x-text > ul > li ul + h5 {
	margin-block-start: 1.3lh;
}
.x-acc .x-text li li > a:only-child::after,
.documentation .x-text li > a:only-child::after,
.project-documentation .x-acc .x-text li > a:only-child::after {
	position: relative;
	content: '';
	display: inline-block;
	aspect-ratio: 1;
	inline-size: 0.65em;
	inset-block-start: -0.03lh;
	margin-inline-start: 1.1ex;
	background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiM0MzQxNDAiIHZpZXdCb3g9IjAgMCA3IDExIj48cGF0aCBkPSJNMS4yNzI3Ny01ZS03IDFlLTcgMS4yMjIxMiA0LjQ1NDc5IDUuNDk5NzkgOGUtNyA5Ljc3Nzg4IDEuMjcyNzcgMTEgNyA1LjQ5OTk2eiIvPjwvc3ZnPg==") scroll no-repeat 50% 50% / cover;
}
@media (width >= 768px) {
	.x-acc-content > * {
		flex: 1 0 40%;
	}
}
@media (width >= 1480px) {
	.x-acc {
		inline-size: auto;
	}
	.x-acc > .x-acc-item,
	.x-col:has(.x-acc) .x-acc > .x-acc-item {
		padding-inline: calc((100vw - 1440px) * 0.5);
	}
}

/* HOME */

.home .news li {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fs-0);
}
.home .news li > * {
	order: inherit;
	margin-block: 0;
}
.home .news .image {
	order: 1;
}
.home .news .category-date {
	order: 2;
}
.home .news .title {
	order: 3;
}
.home .news .excerpt {
	order: 4;
}
.home .news .cta {
	order: 5;
}
.home .news .category-date {
	font-size: var(--fs--2);
}
.news li a {
	display: initial;
}
.home .news .cta a {
	display: inline-flex;
	padding-block: 0.4lh;
	padding-inline: 2.7ex 4.5ex;
}
.news .content > * {
	margin-inline: 0 auto;
	inline-size: min(48ch, 100%);
}
.home .what-we-do .x-row .x-col:nth-child(2n) {
	flex: 1 0 auto;
	padding-inline-end: 0;
}
@media (width >= 600px) {
	.home .news li {
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
	}
	.home .news li > * {
		order: initial;
	}
	.home .news .date,
	.home .news .category-date {
		grid-area: 1 / 1 / 2 / 2;
	}
	.home .news .title {
		grid-area: 2 / 1 / 3 / 2;
	}
	.home .news .excerpt {
		grid-area: 3 / 1 / 4 / 2;
	}
	.home .news .cta {
		grid-area: 4 / 1 / 5 / 2;
		justify-content: start;
	}
	.home .news .image {
		grid-area: 1 / 2 / 5 / 3;
	}
}
@media (width >= 768px) {
	.home .what-we-do .x-text {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: flex-start;
		block-size: 100%;
		gap: var(--fs-2);
	}
	.home .what-we-do .x-text h2,
	.home .what-we-do .x-text p {
		margin-block: 0;
	}
	.home .what-we-do .x-text h2 + p {
		flex: 10 0 auto;
	}
	.home .news li {
		grid-template-columns: 60% calc(40% - var(--fs-3));
	}
	.home .news .recent-posts img {
		aspect-ratio: 1;
		object-fit: cover;
		display: flex;
	}
	.home .news .excerpt {
		margin-block: 0 18%;
		inline-size: min(48ch, 100%);
	}
}
@media (width >= 980px) {
	.home .what-we-do .x-row .x-col:nth-child(2n-1) {
		flex: 1 0 15rem;
	}
	.home .what-we-do .x-row .x-col:nth-child(2n) {
		flex: 1.5 0 40rem;
	}
}
@media (width >= 1480px) {
	.home .what-we-do .x-row {
		inline-size: auto;
	}
	.home .what-we-do .x-row .x-col:nth-child(2n-1) {
		padding-inline-start: max(50vw - var(--page-inline-size), (100vw - 1440px) * 0.5);
	}
}

/* NEWS */

.news.listing .x-text {
    display: grid;
}
.news.listing .x-text > * {
	margin-block: 0;
}
.news.listing .date {
	order: -1;
	font-size: var(--fs--1);
}
.single-post #hero h1 {
	font-size: var(--fs-4);
	hyphens: none;
}
.single-post #hero .x-image img {
	aspect-ratio: 2;
}
.single-post.press-release #hero .title {
	font-size: calc((var(--fs-3) + var(--fs-4)) * 0.5);
}
.single-post h2 {
	font-size: var(--fs-1);
}
.single-post #notes {
	border-block-start: var(--line-size) solid var(--line);
}
.single-post .entry-content > p,
.single-post .entry-content > .wp-block-group {
	inline-size: var(--page-inline-size);
	margin-block: 0;
	padding-block: clamp(0.9rem, 0.85vw + 0.85vh, 1.4rem);
	margin-inline: auto;
}
.single-post .entry-content > *:last-child {
	padding-block-end: clamp(1.8rem, 1.7vw + 1.7vh, 2.8rem);
}
.single-post .entry-content > .wp-block-group:first-child,
.single-post .entry-content > .wp-block-group:has(h2:first-child) {
	border-block: var(--line-size) solid var(--line);
	border-inline: 0 none;
	padding-block: clamp(1.8rem, 1.7vw + 1.7vh, 2.8rem);
}
.single-post .single-post #notes,
.entry-content > .wp-block-group:has(h2:first-child) + * {
	padding-block-start: clamp(1.8rem, 1.7vw + 1.7vh, 2.8rem);
}
.single-post .entry-content .wp-block-group:has(h2:first-child) .wp-block-group-is-layout-constrained {
	margin-inline: auto;
	inline-size: auto;
}
.single-post .entry-content .wp-block-group-is-layout-constrained:not(:has(h2:first-child)),
.single-post .entry-content .wp-block-quote:only-child {
	inline-size: auto;
}
.single-post .entry-content .wp-block-group:has(h2:first-child) .is-layout-constrained {
	display: grid;
	grid-template-columns: 1fr;
}
.single-post .entry-content .wp-block-group:first-child:has(h2:first-child),
.single-post .entry-content .wp-block-group + .wp-block-group {
	border-block-start: 0 none;
}
.single-post .entry-content .wp-block-group h2:first-child + p {
	font-size: var(--fs-1);
}
.single-post .entry-content .wp-block-quote {
	margin-block: 0;
	margin-inline: 0;
	padding: 0;
	border: 0 none;
}
.single-post .entry-content > :is(p:first-child, ul:first-child, ol:first-child, h2:first-child),
.single-post .entry-content .wp-block-group :is(p:first-child, ul:first-child, ol:first-child, h2:first-child),
.single-post .entry-content .wp-block-quote :is(p:first-child, ul:first-child, ol:first-child, h2:first-child) {
	margin-block-start: 0;
}
.single-post .entry-content > :is(p:last-child, ul:last-child, ol:last-child, h2:last-child),
.single-post .entry-content .wp-block-group :is(p:last-child, ul:last-child, ol:last-child, h2:last-child),
.single-post .entry-content .wp-block-quote :is(p:last-child, ul:last-child, ol:last-child, h2:last-child) {
	margin-block-end: 0;
}
.single-post #notes li + li {
	margin-block-start: 0.3lh;
}
@media (height >= 600px) and (aspect-ratio >= 1.8) {
	.single-post #hero .x-image img {
		aspect-ratio: 2.5;
	}
}
@media (width >= 768px) {
	.single-post .entry-content > p,
	.single-post .entry-content > .wp-block-group {
		inline-size: auto;
	}
	.single-post .entry-content .wp-block-group:has(h2:first-child) .is-layout-constrained {
		grid-template-columns: 1fr 1fr;
		inline-size: var(--page-inline-size);
	}
	.single-post .entry-content > p,
	.single-post .entry-content > .wp-block-group:not(:has(h2:first-child)) {
		padding-inline: max(50dvw - var(--page-inline-size) * 0.5 + (var(--page-inline-size) * 0.5), (100dvw - 1440px) * 0.5) max(50dvw - var(--page-inline-size) * 0.5, (100dvw - 1440px) * 0.5);
	}
	.single-post .entry-content .wp-block-group h2:first-child + p {
		margin-block-start: 0;
	}
	.single-post #notes ul {
		padding-inline-start: 1ex;
	}
}

/* WHAT WE DO */

.what-we-do .x-row:has(.x-col:nth-child(2):last-child) h2 {
	font-size: var(--fs-3);
}
#documentation .x-row:has(.x-col:nth-child(2):last-child) .x-col,
#documentation .x-acc .x-text > ul > li {
	flex: 1 0 min(12rem, 100%);
}
#documentation .x-row:has(.x-col:nth-child(2):last-child) .x-col:nth-child(2n-1),
#documentation .x-acc .x-text > ul > li:nth-child(2n-1) {
	flex: 1.5 0 min(18rem, 100%);
}
@media (width >= 768px) {
	.what-we-do .projects .x-text {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: flex-start;
		block-size: 100%;
		gap: var(--fs-2);
	}
	.what-we-do .projects .x-text h2,
	.what-we-do .projects .x-text p {
		margin-block: 0;
	}
	.what-we-do .projects .x-text h2 + p {
		flex: 10 0 auto;
	}
}

/* PROJECTS, ASSETS, SITES */

.listing article {
    display: grid;
    gap: var(--fs-1);
    justify-content: start;
    align-content: start;
}
.listing article .types,
.listing article .types .x-row-inner {
	margin-inline: 0;
	padding-inline: 0;
	display: flex;
	justify-content: flex-start;
}
.listing article .types,
.listing article .types .x-col,
.listing article .types .x-anchor-content {
	margin-block: 0;
	padding-block: 0;
}
.listing article .types {
	margin-block: -0.3rem -0.5rem;
	position: relative;
}
.listing .x-image,
.listing .no-image,
.listing .x-image img {
    display: flex;
    aspect-ratio: 1.8;
}
.listing .x-image img {
	inline-size: 100%;
}
.listing .no-image {
    background-color: var(--clay);
}
.listing .title {
    font-size: var(--fs-1);
}
.listing .excerpt {
    font-size: var(--fs--1);
}
.listing .x-text {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fs-0);
}
.listing .title,
.listing .excerpt,
.listing .cta {
	margin-block: 0;
}
.listing .x-anchor,
.listing .x-anchor-content {
	font-size: var(--fs--2);
}
.single-post .x-section:not(#hero, #notes),
.single-project .x-section:not(#hero) {
    padding-block: clamp(3rem, 2vw + 3.5vh, 6rem);
}
.single-project .slide figure {
	display: grid;
	grid-auto-columns: 1fr;
	inline-size: 100%;
	gap: 0.3rem;
}
.single-project .gallery img {
	inline-size: 100%;
	aspect-ratio: 3 / 2;
}
.single-project .gallery .carousel {
	display: grid;
	grid-template-columns: 1fr;
}
.single-project .gallery .carousel .slide {
	background-color: transparent;
	grid-area: 1 / 1 / 2 / 2;
	position: relative;
	inline-size: auto;
}
.single-project .gallery figcaption {
	display: flex;
	justify-content: space-between;
}
.single-project .gallery .end {
	text-align: end;
}
.single-project .x-section:has(.x-col:nth-child(2n)) h2 {
	font-size: var(--fs-1);
}
.single-project #public-notice h3,
.single-project #public-notice h4 {
	font-size: var(--fs-0);
}
.listing .cta > a {
	box-shadow: none;
	padding-inline: 0 0.3ex;
	padding-block: 0;
	color: var(--foreground);
	background: transparent;
	font-size: var(--fs--2);
}
.listing .cta svg {
	position: relative;
	display: inline-flex;
	inline-size: 1ex;
	block-size: auto;
	margin-inline: 1em 0;
	inset: -0.05lh 0 0 0;
	translate: none;
	transition: 0.3s translate ease-in-out;
}
.listing .cta a:hover svg {
	translate: 0.3ex 0;
}
.project-documentation .x-acc .x-text > ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fs-0);
}
.project-documentation .x-acc .x-text > ul > li {
	margin-block: 0;
	inline-size: auto;
}

/* CONTACT US */

#enquiries form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--fs-1);
}
#enquiries form p {
    margin-block: 0;
}
#enquiries input[type="text"],
#enquiries input[type="email"],
#enquiries textarea {
	box-shadow: 0 0 0 0 var(--purpaidh) inset;
	transition: 0.2s box-shadow linear;
}
#enquiries input[type="text"],
#enquiries input[type="email"] {
    padding-inline: 0;
    border: 0 none;
    border-block-end: var(--line-size) solid var(--line);
}
#enquiries textarea {
	padding-inline: 1ex;
	border: var(--line-size) solid var(--line);
	block-size: clamp(5lh, 10vh, 8lh);
	min-block-size: 2.5lh;
	max-block-size: 8lh;
	resize: vertical;
}
#enquiries label {
	margin-block: 0 0.3lh;
}
#enquiries input[type="text"]:focus-within,
#enquiries input[type="email"]:focus-within,
#enquiries textarea:focus-within {
	outline: none;
	box-shadow: 0 calc(var(--line-size) * -2) 0 0 var(--purpaidh) inset;
	border-color: var(--purpaidh);
}
#enquiries .required {
	position: relative;
	inset: auto 0.3rem 0.3rem auto;
	font-size: var(--fs--2);
}
#enquiries form > * {
	inline-size: 100dvw;
	padding-inline: var(--page-margin-inline);
}
#enquiries .subject,
#enquiries .wpcf7-response-output {
	border-block: var(--line-size) solid var(--line);
}
#enquiries .subject label {
	cursor: pointer;
	margin-block: 0;
}
#enquiries .subject label,
#enquiries .wpcf7-response-output {
    position: relative;
	font-size: var(--fs--1);
    padding-block: var(--fs-0);
}
#enquiries .sent .wpcf7-response-output {
	color: var(--dark-foreground);
	background-color: var(--purpaidh);
}
#enquires .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
}
#enquiries .wpcf7-radio {
    display: flex;
    gap: var(--fs-3);
    justify-content: flex-start;
}
#enquiries .subject input {
    position: absolute;
    filter: opacity(0%);
	z-index: -1;
	cursor: pointer;
}
#enquiries .inputs {
	display: flex;
}
#enquiries .inputs input {
	flex: 1 0 auto;
}
#enquiries .inputs > span {
	flex: 1;
}
#enquiries .wpcf7-list-item {
	margin: 0;
	flex: 0 1 auto;
	display: inline-flex;
	align-items: center;
	gap: 1rem;
}
#enquiries .subject label::after {
	inset-block-end: -0.2lh;
}
#enquiries .x-btn:focus-visible {
	outline: none;
	box-shadow: none;
}
body:not(.contact) > div > .grecaptcha-badge {
	visibility: hidden;
}
.page.contact > div > .grecaptcha-badge {
	margin-block-end: clamp(0.5rem, 2.8vw, 3.5rem);
	z-index: 300;
}
@media (width >= 1480px) {
	#enquiries form > * {
		box-sizing: content-box;
		inline-size: var(--page-inline-size);
		padding-inline: max(50dvw - var(--page-inline-size) * 0.5, (100dvw - 1440px) * 0.5);
	}
}

/* DOCUMENTATION */

.documentation {
	--foreground: var(--shale);
	--background: var(--chalk);
	--line: var(--shale);
	background-color: var(--background);
}
.documentation #title .x-col {
	padding-inline: var(--page-margin-inline);
}
.documentation .x-text ul,
.documentation .x-text ol {
	padding-inline-start: 1.4em;
}
.documentation .x-text ul {
	list-style: square;
}
.documentation .x-text ol {
	list-style: lower-alpha;
}
.documentation #content {
	 counter-reset: section 0;
}
.documentation .x-text li p,
.documentation .x-text li li {
	margin-block: 0.3lh;
}
.documentation .x-text li ul,
.documentation .x-text li ol {
	margin-block: 0;
}
.documentation .x-text > :is(ul, ol) > li > :first-child {
	margin-block-start: 0;
}
.documentation .x-text > :is(ul, ol) > li > :last-child {
	margin-block-end: 0;
}
.documentation .x-text > :is(ul, ol) {
	margin: 0;
	padding-inline: 0;
	list-style: none inside;
}
.documentation .x-text ol ol > li {
	padding-inline-start: 0.7em;
}
.documentation .x-text > :is(ul, ol) > li > h2,
.documentation .x-text > ol > li > h2::before {
    font-size: var(--fs-1);
}
.documentation .x-text > ol > li > h2::before {
	content: counter(section) ".";
	display: block;
	margin-inline-end: 0.7ex;
}
.documentation .x-text > :is(ul, ol) > li {
	padding-block: clamp(1.8rem, 1.7vw + 1.7vh, 2.8rem);
	padding-inline: var(--page-margin-inline);
	border-block-start: var(--line-size) solid var(--line);
}
.documentation .x-text > :is(ul, ol) > li:last-child {
	border-block-end: var(--line-size) solid var(--line);
}
.documentation .x-text > ol > li {
	counter-increment: section;
}
.documentation .x-text > :is(ul, ol) > li > h2 {
	display: inline-flex;
	inline-size: min(23ch, 100%);
}
.documentation .x-text h3,
.documentation .x-text h4,
.documentation .x-text h5 {
	font-size: var(--fs-0);
	font-weight: 400;
	margin-inline-end: 0.1lh;
}
.documentation .x-text li li:has(h4)::marker,
.documentation .x-text li li:has(h4) h3 {
	font-size: var(--fs-1);
	font-weight: 400;
}
.documentation.contracting-terms .x-text > :is(ul, ol) > li > h2 {
	inline-size: min(38rem, 100%);
}
.documentation.contracting-terms .x-text ul ul {
	list-style: none;
	margin-inline: 0;
	padding-inline: 0;
}
.documentation .x-text li:has(> a:only-child) {
	font-size: var(--fs--2);
}
@media (width >= 980px) {
	.documentation .x-text > :is(ul, ol) > li {
		display: grid;
		grid-template-columns: 1fr 1fr;
		place-content: start start;
		gap: 0 var(--fs-4);
	}
	.documentation .x-text > :is(ul, ol) > li > :not(h2) {
		grid-column: 2 / -1;
	}
	.documentation .x-text > :is(ul, ol) > li > h2 {
		margin-block: 0;
		grid-row: 1 / 3;
	}
	.documentation .x-text > :is(ul, ol) > li > :first-child + * {
		margin-block-start: 0;
	}
	.documentation .x-text > :is(ul, ol) > li > :first-child + ul {
		padding-inline-start: 0.9em;
	}
}
@media (width >= 1480px) {
	.documentation .x-row {
		inline-size: auto;
	}
	.documentation #title .x-col,
	.documentation .x-text > :is(ul, ol) > li {
		padding-inline: max(50vw - var(--page-inline-size), (100vw - 1440px) * 0.5);
	}
}

/* SUPPLEMENTARY */

#wp-admin-bar-customize,
#wp-admin-bar-comments,
#wp-admin-bar-new-content,
#wp-admin-bar-wpseo-menu {
	display: none;
	visibility: hidden;
}
