/* ==========================================================================
   Clean Slate Mods — custom slate redesign
   Palette: near-black shadow, slate grays, slate-blue accent, white highlight
   ========================================================================== */

:root {
	--slate-black:  #0e1013;
	--slate-dark:   #1b1e23;
	--slate-mid:    #4b545e;
	--slate-blue:   #5b6b7c;
	--slate-blue-light: #8ea0b3;
	--slate-light:  #c7ccd1;
	--white:        #f5f6f7;
}

* { box-sizing: border-box; }

body#page-wrapper, #page-wrapper {
	background: var(--slate-black);
}

/* ---------- Hero ---------- */

#hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("../../images/banner.jpg") center center;
	background-size: cover;
	background-color: var(--slate-black);
	padding: 3em 1.25em;
	text-align: center;
}

#hero:before {
	content: '';
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(180deg, rgba(10,11,13,0.55) 0%, rgba(10,11,13,0.35) 40%, rgba(10,11,13,0.75) 100%);
}

.hero-inner {
	position: relative;
	z-index: 2;
	max-width: 640px;
	width: 100%;
}

.wordmark {
	color: var(--white);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: clamp(1.5em, 5.5vw, 2.4em);
	line-height: 1.25;
	margin: 0 0 0.4em 0;
}

.tagline {
	color: var(--slate-light);
	font-size: clamp(0.95em, 3vw, 1.15em);
	letter-spacing: 0.03em;
	margin: 0 0 2em 0;
	font-weight: 300;
}

.signup-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
	justify-content: center;
	max-width: 480px;
	margin: 0 auto;
}

.signup-form input[type="email"] {
	flex: 1 1 260px;
	background: rgba(20, 22, 26, 0.55);
	border: 1px solid rgba(199, 204, 209, 0.35);
	color: var(--white);
	padding: 0.9em 1.1em;
	border-radius: 3px;
	font-size: 1em;
	backdrop-filter: blur(2px);
}

.signup-form input[type="email"]::placeholder {
	color: rgba(245, 246, 247, 0.55);
}

.signup-form input[type="email"]:focus {
	outline: none;
	border-color: var(--slate-blue-light);
}

.signup-form button {
	flex: 0 0 auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--slate-blue);
	color: var(--white);
	border: none;
	margin: 0;
	padding: 0.9em 1.6em;
	border-radius: 3px;
	font-family: inherit;
	font-size: 1em;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.signup-form button:hover {
	background: var(--slate-blue-light);
}

.fineprint {
	margin-top: 1.1em;
	color: rgba(199, 204, 209, 0.6);
	font-size: 0.8em;
	letter-spacing: 0.03em;
}

.form-success {
	color: var(--white);
	font-size: 1.05em;
	letter-spacing: 0.02em;
}

/* ---------- Definition section ---------- */

#definition {
	position: relative;
	padding: 6em 1.5em;
	background: url("../../images/pic01.jpg") center center;
	background-size: cover;
	text-align: center;
}

#definition:before {
	content: '';
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(9, 10, 12, 0.68);
}

.definition-inner {
	position: relative;
	z-index: 2;
	max-width: 560px;
	margin: 0 auto;
}

.definition-inner .term {
	color: var(--white);
	font-size: 1.8em;
	letter-spacing: 0.08em;
	text-transform: lowercase;
	margin: 0 0 0.15em 0;
	font-weight: 700;
}

.definition-inner .pos {
	color: var(--slate-blue-light);
	font-size: 0.9em;
	margin: 0 0 1em 0;
}

.definition-inner .def {
	color: var(--slate-light);
	font-size: 1.05em;
	line-height: 1.7;
	font-weight: 300;
	margin: 0;
}

/* ---------- Footer ---------- */

#footer {
	background: var(--slate-dark);
	padding: 2em 1.5em;
	text-align: center;
}

#footer #copyright {
	color: rgba(199, 204, 209, 0.5);
	font-size: 0.8em;
	letter-spacing: 0.05em;
}

/* ---------- Responsive ---------- */

@media screen and (max-width: 736px) {
	#hero { padding: 2.5em 1.25em; background-position: center 70%; }
	.hero-inner { max-width: 100%; }
	.signup-form {
		flex-direction: column;
		max-width: 340px;
	}
	.signup-form input[type="email"] {
		flex-basis: auto;
		width: 100%;
	}
	.signup-form button {
		width: 100%;
	}
	#definition { padding: 4em 1.25em; }
	.definition-inner .term { font-size: 1.5em; }
	.definition-inner .def { font-size: 1em; }
}

@media screen and (max-width: 400px) {
	.wordmark { letter-spacing: 0.1em; }
	#hero { padding: 2em 1em; }
	.signup-form input[type="email"],
	.signup-form button {
		padding: 0.85em 1em;
	}
	.fineprint { padding: 0 0.5em; }
}

@media screen and (max-height: 500px) and (orientation: landscape) {
	#hero { min-height: auto; padding: 4em 1.5em; }
}
