.nw-home-claim {
	background: #050505;
	color: #f3f0e8;
	padding: clamp(4rem, 7vw, 7rem) clamp(1rem, 4vw, 4rem);
}

.nw-home-claim__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.78fr);
	gap: clamp(2rem, 5vw, 5rem);
	width: min(1180px, 100%);
	margin: 0 auto;
}

.nw-home-claim__content,
.nw-home-claim__form {
	min-width: 0;
}

.nw-home-claim__eyebrow,
.nw-home-claim__form-kicker,
.nw-home-claim__kit-label,
.nw-home-claim__kit-meta,
.nw-home-claim__field-label,
.nw-home-claim__form-status {
	font-family: "Fira Code", monospace;
	text-transform: uppercase;
}

.nw-home-claim__eyebrow,
.nw-home-claim__form-kicker,
.nw-home-claim__kit-label,
.nw-home-claim__form-status {
	color: #b7ff00;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.nw-home-claim__title {
	margin: 0 0 1rem;
	font-size: clamp(2.2rem, 5vw, 5rem);
	line-height: 0.95;
}

.nw-home-claim__copy {
	max-width: 44rem;
	margin: 0 0 2rem;
	color: rgba(243, 240, 232, 0.76);
	font-size: 1rem;
	line-height: 1.7;
}

.nw-home-claim__kit-card {
	display: grid;
	grid-template-columns: minmax(10rem, 18rem) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: center;
	margin: 0 0 1.5rem;
	border: 1px solid rgba(243, 240, 232, 0.2);
	background: rgba(255, 255, 255, 0.04);
}

.nw-home-claim__kit-media {
	margin: 0;
	background: #101010;
}

.nw-home-claim__kit-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.nw-home-claim__kit-body {
	padding: 1.25rem;
}

.nw-home-claim__kit-title {
	margin: 0.25rem 0 0.75rem;
	font-size: 1.5rem;
}

.nw-home-claim__kit-meta {
	margin: 0;
	color: rgba(243, 240, 232, 0.72);
	font-size: 0.82rem;
}

.nw-home-claim__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.nw-home-claim__links a {
	color: #b7ff00;
	text-decoration: none;
}

.nw-home-claim__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid rgba(183, 255, 0, 0.5);
	background: rgba(12, 12, 12, 0.96);
}

.nw-home-claim__form-head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

.nw-home-claim__form-head p {
	margin: 0;
}

.nw-home-claim__field,
.nw-home-claim__quantity {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.nw-home-claim__field-label {
	color: rgba(243, 240, 232, 0.72);
	font-size: 0.78rem;
}

.nw-home-claim__field input,
.nw-home-claim__quantity-controls {
	min-height: 3rem;
	border: 1px solid rgba(243, 240, 232, 0.24);
	background: #050505;
	color: #f3f0e8;
}

.nw-home-claim__field input {
	width: 100%;
	padding: 0 0.9rem;
}

.nw-home-claim__quantity-controls {
	display: grid;
	grid-template-columns: 3rem 1fr 3rem;
	align-items: center;
}

.nw-home-claim__quantity-button {
	height: 100%;
	border: 0;
	background: transparent;
	color: #b7ff00;
	font-size: 1.35rem;
	cursor: pointer;
}

.nw-home-claim__quantity-output {
	text-align: center;
}

.nw-home-claim__submit {
	min-height: 3.2rem;
	border: 0;
	background: #b7ff00;
	color: #050505;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.nw-home-claim__form-status--error {
	color: #ff6b4a;
}

.nw-home-claim__form-status--ready {
	color: #b7ff00;
}

@media (max-width: 960px) {
	.nw-home-claim {
		padding-bottom: 3.5rem;
	}

	.wp-site-blocks > .nw-home:has(.nw-home-claim),
	.wp-site-blocks > .nw-home:has(.nw-home-claim) + .nw-site-footer {
		margin-block-start: 0;
		margin-block-end: 0;
	}

	.nw-home-claim__inner,
	.nw-home-claim__kit-card {
		grid-template-columns: 1fr;
	}

	.nw-home-claim__form-head {
		flex-direction: column;
	}
}
