/* 泊築 BOXUU 共用版首與頁底 */
.nav{position:fixed;inset:0 0 auto;height:var(--nav-h);z-index:50;background:rgba(252,251,249,.94);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}
.nav.solid{background:rgba(252,251,249,.98)}
.nav-in{height:100%;min-width:0;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;height:100%}
.brand img{width:auto;height:40px}
.nav-links{display:none;align-items:center;gap:clamp(18px,2.2vw,34px)}
.nav-links a{font-size:.82rem;font-weight:400;letter-spacing:.14em;color:var(--text);transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-dropdown{position:relative;height:100%;display:flex;align-items:center}
.nav-dropdown summary::-webkit-details-marker,.mobile-menu-group summary::-webkit-details-marker{display:none}
.nav-dropdown summary::marker,.mobile-menu-group summary::marker{content:""}
.nav-dropdown-label{display:flex;align-items:center;gap:6px;list-style:none;font-size:.82rem;font-weight:400;letter-spacing:.14em;color:var(--text);cursor:pointer;transition:color .2s}
.nav-dropdown-label:hover,.nav-dropdown-label[aria-current="page"]{color:var(--ink)}
.nav-dropdown-label:after{content:none}
.nav-dropdown-menu{position:absolute;top:calc(100% - 1px);left:50%;min-width:176px;padding:8px;background:rgba(252,251,249,.98);border:1px solid var(--line);box-shadow:0 16px 36px rgba(33,29,24,.1);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.nav-dropdown-menu a{display:block;padding:10px 12px;white-space:nowrap;letter-spacing:.08em}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a[aria-current="page"]{background:var(--surface)}
.nav-dropdown[open] .nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-links .nav-cta{color:#fff;background:var(--brand);padding:10px 20px;letter-spacing:.1em;transition:background .3s ease}
.nav-links .nav-cta:hover{background:var(--hover);color:#fff}
.menu-toggle{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center}
.menu-toggle:hover{background:var(--surface)}
.menu-icon{width:24px;display:grid;gap:6px}
.menu-icon i{display:block;height:1px;background:var(--ink);transition:transform .22s ease,opacity .22s ease}
.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:49;inset:var(--nav-h) 0 0;display:grid;grid-template-columns:1fr min(84vw,380px);visibility:hidden;pointer-events:none}
.mobile-menu.is-open{visibility:visible;pointer-events:auto}
.mobile-menu-backdrop{border:0;background:rgba(33,29,24,.34);opacity:0;transition:opacity .22s ease}
.mobile-menu-panel{background:var(--paper);border-left:1px solid var(--line);padding:34px 26px calc(110px + env(safe-area-inset-bottom));transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column}
.mobile-menu.is-open .mobile-menu-backdrop{opacity:1}
.mobile-menu.is-open .mobile-menu-panel{transform:translateX(0)}
.mobile-menu-links{display:grid}
.mobile-menu-links a{display:flex;align-items:center;justify-content:space-between;padding:20px 2px;border-bottom:1px solid var(--line-soft);font-size:1rem;font-weight:300;letter-spacing:.06em}
.mobile-menu-links a:after{content:"→";color:var(--muted)}
.mobile-menu-group{border-bottom:1px solid var(--line-soft)}
.mobile-menu-label{display:flex;align-items:center;justify-content:space-between;padding:20px 2px;list-style:none;font-size:1rem;font-weight:300;letter-spacing:.06em;color:var(--ink);cursor:pointer}
.mobile-menu-label:after{content:"→";color:var(--muted)}
.mobile-menu-group[open] .mobile-menu-label:after{content:"↓"}
.mobile-menu-submenu{border-top:1px solid var(--line-soft)}
.mobile-menu-links .mobile-menu-sub-link{padding:14px 2px 18px 18px;border-bottom:0}
.mobile-menu-links .mobile-menu-sub-link:after{content:none}
.mobile-menu-note{font-size:.76rem;color:var(--muted);margin-top:auto;letter-spacing:.08em}
.site-footer{padding:40px 0 calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.site-footer .footer-in{display:flex;align-items:center;justify-content:center;text-align:center}
.site-footer .footer-copy{font-size:.72rem;color:var(--muted);letter-spacing:.06em}
@media(min-width:760px){
  .brand img{height:44px}
  .nav-links{display:flex}
  .menu-toggle,.mobile-menu{display:none}
  .site-footer{padding:44px 0}
}
@media(prefers-reduced-motion:reduce){
  .nav *,.mobile-menu *{transition:none!important}
}
