:root {
	--features-bg: #f7f0e4;
	--features-bg-soft: #efe5d2;
	--features-paper: rgba(255, 251, 243, 0.92);
	--features-paper-strong: #fff8ed;
	--features-ink: #19332c;
	--features-ink-soft: #4f6b61;
	--features-line: rgba(25, 51, 44, 0.12);
	--features-line-strong: rgba(195, 94, 49, 0.24);
	--features-accent: #c35e31;
	--features-accent-soft: #f0b18d;
	--features-moss: #4b7b5b;
	--features-sage: #8db39b;
	--features-gold: #d29834;
	--features-shadow: 0 22px 52px rgba(75, 52, 28, 0.12);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100svh;
	font-family: 'Jost', sans-serif;
	color: var(--features-ink);
	background:
		radial-gradient(900px 520px at 10% -5%, rgba(210, 152, 52, 0.18), transparent 52%),
		radial-gradient(760px 460px at 100% 0%, rgba(75, 123, 91, 0.16), transparent 48%),
		linear-gradient(180deg, #f8f2e8 0%, #f3e9d9 40%, #f6efe3 100%);
}

a {
	color: inherit;
}

.features-shell {
	width: min(1320px, calc(100vw - 32px));
	margin: 0 auto;
	padding: 26px 0 44px;
}

.features-topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 6px 0 24px;
}

.features-brand {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
}

.features-brand-logo {
	width: 154px;
	height: auto;
	display: block;
	filter: drop-shadow(0 10px 18px rgba(96, 68, 35, 0.18));
}

.features-brand-copy {
	display: grid;
	gap: 3px;
}

.features-kicker,
.features-hero-kicker,
.features-panel-kicker,
.features-nav-kicker,
.feature-card-kicker,
.feature-rail-kicker,
.features-footer-kicker {
	margin: 0;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--features-accent);
}

.features-brand-title {
	font-size: 1.08rem;
	font-weight: 700;
}

.features-topbar-links,
.features-footer-actions {
	display: inline-flex;
	gap: 10px;
	flex-wrap: wrap;
}

.features-topbar-link,
.features-footer-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(25, 51, 44, 0.12);
	background: rgba(255, 248, 237, 0.84);
	box-shadow: 0 10px 22px rgba(75, 52, 28, 0.08);
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.features-topbar-link:hover,
.features-footer-link:hover {
	transform: translateY(-1px);
	border-color: rgba(195, 94, 49, 0.34);
	background: #fffdf8;
}

.features-topbar-link.is-quiet,
.features-footer-link {
	background: linear-gradient(180deg, rgba(75, 123, 91, 0.16), rgba(255, 248, 237, 0.94));
	border-color: rgba(75, 123, 91, 0.24);
}

.features-footer-link.is-secondary {
	background: rgba(255, 248, 237, 0.74);
	border-color: rgba(25, 51, 44, 0.12);
}

.features-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
	gap: 24px;
	padding: 34px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	border-radius: 34px;
	background:
		linear-gradient(145deg, rgba(255, 248, 237, 0.95), rgba(248, 239, 227, 0.9)),
		radial-gradient(circle at top right, rgba(75, 123, 91, 0.12), transparent 32%),
		radial-gradient(circle at 15% 20%, rgba(210, 152, 52, 0.14), transparent 28%);
	box-shadow: var(--features-shadow);
	overflow: hidden;
	position: relative;
}

.features-hero::after {
	content: '';
	position: absolute;
	inset: auto -8% -26% 42%;
	height: 360px;
	background: radial-gradient(circle, rgba(195, 94, 49, 0.14), transparent 64%);
	pointer-events: none;
}

.features-hero-copy,
.features-hero-panel {
	position: relative;
	z-index: 1;
}

.features-hero-copy {
	display: grid;
	gap: 18px;
}

.features-title {
	margin: 0;
	max-width: 12ch;
	font-size: clamp(2.7rem, 6vw, 5.1rem);
	line-height: 0.95;
	letter-spacing: -0.05em;
}

.features-lead {
	margin: 0;
	max-width: 66ch;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--features-ink-soft);
}

.features-hero-chips {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.features-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	background: rgba(255, 251, 243, 0.82);
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--features-ink);
}

.features-chip-icon {
	font-size: 0.98rem;
}

.features-hero-panel {
	display: grid;
	gap: 16px;
	padding: 24px;
	border-radius: 26px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	background: rgba(255, 252, 245, 0.84);
	backdrop-filter: blur(12px);
}

.features-panel-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.features-stat {
	display: grid;
	gap: 5px;
	padding: 14px 12px;
	border-radius: 18px;
	background: rgba(255, 248, 237, 0.92);
	border: 1px solid rgba(25, 51, 44, 0.08);
	text-align: center;
}

.features-stat-value {
	font-size: 1.78rem;
	font-weight: 700;
	letter-spacing: -0.04em;
}

.features-stat-label,
.features-panel-text,
.feature-card-description,
.feature-point-text,
.feature-rail-copy,
.feature-rail-note {
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--features-ink-soft);
}

.features-panel-card {
	padding: 18px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255, 250, 241, 0.98), rgba(245, 235, 220, 0.84));
	border: 1px solid rgba(195, 94, 49, 0.16);
}

.features-panel-title {
	margin: 0 0 8px;
	font-size: 1rem;
	font-weight: 700;
}

.features-panel-text {
	margin: 0;
}

.features-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 24px;
	margin-top: 28px;
	align-items: start;
}

.features-nav-card {
	position: sticky;
	top: 16px;
	padding: 18px;
	border-radius: 26px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	background: rgba(255, 250, 243, 0.88);
	box-shadow: var(--features-shadow);
	backdrop-filter: blur(12px);
}

.features-nav {
	display: grid;
	gap: 8px;
	margin-top: 14px;
}

.features-nav-link {
	display: block;
	padding: 11px 12px;
	border-radius: 16px;
	border: 1px solid transparent;
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.features-nav-link:hover,
.features-nav-link.is-active {
	transform: translateX(2px);
	background: rgba(75, 123, 91, 0.08);
	border-color: rgba(75, 123, 91, 0.16);
}

.features-nav-link-title {
	display: block;
	font-size: 0.94rem;
	font-weight: 700;
}

.features-nav-link-meta {
	display: block;
	margin-top: 3px;
	font-size: 0.76rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--features-ink-soft);
}

.features-sections {
	display: grid;
	gap: 24px;
}

.feature-card {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
	gap: 18px;
	padding: 24px;
	border-radius: 30px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	background:
		linear-gradient(180deg, rgba(255, 251, 243, 0.95), rgba(247, 239, 227, 0.95)),
		radial-gradient(circle at top right, rgba(141, 179, 155, 0.12), transparent 34%);
	box-shadow: var(--features-shadow);
	scroll-margin-top: 18px;
	position: relative;
	overflow: hidden;
}

.feature-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 18px;
	bottom: 18px;
	width: 6px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--features-accent), var(--features-gold));
	opacity: 0.88;
}

.feature-card-copy {
	display: grid;
	gap: 14px;
	padding-left: 12px;
}

.feature-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.feature-card-badge {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(195, 94, 49, 0.14), rgba(210, 152, 52, 0.16));
	border: 1px solid rgba(195, 94, 49, 0.18);
	font-size: 1.3rem;
	flex: 0 0 auto;
}

.feature-card-title {
	margin: 0;
	font-size: clamp(1.72rem, 3vw, 2.46rem);
	line-height: 1;
	letter-spacing: -0.04em;
}

.feature-card-description {
	margin: 0;
}

.feature-card-points {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.feature-point {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	padding: 14px;
	border-radius: 20px;
	border: 1px solid rgba(25, 51, 44, 0.08);
	background: rgba(255, 251, 243, 0.9);
}

.feature-point-icon {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: linear-gradient(180deg, rgba(75, 123, 91, 0.14), rgba(255, 248, 237, 0.94));
	font-size: 1rem;
}

.feature-point-body {
	display: grid;
	gap: 4px;
}

.feature-point-text {
	margin: 0;
}

.feature-rail {
	display: grid;
	align-content: start;
	gap: 14px;
	padding: 18px;
	border-radius: 24px;
	border: 1px solid rgba(25, 51, 44, 0.08);
	background: linear-gradient(180deg, rgba(242, 234, 219, 0.96), rgba(255, 249, 241, 0.94));
}

.feature-rail-title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 700;
}

.feature-rail-copy,
.feature-rail-note {
	margin: 0;
}

.feature-rail-tags {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.feature-tag {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	background: rgba(255, 251, 243, 0.88);
	border: 1px solid rgba(25, 51, 44, 0.08);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--features-ink-soft);
}

.feature-rail-example {
	display: grid;
	gap: 8px;
	padding: 14px;
	border-radius: 18px;
	border: 1px dashed rgba(195, 94, 49, 0.28);
	background: rgba(255, 248, 237, 0.76);
}

.feature-rail-example-label {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--features-accent);
}

.features-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	margin-top: 28px;
	padding: 28px;
	border-radius: 28px;
	border: 1px solid rgba(25, 51, 44, 0.1);
	background: linear-gradient(180deg, rgba(255, 249, 241, 0.94), rgba(244, 235, 220, 0.96));
	box-shadow: var(--features-shadow);
}

.features-footer-copy {
	display: grid;
	gap: 10px;
}

.features-footer-title {
	margin: 0;
	max-width: 19ch;
	font-size: clamp(1.7rem, 3vw, 2.6rem);
	line-height: 1.03;
	letter-spacing: -0.04em;
}

@media (max-width: 1100px) {
	.features-layout {
		grid-template-columns: 1fr;
	}

	.features-nav-card {
		position: static;
	}

	.features-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.feature-card {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 860px) {
	.features-shell {
		width: min(100vw - 20px, 100%);
		padding-top: 18px;
	}

	.features-topbar,
	.features-footer,
	.features-hero {
		grid-template-columns: 1fr;
		flex-direction: column;
		align-items: stretch;
	}

	.features-panel-stats {
		grid-template-columns: 1fr;
	}

	.features-nav {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.features-shell {
		width: calc(100vw - 14px);
	}

	.features-hero,
	.feature-card,
	.features-footer,
	.features-nav-card {
		padding: 18px;
		border-radius: 24px;
	}

	.features-title {
		max-width: 10ch;
	}

	.features-footer-title {
		max-width: none;
	}

	.feature-card-copy {
		padding-left: 6px;
	}
}
