:root {
		--c-sand: #FEFCED;
		--c-dark: #495371;
		--c-org1: #FC997C;
		--c-org2: #F0A04B;
		--c-grn1: #D6E8DB;
		--c-grn2: #98B4AA;
		--c-grn3: #74959A;
		--c-blue: #4F709C;
		--c-red1: #C51605;

		--gap: 1.5rem;
		--bdc: var(--c-grn2);
		--border: 1px solid var(--bdc);

		--bg: var(--c-sand);
		--acc: var(--c-org1);
		--text: var(--c-dark);
		--error: #fa5252;
	}

	:root.dark {
		--bg: var(--c-blue);
		--acc: var(--c-org2);
		--text: #F5EFE7;

		--bdc: #e5e7eb;
	}

	@font-face {
		font-family: 'Reislust';
		src: url('/reislust.ttf') format('truetype');
		font-display: swap;
	}

	@font-face {
		font-family: 'Reey';
		src: url('/reey.otf') format('opentype');
		font-display: swap;
	}

	* {
		margin: 0;
		padding: 0;
	}

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

	html {
		font-family: 'Reislust', system-ui, sans-serif;
		line-height: 1.3;
		font-size: 16px;
	}

	body {
		min-height: 100vh;
		position: relative;
		background: var(--bg);
		font-size: 2.25rem;
		color: var(--text);
		line-height: 1;
	}

	input, textarea {
		font-size: 1.125rem !important;
		font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	}

	input::placeholder,
	input::-webkit-placeholder {
		font-size: 1.65rem;
		font-family: 'Reislust';
	}

	h1 {
		font-family: 'Reislust';
		font-size: 3rem;
	}

	.cc {
		margin: 0 auto;
		padding-right: 1rem;
		padding-left: 1rem;
		max-width: 1100px;
		width: 98vw;
	}

	.sr-only {
		display: none !important;
	}

	.bg {
		pointer-events: none;
		background-image: url(/bg.png);
		background-size: 200%;
		position: absolute;
		opacity: 0.45;
		z-index: 0;
		inset: 0;
	}

	img {
		position: relative;
		display: inline-block;
		-ms-interpolation-mode: bicubic;
		vertical-align: middle;
		border-style: none;
		max-width: 100%;
		height: auto;
		width: 100%;
	}

	fieldset {
		border: none
	}

	a {
		text-decoration: none;
	}

	a, input, textarea, select {
		color: inherit;
	}

	button {
		-webkit-appearance: none;
		outline: none;
		border: none;
	}

	a, button, input {
		transition-duration: 200ms;
		transition-property: color, background-color, border-color;
		transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	}

	button[disabled],
	button:disabled {
		opacity: 0.4;
		cursor: not-allowed;
	}

	p {
		margin-bottom: 1.75rem;
	}

	i,sup {
		font-family: system-ui,sans-serif;
		font-style: normal;
		font-size: 1rem;
	}

	small > i {
		font-size: 0.6rem;
	}

	li::marker {
		position: relative;
		font-size: 1rem;
	}

	@media screen and (max-width: 521px) {
		:root {
			--gap: 0.5rem;
		}

		html {
			font-size: 14px;
		}

		body {
			display: block;
			min-height: 100vh;
			height: auto;
		}

		.bg {
			opacity: 0.25;
		}
	}