body.site {
  --lab-navy: #123047;
  --lab-deep: #0c2236;
  --lab-ice: #eef3f8;
  --lab-line: rgba(170, 200, 220, 0.22);
  --lab-accent: #1f5f99;
  --lab-discover-deep: #163a56;
  --text-on-dark: #e8eef4;
  --muted-on-dark: rgba(232, 238, 244, 0.62);
  background: #163a56;
  color: var(--text-on-dark);
  overflow-x: hidden;
}

body.site.site--home:not(.is-home-panel-2):not(.is-home-panel-3) {
  background: var(--lab-deep);
}

body.site.site--home.is-home-panel-3 {
  background: #2c2610;
}

body.site .site-nav {
  background: var(--lab-ice);
  border-bottom: 3px solid var(--lab-navy);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 8px 22px rgba(6, 18, 32, 0.18);
}

body.site .site-nav__brand,
body.site .site-nav__brand-text,
body.site .site-nav__brand-shobe,
body.site .site-nav__date {
  color: var(--lab-navy);
}

body.site .site-nav__date {
  color: #2c4a63;
}

body.site .site-nav__user {
  color: var(--lab-navy);
  background: #fff;
  border: 1px solid #c5d2de;
  box-shadow: none;
}

body.site .site-nav__user-label {
  color: #4d6780;
}

body.site .site-nav__user-name {
  color: var(--lab-navy);
}

body.site .site-nav__user-icon {
  background: linear-gradient(145deg, #1f5f99, #123047);
}

body.site .site-nav__cta {
  background: var(--lab-navy);
  color: #fff;
  box-shadow: none;
}

body.site .site-nav__cta:hover {
  filter: none;
  background: #0e2438;
  box-shadow: none;
}

body.site .site-main {
  min-height: calc(100dvh - 4.5rem);
  position: relative;
  z-index: 1;
}

.lab-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  filter: brightness(1.28) saturate(1.08);
  background:
    radial-gradient(ellipse 90% 55% at 50% -8%, rgba(72, 128, 176, 0.4), transparent 58%),
    linear-gradient(180deg, #1a4d6e 0%, #163a56 100%);
}

body.site--home:not(.is-home-panel-2):not(.is-home-panel-3) .lab-ambient {
  filter: brightness(1) saturate(1);
  background:
    radial-gradient(ellipse 90% 55% at 50% -8%, rgba(40, 92, 138, 0.28), transparent 58%),
    linear-gradient(180deg, #123047 0%, #0c2236 100%);
}

body.site--home.is-home-panel-2 .lab-ambient {
  filter: brightness(1.28) saturate(1.08);
  background:
    radial-gradient(ellipse 90% 55% at 50% -8%, rgba(72, 128, 176, 0.4), transparent 58%),
    linear-gradient(180deg, #1a4d6e 0%, #163a56 100%);
}

.lab-ambient__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.28;
  will-change: transform;
}

.lab-ambient__orb--a {
  width: 26rem;
  height: 26rem;
  top: 8%;
  right: -8rem;
  background: #2a628c;
  animation: lab-float-a 26s ease-in-out infinite alternate;
}

.lab-ambient__orb--b {
  width: 22rem;
  height: 22rem;
  bottom: 4%;
  left: -7rem;
  background: #163a58;
  animation: lab-float-b 32s ease-in-out infinite alternate;
}

.lab-ambient__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(180, 210, 230, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180, 210, 230, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 75% 65% at 50% 45%, #000 20%, transparent 78%);
  animation: lab-grid 22s linear infinite;
}

.lab-ambient__grain {
  position: absolute;
  inset: 0;
  opacity: 0.07;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

body.site--home .home-stage {
  background: transparent;
}

body.site--home .home-stage__atmosphere,
body.site--home .home-stage__grid {
  display: none;
}

body.site--home .home-amvals__title,
body.site--home .home-amvals__empty {
  color: #e8eef4;
}

@keyframes lab-float-a {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-2.5rem, 2rem, 0); }
}

@keyframes lab-float-b {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(2.8rem, -1.6rem, 0); }
}

@keyframes lab-grid {
  from { background-position: 0 0, 0 0; }
  to { background-position: 48px 48px, 48px 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .lab-ambient__orb,
  .lab-ambient__grid {
    animation: none;
  }
}
