.snm-passport-auth-page {
	background: #f2f2ef;
	overflow: hidden;
	position: relative;
}

.snm-passport-auth-backdrop {
	background:
		linear-gradient(90deg, transparent 0 8%, rgba(227, 6, 19, .035) 8% 8.08%, transparent 8.08% 92%, rgba(227, 6, 19, .035) 92% 92.08%, transparent 92.08%),
		linear-gradient(rgba(17, 17, 19, .025) 1px, transparent 1px);
	background-size: 100% 100%, 100% 48px;
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.snm-passport-auth-shell {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr);
	max-width: 1180px;
	padding-block: clamp(38px, 6vw, 76px);
	position: relative;
	z-index: 2;
}

.snm-passport-auth-intro {
	background: linear-gradient(150deg, #a40713 0%, #78040d 62%, #5c0007 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 690px;
	overflow: hidden;
	padding: clamp(34px, 5vw, 58px);
	position: relative;
}

.snm-passport-auth-intro::after {
	border: 1px solid rgba(246, 214, 155, .28);
	border-radius: 50%;
	bottom: -90px;
	content: "";
	height: 270px;
	position: absolute;
	right: -100px;
	width: 270px;
}

.snm-passport-auth-intro .snm-passport-eyebrow {
	color: #f1cf8c;
}

.snm-passport-auth-intro h2 {
	color: #fff;
	font-size: clamp(2.1rem, 4.2vw, 3.55rem);
	letter-spacing: -.055em;
	line-height: .98;
	margin: 26px 0 18px;
	max-width: 390px;
}

.snm-passport-auth-intro > div > p {
	color: rgba(255, 255, 255, .79);
	font-size: .98rem;
	line-height: 1.6;
	margin: 0;
	max-width: 360px;
}

.snm-passport-auth-benefits {
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 46px 0;
	padding: 0;
}

.snm-passport-auth-benefits li {
	align-items: center;
	display: flex;
	font-size: .82rem;
	font-weight: 750;
	gap: 11px;
	line-height: 1.35;
}

.snm-passport-auth-benefits li::before {
	align-items: center;
	border: 1px solid rgba(241, 207, 140, .8);
	border-radius: 50%;
	color: #f1cf8c;
	content: "✓";
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .62rem;
	font-weight: 900;
	height: 22px;
	justify-content: center;
	width: 22px;
}

.snm-passport-auth-seal {
	align-items: center;
	border: 1px solid #e8c679;
	border-radius: 50%;
	color: #f1cf8c;
	display: flex;
	flex-direction: column;
	height: 112px;
	justify-content: center;
	position: relative;
	width: 112px;
	z-index: 1;
}

.snm-passport-auth-seal span {
	font-size: 1.4rem;
	font-weight: 950;
}

.snm-passport-auth-seal small {
	font-size: .44rem;
	font-weight: 800;
	letter-spacing: .15em;
}

.snm-passport-auth-form {
	align-items: flex-start;
	background: #fff;
	display: flex;
	padding: clamp(34px, 5vw, 66px);
}

.snm-passport-auth-form > .snm-passport-auth-card {
	margin: auto;
	max-width: 610px;
	width: 100%;
}

html[data-snm-theme="dark"] .snm-passport-auth-page {
	background: #101012;
}

html[data-snm-theme="dark"] .snm-passport-auth-form {
	background: #171719;
}

@media (prefers-color-scheme: dark) {
	html[data-snm-theme="auto"] .snm-passport-auth-page {
		background: #101012;
	}

	html[data-snm-theme="auto"] .snm-passport-auth-form {
		background: #171719;
	}
}

@media (max-width: 900px) {
	.snm-passport-auth-shell {
		grid-template-columns: minmax(250px, .64fr) minmax(470px, 1.36fr);
		padding-inline: 24px;
	}

	.snm-passport-auth-intro {
		padding: 34px 28px;
	}
}

@media (max-width: 780px) {
	.snm-passport-auth-shell {
		grid-template-columns: 1fr;
		max-width: 680px;
		padding-block: 24px 48px;
	}

	.snm-passport-auth-intro {
		min-height: 0;
		padding: 28px;
	}

	.snm-passport-auth-intro h2 {
		font-size: 2.25rem;
		margin-block: 18px 12px;
		max-width: 500px;
	}

	.snm-passport-auth-benefits {
		grid-template-columns: 1fr 1fr;
		margin: 26px 0 0;
	}

	.snm-passport-auth-benefits li:last-child {
		display: none;
	}

	.snm-passport-auth-seal {
		display: none;
	}

	.snm-passport-auth-form {
		padding: 34px 28px;
	}
}

@media (max-width: 520px) {
	.snm-passport-auth-shell {
		padding-inline: 0;
	}

	.snm-passport-auth-intro {
		margin-inline: 14px;
		padding: 25px 22px;
	}

	.snm-passport-auth-intro h2 {
		font-size: 2rem;
	}

	.snm-passport-auth-benefits {
		grid-template-columns: 1fr;
	}

	.snm-passport-auth-benefits li:nth-child(2) {
		display: none;
	}

	.snm-passport-auth-form {
		padding: 30px 18px;
	}
}

/* 1.9 — premium, stable authentication shell */
.snm-passport-auth-page {
	background:
		radial-gradient(circle at 88% 7%, rgba(227, 6, 19, .07), transparent 27rem),
		radial-gradient(circle at 8% 94%, rgba(141, 4, 14, .06), transparent 29rem),
		#f1f0ec;
}

.snm-passport-auth-backdrop {
	background:
		linear-gradient(90deg, transparent 0 7.9%, rgba(17, 17, 19, .035) 8%, transparent 8.1% 91.9%, rgba(17, 17, 19, .035) 92%, transparent 92.1%),
		linear-gradient(rgba(17, 17, 19, .025) 1px, transparent 1px);
	background-size: 100% 100%, 100% 52px;
}

.snm-passport-auth-shell {
	border: 1px solid rgba(17, 17, 19, .1);
	border-radius: 26px;
	box-shadow: 0 34px 85px rgba(29, 18, 15, .15), 0 8px 22px rgba(29, 18, 15, .07);
	grid-template-columns: minmax(340px, .82fr) minmax(560px, 1.18fr);
	margin-block: clamp(34px, 5vw, 72px);
	max-width: 1240px;
	overflow: hidden;
	padding: 0;
	transform: translateZ(0);
}

.snm-passport-auth-intro {
	background:
		radial-gradient(circle at 86% 12%, rgba(255, 225, 166, .13), transparent 20rem),
		repeating-linear-gradient(135deg, transparent 0 8px, rgba(255, 255, 255, .018) 9px),
		linear-gradient(150deg, #aa0715 0%, #82040e 58%, #5b0007 100%);
	min-height: 760px;
	padding: clamp(42px, 4.5vw, 64px);
}

.snm-passport-auth-intro::before {
	border: 1px solid rgba(241, 207, 140, .22);
	content: "";
	inset: 22px;
	pointer-events: none;
	position: absolute;
}

.snm-passport-auth-intro::after {
	border-color: rgba(241, 207, 140, .32);
	bottom: -92px;
	height: 310px;
	right: -90px;
	width: 310px;
}

.snm-passport-auth-intro > * {
	position: relative;
	z-index: 1;
}

.snm-passport-auth-intro h2 {
	font-size: clamp(2.65rem, 4.2vw, 4.1rem);
	line-height: .93;
	margin: 30px 0 22px;
}

.snm-passport-auth-intro > div > p {
	font-size: 1rem;
	line-height: 1.7;
}

.snm-passport-auth-benefits {
	border-top: 1px solid rgba(255, 255, 255, .15);
	gap: 18px;
	margin: auto 0 38px;
	padding-top: 30px;
}

.snm-passport-auth-benefits li {
	font-size: .85rem;
}

.snm-passport-auth-seal {
	background: rgba(70, 0, 7, .18);
	box-shadow: inset 0 0 0 7px rgba(241, 207, 140, .045);
}

.snm-passport-auth-form {
	background: rgba(255, 255, 255, .985);
	padding: clamp(38px, 5vw, 66px) clamp(38px, 5.4vw, 72px);
}

.snm-passport-auth-form > .snm-passport-auth-card {
	max-width: 640px;
}

html[data-snm-theme="dark"] .snm-passport-auth-shell {
	border-color: rgba(255, 255, 255, .12);
	box-shadow: 0 34px 85px rgba(0, 0, 0, .45);
}

@media (prefers-color-scheme: dark) {
	html[data-snm-theme="auto"] .snm-passport-auth-page {
		background: #0e0e10;
	}

	html[data-snm-theme="auto"] .snm-passport-auth-shell {
		border-color: rgba(255, 255, 255, .12);
		box-shadow: 0 34px 85px rgba(0, 0, 0, .45);
	}
}

@media (max-width: 1080px) {
	.snm-passport-auth-shell {
		grid-template-columns: minmax(300px, .74fr) minmax(500px, 1.26fr);
		margin-block: 34px 52px;
		margin-inline: 24px;
		width: auto;
	}

	.snm-passport-auth-form {
		padding-inline: 40px;
	}
}

@media (max-width: 820px) {
	.snm-passport-auth-shell {
		border-radius: 20px;
		grid-template-columns: 1fr;
		margin-block: 24px 42px;
		margin-inline: 18px;
		max-width: 690px;
	}

	.snm-passport-auth-intro {
		min-height: 0;
		padding: 38px 36px;
	}

	.snm-passport-auth-intro h2 {
		font-size: clamp(2.25rem, 8vw, 3.2rem);
		margin: 20px 0 14px;
		max-width: 590px;
	}

	.snm-passport-auth-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 28px 0 0;
		padding-top: 24px;
	}

	.snm-passport-auth-form {
		padding: 44px 36px 48px;
	}
}

@media (max-width: 560px) {
	.snm-passport-auth-page {
		background: #f3f2ee;
	}

	.snm-passport-auth-shell {
		border-radius: 16px;
		margin-block: 16px 32px;
		margin-inline: 12px;
	}

	.snm-passport-auth-intro {
		margin: 0;
		padding: 30px 26px;
	}

	.snm-passport-auth-intro::before {
		inset: 12px;
	}

	.snm-passport-auth-intro h2 {
		font-size: 2.35rem;
	}

	.snm-passport-auth-benefits {
		display: none;
	}

	.snm-passport-auth-form {
		padding: 34px 20px 38px;
	}
}
