/* FreeholdCMS.com v6 — V4-compatible base plus Atlas-driven coherence layer. */
:root {
	--freehold-navy: #0b2235;
	--freehold-navy-soft: #253d52;
	--freehold-ink: #1f2933;
	--freehold-ink-soft: #465564;
	--freehold-muted: #54616e;
	--freehold-canvas: #e8e5dd;
	--freehold-surface: #f5f2ea;
	--freehold-surface-soft: #dce2e7;
	--freehold-surface-raised: #fffcf6;
	--freehold-input: #fffdfa;
	--freehold-footer: #162a3a;
	--freehold-line: #aab3bc;
	--freehold-line-strong: #697887;
	--freehold-control-border: #6d7b88;
	--freehold-slate: #60758a;
	--freehold-slate-strong: #435c73;
	--freehold-gold: #d89a2b;
	--freehold-gold-soft: #f1e1bc;
	--freehold-rust: #985d49;
	--freehold-rust-soft: #ead8cf;
	--freehold-sage-soft: #dde5d8;
	--freehold-lilac-soft: #e5e0e8;
	--freehold-success: #146c40;
	--freehold-success-soft: #e2f3e9;
	--freehold-warning: #855d09;
	--freehold-warning-soft: #fff1d0;
	--freehold-danger: #a12f34;
	--freehold-danger-soft: #fce7e7;
	--freehold-shadow-color: rgba(11, 34, 53, .14);
	--cms-color-text: var(--freehold-ink);
	--cms-color-text-soft: var(--freehold-ink-soft);
	--cms-color-text-muted: var(--freehold-muted);
	--cms-color-canvas: var(--freehold-canvas);
	--cms-color-surface: var(--freehold-surface);
	--cms-color-surface-subtle: var(--freehold-surface-soft);
	--cms-color-surface-raised: var(--freehold-surface-raised);
	--cms-color-input: var(--freehold-input);
	--cms-color-footer: var(--freehold-footer);
	--cms-color-surface-inverse: var(--freehold-navy);
	--cms-color-surface-inverse-soft: var(--freehold-navy-soft);
	--cms-color-text-inverse: #f7fafc;
	--cms-color-text-inverse-muted: #c3d0d7;
	--cms-color-border: var(--freehold-line);
	--cms-color-border-strong: var(--freehold-line-strong);
	--cms-color-control-border: var(--freehold-control-border);
	--cms-color-accent: var(--freehold-slate);
	--cms-color-accent-strong: var(--freehold-slate-strong);
	--cms-color-highlight: var(--freehold-gold);
	--cms-color-highlight-soft: var(--freehold-gold-soft);
	--cms-color-secondary-accent: var(--freehold-rust);
	--cms-color-secondary-accent-soft: var(--freehold-rust-soft);
	--cms-color-pastel-sage: var(--freehold-sage-soft);
	--cms-color-pastel-lilac: var(--freehold-lilac-soft);
	--cms-color-on-accent: #ffffff;
	--cms-color-on-highlight: var(--freehold-navy);
	--cms-color-header: var(--freehold-navy);
	--cms-color-hero: var(--freehold-navy);
	--cms-color-success: var(--freehold-success);
	--cms-color-success-soft: var(--freehold-success-soft);
	--cms-color-warning: var(--freehold-warning);
	--cms-color-warning-soft: var(--freehold-warning-soft);
	--cms-color-danger: var(--freehold-danger);
	--cms-color-danger-soft: var(--freehold-danger-soft);
	--cms-color-focus: var(--freehold-slate-strong);
	--cms-color-focus-inverse: var(--freehold-gold);
	--cms-shadow: 0 10px 28px var(--freehold-shadow-color);
	--cms-shadow-strong: 0 26px 72px var(--freehold-shadow-color);
	--cms-content-max: 1240px;
	--cms-font-heading: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cms-radius-card: 4px;
	--cms-radius-control: 4px;
	--theme-bg: var(--cms-color-canvas);
	--theme-dark: var(--cms-color-surface-inverse);
	--theme-dark-soft: var(--cms-color-surface-inverse-soft);
	--theme-surface: var(--cms-color-surface);
	--theme-surface-muted: var(--cms-color-surface-subtle);
	--theme-line: var(--cms-color-border);
	--theme-line-dark: var(--cms-color-border-strong);
	--theme-accent: var(--cms-color-accent);
	--theme-accent-dark: var(--cms-color-accent-strong);
	--theme-highlight: var(--cms-color-highlight);
	--theme-text: var(--cms-color-text);
	--theme-muted: var(--cms-color-text-muted);
	--theme-shadow: var(--cms-shadow);
	--theme-danger: var(--cms-color-danger);
	--theme-success: var(--cms-color-success);
	--theme-warning: var(--cms-color-warning);
	--theme-content: var(--cms-content-max);
	color-scheme: light;
}

html[data-color-mode="dark"] {
	--freehold-navy: #102536;
	--freehold-navy-soft: #1b3344;
	--freehold-ink: #edf1ef;
	--freehold-ink-soft: #d2dadd;
	--freehold-muted: #adb9be;
	--freehold-canvas: #1c2932;
	--freehold-surface: #263640;
	--freehold-surface-soft: #30434e;
	--freehold-surface-raised: #344853;
	--freehold-input: #1f303a;
	--freehold-footer: #0f202d;
	--freehold-line: #536570;
	--freehold-line-strong: #71818a;
	--freehold-control-border: #7f9099;
	--freehold-slate: #86a1b5;
	--freehold-slate-strong: #b7cad7;
	--freehold-gold: #e0aa43;
	--freehold-gold-soft: #55451f;
	--freehold-rust: #d18b72;
	--freehold-rust-soft: #50382f;
	--freehold-sage-soft: #35483d;
	--freehold-lilac-soft: #403b49;
	--freehold-success: #72c99a;
	--freehold-success-soft: #254638;
	--freehold-warning: #edc46a;
	--freehold-warning-soft: #51421f;
	--freehold-danger: #f4a6aa;
	--freehold-danger-soft: #553033;
	--freehold-shadow-color: rgba(5, 12, 18, .38);
	--cms-color-text-inverse: #f6f4ed;
	--cms-color-text-inverse-muted: #c9d3d8;
	--cms-color-on-accent: #10202b;
	--cms-color-on-highlight: #102536;
	--cms-color-focus: #b7cad7;
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] {
		--freehold-navy: #102536;
		--freehold-navy-soft: #1b3344;
		--freehold-ink: #edf1ef;
		--freehold-ink-soft: #d2dadd;
		--freehold-muted: #adb9be;
		--freehold-canvas: #1c2932;
		--freehold-surface: #263640;
		--freehold-surface-soft: #30434e;
		--freehold-surface-raised: #344853;
		--freehold-input: #1f303a;
		--freehold-footer: #0f202d;
		--freehold-line: #536570;
		--freehold-line-strong: #71818a;
		--freehold-control-border: #7f9099;
		--freehold-slate: #86a1b5;
		--freehold-slate-strong: #b7cad7;
		--freehold-gold: #e0aa43;
		--freehold-gold-soft: #55451f;
		--freehold-rust: #d18b72;
		--freehold-rust-soft: #50382f;
		--freehold-sage-soft: #35483d;
		--freehold-lilac-soft: #403b49;
		--freehold-success: #72c99a;
		--freehold-success-soft: #254638;
		--freehold-warning: #edc46a;
		--freehold-warning-soft: #51421f;
		--freehold-danger: #f4a6aa;
		--freehold-danger-soft: #553033;
		--freehold-shadow-color: rgba(5, 12, 18, .38);
		--cms-color-text-inverse: #f6f4ed;
		--cms-color-text-inverse-muted: #c9d3d8;
		--cms-color-on-accent: #10202b;
		--cms-color-on-highlight: #102536;
		--cms-color-focus: #b7cad7;
		color-scheme: dark;
	}
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 88px; text-size-adjust: 100%; }
body,
main,
header,
footer,
nav,
section,
article,
aside,
address { color: inherit; font: inherit; }
body.fhc-site { min-height: 100vh; margin: 0; background: var(--cms-color-canvas); color: var(--cms-color-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.62; }
h1,
h2,
h3,
h4,
h5,
h6 { margin-block: 0 .65em; color: var(--cms-color-text); font-family: var(--cms-font-heading); font-weight: 700; letter-spacing: -.022em; line-height: 1.12; text-wrap: balance; }
h1,
h2,
h3,
h4,
h5,
h6 { overflow-wrap: anywhere; }
h1 { font-size: clamp(1.7rem, 2.7vw, 1.95rem); }
h2 { font-size: clamp(1.35rem, 2vw, 1.6rem); }
h3 { font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
h4 { font-size: 1.22rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: .92rem; letter-spacing: .04em; text-transform: uppercase; }
p,
ol,
ul,
menu,
dl,
figure,
blockquote,
pre,
table,
fieldset,
details { margin-block: 0 1rem; }
p { max-width: 74ch; }
hr { height: 1px; border: 0; background: var(--cms-color-border); }
pre { max-width: 100%; overflow: auto; padding: 1rem; border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-control); background: var(--cms-color-surface-inverse); color: var(--cms-color-text-inverse); }
blockquote { margin-inline: 0; padding: 1rem 1.25rem; border-inline-start: 4px solid var(--cms-color-highlight); background: var(--cms-color-surface-subtle); }
ol,
ul,
menu { padding-inline-start: 1.35rem; }
li { margin-block: .2rem; }
dt { color: var(--cms-color-text); font-weight: 800; }
dd { margin-inline-start: 0; margin-block-end: .75rem; }
figure { max-width: 100%; }
figcaption,
small { color: var(--cms-color-text-muted); font-size: 1em; }
a { color: var(--cms-color-accent-strong); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--cms-color-accent-strong); text-decoration-thickness: .13em; }
em,
cite,
dfn,
var,
i { font-style: italic; }
strong,
b { font-weight: 800; }
s { text-decoration: line-through; }
q { quotes: "“" "”" "‘" "’"; }
abbr[title] { cursor: help; text-decoration: underline dotted; text-underline-offset: .18em; }
data,
time,
code,
samp,
kbd { font-variant-numeric: tabular-nums; }
code,
var,
samp,
kbd { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1em; }
kbd { padding: .14em .42em; border: 1px solid var(--cms-color-border-strong); border-bottom-width: 2px; border-radius: 4px; background: var(--cms-color-surface); }
sub,
sup { position: relative; font-size: 1em; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.45em; }
u { text-underline-offset: .18em; }
mark { padding-inline: .18em; background: var(--cms-color-highlight); color: var(--cms-color-on-highlight); }
img,
picture,
svg,
canvas,
video { max-width: 100%; height: auto; }
audio { max-width: 100%; }
iframe,
object,
embed { max-width: 100%; border: 1px solid var(--cms-color-border); }
map,
area { color: inherit; }
table { width: 100%; border-collapse: collapse; background: var(--cms-color-surface); }
caption { padding: .7rem .8rem; color: var(--cms-color-text-soft); font-weight: 800; text-align: left; }
thead,
tbody,
tfoot,
colgroup,
col { border-color: var(--cms-color-border); }
tr { border-bottom: 1px solid var(--cms-color-border); }
th,
td { padding: .75rem .85rem; text-align: left; vertical-align: top; }
th { background: var(--cms-color-surface-subtle); color: var(--cms-color-text); font-weight: 800; }
form { max-width: 100%; }
fieldset { min-width: 0; padding: 1rem; border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-control); }
legend,
label { color: var(--cms-color-text); font-weight: 750; }
input,
button,
select,
textarea { min-height: 44px; border: 1px solid var(--cms-color-control-border); border-radius: var(--cms-radius-control); background: var(--cms-color-input); color: var(--cms-color-text); font: inherit; }
input,
select,
textarea { width: 100%; padding: .65rem .75rem; }
button { padding: .62rem 1rem; border-color: var(--cms-color-accent-strong); background: var(--cms-color-accent-strong); color: var(--cms-color-on-accent); font-weight: 800; cursor: pointer; }
button:hover { border-color: var(--cms-color-accent); background: var(--cms-color-accent); }
button:disabled,
input:disabled,
select:disabled,
textarea:disabled { border-color: var(--cms-color-border); background: var(--cms-color-surface-subtle); color: var(--cms-color-text-muted); cursor: not-allowed; }
input[type="checkbox"],
input[type="radio"] { width: 1.15rem; min-height: 1.15rem; padding: 0; accent-color: var(--cms-color-accent-strong); }
textarea { min-height: 8rem; resize: vertical; }
datalist,
optgroup,
option { color: var(--cms-color-text); background: var(--cms-color-surface); }
output { font-weight: 750; }
progress,
meter { width: 100%; accent-color: var(--cms-color-accent-strong); }
details { border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-control); background: var(--cms-color-surface); }
summary { min-height: 44px; padding: .7rem .85rem; color: var(--cms-color-text); font-weight: 800; cursor: pointer; }
details > :not(summary) { margin-inline: .85rem; }
dialog { width: min(92vw, 44rem); padding: 1.25rem; border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); color: var(--cms-color-text); box-shadow: var(--cms-shadow-strong); }
noscript { display: block; padding: .8rem; border: 1px solid var(--cms-color-warning); background: var(--cms-color-warning-soft); color: var(--cms-color-text); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible { outline: 3px solid var(--cms-color-focus); outline-offset: 3px; }
.fhc-header :focus-visible,
.fhc-footer :focus-visible,
.fhc-drawer :focus-visible,
.fhc-home-hero :focus-visible { outline-color: var(--cms-color-focus-inverse); }
.fhc-skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 500; transform: translateY(-180%); padding: .65rem 1rem; border-radius: var(--cms-radius-control); background: var(--cms-color-highlight); color: var(--cms-color-on-highlight); font-weight: 850; text-decoration: none; }
.fhc-skip-link:focus { transform: translateY(0); }
.fhc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.fhc-header { position: sticky; top: 0; z-index: 150; border-bottom: 1px solid rgba(255, 255, 255, .12); background: color-mix(in srgb, var(--cms-color-header) 96%, transparent); color: var(--cms-color-text-inverse); backdrop-filter: blur(14px); }
.fhc-header-inner { display: grid; width: min(calc(100% - 2rem), 1320px); min-height: 82px; grid-template-columns: minmax(12rem, 13.5rem) minmax(0, 1fr) auto; align-items: center; gap: .8rem; margin: 0 auto; }
.fhc-brand { display: inline-flex; min-width: 0; align-items: center; gap: .65rem; color: var(--cms-color-text-inverse); text-decoration: none; }
.fhc-brand:hover { color: var(--cms-color-text-inverse); }
.fhc-brand-mark { width: 36px; flex: 0 0 36px; fill: none; stroke: var(--cms-color-highlight); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; }
.fhc-brand strong,
.fhc-brand small { display: block; }
.fhc-brand strong { font-size: 1rem; letter-spacing: .055em; line-height: 1.15; text-transform: uppercase; white-space: nowrap; }
.fhc-brand small { max-width: 25ch; margin-top: .2rem; color: var(--cms-color-text-inverse-muted); font-size: .875rem; line-height: 1.25; }
.managed-primary-navigation > ul,
.fhc-header .cms-public-menu > ul { display: flex; align-items: center; justify-content: center; gap: .05rem; margin: 0; padding: 0; list-style: none; }
.managed-primary-navigation li,
.fhc-header .cms-public-menu li { position: relative; margin: 0; }
.managed-primary-navigation a,
.fhc-header .cms-public-menu a { display: inline-flex; min-height: 44px; align-items: center; padding: .5rem .55rem; border-radius: 6px; color: var(--cms-color-text-inverse-muted); font-size: .875rem; font-weight: 800; letter-spacing: .018em; text-decoration: none; white-space: nowrap; }
.managed-primary-navigation a:hover,
.fhc-header .cms-public-menu a:hover { background: rgba(255, 255, 255, .08); color: var(--cms-color-highlight); }
.managed-primary-navigation ul ul,
.fhc-header .cms-public-menu ul ul { position: absolute; top: calc(100% + .4rem); left: 0; min-width: 14rem; margin: 0; padding: .45rem; border: 1px solid var(--cms-color-border-strong); border-radius: var(--cms-radius-control); background: var(--cms-color-surface-inverse-soft); box-shadow: var(--cms-shadow-strong); list-style: none; }
.managed-primary-navigation ul ul a,
.fhc-header .cms-public-menu ul ul a { width: 100%; }
.fhc-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; }
.fhc-account-links { min-width: 0; }
.fhc-account-links:empty { display: none; }
.fhc-account-links nav,
.fhc-account-links .customer-utility-navigation { display: flex; align-items: center; gap: .15rem; }
.fhc-account-links a { display: inline-flex; min-height: 40px; align-items: center; padding: .4rem .45rem; color: var(--cms-color-text-inverse); font-size: .875rem; font-weight: 780; text-decoration: none; white-space: nowrap; }
.fhc-account-links span { color: var(--cms-color-text-inverse-muted); font-size: .875rem; }
.fhc-mode-control { display: flex; align-items: center; margin: 0; }
.fhc-mode-control > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fhc-mode-control select { width: auto; min-width: 5.9rem; min-height: 40px; padding: .4rem 1.65rem .4rem .6rem; border-color: rgba(255, 255, 255, .28); background: var(--cms-color-surface-inverse-soft); color: var(--cms-color-text-inverse); font-size: .875rem; font-weight: 760; }
.fhc-menu-button { display: none; min-width: 48px; min-height: 44px; align-items: center; justify-content: center; gap: .45rem; padding: .45rem .65rem; border-color: rgba(255, 255, 255, .3); background: transparent; color: var(--cms-color-text-inverse); }
.fhc-menu-button > span:first-child { width: 17px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.fhc-breadcrumbs { width: min(calc(100% - 2.5rem), var(--cms-content-max)); margin: 0 auto; padding: .65rem 0; color: var(--cms-color-text-muted); font-size: .875rem; }
.fhc-breadcrumbs:empty { display: none; }
.fhc-breadcrumbs .breadcrumbs { padding: 0; border: 0; background: transparent; }
.fhc-breadcrumbs a { color: var(--cms-color-accent-strong); font-weight: 750; text-decoration: none; }
.fhc-breadcrumbs .sep { margin-inline: .45rem; }
.fhc-journey-nav { border-bottom: 1px solid var(--cms-color-border); background: var(--cms-color-surface-raised); }
.fhc-journey-inner { display: flex; width: min(calc(100% - 2.5rem), var(--cms-content-max)); min-height: 42px; align-items: center; gap: .15rem; margin-inline: auto; overflow-x: auto; scrollbar-width: thin; }
.fhc-journey-inner a,
.fhc-journey-label { display: inline-flex; min-height: 34px; flex: 0 0 auto; align-items: center; padding: .35rem .7rem; font-size: .875rem; font-weight: 800; letter-spacing: .015em; text-decoration: none; white-space: nowrap; }
.fhc-journey-label { padding-inline-start: 0; color: var(--cms-color-text-muted); font-size: .875rem; letter-spacing: .09em; text-transform: uppercase; }
.fhc-journey-inner a { color: var(--cms-color-accent-strong); }
.fhc-journey-inner a:hover { background: var(--cms-color-surface-subtle); color: var(--cms-color-text); }
.fhc-journey-inner .fhc-journey-shop { margin-inline: .2rem; background: var(--cms-color-highlight-soft); color: var(--cms-color-on-highlight); }
.fhc-journey-inner .fhc-journey-shop::after { content: "\2192"; margin-inline-start: .45rem; }

.fhc-drawer,
.fhc-drawer-backdrop { display: none; }
.fhc-drawer-backdrop[hidden] { display: none !important; }
.fhc-content-root { min-height: 52vh; background: var(--cms-color-canvas); }
.content-shell { width: min(calc(100% - 2.5rem), var(--cms-content-max)); margin: 0 auto; padding: clamp(2rem, 4.5vw, 4.25rem) clamp(.8rem, 2vw, 1.5rem); }
.content-header { margin-bottom: 1.5rem; padding-bottom: .5rem; }
.content-header p { color: var(--cms-color-text-soft); font-size: 1rem; }
.legal-page,
.form-section { padding: clamp(1.4rem, 4vw, 2.75rem); border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); box-shadow: var(--cms-shadow); }
.alert,
.notice { margin-block: 1rem; padding: .85rem 1rem; border: 1px solid var(--cms-color-border); border-inline-start: 4px solid var(--cms-color-accent); background: var(--cms-color-surface); }
.alert-success { border-inline-start-color: var(--cms-color-success); background: var(--cms-color-success-soft); }
.alert-error { border-inline-start-color: var(--cms-color-danger); background: var(--cms-color-danger-soft); }
.btn,
.button,
.btn-submit { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .62rem 1rem; border: 1px solid var(--cms-color-accent-strong); border-radius: var(--cms-radius-control); background: var(--cms-color-accent-strong); color: var(--cms-color-on-accent); font-weight: 820; text-decoration: none; }
.btn:hover,
.button:hover,
.btn-submit:hover { border-color: var(--cms-color-accent); background: var(--cms-color-accent); color: var(--cms-color-on-accent); }
.btn-secondary { border-color: var(--cms-color-border-strong); background: transparent; color: var(--cms-color-text); }
.btn-secondary:hover { background: var(--cms-color-surface-subtle); color: var(--cms-color-text); }
.form-group { display: grid; gap: .4rem; margin-bottom: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.fhc-home { min-height: calc(100vh - 74px); background: var(--cms-color-surface-inverse); }
.fhc-home-hero { position: relative; display: grid; min-height: 650px; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); align-items: center; gap: clamp(2rem, 6vw, 5.5rem); overflow: hidden; padding: clamp(4rem, 9vw, 7.5rem) max(1.25rem, calc((100vw - var(--cms-content-max)) / 2)); color: var(--cms-color-text-inverse); }
.fhc-home-hero::before,
.fhc-home-hero::after { display: none; }
.fhc-hero-copy,
.fhc-section-panel { position: relative; z-index: 1; }
.fhc-eyebrow { display: inline-flex; margin-bottom: 1rem; color: var(--cms-color-highlight); font-size: .875rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.fhc-hero-copy h1 { max-width: 20ch; margin-bottom: .8rem; color: var(--cms-color-text-inverse); font-size: clamp(1.85rem, 2.7vw, 1.95rem); }
.fhc-hero-lead { max-width: 58ch; color: var(--cms-color-text-inverse); font-size: 1rem; font-weight: 650; }
.fhc-hero-description { max-width: 58ch; color: var(--cms-color-text-inverse-muted); }
.fhc-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.fhc-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .72rem 1.2rem; border: 1px solid; border-radius: var(--cms-radius-control); font-weight: 850; text-decoration: none; }
.fhc-button-primary { border-color: var(--cms-color-highlight); background: var(--cms-color-highlight); color: var(--cms-color-on-highlight); }
.fhc-button-primary:hover { border-color: #ffd57f; background: #ffd57f; color: #071c2d; }
.fhc-button-secondary { border-color: rgba(255, 255, 255, .38); background: rgba(255, 255, 255, .04); color: var(--cms-color-text-inverse); }
.fhc-button-secondary:hover { border-color: var(--cms-color-accent); background: color-mix(in srgb, var(--cms-color-accent) 16%, transparent); color: var(--cms-color-text-inverse); }
.fhc-home-status { color: var(--cms-color-text-inverse-muted); }
.fhc-section-panel { overflow: hidden; border: 1px solid rgba(255, 255, 255, .18); border-radius: 16px; background: color-mix(in srgb, var(--cms-color-surface-inverse-soft) 88%, transparent); box-shadow: 0 30px 90px rgba(0, 0, 0, .25); }
.fhc-section-panel header { padding: 1.4rem 1.5rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.fhc-section-panel header span { color: var(--cms-color-highlight); font-size: .875rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.fhc-section-panel h2 { margin: .3rem 0 0; color: var(--cms-color-text-inverse); font-family: inherit; font-size: 1.15rem; letter-spacing: -.01em; }
.fhc-section-panel ol { margin: 0; padding: .45rem; list-style: none; }
.fhc-section-panel li { margin: 0; }
.fhc-section-panel li + li { border-top: 1px solid rgba(255, 255, 255, .09); }
.fhc-section-panel a,
.fhc-section-panel .fhc-empty-row { display: grid; min-height: 62px; grid-template-columns: 2.2rem 1fr 1.4rem; align-items: center; gap: .75rem; padding: .55rem 1rem; color: var(--cms-color-text-inverse); text-decoration: none; }
.fhc-section-panel a:hover { background: rgba(255, 255, 255, .07); color: var(--cms-color-highlight); }
.fhc-section-panel a > span,
.fhc-section-panel li > span { color: var(--cms-color-highlight); font-size: .875rem; font-weight: 900; }
.fhc-section-panel a > strong,
.fhc-section-panel li > strong { font-size: .9rem; }
.fhc-section-panel svg { width: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }

.cms-page-shell,
.blog-page,
.blog-post-page,
.help-center,
.help-shell,
.store-shell,
.collection-shell,
.items-page,
.customer-account-shell,
.customer-shell { position: relative; color: var(--cms-color-text); }
.cms-page-shell { padding-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.customer-main { color: var(--cms-color-text); }
.cms-page-hero { position: relative; isolation: isolate; display: grid; width: min(calc(100% - 2rem), var(--cms-content-max)); min-height: clamp(390px, 42vw, 500px); align-content: center; margin: 0 auto; overflow: hidden; padding: clamp(3.25rem, 7vw, 5.75rem) clamp(2rem, 5.5vw, 4.75rem); border: 1px solid var(--cms-color-border); border-radius: 18px; background: var(--cms-color-surface-raised); color: var(--cms-color-text); text-align: left; box-shadow: var(--cms-shadow-strong); }
.cms-page-hero::before { position: absolute; inset: 0 0 0 auto; z-index: -2; width: 31%; background: var(--cms-color-surface-inverse); content: ""; }
.cms-page-hero::after { position: absolute; top: 50%; right: clamp(2.5rem, 7vw, 6.5rem); z-index: -1; width: clamp(8.5rem, 17vw, 13.5rem); aspect-ratio: 1; transform: translateY(-50%) rotate(45deg); border: clamp(.7rem, 1.5vw, 1.15rem) solid color-mix(in srgb, var(--cms-color-highlight) 78%, var(--cms-color-surface-inverse)); box-shadow: 0 0 0 1px rgba(255, 255, 255, .2), 1.6rem -1.6rem 0 -1.2rem var(--cms-color-secondary-accent); content: ""; }
.cms-page-hero > * { position: relative; z-index: 1; max-width: 64%; }
.cms-page-hero > span { color: var(--cms-color-secondary-accent); font-size: .875rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.cms-page-hero :is(h1, h2) { max-width: 20ch; margin: .65rem 0 .85rem; font-size: clamp(1.8rem, 2.7vw, 1.95rem); font-weight: 780; line-height: 1.1; }
.cms-page-hero p { max-width: 62ch; margin: 0; color: var(--cms-color-text-soft); font-size: 1rem; line-height: 1.6; }
.cms-page-hero .cms-page-button { width: auto; max-width: none; justify-self: start; margin-top: 1.75rem; border-color: var(--cms-color-accent-strong); border-radius: var(--cms-radius-control); background: var(--cms-color-accent-strong); color: var(--cms-color-on-accent); box-shadow: 0 7px 18px var(--freehold-shadow-color); }
.cms-page-hero .cms-page-button:hover { border-color: var(--cms-color-secondary-accent); background: var(--cms-color-secondary-accent); color: var(--cms-color-on-accent); }
.blog-hero,
.blog-post-header,
.help-hero,
.store-hero { border-color: color-mix(in srgb, var(--cms-color-border) 72%, transparent); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-subtle); color: var(--cms-color-text); box-shadow: var(--cms-shadow); }
.blog-hero,
.blog-post-header { background: var(--cms-color-highlight-soft); }
.store-hero { background: color-mix(in srgb, var(--cms-color-accent) 12%, var(--cms-color-surface-raised)); }
.cms-page-hero h1,
.cms-page-hero h2,
.blog-hero h1,
.blog-post-header h1,
.help-hero h1,
.store-hero h1 { color: var(--cms-color-text); }
.cms-page-hero p,
.blog-hero p,
.blog-post-header p,
.help-hero p,
.store-hero p { color: var(--cms-color-text-soft); }
.blog-post-header .blog-meta { color: var(--cms-color-text-muted); }
.blog-post-header .blog-meta a { color: var(--cms-color-accent-strong); }
.blog-post-header .blog-meta span { border-color: var(--cms-color-border); background: var(--cms-color-surface-subtle); }
.help-center main.content-shell .content-header { border-color: color-mix(in srgb, var(--cms-color-border) 72%, transparent); border-top-color: var(--cms-color-accent); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-subtle); color: var(--cms-color-text); box-shadow: var(--cms-shadow); }
.help-center main.content-shell .content-header h1,
.help-center main.content-shell .content-header h2,
.help-center main.content-shell .content-header h3 { color: var(--cms-color-text); }
.help-center main.content-shell .content-header p { color: var(--cms-color-text-soft); }
.help-center main.content-shell .content-header .eyebrow,
.help-center main.content-shell .content-header .eyebrow a { color: var(--cms-color-accent-strong); }
.cms-page-hero :focus-visible,
.blog-hero :focus-visible,
.blog-post-header :focus-visible,
.help-center main.content-shell .content-header :focus-visible { outline-color: var(--cms-color-focus); }
.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,
.blog-card,
.blog-article,
.help-card,
.help-panel,
.store-card,
.customer-card,
.customer-panel { border-color: color-mix(in srgb, var(--cms-color-border) 72%, transparent); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-raised); color: var(--cms-color-text); box-shadow: var(--cms-shadow); }

.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), 1060px); max-width: none; margin: clamp(2rem, 4vw, 3.5rem) auto 0; padding: clamp(1.6rem, 3.5vw, 2.8rem); border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-raised); box-shadow: 0 10px 28px var(--freehold-shadow-color); }

.cms-page-rich-text { line-height: 1.72; }
.cms-page-rich-text > :last-child,
.cms-page-callout > :last-child,
.cms-page-features > :last-child,
.cms-page-columns > :last-child { margin-bottom: 0; }
.cms-page-heading { width: min(calc(100% - 2.5rem), 1060px); margin: clamp(3.25rem, 6vw, 5.25rem) auto -1px; padding: 1.35rem clamp(1.5rem, 3.5vw, 2.8rem); border: 1px solid var(--cms-color-border); border-inline-start: 5px solid var(--cms-color-accent); border-radius: var(--cms-radius-card) var(--cms-radius-card) 0 0; background: var(--cms-color-surface-subtle); color: var(--cms-color-text); font-size: clamp(1.35rem, 2vw, 1.65rem); text-align: left; box-shadow: none; }
.cms-page-heading + .cms-page-rich-text { margin-top: 0; border-radius: 0 0 var(--cms-radius-card) var(--cms-radius-card); box-shadow: 0 12px 28px var(--freehold-shadow-color); }
.cms-page-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.cms-page-columns > * { min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-subtle); box-shadow: 0 10px 24px var(--freehold-shadow-color); }
.cms-page-columns > :nth-child(even) { background: var(--cms-color-secondary-accent-soft); }
.cms-page-features { background: var(--cms-color-surface-subtle); }
.cms-page-features ul { gap: .85rem; padding: 0; list-style: none; }
.cms-page-features li { margin: 0; padding: .85rem 1rem; border: 1px solid var(--cms-color-border); border-inline-start: 4px solid var(--cms-color-highlight); border-radius: 6px; background: var(--cms-color-surface-raised); }
.cms-page-callout { border-inline-start: 6px solid var(--cms-color-highlight); background: var(--cms-color-highlight-soft); box-shadow: none; }
.cms-page-button-row { width: min(calc(100% - 2.5rem), 1060px); justify-content: center; margin: 1.25rem auto 3.25rem; }
.cms-page-button,
.cms-page-button-row a { width: auto; border-radius: var(--cms-radius-control); padding: .68rem 1.15rem; box-shadow: 0 5px 14px var(--freehold-shadow-color); }
.cms-page-divider { width: min(calc(100% - 2.5rem), 1060px); margin: 4rem auto; border-color: var(--cms-color-border-strong); }

.help-panel,
.customer-panel { background: var(--cms-color-surface-subtle); }

html[data-color-mode="dark"] .cms-page-hero,
html[data-color-mode="dark"] .blog-hero,
html[data-color-mode="dark"] .blog-post-header,
html[data-color-mode="dark"] .help-hero,
html[data-color-mode="dark"] .store-hero { border-color: var(--cms-color-border-strong); background: var(--cms-color-surface-raised); box-shadow: var(--cms-shadow); }
html[data-color-mode="dark"] .cms-page-hero h1,
html[data-color-mode="dark"] .cms-page-hero h2,
html[data-color-mode="dark"] .blog-hero h1,
html[data-color-mode="dark"] .blog-post-header h1,
html[data-color-mode="dark"] .help-hero h1,
html[data-color-mode="dark"] .store-hero h1 { color: var(--cms-color-text); }
html[data-color-mode="dark"] .cms-page-hero p,
html[data-color-mode="dark"] .blog-hero p,
html[data-color-mode="dark"] .blog-post-header p,
html[data-color-mode="dark"] .help-hero p,
html[data-color-mode="dark"] .store-hero p { color: var(--cms-color-text-soft); }

@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] .cms-page-hero,
	html[data-color-mode="system"] .blog-hero,
	html[data-color-mode="system"] .blog-post-header,
	html[data-color-mode="system"] .help-hero,
	html[data-color-mode="system"] .store-hero { border-color: var(--cms-color-border-strong); background: var(--cms-color-surface-raised); box-shadow: var(--cms-shadow); }
	html[data-color-mode="system"] .cms-page-hero h1,
	html[data-color-mode="system"] .cms-page-hero h2,
	html[data-color-mode="system"] .blog-hero h1,
	html[data-color-mode="system"] .blog-post-header h1,
	html[data-color-mode="system"] .help-hero h1,
	html[data-color-mode="system"] .store-hero h1 { color: var(--cms-color-text); }
	html[data-color-mode="system"] .cms-page-hero p,
	html[data-color-mode="system"] .blog-hero p,
	html[data-color-mode="system"] .blog-post-header p,
	html[data-color-mode="system"] .help-hero p,
	html[data-color-mode="system"] .store-hero p { color: var(--cms-color-text-soft); }
}

.help-center main.content-shell .content-header { border-inline-start: 6px solid var(--cms-color-highlight); background: var(--cms-color-surface-subtle); }
.help-center main.content-shell .content-header label { color: var(--cms-color-text); }
.help-center .help-article-list article { padding-block: 1.1rem; }
.blog-empty,
.store-empty,
.customer-empty { margin: 1.5rem auto 0; padding: clamp(1.6rem, 4vw, 2.75rem); border: 1px solid var(--cms-color-border); border-inline-start: 6px solid var(--cms-color-highlight); border-radius: var(--cms-radius-card); background: var(--cms-color-surface-subtle); box-shadow: var(--cms-shadow); }
.blog-empty h2,
.store-empty h2,
.customer-empty h2 { font-size: clamp(1.35rem, 2vw, 1.6rem); }
.store-card,
.blog-card,
.customer-card { transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.store-card:hover,
.blog-card:hover,
.customer-card:hover { border-color: var(--cms-color-accent); box-shadow: var(--cms-shadow-strong); transform: translateY(-2px); }
.customer-header,
.customer-page-header { border-radius: var(--cms-radius-card); background: var(--cms-color-surface-subtle); }

.fhc-footer { border-top: 2px solid var(--cms-color-highlight); background: var(--cms-color-footer); color: var(--cms-color-text-inverse-muted); }
.fhc-footer-inner { display: grid; width: min(calc(100% - 2.5rem), var(--cms-content-max)); grid-template-columns: 1fr; gap: 1.35rem; margin: 0 auto; padding: 2.25rem 0 1.4rem; }
.fhc-footer nav > ul,
.fhc-footer .cms-public-menu > ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.fhc-footer li { margin: 0; }
.fhc-footer nav ul ul { margin: .45rem 0 0; padding: 0; list-style: none; }
.fhc-footer .managed-menu-item-row { display: block; }
.fhc-footer .managed-submenu-toggle { display: none; }
.fhc-footer a { display: inline-flex; min-height: 34px; align-items: center; color: var(--cms-color-text-inverse-muted); font-size: .875rem; font-weight: 690; line-height: 1.3; text-decoration: none; }
.fhc-footer nav > ul > li > .managed-menu-item-row > a { min-height: 30px; color: var(--cms-color-text-inverse); font-size: .875rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.fhc-footer a:hover { color: var(--cms-color-highlight); }
.fhc-copyright { grid-column: 1 / -1; max-width: none; margin: 0; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .14); color: var(--cms-color-text-inverse-muted); font-size: .875rem; }

.fhc-site .freehold-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="file"], textarea, select),
.fhc-site .freehold-form-structured input { border-color: var(--cms-color-control-border); background: var(--cms-color-input); color: var(--cms-color-text); }
.fhc-site .freehold-form-actions { padding-top: .7rem; border-top: 0; }
.fhc-site .freehold-form-button.is-primary { color: var(--cms-color-on-accent); }
.fhc-return-top { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 120; display: grid; width: 48px; min-height: 48px; place-items: center; padding: 0; border-color: var(--cms-color-highlight); border-radius: 50%; background: var(--cms-color-highlight); color: var(--cms-color-on-highlight); box-shadow: var(--cms-shadow); }
.fhc-return-top[hidden] { display: none; }
.fhc-return-top svg { width: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }

@media (max-width: 1180px) {
	.fhc-header-inner { grid-template-columns: minmax(0, 1fr) auto; }
	.managed-primary-navigation,
	.fhc-header > .cms-public-menu { display: none; }
	.fhc-account-links { display: none; }
	.fhc-menu-button { display: inline-flex; }
	.fhc-drawer { position: fixed; top: 0; right: 0; z-index: 310; display: block; width: min(88vw, 23rem); height: 100dvh; overflow-y: auto; transform: translateX(104%); padding: 1rem; border-left: 1px solid var(--cms-color-border-strong); background: var(--cms-color-surface-inverse); color: var(--cms-color-text-inverse); box-shadow: -20px 0 60px rgba(0, 0, 0, .3); transition: transform 180ms ease; }
	.fhc-menu-open .fhc-drawer { transform: translateX(0); }
	.fhc-menu-open { overflow: hidden; }
	.fhc-drawer-backdrop { position: fixed; inset: 0; z-index: 300; display: block; border: 0; border-radius: 0; background: rgba(3, 15, 24, .72); }
	.fhc-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; border-bottom: 1px solid rgba(255, 255, 255, .14); }
	.fhc-drawer-head strong { color: var(--cms-color-text-inverse); }
	.fhc-drawer-head button { border-color: rgba(255, 255, 255, .28); background: transparent; color: var(--cms-color-text-inverse); }
	.fhc-drawer nav ul { margin: .75rem 0; padding: 0; list-style: none; }
	.fhc-drawer nav ul ul { margin-left: .75rem; padding-left: .75rem; border-left: 1px solid rgba(255, 255, 255, .15); }
	.fhc-drawer nav a { display: flex; min-height: 46px; align-items: center; padding: .55rem .65rem; border-bottom: 1px solid rgba(255, 255, 255, .09); color: var(--cms-color-text-inverse); font-weight: 760; text-decoration: none; }
	.fhc-drawer nav a:hover { color: var(--cms-color-highlight); }
	.fhc-drawer-account { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .16); }
	.fhc-drawer-account > h2 { margin: 0 0 .45rem; color: var(--cms-color-text-inverse-muted); font-size: .875rem; letter-spacing: .09em; text-transform: uppercase; }
	.fhc-drawer-account .customer-utility-navigation { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
	.fhc-drawer-account .customer-utility-navigation > span[aria-hidden="true"] { display: none; }
	.fhc-drawer-account .customer-utility-label { padding: .55rem .65rem .25rem; color: var(--cms-color-text-inverse-muted); font-size: .875rem; line-height: 1.4; }
	.fhc-drawer-account .customer-utility-navigation a { width: 100%; }
	.fhc-drawer-extra { margin-top: 1rem; }
	.fhc-home-hero { grid-template-columns: 1fr; }
	.fhc-hero-copy { max-width: 48rem; }
	.fhc-section-panel { width: min(100%, 44rem); }
	.fhc-footer nav > ul,
	.fhc-footer .cms-public-menu > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.no-js .fhc-menu-button,
	.no-js .fhc-drawer-backdrop { display: none; }
	.no-js .fhc-drawer { position: static; width: 100%; height: auto; transform: none; box-shadow: none; }
}

@media (max-width: 720px) {
	.fhc-header-inner { width: calc(100% - 1.5rem); min-height: 66px; gap: .65rem; }
	.fhc-brand-mark { width: 34px; flex-basis: 34px; }
	.fhc-brand small { display: none; }
	.fhc-brand strong { max-width: 38vw; font-size: .875rem; }
	.fhc-mode-control select { min-width: 5.9rem; padding-right: 1.4rem; }
	.fhc-menu-button > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.fhc-breadcrumbs,
	.content-shell { width: calc(100% - 1.75rem); }
	.cms-page-hero { width: calc(100% - 1.5rem); min-height: 0; padding: 3rem 1.6rem; border-radius: 12px; }
	.cms-page-hero::before,
	.cms-page-hero::after { display: none; }
	.cms-page-hero > * { max-width: 100%; }
	.cms-page-hero :is(h1, h2) { max-width: 22ch; font-size: clamp(1.72rem, 7.8vw, 1.95rem); }
	.fhc-home-hero { min-height: 0; gap: 2.4rem; padding: 4.2rem .95rem 4.5rem; }
	.fhc-hero-copy h1 { max-width: 22ch; font-size: clamp(1.72rem, 7.8vw, 1.95rem); }
	.fhc-hero-actions { align-items: stretch; flex-direction: column; }
	.fhc-button { width: 100%; }
	.fhc-section-panel { border-radius: 12px; }
	.fhc-section-panel a,
	.fhc-section-panel .fhc-empty-row { grid-template-columns: 1.8rem 1fr; padding-inline: .8rem; }
	.form-grid { grid-template-columns: 1fr; }
	.cms-page-columns { grid-template-columns: 1fr; }
	.fhc-footer-inner { width: calc(100% - 1.75rem); grid-template-columns: 1fr; gap: 1rem; padding-block: 1.35rem; }
	.fhc-footer nav > ul,
	.fhc-footer .cms-public-menu > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fhc-copyright { grid-column: auto; }
}

@media (max-width: 390px) {
	.fhc-brand strong { max-width: 31vw; }
	.fhc-mode-control select { min-width: 5.3rem; padding-inline: .45rem 1.1rem; font-size: .875rem; }
	.fhc-home-hero { padding-inline: .75rem; }
	.fhc-section-panel header { padding-inline: 1rem; }
	.fhc-footer nav > ul,
	.fhc-footer .cms-public-menu > ul { grid-template-columns: 1fr; }
}

/* V2 architectural system: squared modules, balanced space and restrained depth. */
body.fhc-site { letter-spacing: .002em; }
.fhc-header { border-bottom: 4px solid var(--cms-color-highlight); background: var(--cms-color-header); backdrop-filter: none; }
.fhc-header-inner { width: min(calc(100% - 2.5rem), 1420px); min-height: 92px; grid-template-columns: minmax(14.5rem, 17rem) minmax(0, 1fr) auto; gap: clamp(.8rem, 1.8vw, 1.5rem); }
.fhc-brand { gap: .85rem; }
.fhc-brand-mark { width: 48px; height: 48px; flex: 0 0 48px; padding: 3px; border: 1px solid rgba(255, 255, 255, .35); background: #f5f2ea; object-fit: contain; }
.fhc-brand strong { font-size: 1.04rem; letter-spacing: .075em; }
.fhc-brand small { max-width: 27ch; color: #d3dbe2; font-size: .875rem; line-height: 1.35; }
.managed-primary-navigation > ul,
.fhc-header .cms-public-menu > ul { gap: .35rem; }
.managed-primary-navigation a,
.fhc-header .cms-public-menu a { min-height: 46px; padding: .6rem .72rem; border: 1px solid transparent; border-radius: 0; color: #d7dfe6; }
.managed-primary-navigation a:hover,
.fhc-header .cms-public-menu a:hover { border-color: rgba(255, 255, 255, .22); background: var(--cms-color-surface-inverse-soft); }
.managed-primary-navigation ul ul,
.fhc-header .cms-public-menu ul ul { padding: .55rem; border-radius: 0; }
.fhc-account-links a,
.fhc-mode-control select,
.fhc-menu-button { border-radius: 0; }
.fhc-header-download {
	display: inline-flex;
	min-height: 40px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	padding: .4rem .65rem;
	border: 1px solid var(--cms-color-highlight);
	background: var(--cms-color-highlight);
	color: var(--cms-color-on-highlight);
	font-size: .875rem;
	font-weight: 850;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 3px 3px 0 color-mix(in srgb, var(--cms-color-highlight) 25%, transparent);
}
.fhc-header-download:hover,
.fhc-header-download[aria-current="page"] {
	border-color: var(--cms-color-highlight-soft);
	background: var(--cms-color-highlight-soft);
	color: var(--cms-color-text);
}
.fhc-header-download svg {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 2;
}
.fhc-breadcrumbs { padding-block: .85rem; border-bottom: 1px solid var(--cms-color-border); }
.fhc-content-root { background: var(--cms-color-canvas); }
.content-shell { padding-block: clamp(2rem, 4vw, 3.75rem); }
.legal-page,
.form-section,
.alert,
.notice,
details,
dialog,
.btn,
.button,
.btn-submit { border-radius: 0; }

.fhc-home { min-height: calc(100vh - 92px); background: var(--cms-color-canvas); }
.fhc-home-hero { width: min(calc(100% - 2.5rem), var(--cms-content-max)); min-height: 680px; margin: 0 auto; padding: clamp(4.5rem, 9vw, 8rem) clamp(2.5rem, 6vw, 5.5rem); border-inline-start: 8px solid var(--cms-color-highlight); background: var(--cms-color-surface-inverse); }
.fhc-hero-copy h1 { max-width: 11ch; font-weight: 820; letter-spacing: -.045em; }
.fhc-button { border-radius: 0; }
.fhc-section-panel { border-radius: 0; background: var(--cms-color-surface-inverse-soft); box-shadow: 18px 18px 0 color-mix(in srgb, var(--cms-color-accent) 48%, transparent); }
.fhc-section-panel a,
.fhc-section-panel .fhc-empty-row { min-height: 68px; }

.cms-page-shell { padding-top: clamp(1.25rem, 3vw, 2.5rem); padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.cms-page-hero { width: min(calc(100% - 2.5rem), var(--cms-content-max)); min-height: clamp(330px, 34vw, 400px); padding: clamp(2.4rem, 4vw, 3.3rem) clamp(2rem, 5vw, 4rem); border: 1px solid var(--cms-color-border); border-inline-start: 8px solid var(--cms-color-accent-strong); border-radius: 0; background: var(--cms-color-surface-raised); box-shadow: 18px 18px 0 color-mix(in srgb, var(--cms-color-accent) 24%, transparent); }
.cms-page-hero::before { inset: 0 0 0 auto; width: 32%; background: var(--cms-color-surface-inverse); }
.cms-page-hero::after { top: 50%; right: clamp(3.5rem, 8vw, 7rem); width: clamp(4.5rem, 7vw, 6.25rem); height: clamp(4.5rem, 7vw, 6.25rem); aspect-ratio: auto; transform: translateY(-50%); border: 0; background: var(--cms-color-highlight); box-shadow: clamp(-7rem, -7.8vw, -5rem) 0 0 var(--cms-color-accent), 0 clamp(5rem, 7.8vw, 7rem) 0 var(--cms-color-accent-strong), clamp(-7rem, -7.8vw, -5rem) clamp(5rem, 7.8vw, 7rem) 0 var(--cms-color-surface-raised); }
.cms-page-hero > * { max-width: 63%; }
.cms-page-hero > span { color: var(--cms-color-accent-strong); }
.cms-page-hero :is(h1, h2) { max-width: 24ch; font-size: clamp(1.7rem, 2.5vw, 1.9rem); font-weight: 780; letter-spacing: -.02em; }
.cms-page-hero p { max-width: 58ch; }
.cms-page-hero .cms-page-button { border-radius: 0; box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 24%, transparent); }

.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: 14px; 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) :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; }
.cms-page-shell > :not(.cms-page-hero) h4 { font-size: 1.05rem; line-height: 1.3; }
.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; }
.cms-page-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; border: 0; background: var(--cms-color-border); box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 11%, transparent); }
.cms-page-columns > * { min-width: 0; padding: clamp(1.05rem, 1.8vw, 1.45rem); border: 0; border-block-start: 4px solid var(--cms-color-accent); border-radius: 0; background: var(--cms-color-surface-raised); box-shadow: none; }
.cms-page-columns > :nth-child(even) { border-block-start-color: var(--cms-color-secondary-accent); background: var(--cms-color-secondary-accent-soft); }
.cms-page-columns h2 { max-width: 24ch; }
.cms-page-features { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 2.3fr); align-items: stretch; gap: 0; padding: 0; overflow: hidden; background: var(--cms-color-border); box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 11%, transparent); }
.fhc-site .cms-page-features > h2 { display: flex; max-width: none; align-items: flex-end; margin: 0; padding: clamp(1.15rem, 2vw, 1.6rem); background: var(--cms-color-surface-inverse); color: var(--cms-color-text-inverse); }
.fhc-site .cms-page-features > ul { display: grid; grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; border: 0; background: var(--cms-color-border); list-style: none; }
.fhc-site .cms-page-features > ul:first-child { grid-column: 1 / -1; }
.fhc-site .cms-page-features > ul { counter-reset: cms-feature; }
.fhc-site .cms-page-features > ul > li { position: relative; min-height: 100%; margin: 0; padding: .86rem 1rem .86rem 3.2rem; border: 0; border-radius: 0; background: var(--cms-color-surface-raised); counter-increment: cms-feature; }
.fhc-site .cms-page-features > 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 > ul > li:nth-child(4n + 2) { background: var(--cms-color-pastel-sage); }
.fhc-site .cms-page-features > ul > li:nth-child(4n + 3) { background: var(--cms-color-pastel-lilac); }
.fhc-site .cms-page-features > ul > li:nth-child(4n) { background: var(--cms-color-secondary-accent-soft); }
.fhc-site .cms-page-features > ul > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.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); 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; }
.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); }
.cms-page-divider { width: min(calc(100% - 2.5rem), 1120px); margin-block: clamp(1.5rem, 2.6vw, 2.15rem); }
.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)); }
.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; }
.cms-page-image { padding: .72rem; }
.cms-page-image img { display: block; width: 100%; height: auto; }
.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 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-page-media :is(audio, video) { display: block; width: 100%; }
.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); }
.cms-widget-card { min-width: 0; padding: 1rem; border: 0; border-radius: 0; background: var(--cms-color-surface-raised); 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 > 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; }

.blog-hero,
.blog-post-header,
.help-hero,
.store-hero,
.blog-card,
.blog-article,
.help-card,
.help-panel,
.store-card,
.customer-card,
.customer-panel,
.customer-header,
.customer-page-header,
.blog-empty,
.store-empty,
.customer-empty { border-radius: 0; }
.blog-card:nth-child(3n + 2),
.help-card:nth-child(3n + 2),
.store-card:nth-child(3n + 2),
.customer-card:nth-child(3n + 2) { background: var(--cms-color-pastel-sage); }
.blog-card:nth-child(3n),
.help-card:nth-child(3n),
.store-card:nth-child(3n),
.customer-card:nth-child(3n) { background: var(--cms-color-pastel-lilac); }
.store-card:hover,
.blog-card:hover,
.customer-card:hover { transform: translateY(-3px); }
.fhc-footer { border-top-width: 6px; }
.fhc-footer-inner { gap: 1.5rem; padding-block: 2.25rem 1.5rem; }
.fhc-footer nav > ul,
.fhc-footer .cms-public-menu > ul { gap: clamp(1.5rem, 3vw, 2.5rem); }
.fhc-footer nav > ul > li { padding-inline-start: 1rem; border-inline-start: 2px solid color-mix(in srgb, var(--cms-color-accent) 70%, transparent); }
.fhc-return-top { border-radius: 0; }

@media (max-width: 1180px) {
	.fhc-header-inner { min-height: 82px; grid-template-columns: minmax(0, 1fr) auto; }
	.fhc-home-hero { width: 100%; }
}

@media (max-width: 900px) {
	.cms-page-columns,
	.cms-page-features,
	.cms-page-callout,
	.cms-page-image-text,
	.cms-page-image-text.image-right { grid-template-columns: 1fr; }
	.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: 720px) {
	.fhc-header-inner { width: calc(100% - 1.5rem); min-height: 72px; }
	.fhc-journey-inner { width: calc(100% - 1.5rem); }
	.fhc-journey-label { position: sticky; left: 0; z-index: 1; background: var(--cms-color-surface-raised); }
	.fhc-brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
	.fhc-mode-control select { min-height: 44px; }
	.fhc-home-hero { min-height: 0; padding: 4.5rem 1.5rem 5rem; border-inline-start-width: 5px; }
	.fhc-section-panel { box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 40%, transparent); }
	.fhc-section-panel a { grid-template-columns: 1.8rem minmax(0, 1fr) 1.1rem; }
	.fhc-section-panel .fhc-empty-row { grid-template-columns: 1.8rem minmax(0, 1fr); }
	.cms-page-shell { padding-top: .75rem; }
	.cms-page-hero { width: calc(100% - 1.5rem); min-height: 0; padding: 3.5rem 1.75rem; border-inline-start-width: 5px; box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 22%, transparent); }
	.cms-page-hero::before,
	.cms-page-hero::after { display: none; }
	.cms-page-hero > * { max-width: 100%; }
	.cms-page-hero :is(h1, h2) { font-size: clamp(1.72rem, 7.8vw, 1.95rem); }
	.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 { grid-template-columns: 1fr; }
	.fhc-site .cms-page-features > ul > li:last-child:nth-child(odd) { grid-column: auto; }
	.cms-page-callout { gap: .75rem; }
	.cms-page-rich-text:has(> ol) > ol { grid-template-columns: 1fr; }
	.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 a { width: 100%; }
	.cms-page-columns > * { box-shadow: none; }
	.fhc-footer nav > ul,
	.fhc-footer .cms-public-menu > ul { gap: 1.5rem; }
	.fhc-footer a,
	.fhc-footer nav > ul > li > .managed-menu-item-row > a { min-height: 44px; }
	table { display: block; max-width: 100%; overflow-x: auto; }
	.cms-page-rich-text :is(p, li, dd, code),
	.cms-page-callout :is(p, li, dd, code),
	.cms-page-columns :is(p, li, dd, code),
	.cms-page-features :is(p, li, dd, code) { overflow-wrap: anywhere; }
}

@media (max-width: 640px) {
	.fhc-header-download {
		width: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
	}
	.fhc-header-download > span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

@media (max-width: 370px) {
	.fhc-brand { gap: 0; }
	.fhc-brand strong { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
	.fhc-brand-mark,
	.fhc-section-panel svg,
	.fhc-header-download svg,
	.fhc-return-top svg { stroke: currentColor; }
	.fhc-home-hero::before,
	.fhc-home-hero::after { display: none; }
	.fhc-button,
	.fhc-header-download,
	.btn,
	.button { border: 1px solid ButtonText; }
}

@media print {
	.fhc-header,
	.fhc-drawer,
	.fhc-drawer-backdrop,
	.fhc-return-top,
	.fhc-footer nav { display: none !important; }
	body.fhc-site { background: #fff; color: #000; }
	.fhc-content-root { min-height: 0; }
	a { color: #000; }
}

/* FreeholdCMS.com v3 presentation layer.
 * The homepage keeps the accepted architectural hero while ordinary pages use
 * compact mastheads. All selectors are additive and scoped to this theme. */
.fhc-site.homepage .fhc-breadcrumbs,
.fhc-site.page-home .fhc-breadcrumbs,
.fhc-site:has(.cms-v3-home) .fhc-breadcrumbs {
	display: none;
}

.fhc-site.homepage .cms-page-shell,
.fhc-site.page-home .cms-page-shell,
.fhc-site:has(.cms-v3-home) .cms-page-shell {
	padding-top: clamp(1.25rem, 2vw, 1.6rem);
}

/* Ordinary Page Manager introductions are mastheads rather than full heroes. */
.fhc-site .cms-page-hero {
	min-height: 0;
	align-content: center;
	padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3.5rem);
	border-inline-start-width: 6px;
	box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 18%, transparent);
}

.fhc-site .cms-page-hero::before,
.fhc-site .cms-page-hero::after {
	display: none;
}

.fhc-site .cms-page-hero > * {
	max-width: 760px;
}

.fhc-site .cms-page-hero :is(h1, h2) {
	max-width: 21ch;
	margin-block: 0 .5rem;
	font-size: clamp(1.8rem, 2.7vw, 1.95rem);
	line-height: 1.04;
}

.fhc-site .cms-page-hero > .cms-page-eyebrow {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 .8rem;
}

.fhc-site .cms-page-hero p {
	max-width: 66ch;
	font-size: 15px;
	line-height: 1.55;
}

.fhc-site .cms-page-hero .cms-page-button {
	margin-top: 1.2rem;
}

/* Homepage and explicitly opted-in launch pages retain the complete hero. */
.fhc-site.homepage .cms-page-hero,
.fhc-site.page-home .cms-page-hero,
.fhc-site:has(.cms-v3-home) .cms-page-hero,
.fhc-site.cms-page-launch .cms-page-hero {
	min-height: clamp(340px, 28vw, 390px);
	padding: clamp(2rem, 3.4vw, 2.8rem) clamp(1.6rem, 4vw, 3.5rem);
	border-inline-start-width: 8px;
	box-shadow: 18px 18px 0 color-mix(in srgb, var(--cms-color-accent) 24%, transparent);
}

.fhc-site.homepage .cms-page-hero::before,
.fhc-site.page-home .cms-page-hero::before,
.fhc-site:has(.cms-v3-home) .cms-page-hero::before,
.fhc-site.cms-page-launch .cms-page-hero::before,
.fhc-site.homepage .cms-page-hero::after,
.fhc-site.page-home .cms-page-hero::after,
.fhc-site:has(.cms-v3-home) .cms-page-hero::after,
.fhc-site.cms-page-launch .cms-page-hero::after {
	display: block;
}

.fhc-site.homepage .cms-page-hero::before,
.fhc-site.page-home .cms-page-hero::before,
.fhc-site:has(.cms-v3-home) .cms-page-hero::before,
.fhc-site.cms-page-launch .cms-page-hero::before {
	width: 32%;
}

.fhc-site.homepage .cms-page-hero::after,
.fhc-site.page-home .cms-page-hero::after,
.fhc-site:has(.cms-v3-home) .cms-page-hero::after,
.fhc-site.cms-page-launch .cms-page-hero::after {
	right: clamp(3rem, 7vw, 5.5rem);
	width: clamp(4rem, 6vw, 5.25rem);
	height: clamp(4rem, 6vw, 5.25rem);
	box-shadow: clamp(-6rem, -6.8vw, -4.75rem) 0 0 var(--cms-color-accent), 0 clamp(4.75rem, 6.8vw, 6rem) 0 var(--cms-color-accent-strong), clamp(-6rem, -6.8vw, -4.75rem) clamp(4.75rem, 6.8vw, 6rem) 0 var(--cms-color-surface-raised);
}

.fhc-site.homepage .cms-page-hero > *,
.fhc-site.page-home .cms-page-hero > *,
.fhc-site:has(.cms-v3-home) .cms-page-hero > *,
.fhc-site.cms-page-launch .cms-page-hero > * {
	max-width: 61%;
}

.fhc-site.homepage .cms-page-hero :is(h1, h2),
.fhc-site.page-home .cms-page-hero :is(h1, h2),
.fhc-site:has(.cms-v3-home) .cms-page-hero :is(h1, h2),
.fhc-site.cms-page-launch .cms-page-hero :is(h1, h2) {
	max-width: 20ch;
	margin-block: 0 .55rem;
	font-size: clamp(1.85rem, 2.7vw, 1.95rem);
	line-height: 1.1;
}

.fhc-site.homepage .cms-page-hero p,
.fhc-site.page-home .cms-page-hero p,
.fhc-site:has(.cms-v3-home) .cms-page-hero p,
.fhc-site.cms-page-launch .cms-page-hero p {
	max-width: 58ch;
	font-size: 15px;
	line-height: 1.55;
}

/* Standard 1366x768 first-frame fit. The header and hero composition stay
 * unchanged; only the desktop-height budget is tightened at this viewport. */
@media (min-width: 901px) and (max-width: 1440px) and (max-height: 768px) {
	.fhc-site.homepage .cms-page-shell,
	.fhc-site.page-home .cms-page-shell,
	.fhc-site:has(.cms-v3-home) .cms-page-shell {
		padding-top: 1rem;
	}

	.fhc-site.homepage .cms-page-hero,
	.fhc-site.page-home .cms-page-hero,
	.fhc-site:has(.cms-v3-home) .cms-page-hero {
		min-height: clamp(330px, 27vw, 370px);
		padding-block: clamp(1.8rem, 2.8vw, 2.35rem);
	}
}

/* Keep the alternate home provider's hero within the same first-frame target. */
.fhc-site .fhc-home-hero {
	min-height: clamp(340px, 28vw, 390px);
	padding: clamp(2.75rem, 4.8vw, 4rem) clamp(2rem, 5.2vw, 4.5rem);
}

/* Blog, Store, Help and account introductions use the same compact rhythm. */
.fhc-site :is(.blog-hero, .blog-post-header, .help-hero, .store-hero, .customer-page-header, .customer-header) {
	min-height: 0;
	margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
	padding: clamp(1.6rem, 3.2vw, 2.5rem);
}

.fhc-site :is(.blog-hero, .blog-post-header, .help-hero, .store-hero, .customer-page-header, .customer-header) h1 {
	font-size: clamp(1.75rem, 2.7vw, 1.95rem);
	line-height: 1.08;
}

/* Help articles receive a complete reading surface instead of flush body copy. */
.help-center main.content-shell {
	width: min(calc(100% - 2.5rem), 72rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.help-center main.content-shell .content-header {
	width: 100%;
	max-width: none;
	margin-bottom: clamp(1.25rem, 2.5vw, 1.8rem);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.help-center main.content-shell .content-header h1 {
	max-width: 26ch;
	font-size: clamp(1.72rem, 2.6vw, 1.95rem);
	line-height: 1.08;
}

.help-center .prose {
	max-width: 78ch;
	margin-bottom: 1.5rem;
	padding: clamp(1.4rem, 3vw, 2.25rem);
	border: 1px solid var(--cms-color-border);
	border-inline-start: 5px solid var(--cms-color-accent);
	background: var(--cms-color-surface-raised);
	box-shadow: 6px 6px 0 color-mix(in srgb, var(--cms-color-accent) 12%, transparent);
}

.help-center .prose > :first-child {
	margin-top: 0;
}

.help-center .prose > :last-child {
	margin-bottom: 0;
}

.help-center .prose :is(h2, h3) {
	max-width: 34ch;
	margin-block: 1.65rem .55rem;
	line-height: 1.18;
}

.help-center .prose h2:first-child,
.help-center .prose h3:first-child {
	margin-top: 0;
}

.help-center .prose :is(p, ul, ol, dl, blockquote) {
	margin-bottom: .9rem;
}

.help-center .prose :is(ul, ol) {
	padding-inline-start: 1.4rem;
}

.help-center main.content-shell > :is(h2, h3, h4, p, ul, ol, dl, blockquote, pre) {
	max-width: 78ch;
}

@media (max-width: 900px) {
	.fhc-site.homepage .cms-page-hero,
	.fhc-site.page-home .cms-page-hero,
	.fhc-site:has(.cms-v3-home) .cms-page-hero,
	.fhc-site.cms-page-launch .cms-page-hero {
		min-height: clamp(380px, 54vw, 430px);
	}
}

@media (max-width: 720px) {
	.fhc-site.homepage .cms-page-shell,
	.fhc-site.page-home .cms-page-shell,
	.fhc-site:has(.cms-v3-home) .cms-page-shell {
		padding-top: .75rem;
	}

	.fhc-site.homepage .cms-page-hero,
	.fhc-site.page-home .cms-page-hero,
	.fhc-site:has(.cms-v3-home) .cms-page-hero,
	.fhc-site.cms-page-launch .cms-page-hero,
	.fhc-site .cms-page-hero {
		width: calc(100% - 1.5rem);
		min-height: 0;
		padding: 2.5rem 1.5rem;
		border-inline-start-width: 5px;
		box-shadow: 10px 10px 0 color-mix(in srgb, var(--cms-color-accent) 20%, transparent);
	}

	.fhc-site.homepage .cms-page-hero::before,
	.fhc-site.page-home .cms-page-hero::before,
	.fhc-site:has(.cms-v3-home) .cms-page-hero::before,
	.fhc-site.cms-page-launch .cms-page-hero::before,
	.fhc-site.homepage .cms-page-hero::after,
	.fhc-site.page-home .cms-page-hero::after,
	.fhc-site:has(.cms-v3-home) .cms-page-hero::after,
	.fhc-site.cms-page-launch .cms-page-hero::after {
		display: none;
	}

	.fhc-site.homepage .cms-page-hero > *,
	.fhc-site.page-home .cms-page-hero > *,
	.fhc-site:has(.cms-v3-home) .cms-page-hero > *,
	.fhc-site.cms-page-launch .cms-page-hero > *,
	.fhc-site .cms-page-hero > * {
		max-width: 100%;
	}

	.fhc-site.homepage .cms-page-hero :is(h1, h2),
	.fhc-site.page-home .cms-page-hero :is(h1, h2),
	.fhc-site:has(.cms-v3-home) .cms-page-hero :is(h1, h2),
	.fhc-site.cms-page-launch .cms-page-hero :is(h1, h2),
	.fhc-site .cms-page-hero :is(h1, h2) {
		max-width: 22ch;
		font-size: clamp(1.72rem, 7.8vw, 1.95rem);
	}

	.fhc-site .fhc-home-hero {
		min-height: 0;
		padding: 3.5rem 1.5rem 4rem;
	}

	.help-center main.content-shell {
		width: calc(100% - 1.5rem);
		padding: 1rem;
	}

	.help-center main.content-shell .content-header,
	.help-center .prose {
		padding: 1.25rem;
	}
}

@media print {
	.fhc-site .cms-page-hero,
	.help-center .prose {
		min-height: 0;
		padding: 1rem 0;
		border: 0;
		box-shadow: none;
	}

	.fhc-site .cms-page-hero::before,
	.fhc-site .cms-page-hero::after {
		display: none;
	}
}

/* FreeholdCMS.com v3.1 sales presentation refinements. */
.fhc-header-download {
	min-height: 40px;
	gap: .35rem;
	padding: .42rem .62rem;
	font-size: .875rem;
	box-shadow: 2px 2px 0 color-mix(in srgb, var(--cms-color-highlight) 22%, transparent);
}

.fhc-header-download svg {
	width: 16px;
	height: 16px;
	flex-basis: 16px;
}

/* Managed submenus keep the parent destination and use one integrated,
 * labeled chevron control for pointer, keyboard and drawer interaction. */
.managed-primary-navigation .managed-menu-item-row,
.fhc-drawer .managed-menu-item-row {
	display: flex;
	align-items: stretch;
}

.managed-primary-navigation .managed-menu-item-row > a,
.fhc-drawer .managed-menu-item-row > a {
	min-width: 0;
	flex: 1 1 auto;
}

.fhc-header .managed-submenu-toggle,
.fhc-drawer .managed-submenu-toggle {
	display: inline-flex;
	width: 2rem;
	min-width: 2rem;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #d7dfe6;
	box-shadow: none;
}

.fhc-header .managed-submenu-toggle:hover,
.fhc-header .managed-submenu-toggle:focus-visible,
.fhc-header .managed-submenu-toggle[aria-expanded="true"],
.fhc-drawer .managed-submenu-toggle:hover,
.fhc-drawer .managed-submenu-toggle:focus-visible,
.fhc-drawer .managed-submenu-toggle[aria-expanded="true"] {
	border-color: rgba(255, 255, 255, .28);
	background: var(--cms-color-surface-inverse-soft);
	color: var(--cms-color-highlight);
}

.fhc-header .managed-submenu-toggle > span,
.fhc-drawer .managed-submenu-toggle > span {
	display: block;
	width: .48rem;
	height: .48rem;
	border: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
}

.fhc-header .managed-submenu-toggle[aria-expanded="true"] > span,
.fhc-drawer .managed-submenu-toggle[aria-expanded="true"] > span {
	transform: rotate(225deg) translate(-1px, -1px);
}

.no-js .managed-primary-navigation .managed-submenu-toggle,
.no-js .fhc-drawer .managed-submenu-toggle,
.no-js .fhc-drawer-head [data-managed-drawer-close] {
	display: none !important;
}

.managed-primary-navigation [data-managed-submenu] {
	display: none !important;
}

.managed-primary-navigation .is-submenu-open > [data-managed-submenu],
.no-js .managed-primary-navigation li:hover > [data-managed-submenu],
.no-js .managed-primary-navigation li:focus-within > [data-managed-submenu] {
	display: block !important;
}

.managed-primary-navigation ul ul,
.fhc-header .cms-public-menu ul ul {
	top: 100%;
}

.fhc-drawer .managed-submenu-toggle {
	width: 46px;
	min-width: 46px;
	min-height: 46px;
	border-bottom-color: rgba(255, 255, 255, .09);
}

/* The homepage mark is a still-frame assembly, not an animation. */
.fhc-site.homepage .cms-page-hero::before,
.fhc-site.page-home .cms-page-hero::before,
.fhc-site:has(.cms-v3-home) .cms-page-hero::before {
	right: 0;
	width: 40%;
	background: color-mix(in srgb, var(--cms-color-surface-inverse) 94%, var(--cms-color-accent));
	clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
}

.fhc-site.homepage .cms-page-hero::after,
.fhc-site.page-home .cms-page-hero::after,
.fhc-site:has(.cms-v3-home) .cms-page-hero::after {
	top: 50%;
	right: clamp(1rem, 2.5vw, 2.4rem);
	width: min(40%, 31rem);
	height: 86%;
	aspect-ratio: auto;
	transform: translateY(-50%);
	border: 0;
	background: url('../images/freeholdcms-v3-assembly.svg') center / contain no-repeat;
	box-shadow: none;
	content: "";
}

/* Product and bundle lists read as software packages instead of generic cards. */
.fhc-product-packages {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: clamp(.9rem, 1.8vw, 1.25rem) !important;
	margin: 1.15rem 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

.cms-v3-home .cms-v3-pricing .fhc-product-packages {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fhc-product-packages > li {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 0;
	height: auto;
	align-self: start;
	flex-direction: column;
	margin: 0 !important;
	padding: 1.35rem 1.2rem 1.2rem !important;
	border: 1px solid var(--cms-color-border-strong) !important;
	border-top: 7px solid var(--cms-color-accent) !important;
	background: var(--cms-color-surface-raised) !important;
	box-shadow: 8px 9px 0 color-mix(in srgb, var(--cms-color-surface-inverse) 10%, transparent) !important;
	isolation: isolate;
}

.fhc-product-packages > li::before {
	position: absolute;
	top: -7px;
	right: -1px;
	z-index: -1;
	width: 3.2rem;
	height: 3.2rem;
	background: var(--cms-color-accent);
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	content: "";
}

.fhc-product-packages > li:nth-child(4n + 2) {
	border-top-color: var(--cms-color-highlight) !important;
}

.fhc-product-packages > li:nth-child(4n + 2)::before {
	background: var(--cms-color-highlight);
}

.fhc-product-packages > li:nth-child(4n + 3) {
	border-top-color: var(--cms-color-secondary-accent) !important;
}

.fhc-product-packages > li:nth-child(4n + 3)::before {
	background: var(--cms-color-secondary-accent);
}

.fhc-product-packages > li:nth-child(4n) {
	border-top-color: var(--cms-color-accent-strong) !important;
}

.fhc-product-packages > li:nth-child(4n)::before {
	background: var(--cms-color-accent-strong);
}

.fhc-product-packages > li > p:first-child {
	margin: 0 0 .7rem !important;
	color: var(--cms-color-accent-strong);
	font-size: .875rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.fhc-product-packages h3 {
	max-width: 18ch !important;
	margin: 0 0 .65rem !important;
	font-size: clamp(1.22rem, 1.65vw, 1.55rem) !important;
	line-height: 1.08 !important;
}

.fhc-product-packages .fhc-package-price {
	margin: 0 0 .85rem !important;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--cms-color-border);
	font-size: .9rem;
}

.fhc-product-packages .fhc-package-price strong {
	display: block;
	margin-top: .2rem;
	color: var(--cms-color-text);
	font-size: 1.2rem;
}

.fhc-product-packages .fhc-package-actions {
	display: flex;
	align-items: stretch;
	gap: .45rem;
	flex-wrap: wrap;
	margin: .7rem 0 0 !important;
	padding-top: .9rem;
}

.fhc-product-packages .fhc-package-actions a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: .55rem .72rem;
	border: 1px solid var(--cms-color-accent-strong);
	background: var(--cms-color-accent-strong);
	color: var(--cms-color-on-accent);
	font-size: .875rem;
	font-weight: 820;
	line-height: 1.2;
	text-decoration: none;
}

.fhc-product-packages .fhc-package-actions a + a {
	background: transparent;
	color: var(--cms-color-accent-strong);
}

.fhc-product-packages .fhc-package-actions a:hover {
	border-color: var(--cms-color-secondary-accent);
	background: var(--cms-color-secondary-accent);
	color: var(--cms-color-on-accent);
}

.cms-v3-product-page .cms-page-rich-text:first-child,
.cms-v3-product-page .cms-page-rich-text:nth-child(4) {
	border-inline-start-color: var(--cms-color-highlight);
}

@media (max-width: 1080px) {
	.cms-v3-home .cms-v3-pricing .fhc-product-packages,
	.fhc-product-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.fhc-site.homepage .cms-page-hero::before,
	.fhc-site.page-home .cms-page-hero::before,
	.fhc-site:has(.cms-v3-home) .cms-page-hero::before,
	.fhc-site.homepage .cms-page-hero::after,
	.fhc-site.page-home .cms-page-hero::after,
	.fhc-site:has(.cms-v3-home) .cms-page-hero::after {
		display: none;
	}

	.cms-v3-home .cms-v3-pricing .fhc-product-packages,
	.fhc-product-packages {
		grid-template-columns: 1fr;
	}

	.fhc-product-packages > li {
		min-height: 0;
		box-shadow: 5px 6px 0 color-mix(in srgb, var(--cms-color-surface-inverse) 10%, transparent) !important;
	}
}

/* ========================================================================== */
/* Phase 2 of 8 — Claude-authoritative public sales presentation replacement. */
/* ========================================================================== */

:root {
	--cms-font-heading: "Newsreader", Georgia, serif;
	--fhc-v3-ui-font: "IBM Plex Sans", Arial, sans-serif;
	--fhc-v3-ink: #0b2235;
	--fhc-v3-ink-deep: #071726;
	--fhc-v3-ink-line: #17324a;
	--fhc-v3-paper: #f4ecd9;
	--fhc-v3-paper-line: #d8c69c;
	--fhc-v3-paper-line-soft: #e4d6b3;
	--fhc-v3-paper-text: #2a2318;
	--fhc-v3-brass: #b8874a;
	--fhc-v3-brass-deep: #8a6330;
	--fhc-v3-slate: #9fb0c2;
	--fhc-v3-slate-dim: #6e8299;
}

body.fhc-site {
	font-family: var(--fhc-v3-ui-font);
	font-size: 15px;
	line-height: 1.62;
}

body.fhc-site :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--cms-font-heading);
	font-weight: 500;
	letter-spacing: 0;
}

.fhc-header {
	border-bottom: 1px solid var(--fhc-v3-ink-line);
	background: var(--fhc-v3-ink);
}

.fhc-header-inner {
	width: min(calc(100% - 3rem), 1080px);
	min-height: 72px;
	grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr) auto;
	gap: 1rem;
}

.fhc-brand { gap: .65rem; }
.fhc-brand-mark {
	width: 38px;
	height: 38px;
	flex-basis: 38px;
	padding: 2px;
	border-color: color-mix(in srgb, var(--fhc-v3-paper) 35%, transparent);
	background: var(--fhc-v3-paper);
}
.fhc-brand strong {
	font-family: var(--cms-font-heading);
	font-size: 1.08rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
.fhc-brand small { display: none; }

.managed-primary-navigation > ul,
.fhc-header .cms-public-menu > ul { justify-content: flex-end; gap: 0; }
.managed-primary-navigation a,
.fhc-header .cms-public-menu a {
	min-height: 42px;
	padding: .5rem .72rem;
	border: 0;
	color: var(--fhc-v3-slate);
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: 0;
}
.managed-primary-navigation a:hover,
.fhc-header .cms-public-menu a:hover {
	border: 0;
	background: transparent;
	color: var(--fhc-v3-paper);
}
.managed-primary-navigation a[href*="/page/24-developers"],
.fhc-header .cms-public-menu a[href*="/page/24-developers"] {
	margin-left: .8rem;
	padding-left: 1.25rem;
	border-left: 1px solid var(--fhc-v3-ink-line);
	color: var(--fhc-v3-slate-dim);
}

.fhc-header-download {
	min-height: 38px;
	padding: .55rem .82rem;
	border: 1px solid var(--fhc-v3-brass);
	border-radius: 2px;
	background: var(--fhc-v3-brass);
	color: #2a1c08;
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: 0;
	box-shadow: none;
}
.fhc-header-download:hover,
.fhc-header-download[aria-current="page"] {
	border-color: #c99657;
	background: #c99657;
	color: #2a1c08;
}

.fhc-mode-control select,
.fhc-menu-button,
.fhc-account-links a { border-radius: 2px; }

.fhc-breadcrumbs {
	width: min(calc(100% - 3rem), 1080px);
	padding-block: .6rem;
	border-bottom-color: var(--fhc-v3-paper-line);
	font-size: .875rem;
}

.fhc-footer {
	border-top: 1px solid var(--fhc-v3-ink-line);
	background: var(--fhc-v3-ink-deep);
}
.fhc-footer-inner {
	width: min(calc(100% - 3rem), 1080px);
	gap: 1rem;
	padding: 1.7rem 0 1.2rem;
}
.fhc-footer-short { display: none; }
.page-home .fhc-footer-full { display: none; }
.page-home .fhc-footer-short {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem 1.35rem;
}
.page-home .fhc-footer-short a {
	min-height: 28px;
	color: var(--fhc-v3-slate-dim);
	font-size: .875rem;
	font-weight: 400;
}
.page-home .fhc-footer-short a:hover { color: var(--fhc-v3-slate); }
.fhc-copyright { color: #3a5066; font-size: .875rem; }
.fhc-copyright a { color: var(--fhc-v3-slate-dim); }

/* Page Manager replacement content is flat, legible and deliberately quiet. */
.fhc-site.page-content .cms-page-shell {
	width: min(100%, 1080px);
	padding: clamp(1rem, 2vw, 1.5rem) 0 clamp(3rem, 5vw, 4rem);
}
.fhc-site.page-content .cms-page-rich-text,
.fhc-site.page-content .cms-widget {
	width: min(calc(100% - 3rem), 980px);
	margin: .8rem auto 0;
	padding: clamp(1.15rem, 2vw, 1.55rem);
	border: 1px solid var(--fhc-v3-paper-line);
	border-left-width: 1px;
	border-radius: 2px;
	background: var(--fhc-v3-paper);
	box-shadow: none;
}
.fhc-site.page-content .cms-page-rich-text:first-child {
	margin-top: 0;
	padding-block: clamp(1.75rem, 4vw, 3rem);
	border-color: var(--fhc-v3-ink-line);
	background: var(--fhc-v3-ink);
	color: var(--fhc-v3-slate);
}
.fhc-site.page-content .cms-page-rich-text:first-child h1 {
	max-width: 20ch;
	margin-bottom: .75rem;
	color: var(--fhc-v3-paper);
	font-size: clamp(1.72rem, 2.7vw, 1.95rem);
	line-height: 1.12;
}
.fhc-site.page-content .cms-page-rich-text:first-child p { color: var(--fhc-v3-slate); }
.fhc-site.page-content .cms-page-rich-text h2 {
	max-width: 34ch;
	margin-bottom: .45rem;
	color: var(--fhc-v3-paper-text);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
.fhc-site.page-content .cms-page-rich-text h3 {
	margin: .8rem 0 .2rem;
	font-size: 1.08rem;
}
.fhc-site.page-content .cms-page-rich-text :is(p,li) { color: #5c5648; }
.fhc-site.page-content .cms-page-rich-text:first-child .rt-embed-v3-action {
	color: var(--fhc-v3-slate);
}

.rt-embed-v3-marker { display: none !important; }
.rt-embed-v3-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem 1rem;
	margin-top: 1rem;
}
.rt-embed-v3-action-primary,
.rt-embed-v3-action {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: .55rem .85rem;
	border-radius: 2px;
	font-size: .875rem;
	font-weight: 500;
	text-decoration: none;
}
.rt-embed-v3-action-primary {
	border: 1px solid var(--fhc-v3-brass);
	background: var(--fhc-v3-brass);
	color: #2a1c08;
}
.rt-embed-v3-action-primary:hover { background: #c99657; color: #2a1c08; }
.rt-embed-v3-action {
	min-height: auto;
	padding-inline: 0;
	border: 0;
	background: transparent;
	color: var(--fhc-v3-brass-deep);
	text-decoration: underline;
	text-decoration-color: var(--fhc-v3-paper-line);
	text-underline-offset: 3px;
}
.rt-embed-v3-fact-list,
.rt-embed-v3-release-ledger,
.rt-embed-v3-package-comparison,
.rt-embed-v3-ledger {
	margin: .9rem 0 0;
	padding: 0;
	list-style: none;
}
.rt-embed-v3-fact-list > li,
.rt-embed-v3-release-ledger > li,
.rt-embed-v3-ledger > li {
	padding: .45rem 0;
	border-bottom: 1px dotted var(--fhc-v3-paper-line);
}
.rt-embed-v3-ledger > li,
.rt-embed-v3-release-ledger > li {
	display: flex;
	align-items: baseline;
	gap: .6rem;
}
.rt-embed-v3-ledger-fill { flex: 1; border-bottom: 1px dotted var(--fhc-v3-paper-line); }
.rt-embed-v3-package-comparison {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: .75rem;
}
.rt-embed-v3-package-comparison > li {
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--fhc-v3-paper-line);
	background: #fffdf6;
}

@media (max-width: 1180px) {
	.fhc-header-inner { width: min(calc(100% - 2rem), 1080px); grid-template-columns: minmax(0,1fr) auto; }
}
@media (max-width: 720px) {
	.fhc-header-inner,
	.fhc-breadcrumbs,
	.fhc-footer-inner { width: calc(100% - 1.5rem); }
	.fhc-header-download span { display: none; }
	.fhc-site.page-content .cms-page-rich-text,
	.fhc-site.page-content .cms-widget { width: calc(100% - 1.5rem); }
	.rt-embed-v3-package-comparison { grid-template-columns: 1fr; }
}

/* Homepage: the page blocks themselves form the approved full-width sequence. */
.fhc-site.page-home .fhc-breadcrumbs { display: none; }
.fhc-site.page-home .fhc-content-root { background: #faf6ea; }
.fhc-site.page-home .cms-page-shell {
	display: flex;
	width: 100%;
	max-width: none;
	flex-direction: column;
	margin: 0;
	padding: 0;
}
.fhc-site.page-home .cms-page-rich-text,
.fhc-site.page-home .cms-widget {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-inline: max(1.5rem, calc((100vw - 1080px) / 2));
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.fhc-site.page-home .cms-page-rich-text h2 { font-size: clamp(1.35rem, 2vw, 1.6rem); }
.fhc-site.page-home .cms-page-rich-text h3 { font-size: 1rem; }

/* Hero: deed statement + literal certificate. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) {
	display: grid;
	grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr);
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
	padding-block: clamp(3.25rem, 6vw, 4.25rem) clamp(2.7rem, 5vw, 3.5rem);
	background: var(--fhc-v3-ink);
	color: var(--fhc-v3-slate);
	order: 1;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) > :not(.rt-embed-v3-certificate) { grid-column: 1; }
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) h1 {
	max-width: 12ch;
	margin: 0 0 1rem;
	color: var(--fhc-v3-paper);
	font-size: clamp(1.8rem, 2.7vw, 1.95rem);
	line-height: 1.16;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) h1 em {
	color: var(--fhc-v3-brass);
	font-weight: 400;
}
.fhc-site.page-home .rt-embed-v3-home-lede {
	max-width: 46ch;
	margin-bottom: 1rem;
	color: var(--fhc-v3-slate);
	font-size: 15px;
	line-height: 1.6;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) > p:not(.rt-embed-v3-home-lede):not(.rt-embed-v3-actions) {
	max-width: 50ch;
	color: var(--fhc-v3-slate-dim);
	font-size: .875rem;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) .rt-embed-v3-action {
	color: var(--fhc-v3-slate);
	text-decoration-color: #3a5066;
}

.rt-embed-v3-certificate {
	position: relative;
	grid-column: 2;
	grid-row: 1 / span 5;
	align-self: center;
	margin: 0;
	padding: 2rem 1.8rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
	color: var(--fhc-v3-paper-text);
	text-align: center;
}
.rt-embed-v3-certificate::before {
	position: absolute;
	inset: 8px;
	border: 1px solid var(--fhc-v3-paper-line);
	content: "";
	pointer-events: none;
}
.rt-embed-v3-certificate > * { position: relative; }
.rt-embed-v3-cert-eyebrow {
	margin: 0 0 1rem;
	color: #7a6a45 !important;
	font-family: var(--cms-font-heading);
	font-size: .875rem;
	font-style: italic;
}
.rt-embed-v3-seal {
	display: flex;
	width: 92px;
	height: 92px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 0 auto 1rem !important;
	border: 2px solid var(--fhc-v3-brass);
	border-radius: 50%;
	color: var(--fhc-v3-brass-deep) !important;
	line-height: 1.05;
}
.rt-embed-v3-seal strong {
	font-family: var(--cms-font-heading);
	font-size: 1.55rem;
	font-weight: 500;
}
.rt-embed-v3-seal span { margin-top: .2rem; font-size: .875rem; text-transform: lowercase; }
.rt-embed-v3-cert-name {
	margin-bottom: .25rem !important;
	color: var(--fhc-v3-paper-text) !important;
	font-family: var(--cms-font-heading);
	font-size: 1.3rem;
}
.rt-embed-v3-certificate figcaption {
	max-width: 32ch;
	margin: 0 auto 1rem;
	color: #6b5d42;
	font-size: .875rem;
	line-height: 1.45;
}
.rt-embed-v3-cert-ledger,
.rt-embed-v3-own-ledger {
	margin: 1rem 0 0;
	padding: .8rem 0 0;
	border-top: 1px dotted var(--fhc-v3-paper-line-soft);
	list-style: none;
}
.rt-embed-v3-cert-ledger li,
.rt-embed-v3-own-ledger li {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	margin: 0;
	padding: .28rem 0;
	font-size: .875rem;
}
.rt-embed-v3-cert-ledger strong { color: var(--fhc-v3-paper-text); font-weight: 500; }
.rt-embed-v3-cert-ledger .rt-embed-v3-ledger-key { color: #6b5d42; }

/* Trust strip. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-trust) {
	padding-block: 1.3rem;
	border-top: 1px solid var(--fhc-v3-paper-line);
	border-bottom: 1px solid var(--fhc-v3-paper-line);
	background: var(--fhc-v3-paper);
	order: 2;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-trust) h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.rt-embed-v3-trust-list {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rt-embed-v3-trust-list li {
	position: relative;
	margin: 0;
	padding-left: 1rem;
	color: #6b5d42;
	font-size: .875rem;
}
.rt-embed-v3-trust-list li::before {
	position: absolute;
	top: .65em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--fhc-v3-brass);
	content: "";
}

/* Picker and job routing. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-picker) {
	padding-block: 3.3rem 1.2rem;
	background: #faf6ea;
	order: 3;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-jobs) {
	padding-block: 1.2rem 4.5rem;
	background: #faf6ea;
	order: 4;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-picker) > p { max-width: 56ch; color: #5c5648; }
.rt-embed-v3-picker,
.rt-embed-v3-jobs,
.rt-embed-v3-offers {
	display: grid;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}
.rt-embed-v3-picker { grid-template-columns: repeat(5,minmax(0,1fr)); gap: .7rem; }
.rt-embed-v3-picker > li {
	margin: 0;
	padding: .95rem .85rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
}
.rt-embed-v3-picker > li:hover { border-color: var(--fhc-v3-brass); }
.rt-embed-v3-picker h3,
.rt-embed-v3-jobs h3 { margin: 0 0 .25rem !important; color: var(--fhc-v3-paper-text); font-family: var(--fhc-v3-ui-font) !important; font-weight: 500 !important; }
.rt-embed-v3-picker p,
.rt-embed-v3-jobs p { margin: 0 0 .55rem !important; color: #6b5d42; font-size: .875rem; line-height: 1.45; }
.rt-embed-v3-picker .rt-embed-v3-action,
.rt-embed-v3-jobs .rt-embed-v3-action { font-size: .875rem; }
.rt-embed-v3-jobs {
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 1px;
	border: 1px solid var(--fhc-v3-paper-line);
	background: var(--fhc-v3-paper-line);
}
.rt-embed-v3-jobs > li { margin: 0; padding: 1.3rem 1.15rem; background: #faf6ea; }

/* Ownership band: certificate on left, argument and ledger on right. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) {
	display: grid;
	grid-template-columns: minmax(260px,.85fr) minmax(0,1.15fr);
	gap: clamp(2rem,5vw,3.5rem);
	align-items: center;
	padding-block: clamp(3.7rem,7vw,4.75rem);
	background: var(--fhc-v3-ink);
	color: var(--fhc-v3-slate);
	order: 5;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) > :not(.rt-embed-v3-certificate-small) { grid-column: 2; }
.fhc-site.page-home .rt-embed-v3-certificate-small {
	grid-column: 1;
	grid-row: 1 / span 5;
	padding-block: 1.6rem;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) h2 {
	max-width: 27ch;
	margin: 0 0 .8rem;
	color: var(--fhc-v3-paper);
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) > p { color: var(--fhc-v3-slate); }
.fhc-site.page-home .rt-embed-v3-own-ledger {
	border-top-color: var(--fhc-v3-ink-line);
}
.fhc-site.page-home .rt-embed-v3-own-ledger li {
	border-bottom: 0;
	color: var(--fhc-v3-slate-dim);
}
.fhc-site.page-home .rt-embed-v3-own-ledger strong { color: var(--fhc-v3-paper); font-weight: 400; }
.fhc-site.page-home .rt-embed-v3-own-ledger .rt-embed-v3-ledger-fill { border-color: #2c4a63; }
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) .rt-embed-v3-action {
	color: var(--fhc-v3-slate);
	text-decoration-color: #3a5066;
}

/* Reassurance sits immediately before pricing on desktop. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-reassurance) {
	padding-block: 1.2rem;
	border-top: 1px solid var(--fhc-v3-paper-line);
	background: var(--fhc-v3-paper);
	order: 6;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-reassurance) h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.rt-embed-v3-reassurance {
	display: flex;
	justify-content: center;
	gap: 1rem 2.5rem;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rt-embed-v3-reassurance li {
	position: relative;
	margin: 0;
	padding-left: 1.8rem;
	color: #6b5d42;
	font-size: .875rem;
}
.rt-embed-v3-reassurance li::before {
	position: absolute;
	left: 0;
	top: .05rem;
	display: grid;
	width: 18px;
	height: 18px;
	place-items: center;
	border-radius: 50%;
	background: var(--fhc-v3-brass);
	color: #2a1c08;
	content: "✓";
	font-size: .875rem;
}

/* Three offers only. Product prices remain catalog-bound; Phase 2 does not duplicate active paid values in page copy. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-pricing) {
	padding-block: 3.6rem 4.6rem;
	background: #faf6ea;
	order: 7;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-pricing) > p { max-width: 58ch; color: #5c5648; }
.rt-embed-v3-offers {
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 1.2rem;
	align-items: stretch;
}
.rt-embed-v3-offer {
	display: flex;
	min-width: 0;
	flex-direction: column;
	margin: 0;
	padding: 1.45rem 1.3rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
	color: var(--fhc-v3-paper-text);
}
.rt-embed-v3-offer.rt-embed-v3-featured { border: 2px solid var(--fhc-v3-brass); }
.rt-embed-v3-offer-kicker {
	margin: 0 0 .25rem !important;
	color: #7a6a45 !important;
	font-family: var(--cms-font-heading);
	font-size: .875rem;
	font-style: italic;
}
.rt-embed-v3-offer h3 {
	margin: 0 0 .4rem !important;
	color: var(--fhc-v3-paper-text);
	font-family: var(--cms-font-heading) !important;
	font-size: 1.35rem !important;
	font-weight: 500 !important;
}
.rt-embed-v3-offer > p:not(.rt-embed-v3-actions):not(.rt-embed-v3-offer-kicker):not(.rt-embed-v3-offer-price) {
	flex: 1;
	color: #6b5d42;
	font-size: .875rem;
}
.rt-embed-v3-offer-price {
	margin: .6rem 0 .9rem !important;
	padding: .75rem 0;
	border-top: 1px dotted var(--fhc-v3-paper-line-soft);
	border-bottom: 1px dotted var(--fhc-v3-paper-line-soft);
	color: #6b5d42 !important;
	font-size: .875rem;
}
.rt-embed-v3-offer-price strong {
	margin-right: .3rem;
	color: var(--fhc-v3-paper-text);
	font-family: var(--cms-font-heading);
	font-size: 1.55rem;
	font-weight: 500;
}
.rt-embed-v3-offer .rt-embed-v3-actions { margin-top: auto; }
.rt-embed-v3-offer .rt-embed-v3-action-primary { width: 100%; }

/* Coming-next interest capture. */
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) {
	padding-block: 3rem 1rem;
	background: var(--fhc-v3-paper);
	order: 8;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) > p { max-width: 58ch; color: #5c5648; }
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) + .cms-widget {
	padding-block: 0 3rem;
	background: var(--fhc-v3-paper);
	order: 9;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) + .cms-widget .freehold-form {
	max-width: 620px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) + .cms-widget .freehold-form-button.is-primary {
	border-color: var(--fhc-v3-brass);
	background: var(--fhc-v3-brass);
	color: #2a1c08;
}

@media (max-width: 900px) {
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero),
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) {
		grid-template-columns: 1fr;
	}
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) > *,
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) > * { grid-column: 1; }
	.fhc-site.page-home .rt-embed-v3-certificate,
	.fhc-site.page-home .rt-embed-v3-certificate-small {
		grid-column: 1;
		grid-row: auto;
		width: min(100%,420px);
	}
	.rt-embed-v3-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.rt-embed-v3-jobs { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.rt-embed-v3-offers { grid-template-columns: 1fr; }

	/* Deliberate mobile decision order from the approved brief. */
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-reassurance) { order: 3; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-pricing) { order: 4; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-picker) { order: 5; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-jobs) { order: 6; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-ownership) { order: 7; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) { order: 8; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-coming-next) + .cms-widget { order: 9; }
}

@media (max-width: 600px) {
	.fhc-site.page-home .cms-page-rich-text,
	.fhc-site.page-home .cms-widget {
		padding-inline: 1rem;
	}
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) { padding-block: 2.6rem 2.2rem; }
	.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) h1 { font-size: 1.85rem; }
	.rt-embed-v3-picker,
	.rt-embed-v3-jobs { grid-template-columns: 1fr; }
	.rt-embed-v3-trust-list { grid-template-columns: 1fr; gap: .55rem; }
	.rt-embed-v3-reassurance { align-items: stretch; flex-direction: column; gap: .6rem; }
}

/* Dynamic catalog-price bindings and structured release/requirements rows. */
.rt-embed-v3-bound-price {
	margin-right: .3rem;
	color: var(--fhc-v3-paper-text);
	font-family: var(--cms-font-heading);
	font-size: 1.25rem;
	font-weight: 500;
}
.rt-embed-v3-package-price {
	margin: .25rem 0 .65rem !important;
	color: #6b5d42 !important;
	font-size: .875rem;
}
.rt-embed-v3-data-table {
	margin: 1rem 0 0;
	padding: 0;
	border-top: 1px solid var(--fhc-v3-paper-line);
	list-style: none;
}
.rt-embed-v3-data-table > li {
	display: grid;
	grid-template-columns: minmax(8rem,.35fr) minmax(0,1fr);
	gap: 1rem;
	margin: 0;
	padding: .65rem 0;
	border-bottom: 1px dotted var(--fhc-v3-paper-line);
}
.rt-embed-v3-data-table > li strong { color: var(--fhc-v3-paper-text); font-weight: 500; }
.rt-embed-v3-data-table > li span { color: #5c5648; }
@media (max-width: 600px) {
	.rt-embed-v3-data-table > li { grid-template-columns: 1fr; gap: .18rem; }
}

/* September 11, 2026 public-site polish: prelaunch status and Help reading rhythm. */
.fhc-header-download.is-disabled {
	cursor: not-allowed;
	border-color: color-mix(in srgb, var(--fhc-v3-brass) 50%, var(--fhc-v3-ink-line));
	background: transparent;
	color: var(--fhc-v3-slate-dim);
	box-shadow: none;
	opacity: .9;
}
.fhc-header-download.is-disabled:hover {
	border-color: color-mix(in srgb, var(--fhc-v3-brass) 50%, var(--fhc-v3-ink-line));
	background: transparent;
	color: var(--fhc-v3-slate-dim);
}
.fhc-site-notice {
	margin: 0;
	border: 0;
	border-bottom: 1px solid var(--cms-color-border);
	background: var(--cms-color-highlight-soft);
	color: var(--cms-color-text);
}
.fhc-site-notice > div {
	width: min(calc(100% - 3rem), 1080px);
	margin: 0 auto;
	padding: .58rem 0;
	font-size: .875rem;
	line-height: 1.45;
}
.fhc-site-notice strong { color: var(--cms-color-text); }

/* Help pages: one aligned reading column, consistent card edges and compact type. */
.help-center main.content-shell,
.help-center main.content-shell.help-article {
	width: min(calc(100% - 3rem), 1080px);
	margin-inline: auto;
	padding: 1.5rem 0 3rem;
}
.help-center main.content-shell.help-article {
	display: grid;
	gap: 1rem;
	justify-items: start;
}
.help-center .help-article > article,
.help-center .help-related,
.help-center .help-support-strip {
	width: min(100%, 860px);
	max-width: 860px;
}
.help-center main.content-shell .content-header,
.help-center .help-article > article .content-header {
	width: 100%;
	max-width: 860px;
	margin: 0 0 1rem;
	padding: 1.2rem 1.4rem;
	border: 1px solid var(--cms-color-border);
	border-inline-start: 4px solid var(--cms-color-highlight);
	border-radius: 4px;
	background: var(--cms-color-surface-subtle);
	box-shadow: none;
}
.help-center main.content-shell .content-header h1 {
	max-width: 30ch;
	margin-bottom: .55rem;
	font-size: clamp(1.72rem, 2.6vw, 1.95rem);
	line-height: 1.12;
}
.help-center main.content-shell .content-header p {
	margin-bottom: .55rem;
	font-size: 1rem;
	line-height: 1.55;
}
.help-center main.content-shell .content-header .help-updated {
	margin-top: .95rem;
	margin-bottom: 0;
	color: var(--cms-color-text-muted);
}
.help-center .prose {
	width: min(100%, 860px);
	max-width: 860px;
	margin: 0;
	padding: 1.2rem 1.4rem;
	border: 1px solid var(--cms-color-border);
	border-inline-start: 4px solid var(--cms-color-accent);
	border-radius: 4px;
	background: var(--cms-color-surface-raised);
	box-shadow: none;
	font-size: 14px;
	line-height: 1.68;
}
.help-center .prose :is(h2, h3) {
	max-width: 38ch;
	margin-block: 1.35rem .5rem;
}
.help-center .prose h2 { font-size: 1.45rem; }
.help-center .prose h3 { font-size: 1.18rem; }
.help-center .prose :is(p, ul, ol, dl, blockquote) { margin-bottom: .8rem; }
.help-center .prose :is(ul, ol) { padding-inline-start: 1.35rem; }
.help-center .help-related {
	margin-top: .35rem;
	padding-top: .9rem;
	border-top: 1px solid var(--cms-color-border);
}
.help-center .help-related > h2 {
	margin-bottom: .6rem;
	font-size: 1.35rem;
}
.help-center .help-article-list {
	border-top: 1px solid var(--cms-color-border);
}
.help-center .help-article-list li {
	margin: 0;
	padding: .78rem .2rem;
}
.help-center .help-article-list article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	padding: 0;
}
.help-center .help-article-list h3 {
	margin: .12rem 0 .25rem;
	font-size: 1.08rem;
}
.help-center .help-article-list p { margin-bottom: .25rem; }
.help-center .help-row-action { min-block-size: 2rem; }
.help-center .help-support-strip {
	margin: .35rem 0 0;
	padding: 1rem 1.15rem;
	border: 1px solid var(--cms-color-border);
	border-inline-start: 4px solid var(--cms-color-highlight);
	border-radius: 4px;
	background: var(--cms-color-surface-subtle);
	box-shadow: none;
}
.help-center .help-support-strip h2 { margin-bottom: .3rem; font-size: 1.3rem; }
.help-center .help-support-strip p { margin-bottom: 0; }

@media (max-width: 720px) {
	.fhc-site-notice > div,
	.help-center main.content-shell,
	.help-center main.content-shell.help-article { width: calc(100% - 1.5rem); }
	.help-center main.content-shell,
	.help-center main.content-shell.help-article { padding-block: 1rem 2.25rem; }
	.help-center main.content-shell .content-header,
	.help-center .help-article > article .content-header,
	.help-center .prose { padding: 1rem; }
	.help-center .help-article-list article { grid-template-columns: 1fr; gap: .25rem; }
}


/* Phase 11 final density lock: public prose stays near the 14px house standard. */
.fhc-site .cms-page-hero p { font-size: 15px; line-height: 1.55; }
.fhc-site .cms-page-shell > :not(.cms-page-hero) { font-size: 14px; }
.help-center main.content-shell.help-article .content-header p { font-size: 14px; line-height: 1.55; }
.help-center main.content-shell.help-article .prose {
	width: 100%;
	max-width: none;
	font-size: 14px;
	line-height: 1.68;
}
.help-center main.content-shell.help-article .prose h2 { font-size: 1.32rem; }
.help-center main.content-shell.help-article .prose h3 { font-size: 1.08rem; }
.help-center main.content-shell.help-article .help-related { font-size: 14px; }

/* 2026-09-11 recovery polish: final compact public typography and alignment lock. */
.fhc-site {
	font-size: 14px;
	line-height: 1.62;
}
.fhc-site :is(h1, .cms-page-hero h1, .cms-page-hero h2, .fhc-hero-copy h1) {
	font-size: clamp(1.75rem, 2.65vw, 1.95rem);
	line-height: 1.1;
}
.fhc-site :is(h2) {
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	line-height: 1.2;
}
.fhc-site :is(h3) {
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.28;
}
.fhc-site .cms-page-hero,
.fhc-site.page-home .cms-page-hero,
.fhc-site.homepage .cms-page-hero,
.fhc-site:has(.cms-v3-home) .cms-page-hero {
	min-height: clamp(300px, 25vw, 350px);
	padding-block: clamp(1.65rem, 2.6vw, 2.15rem);
}
.fhc-site .cms-page-hero :is(h1,h2),
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) h1 {
	max-width: 22ch;
	font-size: clamp(1.75rem, 2.65vw, 1.95rem);
}
.fhc-site .cms-page-hero p,
.fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-hero) .rt-embed-v3-home-lede {
	font-size: 14px;
	line-height: 1.62;
}
.fhc-breadcrumbs {
	width: min(calc(100% - 3rem), 1080px);
	margin-inline: auto;
	padding-block: .62rem;
	font-size: .875rem;
	line-height: 1.35;
}
.fhc-breadcrumbs:empty { display: none; }
.fhc-site-notice > div {
	width: min(calc(100% - 3rem), 1080px);
	padding: .6rem 0;
	font-size: 14px;
	line-height: 1.45;
}
.help-center main.content-shell > section,
.help-center main.content-shell > aside,
.help-center main.content-shell > form,
.help-center main.content-shell > nav,
.help-center main.content-shell > article {
	box-sizing: border-box;
}
.help-center .help-topic-list,
.help-center .help-article-list {
	margin-inline: 0;
	padding-inline: 0;
}
.help-center .help-topic-list > li,
.help-center .help-article-list > li {
	list-style: none;
}
.help-center .help-topic-list > li > a {
	padding: .9rem 1rem;
	gap: 1rem;
}
.help-center .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem;
}
@media (max-width: 720px) {
	.fhc-breadcrumbs,
	.fhc-site-notice > div { width: calc(100% - 1.5rem); }
	.fhc-site .cms-page-hero,
	.fhc-site.page-home .cms-page-hero,
	.fhc-site.homepage .cms-page-hero,
	.fhc-site:has(.cms-v3-home) .cms-page-hero {
		min-height: 0;
		padding: 1.35rem 1rem;
	}
}


.fhc-site .cms-page-button.is-disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: .68;
	cursor: not-allowed;
	pointer-events: none;
	filter: saturate(.55);
}

/* Recovery polish: structured lists should read as deliberate interface content, not raw HTML. */
.fhc-site.page-content .cms-page-rich-text :is(ul, ol) {
	padding-inline-start: 1.3rem;
}
.fhc-site.page-content .cms-page-rich-text li::marker {
	color: var(--fhc-v3-brass);
	font-weight: 700;
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
	gap: .75rem;
	margin: .9rem 0 0;
	padding: 0;
	list-style: none;
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) > li {
	min-width: 0;
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-top: 3px solid var(--fhc-v3-brass);
	background: color-mix(in srgb, var(--fhc-v3-paper) 94%, var(--fhc-v3-paper-muted));
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) > li > p:first-child {
	margin: 0 0 .35rem;
	color: var(--fhc-v3-slate-dim);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) > li > h3 {
	margin: 0 0 .55rem;
	font-size: 1.12rem;
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) > li > p:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .8rem;
	margin-top: .8rem;
}
.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) > li > p:last-child a {
	font-weight: 600;
	text-underline-offset: .18em;
}
.rt-embed-v3-action-primary.is-disabled {
	opacity: .68;
	cursor: not-allowed;
	pointer-events: none;
	filter: saturate(.55);
}

@media (max-width: 600px) {
	.fhc-site.page-content .cms-page-rich-text > ul:has(> li > h3) {
		grid-template-columns: 1fr;
	}
}

/* 2026-09-11 recovery audit corrections: these rules are deliberately last in the cascade. */
body.fhc-site {
	font-size: 14px;
	line-height: 1.62;
}

/* Help Center uses one centered working column rather than a second framed page inside the site shell. */
.help-center main.content-shell,
.help-center main.content-shell.help-article {
	width: min(calc(100% - 3rem), 900px);
	margin-inline: auto;
	padding: 1.5rem 0 3rem;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.help-center main.content-shell.help-article {
	display: block;
}
.help-center .help-article > article,
.help-center .help-related,
.help-center .help-support-strip,
.help-center main.content-shell .content-header,
.help-center .help-article > article .content-header,
.help-center .prose {
	width: 100%;
	max-width: none;
}
.help-center main.content-shell .content-header,
.help-center .help-article > article .content-header {
	margin: 0 0 1rem;
}
.help-center main.content-shell .content-header p,
.help-center main.content-shell .content-header small,
.help-center main.content-shell .content-header .help-updated {
	color: var(--fhc-v3-slate);
}
.help-center main.content-shell .content-header .help-updated {
	font-size: .875rem;
}
.help-center .help-related,
.help-center .help-support-strip {
	margin-top: 1rem;
}

@media (max-width: 720px) {
	.help-center main.content-shell,
	.help-center main.content-shell.help-article {
		width: calc(100% - 1.5rem);
		padding-block: 1rem 2.25rem;
	}
}

/* Help header copy must retain readable contrast in both light and dark modes. */
.help-center main.content-shell .content-header p,
.help-center main.content-shell .content-header small {
	color: var(--cms-color-text-soft);
}
.help-center main.content-shell .content-header .help-updated {
	color: var(--cms-color-text-muted);
}

/* September 11, 2026 surgical correction: enforce the established compact
 * public type scale after every module/theme layer. These caps intentionally
 * override older high-specificity hero and module heading rules. */
body.fhc-site {
	font-size: 14px;
}

body.fhc-site h1 {
	font-size: clamp(24px, 2.1vw, 28px) !important;
	line-height: 1.12 !important;
}

body.fhc-site h2 {
	font-size: clamp(20px, 1.75vw, 25px) !important;
	line-height: 1.2 !important;
}

body.fhc-site h3 {
	font-size: clamp(17px, 1.35vw, 20px) !important;
	line-height: 1.28 !important;
}

body.fhc-site h4 {
	font-size: 17px !important;
	line-height: 1.3 !important;
}

body.fhc-site :is(.cms-page-hero, .blog-hero, .blog-post-header, .store-hero, .customer-page-header, .customer-header) > p {
	font-size: 14px !important;
}

body.fhc-site .cms-page-shell > :not(.cms-page-hero) {
	font-size: 14px;
}

/* Phase-10 homepage content predates the v3 marker classes. Once the
 * structural package-list check has identified the four package entries,
 * present them as cards rather than browser bullets. */
body.fhc-site.homepage .fhc-product-packages,
body.fhc-site.page-home .fhc-product-packages {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1080px) {
	body.fhc-site.homepage .fhc-product-packages,
	body.fhc-site.page-home .fhc-product-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	body.fhc-site.homepage .fhc-product-packages,
	body.fhc-site.page-home .fhc-product-packages {
		grid-template-columns: 1fr;
	}
}


/* September 11, 2026 micro-polish — fine-detail pass only.
 * The deed/ledger language is accented without replacing existing structure. */

::selection {
	background: var(--fhc-v3-brass);
	color: #241707;
}
html {
	scrollbar-color: var(--fhc-v3-brass-deep) var(--fhc-v3-paper);
	scrollbar-width: thin;
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--fhc-v3-paper); }
::-webkit-scrollbar-thumb {
	border: 2px solid var(--fhc-v3-paper);
	background: var(--fhc-v3-brass-deep);
}
::-webkit-scrollbar-thumb:hover { background: var(--fhc-v3-brass); }

/* Active navigation: a brass folio rule with a tiny centered diamond. */
.managed-primary-navigation a[aria-current="page"],
.fhc-header .cms-public-menu a[aria-current="page"] {
	position: relative;
	color: var(--fhc-v3-paper);
}
.managed-primary-navigation a[aria-current="page"]::after,
.fhc-header .cms-public-menu a[aria-current="page"]::after {
	position: absolute;
	right: .72rem;
	bottom: .26rem;
	left: .72rem;
	height: 5px;
	background:
		linear-gradient(var(--fhc-v3-brass), var(--fhc-v3-brass)) left center / 100% 1px no-repeat,
		linear-gradient(45deg, transparent 31%, var(--fhc-v3-brass) 32% 68%, transparent 69%) center / 5px 5px no-repeat;
	content: "";
}

/* Breadcrumb dividers become quiet ledger diamonds. */
.fhc-breadcrumbs .sep { font-size: 0; }
.fhc-breadcrumbs .sep::before {
	display: inline-block;
	width: .38rem;
	height: .38rem;
	transform: rotate(45deg);
	border: 1px solid var(--fhc-v3-brass-deep);
	content: "";
}

/* Paper surfaces gain nearly invisible fibre without becoming faux parchment. */
:is(
	.rt-embed-v3-certificate,
	.fhc-site.page-content .cms-page-rich-text,
	.fhc-site.page-content .cms-widget,
	.fhc-product-packages > li,
	.rt-embed-v3-package-comparison > li
) {
	background-image:
		radial-gradient(circle at 20% 30%, rgba(42,35,24,.026) 0 .55px, transparent .65px),
		radial-gradient(circle at 75% 68%, rgba(184,135,74,.024) 0 .55px, transparent .65px);
	background-size: 11px 11px, 17px 17px;
}

/* Folded software cards: one-pixel fold seam and a tiny real shadow below it. */
.fhc-product-packages > li {
	transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.fhc-product-packages > li::before {
	filter: drop-shadow(-2px 2px 1px rgba(42,35,24,.12));
}
.fhc-product-packages > li::after {
	position: absolute;
	top: -7px;
	right: -1px;
	z-index: 1;
	width: 3.2rem;
	height: 3.2rem;
	background: linear-gradient(45deg, transparent 49%, color-mix(in srgb, var(--fhc-v3-paper-text) 25%, transparent) 49.5% 50.5%, transparent 51%);
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	content: "";
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
	.fhc-product-packages > li:hover,
	.fhc-product-packages > li:focus-within {
		transform: translateY(-1px);
		border-color: color-mix(in srgb, var(--fhc-v3-brass) 48%, var(--cms-color-border-strong)) !important;
		box-shadow: 7px 8px 0 color-mix(in srgb, var(--cms-color-surface-inverse) 11%, transparent) !important;
	}
}

/* Brass actions now have stamped-plate edge highlights and a physical press. */
:is(.fhc-header-download, .rt-embed-v3-action-primary, .fhc-button-primary, .cms-page-button, .fhc-product-packages .fhc-package-actions a) {
	transition: transform .13s ease, box-shadow .13s ease, background-color .13s ease, border-color .13s ease, color .13s ease;
}
:is(.fhc-header-download, .rt-embed-v3-action-primary, .fhc-button-primary, .fhc-product-packages .fhc-package-actions a:not(:last-child)) {
	box-shadow: inset 0 1px 0 rgba(255,255,255,.32), inset 0 -1px 0 rgba(76,45,10,.25);
}
:is(.fhc-header-download, .rt-embed-v3-action-primary, .fhc-button, .cms-page-button, .fhc-product-packages .fhc-package-actions a):active {
	transform: translate(1px, 1px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(76,45,10,.18) !important;
}
.rt-embed-v3-action::after {
	margin-left: .3em;
	color: var(--fhc-v3-brass);
	content: "›";
	text-decoration: none;
}

/* Headings receive a short ledger rule ending in a brass diamond. */
.fhc-site.page-content .cms-page-rich-text > h2,
.help-center .prose > h2 {
	position: relative;
	padding-bottom: .45rem;
}
.fhc-site.page-content .cms-page-rich-text > h2::after,
.help-center .prose > h2::after {
	display: block;
	width: 52px;
	height: 8px;
	margin-top: .4rem;
	background:
		linear-gradient(var(--fhc-v3-paper-line), var(--fhc-v3-paper-line)) left center / 40px 1px no-repeat,
		linear-gradient(45deg, transparent 31%, var(--fhc-v3-brass) 32% 68%, transparent 69%) right center / 8px 8px no-repeat;
	content: "";
}

/* The certificate seal gets a subtle double ring and stamped depth. */
.rt-embed-v3-seal {
	position: relative;
	box-shadow:
		inset 0 0 0 4px color-mix(in srgb, var(--fhc-v3-brass) 10%, transparent),
		0 1px 0 rgba(92,64,28,.16);
}
.rt-embed-v3-seal::before,
.rt-embed-v3-seal::after {
	position: absolute;
	border-radius: 50%;
	content: "";
	pointer-events: none;
}
.rt-embed-v3-seal::before {
	inset: 5px;
	border: 1px solid color-mix(in srgb, var(--fhc-v3-brass) 48%, transparent);
}
.rt-embed-v3-seal::after {
	inset: -6px;
	border: 1px dotted color-mix(in srgb, var(--fhc-v3-brass) 28%, transparent);
}

/* Footer folio rule: one hairline with a brass ornament, nothing decorative-heavy. */
.fhc-footer-inner { position: relative; }
.fhc-footer-inner::before {
	position: absolute;
	top: 0;
	left: 0;
	width: min(116px, 26vw);
	height: 7px;
	background:
		linear-gradient(var(--fhc-v3-ink-line), var(--fhc-v3-ink-line)) left center / calc(100% - 12px) 1px no-repeat,
		linear-gradient(45deg, transparent 31%, var(--fhc-v3-brass) 32% 68%, transparent 69%) right center / 7px 7px no-repeat;
	content: "";
}

/* Focus remains explicit, with a brass baseline in addition to the existing outline. */
:is(input, select, textarea):focus-visible {
	box-shadow: inset 0 -2px 0 var(--fhc-v3-brass);
}

/* Tables carry the ledger language through data-heavy pages. */
thead th + th { border-left: 1px solid var(--fhc-v3-paper-line); }
tbody tr { transition: background-color .12s ease; }
tbody tr:hover { background: color-mix(in srgb, var(--fhc-v3-brass) 5%, var(--cms-color-surface)); }

/* Details/FAQ controls use a compact brass folio marker. */
summary {
	position: relative;
	padding-left: 2.2rem;
	list-style: none;
}
summary::-webkit-details-marker { display: none; }
summary::before {
	position: absolute;
	top: 50%;
	left: .72rem;
	display: grid;
	width: .9rem;
	height: .9rem;
	place-items: center;
	transform: translateY(-50%) rotate(45deg);
	border: 1px solid var(--fhc-v3-brass-deep);
	color: var(--fhc-v3-brass-deep);
	content: "";
}
summary::after {
	position: absolute;
	top: 50%;
	left: .93rem;
	transform: translate(-50%, -50%);
	color: var(--fhc-v3-brass-deep);
	font: 700 14px/1 var(--fhc-v3-ui-font);
	content: "+";
}
details[open] > summary::after { content: "−"; }

@media (forced-colors: active) {
	:is(.rt-embed-v3-certificate, .fhc-site.page-content .cms-page-rich-text, .fhc-site.page-content .cms-widget, .fhc-product-packages > li, .rt-embed-v3-package-comparison > li) { background-image: none; }
	.fhc-product-packages > li::after,
	.fhc-footer-inner::before,
	.fhc-site.page-content .cms-page-rich-text > h2::after,
	.help-center .prose > h2::after,
	.rt-embed-v3-seal::after { display: none; }
}

/* The package-card base background is declared !important earlier, so carry the
 * paper-fibre layer through at the same cascade strength. */
.fhc-product-packages > li {
	background-image:
		radial-gradient(circle at 20% 30%, rgba(42,35,24,.026) 0 .55px, transparent .65px),
		radial-gradient(circle at 75% 68%, rgba(184,135,74,.024) 0 .55px, transparent .65px) !important;
	background-size: 11px 11px, 17px 17px !important;
}


/* September 11, 2026 surgical completion pass.
 * Scope: final type contract, genuinely dim dark mode, direct sales-card
 * styling, full managed footer and customer-workspace alignment. */

/* House type scale: 14px body, H1 never above 24px. */
body.fhc-site { font-size: 14px; line-height: 1.6; }
body.fhc-site h1 { font-size: clamp(22px, 1.85vw, 24px) !important; line-height: 1.16 !important; }
body.fhc-site h2 { font-size: clamp(18px, 1.55vw, 20px) !important; line-height: 1.22 !important; }
body.fhc-site h3 { font-size: clamp(16px, 1.25vw, 17px) !important; line-height: 1.3 !important; }
body.fhc-site h4 { font-size: 15px !important; line-height: 1.35 !important; }
body.fhc-site h5 { font-size: 14px !important; line-height: 1.4 !important; }
body.fhc-site h6 { font-size: 14px !important; line-height: 1.4 !important; }
body.fhc-site :is(.cms-page-hero, .blog-hero, .blog-post-header, .store-hero, .customer-page-header, .customer-header) > p,
body.fhc-site .cms-page-shell > :not(.cms-page-hero) { font-size: 14px; }

/* V3's late deed layer formerly kept bright paper even in Dark. Dark paper and
 * canvas now lose well over 35% of their light-mode lightness while staying warm. */
html[data-color-mode="dark"] {
	--fhc-v3-paper: #5b5549;
	--fhc-v3-paper-line: #8c8069;
	--fhc-v3-paper-line-soft: #746a57;
	--fhc-v3-paper-text: #f1eadc;
	--fhc-v3-brass: #d9b272;
	--fhc-v3-brass-deep: #ecd0a0;
	--fhc-v3-slate: #d1d9de;
	--fhc-v3-slate-dim: #aebbc2;
}
@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] {
		--fhc-v3-paper: #5b5549;
		--fhc-v3-paper-line: #8c8069;
		--fhc-v3-paper-line-soft: #746a57;
		--fhc-v3-paper-text: #f1eadc;
		--fhc-v3-brass: #d9b272;
		--fhc-v3-brass-deep: #ecd0a0;
		--fhc-v3-slate: #d1d9de;
		--fhc-v3-slate-dim: #aebbc2;
	}
}
html[data-color-mode="dark"] .fhc-site.page-home .fhc-content-root,
html[data-color-mode="dark"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-picker),
html[data-color-mode="dark"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-jobs),
html[data-color-mode="dark"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-pricing) { background: var(--cms-color-canvas); }
html[data-color-mode="dark"] .rt-embed-v3-jobs > li,
html[data-color-mode="dark"] .rt-embed-v3-package-comparison > li { background: var(--cms-color-surface); }
html[data-color-mode="dark"] :is(.fhc-site.page-content .cms-page-rich-text, .fhc-site.page-home .cms-page-rich-text) :is(p,li),
html[data-color-mode="dark"] :is(.rt-embed-v3-picker p, .rt-embed-v3-jobs p, .rt-embed-v3-offer > p, .rt-embed-v3-package-price, .rt-embed-v3-data-table > li span) { color: var(--fhc-v3-paper-text); }
html[data-color-mode="dark"] :is(.rt-embed-v3-cert-eyebrow, .rt-embed-v3-offer-kicker, .rt-embed-v3-trust-list li, .rt-embed-v3-reassurance li, .rt-embed-v3-certificate figcaption, .rt-embed-v3-cert-ledger .rt-embed-v3-ledger-key) { color: var(--fhc-v3-slate-dim) !important; }
@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] .fhc-site.page-home .fhc-content-root,
	html[data-color-mode="system"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-picker),
	html[data-color-mode="system"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-jobs),
	html[data-color-mode="system"] .fhc-site.page-home .cms-page-rich-text:has(.rt-embed-v3-home-pricing) { background: var(--cms-color-canvas); }
	html[data-color-mode="system"] .rt-embed-v3-jobs > li,
	html[data-color-mode="system"] .rt-embed-v3-package-comparison > li { background: var(--cms-color-surface); }
	html[data-color-mode="system"] :is(.fhc-site.page-content .cms-page-rich-text, .fhc-site.page-home .cms-page-rich-text) :is(p,li),
	html[data-color-mode="system"] :is(.rt-embed-v3-picker p, .rt-embed-v3-jobs p, .rt-embed-v3-offer > p, .rt-embed-v3-package-price, .rt-embed-v3-data-table > li span) { color: var(--fhc-v3-paper-text); }
	html[data-color-mode="system"] :is(.rt-embed-v3-cert-eyebrow, .rt-embed-v3-offer-kicker, .rt-embed-v3-trust-list li, .rt-embed-v3-reassurance li, .rt-embed-v3-certificate figcaption, .rt-embed-v3-cert-ledger .rt-embed-v3-ledger-key) { color: var(--fhc-v3-slate-dim) !important; }
}

/* Direct semantic sales cards: no dependency on the JS classifier. */
.fhc-site .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) {
	width: min(calc(100% - 3rem), 1180px);
	max-width: none;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 1rem !important;
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.fhc-site:is(.page-home,.homepage) .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li {
	position: relative;
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	margin: 0 !important;
	padding: 1rem !important;
	border: 1px solid var(--fhc-v3-paper-line) !important;
	border-top: 4px solid var(--fhc-v3-brass) !important;
	background: var(--fhc-v3-paper) !important;
	color: var(--fhc-v3-paper-text) !important;
	box-shadow: 4px 5px 0 color-mix(in srgb, var(--fhc-v3-ink) 10%, transparent) !important;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li::before {
	position: absolute;
	top: -1px;
	right: -1px;
	width: 1.8rem;
	height: 1.8rem;
	background: linear-gradient(225deg, color-mix(in srgb, var(--fhc-v3-brass) 25%, var(--fhc-v3-paper)) 0 49%, transparent 50%);
	content: "";
	pointer-events: none;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:first-child {
	margin: 0 0 .45rem !important;
	color: var(--fhc-v3-brass-deep) !important;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 {
	margin: 0 0 .55rem !important;
	color: var(--fhc-v3-paper-text) !important;
	font-size: 17px !important;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p {
	max-width: none;
	margin: 0 0 .7rem !important;
	color: color-mix(in srgb, var(--fhc-v3-paper-text) 85%, transparent) !important;
	font-size: 14px;
	line-height: 1.5;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p {
	margin: .15rem 0 .75rem !important;
	padding: .55rem 0;
	border-block: 1px dotted var(--fhc-v3-paper-line);
	font-variant-numeric: tabular-nums;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: auto !important;
	margin-bottom: 0 !important;
	padding-top: .35rem;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child > a {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: .48rem .7rem;
	border: 1px solid var(--fhc-v3-paper-line);
	background: transparent;
	color: var(--fhc-v3-brass-deep);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child > a:last-child {
	border-color: var(--fhc-v3-brass);
	background: var(--fhc-v3-brass);
	color: #241707;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child > a:hover {
	border-color: var(--fhc-v3-brass-deep);
	background: var(--fhc-v3-brass-deep);
	color: #241707;
}
@media (max-width: 1080px) {
	.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a),
	.fhc-site:is(.page-home,.homepage) .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.fhc-site .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) { width: calc(100% - 1.5rem); }
	.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a),
	.fhc-site:is(.page-home,.homepage) .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) { grid-template-columns: 1fr; }
}

/* Full footer everywhere: same managed links, stronger information architecture. */
.page-home .fhc-footer-full { display: block; }
.page-home .fhc-footer-short { display: none; }
.fhc-footer-inner {
	grid-template-columns: minmax(210px, .72fr) minmax(0, 2.28fr);
	column-gap: clamp(2rem, 5vw, 4rem);
	row-gap: 1.5rem;
}
.fhc-footer-brand { grid-column: 1; align-self: start; padding-top: .15rem; }
.fhc-footer-brand strong {
	display: block;
	margin-bottom: .55rem;
	color: var(--fhc-v3-brass);
	font-family: var(--fhc-v3-ui-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.fhc-footer-brand p {
	max-width: 34ch;
	margin: 0;
	color: var(--fhc-v3-slate-dim);
	font-size: 14px;
	line-height: 1.55;
}
.fhc-footer-full { grid-column: 2; min-width: 0; }
.fhc-footer-full nav > ul,
.fhc-footer-full .cms-public-menu > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fhc-copyright { grid-column: 1 / -1; }
@media (max-width: 900px) {
	.fhc-footer-inner { grid-template-columns: 1fr; }
	.fhc-footer-brand,
	.fhc-footer-full,
	.fhc-copyright { grid-column: 1; }
	.fhc-footer-full nav > ul,
	.fhc-footer-full .cms-public-menu > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
	.fhc-footer-full nav > ul,
	.fhc-footer-full .cms-public-menu > ul { grid-template-columns: 1fr; }
}


/* September 11, 2026 sales-card micro-detail pass.
 * Surgical presentation only: price hierarchy, compact uniform actions and
 * the comparison-link finish. Product wording and structure are unchanged. */
.fhc-site {
	--fhc-sale-regular: #94453f;
	--fhc-sale-price: #356d4f;
	--fhc-sale-license: color-mix(in srgb, var(--fhc-v3-paper-text) 72%, transparent);
}
html[data-color-mode="dark"] .fhc-site {
	--fhc-sale-regular: #ecc1bc;
	--fhc-sale-price: #b7d0bf;
	--fhc-sale-license: color-mix(in srgb, var(--fhc-v3-paper-text) 72%, transparent);
}
@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] .fhc-site {
		--fhc-sale-regular: #ecc1bc;
		--fhc-sale-price: #b7d0bf;
		--fhc-sale-license: color-mix(in srgb, var(--fhc-v3-paper-text) 72%, transparent);
	}
}

/* Paid prices read in three quiet lines: regular, launch and license. */
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> del) {
	color: var(--fhc-sale-license);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> del) > del {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 0 .08rem;
	color: var(--fhc-sale-regular);
	font-style: normal;
	font-weight: 400;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1.5px;
	text-decoration-skip-ink: auto;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> del) > strong {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 0 .08rem;
	color: var(--fhc-sale-price);
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .005em;
}

/* Free Core gets the same hierarchy without pretending it has a struck price. */
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:not(:has(> del)) {
	color: var(--fhc-sale-license);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:not(:has(> del)) > strong {
	display: block;
	width: max-content;
	max-width: 100%;
	margin-bottom: .08rem;
	color: var(--fhc-sale-price);
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
}

/* Compact equal-size actions. The cards keep breathing room; buttons do not
 * become full-width toy controls. */
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child {
	display: grid !important;
	grid-template-columns: minmax(0, 170px);
	grid-auto-rows: 34px;
	align-content: end;
	justify-content: start;
	gap: 6px;
	width: 100%;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child > a {
	box-sizing: border-box;
	width: 170px;
	max-width: 100%;
	min-height: 34px;
	padding: .34rem .62rem;
	font-size: 14px;
	line-height: 1.15;
	white-space: nowrap;
}

/* Keep the useful comparison route visually connected to the card set. */
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) + p > a:only-child {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: 14px;
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) + p > a:only-child::after {
	content: "→";
	font-size: 1em;
	font-weight: 800;
	text-decoration: none;
}

/* September 11, 2026 sales-card alignment correction.
 * Surgical only: use the CMS-supported <s> element for regular prices,
 * keep the requested red/green hierarchy and equalize the price band so
 * the detail rows begin on the same baseline. */
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p {
	box-sizing: border-box;
	height: 5.85em;
	min-height: 5.85em;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> s),
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> del) {
	color: var(--fhc-sale-license);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p > :is(s, del) {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 0 .08rem;
	color: var(--fhc-sale-regular);
	font-style: normal;
	font-weight: 400;
	text-decoration-line: line-through;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1.5px;
	text-decoration-skip-ink: auto;
}
.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > h3 + p + p:has(> :is(s, del)) > strong {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 0 .08rem;
	color: var(--fhc-sale-price);
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .005em;
}

/* September 11, 2026 sales-card container alignment.
 * Keep sales cards visually even at two-column and one-column breakpoints
 * without enlarging controls or changing product content. */
@media (min-width: 681px) and (max-width: 1080px) {
	.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li {
		min-height: 30.1em;
	}
}
@media (max-width: 680px) {
	.fhc-site .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li {
		min-height: 34.6em;
	}
}

/* September 11, 2026 homepage two-column rhythm correction.
 * Surgical scope: only the first two-column panel immediately after the
 * homepage feature path. No content, structure or other panels are changed. */
.page-home .cms-page-features + .cms-page-columns > * > h2 {
	max-width: none;
	min-height: 2.4em;
	margin-bottom: .55rem;
	line-height: 1.2;
}
.page-home .cms-page-features + .cms-page-columns > * > h2 + p:has(> strong:only-child) {
	margin-top: 0;
	margin-bottom: 1rem;
}
@media (max-width: 900px) {
	.page-home .cms-page-features + .cms-page-columns > * > h2 {
		min-height: 0;
	}
}

/* September 11, 2026 homepage two-column grouping correction.
 * Surgical scope: only the first two-column panel after the feature path.
 * Keep heading + audience label as the top group, and body copy + link as
 * the bottom group with deliberate flexible separation between the groups. */
.page-home .cms-page-features + .cms-page-columns > * {
	display: flex;
	flex-direction: column;
}
.page-home .cms-page-features + .cms-page-columns > * > h2 + p:has(> strong:only-child) + p {
	margin-top: auto;
	padding-top: clamp(2rem, 3.4vw, 3rem);
}
.page-home .cms-page-features + .cms-page-columns > * > p:last-child {
	margin-top: .72rem;
}
@media (max-width: 900px) {
	.page-home .cms-page-features + .cms-page-columns > * > h2 + p:has(> strong:only-child) + p {
		padding-top: 1.35rem;
	}
}
.page-home .cms-page-features + .cms-page-columns {
	align-items: stretch;
}


/* September 11, 2026 homepage lower two-column grouping lock.
 * Surgical scope: only the two-column panel immediately following the
 * structured four-package sales block. Preserve heading + label as the
 * top group and body copy + action link as the bottom group, matching the
 * approved side-by-side content rhythm. No content or structure changes. */
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns {
	align-items: stretch;
}
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * {
	display: flex;
	flex-direction: column;
}
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > h2 {
	max-width: none;
	min-height: 2.4em;
	margin-bottom: .55rem;
	line-height: 1.2;
}
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > h2 + p:has(> strong:only-child) {
	margin-top: 0;
	margin-bottom: 1rem;
}
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > h2 + p:has(> strong:only-child) + p {
	margin-top: auto;
	padding-top: clamp(2rem, 3.4vw, 3rem);
}
.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > p:last-child {
	margin-top: .72rem;
}
@media (max-width: 900px) {
	.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > h2 {
		min-height: 0;
	}
	.page-home .cms-page-rich-text:has(> ul > li > p:first-child > strong):has(> ul > li > h3):has(> ul > li > p:last-child > a + a) + .cms-page-columns > * > h2 + p:has(> strong:only-child) + p {
		padding-top: 1.35rem;
	}
}

/* ==========================================================================\n   FreeholdCMS.com v6 — Atlas-driven coherence layer\n   Keeps the verified V4/RC4 contract and existing content markers intact.\n   ========================================================================== */
:root {
	--fhc-v6-page-max: 1180px;
	--fhc-v6-reading-max: 860px;
	--fhc-v6-gap-1: .5rem;
	--fhc-v6-gap-2: .75rem;
	--fhc-v6-gap-3: 1rem;
	--fhc-v6-gap-4: 1.35rem;
	--fhc-v6-gap-5: 1.75rem;
	--fhc-v6-gap-6: 2.25rem;
	--fhc-v6-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--fhc-v6-reading-font: Georgia, Cambria, "Times New Roman", serif;
	--cms-font-heading: var(--fhc-v6-ui-font);
	--cms-content-max: var(--fhc-v6-page-max);
	--cms-radius-card: 6px;
	--cms-radius-control: 5px;
	--cms-shadow: 0 5px 18px rgba(20,43,61,.07);
	--cms-shadow-strong: 0 14px 36px rgba(20,43,61,.12);
	--fhc-v3-ui-font: var(--fhc-v6-ui-font);
	--fhc-v3-serif: var(--fhc-v6-reading-font);
	--fhc-v3-heading-font: var(--fhc-v6-ui-font);
	--fhc-v3-paper-muted: var(--cms-color-surface-subtle);
}

body.fhc-site.fhc-v6 {
	background: var(--cms-color-canvas);
	font-family: var(--fhc-v6-ui-font);
	font-size: 14px;
	line-height: 1.56;
}
.fhc-v6 :is(button,input,select,textarea,label,summary,small,figcaption,td,th) { font-size: 14px; }
.fhc-v6 h1 { font-size: clamp(1.72rem, 2.5vw, 2rem); line-height: 1.08; }
.fhc-v6 h2 { font-size: clamp(1.32rem, 1.8vw, 1.58rem); line-height: 1.14; }
.fhc-v6 h3 { font-size: clamp(1.08rem, 1.35vw, 1.24rem); line-height: 1.2; }
.fhc-v6 h4 { font-size: 1.08rem; }
.fhc-v6 h5 { font-size: 1rem; }
.fhc-v6 h6 { font-size: .9rem; }
.fhc-v6 :is(h1,h2,h3,h4,h5,h6) { letter-spacing: -.015em; overflow-wrap: normal; word-break: normal; }
.fhc-v6 p { max-width: 76ch; }
.fhc-v6 :is(a,button,input,select,textarea,summary) { min-font-size: 14px; }
.fhc-v6 :focus-visible { outline: 3px solid var(--cms-color-focus); outline-offset: 2px; }

/* Header: compact, aligned, operational. */
.fhc-v6 .fhc-header { border-bottom: 1px solid color-mix(in srgb, var(--cms-color-border) 78%, transparent); box-shadow: none; }
.fhc-v6 .fhc-header-inner { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); min-height: 68px; gap: 1rem; padding-block: .55rem; }
.fhc-v6 .fhc-brand { min-width: 0; gap: .65rem; }
.fhc-v6 .fhc-brand-mark { width: 40px; height: 40px; }
.fhc-v6 .fhc-brand strong { font-size: 1rem; letter-spacing: .01em; }
.fhc-v6 .fhc-brand small { font-size: 14px; line-height: 1.25; }
.fhc-v6 :is(.managed-primary-navigation a,.managed-primary-navigation button,.fhc-account-links a,.fhc-header-actions button,.fhc-header-actions select,.fhc-header-download) { font-size: 14px; }
.fhc-v6 .fhc-header-actions { gap: .5rem; }
.fhc-v6 .fhc-mode-control > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fhc-v6 .fhc-mode-control select { min-height: 36px; padding-block: .35rem; }
.fhc-v6 .fhc-menu-button { min-height: 38px; }
.fhc-v6 .fhc-breadcrumbs { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); margin-inline: auto; padding: .62rem 0; font-size: 14px; }
.fhc-v6 .fhc-site-notice { border-block: 1px solid color-mix(in srgb, var(--cms-color-warning) 30%, var(--cms-color-border)); background: var(--cms-color-warning-soft); }
.fhc-v6 .fhc-site-notice > div { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); margin-inline: auto; padding: .55rem 0; font-size: 14px; }

/* Global content rhythm. */
.fhc-v6 .fhc-content-root { min-height: 52vh; }
.fhc-v6 .content-shell,
.fhc-v6 .cms-page-shell,
.fhc-v6 .store-shell,
.fhc-v6 .collection-shell { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); margin-inline: auto; padding: 1.4rem 0 2.4rem; }
.fhc-v6 :is(.content-header,.cms-page-heading,.store-hero,.collection-hero,.blog-hero,.customer-page-header) { margin: 0 0 1.15rem; padding: 0 0 .85rem; border: 0; border-bottom: 1px solid var(--cms-color-border); border-radius: 0; background: transparent; box-shadow: none; }
.fhc-v6 :is(.content-header,.cms-page-heading,.store-hero,.collection-hero,.blog-hero,.customer-page-header) :is(h1,h2) { max-width: 30ch; margin-bottom: .35rem; }
.fhc-v6 :is(.content-header,.cms-page-heading,.store-hero,.collection-hero,.blog-hero,.customer-page-header) p { margin: 0; color: var(--cms-color-text-soft); font-size: 14px; }

/* Content pages are documents, not a stack of cards. */
.fhc-v6.page-content .cms-page-shell { max-width: var(--fhc-v6-reading-max); }
.fhc-v6.page-content .cms-page-shell > :is(.cms-page-rich-text,.cms-page-columns,.cms-page-features,.cms-page-callout,.cms-page-quote,.cms-widget) { width: 100%; max-width: none; margin: 0; }
.fhc-v6.page-content .cms-page-rich-text,
.fhc-v6.page-content .cms-widget,
.fhc-v6.page-content .cms-page-columns > *,
.fhc-v6.page-content .cms-page-features > * { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.fhc-v6.page-content .cms-page-rich-text { padding: 1.05rem 0; }
.fhc-v6.page-content .cms-page-rich-text + .cms-page-rich-text { border-top: 1px solid var(--cms-color-border); }
.fhc-v6.page-content .cms-page-rich-text > h2 { margin-top: .25rem; padding: 0; border: 0; }
.fhc-v6.page-content .cms-page-rich-text > h2::after { display: none; }
.fhc-v6.page-content .cms-page-columns { display: grid; gap: 0; border-block: 1px solid var(--cms-color-border); }
.fhc-v6.page-content .cms-page-columns > * { min-width: 0; padding: 1rem; }
.fhc-v6.page-content .cms-page-columns > * + * { border-left: 1px solid var(--cms-color-border); }
.fhc-v6.page-content .cms-page-features { gap: .75rem; }
.fhc-v6.page-content .cms-page-features > * { padding: .95rem 0; border-bottom: 1px solid var(--cms-color-border); }
.fhc-v6.page-content .cms-page-callout { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid var(--cms-color-border); border-left: 4px solid var(--cms-color-accent); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); box-shadow: none; }
.fhc-v6.page-content .cms-page-quote { margin: 1rem 0; padding: 1rem 1.15rem; border-left: 4px solid var(--cms-color-highlight); background: var(--cms-color-surface-subtle); }

/* Homepage: intentional sections without card-soup. */
.fhc-v6.page-home .cms-page-shell { width: 100%; max-width: none; padding: 0; }
.fhc-v6.page-home .cms-page-rich-text { box-shadow: none; }
.fhc-v6.page-home .cms-v3-section:not(.cms-v3-hero) { border-radius: 0; }
.fhc-v6.page-home :is(.cms-v3-picker,.cms-v3-jobs,.cms-v3-pricing,.cms-v3-ownership,.cms-v3-assurance) { padding-block: clamp(1.6rem,3vw,2.5rem); }
.fhc-v6.page-home :is(.cms-v3-picker,.cms-v3-jobs,.cms-v3-pricing,.cms-v3-ownership,.cms-v3-assurance) > * { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); margin-inline: auto; }
.fhc-v6.page-home .cms-page-columns > * { box-shadow: none; }

/* Reserve cards for actual records/actions. */
.fhc-v6 :is(.store-card,.collection-card,.collection-directory-card,.blog-card,.customer-card,.customer-panel,.cms-widget-card,.help-topic-list > li,.help-article-list > li) { border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); box-shadow: none; }
.fhc-v6 :is(.store-card,.collection-card,.collection-directory-card,.blog-card,.customer-card,.customer-panel,.cms-widget-card):hover { border-color: var(--cms-color-border-strong); box-shadow: var(--cms-shadow); }

/* Forms and controls: 14px floor, obvious primary actions, advanced controls stay quiet. */
.fhc-v6 :is(input,select,textarea) { min-height: 40px; border-color: var(--cms-color-control-border); border-radius: var(--cms-radius-control); background: var(--cms-color-input); color: var(--cms-color-text); font-size: 14px; }
.fhc-v6 textarea { min-height: 120px; line-height: 1.5; }
.fhc-v6 label { color: var(--cms-color-text); font-size: 14px; font-weight: 700; }
.fhc-v6 :is(.btn,.button,.store-button,.customer-button,.collection-button,.cms-page-button,.freehold-form-button) { min-height: 38px; padding: .48rem .75rem; border-radius: var(--cms-radius-control); font-size: 14px; font-weight: 700; line-height: 1.2; }
.fhc-v6 :is(.btn-primary,.button-primary,.store-button.is-primary,.customer-button:not(.customer-button-secondary),.cms-page-button.is-primary,.freehold-form-button.is-primary) { border-color: var(--cms-color-accent-strong); background: var(--cms-color-accent-strong); color: var(--cms-color-on-accent); }

/* Tables and data-heavy views. */
.fhc-v6 :is(.table-wrap,.customer-table-wrap) { overflow-x: auto; border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); }
.fhc-v6 table { width: 100%; border-collapse: collapse; background: transparent; font-size: 14px; }
.fhc-v6 :is(th,td) { padding: .65rem .75rem; border-bottom: 1px solid var(--cms-color-border); vertical-align: top; }
.fhc-v6 th { background: var(--cms-color-surface-subtle); color: var(--cms-color-text); font-weight: 800; text-align: left; }
.fhc-v6 tbody tr:last-child td { border-bottom: 0; }

/* Store: consistent cards, compact cart/checkout, no oversized headings. */
.fhc-v6 .store-grid { gap: .9rem; }
.fhc-v6 .store-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; }
.fhc-v6 .store-card-body { padding: .9rem; }
.fhc-v6 .store-card-body h2 { font-size: 1.08rem; }
.fhc-v6 .store-card-footer { margin-top: auto; padding: .75rem .9rem; border-top: 1px solid var(--cms-color-border); background: var(--cms-color-surface-subtle); }
.fhc-v6 .store-product-shell { gap: 1.25rem; }
.fhc-v6 .store-product-detail :is(h1,h2) { max-width: 28ch; }
.fhc-v6 :is(.store-cart-shell,.store-checkout-shell,.store-receipt,.store-decision-panel,.store-reviews) { border: 1px solid var(--cms-color-border); border-radius: var(--cms-radius-card); background: var(--cms-color-surface); box-shadow: none; }
.fhc-v6 :is(.store-cart-line,.store-checkout-section) { padding: .9rem; }
.fhc-v6 .store-price,
.fhc-v6 .store-product-price { color: var(--cms-color-text); font-size: 1.12rem; font-weight: 800; }

/* Help: one reading surface; topic/row elements carry the separation. */
.fhc-v6.help-center main.content-shell,
.fhc-v6.help-center main.content-shell.help-article { width: min(calc(100% - 2rem), var(--fhc-v6-reading-max)); padding: 1.25rem 0 2.4rem; }
.fhc-v6.help-center main.content-shell > :is(section,aside,form,nav,article) { border-radius: 0; box-shadow: none; }
.fhc-v6.help-center .prose { border: 0; background: transparent; box-shadow: none; }
.fhc-v6.help-center .prose :is(h2,h3) { margin-top: 1.35rem; }
.fhc-v6 :is(.help-topic-list,.help-article-list) { gap: .6rem; }

/* Blog/articles: reading-first and calm. */
.fhc-v6 .blog-post-page .container,
.fhc-v6 .blog-article { max-width: var(--fhc-v6-reading-max); }
.fhc-v6 .blog-article { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.fhc-v6 .blog-post-header { padding-bottom: .8rem; border-bottom: 1px solid var(--cms-color-border); }
.fhc-v6 .blog-post-header h1 { max-width: 30ch; }
.fhc-v6 .blog-meta,
.fhc-v6 .blog-post-byline { font-size: 14px; }

/* Customer/account surfaces: operational density, strong alignment. */
.fhc-v6 .customer-shell { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); }
.fhc-v6 .customer-main { gap: .9rem; }
.fhc-v6 .customer-card,
.fhc-v6 .customer-panel { padding: 1rem; }
.fhc-v6 .customer-summary-strip { gap: .65rem; }
.fhc-v6 .customer-stat { min-height: 0; padding: .75rem; }
.fhc-v6 .customer-muted,
.fhc-v6 .customer-table-subtext,
.fhc-v6 .customer-help { font-size: 14px; }

/* Drawer/footer. */
.fhc-v6 .fhc-drawer { font-size: 14px; }
.fhc-v6 .fhc-drawer-head { min-height: 58px; }
.fhc-v6 .fhc-drawer :is(a,button,small) { font-size: 14px; }
.fhc-v6 .fhc-footer { border-top: 1px solid color-mix(in srgb, var(--cms-color-border-strong) 60%, transparent); }
.fhc-v6 .fhc-footer-inner { width: min(calc(100% - 2rem), var(--fhc-v6-page-max)); padding-block: 1.5rem; }
.fhc-v6 .fhc-footer-brand strong,
.fhc-v6 .fhc-footer-brand p,
.fhc-v6 .fhc-footer a { font-size: 14px; }
.fhc-v6 .fhc-copyright { font-size: 14px; }

/* Remove the old forced card heights that made responsive sales rows look artificial. */
.fhc-v6 .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li { min-height: 0; }
.fhc-v6 .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:first-child,
.fhc-v6 .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p,
.fhc-v6 .cms-page-rich-text > ul:has(> li > p:first-child > strong):has(> li > h3):has(> li > p:last-child > a + a) > li > p:last-child > a { font-size: 14px; }

/* Dark mode keeps the same information hierarchy without muddy low-contrast cards. */
html[data-color-mode="dark"] .fhc-v6,
html[data-color-mode="system"] .fhc-v6 { --cms-shadow: 0 5px 18px rgba(0,0,0,.18); }

@media (max-width: 900px) {
	.fhc-v6 .fhc-header-inner { width: min(calc(100% - 1.5rem), var(--fhc-v6-page-max)); }
	.fhc-v6 .content-shell,
	.fhc-v6 .cms-page-shell,
	.fhc-v6 .store-shell,
	.fhc-v6 .collection-shell,
	.fhc-v6 .customer-shell { width: calc(100% - 1.5rem); }
	.fhc-v6.page-content .cms-page-columns { grid-template-columns: 1fr !important; }
	.fhc-v6.page-content .cms-page-columns > * + * { border-left: 0; border-top: 1px solid var(--cms-color-border); }
}
@media (max-width: 620px) {
	.fhc-v6 h1 { font-size: 1.62rem; }
	.fhc-v6 h2 { font-size: 1.28rem; }
	.fhc-v6 .content-shell,
	.fhc-v6 .cms-page-shell,
	.fhc-v6 .store-shell,
	.fhc-v6 .collection-shell,
	.fhc-v6 .customer-shell { width: calc(100% - 1rem); padding-top: 1rem; }
	.fhc-v6 .fhc-breadcrumbs,
	.fhc-v6 .fhc-site-notice > div,
	.fhc-v6 .fhc-footer-inner { width: calc(100% - 1rem); }
	.fhc-v6 :is(.store-cart-line,.store-checkout-section,.customer-card,.customer-panel) { padding: .8rem; }
}
/* Managed-footer recovery: keep essential footer destinations available when the
 * Navigation public-shell hook cannot provide a footer menu. */
.fhc-footer-full:empty + .fhc-footer-short {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem 1.35rem;
}

/* Freehold Classic 6.0.2 launch polish: quiet utility header and compact footer. */
.fhc-v6 .fhc-header-actions { gap: .25rem; }
.fhc-v6 .fhc-account-links a,
.fhc-v6 .fhc-mode-control select,
.fhc-v6 .fhc-header-download.is-disabled {
	min-height: 34px;
	padding: .3rem .55rem;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}
.fhc-v6 .fhc-account-links a:hover,
.fhc-v6 .fhc-mode-control select:hover,
.fhc-v6 .fhc-header-download.is-disabled:hover {
	border-color: color-mix(in srgb, var(--cms-color-border) 72%, transparent);
	background: color-mix(in srgb, var(--cms-color-surface) 10%, transparent);
}
.fhc-v6 .fhc-header-download.is-disabled { opacity: .72; }
.fhc-v6 .fhc-footer-inner { column-gap: clamp(1.25rem, 3vw, 2.5rem); row-gap: .9rem; }
.fhc-v6 .fhc-footer-full nav > ul,
.fhc-v6 .fhc-footer-full .cms-public-menu > ul {
	align-items: start;
	gap: .75rem 1.25rem;
}
.fhc-v6 .fhc-footer-full nav li,
.fhc-v6 .fhc-footer-full .cms-public-menu li { margin: 0; padding-block: 0; }
.fhc-v6 .fhc-footer-full nav li > ul,
.fhc-v6 .fhc-footer-full .cms-public-menu li > ul { gap: .18rem; margin-top: .25rem; }
.fhc-v6 .fhc-footer-full a { min-height: 0; padding-block: .15rem; line-height: 1.35; }
.fhc-v6 .fhc-copyright { margin-top: .35rem; }
@media (max-width: 620px) {
	.fhc-v6 .fhc-footer-full nav > ul,
	.fhc-v6 .fhc-footer-full .cms-public-menu > ul { gap: .65rem; }
}
