:root {
	--pink: #f675b6;
	--blue: #0e7cc9;
	--grey: #3b4449;
	--bg: #f6f6f8;
	--white: #fff;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
	font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	background: var(--bg);
	color: var(--grey);
	line-height: 1.4;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.hero {
	flex: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 3rem 1.5rem;
}

.hero-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 20px 60px rgba(59, 68, 73, 0.18);
}

.hero-text { max-width: 520px; }

.kicker {
	margin: 0 0 .75rem;
	font-weight: 900;
	font-size: 1.1rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pink);
}

h1 {
	margin: 0 0 1rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.02em;
}
h1 .day {
	display: block;
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	color: var(--grey);
}
h1 .month {
	display: block;
	font-size: clamp(1.4rem, 2.8vw, 2.1rem);
	color: var(--blue);
	margin-top: .25rem;
}

h2 {
	margin: 0 0 1.75rem;
	font-weight: 700;
	font-size: clamp(1.2rem, 2.2vw, 1.6rem);
	color: var(--grey);
	opacity: .75;
}

.tagline {
	margin: 0 0 1.75rem;
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	font-weight: 500;
	line-height: 1.5;
}
.tagline strong { font-weight: 700; }
.pink { color: var(--pink); }
.blue { color: var(--blue); }
.grey { color: var(--grey); }

.details {
	margin: 0;
	font-size: 1rem;
	font-weight: 500;
	color: var(--grey);
	opacity: .7;
}

footer {
	text-align: center;
	padding: 1.5rem;
	font-size: .8rem;
	color: var(--grey);
	opacity: .5;
}
footer p { margin: 0; }

@media (max-width: 800px) {
	.hero {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 2rem 1.25rem;
		text-align: center;
	}
	.hero-image { max-width: 420px; margin: 0 auto; }
	.hero-text { max-width: none; }
}
