@charset "utf-8";
/* GLOBAL: INSTANTIATE
-------------------------------------------------------------------------------*/
@font-face {
	font-family: 'Brilon';
	src: url('../fonts/brilon-11-regular.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}
:root {
	--color-black: #111518;
	--color-slate: #12161A;
	--color-fern: #3E4A50;
	--color-red: #BF3637;
	--color-bronze: #796741;
	--color-amber: #A7905B;
	--color-gold: #C9AB65;
	--color-tan: #B8B5B0;
	--color-cream: #D4CCC4;
	--color-silver: #D9D9D9;
	--color-white: #FFFFFF;
	--font-serif: 'loretta', 'Georgia', 'Times New Roman', serif;
	--font-accent: 'Brilon', 'loretta', 'Georgia', 'Times New Roman', serif;
	--weight-base: 400;
	--weight-bold: 700;
	--width-slim: 800px;
	--width-wide: 1500px;
	--radius-sm: 2px;
	--radius-md: 8px;
	--radius-lg: 20px;
	--radius-full: 999px;
	--spacing-sm: 12px;
	--spacing-md: clamp(12px, 2.5vw, 25px);
	--spacing-lg: clamp(12px, 5vw, 50px);
	--spacing-xl: clamp(12px, 7.5vw, 75px);
	--motion: 300ms cubic-bezier(0.25, 1, 0.5, 1);
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation: none !important;
		transition: none !important;
	}
}
/* GLOBAL: TYPOGRAPHY
-------------------------------------------------------------------------------*/
html,
body {
	scroll-behavior: smooth;
	color: var(--color-white);
    background-color: var(--color-slate);
}
body {
	font-family: var(--font-serif);
	font-size: clamp(16.5px, 2vw, 18px);
	font-weight: var(--weight-base);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: grayscale;
}
select, input, textarea {
	font-weight: inherit;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: var(--weight-bold);
	color: var(--color-white);
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-wrap: balance;
}
p {
	text-wrap: pretty;
	line-height: 1.4;
	orphans: 3;
	widows: 3;
}
strong {
	font-weight: 700;
}
small {
	font-size: 12px;
}
ul {
	padding-inline-start: 1.5em;
	list-style: none;
	text-wrap: balance;
	color: var(--color-stone);
}
ul.list-deco li {
	margin-block: 0.35em;
	text-indent: -2.55ch;
	line-height: 1.35;
}
ul.list-deco li::before {
	content: '';
	display: inline-block;
	height: 1.5ch;
	width: 1.5ch;
	margin-right: 1ch;
	vertical-align: middle;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20.95"><path fill="%23796741" fill-rule="evenodd" d="M10.24 20.95H5.78v-1.61a7 7 0 0 1 0-1.17c.03-.19.16-.24.28-.37.39-.45.32-.6.32-1.53v-.7c0-1.1.17-1.33-.63-1.62a8 8 0 0 0-1.54-.19 4.8 4.8 0 0 1-3.34-1.84A4.4 4.4 0 0 1 0 9.32 5.3 5.3 0 0 1 2.36 4.8a20 20 0 0 1 2.17-1.26 6 6 0 0 0 1.9-1.56A9 9 0 0 0 7.1.92c.18-.33.48-.97.9-.92.47.07.69.56.87.9a10 10 0 0 0 .68 1.05 7 7 0 0 0 1.89 1.58 22 22 0 0 1 2.22 1.26A5.4 5.4 0 0 1 16 9.42a4.4 4.4 0 0 1-2.92 4.04 6 6 0 0 1-1.4.32c-.8.1-1.7.03-1.97.66-.17.4-.1.51-.1 1.13v.7c0 .97-.07 1.06.34 1.53.12.14.25.2.28.35a7 7 0 0 1 0 1.2v1.6ZM7.29 4.15a1 1 0 0 0 .07.69.78.78 0 0 0 1.26 0c.27-.51-.08-1.14-.26-1.55l-.18-.42a1 1 0 0 0-.21-.4c-.11.5-.58 1.13-.68 1.68M1.6 8.2a3 3 0 0 0 .68 2.87 2.8 2.8 0 0 0 2.13.94 2.9 2.9 0 0 0 2.9-2.67 2.7 2.7 0 0 0-.34-1.63 2.9 2.9 0 0 0-2.78-1.52A2.85 2.85 0 0 0 1.6 8.2Zm9.18-1.91A2.9 2.9 0 0 0 8.72 8.8a2.92 2.92 0 1 0 4.85-1.89 2.9 2.9 0 0 0-2.15-.72 3 3 0 0 0-.65.1Z"/></svg>');
}
.list-reset {
	display: inline-flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* GLOBAL: LINKS
-------------------------------------------------------------------------------*/
::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}
::selection {
	background: #b3d4fc;
	text-shadow: none;
}
a:link,
a:visited,
a:active {
	color: var(--color-purple);
}
a:not(.btn):hover {
	text-decoration: underline;
}
::-moz-selection {
	background: rgba(242, 228, 212, 0.5);
	text-shadow: none;
}
::selection {
	background: rgba(242, 228, 212, 0.5);
	text-shadow: none;
}
.btn {
	position: relative;
	display: inline-grid;
	place-items: center;
	cursor: pointer;
	padding: 0.5em 1em 0.65em 1em;
	min-height: 48px;
	transition: all var(--motion);
	font-weight: var(--weight-bold);
	background-image: linear-gradient(0deg, #796741 0%, #c9ab65 100%);
	text-shadow: 0 0 4px #3C2F10;
	transition: all var(--motion);
	transform: translateY(0);
	cursor: pointer;
	overflow: visible;
}
.btn::before {
	content: '';
	position: absolute;
	top: -10px;
	bottom: -10px;
	background: transparent;
	z-index: -1;
}
.btn::after {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #C6A964;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	top: 4px;
	left: 4px;
	opacity: 0.8;
	transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
	cursor: pointer;
}
.btn,
.btn:link,
.btn:visited {
	color: var(--color-white);
	text-decoration: none;
}
.btn:hover {
	color: var(--color-white);
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.7);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
	transform: translateY(-3px);
}
.btn:hover::after {
	border-color: #F5CF76;
}
.btn:active {
	transform: translateY(3px);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.btn-submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
/* GLOBAL: CONTAINERS
-------------------------------------------------------------------------------*/
body {
	overflow-x: hidden;
	background-image: url('../images/texture-background.webp');
	background-repeat: repeat-y;
	background-size: 100% auto;
}
.container {
	display: flex;
	flex-flow: column;
	align-items: center;
	margin-inline: auto;
	width: 100%;
	max-width: var(--width-wide);
	padding: var(--spacing-xl) var(--spacing-md);
	gap: 1em;
	z-index: 10;
	position: relative;
	overflow: visible;
}
@media (min-width: 500px) {
	.heading-ornament {
		font-size: clamp(2rem, -0.1429rem + 6.8571vw, 5rem);
		display: flex;
		flex-flow: row nowrap;
		margin-block: unset;
		font-family: var(--font-accent);
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		text-align: center;
	}
	.heading-ornament::before,
	.heading-ornament::after {
		content: '';
		display: block;
		width: 2em;
		aspect-ratio: 1;
		flex-shrink: 0;
	}
	.heading-ornament::before {
		transform: scaleX(-1);
	}
	.heading-ornament::before,
	.heading-ornament::after {
		content: '';
		background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="159.6" height="43.5"><path fill="none" stroke="%23796741" stroke-miterlimit="10" d="M151.6 21a317 317 0 0 0-37.1-1c-2.3 0-10 1.6-15.6 1.6s2.6.1-22.2.1c0 0 13 .5 18.7-5.8C100.5 10 99.6 4.5 98 2.4c-1.8-2.5-6.3-2.6-7.3 0m68.8 19.2S141 20.1 138 19.3s-13 .5-18-1.5-6.6-2.3-8.4-1.5-8.3 5.4-24.6 5.4H73.6m78 .8a317 317 0 0 1-37.1 1c-2.3-.1-10.1-1.7-15.6-1.7H76.7s13-.5 18.7 5.8C100.5 33.3 99.6 39 98 41c-1.8 2.5-6.3 2.7-7.3 0m68.8-19.2S141 23.4 138 24.1s-13-.5-18 1.5-6.6 2.3-8.4 1.6-8.3-5.5-24.6-5.5H0"/></svg>') no-repeat center / contain;
	}
}
/* SECTION: UTILITY
-------------------------------------------------------------------------------*/
.utility {
	--_ubg: var(--color-black);
	--_utx: var(--color-white);
	--_sbg: var(--color-red);
	--_stx: var(--color-white);
	--_utilHgt: 48px;
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: flex-start;
	position: absolute;
	z-index: 100;
}
.utility>div {
	display: flex;
	padding: var(--spacing-sm);
	gap: var(--spacing-sm);
}
.utility .btn {
	font-size: 110%;
	min-height: var(--_utilHgt);
}
.utility .btn::before {
	background: var(--color-yellow);
}
.utility .btn:hover {
	text-shadow: 0 0 6px #0004;
}
.utility .btn:hover:focus {
	text-shadow: 0 2px 3px #000;
}
.utility .btn:hover {
	color: var(--color-white);
}
.locale-wrap {
	position: relative;
	width: 140px;
}
.locale-select {
	overflow: hidden;
	position: absolute;
	z-index: 10;
	min-width: 100%;
	border-radius: var(--radius-sm);
	background-color: var(--_ubg);
}
.locale-select summary::-webkit-details-marker {
	display: none;
}
.locale-select summary,
.locale-select a {
	cursor: pointer;
	display: flex;
	align-items: center;
	text-decoration: none;
	font-weight: 700;
	gap: 6px;
	color: var(--_utx);
}
.locale-select summary {
	min-height: var(--_utilHgt);
	justify-content: center;
	font-family: inherit;
	font-size: 14px;
	transition:
		background-color var(--motion),
		border-color var(--motion),
		color var(--motion) !important;
}
.locale-select ul {
	display: flex;
	flex-flow: column;
}
.locale-select a {
	font-size: 12.5px;
	padding: 3px 12px;
}
.locale-select li:last-of-type a {
	padding-block-end: 6px;
}
.locale-select img {
	max-width: 18px;
}
.locale-select nav:focus {
	outline: none;
}
.locale-select summary:hover,
.locale-select a:hover,
.locale-select a:focus,
.locale-select a:focus-within {
	transition: var(--transition);
	background-color: var(--_sbg);
	color: var(--_stx);
	text-decoration: none;
}
.locale-select [aria-hidden='true'] {
	display: none;
	visibility: none;
	pointer-events: none;
}
/* SECTION: HERO
-------------------------------------------------------------------------------*/
.hero {
	display: grid;
	aspect-ratio: 2 / 1;
}
.hero-logo,
.hero-display {
	max-height: 900px;
	grid-area: 1 / 1 / -1 / -1;
}
.hero-display>* {
	position: relative;
	pointer-events: none;
	width: 100%;
	height: 100%;
}
.hero-display {
	color: #111518;
	background-color: #111518;
	overflow: hidden;
	position: relative;
	display: grid;
	grid-template-columns:
		clamp(19px, 4.75vw, 76px) clamp(2px, 0.5vw, 8px) clamp(81px, 20.38vw, 326px) 1fr 1.5fr 1em;
	grid-template-rows:
		clamp(18px, 4.375vw, 70px) clamp(78px, 19.56vw, 313px) 1fr 1fr 1fr;
}
.hero-corner {
	grid-area: 1 / 1 / 3 / 4;
	z-index: 2;
}
.hero-top {
	grid-area: 1 / 4 / 2 / -1;
}
.hero-left {
	grid-area: 3 / 1 / -1 / 3;
	z-index: 2;
}
.hero-main {
	grid-area: 2 / 2 / -1 / -1;
	z-index: 1;
	position: relative;
	top: 0;
	right: 0;
	aspect-ratio: 1.9 / 1;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--color-black);
}
.hero-logo {
	overflow: visible;
	z-index: 10;
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	grid-template-columns: min(5%, 50px) 1fr 2fr;
	gap: unset;
	padding-block-end: unset;
}
.hero-logo h1 {
	position: relative;
	grid-area: 2 / 2;
	aspect-ratio: 20 / 13;
}
.hero-logo h1::before {
	content: '';
	position: absolute;
	inset: calc(-1 * 25%);
	background: radial-gradient(ellipse at center 50%, #000F 0%, #0000 70%);
	z-index: -1;
	pointer-events: none;
	opacity: .5;
}
@media (max-width: 999px) {
	.hero {
		aspect-ratio: 1.25 / 1;
		grid-template-rows: 3fr .5fr;
	}
	.hero-main {
		background-position: 100% 50%;
	}
	.hero-logo {
		grid-area: 1 / 1 / -1 / -1;
		grid-template-rows: 50% 50%;
		grid-template-columns: min(5%, 50px) auto min(5%, 50px);
	}
	.hero-logo h1 {
		max-height: 100%;
		margin-inline: auto;
	}
	.hero-logo h1::before {
		opacity: 1;
	}
	.hero-display {
		grid-area: 1 / 1 / -2 / -1;
	}
	.hero-main {
		background-size: 150%;
		background-position: 100% 10%;
	}
}
@media (min-width: 1800px) {
	.hero {
		aspect-ratio: unset;
	}
	.hero-main {
		background-size: cover;
		background-position: 100% 20%;
	}
}
/* SECTION: ABOUT
-------------------------------------------------------------------------------*/
.about-wrap {
	display: grid;
	place-items: center;
	gap: var(--spacing-md) var(--spacing-md);
}
@media (min-width: 900px) {
	.about-wrap {
		grid-template-columns: 35% auto;
		grid-template-rows: auto auto;
	}
}
@media (min-width: 900px) {
	.about-content {
		grid-area: 1 / 1 / -1 / -1;
		display: grid;
		grid-template-columns: subgrid;
		grid-template-rows: subgrid;
	}
	.about-intro {
		grid-area: 1 / 1 / 2 / 3;
	}
	.about-description {
		grid-area: 2 / 1 / 2 / 2;
	}
	.about-trailer {
		grid-area: 2 / 2 / 3 / 3;
		align-self: start;
	}
}
.about-heading {
	margin-block: unset;
	font-size: clamp(1.375rem, 1.2083rem + 0.6667vw, 1.875rem);
	font-family: var(--font-accent);
	max-width: 900px;
	text-align: center;
	margin-inline: auto
}
.about-intro {
	display: flex;
	flex-flow: column;
	place-items: center;
	gap: var(--spacing-md);
}
.about-description {
	font-size: clamp(1rem, 0.4167rem + 1.1667vw, 1.4375rem);
}
.about-trailer {
	display: grid;
	grid-template-columns: 20px auto 20px;
	grid-template-rows: 12px auto 11px;
}
.about-trailer img {
	grid-area: 1 / 1 / -1 / -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.about-trailer iframe {
	width: 100%;
	border: 1px solid var(--color-fern);
	grid-area: 2 / 2 / -2 / -2;
}
@media (max-width: 499px) {
	.about-trailer {
		display: block;
	}
	.about-trailer img {
		display: none;
	}
}
/* SECTION: PURCHASE
-------------------------------------------------------------------------------*/
.heading-products {
	padding-block-end: var(--spacing-md);
}
.products-grid {
	display: grid;
	grid-auto-rows: auto;
	gap: var(--spacing-md);
}
@media (min-width: 800px) {
	.products-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 800px) {
	.products-grid>*:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		max-width: 50%;
	}
}
.products-card {
	display: grid;
	grid-template-rows: 140px auto 1fr;
}
.products-card::before,
.products-card::after {
	grid-area: 2 / 1 / 4 / 2;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.products-card::before {
	background-color: #06070838;
	border: 1px solid #52626A80;
	border-radius: var(--radius-sm);
}
.products-image {
	grid-area: 1 / 1 / 3 / 2;
	padding-inline: 30px;
}
.products-image img {
	margin-inline: auto;
	padding: 0 var(--spacing-md);
	object-fit: contain;
}
.products-content {
	--_gap: 12px;
	grid-area: 3 / 1 / 4 / 2;
	padding: var(--spacing-lg);
	padding-block-start: 1em;
}
.products-content h3 {
	font-size: 200%;
	line-height: 1;
	margin-block: unset;
}
.products-content h3+p,
.products-content strong {
	font-size: 1rem;
	font-weight: var(--weight-bold);
	margin-block-start: 0.5em;
	color: var(--color-gold);
}
.products-content strong {
	display: block;
	margin-bottom: 8px;
	text-transform: uppercase;
}
.products-content ul {
	font-weight: 450;
	margin-block: 0 1.5em;
}
.products-content ul.list-reset {
	gap: var(--_gap);
	flex-flow: row wrap;
}
/* TOGGLE */
.tabs {
	--_gap: 4px;
}
.tabs ul {
	margin-block: 0 1.5em;
	text-wrap: balance;
}
.tabs ul.list-reset {
	gap: var(--_gap);
	flex-flow: row wrap;
}
.tabs .tab-panel {
	margin-block: 0;
	gap: var(--_gap);
}
.tabs .active-tab {
	transition: all var(--motion);
}
.tabs .active-tab span {
	transition: all var(--motion);
	background-color: var(--color-orange);
	color: var(--color-white);
}
.tabs .active-tab::after {
	opacity: 1;
}
.tab-wrapper {
	display: grid;
}
.tab-wrapper .tab-panel {
	grid-area: 2 / 1;
	display: flex;
	opacity: 0;
	visibility: none;
	pointer-events: none;
}
.tab-wrapper .active-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
/* HIGHLIGHT */
.products-highlight {
	--_round: clamp(20px, calc(-221.429px + 18.571vw), 150px);
	background-color: #A09D99;
	background-image:
		linear-gradient(180deg, #D9D9D9 0%, #A09D9900 75%),
		url('../images/texture-blotchy.webp');
	background-size: 615px;
	background-position: center;
	border-radius: 0 0 var(--_round) var(--_round);
	position: relative;
	margin-block-start: 200px;
}
.products-highlight::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	bottom: 100%;
	left: 0;
	z-index: 1;
	pointer-events: none;
	background-image: url('../images/texture-smear.webp');
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	aspect-ratio: 180 / 21;
}
.products-highlight .products-card::after {
	background-color: #2F3A40;
	border: 1px solid var(--color-fern);
	border-radius: var(--radius-sm);
}
.products-highlight .container {
	padding-block-start: var(--spacing-sm);
}
.products-highlight .heading-ornament {
	color: var(--color-fern);
	padding-block-end: unset;
}
/* BUNDLES */
.bundles {
	background-image: linear-gradient(0deg, #000F 0%, #0000 50%);
}
.bundles .products-card::before {
	background-color: #282C2F;
	border-color: var(--color-fern);
}
.bundles .products-card::after {
	grid-area: 1 / 2 / -1 / -1;
	background-image: url('../images/texture-stripes.webp');
	background-position: bottom;
	background-repeat: repeat-x;
	background-size: auto 40px;
}
.bundles .products-image,
.bundles .products-card img {
	padding-inline: unset;
}
.bundles .products-image {
	border: 1px solid var(--color-fern);
}
@media (min-width: 800px) {
	.products-card-wide {
		display: grid;
		grid-template-rows: 1fr;
		grid-template-columns: repeat(2, 1fr);
	}
	.products-card-wide::before {
		grid-area: 1 / 1 / -1 / -1;
	}
	.products-card-wide .products-content {
		grid-area: 1 / 3 / 4 / 2;
		padding-top: var(--spacing-lg);
		align-self: center;
	}
	.products-card-wide .products-image {
		grid-area: 1 / 1 / -1 / 2;
		padding-inline: unset;
		border-inline-end: unset;
	}
	.products-card-wide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.bundles .products-card:nth-child(even) {
		.products-image {
			grid-area: 1 / 2 / -1 / 2;
			border-inline-start: unset;
		}
		.products-content {
			grid-area: 1 / 1 / 4 / 2;
			padding-top: var(--spacing-lg);
			align-self: center;
		}
		&:after {
			grid-area: 1 / 1 / -1 / 2;
		}
	}
}
/* SECTION: FEATURES
-------------------------------------------------------------------------------*/
.features {
	background-image: url('../../_assets/images/texture-features.webp');
	background-position-y: bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.features .container {
	padding-block-start: var(--spacing-md);
}
.heading-features {
	padding-block-start: var(--spacing-xl);
}
.features-grid {
	display: grid;
	gap: var(--spacing-lg);
}
@media (min-width: 860px) {
	.features-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--spacing-lg);
	}
}
.features figure {
	margin: unset;
	display: grid;
	grid-template-rows: auto 1fr;
	grid-template-columns: 1fr;
	align-items: start;
	gap: var(--spacing-sm);
	border-radius: var(--radius-sm);
	background-color: var(--color-black);
	padding: var(--spacing-sm);
	border: 1px solid #79674177;
	overflow: hidden;
}
.features figure img {
	border-radius: var(--radius-sm);
	border: 1px solid var(--color-fern);
}
.features figcaption {
	padding-block-start: var(--spacing-sm);
	padding-block-end: var(--spacing-md);
}
.features figcaption h3 {
	font-size: 165%;
	font-weight: 700;
	margin-block: unset;
	position: relative;
	line-height: 1.1;
}
.features figcaption p {
	font-size: 110%;
	margin-block-start: 0.5em;
	margin-block-end: unset;
}
@media (min-width: 500px) {
	.features figcaption {
		padding-inline: var(--spacing-md);
	}
}
/* FOOTER
-------------------------------------------------------------------------------*/
:root {
	--_offset: -120px;
}
.features {
	padding-block-end: calc(var(--_offset) * -1) !important;
}
.developer {
	position: relative;
	margin-bottom: calc(var(--_offset) + var(--spacing-xl));
	top: var(--_offset);
}
/* SECTION: DEVELOPER
-------------------------------------------------------------------------------*/
.developer-link {
	position: relative;
	margin-inline: auto;
	display: grid;
	grid-template-rows: auto auto;
	text-decoration: none !important;
	max-width: 300px;
}
.developer-link span {
	text-align: center;
	line-height: 1.1;
	font-size: 85%;
	transition: all var(--motion);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 500;
	color: #667780;
}
@media (max-width: 400px) {
	.developer-link span {
		grid-area: unset;
		padding-top: var(--spacing-sm);
		color: var(--color-white);
	}
}
.developer-link:hover span {
	color: var(--color-purple);
}
.developer-link:hover img {
	transform: scale(1.05) !important;
}
.developer-link img {
	transition: transform var(--motion);
}
/* SECTION: UPDATES
-------------------------------------------------------------------------------*/
.updates {
	--_abg: var(--color-gold);
	--_atx: var(--color-black);
	--_hbg: var(--color-red);
	--_htx: var(--color-white);
}
.updates .container {
	padding-block-start: var(--_offset);
	padding-block-end: var(--spacing-md);
}
.updates-box {
	--_gap: 6px;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--width-slim);
	padding: var(--spacing-lg) var(--spacing-md);
	margin-inline: auto;
	margin-bottom: 30px;
	background-color: var(--color-black);
	box-shadow: 0 3px 30px oklch(33% 10% 279deg / 50%);
	border: 1px solid var(--color-fern);
}
.updates-box h2 {
	letter-spacing: unset;
	margin-block-start: unset;
	margin-block-end: 0.6em;
	font-weight: 700;
	text-align: center;
	color: var(--color-white);
	letter-spacing: unset;
}
.updates-box h2 span {
	color: var(--color-gold);
}
.updates-row {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-flow: row wrap;
}
.updates-box ul {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: var(--_gap);
}
/* LINKS */
.updates-box a {
	position: relative;
	background: var(--_abg);
	color: var(--_atx);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	width: 60px;
	border-radius: var(--radius-sm);
	transition:
		background-color var(--motion),
		color var(--motion);
}
.updates-box svg {
	display: block;
	width: 24px;
	height: 24px;
	position: relative;
	z-index: 2;
	fill: var(--_atx);
}
.updates-box a:hover {
	background-color: var(--_hbg);
}
.updates-box a:hover svg {
	fill: var(--_htx);
}
/* KLAYVIO */
.updates form.klaviyo-form {
	max-width: 360px !important;
}
.updates form.klaviyo-form>div {
	min-height: auto !important;
	border-radius: var(--radius-sm) !important;
	background: white !important;
	padding: 6px !important;
}
@media (min-width: 400px) {
	.updates form.klaviyo-form>div {
		display: grid !important;
		grid-template-columns: 1fr 140px;
	}
}
.updates .klaviyo-form div {
	padding: 0 !important;
}
.updates form.klaviyo-form input[type="email"],
.updates form.klaviyo-form button {
	height: 48px !important;
	box-sizing: border-box;
	border: 0px !important;
	font-family: var(--font-serif) !important;
}
.updates form.klaviyo-form input[type="email"] {
	position: relative;
	margin-right: 6px !important;
}
.updates form.klaviyo-form input[type="email"]:hover {
	border: 0 !important;
}
.updates form.klaviyo-form button {
	font-size: 15px !important;
	letter-spacing: 0.03em !important;
	border-radius: var(--radius-sm) !important;
	text-transform: inherit !important;
	background-color: var(--_abg) !important;
	color: var(--_atx) !important;
	transition:
		background-color var(--motion),
		color var(--motion);
}
.updates form.klaviyo-form button:hover {
	box-shadow: unset !important;
	background: var(--_hbg) !important;
	color: var(--_htx) !important;
}
.updates form.klaviyo-form p {
	opacity: 0.7;
}
.updates form.klaviyo-form>div>div:last-child {
	display: none !important;
}
/* SECTION: BOTTOM
-------------------------------------------------------------------------------*/
.bg-bottom {
	background-size: 100%;
	background-position: center top;
	background-color: #000;
	background-image:
		linear-gradient(0deg, #000000BB 0px, #00000000 100px),
		url('../../_assets/images/texture-footer.webp');
	background-repeat: no-repeat;
}
.bottom .container {
	max-width: 100%;
	display: grid;
	grid-template-columns: 2fr auto auto;
	padding-block-end: var(--spacing-md);
	gap: var(--spacing-md);
}
.bottom a {
	color: inherit;
}
.bottom-credits {
	display: flex;
	flex-flow: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--spacing-md);
}
.bottom-credits img {
	max-width: 120px;
	max-height: 90px;
	object-fit: contain;
}
.bottom-legal {
	display: block;
	max-width: 470px;
	text-align: center;
	text-wrap: balance;
}
.bottom-rating {
	margin-block: auto;
	max-height: 80px;
	max-width: 160px;
	object-fit: contain;
}
@media (min-width: 1400px) {
	.bottom-legal {
		text-align: right;
		text-wrap: balance;
	}
}
@media (max-width: 1399px) {
	.bottom .container {
		grid-template-columns: 1fr;
		place-items: center;
		gap: var(--spacing-lg);
	}
}
@media (max-width: 599px) {
	.bottom-credits {
		display: grid;
		grid-template-columns: repeat(2, minmax(130px, 1fr));
		place-items: center;
		gap: var(--spacing-lg);
		padding-block-end: var(--spacing-sm);
	}
}
.fixed-rating {
	position: fixed;
	left: 10px;
	bottom: 10px;
	max-height: 80px;
	max-width: 160px;
	line-height: 0;
	z-index: 100;
	opacity: 1;
	display: block;
	transition: opacity 0.3s, display 0.3s allow-discrete;
	@starting-style {
		opacity: 0;
	}
}
.fixed-rating img {
	max-height: inherit;
}
.fixed-rating.is-hidden {
	opacity: 0;
	display: none;
}
@media (prefers-reduced-motion: reduce) {
	.fixed-rating {
		transition: none;
	}
}
/* FEATURE: GATE
-------------------------------------------------------------------------------*/
#gate {
	display: flex;
	flex-flow: column;
	gap: var(--spacing-lg);
}
#gate [class*="-wrap"] {
	display: flex;
	flex-flow: column;
	gap: 10px;
}
#gate .select {
	position: relative;
}
#gate select {
	font-size: 1em;
	color: #FFF;
	width: 100%;
	padding: 12px 16px;
	cursor: pointer;
	outline: none;
	background: #000;
	box-shadow: none;
	border-radius: 5px;
	border-width: 2px 6px 2px 2px;
	border-color: #000;
	border-style: solid;
}
#select-locale,
#select-birth,
#submit {
	display: block;
	max-width: 300px;
	margin-inline: auto;
}
#select-birth {
	display: flex;
	flex-flow: row;
	gap: 8px;
}
#gate button {
	border: unset;
	font-size: 1.2em;
	width: 100%;
}
#gate label {
	text-align: center;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.06em;
}
[class*="page-gate"] {
	min-height: 100vh;
}
[class*="page-gate"] .header {
	aspect-ratio: unset;
}
[class*="page-gate"] .main .container {
	padding-block-start: unset;
}
[class*="page-gate"] .footer {
	display: flex;
	flex-flow: column;
	text-align: center;
	background: unset;
	opacity: .4;
	line-height: 1.4;
	max-width: min(50ch, 85%);
	margin-inline: auto;
}
[class*="page-gate"] .bottom-legal {
	max-width: unset;
	text-align: center;
}
[class*="page-gate"] small {
	display: block;
	margin-block-end: 1em;
}
.page-gate-sorry .main {
	font-size: 150%;
	text-shadow:
		0 0 10px #000,
		0 0 30px #000,
		0 0 90px #000;
}