:root {
	--landing-bg: #101111;
	--landing-surface: #171919;
	--landing-surface-strong: #1d201f;
	--landing-surface-soft: #131514;
	--landing-border: #2b302e;
	--landing-border-strong: #3a413e;
	--landing-text: #f2f1ea;
	--landing-text-muted: #b6b4a8;
	--landing-accent: #8af0a8;
	--landing-accent-strong: #59d67f;
	--landing-accent-soft: rgba(138, 240, 168, 0.12);
	--landing-rust: #ff8c5a;
	--landing-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
	--landing-max-width: 1200px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "IBM Plex Sans", system-ui, sans-serif;
	background: radial-gradient(circle at top left, rgba(138, 240, 168, 0.08), transparent 28%),
		radial-gradient(circle at bottom right, rgba(255, 140, 90, 0.08), transparent 24%),
		linear-gradient(180deg, #0f1110 0%, var(--landing-bg) 100%);
	color: var(--landing-text);
	line-height: 1.6;
}

a {
	color: inherit;
	text-decoration: none;
}

code,
pre {
	font-family: "IBM Plex Mono", monospace;
}

.landing-shell {
	min-height: 100vh;
}

.landing-header,
main,
.landing-footer {
	width: min(calc(100% - 32px), var(--landing-max-width));
	margin: 0 auto;
}

.landing-header {
	padding: 24px 0 12px;
}

.landing-nav {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 20px;
	padding: 18px 22px;
	border: 1px solid var(--landing-border);
	background: rgba(16, 17, 17, 0.82);
	backdrop-filter: blur(10px);
	box-shadow: var(--landing-shadow);
}

.landing-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.landing-wordmark__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--landing-border-strong);
	background: linear-gradient(180deg, rgba(138, 240, 168, 0.16), rgba(138, 240, 168, 0.04));
	color: var(--landing-accent);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.9rem;
}

.landing-wordmark__text {
	font-size: 1.05rem;
}

.landing-nav__links,
.landing-nav__actions,
.hero__actions,
.final-cta__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.landing-nav__links {
	justify-content: center;
	color: var(--landing-text-muted);
	font-size: 0.95rem;
}

.landing-nav__links a:hover {
	color: var(--landing-text);
}

.landing-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--landing-border-strong);
	font-weight: 600;
	font-size: 0.95rem;
	transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, color
		0.18s ease;
}

.landing-button:hover {
	transform: translateY(-1px);
}

.landing-button--primary {
	border-color: var(--landing-accent-strong);
	background: linear-gradient(180deg, rgba(138, 240, 168, 0.2), rgba(138, 240, 168, 0.12));
	color: var(--landing-text);
}

.landing-button--secondary {
	background: rgba(255, 255, 255, 0.02);
	color: var(--landing-text-muted);
}

.landing-button--secondary:hover {
	border-color: var(--landing-accent-strong);
	color: var(--landing-text);
}

.hero,
.feature-zone,
.workflow,
.pricing,
.final-cta {
	padding: 56px 0;
}

.hero {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
	gap: 36px;
	align-items: start;
	padding-top: 48px;
}

.hero__copy {
	padding-top: 20px;
}

.hero__eyebrow,
.section-heading__eyebrow,
.feature-card__eyebrow,
.pricing-card__topline,
.control-panel__label,
.control-row__label {
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hero__eyebrow,
.section-heading__eyebrow,
.feature-card__eyebrow,
.pricing-card__topline {
	color: var(--landing-accent);
}

.hero h1,
.section-heading h2,
.workflow__intro h2,
.final-cta__panel h2 {
	margin: 0;
	font-size: clamp(2.6rem, 5vw, 4.8rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	max-width: 12ch;
}

.section-heading h2,
.workflow__intro h2,
.final-cta__panel h2 {
	font-size: clamp(2rem, 3.5vw, 3rem);
	max-width: 18ch;
}

.hero__lede,
.section-heading p,
.workflow__intro p,
.final-cta__panel p {
	max-width: 60ch;
	font-size: 1.08rem;
	color: var(--landing-text-muted);
}

.hero__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0;
	margin: 28px 0 0;
	list-style: none;
}

.hero__signals li,
.signal-band div {
	padding: 10px 14px;
	border: 1px solid var(--landing-border);
	background: rgba(255, 255, 255, 0.02);
	color: var(--landing-text-muted);
}

.hero__panel {
	display: grid;
	gap: 18px;
}

.control-panel,
.delivery-panel,
.feature-card,
.step-card,
.aside-card,
.pricing-card,
.final-cta__panel {
	border: 1px solid var(--landing-border);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
	box-shadow: var(--landing-shadow);
}

.control-panel,
.delivery-panel,
.feature-card,
.aside-card,
.pricing-card,
.final-cta__panel {
	padding: 24px;
}

.control-panel__topline,
.control-panel__meta,
.delivery-panel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.control-panel__badge,
.control-panel__status {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border: 1px solid var(--landing-border-strong);
	background: var(--landing-surface-strong);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.78rem;
}

.control-panel__status {
	color: var(--landing-accent);
}

.control-panel__address {
	margin-top: 18px;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.control-panel__meta {
	margin-top: 20px;
	padding: 18px 0;
	border-top: 1px solid var(--landing-border);
	border-bottom: 1px solid var(--landing-border);
}

.control-panel__meta strong,
.control-row strong {
	display: block;
	font-size: 1rem;
}

.control-panel__stack {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.control-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	background: var(--landing-surface-soft);
	border: 1px solid rgba(255, 255, 255, 0.04);
}

.control-row__meta,
.delivery-panel__header span {
	color: var(--landing-text-muted);
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.82rem;
}

.control-row--code code {
	font-size: 0.84rem;
	color: var(--landing-accent);
}

.delivery-panel pre {
	margin: 18px 0 0;
	padding: 16px;
	background: #0f1110;
	border: 1px solid var(--landing-border);
	overflow-x: auto;
}

.signal-band {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 20px 0 8px;
}

.section-heading {
	display: grid;
	gap: 14px;
	margin-bottom: 28px;
}

.feature-zone__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.feature-card {
	display: grid;
	gap: 12px;
	min-height: 220px;
}

.feature-card h3,
.aside-card h3,
.pricing-card h3,
.step-card h3,
.delivery-panel h2 {
	margin: 0;
	font-size: 1.25rem;
}

.feature-card p,
.step-card p,
.aside-card p,
.pricing-card__description {
	margin: 0;
	color: var(--landing-text-muted);
}

.workflow__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
	gap: 20px;
	align-items: start;
}

.workflow__steps {
	display: grid;
	gap: 14px;
}

.step-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	padding: 22px 24px;
}

.step-card__number {
	font-family: "IBM Plex Mono", monospace;
	font-size: 1.5rem;
	color: var(--landing-rust);
}

.workflow__aside {
	display: grid;
	gap: 16px;
}

.aside-card ul {
	margin: 16px 0 0;
	padding-left: 18px;
	color: var(--landing-text-muted);
}

.aside-card--accent {
	border-color: rgba(138, 240, 168, 0.28);
	background: linear-gradient(180deg, rgba(138, 240, 168, 0.08), rgba(138, 240, 168, 0.02));
}

.pricing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.pricing-card {
	display: grid;
	gap: 14px;
}

.pricing-card--featured {
	border-color: rgba(138, 240, 168, 0.42);
	background: linear-gradient(180deg, rgba(138, 240, 168, 0.12), rgba(138, 240, 168, 0.03));
}

.pricing-card__price {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -0.04em;
}

.pricing-card__price span {
	font-size: 1rem;
	color: var(--landing-text-muted);
	font-weight: 400;
}

.pricing-card__list {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.pricing-card__list li {
	display: flex;
	align-items: start;
	gap: 10px;
	color: var(--landing-text-muted);
}

.pricing-card__list li::before {
	content: "•";
	color: var(--landing-accent);
}

.final-cta__panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px;
}

.landing-footer {
	padding: 18px 0 48px;
	color: var(--landing-text-muted);
}

.landing-footer p {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	padding-top: 18px;
	border-top: 1px solid var(--landing-border);
}

@media (max-width: 1080px) {
	.hero,
	.workflow__layout,
	.feature-zone__grid,
	.pricing__grid,
	.signal-band {
		grid-template-columns: 1fr;
	}

	.hero h1,
	.section-heading h2,
	.workflow__intro h2,
	.final-cta__panel h2 {
		max-width: none;
	}

	.final-cta__panel {
		align-items: start;
		flex-direction: column;
	}
}

@media (max-width: 820px) {
	.landing-nav {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.landing-nav__links {
		justify-content: start;
	}
}

@media (max-width: 640px) {
	.landing-header,
	main,
	.landing-footer {
		width: min(calc(100% - 20px), var(--landing-max-width));
	}

	.hero,
	.feature-zone,
	.workflow,
	.pricing,
	.final-cta {
		padding: 36px 0;
	}

	.hero__signals,
	.hero__actions,
	.landing-nav__actions,
	.final-cta__actions {
		width: 100%;
	}

	.landing-button {
		width: 100%;
	}

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

	.control-panel,
	.delivery-panel,
	.feature-card,
	.aside-card,
	.pricing-card,
	.final-cta__panel {
		padding: 18px;
	}
}
