﻿/* Approved r05 scene; all company details stay in the shared PHP footer. */
.bm-footer.bm-momo-footer{position:relative;isolation:isolate;width:100%;max-width:none;margin:0;padding:0;overflow:hidden;background:#091d29;color:#f0f5f7;min-height:clamp(560px,33.333vw,880px)}
.bm-momo-footer-scene{display:block;position:absolute;inset:0;z-index:-2;pointer-events:none}
.bm-momo-footer-scene>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:left top}
.bm-momo-footer-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 27%,#071723b8 34%,#071723c9 82%,#07172326 96%),linear-gradient(0deg,#071723df 0%,transparent 45%)}
.bm-momo-footer-content{position:relative;margin-left:34%;margin-right:8%;padding:60px 0 28px}
.bm-momo-footer .bm-footer-grid{grid-template-columns:minmax(180px,1.55fr) repeat(3,minmax(112px,1fr));gap:24px}
.bm-momo-footer .bm-brand,.bm-momo-footer .bm-brand>span{color:#f1f7fa}
.bm-momo-footer .bm-footer-company>p,.bm-momo-footer .bm-footer-grid>div:not(:first-child)>a,.bm-momo-footer .bm-footer-legal{color:#d2e0e8}
.bm-momo-footer .bm-contact-links>a{color:#e0f3f4}
.bm-momo-footer h2{color:#f1f7fa}
.bm-momo-footer a:hover{color:#92e7f0}
.bm-momo-footer a:focus-visible{outline:3px solid #a3e7ed;outline-offset:4px}
.bm-momo-footer .bm-footer-grid>div:not(:first-child)>a{line-height:1.65;min-height:34px;padding:5px 0}
.bm-momo-footer .bm-footer-legal{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 22px;margin:30px 0 0;padding:18px 0 92px;border-top:1px solid #9ebbc04d;border-radius:0;background:none;box-shadow:none;font-size:11px;line-height:1.9;text-shadow:0 1px 5px #06111f}
.bm-momo-footer .bm-footer-legal>span:first-child{margin-right:auto}
.bm-momo-footer .bm-footer-legal>a{display:inline-block;margin:0;font-size:inherit;white-space:normal}
@media(min-width:2200px){.bm-momo-footer-content{margin-right:13%;padding-top:80px}.bm-momo-footer .bm-footer-grid{gap:38px}.bm-momo-footer .bm-footer-grid>div:not(:first-child)>a{font-size:15px}}
@media(max-width:1400px){
 .bm-footer.bm-momo-footer{min-height:0}
 .bm-momo-footer-scene{position:relative;inset:auto;height:clamp(240px,33.333vw,450px)}
 .bm-momo-footer-veil{display:none}
 .bm-momo-footer-content{margin:0;padding:40px 5% 28px;background:#091d29}
 .bm-momo-footer .bm-footer-grid{grid-template-columns:minmax(180px,1.55fr) repeat(3,minmax(110px,1fr));gap:24px}
}
@media(max-width:700px){
 .bm-momo-footer-content{padding:30px 22px 24px}
 .bm-momo-footer .bm-footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
 .bm-momo-footer .bm-footer-company{grid-column:1/-1}
 .bm-momo-footer .bm-brand{margin-bottom:18px}
 .bm-momo-footer .bm-footer-grid>div:not(:first-child){padding:0}
 .bm-momo-footer h2{font-size:15px;margin-bottom:12px}
 .bm-momo-footer .bm-footer-grid>div:not(:first-child)>a{min-height:44px;font-size:12px}
 .bm-momo-footer .bm-footer-legal{gap:12px 18px;font-size:10px;padding-bottom:104px}
 .bm-momo-footer .bm-footer-legal>span:first-child{flex-basis:100%;margin:0}
}

/* Momo decorates the existing dock. Only the upper figure receives clicks;
   hanging feet sit in reserved space and never intercept search/contact. */
.bm-contact-dock [hidden]{display:none!important}
.bm-contact-dock.bm-momo-enhanced{width:228px}
.bm-contact-dock.bm-momo-enhanced .bm-contact-dock-bar{width:100%;padding-right:47px}
.bm-momo-character{position:absolute;right:-20px;bottom:calc(100% - 35px);width:112px;height:134px;z-index:2;pointer-events:none}
.bm-momo-figure{display:block;position:relative;width:112px;height:99px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto}
.bm-momo-sprite{position:relative;display:block;width:112px;height:134px;transform-origin:52% 76%;animation:bm-momo-breathe 5.5s ease-in-out infinite;pointer-events:none}
.bm-momo-sprite>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;pointer-events:none}
.bm-momo-blink{opacity:0;clip-path:inset(28% 26% 56% 25%)}
.bm-momo-sprite.is-blinking .bm-momo-blink{opacity:1}
.bm-momo-hide{position:absolute;left:-29px;top:18px;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#62755f;font:22px/1 sans-serif;cursor:pointer;pointer-events:auto}
.bm-momo-hide:hover{background:#eff3e5}
.bm-momo-reopen{position:absolute;right:7px;bottom:calc(100% + 4px);display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 12px;border:1px solid #ccd8c3;border-radius:24px;background:#fcfcf7;box-shadow:0 3px 12px #103c3010;color:#123f32;font:inherit;font-size:11px;line-height:1.4;cursor:pointer}
.bm-momo-reopen svg{width:15px;height:18px;fill:none;stroke:#a48332;stroke-width:1.6;stroke-linecap:round}
.bm-momo-reopen svg circle{fill:#a48332;stroke:none}
.bm-contact-dock.bm-momo-enhanced[data-momo-muted=true],.bm-contact-dock.bm-momo-enhanced[data-momo-unavailable=true]{width:184px}
.bm-contact-dock.bm-momo-enhanced[data-momo-muted=true] .bm-contact-dock-bar,.bm-contact-dock.bm-momo-enhanced[data-momo-unavailable=true] .bm-contact-dock-bar{padding-right:7px}
.bm-momo-help{position:absolute;right:0;bottom:calc(100% + 112px);z-index:3;width:250px;max-width:calc(100vw - 36px);padding:20px 22px;border:1px solid #ccd8c3;border-radius:20px 20px 5px 20px;background:#fcfcf7;box-shadow:0 12px 35px #103c3018;font-size:12px;line-height:1.8;color:#123f32}
.bm-momo-help p{margin:8px 0 12px;color:#586d60}
.bm-momo-help button{min-height:32px;padding:3px 0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.bm-momo-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bm-momo-character:hover .bm-momo-sprite,.bm-momo-character:focus-within .bm-momo-sprite{animation-play-state:paused}
.bm-contact-dock:has([data-contact-open][aria-expanded=true]) .bm-momo-character,.bm-contact-dock:has([data-contact-open][aria-expanded=true]) .bm-momo-reopen,.bm-contact-dock[data-momo-input-active=true] .bm-momo-character{visibility:hidden;pointer-events:none}
@keyframes bm-momo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.009,1.012)}}
@media(max-width:767px){
 .bm-contact-dock.bm-momo-enhanced{width:194px;right:20px}
 .bm-contact-dock.bm-momo-enhanced .bm-contact-dock-bar{padding-right:36px}
 .biomo-shared-shell .bm-contact-dock.bm-momo-enhanced .bm-search-capsule>span:last-child{display:block}
 .bm-momo-character{right:-14px;bottom:calc(100% - 28px);width:88px;height:106px}
 .bm-momo-figure{width:88px;height:78px}
 .bm-momo-sprite{width:88px;height:106px}
 .bm-momo-hide{left:-27px;top:8px}
 .bm-momo-help{bottom:calc(100% + 90px);width:235px}
 .bm-contact-dock.bm-momo-enhanced[data-momo-muted=true],.bm-contact-dock.bm-momo-enhanced[data-momo-unavailable=true]{width:158px}
 .bm-contact-dock.bm-momo-enhanced[data-momo-muted=true] .bm-contact-dock-bar,.bm-contact-dock.bm-momo-enhanced[data-momo-unavailable=true] .bm-contact-dock-bar{padding-right:5px}
}
@media(max-height:520px){.bm-momo-character,.bm-momo-reopen{display:none!important}.bm-momo-help{bottom:calc(100% + 10px)}}
@media(prefers-reduced-motion:reduce){.bm-momo-sprite{animation:none!important}.bm-momo-sprite .bm-momo-blink{opacity:0!important}}
