/* Shared TOP/subpage header and menu; generated from the approved TOP rules. */
:is(.top-page,.subpage-page)>.site-header{position:fixed!important;left:0;right:0;top:0;height:100px;z-index:50;background:white;gap:clamp(15px,2vw,30px);padding-inline:clamp(20px,2vw,40px);box-shadow:0 1px 12px #00000008}
:is(.top-page,.subpage-page)>.site-header .logo{min-width:0}
:is(.top-page,.subpage-page)>.site-header .logo img{width:clamp(190px,19vw,280px);max-width:100%;height:auto}
:is(.top-page,.subpage-page)>.site-header .header-contact{gap:clamp(12px,2vw,30px)}
:is(.top-page,.subpage-page)>.site-header .reserve{width:clamp(235px,26vw,380px)}
@media(max-width:1100px){:is(.top-page,.subpage-page)>.site-header .header-contact .phone{display:none}
}
@media(max-width:767px){:is(.top-page,.subpage-page)>.site-header{height:70px;padding:12px 15px;gap:12px}
:is(.top-page,.subpage-page)>.site-header .logo img{width:190px}
:is(.top-page,.subpage-page)>.site-header .header-contact{display:none}
:is(.top-page,.subpage-page)>.site-header .menu-toggle{width:46px;height:46px}
}

:is(.top-page,.subpage-page) #site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:480px;height:100dvh;max-height:none;max-width:100%;padding:125px 50px 50px;border-radius:0;background:rgba(255,255,255,.96);overflow-y:auto;color:#222}
:is(.top-page,.subpage-page) #site-menu::backdrop{background:rgba(255,255,255,.06)}
:is(.top-page,.subpage-page) #site-menu>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(.top-page,.subpage-page) #site-menu nav{display:grid;grid-template-columns:1fr;gap:0;max-width:300px;margin:0 auto 48px}
:is(.top-page,.subpage-page) #site-menu nav a{display:block;text-align:center;border:0;border-bottom:1px solid #e5e5e5;padding:16px 0;font-size:16px;line-height:20px;letter-spacing:1.92px;color:#222}
:is(.top-page,.subpage-page) #site-menu nav a:hover{opacity:.7}
:is(.top-page,.subpage-page) #site-menu nav a[aria-current=page]{color:#9d2235}
:is(.top-page,.subpage-page) #site-menu nav small{display:block;color:#9d2235;font:italic 12px/16px ABeeZee,sans-serif;letter-spacing:.36px;margin-top:5px}
:is(.top-page,.subpage-page) #site-menu .close{position:fixed;right:30px;top:20px;width:60px;height:60px;display:grid;place-items:center;padding:0;border:0;background:transparent;line-height:1;z-index:3}
:is(.top-page,.subpage-page) #site-menu .close picture,:is(.top-page,.subpage-page) #site-menu .close .close-mark{grid-area:1/1}
:is(.top-page,.subpage-page) #site-menu .close picture img{width:60px;height:60px}
:is(.top-page,.subpage-page) #site-menu .close-mark{width:24px;height:24px}
:is(.top-page,.subpage-page) #site-menu>.reserve{max-width:380px;margin:0 auto;display:flex;width:100%;height:60px;flex:none;white-space:nowrap}
:is(.top-page,.subpage-page)>.site-header .phone small{font-size:14px;line-height:18px;letter-spacing:1.4px}
:is(.top-page,.subpage-page)>.site-header .phone .pending-phone{font:italic 28px/32px ABeeZee,sans-serif;letter-spacing:1.8px}
:is(.top-page,.subpage-page) #site-menu{overscroll-behavior:contain}
@media(max-width:767px){:is(.top-page,.subpage-page) #site-menu{width:100%;padding:86px 20px 60px}
:is(.top-page,.subpage-page) #site-menu nav{max-width:275px;margin-bottom:40px}
:is(.top-page,.subpage-page) #site-menu nav a{padding:12px 0 9px}
:is(.top-page,.subpage-page) #site-menu .close{right:12px;top:12px;width:48px;height:48px}
:is(.top-page,.subpage-page) #site-menu .close picture img{width:48px;height:48px}
:is(.top-page,.subpage-page) #site-menu>.reserve{max-width:335px;min-height:60px}
:is(.top-page,.subpage-page) #site-menu .reserve-label{font-size:14px}
:is(.top-page,.subpage-page) #site-menu .reserve em{font-size:26px}
}
@media(max-height:950px) and (min-width:768px){:is(.top-page,.subpage-page) #site-menu{padding-top:96px;padding-bottom:28px}
:is(.top-page,.subpage-page) #site-menu nav{margin-bottom:28px}
:is(.top-page,.subpage-page) #site-menu nav a{padding:12px 0}
}
:is(.top-page,.subpage-page)>.site-header .menu-toggle{flex:0 0 60px;width:60px;height:60px;min-width:60px;min-height:60px;max-width:60px;max-height:60px;padding:0;border:0;display:grid;place-items:center;overflow:hidden;aspect-ratio:1/1}
:is(.top-page,.subpage-page)>.site-header .menu-toggle>img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform:none;flex:none}
@media(max-width:767px){:is(.top-page,.subpage-page)>.site-header .menu-toggle{flex-basis:48px;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px}
:is(.top-page,.subpage-page)>.site-header .menu-toggle>img{content:url('assets/sp-imgHamburger.svg')}
}

html.shared-menu-open{overflow:hidden}html{scroll-padding-top:118px}.subpage-page{padding-top:100px}
@media(max-width:767px){html{scroll-padding-top:88px}.subpage-page{padding-top:70px}}
