/* Keep the site-wide header and footer identical to the homepage shell. */
html body .desiole-site-header {
	position: relative !important;
	z-index: 100 !important;
	display: block !important;
	height: auto !important;
	background: var(--color-charcoal) !important;
	color: #fff !important;
}

html body.desiole-nav-open .desiole-site-header { z-index: 190 !important; }

html body .desiole-site-header.is-sticky .desiole-header-main {
	position: fixed !important;
	z-index: 100 !important;
	top: 0 !important;
	right: 0 !important;
	left: 0 !important;
	box-shadow: 0 12px 24px rgba(0, 0, 0, .16) !important;
	animation: desioleSlideDown .25s ease !important;
}

html body .desiole-utility {
	position: static !important;
	display: block !important;
	border: 0 !important;
	outline: 0 !important;
	background: var(--color-primary) !important;
	font-size: .78rem !important;
}

html body .desiole-utility__inner {
	display: flex !important;
	min-height: 38px !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: var(--space-4) !important;
}

html body .desiole-utility__inner > p {
	display: block !important;
	margin: 0 !important;
	color: #dbe3de !important;
}

html body .desiole-utility__contacts {
	display: flex !important;
	gap: var(--space-4) !important;
}

html body .desiole-utility a {
	display: inline-flex !important;
	align-items: center !important;
	gap: .45rem !important;
	color: #fff !important;
	font-size: inherit !important;
	text-decoration: none !important;
}

html body .desiole-header-main {
	position: static;
	display: block !important;
	border: 0 !important;
	outline: 0 !important;
	background: rgba(16, 26, 21, .98) !important;
}

html body .desiole-site-header .desiole-container {
	width: min(calc(100% - 48px), var(--container-content)) !important;
	max-width: var(--container-content) !important;
	margin-inline: auto !important;
}

html body .desiole-header-main__inner {
	display: flex !important;
	min-height: var(--header-height) !important;
	align-items: center !important;
	gap: 1.75rem !important;
}

html body .desiole-brand { flex: 0 0 auto !important; }
html body .desiole-brand > a { display: flex !important; flex-direction: column !important; color: #fff !important; line-height: .92 !important; text-decoration: none !important; }
html body .desiole-brand__name { color: #fff !important; font-size: 1.8rem !important; font-weight: 820 !important; letter-spacing: .13em !important; }
html body .desiole-brand__descriptor { color: #e7b27f !important; font-size: .78rem !important; letter-spacing: .38em !important; text-transform: uppercase !important; }
html body .desiole-nav { flex: 1 1 auto !important; }
html body .desiole-nav__list { align-items: center; justify-content: center; }
html body .desiole-header-actions { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }

html body .desiole-footer-cta {
	display: block !important;
	background: var(--color-accent) !important;
	color: #fff !important;
}

html body .desiole-footer-cta .desiole-container,
html body .desiole-site-footer .desiole-container {
	width: min(calc(100% - 48px), var(--container-content)) !important;
	max-width: var(--container-content) !important;
	margin-inline: auto !important;
}

html body .desiole-footer-cta__inner {
	display: flex !important;
	min-height: 180px !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: var(--space-5) !important;
	padding-block: 2rem !important;
}

html body .desiole-footer-cta h2 { margin-bottom: .45rem !important; color: #fff !important; font-size: clamp(1.8rem, 3vw, 2.8rem) !important; }
html body .desiole-footer-cta p { margin: 0 !important; color: #fff5ea !important; }

html body .desiole-site-footer {
	display: block !important;
	padding: 0 !important;
	background: var(--color-charcoal) !important;
	color: #bdc3bf !important;
}

html body .desiole-footer-grid {
	display: grid !important;
	grid-template-columns: 1.6fr repeat(4, 1fr) !important;
	gap: clamp(1.5rem, 3vw, 3rem) !important;
	padding-block: 5rem !important;
}

html body .desiole-footer-grid h2 { margin: 0 0 .75rem !important; color: #fff !important; font-size: .92rem !important; letter-spacing: 0 !important; }
html body .desiole-footer-grid ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body .desiole-footer-grid li { margin-bottom: .55rem !important; color: inherit !important; font-size: .82rem !important; line-height: 1.45 !important; }
html body .desiole-footer-grid a { color: #bdc3bf !important; text-decoration: none !important; }
html body .desiole-footer-grid a:hover { color: #fff !important; }
html body .desiole-footer-brand > p {
	max-width: 320px !important;
	margin-block: 1.35rem !important;
	color: #bdc3bf !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;
}
html body .desiole-footer-logo { display: flex !important; flex-direction: column !important; color: #fff !important; line-height: .92 !important; text-decoration: none !important; }
html body .desiole-footer-logo strong { color: #fff !important; font-size: 1.8rem !important; font-weight: 820 !important; letter-spacing: .13em !important; }
html body .desiole-footer-logo span { color: #e7b27f !important; font-size: .78rem !important; letter-spacing: .38em !important; text-transform: uppercase !important; }
html body .desiole-contact-list li { display: flex !important; align-items: flex-start !important; gap: .65rem !important; }
html body .desiole-contact-list .desiole-icon { margin-top: .15rem !important; color: var(--color-accent) !important; }

html body .desiole-footer-bottom {
	display: flex !important;
	min-height: 82px !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	padding: 0 !important;
	border-top: 1px solid #3b403d !important;
	font-size: .75rem !important;
}

html body .desiole-footer-bottom p { margin: 0 !important; }
html body .desiole-footer-bottom nav { display: flex !important; flex-wrap: wrap !important; gap: 1rem !important; margin: 0 !important; }
html body .desiole-footer-bottom a { color: #bdc3bf !important; text-decoration: none !important; }

@media (max-width: 1180px) {
	html body .desiole-header-cta { display: none !important; }
	html body .desiole-footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr) !important; }
}

@media (max-width: 1023px) {
	html body .desiole-utility__inner > p { display: none !important; }
	html body .desiole-header-main__inner { min-height: 72px !important; justify-content: space-between !important; }
	html body .desiole-brand { order: 2 !important; }
	html body .desiole-mobile-toggle { order: 1 !important; display: grid !important; }
	html body .desiole-header-actions { order: 3 !important; margin-left: 0 !important; }
	html body .desiole-nav {
		position: fixed !important;
		z-index: 210 !important;
		top: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: flex !important;
		width: min(420px, 92vw) !important;
		flex-direction: column !important;
		background: #fff !important;
		color: var(--color-text) !important;
		box-shadow: 20px 0 60px rgba(0, 0, 0, .2) !important;
		transform: translateX(-105%) !important;
	}
	html body .desiole-nav.is-open { transform: translateX(0) !important; }
	html body .desiole-nav__mobile-head { display: flex !important; }
	html body .desiole-nav__list { display: block !important; flex: 1 1 auto !important; overflow-y: auto !important; padding: .5rem 1.25rem !important; }
	html body .desiole-nav__item { display: grid !important; grid-template-columns: 1fr 44px !important; border-bottom: 1px solid var(--color-border) !important; }
	html body .desiole-nav__item > a { min-height: 52px !important; color: var(--color-text) !important; font-size: .92rem !important; }
	html body .desiole-nav__toggle { color: var(--color-primary) !important; }
	html body .desiole-nav__submenu { position: static !important; display: none !important; min-width: 0 !important; visibility: visible !important; border: 0 !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; }
	html body .desiole-nav__toggle[aria-expanded="true"] + .desiole-nav__submenu { display: grid !important; }
	html body .desiole-nav__mobile-cta { display: inline-flex !important; }
}

@media (max-width: 767px) {
	html body .desiole-utility__inner { min-height: 54px !important; justify-content: center !important; }
	html body .desiole-utility__contacts { width: 100% !important; justify-content: space-between !important; gap: .5rem !important; }
	html body .desiole-utility__contacts a { font-size: .7rem !important; }
	html body .desiole-brand__name { font-size: 1.35rem !important; }
	html body .desiole-brand__descriptor { font-size: .6rem !important; }
	html body .desiole-header-main__inner { gap: .4rem !important; }
	html body .desiole-footer-cta .desiole-container,
	html body .desiole-site-footer .desiole-container,
	html body .desiole-site-header .desiole-container { width: min(calc(100% - 32px), var(--container-content)) !important; }
	html body .desiole-footer-cta__inner { display: block !important; min-height: 180px !important; }
	html body .desiole-footer-cta .desiole-button { margin-top: 1rem !important; }
	html body .desiole-footer-grid { grid-template-columns: 1fr 1fr !important; }
	html body .desiole-footer-brand { grid-column: 1 / -1 !important; }
	html body .desiole-footer-bottom { display: block !important; padding-block: 1.25rem !important; }
	html body .desiole-footer-bottom nav { margin-top: .75rem !important; }
}

@media (max-width: 420px) {
	html body .desiole-utility__contacts a { gap: .25rem !important; font-size: .64rem !important; }
	html body .desiole-footer-grid { grid-template-columns: 1fr !important; }
	html body .desiole-footer-brand { grid-column: auto !important; }
}
