/* Native pricing blocks share the site's existing container and brand fonts. */
.pts-pricing-root {
	--pricing-ink: var(--pts-charcoal-deep, #363b3f);
	--pricing-pink: var(--pts-pink-dark, #b51072);
	--pricing-rule: #dedfe0;
	--pricing-blush: #f9f0f5;
	color: var(--pricing-ink);
	font-family: var(--pts-sans, "Spartan", Arial, sans-serif);
	font-size: 15px;
	line-height: 1.85;
}
.pts-pricing-root :is(.wp-block-group, .wp-block-column, .wp-block-columns, .wp-block-buttons, .wp-block-table) { min-width: 0; margin: 0; }
.pts-pricing-root .wp-block-columns { display: flex; gap: 42px; align-items: flex-start; }
.pts-pricing-root .wp-block-column { flex: 1 1 0; }
.pts-pricing-root p { margin: 0 0 18px; }
.pts-pricing-root .wp-block-heading { margin: 0; color: inherit; font-family: var(--pts-serif, "Baskervville", Georgia, serif); font-weight: 400; line-height: 1.12; }
.pts-pricing-root .pts-pricing-eyebrow { margin: 0 0 24px; color: var(--pricing-pink); font-size: 11px; font-weight: 600; line-height: 1.6; letter-spacing: 0.13em; text-transform: uppercase; }
.pts-pricing-root em { font-weight: 400; }
.pts-pricing-hero { padding: 52px 0 76px; }
.pts-pricing-root .pts-pricing-hero-columns { align-items: flex-end; gap: 70px; }
.pts-pricing-root .pts-pricing-hero-columns > .wp-block-column:first-child { flex: 1.3 1 0; }
.pts-pricing-root .pts-pricing-title { max-width: 850px; font-size: clamp(48px, 6.1vw, 90px); letter-spacing: -0.045em; line-height: 1.04; }
.pts-pricing-title em { color: var(--pricing-pink); }
.pts-pricing-hero-copy { padding-bottom: 4px; }
.pts-pricing-root .pts-pricing-intro-label { margin-bottom: 14px; color: var(--pricing-ink); font-family: var(--pts-serif, "Baskervville", Georgia, serif); font-size: 29px; line-height: 1.25; }
.pts-pricing-hero-copy > p:not(.pts-pricing-intro-label) { font-size: 14px; }
.pts-pricing-transactions { padding: 0 0 54px; }
.pts-pricing-root .pts-pricing-transaction-columns { gap: 25px; align-items: stretch; }
.pts-pricing-transaction-columns > .wp-block-column { display: flex; }
.pts-pricing-root .pts-pricing-panel { width: 100%; overflow: hidden; border: 1px solid var(--pricing-rule); border-top: 3px solid var(--pricing-pink); background: #fff; }
.pts-pricing-root .pts-pricing-panel-heading { min-height: 150px; padding: 29px 27px 25px; background: var(--pts-charcoal, #4a4f54); color: #fff; }
.pts-pricing-panel-heading .wp-block-heading { font-size: clamp(29px, 2.6vw, 38px); }
.pts-pricing-root .pts-pricing-panel-heading p { max-width: 31ch; margin: 14px 0 0; color: #f1f1f2; font-size: 12px; line-height: 1.8; }
.pts-pricing-root .pts-pricing-table { overflow: visible; }
.pts-pricing-root .pts-pricing-table table { width: 100%; margin: 0; border-collapse: collapse; border-spacing: 0; table-layout: fixed; }
.pts-pricing-root .pts-pricing-table :is(td, th) { border: 0; border-bottom: 1px solid var(--pricing-rule); padding: 18px 0; color: inherit; font-family: inherit; font-size: 14px; line-height: 1.65; text-align: left; vertical-align: middle; overflow-wrap: normal; }
.pts-pricing-root .pts-pricing-table thead th { padding: 13px 0; color: #666b70; font-size: 10px; font-weight: 500; letter-spacing: 0.11em; text-transform: uppercase; }
.pts-pricing-root .pts-pricing-table :is(th, td):last-child { width: 45%; padding-left: 12px; text-align: right; }
.pts-pricing-root .pts-pricing-table td:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pts-pricing-root .pts-pricing-table td strong { font-size: 20px; font-weight: 500; letter-spacing: -0.025em; }
.pts-pricing-root .pts-pricing-table tbody tr:last-child td { border-bottom: 0; }
.pts-pricing-root .pts-pricing-transaction-table { padding: 9px 27px 14px; }
.pts-pricing-root .pts-pricing-transaction-table td { font-size: 12px; }
.pts-pricing-root .pts-pricing-transaction-table td strong { font-size: clamp(17px, 1.48vw, 21px); }
.pts-pricing-root .pts-pricing-premium { margin: 0; padding: 35px 39px; background: var(--pricing-blush); border-left: 3px solid var(--pricing-pink); }
.pts-pricing-root .pts-pricing-premium-columns { align-items: center; gap: 44px; }
.pts-pricing-root .pts-pricing-premium-columns > .wp-block-column:first-child { flex: 1.85 1 0; }
.pts-pricing-root .pts-pricing-premium-columns > .wp-block-column:last-child { display: flex; justify-content: flex-end; }
.pts-pricing-root .pts-pricing-premium .pts-pricing-eyebrow { margin-bottom: 11px; }
.pts-pricing-premium .wp-block-heading { font-size: clamp(30px, 3vw, 40px); }
.pts-pricing-root .pts-pricing-premium-copy > p:last-child { max-width: 85ch; margin: 15px 0 0; font-size: 13px; }
.pts-pricing-services { padding: 79px 0 76px; }
.pts-pricing-root .pts-pricing-section-intro { margin-bottom: 40px; }
.pts-pricing-root .pts-pricing-section-intro .pts-pricing-eyebrow { margin-bottom: 16px; }
.pts-pricing-section-intro .wp-block-heading { font-size: clamp(36px, 4.1vw, 56px); letter-spacing: -0.025em; }
.pts-pricing-root .pts-pricing-service-columns { gap: 72px; }
.pts-pricing-service-list > .wp-block-heading { padding-bottom: 19px; border-bottom: 2px solid var(--pricing-pink); font-size: clamp(27px, 2.7vw, 35px); }
.pts-pricing-root .pts-pricing-service-list .pts-pricing-table td { padding: 19px 0; }
.pts-pricing-root .pts-pricing-service-list .pts-pricing-table tbody tr:last-child td { border-bottom: 1px solid var(--pricing-rule); }
.pts-pricing-root .pts-pricing-special { padding: 49px 46px; background: var(--pts-charcoal, #4a4f54); color: #fff; }
.pts-pricing-root .pts-pricing-special-columns { gap: 65px; align-items: center; }
.pts-pricing-root .pts-pricing-special-copy .pts-pricing-eyebrow { max-width: 32ch; margin-bottom: 20px; color: #ffb7e1; }
.pts-pricing-special-copy .wp-block-heading { font-size: clamp(34px, 3.4vw, 48px); letter-spacing: -0.025em; }
.pts-pricing-special-copy .wp-block-heading em { color: #ffd5ee; }
.pts-pricing-root .pts-pricing-special-copy > p:not(.pts-pricing-eyebrow) { max-width: 45ch; margin: 22px 0 24px; color: #f0f0f1; font-size: 13px; }
.pts-pricing-root .pts-pricing-special .pts-pricing-table :is(th, td) { border-color: rgb(255 255 255 / 22%); }
.pts-pricing-root .pts-pricing-special .pts-pricing-table thead th { color: #dedfe0; }
.pts-pricing-root .pts-pricing-special .pts-pricing-table td { font-size: 13px; }
.pts-pricing-root .pts-pricing-special .pts-pricing-table td strong { font-size: 16px; font-weight: 500; letter-spacing: 0; }
.pts-pricing-root .pts-pricing-special-note { margin: 18px 0 0; color: #e8e8e9; font-size: 11px; }
.pts-pricing-special-note a { color: #ffd5ee; text-decoration-color: rgb(255 213 238 / 65%); }
.pts-pricing-next { padding: 60px 0 4px; }
.pts-pricing-root .pts-pricing-next-columns { align-items: center; gap: 50px; }
.pts-pricing-root .pts-pricing-next-columns > .wp-block-column:first-child { flex: 1.5 1 0; }
.pts-pricing-next .wp-block-heading { font-size: clamp(32px, 3.3vw, 44px); }
.pts-pricing-root .pts-pricing-next-copy p { max-width: 60ch; margin: 15px 0 0; font-size: 13px; }
.pts-pricing-root .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.pts-pricing-root .wp-block-button { margin: 0; max-width: 100%; }
.pts-pricing-root .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 14px 21px; border: 1px solid var(--pricing-pink); border-radius: 0; background: var(--pricing-pink); color: #fff; font-family: var(--pts-sans, "Spartan", Arial, sans-serif); font-size: 11px; font-weight: 500; line-height: 1.7; text-align: center; text-decoration: none; overflow-wrap: normal; transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.pts-pricing-root .wp-block-button__link:hover { border-color: var(--pricing-ink); background: var(--pricing-ink); color: #fff; }
.pts-pricing-root .pts-pricing-button-outline .wp-block-button__link { border-color: #b6b9bb; background: transparent; color: var(--pricing-ink); }
.pts-pricing-root .pts-pricing-button-outline .wp-block-button__link:hover { border-color: var(--pricing-ink); background: var(--pricing-ink); color: #fff; }
.pts-pricing-root .pts-pricing-button-light .wp-block-button__link { border-color: #ffd5ee; background: #ffd5ee; color: var(--pricing-ink); }
.pts-pricing-root .pts-pricing-button-light .wp-block-button__link:hover { border-color: #fff; background: #fff; color: var(--pricing-ink); }
.pts-pricing-root .pts-pricing-button-text .wp-block-button__link { justify-content: flex-start; min-height: 44px; padding: 6px 0; border: 0; border-bottom: 1px solid #c994b4; background: transparent; color: var(--pricing-pink); font-size: 11px; }
.pts-pricing-root .pts-pricing-button-text .wp-block-button__link:hover { border-bottom-color: var(--pricing-ink); color: var(--pricing-ink); }
.pts-pricing-root .pts-pricing-disclaimer { margin: 39px 0 0; padding-top: 24px; border-top: 1px solid var(--pricing-rule); color: #676c70; font-size: 10px; line-height: 1.9; }
.pts-pricing-disclaimer a { color: var(--pricing-ink); white-space: nowrap; }

/* Calm at rest, with a deliberate response as the visitor explores the fees. */
.pts-pricing-root .pts-pricing-panel { position: relative; transition: transform 360ms cubic-bezier(.2,.7,.2,1), box-shadow 360ms ease, border-color 280ms ease; }
.pts-pricing-root .pts-pricing-panel-heading { position: relative; isolation: isolate; }
.pts-pricing-panel-heading::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(120deg, #93205f, #b51072 62%, #ce258b); opacity: 0; transition: opacity 360ms ease; }
.pts-pricing-root .pts-pricing-table tbody td { transition: background-color 240ms ease, color 240ms ease, box-shadow 240ms ease, padding-left 240ms ease; }
.pts-pricing-root .pts-pricing-table td strong { display: inline-block; transition: color 240ms ease, transform 300ms cubic-bezier(.2,.7,.2,1); }
.pts-pricing-root :is(.pts-pricing-premium, .pts-pricing-special) { position: relative; isolation: isolate; overflow: hidden; transition: box-shadow 360ms ease; }
.pts-pricing-root :is(.pts-pricing-premium, .pts-pricing-special)::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 85% 15%, rgb(225 40 147 / 13%), transparent 65%); opacity: 0; transform: translateX(12%); transition: opacity 420ms ease, transform 700ms cubic-bezier(.2,.7,.2,1); }
.pts-pricing-root .pts-pricing-special::before { background: radial-gradient(ellipse at 85% 15%, rgb(225 40 147 / 25%), transparent 72%); }
.pts-pricing-root .wp-block-button__link { position: relative; isolation: isolate; overflow: hidden; gap: 12px; transition: color 240ms ease, border-color 240ms ease, background-color 240ms ease, transform 280ms ease, box-shadow 280ms ease; }
.pts-pricing-root .wp-block-button__link::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--pricing-ink); transform: translateX(-101%); transition: transform 380ms cubic-bezier(.2,.7,.2,1); }
.pts-pricing-root .wp-block-button__link::after { content: ""; flex: 0 0 13px; width: 13px; height: 12px; background: currentColor; clip-path: polygon(0 44%, 73% 44%, 39% 9%, 48% 0, 100% 50%, 48% 100%, 39% 91%, 73% 56%, 0 56%); transition: transform 280ms ease; }
.pts-pricing-root .pts-pricing-button-light .wp-block-button__link::before { background: #fff; }
.pts-pricing-root .pts-pricing-button-text .wp-block-button__link { overflow: visible; border-bottom-color: transparent; }
.pts-pricing-root .pts-pricing-button-text .wp-block-button__link::before { inset: auto 0 0; height: 1px; background: currentColor; transform: scaleX(.42); transform-origin: left; }
.pts-pricing-root .wp-block-button__link:focus-visible { outline: 2px solid var(--pricing-pink); outline-offset: 5px; box-shadow: 0 9px 24px rgb(54 59 63 / 16%); }
.pts-pricing-root .wp-block-button__link:focus-visible::before { transform: translateX(0); }
.pts-pricing-root .wp-block-button__link:focus-visible::after { transform: translateX(4px); }
.pts-pricing-root .pts-pricing-button-text .wp-block-button__link:focus-visible::before { transform: scaleX(1); }
.pts-pricing-root .pts-pricing-button-outline .wp-block-button__link:focus-visible { color: #fff; }
.pts-pricing-root :is(.pts-pricing-premium, .pts-pricing-special):focus-within::before { opacity: 1; transform: translateX(0); }

@media (hover: hover) and (pointer: fine) {
	.pts-pricing-root .pts-pricing-panel:hover { transform: translateY(-8px); border-color: var(--pricing-pink); box-shadow: 0 24px 50px -16px rgb(93 35 70 / 28%); }
	.pts-pricing-panel:hover .pts-pricing-panel-heading::before { opacity: 1; }
	.pts-pricing-root .pts-pricing-table tbody tr:hover td { background: #f7e7f0; color: #842052; }
	.pts-pricing-root .pts-pricing-table tbody tr:hover td:first-child { padding-left: 12px; box-shadow: inset 3px 0 var(--pricing-pink); }
	.pts-pricing-root .pts-pricing-table tbody tr:hover td strong { color: var(--pricing-pink); transform: translateX(-5px); }
	.pts-pricing-root .pts-pricing-special .pts-pricing-table tbody tr:hover td { background: rgb(255 213 238 / 12%); color: #fff; }
	.pts-pricing-root .pts-pricing-special .pts-pricing-table tbody tr:hover td:first-child { box-shadow: inset 3px 0 #ffb7e1; }
	.pts-pricing-root .pts-pricing-special .pts-pricing-table tbody tr:hover td strong { color: #ffd5ee; }
	.pts-pricing-root :is(.pts-pricing-premium, .pts-pricing-special):hover { box-shadow: 0 20px 45px -25px rgb(93 35 70 / 28%); }
	.pts-pricing-root :is(.pts-pricing-premium, .pts-pricing-special):hover::before { opacity: 1; transform: translateX(0); }
	.pts-pricing-root .wp-block-button__link:hover { transform: translateY(-3px); box-shadow: 0 9px 24px rgb(54 59 63 / 16%); background: var(--pricing-pink); }
	.pts-pricing-root .wp-block-button__link:hover::before { transform: translateX(0); }
	.pts-pricing-root .wp-block-button__link:hover::after { transform: translateX(4px); }
	.pts-pricing-root .pts-pricing-button-outline .wp-block-button__link:hover { background: transparent; }
	.pts-pricing-root .pts-pricing-button-light .wp-block-button__link:hover { background: #ffd5ee; }
	.pts-pricing-root .pts-pricing-button-text .wp-block-button__link:hover { background: transparent; box-shadow: none; border-bottom-color: transparent; }
	.pts-pricing-root .pts-pricing-button-text .wp-block-button__link:hover::before { transform: scaleX(1); }
}

@media (max-width: 1199px) {
	.pts-pricing-root .pts-pricing-hero-columns { gap: 45px; }
	.pts-pricing-root .pts-pricing-panel-heading { padding-inline: 22px; }
	.pts-pricing-root .pts-pricing-transaction-table { padding-inline: 20px; }
	.pts-pricing-root .pts-pricing-service-columns { gap: 45px; }
	.pts-pricing-root .pts-pricing-special { padding: 40px 32px; }
	.pts-pricing-root .pts-pricing-special-columns { gap: 38px; }
}
@media (max-width: 991px) {
	.pts-pricing-hero { padding-top: 34px; padding-bottom: 53px; }
	.pts-pricing-root .pts-pricing-hero-columns { gap: 30px; }
	.pts-pricing-root .pts-pricing-title { font-size: 58px; }
	.pts-pricing-root .pts-pricing-intro-label { font-size: 25px; }
	.pts-pricing-root .pts-pricing-hero-copy > p:not(.pts-pricing-intro-label) { font-size: 12px; }
	.pts-pricing-root .pts-pricing-transaction-columns { flex-wrap: wrap; gap: 22px; }
	.pts-pricing-root .pts-pricing-transaction-columns > .wp-block-column { flex-basis: 100%; }
	.pts-pricing-root .pts-pricing-panel { display: grid; grid-template-columns: 0.9fr 1.1fr; }
	.pts-pricing-root .pts-pricing-panel-heading { min-height: 0; padding: 26px; }
	.pts-pricing-panel-heading .wp-block-heading { font-size: 33px; }
	.pts-pricing-root .pts-pricing-transaction-table { padding-inline: 26px; }
	.pts-pricing-root .pts-pricing-transaction-table td strong { font-size: 18px; }
	.pts-pricing-root .pts-pricing-premium { padding: 28px; }
	.pts-pricing-root .pts-pricing-premium-columns { display: block; }
	.pts-pricing-root .pts-pricing-premium-columns > .wp-block-column:last-child { justify-content: flex-start; margin-top: 22px; }
	.pts-pricing-services { padding-block: 58px; }
	.pts-pricing-root .pts-pricing-service-columns { gap: 35px; }
	.pts-pricing-service-list > .wp-block-heading { min-height: 91px; font-size: 28px; }
	.pts-pricing-root .pts-pricing-service-list .pts-pricing-table td { font-size: 12px; }
	.pts-pricing-root .pts-pricing-table td strong { font-size: 18px; }
	.pts-pricing-root .pts-pricing-special-columns { display: block; }
	.pts-pricing-root .pts-pricing-special-rates { margin-top: 30px; }
	.pts-pricing-root .pts-pricing-next-columns { display: block; }
	.pts-pricing-next .wp-block-buttons { margin-top: 24px; }
}
@media (max-width: 767px) {
	.pts-pricing-root .pts-pricing-hero-columns { display: block; }
	.pts-pricing-root .pts-pricing-title { font-size: clamp(43px, 9.8vw, 63px); }
	.pts-pricing-root .pts-pricing-hero-copy { max-width: 53ch; margin-top: 27px; }
	.pts-pricing-root .pts-pricing-eyebrow { font-size: 10px; letter-spacing: 0.09em; }
	.pts-pricing-root .pts-pricing-intro-label { font-size: 28px; }
	.pts-pricing-root .pts-pricing-hero-copy > p:not(.pts-pricing-intro-label) { font-size: 13px; }
	.pts-pricing-root .pts-pricing-panel { display: block; }
	.pts-pricing-root .pts-pricing-panel-heading { padding: 24px; }
	.pts-pricing-root .pts-pricing-panel-heading p { max-width: none; margin-top: 10px; }
	.pts-pricing-root .pts-pricing-transaction-table { padding: 5px 24px 10px; }
	.pts-pricing-root .pts-pricing-transaction-table td { padding-block: 16px; font-size: 13px; }
	.pts-pricing-transactions { padding-bottom: 31px; }
	.pts-pricing-root .pts-pricing-premium { padding: 25px 23px; }
	.pts-pricing-premium .wp-block-heading { font-size: 34px; }
	.pts-pricing-services { padding-block: 47px; }
	.pts-pricing-root .pts-pricing-section-intro { margin-bottom: 31px; }
	.pts-pricing-section-intro .wp-block-heading { font-size: 39px; }
	.pts-pricing-root .pts-pricing-service-columns { display: block; }
	.pts-pricing-service-list > .wp-block-heading { min-height: 0; font-size: 30px; }
	.pts-pricing-root .pts-pricing-service-columns > .wp-block-column + .wp-block-column { margin-top: 37px; }
	.pts-pricing-root .pts-pricing-service-list .pts-pricing-table td { font-size: 13px; }
	.pts-pricing-root .pts-pricing-special { padding: 33px 25px; }
	.pts-pricing-special-copy .wp-block-heading { font-size: 37px; }
	.pts-pricing-root .pts-pricing-special .pts-pricing-table td strong { font-size: 13px; }
	.pts-pricing-root .pts-pricing-special .pts-pricing-table td { font-size: 12px; }
	.pts-pricing-next { padding-top: 43px; }
	.pts-pricing-next .wp-block-heading { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) {
	.pts-pricing-root *, .pts-pricing-root *::before, .pts-pricing-root *::after { transition: none !important; }
	.pts-pricing-root .pts-pricing-panel:hover, .pts-pricing-root .wp-block-button__link:hover, .pts-pricing-root .pts-pricing-table tbody tr:hover td strong, .pts-pricing-root .wp-block-button__link:is(:hover, :focus-visible)::after { transform: none; }
}
@media print {
	.pts-pricing-root { font-size: 10pt; }
	.pts-pricing-hero, .pts-pricing-services, .pts-pricing-next { padding-block: 18px; }
	.pts-pricing-root .pts-pricing-title { font-size: 36pt; }
	.pts-pricing-root .wp-block-buttons { display: none; }
	.pts-pricing-root .pts-pricing-panel, .pts-pricing-root .pts-pricing-special, .pts-pricing-root .pts-pricing-premium { break-inside: avoid; }
}
