/* FidGenX site styles. Colours and fonts come from theme.json presets. */
:root {
	--fx-deep: #0B2A20; --fx-deep-2: #0E3428; --fx-deep-3: #071F17;
	--fx-emerald: #22A574; --fx-emerald-dark: #1A8A60; --fx-mint: #86CBAA;
	--fx-pearl: #F3F0E6; --fx-paper: #FAF8F2; --fx-white: #FFFFFF;
	--fx-ink: #15241E; --fx-ink-2: #4A5A53; --fx-line: #E2DED2;
	--fx-radius: 14px;
	--fx-serif: var(--wp--preset--font-family--serif, Marcellus, Georgia, serif);
	--fx-sans: var(--wp--preset--font-family--sans, Inter, system-ui, sans-serif);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--fx-emerald); outline-offset: 3px; }
.screen-reader-text:focus { background: #fff; padding: 8px 12px; z-index: 100000; }

/* Shared pieces ---------------------------------------------------------- */
.fx-dia, .fx-eyebrow::before, .fx-list li::before, .fx-svc__item h3::before { content: ""; width: 7px; height: 7px; background: var(--fx-emerald); transform: rotate(45deg); display: inline-block; flex: none; }
.fx-eyebrow { font-size: 0.8125rem !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fx-emerald-dark); display: flex; align-items: center; gap: 10px; margin: 0 0 14px !important; }
.fx-lead { font-size: var(--wp--preset--font-size--large) !important; color: var(--fx-ink-2); max-width: 40em; }
.fx-muted { color: var(--fx-ink-2); }

/* Buttons */
.wp-block-button .wp-block-button__link, .fx-button { border-radius: 999px; font-weight: 600; transition: background-color .15s ease, color .15s ease, border-color .15s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button.is-style-fx-ghost .wp-block-button__link { background: transparent; color: var(--fx-pearl); border: 1.5px solid rgba(243,240,230,.45); padding: 12.5px 22.5px; }
.wp-block-button.is-style-fx-ghost .wp-block-button__link:hover { border-color: var(--fx-pearl); background: rgba(243,240,230,.06); color: var(--fx-pearl); }
.wp-block-button.is-style-fx-dark .wp-block-button__link { background: var(--fx-deep); color: var(--fx-pearl); }
.wp-block-button.is-style-fx-dark .wp-block-button__link:hover { background: var(--fx-deep-2); color: #fff; }
.wp-block-button.is-style-fx-line .wp-block-button__link { background: transparent; color: var(--fx-deep); border: 1.5px solid rgba(11,42,32,.3); padding: 12.5px 22.5px; }
.wp-block-button.is-style-fx-line .wp-block-button__link:hover { border-color: var(--fx-deep); }
.fx-button { background: var(--fx-emerald); color: var(--fx-deep-3); border: 0; padding: 14px 26px; font-size: 1rem; font-family: var(--fx-sans); cursor: pointer; }
.fx-button:hover { background: #2BB683; }
.fx-button[disabled] { opacity: .7; cursor: wait; }

/* Header ----------------------------------------------------------------- */
.fx-header { background: var(--fx-paper); border-bottom: 1px solid var(--fx-line); position: relative; z-index: 20; }
.fx-header__bar { min-height: 84px; gap: 24px; }
.fx-logo { display: block; line-height: 0; }
.fx-logo img { height: 46px; width: auto; }
.fx-header__right { gap: 28px; }
.fx-nav { color: var(--fx-ink); }
.fx-nav .wp-block-navigation-item__content { text-decoration: none; padding: 6px 0; }
.fx-nav .wp-block-navigation-item__content:hover { color: var(--fx-emerald-dark); }
.fx-nav .wp-block-navigation__submenu-container { border: 1px solid var(--fx-line) !important; border-radius: 12px; padding: 8px !important; box-shadow: 0 18px 40px rgba(11,42,32,.12); background: #fff !important; min-width: 250px !important; }
.fx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px !important; border-radius: 8px; }
.fx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--fx-paper); }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--fx-deep) !important; color: var(--fx-pearl) !important; padding: 28px 24px; }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; gap: 6px; }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; padding: 0 0 0 16px !important; }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { font-size: 1rem; }
.fx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: transparent; color: var(--fx-mint); }
.fx-nav .wp-block-navigation__responsive-container-open, .fx-nav .wp-block-navigation__responsive-container-close { color: currentColor; }
.fx-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
@media (max-width: 1100px) {
	.fx-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.fx-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
@media (max-width: 600px) {
	.fx-header__bar { min-height: 68px; }
	.fx-logo img { height: 36px; }
	.fx-header .wp-block-buttons { display: none; }
}

/* Sections ----------------------------------------------------------------- */
.fx-section { padding-top: clamp(64px, 8vw, 96px); padding-bottom: clamp(64px, 8vw, 96px); }
.fx-section--white { background: var(--fx-white); }
.fx-section--pearl { background: var(--fx-pearl); }
.fx-section--tight { padding-top: clamp(40px, 5vw, 64px); }
.fx-section--dark { background: var(--fx-deep); color: var(--fx-pearl); }
.fx-section--dark h2, .fx-section--dark h3 { color: var(--fx-pearl); }
.fx-section--dark .fx-eyebrow { color: var(--fx-mint); }
.fx-section--dark .fx-head__intro { color: rgba(243,240,230,.72); }
.fx-section > * + * { margin-top: 0; }

.fx-head { gap: 48px !important; align-items: flex-end !important; margin-bottom: 44px !important; }
.fx-head h2 { margin: 0; }
.fx-head__intro { color: var(--fx-ink-2); font-size: 1.125rem; margin: 0; }
@media (max-width: 781px) { .fx-head { gap: 14px !important; margin-bottom: 28px !important; } }

/* Grids */
.fx-grid { display: grid !important; gap: 20px; }
.fx-grid > * { margin: 0 !important; }
.fx-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fx-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fx-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1080px) { .fx-grid--4, .fx-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fx-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .fx-grid--2, .fx-grid--3, .fx-grid--4 { grid-template-columns: 1fr; } .fx-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Cards */
.fx-card { background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: var(--fx-radius); padding: 26px; }
.fx-card > * + * { margin-top: 12px !important; }
.fx-card h3 { font-size: 1.375rem; margin: 0; }
.fx-card p { margin: 0; color: var(--fx-ink-2); font-size: 0.97rem; }
.fx-card .fx-list { margin-top: 14px !important; }

/* Hero -------------------------------------------------------------------- */
.fx-hero { background:
	radial-gradient(ellipse 700px 420px at 80% 30%, rgba(238,240,223,.07), transparent 70%),
	radial-gradient(ellipse 900px 500px at 15% 80%, rgba(34,165,116,.10), transparent 70%),
	linear-gradient(110deg, var(--fx-deep-3), var(--fx-deep) 45%, var(--fx-deep-2));
	color: var(--fx-pearl); padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(56px, 8vw, 96px); }
.fx-hero__cols { gap: 56px !important; align-items: center !important; }
.fx-hero h1 { color: var(--fx-pearl); margin: 0 0 24px; }
.fx-hero .fx-lead { color: rgba(243,240,230,.84); margin: 0 0 34px; }
.fx-kicker { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding: 0 !important; margin: 0 0 22px !important; font-size: 0.8125rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fx-mint); font-weight: 600; }
.fx-kicker li { display: inline-flex; align-items: center; gap: 14px; margin: 0; }
.fx-kicker li + li::before { content: ""; width: 5px; height: 5px; background: var(--fx-emerald); transform: rotate(45deg); display: inline-block; }
.fx-reply { margin-top: 18px !important; font-size: 0.875rem; color: rgba(243,240,230,.6); }

.fx-cal { background: rgba(243,240,230,.06); border: 1px solid rgba(243,240,230,.14); border-radius: 18px; padding: 24px; }
.fx-cal__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.fx-cal__head b { font-family: var(--fx-serif); font-weight: 400; font-size: 1.375rem; }
.fx-cal__head span { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fx-mint); }
.fx-cal__row { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid rgba(243,240,230,.1); }
.fx-cal__flag { width: 28px; height: 28px; border-radius: 8px; background: rgba(34,165,116,.18); color: var(--fx-mint); font-size: 11px; font-weight: 700; display: grid; place-items: center; letter-spacing: .04em; }
.fx-cal__t { font-size: .9375rem; line-height: 1.35; }
.fx-cal__t small { display: block; color: rgba(243,240,230,.58); font-size: .8125rem; }
.fx-cal__d { font-size: .8125rem; font-weight: 600; color: var(--fx-deep-3); background: var(--fx-mint); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.fx-cal__foot { margin-top: 12px; font-size: .75rem; color: rgba(243,240,230,.55); }
@media (max-width: 600px) { .fx-cal__head { flex-direction: column; gap: 4px; } }

/* Trust strip */
.fx-strip { background: var(--fx-pearl); border-bottom: 1px solid var(--fx-line); padding-top: 26px; padding-bottom: 26px; }
.fx-strip__cols { gap: 28px !important; }
.fx-strip p { margin: 0; font-size: .9375rem; color: var(--fx-ink-2); }
.fx-strip strong { display: block; color: var(--fx-deep); font-weight: 600; }
@media (max-width: 781px) { .fx-strip__cols { gap: 14px !important; } }

/* Services grid */
.fx-svc { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--fx-line); border-left: 1px solid var(--fx-line); gap: 0 !important; }
.fx-svc > * { margin: 0 !important; }
.fx-svc__item { position: relative; padding: 30px 28px 32px; border-right: 1px solid var(--fx-line); border-bottom: 1px solid var(--fx-line); background: var(--fx-white); transition: background-color .15s ease; }
.fx-svc__item:hover { background: #F6FAF7; }
.fx-svc__item h3 { font-size: 1.5rem; display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.fx-svc__item h3 a { color: var(--fx-deep); text-decoration: none; }
.fx-svc__item h3 a::after { content: ""; position: absolute; inset: 0; }
.fx-svc__item p { margin: 0 0 16px; color: var(--fx-ink-2); font-size: .97rem; }
.fx-svc__item p.fx-more { margin: 0; font-size: .875rem; font-weight: 600; color: var(--fx-emerald-dark); }
@media (max-width: 1080px) { .fx-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .fx-svc { grid-template-columns: 1fr; } }

/* Steps */
.fx-steps { display: grid !important; gap: 0 !important; }
.fx-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fx-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fx-steps > * { margin: 0 !important; }
.fx-step { position: relative; padding-right: 28px; }
.fx-step__n { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 0 18px !important; position: relative; font-family: var(--fx-serif); font-size: 1.1875rem; color: var(--fx-deep); }
.fx-step__n::before { content: ""; position: absolute; inset: 7px; border: 1.5px solid var(--fx-emerald); transform: rotate(45deg); }
.fx-step:not(:last-child)::after { content: ""; position: absolute; top: 23px; left: 58px; right: 18px; height: 1px; background: var(--fx-line); }
.fx-step h3 { font-size: 1.375rem; margin: 0 0 8px; }
.fx-step p:not(.fx-step__n) { margin: 0; color: var(--fx-ink-2); font-size: .97rem; }
.fx-steps--grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px !important; }
.fx-steps--grid2 .fx-step::after { display: none; }
@media (max-width: 900px) {
	.fx-steps--4, .fx-steps--3, .fx-steps--grid2 { grid-template-columns: 1fr; gap: 28px !important; }
	.fx-step::after { display: none; }
}

/* Engagement notes */
.fx-note { border: 1px solid rgba(243,240,230,.14); border-radius: var(--fx-radius); padding: 28px; background: rgba(243,240,230,.04); }
.fx-note h3 { font-size: 1.375rem; margin: 0 0 14px; color: var(--fx-pearl); }
.fx-note p { margin: 4px 0 0 !important; font-size: .9375rem; color: rgba(243,240,230,.8); }
.fx-note p.fx-lbl { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fx-mint); font-weight: 600; margin-top: 16px !important; }
.fx-notes--light .fx-note { background: var(--fx-white); border-color: var(--fx-line); }
.fx-notes--light .fx-note h3 { color: var(--fx-deep); }
.fx-notes--light .fx-note p { color: var(--fx-ink-2); }
.fx-notes--light .fx-note p.fx-lbl { color: var(--fx-emerald-dark); }
.fx-all { margin-top: 30px !important; font-weight: 600; font-size: .9375rem; }
.fx-section--dark .fx-all a { color: var(--fx-mint); text-decoration: none; }

/* People */
.fx-person > * { margin: 0 !important; }
.fx-person__ph { aspect-ratio: 4 / 5; border-radius: var(--fx-radius); background: linear-gradient(160deg, #DCE7DF, #C9D9CF); display: flex; align-items: flex-end; padding: 16px; color: var(--fx-deep); font-family: var(--fx-serif); font-size: 2.125rem; line-height: 1; margin-bottom: 14px !important; overflow: hidden; }
.fx-person__ph img, .fx-person figure img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--fx-radius); }
.fx-person__name { font-weight: 600; color: var(--fx-deep); font-size: 1.0625rem; }
.fx-person__role { font-size: .875rem; color: var(--fx-ink-2); }
.fx-people--bios { gap: 28px 24px !important; }
.fx-people--bios .fx-person { display: grid; grid-template-columns: 120px 1fr; gap: 0 22px; align-items: start; background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: var(--fx-radius); padding: 22px; }
.fx-people--bios .fx-person__ph { grid-row: span 3; font-size: 1.75rem; margin: 0 !important; }
.fx-people--bios .fx-person__bio { color: var(--fx-ink-2); font-size: .9375rem; margin-top: 10px !important; }
@media (max-width: 600px) { .fx-people--bios .fx-person { grid-template-columns: 84px 1fr; gap: 0 16px; padding: 18px; } .fx-people--bios .fx-person__ph { grid-row: span 2; font-size: 1.375rem; } .fx-people--bios .fx-person__bio { grid-column: 1 / -1; } }

/* CTA band */
.fx-cta { background: radial-gradient(ellipse 600px 300px at 85% 50%, rgba(238,240,223,.07), transparent 70%), linear-gradient(100deg, var(--fx-deep-3), var(--fx-deep)); color: var(--fx-pearl); padding-top: clamp(56px, 7vw, 80px); padding-bottom: clamp(56px, 7vw, 80px); }
.fx-cta__cols { gap: 40px !important; align-items: center !important; }
.fx-cta h2 { color: var(--fx-pearl); margin: 0; }
.fx-cta p { color: rgba(243,240,230,.8); font-size: 1.125rem; margin: 16px 0 0; }
.fx-cta .wp-block-buttons { flex-direction: column; align-items: flex-start; gap: 12px; }
@media (max-width: 781px) { .fx-cta .wp-block-buttons { flex-direction: row; flex-wrap: wrap; } }

/* Page head ----------------------------------------------------------------- */
.fx-pagehead { background: linear-gradient(110deg, var(--fx-deep-3), var(--fx-deep) 55%, var(--fx-deep-2)); color: var(--fx-pearl); padding-top: clamp(44px, 6vw, 76px); padding-bottom: clamp(44px, 6vw, 72px); }
.fx-pagehead h1 { color: var(--fx-pearl); max-width: 21em; margin: 0; font-size: clamp(2.125rem, 1.4rem + 2.6vw, 3.25rem); }
.fx-pagehead .fx-lead { color: rgba(243,240,230,.84); margin: 22px 0 0; max-width: 42em; }
.fx-crumb { font-size: .8125rem !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fx-mint); margin: 0 0 16px !important; display: flex; align-items: center; gap: 10px; }
.fx-crumb a { color: var(--fx-mint); text-decoration: none; }
.fx-crumb a:hover { color: var(--fx-pearl); }
.fx-crumb::before { content: ""; width: 6px; height: 6px; background: var(--fx-emerald); transform: rotate(45deg); }

/* Body copy with an aside */
.fx-body { gap: 56px !important; }
.fx-body__main > * { max-width: 46em; }
.fx-body__main > .fx-grid, .fx-body__main > .fx-steps, .fx-body__main > .fx-notes { max-width: none; }
.fx-body__main h2 { margin-top: 48px !important; margin-bottom: 16px !important; font-size: clamp(1.625rem, 1.2rem + 1.2vw, 2rem); }
.fx-body__main h2:first-child { margin-top: 0 !important; }
.fx-body__main h3 { margin-top: 32px !important; margin-bottom: 10px !important; }
.fx-body__main p { color: var(--fx-ink); }
.fx-list { list-style: none; padding-left: 0 !important; margin-left: 0; }
.fx-list li { position: relative; padding-left: 24px; margin: 0 0 10px; }
.fx-list li::before { position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; }
.fx-aside { position: sticky; top: 24px; background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: var(--fx-radius); padding: 26px; }
.fx-aside > * + * { margin-top: 12px !important; }
.fx-aside h3 { margin: 0; font-size: 1.375rem; }
.fx-aside p { margin: 0; color: var(--fx-ink-2); font-size: .9375rem; }
.fx-aside .fx-aside__contact { font-size: .9375rem; color: var(--fx-ink); }
.fx-aside .fx-aside__contact a { color: var(--fx-deep); }
@media (max-width: 781px) { .fx-body { gap: 32px !important; } .fx-aside { position: static; } }

/* Region cards on the tax page */
.fx-region h3 { margin: 0 0 10px !important; }
.fx-region .fx-list li { font-size: .97rem; color: var(--fx-ink-2); }

/* Offices */
.fx-office { background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: var(--fx-radius); padding: 20px 22px; }
.fx-office p { margin: 0; font-size: .9375rem; color: var(--fx-ink-2); }
.fx-office p strong { display: block; color: var(--fx-deep); margin-bottom: 4px; }

/* Insights list */
.fx-posts .wp-block-post { border-top: 1px solid var(--fx-line); padding: 28px 0; margin: 0 !important; }
.fx-posts .wp-block-post:last-child { border-bottom: 1px solid var(--fx-line); }
.fx-posts .wp-block-post-title { font-size: clamp(1.375rem, 1.1rem + .8vw, 1.75rem); margin: 6px 0 10px; }
.fx-posts .wp-block-post-title a { color: var(--fx-deep); text-decoration: none; }
.fx-posts .wp-block-post-title a:hover { color: var(--fx-emerald-dark); }
.fx-posts .wp-block-post-date { font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fx-emerald-dark); font-weight: 600; }
.fx-posts .wp-block-post-excerpt__excerpt { color: var(--fx-ink-2); margin: 0; }
.fx-article .wp-block-post-content > p:first-child { font-size: var(--wp--preset--font-size--large); }
.fx-article-meta { color: var(--fx-mint); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; margin-top: 18px !important; }

/* Contact page and form -------------------------------------------------------- */
.fx-contact { gap: 56px !important; }
.fx-form { background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: 18px; padding: clamp(22px, 3vw, 34px); }
.fx-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.fx-field { margin: 0 0 18px; display: block; border: 0; padding: 0; min-width: 0; }
.fx-field label, .fx-field legend { display: block; font-weight: 600; font-size: .9375rem; color: var(--fx-deep); margin-bottom: 7px; padding: 0; }
.fx-req { font-weight: 400; color: var(--fx-ink-2); font-size: .8125rem; }
.fx-form input[type=text], .fx-form input[type=email], .fx-form input[type=tel], .fx-form select, .fx-form textarea { width: 100%; font: inherit; font-size: 1rem; color: var(--fx-ink); background: var(--fx-paper); border: 1px solid #CFCABB; border-radius: 10px; padding: 12px 14px; transition: border-color .15s ease, box-shadow .15s ease; }
.fx-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--fx-ink-2) 50%), linear-gradient(135deg, var(--fx-ink-2) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 15px) 52%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }
.fx-form input:focus, .fx-form select:focus, .fx-form textarea:focus { outline: none; border-color: var(--fx-emerald); box-shadow: 0 0 0 3px rgba(34,165,116,.18); background: #fff; }
.fx-form textarea { resize: vertical; min-height: 140px; }
.fx-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.fx-check { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 400 !important; font-size: .9375rem !important; color: var(--fx-ink) !important; cursor: pointer; margin: 0 !important; }
.fx-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--fx-emerald-dark); flex: none; }
.fx-form__countries.is-invalid .fx-checks { outline: 2px solid #C0392B; outline-offset: 6px; border-radius: 4px; }
.fx-form__hint { display: block; font-size: .8125rem; color: var(--fx-ink-2); margin-top: 6px; }
.fx-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 8px 0 0; }
.fx-form__submit .fx-form__hint { margin: 0; }
.fx-form__alert { background: #FDF1EF; border: 1px solid #F0C5BE; color: #8A2A1D; border-radius: 10px; padding: 12px 14px; margin: 0 0 18px; font-size: .9375rem; }
.fx-form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.fx-consent { font-size: .9375rem; }
@media (max-width: 680px) { .fx-form__row { grid-template-columns: 1fr; } .fx-checks { grid-template-columns: 1fr 1fr; } }

/* Footer ------------------------------------------------------------------ */
.fx-footer { background: var(--fx-deep-3); color: rgba(243,240,230,.74); font-size: .90625rem; padding-top: 64px; padding-bottom: 36px; }
.fx-footer__cols { gap: 36px !important; }
.fx-footer img { height: 44px; width: auto; margin-bottom: 16px; }
.fx-footer h2 { font-family: var(--fx-sans); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fx-mint); margin: 0 0 14px; font-weight: 600; }
.fx-footer ul { list-style: none; margin: 0; padding: 0; }
.fx-footer li { margin: 0 0 9px; }
.fx-footer a { color: rgba(243,240,230,.86); text-decoration: none; }
.fx-footer a:hover { color: #fff; text-decoration: underline; }
.fx-footer p { margin: 0; }
.fx-legal { border-top: 1px solid rgba(243,240,230,.12); margin-top: 44px !important; padding-top: 22px; display: flex; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; font-size: .8125rem; color: rgba(243,240,230,.55); }
.fx-legal a { color: rgba(243,240,230,.7); }

/* Mobile contact bar */
.fx-sticky { display: none; }
@media (max-width: 760px) {
	.fx-sticky { display: flex; position: fixed; left: 12px; right: 12px; bottom: 12px; gap: 10px; z-index: 50; }
	.fx-sticky__btn { flex: 1; display: inline-flex; justify-content: center; align-items: center; min-height: 48px; border-radius: 999px; font-weight: 600; text-decoration: none; background: var(--fx-deep); color: var(--fx-pearl); box-shadow: 0 10px 24px rgba(7,31,23,.28); }
	.fx-sticky__btn--primary { background: var(--fx-emerald); color: var(--fx-deep-3); }
	body.has-fx-sticky .fx-footer { padding-bottom: 96px; }
}

/* Editor niceties */
.editor-styles-wrapper .fx-svc__item h3 a::after { display: none; }

/* Layout resets for full-width sections */
body .wp-site-blocks > * { margin-block-start: 0; }
body .fx-main { margin-block-start: 0; }
body .fx-page-content > * { margin-block-start: 0; }
body .fx-main > * { margin-block-start: 0; }
body .fx-section > * + *, body .fx-pagehead > * + *, body .fx-hero > * + *, body .fx-cta > * + *, body .fx-strip > * + * { margin-block-start: 0; }
body .fx-article .wp-block-post-content > * + * { margin-block-start: 1.1em; }
body .fx-pagehead .wp-block-buttons { margin-top: 30px; }

/* Spacing between groups inside sections */
.is-layout-constrained > .fx-all { max-width: var(--wp--style--global--wide-size) !important; }
body .fx-about-intro { margin-bottom: 56px !important; }
body .fx-about-intro p { color: var(--fx-ink); max-width: 46em; }
body .fx-about-how, body .fx-block-title { margin-bottom: 28px !important; }
body .fx-about-how h2, body .fx-block-title h2 { margin: 0; }
body .fx-svc-note, body .fx-after-grid { margin-top: 28px !important; }
body .fx-svc-note p, body .fx-after-grid p { margin: 0; max-width: 52em; }
body .fx-narrow > * + * { margin-top: 1.25rem !important; }
body .fx-narrow > * { max-width: 46em; }
body .fx-narrow .wp-block-buttons { margin-top: 28px !important; }
.fx-contact__side h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem); margin-top: 0; }
.fx-contact__side h3 { margin-top: 28px; }
.fx-list--offices li { font-size: .9375rem; color: var(--fx-ink-2); }
.fx-list--offices strong { color: var(--fx-deep); }

/* People: compact cards until photos arrive */
.fx-people:not(.fx-people--bios) .fx-person { background: var(--fx-white); border: 1px solid var(--fx-line); border-radius: var(--fx-radius); padding: 22px; }
.fx-person__ph { width: 64px; height: 64px; aspect-ratio: auto !important; border-radius: 50% !important; align-items: center !important; justify-content: center; padding: 0 !important; font-size: 1.375rem !important; letter-spacing: .02em; }
.fx-people:not(.fx-people--bios) .fx-person__ph { margin-bottom: 16px !important; }
.fx-people:not(.fx-people--bios) .fx-person__role { margin-top: 2px !important; }
.fx-people--bios .fx-person { grid-template-columns: 72px 1fr; }
.fx-people--bios .fx-person__ph { width: 72px; height: 72px; font-size: 1.5rem !important; }
.fx-people--bios .fx-person__role { margin-top: 2px !important; }
@media (max-width: 600px) { .fx-people--bios .fx-person { grid-template-columns: 56px 1fr; } .fx-people--bios .fx-person__ph { width: 56px; height: 56px; font-size: 1.125rem !important; } }

/* Keep the breadcrumb aligned with the heading in narrow page heads */
body .fx-crumb { margin-top: 0 !important; margin-bottom: 16px !important; }
body .fx-pagehead > .fx-crumb { margin-left: auto !important; margin-right: auto !important; }

/* Cookie choice */
.fx-consent-bar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 760px; margin: 0 auto; background: var(--fx-deep); color: var(--fx-pearl); border-radius: 14px; padding: 18px 20px; box-shadow: 0 18px 40px rgba(7,31,23,.35); display: flex; gap: 14px 18px; align-items: center; flex-wrap: wrap; }
.fx-consent-bar[hidden] { display: none; }
.fx-consent-bar p { margin: 0; flex: 1 1 320px; font-size: .9375rem; color: rgba(243,240,230,.88); }
.fx-consent-bar a { color: var(--fx-mint); }
.fx-consent-bar__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.fx-consent-bar .fx-button { padding: 11px 20px; font-size: .9375rem; }
.fx-button--line { background: transparent; color: var(--fx-pearl); border: 1.5px solid rgba(243,240,230,.45); }
.fx-button--line:hover { background: rgba(243,240,230,.08); color: #fff; }
@media (max-width: 760px) { body.has-fx-sticky .fx-consent-bar { bottom: 76px; } }
