/* Shared Products & Services disclosure. Keep the open links in normal tab order. */
.services-menu { position: relative; }
.services-toggle { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--ink); font-size: 13px; font-weight: 500; }
.services-toggle svg { width: 16px; height: 16px; transition: transform .15s ease; }
.services-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
.services-toggle:hover, .services-toggle[aria-expanded=true], .services-toggle[data-current] { color: var(--blue); }
.services-panel { position: absolute; top: 100%; left: -20px; width: 350px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 16px 32px rgba(21,37,50,.1); }
.services-panel a { display: block; padding: 14px 12px; border-radius: 8px; text-decoration: none; }
.services-panel a:hover, .services-panel a:focus-visible { background: var(--mist); }
.services-panel strong { display: block; font-size: 15px; font-weight: 600; }
.services-panel span { display: block; margin-top: 3px; font-size: 12px; color: var(--slate); }
.services-panel a[aria-current=page] strong { color: var(--blue); }
@media (max-width: 920px) {
  #site-nav { max-height: calc(100dvh - 73px); overflow-y: auto; }
  .services-toggle { width: 100%; justify-content: space-between; padding: 13px 0; font-size: 16px; }
  .services-panel { position: static; width: auto; box-shadow: none; border: 0; border-left: 2px solid var(--line); border-radius: 0; padding: 0 0 0 8px; margin-bottom: 10px; }
  .services-panel a { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) { .services-toggle svg { transition: none; } }
