/* ==========================================================================
   DOC NAV (mini "remote control" for legal pages) — Desktop (1280–1920px)
   Shared component — same markup dropped into every legal page's main
   section (terms.html, privacy.html, and future ones). Sticky: starts
   right under the hero and then rides down with the scroll, staying
   pinned near the top of the viewport for the rest of the (very long)
   document, so a reader can always jump to another legal page.
   ========================================================================== */

/* Not position:sticky — its containing section has overflow:hidden
   (needed elsewhere on the page), which breaks sticky in a way that
   just lets it scroll away normally. js/doc-nav.js toggles .is-pinned
   instead: absolute at its natural spot under the hero until the
   scroll would carry it above that point, then fixed at the same
   visual spot (immune to the overflow:hidden ancestor) so it rides
   down with the page; scrolling back up releases it at the same place. */
.doc-nav {
    position: absolute;
    top: 8rem;
    left: 0;
    margin-left: 5rem;
    width: 50rem;
    height: 22rem;
    z-index: 2;
}

.doc-nav.is-pinned {
    position: fixed;
    top: 8rem;
    left: 5rem;
    margin-left: 0;
}

.doc-nav-pair {
    position: absolute;
    left: 0;
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.doc-nav-pair:hover,
.doc-nav-pair.is-active {
    opacity: 0.5;
}

.doc-nav-pair.is-disabled {
    opacity: 0.2;
    pointer-events: none;
    transition: none;
}

.doc-nav-pair--1 { top: 0; }
.doc-nav-pair--2 { top: 8rem; }
.doc-nav-pair--3 { top: 16rem; }

.doc-nav-label {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    white-space: nowrap;
    font-family: 'Atyp Display', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 3.5rem;
    line-height: 3.5rem;
    letter-spacing: -0.05em;
    color: #ffffff;
}

.doc-nav-line {
    position: absolute;
    left: 0;
    top: 5rem;
    display: block;
    width: 50rem;
    height: 0.1rem;
    background-color: #ffffff;
}

/* Cross-page transition dim, used when jumping between legal pages via
   the doc nav — js/doc-nav.js fades this in, navigates, then the next
   page fades it back out once it has restored the matching scroll
   position, so the reader never sees a jump back to the hero. */
.doc-nav-transition {
    position: fixed;
    inset: 0;
    background-color: #000000;
    opacity: 0;
    z-index: 9999;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.doc-nav-transition.is-visible {
    opacity: 0.85;
    pointer-events: auto;
}

/* Set synchronously (inline, before first paint) when a matching
   scroll position needs restoring, so the page is fully hidden until
   js/doc-nav.js has scrolled it into place. */
html.doc-nav-restoring .doc-nav-transition {
    opacity: 0.85;
    pointer-events: auto;
    transition: none;
}
