/* Shared sticky navigation and native booking launcher. */
:root{--bemo-admin-offset:0px;--bemo-header-height:104px;--bemo-anchor-offset:120px}
body.admin-bar{--bemo-admin-offset:32px}
.readable .site-header{position:sticky;top:var(--bemo-admin-offset);z-index:1000;background:rgba(9,26,47,.98);border-bottom:1px solid transparent;transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}
.readable .site-header .header-inner{min-height:104px;transition:min-height .22s ease}
.readable .site-header .brand{transition:width .22s ease}
.bemo-scrolled .readable .site-header{background:rgba(9,26,47,.96);border-bottom-color:#48baff40;box-shadow:0 8px 30px #03101e24;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.bemo-scrolled .readable .site-header .header-inner{min-height:76px}
.bemo-scrolled .readable .site-header .brand{width:190px}
.bemo-scrolled .readable .site-header nav>a:not(.button),.bemo-scrolled .readable .nav-group>summary{padding-block:16px}
.readable .site-header .dropdown{z-index:1010;max-height:calc(100dvh - var(--bemo-anchor-offset) - 16px);overflow-y:auto;overscroll-behavior:contain}
.readable :is(main[id],section[id],article[id],h2[id],h3[id],.article-body section[id],.legacy-section[id]){scroll-margin-top:var(--bemo-anchor-offset)}
.readable :is(.article-aside,.mls-checklist){top:var(--bemo-anchor-offset)}
.bemo-contact-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:13px;min-height:76px;max-width:calc(100vw - 32px);padding:11px 13px 11px 12px;border:1px solid #67c8ff;border-radius:22px;color:#fff!important;background:linear-gradient(120deg,#102b4e 0%,#0e2d59 56%,#1058c8 100%);box-shadow:0 10px 32px #00142e40,0 0 0 4px #3b9cff16,inset 0 1px #c5ecff25;text-decoration:none!important;isolation:isolate;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,opacity .18s ease,visibility .18s ease;animation:bemo-contact-arrive .5s .25s ease-out backwards}
.bemo-contact-launcher:before{content:"";position:absolute;inset:-80% auto -80% -60%;width:40%;background:linear-gradient(90deg,transparent,#c9eeff25,transparent);transform:skewX(-25deg);transition:left .6s ease;z-index:-1;pointer-events:none}
.bemo-contact-launcher:hover{transform:translateY(-4px);box-shadow:0 16px 38px #00142e50,0 0 22px #268fff42,inset 0 1px #d9f2ff40}
.bemo-contact-launcher:hover:before{left:140%}
.bemo-contact-launcher:active{transform:translateY(0) scale(.98)}
.bemo-contact-launcher:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 8px #1269dd,0 12px 30px #00142e55}
.bemo-contact-portrait{width:48px;height:48px;flex:none;padding:2px;border:1px solid #a4e0ff9c;border-radius:50%;background:#2e72bd;box-shadow:0 0 15px #288bff32;overflow:hidden}
.bemo-contact-portrait img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 0;transform:scale(1.75);transform-origin:50% 0}
.bemo-contact-copy{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.bemo-contact-copy strong{font-size:17px;line-height:1.3;font-weight:700;letter-spacing:.1px}
.bemo-contact-copy>span{font-size:14px;line-height:1.3;font-weight:400;color:#c2ddf7}
.bemo-contact-arrow{width:38px;height:38px;flex:none;display:grid;place-items:center;margin-left:3px;border:1px solid #8bcbff73;border-radius:12px;background:#3284ed3b;transition:background .2s ease,transform .2s ease}
.bemo-contact-launcher:hover .bemo-contact-arrow{background:#388ef5a1;transform:translate(1px,-1px)}
.bemo-contact-paused .bemo-contact-launcher,.bemo-menu-open .bemo-contact-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
@keyframes bemo-contact-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1300px){
 :root{--bemo-header-height:90px;--bemo-anchor-offset:106px}
 .readable .site-header .header-inner{min-height:90px}
 .bemo-scrolled .readable .site-header .header-inner{min-height:72px}
 .readable .site-header nav{max-height:calc(100dvh - var(--bemo-anchor-offset) - 12px);overscroll-behavior:contain}
 .readable .site-header .dropdown{max-height:none;overflow:visible}
 .bemo-scrolled .readable .site-header nav>a:not(.button),.bemo-scrolled .readable .nav-group>summary{padding-block:15px}
}
@media(max-width:782px){body.admin-bar{--bemo-admin-offset:46px}}
@media(max-width:600px){
 :root{--bemo-header-height:80px;--bemo-anchor-offset:96px}
 .readable .site-header .header-inner{min-height:80px}
 .bemo-scrolled .readable .site-header .header-inner{min-height:68px}
 .bemo-scrolled .readable .site-header .brand{width:160px}
 .bemo-contact-launcher{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));gap:10px;min-height:58px;padding:8px 10px;border-radius:18px;box-shadow:0 6px 24px #00142e40,0 0 0 3px #3b9cff16}
 .bemo-contact-portrait{width:38px;height:38px}
 .bemo-contact-copy strong{font-size:15px;line-height:1.4}
 .bemo-contact-copy>span{display:none}
 .bemo-contact-arrow{width:30px;height:30px;border-radius:9px;margin-left:0}
 .bemo-contact-arrow svg{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){
 .readable .site-header,.readable .site-header .header-inner,.readable .site-header .brand,.bemo-contact-launcher,.bemo-contact-launcher:before,.bemo-contact-arrow{animation:none!important;transition:none!important}
 .bemo-contact-launcher:hover,.bemo-contact-launcher:active,.bemo-contact-launcher:hover .bemo-contact-arrow{transform:none}
 .bemo-contact-launcher:before{display:none}
}

/* The booking anchor begins at the embedded calendar, without section padding above it. */
.readable #book-call.booking-section{padding-top:0}
