/* Lumen pricing sections (free test render, retainers, pricing-page jump links).
   Shared by the home page and the pricing page; the estimator ships its own estimator.css. */

.lumen-jumps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-block-start: 1px solid var(--lumen-hair); max-inline-size: 40rem; }
.lumen-jumps li { margin: 0; border-block-end: 1px solid var(--lumen-hair); }
.lumen-jumps a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border: 0; color: inherit; text-decoration: none; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.75rem); line-height: 1.1; transition: transform 500ms var(--lumen-ease-out); }
.lumen-jumps a:hover { transform: translateX(6px); border: 0; }
.lumen-jumps__price { align-self: center; font: var(--lumen-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--lumen-muted); }

.lumen-free-render { border-block-start: 1px solid var(--lumen-hair); }
.lumen-free-render__grid { display: grid; gap: var(--wp--preset--spacing--40); align-items: end; }
.lumen-free-render__grid > *,
.lumen-free-render__grid > * > * { margin: 0; }
.lumen-free-render__grid > * > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.lumen-free-render h2 { font-size: var(--wp--preset--font-size--xx-large); max-inline-size: 10em; }
.lumen-free-render__lead { max-inline-size: 28rem; font-size: var(--wp--preset--font-size--large); line-height: 1.45; }
.lumen-free-render__note { font-size: 0.8125rem; }
@media (min-width: 1080px) { .lumen-free-render__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--wp--preset--spacing--60); } }

/* Retainers: hairline columns; Growth is an espresso block, distinguished by type, not a badge. */
.lumen-section-head--retainers { display: grid; gap: var(--wp--preset--spacing--30); }
.lumen-section-head--retainers > * { margin: 0; }
.lumen-section-head--retainers p:not(.lumen-eyebrow) { max-inline-size: 30rem; }
.lumen-plans { display: grid; gap: 0; border-block-start: 1px solid var(--lumen-hair); }
.lumen-plans > * { margin: 0; }
.lumen-plan {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.25rem, 2.5vw, 2.5rem);
	border-block-end: 1px solid var(--lumen-hair);
}
.lumen-plan > * { margin: 0 !important; } /* beats flow-layout margins; spacing comes from gap */
.lumen-plan__flag { font: var(--lumen-label); letter-spacing: 0.2em; text-transform: uppercase; color: var(--wp--preset--color--caramel); }
.lumen-plan__name { font-size: clamp(2.25rem, 1.8rem + 1.6vw, 3.25rem); }
.lumen-plan--featured .lumen-plan__name { font-style: italic; font-weight: 400; color: var(--wp--preset--color--caramel); }
.lumen-plan__for { font-size: 0.9375rem; color: var(--lumen-muted); }
.lumen-plan__price { padding-block: 1rem; border-block: 1px solid var(--lumen-hair); font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xx-large); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: lining-nums; }
.lumen-plan__unit { font: var(--lumen-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--lumen-muted); }
.lumen-plan__features { display: grid; align-content: start; gap: 0.6rem; margin: 0; padding: 0; list-style: none; font-size: 0.9375rem; flex: 1; }
.lumen-plan__features li { position: relative; margin: 0; padding-inline-start: 1.5rem; }
.lumen-plan__features li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.75em; inline-size: 0.75rem; block-size: 1px; background: currentColor; opacity: 0.6; }
.lumen-plan__cta .wp-block-button__link { justify-content: space-between; }
.lumen-plan--featured { background: var(--wp--preset--color--espresso); }
/* "Every retainer includes": label, then a row of equal tiles with a check mark. */
.lumen-benefit-strip { display: grid; gap: 1.25rem; margin-block-start: var(--wp--preset--spacing--50) !important; } /* beats flow margins */
.lumen-benefit-strip > * { margin: 0; }
.lumen-benefit-strip__label { display: flex; align-items: center; gap: 1rem; font: var(--lumen-label); letter-spacing: 0.2em; text-transform: uppercase; color: var(--lumen-muted); }
.lumen-benefit-strip__label::after { content: ""; flex: 1; block-size: 1px; background: var(--lumen-hair); }
.lumen-benefit-strip__list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lumen-benefit-strip__list li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--lumen-hair);
	border-radius: 6px;
	background: rgb(255 255 255 / 0.35);
	font-size: 0.9375rem;
	line-height: 1.35;
}
.lumen-benefit-strip__list li::before {
	content: "";
	flex: none;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	border-radius: 50%;
	background:
		var(--wp--preset--color--espresso) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9875A' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 0.95rem no-repeat;
}
@media (min-width: 600px) {
	.lumen-benefit-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.lumen-plans-section__note { margin-block-start: var(--wp--preset--spacing--40) !important; color: var(--lumen-muted); } /* beats flow margins */
@media (min-width: 1080px) {
	.lumen-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); border-block-end: 1px solid var(--lumen-hair); }
	.lumen-plan { border-block-end: 0; }
	.lumen-plan + .lumen-plan { border-inline-start: 1px solid var(--lumen-hair); }
	.lumen-benefit-strip__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.lumen-benefit-strip__list li { flex-direction: column; align-items: flex-start; gap: 0.75rem; padding: 1.25rem; }
}
