/* Elevate navigation: floating pill nav with sliding highlight + industry dropdown (desktop),
   staggered sheet menu (mobile). Patterns adapted from 21st.dev navigation components. */
:root{--nav-ease:cubic-bezier(.16,1,.3,1)}

/* ---------- Desktop ---------- */
.desktop-nav{position:relative;gap:2px;padding:4px;margin-left:auto;background:#f2f2f0;border:1px solid #e3e3e0;border-radius:999px}
.desktop-nav>a,.nav-drop>a{position:relative;z-index:1;display:flex;align-items:center;gap:6px;min-height:38px;padding:0 15px;border-radius:999px;font-size:13px;font-weight:600;color:#4a4a50;transition:color .25s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a[aria-current=page]{color:#121214}
.desktop-nav:not(.has-pill) a[aria-current=page]{background:#fff;box-shadow:0 1px 2px #0000000f}
.nav-pill{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:#fff;box-shadow:0 1px 1px #0000000a,0 4px 14px -4px #00000024;opacity:0;pointer-events:none;transition:transform .5s var(--nav-ease),width .5s var(--nav-ease),opacity .25s ease}
.nav-drop{position:relative;display:flex}
.nav-drop>a svg{width:11px;height:11px;transition:transform .3s var(--nav-ease)}
.nav-drop:hover>a svg,.nav-drop:focus-within>a svg{transform:rotate(180deg)}
.nav-menu{position:absolute;z-index:90;top:calc(100% + 14px);left:-6px;width:400px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff;border:1px solid #e3e3e0;border-radius:18px;box-shadow:0 28px 56px -24px #12121433,0 2px 6px #0000000d;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:18% 0;transition:opacity .2s ease,transform .35s var(--nav-ease),visibility 0s linear .35s}
.nav-menu:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nav-menu a{display:block;padding:12px 14px;border-radius:12px;transition:background .2s ease}
.nav-menu a:hover,.nav-menu a:focus-visible{background:#f4f4f2}
.nav-menu strong{display:block;font-size:14px;font-weight:650;letter-spacing:-.01em;color:#121214}
.nav-menu small{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#6a6a70}
.nav-menu a.nav-menu-all{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:2px;padding:13px 14px;border-top:1px solid #eeeeec;border-radius:0 0 12px 12px;font-size:12px;font-weight:650;color:#121214}
.header-cta{transition:transform .3s var(--nav-ease),background .25s ease}
.header-cta:hover{background:#26262a;transform:translateY(-1px)}
.header-cta:active{transform:scale(.98)}

/* ---------- Mobile sheet ---------- */
@media (width<=999px){
  .mobile-menu-top>span{display:none}
  .mobile-menu nav{display:flex!important;flex-direction:column;gap:30px;padding:26px 0 10px!important}
  .mobile-menu-primary{order:1;display:flex;flex-direction:column}
  .mobile-menu-actions{order:2;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;grid-column:auto!important}
  .mobile-menu-built{order:3}
  .mobile-menu-more{order:4}
  .mobile-menu-primary a{justify-content:flex-start!important;gap:14px;min-height:60px!important;font-size:27px!important;font-weight:650!important;letter-spacing:-.035em;border-bottom:1px solid #232327!important;color:#f4f4f2!important}
  .mobile-menu-primary a span{width:auto!important;min-width:22px;color:#6f6f75!important;font-size:10px!important}
  .mobile-menu-primary a svg{margin-left:auto;width:18px!important;opacity:.45;transition:transform .3s var(--nav-ease),opacity .3s ease}
  .mobile-menu-primary a:active svg,.mobile-menu-primary a:focus-visible svg{transform:translateX(4px);opacity:1}
  .mobile-menu-primary a[aria-current=page] span{color:#e14440!important}
  .mobile-menu-actions a{min-height:54px;border-radius:12px!important;font-size:13px!important;justify-content:center!important;gap:10px}
  .mobile-menu-actions a:first-child{background:#fff;color:#111;border-color:#fff!important}
  .mobile-menu-actions a svg{width:17px}
  .mobile-menu-built{flex-direction:row!important;flex-wrap:wrap;gap:8px}
  .mobile-menu-built>p{width:100%;margin-bottom:4px!important}
  .mobile-menu-built a{border:1px solid #333338!important;border-radius:999px;min-height:40px!important;padding:0 16px;font-size:14px!important}
  .mobile-menu-more{flex-direction:row!important;flex-wrap:wrap;gap:2px 20px}
  .mobile-menu-more>p{display:none}
  .mobile-menu-more a{border:0!important;min-height:40px!important;font-size:13px!important;color:#9a9aa0!important}
  .mobile-menu[open] .mobile-menu-primary a{animation:nav-in .6s var(--nav-ease) both}
  .mobile-menu[open] .mobile-menu-primary a:nth-child(2){animation-delay:.04s}
  .mobile-menu[open] .mobile-menu-primary a:nth-child(3){animation-delay:.08s}
  .mobile-menu[open] .mobile-menu-primary a:nth-child(4){animation-delay:.12s}
  .mobile-menu[open] .mobile-menu-primary a:nth-child(5){animation-delay:.16s}
  .mobile-menu[open] .mobile-menu-primary a:nth-child(6){animation-delay:.2s}
  .mobile-menu[open] .mobile-menu-actions,.mobile-menu[open] .mobile-menu-built,.mobile-menu[open] .mobile-menu-more{animation:nav-in .6s var(--nav-ease) .24s both}
  @keyframes nav-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  .nav-pill,.nav-menu,.nav-drop>a svg{transition:none}
  .mobile-menu[open] .mobile-menu-primary a,.mobile-menu[open] .mobile-menu-actions,.mobile-menu[open] .mobile-menu-built,.mobile-menu[open] .mobile-menu-more{animation:none}
}
@media (width<=999px){
  .mobile-menu-actions a{white-space:nowrap}
  .mobile-menu-actions a:nth-child(2){background:transparent!important;color:#fff!important;border:1px solid #3a3a3f!important}
}
.footer-maps{display:block;margin-top:10px;font-size:12px;color:#a3a3aa}
.footer-maps a{color:#fff;text-decoration:underline;text-decoration-color:#e14440;text-underline-offset:3px}
.nav-menu a.nav-menu-local{grid-column:1/-1;background:#f6f6f4}
