:root {
	--bg: #0a0a0a;
	--muted: #b8bcc6;
	--text: #f4f4f5;
	--border: rgba(255,255,255,.14);
	--accent: #ffffff;
	--accent-2: #111111;
}

* {
	box-sizing: border-box
}

html, body {
	height: 100%
}

body {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	color: var(--text);
	background: #000;
	line-height: 1.6;
}

a {
	color: inherit;
	text-decoration: none
}

.container {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 24px
}
/* TOP BAR */
.topbar {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #000;
	color: #fff;
	border-bottom: 1px solid var(--border);
}

.topbar-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 64px;
}

.site-title {
	font-weight: 700;
	text-align: center;
}

/* remove the old search icon styles if you want */
.search, .search::after {
	display: none !important;
}

/* logo styles */
.logo {
	height: clamp(64px, 3.3vw, 128px);
	width: auto;
	display: block;
}

.logo-link {
	margin-left: 8px; /* small gap from last nav item */
	display: inline-flex;
	align-items: center;
}

/* if your logo is dark and you need it white on a black header, uncomment: */
/* .logo { filter: invert(1) brightness(1.2); } */


nav.primary {
	display: flex;
	gap: 22px;
	align-items: center;
	justify-content: flex-end
}

	nav.primary a {
		font-size: .92rem;
		color: #f8fafc;
		opacity: .9
	}

		nav.primary a:hover {
			opacity: 1
		}

.search {
	width: 18px;
	height: 18px;
	display: inline-block;
	border: 2px solid #fff;
	border-radius: 50%;
	position: relative;
	margin-left: 2px;
	opacity: .9;
}

	.search::after {
		content: "";
		position: absolute;
		width: 10px;
		height: 2px;
		background: #fff;
		right: -8px;
		bottom: -4px;
		transform: rotate(45deg);
		border-radius: 1px;
	}
/* HERO */
.hero {
	position: relative;
	min-height: 64vh;
	display: grid;
	align-items: end;
	background: #111 url('hero.jpg') center/cover no-repeat fixed;
	/* Add a fallback if no image is provided */
	background-color: #1a1a1a;
}

	.hero::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0,0,0,.45);
	}

.hero-content {
	position: relative;
	padding: 84px 0 72px
}

.eyebrow {
	display: none
}

h1.hero-title {
	font-family: "Playfair Display", serif;
	font-weight: 700;
	letter-spacing: .2px;
	font-size: clamp(1.8rem, 2.8vw + 1rem, 3rem);
	margin: 0 0 18px;
	text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .8rem 1.1rem;
	background: #fff;
	color: #000;
	font-weight: 700;
	border-radius: 4px;
	border: 1px solid #fff;
	transition: .2s transform;
}

	.btn:hover {
		transform: translateY(-1px)
	}
/* LOWER BAR / NEWSLETTER */
.lower {
	background: #000;
	padding: 42px 0 28px;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.brand-block h3 {
	margin: 0 0 2px;
	font-weight: 700
}

.small-nav {
	display: flex;
	gap: 18px;
	font-size: .92rem;
	color: var(--muted)
}

.newsletter {
	margin-top: 26px
}

	.newsletter label {
		display: block;
		font-weight: 700;
		margin-bottom: 10px
	}

.form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	max-width: 680px;
}

.input {
	width: 100%;
	padding: .9rem 1rem;
	border-radius: 4px;
	border: 1px solid var(--border);
	background: #0c0c0c;
	color: #fff;
}

.submit {
	padding: .9rem 1.2rem;
	border-radius: 4px;
	background: #fff;
	color: #000;
	border: 1px solid #fff;
	font-weight: 700;
	cursor: pointer;
}

.helper {
	color: #8b8f99;
	font-size: .8rem;
	margin-top: 10px;
	max-width: 680px
}
/* FOOTER */
.footer {
	padding: 16px 0;
	color: #a8adb6;
	font-size: .9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

	.footer .row {
		display: flex;
		gap: 14px;
		align-items: center;
		justify-content: center
	}

.dot {
	opacity: .5
}
/* Responsive */
@media (max-width: 900px) {
	.topbar-inner {
		grid-template-columns: auto 1fr auto
	}

	nav.primary {
		display: none
	}

	.hero {
		min-height: 56vh
	}

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