/* ===== Shared phone header menu + gallery carousel (extras/_mnav, opt-in). Phones/tablets only (<900px). ===== */
.mnav-actions,.mnav-panel,.mnav-dim,.mnav-gctl{display:none}
@media(max-width:899px){
 /* header: brand left, [menu][call icon] right; the site's own header call/text buttons step aside on phones */
 header.mnav-on .top-in{flex-wrap:nowrap}
 header.mnav-on .top-in>.brand{min-width:0;flex:0 1 auto;margin-right:auto}
 header.mnav-on .top-in a[href^="tel:"]:not(.mnav-call),header.mnav-on .top-in a[href^="sms:"],header.mnav-on .top-in .btn-call{display:none!important}
 .mnav-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto;order:99}
 .mnav-btn,.mnav-call{box-sizing:border-box;display:inline-grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;flex:none;-webkit-tap-highlight-color:transparent}
 .mnav-btn{gap:4px;place-content:center;border:1px solid color-mix(in srgb,var(--mnav-ink) 26%,transparent);border-radius:var(--mnav-rad,12px);background:transparent;cursor:pointer;color:var(--mnav-ink)}
 .mnav-btn span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
 .mnav-open .mnav-btn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .mnav-open .mnav-btn span:nth-child(2){opacity:0}
 .mnav-open .mnav-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .mnav-call{border-radius:var(--mnav-rad,50%);background:var(--mnav-call);color:var(--mnav-call-ink)!important;text-decoration:none;box-shadow:0 4px 14px -6px color-mix(in srgb,var(--mnav-call) 70%,transparent)}
 .mnav-call svg{width:20px;height:20px}
 .mnav-btn:focus-visible,.mnav-call:focus-visible{outline:3px solid var(--mnav-call);outline-offset:2px}
 /* drop-down panel (fixed under the header, above sticky bars) */
 .mnav-dim:not([hidden]){display:block;position:fixed;left:0;right:0;bottom:0;z-index:998;background:rgba(0,0,0,.38)}
 .mnav-panel:not([hidden]){display:block;position:fixed;left:0;right:0;z-index:999;overflow-y:auto;overscroll-behavior:contain;padding:6px 16px 18px;background:var(--mnav-bg);color:var(--mnav-ink);font-family:var(--mnav-font);border-bottom:1px solid color-mix(in srgb,var(--mnav-ink) 14%,transparent);box-shadow:0 22px 40px -18px rgba(0,0,0,.55);animation:mnav-in .18s ease-out}
 @keyframes mnav-in{from{opacity:0;transform:translateY(-6px)}}
 .mnav-panel .mnav-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:0;padding:0 4px;border:0;border-bottom:1px solid color-mix(in srgb,var(--mnav-ink) 13%,transparent);border-radius:0;background:none;color:var(--mnav-ink)!important;font:600 1.05rem/1.2 var(--mnav-font);letter-spacing:normal;text-transform:none;text-align:left;text-decoration:none;cursor:pointer}
 .mnav-panel .mnav-row:hover,.mnav-panel .mnav-sub a:hover{color:var(--mnav-call)}
 .mnav-chev{width:16px;height:16px;flex:none;transition:transform .15s}
 .mnav-gbtn[aria-expanded=true] .mnav-chev{transform:rotate(180deg)}
 .mnav-sub{padding:4px 0 8px 12px;border-bottom:1px solid color-mix(in srgb,var(--mnav-ink) 13%,transparent)}
 .mnav-sub[hidden]{display:none}
 .mnav-panel .mnav-sub a{display:flex;align-items:center;min-height:44px;padding:0 4px;color:color-mix(in srgb,var(--mnav-ink) 78%,transparent)!important;font:500 1rem/1.25 var(--mnav-font);text-decoration:none}
 .mnav-panel .mnav-sub a[aria-current=page]{color:var(--mnav-ink)!important;font-weight:700}
 .mnav-cta{display:grid;gap:10px;margin-top:16px}
 .mnav-panel .mnav-quote,.mnav-panel .mnav-callrow{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:min(var(--mnav-rad,12px),14px);font:700 1rem/1 var(--mnav-font);text-decoration:none}
 .mnav-panel .mnav-callrow{background:var(--mnav-call);color:var(--mnav-call-ink)!important}
 .mnav-panel .mnav-callrow svg{width:18px;height:18px}
 .mnav-panel .mnav-quote{border:1.5px solid color-mix(in srgb,var(--mnav-ink) 35%,transparent);color:var(--mnav-ink)!important}
 /* Resolve B's own header: call goes to the top-right corner, Services group in its menu */
 .mnav-rph .top.rph .rph-end .rph-call{order:2}
 .mnav-rph .rph-menu .mnav-gbtn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 4px;border:0;background:none;color:#e6f4fc;font-family:inherit;font-size:1.05rem;font-weight:600;line-height:1.2;cursor:pointer}
 .mnav-rph .rph-menu .mnav-rph-grp ul{padding:0 0 8px 12px!important}
 .mnav-rph .rph-menu .mnav-rph-grp ul[hidden]{display:none}
 .mnav-rph .rph-menu .mnav-rph-grp li{border:0!important}
 .mnav-rph .rph-menu .mnav-rph-grp li a{min-height:44px!important;font-weight:500!important;font-size:1rem!important;color:#b9d7ea!important}

 /* gallery: one photo + a peek of the next, snap, arrows + counter */
 .mnav-gal{scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .mnav-gal::-webkit-scrollbar{display:none}
 .mnav-gal>*{scroll-snap-align:center}
 .mnav-gal.mnav-rail{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden;column-count:auto!important;grid-template-columns:none!important;padding-bottom:4px}
 .mnav-gal.mnav-rail>*,.mnav-gal.mnav-fit>*{flex:0 0 84%!important;width:84%!important;max-width:none!important;margin:0!important;break-inside:auto}
 .mnav-gal.mnav-fit img{width:100%!important;max-width:100%!important;aspect-ratio:4/3;object-fit:cover;height:auto!important}
 .mnav-gctl{display:flex;align-items:center;justify-content:center;gap:18px;margin:16px auto 0}
 .mnav-garr{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;opacity:.85}
 .mnav-garr svg{width:20px;height:20px}
 .mnav-garr:active{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}
 .mnav-gcount{min-width:64px;text-align:center;font-variant-numeric:tabular-nums;font-size:.95rem;opacity:.85}
 .mnav-gcount b{font-weight:700}
}
