:root {
	--vof-footer-cream: #fbf8f1;
	--vof-footer-paper: #fffdf8;
	--vof-footer-sand: #e9ddc7;
	--vof-footer-sea: #12556a;
	--vof-footer-sea-dark: #123e4a;
	--vof-footer-sage: #8ca38e;
	--vof-footer-coral: #d97962;
	--vof-footer-ink: #23312f;
	--vof-footer-muted: #66706d;
	--vof-footer-serif: "Fraunces", Georgia, serif;
	--vof-footer-sans: "DM Sans", Arial, sans-serif;
}

.vof-footer-cookie-button{appearance:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.vof-footer-cookie-button:hover,.vof-footer-cookie-button:focus-visible{text-decoration:underline;text-underline-offset:4px}

/* Complianz also styles every .cmplz-manage-consent as a large CTA. Keep the
 * footer control visually identical to the utility links and suppress the
 * plugin's duplicate floating tab while this footer is active. */
.vof-footer-legal .vof-footer-cookie-button {
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: rgba(255, 255, 255, .82) !important;
	font: inherit !important;
	letter-spacing: normal !important;
	line-height: inherit !important;
	text-transform: none !important;
}

.vof-footer-legal .vof-footer-cookie-button:hover,
.vof-footer-legal .vof-footer-cookie-button:focus-visible {
	color: #fff !important;
}

body.vof-global-footer-enabled > #cmplz-manage-consent {
	display: none !important;
}

body.vof-global-footer-enabled .elementor-location-footer.elementor-1431 {
	display: none !important;
}

/* Elementor applies the fixed sticky state to the header section itself. */
body.vof-global-footer-enabled .elementor-sticky--active {
	z-index: 1100 !important;
	background-color: #fff;
	isolation: isolate;
}

.vof-site-footer,
.vof-site-footer * {
	box-sizing: border-box;
}

.vof-site-footer {
	clear: both;
	color: var(--vof-footer-ink);
	font-family: var(--vof-footer-sans);
	font-size: 16px;
	line-height: 1.65;
}

.vof-footer__inner {
	width: min(100% - 48px, 1240px);
	margin-inline: auto;
}

.vof-newsletter {
	position: relative;
	overflow: hidden;
	padding: 64px 0 72px;
	background: var(--vof-footer-cream);
	border-bottom: 1px solid rgba(18, 85, 106, .12);
}

.vof-newsletter::before,
.vof-newsletter::after {
	position: absolute;
	content: "";
	border-radius: 999px;
	pointer-events: none;
}

.vof-newsletter::before {
	width: 260px;
	height: 260px;
	top: -150px;
	right: 7%;
	background: rgba(140, 163, 142, .2);
}

.vof-newsletter::after {
	width: 170px;
	height: 170px;
	left: -90px;
	bottom: -100px;
	background: rgba(217, 121, 98, .16);
}

.vof-newsletter__layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(40px, 6vw, 78px);
	align-items: center;
}

.vof-footer__eyebrow {
	margin: 0 0 12px;
	color: var(--vof-footer-coral);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vof-newsletter h2 {
	max-width: 560px;
	margin: 0 0 18px;
	color: var(--vof-footer-sea-dark);
	font-family: var(--vof-footer-serif);
	font-size: clamp(2.1rem, 4vw, 3.45rem);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: -.035em;
}

.vof-newsletter__intro > p:last-child {
	max-width: 550px;
	margin: 0;
	color: var(--vof-footer-muted);
	font-size: 1.04rem;
}

.vof-newsletter__form-wrap {
	scroll-margin-top:110px;
	padding: clamp(26px, 4vw, 42px);
	border: 1px solid rgba(18, 85, 106, .09);
	border-radius: 18px;
	background: rgba(255, 253, 248, .58);
	box-shadow: none;
	transform: none;
}

.vof-newsletter .mc4wp-form-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.vof-newsletter .mc4wp-form-fields > p {
	margin: 0;
}

.vof-newsletter .mc4wp-form-fields > p:nth-last-child(-n+2) {
	grid-column: 1 / -1;
}

.vof-newsletter__label {
	display: block;
	margin: 0 0 7px;
	color: var(--vof-footer-sea-dark);
	font-size: .83rem;
	font-weight: 700;
}

.vof-newsletter input[type="email"],
.vof-newsletter input[type="text"] {
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 15px;
	border: 1px solid #d7d6cd;
	border-radius: 14px;
	background: #fff;
	color: var(--vof-footer-ink);
	font: inherit;
}

.vof-newsletter input::placeholder {
	color: #858c89;
	opacity: 1;
}

.vof-newsletter input:focus-visible,
.vof-newsletter a:focus-visible {
	outline: 3px solid rgba(217, 121, 98, .55);
	outline-offset: 3px;
}

.vof-newsletter__consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--vof-footer-muted);
	font-size: .82rem;
	line-height: 1.45;
}

.vof-newsletter__consent input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--vof-footer-sea);
}

.vof-newsletter__consent a {
	color: var(--vof-footer-sea-dark);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.vof-newsletter input[type="submit"] {
	display: inline-flex;
	justify-content: center;
	min-height: 52px;
	margin: 0;
	padding: 13px 26px;
	border: 0;
	border-radius: 999px;
	background-color: var(--vof-footer-coral);
	color: #fff;
	font: 700 .92rem/1 var(--vof-footer-sans);
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.vof-newsletter input[type="submit"]:hover {
	transform: translateY(-2px);
	background: #c96550;
	box-shadow: 0 12px 26px rgba(179, 82, 62, .2);
}

.vof-newsletter input[type="submit"]:focus-visible {
	outline: 3px solid var(--vof-footer-sea);
	outline-offset: 3px;
}

.vof-newsletter__note,
.vof-newsletter__unavailable {
	margin: 15px 0 0;
	color: var(--vof-footer-muted);
	font-size: .8rem;
}

.vof-newsletter .mc4wp-response {
	grid-column: 1 / -1;
	margin-top: 14px;
}

.vof-newsletter .mc4wp-alert {
	padding: 12px 15px;
	border-radius: 12px;
	background: #edf3ed;
	color: var(--vof-footer-ink);
	font-size: .9rem;
}

.vof-newsletter .mc4wp-error {
	background: #fbece7;
	color: #793a2e;
}

.vof-footer-main {
	padding: 52px 0 46px;
	background: var(--vof-footer-paper);
	color: var(--vof-footer-muted);
	border-top: 1px solid rgba(18, 85, 106, .1);
}

.vof-footer-grid {
	display: grid;
	grid-template-columns: minmax(320px, 2fr) repeat(3, minmax(140px, 1fr));
	gap: clamp(34px, 4.5vw, 68px);
	align-items: start;
}

.vof-footer-brand__logo {
	max-width: 245px;
	margin-bottom: 20px;
}

.vof-footer-brand__logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: none;
}

.vof-footer-brand__logo > a:not(.custom-logo-link) {
	color: var(--vof-footer-sea-dark);
	font: 600 1.7rem/1.1 var(--vof-footer-serif);
	text-decoration: none;
}

.vof-footer-brand > p {
	max-width: 440px;
	margin: 0 0 22px;
	color: var(--vof-footer-muted);
	font-size: .95rem;
}

.vof-footer-main h2:not(.screen-reader-text) {
	position: relative;
	margin: 4px 0 24px;
	padding-bottom: 12px;
	color: var(--vof-footer-sea-dark);
	font: 700 .74rem/1.2 var(--vof-footer-sans);
	letter-spacing: .15em;
	text-transform: uppercase;
}

.vof-footer-main h2:not(.screen-reader-text)::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 32px;
	height: 2px;
	background: var(--vof-footer-coral);
	content: "";
}

.vof-footer-main ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vof-footer-nav li + li {
	margin-top: 10px;
}

.vof-footer-main a {
	color: var(--vof-footer-ink);
	text-decoration: none;
	transition: color .2s ease;
}

.vof-footer-main a:hover {
	color: var(--vof-footer-coral);
}

.vof-footer-main a:focus-visible {
	outline: 3px solid var(--vof-footer-coral);
	outline-offset: 4px;
}

.vof-footer-social {
	display: block;
}

.vof-footer-social .vof-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vof-footer-social a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 38px;
	padding: 5px 13px 5px 6px;
	border: 1px solid rgba(18, 85, 106, .16);
	border-radius: 999px;
	background: var(--vof-footer-cream);
	box-shadow: 0 2px 8px rgba(18, 62, 74, .04);
	font-size: .82rem;
	font-weight: 700;
	line-height: 1;
	transition: border-color .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.vof-footer-social a::before {
	content: "";
	display: inline-grid;
	place-items: center;
	width: 27px;
	height: 27px;
	border: 1px solid var(--vof-footer-sea);
	border-radius: 50%;
	background: var(--vof-footer-sea);
	background-color: var(--vof-footer-sea);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
}

.vof-footer-social a[href*="instagram.com"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}

.vof-footer-social a[href*="tiktok.com"]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M448 209.91a210.06 210.06 0 0 1-122.77-39.25V349.38A162.55 162.55 0 1 1 185 188.31V278.2a74.62 74.62 0 1 0 52.23 71.18V0l88 0a121.18 121.18 0 0 0 1.86 22.17A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14Z'/%3E%3C/svg%3E");
}

.vof-footer-social a:hover {
	border-color: rgba(217, 121, 98, .5);
	background: #fffaf2;
	color: var(--vof-footer-coral);
	transform: translateY(-1px);
}

.vof-footer-social a:hover::before {
	border-color: var(--vof-footer-coral);
	background-color: var(--vof-footer-coral);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
}

.vof-footer-social a:focus-visible {
	border-color: var(--vof-footer-coral);
	outline: 3px solid rgba(217, 121, 98, .35);
	outline-offset: 3px;
}

.vof-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 13px 0 14px;
	font-size: .78rem;
	text-align: center;
}

.vof-footer-legal {
	background: var(--vof-footer-sea-dark);
	color: rgba(255, 255, 255, .76);
}

.vof-footer-legal a {
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
}

.vof-footer-legal a:hover { color: #fff; }
.vof-footer-legal a:focus-visible { outline: 3px solid var(--vof-footer-coral); outline-offset: 3px; }

.vof-footer-bottom p {
	margin: 0;
}

.vof-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 18px; }

@media (max-width: 1100px) {
	.vof-newsletter__layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.vof-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.vof-footer__inner {
		width: min(100% - 32px, 1240px);
	}

	.vof-newsletter {
		padding: 54px 0;
	}

	.vof-newsletter h2 {
		font-size: clamp(2rem, 10vw, 2.7rem);
	}

	.vof-newsletter__form-wrap {
		padding: 22px 16px;
		border-radius: 22px;
		min-width: 0;
	}

	.vof-newsletter .mc4wp-form,
	.vof-newsletter .mc4wp-form-fields,
	.vof-newsletter .mc4wp-form-fields > p,
	.vof-newsletter input[type="email"],
	.vof-newsletter input[type="text"],
	.vof-newsletter input[type="submit"],
	.vof-newsletter .vof-newsletter__consent {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.vof-newsletter__consent span,
	.vof-newsletter__consent a {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.vof-newsletter .vof-newsletter__consent input[type="checkbox"] {
		flex: 0 0 18px;
		width: 18px;
		min-width: 18px;
	}

	.vof-newsletter .mc4wp-form-fields {
		grid-template-columns: 1fr;
	}

	.vof-newsletter .mc4wp-form-fields > p,
	.vof-newsletter .mc4wp-form-fields > p:nth-last-child(-n+2) {
		grid-column: 1;
	}

	.vof-newsletter input[type="submit"] {
		width: 100%;
		min-height: 50px;
		padding-inline: 14px;
		font-size: .82rem;
		line-height: 1.2;
		white-space: normal;
	}

	.vof-footer-main {
		padding: 42px 0 38px;
	}

	.vof-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 24px;
	}

	.vof-footer-brand,
	.vof-footer-grid > .vof-footer-social,
	.vof-footer-grid > nav:last-child {
		grid-column: 1 / -1;
	}

	.vof-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 7px;
		padding-block: 12px;
		text-align: left;
	}
}

@media (max-width: 400px) {
	.vof-footer-grid { grid-template-columns: 1fr; }
	.vof-footer-brand,
	.vof-footer-grid > .vof-footer-social,
	.vof-footer-grid > nav:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.vof-site-footer * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
