/* ZEO Art Space footer 2.0.4. Keep this surface isolated from legacy footer rules. */
.zeo-footer-204 {
	--zeo-footer-204-ink: #f3eddc;
	--zeo-footer-204-muted: rgba(243, 237, 220, .72);
	--zeo-footer-204-faint: rgba(243, 237, 220, .48);
	--zeo-footer-204-gold: rgba(218, 183, 111, .72);
	--zeo-footer-204-rule: rgba(218, 183, 111, .52);
	--zeo-footer-204-link-hover: #f3eddc;
	box-sizing: border-box;
	width: 100%;
	margin-block-start: 0;
	padding: clamp(62px, 7vw, 124px) clamp(24px, 5vw, 96px) clamp(24px, 2.4vw, 42px);
	border-top: 1px solid var(--zeo-footer-204-gold);
	color: var(--zeo-footer-204-ink);
	background-color: #1d302c;
	/* Native Group background image in the Site Editor overrides this fallback. */
	background-image: url("../images/reference/plaster-dark.png");
	background-position: center;
	background-repeat: repeat;
	background-size: 360px auto;
}

.zeo-footer-204,
.zeo-footer-204 * {
	box-sizing: border-box;
}

.zeo-footer-204__inner {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
}

.zeo-footer-204__columns {
	display: grid !important;
	grid-template-columns: minmax(0, 24fr) minmax(0, 20fr) minmax(0, 31fr) minmax(0, 25fr);
	align-items: start;
	gap: clamp(36px, 4.2vw, 104px) clamp(32px, 4.1vw, 96px);
	width: 100%;
	margin: 0 !important;
}

.zeo-footer-204__column {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	flex-basis: auto !important;
}

.zeo-footer-204__brand {
	margin: 0 0 clamp(20px, 2vw, 32px);
	color: var(--zeo-footer-204-ink);
	font-family: var(--zeo-display-font, Georgia, serif);
	font-size: clamp(28px, 2.2vw, 40px);
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: .95;
}

.zeo-footer-204__statement {
	max-width: 390px;
	margin: 0;
	color: var(--zeo-footer-204-ink);
	font-family: var(--zeo-display-font, Georgia, serif);
	font-size: clamp(18px, 1.35vw, 25px);
	font-weight: 400;
	letter-spacing: -.01em;
	line-height: 1.5;
}

.zeo-footer-204__rule {
	width: 100%;
	height: 0;
	min-height: 0;
	margin: 0 0 clamp(21px, 2vw, 31px);
	border: 0;
	border-top: 1px solid var(--zeo-footer-204-rule);
	background: transparent;
	opacity: 1;
}

.zeo-footer-204__heading {
	margin: 0 0 clamp(20px, 2vw, 31px);
	color: var(--zeo-footer-204-ink);
	font-family: var(--zeo-body-font, Arial, sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	line-height: 1.15;
	text-transform: none;
}

.zeo-footer-204__link-list,
.zeo-footer-204__visit-list,
.zeo-footer-204__contact-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin: 0;
}

.zeo-footer-204__link-list {
	gap: 13px;
}

.zeo-footer-204__visit-list {
	gap: 32px;
}

.zeo-footer-204__contact-list {
	gap: 21px;
}

.zeo-footer-204__link,
.zeo-footer-204__label,
.zeo-footer-204__contact-link,
.zeo-footer-204__copyright {
	margin: 0;
}

.zeo-footer-204__link,
.zeo-footer-204__link a,
.zeo-footer-204__label,
.zeo-footer-204__contact-link,
.zeo-footer-204__contact-link a,
.zeo-footer-204__copyright {
	font-family: var(--zeo-display-font, Georgia, serif);
	font-size: clamp(17px, 1.18vw, 22px);
	font-weight: 400;
	letter-spacing: -.005em;
	line-height: 1.3;
}

.zeo-footer-204__label {
	color: var(--zeo-footer-204-ink);
}

.zeo-footer-204__link,
.zeo-footer-204__link a {
	color: var(--zeo-footer-204-muted);
}

.zeo-footer-204__link a,
.zeo-footer-204__contact-link a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	transition: color 180ms ease;
}

.zeo-footer-204__link a::after,
.zeo-footer-204__contact-link a::after {
	position: absolute;
	right: 0;
	bottom: -.18em;
	left: 0;
	height: 1px;
	content: '';
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 220ms ease;
}

.zeo-footer-204__link a:hover,
.zeo-footer-204__link a:focus-visible,
.zeo-footer-204__link a.is-current,
.zeo-footer-204__link a[aria-current="page"],
.zeo-footer-204__contact-link a:hover,
.zeo-footer-204__contact-link a:focus-visible,
.zeo-footer-204__contact-link a.is-current,
.zeo-footer-204__contact-link a[aria-current="page"] {
	color: var(--zeo-footer-204-link-hover);
}

.zeo-footer-204__link a:hover::after,
.zeo-footer-204__link a:focus-visible::after,
.zeo-footer-204__link a.is-current::after,
.zeo-footer-204__link a[aria-current="page"]::after,
.zeo-footer-204__contact-link a:hover::after,
.zeo-footer-204__contact-link a:focus-visible::after,
.zeo-footer-204__contact-link a.is-current::after,
.zeo-footer-204__contact-link a[aria-current="page"]::after {
	transform: scaleX(1);
}

.zeo-footer-204 :where(a):focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 4px;
}

.zeo-footer-204__item {
	position: relative;
	width: 100%;
	margin: 0;
	padding-inline-start: 29px;
}

.zeo-footer-204__item::before {
	position: absolute;
	top: .28em;
	left: 0;
	width: 14px;
	height: 14px;
	content: '';
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .74;
}

.zeo-footer-204__item--email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='1' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3C/svg%3E");
}

.zeo-footer-204__item--instagram::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='4' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3Ccircle cx='17.25' cy='6.8' r='1' fill='%23f3eddc'/%3E%3C/svg%3E");
}

.zeo-footer-204__item--tiktok::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4v10.2a4.2 4.2 0 1 1-3-4.02V7.4c2.45 1.75 4.45 2.2 6 2.25V6.8c-1.55-.1-2.45-.85-3-2.8Z' fill='none' stroke='%23f3eddc' stroke-width='1.35' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.zeo-footer-204__item--pin::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 10.1c0 4.45-7 10.4-7 10.4s-7-5.95-7-10.4a7 7 0 1 1 14 0Z' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3Ccircle cx='12' cy='10' r='2.25' fill='none' stroke='%23f3eddc' stroke-width='1.35'/%3E%3C/svg%3E");
}

.zeo-footer-204__bottom {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 18px 32px;
	width: 100%;
	margin: clamp(64px, 8vw, 132px) 0 0;
	padding-top: 30px;
	border-top: 1px solid var(--zeo-footer-204-rule);
}

.zeo-footer-204__copyright,
.zeo-footer-204__contact-link,
.zeo-footer-204__contact-link a {
	color: var(--zeo-footer-204-faint);
	font-family: var(--zeo-body-font, Arial, sans-serif);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .075em;
	line-height: 1.4;
	text-transform: none;
}

.zeo-footer-204__contact-link {
	margin-inline-start: auto;
}

@media (max-width: 900px) {
	.zeo-footer-204__columns {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.zeo-footer-204__column--visit,
	.zeo-footer-204__column--contact {
		margin-top: 20px !important;
	}
}

@media (max-width: 680px) {
	.zeo-footer-204 {
		padding-top: 54px;
	}

	.zeo-footer-204__columns {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 46px;
	}

	.zeo-footer-204__column--visit,
	.zeo-footer-204__column--contact {
		margin-top: 0 !important;
	}

	.zeo-footer-204__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		margin-top: 62px;
	}

	.zeo-footer-204__contact-link {
		margin-inline-start: 0;
	}
}

/* The editor loads the same footer rules. Keep its canvas and native block
   wrappers aligned with the front end while leaving text and links editable. */
.editor-styles-wrapper .zeo-footer-204 {
		width: 100%;
		max-width: none;
	}

.editor-styles-wrapper .zeo-footer-204__columns {
		width: 100%;
	}

.editor-styles-wrapper .zeo-footer-204__column,
.editor-styles-wrapper .zeo-footer-204__item,
.editor-styles-wrapper .zeo-footer-204__link-list,
.editor-styles-wrapper .zeo-footer-204__visit-list,
.editor-styles-wrapper .zeo-footer-204__contact-list {
		min-width: 0;
}

.zeo-footer-204__heading {text-transform:uppercase;}
.zeo-footer-204__item .zeo-footer-204__link {font-size:clamp(15px,1.05vw,19px);margin-top:7px;}
.zeo-footer-204__link a {overflow-wrap:anywhere;}

/* Preserve the shared footer rules against global separator and constrained-layout defaults. */
.zeo-footer-204 .zeo-footer-204__rule {width:100%;max-width:none;opacity:1!important;transform:none!important;}
.zeo-footer-204 .zeo-footer-204__bottom {max-width:none;}
.zeo-footer-204 .zeo-footer-204__rule {width:100%!important;max-width:none!important;}
.zeo-footer-204 :is(.zeo-footer-204__link-list,.zeo-footer-204__visit-list,.zeo-footer-204__contact-list) > * {margin-block:0!important;}
.zeo-footer-204 .zeo-footer-204__item > .zeo-footer-204__label {margin-block:0!important;}
.zeo-footer-204 .zeo-footer-204__item > .zeo-footer-204__link {margin-block:7px 0!important;}

@media (prefers-reduced-motion: reduce) {
	.zeo-footer-204__link a,
	.zeo-footer-204__link a::after,
	.zeo-footer-204__contact-link a,
	.zeo-footer-204__contact-link a::after {
		transition: none !important;
	}
}
