/* Audience dropdown and menu-fit styles shared by /, /speaking/, /about/ and /contact/.
   Moved out of the inline <style> blocks on 2026-10-22 (Website Review 10), rules in their original order.
   Edit here; the pages load this file in the same spot the inline CSS used to sit. */
/* audience dropdown on small screens (2026-10-09) */@media (max-width: 420px){select[name="audience"]{font-size:0.88rem !important;padding-right:30px !important;background-position:right 10px center !important;text-overflow:ellipsis}}

/* Menu fit (2026-10-09): tighter spacing on narrow desktops so the Documents link fits,
   and the phone-style menu button on tablets (769-1000px) instead of a menu that wraps. */
@media (min-width: 1001px) and (max-width: 1300px) { nav { padding-left: 28px; padding-right: 28px; } .nav-links { gap: 20px; } .nav-links a { letter-spacing: 0.12em; } }
@media (min-width: 1001px) and (max-width: 1100px) { nav { padding-left: 20px; padding-right: 20px; } .nav-links { gap: 13px; } .nav-links a { font-size: 0.64rem; letter-spacing: 0.07em; } .nav-cta { padding: 9px 14px; } }
@media (min-width: 769px) and (max-width: 1000px) {
  nav { padding-left: 28px; padding-right: 28px; gap: 18px; }
  nav .nav-links { display: none !important; }
  nav .nav-logo { margin-right: auto; }
  nav .hamburger { display: flex !important; flex-direction: column; justify-content: center; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; z-index: 200; flex-shrink: 0; }
  nav .hamburger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.75); border-radius: 2px; transition: transform 0.25s ease, opacity 0.25s ease; }
  nav .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  nav .hamburger.open span:nth-child(2) { opacity: 0; }
  nav .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobile-menu { position: fixed; top: 64px; left: 0; right: 0; bottom: 0; background: #07111E; z-index: 99; flex-direction: column; align-items: center; justify-content: center; border-top: 1px solid rgba(196,146,10,0.28); overflow-y: auto; }
  .mobile-menu.open { display: flex !important; }
  .mobile-menu a { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.68); text-decoration: none; padding: 18px 0; width: 100%; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .mobile-menu a:hover, .mobile-menu a.active { color: #E8B830; background: rgba(196,146,10,0.04); }
  .mobile-menu .mobile-cta { margin-top: 24px; background: linear-gradient(135deg, #9A7008, #C4920A, #E8B830); color: #07111E !important; font-weight: 700; padding: 16px 48px !important; width: auto !important; border-bottom: none !important; }
}
