.navShell {
  position: absolute;
  inset: 0 0 auto;
  z-index: 40;
  color: #fafafa;
}

.nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 78px;
  margin: 0 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.nav::before,
.nav::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 78px;
  background: rgba(255, 255, 255, 0.1);
}

.nav::before {
  left: 28px;
}

.nav::after {
  right: 28px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  color: inherit;
  font-size: 14px;
  font-weight: 640;
  letter-spacing: -0.025em;
  text-decoration: none;
}

.brandMark {
  display: inline-block;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  background: currentColor;
  color: #fafafa;
  -webkit-mask: url("/andromeda-mark.svg") center / contain no-repeat;
  mask: url("/andromeda-mark.svg") center / contain no-repeat;
}

.brandMarkDark {
  color: #09090b;
}

.appleMark {
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-0.5px);
}

.navMeta {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.35);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
}

.navMeta i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
}

.navLinks {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 26px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 11px;
}

.navLinks > a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}

.navLinks > a:hover {
  color: #fafafa;
}

.navAccount {
  color: rgba(255, 255, 255, 0.72) !important;
}

.navDownload {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fafafa !important;
  font-weight: 620;
  transition:
    background 180ms ease,
    color 180ms ease !important;
}

.navDownload:hover {
  background: #fafafa;
  color: #09090b !important;
}

.downloadDisabled,
.downloadDisabled:hover {
  cursor: not-allowed;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(255, 255, 255, 0.38) !important;
}

.navShellLight {
  color: #09090b;
}

.navShellLight .nav,
.navShellLight .navDownload {
  border-color: rgba(9, 9, 11, 0.15);
}

.navShellLight .nav::before,
.navShellLight .nav::after {
  background: rgba(9, 9, 11, 0.1);
}

.navShellLight .navMeta,
.navShellLight .navLinks {
  color: rgba(9, 9, 11, 0.46);
}

.navShellLight .navLinks > a:hover {
  color: #09090b;
}

.navShellLight .navAccount {
  color: rgba(9, 9, 11, 0.72) !important;
}

.navShellLight .navDownload {
  background: #09090b;
  color: #fafafa !important;
}

.navShellLight .navDownload:hover {
  background: #000;
  color: #fff !important;
}

.navShellLight .downloadDisabled,
.navShellLight .downloadDisabled:hover {
  background: rgba(9, 9, 11, 0.035);
  color: rgba(9, 9, 11, 0.38) !important;
}

.footer {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  padding: 72px 28px 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  background: #000;
  color: #fafafa;
}

.footerLead p {
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: clamp(22px, 2.7vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.footerLinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.footerLinks > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}

.footerLinks span,
.footerBase {
  color: rgba(255, 255, 255, 0.32);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.13em;
}

.footerLinks span {
  margin-bottom: 8px;
}

.footerLinks a {
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  text-decoration: none;
  transition: color 180ms ease;
}

.footerLinks a:hover {
  color: #fafafa;
}

.footerBase {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-top: 52px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.footerBase span:nth-child(2) {
  justify-self: center;
}

.footerBase a {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  text-decoration: none;
}

.footerDownloadDisabled {
  justify-self: end;
}

.footerLight {
  border-color: rgba(9, 9, 11, 0.13);
  background: #fafafa;
  color: #09090b;
}

.footerLight .footerLead p {
  color: rgba(9, 9, 11, 0.5);
}

.footerLight .footerLinks span,
.footerLight .footerBase {
  color: rgba(9, 9, 11, 0.35);
}

.footerLight .footerLinks a {
  color: rgba(9, 9, 11, 0.62);
}

.footerLight .footerLinks a:hover {
  color: #09090b;
}

.footerLight .footerBase {
  border-color: rgba(9, 9, 11, 0.11);
}

@media (max-width: 760px) {
  .nav {
    grid-template-columns: 1fr auto;
    min-height: 68px;
    margin: 0 14px;
  }

  .nav::before,
  .nav::after {
    height: 68px;
  }

  .nav::before {
    left: 14px;
  }

  .nav::after {
    right: 14px;
  }

  .navMeta,
  .navLinks > a:not(.navDownload):not(.navAccount) {
    display: none;
  }

  .navLinks {
    gap: 12px;
  }

  .navDownload {
    height: 38px;
  }

  .footer {
    grid-template-columns: 1fr;
    gap: 54px;
    padding: 58px 20px 24px;
  }

  .footerLinks {
    max-width: 360px;
  }

  .footerBase {
    grid-template-columns: 1fr auto;
    gap: 20px;
    margin-top: 8px;
  }

  .footerBase span:nth-child(2) {
    display: none;
  }
}

.site {
  --hero-x: 0px;
  --hero-y: 0px;
  min-height: 100vh;
  overflow: hidden;
  background: #000;
  color: #fafafa;
  font-family: var(--font-geist-sans, "Geist", "Helvetica Neue", Arial, sans-serif);
}

.site * {
  box-sizing: border-box;
}

.site ::selection {
  background: #fafafa;
  color: #09090b;
}

.site a {
  color: inherit;
  text-decoration: none;
}

.hero {
  --hero-x: 0px;
  --hero-y: 0px;
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 0.95fr);
  align-items: center;
  gap: clamp(32px, 4vw, 64px);
  overflow: hidden;
  padding: 100px max(28px, calc((100vw - 1440px) / 2)) 48px;
  background: #000;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, #000 100%),
    radial-gradient(circle at 72% 46%, transparent, rgba(0, 0, 0, 0.28) 62%);
}

.kineticField {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.kineticField i {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fafafa;
  animation: particlePulse var(--particle-duration) ease-in-out
    var(--particle-delay) infinite;
}

.kineticField i:nth-child(5n) {
  width: 3px;
  height: 3px;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.heroGrid {
  position: absolute;
  inset: 0;
  opacity: 0.58;
  background-image: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.12) 0.75px,
    transparent 0.8px
  );
  background-size: 18px 18px;
  mask-image: radial-gradient(circle at 69% 46%, black, transparent 60%);
  transform: translate(
    calc(var(--hero-x) * 0.22),
    calc(var(--hero-y) * 0.22)
  );
  transition: transform 850ms cubic-bezier(0.16, 1, 0.3, 1);
}

.heroCopy {
  position: relative;
  z-index: 5;
  padding: 20px 0 24px;
}

.heroIndex {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(100%, 570px);
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.4);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
}

.heroIndex i {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.16);
}

.hero h1 {
  margin: 0;
  font-size: clamp(78px, 8vw, 128px);
  font-weight: 490;
  line-height: 0.83;
  letter-spacing: -0.078em;
}

.hero h1 em {
  color: rgba(255, 255, 255, 0.36);
  font-style: normal;
}

.heroCopy > p {
  max-width: 580px;
  margin: 36px 0 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.7;
  letter-spacing: -0.018em;
}

.heroActions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.downloadButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 20px;
  background: #fafafa;
  color: #09090b !important;
  font-size: 12px;
  font-weight: 640;
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.downloadButton:hover {
  transform: translateY(-2px);
  background: #e4e4e7;
}

.downloadButtonDisabled,
.downloadButtonDisabled:hover {
  cursor: not-allowed;
  transform: none;
  background: rgba(250, 250, 250, 0.12);
  color: rgba(250, 250, 250, 0.46) !important;
}

.watchButton {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  font-weight: 580;
}

.compatibility {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
  color: rgba(255, 255, 255, 0.28);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.09em;
}

.compatibility i {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: currentColor;
}

.heroStudy {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  transform: translate(
    calc(var(--hero-x) * 0.34),
    calc(var(--hero-y) * 0.34)
  );
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.heroStudy::after {
  content: "";
  position: absolute;
  z-index: 12;
  top: 0;
  right: -64px;
  bottom: 0;
  width: 64px;
  background: #000;
  pointer-events: none;
}

.study {
  width: min(100%, 700px, calc(100svh - 170px));
  margin: 0 auto;
}

.studyCoordinates,
.studyFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.3);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 7px;
  letter-spacing: 0.1em;
}

.studyCoordinates {
  padding: 0 8px 13px;
}

.studyFooter {
  padding: 13px 8px 0;
}

.studyFrame {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: #000;
}

.studyFrame::before,
.studyFrame::after {
  content: none;
}

.studyImage {
  z-index: 2;
  object-fit: contain;
  opacity: 0.66;
  filter: grayscale(1) invert(1) contrast(2.2) brightness(0.74);
  mix-blend-mode: screen;
  transform: none;
  animation: studyBreathe 9s ease-in-out infinite;
  transition: opacity 900ms ease;
}

.studyScene {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  background: #000;
}

.studySceneProject {
  position: absolute !important;
  inset: auto !important;
  top: -56% !important;
  left: -100% !important;
  width: 200% !important;
  height: 200% !important;
  opacity: 0;
  filter: grayscale(1) contrast(1.16) brightness(0.94);
  transition: opacity 1.1s ease;
}

.studySceneProjectLive {
  opacity: 1;
}

.studySceneProject canvas {
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  transform-origin: center !important;
}

.studySceneProject a {
  display: none !important;
}

.studyCircle,
.studySquare,
.studyCrosshair {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.studyCircle {
  inset: 12%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  animation: studyOrbit 24s linear infinite;
}

.studyCircle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fafafa;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.6);
}

.studySquare {
  inset: 18%;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.studyCrosshair {
  inset: 0;
  background:
    linear-gradient(
      90deg,
      transparent calc(50% - 0.5px),
      rgba(255, 255, 255, 0.09) 50%,
      transparent calc(50% + 0.5px)
    ),
    linear-gradient(
      transparent calc(50% - 0.5px),
      rgba(255, 255, 255, 0.09) 50%,
      transparent calc(50% + 0.5px)
    );
}

.heroRail {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 46px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.3);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 7px;
  letter-spacing: 0.13em;
}

.heroRail span:nth-child(2) {
  justify-self: center;
}

.heroRail span:last-child {
  justify-self: end;
}

.demo {
  position: relative;
  padding: 150px 28px 0;
  background: #fafafa;
  color: #09090b;
}

.demoHeading {
  display: grid;
  grid-template-columns: 0.35fr 1fr 0.72fr;
  align-items: end;
  gap: 46px;
  width: min(100%, 1384px);
  margin: 0 auto 66px;
}

.demoHeading > span {
  align-self: start;
  padding-top: 12px;
  color: rgba(9, 9, 11, 0.42);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
}

.demoHeading h2 {
  margin: 0;
  font-size: clamp(58px, 7vw, 108px);
  font-weight: 500;
  line-height: 0.88;
  letter-spacing: -0.075em;
}

.demoHeading p {
  margin: 0 0 5px;
  color: rgba(9, 9, 11, 0.52);
  font-size: 14px;
  line-height: 1.7;
}

.demoFrame {
  position: relative;
  width: min(100%, 1384px);
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(9, 9, 11, 0.16);
  background: #000;
  box-shadow: 0 55px 150px rgba(9, 9, 11, 0.16);
}

.demoFrame::before,
.demoFrame::after {
  content: "";
  position: absolute;
  z-index: 8;
  width: 38px;
  height: 38px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.4);
  pointer-events: none;
}

.demoFrame::before {
  left: 12px;
  top: 12px;
  border-width: 1px 0 0 1px;
}

.demoFrame::after {
  right: 12px;
  bottom: 12px;
  border-width: 0 1px 1px 0;
}

.demoVideo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.demoPoster {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.055), transparent 42%),
    #000;
}

.demoPoster::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.55;
  background-image: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.18) 0.65px,
    transparent 0.75px
  );
  background-size: 16px 16px;
  mask-image: radial-gradient(circle, black, transparent 72%);
}

.demoOrbit {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: demoOrbit 22s linear infinite;
}

.demoOrbit::before,
.demoOrbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 50%;
}

.demoOrbit::before {
  inset: 17%;
}

.demoOrbit::after {
  inset: 34%;
}

.demoOrbit i {
  position: absolute;
  border-radius: 50%;
  background: #fafafa;
}

.demoOrbit i:nth-child(1) {
  left: 18%;
  top: 9%;
  width: 4px;
  height: 4px;
}

.demoOrbit i:nth-child(2) {
  right: 5%;
  top: 48%;
  width: 3px;
  height: 3px;
}

.demoOrbit i:nth-child(3) {
  left: 46%;
  bottom: -2px;
  width: 5px;
  height: 5px;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.7);
}

.demoMonogram {
  position: absolute;
  left: 50%;
  top: 50%;
  color: rgba(255, 255, 255, 0.08);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(180px, 26vw, 420px);
  font-style: italic;
  line-height: 1;
  transform: translate(-54%, -50%);
}

.demoPlay {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 6;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fafafa;
  color: #09090b;
  transform: translate(-50%, -50%);
  transition: transform 220ms ease;
}

.demoFrame:hover .demoPlay {
  transform: translate(-50%, -50%) scale(1.08);
}

.demoTelemetry {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.34);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.12em;
}

.demoRail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(100%, 1384px);
  margin: 0 auto;
  padding: 58px 0 138px;
}

.demoRail > div {
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 16px;
  padding: 22px 28px 22px 0;
  border-top: 1px solid rgba(9, 9, 11, 0.16);
}

.demoRail > div + div {
  padding-left: 28px;
  border-left: 1px solid rgba(9, 9, 11, 0.13);
}

.demoRail span {
  grid-row: 1 / 3;
  color: rgba(9, 9, 11, 0.36);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
}

.demoRail strong {
  font-size: 15px;
  font-weight: 620;
}

.demoRail p {
  margin: 8px 0 0;
  color: rgba(9, 9, 11, 0.48);
  font-size: 12px;
}

.conversion {
  position: relative;
  min-height: 790px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 130px 28px;
  background: #000;
  text-align: center;
}

.conversion .kineticField {
  -webkit-mask-image: radial-gradient(
    ellipse 62% 46% at 50% 50%,
    transparent 0%,
    transparent 48%,
    rgba(0, 0, 0, 0.78) 68%,
    #000 100%
  );
  mask-image: radial-gradient(
    ellipse 62% 46% at 50% 50%,
    transparent 0%,
    transparent 48%,
    rgba(0, 0, 0, 0.78) 68%,
    #000 100%
  );
}

.conversion > *:not(.kineticField, .conversionOrbit) {
  position: relative;
  z-index: 4;
}

.conversionOrbit {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(72vw, 780px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.conversionOrbit i {
  position: absolute;
  inset: 18%;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
}

.conversionOrbit i:last-child {
  inset: 36%;
}

.conversion > span {
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.34);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
}

.conversion h2 {
  width: min(1040px, calc(100% - 80px));
  max-width: 1040px;
  margin: 30px 0 38px;
  font-size: clamp(62px, 8.2vw, 124px);
  font-weight: 480;
  line-height: 0.9;
  letter-spacing: -0.068em;
  text-wrap: balance;
}

.conversion h2 em {
  color: rgba(255, 255, 255, 0.34);
  font-style: normal;
}

.conversion small {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.28);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 8px;
  letter-spacing: 0.08em;
}

@keyframes particlePulse {
  0%,
  100% {
    opacity: 0.08;
    transform: scale(0.8);
  }
  50% {
    opacity: 0.62;
    transform: scale(1.25);
  }
}

@keyframes studyBreathe {
  0%,
  100% {
    transform: scale(1.01);
  }
  50% {
    transform: scale(1.035);
  }
}

@keyframes studyOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes demoOrbit {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (max-width: 1050px) {
  .hero {
    grid-template-columns: 1fr 0.78fr;
    gap: 26px;
  }

  .hero h1 {
    font-size: clamp(70px, 9.5vw, 108px);
  }

  .demoHeading {
    grid-template-columns: 0.28fr 1fr;
  }

  .demoHeading p {
    grid-column: 2;
    max-width: 520px;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 120px 20px 80px;
  }

  .heroCopy {
    padding: 32px 0 0;
  }

  .hero h1 {
    font-size: clamp(68px, 20vw, 102px);
  }

  .heroCopy > p {
    font-size: 15px;
  }

  .heroActions {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }

  .downloadButton {
    width: min(100%, 270px);
  }

  .compatibility {
    flex-wrap: wrap;
    max-width: 310px;
    line-height: 1.5;
  }

  .heroStudy {
    width: 100%;
    margin-top: 16px;
  }

  .study {
    width: 100%;
  }

  .heroRail {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    grid-column: 1;
    grid-template-columns: 1fr auto;
    width: 100%;
    margin-top: 18px;
    padding: 0;
  }

  .heroRail span:nth-child(2) {
    display: none;
  }

  .demo {
    padding: 100px 14px 0;
  }

  .demoHeading {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 42px;
  }

  .demoHeading h2 {
    font-size: clamp(58px, 18vw, 82px);
  }

  .demoHeading p {
    grid-column: 1;
  }

  .demoFrame {
    aspect-ratio: 4 / 5;
  }

  .demoOrbit {
    width: 120%;
  }

  .demoRail {
    grid-template-columns: 1fr;
    padding: 42px 0 92px;
  }

  .demoRail > div + div {
    padding-left: 0;
    border-left: 0;
  }

  .conversion {
    min-height: 670px;
    padding: 110px 20px;
  }

  .conversionOrbit {
    width: 140vw;
  }

  .conversion h2 {
    width: 100%;
    font-size: clamp(60px, 18vw, 88px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kineticField i,
  .studyImage,
  .studyCircle,
  .demoOrbit {
    animation: none;
  }

  .heroGrid,
  .heroStudy,
  .downloadButton,
  .demoPlay {
    transition: none;
  }
}

html,body{margin:0;background:#000}
.rise{opacity:0;animation:rise .95s cubic-bezier(.16,1,.3,1) forwards}
.fade{opacity:0;animation:fade .8s ease forwards}
.grow{opacity:0;transform:scale(.96);animation:grow 1.15s cubic-bezier(.16,1,.3,1) .08s forwards}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes fade{to{opacity:1}}
@keyframes grow{to{opacity:1;transform:none}}
.oneFoot{position:relative;z-index:5;display:flex;justify-content:space-between;gap:16px;
padding:22px max(28px,calc((100vw - 1440px)/2));border-top:1px solid rgba(255,255,255,.08);
color:rgba(255,255,255,.36);font:9px/1.4 "SFMono-Regular",Consolas,monospace;letter-spacing:.14em}
@media (prefers-reduced-motion:reduce){.rise,.fade,.grow{animation:none;opacity:1;transform:none}}

/* -- one page: the Constellation sky behind the hero -- */
.sky{position:fixed;inset:-24px;z-index:0;pointer-events:none}
.sky svg{width:100%;height:100%;display:block}
.sky g{transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.d1{transform:translate(calc(var(--mx,0)*-4px),calc(var(--my,0)*-4px))}
.d2{transform:translate(calc(var(--mx,0)*-10px),calc(var(--my,0)*-10px))}
.d3{transform:translate(calc(var(--mx,0)*-18px),calc(var(--my,0)*-18px))}
.t1{animation:tw 3.1s ease-in-out infinite}.t2{animation:tw 4.3s ease-in-out -1.2s infinite}
.t3{animation:tw 5.7s ease-in-out -2.6s infinite}.t4{animation:tw 2.4s ease-in-out -.7s infinite}
.t5{animation:tw 7.9s ease-in-out -4s infinite}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.3}}
.shoot{opacity:0;animation:shoot 11s ease-in 3s infinite}
@keyframes shoot{0%{opacity:0;transform:translateX(0)}1%{opacity:1}
7%{opacity:0;transform:translateX(520px)}100%{opacity:0;transform:translateX(520px)}}

.site{background:#000}
.hero{background:transparent;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}
.hero::after{background:linear-gradient(180deg,rgba(0,0,0,0) 70%,#000 100%)}
.heroStudy::after{display:none}
.lede{position:relative;z-index:5;max-width:400px;padding:0}
.lede .brandMark{display:block;width:26px;height:26px;margin-bottom:22px;background:#fafafa}
.lede h1{margin:0;font:400 38px/1.1 ui-serif,"New York","Iowan Old Style",Georgia,serif;
letter-spacing:-.01em;color:#fafafa}
.lede p{margin:10px 0 0;color:rgba(255,255,255,.6);font-size:15px;line-height:1.55}
.lede .part{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.lede .part p{margin-top:0;color:#fafafa}
.lede .tag{display:block;margin-bottom:6px;color:rgba(255,255,255,.4);
font:9.5px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.16em}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
.join{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;
background:#262626;color:#fafafa;font-size:14px;font-weight:500;transition:background .2s,transform .15s}
.join:hover{background:#303030;transform:translateY(-1px)}
.cta small{color:rgba(255,255,255,.4);font-size:12.5px}
/* the figure: its handwriting faded out at the top, its edges feathered into the sky */
.studyFrame{background:transparent;-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 27%,#000 42%,#000 88%,transparent 100%),
linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;
mask-image:linear-gradient(to bottom,transparent 0,transparent 27%,#000 42%,#000 88%,transparent 100%),
linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);mask-composite:intersect}
.study{width:min(100%,620px,calc(100svh - 120px))}
@media (max-width:1050px){.hero{grid-template-columns:1fr}.lede{max-width:none}}
.hero{padding-left:max(56px,calc((100vw - 1440px)/2 + 56px))}
@media (max-width:760px){.hero{padding-left:22px}}
.hero{grid-template-columns:minmax(0,400px) minmax(0,580px);justify-content:center;gap:clamp(40px,6vw,96px);
padding-left:28px;padding-right:28px}
@media (max-width:1050px){.hero{grid-template-columns:minmax(0,1fr)}}
