:root {
	--bg: #fafaf7;
	--ink: #18181b;
	--ink-soft: #57575c;
	--rule: #e6e6e0;
	--accent: #2a4d3e;
	--max: 720px;
}

* {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui,
		sans-serif;
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--max);
	padding: 28px 24px;
	margin: 0 auto;
	border-bottom: 1px solid var(--rule);
}

.brand {
	font-weight: 600;
	letter-spacing: -0.01em;
	font-size: 18px;
}

.status {
	font-size: 13px;
	color: var(--ink-soft);
	padding: 4px 10px;
	border: 1px solid var(--rule);
	border-radius: 999px;
	background: #fff;
}

main {
	max-width: var(--max);
	margin: 0 auto;
	padding: 56px 24px 80px;
}

section + section {
	margin-top: 56px;
}

h1 {
	font-size: clamp(30px, 6vw, 44px);
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 0 0 20px;
	font-weight: 600;
}

h2 {
	font-size: 20px;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
	font-weight: 600;
}

p {
	margin: 0 0 16px;
}

.lead {
	font-size: 19px;
	color: var(--ink-soft);
	max-width: 56ch;
}

.how ol {
	list-style: none;
	counter-reset: step;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 20px;
}

.how li {
	counter-increment: step;
	padding-left: 44px;
	position: relative;
}

.how li::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: 1px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--accent);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	display: grid;
	place-items: center;
	font-variant-numeric: tabular-nums;
}

.how strong {
	font-weight: 600;
}

.for-who p {
	color: var(--ink-soft);
	max-width: 64ch;
}

a {
	color: var(--accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover {
	text-decoration-thickness: 2px;
}

footer {
	border-top: 1px solid var(--rule);
	max-width: var(--max);
	margin: 0 auto;
	padding: 24px;
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--ink-soft);
}

@media (max-width: 480px) {
	header {
		padding: 20px 20px;
	}
	main {
		padding: 40px 20px 56px;
	}
	section + section {
		margin-top: 44px;
	}
	footer {
		padding: 20px;
		flex-direction: column;
		gap: 4px;
	}
}
