/* ハンバーガーの見た目 */
.nav-toggle{
  width:42px;height:42px;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.15);border-radius:10px;background:transparent;color:#fff;cursor:pointer;
}
.nav-toggle .bar{ width:20px;height:2px;background:currentColor;position:relative;display:block; }
.nav-toggle .bar::before,.nav-toggle .bar::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;
}
.nav-toggle .bar::before{ top:-6px; } .nav-toggle .bar::after{ top:6px; }

/* モバイルメニューの骨格（表示はmobile.css側で切替） */
.mobile-nav{ position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,.7); backdrop-filter:blur(4px);
  opacity:0; pointer-events:none; transition:opacity .25s ease; }
.mobile-nav.is-open{ opacity:1; pointer-events:auto; }
.mobile-nav .panel{
  position:absolute; right:0; top:0; bottom:0; width:min(82vw,360px);
  background:var(--bg); border-left:1px solid rgba(255,255,255,.1);
  padding:18px 16px 24px; overflow:auto;
}
.mobile-nav .menu a{
  display:block; padding:12px 6px; border-bottom:1px solid rgba(255,255,255,.1);
  color:var(--text); text-decoration:none;
}
.mobile-nav .sns{ margin-top:14px; display:flex; gap:12px; flex-wrap:wrap; }
.mobile-nav .sns a{
  display:inline-flex; align-items:center; gap:8px; padding:10px 12px;
  border:1px solid rgba(255,255,255,.15); border-radius:10px; color:var(--text); text-decoration:none;
}
