@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Montserrat:wght@500;600;700&display=swap");


html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

	:root {
		--gold: #d8c19b;
		--gold-soft: rgba(216, 193, 155, 0.12);
		--gold-strong: rgba(216, 193, 155, 0.25);
	}

	@-ms-viewport {
		width: device-width;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

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

	body {
		background: #1b1f22;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

	html {
		font-size: 16pt;
	}

		@media screen and (max-width: 1680px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 736px) {

			html {
				font-size: 11pt;
			}

		}

		@media screen and (max-width: 360px) {

			html {
				font-size: 10pt;
			}

		}

	body, input, textarea {
		color: #ffffff;
		font-family: "Inter", sans-serif;
		font-weight: 300;
		font-size: 1rem;
		line-height: 1.65;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		border-bottom: dotted 1px var(--gold);
		text-decoration: none;
		color: inherit;
	}

		a:hover {
			border-bottom-color: transparent;
		}

	strong, b {
		color: #ffffff;
		font-weight: 600;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2rem 0;
	}

	h1, h2, h3 {
		color: #ffffff;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 1.5;
		margin: 0 0 1rem 0;
		text-transform: uppercase;
		letter-spacing: 0.08rem;
	}

		h1 a, h2 a, h3 a {
			color: inherit;
			text-decoration: none;
		}

		h1.major, h2.major, h3.major {
			position: relative;
			padding-bottom: 0.85rem;
			margin: 0 0 2rem 0;
		}

			h1.major:after, h2.major:after, h3.major:after {
				content: '';
				position: absolute;
				left: 0;
				bottom: 0;
				width: 3rem;
				height: 3px;
				border-radius: 3px;
				background: var(--gold);
			}

	h1 {
		font-size: 2.25rem;
		line-height: 1.3;
		letter-spacing: 0.15rem;
	}

	h2 {
		font-size: 1.5rem;
		line-height: 1.4;
		letter-spacing: 0.15rem;
	}

	h3 {
		font-size: 1rem;
	}

	@media screen and (max-width: 736px) {

		h1 {
			font-size: 1.75rem;
			line-height: 1.4;
		}

		h2 {
			font-size: 1.25em;
			line-height: 1.5;
		}

	}

	form {
		margin: 0 0 2rem 0;
	}

		form > :last-child {
			margin-bottom: 0;
		}

		form > .fields {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			width: calc(100% + 3rem);
			margin: -1.5rem 0 2rem -1.5rem;
		}

			form > .fields > .field {
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
				-moz-flex-shrink: 0;
				-webkit-flex-shrink: 0;
				-ms-flex-shrink: 0;
				flex-shrink: 0;
				padding: 1.5rem 0 0 1.5rem;
				width: calc(100% - 1.5rem);
			}

				form > .fields > .field.half {
					width: calc(50% - 0.75rem);
				}

		@media screen and (max-width: 480px) {

			form > .fields {
				width: calc(100% + 3rem);
				margin: -1.5rem 0 2rem -1.5rem;
			}

				form > .fields > .field {
					padding: 1.5rem 0 0 1.5rem;
					width: calc(100% - 1.5rem);
				}

					form > .fields > .field.half {
						width: calc(100% - 1.5rem);
					}

		}

	label {
		color: #ffffff;
		display: block;
		font-family: "Montserrat", sans-serif;
		font-size: 0.75rem;
		font-weight: 500;
		letter-spacing: 0.08rem;
		line-height: 1.5;
		margin: 0 0 1rem 0;
		text-transform: uppercase;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
		transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
		background-color: transparent;
		border-radius: 4px;
		border: solid 1px rgba(255, 255, 255, 0.35);
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1rem;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="email"]:invalid,
		input[type="tel"]:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		textarea:focus {
			background: var(--gold-soft);
			border-color: var(--gold);
			box-shadow: 0 0 0 1px var(--gold);
		}

	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		height: 2.75rem;
	}

	textarea {
		padding: 0.75rem 1rem;
	}

	::-webkit-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	:-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	::-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon:before {
			line-height: inherit;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

	ul {
		list-style: disc;
		margin: 0 0 2rem 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1rem;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1rem;
			vertical-align: middle;
		}

		@media screen and (max-width: 480px) {

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1rem 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}

					ul.actions:not(.fixed) li input[type="submit"],
					ul.actions:not(.fixed) li input[type="reset"] {
						width: 100%;
					}

						ul.actions:not(.fixed) li input[type="submit"].icon:before,
						ul.actions:not(.fixed) li input[type="reset"].icon:before {
							margin-left: -0.5em;
						}

		}

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding: 0 0.75em 0 0;
		}

			ul.icons li:last-child {
				padding-right: 0;
			}

			ul.icons li a {
				border-radius: 100%;
				box-shadow: inset 0 0 0 1px var(--gold);
				color: var(--gold);
				display: inline-block;
				height: 2.25rem;
				line-height: 2.25rem;
				text-align: center;
				width: 2.25rem;
			}

				ul.icons li a:hover {
					background-color: var(--gold-soft);
				}

				ul.icons li a:active {
					background-color: var(--gold-strong);
				}

	input[type="submit"],
	input[type="reset"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		background-color: transparent;
		border-radius: 4px;
		border: 0;
		box-shadow: inset 0 0 0 1px var(--gold);
		color: var(--gold) !important;
		cursor: pointer;
		display: inline-block;
		font-family: "Montserrat", sans-serif;
		font-size: 0.75rem;
		font-weight: 600;
		height: 2.75rem;
		letter-spacing: 0.1rem;
		line-height: 2.75rem;
		outline: 0;
		padding: 0 1.25rem 0 1.35rem;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover {
			background-color: var(--gold-soft);
		}

		input[type="submit"]:active,
		input[type="reset"]:active {
			background-color: var(--gold-strong);
		}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before {
			margin-right: 0.5em;
		}

		input[type="submit"].primary,
		input[type="reset"].primary {
			background-color: var(--gold);
			color: #1b1f22 !important;
			font-weight: 600;
		}

		input[type="submit"].primary:hover,
		input[type="reset"].primary:hover {
			background-color: #e6d3b3;
		}

		input[type="submit"]:disabled,
		input[type="reset"]:disabled {
			pointer-events: none;
			cursor: default;
			opacity: 0.25;
		}

	input[type="submit"],
	input[type="reset"] {
		line-height: calc(2.75rem - 2px);
	}

	#bg {
		-moz-transform: scale(1.0);
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
		transform: scale(1.0);
		-webkit-backface-visibility: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 1;
	}

		#bg:before, #bg:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		#bg:before {
			-moz-transition: background-color 2.5s ease-in-out;
			-webkit-transition: background-color 2.5s ease-in-out;
			-ms-transition: background-color 2.5s ease-in-out;
			transition: background-color 2.5s ease-in-out;
			-moz-transition-delay: 0.75s;
			-webkit-transition-delay: 0.75s;
			-ms-transition-delay: 0.75s;
			transition-delay: 0.75s;
			background-image: linear-gradient(to top, rgba(19, 21, 25, 0.5), rgba(19, 21, 25, 0.5)), url("../../images/overlay.png");
			background-size: auto,
 256px 256px;
			background-position: center,
 center;
			background-repeat: no-repeat,
 repeat;
			z-index: 2;
		}

		#bg:after {
			-moz-transition: -moz-filter 0.325s ease-in-out;
			-webkit-transition: -webkit-filter 0.325s ease-in-out;
			-ms-transition: -ms-filter 0.325s ease-in-out;
			transition: filter 0.325s ease-in-out;
			background: radial-gradient(ellipse at center, #0d1520 0%, #06090f 100%);
			z-index: 1;
		}

		#bg canvas {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 2;
		}

		body.is-article-visible #bg:after {
			-moz-filter: blur(0.2rem);
			-webkit-filter: blur(0.2rem);
			-ms-filter: blur(0.2rem);
			filter: blur(0.2rem);
		}

		body.is-article-visible #bg canvas {
			-webkit-filter: blur(0.2rem);
			filter: blur(0.2rem);
		}

		body.is-preload #bg:before {
			background-color: #000000;
		}

	.header-middle {
		display: -moz-flex;
		display: -webkit-flex;
		display: flex;
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		flex-direction: row;
		width: 100%;
		border-radius: 14px;
		overflow: hidden;
		border: solid 1px rgba(255, 255, 255, 0.1);
		background: rgba(17, 20, 24, 0.75);
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
	}

	#header .header-middle .content {
		flex: 1;
		border: none;
		border-left: solid 3px var(--gold);
	}

	@media screen and (max-width: 736px) {

		.header-middle {
			flex-direction: column;
		}

		#carousel {
			min-height: 14rem;
		}

	}

	#carousel {
		flex: 1;
		position: relative;
		display: -moz-flex;
		display: -webkit-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		max-width: none;
	}

	.carousel-slides {
		flex: 1;
		position: relative;
		overflow: hidden;
	}

	.carousel-slide {
		position: absolute;
		top: 0; left: 0;
		width: 100%; height: 100%;
		object-fit: cover;
		opacity: 0;
		-moz-transition: opacity 1s ease-in-out;
		-webkit-transition: opacity 1s ease-in-out;
		transition: opacity 1s ease-in-out;
	}

	.carousel-slide.active {
		opacity: 1;
	}

	#wrapper {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		-moz-justify-content: space-between;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		position: relative;
		min-height: 100vh;
		width: 100%;
		padding: 1rem 2rem 4rem;
		z-index: 3;
	}

		#wrapper:before {
			content: '';
			display: block;
		}

		@media screen and (max-width: 1680px) {

			#wrapper {
				padding: 0.75rem 2rem 3rem;
			}

		}

		@media screen and (max-width: 736px) {

			#wrapper {
				padding: 0.5rem 1rem 2rem;
			}

		}

		@media screen and (max-width: 480px) {

			#wrapper {
				padding: 0.25rem 1rem 1rem;
			}

		}

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		width: 100%;
		-moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		-webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		-ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		background-image: -moz-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
		background-image: -webkit-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
		background-image: -ms-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
		background-image: radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
		max-width: 100%;
		text-align: center;
	}

		#header > * {
			-moz-transition: opacity 0.325s ease-in-out;
			-webkit-transition: opacity 0.325s ease-in-out;
			-ms-transition: opacity 0.325s ease-in-out;
			transition: opacity 0.325s ease-in-out;
			position: relative;
			margin-top: 2.5rem;
		}

		#header > :first-child {
			margin-top: 0;
		}

		#header .logo {
			width: 18rem;
			height: auto;
			line-height: normal;
			border: none;
			border-radius: 0;
			display: flex;
			align-items: center;
			justify-content: center;
		}

			#header .logo img {
				width: 100%;
				height: auto;
				object-fit: contain;
			}

		#header .content {
			border-style: solid;
			border-color: var(--gold);
			border-top-width: 1px;
			border-bottom-width: 1px;
			max-width: 100%;
		}

			#header .content .inner {
				-moz-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
				-webkit-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
				-ms-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
				transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
				-moz-transition-delay: 0.25s;
				-webkit-transition-delay: 0.25s;
				-ms-transition-delay: 0.25s;
				transition-delay: 0.25s;
				padding: 3rem 2rem;
				max-height: 40rem;
				overflow: hidden;
			}

				#header .content .inner > :last-child {
					margin-bottom: 0;
				}

			#header .content {
				text-align: left;
			}

			#header .content h1 {
				font-weight: 700;
				text-transform: none;
				letter-spacing: 0;
			}

				#header .content h1:after {
					content: '';
					display: block;
					width: 3rem;
					height: 3px;
					margin-top: 1.25rem;
					border-radius: 3px;
					background: var(--gold);
				}

			#header .content p {
				font-size: 0.9rem;
				line-height: 1.8;
				color: rgba(255, 255, 255, 0.8);
			}

		#header nav ul {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			gap: 0.85rem;
			margin-bottom: 0;
			list-style: none;
			padding-left: 0;
		}

			#header nav ul li {
				padding-left: 0;
			}

				#header nav ul li a {
					display: block;
					min-width: 9rem;
					height: 2.9rem;
					line-height: 2.9rem;
					padding: 0 1.5rem;
					border-radius: 2rem;
					box-shadow: inset 0 0 0 1px rgba(216, 193, 155, 0.5);
					transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
					text-transform: uppercase;
					font-family: "Montserrat", sans-serif;
					font-weight: 600;
					letter-spacing: 0.1rem;
					font-size: 0.75rem;
					border-bottom: 0;
				}

					#header nav ul li a:hover {
						background-color: var(--gold);
						color: #1b1f22;
						box-shadow: none;
					}

					#header nav ul li a:active {
						background-color: #e6d3b3;
						color: #1b1f22;
					}

		body.is-article-visible #header {
			-moz-transform: scale(0.95);
			-webkit-transform: scale(0.95);
			-ms-transform: scale(0.95);
			transform: scale(0.95);
			-moz-filter: blur(0.1rem);
			-webkit-filter: blur(0.1rem);
			-ms-filter: blur(0.1rem);
			filter: blur(0.1rem);
			opacity: 0;
		}

		body.is-preload #header {
			-moz-filter: blur(0.125rem);
			-webkit-filter: blur(0.125rem);
			-ms-filter: blur(0.125rem);
			filter: blur(0.125rem);
		}

			body.is-preload #header > * {
				opacity: 0;
			}

			body.is-preload #header .content .inner {
				max-height: 0;
				padding-top: 0;
				padding-bottom: 0;
				opacity: 0;
			}

		@media screen and (max-width: 980px) {

			#header .content p br {
				display: none;
			}

		}

		@media screen and (max-width: 736px) {

			#header > * {
				margin-top: 1.75rem;
			}

			#header .logo {
				width: 12rem;
				height: 5rem;
			}

			#header .content .inner {
				padding: 2.5rem 1rem;
			}

			#header .content p {
				line-height: 1.875;
			}

		}

		@media screen and (max-width: 480px) {

			#header {
				padding: 1.5rem 0;
			}

				#header .content .inner {
					padding: 2rem 1.25rem;
				}

				#header nav ul {
					-moz-flex-direction: column;
					-webkit-flex-direction: column;
					-ms-flex-direction: column;
					flex-direction: column;
					min-width: 10rem;
					max-width: 100%;
				}

						#header nav ul li a {
							height: 3rem;
							line-height: 3rem;
							min-width: 0;
							width: 100%;
						}

		}

	#main {
		-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-moz-flex-shrink: 1;
		-webkit-flex-shrink: 1;
		-ms-flex-shrink: 1;
		flex-shrink: 1;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		position: relative;
		max-width: 100%;
		z-index: 3;
	}

		#main article {
			-moz-transform: translateY(0.25rem);
			-webkit-transform: translateY(0.25rem);
			-ms-transform: translateY(0.25rem);
			transform: translateY(0.25rem);
			-moz-transition: opacity 0.325s ease-in-out, -moz-transform 0.325s ease-in-out;
			-webkit-transition: opacity 0.325s ease-in-out, -webkit-transform 0.325s ease-in-out;
			-ms-transition: opacity 0.325s ease-in-out, -ms-transform 0.325s ease-in-out;
			transition: opacity 0.325s ease-in-out, transform 0.325s ease-in-out;
			padding: 4.5rem 2.5rem 1.5rem 2.5rem ;
			position: relative;
			width: 58rem;
			max-width: 100%;
			background-color: rgba(20, 23, 27, 0.94);
			border: solid 1px rgba(216, 193, 155, 0.18);
			border-top: solid 3px var(--gold);
			border-radius: 14px;
			box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
			opacity: 0;
		}

			#main article.active {
				-moz-transform: translateY(0);
				-webkit-transform: translateY(0);
				-ms-transform: translateY(0);
				transform: translateY(0);
				opacity: 1;
			}

			#main article .close {
				display: block;
				position: absolute;
				top: 0;
				right: 0;
				width: 4rem;
				height: 4rem;
				cursor: pointer;
				text-indent: 4rem;
				overflow: hidden;
				white-space: nowrap;
			}

				#main article .close:before {
					-moz-transition: background-color 0.2s ease-in-out;
					-webkit-transition: background-color 0.2s ease-in-out;
					-ms-transition: background-color 0.2s ease-in-out;
					transition: background-color 0.2s ease-in-out;
					content: '';
					display: block;
					position: absolute;
					top: 0.75rem;
					left: 0.75rem;
					width: 2.5rem;
					height: 2.5rem;
					border-radius: 10px;
					box-shadow: inset 0 0 0 1px rgba(216, 193, 155, 0.35);
					background-position: center;
					background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23d8c19b%3B stroke-width: 1%3B %7D%3C/style%3E%3Cline x1='2' y1='2' x2='18' y2='18' /%3E%3Cline x1='18' y1='2' x2='2' y2='18' /%3E%3C/svg%3E");
					background-size: 20px 20px;
					background-repeat: no-repeat;
				}

				#main article .close:hover:before {
					background-color: var(--gold-soft);
				}

				#main article .close:active:before {
					background-color: var(--gold-strong);
				}

		@media screen and (max-width: 736px) {

			#main article {
				padding: 3.5rem 2rem 0.5rem 2rem ;
			}

				#main article .close:before {
					top: 0.875rem;
					left: 0.875rem;
					width: 2.25rem;
					height: 2.25rem;
					background-size: 14px 14px;
				}

		}

		@media screen and (max-width: 480px) {

			#main article {
				padding: 3rem 1.5rem 0.5rem 1.5rem ;
			}

		}

	.work-intro {
		display: flex;
		align-items: center;
		gap: 1.5rem;
		margin-bottom: 2rem;
	}

		.work-intro p {
			margin-bottom: 0;
		}

	.work-header-logo {
		flex-shrink: 0;
		width: 8rem;
		height: auto;
	}

	@media screen and (max-width: 736px) {
		.work-intro {
			flex-direction: column;
			gap: 1.75rem;
		}
		.work-header-logo {
			width: 7rem;
		}
	}

	.work-map {
		margin-top: 1.75rem;
		border-radius: 6px;
		overflow: hidden;
		border: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
	}

	.work-map iframe {
		display: block;
		width: 100%;
		height: 220px;
		border: 0;
		filter: grayscale(0.35) brightness(0.8) contrast(1.05);
	}

	.services-layout {
		display: flex;
		flex-direction: row;
		gap: 1.25rem;
		align-items: stretch;
	}

	.services-list {
		flex: 0 0 56%;
		display: flex;
		flex-direction: column;
		gap: 0.7rem;
	}

	.service-card {
		display: flex;
		flex-direction: row;
		border: solid 1px rgba(255,255,255,0.15);
		border-radius: 6px;
		overflow: hidden;
		background: rgba(255,255,255,0.04);
		transition: background 0.2s ease, border-color 0.2s ease;
		flex: 1 0 auto;
	}

	.service-card:hover {
		background: rgba(255,255,255,0.07);
		border-color: var(--gold);
	}

	.service-img {
		width: 145px;
		min-width: 145px;
		flex-shrink: 0;
		overflow: hidden;
		align-self: stretch;
	}

	.service-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.service-body {
		padding: 1rem 1.1rem;
		flex: 1;
	}

	.service-body h3 {
		font-size: 0.82rem;
		text-transform: uppercase;
		letter-spacing: 0.06rem;
		margin-bottom: 0.6rem;
		color: #ffffff;
	}

	.service-body p {
		font-size: 0.78rem;
		line-height: 1.7;
		margin-bottom: 0.45rem;
		color: rgba(255,255,255,0.65);
	}

	.service-body p:last-child {
		margin-bottom: 0;
	}

	@media screen and (max-width: 736px) {
		.services-layout {
			flex-direction: column;
		}
		.services-list {
			flex: none;
			width: 100%;
		}
		.service-card {
			flex-direction: column;
		}
		.service-img {
			width: 100%;
			min-width: 0;
			height: 8rem;
		}
	}

	#footer {
		-moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		-webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		-ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
		width: 100%;
		max-width: 100%;
		margin-top: 2rem;
		text-align: center;
	}

		#footer .copyright {
			letter-spacing: 0.1rem;
			font-size: 0.6rem;
			opacity: 0.75;
			margin-bottom: 0;
			text-transform: uppercase;
		}

		body.is-article-visible #footer {
			-moz-transform: scale(0.95);
			-webkit-transform: scale(0.95);
			-ms-transform: scale(0.95);
			transform: scale(0.95);
			-moz-filter: blur(0.1rem);
			-webkit-filter: blur(0.1rem);
			-ms-filter: blur(0.1rem);
			filter: blur(0.1rem);
			opacity: 0;
		}

		body.is-preload #footer {
			opacity: 0;
		}

.pinboard {
	flex: 1;
	position: relative;
	min-height: 280px;
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,0.15);
	overflow: hidden;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pb-slide {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.6s ease-in-out;
}

.pb-slide.active {
	opacity: 1;
}

#side-nav {
	pointer-events: none;
}

body.is-article-visible #side-nav {
	pointer-events: auto;
}

.side-nav-btn {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	color: #fff;
	text-decoration: none;
	border-bottom: none;
	z-index: 10000;
	opacity: 0;
	transition: opacity 0.35s ease;
	padding: 0.75rem 0.4rem;
}

body.is-article-visible .side-nav-btn {
	opacity: 0.6;
}

body.is-article-visible .side-nav-btn:hover {
	opacity: 1;
}

.side-nav-btn.hidden {
	opacity: 0 !important;
	pointer-events: none;
}

.side-nav-prev { left: 1rem; }
.side-nav-next { right: 1rem; }

.side-nav-arrow {
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gold);
	color: var(--gold);
	border-radius: 3px;
	flex-shrink: 0;
	font-size: 0.85rem;
}

.side-nav-label {
	font-size: 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	color: rgba(255,255,255,0.75);
	white-space: nowrap;
}

.corner-logo {
	position: fixed;
	top: 1.2rem;
	left: 1.4rem;
	z-index: 10000;
	border-bottom: none;
	opacity: 0.85;
	transition: opacity 0.2s;
}

.corner-logo:hover {
	opacity: 1;
}

.corner-logo img {
	width: 2.8rem;
	height: auto;
	display: block;
}

.form-honeypot {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.form-status {
	margin: 0;
	min-height: 1.5em;
}

.form-status.success {
	color: #8fd19e;
}

.form-status.error {
	color: #f2849e;
}

#contact-form {
	margin-bottom: 0.5rem;
}

#contact-form ul.actions {
	margin-bottom: 1rem;
}

.contact-info {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 2.5em;
}

.contact-info li {
	padding-left: 0;
}

@media screen and (max-width: 736px) {

	.contact-info {
		flex-direction: column;
	}

}

.contact-info .icon {
	color: var(--gold);
	display: inline-block;
	margin-right: 0.75em;
	width: 1em;
	text-align: center;
}

.contact-info a {
	border-bottom: none;
}

@media screen and (max-width: 736px) {

	#side-nav {
		display: none;
	}

	body.is-article-visible .corner-logo {
		opacity: 0;
		pointer-events: none;
	}

}
