/* Mobile menu. Generated from the CSS template in tools/sync-mobile-menu.py
   at the 768/769px breakpoint -- edit the script, not this file. */
/* Mobile menu, generated by tools/sync-mobile-menu.py - edit the script, not this block.
   This page hides its nav links at 768px; the button and #mmenu panel replace them.
   Everything is lsm-* so it cannot collide with page CSS. Closed = inert + hidden. */
.lsm-btn{display:none;-webkit-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0 -12px 0 0;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:4.5px;cursor:pointer;border-radius:10px;color:inherit;font:inherit;flex-shrink:0}
.lsm-btn span{display:block;width:20px;height:2px;background:var(--text,#0C0E1A);border-radius:2px}
.lsm-spacer{display:none}
.lsm-spacer~.lsm-btn{margin-left:6px}
.lsm-menu{position:fixed;inset:0;background:#fff;z-index:300;padding:76px 24px 32px;display:flex;flex-direction:column;gap:0;transform:translateX(110%);visibility:hidden;transition:transform 400ms cubic-bezier(.22,1,.36,1),visibility 0s linear 400ms;overflow-y:auto;overscroll-behavior:contain}
.lsm-menu.open{transform:none;visibility:visible;transition:transform 400ms cubic-bezier(.22,1,.36,1),visibility 0s}
.lsm-link{font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:600;color:var(--text,#0C0E1A);text-decoration:none;padding:18px 4px;min-height:44px;border-bottom:1px solid rgba(43,63,217,0.08);letter-spacing:-0.3px;display:flex;align-items:center;justify-content:space-between;transition:color 150ms ease;position:relative}
.lsm-link::after{content:'';width:7px;height:7px;border-right:1.5px solid rgba(43,63,217,0.35);border-top:1.5px solid rgba(43,63,217,0.35);transform:rotate(45deg);transition:border-color 150ms ease,transform 150ms ease;flex-shrink:0;margin-right:2px}
.lsm-link:active,.lsm-link[aria-current="page"]{color:#2B3FD9}
.lsm-link:active::after{border-color:#2B3FD9;transform:rotate(45deg) translate(3px,-3px)}
.lsm-link:last-of-type{border-bottom:none}
.lsm-close{position:absolute;top:15px;right:15px;width:44px;height:44px;background:var(--bg-2,#F6F8FC);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--border,#E2E6F3);-webkit-appearance:none;appearance:none;padding:0;margin:0;color:var(--text,#0C0E1A);font:inherit}
.lsm-login-btn{background:#2B3FD9;color:#fff;border:none;border-radius:10px;padding:14px 20px;margin-top:24px;min-height:48px;font-size:16px;font-family:'Manrope',sans-serif;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;width:100%;display:block;box-shadow:0 4px 12px rgba(43,63,217,.30);transition:background-color 150ms,box-shadow 150ms,transform 150ms}
.lsm-login-btn:hover{background:#1A2BA8;box-shadow:0 6px 18px rgba(43,63,217,.40)}
.lsm-login-btn:active{transform:translateY(1px)}
.lsm-btn:focus-visible,.lsm-close:focus-visible,.lsm-link:focus-visible,.lsm-login-btn:focus-visible,.lsm-menu :focus-visible{outline:2px solid #2B3FD9;outline-offset:2px}
.lsm-link:focus-visible{outline-offset:-2px}
@media(max-width:768px){.lsm-btn{display:flex}.lsm-spacer{display:block;flex:1 1 auto}}
/* Phone header (founder, 2026-09-16): a smaller Log in pill and a 56px header. */
@media(max-width:768px){nav:has(.lsm-btn){height:56px;min-height:0}nav:has(.lsm-btn) .nav-inner{padding-top:6px;padding-bottom:6px}nav:has(.lsm-btn) .nav-cta{min-height:36px;padding:0 14px;font-size:14px;line-height:1;display:inline-flex;align-items:center}}
@media(min-width:769px){.lsm-menu{display:none}}
@media(prefers-reduced-motion:reduce){.lsm-menu,.lsm-menu.open,.lsm-link,.lsm-link::after,.lsm-login-btn{transition:none}}
