/* Shared site header (scripts/site-nav.mjs puts the markup on every page; site-nav.js runs the menu). 30 Oct 2026 */
.sn-skip { position: absolute; left: 12px; top: -60px; z-index: 2000; background: #1d1d1f; color: #fff; padding: 10px 14px; border-radius: 10px; font: 500 14px/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; text-decoration: none; }
.sn-skip:focus { top: 12px; }
.sn { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(0, 0, 0, 0.08); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; color: #1d1d1f; }
/* the frosted glass sits on a pseudo-element: backdrop-filter on .sn itself would make it the containing block of the fixed menu */
.sn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255, 255, 255, 0.72); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); }
.sn--dark { border-bottom-color: rgba(255, 255, 255, 0.10); color: #f5f5f7; }
.sn--dark::before { background: rgba(22, 22, 23, 0.72); }
html { scroll-padding-top: 64px; }  /* in-page anchors clear the sticky header */
.sn-in { max-width: 1024px; margin: 0 auto; height: 52px; padding: 0 22px; display: flex; align-items: center; gap: 22px; box-sizing: border-box; }
.sn-logo { display: flex; align-items: center; gap: 9px; margin-right: auto; color: inherit; text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; }
.sn-logo img { width: 28px; height: 28px; border-radius: 7px; display: block; }
.sn-links { display: flex; align-items: center; gap: 22px; }
.sn-links a { color: inherit; opacity: 0.82; text-decoration: none; font-size: 13px; padding: 14px 0; white-space: nowrap; }
.sn-links a:hover, .sn-links a[aria-current="page"] { opacity: 1; }
.sn-links a[aria-current="page"] { font-weight: 600; }
.sn-toggle { display: none; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; margin-right: -10px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.sn-bars { position: relative; width: 18px; height: 12px; display: block; }
.sn-bars span { position: absolute; left: 0; right: 0; height: 1.5px; border-radius: 1px; background: currentColor; transition: transform 0.25s ease, top 0.25s ease; }
.sn-bars span:first-child { top: 2px; } .sn-bars span:last-child { top: 9px; }
.sn-toggle[aria-expanded="true"] .sn-bars span:first-child { top: 5.5px; transform: rotate(45deg); }
.sn-toggle[aria-expanded="true"] .sn-bars span:last-child { top: 5.5px; transform: rotate(-45deg); }
.sn-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.sn-menu { position: fixed; top: 52px; left: 0; right: 0; bottom: 0; overflow-y: auto; background: #fff; padding: 8px 28px 48px; }
.sn--dark .sn-menu { background: #161617; }
.sn-menu[hidden] { display: none; }
.sn-menu a { display: block; color: inherit; text-decoration: none; font-size: 24px; font-weight: 600; letter-spacing: -0.015em; padding: 12px 0; border-bottom: 1px solid rgba(127, 127, 127, 0.18); }
.sn-menu a[aria-current="page"] { opacity: 0.6; }
.sn a:focus-visible, .sn button:focus-visible, .sn-skip:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; border-radius: 6px; }
#sn-content:focus { outline: none; }
@media (max-width: 900px) { .sn-links { display: none; } .sn-toggle { display: flex; } }
@media (prefers-reduced-motion: reduce) { .sn-bars span { transition: none; } }
.sn--inset { margin: -20px 0 20px; }  /* product legal/support pages pad <body>; site-nav.js makes it full width */
