.ntpc-form-panel {
	--ntpc-form-gold: #d1a74f;
	--ntpc-form-gold-soft: #f2d78e;
	--ntpc-form-ink: #0b0b0b;
	--ntpc-form-surface: #171612;
	display: grid;
	grid-template-columns: minmax(15rem, 0.72fr) minmax(18rem, 1.28fr);
	max-width: 75rem;
	margin-inline: auto;
	overflow: hidden;
	color: #f7f3e8;
	background: var(--ntpc-form-ink);
	border: 1px solid rgba(209, 167, 79, 0.45);
	border-radius: clamp(1.25rem, 3vw, 2.5rem);
	box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.06);
}

.ntpc-form-panel__intro,
.ntpc-form-panel__body {
	padding: clamp(1.35rem, 4vw, 3.25rem);
}

.ntpc-contact-panel .ntpc-form-panel {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.ntpc-contact-panel .ntpc-form-panel__intro,
.ntpc-contact-panel .ntpc-form-panel__body {
	padding: clamp(1rem, 2.5vw, 1.75rem);
}

.ntpc-form-panel__intro {
	background:
		radial-gradient(circle at 20% 10%, rgba(242, 215, 142, 0.16), transparent 17rem),
		linear-gradient(145deg, #201d16, #0d0d0c);
}

.ntpc-form-panel__eyebrow {
	margin: 0 0 0.65rem;
	color: var(--ntpc-form-gold-soft);
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ntpc-form-panel h2 {
	margin: 0 0 1rem;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.8rem);
	line-height: 0.98;
}

.ntpc-form-panel__intro p:not(.ntpc-form-panel__eyebrow) {
	color: #d5d0c5;
	line-height: 1.65;
}

.ntpc-form-phone {
	display: inline-flex;
	align-items: center;
	min-height: 2.8rem;
	margin-top: 1rem;
	padding: 0.65rem 1rem;
	color: #fff;
	text-decoration: none;
	border: 1px solid var(--ntpc-form-gold);
	border-radius: 999px;
}

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

.ntpc-form-grid p {
	margin: 0;
}

.ntpc-form-grid__wide {
	grid-column: 1 / -1;
}

.ntpc-form label:not(.ntpc-form-consent) {
	display: block;
	margin-bottom: 0.35rem;
	color: #e8e1d4;
	font-size: 0.9rem;
	font-weight: 650;
}

.ntpc-form input:not([type="checkbox"]),
.ntpc-form select,
.ntpc-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.9rem;
	color: #fff;
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(242, 215, 142, 0.3);
	border-radius: 0.75rem;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.ntpc-form textarea {
	min-height: 7rem;
	resize: vertical;
}

.ntpc-form input:focus,
.ntpc-form select:focus,
.ntpc-form textarea:focus,
.ntpc-form button:focus-visible,
.ntpc-form-phone:focus-visible {
	border-color: var(--ntpc-form-gold-soft);
	outline: 2px solid var(--ntpc-form-gold-soft);
	outline-offset: 3px;
}

.ntpc-form-consent {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	margin: 1.25rem 0;
	color: #d5d0c5;
	font-size: 0.88rem;
	line-height: 1.45;
}

.ntpc-form-consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.12rem;
	accent-color: var(--ntpc-form-gold);
}

.ntpc-form-submit {
	min-height: 3.2rem;
	padding: 0.75rem 1.35rem;
	color: #171106;
	font: inherit;
	font-weight: 780;
	background: linear-gradient(135deg, #a97823, var(--ntpc-form-gold-soft) 50%, #b98229);
	border: 1px solid #e8c974;
	border-radius: 999px;
	box-shadow: 0 0.75rem 2rem rgba(209, 167, 79, 0.2), inset 0 1px rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.ntpc-form-submit:hover {
	box-shadow: 0 1rem 2.7rem rgba(209, 167, 79, 0.3), inset 0 1px rgba(255, 255, 255, 0.55);
	transform: translateY(-2px);
}

.ntpc-form-notice {
	margin-bottom: 1rem;
	padding: 0.8rem 1rem;
	border-radius: 0.7rem;
}

.ntpc-form-notice--success {
	color: #efffe9;
	background: rgba(75, 143, 61, 0.22);
	border: 1px solid rgba(140, 212, 126, 0.5);
}

.ntpc-form-notice--error {
	color: #fff2ed;
	background: rgba(180, 61, 35, 0.2);
	border: 1px solid rgba(235, 126, 99, 0.5);
}

.ntpc-form-trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.ntpc-form-contact-hint {
	margin: 0.75rem 0 0;
	color: #aaa397;
	font-size: 0.82rem;
}

.ntpc-form-privacy {
	margin: -0.5rem 0 1.25rem;
	color: #aaa397;
	font-size: 0.78rem;
	line-height: 1.45;
}

.ntpc-form-privacy a {
	color: var(--ntpc-form-gold-soft);
}

.ntpc-form-editor {
	padding: 2rem;
	color: #f8f3e8;
	background: linear-gradient(135deg, #1d1b16, #0b0b0a);
	border: 1px solid #d1a74f;
	border-radius: 1rem;
}

.ntpc-form-editor strong {
	display: block;
	margin-top: 0.5rem;
	font-size: 1.15rem;
}

@media (max-width: 48rem) {
	.ntpc-form-panel,
	.ntpc-form-grid {
		grid-template-columns: 1fr;
	}

	.ntpc-form-grid__wide {
		grid-column: auto;
	}

	.ntpc-form-submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ntpc-form-submit {
		transition: none;
	}

	.ntpc-form-submit:hover {
		transform: none;
	}
}

@media (forced-colors: active) {
	.ntpc-form-panel,
	.ntpc-form input,
	.ntpc-form select,
	.ntpc-form textarea,
	.ntpc-form-submit {
		border: 1px solid CanvasText;
	}
}
