/*
 * Independent Header & Footer — front-end styles.
 * Scoped to .mbhf-scope so one stylesheet drives the live site and the admin
 * previews. Palette: white, black (ink) and red, plus opacity variations.
 */

/* -------------------------------------------------------------------------
 * Tokens + reset
 * ---------------------------------------------------------------------- */
.mbhf-scope {
	--mbhf-red:#d81f2c;
	--mbhf-red-ink:#a3121c;
	--mbhf-ink:#151517;
	--mbhf-ink-soft:#3a3a40;
	--mbhf-white:#fff;
	--mbhf-line:rgba(21,21,23,.12);
	--mbhf-line-soft:rgba(21,21,23,.07);
	--mbhf-shadow:0 18px 44px -18px rgba(21,21,23,.32);
	--mbhf-radius:10px;
	--mbhf-top:0px;
	--mbhf-ease:cubic-bezier(.22,.61,.36,1);
	--mbhf-font:inherit;
	font:inherit;
	color:var(--mbhf-ink);
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
}
.mbhf-scope *,
.mbhf-scope *::before,
.mbhf-scope *::after { box-sizing:border-box; }
.mbhf-scope :focus-visible { outline:2px solid var(--mbhf-red); outline-offset:3px; border-radius:3px; }
.mbhf-scope a { color:inherit; text-decoration:none; }
.mbhf-scope button,
.mbhf-scope input { font:inherit; color:inherit; }
.mbhf-scope button { cursor:pointer; }
.mbhf-scope img { max-width:100%; }
.mbhf-sr {
	position:absolute!important; width:1px!important; height:1px!important;
	margin:-1px!important; padding:0!important; overflow:hidden!important;
	clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

/* -------------------------------------------------------------------------
 * Header shell
 * ---------------------------------------------------------------------- */
.mbhf-header { position:relative; z-index:9990; width:100%; background:var(--mbhf-white); }
.mbhf-header.mbhf-sticky { position:sticky; top:var(--mbhf-top); }
body.admin-bar .mbhf-header { --mbhf-top:32px; }

.mbhf-container { width:min(100% - 48px, 1240px); margin-inline:auto; }
.mbhf-header .mbhf-bar > .mbhf-container {
	display:flex; align-items:center; gap:26px; min-height:82px;
}

/* Brand ------------------------------------------------------------------ */
.mbhf-brand {
	display:inline-flex; flex:0 0 auto; align-items:center;
	max-width:min(260px, 46vw); min-width:0;
	font-family:var(--mbhf-font); font-weight:800; font-size:clamp(18px,1.5vw,23px);
	line-height:1.1; letter-spacing:-.02em; color:inherit;
}
.mbhf-brand img { display:block; width:auto; height:auto; max-height:50px; object-fit:contain; }
.mbhf-brand--text span { position:relative; }

/* Primary menu ----------------------------------------------------------- */
.mbhf-nav { min-width:0; }
.mbhf-nav--desktop, .mbhf-header-group { margin-left:auto; }
.mbhf-menu {
	display:flex; align-items:center; flex-wrap:wrap; gap:2px;
	list-style:none; margin:0; padding:0;
}
.mbhf-menu li { position:relative; list-style:none; margin:0; padding:0; }
.mbhf-menu a {
	display:inline-flex; align-items:center; min-height:44px; padding:6px 14px;
	font-size:14.5px; font-weight:600; letter-spacing:.005em; line-height:1.2;
	color:inherit; white-space:nowrap;
	transition:color .2s var(--mbhf-ease);
}
.mbhf-menu > li > a { position:relative; }
.mbhf-menu > li > a:hover,
.mbhf-menu > li > a:focus-visible,
.mbhf-menu .current-menu-item > a { color:var(--mbhf-red); }
.mbhf-menu .menu-item-has-children > a::after {
	content:""; width:6px; height:6px; margin-left:8px;
	border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
	transform:translateY(-2px) rotate(45deg); opacity:.55;
	transition:transform .2s var(--mbhf-ease), opacity .2s var(--mbhf-ease);
}
.mbhf-menu li:hover > a::after,
.mbhf-menu li:focus-within > a::after { opacity:1; transform:translateY(0) rotate(45deg); }

/* Dropdowns -------------------------------------------------------------- */
.mbhf-header .mbhf-menu .sub-menu {
	display:block; position:absolute; top:calc(100% + 8px); left:0; min-width:224px;
	margin:0; padding:8px; list-style:none;
	background:var(--mbhf-white); color:var(--mbhf-ink);
	border:1px solid var(--mbhf-line-soft); border-top:2px solid var(--mbhf-red);
	border-radius:0 0 var(--mbhf-radius) var(--mbhf-radius);
	box-shadow:var(--mbhf-shadow);
	opacity:0; visibility:hidden; transform:translateY(6px) scale(.99); transform-origin:top left;
	transition:opacity .2s var(--mbhf-ease), transform .2s var(--mbhf-ease), visibility .2s;
	z-index:30;
}
.mbhf-header .mbhf-menu .sub-menu::before {
	content:""; position:absolute; top:-9px; left:0; right:0; height:9px; /* hover bridge */
}
.mbhf-header .mbhf-menu .sub-menu .sub-menu { top:-8px; left:calc(100% + 6px); }
.mbhf-header .mbhf-menu li:hover > .sub-menu,
.mbhf-header .mbhf-menu li:focus-within > .sub-menu {
	opacity:1; visibility:visible; transform:translateY(0) scale(1);
}
.mbhf-header .mbhf-menu .sub-menu li { width:100%; }
.mbhf-header .mbhf-menu .sub-menu a {
	display:block; min-height:0; padding:9px 12px; border-radius:6px;
	font-size:14px; font-weight:500; white-space:nowrap;
	transition:background .16s var(--mbhf-ease), color .16s var(--mbhf-ease), padding-left .16s var(--mbhf-ease);
}
.mbhf-header .mbhf-menu .sub-menu a:hover,
.mbhf-header .mbhf-menu .sub-menu a:focus-visible {
	background:rgba(216,31,44,.08); color:var(--mbhf-red); padding-left:16px;
}

/* CTA -------------------------------------------------------------------- */
.mbhf-cta {
	position:relative; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center;
	min-height:44px; padding:11px 22px; overflow:hidden;
	background:var(--mbhf-red); color:var(--mbhf-white); border:1.5px solid var(--mbhf-red);
	border-radius:7px; font-size:14px; font-weight:700; letter-spacing:.01em; white-space:nowrap;
	transition:background .22s var(--mbhf-ease), border-color .22s var(--mbhf-ease), transform .22s var(--mbhf-ease), box-shadow .22s var(--mbhf-ease);
}
.mbhf-cta > span { position:relative; z-index:1; }
.mbhf-cta::before {
	content:""; position:absolute; inset:0; background:var(--mbhf-ink);
	transform:translateY(101%); transition:transform .3s var(--mbhf-ease);
}
.mbhf-cta:hover,
.mbhf-cta:focus-visible {
	border-color:var(--mbhf-ink); transform:translateY(-2px);
	box-shadow:0 12px 22px -12px rgba(21,21,23,.6);
}
.mbhf-cta:hover::before,
.mbhf-cta:focus-visible::before { transform:translateY(0); }

/* Toggle (mobile hamburger + labelled trigger) --------------------------- */
.mbhf-scope .mbhf-toggle {
	display:none; align-items:center; gap:9px; margin-left:auto;
	height:46px; padding:0 6px; border:0; background:transparent; color:inherit;
}
.mbhf-scope .mbhf-toggle--label {
	display:inline-flex; padding:0 16px 0 18px; border:1.5px solid currentColor;
	border-radius:999px; font-size:12.5px; font-weight:700;
	letter-spacing:.14em; text-transform:uppercase;
	transition:color .2s var(--mbhf-ease), border-color .2s var(--mbhf-ease), background .2s var(--mbhf-ease);
}
.mbhf-scope .mbhf-toggle--label:hover { color:var(--mbhf-red); border-color:var(--mbhf-red); }
.mbhf-toggle-word { line-height:1; }
.mbhf-toggle-lines { position:relative; width:24px; height:14px; }
.mbhf-toggle-lines i {
	position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:currentColor;
	transition:transform .26s var(--mbhf-ease), opacity .18s var(--mbhf-ease), width .26s var(--mbhf-ease);
}
.mbhf-toggle-lines i:nth-child(1) { top:0; }
.mbhf-toggle-lines i:nth-child(2) { top:6px; }
.mbhf-toggle-lines i:nth-child(3) { top:12px; width:70%; }
.mbhf-menu-open .mbhf-toggle-lines i:nth-child(1) { top:6px; transform:rotate(45deg); }
.mbhf-menu-open .mbhf-toggle-lines i:nth-child(2) { opacity:0; }
.mbhf-menu-open .mbhf-toggle-lines i:nth-child(3) { top:6px; width:100%; transform:rotate(-45deg); }

/* Utility strip ---------------------------------------------------------- */
.mbhf-utility { background:var(--mbhf-ink); color:var(--mbhf-white); font-size:12.5px; }
.mbhf-utility .mbhf-container { display:flex; align-items:center; justify-content:flex-end; gap:20px; min-height:38px; }
.mbhf-utility a { opacity:.86; transition:opacity .18s var(--mbhf-ease); }
.mbhf-utility a:hover { opacity:1; color:var(--mbhf-white); }

/* Social ----------------------------------------------------------------- */
.mbhf-social { display:inline-flex; align-items:center; gap:6px; }
.mbhf-social a {
	display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
	border-radius:50%; color:inherit;
	transition:background .2s var(--mbhf-ease), color .2s var(--mbhf-ease), transform .2s var(--mbhf-ease);
}
.mbhf-social a:hover { background:var(--mbhf-red); color:var(--mbhf-white); transform:translateY(-2px); }
.mbhf-utility .mbhf-social a { width:32px; height:32px; }

/* Search ----------------------------------------------------------------- */
.mbhf-search {
	display:flex; align-items:center; min-width:0; max-width:100%;
	background:var(--mbhf-white); color:var(--mbhf-ink);
	border:1px solid var(--mbhf-line); border-radius:8px; overflow:hidden;
	transition:border-color .2s var(--mbhf-ease), box-shadow .2s var(--mbhf-ease);
}
.mbhf-search:focus-within { border-color:var(--mbhf-red); box-shadow:0 0 0 3px rgba(216,31,44,.14); }
.mbhf-search input { flex:1; min-width:0; width:100%; border:0; background:transparent; padding:10px 14px; outline:0; }
.mbhf-search button {
	display:inline-flex; align-items:center; justify-content:center; flex:0 0 46px;
	width:46px; align-self:stretch; border:0; background:var(--mbhf-red); color:var(--mbhf-white);
	transition:background .2s var(--mbhf-ease);
}
.mbhf-search button:hover { background:var(--mbhf-red-ink); }

/* Announcement ----------------------------------------------------------- */
.mbhf-announcement {
	display:flex; align-items:center; justify-content:center; gap:16px;
	min-height:40px; padding:6px 44px; background:var(--mbhf-red); color:var(--mbhf-white);
	text-align:center; font-size:13px; font-weight:600; letter-spacing:.01em;
}
.mbhf-announcement[hidden] { display:none!important; }
.mbhf-announcement button {
	position:absolute; right:14px; display:inline-flex; align-items:center; justify-content:center;
	width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:inherit;
	transition:background .18s var(--mbhf-ease);
}
.mbhf-announcement { position:relative; }
.mbhf-announcement button:hover { background:rgba(255,255,255,.2); }

/* Sticky "scrolled" state ------------------------------------------------ */
.mbhf-header.mbhf-sticky.mbhf-scrolled { box-shadow:0 10px 30px -18px rgba(21,21,23,.4); }
.mbhf-header.mbhf-scrolled { -webkit-backdrop-filter:saturate(1.4); backdrop-filter:saturate(1.4); }

/* =========================================================================
 * 20 header signatures — structure and treatment differ, not only colour.
 * ====================================================================== */

/* 01 Classic Corporate */
.mbhf-h-1 .mbhf-bar { border-bottom:1px solid var(--mbhf-line-soft); }

/* 02 Centered Logo */
.mbhf-h-2 .mbhf-centered-row > .mbhf-container { justify-content:center; min-height:104px; gap:10px; }
.mbhf-h-2 .mbhf-nav--left, .mbhf-h-2 .mbhf-nav--right { flex:1 1 0; }
.mbhf-h-2 .mbhf-nav--left .mbhf-menu { justify-content:flex-end; }
.mbhf-h-2 .mbhf-nav--right .mbhf-menu { justify-content:flex-start; }
.mbhf-h-2 .mbhf-brand { margin-inline:26px; }

/* 03 Minimal Flat */
.mbhf-h-3 .mbhf-minimal-row > .mbhf-container { min-height:96px; }
.mbhf-h-3 .mbhf-menu { gap:12px; }
.mbhf-h-3 .mbhf-menu a { font-weight:500; letter-spacing:.02em; }
.mbhf-h-3 .mbhf-menu > li > a::before {
	content:""; position:absolute; left:14px; right:14px; bottom:8px; height:1.5px;
	background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .28s var(--mbhf-ease);
}
.mbhf-h-3 .mbhf-menu > li > a:hover::before { transform:scaleX(1); transform-origin:left; }

/* 04 Bold Red Bar */
.mbhf-h-4, .mbhf-h-4 .mbhf-red-row { background:var(--mbhf-red); color:var(--mbhf-white); }
.mbhf-h-4 .mbhf-menu > li > a:hover, .mbhf-h-4 .mbhf-menu .current-menu-item > a { color:var(--mbhf-white); }
.mbhf-h-4 .mbhf-menu > li > a::before {
	content:""; position:absolute; left:14px; right:14px; bottom:8px; height:2px;
	background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .24s var(--mbhf-ease);
}
.mbhf-h-4 .mbhf-menu > li > a:hover::before { transform:scaleX(1); }
.mbhf-h-4 .mbhf-cta { background:var(--mbhf-white); color:var(--mbhf-red); border-color:var(--mbhf-white); }
.mbhf-h-4 .mbhf-cta::before { background:var(--mbhf-ink); }
.mbhf-h-4 .mbhf-cta:hover { color:var(--mbhf-white); border-color:var(--mbhf-ink); }
.mbhf-h-4 .mbhf-header .mbhf-menu .sub-menu, .mbhf-h-4 .mbhf-menu .sub-menu { color:var(--mbhf-ink); }

/* 05 Transparent Overlay */
.mbhf-h-5 { position:absolute; top:var(--mbhf-top); left:0; background:transparent; color:var(--mbhf-white);
	transition:background .3s var(--mbhf-ease), color .3s var(--mbhf-ease), box-shadow .3s var(--mbhf-ease); }
.mbhf-h-5.mbhf-scrolled { background:var(--mbhf-white); color:var(--mbhf-ink); box-shadow:0 10px 30px -18px rgba(21,21,23,.4); }
.mbhf-h-5.mbhf-sticky.mbhf-scrolled { position:fixed; }
.mbhf-h-5 .mbhf-cta { border-color:currentColor; }

/* 06 Sticky Shrink */
.mbhf-h-6 .mbhf-shrink-row > .mbhf-container { min-height:112px; transition:min-height .3s var(--mbhf-ease); }
.mbhf-h-6 .mbhf-brand img { max-height:60px; transition:max-height .3s var(--mbhf-ease); }
.mbhf-h-6.mbhf-scrolled .mbhf-shrink-row > .mbhf-container { min-height:66px; }
.mbhf-h-6.mbhf-scrolled .mbhf-brand img { max-height:40px; }

/* 07 Split Menu */
.mbhf-h-7 .mbhf-split-band { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); min-height:92px; align-items:stretch; }
.mbhf-h-7 .mbhf-split-left, .mbhf-h-7 .mbhf-split-right { display:flex; align-items:center; min-width:0; padding-inline:clamp(14px,3vw,40px); }
.mbhf-h-7 .mbhf-split-left { background:var(--mbhf-ink); color:var(--mbhf-white); justify-content:flex-end; }
.mbhf-h-7 .mbhf-split-right { background:var(--mbhf-white); justify-content:flex-start; }
.mbhf-h-7 .mbhf-brand { padding-inline:clamp(16px,3vw,34px); color:var(--mbhf-red); background:var(--mbhf-white); }
.mbhf-h-7 .mbhf-split-left .mbhf-menu > li > a:hover, .mbhf-h-7 .mbhf-split-left .mbhf-menu .current-menu-item > a { color:var(--mbhf-white); text-decoration:underline; text-underline-offset:5px; }

/* 08 Mega Menu */
.mbhf-h-8 .mbhf-mega-navigation { margin-left:auto; }
.mbhf-h-8 .mbhf-mega-navigation .mbhf-menu > li.menu-item-has-children { position:static; }
.mbhf-h-8 .mbhf-mega-navigation .mbhf-menu > li.menu-item-has-children > .sub-menu {
	left:0; right:0; width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
	gap:6px 28px; padding:26px clamp(20px,4vw,40px); border-radius:0 0 var(--mbhf-radius) var(--mbhf-radius);
}
.mbhf-h-8 .mbhf-mega-navigation .sub-menu .sub-menu {
	position:static; display:block; opacity:1; visibility:visible; transform:none;
	box-shadow:none; border:0; padding:0; min-width:0;
}
.mbhf-h-8 .mbhf-mega-navigation .sub-menu .sub-menu a { color:var(--mbhf-ink-soft); }

/* 09 Boutique Drawer */
.mbhf-h-9 .mbhf-drawer-row > .mbhf-container { min-height:78px; }
.mbhf-h-9 .mbhf-brand { margin-inline:auto; }
.mbhf-h-9 .mbhf-toggle--label { margin-left:0; }

/* 10 Animated Underline */
.mbhf-h-10 .mbhf-menu > li > a::after {
	content:""; position:absolute; left:14px; right:14px; bottom:7px; height:2px; margin:0;
	border:0; background:var(--mbhf-red); transform:scaleX(0); transform-origin:right;
	transition:transform .3s var(--mbhf-ease); opacity:1;
}
.mbhf-h-10 .mbhf-menu .menu-item-has-children > a::after { width:auto; height:2px; }
.mbhf-h-10 .mbhf-menu > li > a:hover::after,
.mbhf-h-10 .mbhf-menu > li > a:focus-visible::after,
.mbhf-h-10 .mbhf-menu .current-menu-item > a::after { transform:scaleX(1); transform-origin:left; }

/* 11 Pill Nav */
.mbhf-h-11 .mbhf-menu { gap:4px; }
.mbhf-h-11 .mbhf-menu > li > a { border:1px solid var(--mbhf-line); border-radius:999px; padding-inline:18px; transition:background .2s var(--mbhf-ease), color .2s var(--mbhf-ease), border-color .2s var(--mbhf-ease); }
.mbhf-h-11 .mbhf-menu > li > a:hover, .mbhf-h-11 .mbhf-menu .current-menu-item > a { background:var(--mbhf-red); color:var(--mbhf-white); border-color:var(--mbhf-red); }

/* 12 Two-Row */
.mbhf-h-12 .mbhf-utility .mbhf-container { justify-content:space-between; }
.mbhf-h-12 .mbhf-utility .mbhf-search { width:min(320px,32vw); }
.mbhf-h-12 .mbhf-two-row .mbhf-nav { margin-inline:auto; }

/* 13 Search-Forward */
.mbhf-h-13 .mbhf-search-row .mbhf-search { flex:1 1 auto; max-width:520px; margin-inline:clamp(12px,3vw,40px) auto; }
.mbhf-h-13 .mbhf-search-nav { border-top:1px solid var(--mbhf-line-soft); background:var(--mbhf-white); }
.mbhf-h-13 .mbhf-search-nav .mbhf-container { padding-block:2px; }
.mbhf-h-13 .mbhf-search-nav .mbhf-menu { justify-content:flex-start; }

/* 14 Icon Nav */
.mbhf-h-14 .mbhf-menu > li > a { gap:9px; }
.mbhf-h-14 .mbhf-menu > li > a::before {
	content:""; width:7px; height:7px; flex:0 0 auto; background:var(--mbhf-red);
	transform:rotate(45deg); transition:transform .25s var(--mbhf-ease), background .2s var(--mbhf-ease);
}
.mbhf-h-14 .mbhf-menu > li > a:hover::before { transform:rotate(225deg); }

/* 15 Vertical Side Header */
.mbhf-h-15 { position:fixed; inset:0 auto 0 0; width:248px; min-height:100vh; box-shadow:2px 0 30px -14px rgba(21,21,23,.4); border-right:1px solid var(--mbhf-line-soft); }
.mbhf-h-15 .mbhf-sidebar { display:flex; flex-direction:column; align-items:flex-start; gap:26px; height:100%; overflow-y:auto; padding:34px 26px; }
.mbhf-h-15 .mbhf-nav, .mbhf-h-15 .mbhf-menu { width:100%; }
.mbhf-h-15 .mbhf-menu { flex-direction:column; align-items:stretch; gap:2px; }
.mbhf-h-15 .mbhf-menu li { width:100%; }
.mbhf-h-15 .mbhf-menu a { min-height:42px; padding-inline:8px; }
.mbhf-h-15 .mbhf-menu .menu-item-has-children > a::after { margin-left:auto; }
.mbhf-h-15 .mbhf-menu .sub-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; border-top:0; padding:0 0 6px 12px; min-width:0; }
.mbhf-h-15 .mbhf-cta { width:100%; }
.mbhf-h-15 .mbhf-sidebar-end { margin-top:auto; }
body.mbhf-side-layout.mbhf-hide-theme { padding-left:248px; }

/* 16 Gradient Accent */
.mbhf-h-16, .mbhf-h-16 .mbhf-gradient-row { background:linear-gradient(103deg, var(--mbhf-ink) 42%, var(--mbhf-red) 100%); color:var(--mbhf-white); }
.mbhf-h-16 .mbhf-menu > li > a:hover, .mbhf-h-16 .mbhf-menu .current-menu-item > a { color:var(--mbhf-white); opacity:.82; }
.mbhf-h-16 .mbhf-cta { background:var(--mbhf-white); color:var(--mbhf-ink); border-color:var(--mbhf-white); }
.mbhf-h-16 .mbhf-cta::before { background:var(--mbhf-red); }
.mbhf-h-16 .mbhf-cta:hover { color:var(--mbhf-white); border-color:var(--mbhf-red); }
.mbhf-h-16 .mbhf-menu .sub-menu { color:var(--mbhf-ink); }

/* 17 Glassmorphism */
.mbhf-h-17 { background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(16px) saturate(1.5); backdrop-filter:blur(16px) saturate(1.5); border-bottom:1px solid rgba(255,255,255,.5); box-shadow:0 8px 30px -20px rgba(21,21,23,.5); }

/* 18 Floating Boxed */
.mbhf-h-18 { padding:16px 20px; background:transparent; }
.mbhf-h-18 .mbhf-floating-row { width:min(100%, 1200px); margin-inline:auto; background:var(--mbhf-white); border:1px solid var(--mbhf-line-soft); border-radius:16px; box-shadow:var(--mbhf-shadow); }
.mbhf-h-18 .mbhf-floating-row > .mbhf-container { width:min(100% - 40px, 1120px); min-height:70px; }
.mbhf-h-18.mbhf-sticky { top:calc(var(--mbhf-top) + 0px); }

/* 19 Announcement + Nav */
.mbhf-h-19 .mbhf-announcement-row { box-shadow:0 6px 18px -14px rgba(21,21,23,.4); border-bottom:1px solid var(--mbhf-line-soft); }

/* 20 Full-Screen Menu */
.mbhf-h-20 .mbhf-fullscreen-row > .mbhf-container { justify-content:space-between; min-height:80px; }
.mbhf-h-20 .mbhf-toggle--label { margin-left:0; }

/* =========================================================================
 * Off-canvas drawer, full-screen menu, accordions, orchestrated reveal
 * ====================================================================== */
.mbhf-backdrop {
	position:fixed; inset:0; z-index:99998; background:rgba(15,15,17,.5);
	-webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .25s var(--mbhf-ease), visibility .25s;
}
.mbhf-mobile-panel {
	position:fixed; z-index:99999; top:0; right:0; bottom:0; width:min(420px, 92vw);
	background:var(--mbhf-white); color:var(--mbhf-ink);
	padding:26px 28px 32px; overflow-y:auto; overscroll-behavior:contain;
	opacity:0; visibility:hidden; pointer-events:none; transform:translateX(102%);
	box-shadow:-30px 0 60px -30px rgba(21,21,23,.6);
	transition:transform .32s var(--mbhf-ease), opacity .25s var(--mbhf-ease), visibility .32s;
}
.mbhf-menu-open .mbhf-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
.mbhf-menu-open .mbhf-mobile-panel { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(0); }
.mbhf-scroll-lock { overflow:hidden!important; }

.mbhf-mobile-panel .mbhf-close {
	position:absolute; top:18px; right:20px; width:44px; height:44px; border:0; background:transparent;
}
.mbhf-mobile-panel .mbhf-close span {
	position:absolute; top:50%; left:50%; width:22px; height:2px; background:currentColor; border-radius:2px;
}
.mbhf-mobile-panel .mbhf-close span:nth-child(1) { transform:translate(-50%,-50%) rotate(45deg); }
.mbhf-mobile-panel .mbhf-close span:nth-child(2) { transform:translate(-50%,-50%) rotate(-45deg); }
.mbhf-mobile-panel > .mbhf-brand { margin-bottom:26px; }
.mbhf-mobile-panel > .mbhf-search { width:100%; margin-bottom:18px; }
.mbhf-mobile-panel .mbhf-menu { flex-direction:column; align-items:stretch; gap:0; }
.mbhf-mobile-panel .mbhf-menu li { display:flex; flex-wrap:wrap; align-items:center; width:100%; border-bottom:1px solid var(--mbhf-line-soft); }
.mbhf-mobile-panel .mbhf-menu a { flex:1 1 0; min-width:0; min-height:52px; padding:8px 4px; font-size:17px; font-weight:600; white-space:normal; }
.mbhf-mobile-panel .mbhf-menu .menu-item-has-children > a::after { display:none; }
.mbhf-mobile-panel .mbhf-sub-toggle {
	display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
	border:0; border-radius:8px; background:rgba(216,31,44,.08); color:var(--mbhf-red); font-size:22px; line-height:1;
}
.mbhf-header .mbhf-mobile-panel .mbhf-menu .sub-menu {
	display:block; position:static; opacity:1; visibility:visible; transform:none;
	box-shadow:none; border:0; border-top:0; background:transparent; width:100%; min-width:0;
	padding:2px 0 8px 16px; margin:0;
}
.mbhf-header .mbhf-mobile-panel .mbhf-menu .sub-menu[hidden] { display:none!important; }
.mbhf-header .mbhf-mobile-panel .mbhf-menu .sub-menu a { padding:6px 4px; font-size:15px; font-weight:500; }
.mbhf-mobile-panel > .mbhf-cta { margin-top:26px; width:100%; }
.mbhf-mobile-panel > .mbhf-social { margin-top:22px; }

/* Orchestrated staggered entrance of top-level items when the panel opens */
.mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li { opacity:0; transform:translateX(16px); }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li {
	opacity:1; transform:translateX(0);
	transition:opacity .4s var(--mbhf-ease), transform .4s var(--mbhf-ease);
}
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(1) { transition-delay:.06s; }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(2) { transition-delay:.1s; }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(3) { transition-delay:.14s; }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(4) { transition-delay:.18s; }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(5) { transition-delay:.22s; }
.mbhf-menu-open .mbhf-mobile-panel > .mbhf-nav .mbhf-menu > li:nth-child(n+6) { transition-delay:.26s; }

/* Full-screen variant (template 20) */
.mbhf-mobile-panel--fullscreen {
	inset:0; width:100%; padding:clamp(80px,14vh,150px) max(28px, calc((100vw - 760px)/2));
	background:rgba(17,17,19,.98); color:var(--mbhf-white); text-align:center; transform:none; opacity:0;
	transition:opacity .35s var(--mbhf-ease), visibility .35s;
}
.mbhf-menu-open .mbhf-mobile-panel--fullscreen { opacity:1; }
.mbhf-mobile-panel--fullscreen .mbhf-close { color:var(--mbhf-white); top:26px; right:28px; }
.mbhf-mobile-panel--fullscreen > .mbhf-brand { margin:0 auto 30px; }
.mbhf-mobile-panel--fullscreen .mbhf-menu { align-items:center; }
.mbhf-mobile-panel--fullscreen .mbhf-menu li { border:0; justify-content:center; }
.mbhf-mobile-panel--fullscreen .mbhf-menu a { justify-content:center; min-height:auto; padding:12px 4px; font-size:clamp(26px,4vw,44px); font-weight:700; letter-spacing:-.01em; }
.mbhf-mobile-panel--fullscreen .mbhf-sub-toggle { background:rgba(255,255,255,.12); color:var(--mbhf-white); }
.mbhf-header .mbhf-mobile-panel--fullscreen .mbhf-menu .sub-menu { padding-left:0; text-align:center; }
.mbhf-header .mbhf-mobile-panel--fullscreen .mbhf-menu .sub-menu a { font-size:18px; opacity:.85; }
.mbhf-mobile-panel--fullscreen > .mbhf-cta { display:inline-flex; margin-top:34px; }

/* =========================================================================
 * Footer — base + eight arrangements
 * ====================================================================== */
.mbhf-footer { background:var(--mbhf-ink); color:var(--mbhf-white); padding:60px 0 26px; font-size:14px; line-height:1.6; }
.mbhf-footer .mbhf-brand { color:inherit; margin-bottom:4px; }
.mbhf-footer p { margin:14px 0; color:rgba(255,255,255,.72); max-width:42ch; }
.mbhf-footer h2 { font-size:15px; font-weight:700; letter-spacing:.02em; margin:0 0 16px; color:inherit; }
.mbhf-footer .mbhf-menu { flex-direction:column; align-items:flex-start; gap:2px; }
.mbhf-footer .mbhf-menu a { min-height:34px; padding:5px 0; font-size:14px; font-weight:500; color:rgba(255,255,255,.78); }
.mbhf-footer .mbhf-menu a:hover { color:var(--mbhf-white); }
.mbhf-footer .mbhf-menu .menu-item-has-children > a::after { display:none; }
.mbhf-footer .mbhf-menu .sub-menu { position:static; display:block; padding:0 0 0 14px; background:none; box-shadow:none; border:0; min-width:0; opacity:1; visibility:visible; transform:none; }
.mbhf-footer .mbhf-social a { color:var(--mbhf-white); }
.mbhf-footer .mbhf-social a:hover { background:var(--mbhf-red); }
.mbhf-contact { display:flex; flex-direction:column; gap:12px; overflow-wrap:anywhere; }
.mbhf-contact a { color:rgba(255,255,255,.78); }
.mbhf-contact a:hover { color:var(--mbhf-white); }
.mbhf-copyright { font-size:12.5px; color:rgba(255,255,255,.6); }
.mbhf-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }

/* F1 Multi-Column */
.mbhf-f-1 .mbhf-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:clamp(28px,5vw,72px); }
.mbhf-f-1 .mbhf-footer-about .mbhf-social { margin-top:20px; }

/* F2 Minimal Single-Row */
.mbhf-f-2 { padding:22px 0; }
.mbhf-f-2 .mbhf-footer-single { display:flex; align-items:center; flex-wrap:wrap; gap:22px; justify-content:space-between; }
.mbhf-f-2 .mbhf-menu { flex-direction:row; flex-wrap:wrap; gap:2px 4px; }
.mbhf-f-2 .mbhf-menu a { padding:6px 10px; }

/* F3 Centered Stacked */
.mbhf-f-3 .mbhf-footer-stack { display:flex; flex-direction:column; align-items:center; text-align:center; gap:22px; }
.mbhf-f-3 .mbhf-menu { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:2px 4px; }
.mbhf-f-3 .mbhf-menu a { padding:6px 12px; }

/* F4 Big CTA */
.mbhf-f-4 { background:var(--mbhf-red); }
.mbhf-f-4 .mbhf-footer-hero { text-align:center; padding:16px 10px 56px; }
.mbhf-f-4 .mbhf-footer-hero p { margin:0 auto 10px; color:rgba(255,255,255,.85); font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.mbhf-f-4 .mbhf-footer-hero h2 { font-size:clamp(30px,5vw,58px); font-weight:800; letter-spacing:-.02em; margin:0 0 30px; max-width:none; }
.mbhf-f-4 .mbhf-cta { background:var(--mbhf-white); color:var(--mbhf-red); border-color:var(--mbhf-white); min-height:52px; padding-inline:34px; font-size:15px; }
.mbhf-f-4 .mbhf-cta::before { background:var(--mbhf-ink); }
.mbhf-f-4 .mbhf-cta:hover { color:var(--mbhf-white); }
.mbhf-f-4 .mbhf-footer-bottom { border-top-color:rgba(255,255,255,.28); }

/* F5 Newsletter */
.mbhf-f-5 .mbhf-footer-news { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(28px,5vw,64px); align-items:center; }
.mbhf-f-5 .mbhf-footer-news h2 { font-size:clamp(22px,3vw,32px); font-weight:800; letter-spacing:-.01em; margin-bottom:8px; }
.mbhf-newsletter label:not(.mbhf-sr) { display:block; margin-bottom:10px; font-weight:700; }
.mbhf-newsletter-row { display:flex; min-width:0; box-shadow:0 14px 30px -20px rgba(0,0,0,.6); border-radius:8px; overflow:hidden; }
.mbhf-newsletter input[type=email] { flex:1; min-width:0; border:0; padding:14px 16px; background:var(--mbhf-white); color:var(--mbhf-ink); }
.mbhf-newsletter button { border:0; background:var(--mbhf-red); color:var(--mbhf-white); padding:0 22px; font-weight:700; transition:background .2s var(--mbhf-ease); }
.mbhf-newsletter button:hover { background:var(--mbhf-red-ink); }
.mbhf-newsletter-consent { margin:12px 0 0; font-size:12px; color:rgba(255,255,255,.6); }
.mbhf-newsletter-status { font-weight:700; margin-top:10px; }
.mbhf-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }

/* F6 Social-Focused */
.mbhf-f-6 .mbhf-footer-social { text-align:center; }
.mbhf-f-6 h2 { font-size:clamp(24px,4vw,40px); font-weight:800; letter-spacing:-.01em; }
.mbhf-f-6 > .mbhf-container > .mbhf-social { justify-content:center; gap:14px; margin-top:6px; }
.mbhf-f-6 > .mbhf-container > .mbhf-social a { width:60px; height:60px; border:1px solid rgba(255,255,255,.28); }
.mbhf-f-6 .mbhf-footer-social-line { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; text-align:left; margin-top:46px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }
.mbhf-f-6 .mbhf-footer-social-line .mbhf-menu { flex-direction:row; flex-wrap:wrap; gap:2px 4px; }

/* F7 Dark */
.mbhf-f-7 .mbhf-footer-dark { display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(24px,4vw,60px); align-items:start; }
.mbhf-f-7 .mbhf-footer-dark-links { display:flex; justify-content:flex-end; gap:clamp(24px,4vw,56px); }
.mbhf-f-7 .mbhf-footer-dark-links .mbhf-social { align-self:flex-start; }
.mbhf-f-7 .mbhf-copyright { margin-top:40px; padding-top:22px; border-top:2px solid var(--mbhf-red); }

/* F8 Light */
.mbhf-f-8 { background:var(--mbhf-white); color:var(--mbhf-ink); border-top:3px solid var(--mbhf-red); }
.mbhf-f-8 p, .mbhf-f-8 .mbhf-copyright { color:var(--mbhf-ink-soft); }
.mbhf-f-8 .mbhf-menu a { color:var(--mbhf-ink-soft); }
.mbhf-f-8 .mbhf-menu a:hover { color:var(--mbhf-red); }
.mbhf-f-8 .mbhf-contact a { color:var(--mbhf-ink-soft); }
.mbhf-f-8 .mbhf-social a { color:var(--mbhf-ink); }
.mbhf-f-8 .mbhf-footer-light-top, .mbhf-f-8 .mbhf-footer-light-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.mbhf-f-8 .mbhf-footer-light-bottom { margin-top:44px; padding-top:22px; border-top:1px solid var(--mbhf-line); }
.mbhf-f-8 .mbhf-footer-light-bottom .mbhf-menu { flex-direction:row; flex-wrap:wrap; gap:2px 4px; }

/* =========================================================================
 * Responsive
 * ====================================================================== */
@media (max-width:1120px) {
	.mbhf-header .mbhf-bar > .mbhf-container { gap:14px; }
	.mbhf-header .mbhf-menu > li > a { padding-inline:10px; font-size:14px; }
}
@media (max-width:960px) {
	.mbhf-header .mbhf-bar > .mbhf-container { min-height:64px; }
	.mbhf-header .mbhf-toggle { display:inline-flex; }
	.mbhf-header .mbhf-nav:not(.mbhf-nav--mobile),
	.mbhf-header .mbhf-bar > .mbhf-container > .mbhf-cta,
	.mbhf-header .mbhf-header-group,
	.mbhf-header .mbhf-search-nav,
	.mbhf-header .mbhf-utility,
	.mbhf-header .mbhf-sidebar-end,
	.mbhf-header .mbhf-mega-navigation { display:none!important; }
	.mbhf-header .mbhf-split-band { display:flex; align-items:center; justify-content:space-between; min-height:64px; padding-inline:24px; }
	.mbhf-header .mbhf-split-left, .mbhf-header .mbhf-split-right { display:none; }
	.mbhf-header .mbhf-split-band .mbhf-brand { background:transparent; padding:0; }
	.mbhf-header .mbhf-search-row .mbhf-search { margin:0 0 0 auto; max-width:50%; }
	.mbhf-h-15 { position:relative; inset:auto; width:100%; min-height:0; border-right:0; box-shadow:none; }
	.mbhf-h-15 .mbhf-sidebar { flex-direction:row; align-items:center; height:auto; padding:10px 24px; overflow:visible; }
	.mbhf-h-15 .mbhf-sidebar .mbhf-toggle { margin-left:auto; }
	.mbhf-h-15.mbhf-sticky { position:sticky; }
	body.mbhf-side-layout.mbhf-hide-theme { padding-left:0; }
	.mbhf-h-18 { padding-inline:12px; }
}
@media (max-width:640px) {
	body.admin-bar .mbhf-header { --mbhf-top:0px; }
	.mbhf-container { width:min(100% - 32px, 1240px); }
	.mbhf-header .mbhf-brand { max-width:64vw; }
	.mbhf-header .mbhf-brand img { max-height:42px; }
	.mbhf-header .mbhf-search-row .mbhf-search { display:none; }
	.mbhf-footer { padding-top:44px; }
	.mbhf-f-1 .mbhf-footer-grid,
	.mbhf-f-5 .mbhf-footer-news,
	.mbhf-f-7 .mbhf-footer-dark { grid-template-columns:1fr; }
	.mbhf-f-7 .mbhf-footer-dark-links { justify-content:flex-start; }
	.mbhf-footer-bottom, .mbhf-f-2 .mbhf-footer-single, .mbhf-f-8 .mbhf-footer-light-bottom { flex-direction:column; align-items:flex-start; }
	.mbhf-newsletter-row { flex-wrap:wrap; }
	.mbhf-newsletter input[type=email] { flex-basis:100%; }
	.mbhf-newsletter button { flex:1; padding:12px; }
	.mbhf-mobile-panel { padding:24px 22px 28px; }
}
@media (prefers-reduced-motion:reduce) {
	.mbhf-scope *, .mbhf-scope *::before, .mbhf-scope *::after {
		animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important;
	}
}

/* =========================================================================
 * 2.1 — Richer detail and motion flows
 * ====================================================================== */

/* Sticky header: condense, then hide on scroll-down / reveal on scroll-up */
.mbhf-header.mbhf-sticky { transition:transform .45s var(--mbhf-ease), box-shadow .3s var(--mbhf-ease), background .3s var(--mbhf-ease); will-change:transform; }
.mbhf-header.mbhf-nav-up { transform:translateY(-100%); }
.mbhf-h-5.mbhf-sticky.mbhf-scrolled.mbhf-nav-up { transform:translateY(-100%); }
.mbhf-h-18.mbhf-nav-up { transform:translateY(-130%); }
.mbhf-header.mbhf-sticky.mbhf-scrolled { box-shadow:0 14px 34px -20px rgba(21,21,23,.5); }
.mbhf-h-18.mbhf-scrolled .mbhf-floating-row { box-shadow:0 20px 50px -24px rgba(21,21,23,.55); }

/* Dropdowns: cascade items in as the panel opens */
.mbhf-header .mbhf-menu .sub-menu > li { opacity:0; transform:translateY(6px); transition:opacity .24s var(--mbhf-ease), transform .24s var(--mbhf-ease); }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li,
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li { opacity:1; transform:none; }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li:nth-child(2),
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li:nth-child(2) { transition-delay:.04s; }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li:nth-child(3),
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li:nth-child(3) { transition-delay:.08s; }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li:nth-child(4),
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li:nth-child(4) { transition-delay:.12s; }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li:nth-child(5),
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li:nth-child(5) { transition-delay:.16s; }
.mbhf-header .mbhf-menu li:hover > .sub-menu > li:nth-child(n+6),
.mbhf-header .mbhf-menu li:focus-within > .sub-menu > li:nth-child(n+6) { transition-delay:.2s; }
/* Static submenus (mobile drawer, side rail, mega sub-lists) stay fully shown */
.mbhf-header .mbhf-mobile-panel .mbhf-menu .sub-menu > li,
.mbhf-h-15 .mbhf-menu .sub-menu > li,
.mbhf-h-8 .mbhf-mega-navigation .sub-menu .sub-menu > li { opacity:1; transform:none; transition:none; }

/* Caret flips upward while its dropdown is open */
.mbhf-menu .menu-item-has-children:hover > a::after,
.mbhf-menu .menu-item-has-children:focus-within > a::after { transform:translateY(1px) rotate(-135deg); }

/* Button: a light sweep passes across on hover, over the ink fill */
.mbhf-cta > span { z-index:2; }
.mbhf-cta::after { content:""; position:absolute; top:0; bottom:0; left:-70%; width:45%; z-index:1; pointer-events:none;
	background:linear-gradient(100deg, transparent, rgba(255,255,255,.4), transparent); transform:skewX(-18deg); opacity:0; }
.mbhf-cta:hover::after, .mbhf-cta:focus-visible::after { animation:mbhf-sheen .8s var(--mbhf-ease); }
@keyframes mbhf-sheen { 0% { left:-70%; opacity:0; } 22% { opacity:1; } 100% { left:130%; opacity:0; } }

/* Text logo: a quiet underline reveals on hover */
.mbhf-brand--text span::after { content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:currentColor; opacity:.65;
	transform:scaleX(0); transform-origin:left; transition:transform .3s var(--mbhf-ease); }
.mbhf-brand--text:hover span::after, .mbhf-brand--text:focus-visible span::after { transform:scaleX(1); }

/* Utility search widens while focused (two-row header) */
.mbhf-utility .mbhf-search { transition:border-color .2s var(--mbhf-ease), box-shadow .2s var(--mbhf-ease), width .32s var(--mbhf-ease); }
.mbhf-h-12 .mbhf-utility .mbhf-search:focus-within { width:min(440px, 42vw); }

/* Announcement drops in on load */
.mbhf-announcement { animation:mbhf-drop .5s var(--mbhf-ease); }
@keyframes mbhf-drop { from { transform:translateY(-100%); opacity:0; } to { transform:none; opacity:1; } }

/* Per-template touches */
.mbhf-h-10 .mbhf-menu > li > a::after { transition:transform .34s cubic-bezier(.34,1.4,.5,1); }
.mbhf-h-11 .mbhf-menu > li > a:hover { transform:translateY(-1px); box-shadow:0 8px 16px -10px rgba(216,31,44,.8); }
.mbhf-h-14 .mbhf-menu > li > a:hover { color:var(--mbhf-red); }
.mbhf-h-17 .mbhf-menu > li > a { border-radius:8px; transition:color .2s var(--mbhf-ease), background .2s var(--mbhf-ease); }
.mbhf-h-17 .mbhf-menu > li > a:hover { background:rgba(255,255,255,.55); }

/* Mobile accordion: smooth expand/collapse + morphing +/- control */
.mbhf-header .mbhf-mobile-panel .mbhf-menu .sub-menu { overflow:hidden; max-height:0; transition:max-height .32s var(--mbhf-ease); }
.mbhf-sub-toggle span { position:relative; display:block; width:14px; height:14px; }
.mbhf-sub-toggle span::before, .mbhf-sub-toggle span::after { content:""; position:absolute; top:50%; left:50%; background:currentColor; border-radius:2px; }
.mbhf-sub-toggle span::before { width:14px; height:2px; transform:translate(-50%,-50%); }
.mbhf-sub-toggle span::after { width:2px; height:14px; transform:translate(-50%,-50%); transition:transform .28s var(--mbhf-ease), opacity .28s var(--mbhf-ease); }
.mbhf-sub-open > .mbhf-sub-toggle span::after { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
