:root {
	--wpt-bg: #f8fafc;
	--wpt-ink: #101828;
	--wpt-muted: #667085;
	--wpt-line: #d0d5dd;
	--wpt-focus: #84caff;
	--wpt-white: #ffffff;
	--wpt-radius: 14px;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color-scheme: light;
}

* { box-sizing: border-box; }

html,
body { min-height: 100%; }

body.wpt-splash-page {
	margin: 0;
	background: var(--wpt-bg);
	color: var(--wpt-ink);
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea { font: inherit; }

.wpt-splash {
	display: grid;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 48px 24px;
	place-items: start center;
}

.wpt-splash-shell {
	width: 100%;
	max-width: 660px;
	text-align: center;
}

.wpt-splash-logo {
	display: block;
	width: 132px;
	height: auto;
	margin: 0 auto 42px;
	filter: brightness(0);
}

.wpt-splash h1 {
	margin: 0;
	font-size: clamp(42px, 8vw, 72px);
	font-weight: 700;
	letter-spacing: -.05em;
	line-height: 1;
}

.wpt-splash-intro {
	max-width: 520px;
	margin: 22px auto 34px;
	color: var(--wpt-muted);
	font-size: 16px;
	line-height: 1.6;
}

.wpt-contact-form,
.wpt-form-error,
.wpt-form-success {
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
	text-align: left;
}

.wpt-contact-form {
	padding: 28px;
	border: 1px solid var(--wpt-line);
	border-radius: var(--wpt-radius);
	background: var(--wpt-white);
}

.wpt-contact-form label {
	display: block;
	margin: 0 0 7px;
	font-size: 13px;
	font-weight: 600;
}

.wpt-contact-form label span {
	color: var(--wpt-muted);
	font-weight: 400;
}

.wpt-contact-form input,
.wpt-contact-form select,
.wpt-contact-form textarea {
	display: block;
	width: 100%;
	margin: 0 0 19px;
	padding: 12px 13px;
	border: 1px solid var(--wpt-line);
	border-radius: 9px;
	background: var(--wpt-white);
	box-shadow: none;
	color: var(--wpt-ink);
}

.wpt-contact-form input,
.wpt-contact-form select { min-height: 48px; }

.wpt-contact-form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 46px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 18px;
	cursor: pointer;
	line-height: 1.2;
}

.wpt-contact-form select:invalid { color: var(--wpt-muted); }
.wpt-contact-form select option { color: var(--wpt-ink); }

.wpt-contact-form textarea {
	min-height: 116px;
	resize: vertical;
}

.wpt-contact-form input:focus,
.wpt-contact-form select:focus,
.wpt-contact-form textarea:focus {
	border-color: #1570ef;
	outline: 3px solid var(--wpt-focus);
	outline-offset: 1px;
}

.wpt-contact-form button {
	width: 100%;
	min-height: 50px;
	border: 1px solid var(--wpt-ink);
	border-radius: 9px;
	background: var(--wpt-ink);
	color: var(--wpt-white);
	font-weight: 600;
	cursor: pointer;
	transition: opacity .18s ease, transform .18s ease;
}

.wpt-contact-form button:hover { opacity: .88; }

.wpt-contact-form button:focus-visible,
.wpt-contact-form select:focus-visible {
	outline: 3px solid var(--wpt-focus);
	outline-offset: 3px;
}

.wpt-contact-form button:active { transform: translateY(1px); }

.wpt-hidden-field {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.wpt-form-error,
.wpt-form-success {
	margin-bottom: 18px;
	padding: 14px 16px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.45;
}

.wpt-form-error {
	border: 1px solid #f04438;
	background: #fff4f2;
}

.wpt-form-error ul { margin: 7px 0 0 20px; }

.wpt-form-success {
	border: 1px solid #12b76a;
	background: #ecfdf3;
	text-align: center;
}

.wpt-form-success strong,
.wpt-form-success span { display: block; }

.wpt-form-success span {
	margin-top: 2px;
	color: #027a48;
}

@media (max-width: 600px) {
	.wpt-splash { padding: 32px 16px; }
	.wpt-splash-logo { width: 116px; margin-bottom: 34px; }
	.wpt-splash h1 {
		font-size: clamp(40px, 11vw, 44px);
		letter-spacing: -.04em;
	}
	.wpt-splash h1 span,
	.wpt-splash-intro span { display: block; }
	.wpt-splash-intro {
		max-width: 350px;
		font-size: 15px;
		line-height: 1.55;
	}
	.wpt-contact-form { padding: 22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.wpt-contact-form button { transition: none; }
}
