/* Registration page: three-step form. */

.signup { padding: 56px var(--gutter) 80px; }

.signup__inner {
	max-width: 720px;
	margin: 0 auto;
}

.progress {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 28px;
}

.progress__bar {
	flex: 1;
	height: 6px;
	overflow: hidden;
	border-radius: var(--radius-pill);
	background: var(--cream-300);
}

.progress__fill {
	width: 33.333%;
	height: 100%;
	border-radius: var(--radius-pill);
	background: var(--brand);
	transition: width var(--dur-base) var(--ease-out);
}

.signup__card {
	padding: 40px;
	box-shadow: var(--shadow-md);
}

.signup__title {
	margin-bottom: 10px;
	font-weight: 800;
	font-size: 2.25rem;
}

.signup__lead {
	margin-bottom: 28px;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--text-secondary);
}

.signup__fields {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.signup__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 24px;
}

.signup__label {
	display: block;
	margin-bottom: 10px;
}

.signup__photo-row {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 22px;
	align-items: start;
}

.signup__dropzone {
	aspect-ratio: 1;
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--ink-900);
}
.signup__dropzone i {
	font-size: 30px;
	color: var(--brand);
}

.signup__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--border-subtle);
}

@media (max-width: 759px) {
	.signup { padding-top: 32px; }
	.signup__card { padding: 28px 22px; }
	.signup__title { font-size: 1.875rem; }
	.signup__photo-row { grid-template-columns: 1fr; }
	.signup__dropzone { max-width: 180px; }
}

@media (max-width: 479px) {
	.signup__grid { grid-template-columns: 1fr; }
}
