/* Elite Souvenirs — homepage layout */

:root {
	--est-cream: #faf6ef;
	--est-cream-deep: #f1e9db;
	--est-ink: #2b2420;
	--est-ink-soft: #6b5f54;
	--est-terracotta: #c1502e;
	--est-terracotta-deep: #9c3d21;
	--est-gold: #c9a227;
	--est-white: #ffffff;
}

.est-home {
	background: var(--est-cream);
	color: var(--est-ink);
	font-family: 'Inter', system-ui, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.est-home * {
	box-sizing: border-box;
}

.est-home h1 {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	margin: 0;
	line-height: 1.15;
}

/* Top bar */

.est-topbar {
	position: sticky;
	top: 0;
	z-index: 10;
	background: rgba(250, 246, 239, 0.9);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(43, 36, 32, 0.08);
}

.est-topbar-inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 18px 24px;
}

.est-brand {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.5px;
	color: var(--est-ink);
	text-decoration: none;
}

/* Hero */

.est-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 20%, rgba(201, 162, 39, 0.25), transparent 45%),
		radial-gradient(circle at 85% 80%, rgba(193, 80, 46, 0.28), transparent 50%),
		linear-gradient(160deg, var(--est-terracotta-deep) 0%, var(--est-terracotta) 55%, #7a3a25 100%);
	color: var(--est-white);
	text-align: center;
	padding: 120px 24px 140px;
}

.est-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.035) 0, rgba(255,255,255,0.035) 2px, transparent 2px, transparent 14px);
	pointer-events: none;
}

.est-hero-inner {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.est-hero-eyebrow {
	display: inline-block;
	font-size: 13px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--est-gold);
	font-weight: 600;
	margin-bottom: 22px;
}

.est-hero h1 {
	font-size: clamp(38px, 6vw, 64px);
	color: var(--est-white);
	text-shadow: 0 4px 24px rgba(0,0,0,0.15);
}

.est-hero p {
	margin: 22px auto 0;
	max-width: 520px;
	font-size: 18px;
	color: rgba(255,255,255,0.88);
}

/* Footer */

.est-footer {
	border-top: 1px solid rgba(43, 36, 32, 0.08);
	padding: 32px 24px;
	text-align: center;
	color: var(--est-ink-soft);
	font-size: 13px;
}

@media (max-width: 640px) {
	.est-hero {
		padding: 90px 20px 100px;
	}
}
