/* One consistent menu for desktop and mobile. */
header #main-menu{display:none}
header .contact{margin-left:auto}
header .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:48px;height:48px;padding:12px;flex-shrink:0}
header .menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:0}
.svc-subnav{display:none}
.site-menu{position:fixed;inset:0 0 0 auto;width:min(440px,88vw);max-width:none;height:100dvh;max-height:none;margin:0;box-shadow:-18px 0 60px #00000018;padding:0;border:0;background:#fafaf8;color:#15181e;overflow-y:auto;overscroll-behavior:contain}
.site-menu::backdrop{background:#080a0e26}
.site-menu-top{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid #dededb;position:sticky;top:0;background:#fafaf8;z-index:2}
.site-menu-top img{width:48px;height:48px;object-fit:contain;display:block}
.site-menu-close{width:48px;height:48px;font-size:38px;line-height:1;font-weight:300;color:#15181e}
.site-menu-layout{display:flex;flex-direction:column;gap:16px;padding:22px 28px max(40px,env(safe-area-inset-bottom))}
.site-menu-intro>span{font-size:11px;letter-spacing:2px;color:#777}
.site-menu-intro p{display:none}.site-menu-intro{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-menu-intro>a{display:inline-block;color:#d91e3a;font-weight:700;padding:14px 0}
.site-menu-group{border-bottom:1px solid #d9d9d5}
.site-menu-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:28px;font-weight:700;letter-spacing:-.04em;padding:20px 0;gap:24px}
.site-menu-group summary::-webkit-details-marker{display:none}
.site-menu-sign{position:relative;width:24px;height:24px;flex-shrink:0}
.site-menu-sign:before,.site-menu-sign:after{content:'';position:absolute;top:11px;left:0;width:24px;height:2px;background:currentColor}
.site-menu-sign:after{transform:rotate(90deg);transition:transform .2s}
.site-menu-group[open] .site-menu-sign:after{transform:rotate(0)}
.site-menu-group[open] summary{color:#dd2342}
.site-menu-children{display:grid;grid-template-columns:1fr;gap:2px;padding:0 0 24px}
.site-menu-children a{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:16px;font-weight:500;padding:9px 0;gap:16px}
.site-menu-children a span{color:#8b8b89}
.site-menu-children a:hover,.site-menu-children a[aria-current]{color:#d91e3a}
.site-menu a:focus-visible,.site-menu summary:focus-visible,.site-menu button:focus-visible{outline:2px solid #d91e3a;outline-offset:4px}
@media(max-width:760px){header{gap:12px}header .menu-toggle{width:44px;height:44px}.site-menu-top{padding:calc(12px + env(safe-area-inset-top)) 24px 12px}.site-menu-top img{width:40px;height:40px}.site-menu-layout{display:flex;flex-direction:column;gap:22px;padding:28px 24px max(40px,env(safe-area-inset-bottom))}.site-menu-intro p{display:none}.site-menu-intro{display:flex;align-items:center;justify-content:space-between;gap:14px}.site-menu-intro>a{font-size:13px}.site-menu-group summary{font-size:27px;padding:19px 0}.site-menu-children{grid-template-columns:1fr;gap:0;padding-bottom:18px}.site-menu-children a{font-size:16px;min-height:48px}.site-menu-sign{width:20px}.site-menu-sign:before,.site-menu-sign:after{width:20px}}
@media(prefers-reduced-motion:reduce){.site-menu-sign:after{transition:none}}

.site-menu[open]{animation:menu-slide-in .25s cubic-bezier(.2,.8,.2,1)}
@keyframes menu-slide-in{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}

.site-menu::backdrop{backdrop-filter:none}
.motion-paused .site-menu[open]{animation-play-state:running!important}
