/* PMPro marketing sections: bill pile, plan paths, ways-we-help, closing band. */
:root {
	--pms-blue: var(--wp--preset--color--dark-blue, #0c3d54);
	--pms-orange: var(--wp--preset--color--color-action, #e87102);
	--pms-green: #658b24;
	--pms-grey: #f5f8fa;
	--pms-border: #dbe6ed;
	--pms-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--pms-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

/* ---------- The pile of bills ---------- */
.pmpro-bills {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 20px;
}
.pmpro-bills__stack {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.pmpro-bills__stack li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 9px 12px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 8px;
	box-shadow: 0 6px 14px -12px rgba(12, 61, 84, 0.45);
	font-size: 15px;
	line-height: 1.3;
	color: #33424a;
	transform: rotate(calc((var(--i) - 3.5) * 0.45deg)) translateX(calc(((var(--i) * 7) - (var(--i) * var(--i))) * 1px));
}
.pmpro-bills__stack li i {
	width: 18px;
	text-align: center;
	color: #8a9aa3;
}
.pmpro-bills__arrow {
	font-size: 24px;
	color: var(--pms-orange);
}
.pmpro-bills__one {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 26px 22px;
	border-radius: 14px;
	background: var(--pms-blue);
	color: #fff;
	box-shadow: 0 22px 40px -24px rgba(12, 61, 84, 0.8);
}
.pmpro-bills__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #9fd0e6;
}
.pmpro-bills__title {
	font-family: var(--wp--preset--font-family--header, inherit);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
}
.pmpro-bills__price { font-size: 16px; opacity: 0.9; }
.pmpro-bills__price strong { font-size: 34px; line-height: 1; margin-right: 2px; }
.pmpro-bills__note { font-size: 14px; line-height: 1.45; opacity: 0.85; }

@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-bills:not(.is-inview) .pmpro-bills__stack li,
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-bills:not(.is-inview) .pmpro-bills__arrow,
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-bills:not(.is-inview) .pmpro-bills__one { opacity: 0; }
	.pmpro-bills.is-inview .pmpro-bills__stack li {
		animation: pms-drop 460ms var(--pms-ease-out) both;
		animation-delay: calc(var(--i) * 55ms);
	}
	.pmpro-bills.is-inview .pmpro-bills__arrow { animation: pms-nudge 520ms var(--pms-ease-out) 560ms both; }
	.pmpro-bills.is-inview .pmpro-bills__one { animation: pms-rise 600ms var(--pms-ease-out) 700ms both; }
}
@keyframes pms-drop {
	from { opacity: 0; transform: translateY(-14px) rotate(calc((var(--i) - 3.5) * 1.6deg)); }
}
@keyframes pms-nudge {
	from { opacity: 0; transform: translateX(-10px); }
}
@keyframes pms-rise {
	from { opacity: 0; transform: translateY(12px) scale(0.97); }
}

/* ---------- Two ways to run PMPro ---------- */
.pmpro-paths {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	max-width: 1000px;
	margin: 32px auto 0;
}
.pmpro-path {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px 30px 30px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 14px;
}
.pmpro-path--max {
	border: 2px solid var(--pms-orange);
	box-shadow: 0 24px 48px -30px rgba(232, 113, 2, 0.55);
}
.pmpro-path__badge {
	position: absolute;
	top: -13px;
	left: 30px;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--pms-orange);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.pmpro-path .pmpro-path__eyebrow {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6b7c85;
}
.pmpro-path--max .pmpro-path__eyebrow { color: var(--pms-orange); }
.pmpro-path h3.pmpro-path__name { margin: 0; font-size: 28px; line-height: 1.2; }
.pmpro-path .pmpro-path__price { margin: 0; font-size: 17px; color: #4a5a63; }
.pmpro-path__price strong { font-size: 30px; color: var(--pms-blue); }
.pmpro-path__price s { color: #8a9aa3; margin-right: 4px; }
.pmpro-path__price span { display: block; font-size: 14px; color: #6b7c85; }
.pmpro-path__list {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 9px;
	flex: 1;
}
.pmpro-path__list li {
	position: relative;
	margin: 0;
	padding-left: 28px;
	font-size: 16px;
	line-height: 1.45;
}
.pmpro-path__list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.3em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--pms-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.pmpro-path .pmpro-path__fit {
	margin: 4px 0 6px;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--pms-grey);
	font-size: 15px;
	line-height: 1.45;
}
.pmpro-path--max .pmpro-path__fit { background: #fff4ea; }
.pmpro-path > .wp-element-button { align-self: flex-start; flex: 0 0 auto; height: auto; margin-top: auto; }
.pmpro-paths__guarantee {
	max-width: 760px;
	margin: 28px auto 0;
	text-align: center;
	font-size: 16px;
	color: #4a5a63;
}
.pmpro-paths__guarantee i { color: var(--pms-green); margin-right: 4px; }

@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-paths:not(.is-inview) .pmpro-path { opacity: 0; }
	.pmpro-paths.is-inview .pmpro-path { animation: pms-rise 560ms var(--pms-ease-out) both; }
	.pmpro-paths.is-inview .pmpro-path--max { animation-delay: 110ms; }
}

/* ---------- Ways we help ---------- */
.pmpro-ways {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	max-width: 1000px;
	margin: 28px auto 8px;
}
.pmpro-way {
	padding: 24px 22px;
	border-top: 3px solid var(--pms-border);
	text-align: left;
}
.pmpro-way i { font-size: 22px; color: var(--pms-blue); }
.pmpro-way h3 { margin: 12px 0 6px; font-size: 20px; }
.pmpro-way p { margin: 0; font-size: 16px; line-height: 1.5; color: #4a5a63; }

@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-ways:not(.is-inview) .pmpro-way { opacity: 0; }
	.pmpro-ways.is-inview .pmpro-way { animation: pms-rise 480ms var(--pms-ease-out) both; }
	.pmpro-ways.is-inview .pmpro-way:nth-child(2) { animation-delay: 70ms; }
	.pmpro-ways.is-inview .pmpro-way:nth-child(3) { animation-delay: 140ms; }
}

/* ---------- Closing band ---------- */
.pmpro-closing { border-top: 1px solid #f6d9bd; }
.pmpro-closing h2 { max-width: 760px; margin-left: auto; margin-right: auto; }

/* ---------- Plan picker (pricing) ---------- */
.pmpro-fit__heading { margin: 24px 0 0; text-align: center; font-size: 24px; }
.pmpro-fit {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	position: relative;
	left: 50%;
	width: min(1080px, calc(100vw - 48px));
	max-width: none !important;
	margin: 16px 0 8px;
	transform: translateX(-50%);
}
.pmpro-fit__item {
	padding: 22px 22px 20px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 12px;
}
.pmpro-fit__item--max { border: 2px solid var(--pms-orange); }
.pmpro-fit__item h3 { margin: 0 0 4px; font-size: 20px; }
.pmpro-fit__item .pmpro-fit__who { margin: 0 0 10px; font-weight: 600; color: var(--pms-blue); }
.pmpro-fit__item p { margin: 0; font-size: 15px; line-height: 1.5; color: #4a5a63; }

/* ---------- Mobile ---------- */
@media (max-width: 820px) {
	.pmpro-bills { grid-template-columns: 1fr; }
	.pmpro-bills__arrow { justify-self: center; transform: rotate(90deg); }
	.pmpro-paths, .pmpro-ways, .pmpro-fit { grid-template-columns: 1fr; }
	.pmpro-path { padding: 28px 22px 24px; }
}
@media (max-width: 820px) and (prefers-reduced-motion: no-preference) {
	.pmpro-bills.is-inview .pmpro-bills__arrow { animation: none; }
}

/* ---------- Max Credits (hosting) ---------- */
.pmpro-credits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	max-width: 1080px;
	margin: 28px auto 36px;
}
.pmpro-credits__stat {
	padding: 26px 24px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 14px;
}
.pmpro-credits__num {
	display: block;
	font-family: var(--wp--preset--font-family--poppins, inherit);
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	color: var(--pms-orange);
	font-variant-numeric: tabular-nums;
}
.pmpro-credits__unit {
	display: block;
	margin-top: 6px;
	font-weight: 700;
	color: var(--pms-blue);
}
.pmpro-credits__stat p { margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: #4a5a63; }
@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-credits:not(.is-inview) .pmpro-credits__stat { opacity: 0; }
	.pmpro-credits.is-inview .pmpro-credits__stat { animation: pms-rise 520ms var(--pms-ease-out) both; animation-delay: calc(var(--i) * 80ms); }
}
.pmpro-checklist { list-style: none; padding-left: 0; }
.pmpro-checklist li { position: relative; padding-left: 28px; margin-bottom: 8px; }
.pmpro-checklist li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.3em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--pms-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.pmpro-pullquote {
	max-width: 780px;
	margin: 36px auto 28px;
	padding: 0 0 0 24px;
	border-left: 4px solid var(--pms-orange);
}
.pmpro-pullquote p {
	margin: 0 0 8px;
	font-family: var(--wp--preset--font-family--poppins, inherit);
	font-size: 22px;
	line-height: 1.45;
	color: var(--pms-blue);
}
.pmpro-pullquote cite { font-style: normal; font-weight: 600; color: #4a5a63; }

/* ---------- Still yours (hosting) ---------- */
.pmpro-own {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	max-width: 1180px;
	margin: 28px auto 0;
}
.pmpro-own__item {
	padding: 24px 20px;
	border: 1px solid var(--pms-border);
	border-radius: 12px;
	background: #fff;
}
.pmpro-own__item i {
	font-size: 24px;
	color: var(--pms-green);
}
.pmpro-own__item h3 { margin: 14px 0 6px; font-size: 19px; }
.pmpro-own__item p { margin: 0; font-size: 15px; line-height: 1.5; color: #4a5a63; }
@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-own:not(.is-inview) .pmpro-own__item { opacity: 0; }
	.pmpro-own.is-inview .pmpro-own__item { animation: pms-rise 480ms var(--pms-ease-out) both; animation-delay: calc(var(--i) * 70ms); }
}
.pmpro-calc-note { margin-top: 18px; font-size: 16px; opacity: 0.92; }

@media (max-width: 1000px) {
	.pmpro-own { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.pmpro-credits, .pmpro-own { grid-template-columns: 1fr; }
}

/* ---------- Charge: what members pay for + how they pay ---------- */
.pmpro-charge {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	max-width: 1180px;
	margin: 32px auto 8px;
}
.pmpro-charge__label {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6b7c85;
}
.pmpro-sell {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pmpro-sell__tile {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 12px;
	transition: transform 220ms var(--pms-ease-out), box-shadow 220ms var(--pms-ease-out), border-color 200ms ease;
}
.pmpro-sell__icon {
	flex: 0 0 44px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--c);
	color: #fff;
	font-size: 18px;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 15%, transparent);
}
.pmpro-sell__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pmpro-sell__text strong { font-size: 17px; color: var(--pms-blue); }
.pmpro-sell__text span { font-size: 14px; line-height: 1.4; color: #5b6b74; }
@media (hover: hover) and (pointer: fine) {
	.pmpro-sell__tile:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -20px rgba(12, 61, 84, 0.5); border-color: color-mix(in srgb, var(--c) 40%, var(--pms-border)); }
}
.pmpro-charge__note { margin: 14px 0 0; font-size: 14px; color: #6b7c85; }

.pmpro-lvl {
	padding: 8px 8px 16px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 16px;
	box-shadow: 0 24px 44px -32px rgba(12, 61, 84, 0.55);
}
.pmpro-lvl__head {
	padding: 10px 14px 12px;
	font-size: 13px;
	font-weight: 700;
	color: var(--pms-blue);
	border-bottom: 1px solid var(--pms-border);
}
.pmpro-lvl ul { margin: 0; padding: 0; list-style: none; }
.pmpro-lvl li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "name price" "name tag";
	align-items: center;
	gap: 4px 14px;
	margin: 0;
	padding: 14px;
	border-bottom: 1px solid #edf2f5;
}
.pmpro-lvl__name { grid-area: name; font-weight: 700; font-size: 16px; color: #22313a; }
.pmpro-lvl__name span { display: block; font-weight: 400; font-size: 14px; color: #5b6b74; }
.pmpro-lvl__price { grid-area: price; justify-self: end; font-family: var(--wp--preset--font-family--poppins, inherit); font-size: 22px; font-weight: 700; color: var(--pms-blue); }
.pmpro-lvl__price small { font-size: 13px; font-weight: 500; color: #6b7c85; }
.pmpro-lvl__tag { grid-area: tag; justify-self: end; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.pmpro-lvl__tag--free { background: #eef3f6; color: #3d4d56; }
.pmpro-lvl__tag--recurring { background: #e8f0dd; color: #46621a; }
.pmpro-lvl__tag--once { background: #e3f1f7; color: #0f5a7a; }
.pmpro-lvl__tag--trial { background: #fff4ea; color: #8a4300; }
.pmpro-lvl__caption { margin: 14px 14px 0; font-size: 14px; color: #5b6b74; }
@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-charge:not(.is-inview) .pmpro-sell__tile,
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-charge:not(.is-inview) .pmpro-lvl li { opacity: 0; }
	.pmpro-charge.is-inview .pmpro-sell__tile { animation: pms-rise 440ms var(--pms-ease-out) both; animation-delay: calc(var(--i) * 55ms); }
	.pmpro-charge.is-inview .pmpro-lvl li { animation: pms-slide 460ms var(--pms-ease-out) both; animation-delay: calc(360ms + var(--i) * 110ms); }
}
@keyframes pms-slide { from { opacity: 0; transform: translateX(14px); } }
@keyframes pms-pop { from { transform: scale(0.8); opacity: 0; } }

/* ---------- Quote cards (home testimonials + migration) ---------- */
.pmpro-quotes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	max-width: 1180px;
	margin: 32px auto 8px;
	align-items: stretch;
}
.pmpro-quotes--two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; }
.pmpro-quote {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 26px 26px 22px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 14px;
	box-shadow: 0 10px 24px -22px rgba(12, 61, 84, 0.5);
}
.pmpro-quote__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pmpro-quote__stars { color: #fcb900; font-size: 15px; letter-spacing: 2px; }
.pmpro-quote__chip {
	padding: 2px 10px;
	border-radius: 999px;
	background: #fff4ea;
	color: #8a4300;
	font-size: 12px;
	font-weight: 700;
}
.pmpro-quote blockquote { flex: 1; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.pmpro-quote blockquote::before, .pmpro-quote blockquote::after { content: none; }
.pmpro-quote blockquote p {
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
	color: #22313a;
	font-style: normal;
}
.pmpro-quote .pmpro-quote__lead { margin: 0 0 8px; font-weight: 700; font-size: 18px; color: var(--pms-blue); }
.pmpro-quote figcaption { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--pms-border); }
.pmpro-quote figcaption img, .pmpro-quote__initials {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}
.pmpro-quote__initials { display: grid; place-items: center; background: var(--pms-blue); color: #fff; font-weight: 700; }
.pmpro-quote figcaption strong { display: block; color: var(--pms-blue); }
.pmpro-quote figcaption span span { font-size: 14px; color: #5b6b74; }
@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-quotes:not(.is-inview) .pmpro-quote { opacity: 0; }
	.pmpro-quotes.is-inview .pmpro-quote { animation: pms-rise 520ms var(--pms-ease-out) both; animation-delay: calc(var(--i) * 80ms); }
}

/* ---------- Migration diagram ---------- */
.pmpro-move {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 200px;
	align-items: stretch;
	gap: 26px;
	max-width: 1180px;
	margin: 36px auto 0;
}
.pmpro-move__end {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--pms-border);
	border-radius: 14px;
	align-self: center;
}
.pmpro-move__end--to { border: 2px solid var(--pms-green); box-shadow: 0 18px 36px -26px rgba(101, 139, 36, 0.7); }
.pmpro-move__tag { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6b7c85; }
.pmpro-move__end--to .pmpro-move__tag { color: var(--pms-green); }
.pmpro-move__browser {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 72px;
	padding: 20px 10px 10px;
	border-radius: 8px;
	background: var(--pms-grey);
	border: 1px solid var(--pms-border);
}
.pmpro-move__dots { position: absolute; top: 7px; left: 9px; width: 30px; height: 6px; background: radial-gradient(circle, #b8c6ce 2.5px, transparent 3px) 0 0 / 10px 6px repeat-x; }
.pmpro-move__line { height: 8px; border-radius: 4px; background: #d3dee5; }
.pmpro-move__line--short { width: 60%; }
.pmpro-move__end--to .pmpro-move__line { background: color-mix(in srgb, var(--pms-green) 30%, #fff); }
.pmpro-move__badge {
	position: absolute;
	right: -10px;
	bottom: -10px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--pms-green);
	color: #fff;
	font-size: 14px;
	box-shadow: 0 0 0 4px #fff;
}
.pmpro-move__live {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	background: #e8f0dd;
	color: #46621a;
	font-size: 12.5px;
	font-weight: 700;
}
.pmpro-move__live i { font-size: 7px; }
.pmpro-move__live--new { background: #eef3f6; color: #4a5a63; }
.pmpro-move__endnote { margin: 0; font-size: 14px; line-height: 1.45; color: #4a5a63; }
.pmpro-move__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pmpro-move__steps::before {
	content: "";
	position: absolute;
	top: 21px;
	left: -26px;
	right: -26px;
	height: 3px;
	background: linear-gradient(90deg, #9fbf6a, var(--pms-orange) 55%, var(--pms-green));
	border-radius: 2px;
	transform-origin: left center;
}
.pmpro-move__step { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0; padding: 0; text-align: center; }
.pmpro-move__step > div { flex: 1; align-self: stretch; }
.pmpro-move__num {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--pms-blue);
	color: var(--pms-blue);
	font-weight: 700;
	font-size: 17px;
}
.pmpro-move__step--you .pmpro-move__num { border-color: var(--pms-orange); background: #fff4ea; }
.pmpro-move__step > div {
	margin-top: 12px;
	padding: 14px 12px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--pms-border);
}
.pmpro-move__step--you > div { border: 2px solid var(--pms-orange); }
.pmpro-move__step h3 { margin: 0 0 6px; font-size: 16.5px; line-height: 1.3; }
.pmpro-move__badge-you {
	display: inline-block;
	margin: 0 0 6px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--pms-orange);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.pmpro-move__step p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4a5a63; }
.pmpro-move__limits { margin: 18px auto 0; max-width: 760px; text-align: center; font-size: 14.5px; color: #5b6b74; }
@media (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-move:not(.is-inview) .pmpro-move__steps::before { transform: scaleX(0); }
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-move:not(.is-inview) .pmpro-move__step,
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-move:not(.is-inview) .pmpro-move__end--to { opacity: 0; }
	.pmpro-move.is-inview .pmpro-move__steps::before { animation: pms-draw 1100ms var(--pms-ease-in-out) 150ms both; }
	.pmpro-move.is-inview .pmpro-move__step { animation: pms-rise 460ms var(--pms-ease-out) both; animation-delay: calc(250ms + var(--i) * 220ms); }
	.pmpro-move.is-inview .pmpro-move__end--to { animation: pms-rise 560ms var(--pms-ease-out) 1250ms both; }
	.pmpro-move.is-inview .pmpro-move__badge { animation: pms-pop 380ms var(--pms-ease-out) 1650ms both; }
	.pmpro-move.is-inview .pmpro-move__live:not(.pmpro-move__live--new) i { animation: pms-pulse 1600ms ease-in-out 3; }
}
@keyframes pms-draw { from { transform: scaleX(0); } }
@keyframes pms-pulse { 50% { opacity: 0.35; } }

@media (max-width: 1000px) {
	.pmpro-charge { grid-template-columns: 1fr; gap: 28px; max-width: 640px; }
	.pmpro-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmpro-move { grid-template-columns: 1fr; max-width: 560px; }
	.pmpro-move__end { align-self: stretch; }
	.pmpro-move__steps { grid-template-columns: 1fr; gap: 16px; }
	.pmpro-move__steps::before { top: -14px; bottom: -14px; left: 21px; right: auto; width: 3px; height: auto; background: linear-gradient(180deg, #9fbf6a, var(--pms-orange) 55%, var(--pms-green)); transform-origin: center top; }
	.pmpro-move__step { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; text-align: left; align-items: start; }
	.pmpro-move__step > div { align-self: auto; }
	.pmpro-move__step > div { margin-top: 0; }
}
@media (max-width: 1000px) and (prefers-reduced-motion: no-preference) {
	html.pmpro-js:not(.pmpro-motion-failed) .pmpro-move:not(.is-inview) .pmpro-move__steps::before { transform: scaleY(0); }
	.pmpro-move.is-inview .pmpro-move__steps::before { animation-name: pms-draw-y; }
}
@keyframes pms-draw-y { from { transform: scaleY(0); } }
@media (max-width: 680px) {
	.pmpro-sell, .pmpro-quotes, .pmpro-quotes--two { grid-template-columns: 1fr; }
}

/* Sale pricing on the Max card */
#pmpro_levels .price-annual .full-price { display: block; }
#pmpro_levels .sale-note { font-size: 0.8em; line-height: 1.35; margin-top: 12px; color: #5b6b74; }

/* Migration section: time range bar and three-step layout */
.pmpro-move__range { max-width: 560px; margin: 30px auto 26px; text-align: center; }
.pmpro-move__range-track { position: relative; height: 6px; border-radius: 999px; background: linear-gradient(90deg, #9fbf6a, var(--pms-orange) 55%, var(--pms-green)); }
.pmpro-move__range-dot { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid #9fbf6a; transform: translate(-50%, -50%); }
.pmpro-move__range-dot--start { left: 0; }
.pmpro-move__range-dot--end { left: 100%; border-color: var(--pms-green); }
.pmpro-move__range-ends { display: flex; justify-content: space-between; margin-top: 10px; font-size: 14.5px; font-weight: 600; color: #2b3a44; }
.pmpro-move__range-mid { margin: 6px 0 0; font-size: 14px; color: #5b6b74; }
@media (min-width: 1001px) {
	.pmpro-move--three .pmpro-move__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Sale badge on the Max 2x card, matching the Max card pill */
#pmpro_levels #pmpro_level-max-2x .product-highlight { align-items: center; display: flex; justify-content: center; left: 0; padding: 0; position: absolute; top: -28px; width: 100%; }
#pmpro_levels #pmpro_level-max-2x .product-highlight span { border: 1px solid var(--memberlite-color-action); border-radius: 20px; color: var(--memberlite-color-action); font-size: 12px; font-weight: 700; letter-spacing: 0.03em; line-height: 15px; padding: 1px 15px; text-transform: uppercase; }
#pmpro_levels .price-annual .current-price { white-space: nowrap; }

/* Sale badge and fine print only in the annual view; regular badge only in monthly */
#pmpro_levels .pmpro-sale-annual { display: none !important; }
#pmpro_levels.pmpro-annual-pricing .product-highlight.pmpro-sale-annual { display: flex !important; }
#pmpro_levels.pmpro-annual-pricing .sale-note.pmpro-sale-annual { display: block !important; }
#pmpro_levels.pmpro-annual-pricing .product-highlight.pmpro-sale-monthly { display: none !important; }
