/*
Theme Name: MBH Theme
Theme URI: https://mbhelectricnj.com
Author: Unified Marketing
Author URI: https://unifiedmktg.com
Description: Ultra-light, body-only WordPress theme for MBH Electrical Contractors LLC. Fork of the Unified Theme — zero framework bloat, full-bleed page rendering, theme-owned header (mega menu) + footer, theme-emitted SEO meta and JSON-LD schema.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: Proprietary
Text Domain: mbh-theme
*/

/* ============================================================
   BRAND TOKENS — MBH Electrical Contractors
   Black + electric red + steel gray, from the twisted-wire logo.
   ============================================================ */
:root{
  --mbh-black:#0b0c0f;        /* deep site black (hero/footer)   */
  --mbh-ink:#15171c;          /* text ink on light               */
  --mbh-coal:#1d2026;         /* raised dark surface             */
  --mbh-red:#e11d26;          /* logo red — primary accent       */
  --mbh-red-hot:#ff3b42;      /* hover / glow red                */
  --mbh-red-deep:#b3121a;     /* pressed red                     */
  --mbh-paper:#f5f5f2;        /* warm light background           */
  --mbh-white:#ffffff;
  --mbh-gray:#5d6470;         /* muted body text                 */
  --mbh-steel:#9aa1ad;        /* muted text on dark              */
  --mbh-line:rgba(21,23,28,.12);
  --mbh-line-d:rgba(255,255,255,.1);
  --mbh-glow:rgba(225,29,38,.32);
  --mbh-font-d:'Archivo',system-ui,sans-serif;      /* display  */
  --mbh-font-b:'Inter',system-ui,sans-serif;        /* body     */
  --mbh-font-m:'JetBrains Mono',ui-monospace,monospace; /* labels */
  --section:clamp(72px,9vw,128px);
  --dur:.22s;
}

/* ============================================================
   RESET + BASE
   ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--mbh-font-b);color:var(--mbh-ink);background:var(--mbh-white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto}
a{color:inherit}
.mbh-content{width:100%}

/* ============================================================
   LAYOUT PRIMITIVES
   ============================================================ */
.mbh-wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,34px)}
.mbh-sec{padding-block:var(--section)}
.mbh-sec--paper{background:var(--mbh-paper)}
.mbh-sec--dark{background:var(--mbh-black);color:var(--mbh-white)}
.mbh-sec--tight{padding-block:calc(var(--section)*.62)}

/* ============================================================
   TYPE
   ============================================================ */
.mbh-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mbh-font-m);font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mbh-red);margin:0 0 18px}
.mbh-eyebrow::before{content:"";width:26px;height:2px;background:var(--mbh-red);flex:none}
.mbh-sec--dark .mbh-eyebrow{color:var(--mbh-red-hot)}
.mbh-h1{font-family:var(--mbh-font-d);font-weight:850;font-stretch:112%;font-size:clamp(40px,6.2vw,78px);line-height:.98;letter-spacing:-.015em;text-transform:uppercase;margin:0 0 22px}
.mbh-h2{font-family:var(--mbh-font-d);font-weight:800;font-stretch:110%;font-size:clamp(30px,4.2vw,52px);line-height:1.02;letter-spacing:-.012em;text-transform:uppercase;margin:0 0 18px}
.mbh-h3{font-family:var(--mbh-font-d);font-weight:750;font-stretch:106%;font-size:clamp(19px,2vw,23px);line-height:1.15;margin:0 0 10px}
.mbh-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:var(--mbh-gray);max-width:780px;margin:0 0 8px}
.mbh-sec--dark .mbh-lead{color:var(--mbh-steel)}
.mbh-kicker{color:var(--mbh-red);font-weight:700}
.mbh-center{text-align:center}
.mbh-center .mbh-eyebrow{justify-content:center}
.mbh-center .mbh-lead{margin-inline:auto}

/* ============================================================
   BUTTONS
   ============================================================ */
.mbh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--mbh-red);color:#fff;text-decoration:none;font-family:var(--mbh-font-d);font-weight:750;font-stretch:105%;font-size:15.5px;letter-spacing:.06em;text-transform:uppercase;padding:17px 34px;border:0;border-radius:4px;cursor:pointer;position:relative;overflow:hidden;transition:transform var(--dur),box-shadow var(--dur),background var(--dur)}
.mbh-btn:hover{background:var(--mbh-red-hot);transform:translateY(-2px);box-shadow:0 14px 34px -12px var(--mbh-glow)}
.mbh-btn:active{background:var(--mbh-red-deep);transform:translateY(0)}
.mbh-btn:focus-visible{outline:2px solid var(--mbh-red);outline-offset:3px}
.mbh-btn--ghost{background:transparent;border:1.5px solid var(--mbh-line);color:var(--mbh-ink)}
.mbh-btn--ghost:hover{background:var(--mbh-ink);border-color:var(--mbh-ink);color:#fff;box-shadow:none}
.mbh-sec--dark .mbh-btn--ghost,.mbh-hero .mbh-btn--ghost{border-color:rgba(255,255,255,.32);color:#fff}
.mbh-sec--dark .mbh-btn--ghost:hover,.mbh-hero .mbh-btn--ghost:hover{background:#fff;border-color:#fff;color:var(--mbh-black)}
.mbh-btn--sm{padding:12px 22px;font-size:13.5px}
.mbh-btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* ============================================================
   HEADER — top bar + sticky nav + mega menu
   ============================================================ */
.mbh-topbar{background:var(--mbh-black);color:var(--mbh-steel);font-size:13px;border-bottom:1px solid var(--mbh-line-d);position:relative;z-index:60}
.mbh-topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:9px}
.mbh-topbar .mbh-bolt{color:var(--mbh-red)}
.mbh-topbar-note{display:inline-flex;align-items:center;gap:8px;font-family:var(--mbh-font-m);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.mbh-topbar-right{display:flex;align-items:center;gap:18px}
.mbh-topbar-right a{color:#fff;text-decoration:none;font-weight:600;transition:color var(--dur)}
.mbh-topbar-right a:hover{color:var(--mbh-red-hot)}
@media(max-width:760px){.mbh-topbar-note span{display:none}.mbh-topbar-lic{display:none}}

.mbh-hdr{position:sticky;top:0;z-index:50;background:rgba(11,12,15,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--mbh-line-d);transition:box-shadow var(--dur)}
.mbh-hdr.is-stuck{box-shadow:0 18px 44px -22px rgba(0,0,0,.65)}
.mbh-nav-in{display:flex;align-items:center;gap:28px;height:76px}
.mbh-logo{display:flex;align-items:center;flex:none}
.mbh-logo img{height:44px;width:auto;display:block}

.mbh-menu{margin-left:auto}
.mbh-menu>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.mbh-menu>ul>li{position:static}
.mbh-menu a,.mbh-menu button{appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;color:#e8eaee;font-family:var(--mbh-font-b);font-size:15px;font-weight:600;text-decoration:none;padding:10px 14px;border-radius:4px;position:relative;transition:color var(--dur)}
.mbh-menu a::after,.mbh-menu button::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--mbh-red);transform:scaleX(0);transform-origin:left;transition:transform var(--dur)}
.mbh-menu a:hover,.mbh-menu button:hover,.mbh-menu .has-mega.is-open>button{color:#fff}
.mbh-menu a:hover::after,.mbh-menu button:hover::after,.mbh-menu .has-mega.is-open>button::after{transform:scaleX(1)}
.mbh-menu a:focus-visible,.mbh-menu button:focus-visible{outline:2px solid var(--mbh-red);outline-offset:2px}
.mbh-caret{width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--dur)}
.has-mega.is-open .mbh-caret{transform:rotate(-135deg) translateY(-2px)}

/* mega panel */
.mbh-mega{position:absolute;left:0;right:0;top:100%;background:rgba(13,14,18,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--mbh-line-d);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--dur),transform var(--dur),visibility var(--dur)}
.has-mega.is-open .mbh-mega{opacity:1;visibility:visible;transform:translateY(0)}
.mbh-mega-in{max-width:1240px;margin-inline:auto;padding:38px clamp(20px,4vw,34px) 42px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:clamp(24px,3.5vw,56px)}
.mbh-mega h4{font-family:var(--mbh-font-m);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mbh-red-hot);margin:0 0 16px;display:flex;align-items:center;gap:8px}
.mbh-mega h4::after{content:"";height:1px;background:var(--mbh-line-d);flex:1}
.mbh-mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mbh-mega ul a{display:block;padding:9px 12px;margin:0 -12px;border-radius:6px;color:#d6d9df;font-size:14.5px;font-weight:500;text-decoration:none;transition:background var(--dur),color var(--dur),padding var(--dur)}
.mbh-mega ul a:hover{background:rgba(225,29,38,.12);color:#fff;padding-left:18px}
.mbh-mega ul a::after{content:none}
.mbh-mega ul a small{display:block;font-size:12px;color:var(--mbh-steel);font-weight:400;margin-top:1px}
.mbh-mega-feature{background:linear-gradient(150deg,#1d2026 0%,#101216 70%);border:1px solid var(--mbh-line-d);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.mbh-mega-feature::before{content:"";position:absolute;top:-40%;right:-30%;width:70%;aspect-ratio:1;background:radial-gradient(circle,var(--mbh-glow),transparent 65%);pointer-events:none}
.mbh-mega-feature strong{font-family:var(--mbh-font-d);font-weight:800;font-stretch:108%;font-size:21px;line-height:1.12;text-transform:uppercase;color:#fff}
.mbh-mega-feature p{margin:0;color:var(--mbh-steel);font-size:13.5px;line-height:1.55}
.mbh-mega-feature .mbh-btn{align-self:flex-start;margin-top:4px}
.mbh-mega-tel{color:#fff;text-decoration:none;font-family:var(--mbh-font-d);font-weight:800;font-size:22px;letter-spacing:.02em}
.mbh-mega-tel:hover{color:var(--mbh-red-hot)}
.mbh-mega-tel::after{content:none}

.mbh-nav-cta{display:flex;align-items:center;gap:20px;flex:none}
.mbh-nav-tel{display:flex;flex-direction:column;text-decoration:none;color:#fff;line-height:1.15;text-align:right}
.mbh-nav-tel small{font-family:var(--mbh-font-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mbh-steel)}
.mbh-nav-tel strong{font-family:var(--mbh-font-d);font-weight:800;font-size:18px;letter-spacing:.02em;transition:color var(--dur)}
.mbh-nav-tel:hover strong{color:var(--mbh-red-hot)}

/* burger + mobile drawer */
.mbh-burger{display:none;appearance:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto}
.mbh-burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform var(--dur),opacity var(--dur)}
.mbh-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mbh-burger.is-open span:nth-child(2){opacity:0}
.mbh-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mbh-drawer{display:none;position:fixed;inset:0;top:0;z-index:49;background:var(--mbh-black);color:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(122px,26vw,150px) 26px 48px;opacity:0;visibility:hidden;transition:opacity var(--dur),visibility var(--dur)}
/* when the drawer is open, make the sticky header opaque so menu items don't show through it */
body.mbh-nav-open{overflow:hidden}
body.mbh-nav-open .mbh-hdr{background:var(--mbh-black)}
body.mbh-nav-open .mbh-topbar{opacity:0;pointer-events:none}
.mbh-drawer.is-open{opacity:1;visibility:visible}
.mbh-drawer nav>ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mbh-drawer nav>ul>li{border-bottom:1px solid var(--mbh-line-d)}
.mbh-drawer nav>ul>li>a,.mbh-drawer nav>ul>li>button{appearance:none;background:none;border:0;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:space-between;color:#fff;font-family:var(--mbh-font-d);font-weight:750;font-stretch:106%;font-size:20px;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;padding:18px 2px}
.mbh-drawer .mbh-caret{transition:transform var(--dur)}
.mbh-drawer li.is-open>button .mbh-caret{transform:rotate(-135deg)}
.mbh-drawer-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.mbh-drawer li.is-open .mbh-drawer-sub{grid-template-rows:1fr}
.mbh-drawer-sub>div{overflow:hidden}
.mbh-drawer-sub ul{list-style:none;margin:0;padding:0 0 16px}
.mbh-drawer-sub a{display:block;color:#c9cdd4;text-decoration:none;font-size:15.5px;padding:9px 14px;border-left:2px solid rgba(255,255,255,.12);transition:color var(--dur),border-color var(--dur)}
.mbh-drawer-sub a:hover{color:#fff;border-color:var(--mbh-red)}
.mbh-drawer-cta{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.mbh-drawer-cta .mbh-mega-tel{font-size:28px}
@media(max-width:1080px){
  .mbh-menu,.mbh-nav-cta{display:none}
  .mbh-burger{display:flex}
  .mbh-drawer{display:block}
  .mbh-nav-in{height:68px}
  .mbh-logo img{height:38px}
}

/* ============================================================
   HERO
   ============================================================ */
.mbh-hero{position:relative;background:var(--mbh-black);color:#fff;overflow:clip}
.mbh-hero-bg{position:absolute;inset:0}
.mbh-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.62}
.mbh-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,12,15,.82) 22%,rgba(11,12,15,.42) 58%,rgba(11,12,15,.62))}
.mbh-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 80% at 30% 20%,#000 0%,transparent 70%);pointer-events:none}
.mbh-hero-glow{position:absolute;width:640px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--mbh-glow),transparent 62%);filter:blur(10px);top:-260px;right:-160px;pointer-events:none}
.mbh-hero-in{position:relative;padding-block:clamp(96px,13vw,180px)}
.mbh-hero--home .mbh-hero-in{min-height:min(78vh,860px);display:flex;flex-direction:column;justify-content:center}
.mbh-hero .mbh-h1 em{font-style:normal;color:var(--mbh-red-hot)}
.mbh-hero .mbh-lead{color:#c9cdd4}
.mbh-hero-meta{display:flex;flex-wrap:wrap;gap:26px;margin-top:44px;padding-top:26px;border-top:1px solid var(--mbh-line-d);font-family:var(--mbh-font-m);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mbh-steel)}
.mbh-hero-meta b{color:#fff;font-weight:600}
.mbh-crumbs{position:relative;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--mbh-font-m);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mbh-steel);margin:0 0 26px;padding:0;list-style:none}
.mbh-crumbs a{color:var(--mbh-steel);text-decoration:none;transition:color var(--dur)}
.mbh-crumbs a:hover{color:#fff}
.mbh-crumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:var(--mbh-red)}
.mbh-crumbs li:last-child{color:#fff}

/* ============================================================
   COMPONENTS
   ============================================================ */
/* section header block */
.mbh-sechead{max-width:820px;margin-bottom:clamp(36px,5vw,60px)}
.mbh-sechead--center{margin-inline:auto;text-align:center}
.mbh-sechead--center .mbh-eyebrow{justify-content:center}

/* card grids */
.mbh-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mbh-cards--2{grid-template-columns:repeat(2,1fr)}
.mbh-cards--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1020px){.mbh-cards,.mbh-cards--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.mbh-cards,.mbh-cards--2,.mbh-cards--4{grid-template-columns:1fr}}
.mbh-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--mbh-line);border-radius:10px;padding:30px 28px;text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:transform var(--dur),box-shadow var(--dur),border-color var(--dur)}
.mbh-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mbh-red);transform:scaleY(0);transform-origin:top;transition:transform var(--dur)}
.mbh-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(21,23,28,.35);border-color:transparent}
.mbh-card:hover::before{transform:scaleY(1)}
.mbh-card:focus-visible{outline:2px solid var(--mbh-red);outline-offset:3px}
.mbh-card p{margin:0;color:var(--mbh-gray);font-size:14.5px;line-height:1.6}
.mbh-card .mbh-more{margin-top:auto;padding-top:12px;font-family:var(--mbh-font-m);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mbh-red);display:inline-flex;align-items:center;gap:8px}
.mbh-card .mbh-more::after{content:"→";transition:transform var(--dur)}
.mbh-card:hover .mbh-more::after{transform:translateX(5px)}
.mbh-ico{width:46px;height:46px;border-radius:9px;background:rgba(225,29,38,.09);display:flex;align-items:center;justify-content:center;color:var(--mbh-red);flex:none;transition:background var(--dur),color var(--dur)}
.mbh-ico svg{width:24px;height:24px}
.mbh-card:hover .mbh-ico{background:var(--mbh-red);color:#fff}
/* dark card variant */
.mbh-card--dark{background:var(--mbh-coal);border-color:var(--mbh-line-d);color:#fff}
.mbh-card--dark p{color:var(--mbh-steel)}
.mbh-card--dark:hover{box-shadow:0 30px 60px -26px rgba(0,0,0,.8)}
/* photo card */
.mbh-card--photo{padding:0}
.mbh-card--photo .mbh-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--mbh-coal)}
.mbh-card--photo .mbh-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.mbh-card--photo:hover .mbh-card-img img{transform:scale(1.05)}
.mbh-card--photo .mbh-card-b{display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px;flex:1}

/* stats */
.mbh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--mbh-line-d);border-block:1px solid var(--mbh-line-d)}
.mbh-stats>div{background:var(--mbh-black);padding:44px 30px;text-align:center}
.mbh-num{font-family:var(--mbh-font-d);font-weight:850;font-stretch:112%;font-size:clamp(42px,5vw,64px);line-height:1;color:#fff;display:block}
.mbh-num i{font-style:normal;color:var(--mbh-red-hot)}
.mbh-stats label{display:block;margin-top:10px;font-family:var(--mbh-font-m);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mbh-steel)}
@media(max-width:900px){.mbh-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.mbh-stats{grid-template-columns:1fr 1fr}.mbh-stats>div{padding:30px 14px}}

/* split (image + copy) */
.mbh-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:center}
@media(max-width:920px){.mbh-split{grid-template-columns:1fr}}
.mbh-split-img{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--mbh-coal)}
.mbh-split-img img{width:100%;height:100%;object-fit:cover;display:block}
.mbh-split-img::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);border-radius:12px;pointer-events:none}
.mbh-split-tag{position:absolute;left:18px;bottom:18px;background:rgba(11,12,15,.85);backdrop-filter:blur(8px);color:#fff;font-family:var(--mbh-font-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:6px;border-left:2px solid var(--mbh-red)}

/* checklist */
.mbh-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.mbh-list--2col{grid-template-columns:1fr 1fr}
@media(max-width:640px){.mbh-list--2col{grid-template-columns:1fr}}
.mbh-list li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.mbh-list li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background:var(--mbh-red);clip-path:polygon(45% 0,100% 0,55% 45%,80% 45%,20% 100%,38% 55%,10% 55%);}
.mbh-sec--dark .mbh-list li{color:#d6d9df}

/* numbered process */
.mbh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
@media(max-width:1020px){.mbh-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mbh-steps{grid-template-columns:1fr}}
.mbh-step{position:relative;background:#fff;border:1px solid var(--mbh-line);border-radius:10px;padding:60px 26px 28px;counter-increment:step;transition:transform var(--dur),box-shadow var(--dur)}
.mbh-step:hover{transform:translateY(-4px);box-shadow:0 24px 48px -26px rgba(21,23,28,.3)}
.mbh-step::before{content:"0" counter(step);position:absolute;top:20px;left:24px;font-family:var(--mbh-font-d);font-weight:850;font-stretch:112%;font-size:34px;color:transparent;-webkit-text-stroke:1.4px var(--mbh-red)}
.mbh-step p{margin:0;color:var(--mbh-gray);font-size:14.5px;line-height:1.6}
.mbh-sec--dark .mbh-step{background:var(--mbh-coal);border-color:var(--mbh-line-d)}
.mbh-sec--dark .mbh-step p{color:var(--mbh-steel)}

/* chips (towns / counties) */
.mbh-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:0;list-style:none}
.mbh-chips li,.mbh-chips a{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--mbh-line);border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600;color:var(--mbh-ink);text-decoration:none;transition:border-color var(--dur),background var(--dur),color var(--dur),transform var(--dur)}
.mbh-chips a:hover{background:var(--mbh-ink);border-color:var(--mbh-ink);color:#fff;transform:translateY(-2px)}
.mbh-chips li::before,.mbh-chips a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mbh-red)}
.mbh-sec--dark .mbh-chips li,.mbh-sec--dark .mbh-chips a{background:var(--mbh-coal);border-color:var(--mbh-line-d);color:#d6d9df}
.mbh-sec--dark .mbh-chips a:hover{background:#fff;border-color:#fff;color:var(--mbh-black)}

/* FAQ */
.mbh-faq{max-width:860px;margin-inline:auto;display:flex;flex-direction:column;gap:12px}
.mbh-faq-item{background:#fff;border:1px solid var(--mbh-line);border-radius:10px;overflow:clip;transition:border-color var(--dur),box-shadow var(--dur)}
.mbh-faq-item[open]{border-color:var(--mbh-red);box-shadow:0 18px 44px -28px rgba(225,29,38,.35)}
.mbh-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;font-family:var(--mbh-font-d);font-weight:750;font-stretch:105%;font-size:17px;line-height:1.3}
.mbh-faq-item summary::-webkit-details-marker{display:none}
.mbh-faq-item summary::after{content:"+";flex:none;width:30px;height:30px;border:1px solid var(--mbh-line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mbh-font-b);font-weight:400;font-size:19px;color:var(--mbh-red);transition:transform var(--dur),background var(--dur),color var(--dur)}
.mbh-faq-item[open] summary::after{transform:rotate(45deg);background:var(--mbh-red);border-color:var(--mbh-red);color:#fff}
.mbh-faq-item summary:focus-visible{outline:2px solid var(--mbh-red);outline-offset:-2px}
.mbh-faq-item .mbh-faq-a{padding:0 24px 22px;color:var(--mbh-gray);font-size:15px;line-height:1.65}
.mbh-faq-item .mbh-faq-a a{color:var(--mbh-red);font-weight:600}

/* CTA band */
.mbh-cta{position:relative;background:var(--mbh-black);color:#fff;overflow:clip}
.mbh-cta::before{content:"";position:absolute;width:560px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--mbh-glow),transparent 62%);filter:blur(12px);top:-220px;left:12%;animation:mbh-roam 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes mbh-roam{from{transform:translateX(0)}to{transform:translateX(52vw)}}
@media(prefers-reduced-motion:reduce){.mbh-cta::before{animation:none}}
.mbh-cta-in{position:relative;padding-block:clamp(70px,9vw,120px);display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
@media(max-width:920px){.mbh-cta-in{grid-template-columns:1fr}}
.mbh-cta .mbh-h2{margin-bottom:12px}
.mbh-cta p{color:var(--mbh-steel);font-size:17px;max-width:560px;margin:0}
.mbh-cta-actions{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
@media(min-width:921px){.mbh-cta-actions{align-items:flex-end;text-align:right}}
.mbh-cta-tel{color:#fff;text-decoration:none;font-family:var(--mbh-font-d);font-weight:850;font-stretch:110%;font-size:clamp(26px,3vw,38px);letter-spacing:.01em;transition:color var(--dur)}
.mbh-cta-tel:hover{color:var(--mbh-red-hot)}
.mbh-cta-tel small{display:block;font-family:var(--mbh-font-m);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mbh-steel);margin-bottom:6px}

/* marquee (capability ticker) */
.mbh-marq{background:var(--mbh-red);color:#fff;overflow:clip;padding-block:14px;border-block:1px solid rgba(0,0,0,.15)}
.mbh-marq-track{display:flex;gap:0;width:max-content}
.mbh-marq ul{list-style:none;display:flex;gap:0;margin:0;padding:0;font-family:var(--mbh-font-d);font-weight:800;font-stretch:110%;font-size:15px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.mbh-marq li{display:flex;align-items:center}
.mbh-marq li::after{content:"⚡";margin-inline:26px;font-size:13px;opacity:.75}
@media(prefers-reduced-motion:no-preference){.mbh-marq-track{animation:mbh-marq 34s linear infinite}.mbh-marq:hover .mbh-marq-track{animation-play-state:paused}}
@keyframes mbh-marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mbh-marq-track{width:auto}.mbh-marq ul:nth-child(2){display:none}.mbh-marq ul{flex-wrap:wrap;justify-content:center;white-space:normal}}

/* byline */
.mbh-byline{background:var(--mbh-paper);border-block:1px solid var(--mbh-line)}
.mbh-byline-in{display:flex;align-items:center;gap:16px;padding-block:16px;font-size:13.5px;color:var(--mbh-gray);flex-wrap:wrap}
.mbh-byline-badge{flex:none;width:40px;height:40px;border-radius:50%;background:var(--mbh-black);color:#fff;font-family:var(--mbh-font-d);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.04em}
.mbh-byline-in a{color:var(--mbh-red);font-weight:600}
.mbh-byline-date{margin-left:auto;font-family:var(--mbh-font-m);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:640px){.mbh-byline-date{margin-left:56px}}

/* content prose (long-form areas) */
.mbh-prose{max-width:820px}
.mbh-prose p{color:var(--mbh-gray);font-size:16px;line-height:1.7;margin:0 0 18px}
.mbh-prose strong{color:var(--mbh-ink)}
.mbh-prose a{color:var(--mbh-red);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(225,29,38,.35);transition:border-color var(--dur)}
.mbh-prose a:hover{border-bottom-color:var(--mbh-red)}
.mbh-sec--dark .mbh-prose p{color:var(--mbh-steel)}
.mbh-sec--dark .mbh-prose strong{color:#fff}

/* reveal on scroll */
@media(prefers-reduced-motion:no-preference){
  html.mbh-js [data-rev]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  html.mbh-js [data-rev].is-in{opacity:1;transform:none}
  html.mbh-js [data-rev="2"].is-in{transition-delay:.08s}
  html.mbh-js [data-rev="3"].is-in{transition-delay:.16s}
  html.mbh-js [data-rev="4"].is-in{transition-delay:.24s}
}

/* sticky mobile call bar */
.mbh-callbar{position:fixed;left:0;right:0;bottom:0;z-index:48;display:none;grid-template-columns:1fr 1fr;background:var(--mbh-black);border-top:1px solid var(--mbh-line-d);transform:translateY(120%);transition:transform .3s ease}
.mbh-callbar.is-show{transform:none}
.mbh-callbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 10px;color:#fff;text-decoration:none;font-family:var(--mbh-font-d);font-weight:750;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.mbh-callbar a:last-child{background:var(--mbh-red)}
@media(max-width:760px){.mbh-callbar{display:grid}body{padding-bottom:0}}

/* gravity forms — brand skin */
.mbh-form .gform_wrapper{margin:0}
.mbh-form .gform_wrapper .gform_fields{grid-row-gap:18px}
.mbh-form .gform_wrapper label.gfield_label{font-family:var(--mbh-font-m);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mbh-ink)}
.mbh-form .gform_wrapper input:not([type=submit]),.mbh-form .gform_wrapper textarea{width:100%;background:#fff;border:1px solid var(--mbh-line);border-radius:6px;padding:14px 16px;font-family:var(--mbh-font-b);font-size:15px;color:var(--mbh-ink);transition:border-color var(--dur),box-shadow var(--dur)}
.mbh-form .gform_wrapper input:not([type=submit]):focus,.mbh-form .gform_wrapper textarea:focus{outline:none;border-color:var(--mbh-red);box-shadow:0 0 0 3px rgba(225,29,38,.14)}
.mbh-form .gform_wrapper input[type=submit],.mbh-form .gform_wrapper button.gform_button,.mbh-form .gform_footer button,.mbh-form .gform_wrapper .gform_footer input{background:var(--mbh-red);color:#fff;border:0;border-radius:4px;font-family:var(--mbh-font-d);font-weight:750;font-size:15.5px;letter-spacing:.06em;text-transform:uppercase;padding:17px 40px;cursor:pointer;width:auto;transition:background var(--dur),transform var(--dur),box-shadow var(--dur)}
.mbh-form .gform_wrapper input[type=submit]:hover,.mbh-form .gform_wrapper button.gform_button:hover,.mbh-form .gform_footer button:hover{background:var(--mbh-red-hot);transform:translateY(-2px);box-shadow:0 14px 34px -12px var(--mbh-glow)}
.mbh-form .gform_footer{margin-top:8px;padding-top:8px}

/* ============================================================
   FOOTER (theme-owned)
   ============================================================ */
.mbh-footer{background:var(--mbh-black);color:var(--mbh-steel);font-size:15px;border-top:1px solid var(--mbh-line-d)}
.mbh-footer a{color:var(--mbh-steel);text-decoration:none;transition:color var(--dur)}
.mbh-footer a:hover{color:#fff}
.mbh-footer-inner{max-width:1240px;margin:0 auto;padding:72px clamp(20px,4vw,34px) 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.mbh-footer-brand img{height:46px;width:auto;margin-bottom:18px}
.mbh-footer-brand p{max-width:330px;line-height:1.65;margin:0 0 18px;font-size:14.5px}
.mbh-footer h4{font-family:var(--mbh-font-m);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.mbh-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mbh-footer ul a{font-size:14px}
.mbh-footer-tel{color:#fff!important;font-family:var(--mbh-font-d);font-weight:800;font-size:21px;letter-spacing:.02em}
.mbh-footer-tel:hover{color:var(--mbh-red-hot)!important}
.mbh-footer-bar{border-top:1px solid var(--mbh-line-d)}
.mbh-footer-bar-inner{max-width:1240px;margin:0 auto;padding:22px clamp(20px,4vw,34px);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;letter-spacing:.02em}
.mbh-credit a{color:#fff;font-weight:600;border-bottom:1px solid rgba(225,29,38,.6);padding-bottom:1px}
.mbh-credit a:hover{border-bottom-color:#fff}
/* centered credit bar with Unified white wordmark */
.mbh-footer-credit{flex-direction:column;justify-content:center;text-align:center;gap:16px;padding-block:34px}
.mbh-uni-credit{display:inline-flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--mbh-steel);transition:opacity var(--dur)}
.mbh-uni-credit:hover{opacity:1;color:#fff}
.mbh-uni-credit span{font-family:var(--mbh-font-m);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.mbh-uni-logo{display:block;height:20px;width:auto;opacity:.9;transition:opacity var(--dur)}
.mbh-uni-credit:hover .mbh-uni-logo{opacity:1}
.mbh-legal{display:flex;align-items:center;gap:12px;font-size:13px}
.mbh-legal a{color:var(--mbh-steel);text-decoration:none;transition:color var(--dur)}
.mbh-legal a:hover{color:#fff}
.mbh-legal span{color:rgba(255,255,255,.28)}
.mbh-copy{color:var(--mbh-steel);font-size:12.5px;line-height:1.5}
@media(max-width:960px){.mbh-footer-inner{grid-template-columns:1fr 1fr;gap:32px;padding:56px 22px 26px}.mbh-footer-brand{grid-column:1/-1}}
@media(max-width:520px){.mbh-footer-inner{grid-template-columns:1fr}.mbh-footer-bar-inner{flex-direction:column;text-align:center}}
