.hb-native-form-section {
	background: var(--hb-color-warm-background);
}

.hb-native-form-section__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: start;
	gap: 4rem;
	padding-block: var(--hb-space-section);
}

.hb-native-form-section__copy,
.hb-native-form__panel,
.hb-native-form__field {
	min-width: 0;
}

.hb-native-form__eyebrow {
	margin: 0 0 .8rem;
	color: var(--hb-color-accent-text);
	font-size: var(--hb-type-caption);
	font-weight: 750;
	text-transform: uppercase;
}

.hb-native-form-section__copy h2 {
	max-width: 18ch;
	margin: 0;
	color: var(--hb-color-heading);
	font-family: var(--hb-font-display);
	font-size: var(--hb-type-h2);
	font-weight: 600;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.hb-native-form-section__copy > p:last-child {
	max-width: 36rem;
	margin: 1rem 0 0;
	line-height: 1.75;
}

.hb-native-form__panel {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: var(--hb-border);
	border-top: var(--hb-border);
	border-radius: var(--hb-radius-md);
	background: var(--hb-color-background);
	box-shadow: 0 1.875rem 3.75rem -2.5rem rgba(15, 42, 36, .4);
}

.hb-native-form {
	display: grid;
	gap: 1rem;
}

.hb-native-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.hb-native-form__field {
	display: grid;
	gap: .4rem;
}

.hb-native-form__field label,
.hb-native-form__selection span {
	color: var(--hb-color-heading);
	font-size: .8rem;
	font-weight: 650;
}

.hb-native-form input[type="text"],
.hb-native-form input[type="tel"],
.hb-native-form input[type="email"],
.hb-native-form select,
.hb-native-form textarea {
	width: 100%;
	min-width: 0;
	min-height: var(--hb-control-height);
	padding: .7rem .8rem;
	border: var(--hb-border);
	border-radius: var(--hb-radius-xs);
	background: var(--hb-color-surface);
	color: var(--hb-color-heading);
	font: inherit;
}

.hb-native-form textarea {
	min-height: 7.5rem;
	line-height: 1.55;
	resize: vertical;
}

.hb-native-form input:focus-visible,
.hb-native-form select:focus-visible,
.hb-native-form textarea:focus-visible,
.hb-native-form input[type="checkbox"]:focus-visible {
	outline: var(--hb-focus-ring);
	outline-offset: .15rem;
	border-color: var(--hb-color-gold);
}

.hb-native-form [aria-invalid="true"] {
	border-color: #8a2c1f;
	box-shadow: 0 0 0 .1rem color-mix(in srgb, #8a2c1f 28%, transparent);
}

.hb-native-form__selection {
	display: flex;
	min-width: 0;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem;
	border-left: .2rem solid var(--hb-color-gold);
	background: var(--hb-color-surface-soft);
}

.hb-native-form__selection strong {
	min-width: 0;
	color: var(--hb-color-heading);
	font-size: .9rem;
	text-align: right;
	overflow-wrap: anywhere;
}

.hb-native-form__help {
	margin: 0;
	color: var(--hb-color-muted);
	font-size: .75rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.hb-native-form__consent {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	align-items: start;
	gap: .65rem;
}

.hb-native-form__consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin: .2rem 0 0;
	accent-color: var(--hb-color-primary-green);
}

.hb-native-form__consent label {
	font-size: .8rem;
	line-height: 1.55;
}

.hb-native-form__consent a {
	font-weight: 650;
	text-underline-offset: .18rem;
}

.hb-native-form__submit {
	width: 100%;
	min-height: var(--hb-button-height);
	justify-content: center;
	white-space: normal;
}

.hb-native-form__trust {
	min-height: 4.1rem;
	overflow-x: auto;
}

.hb-native-form__trust .cf-turnstile {
	width: max-content;
	max-width: 100%;
}

.hb-native-form__honeypot {
	width: 1px;
	height: 1px;
	position: absolute;
	left: -10000px;
	overflow: hidden;
}

.hb-native-form-result {
	padding: 1rem;
	border-left: .25rem solid currentColor;
	border-radius: var(--hb-radius-xs);
}

.hb-native-form-result h3,
.hb-native-form-result p {
	margin: 0;
}

.hb-native-form-result p + p,
.hb-native-form-result h3 + p {
	margin-top: .45rem;
}

.hb-native-form-result--error {
	margin-bottom: 1rem;
	background: var(--hb-color-error-surface);
	color: var(--hb-color-error);
}

.hb-native-form-result--success {
	background: var(--hb-color-success-surface);
	color: var(--hb-color-success);
}

.hb-native-form-result--success h3 {
	font-family: var(--hb-font-display);
	font-size: 1.75rem;
}

.hb-native-form-admin-notice {
	width: min(100% - 2rem, 77.5rem);
	margin: 1rem auto;
	padding: .8rem 1rem;
	border-left: .25rem solid #b58b4c;
	background: var(--hb-color-warning-surface);
	color: var(--hb-color-warning);
}

@media (max-width: 60rem) {
	.hb-native-form-section__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
		padding-block: 4rem;
	}
}

@media (max-width: 40rem) {
	.hb-native-form-section__inner {
		padding-block: 3.25rem;
	}

	.hb-native-form-section__copy h2 {
		max-width: 100%;
		font-size: 2rem;
	}

	.hb-native-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hb-native-form__panel {
		padding: 1.1rem;
	}

	.hb-native-form__selection {
		align-items: flex-start;
		flex-direction: column;
	}

	.hb-native-form__selection strong {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hb-native-form *,
	.hb-native-form-result {
		transition: none;
	}
}
