/* RD NovaSphere V108 — universal sticky navigation + mobile navigation/typography contract. */
:root{--rd-sticky-offset:0px;--rd-nav-z:9600}

/* Every real page header/navigation remains available while scrolling. Sticky keeps document flow, so content is never hidden underneath it. */
body>header,
body>nav,
body>.site-header,
body>.topbar,
header.site-header,
header.topbar,
header[role="banner"]{
  position:sticky!important;
  top:0!important;
  z-index:var(--rd-nav-z)!important;
  isolation:isolate;
}

/* Give sticky surfaces a reliable readable backing without flattening each product's own design. */
body>header::before,
body>nav::before,
body>.site-header::before,
body>.topbar::before,
header.site-header::before,
header.topbar::before,
header[role="banner"]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(2,10,24,.84);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  border-bottom:1px solid rgba(135,174,220,.12);
  pointer-events:none;
}

/* Header internals must be allowed to shrink instead of forcing sideways scrolling. */
header,header nav,header .nav,header .navlinks,header .nav-links,header .actions,header .links{
  min-width:0;
  max-width:100%;
}
header nav{box-sizing:border-box}
header a,header button{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}

/* Keep ordinary interface words whole; only unavoidable technical strings may break. */
:where(h1,h2,h3,h4,h5,h6,button,.btn,.brand,.navlink,.navlinks a,.nav-links a,.chip,.pill,.tag,.badge){
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
:where(p,li,label,small,.helper,.description,.lead){overflow-wrap:break-word!important;word-break:normal!important}
:where(code,pre,.url-wrap,[data-allow-anywhere]){overflow-wrap:anywhere!important;word-break:break-word!important}

/* Anchor navigation should land below the sticky header. */
:where(section,article,[id]){scroll-margin-top:96px}

@media(max-width:820px){
  :root{--rd-sticky-offset:0px}
  body>header,body>nav,body>.site-header,body>.topbar,header.site-header,header.topbar,header[role="banner"]{
    max-width:100vw!important;
  }
  header nav{
    width:100%!important;
    max-width:100vw!important;
    padding-left:max(12px,env(safe-area-inset-left,0px))!important;
    padding-right:max(12px,env(safe-area-inset-right,0px))!important;
    gap:.65rem!important;
  }
  header .brand{flex:0 1 auto!important;min-width:0!important}
  header .navlinks,header .nav-links,header .links{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap!important;
  }
  header .navlinks::-webkit-scrollbar,header .nav-links::-webkit-scrollbar,header .links::-webkit-scrollbar{display:none}
  header .navlinks a,header .nav-links a,header .links a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:42px;
    display:inline-flex;
    align-items:center;
  }
  header button,header a[role="button"]{min-height:42px}
  :where(section,article,[id]){scroll-margin-top:82px}
}

@media(max-width:520px){
  header nav{gap:.45rem!important}
  header .brand{font-size:clamp(.72rem,3.7vw,.98rem)!important;white-space:nowrap!important}
  header .navlinks,header .nav-links,header .links{gap:.35rem!important}
  header .navlinks a,header .nav-links a,header .links a{font-size:.82rem!important;padding-inline:.5rem!important}
}
