/* The site menu on the simpler pages (book a demo, the legal pages): the same round button and list as the main
   page's phone menu, at the top right at every width. The language is chosen in it, so the floating switch goes. */
.page-menu { position: fixed; top: 14px; right: 14px; z-index: 60; }
.legal-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.legal-head .page-menu { position: relative; top: auto; right: auto; }
.page-menu ~ .lang-switch.is-float, body:has(.page-menu) .lang-switch.is-float { display: none; }
.page-menu summary { list-style: none; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(18, 20, 23, .14); border-radius: 999px; background: rgba(255, 255, 255, .85); cursor: pointer; }
.page-menu summary::-webkit-details-marker { display: none; }
.page-menu summary::after { content: none; }
.page-menu summary:focus-visible { outline: 2px solid #121417; outline-offset: 2px; }
.page-menu summary svg { width: 20px; height: 20px; fill: none; stroke: #121417; stroke-width: 1.8; stroke-linecap: round; }
.page-menu .nav-menu-close, .page-menu[open] .nav-menu-open { display: none; }
.page-menu[open] .nav-menu-close { display: block; }
.page-menu .nav-menu-panel { position: absolute; right: 0; top: calc(100% + 10px); display: flex; flex-direction: column; min-width: 220px; padding: .45rem; background: #fff; border: 1px solid #e4e6e9; border-radius: 16px; box-shadow: 0 24px 50px -24px rgba(18, 20, 23, .35); font-family: inherit; font-size: .95rem; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.page-menu .nav-menu-panel a { padding: .7rem .8rem; border-radius: 10px; color: #121417; text-decoration: none; }
.page-menu .nav-menu-panel a:hover { background: #f5f6f7; }
.page-menu .nav-menu-panel hr { border: 0; border-top: 1px solid #e4e6e9; margin: .3rem .4rem; }
.page-menu .nav-menu-lang { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .35rem .5rem .3rem .8rem; font-size: .78rem; color: #70757d; }
.page-menu .nav-menu-lang span { flex-basis: 100%; }
.page-menu .nav-menu-panel .nav-menu-lang a { white-space: nowrap; padding: .4rem .8rem; border: 1px solid #e4e6e9; border-radius: 999px; font-size: .82rem; font-weight: 600; color: #3b3f45; }
html[lang="en"] .page-menu .nav-menu-lang a[data-lang="en"], html[lang="ja"] .page-menu .nav-menu-lang a[data-lang="ja"] { background: #121417; border-color: #121417; color: #fff; }
