/* Shared accessibility and navigation across marketing and document pages. */
html { scroll-padding-top: 100px; }
:focus-visible { outline: 3px solid #a30052; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 20px; background: #fff; color: #1a1a1a; }
.skip-link:focus { top: 10px; }
.menu-toggle { display: none; border: 1px solid #f0e0ee; border-radius: 10px; padding: 10px 14px; background: #fff; color: #1a1a1a; font: inherit; cursor: pointer; }
.nav-links .nav-cta { color: #fff; }
.reveal, .js .reveal { opacity: 1; transform: none; }
.hero-grid > *, .footer-grid > *, .plan-layout > * { min-width: 0; }
@media (max-width: 1050px) {
  .nav-in, .nav-inner { flex-wrap: wrap; gap: 12px; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav-links { width: 100%; flex-wrap: wrap; gap: 12px 20px; padding: 12px 0; }
  .nav-links a:not(.nav-cta) { display: block; }
  .nav-links[hidden] { display: none; }
  .nav:has(.nav-links:not([hidden])) { background: #fafbfd; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print { .menu-toggle, .skip-link { display: none; } }
