:root {
	--ffx-bg: #0f1417;
	--ffx-panel: #151d22;
	--ffx-panel-strong: #1a242b;
	--ffx-text: #f7f8f5;
	--ffx-muted: #b8c8ce;
	--ffx-line: #31414a;
	--ffx-accent: #59c08f;
	--ffx-accent-strong: #73d5a6;
	--ffx-warn: #dca047;
	--ffx-danger: #ff5f6f;
	--ffx-input: #0a1013;
}

body.ffx-theme-light,
.ffx-app[data-theme="light"] {
	--ffx-bg: #f5f7f2;
	--ffx-panel: #ffffff;
	--ffx-panel-strong: #eef3ee;
	--ffx-text: #17242a;
	--ffx-muted: #52636b;
	--ffx-line: #ccd8d0;
	--ffx-accent: #23796d;
	--ffx-accent-strong: #1d8d77;
	--ffx-warn: #bb7a24;
	--ffx-danger: #bd3345;
	--ffx-input: #ffffff;
}

body.ffx-theme-civic,
.ffx-app[data-theme="civic"] {
	--ffx-bg: #12161a;
	--ffx-panel: #1d242c;
	--ffx-panel-strong: #252d34;
	--ffx-text: #fff8ea;
	--ffx-muted: #d5cab6;
	--ffx-line: #4a4539;
	--ffx-accent: #e0a348;
	--ffx-accent-strong: #f0b95d;
	--ffx-warn: #77b6c8;
	--ffx-danger: #ff6777;
	--ffx-input: #101417;
}

.ffx-app {
	position: relative;
	left: auto;
	transform: none;
	width: min(calc(100vw - 32px), 1760px);
	max-width: none;
	margin: 0;
	padding: 16px;
	box-sizing: border-box;
	color: var(--ffx-text);
	background: var(--ffx-bg);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ffx-app *,
.ffx-app *::before,
.ffx-app *::after {
	box-sizing: border-box;
}

.ffx-hero,
.ffx-toolbar,
.ffx-panel {
	border: 1px solid var(--ffx-line);
	background: var(--ffx-panel);
	border-radius: 8px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
}

.ffx-hero {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: flex-start;
	padding: clamp(22px, 3vw, 36px);
	margin-bottom: 16px;
	border-top: 4px solid var(--ffx-accent);
}

.ffx-hero h1,
.ffx-toolbar h2 {
	margin: 0;
	color: var(--ffx-text);
	letter-spacing: 0;
	line-height: 1.05;
}

.ffx-hero h1 {
	font-size: clamp(34px, 5vw, 58px);
}

.ffx-hero p,
.ffx-panel p {
	color: var(--ffx-muted);
}

.ffx-hero p:last-child,
.ffx-panel p:last-child {
	margin-bottom: 0;
}

.ffx-kicker {
	margin: 0 0 10px;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 800;
	color: var(--ffx-accent-strong);
}

.ffx-theme-picker {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: max-content;
}

.ffx-theme-picker button {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--ffx-line);
	cursor: pointer;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.12);
}

.ffx-theme-picker button:hover,
.ffx-theme-picker button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ffx-accent) 45%, transparent);
	outline-offset: 2px;
}

.ffx-theme-picker [data-ffx-theme="dark"] {
	background: #101418;
}

.ffx-theme-picker [data-ffx-theme="light"] {
	background: #f6f7f4;
}

.ffx-theme-picker [data-ffx-theme="civic"] {
	background: #d69843;
}

.ffx-panel {
	padding: clamp(18px, 2vw, 26px);
	margin-bottom: 16px;
}

.ffx-grid,
.ffx-admin-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(180px, 1fr));
	gap: 12px;
	align-items: end;
}

.ffx-form label {
	display: grid;
	gap: 7px;
	color: var(--ffx-muted);
	font-size: 14px;
	font-weight: 800;
}

.ffx-form input,
.ffx-form select,
.ffx-form textarea,
.ffx-panel select {
	width: 100%;
	min-height: 46px;
	box-sizing: border-box;
	border: 1px solid var(--ffx-line);
	border-radius: 6px;
	padding: 11px 13px;
	color: var(--ffx-text);
	background: var(--ffx-input);
	font: inherit;
}

.ffx-form input:focus,
.ffx-form select:focus,
.ffx-form textarea:focus,
.ffx-panel select:focus {
	border-color: var(--ffx-accent);
	outline: 3px solid color-mix(in srgb, var(--ffx-accent) 28%, transparent);
	outline-offset: 0;
}

.ffx-form textarea {
	min-height: 156px;
	resize: vertical;
}

.ffx-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
	flex-wrap: wrap;
}

.ffx-actions button,
.ffx-form button {
	min-height: 44px;
	border: 0;
	border-radius: 6px;
	background: var(--ffx-accent);
	color: #07110d;
	font-weight: 900;
	padding: 11px 16px;
	cursor: pointer;
}

.ffx-actions button:hover,
.ffx-actions button:focus-visible,
.ffx-form button:hover,
.ffx-form button:focus-visible {
	background: var(--ffx-accent-strong);
	outline: 3px solid color-mix(in srgb, var(--ffx-accent) 32%, transparent);
	outline-offset: 2px;
}

.ffx-actions [data-ffx-result] {
	color: var(--ffx-muted);
	font-weight: 700;
}

.ffx-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	margin-bottom: 16px;
}

.ffx-badge {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 900;
	background: var(--ffx-warn);
	color: #1b1306;
	white-space: nowrap;
}

.ffx-badge.is-ok {
	background: var(--ffx-accent);
	color: #07110d;
}

.ffx-site-footer {
	padding: 18px;
	text-align: center;
	color: var(--ffx-muted);
	font-size: 13px;
}

.ffx-admin .ffx-admin-grid {
	grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.ffx-admin .ffx-panel header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}

.ffx-admin .ffx-panel h2 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}

@media (max-width: 1100px) {
	.ffx-grid,
	.ffx-admin .ffx-admin-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.ffx-app {
		width: min(calc(100vw - 16px), 1760px);
		padding: 8px;
	}

	.ffx-grid,
	.ffx-admin .ffx-admin-grid {
		grid-template-columns: 1fr;
	}

	.ffx-hero,
	.ffx-toolbar,
	.ffx-admin .ffx-panel header {
		flex-direction: column;
	}

	.ffx-theme-picker {
		align-self: flex-start;
	}
}
.ffx-toolbar-actions,
.ffx-verify-row,
.ffx-request-meta,
.ffx-attachments,
.ffx-admin-filter {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.ffx-workspace-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
	gap: 16px;
	align-items: start;
}

.ffx-span-2 {
	min-width: 0;
}

.ffx-request-card {
	border: 1px solid var(--ffx-line);
	background: var(--ffx-panel-strong);
	border-radius: 8px;
	padding: 16px;
	margin-bottom: 12px;
}

.ffx-request-card header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 8px;
}

.ffx-request-meta,
.ffx-attachments {
	color: var(--ffx-muted);
	font-size: 13px;
	margin: 10px 0;
}

.ffx-attachments a {
	color: var(--ffx-accent-strong);
	font-weight: 800;
}

.ffx-timeline {
	list-style: none;
	margin: 12px 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.ffx-timeline li {
	border-left: 3px solid var(--ffx-accent);
	padding: 8px 10px;
	background: color-mix(in srgb, var(--ffx-accent) 8%, transparent);
	border-radius: 6px;
}

.ffx-timeline strong,
.ffx-timeline span {
	display: block;
}

.ffx-timeline span {
	color: var(--ffx-muted);
	font-size: 12px;
	margin-top: 2px;
}

.ffx-upload-form,
.ffx-admin-request-form,
.ffx-profile-form {
	display: grid;
	gap: 10px;
}

.ffx-upload-form {
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
}

.ffx-upload-form input[type="file"] {
	min-height: 42px;
}

.ffx-admin-filter {
	margin: 12px 0 16px;
}

.ffx-admin-filter label,
.ffx-admin-request-form label {
	display: grid;
	gap: 5px;
	font-weight: 800;
}

.ffx-admin-request-form textarea {
	min-height: 90px;
}

.ffx-check {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: center;
	gap: 8px;
}

.ffx-health-card {
	border: 1px solid var(--ffx-line, #31414a);
	border-radius: 8px;
	padding: 18px;
	background: var(--ffx-panel, #151d22);
	color: var(--ffx-text, #f7f8f5);
}

.ffx-health-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0;
}

.ffx-health-grid span {
	display: grid;
	gap: 4px;
	border: 1px solid var(--ffx-line, #31414a);
	border-radius: 8px;
	padding: 10px;
}

.ffx-health-grid strong {
	font-size: 22px;
}

@media (max-width: 900px) {
	.ffx-workspace-grid,
	.ffx-health-grid,
	.ffx-upload-form {
		grid-template-columns: 1fr;
	}

	.ffx-request-card header {
		flex-direction: column;
	}
}

/* V32-V43 full product polish */
.ffx-admin-summary,.ffx-request-meta,.ffx-preference-row,.ffx-verify-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ffx-admin-summary{margin:12px 0 16px}
.ffx-admin-summary span,.ffx-request-meta span,.ffx-verify-help{border:1px solid var(--ffx-line);background:var(--ffx-panel-strong);border-radius:6px;padding:8px 10px;color:var(--ffx-muted);font-weight:800}
.ffx-admin-summary strong{display:block;color:var(--ffx-text);font-size:22px;line-height:1}
.ffx-preference-row label{display:flex;grid-template-columns:none;gap:8px;align-items:center;border:1px solid var(--ffx-line);border-radius:6px;padding:9px 10px;background:var(--ffx-panel-strong)}
.ffx-preference-row input{width:auto;min-height:0}
.ffx-verify-help{margin-top:10px;color:var(--ffx-warn)}
.ffx-admin-filter{grid-template-columns:repeat(4,minmax(150px,1fr));display:grid;gap:12px;align-items:end}
.ffx-admin-filter .button{min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.ffx-request-card{border:1px solid var(--ffx-line);border-radius:8px;padding:14px;background:var(--ffx-panel-strong);margin-bottom:12px}
.ffx-request-card header,.ffx-panel header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
@media (max-width: 900px){.ffx-admin-filter,.ffx-grid,.ffx-admin-grid{grid-template-columns:1fr}.ffx-toolbar,.ffx-hero{display:grid}.ffx-admin-summary span{flex:1 1 120px}}

/* V44-V53 final product depth */
.ffx-public-sections{display:grid;gap:18px}
.ffx-section-head h2{margin:0 0 6px;color:var(--ffx-text);font-size:24px;line-height:1.15}
.ffx-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ffx-service-grid article{border:1px solid var(--ffx-line);background:var(--ffx-panel-strong);border-radius:8px;padding:16px;min-height:150px}
.ffx-service-grid h3{margin:0 0 8px;color:var(--ffx-text);font-size:18px;line-height:1.2}
.ffx-process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ffx-process-row span{border:1px solid var(--ffx-line);border-radius:999px;padding:9px 12px;text-align:center;font-weight:900;background:var(--ffx-input);color:var(--ffx-accent-strong)}
.ffx-detail-panel{border:1px solid var(--ffx-line);background:var(--ffx-input);border-radius:8px;padding:12px;margin:12px 0}
.ffx-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.ffx-settings .ffx-form textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:118px}
.ffx-verify-help a{color:var(--ffx-accent-strong);font-weight:900}
.ffx-health-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;margin:12px 0}
.ffx-health-grid span{border:1px solid var(--ffx-line);border-radius:8px;padding:12px;background:var(--ffx-panel-strong)}
.ffx-health-grid strong{display:block;color:var(--ffx-text);font-size:22px;line-height:1}
@media (max-width: 900px){.ffx-service-grid,.ffx-process-row,.ffx-health-grid{grid-template-columns:1fr}.ffx-service-grid article{min-height:auto}}

/* V54-V75 completion depth */
.ffx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ffx-tabs button,.ffx-reply-form button{border:1px solid var(--ffx-line);border-radius:6px;background:var(--ffx-panel-strong);color:var(--ffx-text);font-weight:900;padding:9px 12px;cursor:pointer}
.ffx-tabs button.is-active,.ffx-tabs button:hover,.ffx-reply-form button:hover{background:var(--ffx-accent);color:#07110d}
.ffx-reply-form{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-input)}
.ffx-reply-form textarea{min-height:84px;border:1px solid var(--ffx-line);border-radius:6px;background:var(--ffx-panel);color:var(--ffx-text);padding:10px;font:inherit}
.ffx-deploy-checklist{margin:12px 0 16px}
.ffx-notification-log,.ffx-attachments-admin{border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-input);padding:12px;margin-top:12px}
.ffx-bulk-form,.ffx-saved-view-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.ffx-bulk-form select,.ffx-saved-view-form input{min-height:38px;border:1px solid var(--ffx-line);border-radius:6px;padding:8px;background:var(--ffx-input);color:var(--ffx-text)}
.ffx-admin .ffx-check{display:flex;gap:8px;align-items:flex-start}
@media (max-width: 782px){.ffx-bulk-form,.ffx-saved-view-form{display:grid}.ffx-admin .button{width:100%;justify-content:center}.ffx-admin-grid article{min-width:0}.ffx-reply-form button{width:100%}}


/* V76-V85 Fairfax public discovery fronting */
.ffx-hero-discovery{min-height:220px}
.ffx-hero-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ffx-hero-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--ffx-line);border-radius:999px;padding:9px 14px;background:var(--ffx-panel-strong);color:var(--ffx-text);font-weight:900;text-decoration:none}
.ffx-hero-links a:first-child{background:var(--ffx-accent);border-color:var(--ffx-accent);color:#07110d}
.ffx-discovery,.ffx-trip-ideas,.ffx-resources{display:grid;gap:18px}
.ffx-discovery-grid,.ffx-trip-grid,.ffx-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ffx-discovery-grid article,.ffx-trip-grid article,.ffx-resource-grid article{border:1px solid var(--ffx-line);background:var(--ffx-panel-strong);border-radius:8px;padding:16px;min-height:150px}
.ffx-discovery-grid h3,.ffx-trip-grid h3,.ffx-resource-grid h3{margin:0 0 8px;color:var(--ffx-text);font-size:18px;line-height:1.2;letter-spacing:0}
.ffx-trip-grid span,.ffx-resource-grid span{display:inline-flex;margin-bottom:10px;border:1px solid var(--ffx-line);border-radius:999px;padding:5px 9px;color:var(--ffx-accent-strong);font-size:12px;font-weight:900;text-transform:uppercase}
.ffx-resource-grid a{color:var(--ffx-text);text-decoration:none}
.ffx-resource-grid a:hover,.ffx-resource-grid a:focus-visible{color:var(--ffx-accent-strong);text-decoration:underline;text-underline-offset:3px}
@media (max-width: 1100px){.ffx-discovery-grid,.ffx-trip-grid,.ffx-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 700px){.ffx-discovery-grid,.ffx-trip-grid,.ffx-resource-grid{grid-template-columns:1fr}.ffx-hero-links a{width:100%}}

/* V86-V111 civic discovery, routing, events, alerts, transit, and community layer */
.ffx-growth-app{display:grid;gap:16px}.ffx-growth-hero{min-height:230px}.ffx-growth-tools{display:grid;gap:14px}.ffx-growth-tools label,.ffx-route-form label{display:grid;gap:6px;font-weight:800}.ffx-growth-tools input,.ffx-route-form input,.ffx-route-form select{width:100%;min-height:46px;border:1px solid var(--ffx-line);border-radius:6px;background:var(--ffx-input);color:var(--ffx-text);padding:10px 12px;font:inherit}.ffx-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.ffx-filter-chips button,.ffx-growth-card-top button{border:1px solid var(--ffx-line);background:var(--ffx-panel-strong);color:var(--ffx-text);cursor:pointer}.ffx-filter-chips button{min-height:38px;border-radius:999px;padding:7px 13px;font-weight:800}.ffx-filter-chips button.is-active{background:var(--ffx-accent);border-color:var(--ffx-accent);color:#07110d}.ffx-growth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ffx-growth-card{display:flex;flex-direction:column;min-height:250px;border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-panel);padding:16px}.ffx-growth-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.ffx-growth-card-top>span{color:var(--ffx-accent-strong);font-size:12px;font-weight:900;text-transform:uppercase}.ffx-growth-card-top button{width:38px;height:38px;border-radius:50%;font-size:20px;line-height:1}.ffx-growth-card-top button.is-active{color:#e0a340}.ffx-growth-card h3{margin:14px 0 8px;font-size:19px;letter-spacing:0}.ffx-growth-card p{flex:1;margin:0 0 12px}.ffx-growth-card>a,.ffx-route-result>a{color:var(--ffx-accent-strong);font-weight:900;text-underline-offset:3px}.ffx-growth-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--ffx-muted);font-size:12px;margin-bottom:12px}.ffx-route-form{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:end}.ffx-route-form button{min-height:46px}.ffx-route-result,.ffx-empty-state{margin-top:14px;border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-panel-strong);padding:16px}.ffx-route-result.is-emergency{border-color:#e25353;background:#2a1517;color:#fff}.ffx-growth-card :focus-visible,.ffx-filter-chips button:focus-visible,.ffx-route-form :focus-visible{outline:3px solid var(--ffx-accent-strong);outline-offset:3px}@media(max-width:1100px){.ffx-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ffx-growth-grid,.ffx-route-form{grid-template-columns:1fr}.ffx-growth-card{min-height:0}.ffx-filter-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ffx-filter-chips button{border-radius:6px}}
@media(prefers-reduced-motion:reduce){.ffx-growth-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V112 viewport alignment and visual hierarchy */
.ffx-app{isolation:isolate;border:1px solid color-mix(in srgb,var(--ffx-line) 72%,transparent);border-radius:8px;background:var(--ffx-bg);padding:clamp(12px,1.4vw,24px);overflow:clip}
.ffx-app>.ffx-panel,.ffx-app>.ffx-discovery,.ffx-app>.ffx-trip-ideas,.ffx-app>.ffx-resources{box-shadow:none}
.ffx-app>.ffx-panel:not(form):not(.ffx-growth-tools):not(.ffx-route-planner),.ffx-app>.ffx-discovery,.ffx-app>.ffx-trip-ideas,.ffx-app>.ffx-resources{border-left:0;border-right:0;border-radius:0;background:transparent;padding-block:clamp(26px,3vw,44px);margin-bottom:0}
.ffx-app>.ffx-panel+.ffx-panel,.ffx-app>.ffx-discovery+.ffx-trip-ideas,.ffx-app>.ffx-trip-ideas+.ffx-resources{border-top:0}
.ffx-hero{position:relative;overflow:hidden;min-height:clamp(240px,28vw,390px);align-items:flex-end;padding:clamp(28px,4vw,64px);background:linear-gradient(135deg,var(--ffx-panel),color-mix(in srgb,var(--ffx-panel-strong) 84%,#163b31));box-shadow:none}
.ffx-hero:after{content:"";position:absolute;inset:0 0 auto auto;width:34%;height:100%;background:linear-gradient(145deg,transparent 20%,color-mix(in srgb,var(--ffx-accent) 10%,transparent));pointer-events:none}
.ffx-hero>div{position:relative;z-index:1;max-width:980px}.ffx-hero h1{max-width:900px;font-size:clamp(38px,4.6vw,72px);line-height:1.02}.ffx-hero p{max-width:760px;font-size:clamp(16px,1.25vw,20px);line-height:1.55}.ffx-theme-picker{position:absolute!important;z-index:2;top:24px;right:24px}
.ffx-hero-links{gap:8px;margin-top:24px}.ffx-hero-links a{min-height:44px;border-radius:6px;padding:10px 16px}.ffx-section-head{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(320px,1.28fr);column-gap:clamp(24px,5vw,88px);align-items:end;margin-bottom:22px}.ffx-section-head .ffx-kicker{grid-column:1/-1}.ffx-section-head h2{font-size:clamp(25px,2vw,36px);line-height:1.1}.ffx-section-head>p:not(.ffx-kicker){margin:0;line-height:1.6}.ffx-discovery-grid,.ffx-trip-grid,.ffx-resource-grid{gap:14px}.ffx-discovery-grid article,.ffx-trip-grid article,.ffx-resource-grid article{min-height:178px;padding:20px;border-color:color-mix(in srgb,var(--ffx-line) 80%,transparent);transition:border-color .18s ease,background .18s ease}.ffx-discovery-grid article:hover,.ffx-trip-grid article:hover,.ffx-resource-grid article:hover{border-color:var(--ffx-accent);background:color-mix(in srgb,var(--ffx-panel-strong) 88%,var(--ffx-accent) 12%)}.ffx-discovery-grid h3,.ffx-trip-grid h3,.ffx-resource-grid h3{font-size:19px}.ffx-discovery-grid p,.ffx-trip-grid p,.ffx-resource-grid p{line-height:1.55}.ffx-service-grid{gap:14px}.ffx-service-grid article{min-height:170px;padding:20px}.ffx-process-row{margin-top:18px}.ffx-process-row span{border-radius:6px}.ffx-form#ffx-intake{margin-top:20px;padding:clamp(22px,3vw,40px)}.ffx-growth-tools,.ffx-route-planner{box-shadow:none}.ffx-growth-card{min-height:270px;padding:20px}.ffx-growth-card h3{font-size:21px}.ffx-route-auto{display:flex;align-items:center;min-height:46px;color:var(--ffx-muted);font-size:13px;font-weight:800}
@media(min-width:1500px){.ffx-trip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.ffx-section-head{grid-template-columns:1fr;gap:8px}.ffx-hero{min-height:0;align-items:start}.ffx-theme-picker{position:static!important;margin-top:22px}.ffx-hero:after{display:none}}
@media(max-width:700px){.ffx-app{padding:8px;border-left:0;border-right:0}.ffx-hero{padding:24px 20px}.ffx-hero h1{font-size:36px}.ffx-hero-links{display:grid;grid-template-columns:1fr 1fr}.ffx-hero-links a{width:100%}.ffx-hero-links a:first-child{grid-column:1/-1}.ffx-app>.ffx-panel:not(form):not(.ffx-growth-tools):not(.ffx-route-planner),.ffx-app>.ffx-discovery,.ffx-app>.ffx-trip-ideas,.ffx-app>.ffx-resources{padding-block:24px}.ffx-discovery-grid article,.ffx-trip-grid article,.ffx-resource-grid article,.ffx-service-grid article{min-height:0}.ffx-route-auto{min-height:0}}

/* V113-V137 neighborhoods, original imagery, and bottom conversion */
.ffx-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0 16px;padding:clamp(24px,3vw,42px);border:1px solid var(--ffx-line);border-radius:8px;background:color-mix(in srgb,var(--ffx-panel) 82%,var(--ffx-accent) 18%)}.ffx-bottom-cta h2{margin:0;font-size:clamp(24px,2.2vw,38px);letter-spacing:0}.ffx-bottom-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:6px;background:var(--ffx-accent);color:#07110d;font-weight:900;text-decoration:none;white-space:nowrap}
.ffx-growth-app[data-ffx-growth="discover"] .ffx-growth-hero{background-image:linear-gradient(90deg,rgba(10,16,19,.94) 0%,rgba(10,16,19,.78) 48%,rgba(10,16,19,.2) 100%),url("images/fairfax-county-hero.jpg");background-size:cover;background-position:center}.ffx-growth-app[data-ffx-growth="discover"] .ffx-growth-hero:after{display:none}
.ffx-neighborhood-hero{background-image:linear-gradient(90deg,rgba(10,16,19,.94),rgba(10,16,19,.38)),url("images/fairfax-neighborhoods.jpg");background-size:cover;background-position:center}.ffx-neighborhood-detail-hero{background-image:linear-gradient(90deg,rgba(10,16,19,.96) 0%,rgba(10,16,19,.72) 52%,rgba(10,16,19,.18) 100%),var(--ffx-hero-image);background-size:cover;background-position:center}.ffx-neighborhood-hero:after,.ffx-neighborhood-detail-hero:after{display:none}
.ffx-neighborhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-block:18px}.ffx-neighborhood-grid article{display:grid;grid-template-rows:190px 1fr;overflow:hidden;border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-panel)}.ffx-neighborhood-grid img{width:100%;height:190px;object-fit:cover}.ffx-neighborhood-grid article>div{display:flex;flex-direction:column;padding:20px}.ffx-neighborhood-grid span,.ffx-neighborhood-facts span{color:var(--ffx-accent-strong);font-size:12px;font-weight:900;text-transform:uppercase}.ffx-neighborhood-grid h2{margin:8px 0;font-size:22px;letter-spacing:0}.ffx-neighborhood-grid h2 a{color:var(--ffx-text);text-decoration:none}.ffx-neighborhood-grid p{flex:1;color:var(--ffx-muted);line-height:1.55}.ffx-text-link,.ffx-neighborhood-facts a{color:var(--ffx-accent-strong);font-weight:900;text-underline-offset:3px}
.ffx-neighborhood-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:16px}.ffx-neighborhood-facts article{border:1px solid var(--ffx-line);border-radius:8px;background:var(--ffx-panel);padding:24px;min-height:260px}.ffx-neighborhood-facts h2{margin:8px 0 14px;font-size:24px;letter-spacing:0}.ffx-neighborhood-facts p,.ffx-neighborhood-facts li{color:var(--ffx-muted);line-height:1.6}.ffx-neighborhood-plan{display:flex;align-items:center;justify-content:space-between;gap:24px}.ffx-neighborhood-plan button{min-height:46px;border:0;border-radius:6px;background:var(--ffx-accent);color:#07110d;padding:11px 16px;font-weight:900;cursor:pointer}.ffx-neighborhood-plan button.is-saved{background:var(--ffx-panel-strong);color:var(--ffx-accent-strong);border:1px solid var(--ffx-accent)}
@media(max-width:1100px){.ffx-neighborhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ffx-neighborhood-facts{grid-template-columns:1fr}}
@media(max-width:700px){.ffx-bottom-cta,.ffx-neighborhood-plan{display:grid}.ffx-bottom-cta a,.ffx-neighborhood-plan button{width:100%}.ffx-neighborhood-grid{grid-template-columns:1fr}.ffx-neighborhood-grid article{grid-template-rows:160px 1fr}.ffx-neighborhood-grid img{height:160px}.ffx-neighborhood-detail-hero{background-position:62% center}}

/* Hide host-theme titles when the FairfaxFlow application is the page experience. */
body:has(.ffx-app) .wp-block-post-title,body:has(.ffx-app) .entry-title{display:none!important}
body:has(.ffx-app) main{padding-top:0}


body:has(.ffx-app) main{margin-block-start:0!important}
body:has(.ffx-app) .wp-site-blocks{gap:0!important}
body:has(.ffx-app) header.wp-block-template-part{margin-bottom:0!important}


/* V138-V162 product completion UI */
.ffx-section-head {
	max-width: 980px;
}

.ffx-product-searchbar,
.ffx-planner-form {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px) auto;
	gap: 12px;
	align-items: end;
}

.ffx-product-searchbar input,
.ffx-product-searchbar select,
.ffx-planner-form input,
.ffx-planner-form select {
	min-height: 46px;
	border: 1px solid var(--ffx-line);
	border-radius: 6px;
	padding: 11px 13px;
	background: var(--ffx-input);
	color: var(--ffx-text);
	font: inherit;
}

.ffx-planner-form label {
	display: grid;
	gap: 7px;
	font-weight: 800;
	color: var(--ffx-muted);
}

.ffx-planner-form button,
.ffx-place-filters button {
	min-height: 44px;
	border: 1px solid var(--ffx-line);
	border-radius: 999px;
	padding: 10px 15px;
	background: var(--ffx-panel-strong);
	color: var(--ffx-text);
	font-weight: 900;
	cursor: pointer;
}

.ffx-planner-form button,
.ffx-place-filters button.is-active {
	border-color: var(--ffx-accent);
	background: var(--ffx-accent);
	color: #07110d;
}

.ffx-product-quicklinks {
	display: grid;
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.ffx-product-quicklinks a,
.ffx-product-card,
.ffx-place-card,
.ffx-checklist label,
.ffx-plan-list li {
	border: 1px solid var(--ffx-line);
	border-radius: 8px;
	background: var(--ffx-panel);
	color: var(--ffx-text);
}

.ffx-product-quicklinks a {
	padding: 18px;
	font-weight: 900;
	text-decoration: none;
}

.ffx-product-grid,
.ffx-place-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(240px, 1fr));
	gap: 12px;
}

.ffx-product-card,
.ffx-place-card {
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: hidden;
	min-height: 320px;
}

.ffx-product-card img,
.ffx-place-card img {
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	background: var(--ffx-panel-strong);
}

.ffx-product-card div,
.ffx-place-card div {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 18px;
}

.ffx-product-card span,
.ffx-place-card span,
.ffx-plan-list span {
	color: var(--ffx-accent-strong);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.ffx-product-card h3,
.ffx-place-card h2,
.ffx-plan-list strong {
	margin: 0;
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: 0;
}

.ffx-product-card p,
.ffx-place-card p,
.ffx-plan-list p {
	margin: 0;
	color: var(--ffx-muted);
}

.ffx-product-card a,
.ffx-place-card a,
.ffx-plan-list a,
.ffx-checklist a {
	align-self: end;
	color: var(--ffx-accent-strong);
	font-weight: 900;
	text-decoration: none;
}

.ffx-place-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ffx-plan-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(160px, 1fr));
	gap: 12px;
	padding: 0;
	margin: 18px 0 0;
	list-style: none;
}

.ffx-plan-list li {
	display: grid;
	gap: 9px;
	padding: 16px;
}

.ffx-plan-note {
	color: var(--ffx-muted);
	font-weight: 800;
}

.ffx-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(240px, 1fr));
	gap: 12px;
}

.ffx-checklist label {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 12px;
	padding: 18px;
}

.ffx-checklist input {
	width: 20px;
	height: 20px;
	accent-color: var(--ffx-accent);
}

.ffx-checklist span {
	display: grid;
	gap: 8px;
	color: var(--ffx-muted);
}

.ffx-checklist strong {
	color: var(--ffx-text);
}

@media (max-width: 1000px) {
	.ffx-product-searchbar,
	.ffx-planner-form,
	.ffx-product-quicklinks,
	.ffx-product-grid,
	.ffx-place-grid,
	.ffx-plan-list,
	.ffx-checklist {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 680px) {
	.ffx-product-searchbar,
	.ffx-planner-form,
	.ffx-product-quicklinks,
	.ffx-product-grid,
	.ffx-place-grid,
	.ffx-plan-list,
	.ffx-checklist {
		grid-template-columns: 1fr;
	}
	.ffx-product-card,
	.ffx-place-card {
		min-height: 0;
	}
}

/* V163-V212 completion UI polish */
.ffx-app{font-family:Inter,Segoe UI,Arial,sans-serif;letter-spacing:0;color:#ecf4f2;}
.ffx-growth-app,.ffx-product-app,.ffx-completion-app,.ffx-sources-app{width:min(calc(100vw - 32px),1760px);max-width:none;margin:0 auto;padding:18px;background:#0a1013;}
.ffx-hero{position:relative;overflow:hidden;border:1px solid rgba(141,170,176,.22);border-radius:8px;background:linear-gradient(90deg,rgba(10,16,19,.92),rgba(10,16,19,.62)),var(--ffx-hero-image,none);background-size:cover;background-position:center;box-shadow:0 14px 42px rgba(0,0,0,.24);}
.ffx-hero::after{content:"";position:absolute;inset:0;border-top:4px solid #58c890;pointer-events:none;}
.ffx-hero h1{max-width:860px;font-size:clamp(42px,5vw,78px);line-height:.96;margin:8px 0 14px;letter-spacing:0;}
.ffx-hero p{max-width:740px;font-size:18px;line-height:1.45;color:#c6d4d5;}
.ffx-hero .ffx-theme-picker{position:absolute;right:28px;top:26px;z-index:2;}
.ffx-brand-lockup{display:flex;align-items:center;gap:24px;position:relative;z-index:1;}
.ffx-brand-lockup img{width:150px;max-width:24vw;border-radius:8px;box-shadow:0 18px 42px rgba(0,0,0,.32);}
.ffx-panel,.ffx-card,.ffx-resource-grid article,.ffx-completion-card{border-radius:8px;background:#121d22;border:1px solid rgba(141,170,176,.22);box-shadow:none;}
.ffx-command-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:18px 0;}
.ffx-command-panel span,.ffx-completion-card span,.ffx-resource-grid span{display:block;color:#6ee0a5;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0;margin-bottom:10px;}
.ffx-command-panel strong{font-size:22px;line-height:1.2;color:#f5f8f7;}
.ffx-command-panel a,.ffx-completion-card a,.ffx-product-quicklinks a{color:#69d49d;font-weight:800;text-decoration:none;}
.ffx-completion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;}
.ffx-completion-card{min-height:230px;padding:24px;display:flex;flex-direction:column;gap:12px;}
.ffx-completion-card h2{font-size:24px;line-height:1.15;margin:0;color:#f7fbfa;}
.ffx-completion-card p{margin:0;color:#c1ced0;line-height:1.5;}
.ffx-completion-card a{margin-top:auto;}
.ffx-source-groups{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;}
.ffx-source-groups button,.ffx-place-filters button,.ffx-search-filters button{border:1px solid rgba(141,170,176,.26);border-radius:999px;background:#15242a;color:#e9f3f1;padding:10px 14px;font-weight:800;cursor:pointer;}
.ffx-source-groups button.is-active,.ffx-place-filters button.is-active,.ffx-search-filters button.is-active{background:#58c890;color:#06100d;}
.ffx-disclaimer{color:#c8d4d5;padding:16px 18px;border-left:4px solid #e3a348;}
.ffx-product-searchbar input,.ffx-product-searchbar select,.ffx-planner-form input,.ffx-planner-form select,.ffx-contact-form input,.ffx-contact-form textarea,.ffx-contact-form select{border-radius:6px;min-height:48px;font-size:16px;}
.ffx-card,.ffx-resource-grid article{min-height:210px;}
.ffx-site-footer{width:min(calc(100vw - 32px),1760px);margin:0 auto 24px;padding:18px;color:#90a3a6;text-align:center;background:#0a1013;border-top:1px solid rgba(141,170,176,.18);}
@media (max-width:920px){.ffx-growth-app,.ffx-product-app,.ffx-completion-app,.ffx-sources-app{width:100%;padding:12px;}.ffx-completion-grid{grid-template-columns:1fr;}.ffx-brand-lockup{align-items:flex-start;}.ffx-brand-lockup img{width:92px;}.ffx-hero h1{font-size:42px;}.ffx-command-panel{display:block;}.ffx-hero .ffx-theme-picker{position:static;margin-top:18px;}}

/* V213-V262 social-ready public shell and screenshot-driven UI polish */
body.ffx-managed-page {
	background: #0b1114 !important;
	color: var(--ffx-text);
}

body.ffx-managed-page .wp-site-blocks > header,
body.ffx-managed-page .wp-site-blocks > footer,
body.ffx-managed-page header.wp-block-template-part,
body.ffx-managed-page footer.wp-block-template-part,
body.ffx-managed-page .wp-block-navigation,
body.ffx-managed-page .wp-block-site-title,
body.ffx-managed-page .wp-block-site-tagline,
body.ffx-managed-page .wp-block-post-title,
body.ffx-managed-page .entry-title {
	display: none !important;
}

body.ffx-managed-page .wp-site-blocks,
body.ffx-managed-page main,
body.ffx-managed-page .entry-content,
body.ffx-managed-page .wp-block-post-content {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}

body.ffx-managed-page .wp-site-blocks {
	min-height: 100vh;
	background: #0b1114;
}

.ffx-public-header {
	position: relative;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: min(calc(100vw - 32px), 1760px);
	margin: 14px auto 0;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--ffx-line) 82%, transparent);
	border-radius: 8px;
	background: color-mix(in srgb, var(--ffx-panel) 90%, #0b1114 10%);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}

.ffx-public-brand,
.ffx-public-header nav,
.ffx-public-header nav a {
	display: inline-flex;
	align-items: center;
}

.ffx-public-brand {
	gap: 10px;
	color: var(--ffx-text);
	font-weight: 950;
	text-decoration: none;
	white-space: nowrap;
}

.ffx-public-brand img {
	width: 30px;
	height: 30px;
}

.ffx-public-header nav {
	justify-content: flex-end;
	gap: 6px;
	flex-wrap: wrap;
}

.ffx-public-header nav a {
	min-height: 34px;
	padding: 7px 10px;
	border: 1px solid transparent;
	border-radius: 6px;
	color: var(--ffx-muted);
	font-size: 13px;
	font-weight: 850;
	text-decoration: none;
}

.ffx-public-header nav a:hover,
.ffx-public-header nav a:focus-visible {
	border-color: var(--ffx-line);
	color: var(--ffx-text);
	background: var(--ffx-panel-strong);
	outline: 3px solid color-mix(in srgb, var(--ffx-accent) 25%, transparent);
	outline-offset: 2px;
}

body.ffx-managed-page .ffx-app {
	margin: 14px auto 0 !important;
	left: auto !important;
	transform: none !important;
	width: min(calc(100vw - 32px), 1760px) !important;
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28);
}

body.ffx-managed-page .ffx-site-footer {
	width: min(calc(100vw - 32px), 1760px);
	margin: 0 auto 22px;
	border: 1px solid var(--ffx-line);
	border-top: 0;
	border-radius: 0 0 8px 8px;
	background: #0b1114;
}

.ffx-hero {
	border-top-width: 3px;
}

.ffx-growth-app[data-ffx-growth="discover"] .ffx-growth-hero,
.ffx-hero-discovery {
	min-height: clamp(260px, 30vw, 430px);
	background-position: center;
}

.ffx-hero h1 {
	max-width: 860px;
	font-size: clamp(36px, 4vw, 64px);
}

.ffx-hero p {
	font-size: 17px;
}

.ffx-section-head {
	max-width: none;
	grid-template-columns: minmax(220px, 0.56fr) minmax(320px, 1.44fr);
	margin-bottom: 18px;
}

.ffx-section-head h2 {
	font-size: clamp(22px, 1.7vw, 30px);
}

.ffx-completion-grid,
.ffx-resource-grid,
.ffx-growth-grid,
.ffx-product-grid,
.ffx-place-grid {
	gap: 10px;
}

.ffx-completion-card,
.ffx-resource-grid article,
.ffx-growth-card,
.ffx-product-card,
.ffx-place-card,
.ffx-discovery-grid article,
.ffx-trip-grid article {
	min-height: 0;
	padding: 16px;
	box-shadow: none;
}

.ffx-completion-card h2,
.ffx-resource-grid h3,
.ffx-growth-card h3,
.ffx-product-card h3,
.ffx-place-card h2,
.ffx-discovery-grid h3,
.ffx-trip-grid h3 {
	font-size: 19px;
	line-height: 1.22;
}

.ffx-completion-card p,
.ffx-resource-grid p,
.ffx-growth-card p,
.ffx-product-card p,
.ffx-place-card p,
.ffx-discovery-grid p,
.ffx-trip-grid p {
	font-size: 15px;
	line-height: 1.52;
}

.ffx-product-searchbar,
.ffx-planner-form,
.ffx-route-form {
	grid-template-columns: minmax(0, 1fr) minmax(170px, 240px) auto;
}

.ffx-product-searchbar input,
.ffx-growth-tools input,
.ffx-route-form input,
.ffx-form input,
.ffx-form select,
.ffx-form textarea {
	min-width: 0;
}

.ffx-theme-picker {
	gap: 8px;
}

.ffx-theme-picker button {
	width: 28px;
	height: 28px;
}

.ffx-bottom-cta {
	margin-top: 18px;
}

body.ffx-managed-page .wpm-chat-widget,
body.ffx-managed-page [class*="chat" i][class*="bubble" i] {
	bottom: 22px !important;
	right: 22px !important;
}

@media (max-width: 900px) {
	.ffx-public-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.ffx-public-header nav {
		justify-content: flex-start;
	}

	.ffx-section-head,
	.ffx-product-searchbar,
	.ffx-planner-form,
	.ffx-route-form {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.ffx-public-header,
	body.ffx-managed-page .ffx-app,
	body.ffx-managed-page .ffx-site-footer {
		width: 100% !important;
		border-left: 0;
		border-right: 0;
		border-radius: 0;
	}

	.ffx-public-header {
		margin-top: 0;
		padding: 12px;
	}

	.ffx-public-header nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.ffx-public-header nav a {
		justify-content: center;
		white-space: normal;
		text-align: center;
	}

	body.ffx-managed-page .ffx-app {
		margin-top: 0 !important;
		padding: 10px !important;
	}

	.ffx-hero {
		padding: 24px 18px;
	}

	.ffx-hero h1 {
		font-size: 34px;
	}

	.ffx-hero p {
		font-size: 15px;
	}

	.ffx-filter-chips,
	.ffx-source-groups {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ffx-filter-chips button,
	.ffx-source-groups button {
		min-width: 0;
		white-space: normal;
	}

	body.ffx-managed-page .wpm-chat-widget,
	body.ffx-managed-page [class*="chat" i][class*="bubble" i] {
		bottom: 76px !important;
		right: 14px !important;
	}
}

/* V262 visual QA tightening */
body.ffx-managed-page .wp-site-blocks > *,
body.ffx-managed-page .wp-site-blocks main > *,
body.ffx-managed-page .entry-content > * {
	margin-block-start: 0 !important;
}

body.ffx-managed-page .ffx-public-header + main,
body.ffx-managed-page .ffx-public-header + .wp-site-blocks,
body.ffx-managed-page main:has(.ffx-app) {
	padding-top: 0 !important;
}

body.ffx-managed-page .ffx-app {
	margin-top: 10px !important;
}

.ffx-empty-state {
	border: 1px solid var(--ffx-line);
	border-radius: 8px;
	background: var(--ffx-panel-strong);
	padding: 18px;
}

.ffx-empty-state strong {
	display: block;
	font-size: 18px;
	line-height: 1.25;
}

.ffx-empty-state p {
	font-size: 15px;
	line-height: 1.5;
}

@media (max-width: 700px) {
	.ffx-public-header nav {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.ffx-public-header nav a {
		min-height: 32px;
		justify-content: flex-start;
		padding-inline: 42px 10px;
	}

	.ffx-growth-tools input,
	.ffx-product-searchbar input,
	.ffx-route-form input,
	.ffx-form input,
	.ffx-form select {
		font-size: 14px;
		padding-inline: 12px;
	}

	.ffx-growth-tools input::placeholder,
	.ffx-product-searchbar input::placeholder,
	.ffx-route-form input::placeholder {
		font-size: 13px;
	}

	.ffx-empty-state {
		padding: 14px;
	}
}

@media (max-width: 700px) {
	body.ffx-managed-page .wpm-chat-widget,
	body.ffx-managed-page [class*="chat" i][class*="bubble" i] {
		display: none !important;
	}
}

/* V263-V312 advanced trust, account, admin, and QA surfaces */
.ffx-advanced-app { display: grid; gap: 14px; }
.ffx-advanced-hero { background: linear-gradient(110deg, rgba(10,16,19,.96), rgba(22,48,43,.88)), url("images/fairfax-county-hero.jpg"); background-size: cover; background-position: center; }
.ffx-source-trust-summary .ffx-health-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ffx-advanced-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ffx-advanced-card { display: flex; flex-direction: column; gap: 10px; min-height: 240px; border: 1px solid var(--ffx-line); border-radius: 8px; background: var(--ffx-panel); padding: 16px; }
.ffx-advanced-card span,.ffx-advanced-card small { color: var(--ffx-accent-strong); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.ffx-advanced-card h2 { margin: 0; color: var(--ffx-text); font-size: 20px; line-height: 1.2; }
.ffx-advanced-card p { flex: 1; margin: 0; color: var(--ffx-muted); line-height: 1.5; }
.ffx-advanced-card a,.ffx-advanced-card button { align-self: flex-start; border: 1px solid var(--ffx-line); border-radius: 6px; background: var(--ffx-panel-strong); color: var(--ffx-accent-strong); font-weight: 900; padding: 9px 12px; text-decoration: none; cursor: pointer; }
.ffx-advanced-card a:hover,.ffx-advanced-card button:hover,.ffx-advanced-card a:focus-visible,.ffx-advanced-card button:focus-visible { border-color: var(--ffx-accent); outline: 3px solid color-mix(in srgb, var(--ffx-accent) 26%, transparent); outline-offset: 2px; }
.ffx-advanced-router { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; }
.ffx-advanced-router label { display: grid; gap: 6px; color: var(--ffx-muted); font-weight: 850; }
.ffx-advanced-router input,.ffx-advanced-router select { min-height: 44px; border: 1px solid var(--ffx-line); border-radius: 6px; background: var(--ffx-input); color: var(--ffx-text); padding: 10px 12px; }
.ffx-advanced-router button { min-height: 44px; border: 0; border-radius: 6px; background: var(--ffx-accent); color: #07110d; font-weight: 950; cursor: pointer; }
.ffx-route-result.is-emergency { border-color: var(--ffx-danger); background: color-mix(in srgb, var(--ffx-danger) 14%, var(--ffx-panel)); }
.ffx-qa-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ffx-qa-list li { border: 1px solid var(--ffx-line); border-radius: 8px; background: var(--ffx-panel); padding: 14px; }
.ffx-admin-readiness-v2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ffx-admin-readiness-v2 span { border: 1px solid var(--ffx-line); border-radius: 8px; background: var(--ffx-panel-strong); padding: 12px; }
.ffx-admin-readiness-v2 strong { display: block; color: var(--ffx-text); font-size: 20px; }
@media (max-width: 1100px) { .ffx-advanced-grid,.ffx-source-trust-summary .ffx-health-grid,.ffx-admin-readiness-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ffx-advanced-router { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .ffx-advanced-grid,.ffx-source-trust-summary .ffx-health-grid,.ffx-admin-readiness-v2,.ffx-advanced-router { grid-template-columns: 1fr; } .ffx-advanced-card { min-height: 0; } }

/* V299 final mobile navigation compaction */
@media (max-width: 700px) {
	.ffx-public-header {
		gap: 8px;
		padding: 10px 12px;
	}
	.ffx-public-brand img { width: 24px; height: 24px; }
	.ffx-public-brand span { font-size: 18px; }
	.ffx-public-header nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}
	.ffx-public-header nav a {
		min-height: 30px;
		justify-content: center;
		padding: 6px 8px;
		font-size: 12px;
	}
	.ffx-public-header nav a:first-child,
	.ffx-public-header nav a:last-child {
		grid-column: auto;
	}
}


/* V363-V372 featured business column */
.ffx-growth-board,
.ffx-resource-board {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 0.72fr);
	gap: 14px;
	align-items: start;
}

.ffx-growth-board .ffx-growth-grid,
.ffx-resource-board .ffx-resource-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ffx-featured-widget {
	display: grid;
	gap: 12px;
	position: sticky;
	top: 18px;
}

.ffx-featured-head,
.ffx-featured-card {
	border: 1px solid rgba(110, 224, 165, .28);
	border-radius: 8px;
	background: linear-gradient(180deg, rgba(16, 34, 31, .96), rgba(13, 21, 25, .98));
	padding: 16px;
	color: var(--ffx-text);
}

.ffx-featured-head span,
.ffx-featured-card > span {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 10px;
	border: 1px solid rgba(110, 224, 165, .28);
	border-radius: 999px;
	padding: 5px 9px;
	color: #7ff0b1;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.ffx-featured-head h2,
.ffx-featured-card h3 {
	margin: 0 0 8px;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0;
}

.ffx-featured-head p,
.ffx-featured-card p {
	margin: 0 0 12px;
	color: var(--ffx-muted);
	font-size: 14px;
	line-height: 1.5;
}

.ffx-featured-card a {
	color: var(--ffx-accent-strong);
	font-weight: 900;
	text-decoration: none;
}

.ffx-featured-link {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
}

.ffx-featured-card.is-advertise {
	border-color: rgba(224, 163, 64, .44);
	background: linear-gradient(180deg, rgba(38, 31, 18, .96), rgba(13, 21, 25, .98));
}

.ffx-featured-card.is-advertise > span {
	border-color: rgba(224, 163, 64, .44);
	color: #f1bd64;
}

.ffx-featured-packages {
	display: grid;
	gap: 8px;
}

.ffx-featured-packages form {
	margin: 0;
}

.ffx-featured-packages button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 44px;
	border: 1px solid rgba(224, 163, 64, .38);
	border-radius: 6px;
	background: rgba(224, 163, 64, .12);
	color: var(--ffx-text);
	padding: 9px 11px;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.ffx-featured-packages button span {
	color: #f1bd64;
	font-size: 12px;
	font-weight: 900;
}

.ffx-featured-note {
	margin-top: 10px !important;
	font-size: 12px !important;
	font-weight: 800;
}

@media (max-width: 1100px) {
	.ffx-growth-board,
	.ffx-resource-board {
		grid-template-columns: 1fr;
	}

	.ffx-featured-widget {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ffx-featured-head {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.ffx-growth-board .ffx-growth-grid,
	.ffx-resource-board .ffx-resource-grid,
	.ffx-featured-widget {
		grid-template-columns: 1fr;
	}
}


/* V425-V476 featured business completion, tracking, and admin readiness */
.ffx-featured-widget { align-content: start; max-height: calc(100vh - 36px); overflow: auto; padding-right: 2px; scrollbar-width: thin; }
.ffx-featured-card { min-height: 172px; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.ffx-featured-card:hover,.ffx-featured-card:focus-within { border-color: rgba(126, 240, 177, .7); transform: translateY(-1px); }
.ffx-featured-card small { display: inline-flex; margin-bottom: 8px; color: var(--ffx-muted); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.ffx-featured-card a:focus-visible,.ffx-featured-packages button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ffx-accent) 42%, transparent); outline-offset: 2px; }
.ffx-featured-admin-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.ffx-featured-admin-summary span,.ffx-featured-metrics { border: 1px solid #26333a; border-radius: 8px; background: #151d22; padding: 14px; color: #f7f8f5; }
.ffx-featured-admin-summary strong,.ffx-featured-admin-summary small { display: block; }
.ffx-featured-admin-summary strong { margin-bottom: 4px; color: #7ff0b1; font-size: 13px; text-transform: uppercase; }
.ffx-featured-admin-summary .needs-review strong { color: #f1bd64; }
.ffx-featured-admin-summary small { margin-top: 7px; color: #b8c8ce; line-height: 1.45; }
.ffx-featured-metrics { margin: 18px 0; }
.ffx-featured-metrics h2 { margin-top: 0; color: #f7f8f5; }
.ffx-featured-metrics table { margin-top: 10px; }
@media (max-width: 1100px) { .ffx-featured-widget { max-height: none; overflow: visible; } .ffx-featured-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .ffx-featured-admin-summary { grid-template-columns: 1fr; } .ffx-featured-card { min-height: 0; } }


/* V526.1 remove public sponsored header and paid-placement pills from featured column */
.ffx-featured-widget .ffx-featured-head,
.ffx-featured-widget .ffx-featured-card.is-active > span {
	display: none !important;
}
