  /* =========================================================================
     Mobile nav — hamburger button + slide-in drawer. Shared by both pages.
     The burger is hidden on desktop; each page CSS reveals it (and hides the
     inline nav links + top CTA) at its own breakpoint. Relies on page palette
     tokens (--maroon, --cream, --ink, --line, --fs-*).
     ========================================================================= */
  .nav-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:6px;flex:0 0 auto}
  .nav-burger:hover{background:var(--cream)}
  .nav-burger svg{width:26px;height:26px;fill:currentColor}

  .mnav{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
  .mnav-scrim{position:absolute;inset:0;background:rgba(36,21,33,.5);opacity:0;transition:opacity .3s ease}
  .mnav-panel{position:absolute;top:0;right:0;height:100%;width:min(87vw,360px);background:#fff;box-shadow:-12px 0 44px rgba(36,21,33,.20);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding:16px 22px 26px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mnav.open{visibility:visible;pointer-events:auto}
  .mnav.open .mnav-scrim{opacity:1}
  .mnav.open .mnav-panel{transform:translateX(0)}
  .mnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .mnav-head img{height:28px;width:auto}
  .mnav-close{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:50%;transition:background .15s,transform .15s}
  .mnav-close:hover{background:var(--cream);transform:rotate(90deg)}
  .mnav-close svg{width:22px;height:22px;fill:currentColor}
  .mnav-lbl{font-size:var(--fs-3xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 0 2px}
  .mnav-links{display:flex;flex-direction:column}
  .mnav-links a{font-size:var(--fs-lg);font-weight:600;color:var(--ink);padding:13px 0;border-bottom:1px solid var(--line);transition:color .15s}
  .mnav-links a:hover{color:var(--maroon)}
  .mnav-links.compact a{font-size:var(--fs-ms);padding:11px 0}
  .mnav-links a.mnav-prog{display:flex;align-items:center;gap:12px}
  .mnav-prog img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
  .mnav-links a.mnav-all{color:var(--maroon);font-weight:700;border-bottom:0;display:inline-flex;align-items:center;gap:6px;padding-top:14px}
  .mnav-links a.mnav-all .i{width:15px;height:15px}
  .mnav-cta{margin-top:22px}
  .mnav-cta .btn{width:100%}
  .mnav-foot{margin-top:16px;font-size:var(--fs-sm);color:var(--muted);display:inline-flex;align-items:center;gap:8px}
  .mnav-foot .i{color:var(--maroon)}
  body.mnav-lock{overflow:hidden}
  @media(prefers-reduced-motion:reduce){.mnav-panel,.mnav-scrim{transition:none}}
