:root {
	--green-deep: #1f3a2e;
	--green-line: #2e5240;
	--gold: #d9a62e;
	--gold-soft: #e9c979;
	--rust: #b5432c;
	--paper: #f3eee1;
	--paper-dim: #eae3d1;
	--ink: #1b1b16;
	--ink-soft: #4b4a40;
	--steel: #6b7280;
	--line: rgba(27, 27, 22, 0.12);
	--line-on-dark: rgba(243, 238, 225, 0.18);
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: "Manrope", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
.disp {
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	line-height: 1.12;
	margin: 0;
	letter-spacing: -0.01em;
}
a {
	color: inherit;
	text-decoration: none;
}
img,
svg {
	display: block;
	max-width: 100%;
}
.wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 28px;
}
section {
	padding: 96px 0;
}
@media (max-width: 720px) {
	section {
		padding: 64px 0;
	}
	.wrap {
		padding: 0 20px;
	}
}
:focus-visible {
	outline: 3px solid var(--gold);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------- NAV ---------- */
header.site {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--green-deep);
	border-bottom: 1px solid var(--line-on-dark);
}
.nav {
	display: flex;
	align-items: center;
	padding: 16px 28px;
	max-width: 1120px;
	margin: 0 auto;
	gap: 12px;
}
.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--paper);
	flex: none;
	margin-right: 32px;
}
.brand svg {
	width: 30px;
	height: 30px;
	flex: none;
}
.brand span {
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 14.5px;
	letter-spacing: 0.01em;
	color: var(--paper);
	white-space: nowrap;
}
@media (max-width: 520px) {
	.brand span {
		font-size: 12px;
	}
}
nav.links {
	display: flex;
	gap: 28px;
}
nav.links a {
	color: var(--paper);
	opacity: 0.82;
	font-size: 14.5px;
	font-weight: 500;
	white-space: nowrap;
}
nav.links a:hover {
	opacity: 1;
}
.nav-right {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
	flex: none;
}
.langsw {
	display: flex;
	gap: 2px;
	background: var(--green-line);
	border-radius: 7px;
	padding: 3px;
}
.langsw button {
	border: none;
	background: transparent;
	color: var(--paper);
	opacity: 0.65;
	font-family: "Manrope", sans-serif;
	font-weight: 600;
	font-size: 12.5px;
	padding: 6px 10px;
	border-radius: 5px;
	cursor: pointer;
}
.langsw button.active {
	background: var(--gold);
	color: var(--green-deep);
	opacity: 1;
}
.navcta {
	background: var(--gold);
	color: var(--green-deep);
	font-weight: 700;
	font-size: 14px;
	padding: 10px 18px;
	border-radius: 7px;
	white-space: nowrap;
}
.navcta:hover {
	background: var(--gold-soft);
}
.burger {
	display: none;
	background: none;
	border: none;
	color: var(--paper);
	cursor: pointer;
}
@media (max-width: 860px) {
	nav.links {
		display: none;
	}
	.navcta {
		display: none;
	}
}

/* ---------- HERO ---------- */
.hero {
	background: var(--green-deep);
	color: var(--paper);
	position: relative;
	overflow: hidden;
	padding: 88px 0 0 0;
}
.hero .wrap {
	position: relative;
	z-index: 2;
}
.hero-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: center;
}
@media (max-width: 900px) {
	.hero-grid {
		grid-template-columns: 1fr;
	}
}
.eyebrow-line {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	color: var(--gold-soft);
	font-size: 14px;
	font-weight: 600;
}
.eyebrow-line .dash {
	width: 26px;
	height: 2px;
	background: var(--gold-soft);
}
h1.hero-h {
	font-size: clamp(34px, 5vw, 58px);
	max-width: 11ch;
}
.hero-sub {
	margin-top: 22px;
	max-width: 44ch;
	font-size: 18px;
	color: rgba(243, 238, 225, 0.82);
}
.hero-ctas {
	display: flex;
	gap: 14px;
	margin-top: 34px;
	flex-wrap: wrap;
}
.btn-primary {
	background: var(--gold);
	color: var(--green-deep);
	font-weight: 700;
	font-size: 15px;
	padding: 14px 24px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
}
.btn-primary:hover {
	background: var(--gold-soft);
}
.btn-ghost {
	border: 1px solid var(--line-on-dark);
	color: var(--paper);
	font-weight: 600;
	font-size: 15px;
	padding: 14px 24px;
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}
.btn-ghost:hover {
	border-color: var(--gold-soft);
	color: var(--gold-soft);
}
.hero-art {
	position: relative;
}
.combine-drive {
	animation: driveBob 7s ease-in-out infinite;
	transform-box: view-box;
}
@keyframes driveBob {
	0%,
	100% {
		transform: translate(-22px, 0);
	}
	50% {
		transform: translate(22px, -3px);
	}
}
.wheel-spin {
	animation: wheelSpin 1.1s linear infinite;
	transform-box: view-box;
}
@keyframes wheelSpin {
	to {
		transform: rotate(360deg);
	}
}
.chaff-puff {
	animation: chaffPuff 1.6s ease-out infinite;
	opacity: 0;
}
.chaff-puff.chaff-2 {
	animation-delay: 0.5s;
}
.chaff-puff.chaff-3 {
	animation-delay: 1s;
}
@keyframes chaffPuff {
	0% {
		opacity: 0;
		transform: translate(0, 0) scale(0.6);
	}
	15% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
		transform: translate(14px, -26px) scale(1.1);
	}
}
.field-rows {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 120px;
	background: repeating-linear-gradient(
		180deg,
		var(--green-line) 0 6px,
		var(--green-deep) 6px 22px
	);
	background-size: 44px 44px;
	opacity: 0.55;
	z-index: 1;
	animation: rowsDrift 6s linear infinite;
}
@keyframes rowsDrift {
	from {
		background-position-x: 0;
	}
	to {
		background-position-x: -44px;
	}
}

/* ---------- TRUST STRIP ---------- */
.trust {
	background: var(--green-line);
	color: rgba(243, 238, 225, 0.88);
	border-top: 1px solid var(--line-on-dark);
	padding: 16px 0;
	font-size: 14px;
}
.trust .wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.trust b {
	color: var(--paper);
	font-weight: 700;
}
.dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--gold-soft);
	flex: none;
}

/* ---------- SECTION HEAD ---------- */
.sec-head {
	max-width: 640px;
	margin-bottom: 52px;
}
.sec-head h2 {
	font-size: clamp(26px, 3.4vw, 36px);
}
.sec-head p {
	margin-top: 14px;
	color: var(--ink-soft);
	font-size: 16.5px;
	max-width: 56ch;
}

/* ---------- VALUE PROPS (asymmetric list) ---------- */
.values {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	border-top: 1px solid var(--line);
}
@media (max-width: 720px) {
	.values {
		grid-template-columns: 1fr;
	}
}
.value {
	padding: 32px 8px 32px 0;
	border-bottom: 1px solid var(--line);
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 18px;
}
.values .value:nth-child(odd) {
	border-right: 1px solid var(--line);
	padding-right: 36px;
}
@media (max-width: 720px) {
	.values .value:nth-child(odd) {
		border-right: none;
		padding-right: 0;
	}
}
.value svg {
	width: 26px;
	height: 26px;
	color: var(--rust);
}
.value h3 {
	font-size: 18px;
	margin-bottom: 8px;
	font-weight: 700;
}
.value p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 15px;
}

/* ---------- EQUIPMENT ---------- */
.equip {
	background: var(--paper-dim);
}
.equip-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 56px;
	align-items: center;
}
@media (max-width: 860px) {
	.equip-grid {
		grid-template-columns: 1fr;
	}
}
.model-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 36px;
	flex-wrap: wrap;
}
.model-tab {
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 13px;
	background: var(--paper);
	color: var(--ink-soft);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 10px 20px;
	cursor: pointer;
}
.model-tab.active {
	background: var(--green-deep);
	color: var(--paper);
	border-color: var(--green-deep);
}
.model-tab:hover:not(.active) {
	border-color: var(--rust);
	color: var(--rust);
}
.machine-card {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: 20px;
}
.spec-list {
	border-top: 1px solid var(--line);
}
.spec-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid var(--line);
	font-size: 15px;
}
.spec-row .k {
	color: var(--ink-soft);
}
.spec-row .v {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}
.model-name {
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 22px;
	margin-bottom: 4px;
}
.model-tag {
	color: var(--rust);
	font-weight: 600;
	font-size: 13.5px;
	margin-bottom: 22px;
}
.equip-note {
	margin-top: 18px;
	color: var(--steel);
	font-size: 13.5px;
}

/* ---------- HOW IT WORKS ---------- */
.steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
@media (max-width: 900px) {
	.steps {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 520px) {
	.steps {
		grid-template-columns: 1fr;
	}
}
.step {
	border-top: 2px solid var(--rust);
	padding-top: 16px;
}
.step .num {
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	color: var(--rust);
	font-size: 14px;
	margin-bottom: 10px;
}
.step h3 {
	font-size: 17px;
	margin-bottom: 8px;
}
.step p {
	margin: 0;
	color: var(--ink-soft);
	font-size: 14.5px;
}

/* ---------- PRICING ---------- */
.pricing {
	background: var(--green-deep);
	color: var(--paper);
}
.pricing .sec-head p {
	color: rgba(243, 238, 225, 0.72);
}
.pricing .sec-head h2 {
	color: var(--paper);
}
.plans {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--line-on-dark);
	border: 1px solid var(--line-on-dark);
}
@media (max-width: 860px) {
	.plans {
		grid-template-columns: 1fr;
	}
}
.plan {
	background: var(--green-deep);
	padding: 32px 26px;
}
.plan.featured {
	background: var(--green-line);
}
.plan .tier {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--gold-soft);
	letter-spacing: 0.02em;
	margin-bottom: 10px;
}
.plan h3 {
	font-family: "Unbounded", sans-serif;
	font-size: 24px;
	margin-bottom: 18px;
}
.plan ul {
	list-style: none;
	margin: 0 0 26px 0;
	padding: 0;
}
.plan li {
	padding: 10px 0;
	border-top: 1px solid var(--line-on-dark);
	font-size: 14.5px;
	color: rgba(243, 238, 225, 0.85);
}
.plan li:first-child {
	border-top: none;
}

/* ---------- CONTACT / FOOTER ---------- */
footer {
	background: var(--green-deep);
	color: rgba(243, 238, 225, 0.85);
	border-top: 1px solid var(--line-on-dark);
}
.foot-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
	padding: 80px 0 40px 0;
}
@media (max-width: 860px) {
	.foot-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
.foot-grid h2 {
	color: var(--paper);
	font-size: clamp(24px, 3vw, 32px);
	max-width: 14ch;
}
.foot-grid p {
	color: rgba(243, 238, 225, 0.72);
	margin-top: 14px;
	max-width: 46ch;
}
.contact-line {
	display: flex;
	gap: 12px;
	margin-top: 26px;
	flex-wrap: wrap;
}
.req-box {
	background: var(--green-line);
	border: 1px solid var(--line-on-dark);
	border-radius: 4px;
	padding: 26px 28px;
}
.req-box h3 {
	font-family: "Unbounded", sans-serif;
	color: var(--gold-soft);
	font-size: 13.5px;
	letter-spacing: 0.03em;
	margin-bottom: 16px;
}
.req-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-top: 1px solid var(--line-on-dark);
	font-size: 13.5px;
}
.req-row:first-of-type {
	border-top: none;
}
.req-row .k {
	color: rgba(243, 238, 225, 0.6);
}
.req-row .v {
	text-align: right;
	font-weight: 600;
	color: var(--paper);
}
.foot-bottom {
	border-top: 1px solid var(--line-on-dark);
	padding: 22px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	color: rgba(243, 238, 225, 0.55);
}
.foot-bottom .langsw {
	background: var(--green-line);
}
