:root {
	--ps-ink: #172824;
	--ps-text: #354943;
	--ps-muted: #65766f;
	--ps-primary: #105a4f;
	--ps-primary-dark: #0a463e;
	--ps-link: #176b83;
	--ps-accent: #b77a2d;
	--ps-line: #d8e1dd;
	--ps-soft: #edf3f0;
	--ps-warm: #f5f2ec;
	--ps-canvas: #f7f9f8;
	--ps-surface: #ffffff;
	--ps-reading-width: 46rem;
	--ps-content-width: 75rem;
	--ps-radius: 6px;
}

html {
	background: var(--ps-canvas);
}

body,
button,
input,
select,
textarea {
	color: var(--ps-text);
	font-family: Aptos, "Segoe UI Variable", "Segoe UI", sans-serif;
	font-size: 16px;
	letter-spacing: 0;
}

body {
	background: var(--ps-canvas);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
	color: var(--ps-ink);
	font-family: Charter, "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-weight: 600;
	letter-spacing: 0;
}

a {
	color: var(--ps-link);
	text-underline-offset: 0.16em;
}

a:hover,
a:focus-visible {
	color: var(--ps-primary-dark);
}

:focus-visible {
	outline: 3px solid rgba(23, 107, 131, 0.35);
	outline-offset: 3px;
}

.ast-container,
.site-primary-header-wrap {
	max-width: calc(var(--ps-content-width) + 40px);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--ps-line);
	background: rgba(255, 255, 255, 0.97);
}

.ast-primary-header-bar {
	border: 0;
	background: transparent;
}

.site-title a,
.site-title a:visited {
	color: var(--ps-ink);
	font-family: Aptos, "Segoe UI Variable", "Segoe UI", sans-serif;
	font-size: 24px;
	font-weight: 750;
}

.main-header-menu > .menu-item > .menu-link {
	color: var(--ps-text);
	font-size: 15px;
	font-weight: 600;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link {
	color: var(--ps-primary);
}

.main-header-menu > .ps-menu-primary > .menu-link,
.main-header-menu > .ps-menu-primary > .menu-link:visited {
	min-height: 40px;
	margin: 0 10px 0 0;
	padding: 0 15px;
	border-radius: 4px;
	background: var(--ps-primary);
	color: #fff;
}

.main-header-menu > .ps-menu-primary > .menu-link:hover,
.main-header-menu > .ps-menu-primary > .menu-link:focus-visible {
	background: var(--ps-primary-dark);
	color: #fff;
}

.ast-button-wrap .menu-toggle.main-header-menu-toggle {
	border: 1px solid var(--ps-line);
	border-radius: 4px;
	color: var(--ps-ink);
}

.ps-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.ps-button-primary,
.ps-button-primary:visited {
	border-color: var(--ps-primary);
	background: var(--ps-primary);
	color: #fff;
}

.ps-button-primary:hover,
.ps-button-primary:focus-visible {
	border-color: var(--ps-primary-dark);
	background: var(--ps-primary-dark);
	color: #fff;
}

.ps-button-secondary,
.ps-button-secondary:visited {
	border-color: #9aaba5;
	background: transparent;
	color: var(--ps-ink);
}

.ps-button-secondary:hover,
.ps-button-secondary:focus-visible {
	border-color: var(--ps-primary);
	background: #fff;
	color: var(--ps-primary);
}

.home .ps-retired-hero-image {
	display: none !important;
}

.home .site-main,
.home .ast-plain-container #primary {
	margin-top: 0;
	padding-top: 0;
}

body.home.ast-plain-container #primary {
	margin-top: 0;
}

.ps-home-hero {
	box-shadow: 0 0 0 100vmax var(--ps-soft);
	clip-path: inset(0 -100vmax);
	background: var(--ps-soft);
	border-bottom: 1px solid var(--ps-line);
}

.ps-home-hero-inner {
	display: grid;
	max-width: var(--ps-content-width);
	min-height: 520px;
	margin: 0 auto;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	align-items: center;
	gap: 72px;
	padding: 76px 0;
}

.ps-home-hero-copy {
	max-width: 700px;
}

.ps-home-hero h1 {
	max-width: 680px;
	margin: 0;
	font-size: 52px;
	line-height: 1.08;
}

.ps-home-hero-copy > p:not(.ps-home-actions) {
	max-width: 610px;
	margin: 24px 0 0;
	color: var(--ps-text);
	font-size: 20px;
	line-height: 1.55;
}

.ps-home-actions {
	display: flex;
	margin: 32px 0 0;
	flex-wrap: wrap;
	gap: 12px;
}

.ps-hero-navigation {
	padding-left: 36px;
	border-left: 1px solid #bdcbc5;
}

.ps-hero-navigation h2 {
	margin: 0 0 18px;
	font-family: Aptos, "Segoe UI Variable", "Segoe UI", sans-serif;
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ps-hero-navigation-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid #bdcbc5;
	list-style: none;
}

.ps-hero-navigation-list li {
	margin: 0;
	border-bottom: 1px solid #bdcbc5;
}

.ps-hero-navigation-list a {
	display: grid;
	min-height: 70px;
	grid-template-columns: 36px 1fr;
	align-items: center;
	color: var(--ps-ink);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}

.ps-hero-navigation-list a:hover,
.ps-hero-navigation-list a:focus-visible {
	color: var(--ps-primary);
}

.ps-hero-navigation-number {
	color: var(--ps-muted);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.home article {
	padding: 64px 0 80px;
}

.home .entry-content > h2,
.home .entry-content > p,
.home .entry-content > ol {
	max-width: var(--ps-reading-width);
}

@media (max-width: 1024px) {
	.ps-home-hero-inner {
		min-height: 0;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
		gap: 44px;
		padding: 60px 24px;
	}

	.ps-home-hero h1 {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.site-header {
		position: relative;
	}

	.ps-home-hero-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
		padding: 40px 20px 32px;
	}

	.ps-home-hero h1 {
		font-size: 34px;
		line-height: 1.12;
	}

	.ps-home-hero-copy > p:not(.ps-home-actions) {
		margin-top: 18px;
		font-size: 17px;
	}

	.ps-home-actions {
		display: grid;
		margin-top: 24px;
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.ps-hero-navigation {
		padding: 20px 0 0;
		border-top: 1px solid #bdcbc5;
		border-left: 0;
	}

	.ps-hero-navigation h2 {
		margin-bottom: 10px;
	}

	.ps-hero-navigation-list a {
		min-height: 44px;
		font-size: 15px;
	}

	.home article {
		padding: 48px 20px 64px;
	}
}

/* Shared editorial layout */
#page,
.ast-plain-container,
.ast-separate-container {
	background: var(--ps-canvas);
}

.ast-header-break-point .ast-mobile-header-content {
	border-top: 1px solid var(--ps-line);
	background: var(--ps-surface);
}

.ast-header-break-point .main-header-menu .menu-item .menu-link {
	min-height: 48px;
	padding: 12px 20px;
	border-bottom: 1px solid #edf1ef;
	color: var(--ps-text);
	font-size: 15px;
	font-weight: 650;
}

.ps-home-sections {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 56px 44px;
}

.ps-home-section {
	grid-column: span 4;
	padding-top: 24px;
	border-top: 2px solid var(--ps-line);
}

.ps-home-section:nth-child(1) {
	grid-column: span 7;
}

.ps-home-section:nth-child(2) {
	grid-column: span 5;
}

.ps-home-section h2 {
	margin: 0 0 18px;
	font-size: 29px;
	line-height: 1.22;
}

.ps-home-section p,
.ps-home-section ol {
	margin: 0;
	line-height: 1.7;
}

.ps-home-section p + p {
	margin-top: 14px;
}

.ps-home-section ol {
	padding-left: 22px;
}

.ps-home-section li {
	margin-bottom: 8px;
}

.ps-home-section li::marker {
	color: var(--ps-primary);
	font-weight: 700;
}

.ps-page:not(.ps-home-page) .site-main {
	padding: 72px 0 96px;
}

.ps-page:not(.ps-home-page) .ast-article-single {
	padding: 0;
}

.ps-page:not(.ps-home-page) .entry-header {
	max-width: var(--ps-reading-width);
	margin: 0 0 34px;
	padding: 0 0 26px;
	border-bottom: 1px solid var(--ps-line);
}

.ps-page:not(.ps-home-page) .entry-title {
	margin: 0;
	font-size: 48px;
	line-height: 1.12;
}

.ps-page:not(.ps-home-page) .entry-content > p,
.ps-page:not(.ps-home-page) .entry-content > ul,
.ps-page:not(.ps-home-page) .entry-content > ol,
.ps-page:not(.ps-home-page) .entry-content > h2,
.ps-page:not(.ps-home-page) .entry-content > h3 {
	max-width: var(--ps-reading-width);
}

.ps-page .entry-content p,
.ps-page .entry-content li {
	font-size: 17px;
	line-height: 1.72;
}

.ps-page .entry-content > p {
	margin-bottom: 20px;
}

.ps-page .entry-content > h2 {
	margin-top: 64px;
	margin-bottom: 18px;
	font-size: 32px;
	line-height: 1.22;
}

.ps-page .entry-content > h3 {
	margin-top: 38px;
	margin-bottom: 12px;
	font-size: 23px;
	line-height: 1.3;
}

.wp-block-button__link,
button:not(.menu-toggle):not(.cmplz-btn),
input[type="button"],
input[type="submit"] {
	border-radius: 4px;
	background: var(--ps-primary);
	font-weight: 700;
}

/* Comparison pages */
.ps-context-navigation {
	display: flex;
	max-width: var(--ps-reading-width);
	margin: -8px 0 34px;
	padding-bottom: 18px;
	flex-wrap: wrap;
	gap: 8px 22px;
	border-bottom: 1px solid var(--ps-line);
}

.ps-context-navigation p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

.ps-context-navigation a {
	font-weight: 700;
	text-decoration: none;
}

.ps-comparison-page .entry-header {
	max-width: 58rem;
}

.ps-comparison-page .entry-content > h2 {
	padding-top: 26px;
	border-top: 1px solid var(--ps-line);
}

.ps-comparison-page .wp-block-table {
	margin: 34px 0 60px;
	overflow: auto;
	border: 1px solid #ccd8d3;
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	box-shadow: 0 8px 24px rgba(23, 40, 36, 0.06);
}

.ps-comparison-page .praxisselect-comparison-table {
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	line-height: 1.45;
}

.ps-comparison-page .praxisselect-comparison-table th {
	padding: 13px 12px;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	background: #173f38;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
	vertical-align: bottom;
}

.ps-comparison-page .praxisselect-comparison-table td {
	padding: 13px 12px;
	border: 0;
	border-right: 1px solid #e2e9e6;
	border-bottom: 1px solid #e2e9e6;
	color: var(--ps-text);
	vertical-align: top;
}

.ps-comparison-page .praxisselect-comparison-table tbody tr:nth-child(even) td {
	background: #f6f8f7;
}

.ps-comparison-page .praxisselect-comparison-table tbody tr:hover td {
	background: #eef4f1;
}

.ps-comparison-page .praxisselect-comparison-table td a {
	color: var(--ps-primary);
	font-weight: 750;
	text-decoration-thickness: 1px;
}

/* Provider directory */
.ps-directory-page .entry-header {
	max-width: 54rem;
}

.ps-directory-page .entry-content > h2 {
	margin-top: 0;
	font-size: 26px;
}

.ps-directory-page .entry-content > p a {
	font-weight: 700;
}

.ps-directory-action {
	margin: 24px 0 30px !important;
}

.ps-directory-action .ps-button {
	min-height: 42px;
	padding: 9px 14px;
}

.ps-directory-sections {
	margin-top: 58px;
}

.ps-directory-section {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 40px;
	padding: 34px 0;
	border-top: 1px solid var(--ps-line);
}

.ps-directory-section:nth-child(even) {
	background: var(--ps-warm);
	box-shadow: 0 0 0 100vmax var(--ps-warm);
	clip-path: inset(0 -100vmax);
}

.ps-directory-section > h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.25;
}

.ps-provider-list {
	border-top: 1px solid var(--ps-line);
}

.ps-provider-row {
	display: grid;
	max-width: none !important;
	margin: 0 !important;
	padding: 16px 0;
	grid-template-columns: minmax(150px, 0.28fr) minmax(0, 1fr);
	gap: 24px;
	border-bottom: 1px solid var(--ps-line);
}

.ps-provider-name {
	align-self: start;
	color: var(--ps-primary);
	font-weight: 750;
	text-decoration: none;
}

.ps-provider-name:hover,
.ps-provider-name:focus-visible {
	text-decoration: underline;
}

.ps-provider-summary {
	color: var(--ps-text);
}

/* Reading pages */
.ps-profile-page article,
.ps-guide-page article,
.ps-about-page article,
.ps-legal-page article {
	max-width: 50rem;
	margin: 0 auto;
}

.ps-profile-page .entry-content > p:first-child {
	font-size: 18px;
}

.ps-profile-actions {
	display: flex;
	margin: -8px 0 36px;
	padding: 22px 0;
	flex-wrap: wrap;
	gap: 10px;
	background: var(--ps-warm);
	box-shadow: 0 0 0 100vmax var(--ps-warm);
	clip-path: inset(0 -100vmax);
}

.ps-profile-actions p {
	margin: 0 !important;
}

.ps-profile-actions .ps-button {
	min-height: 42px;
	padding: 9px 14px;
}

.ps-about-page .entry-content > p:last-child {
	margin-top: 32px;
	padding-left: 20px;
	border-left: 3px solid var(--ps-accent);
}

/* Footer and consent */
.site-footer {
	border-top: 1px solid #2d443e;
	background: var(--ps-ink);
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	min-height: 88px;
	background: transparent;
}

.site-footer,
.site-footer a,
.site-footer a:visited {
	color: #d9e4df;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: #fff;
}

#cmplz-manage-consent {
	background: var(--ps-ink);
}

#cmplz-manage-consent .cmplz-manage-consent {
	border-color: #71847d !important;
	background: transparent !important;
	color: #e8efec !important;
}

#cmplz-manage-consent .cmplz-manage-consent:hover,
#cmplz-manage-consent .cmplz-manage-consent:focus-visible {
	border-color: #b8c7c1 !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #fff !important;
}

.cmplz-cookiebanner {
	border: 1px solid var(--ps-line) !important;
	border-radius: var(--ps-radius) !important;
	box-shadow: 0 18px 60px rgba(23, 40, 36, 0.18) !important;
}

.cmplz-cookiebanner .cmplz-btn {
	min-height: 44px !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
}

.cmplz-cookiebanner .cmplz-accept {
	border-color: var(--ps-primary) !important;
	background: var(--ps-primary) !important;
}

#ast-scroll-top {
	right: 20px;
	bottom: 20px;
	width: 42px;
	height: 42px;
	border-radius: 4px;
	background: var(--ps-primary);
	box-shadow: 0 4px 14px rgba(23, 40, 36, 0.18);
}

@media (max-width: 1024px) {
	.ps-directory-section {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 28px;
	}
}

@media (max-width: 921px) {
	.ps-comparison-page .wp-block-table {
		overflow: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.ps-comparison-page .praxisselect-comparison-table tbody tr {
		border-color: #ccd8d3;
		box-shadow: 0 4px 14px rgba(23, 40, 36, 0.05);
	}

	.ps-comparison-page .praxisselect-comparison-table tbody td,
	.ps-comparison-page .praxisselect-comparison-table tbody tr:nth-child(even) td {
		background: var(--ps-surface);
	}

	.ps-comparison-page .praxisselect-comparison-table tbody .praxisselect-table-primary {
		background: var(--ps-soft);
	}
}

@media (min-width: 640px) and (max-width: 921px) {
	.ps-comparison-page .entry-content[data-ast-blocks-layout] > .wp-block-table.alignwide {
		margin-right: 0;
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.home article {
		padding: 24px 20px 64px;
	}

	.ps-home-sections {
		grid-template-columns: minmax(0, 1fr);
		gap: 38px;
	}

	.ps-home-section,
	.ps-home-section:nth-child(1),
	.ps-home-section:nth-child(2) {
		grid-column: auto;
	}

	.ps-home-section h2 {
		font-size: 27px;
	}

	.ps-page:not(.ps-home-page) .site-main {
		padding: 42px 0 68px;
	}

	.ps-page:not(.ps-home-page) .entry-title {
		font-size: 36px;
	}

	.ps-page .entry-content p,
	.ps-page .entry-content li {
		font-size: 16px;
	}

	.ps-page .entry-content > h2 {
		margin-top: 48px;
		font-size: 28px;
	}

	.ps-context-navigation {
		margin-top: 0;
	}

	.ps-directory-sections {
		margin-top: 42px;
	}

	.ps-directory-section {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 28px 0;
	}

	.ps-provider-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
		padding: 14px 0;
	}

	.ps-profile-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.ps-profile-actions .ps-button {
		width: 100%;
	}

	#ast-scroll-top {
		right: 12px;
		bottom: 12px;
	}
}

.ast-header-break-point .main-header-menu .ps-menu-primary .menu-link {
	margin: 10px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--ps-primary);
	color: #fff;
	text-align: center;
}