/**
 * Divi / Customizer / DIPI conflict overrides.
 */

/* ── Canvas ────────────────────────────────────────────────────────── */

html {
	background: var(--black) !important;
	color: var(--white) !important;
}

html body,
html body.et_cover_background,
html body.et_divi_theme {
	font-family: var(--font) !important;
	font-size: 14px !important;
	line-height: 22px !important;
	font-weight: 400 !important;
	color: var(--white) !important;
	background-color: var(--black) !important;
	background-image: none !important;
	background-size: auto !important;
	background-repeat: repeat !important;
	background-attachment: scroll !important;
	overflow-x: clip;
}

/* ── Shells painted white by Divi / DIPI ───────────────────────────── */

html body #page-container,
html body #et-boc,
html body #et-main-area {
	background-color: transparent !important;
	background-image: none !important;
	color: inherit;
}

html body #main-content,
html body.et_pb_pagebuilder_layout #et-main-area #main-content,
html body .dipi_revealing_footer_content {
	background-color: var(--black) !important;
	background-image: none !important;
	color: inherit;
}

/* ── Element defaults Divi + Customizer re-apply ───────────────────── */

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
	color: var(--white);
	padding-bottom: 0;
	font-weight: 400;
	font-family: inherit;
}

html body p {
	padding-bottom: 0;
	color: inherit;
}

html body a {
	color: inherit;
	text-decoration: none;
}

html body ul,
html body ol {
	list-style: none;
}

html body img {
	border: 0;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

html body *,
html body *::before,
html body *::after {
	box-sizing: border-box;
}

html body a.dipi-cta-button {
	font-family: var(--font) !important;
}

/* ── Site header / nav ─────────────────────────────────────────────── */

html body header.et-l--header .et_pb_section_0_tb_header.et_pb_section {
	border-bottom: var(--hairline) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
}

html body .et_pb_sticky .et_pb_section_0_tb_header.et_pb_section {
	background-color: transparent !important;
}

html body header.et-l--header .et_pb_row_0_tb_header {
	width: 100% !important;
	max-width: var(--wrap) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 20px var(--gutter) !important;
}

@media (max-width: 980px) {
	html body header.et-l--header .et_pb_row_0_tb_header {
		padding: 8px var(--gutter) !important;
	}
}

@media (max-width: 900px) {
	html body header.et-l--header {
		height: 0px !important;
	}
}

html body .et_pb_row_0_tb_header>div:first-child img {
	height: 46px !important;
	width: auto !important;
	max-height: none !important;
}

@media (max-width: 980px) {
	html body .et_pb_row_0_tb_header>div:first-child img {
		height: 36px !important;
	}
}

html body #menu-header-menu>li:not(.dipi-cta-button-menu-item) {
	padding: 0 !important;
}

html body #menu-header-menu>li:not(.dipi-cta-button-menu-item)>a {
	font-family: var(--font) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: var(--track-meta) !important;
	text-transform: uppercase !important;
	color: var(--white) !important;
	padding: 10px 14px !important;
	border-radius: var(--radius-card) !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	transition:
		color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		background 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html body #menu-header-menu>li:not(.dipi-cta-button-menu-item)>a:hover {
	color: var(--teal) !important;
	background: color-mix(in srgb, var(--near-black) 70%, transparent) !important;
	border-color: color-mix(in srgb, var(--teal-hover) 20%, var(--white--15)) !important;
}

html body #menu-header-menu>li.menu-item-has-children>a::after {
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: var(--white--50) !important;
	font-size: 11px !important;
	margin-left: 6px !important;
}

#et-boc a.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button {
	padding: 10px 24px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em !important;
	color: var(--white) !important;
	background-color: transparent !important;
	border-width: 1px !important;
	border-color: var(--white--50) !important;
	border-radius: var(--r-pill) !important;
}

#et-boc a.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button.dipi-cta-button:hover {
	color: var(--teal) !important;
	background-color: color-mix(in srgb, var(--near-black) 70%, transparent) !important;
	border-color: color-mix(in srgb, var(--teal-hover) 20%, var(--white--15)) !important;
}

/* ── Site header / nav — mobile (<900px) ───────────────────────────── */

html body .dipi_hamburger.hamburger {
	background-color: transparent !important;
	border: 1px solid var(--white--50) !important;
	border-radius: 100px !important;
	transition:
		border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		background 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html body .dipi_hamburger.hamburger:hover {
	border-color: color-mix(in srgb, var(--teal-hover) 20%, var(--white--15)) !important;
	background: color-mix(in srgb, var(--near-black) 70%, transparent) !important;
}

html body .dipi_hamburger.hamburger.is-active {
	background-color: transparent !important;
	border-color: var(--teal) !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_pb_menu__wrap .et_mobile_nav_menu .et_mobile_menu {
	position: fixed !important;
	inset: 57px 0 0 0 !important;
	width: 100% !important;
	height: calc(100dvh - 57px) !important;
	margin: 0 !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding: var(--space-md) var(--gutter) !important;
	background: var(--card-wash), var(--dark-2) !important;
	border-top: 2px solid var(--teal) !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu ul {
	background: transparent !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu>li>a {
	background-color: transparent !important;
	color: var(--white) !important;
	font-family: var(--font) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: var(--track-meta) !important;
	border-radius: var(--radius-card) !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu>li>a:hover {
	background-color: color-mix(in srgb, var(--near-black) 70%, transparent) !important;
	color: var(--teal) !important;
	opacity: 1 !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu li.menu-item-has-children>a::before,
html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu li.menu-item-has-children>a::after {
	color: var(--teal) !important;
	background-color: color-mix(in srgb, var(--teal) 12%, transparent) !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu li>.sub-menu {
	margin-left: 4px !important;
	padding-left: 16px !important;
	border-left: 1px solid var(--white--15) !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu li>.sub-menu>li>a {
	background-color: transparent !important;
	border: 0 !important;
	border-radius: var(--radius-card) !important;
	color: var(--white--70) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

html body header.et-l--header .et_pb_menu_0_tb_header .et_mobile_menu li>.sub-menu>li>a:hover {
	background-color: color-mix(in srgb, var(--near-black) 70%, transparent) !important;
	color: var(--teal) !important;
	opacity: 1 !important;
}

/* ── Site footer ────────────────────────────────────────────────────── */

html body footer.et-l--footer .et_pb_section_0_tb_footer {
	background-color: var(--black) !important;
	background-image: none !important;
}

html body footer.et-l--footer .et_pb_row_0_tb_footer,
html body footer.et-l--footer .et_pb_row_1_tb_footer,
html body footer.et-l--footer .et_pb_row_2_tb_footer {
	width: 100% !important;
	max-width: var(--wrap) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--gutter) !important;
	padding-right: var(--gutter) !important;
}

html body footer.et-l--footer .et_pb_row_0_tb_footer {
	background-color: transparent !important;
	background-image: none !important;
}

html body footer.et-l--footer .sy-info-col h4 {
	font-size: 20px !important;
	font-weight: 400 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--teal) !important;
}

html body footer.et-l--footer .et_pb_column--with-menu .et_pb_text_inner h4 {
	font-size: var(--text-meta) !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--white) !important;
}

html body footer.et-l--footer .et_pb_column--with-menu .et-menu.nav a {
	font-size: 14px !important;
	color: var(--white--70) !important;
}

html body footer.et-l--footer .et_pb_blurb_container h4.et_pb_module_header {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--white--50) !important;
}

html body footer.et-l--footer .et_pb_blurb_container p {
	font-size: 14px !important;
	color: var(--white--90) !important;
}

html body footer.et-l--footer .et_pb_row_2_tb_footer .et_pb_text_inner p {
	font-size: 12px !important;
	letter-spacing: 0.06em !important;
	color: var(--white--50) !important;
}

html body footer.et-l--footer .et_pb_row_2_tb_footer .et-menu.nav a {
	font-size: 12px !important;
	color: var(--white--50) !important;
}