/* Altior intake form — matches the mockup's underline inputs on dark. */
.alt-intake {
	--ai-text: #f4f1ea;
	--ai-muted: rgba(244, 241, 234, 0.5);
	--ai-line: rgba(244, 241, 234, 0.25);
	--ai-accent: #d9c4a0;
	--ai-accent-2: #c9a06a;
	--ai-error: #f2a08a;

	display: flex;
	flex-direction: column;
	gap: 22px;
	border: 1px solid rgba(244, 241, 234, 0.14);
	border-radius: 4px;
	padding: 36px;
	color: var(--ai-text);
	font-family: Manrope, sans-serif;
}

.alt-intake__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 18px;
}

.alt-intake__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

.alt-intake__field > label,
.alt-intake__guardian legend {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ai-muted);
}
.alt-intake__req { color: var(--ai-accent); }

.alt-intake input[type="text"],
.alt-intake input[type="email"],
.alt-intake input[type="tel"],
.alt-intake input[type="url"],
.alt-intake input[type="date"],
.alt-intake select,
.alt-intake textarea {
	width: 100%;
	box-sizing: border-box;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--ai-line);
	border-radius: 0;
	color: var(--ai-text);
	font-family: inherit;
	font-size: 16px; /* 16px stops iPhone zooming in on focus */
	padding: 8px 0;
	outline: none;
	color-scheme: dark;
	transition: border-color 0.15s;
}
.alt-intake select { -webkit-appearance: none; appearance: none; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, #d9c4a0 50%), linear-gradient(135deg, #d9c4a0 50%, transparent 50%);
	background-position: calc(100% - 10px) 55%, calc(100% - 5px) 55%;
	background-size: 5px 5px; background-repeat: no-repeat; padding-right: 20px; }
.alt-intake select option { background: #131313; color: #f4f1ea; }
.alt-intake textarea { resize: vertical; min-height: 72px; line-height: 1.6; }
.alt-intake ::placeholder { color: rgba(244, 241, 234, 0.3); }

.alt-intake input:focus,
.alt-intake select:focus,
.alt-intake textarea:focus { border-bottom-color: var(--ai-accent); }
.alt-intake input:focus-visible,
.alt-intake select:focus-visible,
.alt-intake textarea:focus-visible,
.alt-intake__submit:focus-visible,
.alt-intake__check input:focus-visible { outline: 2px solid var(--ai-accent); outline-offset: 3px; }

.alt-intake__field.has-error input,
.alt-intake__field.has-error select,
.alt-intake__field.has-error textarea { border-bottom-color: var(--ai-error); }
.alt-intake__error { font-size: 12px; color: var(--ai-error); }

.alt-intake__alert {
	font-size: 14px;
	color: var(--ai-error);
	border: 1px solid rgba(242, 160, 138, 0.4);
	border-radius: 2px;
	padding: 12px 14px;
}

.alt-intake__guardian { border: 0; margin: 0; padding: 0; min-width: 0; }
.alt-intake__guardian legend { padding: 0; margin-bottom: 14px; }
.alt-intake__guardian[hidden],
.alt-intake [data-altior-grad][hidden] { display: none; }

.alt-intake__check label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(244, 241, 234, 0.7);
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}
.alt-intake__check input { width: 18px; height: 18px; margin-top: 2px; accent-color: #d9c4a0; flex: none; }
.alt-intake__check a { color: var(--ai-accent); }

.alt-intake__submit {
	align-self: flex-start;
	min-height: 48px;
	background: var(--ai-accent);
	color: #131313;
	border: none;
	font-family: inherit;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 15px 30px;
	border-radius: 2px;
	cursor: pointer;
	transition: background 0.15s;
}
.alt-intake__submit:hover { background: var(--ai-accent-2); }

.alt-intake__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.alt-intake--done { gap: 12px; }
.alt-intake--done p { margin: 0; font-size: 15px; line-height: 1.7; color: rgba(244, 241, 234, 0.7); }
.alt-intake__done-title { font-family: "Poiret One", sans-serif; font-size: 28px !important; color: #f4f1ea !important; }

@media (max-width: 600px) {
	.alt-intake { padding: 24px 20px; }
	.alt-intake__grid { grid-template-columns: 1fr; }
	.alt-intake__submit { align-self: stretch; }
}

/* Contact form */
.alt-contact textarea { min-height: 140px; }
.alt-contact__privacy { margin: 0; font-size: 12px; line-height: 1.6; color: var(--ai-muted); }
.alt-contact__privacy a { color: var(--ai-accent); }

/* Section headings (mirror ALTIOR's paper intake form) */
.alt-intake__section {
	margin: 10px 0 -6px;
	padding-top: 18px;
	border-top: 1px solid var(--ai-line);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ai-accent);
}
.alt-intake__section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
