/**
 * FoundHint theme components.
 *
 * Tokens (colours, fonts, sizes) come from theme.json as --wp--preset--* custom
 * properties. This file only holds what theme.json cannot express: card
 * treatments, chips, icons, the FAQ and the two illustration widgets.
 *
 * Measurements are taken from the FoundHint Home mockup's own inline styles.
 */

/* ---------------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
}

p {
	text-wrap: pretty;
}

:where(a, button, summary, input):focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Sections sit flush; the gap between them is their own padding. */
.wp-site-blocks > *,
.fh-home > * {
	margin-block: 0;
}

/* ---------------------------------------------------------------------------
 * Header
 * ------------------------------------------------------------------------- */
.fh-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.fh-header {
	padding-block: 16px;
}

.fh-header__inner {
	gap: 32px;
}

.fh-brand {
	position: relative;
	gap: 8px;
	flex: none;
}

.fh-brand .fh-brand__logo {
	margin: 0;
}

.fh-brand .fh-brand__logo img {
	display: block;
}

.fh-brand .fh-brand__name {
	margin: 0;
	line-height: 1;
}

/* The logo and the name are one link target: the name's link covers both. */
.fh-brand .fh-brand__name a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.fh-header .fh-menu {
	flex: 1;
	margin-left: 8px;
}

.fh-header__actions {
	gap: 16px;
	flex: none;
}


@media (max-width: 781px) {
	.fh-header__inner {
		gap: 12px;
	}

	.fh-header .fh-menu {
		order: 3;
		flex: none;
		margin-left: 0;
	}

	.fh-header__actions {
		margin-left: auto;
	}

}

@media (max-width: 420px) {
	.fh-header__actions .wp-block-button__link {
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* ---------------------------------------------------------------------------
 * Header menu (Theme Menu block, "primary" location)
 * ------------------------------------------------------------------------- */
.fh-menu__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	font-weight: 500;
}

.fh-menu__list a {
	position: relative;
	display: inline-block;
	padding-block: 6px;
	color: var(--wp--preset--color--body);
	text-decoration: none;
}

.fh-menu__list a:hover,
.fh-menu__list .current-menu-item > a {
	color: var(--wp--preset--color--ink);
}

/* Section in view: darker text plus an accent bar, so the state is not carried
   by colour alone. */
.fh-menu__list a.is-active {
	color: var(--wp--preset--color--ink);
}

.fh-menu__list a.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--accent);
}

.fh-menu__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #D9DCE2;
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fh-menu__toggle-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Three bars that turn into a cross when open. */
.fh-menu__toggle-icon,
.fh-menu__toggle-icon::before,
.fh-menu__toggle-icon::after {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.18s ease, background-color 0.18s ease;
}

.fh-menu__toggle-icon {
	position: relative;
}

.fh-menu__toggle-icon::before,
.fh-menu__toggle-icon::after {
	content: "";
	position: absolute;
	left: 0;
}

.fh-menu__toggle-icon::before { top: -6px; }
.fh-menu__toggle-icon::after { top: 6px; }

.fh-menu.is-open .fh-menu__toggle-icon {
	background: transparent;
}

.fh-menu.is-open .fh-menu__toggle-icon::before {
	transform: translateY(6px) rotate(45deg);
}

.fh-menu.is-open .fh-menu__toggle-icon::after {
	transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 781px) {
	/* Collapsed only once the script is running; without it the links wrap. */
	.fh-menu.is-ready .fh-menu__toggle {
		display: inline-flex;
	}

	.fh-menu.is-ready .fh-menu__panel {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - 80px);
		overflow-y: auto;
		padding: 8px 24px 20px;
		background: var(--wp--preset--color--base);
		border-bottom: 1px solid var(--wp--preset--color--border);
		box-shadow: 0 12px 24px rgba(20, 23, 31, 0.08);
	}

	.fh-menu.is-ready.is-open .fh-menu__panel {
		display: block;
	}

	.fh-menu.is-ready .fh-menu__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		font-size: 16px;
	}

	.fh-menu.is-ready .fh-menu__list a {
		display: flex;
		align-items: center;
		min-height: 48px;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}

	.fh-menu.is-ready .fh-menu__list li:last-child a {
		border-bottom: 0;
	}

	.fh-menu.is-ready .fh-menu__list a.is-active::after {
		top: 12px;
		bottom: 12px;
		left: -24px;
		right: auto;
		width: 3px;
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fh-menu__toggle-icon,
	.fh-menu__toggle-icon::before,
	.fh-menu__toggle-icon::after {
		transition: none;
	}
}

/* Menu links scroll to home-page sections. Stop below the sticky header. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

.fh-home [id] {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 88px);
}

/* ---------------------------------------------------------------------------
 * Buttons
 * ------------------------------------------------------------------------- */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
}

.wp-block-button__link:hover {
	text-decoration: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
}

.fh-btn-lg > .wp-block-button__link {
	font-size: 17px;
	padding: 16px 26px;
	box-shadow: 0 2px 6px rgba(217, 72, 15, 0.18);
}

.fh-btn-lg.is-style-outline > .wp-block-button__link {
	padding: 15px 24px;
	box-shadow: none;
}

.fh-btn-md > .wp-block-button__link {
	font-size: 16px;
	padding: 15px 24px;
}

.fh-btn-block {
	width: 100%;
}

.fh-btn-block > .wp-block-button__link {
	width: 100%;
	padding: 13px 18px;
}

.fh-btn-arrow-down > .wp-block-button__link::after {
	content: "";
	width: 16px;
	height: 16px;
	background: var(--wp--preset--color--accent-dark);
	-webkit-mask: var(--fh-glyph-arrow-down) center / contain no-repeat;
	mask: var(--fh-glyph-arrow-down) center / contain no-repeat;
}

.fh-btn-dark > .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	box-shadow: none;
}

.fh-btn-dark > .wp-block-button__link:hover {
	background: #000;
	color: var(--wp--preset--color--base);
}

.fh-btn-ghost > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--ink);
	padding: 14px 24px;
	box-shadow: none;
}

.fh-btn-ghost > .wp-block-button__link:hover {
	background: rgba(20, 23, 31, 0.08);
	color: var(--wp--preset--color--ink);
}

/* ---------------------------------------------------------------------------
 * Sections and shared text
 * ------------------------------------------------------------------------- */
.fh-section {
	padding-block: var(--wp--preset--spacing--70);
}

.fh-section--cream {
	background: var(--wp--preset--color--cream);
	border-block: 1px solid #F0E7E1;
}

.fh-section--mist {
	background: var(--wp--preset--color--mist);
}

.fh-section--rule {
	border-top: 1px solid var(--wp--preset--color--border);
}

.fh-section--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--on-dark);
}

.fh-section--dark h2 {
	color: var(--wp--preset--color--base);
}

.fh-measure-sm { max-width: 460px; }
.fh-measure-md { max-width: 680px; }
.fh-measure-lg { max-width: 760px; }
.fh-measure-xl { max-width: 820px; }

/* A constrained layout centres every child with auto margins, so a heading
   narrower than the content column would drift to the middle. Pin these to the
   column's left edge instead. */
.is-layout-constrained > .fh-measure-md,
.is-layout-constrained > .fh-measure-lg,
.is-layout-constrained > .fh-measure-xl,
.is-layout-constrained > .fh-intro--wide,
.is-layout-constrained > .fh-intro--steps {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}

.fh-section > .fh-intro {
	margin-top: 14px;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.65;
}

.fh-section > .fh-intro--wide {
	max-width: 820px;
}

.fh-section > .fh-grid,
.fh-section > .wp-block-table,
.fh-section > .fh-faqs {
	margin-top: var(--wp--preset--spacing--50);
}

.fh-section > .fh-intro + .fh-grid,
.fh-section > .fh-note + .fh-grid,
.fh-section > .fh-intro + .wp-block-table {
	margin-top: 32px;
}

.fh-more {
	margin-top: 22px;
	font-size: 16px;
	font-weight: 600;
}

.fh-more em,
.fh-note,
.fh-also em {
	font-style: normal;
	font-weight: 400;
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}

.fh-section > .fh-note {
	margin-top: 12px;
}

.fh-kicker {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

.fh-kicker span {
	color: #C7CBD2;
	margin-inline: 4px;
}

/* ---------------------------------------------------------------------------
 * Hero
 * ------------------------------------------------------------------------- */
.fh-hero {
	background: linear-gradient(180deg, var(--wp--preset--color--cream) 0%, var(--wp--preset--color--base) 100%);
	border-bottom: 1px solid #F0E7E1;
	padding-block: 72px 80px;
}

.fh-hero__cols {
	gap: 56px;
	align-items: flex-start;
	margin: 0;
}

.fh-hero__cols > .wp-block-column {
	min-width: 0;
}

/* Same proportions as the mockup's grid (1.05fr / 1fr), side by side only. */
@media (min-width: 782px) {
	.fh-hero__copy {
		flex: 1.05 1 0% !important;
	}

	.fh-hero__visual {
		flex: 1 1 0% !important;
	}
}

.fh-hero__copy > * {
	margin-block: 0;
}

.fh-eyebrow {
	display: inline-block;
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--accent-text);
	font-size: 13px;
	font-weight: 600;
	padding: 7px 12px;
	border-radius: 999px;
}

.fh-hero h1 {
	margin-top: 20px;
}

.fh-hero__lead {
	margin-top: 20px;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	max-width: 560px;
}

.fh-callout {
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.65;
	max-width: 580px;
	padding: 16px 18px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
}

.fh-hero__actions {
	margin-top: 28px;
	gap: 14px;
}

.fh-hero__reassurance {
	margin-top: 14px;
	font-size: 14px;
	color: var(--wp--preset--color--muted);
}

@media (max-width: 781px) {
	.fh-hero {
		padding-block: 48px 56px;
	}

	.fh-hero__cols {
		gap: 40px;
	}
}

/* Dashboard illustration */
.fh-mock {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(20, 23, 31, 0.10);
	overflow: hidden;
	min-height: 420px;
	font-size: 12px;
	color: var(--wp--preset--color--body);
}

.fh-mock p,
.fh-mock strong,
.fh-mock small {
	display: block;
	margin: 0;
}

.fh-mock__bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: var(--wp--preset--color--ink);
}

.fh-mock__bar span {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--body);
}

.fh-mock__bar em {
	margin-left: 8px;
	color: #fff;
	font-style: normal;
	font-weight: 500;
}

.fh-mock__body {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
}

.fh-mock__nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 12px;
	background: var(--wp--preset--color--mist);
	border-right: 1px solid var(--wp--preset--color--border);
}

.fh-mock__nav > * {
	padding: 6px 8px;
}

.fh-mock__nav b {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--accent-tint);
	border-radius: 8px;
}

.fh-mock__main {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px;
}

.fh-mock__tile {
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
}

.fh-mock__tile strong {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.fh-mock__tile small {
	font-size: 12.5px;
	line-height: 1.5;
	margin-top: 3px;
}

.fh-mock__score {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	color: var(--wp--preset--color--accent);
}

.fh-mock__score svg {
	flex: none;
}

.fh-mock__score text {
	font-family: var(--wp--preset--font-family--heading);
}

.fh-mock__score strong {
	font-size: 16px;
}

.fh-mock__score small {
	font-size: 13px;
	margin-top: 4px;
	color: var(--wp--preset--color--body);
}

.fh-mock__ok {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: #EAF7F0;
	border: 1px solid #C9EBD9;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.fh-mock__ok::before,
.fh-mock__loc i::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: var(--wp--preset--color--success);
	-webkit-mask: var(--fh-glyph-check) center / contain no-repeat;
	mask: var(--fh-glyph-check) center / contain no-repeat;
}

.fh-mock__loc {
	display: flex;
	gap: 12px;
	padding: 14px;
}

.fh-mock__loc strong {
	font-size: 14px;
}

.fh-mock__loc i {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent-tint);
}

.fh-mock__loc i::before {
	width: 20px;
	height: 20px;
	background: var(--wp--preset--color--accent-dark);
	-webkit-mask-image: var(--fh-glyph-pin);
	mask-image: var(--fh-glyph-pin);
}

.fh-mock__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.fh-mock__stats small {
	margin: 0;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

.fh-mock__stats strong {
	margin-top: 4px;
	font-size: 20px;
}

.fh-mock__stats strong.is-up {
	color: #177A4C;
}

.fh-mock__stats strong span {
	font-family: var(--wp--preset--font-family--body);
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
}

@media (max-width: 480px) {
	.fh-mock__body {
		grid-template-columns: minmax(0, 1fr);
	}

	.fh-mock__nav {
		display: none;
	}
}

/* Trust strip */
.fh-trust {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: 20px;
}

.fh-trust__list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 36px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	font-weight: 500;
}

.fh-trust__list li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fh-trust__list li::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: var(--wp--preset--color--success);
	-webkit-mask: var(--fh-glyph-check) center / contain no-repeat;
	mask: var(--fh-glyph-check) center / contain no-repeat;
}

.fh-trust__list .fh-i-users::before {
	background: var(--wp--preset--color--body);
	-webkit-mask-image: var(--fh-glyph-users);
	mask-image: var(--fh-glyph-users);
}

.fh-trust__list .fh-i-star::before {
	background: var(--wp--preset--color--accent);
	-webkit-mask-image: var(--fh-glyph-star);
	mask-image: var(--fh-glyph-star);
}

/* ---------------------------------------------------------------------------
 * Split intro ("What is FoundHint?")
 * ------------------------------------------------------------------------- */
.fh-split {
	gap: 56px;
	margin: 0;
}

.fh-prose {
	margin: 0;
	line-height: 1.65;
}

/* ---------------------------------------------------------------------------
 * Cards
 * ------------------------------------------------------------------------- */
.fh-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-warm);
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 1px 2px rgba(20, 23, 31, 0.04);
}

.fh-card > *,
.fh-card__body > * {
	margin-block: 0;
}

.fh-card--roomy {
	padding: 24px 26px;
}

.fh-card--plain {
	border-color: var(--wp--preset--color--border);
	box-shadow: none;
}

.fh-card__title {
	font-size: 18px;
	font-weight: 700;
}

.fh-card--roomy .fh-card__title {
	font-size: var(--wp--preset--font-size--large);
}

.fh-card__text {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.fh-card--roomy .fh-card__text {
	font-size: 15.5px;
}

.fh-card__link {
	margin-top: auto !important;
	padding-top: 10px;
	font-size: 14px;
	font-weight: 600;
}

.fh-card--roomy .fh-card__link {
	padding-top: 4px;
	font-size: 15px;
}

/* Feature card: tinted icon tile above the title. */
.fh-feature::before {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent-tint);
}

.fh-feature::after {
	content: "";
	position: absolute;
	top: 32px;
	left: 32px;
	width: 20px;
	height: 20px;
	background: var(--wp--preset--color--accent-dark);
	-webkit-mask: var(--fh-icon) center / contain no-repeat;
	mask: var(--fh-icon) center / contain no-repeat;
}

.fh-card--dark {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	justify-content: center;
}

.fh-card--dark .fh-card__title {
	color: var(--wp--preset--color--base);
}

.fh-card--dark .fh-card__text {
	color: var(--wp--preset--color--on-dark);
	font-size: 15px;
}

.fh-card--dark .fh-card__link {
	margin-top: 4px !important;
	padding-top: 0;
}

.fh-card--dark a {
	color: var(--wp--preset--color--accent);
}

.fh-card--dark a:hover {
	color: #FF8A5E;
}

@media (min-width: 800px) {
	.fh-span-2 {
		grid-column: span 2;
	}
}

/* Whole card is clickable through the title link. */
.fh-linked-card .fh-card__title a {
	color: inherit;
}

.fh-linked-card .fh-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.fh-linked-card:hover {
	border-color: var(--wp--preset--color--accent);
}

.fh-linked-card:hover .fh-card__title a {
	text-decoration: underline;
}

.fh-linked-card:focus-within {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
}

.fh-linked-card:focus-within .fh-card__title a:focus-visible {
	outline: none;
}

/* Cards with a media area on top. */
.fh-card--media {
	padding: 0;
	gap: 0;
	overflow: hidden;
}

.fh-card--media .fh-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
}

.fh-card--media .fh-card__title {
	margin-top: 2px;
	font-size: 19px;
}

.fh-card--media .fh-card__text {
	font-size: 15px;
}

.fh-video-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--ink);
}

.fh-video-thumb::before {
	content: "";
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
}

.fh-video-thumb::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	margin-left: 3px;
	background: var(--wp--preset--color--ink);
	-webkit-mask: var(--fh-glyph-play) center / contain no-repeat;
	mask: var(--fh-glyph-play) center / contain no-repeat;
}

/* Steps */
.fh-steps {
	counter-reset: fh-step;
}

.fh-step {
	counter-increment: fh-step;
	padding: 26px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
}

.fh-step > * {
	margin-block: 0;
}

.fh-step::before {
	content: counter(fh-step);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 17px;
}

.fh-step__title {
	margin-top: 16px !important;
	font-size: var(--wp--preset--font-size--large);
}

.fh-step p {
	margin-top: 8px;
	font-size: 15.5px;
}

/* Ten-step list: number on the left, title and text beside it, two columns. */
.fh-section > .fh-intro--steps {
	max-width: 760px;
	line-height: 1.6;
}

.fh-steps--list .fh-step {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	column-gap: 16px;
	align-content: start;
	padding: 22px;
}

.fh-steps--list .fh-step::before {
	grid-row: 1 / span 2;
}

.fh-steps--list .fh-step > * {
	grid-column: 2;
}

.fh-steps--list .fh-step__title {
	margin-top: 0 !important;
	font-size: 19px;
}

.fh-steps--list .fh-step p {
	margin-top: 6px;
	font-size: 15.5px;
}

@media (min-width: 782px) {
	.fh-steps--list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 20px !important;
	}
}

.fh-after-grid {
	margin-top: 28px;
}

/* "Also included" strip */
.fh-also {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	padding: 16px 20px;
	background: var(--wp--preset--color--base);
	border: 1px dashed #E0CFC5;
	border-radius: 12px;
	font-size: var(--wp--preset--font-size--small);
}

.fh-also strong {
	color: var(--wp--preset--color--ink);
}

.fh-also em {
	margin-left: auto;
}

/* ---------------------------------------------------------------------------
 * Industries
 * ------------------------------------------------------------------------- */
/* Two columns with a wider column gap than row gap (mockup: 24px 40px). Set
   here because WordPress writes a two-value block gap into the grid's column
   calc() and breaks it. */
@media (min-width: 782px) {
	.fh-industries {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 40px !important;
	}
}

.fh-industry > * {
	margin-block: 0;
}

.fh-industry__title {
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.fh-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0 !important;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.fh-chips li {
	padding: 7px 12px;
	background: var(--wp--preset--color--mist);
	border-radius: 999px;
	line-height: 1.4;
}

.fh-chips li:has(a) {
	background: var(--wp--preset--color--accent-tint);
	font-weight: 600;
}

.fh-inline-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 28px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--wp--preset--color--border);
	list-style: none;
	font-size: 15px;
	font-weight: 600;
}

.fh-inline-links li + li::before {
	content: "|";
	margin-right: 16px;
	color: #C7CBD2;
	font-weight: 400;
}

/* ---------------------------------------------------------------------------
 * Local pack comparison
 * ------------------------------------------------------------------------- */
.fh-pack {
	gap: 48px;
	margin: 0;
}

.fh-pack > .wp-block-column {
	min-width: 0;
}

@media (min-width: 782px) {
	.fh-pack__copy {
		flex: 0.85 1 0% !important;
	}

	.fh-pack__cards {
		flex: 1 1 0% !important;
	}
}

.fh-pack__copy p {
	margin-top: 18px;
	font-size: 17px;
	line-height: 1.7;
}

.fh-pack__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.fh-pack__cards > * {
	margin: 0 !important;
}

@media (max-width: 480px) {
	.fh-pack__cards {
		grid-template-columns: 1fr;
	}
}

.fh-pack-card {
	background: var(--wp--preset--color--base);
	border: 1px solid #2A2F3A;
	border-radius: 12px;
	padding: 18px;
	font-size: 13px;
	color: var(--wp--preset--color--ink);
}

.fh-pack-card.is-good {
	border: 2px solid var(--wp--preset--color--accent);
	padding: 17px;
}

.fh-pack-card p {
	margin: 0;
}

.fh-pack-card__label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

.is-good .fh-pack-card__label {
	color: var(--wp--preset--color--accent-text);
}

.fh-pack-card__name {
	margin-top: 12px !important;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 16px;
}

.fh-pack-card__meta {
	margin-top: 6px !important;
	color: var(--wp--preset--color--muted);
}

.fh-pack-card__meta.is-rated {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--wp--preset--color--ink);
}

.fh-pack-card__meta.is-rated::before {
	content: "";
	width: 13px;
	height: 13px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--fh-glyph-star) center / contain no-repeat;
	mask: var(--fh-glyph-star) center / contain no-repeat;
}

.fh-pack-card__list {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.fh-pack-card__list li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fh-pack-card__list li::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	-webkit-mask: var(--fh-glyph-check) center / contain no-repeat;
	mask: var(--fh-glyph-check) center / contain no-repeat;
	background: var(--wp--preset--color--success);
}

/* Greyed in the mockup (#9AA1AC), darkened to pass contrast; the cross icon
   carries the "missing" meaning alongside the wording. */
.fh-pack-card__list.is-bad li {
	color: var(--wp--preset--color--muted);
}

.fh-pack-card__list.is-bad li::before {
	background: var(--wp--preset--color--muted);
	-webkit-mask-image: var(--fh-glyph-cross);
	mask-image: var(--fh-glyph-cross);
}

.fh-pack-card__list b {
	color: #177A4C;
	font-weight: 600;
}

.fh-pack-card__map {
	margin-top: 16px;
	height: 56px;
	border-radius: 8px;
	background: var(--wp--preset--color--mist);
}

.is-good .fh-pack-card__map {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--cream);
	border: 1px solid #F0D9CC;
}

.is-good .fh-pack-card__map::before {
	content: "";
	width: 22px;
	height: 22px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--fh-glyph-pin) center / contain no-repeat;
	mask: var(--fh-glyph-pin) center / contain no-repeat;
}

/* ---------------------------------------------------------------------------
 * Comparison table
 * ------------------------------------------------------------------------- */
.fh-compare {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-warm);
	border-radius: 12px;
	overflow-x: auto;
}

.fh-compare figcaption {
	order: -1;
	margin: 0;
	padding: 16px 20px 0;
	text-align: left;
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}

.fh-compare table {
	min-width: 560px;
	border-collapse: collapse;
	font-size: 15px;
}

.fh-compare th,
.fh-compare td {
	border: 0;
	border-bottom: 1px solid #F0F1F3;
	padding: 14px 20px;
	text-align: left;
	line-height: 1.25;
}

.fh-compare thead {
	border: 0;
}

.fh-compare thead th {
	padding-block: 16px;
	border-bottom-color: var(--wp--preset--color--border);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.fh-compare thead th:first-child {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

.fh-compare tbody th {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.fh-compare tbody tr:last-child > * {
	border-bottom: 0;
}

.fh-compare tr > :nth-child(2) {
	background: var(--wp--preset--color--cream);
}

.fh-compare tbody td:nth-child(2) {
	color: #177A4C;
	font-weight: 600;
}

/* ---------------------------------------------------------------------------
 * Testimonials
 * ------------------------------------------------------------------------- */
.fh-quote.wp-block-quote {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 26px;
	background: var(--wp--preset--color--mist);
	border: 0;
	border-radius: 12px;
}

.fh-quote::before {
	content: "";
	width: 20px;
	height: 20px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--fh-glyph-quote) center / contain no-repeat;
	mask: var(--fh-glyph-quote) center / contain no-repeat;
}

.fh-quote p {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
}

.fh-quote cite {
	margin-top: auto;
	font-size: 14px;
	font-style: normal;
	color: var(--wp--preset--color--body);
}

.fh-quote cite strong {
	color: var(--wp--preset--color--ink);
}

/* ---------------------------------------------------------------------------
 * Posts
 * ------------------------------------------------------------------------- */
.fh-section > .fh-blog-label {
	margin-top: 44px;
	font-family: var(--wp--preset--font-family--body);
	line-height: 1.4;
}

.fh-section > .fh-posts {
	margin-top: 16px;
}

.fh-post-card .fh-post-card__image {
	margin: 0;
}

/* Keep the card shape when a post has no featured image. */
.fh-post-card:not(:has(.fh-post-card__image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--mist);
}

.fh-post-card .fh-card__title {
	font-size: 17.5px;
	line-height: 1.35;
}

.fh-post-card__cat {
	position: relative;
	z-index: 1;
	font-size: 12px;
	font-weight: 600;
}

.fh-post-card__time {
	font-size: 13.5px;
	color: var(--wp--preset--color--muted);
}

/* ---------------------------------------------------------------------------
 * FAQ
 * ------------------------------------------------------------------------- */
.fh-faq-title {
	font-size: clamp(27px, 4vw, 36px);
	line-height: 1.18;
}

.fh-faqs {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fh-faqs > * {
	margin-block: 0;
}

.fh-faq {
	background: var(--wp--preset--color--base);
	border-radius: 12px;
	padding: 20px 22px;
}

.fh-faq summary {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
}

.fh-faq summary::-webkit-details-marker {
	display: none;
}

.fh-faq summary::after {
	content: "+";
	flex: none;
	margin-left: auto;
	font-size: 20px;
	line-height: 1;
	color: var(--wp--preset--color--accent-dark);
	transition: transform 0.18s ease;
}

.fh-faq[open] summary::after {
	transform: rotate(45deg);
}

.fh-faq > p {
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.7;
}

@media (prefers-reduced-motion: reduce) {
	.fh-faq summary::after {
		transition: none;
	}
}

/* ---------------------------------------------------------------------------
 * Closing call to action
 * ------------------------------------------------------------------------- */
.fh-cta {
	background: var(--wp--preset--color--accent);
	padding-block: 72px;
	color: var(--wp--preset--color--ink);
}

.fh-cta__cols {
	gap: 40px;
	margin: 0;
}

.fh-cta h2 {
	max-width: 640px;
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.12;
}

.fh-cta p {
	margin-top: 16px;
	max-width: 620px;
	font-size: var(--wp--preset--font-size--medium);
}

/* Text takes the room, buttons take what they need (mockup: 1fr auto). */
@media (min-width: 782px) {
	.fh-cta__cols {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

.fh-cta__actions .wp-block-buttons {
	gap: 14px;
}

/* ---------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------- */
.fh-footer {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--on-dark);
	padding-top: 64px;
}

.fh-footer a {
	color: var(--wp--preset--color--on-dark);
}

.fh-footer a:hover {
	color: var(--wp--preset--color--base);
}

.fh-footer :focus-visible {
	outline-color: var(--wp--preset--color--base);
}

/* Brand column plus the menu's columns (mockup: 1.2fr + 4 × 1fr, gap 32px). */
.fh-footer__grid {
	display: grid;
	gap: 40px 32px;
}

.fh-footer__grid > * {
	margin-block: 0 !important;
}

.fh-footer-menu {
	display: grid;
	/* auto-fill keeps empty tracks, so two columns sit at the left like four would. */
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: 32px;
}

@media (min-width: 900px) {
	.fh-footer__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 4fr);
	}
}

.fh-footer__about > *,
.fh-footer__col > * {
	margin-block: 0;
}

.fh-footer__heading a {
	color: var(--wp--preset--color--base);
}

.fh-brand--footer {
	gap: 10px;
}

.fh-brand--footer .fh-brand__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--wp--preset--color--base);
}

.fh-brand--footer .fh-brand__name {
	font-size: 18px;
}

.fh-brand--footer .fh-brand__name a {
	color: var(--wp--preset--color--base);
}

.fh-footer__tagline {
	margin-top: 14px !important;
	max-width: 260px;
	font-size: 14px;
}

.fh-footer__heading {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
}

.fh-footer__links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 14px !important;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
}

.fh-footer__bottom {
	margin-top: 32px;
	padding-block: 20px 40px;
	border-top: 1px solid #2A2F3A;
	font-size: 13.5px;
	gap: 16px;
}

.fh-footer__bottom > * {
	margin: 0;
}

.fh-footer__social {
	display: flex;
	gap: 18px;
	padding: 0;
	list-style: none;
}

/* ---------------------------------------------------------------------------
 * Inner pages (blog, posts, pages, 404)
 * ------------------------------------------------------------------------- */
.fh-page {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}

.fh-page__title {
	font-size: clamp(32px, 5vw, 48px);
	font-weight: 800;
	line-height: 1.1;
}

.fh-article__meta {
	gap: 16px;
	font-size: 14px;
	color: var(--wp--preset--color--muted);
}

.fh-article__meta > * {
	margin: 0;
}

.fh-article .wp-block-post-content {
	font-size: 17px;
	line-height: 1.75;
}

.fh-article .wp-block-post-content h2 {
	font-size: clamp(24px, 3vw, 30px);
	margin-top: 1.8em;
}

.fh-search .wp-block-search__input {
	border: 1px solid #D9DCE2;
	border-radius: 12px;
	padding: 12px 14px;
}

.fh-pagination {
	margin-top: var(--wp--preset--spacing--50);
	font-weight: 600;
}
/* ---------------------------------------------------------------------------
 * Designed pages (About, Privacy, Terms, Refund) — "Full-width page" template.
 * Measurements from the FoundHint About / legal page designs.
 * ------------------------------------------------------------------------- */
.fh-designed-page > .wp-block-post-content > * {
	margin-block: 0;
}

/* Hero band */
.fh-page-hero {
	background: var(--wp--preset--color--cream);
	border-bottom: 1px solid #F0E7E1;
	padding-block: 56px 44px;
}

.fh-page-hero--about {
	background: linear-gradient(180deg, var(--wp--preset--color--cream) 0%, var(--wp--preset--color--base) 100%);
	padding-block: 64px 56px;
}

.fh-page-hero > * {
	margin-block: 0;
}

.fh-page-hero .fh-page-hero__title {
	font-size: clamp(32px, 5vw, 44px);
	font-weight: 800;
	line-height: 1.1;
}

.fh-page-hero--about .fh-page-hero__title {
	margin-top: 18px;
	font-size: clamp(34px, 5.5vw, 46px);
	line-height: 1.08;
}

.fh-page-hero .fh-eyebrow {
	justify-self: start;
	margin-right: auto !important;
	width: fit-content;
}

.fh-updated {
	gap: 6px;
	margin-top: 14px !important;
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.fh-updated > * {
	margin: 0;
}

.fh-updated__note {
	font-weight: 400;
	color: var(--wp--preset--color--body);
}

.fh-page-hero__text {
	margin-top: 12px !important;
	font-size: 16.5px;
	line-height: 1.75;
}

.fh-updated + .fh-page-hero__text {
	margin-top: 18px !important;
}

.fh-page-hero--about .fh-page-hero__text {
	margin-top: 14px !important;
	max-width: 700px;
	font-size: 17px;
}

.fh-page-hero__lead {
	margin-top: 18px !important;
	max-width: 680px;
	font-size: 18px;
	line-height: 1.65;
}

.fh-page-hero--about .fh-page-hero__lead {
	margin-top: 20px !important;
	max-width: 700px;
	font-size: 19px;
}

/* Narrow text blocks inside a constrained hero must not drift to the centre. */
.fh-page-hero.is-layout-constrained > [class*="fh-page-hero__"],
.fh-page-hero.is-layout-constrained > .fh-updated,
.fh-page-hero.is-layout-constrained > .fh-eyebrow {
	margin-left: max(0px, calc((100% - 772px) / 2)) !important;
}

.fh-page-hero--about.is-layout-constrained > [class*="fh-page-hero__"],
.fh-page-hero--about.is-layout-constrained > .fh-eyebrow {
	margin-left: max(0px, calc((100% - 832px) / 2)) !important;
}

/* Legal body */
.fh-legal {
	padding-block: 48px 80px;
}

.fh-legal > *,
.fh-prose > *,
.fh-prose-section > * {
	margin-block: 0;
}

.fh-legal p,
.fh-legal li {
	font-size: 16.5px;
	line-height: 1.75;
}

.fh-legal li {
	line-height: 1.7;
}

.fh-legal > p {
	margin-top: 12px;
}

.fh-legal > h2 {
	margin-top: 40px;
	font-size: clamp(22px, 3vw, 26px);
	font-weight: 800;
	line-height: 1.25;
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px);
}

.fh-legal > h3 {
	margin-top: 24px;
	font-size: 18px;
}

.fh-legal > h2 + p,
.fh-legal > h3 + p {
	margin-top: 12px;
}

.fh-legal > h3 + p {
	margin-top: 10px;
}

.fh-legal > .wp-block-list,
.fh-prose-section > .wp-block-list:not(.fh-chips) {
	margin-top: 12px;
	padding-left: 20px;
}

.fh-legal > .wp-block-list + p {
	margin-top: 14px;
}

.fh-legal strong {
	color: var(--wp--preset--color--ink);
}

/* Table of contents */
.fh-toc {
	padding: 24px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
}

.fh-toc > * {
	margin-block: 0;
}

.fh-toc .fh-toc__title {
	font-size: 18px;
	font-weight: 700;
}

.fh-toc .fh-toc__list {
	margin-top: 14px;
	padding-left: 22px;
	columns: 2;
	column-gap: 32px;
}

.fh-toc .fh-toc__list li {
	font-size: 15px;
	line-height: 1.9;
}

@media (max-width: 600px) {
	.fh-toc .fh-toc__list {
		columns: 1;
	}
}

/* Contact card and related links */
.fh-contact-card {
	margin-top: 20px !important;
	padding: 24px;
	background: var(--wp--preset--color--accent-tint);
	border-radius: 12px;
}

.fh-contact-card > * {
	margin: 0;
}

.fh-contact-card .fh-contact-card__name {
	margin-top: 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px;
	font-weight: 800;
	color: var(--wp--preset--color--ink);
}

.fh-related {
	margin-top: 40px !important;
	padding: 26px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
	font-size: 16.5px;
	line-height: 1.7;
}

/* Refund key figures */
.fh-stats {
	gap: 16px !important;
}

.fh-stat {
	padding: 22px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
}

.fh-stat.is-accent {
	background: var(--wp--preset--color--accent-tint);
}

.fh-stat > * {
	margin: 0;
}

.fh-legal .fh-stat__value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
}

.fh-legal .fh-stat__text {
	margin-top: 6px;
	font-size: 15px;
	line-height: 1.6;
}

.fh-legal > .fh-stats + h2 {
	margin-top: 36px;
}

/* About body */
/* Scoped to the page wrapper: the home page also has a paragraph called fh-prose. */
.wp-block-group.fh-prose {
	padding-block: 64px 80px;
}

.fh-prose-section + .fh-prose-section,
.fh-prose > .fh-cta-box {
	margin-top: 48px;
}

.fh-prose h2 {
	font-size: clamp(25px, 3.4vw, 30px);
	font-weight: 800;
	line-height: 1.2;
}

.fh-prose-section > p,
.fh-cta-box > p {
	margin-top: 12px;
	font-size: 17px;
	line-height: 1.75;
}

.fh-prose-section > h2 + p,
.fh-cta-box > h2 + p {
	margin-top: 14px;
}

.fh-prose-section li {
	font-size: 16.5px;
	line-height: 1.75;
}

.fh-prose-section > .wp-block-list + p,
.fh-prose-section > .fh-chips + p {
	margin-top: 16px;
}

.fh-prose-section > .fh-statement {
	margin-top: 16px;
	padding: 22px 24px;
	background: var(--wp--preset--color--accent-tint);
	border-radius: 12px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
}

.fh-prose-section > .fh-statement--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	font-size: 20px;
	line-height: 1.45;
}

.fh-prose-section > .fh-statement + p {
	margin-top: 16px;
}

.fh-tiles {
	margin-top: 24px !important;
	gap: 16px !important;
}

.fh-tile {
	padding: 24px;
	background: var(--wp--preset--color--mist);
	border-radius: 12px;
}

.fh-tile > * {
	margin: 0;
}

.fh-tile h3 {
	font-size: 18px;
}

.fh-tile p {
	margin-top: 8px;
	font-size: 15.5px;
	line-height: 1.65;
}

.fh-tile--compact {
	padding: 22px;
}

.fh-tile--compact p {
	margin-top: 6px;
}

.fh-tiles--steps {
	counter-reset: fh-tile;
}

.fh-tile--step {
	counter-increment: fh-tile;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
}

.fh-tile--step::before {
	content: counter(fh-tile);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 17px;
}

.fh-tile--step h3 {
	margin-top: 14px;
	font-size: 20px;
}

.fh-prose .fh-tagline {
	margin-top: 20px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px;
	font-weight: 800;
	color: var(--wp--preset--color--ink);
}

.fh-cta-box .fh-tagline {
	margin-top: 14px;
}

.fh-prose-section > .fh-chips--lg {
	margin-top: 16px !important;
	font-size: 15px;
}

.fh-chips--lg li {
	padding: 9px 14px;
}

.fh-cta-box {
	padding: 32px;
	background: var(--wp--preset--color--accent-tint);
	border-radius: 12px;
}

.fh-cta-box > * {
	margin-block: 0;
}

.fh-cta-box > p:not(.fh-tagline) {
	max-width: 640px;
}

.fh-cta-box > .wp-block-buttons {
	margin-top: 22px;
	gap: 14px;
}

.fh-prose > .fh-related {
	margin-top: 48px !important;
}

/* ---------------------------------------------------------------------------
 * Icons. Generated from the SVG paths in the FoundHint Home mockup; each is a
 * CSS mask so it takes the colour of the element that uses it.
 * ------------------------------------------------------------------------- */
:root {
	--fh-icon-schema: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 6 8 0'/%3E%3Cpath d='m6 10 12 0'/%3E%3Cpath d='m6 14 8 0'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E");
	--fh-icon-pages: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");
	--fh-icon-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3.6 9h16.8'/%3E%3Cpath d='M3.6 15h16.8'/%3E%3Cpath d='M12 3c2.5 3 2.5 15 0 18'/%3E%3Cpath d='M12 3c-2.5 3-2.5 15 0 18'/%3E%3C/svg%3E");
	--fh-icon-nap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16'/%3E%3Cpath d='M4 12h10'/%3E%3Cpath d='M4 19h7'/%3E%3Cpath d='m17 15 5 5'/%3E%3Cpath d='m22 15-5 5'/%3E%3C/svg%3E");
	--fh-icon-review: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 4 2.4 5 5.6.8-4 3.9.9 5.4-4.9-2.6-4.9 2.6.9-5.4-4-3.9 5.6-.8Z'/%3E%3C/svg%3E");
	--fh-icon-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 6-2 6 2 6-2v14l-6 2-6-2-6 2Z'/%3E%3Cpath d='M9 4v14'/%3E%3Cpath d='M15 6v14'/%3E%3C/svg%3E");
	--fh-icon-trend: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='m4 15 5-5 4 3 6-7'/%3E%3C/svg%3E");
	--fh-icon-audit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4.5-4.5'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E");
	--fh-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 15h5'/%3E%3C/svg%3E");
	--fh-icon-reply: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-8 8H8l-5 3 1.4-4.2A8 8 0 0 1 13 4a8 8 0 0 1 8 8Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--fh-icon-sliders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20v-5'/%3E%3Cpath d='M4 11V4'/%3E%3Cpath d='M12 20v-9'/%3E%3Cpath d='M12 7V4'/%3E%3Cpath d='M20 20v-3'/%3E%3Cpath d='M20 13V4'/%3E%3Cpath d='M1.5 15h5'/%3E%3Cpath d='M9.5 7h5'/%3E%3Cpath d='M17.5 17h5'/%3E%3C/svg%3E");
	--fh-icon-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18.1A2 2 0 0 0 3.5 21h17a2 2 0 0 0 1.7-2.9L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
	--fh-icon-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Crect x='7' y='12' width='3' height='6'/%3E%3Crect x='13' y='8' width='3' height='10'/%3E%3Cpath d='M19 6v12'/%3E%3C/svg%3E");
	--fh-icon-keyword: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4.5-4.5'/%3E%3Cpath d='M11 8v6'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E");
	--fh-icon-grid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M9 3v18'/%3E%3Cpath d='M15 3v18'/%3E%3Cpath d='M3 9h18'/%3E%3Cpath d='M3 15h18'/%3E%3C/svg%3E");
	--fh-glyph-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--fh-glyph-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E");
	--fh-glyph-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	--fh-glyph-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
	--fh-glyph-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E");
	--fh-glyph-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1-5.4-2.9L6.6 20l1-6.1L3.2 9.5l6.1-.9Z'/%3E%3C/svg%3E");
	--fh-glyph-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 5.5v13l11-6.5Z'/%3E%3C/svg%3E");
	--fh-glyph-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M10 6v6a5 5 0 0 1-5 5V13a7 7 0 0 1 5-7Zm10 0v6a5 5 0 0 1-5 5V13a7 7 0 0 1 5-7Z'/%3E%3C/svg%3E");
}

.fh-icon-schema { --fh-icon: var(--fh-icon-schema); }
.fh-icon-pages { --fh-icon: var(--fh-icon-pages); }
.fh-icon-globe { --fh-icon: var(--fh-icon-globe); }
.fh-icon-nap { --fh-icon: var(--fh-icon-nap); }
.fh-icon-review { --fh-icon: var(--fh-icon-review); }
.fh-icon-map { --fh-icon: var(--fh-icon-map); }
.fh-icon-trend { --fh-icon: var(--fh-icon-trend); }
.fh-icon-audit { --fh-icon: var(--fh-icon-audit); }
.fh-icon-calendar { --fh-icon: var(--fh-icon-calendar); }
.fh-icon-reply { --fh-icon: var(--fh-icon-reply); }
.fh-icon-sliders { --fh-icon: var(--fh-icon-sliders); }
.fh-icon-alert { --fh-icon: var(--fh-icon-alert); }
.fh-icon-chart { --fh-icon: var(--fh-icon-chart); }
.fh-icon-keyword { --fh-icon: var(--fh-icon-keyword); }
.fh-icon-grid { --fh-icon: var(--fh-icon-grid); }
