/*
Theme Name: MGC
Author: MyGlobalCFO
Description: Lightweight custom hybrid WordPress theme using native Gutenberg for editable page content.
Version: 0.1.122
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mgc
*/

:root {
	--mgc-color-primary: #153160;
	--mgc-color-primary-hover: #0f274d;
	--mgc-color-foreground: #153959;
	--mgc-color-brand: #1e3448;
	--mgc-color-background: #f6f7f5;
	--mgc-color-card: #fbfcfa;
	--mgc-color-surface-subtle: #eff1ee;
	--mgc-color-muted: #ecedea;
	--mgc-color-border: #e5eaf0;
	--mgc-color-muted-foreground: #5e6b77;
	--mgc-color-white: #ffffff;

	--mgc-font-display: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--mgc-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	--mgc-font-size-small: 0.875rem;
	--mgc-font-size-body: 1rem;
	--mgc-font-size-reading: 1rem;
	--mgc-line-height-reading: 1.7;
	--mgc-font-size-large: 1.125rem;
	--mgc-font-size-page-title: clamp(2.5rem, 2rem + 1.4vw, 3.25rem);
	--mgc-font-size-reading-heading: clamp(1.625rem, 1.4rem + 0.75vw, 2.125rem);
	--mgc-font-size-h1: var(--mgc-font-size-page-title);
	--mgc-font-size-h2: clamp(2rem, 1.75rem + 1.1vw, 2.5rem);
	--mgc-font-size-h3: clamp(1.5rem, 1.4rem + 0.5vw, 1.75rem);

	--mgc-container-wide: 1280px;
	--mgc-container-reading: 760px;
	--mgc-gutter: 24px;

	--mgc-radius-sm: 6px;
	--mgc-radius-md: 8px;
	--mgc-radius-lg: 12px;
	--mgc-radius-card: 16px;
	--mgc-radius-pill: 9999px;

	--mgc-space-4: 4px;
	--mgc-space-8: 8px;
	--mgc-space-12: 12px;
	--mgc-space-16: 16px;
	--mgc-space-24: 24px;
	--mgc-space-32: 32px;
	--mgc-space-40: 40px;
	--mgc-space-48: 48px;
	--mgc-space-64: 64px;
	--mgc-space-80: 80px;
	--mgc-space-96: 96px;
	--mgc-header-height: 5.75rem;
}

@media (min-width: 1024px) {
	:root {
		--mgc-gutter: 40px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: var(--mgc-header-height);
}

body {
	margin: 0;
	background-color: var(--mgc-color-background);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-body);
	font-weight: 400;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
video,
iframe {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.2;
	text-wrap: balance;
}

h1 {
	font-size: var(--mgc-font-size-h1);
	line-height: 1.15;
}

h2 {
	font-size: var(--mgc-font-size-h2);
}

h3 {
	font-size: var(--mgc-font-size-h3);
}

h4 {
	font-size: 1.25rem;
}

h5,
h6 {
	font-size: var(--mgc-font-size-large);
}

p {
	margin-block: 0 1em;
}

.has-large-font-size {
	font-size: var(--mgc-font-size-large);
	line-height: 1.7;
}

.has-small-font-size {
	font-size: var(--mgc-font-size-small);
}

a {
	color: var(--mgc-color-primary);
}

a:hover {
	color: var(--mgc-color-primary-hover);
}

p a,
li a,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

:focus-visible {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
}

.skip-link {
	position: absolute;
	left: var(--mgc-space-16);
	top: -100%;
	z-index: 100;
	padding: var(--mgc-space-8) var(--mgc-space-16);
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
	border-radius: var(--mgc-radius-pill);
	text-decoration: none;
}

.skip-link:focus {
	top: var(--mgc-space-16);
	color: var(--mgc-color-white);
}

.site-title a,
.skip-link,
.button,
.button-outline,
.header-cta a,
.wp-element-button,
.wp-block-button__link {
	text-decoration: none;
}

.button,
.header-cta a,
.wp-element-button,
.wp-block-button__link,
input[type="submit"],
input[type="button"],
input[type="reset"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mgc-space-8);
	min-height: 2.75rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid transparent;
	border-radius: var(--mgc-radius-pill);
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
	box-shadow: none;
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-body);
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.button:hover,
.header-cta a:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
	background-color: var(--mgc-color-primary-hover);
	color: var(--mgc-color-white);
}

.button:focus-visible,
.header-cta a:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 3px;
}

.button:disabled,
.wp-element-button:disabled,
.wp-block-button__link:disabled,
input:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.button-outline,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):not(.has-text-color) {
	background-color: var(--mgc-color-card);
	border-color: var(--mgc-color-primary);
	color: var(--mgc-color-primary);
	box-shadow: none;
}

.button-outline:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):not(.has-text-color):hover {
	background-color: var(--mgc-color-surface-subtle);
	border-color: var(--mgc-color-primary);
	color: var(--mgc-color-primary-hover);
}

label {
	display: inline-block;
	margin-bottom: var(--mgc-space-8);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
select,
textarea {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	padding: var(--mgc-space-8) var(--mgc-space-12);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-md);
	background-color: var(--mgc-color-white);
	color: var(--mgc-color-foreground);
	box-shadow: none;
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-body);
	line-height: 1.5;
}

textarea {
	min-height: 8rem;
	padding-block: var(--mgc-space-12);
	resize: vertical;
}

input::placeholder,
textarea::placeholder {
	color: var(--mgc-color-muted-foreground);
	opacity: 1;
}

input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="url"]:focus-visible,
input[type="password"]:focus-visible,
input[type="search"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="number"]:focus-visible,
input[type="date"]:focus-visible,
input[type="datetime-local"]:focus-visible,
select:focus-visible,
textarea:focus-visible {
	border-color: var(--mgc-color-primary);
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 0;
}

input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--mgc-color-primary);
}

.site-container {
	width: 100%;
	max-width: var(--mgc-container-wide);
	margin-inline: auto;
	padding-inline: var(--mgc-gutter);
}

/*
 * Project content column.
 * Full-width constrained sections share --mgc-container-wide so headings,
 * paragraphs and cards start on the same left edge. FAQ and final CTAs keep
 * the reading measure. Beats per-block Gutenberg contentSize (1100px, etc.).
 */
.entry-content > .wp-block-group.alignfull.is-layout-constrained:not(.fx-faq):not(.fx-final-cta):not(.home-final-cta):not(.pc-cta):not(.pc-legal):not(.faq-section):not(.faq-category-nav):not(.legal-section):not(.legal-entities):not(.complaints-routing) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.editor-styles-wrapper .wp-block-group.alignfull.is-layout-constrained:not(.fx-faq):not(.fx-final-cta):not(.home-final-cta):not(.pc-cta):not(.pc-legal):not(.faq-section):not(.faq-category-nav):not(.legal-section):not(.legal-entities):not(.complaints-routing) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: min(100%, var(--mgc-container-wide));
	width: 100%;
}

.reading-width {
	width: 100%;
	max-width: var(--mgc-container-reading);
	margin-inline: auto;
}

.mgc-surface {
	background-color: var(--mgc-color-card);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background-color: color-mix(in srgb, var(--mgc-color-background) 80%, transparent);
	border-bottom: 1px solid var(--mgc-color-border);
	backdrop-filter: blur(12px);
}

.admin-bar .site-header {
	top: 32px;
}

.site-header-inner {
	display: flex;
	align-items: center;
	min-height: var(--mgc-header-height);
	gap: var(--mgc-space-16);
}

.site-branding {
	flex: 1 1 auto;
	min-width: 0;
}

.site-branding .custom-logo-link,
.site-footer-brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	max-width: 16rem;
	padding: 0;
	background: transparent;
	line-height: 0;
}

.site-branding .custom-logo,
.site-footer-brand .custom-logo {
	display: block;
	width: auto;
	height: 5.25rem;
	max-width: 100%;
	max-height: 5.25rem;
	object-fit: contain;
	object-position: left center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.site-title {
	margin: 0;
	font-family: var(--mgc-font-display);
	font-size: var(--mgc-font-size-large);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.site-title a {
	color: var(--mgc-color-foreground);
}

.site-header a,
.site-footer a {
	text-decoration: none;
}

.site-header ul,
.site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header-actions {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	gap: var(--mgc-space-16);
}

.primary-navigation--desktop,
.header-cta--desktop {
	display: none;
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: var(--mgc-space-8);
	border: 0;
	border-radius: var(--mgc-radius-pill);
	background: transparent;
	color: var(--mgc-color-foreground);
	cursor: pointer;
}

.menu-toggle:hover {
	background-color: color-mix(in srgb, var(--mgc-color-foreground) 8%, transparent);
}

.menu-toggle svg {
	display: block;
}

.menu-toggle-icon--close {
	display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon--open {
	display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon--close {
	display: block;
}

.primary-navigation .menu,
.mobile-nav-primary .menu {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-8);
}

.primary-navigation a,
.mobile-nav-primary a {
	display: inline-flex;
	align-items: center;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
	line-height: 1.4;
}

.primary-navigation a:hover,
.mobile-nav-primary a:hover {
	color: var(--mgc-color-primary);
}

.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a,
.mobile-nav-primary .current-menu-item > a,
.mobile-nav-primary .current-menu-ancestor > a {
	color: var(--mgc-color-primary);
}

.primary-navigation .sub-menu,
.mobile-nav-primary .sub-menu {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-8);
	padding-block: var(--mgc-space-8);
	padding-inline-start: var(--mgc-space-16);
}

.mobile-nav {
	padding-block: var(--mgc-space-16) var(--mgc-space-24);
	border-top: 1px solid var(--mgc-color-border);
}

.mobile-nav .site-container {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-24);
}

.header-cta .menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mgc-space-8);
}

.header-cta--mobile a {
	width: 100%;
}

.site-header.has-enhanced-nav .menu-toggle {
	display: inline-flex;
}

html.has-mobile-nav-open {
	overflow: hidden;
}

.site-header.has-enhanced-nav.is-nav-open .mobile-nav {
	position: absolute;
	inset: 100% 0 auto 0;
	z-index: 20;
	max-height: calc(100dvh - var(--mgc-header-height));
	overflow-y: auto;
	background-color: var(--mgc-color-background);
	border-bottom: 1px solid var(--mgc-color-border);
}

.admin-bar .site-header.has-enhanced-nav.is-nav-open .mobile-nav {
	max-height: calc(100dvh - var(--mgc-header-height) - 32px);
}

.site-footer {
	margin-top: var(--mgc-space-64);
	padding-top: var(--mgc-space-40);
	background-color: var(--mgc-color-surface-subtle);
	border-top: 1px solid var(--mgc-color-border);
	color: var(--mgc-color-foreground);
}

.site-footer-main {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-40);
	padding-block: var(--mgc-space-40);
}

.site-footer-brand {
	display: flex;
	max-width: 20rem;
	flex-direction: column;
	gap: var(--mgc-space-12);
}

.site-tagline {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.7;
}

.site-footer-menus {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mgc-space-32);
}

.footer-menu {
	flex: 1 1 9rem;
}

.footer-menu-title {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-small);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.5;
}

.footer-menu-list {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-8);
}

.footer-menu a {
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
}

.footer-menu a:hover {
	color: var(--mgc-color-foreground);
}

.footer-menu .sub-menu {
	padding-inline-start: var(--mgc-space-12);
	margin-top: var(--mgc-space-8);
}

.site-footer-fineprint {
	padding-bottom: var(--mgc-space-40);
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
}

.site-footer-fineprint p {
	margin: 0;
}

.site-footer-fineprint .site-footer-entities {
	max-width: 42rem;
	margin-top: 0.75rem;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.5;
}

.site-footer-entities span {
	display: block;
	overflow-wrap: break-word;
}

.site-footer-entities span + span {
	margin-top: 0.2rem;
}

@media (min-width: 640px) {
	.site-footer-menus {
		gap: var(--mgc-space-32) var(--mgc-space-24);
	}
}

@media (min-width: 1024px) {
	.primary-navigation--desktop {
		display: flex;
		justify-content: center;
	}

	.header-cta--desktop {
		display: block;
	}

	.site-header.has-enhanced-nav .menu-toggle,
	.mobile-nav {
		display: none;
	}

	.primary-navigation .menu {
		flex-direction: row;
		align-items: stretch;
		gap: var(--mgc-space-32);
	}

	.primary-navigation .menu > li {
		position: relative;
	}

	.primary-navigation .menu > li > a {
		min-height: var(--mgc-header-height);
	}

	.primary-navigation .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 30;
		display: none;
		min-width: 12rem;
		padding: var(--mgc-space-16);
		background-color: var(--mgc-color-card);
		border: 1px solid var(--mgc-color-border);
		border-radius: var(--mgc-radius-lg);
		box-shadow: none;
	}

	.primary-navigation .menu > .menu-item-has-children:hover > .sub-menu,
	.primary-navigation .menu > .menu-item-has-children:focus-within > .sub-menu {
		display: flex;
		flex-direction: column;
		gap: var(--mgc-space-8);
	}

	.primary-navigation .menu > .menu-item-has-children:has(> .sub-menu > .menu-item-has-children):hover > .sub-menu,
	.primary-navigation .menu > .menu-item-has-children:has(> .sub-menu > .menu-item-has-children):focus-within > .sub-menu {
		flex-direction: row;
		align-items: flex-start;
		gap: var(--mgc-space-32);
		min-width: 0;
	}

	.primary-navigation .sub-menu .sub-menu {
		position: static;
		display: flex;
		flex-direction: column;
		gap: var(--mgc-space-8);
		min-width: 10rem;
		margin: var(--mgc-space-8) 0 0;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	.primary-navigation .sub-menu > .menu-item-has-children > a {
		font-weight: 600;
		color: var(--mgc-color-foreground);
	}

	.primary-navigation .sub-menu a {
		min-height: auto;
		padding-block: var(--mgc-space-4);
		color: var(--mgc-color-muted-foreground);
		white-space: nowrap;
	}

	.primary-navigation .sub-menu a:hover,
	.primary-navigation .sub-menu .current-menu-item > a {
		color: var(--mgc-color-primary);
	}

	.site-footer-main {
		flex-direction: row;
		justify-content: space-between;
		gap: var(--mgc-space-48);
	}

	.site-footer-menus {
		flex: 1 1 auto;
		justify-content: flex-end;
		gap: var(--mgc-space-24) var(--mgc-space-40);
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.site-header.has-enhanced-nav.is-nav-open .mobile-nav {
		max-height: calc(100dvh - var(--mgc-header-height) - 46px);
	}
}

.error404 .site-footer {
	margin-top: 0;
}

.error-404-main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: var(--mgc-space-64) var(--mgc-space-48);
}

.error-404-main > .site-container {
	min-width: 0;
	width: 100%;
}

.error-404-inner {
	text-align: center;
}

.error-404-title {
	margin-bottom: var(--mgc-space-16);
	font-size: clamp(2rem, 1.5rem + 2.4vw, 3.25rem);
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.error-404-copy {
	max-width: 22em;
	margin-inline: auto;
	margin-bottom: 0;
}

.error-404-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--mgc-space-16) var(--mgc-space-24);
	margin-top: var(--mgc-space-32);
}

@media (max-width: 639px) {
	.error-404-title {
		font-size: clamp(1.375rem, 5vw, 1.75rem);
	}

	.error-404-copy {
		max-width: 16rem;
		font-size: var(--mgc-font-size-body);
	}

	.error-404-actions {
		flex-direction: column;
	}
}

@media (min-width: 768px) {
	.error404 {
		display: flex;
		flex-direction: column;
		min-height: 100dvh;
	}

	.error404 .error-404-main {
		flex: 1 1 auto;
		padding-block: var(--mgc-space-80);
	}
}

.home .site-footer {
	margin-top: 0;
}

.home .entry-content > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.home .site-main {
	overflow-x: clip;
}

.home-hero,
.home-trust,
.home-services,
.home-journey,
.home-why,
.home-reviews,
.home-team,
.home-community,
.home-final-cta {
	padding-block: var(--mgc-space-64);
	padding-inline: var(--mgc-gutter);
}

.home-hero {
	position: relative;
	padding-block: var(--mgc-space-48) var(--mgc-space-64);
}

.home-hero-kicker {
	margin-bottom: var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-hero h1 {
	max-width: 14.25em;
	margin-bottom: 0.35em;
	font-size: var(--mgc-font-size-page-title);
	letter-spacing: -0.03em;
	line-height: 1.12;
	text-wrap: wrap;
	overflow-wrap: normal;
}

.home-hero > .wp-block-columns,
.home-hero .home-hero-grid {
	position: relative;
	z-index: 1;
	align-items: center;
}

.home-hero .home-hero-grid > .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home-hero .home-hero-grid > .wp-block-column > p {
	max-width: 36rem;
}

.home-hero .home-hero-actions.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mgc-space-16) var(--mgc-space-24);
	margin-top: var(--mgc-space-8);
}

.home-hero .wp-block-buttons {
	margin: 0;
}

.home-hero-secondary {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	margin: 0;
}

.home-hero-secondary a {
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.home-hero-secondary a:hover {
	color: var(--mgc-color-primary-hover);
}

.home-hero-visual {
	width: 100%;
	padding: 1.75rem 1.5rem;
	background-color: var(--mgc-color-white);
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 8%, var(--mgc-color-border));
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 18px 40px rgba(21, 49, 96, 0.05);
}

.home-hero-visual.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.home-hero-visual:empty {
	display: none;
}

.home-hero-grid:has(.home-hero-visual:empty) {
	display: block;
}

.home-hero-grid:has(.home-hero-visual:empty) > .wp-block-column {
	width: 100%;
	flex-basis: 100% !important;
}

.home-hero-node,
.home-hero-node.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mgc-space-16);
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 1.15rem 1.25rem;
	min-height: 6.25rem;
	background-color: var(--mgc-color-primary);
	border: 1px solid var(--mgc-color-primary-hover);
	border-radius: var(--mgc-radius-card);
	box-shadow: none;
}

.home-hero-node--destination,
.home-hero-node--destination.is-layout-flex {
	min-height: 6.25rem;
	background-color: var(--mgc-color-surface-subtle);
	border-color: color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	box-shadow: none;
}

.home-hero-visual .home-hero-flag.wp-block-image,
.home-hero-visual .home-hero-flag {
	flex: 0 0 auto;
	width: auto;
	min-width: 4.75rem;
	margin: 0;
}

.home-hero-visual .home-hero-flag img {
	display: block;
	width: 4.75rem;
	height: 4.75rem;
	object-fit: cover;
	object-position: 12% 50%;
	border-radius: 50%;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--mgc-color-white) 82%, transparent);
}

.home-hero-node--destination .home-hero-flag img {
	width: 4.75rem;
	height: 4.75rem;
	object-position: 22% 50%;
	box-shadow: 0 0 0 2px var(--mgc-color-white), 0 0 0 3px color-mix(in srgb, var(--mgc-color-primary) 16%, transparent);
}

.home-hero-node-copy,
.home-hero-node-copy.is-layout-flex {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.15rem;
	min-width: 0;
}

.home-hero-node p,
.home-hero-node-copy p {
	margin: 0;
}

.home-hero-node-kicker {
	color: color-mix(in srgb, var(--mgc-color-white) 78%, transparent);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.home-hero-node-label {
	color: var(--mgc-color-white);
	font-family: var(--mgc-font-display);
	font-size: 1.3125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.home-hero-node--destination .home-hero-node-kicker {
	color: color-mix(in srgb, var(--mgc-color-primary) 42%, var(--mgc-color-muted-foreground));
}

.home-hero-node--destination .home-hero-node-label {
	color: var(--mgc-color-primary);
	font-size: 1.3125rem;
}

.home-hero-visual > .wp-block-image {
	display: flex;
	justify-content: center;
	width: 2.75rem;
	margin-block: 1.125rem !important;
	margin-inline: auto !important;
	line-height: 0;
}

.home-hero-visual > .wp-block-image img {
	display: block;
	width: 2.75rem;
	height: 2.75rem;
}

.home-hero-connector,
.home-hero-connector.is-layout-flex {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--mgc-space-8);
	margin: 0;
	padding-block: var(--mgc-space-12);
}

.home-hero-connector-label {
	margin: 0;
	color: var(--mgc-color-primary);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.home-hero-visual .home-hero-connector-line.wp-block-separator {
	width: 2px;
	max-width: 2px;
	height: 1.15rem;
	margin: 0 auto;
	background-color: var(--mgc-color-primary);
	border: 0;
	opacity: 1;
}

.home-hero-connector::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 8px solid var(--mgc-color-primary);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
}

@media (max-width: 781px) {
	.home-hero .home-hero-grid {
		flex-wrap: wrap;
	}

	.home-hero .home-hero-grid > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.home-hero-visual {
		max-width: 26rem;
		margin-block-start: var(--mgc-space-16);
		padding: var(--mgc-space-24) var(--mgc-space-16);
	}

	.home-hero-node,
	.home-hero-node.is-layout-flex,
	.home-hero-node--destination,
	.home-hero-node--destination.is-layout-flex {
		min-height: 5.25rem;
		padding: 0.9rem 1rem;
	}

	.home-hero-visual .home-hero-flag img,
	.home-hero-node--destination .home-hero-flag img {
		width: 3.75rem;
		height: 3.75rem;
	}

	.home-hero-visual > .wp-block-image,
	.home-hero-visual > .wp-block-image img {
		width: 2.25rem;
		height: 2.25rem;
	}
}

.home-trust {
	padding-block: 30px !important;
	background-color: var(--mgc-color-surface-subtle);
	border-block: 1px solid var(--mgc-color-border);
}

.home-trust-items {
	margin-block-start: 0;
}

.home-trust-item,
.home-trust-item.is-layout-constrained,
.home-trust-item.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 0 var(--mgc-space-8);
	text-align: center;
	background: transparent;
	border: 0;
}

.home-trust-item.is-layout-constrained > *,
.home-trust-item.is-layout-flow > * {
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

.home-trust-item .home-trust-icon.wp-block-image,
.home-trust-item .home-trust-icon {
	width: 32px;
	height: 32px;
	margin: 0 auto 12px;
}

.home-trust-item .home-trust-icon img {
	display: block;
	width: 32px;
	height: 32px;
}

.home-trust-icon:has(img[src*="file-badge"]) {
	background: url("assets/images/home-trust-users.svg") center / 32px 32px no-repeat;
}

.home-trust-icon:has(img[src*="file-badge"]) img {
	opacity: 0;
}

.home-trust-item h3 {
	margin: 0 0 8px;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.home-trust-item p {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.45;
}

.home-services > h2,
.home-journey > h2,
.home-why > h2,
.home-team > h2 {
	margin-bottom: var(--mgc-space-12);
}

.home-services > p,
.home-journey > p,
.home-team > p:not(.home-team-link) {
	margin-bottom: var(--mgc-space-32);
	color: var(--mgc-color-muted-foreground);
}

.home-services-country,
.home-services-country.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mgc-space-12);
	margin: 0 0 var(--mgc-space-16);
}

.home-services-country + .home-services-row {
	margin-top: 0;
}

.home-services-row + .home-services-country {
	margin-top: var(--mgc-space-40);
}

.home-services-flag.wp-block-image,
.home-services-flag {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.home-services-flag img {
	display: block;
	width: 2rem;
	height: 2rem;
	object-fit: cover;
	object-position: 12% 50%;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(21, 49, 96, 0.12);
}

.home-services-flag--au img {
	object-position: 22% 50%;
}

.home-services-label.wp-block-heading {
	margin: 0;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.home-card,
.home-team-card,
.home-review-card {
	height: 100%;
	padding: var(--mgc-space-24);
	background-color: var(--mgc-color-card);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
}

.home-service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--mgc-space-32) var(--mgc-space-24);
	background-color: var(--mgc-color-white);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.home-service-card:hover {
	border-color: color-mix(in srgb, var(--mgc-color-primary) 28%, var(--mgc-color-border));
	box-shadow: 0 10px 24px rgba(21, 49, 96, 0.06);
}

.home-service-card:has(h4 a:focus-visible) {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
}

.home-service-card.is-layout-constrained > *,
.home-team-card.is-layout-constrained > * {
	max-width: none;
	margin-inline: 0;
}

.home-card h4,
.home-team-card h3 {
	margin-bottom: var(--mgc-space-8);
}

.home-service-card h4 a {
	color: var(--mgc-color-primary);
	text-decoration: none;
}

body:not(.editor-styles-wrapper) .home-service-card h4 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: var(--mgc-radius-card);
}

.home-service-card:hover h4 a,
.home-service-card h4 a:hover {
	color: var(--mgc-color-primary-hover);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.home-service-card h4 a:focus-visible {
	outline: none;
}

.home-service-card p {
	color: var(--mgc-color-muted-foreground);
}

.home-card p:last-child,
.home-team-card p:last-child,
.home-review-card p:last-child {
	margin-bottom: 0;
}

@media (min-width: 782px) {
	.home-services-row > .wp-block-column {
		flex-grow: 1;
		flex-basis: 0;
		max-width: calc((100% - 2 * var(--wp--style--block-gap, 2em)) / 3);
	}
}

.home-journey {
	--home-journey-marker: 4.25rem;
	background-color: var(--mgc-color-surface-subtle);
	border-block: 1px solid var(--mgc-color-border);
}

.home-journey-corridor,
.home-journey-corridor.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mgc-space-8);
	margin: 0 0 var(--mgc-space-16);
}

.home-journey-corridor p {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.home-journey-corridor-arrow {
	color: var(--mgc-color-primary);
	letter-spacing: 0;
}

.home-journey > p {
	margin-bottom: var(--mgc-space-40);
}

.home-journey-track.wp-block-columns {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	margin: 0;
}

.home-journey-track.wp-block-columns > .wp-block-column {
	margin: 0;
}

.home-journey-stage {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	text-align: center;
}

.home-journey-stage > * {
	margin-inline: auto;
}

.home-journey-marker,
.home-journey-marker.is-layout-constrained,
.home-journey-marker.is-layout-flow,
.home-journey-marker.is-layout-flex {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--home-journey-marker);
	height: var(--home-journey-marker);
	margin: 0 auto var(--mgc-space-16);
	overflow: hidden;
	background-color: var(--mgc-color-white);
	border: 2px solid var(--mgc-color-primary);
	border-radius: 50%;
	box-shadow: none;
}

.home-journey-marker > * {
	max-width: none;
	margin: 0;
}

.home-journey-marker .home-journey-marker-image.wp-block-image,
.home-journey-marker .home-journey-marker-image {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	line-height: 0;
}

.home-journey-marker--flag img {
	display: block;
	width: 2.625rem;
	height: 2.625rem;
	object-fit: cover;
	object-position: 18% 50%;
	border-radius: 50%;
}

.home-journey-stage--move .home-journey-marker--flag img {
	object-position: 22% 50%;
}

.home-journey-marker--icon img {
	display: block;
	width: 2rem;
	height: 2rem;
	object-fit: contain;
}

.home-journey-stage h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-large);
}

.home-journey-stage > p {
	max-width: 18rem;
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
}

.home-journey-service {
	margin: 0;
	font-size: var(--mgc-font-size-small);
	font-weight: 600;
}

.home-journey-service a {
	color: var(--mgc-color-primary);
	text-decoration: none;
}

.home-journey-service a::after {
	content: " →";
}

.home-journey-service a:hover {
	color: var(--mgc-color-primary-hover);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.home-journey-connector {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 100%;
	min-height: 0;
	padding-block: var(--mgc-space-12);
}

.home-journey-connector .home-journey-arrow.wp-block-image,
.home-journey-connector .home-journey-arrow {
	flex: 0 0 auto;
	width: 2rem;
	margin: 0;
	line-height: 0;
	transform: rotate(90deg);
}

.home-journey-connector .home-journey-arrow img {
	display: block;
	width: 2rem;
	height: auto;
}

@media (max-width: 899px) {
	.home-journey {
		--home-journey-marker: 3.5rem;
	}

	.home-journey-track.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.home-journey-stage {
		position: relative;
		display: grid;
		grid-template-columns: var(--home-journey-marker) minmax(0, 1fr);
		column-gap: var(--mgc-space-16);
		row-gap: 0.2rem;
		align-items: start;
		text-align: left;
	}

	.home-journey-stage > * {
		grid-column: 2;
		max-width: none;
		margin-inline: 0;
		text-align: left;
	}

	.home-journey-stage > .home-journey-marker {
		grid-column: 1;
		grid-row: 1 / span 8;
		margin: 0;
	}

	.home-journey-stage h3,
	.home-journey-stage p,
	.home-journey-stage .has-text-align-center {
		text-align: left;
	}

	.home-journey-stage .wp-block-buttons {
		justify-content: flex-start;
		width: auto;
		margin-top: 0.15rem;
	}

	.home-journey-track > .home-journey-connector {
		display: none !important;
	}

	.home-journey-track > .home-journey-stage:has(+ .home-journey-connector) {
		padding-bottom: 1.85rem;
	}

	.home-journey-track > .home-journey-stage:has(+ .home-journey-connector)::before {
		content: "";
		position: absolute;
		left: calc(var(--home-journey-marker) / 2);
		z-index: 0;
		top: calc(var(--home-journey-marker) + 0.2rem);
		bottom: 0.12rem;
		width: 1.5px;
		background-color: var(--mgc-color-primary);
		transform: translateX(-50%);
		pointer-events: none;
	}

	.home-journey-track > .home-journey-stage:has(+ .home-journey-connector)::after {
		content: "";
		position: absolute;
		left: calc(var(--home-journey-marker) + var(--mgc-space-16));
		right: 0;
		bottom: 0.95rem;
		height: 1px;
		background-color: rgba(21, 49, 96, 0.16);
		pointer-events: none;
	}
}

@media (min-width: 900px) {
	.home-journey-track.wp-block-columns {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
	}

	.home-journey-track.wp-block-columns > .home-journey-stage {
		flex: 1 1 0;
		width: auto;
	}

	.home-journey-track.wp-block-columns > .home-journey-connector {
		flex: 0 0 4.75rem;
		flex-basis: 4.75rem !important;
		width: 4.75rem;
		align-self: flex-start;
		padding: calc((var(--home-journey-marker) - 1.5rem) / 2) 0 0;
	}

	.home-journey-connector .home-journey-arrow.wp-block-image,
	.home-journey-connector .home-journey-arrow {
		width: 2.75rem;
		transform: none;
	}

	.home-journey-connector .home-journey-arrow img {
		width: 2.75rem;
	}
}

.home-why-grid,
.home-why-grid.is-layout-flow,
.home-why-grid.is-layout-constrained {
	--home-why-pad-block: var(--mgc-space-24);
	--home-why-pad-inline: var(--mgc-space-20);
	--home-why-rule: color-mix(in srgb, var(--mgc-color-primary) 14%, transparent);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin-top: var(--mgc-space-8);
}

.home-why-grid > * {
	max-width: none;
	margin: 0;
}

.home-why-item,
.home-why-item.is-layout-constrained,
.home-why-item.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: none;
	padding: var(--home-why-pad-block) var(--home-why-pad-inline);
	text-align: center;
	background: transparent;
	border: 0;
}

.home-why-item:nth-child(-n + 2) {
	padding-top: 0;
}

.home-why-item:nth-child(n + 3) {
	padding-bottom: 0;
	border-top: 1px solid var(--home-why-rule);
}

.home-why-item:nth-child(odd) {
	padding-inline-start: 0;
	border-inline-end: 1px solid var(--home-why-rule);
}

.home-why-item:nth-child(even) {
	padding-inline-end: 0;
}

.home-why-item.is-layout-constrained > *,
.home-why-item.is-layout-flow > * {
	max-width: 20rem;
	margin-left: auto;
	margin-right: auto;
}

.home-why-item .home-why-icon.wp-block-image,
.home-why-item .home-why-icon {
	margin: 0 0 var(--mgc-space-16);
}

.home-why-item .home-why-icon img {
	display: block;
	width: 48px;
	height: 48px;
}

.home-why-item h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.1875rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.home-why-item p {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
}

@media (min-width: 782px) {
	.home-why-grid,
	.home-why-grid.is-layout-flow,
	.home-why-grid.is-layout-constrained {
		--home-why-pad-inline: var(--mgc-space-16);
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-why-item,
	.home-why-item.is-layout-constrained,
	.home-why-item.is-layout-flow,
	.home-why-item:nth-child(-n + 2),
	.home-why-item:nth-child(n + 3),
	.home-why-item:nth-child(odd),
	.home-why-item:nth-child(even) {
		min-width: 0;
		padding: 0 var(--home-why-pad-inline);
		border: 0;
	}

	.home-why-item:not(:last-child) {
		border-inline-end: 1px solid var(--home-why-rule);
	}

	.home-why-item:first-child {
		padding-inline-start: 0;
	}

	.home-why-item:last-child {
		padding-inline-end: 0;
	}

	.home-why-item .home-why-icon.wp-block-image,
	.home-why-item .home-why-icon {
		margin-bottom: var(--mgc-space-12);
	}

	.home-why-item .home-why-icon img {
		width: 32px;
		height: 32px;
	}
}

@media (max-width: 781px) {
	.home-why-grid,
	.home-why-grid.is-layout-flow,
	.home-why-grid.is-layout-constrained {
		--home-why-pad-block: var(--mgc-space-8);
		--home-why-pad-inline: var(--mgc-space-4);
		grid-template-columns: 1fr 1fr;
		row-gap: var(--mgc-space-32) !important;
		column-gap: var(--mgc-space-24) !important;
	}

	.home-why-item,
	.home-why-item.is-layout-constrained,
	.home-why-item.is-layout-flow,
	.home-why-item:nth-child(-n + 2),
	.home-why-item:nth-child(n + 3),
	.home-why-item:nth-child(odd),
	.home-why-item:nth-child(even) {
		padding: var(--home-why-pad-block) var(--home-why-pad-inline);
		border: 0;
	}

	.home-why-item .home-why-icon.wp-block-image,
	.home-why-item .home-why-icon {
		width: 2rem;
		height: 2rem;
		margin: 0 auto var(--mgc-space-16);
	}

	.home-why-item .home-why-icon img {
		width: 2rem !important;
		height: 2rem !important;
		max-width: 2rem;
	}

	.home-why-item h3 {
		font-size: 1rem;
	}

	.home-why-item p {
		font-size: 0.8125rem;
		line-height: 1.45;
	}
}

.home-reviews {
	background-color: var(--mgc-color-surface-subtle);
	border-block: 1px solid var(--mgc-color-border);
}

.home-reviews-header {
	gap: var(--mgc-space-12) var(--mgc-space-24);
	margin-bottom: var(--mgc-space-24);
}

.home-reviews-header.is-layout-flex {
	align-items: center;
}

.home-reviews-header h2 {
	margin-bottom: 0;
}

.home-reviews-summary {
	gap: var(--mgc-space-8) var(--mgc-space-16);
}

.home-reviews-summary .wp-block-html {
	margin: 0;
	line-height: 0;
}

.home-reviews-google {
	display: inline-flex;
	align-items: center;
	gap: var(--mgc-space-8);
}

.home-reviews-google-g {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}

.home-reviews-stars {
	display: block;
	width: 5.5rem;
	height: 1rem;
	flex-shrink: 0;
	color: #e8b923;
}

.home-reviews-score,
.home-reviews-link {
	margin: 0;
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
}

.home-reviews-score {
	color: var(--mgc-color-foreground);
}

.home-reviews-score strong {
	font-family: var(--mgc-font-display);
	font-size: var(--mgc-font-size-large);
	font-weight: 700;
	letter-spacing: -0.025em;
}

.home-reviews-link a {
	color: var(--mgc-color-primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.home-reviews-link a:hover {
	color: var(--mgc-color-primary-hover);
}

@media (max-width: 781px) {
	.home-reviews:has(.home-reviews-link),
	.fx-reviews:has(.home-reviews-link) {
		position: relative;
		padding-bottom: calc(var(--mgc-space-32) + 3.25rem);
	}

	.home-reviews .home-reviews-link,
	.fx-reviews .home-reviews-link {
		position: absolute;
		inset-inline: var(--mgc-gutter);
		bottom: var(--mgc-space-32);
		width: auto;
		margin: 0;
		text-align: right;
	}
}

.home-review-card {
	display: flex;
	flex-direction: column;
	gap: 0;
	text-align: left;
	background-color: var(--mgc-color-white);
}

.home-review-card.is-layout-constrained > * {
	max-width: none;
	margin-inline: 0 !important;
}

.home-review-card.is-layout-constrained > * + * {
	margin-block-start: 0;
}

.home-review-card p {
	margin-block: 0;
	text-align: left;
}

.home-review-card::before {
	content: "“";
	display: block;
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
}

.home-review-card .home-review-quote {
	margin-bottom: var(--mgc-space-8);
}

.home-review-card .home-review-name {
	margin-bottom: var(--mgc-space-4);
	font-family: var(--mgc-font-display);
	font-weight: 600;
	letter-spacing: -0.025em;
}

.home-review-card .home-review-location {
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
}

@media (max-width: 1023px) {
	.wp-block-columns.home-reviews-grid {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.home-reviews-grid > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 0;
	}

	.home-trust-items {
		flex-wrap: wrap;
	}

	.home-trust-items > .wp-block-column {
		flex-basis: calc(50% - 12px) !important;
		flex-grow: 0;
	}
}

@media (max-width: 767px) {
	.home-trust {
		padding-block: 4px 2px !important;
	}

	.home-trust-items {
		gap: 0;
	}

	.home-trust-items > .wp-block-column {
		flex-basis: 100% !important;
		min-width: 0 !important;
		max-width: 100%;
		margin: 0;
	}

	.home-trust-item,
	.home-trust-item.is-layout-constrained,
	.home-trust-item.is-layout-flow {
		display: grid;
		grid-template-columns: 1.25rem minmax(0, 1fr);
		column-gap: 0.65rem;
		row-gap: 0;
		align-items: center;
		min-width: 0;
		max-width: 100%;
		padding: 0.7rem 0;
		text-align: left;
	}

	.home-trust-items > .wp-block-column + .wp-block-column .home-trust-item {
		border-top: 1px solid var(--mgc-color-border);
	}

	.home-trust-item.is-layout-constrained > *,
	.home-trust-item.is-layout-flow > * {
		grid-column: 2;
		justify-self: stretch;
		width: auto;
		min-width: 0;
		max-width: none;
		margin-left: 0 !important;
		margin-right: 0 !important;
		text-align: left;
	}

	.home-trust-item > .home-trust-icon.wp-block-image,
	.home-trust-item > .home-trust-icon {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 6;
		align-self: center;
		width: 1.25rem;
		height: 1.25rem;
		margin: 0 !important;
	}

	.home-trust-item .home-trust-icon img {
		width: 1.25rem;
		height: 1.25rem;
	}

	.home-trust-icon:has(img[src*="file-badge"]) {
		background-size: 1.25rem 1.25rem;
	}

	.home-trust .home-trust-item h3.has-text-align-center,
	.home-trust .home-trust-item p.has-text-align-center,
	.home-trust .home-trust-item .wp-block-heading.has-text-align-center {
		text-align: left;
	}

	.home-trust .home-trust-item h3,
	.home-trust .home-trust-item .wp-block-heading {
		margin: 0 0 0.1rem;
		font-size: 0.8125rem;
		line-height: 1.3;
	}

	.home-trust .home-trust-item p {
		font-size: 0.75rem;
		line-height: 1.4;
	}

	.home-trust .home-trust-item p + p {
		margin-top: 0.05rem;
		color: var(--mgc-color-foreground);
		font-weight: 500;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.wp-block-columns.home-trust-items {
		flex-wrap: nowrap !important;
	}

	.wp-block-columns.home-trust-items:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
}

.home-team {
	container-name: home-team;
	container-type: inline-size;
}

/*
 * Keep the normal content width. At 73rem, eight 8.25rem cards plus
 * seven 1rem gaps fit the current first names at the 28px heading size
 * with 12px text insets. Use two rows of four below that, then scroll
 * below 40rem, before four cards would squeeze the names.
 */
.home-team.is-layout-constrained > :where(h2, .wp-block-heading, .home-team-grid, p) {
	max-width: min(100%, var(--mgc-container-wide)) !important;
}

.home-team .wp-block-columns.home-team-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--mgc-space-16);
}

.home-team .home-team-grid > .wp-block-column {
	min-width: 0;
	margin: 0;
}

.home-team-card {
	width: 100%;
	max-width: 13.5rem;
	margin-inline: auto;
	text-align: center;
	overflow: hidden;
	padding: 0 0 var(--mgc-space-24);
	background-color: var(--mgc-color-white);
}

@container home-team (min-width: 73rem) {
	.home-team .wp-block-columns.home-team-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.home-team .home-team-card {
		max-width: none;
	}
}

@container home-team (width < 40rem) {
	.home-team .wp-block-columns.home-team-grid {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: stretch;
		box-sizing: border-box;
		width: calc(100% + (2 * var(--mgc-gutter))) !important;
		max-width: none !important;
		margin-inline: calc(var(--mgc-gutter) * -1) !important;
		padding: 2px var(--mgc-gutter) var(--mgc-space-4);
		gap: var(--mgc-space-16);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--mgc-gutter);
		scrollbar-width: none;
	}

	.home-team .wp-block-columns.home-team-grid::-webkit-scrollbar {
		display: none;
	}

	.home-team .wp-block-columns.home-team-grid:focus-visible {
		outline: 2px solid var(--mgc-color-primary);
		outline-offset: -2px;
	}

	.home-team .wp-block-columns.home-team-grid > .wp-block-column {
		width: auto;
		max-width: none;
		min-width: 0 !important;
		margin: 0 !important;
		scroll-snap-align: start;
		flex: 0 0 min(11rem, 58%) !important;
		flex-basis: min(11rem, 58%) !important;
	}

	.home-team .home-team-card {
		width: 100%;
		max-width: none;
		margin-inline: 0;
	}
}

@media (max-width: 781px) {
	.home-reviews .wp-block-columns.home-reviews-grid,
	.fx-reviews .wp-block-columns.home-reviews-grid {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: stretch;
		box-sizing: border-box;
		width: calc(100% + (2 * var(--mgc-gutter))) !important;
		max-width: none !important;
		margin-inline: calc(var(--mgc-gutter) * -1) !important;
		padding: 2px var(--mgc-gutter) var(--mgc-space-4);
		gap: var(--mgc-space-16);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--mgc-gutter);
		scrollbar-width: none;
	}

	.home-reviews .wp-block-columns.home-reviews-grid::-webkit-scrollbar,
	.fx-reviews .wp-block-columns.home-reviews-grid::-webkit-scrollbar {
		display: none;
	}

	.home-reviews .wp-block-columns.home-reviews-grid:focus-visible,
	.fx-reviews .wp-block-columns.home-reviews-grid:focus-visible {
		outline: 2px solid var(--mgc-color-primary);
		outline-offset: -2px;
	}

	.home-reviews .wp-block-columns.home-reviews-grid > .wp-block-column,
	.fx-reviews .wp-block-columns.home-reviews-grid > .wp-block-column {
		width: auto;
		max-width: none;
		min-width: 0 !important;
		margin: 0 !important;
		scroll-snap-align: start;
		flex: 0 0 min(18.5rem, 86%) !important;
		flex-basis: min(18.5rem, 86%) !important;
	}
}

.home-team-portrait,
.home-team-portrait.is-layout-constrained {
	aspect-ratio: 4 / 5;
	width: 100%;
	min-height: 0;
	margin: 0 0 var(--mgc-space-16);
	overflow: hidden;
	background-color: var(--mgc-color-muted);
	border-radius: 0;
}

.home-team-grid > .wp-block-column:first-child .home-team-portrait:empty {
	background-image: url("assets/images/kyle-sonderup.png");
	background-repeat: no-repeat;
	background-position: 50% 18%;
	background-size: cover;
}

.home-team-portrait.is-layout-constrained > * {
	max-width: none;
	height: 100%;
	margin: 0;
}

.home-team-portrait .home-team-portrait-image.wp-block-image,
.home-team-portrait .home-team-portrait-image {
	width: 100%;
	height: 100%;
	margin: 0;
	line-height: 0;
}

.home-team-portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 18%;
}

.home-team-card h3,
.home-team-card p {
	padding-inline: var(--mgc-space-12);
}

.home-team-card h3 {
	margin-bottom: var(--mgc-space-4);
}

.home-team-role {
	margin-bottom: var(--mgc-space-8);
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
}

.home-team-link {
	margin-top: var(--mgc-space-24);
	margin-bottom: 0;
}

.home-team-link a {
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.home-community {
	padding-block: var(--mgc-space-64);
	background-color: var(--mgc-color-surface-subtle);
	border-block: 1px solid var(--mgc-color-border);
	text-align: left;
}

.home-community-grid.wp-block-columns {
	align-items: center;
	margin: 0;
	gap: var(--mgc-space-40);
}

.home-community-kicker {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-community-grid h2 {
	margin-bottom: var(--mgc-space-12);
}

.home-community-grid > .wp-block-column > p {
	max-width: 36rem;
	color: var(--mgc-color-muted-foreground);
}

.home-community .wp-block-buttons {
	margin-top: var(--mgc-space-8);
}

.home-community-card {
	padding: var(--mgc-space-32) var(--mgc-space-24);
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 16px 40px rgba(21, 49, 96, 0.08);
}

.home-community-card.is-layout-constrained > * {
	max-width: none;
	margin-inline: 0;
}

.home-community-facebook.wp-block-image,
.home-community-facebook {
	width: 2.5rem;
	margin: 0 0 var(--mgc-space-16);
	line-height: 0;
}

.home-community-facebook img {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
}

.home-community-card-label {
	margin: 0 0 var(--mgc-space-8);
	color: #1877f2;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-community-card h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-large);
}

.home-community-card > p:last-child {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
}

.home-community-card .wp-block-button__link {
	background-color: #1877f2 !important;
	border-color: #1877f2 !important;
	color: var(--mgc-color-white) !important;
}

.home-community-card .wp-block-button__link:hover,
.home-community-card .wp-block-button__link:focus-visible {
	background-color: #1464d0 !important;
	border-color: #1464d0 !important;
	color: var(--mgc-color-white) !important;
}

.home-community-inner {
	max-width: 36rem;
	margin-inline: auto;
	text-align: center;
}

.home-community-inner h2::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 auto var(--mgc-space-16);
	background-image: url("assets/images/icon-facebook.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.home-community-inner p:last-child a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: var(--mgc-space-8);
	padding: 0 1.35rem;
	background-color: var(--mgc-color-primary);
	border-radius: var(--mgc-radius-pill);
	color: var(--mgc-color-white);
	font-size: var(--mgc-font-size-small);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.home-community-inner p:last-child a:hover {
	background-color: var(--mgc-color-primary-hover);
	color: var(--mgc-color-white);
}

.home-final-cta {
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
}

.home-final-cta h2,
.home-final-cta p {
	color: var(--mgc-color-white);
}

.home-final-cta > p {
	color: color-mix(in srgb, var(--mgc-color-white) 88%, var(--mgc-color-primary));
}

.home-final-cta .wp-block-buttons {
	margin-top: var(--mgc-space-8);
}

.home-final-cta .wp-block-button__link {
	background-color: var(--mgc-color-white);
	color: var(--mgc-color-primary);
}

.home-final-cta .wp-block-button__link:hover {
	background-color: var(--mgc-color-surface-subtle);
	color: var(--mgc-color-primary-hover);
}

@media (min-width: 782px) {
	.home-trust-items {
		gap: var(--mgc-space-24);
	}
}

@media (min-width: 1024px) {
	.home-services,
	.home-journey,
	.home-why,
	.home-reviews,
	.home-team,
	.home-community,
	.home-final-cta {
		padding-block: var(--mgc-space-80);
	}

	.home-hero {
		padding-block: var(--mgc-space-48) var(--mgc-space-64);
	}

	.home-trust {
		padding-block: 30px !important;
	}
}

.editor-styles-wrapper .home-hero-visual .home-hero-flag.wp-block-image,
.editor-styles-wrapper .home-hero-visual .home-hero-flag {
	margin: 0;
}

.editor-styles-wrapper .home-hero-visual .home-hero-flag img,
.editor-styles-wrapper .home-hero-node--destination .home-hero-flag img {
	width: 4.75rem;
	height: 4.75rem;
}

.editor-styles-wrapper .home-journey-connector .home-journey-arrow {
	transform: none;
}

.site-container:has(.fx-hero) {
	max-width: none;
	padding-inline: 0;
}

.page:has(.fx-hero) .site-footer {
	margin-top: 0;
}

.entry-content:has(> .fx-hero) > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.site-container:has(.fx-hero) .entry-content > *:not(.alignfull) {
	max-width: var(--mgc-container-reading);
	margin-inline: auto;
	padding-inline: var(--mgc-gutter);
}

.page:has(.fx-hero) .site-main {
	overflow-x: clip;
}

.fx-hero,
.fx-process,
.fx-offer,
.fx-why,
.fx-ait,
.fx-form,
.fx-reviews,
.fx-faq,
.fx-final-cta,
.inh-factors,
.inh-process,
.inh-plan,
.tax-insight,
.tax-journey,
.tax-diag,
.tax-changes,
.tax-file,
.tax-clock,
.tax-pricing,
.contact-main {
	padding-block: var(--mgc-space-48);
	padding-inline: var(--mgc-gutter);
}

.inh-process,
.inh-plan,
.tax-journey,
.tax-diag,
.tax-clock {
	min-width: 0;
	overflow-x: clip;
}

.fx-hero {
	padding-block: var(--mgc-space-48) var(--mgc-space-64);
}

.fx-process,
.fx-faq,
.inh-factors,
.inh-process,
.tax-journey,
.tax-file {
	background-color: var(--mgc-color-surface-subtle);
	border-block: 1px solid var(--mgc-color-border);
}

.fx-process > h2,
.fx-offer > h2,
.fx-why > h2,
.fx-ait > h2,
.fx-reviews > h2,
.fx-faq > h2,
.inh-factors > h2,
.inh-process > h2,
.inh-plan > h2,
.tax-insight > h2,
.tax-journey > h2,
.tax-diag > h2,
.tax-changes > h2,
.tax-file > h2,
.tax-clock > h2,
.tax-pricing > h2 {
	margin-bottom: var(--mgc-space-16);
}

.inh-process > h2,
.inh-plan > h2,
.inh-care-title,
h3.wp-block-heading.inh-care-title {
	min-width: 0 !important;
	max-width: 100%;
	overflow-wrap: anywhere;
	text-wrap-mode: wrap;
	text-wrap-style: auto;
	text-wrap: wrap !important;
	white-space: normal !important;
}

.page:has(.inh-factors) h2,
.page:has(.inh-factors) h3,
.page:has(.tax-insight) h2,
.page:has(.tax-insight) h3 {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: break-word;
	text-wrap-mode: wrap;
	text-wrap-style: auto;
	text-wrap: wrap;
}

.fx-hero-kicker {
	margin-bottom: var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.fx-hero h1 {
	max-width: 16em;
	margin-bottom: 0.35em;
	font-size: var(--mgc-font-size-page-title);
	letter-spacing: -0.03em;
	line-height: 1.12;
	text-wrap: wrap;
}

.fx-hero .fx-hero-grid > .wp-block-column > p {
	max-width: 36rem;
}

.fx-hero .fx-hero-actions.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mgc-space-16) var(--mgc-space-24);
	margin-top: var(--mgc-space-8);
}

.fx-hero .wp-block-buttons {
	margin: 0;
}

.fx-hero-secondary {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	margin: 0;
}

.fx-hero-secondary a {
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.fx-hero-secondary a:hover {
	color: var(--mgc-color-primary-hover);
}

.fx-hero-route {
	width: 100%;
	padding: 24px;
	background-color: var(--mgc-color-white);
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 8%, var(--mgc-color-border));
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(21, 49, 96, 0.05);
}

.fx-hero-route.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.fx-hero-route > .fx-route-chip--from,
.fx-hero-route > .fx-route-chip--to,
.fx-hero-route > .fx-route-chip--wide {
	width: 100%;
}

.fx-route-chip,
.fx-route-chip.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mgc-space-12);
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0.85rem 0.9rem;
	min-height: 4.5rem;
	background-color: var(--mgc-color-surface-subtle);
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	border-radius: var(--mgc-radius-card);
	box-shadow: none;
}

.fx-route-chip--from,
.fx-route-chip--from.is-layout-flex {
	min-height: 5.75rem;
	padding: 1.1rem 1.2rem;
	background-color: var(--mgc-color-primary);
	border-color: var(--mgc-color-primary-hover);
	border-radius: var(--mgc-radius-card);
	box-shadow: none;
}

.fx-route-chip--to,
.fx-route-chip--to.is-layout-flex {
	min-height: 5.5rem;
	padding: 1rem 1.1rem;
	border-radius: var(--mgc-radius-card);
}

.fx-hero-route .fx-route-flag.wp-block-image,
.fx-hero-route .fx-route-flag {
	flex: 0 0 auto;
	width: auto;
	min-width: 3rem;
	margin: 0;
}

.fx-hero-route .fx-route-flag img {
	display: block;
	width: 3rem;
	height: 3rem;
	object-fit: cover;
	object-position: 12% 50%;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(21, 49, 96, 0.12);
}

.fx-route-chip--from .fx-route-flag img,
.fx-route-chip--to .fx-route-flag img {
	width: 4.5rem !important;
	height: 4.5rem !important;
}

.fx-route-chip--from .fx-route-flag img {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--mgc-color-white) 82%, transparent);
}

.fx-hero-route .fx-route-destinations .fx-route-flag img {
	width: 2.75rem !important;
	height: 2.75rem !important;
	box-shadow: 0 0 0 2px var(--mgc-color-white), 0 0 0 3px color-mix(in srgb, var(--mgc-color-primary) 16%, transparent);
}

.fx-hero-route .fx-route-destinations img[src*="fx-flag-au"] {
	object-position: 22% 50%;
}

.fx-hero-route .fx-route-destinations img[src*="fx-flag-nz"] {
	object-position: 75% 50%;
}

.fx-route-chip--wide .fx-route-flag img {
	object-position: center;
}

.fx-route-copy,
.fx-route-copy.is-layout-flex {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.15rem;
	min-width: 0;
}

.fx-route-chip p,
.fx-route-copy p {
	margin: 0;
}

.fx-route-kicker,
.fx-route-section-label.wp-block-heading {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fx-route-section-label.wp-block-heading,
.fx-hero-route > .fx-route-section-label {
	width: fit-content;
	margin: 0.45rem auto 0.7rem;
	padding: 0;
	background-color: transparent;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.fx-route-chip--from .fx-route-kicker {
	color: color-mix(in srgb, var(--mgc-color-white) 78%, transparent);
}

.fx-route-chip--from .fx-route-label {
	color: var(--mgc-color-white);
}

.fx-route-label {
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: var(--mgc-font-size-small);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.fx-route-chip--from .fx-route-label,
.fx-route-chip--to .fx-route-label {
	font-size: 1.2rem;
}

.fx-hero-route .fx-route-destinations .fx-route-label {
	font-size: 0.9375rem;
	line-height: 1.3;
}

.fx-route-connector,
.fx-route-connector.is-layout-flex {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0.7rem 0 0.2rem;
	padding-block: 0;
}

.fx-hero-route .fx-route-connector-line,
.fx-hero-route .fx-route-connector-label {
	display: none;
}

.fx-route-connector::after {
	content: "";
	width: 1.35rem;
	height: 1.35rem;
	background-color: var(--mgc-color-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fx-hero-route .fx-route-destinations.wp-block-columns {
	gap: 14px;
	margin: 0;
	align-items: stretch;
}

.fx-hero-route .fx-route-destinations .wp-block-column {
	margin: 0;
}

.fx-hero-route .fx-route-destinations .fx-route-chip {
	height: 100%;
}

@media (max-width: 781px) {
	.fx-hero .fx-hero-grid {
		flex-wrap: wrap;
	}

	.fx-hero .fx-hero-grid > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.fx-hero-route {
		max-width: 26rem;
		margin-block-start: var(--mgc-space-16);
		padding: 20px;
	}
}

@media (max-width: 599px) {
	.fx-hero-route .fx-route-destinations.wp-block-columns.is-not-stacked-on-mobile {
		flex-wrap: wrap !important;
	}

	.fx-hero-route .fx-route-destinations.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
}

.fx-works {
	--fx-works-red: #d13b3b;
	--fx-works-grey: #8a929c;
	--fx-works-circle: min(220px, 86vw);
	--fx-works-arrow-track: 48px;
	--fx-works-arrow-length: 40px;
	--fx-works-icon-size: 72px;
	position: relative;
	padding: var(--mgc-space-48) var(--mgc-space-16);
	overflow: visible;
	background-color: var(--mgc-color-white);
}

.fx-works::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: url(assets/images/world-map-muted.svg);
	background-repeat: no-repeat;
	background-position: center 58%;
	background-size: contain;
	opacity: 0.38;
}

.fx-works > * {
	position: relative;
	z-index: 1;
}

.fx-works-title {
	max-width: 22em;
	margin: 0 auto;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.25;
}

.fx-works-diagram,
.fx-works-diagram.is-layout-flow,
.fx-works-diagram.is-layout-constrained,
.fx-works-diagram.is-layout-flex {
	display: grid;
	grid-template-columns: var(--fx-works-circle);
	grid-template-rows: auto var(--fx-works-arrow-track) auto var(--fx-works-arrow-track) auto;
	justify-content: center;
	justify-items: center;
	align-items: center;
	width: 100%;
	max-width: 1100px;
	margin: var(--mgc-space-40) auto;
	padding: 0;
	gap: 0;
}

.fx-works-diagram > *,
.fx-works-diagram.is-layout-flow > *,
.fx-works-diagram.is-layout-constrained > *,
.fx-works-diagram.is-layout-flow > * + *,
.fx-works-diagram.is-layout-constrained > * + * {
	margin: 0;
	max-width: none;
}

.fx-works-step--1 {
	grid-area: 1 / 1;
}

.fx-works-diagram::before {
	grid-area: 2 / 1;
}

.fx-works-step--2 {
	grid-area: 3 / 1;
}

.fx-works-diagram::after {
	grid-area: 4 / 1;
}

.fx-works-step--3 {
	grid-area: 5 / 1;
}

.fx-works-diagram::before,
.fx-works-diagram::after {
	content: "";
	box-sizing: border-box;
	width: 14px;
	height: var(--fx-works-arrow-length);
	justify-self: center;
	align-self: center;
	pointer-events: none;
	background-color: var(--mgc-color-primary);
	clip-path: polygon(30% 0, 70% 0, 70% 62%, 100% 62%, 50% 100%, 0 62%, 30% 62%);
}

.fx-works-step,
.fx-works-step.is-layout-constrained,
.fx-works-step.is-layout-flow {
	--fx-works-accent: var(--mgc-color-primary);
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--fx-works-circle);
	height: auto;
	max-width: var(--fx-works-circle);
	margin: 0 auto;
	padding: 1.5rem 1.35rem;
	aspect-ratio: 1 / 1;
	overflow: visible;
	background-color: var(--mgc-color-white);
	border: 4px solid var(--mgc-color-primary);
	border-radius: 50%;
	box-shadow: 0 8px 22px rgba(21, 49, 96, 0.08);
	text-align: center;
}

.fx-works-step--1 {
	--fx-works-accent: var(--fx-works-red);
}

.fx-works-step--3 {
	--fx-works-accent: var(--fx-works-grey);
}

.fx-works-step.is-layout-constrained > *,
.fx-works-step.is-layout-flow > * {
	max-width: 180px;
	margin-left: auto;
	margin-right: auto;
}

.fx-works-label {
	order: 1;
	margin: 0;
	color: var(--fx-works-accent);
	font-family: var(--mgc-font-display);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fx-works-icon,
.fx-works-step .wp-block-image {
	order: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--fx-works-icon-size);
	height: var(--fx-works-icon-size);
	max-width: var(--fx-works-icon-size);
	margin: 0.5rem auto 0.65rem;
	line-height: 0;
}

.fx-works-icon img,
.fx-works-step .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin-inline: auto;
	object-fit: contain;
	transform-origin: center;
}

/* The three drawings fill the shared viewBox differently. Scale each one
   so the visible mark matches on both the phone stack and the desktop row. */
.fx-works-step--1 .fx-works-icon img,
.fx-works-step--1 .wp-block-image img {
	transform: scale(1);
}

.fx-works-step--2 .fx-works-icon img,
.fx-works-step--2 .wp-block-image img {
	transform: scale(1.22);
}

.fx-works-step--3 .fx-works-icon img,
.fx-works-step--3 .wp-block-image img {
	transform: scale(1);
}

.fx-works-copy {
	order: 3;
	max-width: 180px;
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.fx-works-step::after {
	content: "01";
	position: absolute;
	top: 12px;
	right: -8px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 58px;
	height: 58px;
	border: 4px solid var(--mgc-color-white);
	border-radius: 50%;
	background-color: var(--fx-works-accent);
	color: var(--mgc-color-white);
	font-family: var(--mgc-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(21, 49, 96, 0.12);
}

.fx-works-step--2::after {
	content: "02";
}

.fx-works-step--3::after {
	content: "03";
}

.fx-works-note {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.editor-styles-wrapper .fx-works::before,
.editor-styles-wrapper .fx-works-diagram::before,
.editor-styles-wrapper .fx-works-diagram::after {
	display: none;
}

.editor-styles-wrapper .fx-works {
	padding: var(--mgc-space-24);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
}

.editor-styles-wrapper .fx-works-diagram,
.editor-styles-wrapper .fx-works-diagram.is-layout-flow,
.editor-styles-wrapper .fx-works-diagram.is-layout-constrained,
.editor-styles-wrapper .fx-works-diagram.is-layout-flex {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--mgc-space-16);
	max-width: 28rem;
	margin-block: var(--mgc-space-24);
}

.editor-styles-wrapper .fx-works-step,
.editor-styles-wrapper .fx-works-step.is-layout-constrained,
.editor-styles-wrapper .fx-works-step.is-layout-flow {
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: auto;
	padding: var(--mgc-space-24);
	border-radius: var(--mgc-radius-card);
}

.editor-styles-wrapper .fx-works-step.is-layout-constrained > *,
.editor-styles-wrapper .fx-works-step.is-layout-flow > * {
	max-width: none;
}

.editor-styles-wrapper .fx-works-step::after {
	position: static;
	order: 0;
	align-self: flex-start;
	width: auto;
	height: auto;
	margin: 0 0 var(--mgc-space-8);
	padding: 0.2rem 0.65rem;
	border-width: 0;
	border-radius: var(--mgc-radius-pill);
	font-size: 0.75rem;
	box-shadow: none;
}

.editor-styles-wrapper .fx-works-copy {
	max-width: none;
}

.editor-styles-wrapper .fx-hero-route .fx-route-flag.wp-block-image,
.editor-styles-wrapper .fx-hero-route .fx-route-flag {
	margin: 0;
}

.editor-styles-wrapper .fx-hero-route .fx-route-flag img {
	width: 3rem;
	height: 3rem;
}

.editor-styles-wrapper .fx-route-chip--from .fx-route-flag img,
.editor-styles-wrapper .fx-route-chip--to .fx-route-flag img {
	width: 3.75rem;
	height: 3.75rem;
}

.editor-styles-wrapper .fx-works-icon,
.editor-styles-wrapper .fx-works-step .wp-block-image {
	margin-inline: auto;
}

.fx-offer > h2 {
	max-width: 18em;
	margin-bottom: var(--mgc-space-12);
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-h2);
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.fx-offer > p {
	margin-bottom: 1.75rem;
}

.fx-ait > p {
	margin-bottom: var(--mgc-space-32);
}

.wp-block-table.fx-fee-table {
	width: min(100%, 52rem);
	max-width: 52rem;
	margin: 0 auto;
	overflow: visible;
}

.entry-content > .wp-block-group.alignfull.is-layout-constrained:not(.fx-faq):not(.fx-final-cta):not(.home-final-cta):not(.pc-cta):not(.pc-legal):not(.faq-section):not(.faq-category-nav):not(.legal-section):not(.legal-entities):not(.complaints-routing) > .wp-block-table.fx-fee-table,
.editor-styles-wrapper .wp-block-group.alignfull.is-layout-constrained:not(.fx-faq):not(.fx-final-cta):not(.home-final-cta):not(.pc-cta):not(.pc-legal):not(.faq-section):not(.faq-category-nav):not(.legal-section):not(.legal-entities):not(.complaints-routing) > .wp-block-table.fx-fee-table {
	width: min(100%, 52rem);
	max-width: 52rem;
	margin-inline: auto;
}

.fx-fee-table table {
	width: 100%;
	min-width: 0;
	border-collapse: separate;
	border-spacing: 0;
	background-color: transparent;
	border: 0;
	overflow: visible;
}

.fx-fee-table th,
.fx-fee-table td {
	padding: 0.78rem 1.15rem;
	text-align: center;
	vertical-align: middle;
	font-size: 0.9375rem;
	line-height: 1.35;
	border: 0;
	border-bottom: 1px solid rgba(21, 49, 96, 0.07);
}

.fx-fee-table thead th {
	border-bottom: 0;
	font-family: var(--mgc-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.fx-fee-table thead th:first-child {
	width: 34%;
	padding: 0;
	background-color: transparent;
	border: 0;
}

.fx-fee-table thead th:nth-child(2),
.fx-fee-table thead th:last-child {
	height: 5.35rem;
	vertical-align: middle;
}

.fx-fee-table thead th:nth-child(2) {
	width: 33%;
	padding: 1rem 1rem 0.95rem;
	background-color: #e8ecf0;
	color: #5c6772;
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.35;
	border-radius: 16px 0 0 0;
}

.fx-fee-table thead th:nth-child(2) br {
	display: none;
}

.fx-fee-table thead th:nth-child(2) strong {
	display: block;
	margin-bottom: 0.28rem;
	color: #3c4650;
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.fx-fee-table thead th:last-child {
	width: 33%;
	padding: 1.2rem 1.15rem;
	background-color: var(--mgc-color-white);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.028em;
	line-height: 1.1;
	white-space: nowrap;
	border-top: 3px solid var(--mgc-color-primary);
	border-right: 3px solid var(--mgc-color-primary);
	border-left: 3px solid var(--mgc-color-primary);
	border-radius: 0 16px 0 0;
}

.fx-fee-table tbody th {
	width: 34%;
	padding-left: 1.35rem;
	text-align: left;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.012em;
	background-color: var(--mgc-color-white);
	border-left: 1px solid rgba(21, 49, 96, 0.08);
}

.fx-fee-table tbody td {
	font-variant-numeric: tabular-nums;
}

.fx-fee-table tbody td:nth-child(2) {
	color: #6a7580;
	font-weight: 500;
	background-color: #e8ecf0;
	border-right: 0;
}

.fx-fee-table tbody td:last-child {
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: normal;
	background-color: var(--mgc-color-white);
	border-bottom: 1px solid rgba(21, 49, 96, 0.08);
	border-left: 3px solid var(--mgc-color-primary);
	border-right: 3px solid var(--mgc-color-primary);
}

.fx-fee-table tbody tr:nth-child(n+2):not(:last-child) td:last-child {
	font-weight: 700;
}

.fx-fee-table tbody tr:first-child th {
	border-top: 1px solid rgba(21, 49, 96, 0.08);
	border-top-left-radius: 16px;
}

.fx-fee-table tbody tr:first-child td:nth-child(2),
.fx-fee-table tbody tr:first-child td:last-child {
	border-top: 1px solid rgba(21, 49, 96, 0.08);
}

.fx-fee-table tbody tr:last-child th {
	border-bottom: 0;
	border-bottom-left-radius: 16px;
}

.fx-fee-table tbody tr:last-child td:nth-child(2) {
	border-bottom: 0;
	border-bottom-left-radius: 16px;
	background-color: #e8ecf0;
}

.fx-fee-table tbody tr:last-child td:last-child {
	padding-block: 0.95rem;
	border-bottom: 3px solid var(--mgc-color-primary);
	border-bottom-right-radius: 16px;
	background-color: var(--mgc-color-white);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: normal;
}

.fx-fee-table figcaption,
.fx-fees-note {
	max-width: 46rem;
	margin-top: var(--mgc-space-16);
	margin-inline: auto;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	text-align: center;
}

.fx-fees-note {
	max-width: 40rem;
}

.fx-fee-table figcaption {
	max-width: none;
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.004em;
	text-align: right;
}

.fx-fee-table figcaption strong,
.fx-fee-table figcaption mark,
.fx-fee-table figcaption .has-primary-color {
	color: var(--mgc-color-muted-foreground) !important;
	font-weight: 500;
	background-color: transparent;
}

@media (max-width: 767px) {
	.fx-offer > p {
		margin-bottom: 1.125rem;
	}

	.fx-fee-table,
	.fx-fee-table.wp-block-table {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-inline: 0;
	}

	.fx-fee-table table {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 10px;
		overflow: hidden;
		background-color: var(--mgc-color-white);
		border: 1px solid rgba(21, 49, 96, 0.08);
		border-radius: 16px;
	}

	.fx-fee-table thead,
	.fx-fee-table tbody {
		display: block;
		width: 100%;
		border: 0;
	}

	.fx-fee-table thead tr,
	.fx-fee-table tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 8px;
		width: 100%;
		margin: 0;
		padding: 0 0 8px;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.fx-fee-table tbody tr + tr {
		border-top: 1px solid rgba(21, 49, 96, 0.08);
	}

	.fx-fee-table thead th:first-child {
		display: none;
	}

	.fx-fee-table thead th:nth-child(2),
	.fx-fee-table thead th:last-child {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: auto;
		height: auto;
		min-width: 0;
		padding: 0.75rem 0.7rem;
		text-align: center;
		white-space: normal;
		border-radius: 10px;
	}

	.fx-fee-table thead th:nth-child(2) {
		background-color: #e8ecf0;
		color: #5c6772;
		font-size: 0.6875rem;
		line-height: 1.25;
	}

	.fx-fee-table thead th:nth-child(2) strong {
		margin-bottom: 0.12rem;
		color: #3c4650;
		font-size: 0.875rem;
		font-weight: 600;
		line-height: 1.2;
	}

	.fx-fee-table thead th:last-child {
		background-color: var(--mgc-color-white);
		color: var(--mgc-color-primary);
		border: 2px solid var(--mgc-color-primary);
		border-radius: 10px;
		font-size: 0.875rem;
		font-weight: 600;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}

	.fx-fee-table tbody th,
	.fx-fee-table tbody td,
	.fx-fee-table tbody tr:first-child th,
	.fx-fee-table tbody tr:last-child th,
	.fx-fee-table tbody tr:first-child td:nth-child(2),
	.fx-fee-table tbody tr:last-child td:nth-child(2),
	.fx-fee-table tbody tr:last-child td:last-child {
		display: block;
		width: auto;
		height: auto;
		min-width: 0;
		margin: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.fx-fee-table tbody th,
	.fx-fee-table tbody td:first-child {
		grid-column: 1 / -1;
		padding: 0.7rem 0.85rem 0.15rem;
		text-align: left;
		background-color: var(--mgc-color-white);
		color: var(--mgc-color-primary);
		font-family: var(--mgc-font-body);
		font-size: 0.875rem;
		font-weight: 600;
		letter-spacing: -0.011em;
		line-height: 1.35;
		border: 0;
		border-radius: 0;
	}

	.fx-fee-table tbody td:nth-child(2),
	.fx-fee-table tbody td:last-child,
	.fx-fee-table tbody tr:nth-child(n+2):not(:last-child) td:last-child,
	.fx-fee-table tbody tr:last-child td:last-child {
		min-width: 0;
		padding: 0.45rem 0.45rem;
		text-align: center;
		font-family: var(--mgc-font-body);
		font-size: 0.8125rem;
		letter-spacing: normal;
		line-height: 1.3;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.fx-fee-table tbody td:nth-child(2),
	.fx-fee-table tbody tr:first-child td:nth-child(2),
	.fx-fee-table tbody tr:last-child td:nth-child(2) {
		font-weight: 500;
		background-color: #e8ecf0;
		color: #6a7580;
		border: 0;
		border-radius: 10px;
	}

	.fx-fee-table tbody td:nth-child(2)::before,
	.fx-fee-table tbody td:last-child::before {
		content: none;
	}

	.fx-fee-table tbody td:last-child,
	.fx-fee-table tbody tr:first-child td:last-child,
	.fx-fee-table tbody tr:nth-child(n+2):not(:last-child) td:last-child,
	.fx-fee-table tbody tr:last-child td:last-child {
		background-color: var(--mgc-color-white);
		color: var(--mgc-color-primary);
		border: 2px solid var(--mgc-color-primary);
		border-radius: 10px;
		font-weight: 600;
	}

	.fx-fee-table figcaption,
	.fx-fee-table figcaption.wp-element-caption {
		width: 100%;
		margin: 0.5rem 0 0;
		font-size: 0.75rem;
		line-height: 1.45;
		text-align: right;
	}
}

.fx-why-grid,
.fx-why-grid.is-layout-flow,
.fx-why-grid.is-layout-constrained {
	--fx-why-pad-block: var(--mgc-space-24);
	--fx-why-pad-inline: var(--mgc-space-20);
	--fx-why-rule: color-mix(in srgb, var(--mgc-color-primary) 14%, transparent);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
	margin-top: var(--mgc-space-8);
}

.fx-why-grid > * {
	max-width: none;
	margin: 0;
}

.fx-why-item,
.fx-why-item.is-layout-constrained,
.fx-why-item.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: var(--fx-why-pad-block) var(--fx-why-pad-inline);
	text-align: center;
	background: transparent;
	border: 0;
}

.fx-why-item:nth-child(-n + 2) {
	padding-top: 0;
}

.fx-why-item:nth-child(n + 3) {
	border-top: 1px solid var(--fx-why-rule);
}

.fx-why-item:nth-child(n + 5) {
	padding-bottom: 0;
}

.fx-why-item:nth-child(odd) {
	padding-inline-start: 0;
	border-inline-end: 1px solid var(--fx-why-rule);
}

.fx-why-item:nth-child(even) {
	padding-inline-end: 0;
}

.fx-why-item.is-layout-constrained > *,
.fx-why-item.is-layout-flow > * {
	max-width: 20rem;
	margin-left: auto;
	margin-right: auto;
}

.fx-why-item .fx-why-icon.wp-block-image,
.fx-why-item .fx-why-icon {
	margin: 0 0 var(--mgc-space-16);
}

.fx-why-item .fx-why-icon img {
	display: block;
	width: 48px;
	height: 48px;
}

.fx-why-item h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.1875rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.fx-why-item p {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.fx-why-item .fx-why-amount {
	color: var(--mgc-color-primary);
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	letter-spacing: inherit;
}

.fx-why-more {
	margin-top: var(--mgc-space-8);
}

.fx-why-more a {
	color: var(--mgc-color-muted-foreground);
	font-size: inherit;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.fx-why-more a:hover {
	color: var(--mgc-color-primary);
}

@media (min-width: 782px) {
	.fx-why-grid,
	.fx-why-grid.is-layout-flow,
	.fx-why-grid.is-layout-constrained {
		--fx-why-pad-block: var(--mgc-space-24);
		--fx-why-pad-inline: var(--mgc-space-16);
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
	}

	.fx-why-item,
	.fx-why-item.is-layout-constrained,
	.fx-why-item.is-layout-flow,
	.fx-why-item:nth-child(-n + 2),
	.fx-why-item:nth-child(n + 3),
	.fx-why-item:nth-child(n + 5),
	.fx-why-item:nth-child(odd),
	.fx-why-item:nth-child(even) {
		min-width: 0;
		padding: var(--fx-why-pad-block) var(--fx-why-pad-inline);
		border: 0;
	}

	.fx-why-item:nth-child(-n + 3) {
		padding-top: 0;
	}

	.fx-why-item:nth-child(n + 4) {
		padding-bottom: 0;
		border-top: 1px solid var(--fx-why-rule);
	}

	.fx-why-item:not(:nth-child(3n)):not(:last-child) {
		border-inline-end: 1px solid var(--fx-why-rule);
	}

	.fx-why-item:nth-child(3n + 1) {
		padding-inline-start: 0;
	}

	.fx-why-item:nth-child(3n),
	.fx-why-item:last-child {
		padding-inline-end: 0;
	}

	.fx-why-item .fx-why-icon.wp-block-image,
	.fx-why-item .fx-why-icon {
		margin-bottom: var(--mgc-space-12);
	}

	.fx-why-item .fx-why-icon img {
		width: 32px;
		height: 32px;
	}
}

.fx-ait-split,
.fx-ait-split.wp-block-columns {
	align-items: stretch;
	margin-top: var(--mgc-space-8);
	gap: var(--mgc-space-24);
}

.fx-ait-split > .wp-block-column {
	display: flex;
}

.fx-ait-panel,
.fx-ait-panel.is-layout-constrained,
.fx-ait-panel.is-layout-flow {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: var(--mgc-space-32);
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
}

.fx-ait-panel .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	flex: 1;
	width: 100%;
	height: 100%;
}

.fx-ait-panel--sda,
.fx-ait-panel--sda.is-layout-constrained,
.fx-ait-panel--sda.is-layout-flow {
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
}

.fx-ait-panel--emphasis,
.fx-ait-panel--emphasis.is-layout-constrained,
.fx-ait-panel--emphasis.is-layout-flow {
	background-color: var(--mgc-color-white);
	border: 2px solid var(--mgc-color-primary);
	box-shadow: 0 16px 40px rgba(21, 49, 96, 0.08);
}

.fx-ait-value {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: 2.75rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.fx-ait-split > .wp-block-column > .fx-ait-panel {
	max-width: none;
	flex: 1 1 auto;
}

.fx-ait-label {
	margin: 0 0 var(--mgc-space-16);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: var(--mgc-font-size-large);
	font-weight: 600;
	letter-spacing: -0.025em;
}

.fx-ait-panel--emphasis .fx-ait-label {
	margin-bottom: var(--mgc-space-16);
}

.fx-ait-promise {
	margin: 0 0 var(--mgc-space-16);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.3;
}

.fx-ait-free {
	display: inline-block;
	width: fit-content;
	margin: 0 0 var(--mgc-space-8);
	padding: 0.4rem 0.75rem;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.1;
	text-transform: uppercase;
	border: 1px solid var(--mgc-color-primary);
	border-radius: var(--mgc-radius-pill);
}

.fx-ait-model {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
}

.fx-ait-sequence,
.fx-ait-sequence.is-layout-flex {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.65rem;
	margin-top: var(--mgc-space-32);
	padding-top: var(--mgc-space-24);
	border-top: 1px solid var(--mgc-color-border);
}

.fx-ait-seq-step {
	margin: 0;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-small);
	font-weight: 600;
	line-height: 1.35;
}

.fx-ait-seq-arrow {
	margin: 0;
	color: var(--mgc-color-primary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.fx-form {
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
}

.fx-form-copy h2 {
	margin-bottom: var(--mgc-space-16);
	color: var(--mgc-color-white);
}

.fx-form-copy > p {
	max-width: 36rem;
	color: color-mix(in srgb, var(--mgc-color-white) 88%, var(--mgc-color-primary));
}

.fx-form-points {
	margin: var(--mgc-space-24) 0 0;
	padding: 0;
	list-style: none;
}

.fx-form-points li {
	position: relative;
	margin: 0 0 var(--mgc-space-12);
	padding-left: 1.5rem;
	color: var(--mgc-color-white);
}

.fx-form-points li:last-child {
	margin-bottom: 0;
}

.fx-form-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.5rem;
	height: 0.5rem;
	border: 1px solid color-mix(in srgb, var(--mgc-color-white) 70%, transparent);
	border-radius: var(--mgc-radius-pill);
}

.fx-account-form {
	display: flex;
	flex-direction: column;
	gap: var(--mgc-space-24);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: var(--mgc-space-32);
	background-color: var(--mgc-color-white);
	color: var(--mgc-color-foreground);
	border: 0;
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 24px 48px rgba(8, 20, 40, 0.22);
}

@media (max-width: 781px) {
	.fx-form-layout,
	.fx-ait-split,
	.contact-layout {
		flex-wrap: wrap;
	}

	.fx-form-layout > .wp-block-column,
	.fx-ait-split > .wp-block-column,
	.contact-layout > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
}

.fx-form-field {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.fx-account-form .fx-form-field > label,
.fx-form-field legend {
	display: block;
	padding: 0;
	margin-bottom: var(--mgc-space-12);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
}

.fx-form-radios {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mgc-space-12);
}

.fx-form-radio {
	display: inline-flex;
	align-items: center;
	gap: var(--mgc-space-8);
	min-height: 2.75rem;
	margin: 0;
	padding: var(--mgc-space-8) var(--mgc-space-16);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-pill);
	background-color: var(--mgc-color-white);
	font-size: var(--mgc-font-size-small);
	font-weight: 500;
	cursor: pointer;
}

.fx-form-radio:has(input:checked) {
	border-color: var(--mgc-color-primary);
	background-color: var(--mgc-color-surface-subtle);
}

.fx-form-radio:has(input:focus-visible) {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
}

.fx-form-radio input {
	margin: 0;
}

.fx-form-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 0;
	row-gap: var(--mgc-space-12);
	padding-top: var(--mgc-space-8);
}

.fx-form-actions > p {
	display: contents;
}

.fx-form-actions > p:empty,
.fx-form-actions > br,
.fx-form-actions .cf7-cf-turnstile > br {
	display: none;
}

.fx-form-actions .cf7-cf-turnstile {
	flex: 0 0 100%;
	width: 100%;
	/* Override the plugin's inline negative margin around the widget. */
	margin: 0 !important;
}

.fx-form-actions input[type="submit"] {
	width: 100%;
}

@media (min-width: 480px) {
	.fx-form-actions input[type="submit"] {
		width: auto;
	}
}

.fx-form .fx-form-actions {
	justify-content: flex-start;
}

.fx-form .fx-form-actions input[type="submit"] {
	margin-left: 0;
	align-self: flex-start;
}

.fx-form .wpcf7-spinner {
	margin: 0 0 0 0.75rem;
}

.fx-reviews .home-reviews-header {
	margin-bottom: var(--mgc-space-24);
}

.fx-faq:not(.pc-disclosure) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.fx-faq:not(.pc-disclosure) > h2,
.fx-faq:not(.pc-disclosure) > .wp-block-heading {
	width: min(100%, 62.5rem);
	max-width: 62.5rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.fx-faq > h2 {
	margin-bottom: var(--mgc-space-24);
}

.fx-faq:not(.pc-disclosure) .wp-block-details {
	display: block;
	margin: 0;
	padding: 0;
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-lg);
	box-shadow: none;
}

.fx-faq:not(.pc-disclosure) .wp-block-details + .wp-block-details {
	margin-top: var(--mgc-space-12);
}

.fx-faq .wp-block-details:not([open]) > *:not(summary) {
	display: none;
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary {
	position: relative;
	display: block;
	margin: 0;
	padding: 0.8rem 3.15rem 0.8rem 1.625rem;
	cursor: pointer;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.4;
	list-style: none;
	overflow-wrap: break-word;
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary::marker {
	content: none;
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.625rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--mgc-color-primary);
	transform: translateY(-50%);
	pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fx-faq:not(.pc-disclosure) .wp-block-details[open] summary::after {
	transform: translateY(-50%) rotate(180deg);
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary:hover {
	color: var(--mgc-color-primary);
}

.fx-faq:not(.pc-disclosure) .wp-block-details summary:focus-visible {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
	border-radius: var(--mgc-radius-sm);
}

.fx-faq:not(.pc-disclosure) .wp-block-details[open] summary {
	margin-bottom: 0;
	padding-bottom: 0.7rem;
}

.fx-faq:not(.pc-disclosure) .wp-block-details[open] > :not(summary) {
	padding: 0 1.625rem 0.95rem;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-body);
	font-size: var(--mgc-font-size-reading);
	font-weight: 400;
	line-height: var(--mgc-line-height-reading);
}

.fx-faq:not(.pc-disclosure) .wp-block-details p {
	margin-block: 0 0.75em;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.fx-faq:not(.pc-disclosure) .wp-block-details p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.fx-faq:not(.pc-disclosure) .wp-block-details summary {
		padding: 0.75rem 2.7rem 0.75rem 1.0625rem;
		font-size: 1rem;
	}

	.fx-faq:not(.pc-disclosure) .wp-block-details summary::after {
		right: 1.0625rem;
	}

	.fx-faq:not(.pc-disclosure) .wp-block-details[open] > :not(summary) {
		padding: 0 1.0625rem 0.85rem;
	}
}

.fx-final-cta {
	background-color: var(--mgc-color-brand);
	color: var(--mgc-color-white);
}

.fx-final-cta h2,
.fx-final-cta p {
	color: var(--mgc-color-white);
}

.fx-final-cta .wp-block-button__link {
	background-color: var(--mgc-color-white);
	color: var(--mgc-color-primary);
}

.fx-final-cta .wp-block-button__link:hover {
	background-color: var(--mgc-color-surface-subtle);
	color: var(--mgc-color-primary-hover);
}

.inh-factors > p,
.inh-process > p,
.inh-why > p,
.inh-plan > p:not(.inh-plan-line) {
	margin-bottom: var(--mgc-space-24);
}

.inh-factors .home-services-row {
	margin-top: var(--mgc-space-8);
}

.inh-factors .home-card {
	background-color: var(--mgc-color-white);
}

.inh-factors .home-card h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.1875rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.inh-factors .home-card p {
	color: var(--mgc-color-muted-foreground);
}

.inh-route {
	width: 100%;
	padding: 1.15rem;
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 16px 40px rgba(21, 49, 96, 0.08);
}

.inh-route,
.inh-route.is-layout-constrained,
.inh-route-layer,
.inh-route-layer.is-layout-constrained,
.inh-route-core,
.inh-route-core.is-layout-constrained {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.inh-route.is-layout-constrained > *,
.inh-route-layer.is-layout-constrained > *,
.inh-route-core.is-layout-constrained > *,
.inh-route-pills.is-layout-flex > *,
.inh-plan-item > *,
.inh-plan-list > *,
.inh-plan-card.is-layout-constrained > *,
.inh-care-row > *,
.inh-route > * + *,
.inh-route-layer > * + *,
.inh-route-core > * + * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	margin-block-start: 0;
}

.inh-route-kicker {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.inh-route-pills,
.inh-route-pills.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mgc-space-8);
	margin: 0;
}

.inh-route-pill {
	margin: 0;
	padding: 0.4rem 0.7rem;
	background-color: var(--mgc-color-surface-subtle);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-pill);
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.inh-route-join,
.inh-route > .inh-route-join {
	margin: 0.2rem 0;
	color: var(--mgc-color-primary);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
}

.inh-route-core,
.inh-route-core.is-layout-constrained,
.inh-route-core.is-layout-flow {
	padding: 0.9rem 1rem 1rem;
	background-color: var(--mgc-color-primary);
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 10px 24px rgba(21, 49, 96, 0.18);
}

.inh-route-core .inh-route-kicker {
	margin-bottom: var(--mgc-space-4);
	color: color-mix(in srgb, var(--mgc-color-white) 72%, transparent);
}

.inh-route-core-title {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-white);
	font-family: var(--mgc-font-display);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.inh-route-core-item {
	margin: 0;
	padding-top: 0.4rem;
	border-top: 1px solid color-mix(in srgb, var(--mgc-color-white) 18%, transparent);
	color: var(--mgc-color-white);
	font-family: var(--mgc-font-display);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.35;
}

.inh-route-core-item + .inh-route-core-item {
	margin-top: 0.15rem;
}

.inh-route-core .inh-route-core-title + .inh-route-core-item {
	border-top: 0;
	padding-top: 0;
}

.inh-route-layer--dest {
	padding: 0.75rem 0.9rem;
	background-color: var(--mgc-color-surface-subtle);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
}

.inh-route-layer--dest .inh-route-kicker {
	margin-bottom: 0.35rem;
}

.inh-route-dest-label {
	margin: 0 0 0.2rem;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.inh-route-dest-copy {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.45;
}

.inh-care,
.inh-care.is-layout-flow,
.inh-care.is-layout-constrained {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: var(--mgc-space-24);
}

.entry-content > .wp-block-group.alignfull.is-layout-constrained > .inh-care {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.inh-care > * + * {
	margin-block-start: 0;
}

.inh-care-row,
.inh-care-row.is-layout-flow,
.inh-care-row.is-layout-constrained {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr);
	grid-template-areas:
		"num title"
		"num copy"
		"num scope";
	column-gap: var(--mgc-space-24);
	row-gap: var(--mgc-space-8);
	align-items: start;
	min-width: 0;
	margin: 0;
	padding: var(--mgc-space-24) 0;
	border-bottom: 1px solid var(--mgc-color-border);
}

.inh-care-row > *,
.inh-care-row.is-layout-flow > * + *,
.inh-care-row.is-layout-constrained > * + * {
	min-width: 0;
	margin: 0;
	margin-block-start: 0;
}

.inh-care-row:first-child {
	padding-top: var(--mgc-space-8);
}

.inh-care-row:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.inh-care-num {
	grid-area: num;
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-display);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.inh-care-title {
	grid-area: title;
	display: block;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.1875rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	overflow-wrap: break-word;
	text-wrap: wrap;
	white-space: normal;
}

.inh-care-copy {
	grid-area: copy;
	margin: 0;
	max-width: min(36rem, 100%);
	color: var(--mgc-color-muted-foreground);
	line-height: 1.55;
}

.inh-care-scope {
	grid-area: scope;
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.inh-plan-line {
	margin: 0 0 var(--mgc-space-32);
	color: var(--mgc-color-muted-foreground);
}

.inh-plan-split.wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--mgc-space-32);
	align-items: stretch;
	margin-top: 0;
}

.inh-plan-split.wp-block-columns > .wp-block-column {
	display: flex;
	flex-direction: column;
	margin: 0;
	width: auto;
	min-width: 0;
	flex-basis: auto !important;
}

.inh-plan-kicker {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.inh-plan-list,
.inh-plan-list.is-layout-flow,
.inh-plan-list.is-layout-constrained {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}

.inh-plan-list > * + * {
	margin-block-start: 0;
}

.inh-plan-item,
.inh-plan-item.is-layout-flow,
.inh-plan-item.is-layout-constrained {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--mgc-space-16);
	min-width: 0;
	margin: 0;
	padding: var(--mgc-space-16) 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--mgc-color-border);
}

.inh-plan-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.inh-plan-item > * + * {
	margin: 0;
	margin-block-start: 0;
}

.inh-plan-item .inh-plan-icon.wp-block-image,
.inh-plan-item .inh-plan-icon {
	flex: 0 0 24px;
	width: 24px;
	margin: 0;
}

.inh-plan-item .inh-plan-icon img {
	display: block;
	width: 24px;
	height: 24px;
}

.inh-plan-item p {
	margin: 0;
	min-width: 0;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.96875rem;
	font-weight: 500;
	line-height: 1.4;
}

.inh-plan-card,
.inh-plan-card.is-layout-constrained,
.inh-plan-card.is-layout-flow {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: var(--mgc-space-32);
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 16px 40px rgba(21, 49, 96, 0.08);
	text-align: left;
}

.inh-plan-card > * + * {
	margin-block-start: 0;
}

.inh-plan-card > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
	text-align: left;
}

.inh-plan-card .inh-plan-kicker {
	margin-bottom: var(--mgc-space-12);
	color: var(--mgc-color-primary);
}

.inh-plan-card-title {
	margin: 0 0 var(--mgc-space-16);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: clamp(1.5rem, 1.3rem + 0.7vw, 1.875rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-wrap: wrap;
}

.inh-plan-card-copy {
	margin: 0;
	max-width: 34em;
	color: var(--mgc-color-muted-foreground);
	line-height: 1.55;
}

.inh-plan-card-support {
	margin: var(--mgc-space-16) 0 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.5;
}

.inh-plan-route {
	margin: auto 0 0;
	padding-top: var(--mgc-space-24);
	border-top: 1px solid var(--mgc-color-border);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.inh-care-row,
	.inh-care-row.is-layout-flow,
	.inh-care-row.is-layout-constrained {
		grid-template-columns: 4.25rem minmax(0, 1fr) minmax(10rem, 13.5rem);
		grid-template-areas:
			"num title scope"
			"num copy scope";
		column-gap: var(--mgc-space-32);
		row-gap: var(--mgc-space-8);
		padding-block: var(--mgc-space-32);
	}

	.inh-care-num {
		font-size: 1.75rem;
		font-weight: 500;
		letter-spacing: 0.02em;
		line-height: 1.1;
	}

	.inh-care-scope {
		align-self: start;
		justify-self: end;
		padding-top: 0.35rem;
		text-align: right;
	}

	.inh-plan-split.wp-block-columns {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
		gap: var(--mgc-space-40);
	}

	.inh-plan-item {
		padding-block: var(--mgc-space-16);
	}
}

@media (min-width: 1024px) {
	.inh-care-row,
	.inh-care-row.is-layout-flow,
	.inh-care-row.is-layout-constrained {
		column-gap: var(--mgc-space-40);
		padding-block: var(--mgc-space-32);
	}

	.inh-care-copy {
		max-width: 38rem;
	}

	.inh-plan-split.wp-block-columns {
		gap: var(--mgc-space-48);
	}

	.inh-plan-card {
		padding: var(--mgc-space-40);
	}
}

@media (max-width: 781px) {
	.inh-route {
		max-width: 26rem;
		margin-block-start: var(--mgc-space-16);
		margin-inline: auto;
	}

	.page:has(.inh-factors) .fx-hero .fx-hero-actions.is-layout-flex {
		flex-direction: column;
		align-items: stretch;
	}

	.page:has(.inh-factors) .fx-hero .wp-block-buttons,
	.page:has(.inh-factors) .fx-hero .wp-block-button,
	.page:has(.inh-factors) .fx-hero .wp-block-button__link {
		width: 100%;
	}

	.page:has(.inh-factors) .fx-hero-secondary {
		min-height: 0;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.inh-care-row,
	.inh-care-row.is-layout-flow,
	.inh-care-row.is-layout-constrained {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"num"
			"title"
			"scope"
			"copy";
		row-gap: var(--mgc-space-8);
		padding-block: var(--mgc-space-16);
	}

	.inh-care-num {
		font-size: 0.8125rem;
		letter-spacing: 0.08em;
	}

	.inh-care-title {
		font-size: 1.0625rem;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		overflow-wrap: anywhere;
	}

	.inh-plan-line {
		margin-bottom: var(--mgc-space-24);
	}

	.inh-plan-split.wp-block-columns {
		gap: var(--mgc-space-24);
	}

	.inh-plan-item {
		gap: var(--mgc-space-12);
		padding-block: var(--mgc-space-12);
	}

	.inh-plan-card {
		padding: var(--mgc-space-24);
	}

	.inh-plan-card-title {
		font-size: 1.375rem;
	}

	.inh-plan-route {
		margin-top: var(--mgc-space-24);
		padding-top: var(--mgc-space-16);
	}
}

@media (min-width: 900px) {
	.fx-works {
		--fx-works-circle: 220px;
		--fx-works-arrow-track: 44px;
		--fx-works-arrow-length: 32px;
		--fx-works-icon-size: 72px;
		padding: var(--mgc-space-48) var(--mgc-space-24);
	}

	.fx-works-step,
	.fx-works-step.is-layout-constrained,
	.fx-works-step.is-layout-flow {
		padding: 1.05rem 0.95rem;
	}

	.fx-works-label {
		font-size: 0.9375rem;
	}

	.fx-works-icon,
	.fx-works-step .wp-block-image {
		margin: 0.25rem auto 0.3rem;
	}

	.fx-works-copy {
		max-width: 9.25rem;
		font-size: 0.8125rem;
		line-height: 1.35;
	}

	.fx-works-step::after {
		width: 46px;
		height: 46px;
		font-size: 0.9375rem;
	}

	.fx-works-title {
		font-size: clamp(1.875rem, 1.5rem + 0.8vw, 2.25rem);
	}

	.fx-works-diagram,
	.fx-works-diagram.is-layout-flow,
	.fx-works-diagram.is-layout-constrained,
	.fx-works-diagram.is-layout-flex {
		grid-template-columns:
			var(--fx-works-circle)
			var(--fx-works-arrow-track)
			var(--fx-works-circle)
			var(--fx-works-arrow-track)
			var(--fx-works-circle);
		grid-template-rows: auto;
	}

	.fx-works-step--1 {
		grid-area: 1 / 1;
	}

	.fx-works-diagram::before {
		grid-area: 1 / 2;
		width: var(--fx-works-arrow-length);
		height: 14px;
		clip-path: polygon(0 35%, 72% 35%, 72% 0, 100% 50%, 72% 100%, 72% 65%, 0 65%);
	}

	.fx-works-step--2 {
		grid-area: 1 / 3;
	}

	.fx-works-diagram::after {
		grid-area: 1 / 4;
		width: var(--fx-works-arrow-length);
		height: 14px;
		clip-path: polygon(0 35%, 72% 35%, 72% 0, 100% 50%, 72% 100%, 72% 65%, 0 65%);
	}

	.fx-works-step--3 {
		grid-area: 1 / 5;
	}
}

@media (min-width: 1024px) {
	.fx-hero,
	.fx-process,
	.fx-offer,
	.fx-why,
	.fx-ait,
	.fx-form,
	.fx-reviews,
	.fx-faq,
	.fx-final-cta,
	.inh-factors,
	.inh-process,
	.inh-plan,
	.tax-insight,
	.tax-journey,
	.tax-diag,
	.tax-changes,
	.tax-file,
	.tax-clock,
	.tax-pricing {
		padding-block: var(--mgc-space-64);
	}

	.fx-hero {
		padding-block: var(--mgc-space-48) var(--mgc-space-64);
	}

	.fx-form-layout > .wp-block-column:last-child {
		flex-basis: 40.5rem !important;
		max-width: 42.5rem;
	}
}

.tax-hero {
	background-color: var(--mgc-color-white);
	border-bottom: 1px solid var(--mgc-color-border);
}

.tax-hero h1 {
	max-width: 14.5em;
}

.tax-hero .fx-hero-grid {
	gap: var(--mgc-space-32) var(--mgc-space-40);
}

.tax-hero-fees,
.tax-hero-fees.is-layout-flex {
	display: none;
}

.tax-dossier {
	width: 100%;
	position: relative;
	padding: 1.45rem 1.5rem 1.1rem;
	background-color: var(--mgc-color-white);
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 14%, var(--mgc-color-border));
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 22px 48px rgba(21, 49, 96, 0.12);
}

.tax-dossier,
.tax-dossier.is-layout-constrained,
.tax-dossier-rows,
.tax-dossier-letterhead,
.tax-dossier-row {
	min-width: 0;
}

.tax-dossier.is-layout-constrained > *,
.tax-dossier-rows > *,
.tax-dossier-letterhead > *,
.tax-dossier-row > *,
.tax-dossier > * + *,
.tax-dossier-rows > * + *,
.tax-file-item > *,
.tax-file-items > *,
.tax-file-head > *,
.tax-journey-step > *,
.tax-journey-track > *,
.tax-diag-q > *,
.tax-diag-questions > *,
.tax-diag-visual > *,
.tax-change > *,
.tax-changes-grid > *,
.tax-clock-visual > *,
.tax-clock-years > *,
.tax-pricing-layout > *,
.tax-pricing-figures > *,
.tax-price-block > *,
.tax-pricing-scope > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	margin-block-start: 0;
}

.tax-dossier-letterhead,
.tax-dossier-letterhead.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--mgc-space-8) var(--mgc-space-16);
	margin: 0 0 var(--mgc-space-16);
}

.tax-dossier-ref,
.tax-dossier-stamp {
	margin: 0;
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-dossier-ref {
	color: var(--mgc-color-muted-foreground);
}

.tax-dossier-stamp {
	padding: 0.28rem 0.55rem;
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 35%, var(--mgc-color-border));
	border-radius: 2px;
	color: var(--mgc-color-primary);
}

.tax-dossier-title {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.tax-dossier-note {
	margin: 0 0 var(--mgc-space-16);
	max-width: 28em;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.45;
}

.tax-dossier-rows,
.tax-dossier-rows.is-layout-flow {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	border-top: 1px solid var(--mgc-color-border);
}

.tax-dossier-row,
.tax-dossier-row.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--mgc-space-12);
	margin: 0;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--mgc-color-border);
}

.tax-dossier-label {
	margin: 0;
	min-width: 0;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.3;
}

.tax-dossier-mark {
	flex: 0 0 auto;
	margin: 0;
	min-width: 1.25rem;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-display);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	text-align: right;
}

.tax-dossier-row--done .tax-dossier-mark {
	color: var(--mgc-color-primary);
}

.tax-dossier-row--next .tax-dossier-label {
	color: var(--mgc-color-primary);
}

.tax-insight {
	text-align: center;
	padding-block: var(--mgc-space-64);
}

.tax-insight-kicker {
	margin: 0 0 var(--mgc-space-16);
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-insight > h2 {
	max-width: 18em;
	margin-inline: auto;
	margin-bottom: var(--mgc-space-24);
	color: var(--mgc-color-primary);
}

.tax-insight > p {
	max-width: 38em;
	margin-inline: auto;
	margin-bottom: var(--mgc-space-16);
}

.tax-insight-aside {
	max-width: 36em;
	margin: 0 auto;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.5;
}

.tax-journey > p,
.tax-diag > p,
.tax-changes > p,
.tax-file > p,
.tax-clock > p:not(.tax-clock-note):not(.tax-clock-start):not(.tax-clock-end):not(.tax-clock-arrow):not(.tax-clock-year),
.tax-pricing > p {
	max-width: 40rem;
	margin-bottom: var(--mgc-space-32);
}

.tax-journey-track,
.tax-journey-track.is-layout-flow {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: var(--mgc-space-16);
	padding-left: 0;
}

.tax-journey-track::before {
	display: none;
}

.tax-journey-step,
.tax-journey-step.is-layout-constrained,
.tax-journey-step.is-layout-flow {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	margin: 0;
	padding: 0 0 var(--mgc-space-48) 3.9rem;
	text-align: left;
}

.tax-journey-step:last-child {
	padding-bottom: 0;
	z-index: 1;
}

.tax-journey-step::before {
	content: "";
	position: absolute;
	left: 1.325rem;
	top: 1.325rem;
	bottom: -1.325rem;
	z-index: 0;
	width: 2.5px;
	transform: translateX(-50%);
	background-color: color-mix(in srgb, var(--mgc-color-primary) 72%, transparent);
}

.tax-journey-step:last-child::before {
	content: none;
	display: none;
}

.tax-journey-num {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	margin: 0;
	border: 2px solid var(--mgc-color-primary);
	border-radius: 50%;
	background-color: var(--mgc-color-surface-subtle);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.tax-journey-title {
	margin: 0.4rem 0 var(--mgc-space-12);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	text-align: left;
	text-wrap: wrap;
}

.tax-journey-copy {
	margin: 0;
	max-width: 34rem;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
}

.tax-diag > h2 {
	max-width: 11em;
	margin-bottom: var(--mgc-space-24);
	text-align: left;
}

.tax-diag > h2::after {
	content: "";
	display: block;
	width: 2.75rem;
	height: 2px;
	margin-top: 1.15rem;
	background-color: var(--mgc-color-primary);
}

.tax-diag > .wp-block-columns {
	gap: 0;
	margin: 0;
}

.tax-diag > .wp-block-columns > .wp-block-column:not(:has(.tax-diag-visual)) {
	display: none;
}

.tax-diag > .wp-block-columns > .wp-block-column:has(.tax-diag-visual) {
	flex-basis: 100% !important;
	width: 100%;
}

.tax-diag-visual,
.tax-diag-visual.is-layout-flow,
.tax-diag-visual.is-layout-flex {
	display: block;
	margin: 0;
	padding: 0.2rem 1.125rem;
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
	box-shadow: none;
}

.tax-diag-visual > .wp-block-group,
.tax-diag-visual > .wp-block-group.is-layout-flex {
	display: block;
	gap: 0;
	margin: 0;
}

.tax-diag-questions,
.tax-diag-questions.is-layout-flow {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
}

.tax-diag-questions::before,
.tax-diag-questions::after,
.tax-diag-q::before,
.tax-diag-q:last-child::before {
	content: none;
	display: none;
}

.tax-diag-q,
.tax-diag-q.is-layout-flow {
	position: relative;
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	column-gap: 0.85rem;
	align-items: center;
	margin: 0;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--mgc-color-border);
	background: transparent;
	box-shadow: none;
}

.tax-diag-q:last-child {
	border-bottom: 0;
}

.tax-diag-q-num {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-display);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-align: left;
}

.tax-diag-q-text {
	margin: 0;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.4;
}

.tax-diag-result,
.tax-diag-result.is-layout-constrained {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: var(--mgc-space-24) var(--mgc-space-24) var(--mgc-space-24) var(--mgc-space-32);
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-left: 3px solid var(--mgc-color-primary);
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 16px 40px rgba(21, 49, 96, 0.06);
}

.tax-diag-result.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.tax-diag-result-kicker {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-diag-result-title {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.tax-diag-result-copy {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	line-height: 1.55;
}

.tax-changes-grid,
.tax-changes-grid.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin-top: var(--mgc-space-8);
	border-top: 1px solid var(--mgc-color-border);
}

.tax-change,
.tax-change.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"num icon"
		"title title"
		"copy copy";
	column-gap: var(--mgc-space-16);
	row-gap: var(--mgc-space-12);
	align-items: start;
	margin: 0;
	padding: var(--mgc-space-32) 0;
	border-bottom: 1px solid var(--mgc-color-border);
	background: transparent;
}

.tax-change:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tax-change-num {
	grid-area: num;
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-display);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.tax-change-icon.wp-block-image,
.tax-change-icon {
	grid-area: icon;
	align-self: start;
	width: 24px;
	margin: 0;
}

.tax-change-icon img {
	display: block;
	width: 24px;
	height: 24px;
}

.tax-change-title {
	grid-area: title;
	margin: 0;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	text-wrap: wrap;
}

.tax-change-copy {
	grid-area: copy;
	margin: 0;
	max-width: 34em;
	color: var(--mgc-color-muted-foreground);
	line-height: 1.6;
}

.tax-file-split.wp-block-columns {
	align-items: stretch;
	margin-top: var(--mgc-space-8);
	gap: var(--mgc-space-32);
}

.tax-file-split > .wp-block-column:first-child > p {
	max-width: 34em;
}

.tax-file-dossier,
.tax-file-dossier.is-layout-constrained {
	position: relative;
	overflow: hidden;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: var(--mgc-color-white);
	border: 1px solid color-mix(in srgb, var(--mgc-color-primary) 18%, var(--mgc-color-border));
	border-radius: var(--mgc-radius-card);
	box-shadow: 0 22px 48px rgba(21, 49, 96, 0.1);
}

.tax-file-dossier::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	width: 5px;
	background-color: color-mix(in srgb, var(--mgc-color-primary) 82%, #0b1c38);
}

.tax-file-head,
.tax-file-head.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem var(--mgc-space-16);
	margin: 0;
	padding: 1.15rem 1.5rem 1.15rem 1.7rem;
	background-color: var(--mgc-color-primary);
}

.tax-file-head-title,
.tax-file-head-meta {
	margin: 0;
	color: var(--mgc-color-white);
	font-family: var(--mgc-font-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-file-head-meta {
	color: color-mix(in srgb, var(--mgc-color-white) 72%, transparent);
}

.tax-file-items,
.tax-file-items.is-layout-flow {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0.4rem 1.5rem 1rem 1.7rem;
}

.tax-file-item,
.tax-file-item.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mgc-space-16);
	margin: 0;
	padding: 0.95rem 0;
	border-bottom: 1px solid var(--mgc-color-border);
}

.tax-file-item:last-child {
	border-bottom: 0;
}

.tax-file-mark {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	border-radius: 50%;
	background-color: color-mix(in srgb, var(--mgc-color-primary) 10%, transparent);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.tax-file-item:where(:nth-child(-n + 4)) .tax-file-mark {
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
}

.tax-file-item:where(:nth-child(n + 5):nth-child(-n + 6)) .tax-file-mark {
	background-color: color-mix(in srgb, var(--mgc-color-primary) 12%, transparent);
	color: var(--mgc-color-primary);
}

.tax-file-item:where(:nth-child(n + 7)) .tax-file-mark {
	background-color: transparent;
	border: 1.5px solid var(--mgc-color-border);
	color: transparent;
}

.tax-file-item:where(:nth-child(n + 7)) p:not(.tax-file-mark) {
	color: var(--mgc-color-muted-foreground);
	font-weight: 500;
}

.tax-file-item.is-complete .tax-file-mark {
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
	border: 0;
}

.tax-file-item.is-pending .tax-file-mark {
	background-color: color-mix(in srgb, var(--mgc-color-primary) 12%, transparent);
	color: var(--mgc-color-primary);
	border: 0;
}

.tax-file-item.is-later .tax-file-mark {
	background-color: transparent;
	border: 1.5px solid var(--mgc-color-border);
	color: transparent;
}

.tax-file-item.is-complete p:not(.tax-file-mark),
.tax-file-item.is-pending p:not(.tax-file-mark) {
	color: var(--mgc-color-foreground);
	font-weight: 600;
}

.tax-file-item.is-later p:not(.tax-file-mark) {
	color: var(--mgc-color-muted-foreground);
	font-weight: 500;
}

.tax-file-item p:not(.tax-file-mark) {
	margin: 0;
	min-width: 0;
	color: var(--mgc-color-foreground);
	font-family: var(--mgc-font-display);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.35;
}

.tax-clock {
	background-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
	border-block: 0;
}

.tax-clock h2,
.tax-clock p,
.tax-clock .tax-clock-start,
.tax-clock .tax-clock-end,
.tax-clock .tax-clock-year,
.tax-clock .tax-clock-note {
	color: var(--mgc-color-white);
}

.tax-clock > p {
	color: color-mix(in srgb, var(--mgc-color-white) 86%, transparent);
}

.tax-clock-visual,
.tax-clock-visual.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	margin: var(--mgc-space-16) 0 var(--mgc-space-32);
	padding: var(--mgc-space-40) var(--mgc-space-24);
	background-color: color-mix(in srgb, var(--mgc-color-white) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--mgc-color-white) 18%, transparent);
	border-radius: var(--mgc-radius-card);
}

.tax-clock-start,
.tax-clock-end {
	margin: 0;
	text-align: center;
	font-family: var(--mgc-font-display);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tax-clock-start {
	padding: 0.95rem 1.15rem;
	border: 1px solid color-mix(in srgb, var(--mgc-color-white) 28%, transparent);
	border-radius: var(--mgc-radius-md);
}

.tax-clock-end {
	padding: 1.1rem 1.15rem;
	background-color: color-mix(in srgb, var(--mgc-color-white) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--mgc-color-white) 36%, transparent);
	border-radius: var(--mgc-radius-md);
	font-size: 0.9375rem;
}

.tax-clock-arrow {
	margin: 0.65rem 0;
	color: color-mix(in srgb, var(--mgc-color-white) 88%, transparent);
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.tax-clock-years,
.tax-clock-years.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.25rem;
	margin: 0.35rem 0;
}

.tax-clock-year {
	position: relative;
	margin: 0;
	padding: 1.15rem 1.15rem;
	border: 1.5px solid color-mix(in srgb, var(--mgc-color-white) 42%, transparent);
	border-radius: var(--mgc-radius-pill);
	text-align: center;
	font-family: var(--mgc-font-display);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-clock-year:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	width: 2.5px;
	height: 1.25rem;
	background-color: color-mix(in srgb, var(--mgc-color-white) 62%, transparent);
	transform: translateX(-50%);
}

.tax-clock-year--last {
	background-color: color-mix(in srgb, var(--mgc-color-white) 16%, transparent);
}

.tax-clock-note {
	margin: 0;
	max-width: 40rem;
	color: color-mix(in srgb, var(--mgc-color-white) 88%, transparent);
	font-size: var(--mgc-font-size-large);
	line-height: 1.5;
}

.tax-pricing-layout,
.tax-pricing-layout.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--mgc-space-32);
	align-items: start;
	margin-top: var(--mgc-space-8);
}

.tax-pricing-figures,
.tax-pricing-figures.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--mgc-space-16);
	align-items: stretch;
}

.tax-price-block,
.tax-price-block.is-layout-constrained {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	min-height: 7.5rem;
	margin: 0;
	padding: var(--mgc-space-32) var(--mgc-space-24);
	background-color: var(--mgc-color-white);
	border: 1px solid var(--mgc-color-border);
	border-radius: var(--mgc-radius-card);
	text-align: left;
}

.tax-price-block--main,
.tax-price-block--main.is-layout-constrained,
.tax-price-block--main.is-layout-flow {
	background-color: var(--mgc-color-primary);
	border-color: var(--mgc-color-primary);
	color: var(--mgc-color-white);
}

.tax-price-amount {
	margin: 0;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: clamp(2rem, 1.6rem + 1.4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
}

.tax-price-block--main .tax-price-amount,
.tax-price-block--main .tax-price-label {
	color: var(--mgc-color-white);
}

.tax-price-label {
	margin: var(--mgc-space-8) 0 0;
	color: var(--mgc-color-muted-foreground);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tax-pricing-scope-kicker {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-family: var(--mgc-font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tax-price-scope {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tax-price-scope li {
	position: relative;
	margin: 0;
	padding: 0.7rem 0 0.7rem 1.35rem;
	border-bottom: 1px solid var(--mgc-color-border);
	color: var(--mgc-color-foreground);
	font-weight: 500;
	line-height: 1.45;
}

.tax-price-scope li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tax-price-scope li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05rem;
	width: 0.5rem;
	height: 0.5rem;
	border: 1px solid var(--mgc-color-primary);
	border-radius: var(--mgc-radius-pill);
}

@media (min-width: 640px) {
	.tax-pricing-figures,
	.tax-pricing-figures.is-layout-flow {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
	}
}

@media (min-width: 768px) {
	.tax-changes-grid,
	.tax-changes-grid.is-layout-flow {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tax-change:nth-child(odd) {
		padding-right: var(--mgc-space-32);
		border-right: 1px solid var(--mgc-color-border);
	}

	.tax-change:nth-child(even) {
		padding-left: var(--mgc-space-32);
	}

	.tax-change:nth-child(-n + 2) {
		padding-top: var(--mgc-space-32);
	}

	.tax-change:nth-child(n + 3) {
		border-bottom: 0;
		padding-bottom: 0;
	}

	.tax-hero .fx-hero-grid > .wp-block-column:first-child {
		flex-basis: 52% !important;
	}

	.tax-hero .fx-hero-grid > .wp-block-column:last-child {
		flex-basis: 48% !important;
	}
}

@media (min-width: 768px) {
	.entry-content > .wp-block-group.alignfull.tax-diag.is-layout-constrained {
		display: grid;
		grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
		column-gap: clamp(1.75rem, 3vw, 3.5rem);
		align-items: center;
		box-sizing: border-box;
		width: min(100%, calc(var(--mgc-container-wide) + (2 * var(--mgc-gutter))));
		margin-inline: auto;
	}

	.tax-diag > h2 {
		margin-bottom: 0;
		padding-top: 0.15rem;
	}

	.tax-diag-visual,
	.tax-diag-visual.is-layout-flow,
	.tax-diag-visual.is-layout-flex {
		padding-inline: 1.5rem;
	}

	.tax-diag-q-text {
		font-size: 1.0625rem;
	}
}

@media (min-width: 1024px) {
	.tax-insight {
		padding-block: var(--mgc-space-80);
	}

	.tax-journey-track,
	.tax-journey-track.is-layout-flow {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: var(--mgc-space-24);
		margin-top: var(--mgc-space-32);
		padding: 0;
	}

	.tax-journey-track::before {
		content: "";
		display: block;
		position: absolute;
		top: 1.625rem;
		bottom: auto;
		left: calc((100% - (4 * var(--mgc-space-24))) / 10);
		right: calc((100% - (4 * var(--mgc-space-24))) / 10);
		width: auto;
		height: 2.5px;
		transform: none;
		background-color: color-mix(in srgb, var(--mgc-color-primary) 72%, transparent);
	}

	.tax-journey-step::before {
		display: none;
		content: none;
	}

	.tax-journey-step,
	.tax-journey-step.is-layout-constrained,
	.tax-journey-step.is-layout-flow {
		align-items: center;
		padding: 0;
		text-align: center;
	}

	.tax-journey-num {
		position: relative;
		left: auto;
		top: auto;
		width: 3.25rem;
		height: 3.25rem;
		margin: 0 auto var(--mgc-space-16);
		background-color: var(--mgc-color-white);
		font-size: 0.9375rem;
	}

	.tax-journey-title {
		margin-top: 0;
		font-size: 1.25rem;
		text-align: center;
	}

	.tax-journey-copy {
		text-align: center;
	}

	.tax-file-split.wp-block-columns {
		gap: var(--mgc-space-48);
	}

	.tax-clock-visual,
	.tax-clock-visual.is-layout-flow {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		align-items: center;
		min-height: 26rem;
		padding: var(--mgc-space-64) var(--mgc-space-48);
		gap: 0;
	}

	.tax-clock-start,
	.tax-clock-arrow,
	.tax-clock-years,
	.tax-clock-end {
		grid-column: 1 / -1;
	}

	.tax-clock-start {
		width: auto;
		max-width: 28rem;
		padding: 1rem 1.75rem;
		font-size: 1.125rem;
	}

	.tax-clock-years,
	.tax-clock-years.is-layout-flow {
		flex-direction: row;
		align-items: center;
		gap: 0;
		width: 100%;
		max-width: 52rem;
		margin: 0.15rem 0;
	}

	.tax-clock-year {
		flex: 1 1 0;
		padding: 1.45rem 1rem;
		font-size: 1.25rem;
	}

	.tax-clock-year:not(:last-child) {
		margin-right: 2.75rem;
	}

	.tax-clock-year:not(:last-child)::after {
		top: 50%;
		left: calc(100% + 0.45rem);
		width: 1.85rem;
		height: 2.5px;
		transform: none;
	}

	.tax-clock-arrow {
		font-size: 1.65rem;
		margin: 1rem 0;
	}

	.tax-clock-end {
		width: auto;
		max-width: 28rem;
		padding: 1.2rem 1.75rem;
		font-size: 1.0625rem;
	}

	.tax-pricing-layout,
	.tax-pricing-layout.is-layout-flow {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		gap: var(--mgc-space-48);
		align-items: stretch;
	}
}

@media (max-width: 781px) {
	.tax-dossier {
		max-width: 36rem;
		margin-block-start: var(--mgc-space-16);
		margin-inline: auto;
	}

	.tax-file-head,
	.tax-file-head.is-layout-flex {
		flex-direction: column;
		align-items: flex-start;
	}

	.page:has(.tax-insight) .fx-hero .fx-hero-actions.is-layout-flex {
		flex-direction: column;
		align-items: stretch;
	}

	.page:has(.tax-insight) .fx-hero .wp-block-buttons,
	.page:has(.tax-insight) .fx-hero .wp-block-button,
	.page:has(.tax-insight) .fx-hero .wp-block-button__link {
		width: 100%;
	}

	.page:has(.tax-insight) .fx-hero-secondary {
		min-height: 0;
		justify-content: center;
	}
}

.editor-styles-wrapper .tax-journey-track::before,
.editor-styles-wrapper .tax-journey-step::before,
.editor-styles-wrapper .tax-diag-questions::before,
.editor-styles-wrapper .tax-diag-questions::after,
.editor-styles-wrapper .tax-diag-q::before,
.editor-styles-wrapper .tax-diag-result::before,
.editor-styles-wrapper .tax-diag-result::after,
.editor-styles-wrapper .tax-file-dossier::before,
.editor-styles-wrapper .tax-clock-year::after {
	display: none;
}

.editor-styles-wrapper .tax-dossier,
.editor-styles-wrapper .tax-file-dossier,
.editor-styles-wrapper .tax-diag-result,
.editor-styles-wrapper .tax-price-block {
	border: 1px solid var(--mgc-color-border);
}

.fx-hero.contact-hero {
	position: relative;
	overflow: hidden;
	padding-block: var(--mgc-space-40) var(--mgc-space-16);
}

.contact-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: url("assets/images/world-map-muted.svg");
	background-repeat: no-repeat;
	background-position: right 4% center;
	background-size: min(42rem, 58vw) auto;
	opacity: 0.2;
}

.contact-hero > * {
	position: relative;
	z-index: 1;
}

.contact-hero > p {
	max-width: 36rem;
	margin-bottom: 0;
	color: var(--mgc-color-muted-foreground);
}

.contact-main {
	padding-block: var(--mgc-space-12) var(--mgc-space-64);
}

.contact-layout.wp-block-columns {
	align-items: flex-start;
	gap: var(--mgc-space-32);
}

.contact-form,
.contact-form.is-layout-constrained,
.contact-aside,
.contact-aside.is-layout-constrained,
.contact-offices,
.contact-offices.is-layout-constrained,
.contact-region,
.contact-region.is-layout-constrained,
.contact-office,
.contact-office.is-layout-constrained,
.contact-direct,
.contact-direct.is-layout-constrained {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	gap: 0;
	text-align: left;
}

.contact-form.wp-block-group-is-layout-constrained > *,
.contact-aside.wp-block-group-is-layout-constrained > *,
.contact-offices.wp-block-group-is-layout-constrained > *,
.contact-region.wp-block-group-is-layout-constrained > *,
.contact-office.wp-block-group-is-layout-constrained > *,
.contact-direct.wp-block-group-is-layout-constrained > *,
.contact-form.is-layout-constrained > *,
.contact-aside.is-layout-constrained > *,
.contact-offices.is-layout-constrained > *,
.contact-region.is-layout-constrained > *,
.contact-office.is-layout-constrained > *,
.contact-direct.is-layout-constrained > *,
.contact-form > * + *,
.contact-aside > * + *,
.contact-offices > * + *,
.contact-region > * + *,
.contact-office > * + *,
.contact-direct > * + * {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-block-start: 0;
	text-align: left;
	justify-self: start;
}

.contact-form h2,
.contact-form .wp-block-heading,
.contact-aside h2,
.contact-aside > .wp-block-heading {
	width: 100%;
	margin-bottom: var(--mgc-space-8);
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-h2);
	text-align: left;
	text-wrap: wrap;
}

.contact-form > p {
	max-width: none;
	margin-bottom: var(--mgc-space-16);
	color: var(--mgc-color-muted-foreground);
	text-align: left;
}

.contact-aside > .wp-block-heading {
	margin-bottom: var(--mgc-space-16);
}

.contact-form .fx-account-form,
.contact-form .wpcf7 form,
.contact-form form.wpcf7-form {
	gap: var(--mgc-space-12);
	padding: var(--mgc-space-24);
	box-shadow: none;
	border: 1px solid var(--mgc-color-border);
}

.contact-form .fx-account-form .fx-form-field > label,
.contact-form .fx-form-field > label,
.contact-form .wpcf7 label,
.contact-form .wpcf7-form label {
	display: block;
	margin-bottom: var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
}

.contact-form .fx-account-form textarea {
	min-height: 4.75rem;
}

.contact-form .fx-form-actions {
	padding-top: 0;
}

.contact-form .fx-form-actions input[type="submit"],
.contact-form .wpcf7 input[type="submit"],
.contact-form .wpcf7-submit {
	width: auto;
}

.contact-form .wpcf7,
.contact-form .wpcf7 form,
.contact-form form.wpcf7-form {
	margin: 0;
}

.contact-form .wpcf7 form,
.contact-form form.wpcf7-form {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: var(--mgc-color-white);
	border-radius: var(--mgc-radius-card);
}

.contact-form .wpcf7 form > p,
.contact-form form.wpcf7-form > p {
	margin: 0;
}

.contact-form .wpcf7-form-control-wrap {
	display: block;
}

.contact-form .wpcf7-not-valid-tip {
	margin-top: var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-small);
}

.contact-form .wpcf7-form .wpcf7-response-output {
	margin: var(--mgc-space-24) 0 0;
	padding: var(--mgc-space-16) var(--mgc-space-24);
	border-radius: var(--mgc-radius-card);
	background-color: var(--mgc-color-white);
	font-size: var(--mgc-font-size-small);
	line-height: 1.5;
	color: var(--mgc-color-foreground);
}

.contact-form form.wpcf7-form {
	gap: 0;
}

.contact-form .wpcf7-form .fx-form-field {
	margin-bottom: 18px;
}

.contact-form .wpcf7-form .fx-form-field p {
	margin: 0;
}

.contact-form .wpcf7-form .fx-form-field br {
	display: none;
}

.contact-form .wpcf7-form .fx-form-field:has(+ .fx-form-actions) {
	margin-bottom: 0;
}

.contact-form .wpcf7-form .fx-form-actions {
	margin-top: 20px;
}

.contact-form .wpcf7-form .contact-form-privacy {
	margin: var(--mgc-space-12) 0 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.5;
}

.contact-form .wpcf7-form .contact-form-privacy p {
	margin: 0;
}

.contact-form .wpcf7-form .contact-form-privacy a {
	color: var(--mgc-color-muted-foreground);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.contact-form .wpcf7-form .contact-form-privacy a:hover,
.contact-form .wpcf7-form .contact-form-privacy a:focus-visible {
	color: var(--mgc-color-primary);
}

.contact-form .wpcf7-form textarea {
	height: 180px;
	min-height: 180px;
}

.contact-offices {
	padding: var(--mgc-space-24);
	background-color: var(--mgc-color-white);
	background-image: none;
	box-shadow: none;
}

.contact-offices::before,
.contact-offices::after {
	content: none;
	display: none;
}

.contact-region + .contact-region,
.contact-offices > .contact-direct {
	margin-top: var(--mgc-space-24);
	padding-top: var(--mgc-space-24);
	border-top: 1px solid var(--mgc-color-border);
}

.contact-office + .contact-office {
	margin-top: var(--mgc-space-16);
	padding-top: 0;
	border-top: 0;
}

.contact-office-name,
h3.wp-block-heading.contact-office-name {
	display: flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--mgc-space-8);
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: var(--mgc-font-size-large);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	text-align: left;
	text-wrap: wrap;
}

.contact-office-name::before {
	content: "";
	flex-shrink: 0;
	width: 1.1rem;
	height: 1.1rem;
	background-image: url("assets/images/icon-map-pin.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.contact-office-address {
	margin: 0;
	padding-left: calc(1.1rem + var(--mgc-space-8));
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-small);
	line-height: 1.55;
	text-align: left;
}

.contact-direct .inh-route-kicker {
	margin-bottom: var(--mgc-space-8);
	text-align: left;
}

.contact-email {
	margin: 0;
}

.contact-email a {
	display: inline-flex;
	align-items: center;
	gap: var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-weight: 500;
	text-decoration: none;
}

.contact-email a::before {
	content: "";
	flex-shrink: 0;
	width: 1.1rem;
	height: 1.1rem;
	background-image: url("assets/images/icon-mail.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.contact-email a:hover {
	color: var(--mgc-color-primary-hover);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (min-width: 782px) {
	.contact-layout.wp-block-columns {
		align-items: flex-start;
		gap: var(--mgc-space-40);
	}
}

@media (min-width: 1024px) {
	.fx-hero.contact-hero {
		padding-block: var(--mgc-space-48) var(--mgc-space-16);
	}

	.contact-main {
		padding-block: var(--mgc-space-12) var(--mgc-space-80);
	}

	.contact-layout.wp-block-columns {
		gap: var(--mgc-space-48);
	}
}

@media (max-width: 781px) {
	.contact-layout.wp-block-columns,
	.contact-layout.wp-block-columns > .wp-block-column {
		align-items: stretch;
		min-height: 0;
		height: auto;
	}

	.contact-layout.wp-block-columns {
		gap: var(--mgc-space-24);
	}

	.contact-form .fx-account-form,
	.contact-form .wpcf7 form,
	.contact-form form.wpcf7-form,
	.contact-offices {
		padding: var(--mgc-space-24);
	}

	.contact-form .fx-form-actions,
	.contact-form .wpcf7-form .fx-form-actions {
		width: 100%;
	}

	.contact-form .fx-form-actions input[type="submit"],
	.contact-form .wpcf7 input[type="submit"],
	.contact-form .wpcf7-submit {
		width: 100%;
	}

	.contact-hero::before {
		background-position: center top;
		background-size: min(28rem, 90vw) auto;
		opacity: 0.14;
	}
}

.editor-styles-wrapper .contact-hero::before {
	opacity: 0.16;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
	}
}

/* Phones keep the same type roles, at a tighter size and rhythm. */
@media (max-width: 781px) {
	:root {
		--mgc-font-size-page-title: 2rem;
		--mgc-font-size-h2: 1.625rem;
		--mgc-font-size-reading-heading: 1.375rem;
		--mgc-header-height: 4.25rem;
	}

	:root h1 {
		font-size: var(--mgc-font-size-page-title);
		line-height: 1.12;
	}

	:root h2 {
		font-size: var(--mgc-font-size-h2);
	}

	.site-branding .custom-logo {
		height: 3.5rem;
		max-height: 3.5rem;
	}

	.home-hero,
	.fx-hero,
	.fx-hero.contact-hero,
	.fx-process,
	.fx-offer,
	.fx-why,
	.fx-ait,
	.fx-form,
	.fx-reviews,
	.fx-faq,
	.fx-final-cta,
	.fx-works,
	.inh-factors,
	.inh-process,
	.inh-plan,
	.tax-insight,
	.tax-journey,
	.tax-diag,
	.tax-changes,
	.tax-file,
	.tax-clock,
	.tax-pricing,
	.contact-main {
		padding-block: var(--mgc-space-32);
	}
}

/* Phone-only scale for the Foreign Exchange process, reasons and account form.
   The row layout from 900px upward keeps the desktop sizes. */
@media (max-width: 781px) {
	.fx-works {
		--fx-works-circle: min(208px, 74vw);
		--fx-works-arrow-track: 22px;
		--fx-works-arrow-length: 18px;
		--fx-works-icon-size: 52px;
		padding: var(--mgc-space-8) 0 0;
	}

	.fx-works-title {
		font-size: 1.2rem;
		line-height: 1.3;
	}

	.fx-works-diagram,
	.fx-works-diagram.is-layout-flow,
	.fx-works-diagram.is-layout-constrained,
	.fx-works-diagram.is-layout-flex {
		margin: var(--mgc-space-16) auto var(--mgc-space-8);
	}

	.fx-works-diagram.is-layout-flow > *,
	.fx-works-diagram.is-layout-constrained > * {
		margin-block-start: 0;
	}

	.fx-works-diagram::before,
	.fx-works-diagram::after {
		width: 10px;
	}

	.fx-works-step,
	.fx-works-step.is-layout-constrained,
	.fx-works-step.is-layout-flow {
		padding: 0.7rem 0.65rem 0.55rem;
		border-width: 3px;
	}

	.fx-works-step.is-layout-constrained > *,
	.fx-works-step.is-layout-flow > * {
		max-width: 8.4rem;
		margin-block-start: 0;
	}

	.fx-works-label {
		font-size: 0.8125rem;
		letter-spacing: 0.06em;
	}

	.fx-works-icon,
	.fx-works-step .wp-block-image {
		margin: 0.3rem 0 0.35rem;
	}

	.fx-works-copy {
		max-width: 8.4rem;
		font-size: 0.8125rem;
		line-height: 1.35;
	}

	.fx-works-step::after {
		top: 6px;
		right: -2px;
		width: 38px;
		height: 38px;
		border-width: 3px;
		font-size: 0.8125rem;
	}

	.fx-works-note {
		font-size: 0.9375rem;
		line-height: 1.4;
	}

	.fx-why {
		padding-block: var(--mgc-space-24);
	}

	.fx-why-grid,
	.fx-why-grid.is-layout-flow,
	.fx-why-grid.is-layout-constrained {
		--fx-why-pad-block: var(--mgc-space-8);
		--fx-why-pad-inline: var(--mgc-space-4);
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		row-gap: var(--mgc-space-32);
		column-gap: var(--mgc-space-24);
		margin-top: var(--mgc-space-8);
	}

	.fx-why-grid.is-layout-flow > *,
	.fx-why-item.is-layout-constrained > *,
	.fx-why-item.is-layout-flow > * {
		margin-block-start: 0;
	}

	.fx-why-item,
	.fx-why-item.is-layout-constrained,
	.fx-why-item.is-layout-flow,
	.fx-why-item:nth-child(-n + 2),
	.fx-why-item:nth-child(n + 3),
	.fx-why-item:nth-child(n + 5),
	.fx-why-item:nth-child(odd),
	.fx-why-item:nth-child(even) {
		min-width: 0;
		padding: var(--fx-why-pad-block) var(--fx-why-pad-inline);
		border: 0;
	}

	.fx-why-item.is-layout-constrained > *,
	.fx-why-item.is-layout-flow > * {
		max-width: none;
	}

	.fx-why-item .fx-why-icon.wp-block-image,
	.fx-why-item .fx-why-icon {
		width: 2rem;
		height: 2rem;
		margin: 0 auto var(--mgc-space-16);
	}

	.fx-why-item .fx-why-icon img {
		width: 2rem !important;
		height: 2rem !important;
		max-width: 2rem;
	}

	.fx-why-item h3 {
		max-width: 100%;
		margin-bottom: var(--mgc-space-8);
		font-size: 1rem;
		line-height: 1.3;
		text-wrap: wrap;
		overflow-wrap: break-word;
	}

	.fx-why-item p {
		max-width: 100%;
		font-size: 0.8125rem;
		line-height: 1.45;
		text-wrap: wrap;
		overflow-wrap: break-word;
	}

	.fx-why-item .fx-why-amount {
		font-size: inherit;
	}

	.fx-ait {
		padding-block: var(--mgc-space-24);
	}

	.fx-ait > p {
		margin-bottom: var(--mgc-space-16);
		font-size: 0.9375rem;
		line-height: 1.5;
	}

	.fx-ait-split,
	.fx-ait-split.wp-block-columns {
		gap: var(--mgc-space-12);
		margin-top: 0;
	}

	.fx-ait-panel,
	.fx-ait-panel.is-layout-constrained,
	.fx-ait-panel.is-layout-flow {
		padding: var(--mgc-space-16);
	}

	.fx-ait-panel.is-layout-constrained > *,
	.fx-ait-panel.is-layout-flow > * {
		margin-block-start: 0;
	}

	.fx-ait-value {
		margin-bottom: var(--mgc-space-4);
		font-size: 1.75rem;
		line-height: 1;
	}

	.fx-ait-label {
		margin-bottom: var(--mgc-space-8);
		font-size: 1rem;
	}

	.fx-ait-panel p,
	.fx-ait-promise,
	.fx-ait-seq-step {
		font-size: 0.875rem;
		line-height: 1.45;
	}

	.fx-ait-promise {
		margin-bottom: var(--mgc-space-8);
	}

	.fx-ait-free {
		margin-bottom: var(--mgc-space-8);
		padding: 0.28rem 0.6rem;
		font-size: 0.8125rem;
		letter-spacing: 0.06em;
	}

	.fx-ait-sequence,
	.fx-ait-sequence.is-layout-flex {
		margin-top: var(--mgc-space-12);
		padding-top: var(--mgc-space-12);
		gap: 0.15rem 0.4rem;
	}

	.fx-form {
		padding-block: var(--mgc-space-24);
	}

	.fx-form .fx-form-copy h2 {
		margin-bottom: var(--mgc-space-12);
	}

	.fx-form .fx-form-copy.is-layout-constrained > *,
	.fx-form .fx-form-copy.is-layout-flow > * {
		margin-block-start: 0;
	}

	.fx-form .fx-account-form,
	.fx-form .wpcf7 form,
	.fx-form form.wpcf7-form {
		gap: var(--mgc-space-12);
		padding: var(--mgc-space-16);
	}

	.fx-form .fx-form-field p,
	.fx-form .fx-form-actions p,
	.fx-form .contact-form-privacy {
		margin: 0;
	}

	.fx-form .fx-account-form br {
		display: none;
	}

	.fx-form .fx-account-form .fx-form-field > label,
	.fx-form .fx-form-field legend {
		margin-bottom: 6px;
	}

	.fx-form .fx-form-actions {
		padding-top: 0;
	}
}
