
:root {
	--ground:#e4eae3;
	--ground-elevated:#dce3db;
	--pine:#1e2e20;
	--bark:#1a231b;
	--moss:#2c3e2d;
	--amber:#94520b;
	--amber-hover:#7d4408;
	--amber-active:#663605;
	--amber-on-dark:#e29b4d;
	--border:#c8d3c6;
	--border-dark:#2c3e2d;
	--border-focus:#1e2e20;
	--paper-card:#edf2ec;
	--white:#fff;
	--error:#9e2a2b;
	--error-bg:#f9eceb;
	--success:#235334;
	--success-bg:#e8f2ea;

	--gona-88b:'Oswald', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--gona-8f1:'Spectral', Georgia, Cambria, 'Times New Roman', serif;
	--gona-fc1:'JetBrains Mono', Consolas, 'Liberation Mono', Menlo, monospace;

	--step--2:clamp(0.72rem, 0.69rem + 0.15vw, 0.8rem);
	--step--1:clamp(0.85rem, 0.81rem + 0.22vw, 0.94rem);
	--gona-e30:clamp(1rem, 0.95rem + 0.28vw, 1.125rem);
	--gona-889:clamp(1.18rem, 1.1rem + 0.42vw, 1.35rem);
	--gona-1f6:clamp(1.39rem, 1.27rem + 0.62vw, 1.65rem);
	--gona-769:clamp(1.64rem, 1.46rem + 0.9vw, 2.05rem);
	--gona-232:clamp(1.93rem, 1.68rem + 1.28vw, 2.55rem);
	--gona-d72:clamp(2.28rem, 1.92rem + 1.8vw, 3.25rem);
	--gona-7f9:clamp(2.69rem, 2.18rem + 2.55vw, 4.15rem);
	--gona-f8d:clamp(3.18rem, 2.47rem + 3.55vw, 5.25rem);

	--space-3xs:clamp(0.25rem, 0.23rem + 0.1vw, 0.31rem);
	--space-2xs:clamp(0.5rem, 0.46rem + 0.2vw, 0.63rem);
	--space-xs:clamp(0.75rem, 0.69rem + 0.3vw, 0.94rem);
	--space-s:clamp(1rem, 0.93rem + 0.38vw, 1.25rem);
	--space-m:clamp(1.5rem, 1.39rem + 0.56vw, 1.88rem);
	--space-l:clamp(2rem, 1.85rem + 0.75vw, 2.5rem);
	--space-xl:clamp(3rem, 2.78rem + 1.13vw, 3.75rem);
	--space-2xl:clamp(4rem, 3.7rem + 1.5vw, 5rem);
	--space-3xl:clamp(6rem, 5.56rem + 2.25vw, 7.5rem);

	--sidebar-w:290px;
	--header-mobile-h:64px;
	--content-max-w:1280px;

	--radius-none:0px;
	--radius-sm:1px;
	--radius-md:2px;

	--ease-out:cubic-bezier(0.16, 1, 0.3, 1);
	--ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);
	--dur-fast:140ms;
	--dur-med:220ms;
	--dur-slow:380ms;
}

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

html {
	font-size:100%;
	scroll-behavior:smooth;
	background-color:var(--ground);
	color:var(--bark);
	-webkit-text-size-adjust:100%;
	text-rendering:optimizeLegibility;
}

body {

	min-height:100vh;
	background-color:var(--ground);
	color:var(--bark);
	font-family:var(--gona-8f1);
	font-size:var(--gona-e30);
	line-height:1.62;
	font-weight:400;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

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

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

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

a {
	color:inherit;
	text-decoration-skip-ink:auto;
}

ul, ol { list-style:none; }

h1, h2, h3, h4, h5, h6 {
	font-family:var(--gona-88b);
	font-weight:600;
	line-height:1.05;
	letter-spacing:0.015em;
	text-transform:uppercase;
	color:var(--pine);
	text-wrap:balance;
	overflow-wrap:break-word;
	hyphens:manual;
}

h1 {
	font-size:var(--gona-7f9);
	letter-spacing:0.01em;
	line-height:0.98;
}

h2 {
	font-size:var(--gona-232);
	line-height:1.04;
}

h3 {
	font-size:var(--gona-769);
	line-height:1.08;
}

h4 {
	font-size:var(--gona-1f6);
	line-height:1.12;
}

h5 {
	font-size:var(--gona-889);
	line-height:1.16;
}

h6 {
	font-size:var(--gona-e30);
	line-height:1.2;
}

p {
	margin-bottom:var(--space-s);
	max-width:72ch;
}

p:last-child { margin-bottom:0; }

.standfirst {
	font-size:var(--gona-889);
	line-height:1.48;
	color:var(--moss);
	font-style:italic;
	max-width:66ch;
	margin-bottom:var(--space-m);
}

.mono {
	font-family:var(--gona-fc1);
	font-feature-settings:'tnum' 1, 'zero' 1;
}

.price-text {
	font-family:var(--gona-fc1);
	font-weight:500;

	color:var(--pine);
}

.accent-amber { color:var(--amber); }

.sr-only {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0, 0, 0, 0) !important;
	white-space:nowrap !important;
	border:0 !important;
}

.skip-link {
	position:absolute;
	top:var(--space-xs);
	left:var(--space-xs);
	z-index:9999;
	padding:var(--space-xs) var(--space-m);
	background-color:var(--pine);
	color:var(--ground);
	font-family:var(--gona-fc1);
	font-size:var(--step--1);
	text-decoration:none;
	border:1px solid var(--amber);
	transform:translateY(-160%);
	transition:transform var(--dur-fast) var(--ease-out);
}

.skip-link:focus {
	transform:translateY(0);
	outline:2px solid var(--amber);
	outline-offset:2px;
}

.site-layout {
	display:block;
	min-height:100vh;
	position:relative;
}

@media (min-width: 1024px) {
	.site-layout {
		display:flex;
		flex-direction:row;

		align-items:stretch;
	}
}

.site-sidebar {
	background-color:var(--ground);
	border-right:1px solid var(--border);
	width:100%;
}

@media (min-width: 1024px) {
	.site-sidebar {
		width:var(--sidebar-w);
		min-width:var(--sidebar-w);
		max-width:var(--sidebar-w);
		height:100vh;
		position:sticky;
		top:0;
		left:0;
		overflow-y:auto;
		overflow-x:hidden;
		z-index:100;
	}
}

.main-column {
	flex:1 1 auto;
	min-width:0;
	background-color:var(--ground);
	position:relative;
}

.content-wrap {
	width:100%;
	max-width:var(--content-max-w);
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--space-m);
	padding-right:var(--space-m);
}

@media (min-width: 768px) {
	.content-wrap {
		padding-left:var(--space-l);
		padding-right:var(--space-l);
	}
}

@media (min-width: 1200px) {
	.content-wrap {
		padding-left:var(--space-xl);
		padding-right:var(--space-xl);
	}
}

.content-wrap-wide {
	width:100%;
	max-width:1440px;
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--space-m);
	padding-right:var(--space-m);
}

@media (min-width: 768px) {
	.content-wrap-wide {
		padding-left:var(--space-l);
		padding-right:var(--space-l);
	}
}

.panel-block {
	padding-top:var(--space-xl);
	padding-bottom:var(--space-xl);
	border-bottom:1px solid var(--border);
}

@media (min-width: 1024px) {
	.panel-block {
		padding-top:var(--space-2xl);
		padding-bottom:var(--space-2xl);
	}
}

.panel-elevated { background-color:var(--ground-elevated); }

.panel-dark {
	background-color:var(--pine);
	color:var(--ground);
}

.panel-dark h1,
.panel-dark h2,
.panel-dark h3,
.panel-dark h4,
.panel-dark h5,
.panel-dark h6 { color:var(--white); }

.panel-dark .standfirst { color:var(--ground-elevated); }

.panel-dark .price-text { color:var(--amber-on-dark); }

.hairline {
	height:1px;
	background-color:var(--border);
	border:0;
	margin:var(--space-m) 0;
}

.hairline-dark {
	height:1px;
	background-color:var(--border-dark);
	border:0;
	margin:var(--space-m) 0;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration:0.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:0.01ms !important;
		scroll-behavior:auto !important;
	}
}
