:root
{
	--bg: #f1e7d5;
	--ink: #3b2f2a;
	--muted: #6f5a4e;
	--new-btn: #8e2d24;
	--new-btn-ink: #fff;
	--new-btn-hover: #7b241d;
	--card: #eadcc6;
	--divider: #d5c4a7;
	--h1: clamp(2.2rem, 4vw, 3.25rem);
	--h2: clamp(1.6rem, 2.8vw, 2.2rem);
	--lead: clamp(1.05rem, 1.8vw, 1.25rem);
	--base: 1rem;
}


body
{
	margin:0;
	font-family: "Georgia", "Times New Roman", Times, serif;
	color:var(--ink);
	background:var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

p,li,input,button,small,label
{
	font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container
{
	width:min(1120px, 92vw);
	margin:0 auto;
}

header.hero
{
	position:relative;
	color:#fff;
}

.hero__inner
{
	padding: clamp(72px, 12vw, 140px) 0;
	text-align:center;
}

.hero__title
{
	font-size: var(--h1);
	line-height: 1.15;
	letter-spacing: 0.4px;
	margin: 0 0 12px;
}

.hero__subtitle
{
	font-size: var(--lead);
	opacity: .95;
	margin: 0 auto 24px;
	max-width: 800px;
}

.new-btn
{
	display:inline-block;
	background: var(--new-btn);
	color: var(--new-btn-ink);
	padding: 16px 36px;
	border-radius: 8px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: .2px;
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 6px 14px rgba(0,0,0,0.15);
	transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.new-btn:hover
{
	background: var(--new-btn-hover);
	transform: translateY(-1px);
}

.new-btn:active{ transform: translateY(0) scale(.99); }

section
{
	padding: clamp(42px, 6vw, 64px) 0;
	text-align:center;
}

.section__title
{
	font-size: var(--h2);
	margin: 0 0 18px;
	letter-spacing: .3px;
}
.section__lead
{
	font-size: var(--base);
	color: var(--muted);
	max-width: 760px;
	margin: 0 auto 22px;
}

.grid
{
	display:grid;
	gap: 18px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 18px;
}

@media (max-width: 900px)
{
  .grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px)
{
  .grid{ grid-template-columns: 1fr; }
}

.thumb
{
	background: var(--card);
	border: 1px solid var(--divider);
	border-radius: 10px;
	padding: 10px;
	box-shadow: 0 10px 18px rgba(0,0,0,.08);
	transition: transform .22s ease, box-shadow .22s ease;
}

.thumb:hover
{
	transform: translateY(-3px);
	box-shadow: 0 16px 28px rgba(0,0,0,.12);
}

.thumb__img
{
	border-radius: 8px;
	filter: sepia(65%) contrast(95%) saturate(85%);
	transition: transform .25s ease;
}

.thumb:hover .thumb__img{ transform: scale(1.035); }

.thumb__caption
{
	margin-top: 10px;
	font-size: .98rem;
	color: var(--ink);
	letter-spacing: .2px;
}

.subscribe
{
	margin-top: 16px;
}

.form
{
	display:flex;
	gap:10px;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	margin-top: 14px;
}

.input
{
	width:min(360px, 86vw);
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid var(--divider);
	background: #f7eedc;
	color: var(--ink);
	font-size: 1rem;
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

.input::placeholder{ color:#8c7b6b; }

footer
{
	background: #2f2621;
	color:#ddd3c2;
	text-align:center;
	padding: 18px 0 22px;
	font-size: .95rem;
}