/* Customer authentication · serious, explicit and responsive. */
.cp-auth-page {
	background: #eef3f2 !important;
	color: #10243d;
	min-height: 100dvh;
	overflow-x: hidden;
}

.cp-auth-page,
.cp-auth-page * {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.cp-auth-page::-webkit-scrollbar,
.cp-auth-page *::-webkit-scrollbar {
	display: none;
	height: 0;
	width: 0;
}

.cp-auth-page:not(#cp-auth-v14):not(#cp-auth-v14-2) :is(h1, h2, h3, strong, b, button, a) {
	font-weight: 600 !important;
}

.cp-auth-page .cp-auth-shell {
	align-items: center;
	background: radial-gradient(circle at 8% 12%, rgba(19, 169, 141, .1), transparent 32rem), #eef3f2 !important;
	display: grid;
	justify-items: center;
	min-height: 100dvh;
	padding: 24px !important;
	width: 100%;
}

.cp-auth-page .cp-auth-shell::before,
.cp-auth-page .cp-auth-shell::after {
	display: none !important;
}

.cp-auth-page .cp-auth-app {
	background: #fff;
	border: 1px solid rgba(11, 32, 55, .08);
	border-radius: 28px;
	box-shadow: 0 24px 72px rgba(11, 32, 55, .12);
	display: grid !important;
	grid-template-columns: minmax(0, 1.16fr) minmax(430px, .84fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	align-items: stretch !important;
	margin: 0 !important;
	max-width: 1180px !important;
	min-height: min(760px, calc(100dvh - 48px));
	overflow: hidden;
	padding: 0 !important;
	width: 100% !important;
}

.cp-auth-page .cp-auth-story {
	background-color: #071d2b;
	background-image: linear-gradient(180deg, rgba(4, 22, 35, .18), rgba(4, 22, 35, .9)), url('/images/profile-passport-hero.jpg');
	background-position: 58% center;
	background-size: cover;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	padding: 38px 42px 36px;
	position: relative;
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.cp-auth-page .cp-auth-story-brand {
	align-items: center;
	align-self: flex-start;
	background: rgba(255, 255, 255, .96);
	border-radius: 12px;
	display: flex;
	min-height: 50px;
	padding: 10px 15px;
}

.cp-auth-page .cp-auth-story-brand img {
	display: block;
	height: auto;
	width: 205px;
}

.cp-auth-page .cp-auth-story-copy {
	max-width: 570px;
	padding: 72px 0 26px;
}

.cp-auth-page .cp-auth-eyebrow {
	color: #0b8f79;
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.cp-auth-page .cp-auth-story .cp-auth-eyebrow {
	color: #78e0ca;
}

.cp-auth-page .cp-auth-story h2 {
	color: #fff !important;
	font-size: clamp(2.6rem, 4.6vw, 4.4rem) !important;
	font-weight: 600 !important;
	letter-spacing: -.05em;
	line-height: .98;
	margin: 0;
	max-width: 610px;
}

.cp-auth-page .cp-auth-story-copy > p {
	color: rgba(235, 247, 248, .82);
	font-size: 16px;
	line-height: 1.6;
	margin: 22px 0 0;
	max-width: 510px;
}

.cp-auth-page .cp-auth-story ul {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.cp-auth-page .cp-auth-story li {
	align-items: center;
	color: #f5fbfb;
	display: flex;
	font-size: 14px;
	gap: 10px;
	line-height: 1.35;
}

.cp-auth-page .cp-auth-story li i {
	align-items: center;
	background: rgba(103, 221, 200, .16);
	border: 1px solid rgba(103, 221, 200, .3);
	border-radius: 999px;
	color: #79e3ce;
	display: flex;
	flex: 0 0 auto;
	height: 26px;
	justify-content: center;
	width: 26px;
}

.cp-auth-page .cp-auth-story-trust {
	align-items: center;
	color: rgba(232, 245, 246, .72);
	display: flex;
	font-size: 12px;
	gap: 8px;
	margin: 0;
}

.cp-auth-page .cp-auth-panel {
	align-items: center;
	background: #fff !important;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	margin: 0 !important;
	max-width: none !important;
	padding: 34px clamp(32px, 4.2vw, 58px) 26px !important;
	width: auto !important;
	align-self: stretch !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
}

.cp-auth-page .cp-auth-panel-inner {
	margin: auto 0;
	max-width: 460px;
	width: 100%;
}

.cp-auth-page .cp-auth-brand-top {
	align-items: center;
	display: flex !important;
	justify-content: space-between;
	margin: 0 0 56px !important;
	min-height: 44px;
	padding: 0 !important;
}

.cp-auth-page .cp-auth-brand-top > a:first-child {
	display: none;
}

.cp-auth-page .cp-auth-brand-top img {
	display: block;
	height: auto;
	width: 205px;
}

.cp-auth-page .cp-auth-close {
	align-items: center;
	border: 1px solid #dce6e5;
	border-radius: 10px;
	color: #536673;
	display: inline-flex;
	font-size: 12px;
	gap: 7px;
	margin-left: auto;
	min-height: 40px;
	padding: 0 12px;
}

.cp-auth-page .cp-auth-close:hover {
	background: #f4f8f7;
	color: #0b7f6c;
}

.cp-auth-page .cp-auth-panel .cp-card {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.cp-auth-page .cp-auth-card-title {
	color: #10243d !important;
	font-size: clamp(2rem, 3vw, 2.65rem) !important;
	font-weight: 600 !important;
	letter-spacing: -.045em;
	line-height: 1.08;
	margin: 0 !important;
}

.cp-auth-page .cp-auth-panel .cp-muted {
	color: #61717d !important;
	font-size: 14px !important;
	line-height: 1.58 !important;
	margin: 14px 0 0 !important;
}

.cp-auth-page .cp-google-button {
	align-items: center;
	background: #0b2037 !important;
	border: 1px solid #0b2037 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #fff !important;
	display: grid !important;
	font-size: 14px !important;
	gap: 12px !important;
	grid-template-columns: 32px minmax(0, 1fr) 32px;
	justify-content: center;
	margin-top: 25px !important;
	min-height: 54px !important;
	padding: 0 13px !important;
	text-align: center;
	width: 100%;
}

.cp-auth-page .cp-google-button::after {
	content: '';
}

.cp-auth-page .cp-google-button:hover {
	background: #12324d !important;
	border-color: #12324d !important;
	transform: none !important;
}

.cp-auth-page .cp-google-mark {
	align-items: center;
	background: #fff !important;
	border-radius: 8px !important;
	display: flex;
	height: 32px !important;
	justify-content: center;
	width: 32px !important;
}

.cp-auth-page .cp-google-mark img {
	height: 17px !important;
	width: 17px !important;
}

.cp-auth-page .cp-auth-security {
	align-items: flex-start;
	color: #6b7c87;
	display: flex;
	font-size: 11px;
	gap: 8px;
	line-height: 1.5;
	margin: 11px 3px 0;
}

.cp-auth-page .cp-auth-security i {
	color: #118b75;
	margin-top: 2px;
}

.cp-auth-page .cp-auth-guest {
	border-top: 1px solid #e1e9e8;
	display: grid;
	gap: 14px;
	margin-top: 28px;
	padding-top: 24px;
}

.cp-auth-page .cp-auth-guest strong,
.cp-auth-page .cp-auth-guest span {
	display: block;
}

.cp-auth-page .cp-auth-guest strong {
	color: #1b3044;
	font-size: 13px;
}

.cp-auth-page .cp-auth-guest span {
	color: #71808a;
	font-size: 12px;
	margin-top: 4px;
}

.cp-auth-page .cp-auth-guest .cp-guest-button {
	background: #fff !important;
	border: 1px solid #cfdcda !important;
	border-radius: 11px !important;
	color: #23384a !important;
	font-size: 13px !important;
	margin: 0 !important;
	min-height: 48px !important;
	width: 100%;
}

.cp-auth-page .cp-auth-guest .cp-guest-button:hover {
	background: #f2f8f6 !important;
	border-color: #8fcfc2 !important;
	color: #087c69 !important;
}

.cp-auth-page .cp-legacy-access {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid #e5eceb !important;
	border-radius: 0 !important;
	display: block !important;
	margin-top: 20px !important;
	padding: 18px 0 0 !important;
}

.cp-auth-page .cp-legacy-access summary {
	align-items: center;
	color: #536673;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	justify-content: space-between;
	list-style: none;
	min-height: 32px;
}

.cp-auth-page .cp-legacy-access summary::-webkit-details-marker {
	display: none;
}

.cp-auth-page .cp-legacy-access summary i {
	transition: transform .18s ease;
}

.cp-auth-page .cp-legacy-access[open] summary i {
	transform: rotate(180deg);
}

.cp-auth-page .cp-legacy-access p {
	color: #6f7f89;
	font-size: 12px;
	line-height: 1.55;
	margin: 10px 0;
}

.cp-auth-page .cp-legacy-access .cp-link-btn {
	color: #087c69 !important;
	font-size: 12px;
	padding: 0 !important;
}

.cp-auth-page .cp-auth-panel-footer {
	color: #8a979f;
	font-size: 10px;
	line-height: 1.45;
	margin-top: 28px;
	max-width: 420px;
	text-align: center;
}

.cp-auth-page .cp-auth-panel .cp-alert {
	border-radius: 11px;
	font-size: 12px;
	line-height: 1.5;
	margin: 0 0 18px;
	padding: 12px 14px;
}

.cp-auth-page .cp-form {
	gap: 14px;
	margin-top: 22px;
}

.cp-auth-page .cp-field label {
	color: #283d4d;
	font-size: 12px;
	font-weight: 600;
}

.cp-auth-page .cp-field :is(input, select, textarea) {
	background: #fff !important;
	border: 1px solid #cfdcda !important;
	border-radius: 11px !important;
	box-shadow: none !important;
	font-size: 14px;
	min-height: 50px;
}

.cp-auth-page .cp-field :is(input, select, textarea):focus {
	border-color: #118d78 !important;
	box-shadow: 0 0 0 3px rgba(17, 141, 120, .14) !important;
}

.cp-auth-page .cp-form .cp-button,
.cp-auth-page .cp-auth-panel > .cp-button {
	border-radius: 11px !important;
	min-height: 50px;
}

.cp-auth-page :is(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid rgba(19, 169, 141, .3) !important;
	outline-offset: 3px !important;
}

@media (max-width: 900px) {
	.cp-auth-page .cp-auth-shell {
		padding: 18px !important;
	}

	.cp-auth-page .cp-auth-app {
		grid-template-columns: 1fr !important;
		grid-template-rows: minmax(0, 1fr) !important;
		max-width: 540px !important;
		min-height: auto;
	}

	.cp-auth-page .cp-auth-story {
		display: none;
	}

	.cp-auth-page .cp-auth-panel {
		grid-column: 1 !important;
		grid-row: 1 !important;
		min-height: min(760px, calc(100dvh - 36px));
		padding: 28px 34px 24px !important;
	}

	.cp-auth-page .cp-auth-brand-top {
		margin-bottom: 48px !important;
	}

	.cp-auth-page .cp-auth-brand-top > a:first-child {
		display: block;
	}
}

@media (max-width: 520px) {
	.cp-auth-page {
		background: #fff !important;
	}

	.cp-auth-page .cp-auth-shell {
		background: #fff !important;
		padding: 0 !important;
	}

	.cp-auth-page .cp-auth-app {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		min-height: 100dvh;
	}

	.cp-auth-page .cp-auth-panel {
		justify-content: flex-start;
		min-height: 100dvh;
		padding: 22px 20px 18px !important;
	}

	.cp-auth-page .cp-auth-panel-inner {
		margin: 0;
	}

	.cp-auth-page .cp-auth-brand-top {
		margin-bottom: clamp(42px, 10vh, 76px) !important;
	}

	.cp-auth-page .cp-auth-brand-top img {
		width: 185px;
	}

	.cp-auth-page .cp-auth-close {
		border-radius: 999px;
		height: 42px;
		justify-content: center;
		padding: 0 12px;
		width: auto;
	}

	.cp-auth-page .cp-auth-card-title {
		font-size: clamp(1.9rem, 9vw, 2.25rem) !important;
	}

	.cp-auth-page .cp-auth-panel .cp-muted {
		font-size: 13px !important;
	}

	.cp-auth-page .cp-auth-panel-footer {
		margin-top: auto;
		padding-top: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cp-auth-page *,
	.cp-auth-page *::before,
	.cp-auth-page *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
