/* Page Manager finish layer for FreeholdCMS.com v3.
 * This stylesheet loads after the module defaults. It preserves the accepted
 * hero cascade and owns the compact visual hierarchy below the hero. */
.cms-page-shell {
	width: 100%;
	inline-size: min(100%, var(--theme-content));
	max-width: none;
	margin-inline: auto;
	color: var(--theme-text);
}

/* Keep the breadcrumb separator intact while bringing the first task-bearing
 * block closer on public subpages. The homepage rhythm remains protected. */
.fhc-site:not(.homepage):not(.page-home) .cms-page-shell {
	padding-top: clamp(.8rem, 1.55vw, 1.4rem);
}

.fhc-site:not(.homepage):not(.page-home) .cms-page-shell > :first-child:not(.cms-page-hero) {
	margin-top: clamp(.65rem, 1vw, .8rem);
}

/* Preserve the accepted v2 hero presentation from the prior release. */
.cms-page-hero {
	display: grid;
	margin-block-end: 1.25rem;
	padding: clamp(1.2rem, 4vw, 2.25rem);
	border: 1px solid var(--theme-line);
	border-block-start: .3rem solid var(--theme-accent);
	background: var(--theme-surface);
	box-shadow: var(--theme-shadow);
}

.cms-page-hero p {
	color: var(--theme-muted);
}

.cms-page-hero .cms-page-button {
	display: inline-flex;
	min-block-size: 2.7rem;
	align-items: center;
	justify-content: center;
	padding: .55rem .9rem;
	border: 1px solid var(--theme-accent-dark);
	background: var(--theme-accent-dark);
	color: var(--cms-color-on-accent);
	font-weight: 750;
	text-decoration: none;
}

/* Shared below-hero block frame. */
.cms-page-rich-text,
.cms-page-callout,
.cms-page-image,
.cms-page-image-text,
.cms-page-quote,
.cms-page-features,
.cms-page-columns,
.cms-page-media,
.cms-page-contact,
.cms-widget,
.cms-page-empty {
	width: min(calc(100% - 2.5rem), 1120px);
	max-width: none;
	margin: clamp(.9rem, 1.6vw, 1.35rem) auto 0;
	padding: clamp(1.1rem, 1.8vw, 1.5rem);
	border: 1px solid var(--cms-color-border);
	border-radius: 0;
	background: var(--cms-color-surface-raised);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--cms-color-surface-inverse) 8%, transparent);
}

.cms-page-shell > :not(.cms-page-hero) {
	font-size: 1rem;
	line-height: 1.62;
}

.cms-page-shell > :not(.cms-page-hero) h2 {
	margin: 0 0 .65rem;
	font-size: clamp(1.35rem, 1.7vw, 1.68rem);
	line-height: 1.17;
}

.cms-page-shell > :not(.cms-page-hero) h3 {
	margin: .95rem 0 .3rem;
	font-size: clamp(1.04rem, 1.15vw, 1.16rem);
	line-height: 1.28;
}

.cms-page-shell > :not(.cms-page-hero) h4 {
	font-size: 1.05rem;
	line-height: 1.3;
}

.cms-page-shell > :not(.cms-page-hero) :is(p, ul, ol, dl) {
	margin-bottom: .72rem;
}

.cms-page-shell > :not(.cms-page-hero) li {
	margin-block: .12rem;
}

.cms-page-rich-text {
	border-inline-start: 4px solid var(--cms-color-accent);
}

.cms-page-hero + .cms-page-rich-text {
	margin-top: clamp(1.2rem, 2.1vw, 1.8rem);
	background: color-mix(in srgb, var(--cms-color-surface-raised) 86%, var(--cms-color-surface-subtle));
	box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 13%, transparent);
}

.cms-page-rich-text + .cms-page-rich-text {
	margin-top: .7rem;
}

.cms-page-rich-text h2,
.cms-page-rich-text h3 {
	max-width: 42ch;
}

.cms-page-rich-text > :first-child,
.cms-page-columns > * > :first-child {
	margin-top: 0;
}

.cms-page-rich-text > :last-child,
.cms-page-columns > * > :last-child,
.cms-page-callout > :last-child,
.cms-page-features > :last-child,
.cms-widget-card > :last-child {
	margin-bottom: 0;
}

/* Headings and their following copy read as one deliberate section. */
.cms-page-heading {
	width: min(calc(100% - 2.5rem), 1120px);
	margin: clamp(1.3rem, 2.2vw, 1.85rem) auto 0;
	padding: .78rem clamp(1.1rem, 1.8vw, 1.5rem);
	border: 1px solid var(--cms-color-border);
	border-inline-start: 5px solid var(--cms-color-highlight);
	border-radius: 0;
	background: var(--cms-color-highlight-soft);
	color: var(--cms-color-text);
	font-size: clamp(1.35rem, 1.7vw, 1.68rem);
	line-height: 1.17;
	text-align: left;
	box-shadow: none;
}

.cms-page-heading + .cms-page-rich-text {
	margin-top: -1px;
	border-top: 0;
	border-inline-start: 5px solid var(--cms-color-highlight);
	box-shadow: none;
}

/* Two-column content stays editorial and content-height driven. */
.fhc-site .cms-page-shell > .cms-page-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(.75rem, 1.5vw, 1.1rem);
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site .cms-page-shell > .cms-page-columns > * {
	min-width: 0;
	padding: clamp(1.05rem, 1.8vw, 1.45rem);
	border: 1px solid var(--cms-color-border);
	border-block-start: 4px solid var(--cms-color-accent);
	border-radius: 0;
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	box-shadow: none;
}

.fhc-site .cms-page-shell > .cms-page-columns > :nth-child(even) {
	border-block-start-color: var(--cms-color-secondary-accent);
	background: color-mix(in srgb, var(--cms-color-secondary-accent-soft) 58%, var(--cms-color-surface-raised));
	color: var(--cms-color-text);
}

.fhc-site .cms-page-shell > .cms-page-columns :is(h2, h3) {
	color: var(--cms-color-text);
}

.fhc-site .cms-page-shell > .cms-page-columns :is(p, li) {
	color: var(--cms-color-text-soft);
}

.fhc-site .cms-page-shell > .cms-page-columns a {
	color: var(--cms-color-accent-strong);
}

.fhc-site .cms-page-shell > .cms-page-columns > * > h2 + p:has(> strong:only-child) {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 .7rem;
	padding: .28rem .5rem;
	border: 1px solid color-mix(in srgb, var(--cms-color-highlight) 42%, var(--cms-color-border));
	background: color-mix(in srgb, var(--cms-color-highlight-soft) 58%, var(--cms-color-surface-raised));
	color: var(--cms-color-text);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .09em;
	line-height: 1.35;
	text-transform: uppercase;
}

.fhc-site .cms-page-shell > .cms-page-columns h2 {
	max-width: 24ch;
}

/* Generic feature lists use a consistent heading bar and an even card grid. */
.fhc-site .cms-page-features:not(.cms-v3-assurance) {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: .75rem;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > h2 {
	display: flex;
	grid-column: 1 / -1;
	max-width: none;
	align-items: center;
	margin: 0;
	padding: clamp(1.15rem, 2vw, 1.6rem);
	border-inline-start: 6px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: auto;
	align-items: start;
	gap: .75rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
	counter-reset: cms-feature;
}

/* This stylesheet precedes the consolidated theme file, so the direct-shell
 * scope keeps content-height rows authoritative without widening the rule. */
.fhc-site .cms-page-shell > .cms-page-features:not(.cms-v3-assurance) > ul {
	grid-auto-rows: auto;
	align-items: start;
}

.fhc-site .cms-page-shell > .cms-page-features:not(.cms-v3-assurance) > ul > li {
	min-height: 0;
	height: auto;
	align-self: start;
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul:first-child {
	grid-column: 1 / -1;
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li {
	position: relative;
	min-height: 0;
	margin: 0;
	padding: .86rem 1rem .86rem 3.2rem;
	border: 1px solid var(--cms-color-border);
	border-radius: 0;
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	counter-increment: cms-feature;
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li p {
	color: var(--cms-color-text-soft);
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li::before {
	position: absolute;
	top: .92rem;
	left: 1rem;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .08em;
	content: counter(cms-feature, decimal-leading-zero);
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li:nth-child(4n + 2) {
	background: var(--cms-color-pastel-sage);
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li:nth-child(4n + 3) {
	background: var(--cms-color-pastel-lilac);
}

.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul > li:nth-child(4n) {
	background: var(--cms-color-secondary-accent-soft);
}

.cms-page-callout {
	display: grid;
	grid-template-columns: minmax(14rem, .48fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1rem, 2vw, 1.6rem);
	border-inline-start: 5px solid var(--cms-color-highlight);
	background: var(--cms-color-highlight-soft);
	color: var(--cms-color-text);
	box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-highlight) 15%, transparent);
}

.cms-page-callout h2,
.cms-page-callout p {
	margin: 0;
}

.cms-page-callout p {
	align-self: center;
	max-width: 68ch;
	color: var(--cms-color-text-soft);
}

/* CTAs attach to the content they advance instead of floating in empty space. */
.cms-page-button,
.cms-page-button-row a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.cms-page-button-row {
	display: flex;
	width: min(calc(100% - 2.5rem), 1120px);
	max-width: none;
	align-items: center;
	justify-content: flex-start;
	gap: .65rem;
	flex-wrap: wrap;
	margin: .7rem auto 1.15rem;
	padding: 0;
	border: 0;
	background: transparent;
}

.cms-page-rich-text + .cms-page-button-row,
.cms-page-features + .cms-page-button-row,
.cms-page-callout + .cms-page-button-row,
.cms-page-columns + .cms-page-button-row,
.cms-widget + .cms-page-button-row,
.cms-page-button-row + .cms-page-button-row {
	margin-top: -1px;
	padding: .75rem 1.1rem .9rem;
	border: 1px solid var(--cms-color-border);
	border-top: 0;
	background: var(--cms-color-surface-subtle);
}

.cms-page-button-row:has(+ .cms-page-button-row) {
	margin-bottom: 0;
}

.cms-page-button-row + .cms-page-button-row {
	padding-top: .35rem;
}

.cms-page-button-row .cms-page-button {
	min-height: 44px;
	margin-top: 0;
	padding: .58rem 1rem;
	border: 1px solid var(--cms-color-accent-strong);
	border-radius: 0;
	background: var(--cms-color-accent-strong);
	color: var(--cms-color-on-accent);
	font-weight: 750;
	letter-spacing: .012em;
	text-decoration: none;
	box-shadow: 4px 4px 0 color-mix(in srgb, var(--cms-color-accent) 18%, transparent);
}

.cms-page-button-row .cms-page-button:hover {
	border-color: var(--cms-color-secondary-accent);
	background: var(--cms-color-secondary-accent);
	color: var(--cms-color-on-accent);
}

.cms-page-button-row + .cms-page-button-row .cms-page-button {
	border-color: var(--cms-color-accent-strong);
	background: transparent;
	color: var(--cms-color-accent-strong);
	box-shadow: none;
}

.cms-page-button-row + .cms-page-button-row .cms-page-button:hover {
	background: var(--cms-color-accent-strong);
	color: var(--cms-color-on-accent);
}

/* Dense rich-text facts become a calm, numbered question-and-answer list. */
.cms-page-rich-text:has(> h3) {
	overflow: hidden;
	padding: 0;
	border-inline-start-width: 1px;
	background: var(--cms-color-surface-raised);
	counter-reset: cms-question;
}

.cms-page-rich-text:has(> h3) > h2 {
	max-width: none;
	margin: 0;
	padding: .9rem 1.2rem;
	border-bottom: 1px solid var(--cms-color-border);
	border-inline-start: 5px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-subtle);
}

.cms-page-rich-text:has(> h3) > h3 {
	position: relative;
	max-width: none;
	margin: 0;
	padding: .78rem 1.2rem .16rem 3.45rem;
	border-top: 1px solid color-mix(in srgb, var(--cms-color-border) 68%, transparent);
	background: var(--cms-color-surface-raised);
	counter-increment: cms-question;
}

.cms-page-rich-text:has(> h3) > h2 + h3 {
	border-top: 0;
}

.cms-page-rich-text:has(> h3) > h3::before {
	position: absolute;
	top: .83rem;
	left: 1.15rem;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .08em;
	content: counter(cms-question, decimal-leading-zero);
}

.cms-page-rich-text:has(> h3) > p {
	max-width: none;
	margin: 0;
	padding: .72rem 1.2rem;
	background: var(--cms-color-surface-raised);
}

.cms-page-rich-text:has(> h3) > h3 + p {
	max-width: none;
	margin: 0;
	padding: 0 1.2rem .78rem 3.45rem;
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text-soft);
}

.cms-page-rich-text:has(> h3) > h3:nth-of-type(even),
.cms-page-rich-text:has(> h3) > h3:nth-of-type(even) + p {
	background: color-mix(in srgb, var(--cms-color-surface-subtle) 58%, var(--cms-color-surface-raised));
}

/* Ordered owner workflows read as compact, explicit steps. */
.cms-page-rich-text:has(> ol) {
	overflow: hidden;
	padding: 0;
	border-inline-start-width: 1px;
}

.cms-page-rich-text:has(> ol) > h2 {
	max-width: none;
	margin: 0;
	padding: .9rem 1.2rem;
	border-bottom: 1px solid var(--cms-color-border);
	border-inline-start: 5px solid var(--cms-color-accent);
	background: var(--cms-color-pastel-sage);
}

.cms-page-rich-text:has(> ol) > ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	background: var(--cms-color-border);
	list-style: none;
	counter-reset: cms-step;
}

.cms-page-rich-text:has(> ol) > ol > li {
	position: relative;
	min-height: 4.5rem;
	margin: 0;
	padding: .82rem 1rem .82rem 3.35rem;
	background: var(--cms-color-surface-raised);
	counter-increment: cms-step;
}

.cms-page-rich-text:has(> ol) > ol > li::before {
	position: absolute;
	top: .83rem;
	left: 1rem;
	display: grid;
	width: 1.55rem;
	height: 1.55rem;
	place-items: center;
	border: 1px solid var(--cms-color-accent);
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	content: counter(cms-step);
}

.cms-page-rich-text:has(> ol) > ol > li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

/* Media, quotes, forms and widgets use the same compact architecture. */
.cms-page-image {
	padding: .72rem;
}

.cms-page-image img,
.cms-page-media video,
.cms-page-media audio {
	display: block;
	width: 100%;
	inline-size: 100%;
	height: auto;
	block-size: auto;
}

.cms-page-image figcaption,
.cms-page-quote cite,
.cms-widget-intro {
	color: var(--theme-muted);
}

.cms-page-image figcaption {
	padding: .58rem .35rem 0;
}

.cms-page-quote {
	border-inline-start: 5px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-subtle);
}

.cms-page-quote p {
	max-width: 62ch;
	font-size: 1.08rem;
}

.cms-page-image-text {
	display: grid;
	min-height: 0;
	grid-template-columns: minmax(16rem, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(1.1rem, 2.5vw, 2rem);
}

.cms-page-image-text::after {
	display: none;
}

.cms-page-image-text.image-right {
	grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .9fr);
}

.cms-page-image-text.image-right figure {
	grid-column: 2;
	grid-row: 1 / span 20;
}

.cms-page-image-text.image-left figure {
	grid-row: 1 / span 20;
}

.cms-page-image-text figure {
	width: 100%;
	inline-size: 100%;
	margin: 0;
	float: none;
}

.cms-page-image-text img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 7px 18px var(--freehold-shadow-color);
}

.cms-page-image-text h2 {
	align-self: end;
	margin-bottom: 0;
}

.cms-page-contact .contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.cms-page-contact .form-group.full-width {
	grid-column: 1 / -1;
}

.cms-widget-content,
.cms-widget-store-featured {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: var(--cms-color-border);
}

/* The Contact page embeds one Form Builder shell. Keep that single child out
 * of the generic two-column widget-card grid and preserve all form behavior. */
.fhc-site .cms-page-shell > .cms-widget:has(> .cms-widget-content > .site-contact-form) {
	width: min(calc(100% - 2.5rem), 56rem);
	margin: clamp(.75rem, 1.2vw, 1rem) auto 0;
	padding: clamp(1.2rem, 2.5vw, 1.85rem);
	border: 1px solid var(--cms-color-border);
	border-block-start: 5px solid var(--cms-color-accent);
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	box-shadow: 6px 7px 0 color-mix(in srgb, var(--cms-color-surface-inverse) 9%, transparent);
}

.fhc-site .cms-page-shell > .cms-widget > .cms-widget-content:has(> .site-contact-form) {
	display: block;
	grid-template-columns: none;
	gap: 0;
	padding: 0;
	background: transparent;
}

.fhc-site .cms-page-shell .site-contact-form {
	--ff-radius: 4px;
	--ff-radius-small: 4px;
	width: 100%;
	color: var(--cms-color-text);
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form-grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: .9rem 1rem;
}

.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_contact_name"],
.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_4de1c7316c0c7025cc23"] {
	grid-column: span 6;
}

.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_contact_subject"],
.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_aebf6d1f81a1cb241c68"] {
	grid-column: 1 / -1;
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form-label {
	margin-bottom: .35rem;
	color: var(--cms-color-text);
	font-size: .875rem;
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="url"],
	textarea,
	select
) {
	min-height: 44px;
	padding: .62rem .72rem;
	border-radius: 4px;
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form textarea {
	min-height: 9rem;
	resize: vertical;
}

.fhc-site .cms-page-shell .site-contact-form :is(.freehold-form-description, .freehold-form-file-note) {
	color: var(--cms-color-text-muted);
	font-size: .875rem;
	line-height: 1.45;
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form-actions {
	justify-content: flex-start;
	margin-top: 1rem;
	padding-top: .8rem;
	border-top: 1px solid var(--cms-color-border);
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form-button.is-primary {
	min-height: 44px;
	padding: .68rem 1rem;
	border-radius: 4px;
}

.fhc-site .cms-page-shell .site-contact-form .freehold-form-status {
	border-inline-start: 4px solid currentColor;
	border-radius: 0;
}

.cms-widget-card {
	min-width: 0;
	padding: 1rem;
	border: 0;
	border-radius: 0;
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	box-shadow: none;
}

.cms-widget-card:nth-child(3n + 2) {
	background: var(--cms-color-pastel-sage);
}

.cms-widget-card:nth-child(3n) {
	background: var(--cms-color-pastel-lilac);
}

.cms-widget-card :is(p, li) {
	color: var(--cms-color-text-soft);
}

.cms-widget-card > span:first-child,
.cms-widget-card .cms-widget-label {
	margin-bottom: .35rem;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cms-widget-card :is(h2, h3, h4) {
	margin-bottom: .4rem;
	font-size: 1.08rem;
}

.cms-widget-card :is(h2, h3, h4) a {
	color: var(--cms-color-text);
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}

.cms-page-divider {
	width: min(calc(100% - 2.5rem), 1120px);
	margin-block: clamp(1.5rem, 2.6vw, 2.15rem);
	border: 0;
	border-block-start: 1px solid var(--theme-line);
}

@media (max-width: 56.25rem) {
	.fhc-site .cms-page-shell > .cms-page-columns,
	.cms-page-features,
	.cms-page-callout,
	.cms-page-image-text,
	.cms-page-image-text.image-right {
		grid-template-columns: 1fr;
	}

	.fhc-site .cms-page-features > h2 {
		max-width: none;
	}

	.fhc-site .cms-page-features > ul {
		grid-column: 1;
	}

	.cms-page-image-text.image-right figure,
	.cms-page-image-text.image-left figure {
		grid-column: auto;
		grid-row: auto;
	}
}

@media (max-width: 46rem) {
	.cms-page-rich-text,
	.cms-page-callout,
	.cms-page-image,
	.cms-page-image-text,
	.cms-page-quote,
	.cms-page-features,
	.cms-page-columns,
	.cms-page-media,
	.cms-page-contact,
	.cms-widget,
	.cms-page-empty,
	.cms-page-heading,
	.cms-page-button-row,
	.cms-page-divider {
		width: calc(100% - 1.5rem);
	}

	.fhc-site .cms-page-features > ul,
	.cms-widget-content,
	.cms-widget-store-featured,
	.cms-page-rich-text:has(> ol) > ol {
		grid-template-columns: 1fr;
	}

	.fhc-site .cms-page-features:not(.cms-v3-assurance) > ul {
		grid-auto-rows: auto;
	}

	.cms-page-rich-text:has(> ol) > ol > li:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.cms-page-rich-text:has(> h3) > h3 {
		padding-inline: 3rem 1rem;
	}

	.cms-page-rich-text:has(> h3) > h3::before {
		left: .9rem;
	}

	.cms-page-rich-text:has(> h3) > p {
		padding-inline: 1rem;
	}

	.cms-page-rich-text:has(> h3) > h3 + p {
		padding-inline: 3rem 1rem;
	}

	.cms-page-contact .contact-form {
		grid-template-columns: 1fr;
	}

	.cms-page-contact .form-group.full-width {
		grid-column: auto;
	}

	.cms-page-button-row .cms-page-button {
		width: 100%;
	}

	.cms-page-columns,
	.cms-page-features,
	.cms-page-callout {
		box-shadow: none;
	}

	table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}

@media (max-width: 45rem) {
	.fhc-site .cms-page-shell > .cms-widget:has(> .cms-widget-content > .site-contact-form) {
		width: calc(100% - 1.5rem);
		padding: 1.1rem;
		box-shadow: none;
	}

	.fhc-site .cms-page-shell .site-contact-form .freehold-form-grid {
		grid-template-columns: 1fr;
		gap: .8rem;
	}

	.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_contact_name"],
	.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_4de1c7316c0c7025cc23"],
	.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_contact_subject"],
	.fhc-site .cms-page-shell .site-contact-form [data-ff-field][data-field-key="fld_aebf6d1f81a1cb241c68"] {
		grid-column: 1 / -1 !important;
	}

	.fhc-site .cms-page-shell .site-contact-form .freehold-form textarea {
		min-height: 8.5rem;
	}
}

@media (max-width: 30rem) {
	.fhc-site .cms-page-shell .site-contact-form .freehold-form-button.is-primary {
		width: 100%;
	}
}

/* Shared rhythm for the verified homepage renderer roles. */
.fhc-site.homepage .cms-page-shell > .cms-v3-section {
	width: min(calc(100% - 2.5rem), 1120px);
	margin: clamp(2rem, 4.2vw, 4.25rem) auto 0;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-section :is(h2, h3, p, ul) {
	max-width: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-section h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3.2vw, 2.75rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-section h3 {
	margin: 0;
	font-size: clamp(1.05rem, 1.55vw, 1.3rem);
	line-height: 1.2;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-section p {
	line-height: 1.58;
}

@media (max-width: 640px) {
	.fhc-site.homepage .cms-page-shell > .cms-v3-section {
		width: calc(100% - 1.5rem);
		margin-top: 2rem;
	}
}

/* V3.0.2 offer grids. These rules are limited to the two verified sales routes
 * and use sanitizer-safe rich-text lists: one direct UL, one LI per offer. */
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) {
	padding: 0;
	border: 0;
	border-inline-start: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > h2 {
	max-width: 24ch;
	font-size: clamp(1.65rem, 2.7vw, 2.35rem);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > h2 + p {
	max-width: 68ch;
	color: var(--cms-color-text-soft);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: auto;
	align-items: start;
	gap: 1rem;
	margin: 1.2rem 0 0;
	padding: 0;
	background: transparent;
	list-style: none;
	counter-reset: none;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li {
	display: flex;
	min-width: 0;
	height: auto;
	align-self: start;
	flex-direction: column;
	margin: 0;
	padding: clamp(1.15rem, 2vw, 1.5rem);
	border: 1px solid var(--cms-color-border);
	border-block-start: 5px solid var(--cms-color-accent);
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 11%, transparent);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:nth-child(4n + 2) {
	border-block-start-color: var(--cms-color-accent-strong);
	background: var(--cms-color-pastel-sage);
	color: var(--cms-color-text);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:nth-child(4n + 3) {
	border-block-start-color: var(--cms-color-secondary-accent);
	background: var(--cms-color-pastel-lilac);
	color: var(--cms-color-text);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:nth-child(4n) {
	border-block-start-color: var(--cms-color-secondary-accent);
	background: var(--cms-color-secondary-accent-soft);
	color: var(--cms-color-text);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child {
	border-block-start-color: var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:first-child {
	margin: 0 0 .45rem;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .11em;
	line-height: 1.3;
	text-transform: uppercase;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > p:first-child {
	color: var(--cms-color-highlight);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > :is(h2, h3) {
	max-width: none;
	margin: 0 0 .65rem;
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	line-height: 1.12;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > :is(h2, h3),
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > :is(h2, h3) a {
	color: var(--cms-color-text-inverse);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > :is(h2, h3) + p {
	margin: 0 0 .85rem;
	color: var(--cms-color-accent-strong);
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > :is(h2, h3) + p > :is(strong, ins),
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li .fhc-launch-price,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li .fhc-offer-launch-price,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li .fhc-bundle-price {
	display: inline-block;
	color: inherit;
	font-size: clamp(1.4rem, 2.3vw, 1.85rem);
	font-weight: 900;
	text-decoration: none;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > :is(h2, h3) + p > del,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li .fhc-list-price,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li .fhc-offer-list-price {
	display: inline-block;
	margin-inline-end: .45rem;
	color: var(--cms-color-text-muted);
	font-size: .88rem;
	font-weight: 750;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > :is(h2, h3) + p,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > :is(h2, h3) + p > del,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child .fhc-list-price,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child .fhc-offer-list-price {
	color: var(--cms-color-text-inverse-muted);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p {
	max-width: none;
	margin: 0 0 .7rem;
	line-height: 1.5;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > p {
	color: var(--cms-color-text-inverse-muted);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child:has(> a),
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child {
	margin-top: .65rem;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child:has(> a) {
	display: grid;
	gap: .55rem;
	padding-top: .45rem;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child > a,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: .58rem .85rem;
	border: 1px solid var(--cms-color-accent-strong);
	background: transparent;
	color: var(--cms-color-accent-strong);
	font-weight: 850;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child > a:last-child,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child {
	background: var(--cms-color-accent-strong);
	color: var(--cms-color-on-accent);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child > a:hover,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child:hover {
	border-color: var(--cms-color-secondary-accent);
	background: var(--cms-color-secondary-accent);
	color: var(--cms-color-on-accent);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > p:last-child > a,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > a:last-child {
	border-color: var(--cms-color-highlight);
	color: var(--cms-color-highlight);
}

.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > p:last-child > a:last-child,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > a:last-child,
.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child > p:last-child > a:hover {
	background: var(--cms-color-highlight);
	color: var(--cms-color-on-highlight);
}

@media (max-width: 960px) {
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li {
		height: auto;
		box-shadow: none;
	}

	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child > a,
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child {
		width: 100%;
	}
}

@media (forced-colors: active) {
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li,
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li:first-child,
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > p:last-child > a,
	.fhc-site.cms-v3-offers-page .cms-page-shell > .cms-page-rich-text:has(> ul > li > :is(h2, h3)) > ul > li > a:last-child {
		border: 1px solid ButtonText;
		background: Canvas;
		color: CanvasText;
		box-shadow: none;
	}
}

/* V3.0.1 semantic transitions: the shape and color explain the section role. */
.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) {
	display: grid;
	grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
	align-items: end;
	gap: clamp(1rem, 3vw, 3rem);
	padding: clamp(1.5rem, 3.5vw, 2.75rem);
	border-inline-start-width: 6px;
	border-inline-start-color: var(--cms-color-accent);
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
	box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 18%, transparent);
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > h1 {
	grid-column: 1;
	grid-row: 1;
	max-width: 18ch;
	margin: 0;
	color: var(--cms-color-text-inverse);
	font-size: clamp(1.9rem, 3.4vw, 3rem);
	line-height: 1.06;
	letter-spacing: -.025em;
}

/* Keep supporting intro copy together in the right column. The heading spans
 * the exact number of content rows used by current one-, two- and three-copy
 * introductions instead of leaving later paragraphs under the heading. */
.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > :not(h1) {
	grid-column: 2;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child:nth-last-child(3)) > h1 {
	grid-row-end: span 2;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child:nth-last-child(4)) > h1 {
	grid-row-end: span 3;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > p {
	max-width: 66ch;
	margin: 0;
	color: var(--cms-color-text-inverse-muted);
	font-size: clamp(1rem, 1.35vw, 1.12rem);
	line-height: 1.62;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > h1 + p:has(> strong:only-child) {
	display: inline-flex;
	width: fit-content;
	justify-self: start;
	padding: .3rem .55rem;
	border: 1px solid color-mix(in srgb, var(--cms-color-highlight) 64%, transparent);
	background: color-mix(in srgb, var(--cms-color-highlight) 16%, var(--cms-color-surface-inverse));
	color: var(--cms-color-highlight);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .1em;
	line-height: 1.35;
	text-transform: uppercase;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) a {
	color: var(--cms-color-highlight);
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) a:hover {
	color: var(--cms-color-highlight);
	text-decoration-thickness: .13em;
}

.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) a:focus-visible {
	color: var(--cms-color-highlight);
	outline-color: var(--cms-color-focus-inverse);
}

/* Gold bars always carry an important boundary, requirement or trust promise. */
.cms-page-callout {
	min-height: 7.5rem;
	grid-template-columns: minmax(15rem, .48fr) minmax(0, 1fr);
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.cms-page-callout > h2 {
	display: flex;
	height: 100%;
	align-items: center;
	padding: clamp(1.2rem, 2.4vw, 1.8rem);
	background: color-mix(in srgb, var(--cms-color-highlight) 13%, transparent);
}

.cms-page-callout > p {
	padding: clamp(1.2rem, 2.4vw, 1.8rem);
}

/* The homepage purchase promise is a single dark bridge, not a repeated card row. */
.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > h2 {
	align-items: center;
	padding: 1.2rem 1.35rem;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul > li {
	min-height: 88px;
	padding: 1rem 1rem 1rem 2.6rem;
	font-size: clamp(.85rem, 1vw, .94rem);
	line-height: 1.42;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul > li::before {
	left: 1rem;
	font-size: .95rem;
}

@media (max-width: 900px) {
	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child),
	.cms-page-callout {
		grid-template-columns: 1fr;
	}

	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > h1,
	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child:nth-last-child(3)) > h1,
	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child:nth-last-child(4)) > h1,
	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) > :not(h1) {
		grid-column: 1;
		grid-row: auto;
	}

	.cms-page-callout > h2 {
		padding-bottom: .6rem;
	}

	.cms-page-callout > p {
		padding-top: .6rem;
	}
}

@media (max-width: 640px) {
	.cms-page-shell > .cms-page-rich-text:first-child:has(> h1:first-child) {
		padding: 1.35rem;
		box-shadow: none;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul > li {
		min-height: 68px;
	}
}
/* Runtime roles are attached to the existing Page Manager wrappers after the
 * root route and exact block sequence are verified. Rich-text HTML remains
 * fully inside the established sanitizer contract. */
.rt-embed-v3-launch {
	display: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance {
	display: grid;
	grid-template-columns: minmax(13rem, .62fr) minmax(0, 2.38fr);
	gap: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--cms-color-border-strong);
	border-inline-start: 6px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse);
	box-shadow: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > h2 {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 1.1rem 1.25rem;
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
	font-size: 1.1rem;
	line-height: 1.2;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul {
	display: grid;
	grid-column: auto;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	border: 0;
	background: color-mix(in srgb, var(--cms-color-text-inverse) 24%, transparent);
	list-style: none;
	counter-reset: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul > li {
	display: flex;
	min-height: 76px;
	align-items: center;
	margin: 0;
	padding: .85rem 1rem .85rem 2.45rem;
	border: 0;
	background: var(--cms-color-surface-inverse-soft);
	color: var(--cms-color-text-inverse-muted);
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.38;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul > li::before {
	top: 50%;
	left: .9rem;
	transform: translateY(-50%);
	color: var(--cms-color-highlight);
	font-size: .875rem;
	content: "\2713";
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr);
	gap: 0;
	padding: 0;
	border: 1px solid var(--cms-color-border);
	border-block-start: 6px solid var(--cms-color-accent);
	background: var(--cms-color-surface-raised);
	box-shadow: 12px 12px 0 color-mix(in srgb, var(--cms-color-accent) 14%, transparent);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation > div {
	min-width: 0;
	padding: clamp(1.6rem, 3.5vw, 2.75rem);
	border: 0;
	background: var(--cms-color-surface-raised);
	box-shadow: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation > div:last-child {
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation > div:last-child :is(h2, h3) {
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation > div:last-child :is(p, li) {
	color: var(--cms-color-text-inverse-muted);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation > div:last-child a {
	color: var(--cms-color-highlight);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation :is(ul, ol) {
	margin: .85rem 0 0;
	padding-inline-start: 1.2rem;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-foundation li {
	margin-block: .35rem;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: .75rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > h2 {
	grid-column: 1 / 6;
	align-self: end;
	padding: .25rem 0;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > h2 + p {
	grid-column: 6 / -1;
	align-self: end;
	margin: 0;
	padding: .25rem 0;
	color: var(--cms-color-text-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: auto;
	align-items: start;
	gap: .75rem;
	margin: .5rem 0 0;
	padding: 0;
	background: transparent;
	list-style: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li {
	min-width: 0;
	min-height: 0;
	height: auto;
	align-self: start;
	margin: 0;
	padding: clamp(1.25rem, 2.5vw, 1.9rem);
	border: 1px solid var(--cms-color-border);
	background: var(--cms-color-surface-raised) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(1) {
	border-inline-start: 6px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse) !important;
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(2) {
	background: var(--cms-color-highlight-soft) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(3) {
	background: var(--cms-color-pastel-sage) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(4) {
	background: var(--cms-color-pastel-lilac) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(5) {
	border-inline-start: 5px solid var(--cms-color-secondary-accent);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li h3 {
	margin: 0;
	font-size: clamp(1.08rem, 1.7vw, 1.38rem);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li p {
	margin: .5rem 0 0;
	color: var(--cms-color-text-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:first-child h3,
.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:first-child h3 a {
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:first-child p {
	color: var(--cms-color-text-inverse-muted);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul + p {
	grid-column: 1 / -1;
	margin: .25rem 0 0;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: .85rem clamp(1.25rem, 3vw, 2.5rem);
	padding: clamp(1.4rem, 3vw, 2.4rem);
	border: 1px solid var(--cms-color-border);
	border-block-start: 6px solid var(--cms-color-accent);
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
	box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 12%, transparent);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2 {
	grid-column: 1 / -1;
	max-width: 28ch;
	padding-bottom: .9rem;
	border-bottom: 1px solid var(--cms-color-border);
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2 + p {
	grid-column: 1;
	margin: 0;
	color: var(--cms-color-text-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2 + p + p {
	grid-column: 2;
	margin: 0;
	color: var(--cms-color-text-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > p:last-child {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: .45rem 1rem;
	flex-wrap: wrap;
	margin: .15rem 0 0;
	padding-top: .85rem;
	border-top: 1px solid var(--cms-color-border);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > p:last-child a {
	color: var(--cms-color-accent-strong);
	font-weight: 850;
	text-underline-offset: .2em;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing {
	display: block;
	padding: clamp(1.3rem, 3vw, 2.5rem);
	border: 0;
	border-block: 6px solid var(--cms-color-accent);
	background: var(--cms-color-surface-subtle);
	box-shadow: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > h2 {
	max-width: 22ch;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > h2 + p {
	max-width: 66ch;
	color: var(--cms-color-text-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: auto;
	align-items: start;
	gap: .75rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li {
	display: grid;
	min-width: 0;
	min-height: 0;
	height: auto;
	align-content: start;
	align-self: start;
	margin: 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--cms-color-border);
	background: var(--cms-color-surface-raised) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child {
	border-inline-start: 6px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse) !important;
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:nth-child(2) {
	background: var(--cms-color-highlight-soft) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:nth-child(3) {
	background: var(--cms-color-pastel-sage) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:nth-child(4) {
	background: var(--cms-color-pastel-lilac) !important;
	color: var(--cms-color-text);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li > p:first-child {
	margin: 0 0 .35rem;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li h3 {
	margin: 0;
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li p {
	margin: .4rem 0 0;
	color: var(--cms-color-text-soft);
	font-size: .875rem;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	justify-self: start;
	margin-top: .8rem;
	padding: .55rem .85rem;
	border: 1px solid var(--cms-color-accent-strong);
	background: var(--cms-color-accent-strong);
	color: var(--cms-color-on-accent);
	font-weight: 800;
	text-decoration: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child :is(h3, p) {
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child .fhc-package-price strong {
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing .fhc-package-actions {
	margin: .7rem 0 0 !important;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child > p:first-child,
.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child a {
	color: var(--cms-color-on-highlight);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child > p:first-child {
	color: var(--cms-color-highlight);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child a {
	border-color: var(--cms-color-highlight);
	background: var(--cms-color-highlight);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > p:last-child {
	margin: 1rem 0 0;
	text-align: right;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > p:last-child a {
	font-weight: 850;
	text-underline-offset: .2em;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	padding: clamp(1.6rem, 4vw, 3.5rem);
	border: 0;
	border-inline-start: 7px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse);
	color: var(--cms-color-text-inverse);
	box-shadow: 14px 14px 0 color-mix(in srgb, var(--cms-color-accent) 30%, transparent);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work > div {
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work > div:last-child {
	align-self: start;
	padding: 1.2rem;
	border: 1px solid color-mix(in srgb, var(--cms-color-text-inverse) 25%, transparent);
	border-block-start: 5px solid var(--cms-color-highlight);
	background: var(--cms-color-surface-inverse-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work :is(h2, h3) {
	color: var(--cms-color-text-inverse);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work :is(p, li) {
	color: var(--cms-color-text-inverse-muted);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work a {
	color: var(--cms-color-highlight);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 1rem 0 0;
	padding: 1px;
	background: color-mix(in srgb, var(--cms-color-text-inverse) 22%, transparent);
	list-style: none;
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work li {
	position: relative;
	margin: 0;
	padding: .75rem .75rem .75rem 2.15rem;
	background: var(--cms-color-surface-inverse-soft);
}

.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work li::before {
	position: absolute;
	top: .74rem;
	left: .75rem;
	color: var(--cms-color-highlight);
	font-weight: 900;
	content: "\2713";
}

@media (max-width: 900px) {
	.fhc-site.homepage .cms-page-shell > .cms-v3-assurance,
	.fhc-site.homepage .cms-page-shell > .cms-v3-foundation,
	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership,
	.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work {
		grid-template-columns: 1fr;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > h2,
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > h2 + p {
		grid-column: 1 / -1;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li,
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(1),
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(2),
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(3),
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(4),
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul > li:nth-child(5) {
		min-height: 0;
		grid-column: auto;
		grid-row: auto;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2,
	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2 + p,
	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > h2 + p + p,
	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership > p:last-child {
		grid-column: 1;
		grid-row: auto;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership {
		gap: .75rem;
	}
}

@media (max-width: 640px) {
	.fhc-site.homepage .cms-page-shell > .cms-v3-assurance > ul,
	.fhc-site.homepage .cms-page-shell > .cms-v3-proof > ul,
	.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work ul {
		grid-template-columns: 1fr;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-ownership {
		padding: 1.25rem;
		box-shadow: none;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing {
		padding: 1.25rem;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:first-child,
	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li:nth-child(n + 2) {
		grid-column: 1;
		grid-row: auto;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > ul > li a {
		width: 100%;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-pricing > p:last-child {
		text-align: left;
	}

	.fhc-site.homepage .cms-page-shell > .cms-v3-custom-work {
		padding: 1.35rem;
		box-shadow: 8px 8px 0 color-mix(in srgb, var(--cms-color-accent) 30%, transparent);
	}
}

/* Freehold Classic 6.0.2 launch homepage: three-stage information funnel. */
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-rich-text:empty { display: none; }

body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	min-height: 430px;
	margin: 0;
	padding: clamp(2.25rem, 6vw, 4.75rem) max(1rem, calc((100vw - var(--fhc-v6-page-max))/2));
	border: 0;
	border-radius: 0;
	background: #142b3d;
	color: #f4ecd9;
	box-shadow: none;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero::after {
	display: block;
	min-height: 320px;
	background: url('../../images/freehold-product-family.png') center / contain no-repeat;
	content: '';
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero h1 {
	grid-column: 1;
	max-width: 16ch;
	margin: 0 0 .75rem;
	color: #f4ecd9;
	font-size: clamp(2.25rem, 5vw, 4.1rem);
	font-family: var(--fhc-v6-reading-font);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.035em;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero .cms-page-eyebrow {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	margin-bottom: .3rem;
	color: #d6a65b;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero > p {
	grid-column: 1;
	max-width: 56ch;
	margin: 0 0 1rem;
	color: #c3d0d7;
	font-size: 1rem;
	line-height: 1.6;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero .cms-page-button {
	grid-column: 1;
	justify-self: start;
	min-height: 42px;
	padding: .65rem 1rem;
	border: 1px solid #d6a65b;
	background: #d6a65b;
	color: #241707;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-shell > .cms-page-rich-text {
	width: min(calc(100% - 2rem), var(--fhc-v6-page-max));
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 3.25rem) 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-shell > .cms-page-rich-text + .cms-page-rich-text {
	border-top: 1px solid var(--cms-color-border);
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-kicker {
	display: block;
	margin-bottom: .35rem;
	color: var(--cms-color-accent-strong);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-intro {
	display: block;
	max-width: 70ch;
	margin-bottom: 1.3rem;
	color: var(--cms-color-text-soft);
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-grid,
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-grid {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-card {
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--cms-color-border);
	border-radius: 4px;
	background: var(--cms-color-surface);
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-card h3 { margin: 0 0 .35rem; font-size: 1rem; }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-card p { margin: 0 0 .55rem; color: var(--cms-color-text-soft); }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-card a { font-weight: 750; }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .85rem;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card {
	display: flex;
	min-width: 0;
	margin: 0;
	padding: .85rem;
	flex-direction: column;
	border: 1px solid var(--cms-color-border);
	border-radius: 4px;
	background: var(--cms-color-surface);
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 .7rem;
	object-fit: contain;
	background: #fff;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card h3 { margin: 0 0 .3rem; font-size: 1.08rem; }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card p { margin: 0 0 .5rem; color: var(--cms-color-text-soft); }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card .rt-embed-fhc-price {
	display: block;
	margin-top: auto;
	padding-top: .35rem;
	color: var(--cms-color-text);
	font-size: 1.15rem;
	font-weight: 800;
}
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card .rt-embed-fhc-actions { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .5rem; }
body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-card .rt-embed-fhc-actions a:first-child { font-weight: 800; }
@media (max-width: 980px) {
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-grid,
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero { grid-template-columns: 1fr; min-height: 0; padding: 2rem 1rem; }
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero::after { min-height: 250px; grid-column: 1; }
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero h1,
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero .cms-page-eyebrow,
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero > p,
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .cms-page-hero .cms-page-button { grid-column: 1; }
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-job-grid,
	body.fhc-v6:has(.rt-embed-fhc-home-marker) .rt-embed-fhc-package-grid { grid-template-columns: 1fr; }
}

/* Freehold Classic 6.0.4: Free Core editorial page.
 * Scoped by a sanitizer-safe marker in Page Manager content.
 */
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell {
  width:min(calc(100% - 40px),1080px);
  margin:0 auto;
  padding:34px 0 68px;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell > :where(.cms-page-rich-text,.cms-page-features,.cms-page-columns,.cms-page-callout) {
  width:100%;
  max-width:none;
  margin:0;
  padding:24px 0;
  border:0;
  border-top:1px solid var(--cms-color-border);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell > .cms-page-rich-text:first-child {
  padding-top:10px;
  border-top:0;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .rt-embed-fhc-free-core-marker {
  display:none;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text:first-child::after {
  display:block;
  clear:both;
  content:"";
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text:first-child h1 {
  max-width:18ch;
  margin:0 0 12px;
  color:var(--cms-color-text);
  font-family:var(--cms-font-heading);
  font-size:clamp(2rem,4.2vw,3.35rem);
  font-weight:650;
  line-height:1.02;
  letter-spacing:-.025em;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text:first-child > p:first-of-type {
  max-width:66ch;
  margin:0 0 16px;
  color:var(--cms-color-text-muted);
  font-size:1.08rem;
  line-height:1.65;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text .rt-image-right {
  width:min(31%,300px);
  margin:2px 0 18px 34px;
  float:right;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text .rt-image-right img {
  display:block;
  width:100%;
  height:auto;
  border:0;
  border-radius:2px;
  background:transparent;
  box-shadow:none;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text figcaption {
  margin-top:7px;
  color:var(--cms-color-text-muted);
  font-size:.76rem;
  line-height:1.4;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell h2 {
  margin:0 0 10px;
  color:var(--cms-color-text);
  font-family:var(--cms-font-heading);
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  line-height:1.18;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell h3 {
  margin:18px 0 6px;
  color:var(--cms-color-text);
  font-size:1rem;
  line-height:1.3;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell p {
  max-width:78ch;
  margin:0 0 12px;
  line-height:1.65;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell :where(ul,ol) {
  margin:10px 0 0;
  padding-left:22px;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell li {
  margin:0 0 7px;
  padding-left:3px;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features h2 {
  margin-bottom:14px;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--cms-color-border);
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features li {
  position:relative;
  margin:0;
  padding:11px 0 11px 18px;
  border-bottom:1px solid var(--cms-color-border);
  line-height:1.5;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features li::before {
  position:absolute;
  top:16px;
  left:1px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cms-color-accent);
  content:"";
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns > div {
  min-width:0;
  padding:0 32px 0 0;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns > div + div {
  padding:0 0 0 32px;
  border-left:1px solid var(--cms-color-border);
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-callout {
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:28px;
  align-items:start;
  border-top:2px solid var(--cms-color-accent);
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-callout h2,
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-callout p {
  margin:0;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell a {
  font-weight:650;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell .rt-text-gray {
  color:var(--cms-color-text-muted);
}
@media (max-width:760px) {
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-shell {
    width:min(calc(100% - 28px),1080px);
    padding-top:24px;
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text .rt-image-right {
    width:min(46%,240px);
    margin-left:22px;
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features ul,
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns,
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-callout {
    grid-template-columns:1fr;
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns > div,
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns > div + div {
    padding:0;
    border-left:0;
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-columns > div + div {
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--cms-color-border);
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-callout { gap:8px; }
}
@media (max-width:520px) {
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-rich-text .rt-image-right {
    width:min(72%,280px);
    margin:0 auto 20px;
    float:none;
  }
  body.fhc-v6:has(.rt-embed-fhc-free-core-marker) .cms-page-features ul { display:block; }
}
