/* SAMIES Universal Shell — MG Universal Header/Footer presentation, made universal.
   Source: the live MG header/footer CSS layers (Oct 28 2026), in their original cascade order.
   Only change: MG colours, the footer pond image and domains are now variables set from the
   client profile (--bip-highlight, --bip-highlight-text, --bip-cta, --bip-link, --bip-link-2,
   --bip-dark, --bip-dark-rgb, --bip-footer-bg). Selectors and layout are MG's, unchanged. */
/* ===== BIP Universal header/footer base (universal-header-footer.css, BUILD_005H_R20_R3 copy) ===== */
/* BIP UNIVERSAL KADENCE v1
   LOCKED UNIVERSAL STANDARD
*/

.bip-universal-header {
    position:relative;
    z-index:999;
    width:100%;
    color:#fff;
}

.bip-universal-utility {
    min-height:42px;
    padding:0 2.5%;
    gap:18px;
    background:rgba(var(--bip-dark-rgb), 0.92);
    color:#fff;
    font-size:14px;
    line-height:1;
}

.bip-universal-utility a {
    color:#fff;
    text-decoration:none;
}

.bip-header-service-area,
.bip-header-phone,
.bip-header-hours,
.bip-header-utility-links {
    white-space:nowrap;
}

.bip-header-utility-links {
    margin-left:auto;
}

.bip-divider {
    margin:0 10px;
    opacity:.35;
}

.bip-universal-navigation {
    position:absolute;
    top:42px;
    left:0;
    right:0;
    min-height:134px;
    padding:0 3.5%;
    gap:30px;
    background:rgba(var(--bip-dark-rgb), 0.40);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}

.bip-client-logo {
    flex:0 0 auto;
    display:block;
    max-width:240px;
    margin-top:14px;
    position:relative;
    z-index:10;
}

.bip-client-logo img {
    display:block;
    width:100%;
    height:auto;
    max-height:190px;
    object-fit:contain;
}

.bip-client-navigation {
    flex:1 1 auto;
    display:flex;
    justify-content:center;
    align-items:center;
}

.bip-client-menu {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
    list-style:none;
    margin:0;
    padding:0;
}

.bip-client-menu a {
    position:relative;
    display:block;
    padding:20px 0;
    color:#fff !important;
    text-decoration:none;
    font-size:17px;
    font-weight:800;
    letter-spacing:.01em;
}

.bip-client-menu a:hover,
.bip-client-menu .current-menu-item > a,
.bip-client-menu .current_page_item > a {
    color:var(--bip-highlight, var(--bip-highlight-text)) !important;
}

.bip-client-menu .current-menu-item > a::after,
.bip-client-menu .current_page_item > a::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:8px;
    height:3px;
    background:var(--bip-highlight, var(--bip-highlight));
}

.bip-primary-cta {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:170px;
    padding:17px 25px;
    background:var(--bip-highlight, var(--bip-highlight));
    color:var(--bip-dark) !important;
    text-decoration:none !important;
    font-weight:900;
    letter-spacing:.02em;
    border-radius:2px;
    box-shadow:0 4px 18px rgba(0,0,0,.20);
}

.bip-primary-cta:hover {
    filter:brightness(1.06);
    transform:translateY(-1px);
}

/* ------------------------------------------------------------
   PAGE / POST HERO
   ------------------------------------------------------------ */

.bip-page-hero {
    position:relative;
    min-height:680px;
    margin:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.bip-page-hero__overlay {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
}

.bip-page-hero__content {
    position:relative;
    z-index:2;
    width:100%;
    max-width:1250px;
    padding:210px 30px 90px;
    text-align:center;
    color:#fff;
}

.bip-page-hero__content h1 {
    margin:0;
    font-size:clamp(44px, 6vw, 92px);
    line-height:1;
    font-weight:900;
    text-shadow:0 4px 20px rgba(0,0,0,.65);
}

/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */

.bip-universal-footer {
    width:100%;
    background:var(--bip-dark);
    color:#fff;
    padding:62px 5% 22px;
}

.bip-universal-footer a {
    color:#fff;
}

.bip-footer-columns {
    gap:42px;
}

.bip-footer-brand {
    min-width:220px;
}

.bip-footer-logo {
    display:block;
    max-width:190px;
    max-height:130px;
    width:auto;
    height:auto;
    object-fit:contain;
    margin-bottom:20px;
}

.bip-footer-description {
    max-width:300px;
    color:rgba(255,255,255,.78);
}

.bip-footer-social {
    margin-top:22px;
}

.bip-universal-footer h4 {
    margin-bottom:18px;
    color:#fff;
    font-size:15px;
    font-weight:900;
    letter-spacing:.04em;
}

.bip-footer-list {
    margin:0;
    padding:0;
    list-style:none;
}

.bip-footer-list li {
    margin-bottom:9px;
    color:rgba(255,255,255,.82);
}

.bip-footer-contact {
    color:rgba(255,255,255,.84);
    line-height:1.9;
}

.bip-universal-footer .bip-primary-cta {
    margin-top:18px;
}

.bip-footer-bottom {
    margin-top:24px;
    padding-top:20px;
    color:rgba(255,255,255,.70);
    font-size:13px;
}

.bip-footer-legal {
    display:flex;
    gap:12px;
}

.bip-footer-legal a {
    text-decoration:none;
}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width:1100px) {

    .bip-client-menu {
        gap:20px;
    }

    .bip-client-menu a {
        font-size:15px;
    }

    .bip-client-logo {
        max-width:190px;
    }

    .bip-primary-cta {
        min-width:145px;
        padding:15px 18px;
    }
}

@media (max-width:900px) {

    .bip-universal-utility {
        justify-content:center;
        min-height:38px;
        font-size:12px;
    }

    .bip-header-utility-links {
        display:none;
    }

    .bip-universal-navigation {
        top:38px;
        min-height:88px;
        padding:0 18px;
    }

    .bip-client-logo {
        max-width:145px;
        margin-top:8px;
    }

    .bip-client-navigation {
        justify-content:flex-end;
    }

    .bip-client-menu {
        display:none;
    }

    .bip-client-navigation::after {
        content:"MENU";
        display:block;
        color:#fff;
        font-weight:900;
        padding:12px 15px;
        border:1px solid rgba(255,255,255,.45);
    }

    .bip-primary-cta {
        display:none;
    }

    .bip-page-hero {
        min-height:580px;
    }

    .bip-page-hero__content {
        padding-top:150px;
    }
}

@media (max-width:640px) {

    .bip-header-phone,
    .bip-header-hours {
        display:none;
    }

    .bip-universal-navigation {
        min-height:76px;
    }

    .bip-client-logo {
        max-width:125px;
    }

    .bip-page-hero {
        min-height:500px;
    }

    .bip-page-hero__content h1 {
        font-size:clamp(36px, 10vw, 58px);
    }

    .bip-footer-columns {
        display:block;
    }

    .bip-footer-bottom {
        display:block;
    }

    .bip-footer-legal {
        margin-top:12px;
    }
}


/* ===== header424 tablet / off-canvas (samies-universal-header424) ===== */
/* SAMIES Universal Header424 — tablet/mobile (Kadence tablet container, <=1024px) + off-canvas panel.
   BUILD 005H-R20-R11-R4: visible hamburger trigger; compact CTA with specificity raised above live inline header rules. */
:root {
  --samies-uh-mobile-logo-h:46px;
  --samies-uh-mobile-logo-h-xs:40px;
  --samies-uh-mobile-logo-maxw:40vw;
  --samies-uh-mobile-cta-fs:13px;
  --samies-uh-mobile-cta-pad:9px 12px;
  --samies-uh-mobile-gap:10px;
  --samies-uh-trigger-size:44px;
  --samies-uh-trigger-color:#ffffff;
  --samies-uh-trigger-bg:rgba(0, 0, 0, 0.45);
  --samies-uh-trigger-border:var(--bip-highlight);
  --samies-uh-panel-link-fs:18px;
  --samies-uh-panel-divider:rgba(127, 127, 127, 0.25);
}
@media (max-width:1024px) {
  html body header.samies-uh .wp-block-kadence-header-tablet { max-width:100%; overflow-x:clip; }
  html body header.samies-uh .wp-block-kadence-header-tablet [class*="header-column"] {
    display:flex; align-items:center; gap:var(--samies-uh-mobile-gap); min-width:0;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet img.bip-client-logo.bip-client-logo {
    height:var(--samies-uh-mobile-logo-h) !important; width:auto !important;
    max-width:var(--samies-uh-mobile-logo-maxw) !important; max-height:none !important;
    object-fit:contain; display:block; margin:0 !important;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet a.bip-primary-cta.bip-primary-cta.bip-primary-cta {
    font-size:var(--samies-uh-mobile-cta-fs) !important; padding:var(--samies-uh-mobile-cta-pad) !important;
    line-height:1.1 !important; letter-spacing:0.02em !important; white-space:nowrap !important;
    width:auto !important; max-width:48vw !important; min-width:0 !important; height:auto !important; min-height:0 !important;
    border-width:2px !important; border-radius:6px !important; gap:6px !important; margin:0 !important; box-sizing:border-box !important;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet a.bip-primary-cta .mg-quote-arrow {
    font-size:14px !important; line-height:1 !important; width:auto !important; height:auto !important; margin:0 !important;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet [class*="off-canvas-trigger"],
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet [class*="off-canvas-trigger"] * {
    color:var(--samies-uh-trigger-color) !important; opacity:1 !important; visibility:visible !important;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet button[class*="off-canvas-trigger"],
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet [class*="off-canvas-trigger"] > button {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:var(--samies-uh-trigger-size) !important; height:var(--samies-uh-trigger-size) !important;
    min-width:var(--samies-uh-trigger-size) !important; padding:0 !important; margin:0 !important;
    background:var(--samies-uh-trigger-bg) !important; border:2px solid var(--samies-uh-trigger-border) !important;
    border-radius:8px !important; cursor:pointer !important;
  }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet [class*="off-canvas-trigger"] svg {
    width:24px !important; height:24px !important; color:var(--samies-uh-trigger-color) !important;
  }
}
@media (max-width:390px) {
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet img.bip-client-logo.bip-client-logo { height:var(--samies-uh-mobile-logo-h-xs) !important; }
  html body header.samies-uh .wp-block-kadence-header-tablet.wp-block-kadence-header-tablet a.bip-primary-cta.bip-primary-cta.bip-primary-cta { font-size:12px !important; padding:8px 10px !important; }
}
/* Off-canvas panel menu (panel open/close owned by Kadence) */
.wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu {
  display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important;
  list-style:none; margin:0; padding:0; gap:0;
}
.wp-block-kadence-off-canvas nav.bip-client-navigation li { position:relative; border-bottom:1px solid var(--samies-uh-panel-divider); }
.wp-block-kadence-off-canvas nav.bip-client-navigation li > a {
  display:block; padding:14px 52px 14px 4px; font-size:var(--samies-uh-panel-link-fs); text-decoration:none;
}
.wp-block-kadence-off-canvas nav.bip-client-navigation li > a::before,
.wp-block-kadence-off-canvas nav.bip-client-navigation li > a::after { display:none !important; }
.wp-block-kadence-off-canvas nav.bip-client-navigation .sub-menu {
  display:none !important; position:static !important; opacity:1 !important; visibility:visible !important;
  transform:none !important; box-shadow:none !important; background:transparent !important;
  min-width:0 !important; margin:0; padding:0 0 6px 14px; list-style:none;
}
.wp-block-kadence-off-canvas nav.bip-client-navigation li.samies-uheader-submenu-open > .sub-menu { display:block !important; }
.wp-block-kadence-off-canvas nav.bip-client-navigation .sub-menu li { border-bottom:0; }
.wp-block-kadence-off-canvas nav.bip-client-navigation .sub-menu li > a { padding:10px 52px 10px 4px; font-size:calc(var(--samies-uh-panel-link-fs) - 2px); }
.samies-uheader-subtoggle {
  position:absolute; right:0; top:4px; width:44px; height:44px; padding:0;
  background:transparent; border:0; color:inherit; cursor:pointer; line-height:44px; text-align:center;
}
.samies-uheader-subtoggle::before { content:"+"; font-size:22px; }
li.samies-uheader-submenu-open > .samies-uheader-subtoggle::before { content:"\2212"; }
.samies-uheader-subtoggle:focus-visible { outline:2px solid currentColor; outline-offset:-4px; }
/* BUILD 005H-R20-R11-R5: homepage hero title — no mid-word break on phones (was 60px, a long brand name). */
@media (max-width:767px) {
  html body h1#mg-r35-home-title.mg-r35-title {
    font-size:clamp(28px, 11.5vw, 72px) !important;
    word-break:keep-all !important; overflow-wrap:normal !important; hyphens:none !important;
  }
}
/* BUILD 005H-R20-R11-R6: Kadence header typography (_kad_header_typography) targets .kb-header-container.
   The live GOLD header has no container, so neutralize it on 424 to restore GOLD sizes (nav, Services, CTA). */
html body header.samies-uh .kb-header-container,
html body header.samies-uh .wp-block-kadence-header-desktop,
html body header.samies-uh .wp-block-kadence-header-tablet {
  font-size:inherit !important; line-height:inherit !important; font-weight:inherit !important;
  letter-spacing:inherit !important; text-transform:inherit !important; font-family:inherit !important;
}
/* Off-canvas panel:one size for every top-level link (incl. Services), no "|" separators. */
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu > li > a {
  font-size:var(--samies-uh-panel-link-fs) !important; line-height:1.3 !important; font-weight:600 !important;
}
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu .sub-menu li > a {
  font-size:calc(var(--samies-uh-panel-link-fs) - 2px) !important; line-height:1.3 !important; font-weight:500 !important;
}
html body .wp-block-kadence-off-canvas nav.bip-client-navigation li::before,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation li::after,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation li > a::before,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation li > a::after,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation .bip-divider {
  content:none !important; display:none !important;
}
/* BUILD 005H-R20-R11-R7: user-approved desktop size change — same GOLD layout at ~70% scale (>1024px only). */
:root { --samies-uh-desktop-scale:0.7; }
@media (min-width:1025px) {
  html body header.samies-uh .wp-block-kadence-header-desktop .bip-universal-header {
    zoom:var(--samies-uh-desktop-scale) !important;
  }
}
/* BUILD 005H-R20-R11-R8: dark off-canvas panel to match the site (was white panel + yellow links). Tokens are client-tunable. */
:root {
  --samies-uh-panel-bg:var(--bip-dark);
  --samies-uh-panel-link:#ffffff;
  --samies-uh-panel-link-accent:var(--bip-highlight);
  --samies-uh-panel-divider-dark:rgba(255, 255, 255, 0.12);
}
html body .wp-block-kadence-off-canvas,
html body .wp-block-kadence-off-canvas [class*="off-canvas-inner"],
html body .wp-block-kadence-off-canvas [class*="off-canvas-content"] {
  background:var(--samies-uh-panel-bg) !important; background-color:var(--samies-uh-panel-bg) !important;
}
html body .wp-block-kadence-off-canvas nav.bip-client-navigation li {
  border-bottom-color:var(--samies-uh-panel-divider-dark) !important;
}
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li > a,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li > a:visited,
html body .wp-block-kadence-off-canvas .samies-uheader-subtoggle {
  color:var(--samies-uh-panel-link) !important; text-shadow:none !important; background:transparent !important;
}
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li > a:hover,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li > a:focus-visible,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li.current-menu-item > a,
html body .wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li.current_page_item > a {
  color:var(--samies-uh-panel-link-accent) !important;
}
html body .wp-block-kadence-off-canvas [class*="close"],
html body .wp-block-kadence-off-canvas [class*="close"] *,
html body .wp-block-kadence-off-canvas button[aria-label*="lose"] {
  color:var(--samies-uh-panel-link) !important; background:transparent !important; border-color:var(--samies-uh-panel-divider-dark) !important;
}
/* BUILD 005H-R20-R11-R9: 50% black header band (desktop header + phone header bar). Utility strip keeps its own background. */
:root { --samies-uh-header-band-bg:rgba(0, 0, 0, 0.5); }
html body header.samies-uh .wp-block-kadence-header-desktop .bip-universal-header,
html body header.samies-uh .wp-block-kadence-header-tablet {
  background:var(--samies-uh-header-band-bg) !important;
}
/* BUILD 005H-R20-R12-R2: phone menu panel = only as tall as the menu, 50% black (matches header band), no "|" separators. */
:root { --samies-uh-panel-bg-band:rgba(0, 0, 0, 0.5); }
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas [class*="overlay"],
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas [class*="off-canvas-inner"],
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas [class*="off-canvas-content"] {
  background:transparent !important; background-color:transparent !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas { align-items:flex-start !important; }
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas [class*="off-canvas-inner"]:not([class*="off-canvas-inner"] [class*="off-canvas-inner"]) {
  background:var(--samies-uh-panel-bg-band) !important; background-color:var(--samies-uh-panel-bg-band) !important;
  height:auto !important; min-height:0 !important; bottom:auto !important;
  max-height:100dvh !important; overflow-y:auto !important; align-self:flex-start !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas [class*="off-canvas-inner"] [class*="off-canvas-inner"] {
  height:auto !important; min-height:0 !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li > a {
  border-right:0 !important; border-left:0 !important; background-image:none !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li::before,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li::after,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li > a::before,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li > a::after,
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation.bip-client-navigation ul.bip-client-menu.bip-client-menu li > a *:not(.samies-uheader-subtoggle)::after {
  content:none !important; display:none !important; border:0 !important; background:none !important;
}
/* HDR-R12-R3: phone menu panel — items full width, opened submenu stacks vertically under its parent. */
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li {
  display:block !important; width:100% !important; flex:none !important; float:none !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu li.samies-uheader-submenu-open > .sub-menu {
  display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important;
  width:100% !important; position:static !important; left:auto !important; right:auto !important; top:auto !important;
  transform:none !important; margin:0 !important; padding:0 0 8px 0 !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu .sub-menu li {
  display:block !important; width:100% !important; text-align:center !important; border-bottom:0 !important;
}
html body .wp-block-kadence-off-canvas.wp-block-kadence-off-canvas nav.bip-client-navigation ul.bip-client-menu .sub-menu li > a {
  display:block !important; padding:9px 44px !important; white-space:normal !important; text-align:center !important;
}
/* HDR-R12-R4: darker phone menu panel (was 50%). One value to tune. */
:root { --samies-uh-panel-bg-band:rgba(0, 0, 0, 0.85); }


/* ===== MG layer:kadence-global-inline-css (header/footer rules only) ===== */
#colophon{background:var(--bip-dark);}
.site-middle-footer-wrap .site-footer-row-container-inner{background-color:rgba(0,0,0,0);background-image:var(--bip-footer-bg);background-position:center;}
.site-middle-footer-inner-wrap{padding-top:0px;padding-bottom:30px;grid-column-gap:30px;grid-row-gap:30px;}
.site-middle-footer-inner-wrap .widget{margin-bottom:30px;}
.site-middle-footer-inner-wrap .site-footer-section:not(:last-child):after{right:calc(-30px / 2);}
@media all and (max-width:1024px){.site-middle-footer-inner-wrap{grid-column-gap:5px;grid-row-gap:5px;}
.site-middle-footer-inner-wrap .site-footer-section:not(:last-child):after{right:calc(-5px / 2);}}
#colophon .footer-html{font-style:normal;font-weight:normal;font-size:18px;line-height:1.1;font-family:Syne, sans-serif;color:var(--global-palette9);margin:0px 0px 0px 0px;}
@media all and (max-width:1024px){#colophon .footer-html{font-size:17px;}}
@media all and (max-width:767px){#colophon .footer-html{font-size:16px;}}

/* ===== MG layer:kadence_blocks_css-inline-css (header/footer rules only) ===== */
.samies-uh.header-desktop-transparent{--kb-transparent-header-bg:rgba(var(--bip-dark-rgb),0.40);}
@media all and (max-width:1024px){.samies-uh.header-tablet-transparent{--kb-transparent-header-bg:rgba(var(--bip-dark-rgb),0.40);}}
@media all and (max-width:767px){.samies-uh.header-mobile-transparent{--kb-transparent-header-bg:rgba(var(--bip-dark-rgb),0.40);}}
.wp-block-kadence-header-rowsamies-shell-mobile-main-row{--kb-transparent-header-row-bg:transparent;}
.wp-block-kadence-header-rowsamies-shell-mobile-main-row .wp-block-kadence-header-column, .wp-block-kadence-header-rowsamies-shell-mobile-main-row .wp-block-kadence-header-section{gap:var(--global-kb-gap-xs, 0.5rem );}
.wp-block-kadence-off-canvas-triggersamies-shell-mobile-trigger svg{width:25px;height:25px;}
.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-inner-wrap{max-width:400px;}
.wp-block-kadence-off-canvas .kb-off-canvas-overlaysamies-shell-mobile-panel{background-color:rgba(0, 0, 0, 0.6);}
.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-close svg{width:25px;height:25px;}
@media all and (max-width:1024px){.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-inner-wrap{max-width:400px;}}
@media all and (max-width:1024px){.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-close svg{width:25px;height:25px;}}
@media all and (max-width:767px){.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-inner-wrap{max-width:400px;}
.wp-block-kadence-off-canvassamies-shell-mobile-panel .kb-off-canvas-close svg{width:25px;height:25px;}}

/* ===== MG layer:bip-kuh-strip-css (whole) ===== */
.bip-kuh-strip{display:none}@media (max-width:1024px){.bip-kuh-strip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px 5px;text-align:center;font-size:13px;line-height:1.35;color:#fff;background:rgba(0,0,0,.5)}.bip-kuh-strip a{text-decoration:none}.bip-kuh-strip__call{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.bip-kuh-strip__phone{display:inline-flex;align-items:center;gap:7px;color:#fff !important;font-weight:700;font-size:17px}.bip-kuh-strip__phone svg{width:24px;height:24px;flex:none}.bip-kuh-strip__callnow{color:var(--bip-link) !important;font-weight:600;font-size:15px}.bip-kuh-strip__hours{font-size:12px;opacity:.92}.bip-kuh-strip__links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px}.bip-kuh-strip__links>a{color:var(--bip-link) !important;font-size:14px}.bip-kuh-strip__sep{color:#fff;opacity:.8}.bip-kuh-strip__social{display:inline-flex;align-items:center;gap:8px;margin-left:6px}.bip-kuh-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%}.bip-kuh-badge svg{position:relative;z-index:2;width:22px;height:22px;display:block}.bip-kuh-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--badge-color,var(--bip-highlight));opacity:0;pointer-events:none}.bip-kuh-badge:hover .bip-kuh-ring,.bip-kuh-badge:focus-visible .bip-kuh-ring{animation:bipKuhPulse 1.4s ease-out infinite}.bip-kuh-badge:hover .bip-kuh-ring--2,.bip-kuh-badge:focus-visible .bip-kuh-ring--2{animation-delay:.35s}}@keyframes bipKuhPulse{0%{transform:scale(.75);opacity:.95}80%,100%{transform:scale(2.2);opacity:0}}

/* ===== MG layer:bip-mg-universal-footer-visual-lock (whole) ===== */
/* ==============================================================
   MG UNIVERSAL FOOTER
   Preserve puddle background while removing opaque inner panels
   ============================================================== */

.site-footer .footer-html,
.site-footer .footer-html-inner,
.site-footer .bip-native-universal-footer,
.site-footer .bip-native-footer-grid,
.site-footer .bip-native-footer-legal {
    background-color:transparent !important;
    background-image:none !important;
}


/* ==============================================================
   DARKEN THE PUDDLE BROADLY
   No individual black boxes.
   ============================================================== */

.site-footer {
    position:relative !important;
    isolation:isolate;
}

.site-footer::before {
    content:none !important;
    display:none !important;
}

.site-footer > * {
    position:relative;
    z-index:1;
}


/* ==============================================================
   EXPANDED DARK SHADOW AROUND ALL COPY
   ============================================================== */

.site-footer .bip-native-universal-footer,
.site-footer .bip-native-universal-footer p,
.site-footer .bip-native-universal-footer li,
.site-footer .bip-native-universal-footer span,
.site-footer .bip-native-universal-footer a,
.site-footer .bip-native-universal-footer strong {
    text-shadow:0 2px 2px rgba(0,0,0,1),
        0 0 4px rgba(0,0,0,1),
        0 0 8px rgba(0,0,0,1),
        0 0 14px rgba(0,0,0,.98),
        0 0 22px rgba(0,0,0,.90),
        0 0 32px rgba(0,0,0,.72) !important;
}


/* ==============================================================
   GOLD TITLES
   Our Services / Contact Us / Service Areas
   ============================================================== */

.site-footer .bip-native-footer-information h3,
.site-footer .bip-native-footer-contact h3 {
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.15 !important;

    text-shadow:0 2px 2px #000,
        0 0 5px #000,
        0 0 10px #000,
        0 0 16px rgba(0,0,0,1),
        0 0 24px rgba(0,0,0,.95),
        0 0 34px rgba(0,0,0,.78) !important;
}


/* ==============================================================
   LOGO — EXPANDED DARK HALO
   ============================================================== */

.site-footer .bip-native-footer-brand img,
.site-footer .bip-native-universal-footer img {
    filter:drop-shadow(0 2px 2px rgba(0,0,0,1))
        drop-shadow(0 0 5px rgba(0,0,0,1))
        drop-shadow(0 0 9px rgba(0,0,0,1))
        drop-shadow(0 0 15px rgba(0,0,0,.95))
        drop-shadow(0 0 24px rgba(0,0,0,.80)) !important;
}


/* ==============================================================
   LINKS
   ============================================================== */

.site-footer .bip-native-universal-footer a {
    font-weight:600;
}


/* ==============================================================
   IMPORTANT
   No black content panels.
   ============================================================== */

.site-footer .bip-native-footer-brand,
.site-footer .bip-native-footer-information,
.site-footer .bip-native-footer-contact,
.site-footer .bip-native-footer-legal {
    background:transparent !important;
    box-shadow:none !important;
}

/* ===== MG layer:wp-custom-css (header/footer rules only) ===== */
.site-footer .footer-html,
.site-footer .footer-html-inner,
.site-footer .bip-native-universal-footer,
.site-footer .bip-native-footer-grid,
.site-footer .bip-native-footer-brand,
.site-footer .bip-native-footer-information,
.site-footer .bip-native-footer-contact,
.site-footer .bip-native-footer-legal {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
}
.site-footer::before {
    content:none !important;
    display:none !important;
}
.site-footer .site-middle-footer-wrap {
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
}
.site-footer .site-middle-footer-wrap::before {
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;

    background:linear-gradient(
            90deg,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.62) 19%,
            rgba(0,0,0,.38) 38%,
            rgba(0,0,0,.30) 52%,
            rgba(0,0,0,.40) 67%,
            rgba(0,0,0,.67) 84%,
            rgba(0,0,0,.78) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.20) 0%,
            rgba(0,0,0,.12) 55%,
            rgba(0,0,0,.50) 100%
        ) !important;
}
.site-footer .site-middle-footer-inner-wrap,
.site-footer .footer-html,
.site-footer .footer-html-inner,
.site-footer .bip-native-universal-footer {
    position:relative !important;
    z-index:2 !important;
}
.site-footer .bip-native-footer-grid {
    position:relative !important;
    z-index:2 !important;
}
.site-footer .bip-native-universal-footer,
.site-footer .bip-native-universal-footer p,
.site-footer .bip-native-universal-footer li,
.site-footer .bip-native-universal-footer span,
.site-footer .bip-native-universal-footer strong {
    color:#fff !important;
    font-weight:500 !important;

    text-shadow:2px 2px 3px rgba(0,0,0,1),
        0 0 5px rgba(0,0,0,1),
        0 0 10px rgba(0,0,0,.98),
        0 0 18px rgba(0,0,0,.90),
        0 0 28px rgba(0,0,0,.72) !important;
}
.site-footer .bip-native-footer-information,
.site-footer .bip-native-footer-contact,
.site-footer .bip-native-footer-brand {
    font-size:18px !important;
    line-height:1.30 !important;
}
.site-footer .bip-native-footer-information h3,
.site-footer .bip-native-footer-contact h3 {
    color:var(--bip-highlight-text) !important;

    font-size:27px !important;
    font-weight:900 !important;
    line-height:1.1 !important;
    letter-spacing:.7px !important;

    margin-top:0 !important;
    margin-bottom:16px !important;

    text-shadow:3px 3px 3px #000,
        0 0 6px #000,
        0 0 12px #000,
        0 0 20px rgba(0,0,0,.95),
        0 0 30px rgba(0,0,0,.82) !important;
}
.site-footer .bip-native-footer-information h3:not(:first-child) {
    margin-top:28px !important;
}
.site-footer .bip-native-footer-brand {
    color:#fff !important;
}
.site-footer .bip-native-footer-brand strong,
.site-footer .bip-native-footer-brand h3 {
    font-size:22px !important;
    font-weight:900 !important;

    text-shadow:3px 3px 3px #000,
        0 0 7px #000,
        0 0 14px rgba(0,0,0,.95),
        0 0 24px rgba(0,0,0,.80) !important;
}
.site-footer .bip-native-footer-description {
    font-size:18px !important;
    line-height:1.35 !important;
}
.site-footer .bip-native-footer-brand img,
.site-footer .bip-client-footer-logo img,
.site-footer .bip-native-universal-footer img {
    width:auto !important;
    max-width:230px !important;
    height:auto !important;

    filter:drop-shadow(3px 3px 3px rgba(0,0,0,1))
        drop-shadow(0 0 6px rgba(0,0,0,1))
        drop-shadow(0 0 12px rgba(0,0,0,.98))
        drop-shadow(0 0 22px rgba(0,0,0,.80)) !important;
}
.site-footer .bip-native-universal-footer a,
.site-footer .bip-native-universal-footer a:visited {
    font-weight:700 !important;

    text-shadow:2px 2px 3px #000,
        0 0 6px #000,
        0 0 12px rgba(0,0,0,.95),
        0 0 20px rgba(0,0,0,.75) !important;
}
.site-footer .bip-native-footer-legal {
    position:relative !important;
    z-index:2 !important;

    margin-top:30px !important;
    padding-top:20px !important;
    padding-bottom:18px !important;

    border-top:1px solid rgba(245,189,0,.75) !important;

    box-shadow:0 24px 35px 22px rgba(0,0,0,.62) !important;
}
.site-footer .bip-native-footer-legal,
.site-footer .bip-native-footer-legal span,
.site-footer .bip-native-footer-legal a {
    font-weight:600 !important;

    text-shadow:2px 2px 3px #000,
        0 0 6px #000,
        0 0 12px rgba(0,0,0,.95) !important;
}
@media (max-width:767px) {.site-footer .bip-native-footer-information,
    .site-footer .bip-native-footer-contact,
    .site-footer .bip-native-footer-brand {
        font-size:16px !important;
    }
.site-footer .bip-native-footer-information h3,
    .site-footer .bip-native-footer-contact h3 {
        font-size:22px !important;
    }
.site-footer .bip-native-footer-brand img,
    .site-footer .bip-client-footer-logo img {
        max-width:190px !important;
    }
.site-footer .site-middle-footer-wrap::before {
        background:rgba(0,0,0,.58) !important;
    }}
@media (min-width:1025px) {header.samies-uh
    a.mg-final-nav-link {
        font-size:36px !important;
        line-height:1.3 !important;
text-shadow:0px 0px 3px #000,
        0 0 0px #000,
        0 0 6px rgba(0,0,0,.95) !important;
    }}
header.samies-uh
#samies-uh-dropdown > .sub-menu > li > a {
    font-size:24px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
}
@keyframes mgBwFadeIn{to{opacity:1}}

/* ===== MG layer:mg-sitemap-visibility-r6 (whole) ===== */
footer a[href$="/sitemap.xml"],
    [class*="footer"] a[href$="/sitemap.xml"] {
        display:inline !important;
        visibility:visible !important;
        opacity:1 !important;
        color:var(--bip-highlight-text) !important;
        text-decoration:none !important;
        font-size:inherit !important;
    }

/* ===== MG layer:mg-footer-final-visual-gold-r1 (whole) ===== */
/* MG FOOTER FINAL VISUAL GOLD R1 */

.mg-footer-legal-gold-bar {
    box-sizing:border-box !important;
    width:100% !important;
    min-height:42px !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;

    gap:12px !important;

    margin:0 !important;
    padding:10px 18px !important;

    background-color:var(--mg-footer-legal-topbar-bg, rgba(19, 55, 104, .92)) !important;
    background-image:var(--mg-footer-legal-topbar-image, none) !important;
    background-size:cover !important;
    background-position:center !important;

    border-top:1px solid rgba(255,255,255,.10) !important;
    position:relative !important;
    z-index:20 !important;
}

.mg-footer-legal-gold-bar a {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    color:#ffffff !important;
    text-decoration:none !important;

    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
    white-space:nowrap !important;

    transition:color .18s ease,
        opacity .18s ease !important;
}

.mg-footer-legal-gold-bar a:hover,
.mg-footer-legal-gold-bar a:focus {
    color:#ffffff !important;
    opacity:.78 !important;
}

.mg-footer-legal-gold-divider {
    display:inline-block !important;
    color:rgba(255,255,255,.55) !important;
    font-size:12px !important;
    line-height:1 !important;
    user-select:none !important;
}

/*
 * Original Privacy / Terms links remain in DOM for authority and rollback,
 * but are visually retired after the final legal bar is created.
 */
.mg-footer-original-legal-retired {
    display:none !important;
}

@media (max-width:520px) {
    .mg-footer-legal-gold-bar {
        gap:9px !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .mg-footer-legal-gold-bar a {
        font-size:11px !important;
    }
}

/* ===== MG layer:mg-unified-header-hero-css (whole) ===== */
/* ================================================================
   MG UNIVERSAL HEADER/HERO
   ================================================================ */

:root {
    --mg-header-height:132px;
    --mg-header-max:1180px;
    --mg-gold:var(--bip-highlight);
    --mg-cyan:var(--bip-link-2);
}

/*
 * Runtime-detected live header.
 */
.mg-live-header {

    position:absolute !important;

    top:0 !important;
    left:0 !important;
    right:0 !important;

    width:100% !important;

    z-index:10000 !important;

    background:transparent !important;
    background-color:transparent !important;

    border:0 !important;
    box-shadow:none !important;

    color:#fff;
}

/*
 * One subtle photographic readability gradient,
 * not a separate gray header slab.
 */
.mg-live-header::before {

    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:linear-gradient(
            to bottom,
            rgba(2,8,15,.76) 0%,
            rgba(2,8,15,.52) 45%,
            rgba(2,8,15,.18) 78%,
            rgba(2,8,15,0) 100%
        );

    z-index:-1;
}

/*
 * Kill inherited solid gray fills inside the detected header only.
 */
.mg-live-header,
.mg-live-header > *,
.mg-live-header .mg-header-primary-zone,
.mg-live-header .mg-header-utility-zone {

    background-color:transparent !important;
}

/*
 * Header working width.
 */
.mg-live-header .mg-header-primary-zone,
.mg-live-header .mg-header-utility-zone {

    width:min(
        calc(100% - 48px),
        var(--mg-header-max)
    );

    margin-left:auto !important;
    margin-right:auto !important;
}

/* ================================================================
   UTILITY LINKS / HOURS
   ================================================================ */

.mg-header-utility-zone {

    display:flex !important;
    flex-wrap:wrap;

    align-items:center;

    gap:7px 12px;

    min-height:32px;

    padding-top:6px;
    padding-bottom:4px;

    font-size:12px;
    line-height:1.25;
}

.mg-header-utility-zone a {
    display:inline-block;
}

/* ================================================================
   PRIMARY HEADER
   ================================================================ */

.mg-header-primary-zone {

    display:grid !important;

    grid-template-columns:auto
        minmax(0, 1fr)
        auto;

    align-items:center;

    column-gap:30px;

    min-height:88px;

    padding-top:6px;
    padding-bottom:12px;
}

/* ================================================================
   LOGO
   ================================================================ */

.mg-header-logo {

    display:flex !important;
    align-items:center;

    grid-column:1;

    margin:0 !important;
    padding:0 !important;
}

.mg-header-logo img {

    display:block;

    width:auto !important;
    height:auto !important;

    max-width:126px !important;
    max-height:82px !important;

    object-fit:contain;
}

/* ================================================================
   PRIMARY NAVIGATION
   ================================================================ */

.mg-primary-nav {

    grid-column:2;

    display:flex !important;

    align-items:center;
    justify-content:flex-start;

    min-width:0;
}

.mg-primary-nav ul {

    display:flex !important;

    flex-direction:row !important;
    flex-wrap:wrap !important;

    align-items:center !important;

    gap:7px 24px !important;

    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}

.mg-primary-nav li {

    display:block !important;

    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}

.mg-primary-nav li::marker {
    content:"";
}

.mg-primary-nav a {

    display:inline-flex !important;

    align-items:center;

    padding:7px 0 !important;

    color:#fff !important;

    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.15 !important;

    text-decoration:none;

    text-shadow:0 2px 9px rgba(0,0,0,.85);
}

.mg-primary-nav a:hover,
.mg-primary-nav a:focus {

    color:var(--mg-gold) !important;
}

/* ================================================================
   QUOTE CTA
   ================================================================ */

.mg-header-quote {

    grid-column:3;

    display:inline-flex !important;

    align-items:center;
    justify-content:center;

    white-space:nowrap;

    min-height:42px;

    padding:10px 20px !important;

    margin:0 !important;

    background:var(--mg-gold) !important;

    color:var(--bip-dark) !important;

    border:1px solid var(--mg-gold) !important;
    border-radius:2px;

    font-size:13px !important;
    font-weight:800 !important;

    text-decoration:none !important;
    text-shadow:none !important;
}

/* ================================================================
   HERO-BEHIND-HEADER
   ================================================================ */

/*
 * The header is absolute, therefore the page visual naturally begins
 * at viewport Y=0.
 *
 * Only CONTENT inside the first hero receives the safe offset.
 * The actual image/background remains behind the header.
 */

.mg-first-hero {

    position:relative;

    box-sizing:border-box;

    padding-top:max(
            var(--mg-original-hero-padding-top, 0px),
            calc(var(--mg-header-height) + 34px)
        ) !important;
}

/*
 * Avoid title collision when hero content itself is deeply nested.
 */
.mg-first-hero .mg-hero-content {

    position:relative;

    z-index:3;
}

/* ================================================================
   REMOVE OLD PAGE-TITLE BAND IF IT IS THE GRAY HEADER ARTIFACT
   ================================================================ */

.mg-suppressed-legacy-title-band {

    display:none !important;
}

/* ================================================================
   GENERAL LINK READABILITY
   ================================================================ */

.mg-live-header a {

    text-shadow:0 2px 8px rgba(0,0,0,.85);
}

/* ================================================================
   MOBILE / TABLET
   ================================================================ */

@media (max-width:900px) {

    :root {
        --mg-header-height:170px;
    }

    .mg-live-header .mg-header-primary-zone {

        grid-template-columns:auto
            1fr;

        grid-template-areas:"logo quote"
            "nav nav";

        row-gap:7px;
        column-gap:16px;
    }

    .mg-header-logo {
        grid-area:logo;
    }

    .mg-primary-nav {

        grid-area:nav;

        width:100%;
    }

    .mg-header-quote {

        grid-area:quote;

        justify-self:end;
    }

    .mg-primary-nav ul {

        gap:5px 15px !important;
    }

    .mg-first-hero {

        padding-top:calc(
                var(--mg-header-height) + 24px
            ) !important;
    }
}

@media (max-width:600px) {

    :root {
        --mg-header-height:205px;
    }

    .mg-live-header .mg-header-primary-zone,
    .mg-live-header .mg-header-utility-zone {

        width:min(
            calc(100% - 28px),
            var(--mg-header-max)
        );
    }

    .mg-header-logo img {

        max-width:104px !important;
        max-height:68px !important;
    }

    .mg-primary-nav a {

        font-size:13px !important;
    }

    .mg-header-quote {

        padding:9px 13px !important;
        font-size:12px !important;
    }
}

/* ===== MG layer:bip-mg-service-areas-linked-css (whole) ===== */
.bip-mg-service-areas-fullwidth {
    width:100%;
    text-align:center !important;
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(255, 255, 255, 0.14);
}

.bip-mg-service-areas-fullwidth h3 {
    margin:0 0 12px;
    color:var(--bip-highlight-text);
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-align:center !important;
}

.bip-footer-list--linked {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:4px 0;
    list-style:none;
    padding:0;
    margin:0;
}

.bip-footer-list--linked li {
    margin:0;
    padding:0;
    display:inline-flex;
    align-items:center;
}

.bip-footer-list--linked li:not(:last-child)::after {
    content:"|";
    margin:0 10px;
    color:rgba(255, 255, 255, 0.4);
}

.bip-footer-list--linked a {
    color:#fff;
    text-decoration:none;
    transition:color .18s ease;
}

.bip-footer-list--linked a:hover,
.bip-footer-list--linked a:focus {
    color:var(--bip-highlight-text);
}

@media (max-width:600px) {

    .bip-footer-list--linked {
        gap:6px 0;
    }

    .bip-footer-list--linked li:not(:last-child)::after {
        margin:0 8px;
    }

}

/* ===== MG layer:bip-mg-home-universal-shell-css (whole) ===== */
/* =========================================================
   HEADER
   ========================================================= */

.bip-universal-header-native {
    position:relative;
    z-index:50;
    width:100%;
    background:rgba(var(--bip-dark-rgb), 0.40);
    color:#fff;
}

.bip-universal-utility-row {
    width:100%;
    min-height:36px;
    padding:6px
        clamp(18px, 4vw, 64px);
    border-bottom:1px solid
        rgba(255, 255, 255, 0.12);
    font-size:13px;
}

.bip-universal-main-row {
    width:100%;
    min-height:96px;
    padding:10px
        clamp(18px, 4vw, 64px);
}

.bip-universal-brand img {
    display:block;
    width:auto;
    max-height:120px;
}

.bip-universal-primary-navigation {
    flex:1 1 auto;
}

.bip-universal-primary-cta {
    flex:0 0 auto;
}


/* =========================================================
   FOOTER — APPROVED LEFT ALIGNMENT
   ========================================================= */

.bip-native-universal-footer {
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:52px
        28px
        26px;
    color:#fff;
    text-align:left;
}

.bip-native-footer-grid {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr)
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap:42px;
    align-items:start;
    text-align:left;
}

.bip-native-footer-brand,
.bip-native-footer-description,
.bip-native-footer-information,
.bip-native-footer-contact {
    text-align:left !important;
}

.bip-native-footer-brand img {
    display:block;
    max-width:185px;
    height:auto;
    margin-left:0;
    margin-right:auto;
}

.bip-native-footer-description {
    margin-top:16px;
    max-width:430px;
}

.bip-native-universal-footer h3 {
    margin:0
        0
        12px;
    color:var(--bip-highlight-text);
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-align:left;
}

.bip-native-footer-information h3:not(:first-child) {
    margin-top:26px;
}

.bip-native-footer-information ul,
.bip-native-footer-contact ul {
    margin-left:0;
    padding-left:1.25rem;
    text-align:left;
}

.bip-native-footer-information li,
.bip-native-footer-contact li {
    text-align:left;
}

.bip-native-footer-legal {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;

    margin-top:38px;
    padding-top:20px;

    border-top:1px solid
        rgba(255,255,255,.14);

    font-size:13px;
    text-align:left;
}

.bip-native-footer-legal-links {
    margin-left:auto;
}

@media (max-width:900px) {

    .bip-native-footer-grid {
        grid-template-columns:1fr;
        gap:28px;
    }

}

@media (max-width:760px) {

    .bip-native-footer-legal {
        display:block;
    }

    .bip-native-footer-legal-links {
        display:block;
        margin-left:0;
        margin-top:12px;
    }

}

/* ===== MG layer:bip-r1-r6-r2-approved-header-geometry (whole) ===== */
/*
 * ----------------------------------------------------------
 * HEADER
 * ----------------------------------------------------------
 */

.bip-universal-header-native {
    position:relative;
    z-index:50;
    width:100%;
    background:rgba(var(--bip-dark-rgb),
            0.40
        );
    color:#fff;
}

.bip-universal-utility-row {
    width:100%;
    min-height:36px;
    padding:6px
        clamp(18px, 4vw, 64px);
    border-bottom:1px solid
        rgba(
            255,
            255,
            255,
            0.12
        );
    font-size:13px;
}

.bip-universal-main-row {
    width:100%;
    min-height:96px;
    padding:10px
        clamp(18px, 4vw, 64px);
}

.bip-universal-brand img {
    display:block;
    width:auto;
    max-height:120px;
}

.bip-universal-primary-navigation {
    flex:1 1 auto;
}

.bip-universal-primary-cta {
    flex:0 0 auto;
}


/*
 * ----------------------------------------------------------
 * FOOTER
 * ----------------------------------------------------------
 */

.bip-native-universal-footer {
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:52px
        28px
        26px;
    color:#fff;
}

.bip-native-footer-grid {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr)
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap:42px;
    align-items:start;
}

.bip-native-footer-brand img {
    max-width:185px;
    height:auto;
}

.bip-native-footer-description {
    margin-top:16px;
    max-width:430px;
}

.bip-native-universal-footer h3 {
    margin:0
        0
        12px;
    color:var(--bip-highlight-text);
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.bip-native-footer-information h3:not(:first-child) {
    margin-top:26px;
}

.bip-native-footer-legal {
    margin-top:38px;
    padding-top:20px;
    border-top:1px solid
        rgba(
            255,
            255,
            255,
            .14
        );
    font-size:13px;
}

@media (max-width:900px) {

    .bip-native-footer-grid {
        grid-template-columns:1fr;
        gap:28px;
    }

}

/* ===== MG layer:mg-footer-final-visual-gold-r2 (whole) ===== */
/*
 * R2 SCOPE:
 * Legal links only.
 * Match Privacy Policy / Terms of Service to:
 * About Us | Our Work | Reviews
 */

.mg-footer-legal-gold-bar a {
    color:var(--mg-footer-utility-link-color, var(--bip-link)) !important;
    text-decoration:none !important;
    opacity:1 !important;
}

.mg-footer-legal-gold-bar a:visited {
    color:var(--mg-footer-utility-link-color, var(--bip-link)) !important;
}

.mg-footer-legal-gold-bar a:hover,
.mg-footer-legal-gold-bar a:focus,
.mg-footer-legal-gold-bar a:active {
    color:#ffffff !important;
    opacity:1 !important;
}

/* ===== MG layer:mg-footer-r3r1-link-style (whole) ===== */
[data-mg-footer-binding] {
    color:inherit !important;
    font:inherit !important;
    text-decoration:none !important;
}

[data-mg-footer-binding]:hover,
[data-mg-footer-binding]:focus {
    color:#ffffff !important;
    text-decoration:none !important;
}

/* ===== MG layer:mg-footer-final-gold-r4-style (whole) ===== */
/*
 * Preserve normal footer presentation.
 * Only hover/focus changes to the dynamically recovered header utility blue.
 */
[data-mg-footer-binding],
.mg-footer-legal-gold-bar a {
    transition:color .18s ease,
        opacity .18s ease !important;
}

[data-mg-footer-binding]:hover,
[data-mg-footer-binding]:focus,
.mg-footer-legal-gold-bar a:hover,
.mg-footer-legal-gold-bar a:focus {
    color:var(--mg-footer-r4-header-blue, var(--bip-link)) !important;
    opacity:1 !important;
}

/*
 * Location pin.
 * Uses currentColor so the pin follows the address color
 * and automatically becomes header-blue on hover.
 */
[data-mg-footer-binding="address"]
.mg-footer-location-pin {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:.95em !important;
    height:.95em !important;
    margin-right:.38em !important;
    vertical-align:-.08em !important;
    color:inherit !important;
}

[data-mg-footer-binding="address"]
.mg-footer-location-pin svg {
    display:block !important;
    width:100% !important;
    height:100% !important;
    fill:currentColor !important;
}

/* ===== MG layer:samies-mg-build009-r1-proven-nav-typography (whole) ===== */
/*
 * PROVEN MG DESKTOP TYPOGRAPHY
 *
 * TOP LEVEL:
 * Home | Contact | Service Areas | Services
 * 36px / 700
 *
 * SERVICES DROPDOWN:
 * 24px / 600
 */

@media (min-width: 1025px) {

    /* TOP-LEVEL NAVIGATION */
    header.samies-uh
    .mg-final-nav-link {
        font-size:36px !important;
        font-weight:700 !important;
        line-height:1.2 !important;
    }

    /*
     * SERVICES is generated/controlled by this runtime.
     * Give its top-level trigger the exact same typography.
     */
    header.samies-uh
    [data-mg-services-menu-authority]
    > a,

    header.samies-uh
    [data-mg-services-menu-authority]
    > button,

    header.samies-uh
    .mg-services-trigger {
        font-size:36px !important;
        font-weight:700 !important;
        line-height:1.2 !important;
    }

    /* SERVICES DROPDOWN CHILDREN */
    header.samies-uh
    [data-mg-services-menu-authority]
    ul a,

    header.samies-uh
    .mg-services-dropdown a {
        font-size:24px !important;
        font-weight:600 !important;
        line-height:1.25 !important;
    }
}

/* ===== MG layer:mg-hours-utility-surgical (whole) ===== */
.bip-header-utility-links {
    display:flex !important;
    width:100% !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:flex-end !important;
    align-items:center !important;
    white-space:nowrap !important;
    text-align:right !important;
}

.bip-header-utility-links a,
.bip-header-utility-links .bip-divider {
    display:inline-block !important;
    white-space:nowrap !important;
}

.bip-header-utility-links .bip-divider {
    margin-left:8px !important;
    margin-right:8px !important;
}

/*
 * Right-align the existing Kadence column containing the utility span.
 * :has() changes presentation only.
 */
.kt-inside-inner-col:has(.bip-header-utility-links) {
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    text-align:right !important;
}

/* ===== MG layer:mg-location-phone-surgical (whole) ===== */
.bip-header-phone-link {
    color:inherit !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.bip-header-phone-link:hover,
.bip-header-phone-link:focus {
    color:inherit !important;
    text-decoration:underline !important;
}

/* ===== MG layer:mg-phone-logo-presentation (whole) ===== */
/* ============================================================
   PHONE
   Center the existing clickable phone.
   ============================================================ */

.kt-inside-inner-col:has(.bip-header-phone-link) {
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    overflow:visible !important;
}

.bip-header-phone-link {
    position:relative !important;

    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;

    margin-left:auto !important;
    margin-right:auto !important;

    font-size:28px !important;
    line-height:1.05 !important;
    font-weight:700 !important;

    white-space:nowrap !important;
    text-align:center !important;

    color:inherit !important;
    text-decoration:none !important;
}

/*
 * Circular phone badge.
 */
.bip-header-phone-link::before {
    content:"\260E" !important;

    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;

    width:38px !important;
    height:38px !important;

    margin-right:12px !important;

    border-radius:50% !important;

    background:var(--bip-dark) !important;
    color:#ffffff !important;

    font-size:21px !important;
    line-height:1 !important;
    font-weight:400 !important;
}

/*
 * Call Now directly beneath the phone.
 */
.bip-header-phone-link::after {
    content:"Call Now" !important;

    position:absolute !important;
    left:50% !important;
    top:calc(100% + 5px) !important;

    transform:translateX(-50%) !important;

    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:600 !important;

    white-space:nowrap !important;
    text-decoration:underline !important;
}

.bip-header-phone-link:hover,
.bip-header-phone-link:focus {
    text-decoration:none !important;
}


/* ============================================================
   REAL MG LOGO
   Keep existing MGlogo.png authority.
   Presentation only:larger + centered.
   ============================================================ */

.kt-inside-inner-col:has(img.bip-client-logo) {
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;

    text-align:center !important;
    overflow:visible !important;
}

img.bip-client-logo {
    display:block !important;

    width:360px !important;
    max-width:min(360px, 90vw) !important;
    height:auto !important;

    margin-left:auto !important;
    margin-right:auto !important;

    object-fit:contain !important;
    object-position:center center !important;

    transform:none !important;
}

/* ===== MG layer:mg-nav-logo-surgical (whole) ===== */
/* ============================================================
   NAV — HORIZONTAL WITH SEPARATORS
   ============================================================ */

.bip-client-navigation .bip-client-menu {
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;

    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
    white-space:nowrap !important;
}

.bip-client-navigation .bip-client-menu > li {
    display:inline-flex !important;
    align-items:center !important;

    margin:0 !important;
    padding:0 !important;

    white-space:nowrap !important;
}

/*
 * Yellow links.
 */
.bip-client-navigation .bip-client-menu > li > a {
    color:var(--bip-highlight-text) !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

/*
 * White on hover/focus.
 */
.bip-client-navigation .bip-client-menu > li > a:hover,
.bip-client-navigation .bip-client-menu > li > a:focus {
    color:#ffffff !important;
}

/*
 * White separators.
 */
.bip-client-navigation .bip-client-menu > li:not(:last-child)::after {
    content:"|" !important;

    display:inline-block !important;

    margin-left:12px !important;
    margin-right:12px !important;

    color:#ffffff !important;
}

/* ============================================================
   REAL MG LOGO — EXACT 2X CURRENT 360px PRESENTATION
   ============================================================ */

.kt-inside-inner-col:has(img.bip-client-logo) {
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;

    text-align:center !important;
    overflow:visible !important;
}

img.bip-client-logo {
    display:block !important;

    width:720px !important;
    max-width:min(720px, 94vw) !important;
    height:auto !important;

    margin-left:auto !important;
    margin-right:auto !important;

    object-fit:contain !important;
    object-position:center center !important;

    transform:none !important;
}

/* ===== MG layer:mg-phone-color-match (whole) ===== */
/*
 * Safe fallback only until JavaScript reads the
 * actual utility-link color.
 */
:root {
    --mg-right-link-blue:var(--bip-link);
}

/*
 * Existing phone number stays white.
 */
.bip-header-phone-link {
    color:#ffffff !important;
}

/*
 * Existing round phone badge uses the exact
 * right-side utility-link blue.
 */
.bip-header-phone-link::before {
    background-color:var(--mg-right-link-blue) !important;
    color:#ffffff !important;
}

/*
 * Existing Call Now uses that same exact blue.
 */
.bip-header-phone-link::after {
    color:var(--mg-right-link-blue) !important;
}

/* ===== MG layer:mg-approved-exact-header (whole) ===== */
:root {
    --mg-blue:var(--bip-link);
    --mg-yellow:var(--bip-highlight);
    --mg-green:var(--bip-cta);
    --mg-top-dark:rgba(var(--bip-dark-rgb),.50);
}


/* ============================================================
   HEADER OVER HERO
   ============================================================ */

.bip-universal-header,
.bip-universal-header-native {
    position:relative !important;
    z-index:50 !important;

    width:100% !important;

    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    overflow:visible !important;
}


/* ============================================================
   TOP THIN STRIP
   ONLY THIS STRIP GETS THE 50% DARK OVERLAY
   ============================================================ */

.bip-universal-utility,
.wp-block-group.bip-universal-utility {
    min-height:52px !important;

    box-sizing:border-box !important;

    display:grid !important;
    grid-template-columns:minmax(360px,1fr)
        auto
        minmax(360px,1fr) !important;

    align-items:center !important;

    padding:0
        28px !important;

    margin:0 !important;

    background:var(--mg-top-dark) !important;

    border:0 !important;
}


/* Hide blank service-area position if present */

.bip-universal-utility
> *:has(.bip-header-service-area:empty) {
    display:none !important;
}


/* HOURS — LEFT */

.bip-universal-utility
> *:has(.bip-header-hours) {
    grid-column:1 !important;

    justify-self:start !important;
    align-self:center !important;
}

.bip-header-hours {
    color:#ffffff !important;

    font-size:17px !important;
    font-weight:500 !important;
    line-height:1 !important;

    white-space:nowrap !important;
}


/* PHONE — CENTER */

.bip-universal-utility
> *:has(.bip-header-phone-link) {
    grid-column:2 !important;

    justify-self:center !important;
    align-self:center !important;

    overflow:visible !important;
}

.bip-header-phone-link {
    position:relative !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    color:#ffffff !important;

    font-size:28px !important;
    font-weight:700 !important;
    line-height:1 !important;

    white-space:nowrap !important;

    text-decoration:none !important;

    transition:color .18s ease !important;
}

.bip-header-phone-link:hover,
.bip-header-phone-link:focus {
    color:var(--mg-blue) !important;
}


/* Blue phone circle */

.bip-header-phone-link::before {
    content:"☎" !important;

    position:static !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:38px !important;
    height:38px !important;

    margin:0
        12px
        0
        0 !important;

    border-radius:50% !important;

    background:var(--mg-blue) !important;

    color:#ffffff !important;

    font-size:21px !important;
    line-height:1 !important;

    transform:none !important;
}


/* Call Now inline beside phone */

.bip-header-phone-link::after {
    content:"Call Now" !important;

    position:static !important;

    display:inline-block !important;

    margin-left:13px !important;

    color:var(--mg-blue) !important;

    font-size:16px !important;
    font-weight:600 !important;
    line-height:1 !important;

    text-decoration:none !important;

    transform:none !important;

    transition:color .18s ease !important;
}

.bip-header-phone-link:hover::after,
.bip-header-phone-link:focus::after {
    color:#ffffff !important;
}


/* UTILITY LINKS — RIGHT */

.bip-universal-utility
> *:has(.bip-header-utility-links) {
    grid-column:3 !important;

    justify-self:end !important;
    align-self:center !important;
}

.bip-header-utility-links {
    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;

    white-space:nowrap !important;
}

.bip-header-utility-links a {
    color:var(--mg-blue) !important;

    font-size:16px !important;
    font-weight:500 !important;

    text-decoration:none !important;

    transition:color .18s ease !important;
}

.bip-header-utility-links a:hover,
.bip-header-utility-links a:focus {
    color:#ffffff !important;
}

.bip-header-utility-links span,
.bip-header-utility-links .bip-divider {
    color:#ffffff !important;
}


/* ============================================================
   MAIN HEADER ROW
   COMPLETELY TRANSPARENT
   ============================================================ */

.bip-universal-navigation,
.wp-block-group.bip-universal-navigation {
    min-height:250px !important;

    box-sizing:border-box !important;

    display:grid !important;

    grid-template-columns:370px
        minmax(500px,1fr)
        330px !important;

    align-items:center !important;

    column-gap:24px !important;

    padding:24px
        78px
        10px !important;

    margin:0 !important;

    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    border:0 !important;

    overflow:visible !important;
}


/* ============================================================
   LOGO — LEFT
   ============================================================ */

.bip-universal-navigation
> *:has(img.bip-client-logo) {
    grid-column:1 !important;

    justify-self:start !important;
    align-self:center !important;

    overflow:visible !important;
}

img.bip-client-logo {
    width:480px !important;
    max-width:480px !important;
    height:auto !important;

    display:block !important;

    margin:0 !important;

    transform:none !important;
}


/* ============================================================
   MAIN NAV — CENTER
   16PX WHITE
   YELLOW HOVER / SEPARATORS
   ============================================================ */

.bip-universal-navigation
> *:has(.bip-client-navigation) {
    grid-column:2 !important;

    justify-self:center !important;
    align-self:center !important;
}

.bip-client-navigation,
.bip-client-navigation .bip-client-menu {
    display:flex !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;

    align-items:center !important;
    justify-content:center !important;

    gap:0 !important;

    margin:0 !important;
    padding:0 !important;
}

.bip-client-navigation
.bip-client-menu li {
    display:inline-flex !important;

    align-items:center !important;

    margin:0 !important;
    padding:0 !important;
}

.bip-client-navigation
.bip-client-menu a,
.bip-client-navigation a {
    color:#ffffff !important;

    font-size:36px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    white-space:nowrap !important;

    text-decoration:none !important;

    transition:color .18s ease !important;
}

.bip-client-navigation
.bip-client-menu a:hover,
.bip-client-navigation
.bip-client-menu a:focus,
.bip-client-navigation a:hover,
.bip-client-navigation a:focus {
    color:var(--mg-yellow) !important;
}

.bip-client-navigation
.bip-client-menu
> li:not(:last-child)::after {
    content:"|" !important;

    display:inline-block !important;

    margin:0
        18px !important;

    color:var(--mg-yellow) !important;

    font-size:22px !important;
    font-weight:400 !important;
    line-height:1 !important;
}


/* ============================================================
   GREEN GET A QUOTE — RIGHT
   ============================================================ */

.bip-universal-navigation
> *:has(.bip-primary-cta) {
    grid-column:3 !important;

    justify-self:end !important;
    align-self:center !important;
}

.mg-final-quote,
.bip-primary-cta {
    min-width:290px !important;
    min-height:72px !important;

    box-sizing:border-box !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:18px !important;

    padding:16px
        28px !important;

    background:var(--mg-green) !important;

    color:#ffffff !important;

    border:3px solid
        #ffffff !important;

    border-radius:10px !important;

    box-shadow:0 4px 12px
        rgba(0,0,0,.22) !important;

    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;

    white-space:nowrap !important;

    text-decoration:none !important;

    transition:background-color .18s ease,
        border-color .18s ease,
        color .18s ease !important;
}

.mg-final-quote:hover,
.mg-final-quote:focus,
.bip-primary-cta:hover,
.bip-primary-cta:focus {
    background:var(--mg-yellow) !important;

    border-color:var(--mg-yellow) !important;

    color:#ffffff !important;
}

.mg-quote-arrow {
    font-size:31px !important;
    font-weight:400 !important;
    line-height:.8 !important;
}


/* ============================================================
   REMOVE BACKGROUNDS FROM NESTED MAIN-ROW WRAPPERS
   ============================================================ */

.bip-universal-navigation
.wp-block-group,

.bip-universal-navigation
.wp-block-column,

.bip-universal-navigation
.wp-block-kadence-column,

.bip-universal-navigation
.kt-inside-inner-col,

.bip-universal-navigation
.kt-row-layout-inner,

.bip-universal-navigation
.kt-row-column-wrap {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
}


/* ============================================================
   RESPONSIVE SAFETY
   ============================================================ */

@media (max-width:1100px) {

    .bip-universal-navigation,
    .wp-block-group.bip-universal-navigation {
        grid-template-columns:280px
            1fr
            230px !important;

        padding-left:30px !important;
        padding-right:30px !important;
    }

    img.bip-client-logo {
        width:270px !important;
        max-width:270px !important;
    }

    .mg-final-quote,
    .bip-primary-cta {
        min-width:220px !important;

        font-size:18px !important;
    }
}

@media (max-width:800px) {

    .bip-universal-utility,
    .wp-block-group.bip-universal-utility {
        display:flex !important;

        flex-wrap:wrap !important;

        justify-content:center !important;

        min-height:auto !important;

        gap:10px 18px !important;

        padding:12px
            18px !important;
    }

    .bip-header-hours {
        font-size:14px !important;
    }

    .bip-header-phone-link {
        font-size:20px !important;
    }

    .bip-universal-navigation,
    .wp-block-group.bip-universal-navigation {
        display:flex !important;

        flex-direction:column !important;

        min-height:auto !important;

        gap:20px !important;

        padding:18px
            20px
            24px !important;
    }

    img.bip-client-logo {
        width:230px !important;
        max-width:72vw !important;
    }

    .bip-client-navigation
    .bip-client-menu a,
    .bip-client-navigation a {
        font-size:16px !important;
    }

    .mg-final-quote,
    .bip-primary-cta {
        min-width:230px !important;
        min-height:56px !important;

        font-size:18px !important;
    }
}

/* ===== MG layer:mg-logo-target-match (whole) ===== */
@media (min-width: 1101px) {

    /*
     * Remove clipping/restriction only from the logo container.
     */
    .bip-universal-navigation > *:has(img.bip-client-logo),
    .bip-universal-navigation .wp-block-column:has(img.bip-client-logo),
    .bip-universal-navigation .wp-block-kadence-column:has(img.bip-client-logo),
    .bip-universal-navigation .kt-inside-inner-col:has(img.bip-client-logo) {
        position:relative !important;
        overflow:visible !important;
        z-index:100 !important;
    }

    /*
     * Match the large rendered footprint in the user's TOP screenshot.
     * Does not move nav / CTA / phone / hours / utility links.
     */
    img.bip-client-logo {
        position:absolute !important;

        width:480px !important;
        max-width:none !important;
        height:auto !important;

        left:0 !important;
        top:50% !important;

        margin:0 !important;

        transform:translateY(-58%) !important;
        transform-origin:center center !important;

        z-index:101 !important;
    }
}

/* ===== MG layer:mg-universal-footer-single-pond-final (whole) ===== */
/* ==============================================================
   ONE CANONICAL POND OWNER
   ============================================================== */

html body .site-footer {
    position:relative !important;
    isolation:isolate !important;

    background-color:#000 !important;
    background-image:linear-gradient(
            rgba(0,0,0,.52),
            rgba(0,0,0,.52)
        ),
        var(--bip-footer-bg) !important;

    background-position:center center,
        center center !important;

    background-size:cover,
        cover !important;

    background-repeat:no-repeat,
        no-repeat !important;

    margin-bottom:0 !important;
}


/* ==============================================================
   ONE UNIFORM DARK TREATMENT
   ============================================================== */

html body .site-footer::before {
    content:none !important;
    display:none !important;
}

html body .site-footer > * {
    position:relative !important;
    z-index:1 !important;
}


/* ==============================================================
   EVERY INNER FOOTER PRESENTATION SURFACE TRANSPARENT
   ============================================================== */

html body .site-footer .site-footer-wrap,
html body .site-footer .site-top-footer-wrap,
html body .site-footer .site-middle-footer-wrap,
html body .site-footer .site-bottom-footer-wrap,
html body .site-footer .site-footer-row-container,
html body .site-footer .site-footer-row-container-inner,
html body .site-footer .footer-html,
html body .site-footer .footer-html-inner,
html body .site-footer .bip-native-universal-footer,
html body .site-footer .bip-native-footer-grid,
html body .site-footer .bip-native-footer-brand,
html body .site-footer .bip-native-footer-description,
html body .site-footer .bip-native-footer-information,
html body .site-footer .bip-native-footer-contact,
html body .site-footer .bip-native-footer-legal,
html body .site-footer .bip-native-footer-legal-links,
html body .site-footer .bip-footer-restacked,
html body .site-footer .bip-directory-badges {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
}


/* ==============================================================
   NO INNER WRAPPER PSEUDO BACKGROUND
   ============================================================== */

html body .site-footer .site-footer-wrap::before,
html body .site-footer .site-footer-wrap::after,
html body .site-footer .site-top-footer-wrap::before,
html body .site-footer .site-top-footer-wrap::after,
html body .site-footer .site-middle-footer-wrap::before,
html body .site-footer .site-middle-footer-wrap::after,
html body .site-footer .site-bottom-footer-wrap::before,
html body .site-footer .site-bottom-footer-wrap::after,
html body .site-footer .site-footer-row-container::before,
html body .site-footer .site-footer-row-container::after,
html body .site-footer .site-footer-row-container-inner::before,
html body .site-footer .site-footer-row-container-inner::after,
html body .site-footer .bip-native-universal-footer::before,
html body .site-footer .bip-native-universal-footer::after,
html body .site-footer .bip-native-footer-legal::before,
html body .site-footer .bip-native-footer-legal::after {
    background:transparent !important;
    background-image:none !important;
}


/* ==============================================================
   FINAL INNER KADENCE SURFACE RESET
   Removes remaining rectangular inner footer layer only.
   ============================================================== */

html body .site-footer .site-middle-footer-inner-wrap,
html body .site-footer .site-footer-middle-section-1,
html body .site-footer .site-footer-section,
html body .site-footer .footer-widget-area,
html body .site-footer .footer-widget-area-inner,
html body .site-footer .site-info,
html body .site-footer .site-info-inner {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    filter:none !important;
    backdrop-filter:none !important;
}

html body .site-footer .site-middle-footer-inner-wrap::before,
html body .site-footer .site-middle-footer-inner-wrap::after,
html body .site-footer .site-footer-middle-section-1::before,
html body .site-footer .site-footer-middle-section-1::after,
html body .site-footer .site-footer-section::before,
html body .site-footer .site-footer-section::after,
html body .site-footer .footer-widget-area::before,
html body .site-footer .footer-widget-area::after,
html body .site-footer .footer-widget-area-inner::before,
html body .site-footer .footer-widget-area-inner::after,
html body .site-footer .site-info::before,
html body .site-footer .site-info::after,
html body .site-footer .site-info-inner::before,
html body .site-footer .site-info-inner::after {
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
}


/* ==============================================================
   ONE BLACK TERMINATION
   Reuse existing legal GOLD bar instead of creating another strip.
   ============================================================== */

html body .site-footer .mg-footer-legal-gold-bar {
    background:#000 !important;
    background-color:#000 !important;
    background-image:none !important;

    width:100% !important;
    margin:0 !important;

    position:relative !important;
    z-index:2 !important;
}


/* Retire previous pseudo termination.
   The legal bar above is now the sole termination strip. */

html body .site-footer::after {
    content:none !important;
    display:none !important;
}


/* FINAL MG FOOTER WRAPPER RESET — ZERO INNER RECTANGLES */

/*
 * Only structural footer wrappers are reset.
 * Interactive badges, links, images and legal-bar presentation are preserved.
 */
html body .site-footer > div,
html body .site-footer .site-footer-wrap,
html body .site-footer .site-top-footer-wrap,
html body .site-footer .site-middle-footer-wrap,
html body .site-footer .site-bottom-footer-wrap,
html body .site-footer .site-footer-row-container,
html body .site-footer .site-footer-row-container-inner,
html body .site-footer .site-footer-row,
html body .site-footer .site-middle-footer-inner-wrap,
html body .site-footer .site-footer-section,
html body .site-footer .site-footer-middle-section-1,
html body .site-footer .footer-widget-area,
html body .site-footer .footer-widget-area-inner,
html body .site-footer .site-info,
html body .site-footer .site-info-inner,
html body .site-footer .footer-html,
html body .site-footer .footer-html-inner,
html body .site-footer .bip-native-universal-footer,
html body .site-footer .bip-native-footer-grid,
html body .site-footer .bip-native-footer-brand,
html body .site-footer .bip-native-footer-description,
html body .site-footer .bip-native-footer-information,
html body .site-footer .bip-native-footer-contact,
html body .site-footer .bip-native-footer-legal,
html body .site-footer .bip-native-footer-legal-links,
html body .site-footer .bip-footer-restacked {
    background-color:transparent !important;
    background-image:none !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}

/* Kill structural overlays/separators that can paint rectangular surfaces. */
html body .site-footer .site-footer-wrap::before,
html body .site-footer .site-footer-wrap::after,
html body .site-footer .site-top-footer-wrap::before,
html body .site-footer .site-top-footer-wrap::after,
html body .site-footer .site-middle-footer-wrap::before,
html body .site-footer .site-middle-footer-wrap::after,
html body .site-footer .site-bottom-footer-wrap::before,
html body .site-footer .site-bottom-footer-wrap::after,
html body .site-footer .site-footer-row-container::before,
html body .site-footer .site-footer-row-container::after,
html body .site-footer .site-footer-row-container-inner::before,
html body .site-footer .site-footer-row-container-inner::after,
html body .site-footer .site-footer-row::before,
html body .site-footer .site-footer-row::after,
html body .site-footer .site-middle-footer-inner-wrap::before,
html body .site-footer .site-middle-footer-inner-wrap::after,
html body .site-footer .site-footer-section::before,
html body .site-footer .site-footer-section::after,
html body .site-footer .footer-widget-area::before,
html body .site-footer .footer-widget-area::after,
html body .site-footer .footer-widget-area-inner::before,
html body .site-footer .footer-widget-area-inner::after,
html body .site-footer .site-info::before,
html body .site-footer .site-info::after,
html body .site-footer .site-info-inner::before,
html body .site-footer .site-info-inner::after,
html body .site-footer .footer-html::before,
html body .site-footer .footer-html::after,
html body .site-footer .footer-html-inner::before,
html body .site-footer .footer-html-inner::after,
html body .site-footer .bip-native-universal-footer::before,
html body .site-footer .bip-native-universal-footer::after,
html body .site-footer .bip-native-footer-grid::before,
html body .site-footer .bip-native-footer-grid::after {
    content:none !important;
    display:none !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
}

/* Preserve the intended final black legal termination bar. */
html body .site-footer .mg-footer-legal-gold-bar {
    display:flex !important;
    background:#000 !important;
    background-color:#000 !important;
    background-image:none !important;
}

/* ===== MG layer:samies-mg-build007-r2-r1-nav-typography (whole) ===== */
/* ALL PRIMARY NAV LINKS */
header.samies-uh a.mg-final-nav-link,
header.samies-uh nav > ul > li > a,
header.samies-uh #samies-uh-dropdown > a,
.site-header a.mg-final-nav-link,
.site-header nav > ul > li > a,
.site-header #samies-uh-dropdown > a {
    font-size:36px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
}

/* SERVICES LABEL MUST INHERIT THE SAME SIZE */
header.samies-uh #samies-uh-dropdown > a *,
.site-header #samies-uh-dropdown > a * {
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}

/* SERVICES DROPDOWN CHILDREN */
header.samies-uh
#samies-uh-dropdown > .sub-menu > li > a,
.site-header
#samies-uh-dropdown > .sub-menu > li > a {
    font-size:24px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
}

/* ===== MG layer:samies-mg-footer-service-link-color (whole) ===== */
body .mg-editable-service-links li a,
        body .mg-editable-service-links li a:visited {
            color:var(--bip-highlight-text) !important;
            transition:color .18s ease;
        }

        body .mg-editable-service-links li a:hover,
        body .mg-editable-service-links li a:focus {
            color:var(--bip-cta) !important;
        }

/* ===== MG layer:samies-mg-shared-service-link-color (whole) ===== */
body .mg-shared-service-link,
        body .mg-shared-service-link:visited {
            color:var(--bip-highlight-text) !important;
            transition:color .18s ease;
        }

        body .mg-shared-service-link:hover,
        body .mg-shared-service-link:focus {
            color:var(--bip-cta) !important;
        }

/* ===== MG layer:bip-mg-footer-directory-badges-css (whole) ===== */
.bip-native-footer-legal.bip-footer-restacked {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:16px;
}

.bip-footer-restacked .bip-native-footer-legal-links {
    margin-left:0 !important;
    display:block;
    text-align:center;
}

.bip-directory-badges {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:clamp(10px, 1.4vw, 18px);
}

.bip-directory-badge {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:clamp(40px, 3.4vw, 56px);
    height:clamp(40px, 3.4vw, 56px);
    border-radius:50%;
    text-decoration:none;
    transition:transform .22s ease;
}
   
.bip-directory-badge svg {
    position:relative;
    z-index:2;
    width:clamp(22px, 2vw, 32px);
    height:clamp(22px, 2vw, 32px);
    display:block;
}

.bip-directory-badge .bip-ring {
    position:absolute;
    inset:0;
    border-radius:50%;
    border:2px solid var(--badge-color, var(--bip-highlight));
    opacity:0;
    pointer-events:none;
    z-index:1;
}

.bip-directory-badge:hover,
.bip-directory-badge:focus-visible {
    transform:scale(1.28) translateY(-1px);
}

.bip-directory-badge:hover .bip-ring,
.bip-directory-badge:focus-visible .bip-ring {
    animation:bipFooterRingPulse 1.4s ease-out infinite;
}

.bip-directory-badge:hover .bip-ring--2,
.bip-directory-badge:focus-visible .bip-ring--2 {
    animation-delay:.35s;
}

.bip-directory-badge:hover .bip-ring--3,
.bip-directory-badge:focus-visible .bip-ring--3 {
    animation-delay:.7s;
}

.bip-directory-badge--chip {
    width:auto;
    height:clamp(28px, 2.4vw, 36px);
    padding:0 clamp(10px, 1vw, 14px);
    border-radius:999px;
    background:rgba(244, 189, 25, 0.14);
    border:1px solid rgba(244, 189, 25, 0.55);
    color:var(--bip-highlight-text);
    font-size:clamp(11px, 0.9vw, 13px);
    font-weight:600;
    letter-spacing:.02em;
    white-space:nowrap;
}

.bip-directory-badge--chip .bip-ring {
    border-radius:999px;
}

.bip-directory-badge--chip:hover,
.bip-directory-badge--chip:focus-visible {
    background:rgba(244, 189, 25, 0.24);
}

.bip-directory-badge--logo {
    width:clamp(40px, 3.4vw, 56px);
    height:clamp(40px, 3.4vw, 56px);
    border-radius:12%;
    overflow:visible;
}

.bip-directory-badge--logo .bip-ring {
    border-radius:16%;
}

.bip-native-universal-footer .bip-directory-badge img {
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    filter:none !important;
}

.bip-native-universal-footer .bip-directory-badge--logo img {
    position:relative;
    z-index:2;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    filter:none !important;
}

@keyframes bipFooterRingPulse {
    0% {
        transform:scale(0.85);
        opacity:0.95;
        border-width:2.5px;
    }
    80% {
        transform:scale(1.35);
        opacity:0;
        border-width:1px;
    }
    100% {
        transform:scale(1.35);
        opacity:0;
        border-width:1px;
    }
}

.bip-license-badge {
    position:relative;
}

.bip-license-badge svg {
    width:clamp(26px, 2.3vw, 36px) !important;
    height:clamp(26px, 2.3vw, 36px) !important;
}

.bip-license-tooltip {
    position:absolute;
    bottom:130%;
    left:50%;
    transform:translateX(-50%) translateY(6px);
    width:max-content;
    max-width:220px;
    padding:10px 12px;
    border-radius:8px;
    background:#000000;
    border:1px solid rgba(244, 189, 25, 0.4);
    color:#fff;
    font-size:12px;
    line-height:1.4;
    text-align:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
    z-index:5;
}

.bip-license-tooltip strong {
    display:block;
    color:var(--bip-highlight-text);
    margin-bottom:2px;
}

.bip-license-badge:hover .bip-license-tooltip,
.bip-license-badge:focus-visible .bip-license-tooltip {
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

@media (max-width:760px) {

    .bip-directory-badges {
        gap:10px;
    }

}

.bip-license-badge {
    width:clamp(60px, 4.5vw, 76px) !important;
    height:clamp(60px, 4.5vw, 76px) !important;
}

.bip-license-badge svg {
    width:clamp(35px, 3.2vw, 49px) !important;
    height:clamp(35px, 3.2vw, 49px) !important;
}

.bip-license-badge:hover .bip-ring,
.bip-license-badge:focus-visible .bip-ring {
    animation-duration:3s !important;
}

.bip-license-badge:hover .bip-ring--2,
.bip-license-badge:focus-visible .bip-ring--2 {
    animation-delay:.75s !important;
}

.bip-license-badge:hover .bip-ring--3,
.bip-license-badge:focus-visible .bip-ring--3 {
    animation-delay:1.5s !important;
}

/* ===== MG layer:bip-mg-social-badges-css (whole) ===== */
.bip-social-badges {
    display:inline-flex;
    align-items:center;
    gap:clamp(8px, 1vw, 15px);
    margin-left:clamp(10px, 1.5vw, 21px);
}

.bip-social-badge {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:clamp(26px, 2.2vw, 39px);
    height:clamp(26px, 2.2vw, 39px);
    border-radius:50%;
    text-decoration:none;
    transition:transform .22s ease;
}

.bip-social-badge svg {
    position:relative;
    z-index:2;
    width:clamp(15px, 1.3vw, 23px);
    height:clamp(15px, 1.3vw, 23px);
    display:block;
}

.bip-social-badge .bip-ring {
    position:absolute;
    inset:0;
    border-radius:50%;
    border:2px solid var(--badge-color, var(--bip-highlight));
    opacity:0;
    pointer-events:none;
    z-index:1;
}

.bip-social-badge:hover,
.bip-social-badge:focus-visible {
    transform:scale(1.28) translateY(-1px);
}

.bip-social-badge:hover .bip-ring,
.bip-social-badge:focus-visible .bip-ring {
    animation:bipTargetPulse 1.4s ease-out infinite;
}

.bip-social-badge:hover .bip-ring--2,
.bip-social-badge:focus-visible .bip-ring--2 {
    animation-delay:.35s;
}

.bip-social-badge:hover .bip-ring--3,
.bip-social-badge:focus-visible .bip-ring--3 {
    animation-delay:.7s;
}

@keyframes bipTargetPulse {
    0% {
        transform:scale(0.75);
        opacity:0.95;
        border-width:2.5px;
    }
    80% {
        transform:scale(2.2);
        opacity:0;
        border-width:1px;
    }
    100% {
        transform:scale(2.2);
        opacity:0;
        border-width:1px;
    }
}

@media (max-width:600px) {

    .bip-social-badges {
        margin-left:clamp(8px, 1.2vw, 12px);
        gap:clamp(6px, 0.8vw, 9px);
    }

}

/* ===== MG layer:mg-header-residual-underlay-retirement (whole) ===== */
/* ================================================================
   BASE HEADER SHELL
   REMOVE THE RESIDUAL DARK BACKGROUND UNDER THE APPROVED NAV OVERLAY.
   ================================================================ */

header.samies-uh {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    --kb-transparent-header-bg:transparent !important;
}


/* ================================================================
   TOP INFO STRIP
   PRESERVE CURRENT APPROVED 30%.
   ================================================================ */

header.samies-uh
.mg-final-top-strip {
    background:rgba(0, 0, 0, 0.70) !important;
    background-color:rgba(0, 0, 0, 0.70) !important;
    background-image:none !important;
}


/* ================================================================
   HEADER SHELL ANCESTORS AROUND MAIN NAV ROW
   REMOVE ONLY THEIR BACKGROUND.
   ================================================================ */

header.samies-uh
.mg-transparent-main-shell {
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
}


/* ================================================================
   APPROVED MAIN NAV OVERLAY
   KEEP EXACTLY WHERE IT IS NOW.
   ================================================================ */

header.samies-uh
.mg-final-main-overlay-row {
    position:relative !important;

    background:rgba(0, 0, 0, 0.40) !important;
    background-color:rgba(0, 0, 0, 0.40) !important;
    background-image:none !important;

    padding-bottom:0 !important;
    margin-bottom:0 !important;

    isolation:isolate !important;
}


header.samies-uh
.mg-final-main-overlay-row::before {
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:0;

    bottom:54px;

    background:transparent;

    pointer-events:none;

    z-index:-1;
}


header.samies-uh
.mg-final-main-overlay-row > * {
    position:relative;
    z-index:1;
}


/* ================================================================
   LOGO
   PRESERVE CURRENT APPROVED STATE.
   ================================================================ */

@media (min-width:1025px) {

    header.samies-uh
    img.bip-client-logo {
        width:var(--samies-uh-logo-w, 350px) !important;
        max-width:var(--samies-uh-logo-w, 350px) !important;
        min-width:0 !important;

        height:auto !important;
        max-height:none !important;

        position:relative !important;

        top:-8px !important;

        margin:0 !important;

        transform:none !important;
        scale:none !important;

        z-index:9999 !important;

        object-fit:contain !important;
    }
}


header.samies-uh
.mg-logo-z-authority,
header.samies-uh
.mg-logo-z-authority > * {
    overflow:visible !important;
    position:relative !important;
    z-index:9998 !important;
}


/* ================================================================
   TITLE
   PRESERVE.
   ================================================================ */

.mg-final-brand-title {
    color:var(--bip-highlight-text) !important;
    position:relative !important;
    z-index:100 !important;
}


/* ================================================================
   MAIN NAV
   PRESERVE 18PX.
   ================================================================ */

header.samies-uh
a.mg-final-nav-link {
    line-height:1.3 !important;
}


/* Tablet */
@media (min-width:768px) and (max-width: 1024px) {

    header.samies-uh
    img.bip-client-logo {
        width:280px !important;
        max-width:38vw !important;
        top:-34px !important;
    }

    header.samies-uh
    .mg-final-main-overlay-row::before {
        bottom:34px;
    }
}


/* Phone */
@media (max-width:767px) {

    header.samies-uh
    img.bip-client-logo {
        width:210px !important;
        max-width:56vw !important;
        top:-18px !important;
    }

    header.samies-uh
    .mg-final-main-overlay-row::before {
        bottom:20px;
    }
}


/* MG_TOP_STRIP_SINGLE_LINE_AUTHORITY */

/*
 * FINAL DESKTOP TOP STRIP
 *
 * LEFT:* Phone + Call Now
 *
 * RIGHT:
 * Hours + Clock Badge + About Us | Local & Trusted | Reviews
 */

@media (min-width: 1025px) {

    header.samies-uh
    .mg-final-top-strip {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        position:relative !important;
        white-space:nowrap !important;
    }

    header.samies-uh
    .mg-final-top-strip
    .mg-top-single-line-left {
        display:inline-flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:flex-start !important;
        white-space:nowrap !important;
        margin-right:auto !important;
        position:relative !important;
        z-index:2 !important;
    }

    header.samies-uh
    .mg-final-top-strip
    .mg-top-single-line-right {
        display:inline-flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:flex-end !important;
        white-space:nowrap !important;
        margin-left:auto !important;
        position:relative !important;
        z-index:2 !important;
    }

    header.samies-uh
    .mg-final-top-strip
    .mg-top-hours-inline {
        display:inline-flex !important;
        flex-direction:row !important;
        align-items:center !important;
        position:static !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;
        width:auto !important;
        max-width:none !important;
        margin:0 !important;
        text-align:right !important;
        white-space:nowrap !important;
    }

    /*
     * Gold circular clock badge.
     * After hours, before About Us.
     */
    header.samies-uh
    .mg-final-top-strip
    .mg-top-hours-inline::after {
        content:"\25F7" !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex:0 0 25px !important;
        width:25px !important;
        height:25px !important;
        margin-left:12px !important;
        margin-right:12px !important;
        border:2px solid var(--bip-highlight) !important;
        border-radius:50% !important;
        box-sizing:border-box !important;
        color:var(--bip-highlight-text) !important;
        font-size:17px !important;
        line-height:1 !important;
        font-weight:700 !important;
        text-align:center !important;
    }
}


/* MG_FINAL_RIGHT_HOURS_CLOCK_DOM_AUTHORITY */

@media (min-width:1025px) {

    header.samies-uh
    .mg-final-top-strip {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        position:relative !important;
    }

    header.samies-uh
    .mg-top-single-line-left {
        flex:0 0 auto !important;
        margin-right:auto !important;
    }

    /*
     * FINAL RIGHT-SIDE AUTHORITY
     *
     * CLOCK | HOURS | ABOUT US | LOCAL & TRUSTED | REVIEWS
     */
    header.samies-uh
    .mg-top-right-final {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:0 !important;
        margin-left:auto !important;
        white-space:nowrap !important;
        position:relative !important;
        z-index:20 !important;
    }

    header.samies-uh
    .mg-top-right-final
    .mg-top-hours-inline {
        display:inline-flex !important;
        align-items:center !important;
        position:static !important;
        inset:auto !important;
        transform:none !important;
        width:auto !important;
        max-width:none !important;
        margin:0 10px 0 0 !important;
        white-space:nowrap !important;
        text-align:right !important;
    }

    /*
     * Retire previous pseudo-clock.
     * The clock is now a REAL DOM badge.
     */
    header.samies-uh
    .mg-top-hours-inline::before,
    header.samies-uh
    .mg-top-hours-inline::after {
        content:none !important;
        display:none !important;
    }

    header.samies-uh
    .mg-top-clock-badge-final {
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex:0 0 28px !important;
        width:28px !important;
        height:28px !important;
        margin:0 10px 0 0 !important;
        padding:0 !important;
        border:3px solid var(--bip-highlight) !important;
        border-radius:999px !important;
        box-sizing:border-box !important;
        position:relative !important;
        color:var(--bip-highlight-text) !important;
    }

    /*
     * Clock hands.
     */
    header.samies-uh
    .mg-top-clock-badge-final::before {
        content:"" !important;
        display:block !important;
        position:absolute !important;
        left:50% !important;
        top:5px !important;
        width:2px !important;
        height:8px !important;
        background:var(--bip-highlight) !important;
        border-radius:2px !important;
        transform:translateX(-50%) !important;
    }

    header.samies-uh
    .mg-top-clock-badge-final::after {
        content:"" !important;
        display:block !important;
        position:absolute !important;
        left:50% !important;
        top:12px !important;
        width:7px !important;
        height:2px !important;
        background:var(--bip-highlight) !important;
        border-radius:2px !important;
        transform-origin:left center !important;
        transform:rotate(0deg) !important;
    }

    header.samies-uh
    .mg-top-right-final
    a {
        white-space:nowrap !important;
    }
}

/* ===== MG layer:samies-mg-build006-r5-final-nav (whole) ===== */
/* ================================================================
   MAIN NAV — CANONICAL 24PX
   ================================================================ */

header.samies-uh
a.mg-final-nav-link,

header.samies-uh
#samies-uh-dropdown > a {

    font-size:24px !important;
    font-weight:700 !important;
    line-height:1.3 !important;

    color:var(--bip-highlight-text) !important;

    text-decoration:none !important;
    white-space:nowrap !important;
}


/* SERVICES PARENT */

header.samies-uh
#samies-uh-dropdown {

    position:relative !important;

    display:inline-flex !important;
    align-items:center !important;

    overflow:visible !important;
}


header.samies-uh
#samies-uh-dropdown > a {

    display:inline-flex !important;
    align-items:center !important;
}


/* ARROW */

header.samies-uh
#samies-uh-dropdown > a::after {

    content:"▾";

    margin-left:7px !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;

    color:var(--bip-highlight-text) !important;
}


/* ================================================================
   EXISTING FIVE WORDPRESS CHILDREN UNDER SERVICES
   ================================================================ */

header.samies-uh
#samies-uh-dropdown > .sub-menu {

    position:absolute !important;

    top:calc(100% + 8px) !important;
    left:0 !important;

    display:block !important;

    width:310px !important;
    min-width:310px !important;

    margin:0 !important;
    padding:7px 0 !important;

    list-style:none !important;

    background:rgba(3,10,19,.97) !important;

    border:1px solid rgba(251,196,28,.70) !important;
    border-top:3px solid var(--bip-highlight) !important;

    box-shadow:0 12px 28px rgba(0,0,0,.48) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    z-index:2147483000 !important;
}


header.samies-uh
#samies-uh-dropdown > .sub-menu::before {

    content:"";

    position:absolute;

    left:0;
    top:-11px;

    width:100%;
    height:11px;
}


header.samies-uh
#samies-uh-dropdown > .sub-menu > li {

    display:block !important;
    float:none !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;
}


header.samies-uh
#samies-uh-dropdown > .sub-menu > li > a {

    display:block !important;

    box-sizing:border-box !important;

    width:100% !important;

    margin:0 !important;
    padding:11px 16px !important;

    font-size:18px !important;
    font-weight:600 !important;
    line-height:1.25 !important;

    color:#ffffff !important;

    text-align:left !important;
    text-decoration:none !important;
    white-space:normal !important;
}


header.samies-uh
#samies-uh-dropdown:hover > .sub-menu,

header.samies-uh
#samies-uh-dropdown:focus-within > .sub-menu {

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}


header.samies-uh
#samies-uh-dropdown > .sub-menu > li > a:hover,

header.samies-uh
#samies-uh-dropdown > .sub-menu > li > a:focus {

    color:var(--bip-highlight-text) !important;
    background:rgba(251,196,28,.10) !important;
}


/* Prevent native dropdown clipping. */

header.samies-uh,
header.samies-uh nav,
header.samies-uh .menu {

    overflow:visible !important;
}

/* ===== MG layer:samies-mg-final-nav-36px (whole) ===== */
/* HOME / CONTACT / SERVICE AREAS / SERVICES */

header .mg-final-nav-link,
.site-header .mg-final-nav-link,

header nav > ul > li > a,
.site-header nav > ul > li > a,

header #samies-uh-dropdown > a,
.site-header #samies-uh-dropdown > a,

header #samies-uh-dropdown > a *,
.site-header #samies-uh-dropdown > a * {

    font-size:36px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
}


/* SERVICES DROPDOWN */

header #samies-uh-dropdown > .sub-menu > li > a,
.site-header #samies-uh-dropdown > .sub-menu > li > a {

    font-size:24px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
}


/* KEEP SERVICES ARROW SUBORDINATE */

header #samies-uh-dropdown > a::after,
.site-header #samies-uh-dropdown > a::after {

    font-size:12px !important;
    font-weight:700 !important;
}

/* ===== MG layer:samies-mg-services-menu-r1-css (whole) ===== */
/* ---------------------------------------------------------------
   SERVICES MAIN NAV LABEL
   Match visual weight of Home / Contact / Service Areas
   --------------------------------------------------------------- */

.site-header .samies-mg-services-trigger,
header .samies-mg-services-trigger {
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}


/* ---------------------------------------------------------------
   DROPDOWN OWNER
   Keep Services as the positioning parent
   --------------------------------------------------------------- */

.site-header .samies-mg-services-wrap,
header .samies-mg-services-wrap {
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    overflow:visible !important;
}


/* ---------------------------------------------------------------
   VERTICAL DROPDOWN
   One service per row — DOWN the page, not across it.
   --------------------------------------------------------------- */

.site-header .samies-mg-services-dropdown,
header .samies-mg-services-dropdown {
    position:absolute !important;

    top:100% !important;
    left:0 !important;
    right:auto !important;

    transform:none !important;

    display:block !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;

    width:340px !important;
    min-width:340px !important;
    max-width:min(340px, 92vw) !important;

    height:auto !important;
    max-height:72vh !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;

    margin:0 !important;
    padding:6px 0 !important;

    list-style:none !important;

    z-index:999999 !important;

    background:rgba(var(--bip-dark-rgb),.98) !important;
}


/* ---------------------------------------------------------------
   ELIMINATE HOVER GAP
   Dropdown physically touches Services trigger.
   --------------------------------------------------------------- */

.site-header .samies-mg-services-dropdown::before,
header .samies-mg-services-dropdown::before {
    content:"" !important;
    position:absolute !important;

    left:0 !important;
    right:0 !important;
    top:-8px !important;

    height:8px !important;
}


/* ---------------------------------------------------------------
   EACH SERVICE = ITS OWN VERTICAL ROW
   Defeat inherited header/nav flex rules.
   --------------------------------------------------------------- */

.site-header .samies-mg-services-dropdown > li,
header .samies-mg-services-dropdown > li {
    display:block !important;

    float:none !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    flex:none !important;

    list-style:none !important;
}


/* ---------------------------------------------------------------
   CLICKABLE LINK ROW
   --------------------------------------------------------------- */

.site-header .samies-mg-services-dropdown > li > a,
header .samies-mg-services-dropdown > li > a {
    display:block !important;

    width:100% !important;
    min-width:0 !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:10px 16px !important;

    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.25 !important;

    white-space:normal !important;

    text-align:left !important;
}


/* ---------------------------------------------------------------
   HOLD MENU OPEN WHILE POINTER MOVES INTO IT
   --------------------------------------------------------------- */

.site-header .samies-mg-services-wrap:hover
.samies-mg-services-dropdown,

header .samies-mg-services-wrap:hover
.samies-mg-services-dropdown,

.site-header .samies-mg-services-wrap:focus-within
.samies-mg-services-dropdown,

header .samies-mg-services-wrap:focus-within
.samies-mg-services-dropdown,

.site-header .samies-mg-services-wrap.samies-open
.samies-mg-services-dropdown,

header .samies-mg-services-wrap.samies-open
.samies-mg-services-dropdown {
    display:block !important;

    opacity:1 !important;
    visibility:visible !important;

    pointer-events:auto !important;
}


/* ---------------------------------------------------------------
   DESKTOP HEIGHT SAFETY
   --------------------------------------------------------------- */

@media (min-width:901px) {

    .site-header .samies-mg-services-dropdown,
    header .samies-mg-services-dropdown {
        top:100% !important;
        left:0 !important;
    }

}


/* ---------------------------------------------------------------
   MOBILE / NARROW SCREEN SAFETY
   --------------------------------------------------------------- */

@media (max-width:900px) {

    .site-header .samies-mg-services-dropdown,
    header .samies-mg-services-dropdown {
        left:0 !important;
        right:auto !important;

        width:min(340px, 88vw) !important;
        min-width:0 !important;
        max-width:88vw !important;
    }

}

/* ===== MG layer:samies-mg-services-r3-css (whole) ===== */
/*
 * PRIMARY NAV TYPOGRAPHY
 *
 * Do NOT specify a font size here.
 * Services already owns mg-final-nav-link from canonical header.
 * Neutralize BUILD 002-R1's guessed 18px declaration.
 */
header .samies-mg-services-trigger,
.site-header .samies-mg-services-trigger {
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}


/*
 * BODY-LEVEL DROPDOWN.
 *
 * Fixed positioning removes the panel completely from the header's
 * UL/LI/flex/overflow geometry.
 */
body > .samies-mg-services-dropdown.samies-mg-services-r3 {
    position:fixed !important;

    display:block !important;

    width:340px !important;
    min-width:340px !important;
    max-width:calc(100vw - 24px) !important;

    height:auto !important;
    max-height:calc(100vh - 24px) !important;

    margin:0 !important;
    padding:6px 0 !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;

    list-style:none !important;

    background:rgba(var(--bip-dark-rgb),.98) !important;
    border:1px solid rgba(244,189,25,.55) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.45) !important;

    z-index:2147483646 !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:none !important;
}


/* Every service gets a real independent vertical row. */
body > .samies-mg-services-dropdown.samies-mg-services-r3 > li {
    position:static !important;

    display:block !important;
    float:none !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;

    opacity:1 !important;
    visibility:visible !important;

    transform:none !important;

    flex:none !important;
}


/* Each entire row is clickable. */
body > .samies-mg-services-dropdown.samies-mg-services-r3 > li > a {
    position:static !important;

    display:block !important;

    width:100% !important;
    height:auto !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:10px 16px !important;

    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.25 !important;

    text-align:left !important;
    white-space:normal !important;
    text-decoration:none !important;

    opacity:1 !important;
    visibility:visible !important;
}


/* Runtime open state. */
body > .samies-mg-services-dropdown.samies-mg-services-r3.samies-r3-open {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/* ===== MG layer:samies-mg-live-responsive-build003 (whole) ===== */
/* =====================================================================
   SAMIES MG LIVE RESPONSIVE AUTHORITY — BUILD 003

   IMPORTANT:
   There are intentionally NO >=1025px presentation rules here.

   Existing desktop GOLD remains untouched.
   ===================================================================== */


/* =====================================================================
   UNIVERSAL TABLET + MOBILE SAFETY
   <= 1024px

   Retires desktop-only fixed/absolute logo footprint and allows the
   actual header to determine its own responsive height.
   ===================================================================== */

@media (max-width: 1024px) {

    html,
    body {
        max-width:100%;
        overflow-x:clip;
    }

    header.samies-uh,
    .mg-live-header {
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    /*
     * LOGO
     *
     * Neutralize the desktop absolute 480/720px authorities.
     * Keep the real MG logo and its natural aspect ratio.
     */
    header.samies-uh img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        position:relative !important;
        inset:auto !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;

        width:clamp(190px, 30vw, 300px) !important;
        max-width:100% !important;
        height:auto !important;
        max-height:none !important;

        margin:0 auto !important;

        transform:none !important;
        transform-origin:center center !important;

        object-fit:contain !important;
    }

    /*
     * NAV
     *
     * Override the historical unscoped final 36px authority only below
     * desktop. WordPress menu structure remains untouched.
     */
    header.samies-uh .mg-final-nav-link,
    header.samies-uh nav > ul > li > a,
    header.samies-uh #samies-uh-dropdown > a,
    header.samies-uh #samies-uh-dropdown > a *,
    .site-header .mg-final-nav-link,
    .site-header nav > ul > li > a,
    .site-header #samies-uh-dropdown > a,
    .site-header #samies-uh-dropdown > a * {
        font-size:clamp(17px, 2.15vw, 23px) !important;
        line-height:1.2 !important;
    }

    /*
     * SERVICES DROPDOWN
     */
    header.samies-uh
    #samies-uh-dropdown > .sub-menu {
        box-sizing:border-box !important;
        width:min(310px, calc(100vw - 32px)) !important;
        min-width:0 !important;
        max-width:calc(100vw - 32px) !important;
    }

    header.samies-uh
    #samies-uh-dropdown > .sub-menu > li > a,
    .site-header
    #samies-uh-dropdown > .sub-menu > li > a {
        font-size:clamp(16px, 2vw, 20px) !important;
        white-space:normal !important;
    }

    /*
     * HEADER ROW SAFETY
     */
    header.samies-uh nav,
    header.samies-uh nav > ul,
    .mg-primary-nav,
    .mg-primary-nav ul {
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .mg-primary-nav ul {
        flex-wrap:wrap !important;
    }

    /*
     * HERO CONTRACT
     *
     * Do NOT create a second hard-coded hero offset here.
     * bip-mg-unified-header-hero.php remains responsible for identifying
     * the live header/hero and measuring the header clearance.
     */
}


/* =====================================================================
   TABLET
   768px - 1024px
   ===================================================================== */

@media (min-width:768px) and (max-width: 1024px) {

    .mg-live-header .mg-header-primary-zone {
        width:min(calc(100% - 40px), var(--mg-header-max)) !important;

        grid-template-columns:minmax(190px, 28%)
            minmax(0, 1fr) !important;

        grid-template-areas:"logo quote"
            "nav nav" !important;

        column-gap:clamp(14px, 2vw, 26px) !important;
        row-gap:10px !important;
    }

    .mg-header-logo {
        min-width:0 !important;
    }

    .mg-header-quote {
        justify-self:end !important;
        max-width:100% !important;
    }

    .mg-primary-nav {
        width:100% !important;
        min-width:0 !important;
    }

    .mg-primary-nav ul {
        justify-content:center !important;
        gap:8px clamp(12px, 2vw, 24px) !important;
    }

    /*
     * Top utility strip may wrap on narrower tablets rather than
     * escaping the viewport.
     */
    header.samies-uh
    .mg-final-top-strip {
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }
}


/* =====================================================================
   MOBILE
   <= 767px
   ===================================================================== */

@media (max-width:767px) {

    /*
     * Replace desktop nowrap assumptions with a deliberate mobile flow.
     */
    header.samies-uh
    .mg-final-top-strip {
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;

        gap:7px !important;
        padding-left:14px !important;
        padding-right:14px !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    .mg-top-single-line-left,
    header.samies-uh
    .mg-top-single-line-right,
    header.samies-uh
    .mg-top-right-final {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;

        margin-left:0 !important;
        margin-right:0 !important;

        white-space:normal !important;
        text-align:center !important;
    }

    header.samies-uh
    .mg-top-right-final a,
    header.samies-uh
    .mg-top-hours-inline {
        white-space:normal !important;
    }

    /*
     * Main responsive header.
     */
    .mg-live-header .mg-header-primary-zone {
        display:grid !important;

        width:min(calc(100% - 28px), var(--mg-header-max)) !important;

        grid-template-columns:minmax(0, 1fr)
            auto !important;

        grid-template-areas:"logo quote"
            "nav nav" !important;

        align-items:center !important;

        column-gap:10px !important;
        row-gap:10px !important;
    }

    /*
     * Override unified-header's <=600 104px logo rule while remaining
     * fluid on very narrow screens.
     */
    header.samies-uh img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        width:clamp(150px, 42vw, 205px) !important;
        max-width:100% !important;
        max-height:none !important;
    }

    .mg-header-logo {
        grid-area:logo !important;
        min-width:0 !important;
    }

    .mg-header-quote {
        grid-area:quote !important;
        justify-self:end !important;

        min-width:0 !important;
        max-width:100% !important;

        padding:9px 11px !important;

        font-size:clamp(11px, 3vw, 14px) !important;
        line-height:1.15 !important;

        white-space:nowrap !important;
    }

    .mg-primary-nav {
        grid-area:nav !important;
        width:100% !important;
        min-width:0 !important;
    }

    .mg-primary-nav ul {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        align-items:center !important;

        width:100% !important;

        gap:7px 14px !important;

        margin-left:0 !important;
        margin-right:0 !important;
    }

    /*
     * Defeat the unscoped historical 36px footer authority and the
     * unified-header <=600 13px authority with a readable fluid value.
     */
    header.samies-uh .mg-final-nav-link,
    header.samies-uh nav > ul > li > a,
    header.samies-uh #samies-uh-dropdown > a,
    header.samies-uh #samies-uh-dropdown > a *,
    .site-header .mg-final-nav-link,
    .site-header nav > ul > li > a,
    .site-header #samies-uh-dropdown > a,
    .site-header #samies-uh-dropdown > a * {
        font-size:clamp(14px, 3.6vw, 18px) !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }

    /*
     * Mobile Services dropdown stays inside viewport.
     */
    header.samies-uh
    #samies-uh-dropdown > .sub-menu {
        left:50% !important;
        right:auto !important;

        width:min(310px, calc(100vw - 28px)) !important;
        min-width:0 !important;
        max-width:calc(100vw - 28px) !important;

        transform:translateX(-50%) !important;
    }

    header.samies-uh
    #samies-uh-dropdown > .sub-menu > li > a,
    .site-header
    #samies-uh-dropdown > .sub-menu > li > a {
        font-size:clamp(15px, 4vw, 18px) !important;
        white-space:normal !important;
    }
}


/* =====================================================================
   VERY NARROW MOBILE
   <= 430px
   ===================================================================== */

@media (max-width:430px) {

    .mg-live-header .mg-header-primary-zone {
        width:calc(100% - 20px) !important;

        grid-template-columns:minmax(0, 1fr)
            auto !important;

        column-gap:7px !important;
    }

    header.samies-uh img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        width:clamp(138px, 40vw, 175px) !important;
    }

    .mg-header-quote {
        padding:8px 9px !important;
        font-size:clamp(10px, 2.8vw, 12px) !important;
    }

    .mg-primary-nav ul {
        gap:6px 10px !important;
    }

    header.samies-uh .mg-final-nav-link,
    header.samies-uh nav > ul > li > a,
    header.samies-uh #samies-uh-dropdown > a,
    header.samies-uh #samies-uh-dropdown > a *,
    .site-header .mg-final-nav-link,
    .site-header nav > ul > li > a,
    .site-header #samies-uh-dropdown > a,
    .site-header #samies-uh-dropdown > a * {
        font-size:clamp(13px, 3.45vw, 15px) !important;
    }
}


/* =====================================================================
   EXTREME NARROW SAFETY
   <= 360px
   ===================================================================== */

@media (max-width:360px) {

    /*
     * At extreme width stack logo and CTA rather than allowing collision.
     */
    .mg-live-header .mg-header-primary-zone {
        grid-template-columns:1fr !important;

        grid-template-areas:"logo"
            "quote"
            "nav" !important;
    }

    .mg-header-logo,
    .mg-header-quote {
        justify-self:center !important;
    }

    header.samies-uh img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        width:min(190px, 72vw) !important;
    }

    .mg-primary-nav ul {
        gap:6px 9px !important;
    }
}

/* ===== MG layer:samies-mg-smartphone-final-build003-r9 (whole) ===== */
@media (max-width: 767px) {

    /*
     * ---------------------------------------------------------------
     * SMARTPHONE HEADER CONTAINMENT
     * ---------------------------------------------------------------
     */

    header.samies-uh,
    .site-header,
    .mg-live-header {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        box-sizing:border-box !important;

        overflow-x:clip !important;
    }


    /*
     * ---------------------------------------------------------------
     * UTILITY STRIP
     *
     * Compact the existing utility information rather than allowing
     * desktop nowrap assumptions to widen the phone viewport.
     * ---------------------------------------------------------------
     */

    header.samies-uh .mg-final-top-strip,
    .site-header .mg-final-top-strip {
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;

        padding:6px 10px !important;
        gap:4px !important;

        box-sizing:border-box !important;

        white-space:normal !important;
        text-align:center !important;
    }

    header.samies-uh .mg-top-single-line-left,
    header.samies-uh .mg-top-single-line-right,
    header.samies-uh .mg-top-right-final,
    .site-header .mg-top-single-line-left,
    .site-header .mg-top-single-line-right,
    .site-header .mg-top-right-final {
        width:100% !important;
        max-width:100% !important;

        display:flex !important;
        flex-wrap:wrap !important;

        align-items:center !important;
        justify-content:center !important;

        gap:3px 8px !important;

        margin:0 !important;

        white-space:normal !important;
        text-align:center !important;
    }


    /*
     * ---------------------------------------------------------------
     * PRIMARY HEADER
     *
     * Smartphone presentation is deliberately one column.
     *
     * This retires the desktop/tablet:*
     *     logo | quote
     *     nav  | nav
     *
     * arrangement below 768px.
     * ---------------------------------------------------------------
     */

    .mg-live-header .mg-header-primary-zone {
        display:grid !important;

        grid-template-columns:minmax(0, 1fr) !important;

        grid-template-areas:"logo"
            "quote"
            "nav" !important;

        width:calc(100% - 24px) !important;
        max-width:100% !important;
        min-width:0 !important;

        margin-left:auto !important;
        margin-right:auto !important;

        column-gap:0 !important;
        row-gap:8px !important;

        align-items:center !important;
        justify-items:center !important;

        box-sizing:border-box !important;
    }


    /*
     * ---------------------------------------------------------------
     * MG LOGO / BRAND
     *
     * Defeat historical desktop 360/480/720px authorities and the
     * unified-header <=600 104px rule.
     *
     * Keep the actual MG logo asset and natural aspect ratio.
     * ---------------------------------------------------------------
     */

    .mg-header-logo {
        grid-area:logo !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;
        padding:0 !important;
    }

    header.samies-uh img.bip-client-logo,
    .site-header img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        position:relative !important;

        inset:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;

        display:block !important;

        width:min(220px, 62vw) !important;
        max-width:min(220px, 62vw) !important;
        min-width:0 !important;

        height:auto !important;
        max-height:none !important;

        margin:0 auto !important;

        transform:none !important;
        transform-origin:center center !important;

        object-fit:contain !important;
    }


    /*
     * ---------------------------------------------------------------
     * GET A QUOTE
     * ---------------------------------------------------------------
     */

    .mg-header-quote {
        grid-area:quote !important;

        justify-self:center !important;

        width:auto !important;
        max-width:calc(100vw - 36px) !important;
        min-width:0 !important;

        margin:0 auto !important;
        padding:8px 14px !important;

        font-size:clamp(12px, 3.5vw, 15px) !important;
        line-height:1.15 !important;

        white-space:nowrap !important;

        box-sizing:border-box !important;
    }


    /*
     * ---------------------------------------------------------------
     * SMARTPHONE NAVIGATION
     *
     * IMPORTANT:* Do NOT replace the WordPress menu.
     * Do NOT alter menu URLs.
     *
     * Only retire the desktop horizontal presentation and place the
     * existing menu into a compact smartphone vertical presentation.
     * ---------------------------------------------------------------
     */

    .mg-primary-nav {
        grid-area:nav !important;

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    .mg-primary-nav > ul,
    .mg-primary-nav ul.menu,
    header.samies-uh nav > ul,
    .site-header nav > ul {
        display:flex !important;

        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        gap:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    .mg-primary-nav > ul > li,
    .mg-primary-nav ul.menu > li,
    header.samies-uh nav > ul > li,
    .site-header nav > ul > li {
        position:relative !important;

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;

        text-align:center !important;
    }

    header.samies-uh .mg-final-nav-link,
    header.samies-uh nav > ul > li > a,
    header.samies-uh #samies-uh-dropdown > a,
    header.samies-uh #samies-uh-dropdown > a *,
    .site-header .mg-final-nav-link,
    .site-header nav > ul > li > a,
    .site-header #samies-uh-dropdown > a,
    .site-header #samies-uh-dropdown > a * {
        display:block !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;
        padding:7px 8px !important;

        box-sizing:border-box !important;

        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.15 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }


    /*
     * ---------------------------------------------------------------
     * SERVICES SUBMENU
     *
     * Existing submenu remains the existing WordPress menu.
     * On smartphone it becomes an in-flow child instead of an
     * off-canvas desktop dropdown.
     * ---------------------------------------------------------------
     */

    header.samies-uh #samies-uh-dropdown > .sub-menu,
    .site-header #samies-uh-dropdown > .sub-menu {
        position:static !important;

        left:auto !important;
        right:auto !important;
        top:auto !important;

        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;

        margin:0 !important;
        padding:0 !important;

        transform:none !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    #samies-uh-dropdown > .sub-menu > li > a,
    .site-header
    #samies-uh-dropdown > .sub-menu > li > a {
        width:100% !important;
        max-width:100% !important;

        padding:6px 10px !important;

        box-sizing:border-box !important;

        font-size:clamp(13px, 3.7vw, 16px) !important;
        line-height:1.2 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }
}


/*
 * ---------------------------------------------------------------
 * VERY NARROW PHONE
 * <= 430px
 * ---------------------------------------------------------------
 */

@media (max-width:430px) {

    .mg-live-header .mg-header-primary-zone {
        width:calc(100% - 18px) !important;
    }

    header.samies-uh img.bip-client-logo,
    .site-header img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        width:min(195px, 62vw) !important;
        max-width:min(195px, 62vw) !important;
    }

    .mg-header-quote {
        padding:7px 12px !important;
        font-size:clamp(11px, 3.4vw, 14px) !important;
    }
}


/*
 * ---------------------------------------------------------------
 * EXTREME NARROW PHONE
 * <= 360px
 * ---------------------------------------------------------------
 */

@media (max-width:360px) {

    header.samies-uh img.bip-client-logo,
    .site-header img.bip-client-logo,
    .mg-live-header img.bip-client-logo,
    img.bip-client-logo {
        width:min(180px, 66vw) !important;
        max-width:min(180px, 66vw) !important;
    }

    header.samies-uh .mg-final-nav-link,
    header.samies-uh nav > ul > li > a,
    .site-header .mg-final-nav-link,
    .site-header nav > ul > li > a {
        font-size:14px !important;
    }
}

/* ===== MG layer:samies-mg-live-mobile-header-build003-r10 (whole) ===== */
@media (max-width: 767px) {

    /*
     * ---------------------------------------------------------------
     * OUTER HEADER / BIP HEADER CONTAINMENT
     * ---------------------------------------------------------------
     */

    header.samies-uh,
    header.samies-uh .bip-universal-header,
    header.samies-uh
        .bip-universal-header
        > .wp-block-group__inner-container {

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        box-sizing:border-box !important;

        overflow-x:clip !important;
    }


    /*
     * ---------------------------------------------------------------
     * UTILITY ROW
     *
     * Preserve all existing utility content and phone truth.
     * Only normalize smartphone presentation.
     * ---------------------------------------------------------------
     */

    header.samies-uh
    .bip-universal-utility-row {

        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:7px 10px !important;

        gap:5px !important;

        box-sizing:border-box !important;

        text-align:center !important;
        white-space:normal !important;
    }

    header.samies-uh
    .bip-universal-utility-row > * {

        max-width:100% !important;
        min-width:0 !important;

        margin-left:auto !important;
        margin-right:auto !important;

        box-sizing:border-box !important;

        white-space:normal !important;
        text-align:center !important;
    }

    header.samies-uh
    .bip-universal-utility-row a {

        white-space:normal !important;
    }


    /*
     * ---------------------------------------------------------------
     * PROVEN MAIN ROW
     *
     * Defeat native is-nowrap horizontal layout on smartphone.
     * ---------------------------------------------------------------
     */

    header.samies-uh
    .bip-universal-main-row {

        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        width:calc(100% - 20px) !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 auto !important;
        padding:8px 0 10px !important;

        gap:8px !important;

        box-sizing:border-box !important;

        overflow:visible !important;
    }


    /*
     * ---------------------------------------------------------------
     * BRAND / LOGO
     * ---------------------------------------------------------------
     */

    header.samies-uh
    .bip-universal-brand {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    .bip-universal-brand
    > .wp-block-group__inner-container {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        position:relative !important;

        inset:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;

        display:block !important;

        width:min(220px, 62vw) !important;
        max-width:min(220px, 62vw) !important;
        min-width:0 !important;

        height:auto !important;
        max-height:none !important;

        margin:0 auto !important;
        padding:0 !important;

        transform:none !important;
        transform-origin:center center !important;

        object-fit:contain !important;
    }


    /*
     * ---------------------------------------------------------------
     * PROVEN NAVIGATION WRAPPERS
     * ---------------------------------------------------------------
     */

    header.samies-uh
    .bip-universal-primary-navigation,

    header.samies-uh
    .bip-universal-primary-navigation
    > .wp-block-group__inner-container,

    header.samies-uh
    nav.bip-client-navigation {

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;

        overflow:visible !important;
    }


    /*
     * ---------------------------------------------------------------
     * ACTUAL LIVE WORDPRESS MENU
     * ---------------------------------------------------------------
     */

    header.samies-uh
    ul#bip-client-primary-menu.bip-client-menu {

        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        gap:0 !important;

        list-style:none !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    ul#bip-client-primary-menu.bip-client-menu
    > li {

        position:relative !important;

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;

        text-align:center !important;
    }

    header.samies-uh
    ul#bip-client-primary-menu.bip-client-menu
    > li
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;
        padding:7px 8px !important;

        box-sizing:border-box !important;

        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.18 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }


    /*
     * ---------------------------------------------------------------
     * SERVICES — PROVEN #samies-uh-dropdown
     *
     * R9-R2 proved:*   #samies-uh-dropdown
     *   #samies-uh-dropdown > a
     *   #samies-uh-dropdown > .sub-menu
     *
     * No hamburger/mobile toggle exists.
     * Therefore expose existing submenu in normal document flow.
     * ---------------------------------------------------------------
     */

    header.samies-uh
    #samies-uh-dropdown {

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        overflow:visible !important;
    }

    header.samies-uh
    #samies-uh-dropdown
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;

        white-space:normal !important;

        text-align:center !important;
    }

    header.samies-uh
    #samies-uh-dropdown
    > a::after {

        position:static !important;

        display:inline !important;

        margin-left:6px !important;

        transform:none !important;
    }

    header.samies-uh
    #samies-uh-dropdown
    > .sub-menu {

        position:static !important;

        inset:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;

        display:block !important;

        visibility:visible !important;
        opacity:1 !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        transform:none !important;

        box-sizing:border-box !important;

        overflow:visible !important;
    }

    header.samies-uh
    #samies-uh-dropdown
    > .sub-menu
    > li {

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    #samies-uh-dropdown
    > .sub-menu
    > li
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;
        padding:6px 10px !important;

        box-sizing:border-box !important;

        font-size:clamp(13px, 3.7vw, 16px) !important;
        line-height:1.2 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }


    /*
     * ---------------------------------------------------------------
     * CTA — PROVEN LIVE OWNER
     * ---------------------------------------------------------------
     */

    header.samies-uh
    .bip-universal-primary-cta {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    .bip-universal-primary-cta
    > .wp-block-group__inner-container {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        box-sizing:border-box !important;
    }

    header.samies-uh
    a.bip-primary-cta.mg-final-quote {

        display:inline-flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:auto !important;
        max-width:calc(100vw - 40px) !important;
        min-width:0 !important;

        margin:0 auto !important;
        padding:8px 14px !important;

        box-sizing:border-box !important;

        font-size:clamp(12px, 3.5vw, 15px) !important;
        line-height:1.15 !important;

        white-space:nowrap !important;
    }
}


/*
 * ---------------------------------------------------------------
 * VERY NARROW SMARTPHONE
 * ---------------------------------------------------------------
 */

@media (max-width:430px) {

    header.samies-uh
    .bip-universal-main-row {

        width:calc(100% - 16px) !important;
    }

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        width:min(195px, 62vw) !important;
        max-width:min(195px, 62vw) !important;
    }
}


@media (max-width:360px) {

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        width:min(180px, 66vw) !important;
        max-width:min(180px, 66vw) !important;
    }

    header.samies-uh
    ul#bip-client-primary-menu.bip-client-menu
    > li
    > a {

        font-size:14px !important;
    }
}

/* ===== MG layer:samies-mg-live-mobile-header-build003-r11-r2 (whole) ===== */
@media (max-width: 767px) {

    /*
     * HEADER CONTAINMENT
     */
    header.samies-uh,
    header.samies-uh .bip-universal-header,
    header.samies-uh
        .bip-universal-header
        > .wp-block-group__inner-container {

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        box-sizing:border-box !important;
        overflow-x:clip !important;
    }


    /*
     * MAIN GOLD ROW:* desktop horizontal geometry -> smartphone vertical geometry
     */
    header.samies-uh
    .bip-universal-main-row {

        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        width:calc(100% - 16px) !important;
        max-width:calc(100% - 16px) !important;
        min-width:0 !important;

        margin:0 auto !important;
        padding:8px 0 10px !important;

        gap:8px !important;

        box-sizing:border-box !important;
        overflow:visible !important;
    }


    /*
     * REAL MG LOGO
     */
    header.samies-uh
    .bip-universal-brand {

        display:flex !important;
        position:relative !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;
    }

    header.samies-uh
    .bip-universal-brand
    > .wp-block-group__inner-container {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;
    }

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        display:block !important;
        position:relative !important;

        inset:auto !important;

        width:min(210px, 56vw) !important;
        max-width:min(210px, 56vw) !important;
        min-width:0 !important;

        height:auto !important;
        max-height:none !important;

        margin:0 auto !important;
        padding:0 !important;

        transform:none !important;

        object-fit:contain !important;
        object-position:center !important;
    }


    /*
     * NAV WRAPPERS
     */
    header.samies-uh
    .bip-universal-primary-navigation,

    header.samies-uh
    .bip-universal-primary-navigation
    > .wp-block-group__inner-container,

    header.samies-uh
    nav.bip-client-navigation {

        display:block !important;
        position:relative !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        overflow:visible !important;
        box-sizing:border-box !important;
    }


    /*
     * ACTUAL LIVE PRIMARY MENU
     */
    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu {

        display:flex !important;

        flex-direction:column !important;
        flex-wrap:nowrap !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        position:relative !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        gap:0 !important;

        list-style:none !important;
        box-sizing:border-box !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li {

        display:block !important;
        position:relative !important;

        float:none !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        text-align:center !important;
        box-sizing:border-box !important;
    }


    /*
     * PRIMARY NAV TYPOGRAPHY
     *
     * Deliberately higher specificity than the active
     * unconditional 36px !important authority.
     */
    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:7px 8px !important;

        box-sizing:border-box !important;

        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.18 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }


    /*
     * SERVICES:* no proven mobile toggle exists, so submenu stays in document flow.
     */
    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown {

        display:block !important;
        position:relative !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        overflow:visible !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;

        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.18 !important;

        white-space:normal !important;

        text-align:center !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown
    > a::after {

        position:static !important;
        display:inline !important;

        margin-left:6px !important;

        transform:none !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown
    > .sub-menu {

        display:block !important;
        position:static !important;

        inset:auto !important;

        visibility:visible !important;
        opacity:1 !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;

        transform:none !important;

        overflow:visible !important;
        box-sizing:border-box !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown
    > .sub-menu
    > li {

        display:block !important;
        position:relative !important;

        float:none !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;
    }


    /*
     * Defeat active unconditional 24px !important submenu authority.
     */
    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li#samies-uh-dropdown
    > .sub-menu
    > li
    > a {

        display:block !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;
        padding:6px 10px !important;

        box-sizing:border-box !important;

        font-size:clamp(13px, 3.7vw, 16px) !important;
        line-height:1.2 !important;

        white-space:normal !important;
        overflow-wrap:anywhere !important;

        text-align:center !important;
    }


    /*
     * QUOTE CTA
     */
    header.samies-uh
    .bip-universal-primary-cta,

    header.samies-uh
    .bip-universal-primary-cta
    > .wp-block-group__inner-container {

        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:0 !important;
    }

    header.samies-uh
    a.bip-primary-cta.mg-final-quote {

        display:inline-flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:auto !important;
        max-width:calc(100vw - 40px) !important;
        min-width:0 !important;
        min-height:0 !important;

        margin:0 auto !important;
        padding:8px 14px !important;

        box-sizing:border-box !important;

        font-size:clamp(12px, 3.5vw, 15px) !important;
        line-height:1.15 !important;

        white-space:nowrap !important;
    }
}


/*
 * NARROW SMARTPHONE
 */
@media (max-width:430px) {

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        width:min(195px, 58vw) !important;
        max-width:min(195px, 58vw) !important;
    }
}


@media (max-width:360px) {

    header.samies-uh
    .bip-universal-brand
    img.bip-client-logo {

        width:min(180px, 60vw) !important;
        max-width:min(180px, 60vw) !important;
    }

    header.samies-uh
    nav.bip-client-navigation
    ul#bip-client-primary-menu.bip-client-menu
    > li
    > a {

        font-size:14px !important;
    }
}


/* MG_R18_PHONE_HEADER_INFLOW:Kadence transparent header collapses to height:0 and the
   799px BIP header overlays the hero. On phones, give the header its
   natural height so the hero starts below it. */
@media (max-width: 767px) {
    header.samies-uh.wp-block-kadence-header.header-mobile-transparent,
    header.samies-uh.wp-block-kadence-header.header-tablet-transparent {
        height:auto !important;
        min-height:0 !important;
        position:relative !important;
    }
}

/* AR-FOOTER-PHONE-CENTER-001 (universal): on phones the footer's brand, services/service-areas
   and contact columns are centred (logo, headings, lists, badges and social icons). Desktop unchanged. */
@media (max-width:767px) {
    html body .site-footer .bip-native-footer-brand,
    html body .site-footer .bip-native-footer-description,
    html body .site-footer .bip-native-footer-information,
    html body .site-footer .bip-native-footer-contact,
    html body .site-footer .bip-native-footer-information li,
    html body .site-footer .bip-native-footer-contact li,
    html body .site-footer .bip-native-universal-footer .bip-native-footer-grid h3 {
        text-align:center !important;
    }
    html body .site-footer .bip-native-footer-information ul,
    html body .site-footer .bip-native-footer-contact ul {
        margin-left:0 !important;
        padding-left:0 !important;
    }
    html body .site-footer .bip-native-footer-brand img,
    html body .site-footer .bip-client-footer-logo {
        display:block !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
    html body .site-footer .bip-native-footer-grid .bip-directory-badges,
    html body .site-footer .bip-native-footer-grid .bip-footer-social,
    html body .site-footer .bip-native-footer-grid [class*="social"] {
        justify-content:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}


/* AR-HEADER-UTILITY-SIZE-001 (universal): desktop only — larger top-strip links (About Us | Local & Trusted | Reviews)
   and larger social icons to match. The header is drawn at zoom .7, so these values appear at 70%:
   links ~16px, icon circles ~30px, symbols ~18px on screen. Phones and tablets unchanged. */
@media (min-width:1025px) {
    html body .bip-universal-header-native .bip-header-utility-links a {
        font-size:23px !important;
    }
    html body .bip-universal-header-native .bip-header-utility-links .bip-divider {
        font-size:20px !important;
        margin-left:12px !important;
        margin-right:12px !important;
    }
    html body .bip-universal-header-native .bip-social-badges {
        gap:16px !important;
        margin-left:26px !important;
    }
    html body .bip-universal-header-native .bip-social-badge {
        width:43px !important;
        height:43px !important;
    }
    html body .bip-universal-header-native .bip-social-badge svg {
        width:26px !important;
        height:26px !important;
    }
}
