/* ======================================================================
 * CUSTOMER REVIEWS — the floating section pill (20 Aug 2026).
 *
 * Replaces the page's own centred "On this page" <details>. That control
 * was fixed and centred, so it rode the full page height and printed
 * itself over the H2s of three chapters ("without being asked.",
 * "Three, read in full.", "24 reviews, in their own words."). Measured on
 * the live page at 1440x900 before this pass.
 *
 * This is the homepage component: markup + /assets/js/home-section-nav.mjs
 * unchanged, palette re-skinned to this page's navy/gold. Page-owned
 * file, single writer, loaded after reviews-2026.css.
 * ==================================================================== */

.page--reviews .hxnav {
  position: fixed;
  top: calc(var(--hxnav-seam, 65px) + 10px);
  left: 50%;
  z-index: 900;
  transform: translate(-50%, -14px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), top 240ms ease;
}
.page--reviews .hxnav.is-in { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.page--reviews .hxnav.is-docked { top: 10px; }

.page--reviews .hxnav__list {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 4px;
  list-style: none;
  border-radius: 999px;
  background: rgb(14 26 46 / 68%);
  border: 1px solid rgb(251 248 242 / 16%);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 18px 44px -20px rgb(8 14 26 / 70%);
}
.page--reviews .hxnav__curli { display: contents; }

.page--reviews .hxnav [data-hxnav-link] {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 40px;
  padding: 0.5rem 0.95rem;
  border-radius: 999px;
  color: rgb(251 248 242 / 88%);
  font-size: 0.875rem;
  font-weight: 750;
  white-space: nowrap;
  text-decoration: none;
  transition: color 200ms ease;
}
.page--reviews .hxnav [data-hxnav-link] i {
  font-style: normal;
  font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgb(224 196 140 / 88%);
  transition: color 200ms ease;
}
.page--reviews .hxnav [data-hxnav-link].is-on,
.page--reviews .hxnav [data-hxnav-link].is-on i { color: #12203a; }
.page--reviews .hxnav [data-hxnav-link]:focus-visible { outline: 3px solid #f0bd77; outline-offset: 2px; }

.page--reviews .hxnav__cursor {
  position: absolute;
  z-index: 0;
  top: 4px;
  left: 0;
  height: calc(100% - 8px);
  width: 0;
  border-radius: 999px;
  background: #c5a66a;
  opacity: 0;
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), width 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 200ms ease;
  pointer-events: none;
}

/* Anchors land clear of the header AND the pill, so a jump never parks a
   heading underneath the control that jumped to it. */
.page--reviews #rv-overview,
.page--reviews #rv-voices,
.page--reviews #rv-featured,
.page--reviews #rv-archive,
.page--reviews #rv-contact {
  scroll-margin-top: calc(var(--head-h, 65px) + 84px);
}

/* Five chapters fit on one line down to 48em; below that the labels give
   way to their numbers rather than the pill growing a second line. */
@media (max-width: 47.99em) {
  .page--reviews .hxnav [data-hxnav-link] { padding: 0.5rem 0.72rem; }
  .page--reviews .hxnav [data-hxnav-link] span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page--reviews .hxnav,
  .page--reviews .hxnav__cursor,
  .page--reviews .hxnav [data-hxnav-link] { transition: none !important; }
}

@media print { .page--reviews .hxnav { display: none !important; } }
