.utc-membership-registration,
.utc-membership-registration .main,
.utc-membership-main {
	background: #f4f7fa;
	color: #102c43;
}

.utc-membership-main {
	min-height: 70vh;
	padding-bottom: 72px;
}

.utc-membership-shell {
	box-sizing: border-box;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
	width: 1170px;
	max-width: 100%;
}

.utc-membership-hero {
	background: linear-gradient(115deg, #082844 0%, #0b3659 62%, #147790 100%);
	color: #fff;
	padding: 70px 0 74px;
}

.utc-membership-hero p,
.utc-membership-intro > p {
	color: #46e6c6;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .18em;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.utc-membership-hero h1 {
	color: #fff;
	font-size: clamp(44px, 6vw, 76px);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: .98;
	margin: 0 0 22px;
}

.utc-membership-hero span {
	display: block;
	font-size: 20px;
	line-height: 1.55;
	max-width: 820px;
}

.utc-membership-content {
	padding-top: 58px;
}

.utc-membership-intro {
	max-width: 820px;
	margin-bottom: 34px;
}

.utc-membership-intro h2 {
	color: #102c43;
	font-size: clamp(32px, 4vw, 50px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 0 0 16px;
}

.utc-membership-intro > span {
	color: #627a8d;
	display: block;
	font-size: 17px;
	line-height: 1.65;
}

.utc-membership-notice,
.utc-membership-account {
	background: #e8f6fb;
	border: 1px solid #b9dcea;
	border-left: 4px solid #1388bd;
	border-radius: 10px;
	margin: 0 0 28px;
	padding: 16px 20px;
}

.utc-membership-notice p,
.utc-membership-account p {
	margin: 3px 0;
}

.utc-membership-form {
	background: #fff;
	border: 1px solid #d9e4eb;
	border-radius: 16px;
	box-shadow: 0 18px 45px rgba(10, 44, 69, .08);
	padding: 34px;
}

.utc-membership-honeypot {
	height: 0;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	width: 0;
}

.utc-membership-plans {
	border: 0;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 34px;
	padding: 0;
}

.utc-membership-plans legend {
	color: #102c43;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .1em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.utc-membership-plan {
	background: #f8fafc;
	border: 2px solid #dce6ec;
	border-radius: 14px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 24px;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.utc-membership-plan:hover,
.utc-membership-plan:has(input:checked) {
	border-color: #1388bd;
	box-shadow: 0 12px 28px rgba(19, 136, 189, .13);
	transform: translateY(-2px);
}

.utc-membership-plan.is-featured {
	background: linear-gradient(180deg, #edfaff 0%, #f8fcfd 100%);
}

.utc-membership-plan input {
	accent-color: #1388bd;
	position: absolute;
	right: 20px;
	top: 20px;
}

.utc-membership-plan__eyebrow {
	color: #1388bd;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .16em;
	margin-bottom: 18px;
}

.utc-membership-plan strong {
	color: #102c43;
	font-size: 42px;
	letter-spacing: -.04em;
	line-height: 1;
}

.utc-membership-plan small {
	color: #6b8191;
	margin: 7px 0 20px;
}

.utc-membership-plan b {
	color: #102c43;
	font-size: 18px;
	margin-bottom: 10px;
}

.utc-membership-plan em {
	color: #627a8d;
	font-size: 14px;
	font-style: normal;
	line-height: 1.55;
}

.utc-membership-fields {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.utc-membership-fields label {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.utc-membership-fields label > span {
	color: #102c43;
	font-size: 14px;
	font-weight: 800;
}

.utc-membership-fields input {
	background: #fff;
	border: 1px solid #cbd9e2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #102c43;
	font: inherit;
	height: 54px;
	padding: 0 15px;
	width: 100%;
}

.utc-membership-fields input:focus {
	border-color: #1388bd;
	box-shadow: 0 0 0 3px rgba(19, 136, 189, .12);
	outline: 0;
}

.utc-membership-fields small {
	color: #738897;
	font-size: 12px;
}

.utc-membership-terms {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	line-height: 1.5;
	margin: 26px 0 22px;
}

.utc-membership-terms input {
	accent-color: #1388bd;
	margin-top: 4px;
}

.utc-membership-terms a,
.utc-membership-signin a {
	color: #0784c1;
	font-weight: 700;
}

.utc-membership-submit,
.utc-membership-upgrade-grid a {
	background: #0784c1;
	border: 0;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	padding: 16px 24px;
	text-decoration: none;
}

.utc-membership-submit:hover,
.utc-membership-upgrade-grid a:hover {
	background: #086c9d;
	color: #fff;
}

.utc-membership-signin {
	color: #6f8291;
	margin: 20px 0 0;
}

.utc-membership-upgrade-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.utc-membership-upgrade-grid article {
	background: #fff;
	border: 1px solid #d9e4eb;
	border-radius: 14px;
	box-shadow: 0 14px 35px rgba(10, 44, 69, .07);
	display: flex;
	flex-direction: column;
	min-height: 240px;
	padding: 28px;
}

.utc-membership-upgrade-grid article.is-featured {
	border-top: 5px solid #1388bd;
}

.utc-membership-upgrade-grid p {
	color: #1388bd;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .16em;
	margin: 0 0 18px;
}

.utc-membership-upgrade-grid strong {
	color: #102c43;
	font-size: 42px;
	line-height: 1;
	margin-bottom: 15px;
}

.utc-membership-upgrade-grid span {
	color: #627a8d;
	line-height: 1.55;
	margin-bottom: 24px;
}

.utc-membership-upgrade-grid small,
.utc-membership-upgrade-grid a {
	margin-top: auto;
}

.utc-membership-disclosure {
	border-top: 1px solid #d7e3ea;
	color: #6c8292;
	line-height: 1.6;
	margin-top: 42px;
	padding-top: 26px;
}

.utc-membership-disclosure strong {
	color: #102c43;
}

@media (max-width: 1199px) {
	.utc-membership-shell {
		width: 970px;
	}
}

@media (max-width: 991px) {
	.utc-membership-shell {
		width: 750px;
	}

	.utc-membership-plans,
	.utc-membership-upgrade-grid {
		grid-template-columns: 1fr;
	}

	.utc-membership-plan {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.utc-membership-hero {
		padding: 48px 0;
	}

	.utc-membership-content {
		padding-top: 38px;
	}

	.utc-membership-form {
		padding: 22px 16px;
	}

	.utc-membership-fields {
		grid-template-columns: 1fr;
	}
}
