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

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	background: #000;
	color: #fff;
	font-weight: 300;
	min-height: 100vh;
	padding: 2rem;
	max-width: 600px;
	margin: 0 auto;
	text-transform: lowercase;
}

h1 {
	font-size: 2rem;
	font-weight: 300;
	margin-bottom: 0.5rem;
	letter-spacing: 0.1em;
}

h2 {
	font-size: 1rem;
	font-weight: 300;
	color: #999;
	margin-bottom: 3rem;
	letter-spacing: 0.05em;
}

form {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
}

label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #ccc;
	padding-top: 1rem;
}

input[type="email"],
textarea {
	padding: 1rem;
	background: #000;
	border: 1px solid #333;
	color: #fff;
	font-family: inherit;
	font-weight: 300;
	font-size: 1rem;
	width: 100%;
}

input[type="email"]:focus,
textarea:focus {
	outline: none;
	border-color: #fff;
}

textarea {
	resize: vertical;
	min-height: 120px;
}

.submit-row {
	grid-column: span 2;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 1rem;
}

.success-message {
	color: #00ff00;
	font-size: 0.9rem;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.success-message.show {
	opacity: 1;
}

input[type="submit"] {
	padding: 1rem 2rem;
	background: #fff;
	color: #000;
	border: 1px solid transparent;
	font-family: inherit;
	font-weight: 300;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
	width: auto;
}

input[type="submit"]:hover {
	background: #000;
	color: #fff;
	border: 1px solid #fff;
}

@media (max-width: 600px) {
	body {
		padding: 1rem;
	}

	h1 {
		font-size: 1.5rem;
	}

	form {
		grid-template-columns: 1fr;
	}

	label {
		padding-top: 0;
		margin-bottom: 0.5rem;
	}

	.submit-row {
		grid-column: span 1;
		flex-direction: column;
		align-items: flex-end;
		gap: 1rem;
	}
}

#checkmark {
	vertical-align: middle;
}
