/* Mobile navigation uses the dialog top layer, above sticky and contact bars. */
#mobile-nav[hidden],#mobile-nav:not([open]){display:none!important}
#site-header .mobile-menu-backdrop{position:fixed;inset:0;z-index:99;background:#0007}
#site-header .mobile-menu-backdrop[hidden]{display:none!important}
#site-header .mobile-drawer[open]{z-index:100}
html.soi-menu-open{overflow:hidden;overscroll-behavior:none}
html.soi-menu-open body{position:fixed;top:var(--soi-menu-scroll-y,0);left:0;right:0;width:100%;overflow:hidden}
html.soi-menu-open .soi-floating-contact{visibility:hidden;pointer-events:none}
#site-header .mobile-drawer{position:fixed;inset:0 0 auto auto;margin:0;box-sizing:border-box;width:min(380px,calc(100vw - 24px));max-width:none;height:var(--soi-menu-height,100vh);max-height:var(--soi-menu-height,100vh);padding:0;background:#fff;color:#171717;overflow:hidden;overscroll-behavior:contain;border:0;border-radius:16px 0 0 16px;box-shadow:-8px 0 32px #0002}
#site-header .mobile-drawer[open]{display:block}
/* An inner grid avoids older Safari dialog/flex sizing differences. */
#site-header .mobile-drawer-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;overflow:hidden}
#site-header .drawer-head{flex:none;gap:12px;padding:12px 16px 12px 20px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #ece5e6}
#site-header .drawer-head strong{font-size:17px;color:#c71523}
#site-header .drawer-head button{display:flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #ecd6d9;border-radius:50%;background:#fff5f6;color:#a81821;cursor:pointer}
#site-header .mobile-drawer nav{min-height:0;min-width:0;padding:4px 20px 16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
#site-header .mobile-drawer nav>a,#site-header .mobile-drawer summary{box-sizing:border-box;min-height:48px;padding:13px 4px;font-size:15px;line-height:1.45;color:#171717;text-decoration:none}
#site-header .mobile-drawer nav>a[aria-current="page"]{color:#c71523}
#site-header .mobile-drawer details>a{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:11px 12px;border-bottom:1px solid #f3edef;border-left:2px solid #f0cfd4;font-size:14px;line-height:1.45;color:#4b4043;text-decoration:none}
#site-header .mobile-drawer details>a[aria-current="page"]{color:#c71523;background:#fff5f6;border-left-color:#c71523}
#site-header .mobile-drawer summary{position:relative;display:block;padding-right:36px;list-style:none;text-align:left;-webkit-tap-highlight-color:transparent}
/* Safari before 18.4 needs its prefixed disclosure-marker rule. */
#site-header .mobile-drawer summary::-webkit-details-marker{display:none}
#site-header .mobile-drawer summary::marker{content:"";font-size:0}
#site-header .drawer-summary-label{display:block;min-width:0;text-align:left}
#site-header .mobile-drawer summary .icon{position:absolute;right:4px;top:50%;width:20px;height:20px;transform:translateY(-50%);transition:transform .15s ease}
#site-header .mobile-drawer details[open]>summary .icon{transform:translateY(-50%) rotate(180deg)}
#site-header .drawer-foot{flex:none;padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid #ece5e6;background:#fff9fa;font-size:12px;color:#706367}
#site-header .mobile-drawer a:focus-visible,#site-header .mobile-drawer button:focus-visible,#site-header .mobile-drawer summary:focus-visible{outline:2px solid #c71523;outline-offset:-2px;border-radius:4px}
@media(max-width:800px){#site-header .topbar{display:none}html{scroll-padding-top:130px}#site-header .mobile-menu{align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){#site-header .mobile-drawer summary .icon{transition:none}}
