/* Shared public-site refinement: navigation focus and restrained interaction feedback. */
.site-refined { --refine-ease:cubic-bezier(.22,1,.36,1); }

/* A temporary backdrop draws attention to the solid, sharp navigation. */
.site-refined .nav-backdrop {
  position:fixed;
  inset:0;
  z-index:90;
  background:rgb(0 0 0 / 22%);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 240ms ease,visibility 0s 240ms;
}
@media(min-width:1181px) {
  .site-refined .site-header.is-menu-open ~ .nav-backdrop {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
  }
}
.site-refined .mega-wrap {
  border-bottom:1px solid #344150;
  box-shadow:0 20px 40px rgb(0 0 0 / 18%);
  max-height:calc(100dvh - 78px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.site-refined .mega-wrap.is-open .mega-panel:not([hidden]) .mega-intro,
.site-refined .mega-wrap.is-open .mega-panel:not([hidden]) .mega-group {
  animation:iv-menu-arrive 320ms var(--refine-ease) both;
}
.site-refined .mega-wrap.is-open .mega-group:nth-child(2) { animation-delay:35ms; }
.site-refined .mega-wrap.is-open .mega-group:nth-child(3) { animation-delay:70ms; }
@keyframes iv-menu-arrive {
  from { opacity:.25;translate:0 7px; }
  to { opacity:1;translate:0 0; }
}

/* One fine indicator travels between navigation items. */
.site-refined .desktop-nav { position:relative; }
.site-refined .nav-trigger { display:inline-flex;align-items:center;gap:9px;transition:color 160ms; }
.site-refined .nav-trigger::before {
  content:"";
  order:1;
  width:5px;
  height:5px;
  margin-top:-3px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  rotate:45deg;
  opacity:.65;
  transition:rotate 220ms var(--refine-ease),opacity 180ms;
}
.site-refined .nav-trigger[aria-expanded="true"]::before { rotate:225deg;opacity:1; }
.site-refined .nav-marker-enabled .nav-trigger::after { display:none; }
.site-refined .nav-marker {
  position:absolute;
  left:0;
  bottom:14px;
  width:var(--marker-width,0px);
  height:2px;
  background:#639fff;
  border-radius:2px;
  transform:translateX(var(--marker-x,0px));
  opacity:0;
  pointer-events:none;
  transition:transform 280ms var(--refine-ease),width 280ms var(--refine-ease),opacity 160ms;
}
.site-refined .nav-marker.is-visible { opacity:1; }
.site-refined .mega-link {
  position:relative;
  padding-right:19px;
  transition:color 170ms,translate 230ms var(--refine-ease);
}
.site-refined .mega-link::after {
  content:"";
  position:absolute;
  right:4px;
  top:16px;
  width:5px;
  height:5px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  rotate:45deg;
  opacity:0;
  translate:-4px 0;
  transition:opacity 170ms,translate 230ms var(--refine-ease);
}
.site-refined .mega-link:is(:hover,:focus-visible) { color:#a7c9ff;translate:4px 0; }
.site-refined .mega-link:is(:hover,:focus-visible)::after { opacity:1;translate:0 0; }

/* A more purposeful action treatment, without enlarging or moving the label. */
.site-refined .button:has(.arrow) { gap:12px;padding-inline:16px; }
.site-refined .button .arrow {
  display:grid;
  place-items:center;
  width:20px;
  height:24px;
  border-left:1px solid rgb(255 255 255 / 25%);
  transition:background-color 180ms,border-color 180ms,translate 220ms var(--refine-ease);
}
.site-refined .button:is(:hover,:focus-visible) .arrow {
  transform:none;
  translate:2px -1px;
  border-color:rgb(255 255 255 / 50%);
  background:rgb(255 255 255 / 8%);
}
.site-refined .text-link:not(.button) {
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:6px;
  text-decoration-thickness:1px;
  transition:text-decoration-color 200ms,color 180ms;
}
.site-refined .text-link:is(:hover,:focus-visible) { text-decoration-color:#789ed0; }
.site-refined .hero-console { border-color:#3b4859; }
.site-refined .hero-console-head { background:#07111c; }
.site-refined .component-more span { transition:translate 220ms var(--refine-ease); }
.site-refined .hero-node:is(:hover,:focus-within) .component-more span { translate:4px 0; }
.site-refined .boundary-details details { transition:border-color 200ms; }
.site-refined .boundary-details details[open] { border-color:#5f85b3; }
.site-refined .boundary-details details[open] summary { color:#c6dcfa; }

/* The public demo entry uses a compact header; its portal links share the finish. */
.site-refined .gateway-actions .btn-primary { gap:12px; }
.site-refined .gateway-actions .btn-primary span[aria-hidden] {
  display:inline-grid;place-items:center;width:24px;height:24px;
  border-left:1px solid rgb(255 255 255 / 25%);
  transition:translate 220ms var(--refine-ease),border-color 180ms;
}
.site-refined .gateway-actions .btn-primary:is(:hover,:focus-visible) span[aria-hidden] {
  translate:2px -1px;border-color:rgb(255 255 255 / 50%);
}
.site-refined .auth-panel { border-color:#3b4859; }

@media(prefers-reduced-motion:reduce) {
  .site-refined .gateway-actions .btn-primary span[aria-hidden] { transition:none;translate:none!important; }
  .site-refined .nav-backdrop,
  .site-refined .nav-trigger,.site-refined .nav-trigger::before,
  .site-refined .nav-marker,.site-refined .mega-link,.site-refined .mega-link::after,
  .site-refined .button .arrow,
  .site-refined .text-link,.site-refined .component-more span,.site-refined .boundary-details details { transition:none; }
  .site-refined .mega-wrap.is-open .mega-intro,
  .site-refined .mega-wrap.is-open .mega-group { animation:none!important; }
  .site-refined .mega-link:is(:hover,:focus-visible),
  .site-refined .hero-node:is(:hover,:focus-within) .component-more span,
  .site-refined .button:is(:hover,:focus-visible) .arrow { translate:none; }
}
