
.mobile-nav-brand, .mobile-nav-toggle { display:none; }
#mobile-menu { position:fixed; inset:0; width:100%; max-width:none; height:100%; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#faf9f6; color:#171717; font-family:"Plus Jakarta Sans",sans-serif; overflow-y:auto; overscroll-behavior:contain; }
#mobile-menu::backdrop { background:#faf9f6; }
#mobile-menu .mobile-menu-header { display:flex; align-items:center; justify-content:space-between; padding:calc(16px + env(safe-area-inset-top)) 24px 16px; border-bottom:1px solid #deddd8; }
#mobile-menu .mobile-menu-name { font-size:18px; font-weight:800; letter-spacing:-.5px; }
#mobile-menu button { width:48px; height:48px; background:transparent; border:1px solid #deddd8; border-radius:50%; color:#171717; font-size:28px; cursor:pointer; }
#mobile-menu .mobile-menu-body { padding:20px 24px calc(32px + env(safe-area-inset-bottom)); max-width:600px; margin:0 auto; }
#mobile-menu .mobile-menu-label { margin:16px 0 10px; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#73716b; }
#mobile-menu a { display:block; color:#171717; text-decoration:none; cursor:pointer; }
#mobile-menu .mobile-main-link { font-size:clamp(24px,7vw,34px); font-weight:700; line-height:1.25; padding:7px 0; letter-spacing:-.8px; }
#mobile-menu .mobile-projects { margin-top:22px; border-top:1px solid #deddd8; padding-top:6px; }
#mobile-menu .mobile-project-link { font-size:17px; font-weight:600; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #e8e6e0; }
#mobile-menu a:focus-visible, #mobile-menu button:focus-visible, .mobile-nav-toggle:focus-visible { outline:3px solid #c75b39; outline-offset:4px; }
@media(max-width:767px) {
 body > nav { padding-left:20px !important; padding-right:20px !important; }
 body > nav > :not(.mobile-nav-brand):not(.mobile-nav-toggle) { display:none !important; }
 body > nav > .mobile-nav-brand { display:block; font-family:"Plus Jakarta Sans",sans-serif; font-size:18px; font-weight:800; letter-spacing:-.5px; color:inherit; text-decoration:none; cursor:pointer; }
 body > nav > .mobile-nav-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; margin-left:auto; border:1px solid currentColor; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
 .mobile-nav-toggle svg { width:22px; height:22px; }
}
