.wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--sp-color-layer-canvas);
	color: var(--sp-color-text-primary);
	--sp-pattern-text-strong: var(--sp-color-text-strong);
	--sp-pattern-text-primary: var(--sp-color-text-primary);
	--sp-pattern-text-muted: var(--sp-color-text-muted);
	--sp-pattern-accent: var(--sp-color-text-accent);
}

.wp-site-blocks > * {
	width: 100%;
}

.sp-site-main {
	flex: 1;
	display: grid;
	align-content: start;
	gap: 0;
	padding-block: 0;
}

.wp-site-blocks .sp-site-main > * {
	margin-block: 0;
}

.wp-site-blocks .sp-site-main > * + * {
	margin-block-start: var(--sp-layout-section-gap);
}

.wp-site-blocks .sp-site-main > :first-child {
	margin-block-start: var(--sp-layout-page-padding-block);
}

.wp-site-blocks .sp-site-main > :last-child {
	margin-block-end: var(--sp-layout-page-padding-block);
}

.wp-site-blocks .sp-site-main > :first-child:is(.alignfull, .is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand) {
	margin-block-start: 0;
}

.wp-site-blocks .sp-site-main > :last-child:is(.alignfull, .is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand) {
	margin-block-end: 0;
}

.wp-site-blocks .sp-site-main > :is(.alignfull, .is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand)
	+ :is(.alignfull, .is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand) {
	margin-block-start: 0;
}

.wp-site-blocks .sp-site-main > :not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide):not(.is-style-sp-section-subtle):not(.is-style-sp-section-gradient):not(.is-style-sp-section-brand) {
	width: min(calc(100% - var(--sp-layout-content-gutter)), var(--sp-layout-content-width));
	margin-inline: auto;
}

.wp-site-blocks .sp-site-main > .alignwide {
	width: min(calc(100% - var(--sp-layout-content-gutter)), var(--sp-layout-wide-width));
	margin-inline: auto;
}

.wp-site-blocks .sp-site-main > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	justify-self: stretch;
}

.wp-site-blocks :where(.alignfull, .is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand) {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-site-blocks .alignwide,
.wp-site-blocks .sp-site-header__bar,
.wp-site-blocks .sp-site-header__utility-inner,
.wp-site-blocks .sp-site-footer__content {
	width: min(calc(100% - var(--sp-layout-content-gutter)), var(--sp-layout-wide-width));
	margin-inline: auto;
}

.wp-site-blocks .sp-site-main > .is-style-sp-section-subtle:not(.alignwide),
.wp-site-blocks .sp-site-main > .is-style-sp-section-gradient:not(.alignwide),
.wp-site-blocks .sp-site-main > .is-style-sp-section-brand:not(.alignwide) {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	justify-self: stretch;
}

.wp-site-blocks .sp-site-main > .alignwide:is(.is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand) {
	position: relative;
	isolation: isolate;
}

.wp-site-blocks .sp-site-main > .alignwide:is(.is-style-sp-section-subtle, .is-style-sp-section-gradient, .is-style-sp-section-brand)::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset-block: 0;
	left: 50%;
	width: 100vw;
	width: 100dvw;
	background: inherit;
	transform: translateX(-50%);
	pointer-events: none;
}

.wp-block-post-content,
.wp-block-group,
.wp-block-column {
	min-width: 0;
}

.wp-block-group.is-style-sp-section-subtle,
.wp-block-columns.is-style-sp-section-subtle,
.wp-block-media-text.is-style-sp-section-subtle {
	background-color: var(--sp-color-section-subtle-bg);
	color: var(--sp-color-text-primary);
	--sp-pattern-text-strong: var(--sp-color-text-strong);
	--sp-pattern-text-primary: var(--sp-color-text-primary);
	--sp-pattern-text-muted: var(--sp-color-text-muted);
	--sp-pattern-accent: var(--sp-color-text-accent);
}

.wp-block-group.is-style-sp-section-gradient,
.wp-block-columns.is-style-sp-section-gradient,
.wp-block-media-text.is-style-sp-section-gradient {
	background: var(--sp-color-section-gradient-bg);
	color: var(--sp-color-section-brand-text);
	--sp-pattern-text-strong: var(--sp-color-section-brand-text);
	--sp-pattern-text-primary: var(--sp-color-section-brand-text);
	--sp-pattern-text-muted: var(--sp-color-section-brand-text);
	--sp-pattern-accent: var(--sp-color-section-brand-text);
}

.wp-block-group.is-style-sp-section-brand,
.wp-block-columns.is-style-sp-section-brand,
.wp-block-media-text.is-style-sp-section-brand {
	background-color: var(--sp-color-section-brand-bg);
	color: var(--sp-color-section-brand-text);
	--sp-pattern-text-strong: var(--sp-color-section-brand-text);
	--sp-pattern-text-primary: var(--sp-color-section-brand-text);
	--sp-pattern-text-muted: var(--sp-color-section-brand-muted);
	--sp-pattern-accent: var(--sp-color-section-brand-accent);
}

.is-style-sp-section-brand :where(h1, h2, h3, h4, h5, h6, .wp-block-heading),
.is-style-sp-section-gradient :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
	color: var(--sp-color-section-brand-text);
}

.is-style-sp-section-brand :where(p, li, figcaption),
.is-style-sp-section-gradient :where(p, li, figcaption) {
	color: inherit;
}

.is-style-sp-section-brand .sp-eyebrow {
	color: var(--sp-color-section-brand-accent);
}

.is-style-sp-section-gradient .sp-eyebrow {
	color: var(--sp-color-section-brand-text);
}

.is-style-sp-section-brand .has-lg-font-size {
	color: var(--sp-color-section-brand-muted);
}

.is-style-sp-section-gradient .has-lg-font-size {
	color: var(--sp-color-section-brand-text);
}

.is-style-sp-section-brand :where(a),
.is-style-sp-section-gradient :where(a) {
	color: var(--sp-color-link-inverse);
}

.is-style-sp-section-brand :where(a:hover, a:focus-visible),
.is-style-sp-section-gradient :where(a:hover, a:focus-visible) {
	color: var(--sp-color-link-inverse-hover);
}

.is-style-sp-section-brand .wp-block-button .wp-block-button__link,
.is-style-sp-section-gradient .wp-block-button .wp-block-button__link {
	border-color: var(--sp-color-section-brand-action-bg);
	background: var(--sp-color-section-brand-action-bg);
	color: var(--sp-color-section-brand-action-text);
}

.is-style-sp-section-brand .wp-block-button .wp-block-button__link:hover,
.is-style-sp-section-brand .wp-block-button .wp-block-button__link:focus-visible,
.is-style-sp-section-gradient .wp-block-button .wp-block-button__link:hover,
.is-style-sp-section-gradient .wp-block-button .wp-block-button__link:focus-visible {
	border-color: var(--sp-color-section-brand-action-hover-bg);
	background: var(--sp-color-section-brand-action-hover-bg);
	color: var(--sp-color-section-brand-action-text);
}

.is-style-sp-section-brand .wp-block-button.is-style-sp-ghost .wp-block-button__link,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-ghost .wp-block-button__link {
	border-color: var(--sp-color-border-inverse-subtle);
	background: transparent;
	color: var(--sp-color-section-brand-accent);
}

.is-style-sp-section-gradient .wp-block-button.is-style-sp-ghost .wp-block-button__link {
	border-color: var(--sp-color-border-inverse-strong);
	background: color-mix(in srgb, var(--sp-ref-color-primary-900) 34%, transparent);
	color: var(--sp-color-section-brand-text);
}

.is-style-sp-section-brand .wp-block-button.is-style-sp-ghost .wp-block-button__link:hover,
.is-style-sp-section-brand .wp-block-button.is-style-sp-ghost .wp-block-button__link:focus-visible,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-ghost .wp-block-button__link:hover,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-ghost .wp-block-button__link:focus-visible {
	border-color: var(--sp-color-border-inverse-strong);
	background: var(--sp-color-layer-brand-hover);
	color: var(--sp-color-section-brand-text);
}

.is-style-sp-section-brand .wp-block-button.is-style-sp-link .wp-block-button__link,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-link .wp-block-button__link {
	color: var(--sp-color-section-brand-accent);
}

.is-style-sp-section-brand .wp-block-button.is-style-sp-link .wp-block-button__link:hover,
.is-style-sp-section-brand .wp-block-button.is-style-sp-link .wp-block-button__link:focus-visible,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-link .wp-block-button__link:hover,
.is-style-sp-section-gradient .wp-block-button.is-style-sp-link .wp-block-button__link:focus-visible {
	color: var(--sp-color-section-brand-text);
}

.sp-site-main :where(p, li, blockquote, figcaption, .wp-block-heading) {
	overflow-wrap: anywhere;
}

.sp-content-flow,
.wp-block-post-content,
.sp-page-shell__inner,
.sp-entry-shell__inner,
.sp-query-shell,
.sp-query-shell__inner,
.sp-404-shell {
	display: block;
}

.sp-content-flow > *,
.wp-block-post-content > *,
.sp-page-shell__inner > *,
.sp-entry-shell__inner > *,
.sp-query-shell > *,
.sp-query-shell__inner > *,
.sp-404-shell > * {
	margin-block: 0;
}

.sp-content-flow > * + *,
.wp-block-post-content > * + *,
.sp-page-shell__inner > * + *,
.sp-entry-shell__inner > * + *,
.sp-query-shell > * + *,
.sp-query-shell__inner > * + *,
.sp-404-shell > * + * {
	margin-block-start: var(--sp-layout-content-gap);
}

.sp-content-flow > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.wp-block-post-content > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.sp-page-shell__inner > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.sp-entry-shell__inner > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.sp-query-shell > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.sp-query-shell__inner > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + *,
.sp-404-shell > :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + * {
	margin-block-start: var(--sp-layout-heading-follow-gap);
}

.sp-content-flow > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.wp-block-post-content > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.sp-page-shell__inner > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.sp-entry-shell__inner > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.sp-query-shell > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.sp-query-shell__inner > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child),
.sp-404-shell > :where(h2, h3, h4, h5, h6, .wp-block-heading):not(:first-child) {
	margin-block-start: var(--sp-layout-heading-pre-gap);
}

.wp-block-post-content blockquote {
	margin: 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--sp-color-text-accent);
	background: var(--sp-color-layer-1);
	border-radius: 0 var(--sp-layout-radius-md) var(--sp-layout-radius-md) 0;
}

.wp-block-post-content blockquote p {
	margin: 0;
	font-family: var(--sp-type-family-heading);
	color: var(--sp-color-text-strong);
}

.wp-block-accordion {
	width: 100%;
	max-width: 100%;
	border-top: 1px solid var(--sp-color-border-subtle);
}

.wp-block-accordion-item {
	min-width: 0;
	border-bottom: 1px solid var(--sp-color-border-subtle);
}

.wp-block-accordion-heading {
	margin: 0;
	font-family: var(--sp-type-family-sans);
}

.wp-block-accordion-heading__toggle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-space-2);
	width: calc(100% + (var(--sp-space-1) * 2));
	min-height: 3rem;
	margin-inline: calc(var(--sp-space-1) * -1);
	padding: var(--sp-space-1);
	border: 0;
	border-radius: var(--sp-layout-radius-sm);
	background: transparent;
	color: var(--sp-color-text-strong);
	--sp-accordion-heading-hover-color: color-mix(in srgb, var(--sp-color-text-strong) 78%, var(--sp-color-text-accent) 22%);
	cursor: pointer;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: var(--sp-type-line-height-copy);
	text-align: left;
	text-decoration: none;
}

.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus-visible {
	color: var(--sp-accordion-heading-hover-color);
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:focus-visible .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.wp-block-accordion-heading__toggle-title {
	min-width: 0;
	font-size: 1.125rem;
	font-weight: 400;
	overflow-wrap: anywhere;
}

.wp-block-accordion-heading__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	min-width: 1.25rem;
	height: 1.25rem;
	overflow: hidden;
	color: var(--sp-color-text-muted);
	font-size: 1rem;
	line-height: 0;
	transform: rotate(0deg);
	transform-origin: center;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-heading__toggle:focus-visible .wp-block-accordion-heading__toggle-icon {
	color: var(--sp-accordion-heading-hover-color);
}

.wp-block-accordion-heading__toggle-icon-svg {
	width: 1em;
	height: 1em;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(180deg);
}

.wp-block-accordion-panel {
	box-sizing: border-box;
	display: block;
	max-width: 100%;
	max-height: 0;
	overflow: hidden;
	padding: 0;
	color: var(--sp-color-text-primary);
	opacity: 0;
	visibility: hidden;
}

.wp-block-accordion-panel[inert] {
	display: block;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-panel {
	max-height: var(--sp-accordion-panel-height, none);
	opacity: 1;
	visibility: visible;
}

.wp-block-accordion-panel > :first-child {
	margin-top: 0;
}

.wp-block-accordion-panel > * {
	max-width: 100%;
}

.wp-block-accordion-panel > :last-child {
	margin-bottom: var(--sp-space-2);
}

@media (max-width: 37.5rem) {
	.wp-block-accordion-heading__toggle {
		gap: var(--sp-space-1);
		min-height: 2.75rem;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.wp-block-accordion-heading__toggle,
	.wp-block-accordion-heading__toggle-icon {
		transition:
			color 160ms ease,
			transform 180ms ease;
	}

	.wp-block-accordion-panel {
		transition:
			max-height 220ms cubic-bezier(0.2, 0, 0.38, 0.9),
			opacity 160ms ease,
			visibility 0s linear 220ms;
	}

	.wp-block-accordion-item.is-open > .wp-block-accordion-panel {
		transition:
			max-height 240ms cubic-bezier(0.2, 0, 0.38, 0.9),
			opacity 180ms ease 60ms,
			visibility 0s;
	}
}

.wp-block-post-featured-image img,
.wp-block-image img {
	border-radius: var(--sp-layout-radius-lg);
}

.wp-block-video {
	border-radius: var(--sp-layout-radius-lg);
	overflow: hidden;
}

.wp-block-video video {
	display: block;
	width: 100%;
	border-radius: inherit;
}

.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: var(--sp-space-3);
}

.wp-block-query-pagination a,
.wp-block-query-pagination span {
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--sp-color-border-subtle);
	border-radius: var(--sp-layout-radius-sm);
	text-decoration: none;
}

.gform-theme--framework.gform_wrapper {
	--sp-form-max-width: min(100%, 42rem);
	--sp-form-field-max-width: 34rem;
	/* Gravity Forms' framework variables are a third-party integration boundary. */
	--gf-color-primary: var(--sp-color-action-primary-bg) !important;
	--gf-color-primary-contrast: var(--sp-color-action-primary-text) !important;
	--gf-color-in-ctrl: var(--sp-color-layer-input) !important;
	--gf-color-in-ctrl-contrast: var(--sp-color-text-primary) !important;
	--gf-color-out-ctrl-dark: var(--sp-color-text-muted) !important;
	--gf-form-gap-y: var(--sp-space-3) !important;
	--gf-field-gap-y: var(--sp-space-2) !important;
	--gf-form-footer-margin-y-start: var(--sp-space-2) !important;
	--gf-label-space-primary: 0.35rem !important;
	--gf-label-choice-field-space-primary: 0.45rem !important;
	--gf-label-space-x-secondary: 0.55rem !important;
	--gf-label-space-y-secondary: 0 !important;
	--gf-radius: var(--sp-layout-radius-sm) !important;
	--gf-ctrl-bg-color: var(--sp-color-layer-input) !important;
	--gf-ctrl-bg-color-focus: var(--sp-color-layer-input) !important;
	--gf-ctrl-border-color: var(--sp-color-border-subtle) !important;
	--gf-ctrl-border-color-focus: var(--sp-color-action-primary-bg) !important;
	--gf-ctrl-color: var(--sp-color-text-primary) !important;
	--gf-ctrl-placeholder-color: var(--sp-color-text-muted) !important;
	--gf-ctrl-radius: var(--sp-layout-radius-sm) !important;
	--gf-ctrl-label-color-primary: var(--sp-color-text-strong) !important;
	--gf-ctrl-label-color-secondary: var(--sp-color-text-muted) !important;
	--gf-ctrl-label-font-size-primary: var(--sp-type-size-body) !important;
	--gf-ctrl-label-font-weight-primary: 600 !important;
	--gf-ctrl-label-font-weight-req: 600 !important;
	--gf-ctrl-desc-color: var(--sp-color-text-muted) !important;
	--gf-ctrl-desc-font-size: var(--sp-type-size-meta) !important;
	--gf-ctrl-btn-bg-color-primary: var(--sp-color-action-primary-bg) !important;
	--gf-ctrl-btn-color-primary: var(--sp-color-action-primary-text) !important;
	--gf-ctrl-btn-radius: var(--sp-layout-radius-sm) !important;

	width: 100%;
	max-width: var(--sp-form-max-width);
	margin-inline: 0;
	color: var(--sp-color-text-primary);
}

.wp-site-blocks .sp-site-main > .gform-theme--framework.gform_wrapper:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide) {
	max-width: none;
	margin-inline: auto;
}

.gform-theme--framework .gfield {
	max-width: var(--sp-form-field-max-width);
}

.gform-theme--framework .gfield--type-choice {
	--gf-ctrl-choice-check-color: var(--sp-color-action-primary-bg);
}

.wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.wp-block-navigation-item__content {
	text-decoration: none;
}

.wp-block-navigation__responsive-container {
	color: var(--sp-color-text-strong);
	background: var(--sp-color-layer-canvas);
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--sp-space-3);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
}

.sp-page-shell,
.sp-entry-shell,
.sp-query-shell,
.sp-404-shell {
	padding-block: 0;
}

.sp-query-grid {
	display: grid;
	gap: var(--sp-space-3);
}

@media (min-width: 760px) {
	.sp-query-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
