.menu-toggle{display:none}
.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);height:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;background:var(--bg);color:var(--ink);overflow:hidden}
.mobile-menu::backdrop{background:rgba(14,16,10,.55);backdrop-filter:blur(5px)}
body:has(.mobile-menu[open]){overflow:hidden}
.mobile-menu-panel{height:100%;display:flex;flex-direction:column;padding:0 28px;padding-bottom:env(safe-area-inset-bottom)}
.mobile-menu[open] .mobile-menu-panel{animation:menu-enter .3s ease-out}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:20px;flex-shrink:0}
.mobile-menu-head>span{font-size:20px;font-weight:600;letter-spacing:.2em}
.mobile-menu-head button{width:48px;height:48px;border:0;border-radius:0;background:transparent;color:inherit;font:24px/1 system-ui;cursor:pointer}
.mobile-menu-links{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 0}
.mobile-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:clamp(26px,7vw,34px);line-height:1.2;font-weight:400;letter-spacing:-.025em}
.mobile-menu-links a span{color:var(--accent);font-size:22px}
.mobile-menu-links a:hover{color:var(--accent)}
.mobile-menu-phone{display:block;flex-shrink:0;padding:24px 0 28px;color:var(--accent);font-size:24px;font-weight:500;line-height:1.5}
.mobile-menu-phone span{display:block;margin-bottom:5px;color:var(--muted);font-size:14px;font-weight:400}
.mobile-menu a:focus-visible,.mobile-menu button:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@keyframes menu-enter{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1100px){
  .menu-toggle{display:flex;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer}
  .menu-toggle span{display:block;width:18px;height:1.5px;background:currentColor}
  .hdr-in{gap:12px}
  .hdr-phone{margin-left:auto}
}
@media(max-width:600px){
  .hdr-phone-text{display:none}
  .hdr-phone{justify-content:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:0}
  .hdr-in{padding-top:8px;padding-bottom:8px}
}
@media(max-width:380px){
  .hdr-in{gap:10px}
  .hdr-in .logo{gap:8px}
  .hdr-in .logo span{font-size:15px;letter-spacing:.16em}
  .hdr-in .logo svg{width:32px}
  .mobile-menu-panel{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){.mobile-menu[open] .mobile-menu-panel{animation:none}}
