.pricing-page {
	background: #fff;
}

.pricing-hero {
	padding: 76px 0 116px;
	border-bottom: 1px solid #dce5f1;
	background:
		radial-gradient(circle at 82% 18%, rgba(39, 102, 223, .12), transparent 26%),
		linear-gradient(135deg, #f9fbfe 0%, #f2f6fc 54%, #eef4ff 100%);
	color: var(--mm-ink);
	text-align: center;
}

.pricing-hero .eyebrow {
	color: var(--mm-blue);
}

.pricing-hero h1 {
	max-width: 850px;
	margin: 0 auto;
	font: 500 clamp(44px, 5vw, 68px)/1.04 Georgia, serif;
	letter-spacing: -.045em;
}

.pricing-hero__inner > p:not(.eyebrow) {
	max-width: 720px;
	margin: 22px auto 0;
	color: #53657d;
	font-size: 17px;
	line-height: 1.7;
}

.pricing-terms {
	display: flex;
	width: max-content;
	max-width: 100%;
	margin: 29px auto 0;
	align-items: center;
	justify-content: center;
	gap: 0;
	border: 1px solid #d6e1ef;
	border-radius: 999px;
	background: rgba(255, 255, 255, .84);
	box-shadow: 0 8px 25px rgba(15, 43, 79, .05);
}

.pricing-terms span {
	position: relative;
	padding: 10px 18px;
	color: #40546f;
	font-size: 11px;
	font-weight: 750;
}

.pricing-terms span + span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #8da0b8;
	content: '';
	transform: translate(-50%, -50%);
}

.pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: -65px;
}

.pricing-card {
	position: relative;
	display: flex;
	min-height: 610px;
	flex-direction: column;
	padding: 34px 32px 27px;
	border: 1px solid #d7e1ee;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(12, 38, 73, .09);
}

.pricing-card--plus {
	border-color: #2a63d8;
	box-shadow: 0 22px 56px rgba(27, 82, 184, .14);
}

.pricing-card--plus::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 13px 13px 0 0;
	background: linear-gradient(90deg, #1e55c9, #3d7cf0);
	content: '';
}

.plan-popular {
	position: absolute;
	top: -13px;
	right: 24px;
	padding: 7px 13px;
	border-radius: 999px;
	background: #1855ce;
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pricing-card__header {
	min-height: 155px;
	padding-bottom: 22px;
	border-bottom: 1px solid #e4eaf2;
}

.pricing-card__fit {
	margin: 0 0 10px;
	color: var(--mm-blue);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pricing-card__header h2 {
	margin: 0;
	font: 600 34px/1.1 Georgia, serif;
	letter-spacing: -.025em;
}

.pricing-card__header > p:last-child {
	margin: 12px 0 0;
	color: #5b6b80;
	font-size: 13px;
	line-height: 1.6;
}

.pricing-card__price {
	display: grid;
	grid-template-columns: auto auto 1fr;
	min-height: 96px;
	align-items: center;
	padding: 19px 0 15px;
}

.pricing-card__price > span {
	align-self: start;
	margin-top: 10px;
	font: 600 18px Georgia, serif;
}

.pricing-card__price strong {
	font: 650 50px/1 Georgia, serif;
	letter-spacing: -.045em;
}

.pricing-card__price small {
	align-self: end;
	margin: 0 0 7px 9px;
	color: #6f7e91;
	font-size: 10px;
	font-weight: 650;
}

.pricing-card__price--unavailable {
	grid-template-columns: 1fr;
	align-content: center;
	gap: 5px;
}

.pricing-card__price--unavailable strong {
	font: 600 30px/1.1 Georgia, serif;
	letter-spacing: -.025em;
	white-space: nowrap;
}

.pricing-card__price--unavailable small {
	align-self: start;
	margin: 0;
	font-size: 11px;
	line-height: 1.4;
}

.pricing-card ul {
	display: grid;
	gap: 13px;
	margin: 3px 0 18px;
	padding: 0;
	list-style: none;
}

.pricing-card li {
	position: relative;
	padding-left: 25px;
	color: #243a56;
	font-size: 13px;
	line-height: 1.45;
}

.pricing-card li::before {
	position: absolute;
	top: 1px;
	left: 0;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border-radius: 50%;
	background: #e9f6f1;
	color: #168262;
	content: '✓';
	font-size: 10px;
	font-weight: 900;
}

.pricing-card > p.pricing-card__allowance {
	min-height: 0;
	margin: auto 0 20px;
	padding: 13px 14px;
	border-left: 3px solid #8aa8dc;
	background: #f6f8fc;
	color: #4a5d76;
	font-size: 10px;
	font-weight: 650;
	line-height: 1.55;
}

.pricing-card > .button {
	width: 100%;
	min-height: 48px;
}

.pricing-card__note {
	margin-top: 10px;
	color: #7b899b;
	font-size: 9px;
	text-align: center;
}

.pricing-card.is-current {
	box-shadow: 0 0 0 3px rgba(38, 99, 223, .14), 0 18px 48px rgba(12, 38, 73, .09);
}

.pricing-card.is-current > .button {
	border-color: #bdc9d8;
	background: #eef2f7;
	color: #68778a;
}

.membership-status {
	min-height: 0;
	margin-block: 24px 0;
	padding: 13px 18px;
	border-radius: 7px;
	text-align: center;
}

.membership-status:empty { padding: 0; }
.membership-status.is-success { border: 1px solid #bfe8d9; background: #effaf6; color: #147d5a; }
.membership-status.is-error { border: 1px solid #f2c9c9; background: #fff4f4; color: var(--mm-red); }

.pricing-tax-note {
	margin-top: 24px;
	color: #778598;
	font-size: 10px;
	text-align: center;
}

.membership-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-top: 48px;
	padding-block: 36px;
	border-top: 1px solid #dfe6ef;
	border-bottom: 1px solid #dfe6ef;
}

.membership-trust > div {
	position: relative;
	padding: 0 35px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.membership-trust > div:first-child { padding-left: 0; }
.membership-trust > div:last-child { padding-right: 0; }
.membership-trust > div + div { border-left: 1px solid #dfe6ef; }
.membership-trust strong,
.membership-trust span { display: block; }

.membership-trust__number {
	margin-bottom: 12px;
	color: var(--mm-blue) !important;
	font-size: 9px !important;
	font-weight: 800;
	letter-spacing: .12em;
}

.membership-trust strong {
	margin-bottom: 8px;
	font: 600 18px/1.25 Georgia, serif;
}

.membership-trust span:last-child {
	color: #637287;
	font-size: 11px;
	line-height: 1.65;
}

.pricing-comparison {
	padding-block: 82px 76px;
}

.pricing-comparison > header {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
	gap: 70px;
	align-items: end;
	margin-bottom: 31px;
}

.pricing-comparison h2 {
	max-width: 650px;
	margin: 0;
	font: 500 39px/1.15 Georgia, serif;
	letter-spacing: -.025em;
}

.pricing-comparison > header > p {
	margin: 0;
	color: #637287;
	font-size: 13px;
	line-height: 1.7;
}

.pricing-table-wrap {
	overflow-x: auto;
	border-top: 2px solid #173c76;
	border-bottom: 1px solid #dce4ee;
}

.pricing-table {
	width: 100%;
	min-width: 690px;
	border-collapse: collapse;
}

.pricing-table th,
.pricing-table td {
	padding: 16px 19px;
	border-bottom: 1px solid #e3e9f1;
	color: #344960;
	font-size: 12px;
	text-align: center;
}

.pricing-table thead th {
	padding-block: 18px;
	color: #102a4b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.pricing-table th:first-child {
	width: 43%;
	padding-left: 0;
	font-weight: 700;
	text-align: left;
}

.pricing-table .is-recommended {
	background: #f1f6ff;
	color: #164da9;
	font-weight: 750;
}

.pricing-table tbody tr:last-child th,
.pricing-table tbody tr:last-child td { border-bottom: 0; }

.pricing-faq {
	display: grid;
	max-width: var(--mm-container);
	grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
	gap: 85px;
	padding-top: 70px;
	padding-bottom: 88px;
	border-top: 1px solid #dfe6ef;
}

.pricing-faq h2 {
	margin: 0;
	font: 500 38px/1.14 Georgia, serif;
	letter-spacing: -.025em;
}

.pricing-faq__intro > p:last-child {
	margin-top: 16px;
	color: #68778a;
	font-size: 13px;
	line-height: 1.65;
}

.pricing-faq details {
	padding: 20px 0;
	border-top: 1px solid #dfe6ef;
}

.pricing-faq details:last-child { border-bottom: 1px solid #dfe6ef; }

.pricing-faq summary {
	position: relative;
	padding-right: 32px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 750;
	list-style: none;
}

.pricing-faq summary::-webkit-details-marker { display: none; }
.pricing-faq summary::after {
	position: absolute;
	top: -2px;
	right: 2px;
	color: var(--mm-blue);
	content: '+';
	font: 400 22px/1 Arial, sans-serif;
}
.pricing-faq details[open] summary::after { content: '−'; }

.pricing-faq details p {
	max-width: 680px;
	margin: 13px 0 0;
	color: #647489;
	font-size: 12px;
	line-height: 1.75;
}

@media (max-width: 980px) {
	.pricing-grid { max-width: 680px; grid-template-columns: 1fr; gap: 18px; }
	.pricing-card { min-height: 0; }
	.pricing-card__header { min-height: 0; }
	.pricing-card__allowance { margin-top: 5px; }
	.membership-trust { grid-template-columns: 1fr; }
	.membership-trust > div { padding: 25px 0; }
	.membership-trust > div + div { border-top: 1px solid #dfe6ef; border-left: 0; }
	.pricing-comparison > header,
	.pricing-faq { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 620px) {
	.pricing-hero { padding: 58px 0 98px; }
	.pricing-hero h1 { font-size: 43px; }
	.pricing-hero__inner > p:not(.eyebrow) { font-size: 15px; }
	.pricing-terms { width: 100%; flex-direction: column; border-radius: 12px; }
	.pricing-terms span { width: 100%; padding: 8px 12px; }
	.pricing-terms span + span::before { top: 0; left: 50%; }
	.pricing-grid { margin-top: -55px; }
	.pricing-card { padding: 30px 23px 24px; }
	.pricing-card__price--unavailable strong { font-size: 28px; }
	.pricing-comparison { padding-block: 65px; }
	.pricing-comparison h2,
	.pricing-faq h2 { font-size: 32px; }
	.pricing-faq { padding-top: 55px; padding-bottom: 70px; }
}
