.ctm-pricing-calculator {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
	padding-block: clamp(84px, 9vw, 124px);
}

.ct-marketing-page .entry-content > .ctm-pricing-calculator {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.ctm-pricing-calculator__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(320px, 0.6fr);
	gap: 16px clamp(48px, 8vw, 96px);
	align-items: end;
}

.ctm-pricing-calculator__intro .ctm-eyebrow {
	grid-column: 1 / -1;
	margin-bottom: 6px;
}

.ctm-pricing-calculator__intro h2,
.ctm-pricing-calculator__intro p {
	margin-bottom: 0;
}

.ctm-pricing-calculator__intro p {
	color: var(--ctm-slate);
}

.ctm-pricing-calculator__worksheet {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
	gap: clamp(38px, 7vw, 86px);
	align-items: start;
	margin-top: clamp(44px, 6vw, 72px);
}

.ctm-pricing-calculator__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	gap: 12px 18px;
	align-items: center;
	padding-top: 5px;
}

.ctm-pricing-calculator__controls label {
	font-size: 0.9rem;
	font-weight: 720;
	color: var(--ctm-ink);
}

.ctm-pricing-calculator__controls select,
.ctm-pricing-calculator__controls input {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #9ba9bc;
	border-radius: 4px;
	background: var(--ctm-paper);
	color: var(--ctm-ink);
	font: inherit;
	font-variant-numeric: tabular-nums;
}

.ctm-pricing-calculator__controls select:focus-visible,
.ctm-pricing-calculator__controls input:focus-visible {
	border-color: var(--ctm-blue);
	outline: 3px solid #f59e0b;
	outline-offset: 3px;
}

.ctm-pricing-calculator__rule {
	grid-column: 1 / -1;
	margin: 16px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--ctm-line);
	font-size: 0.86rem;
	color: var(--ctm-slate);
}

.ctm-pricing-calculator__quote {
	position: relative;
	min-width: 0;
	padding: clamp(28px, 4vw, 42px);
	border: 1px solid #cdd7e5;
	border-top: 5px solid var(--ctm-blue);
	background: var(--ctm-paper);
	box-shadow: 14px 14px 0 #dce7ff;
}

.ctm-pricing-calculator__quote-label {
	margin-bottom: 24px;
	font-size: 0.73rem;
	font-weight: 790;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ctm-blue);
}

.ctm-pricing-calculator__quote dl {
	margin: 0;
}

.ctm-pricing-calculator__quote dl > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px;
	align-items: baseline;
	padding: 13px 0;
	border-bottom: 1px solid var(--ctm-line);
}

.ctm-pricing-calculator__quote dt {
	font-size: 0.87rem;
	color: var(--ctm-slate);
}

.ctm-pricing-calculator__quote dd {
	margin: 0;
	font-weight: 760;
	font-variant-numeric: tabular-nums;
}

.ctm-pricing-calculator__quote .ctm-pricing-calculator__total {
	padding-block: 20px;
	border-bottom: 0;
}

.ctm-pricing-calculator__total dd {
	font-size: clamp(1.65rem, 4vw, 2.35rem);
	letter-spacing: -0.04em;
	line-height: 1;
}

.ctm-pricing-calculator__recommendation {
	margin-top: 10px;
	padding: 20px;
	border-left: 4px solid var(--ctm-blue);
	background: #eaf0ff;
}

.ctm-pricing-calculator__recommendation > span,
.ctm-pricing-calculator__recommendation strong {
	display: block;
}

.ctm-pricing-calculator__recommendation > span {
	font-size: 0.7rem;
	font-weight: 780;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ctm-slate);
}

.ctm-pricing-calculator__recommendation strong {
	margin-top: 3px;
	font-size: 1.18rem;
}

.ctm-pricing-calculator__recommendation p {
	margin: 7px 0 0;
	font-size: 0.84rem;
	color: #354154;
}

.ctm-pricing-calculator__footnote {
	margin: 34px 0 0;
	font-size: 0.8rem;
	color: var(--ctm-slate);
}

.ctm-price-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.ctm-pricing-calculator__intro,
	.ctm-pricing-calculator__worksheet {
		grid-template-columns: 1fr;
	}

	.ctm-price-grid--three {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.ctm-pricing-calculator,
	.ct-marketing-page .entry-content > .ctm-pricing-calculator {
		width: min(100% - 36px, 1180px);
		padding-block: 76px;
	}
}

@media (max-width: 540px) {
	.ctm-pricing-calculator,
	.ct-marketing-page .entry-content > .ctm-pricing-calculator {
		width: min(100% - 28px, 1180px);
		padding-block: 64px;
	}

	.ctm-pricing-calculator__controls {
		grid-template-columns: 1fr;
	}

	.ctm-pricing-calculator__controls label:not(:first-child) {
		margin-top: 8px;
	}

	.ctm-pricing-calculator__rule {
		grid-column: 1;
	}

	.ctm-pricing-calculator__quote {
		padding: 26px 22px;
		box-shadow: 8px 8px 0 #dce7ff;
	}
}
