* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --black: #050505;
  --black-2: #090909;
  --orange: #f79a2a;
  --text: #202328;
  --muted: #5f636b;
  --light: #ffffff;
  --line: rgba(255, 255, 255, 0.14);
  --page: 60rem;
  --safe-width: 1200px;
  --header-offset: 4rem;
  --font-cn: "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-en: "Montserrat", "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;
}

@media (max-width: 1300px) {
  :root {
    --safe-width: 75vw;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  background: var(--black);
  color: #fff;
  font-family: var(--font-cn);
}

.font-en {
  font-family: var(--font-en);
}

img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

.dark-section {
  background: var(--black);
  color: #fff;
}

.light-section {
  background: var(--light);
  color: var(--text);
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 60;
  width: 100%;
  height: 4.6667rem;
  background: rgba(8, 8, 8, 0.95);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: all 0.3s ease;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--safe-width);
  height: 100%;
  margin: 0 auto;
}

.site-header.is-scrolled {
  height: 4rem;
  background: rgba(8, 8, 8, 0.98);
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-header-placeholder {
  display: none;
  height: 4.6667rem;
}

body.has-fixed-header .site-header-placeholder {
  display: block;
}

body:not(.has-fixed-header) .site-header {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
}

body.has-fixed-header #header {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: all 0.3s ease;
}

.brand {
  font-size: 1.6667rem;
  font-weight: 700;
  letter-spacing: 0;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 2.25rem;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.8333rem;
}

.site-nav a {
  white-space: nowrap;
}

.buy-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-width: 7.25rem;
  height: 2.3rem;
  margin-left: 2rem;
  background: var(--orange);
  color: #0a0a0a;
  font-size: 0.8333rem;
  font-weight: 800;
}

.buy-link span,
.orange-link span {
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  color: var(--orange);
  font-size: 0.8333rem;
  filter: brightness(0);
}

.hero {
  position: relative;
  overflow: hidden;
  background: #120a05;
  isolation: isolate;
}

.hero__kv {
  position: relative;
  z-index: -2;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  height: 18rem;
  background: linear-gradient(180deg, rgba(5, 5, 5, 0), var(--black) 92%);
}

.hero__content {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--page), calc(100% - 3rem));
  text-align: center;
}

.hero h1 {
  font-size: 6.25rem;
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: 0;
}

.hero p {
  margin-top: 1.3333rem;
  font-size: 1.6667rem;
  line-height: 1.2;
}

.feature-mosaic {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7.25rem;
  z-index: 2;
  width: 100%;
  padding: 0;
  background: transparent;
}

.mosaic-grid {
  --mosaic-width: var(--safe-width);
  --mosaic-left-col: 27%;
  --mosaic-left-ratio: auto;
  --top-left: 34%;
  --bottom-left: 57%;
  display: flex;
  align-items: stretch;
  gap: 1.2rem;
  width: var(--mosaic-width);
  max-width: calc(100vw - 2rem);
  margin: 0 auto;
}



.mosaic-stack {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 1.2rem;
  min-width: 0;
}

.mosaic-row {
  display: flex;
  flex: 1 1 0;
  gap: 1.2rem;
  min-height: 0;
  width: 100%;
}

.mosaic-card {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #000;
}

.mosaic-card--tall {
  flex: 0 0 var(--mosaic-left-col);
  aspect-ratio: var(--mosaic-left-ratio);
}

.mosaic-card--camera {
  flex: 0 0 var(--top-left);
}

.mosaic-card--openclaw {
  flex: 1 1 auto;
}

.mosaic-card--chassis {
  flex: 0 0 var(--bottom-left);
}

.mosaic-card--lidar {
  flex: 1 1 auto;
}

.mosaic-card img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.mosaic-card:hover img {
  transform: scale(1.04);
}

.mosaic-copy {
  position: absolute;
  top: 2rem;
  left: 2.2rem;
  z-index: 1;
}

.mosaic-copy--side-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.mosaic-row--bottom .mosaic-copy--side-note {
  gap: 2.75rem;
}

.mosaic-card h3 {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 600;
}

.mosaic-card h3 span {
  display: inline-block;
  font-size: 4.8rem;
  line-height: 0.82;
  font-weight: 700;
}



.mosaic-card p {
  margin-top: 0.8rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1px;
}

.mosaic-ai-icons {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 3.1rem;
}

.mosaic-ai-icons img {
  width: 1.8rem;
  height: 1.8rem;
  object-fit: contain;
}

.mosaic-card .mosaic-copy.text-yellow {
  color: #ff850b;
}

.mosaic-card .mosaic-copy.text-yellow p {
  color: #ff850b;
}

.mosaic-copy--side-note p {
  margin-top: 0;
}

.mosaic-card--camera .mosaic-copy--side-note h3 span {
  line-height: 0.74;
}

.video-feature {
  padding: 8vh 0 8vh;
}

.video-feature__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--safe-width);
  margin: 0 auto;
}

.video-feature__row--bottom {
  margin-top: 16vh;
}

.video-feature__row--bottom .side-title--right {
  transform: translateX(20%);
}

.side-title {
  width: 18rem;
  padding-left: 0;
}

.side-title--right {
  width: 21rem;
}

.side-title span,
.section-heading span {
  display: block;
  margin-bottom: 0.6667rem;
  color: var(--orange);
  font-size: 1rem;
  font-weight: 500;
}

.side-title h2,
.section-heading h2 {
  font-size: calc(40/16 * 1rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0;
}

.side-title p,
.section-heading p {
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: calc(16/16 * 1rem);
  line-height: 1.4;
  font-weight: 300;
}

.side-title p {
  width: 80%;
}

.openclaw-title-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

.openclaw-title-icon {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.video-player {
  position: relative;
  width: min(53.75rem, calc(var(--safe-width) - 21rem));
  height: 30.25rem;
  border-radius: 0.6667rem;
  overflow: hidden;
  background: #151515;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

.video-player__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #151515;
}

.video-placeholder {
  position: relative;
  height: 30.25rem;
  border-radius: 0.6667rem;
  overflow: hidden;
  background: #151515 var(--video-gif) center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

.video-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.12), rgba(255, 255, 255, 0)),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 42%);
  pointer-events: none;
}

.video-placeholder i {
  position: absolute;
  right: 1.8333rem;
  bottom: 1.8333rem;
  width: 1.8333rem;
  height: 1.8333rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-left-color: transparent;
  border-top-color: transparent;
}

.gif-viewer {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: #000;
}

.gif-viewer[hidden] {
  display: none;
}

.gif-viewer img {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
}

.gif-viewer__close {
  position: absolute;
  top: 1.3333rem;
  right: 1.3333rem;
  z-index: 1;
  width: 2.6667rem;
  height: 2.6667rem;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.42);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

body.gif-viewer-open {
  overflow: hidden;
}

.section-heading {
  position: relative;
  width: var(--page);
  margin: 0 auto;
  padding-left: 0;
}

.section-heading--light p {
  color: #575b62;
}

.pin-section {
  position: relative;
  background: #000;
}

.pin-section.reveal-section {
  height: 300vh;
}

.pin-section.zoom-section {
  height: 300vh;
}

.sticky-stage {
  position: sticky;
  top: var(--header-offset);
  width: 100%;
  height: calc(100vh - var(--header-offset));
  min-height: 560px;
  overflow: hidden;
  background: #000;
  isolation: isolate;
}

.panel-stage {
  display: flex;
  will-change: transform;
}

.stage-panel {
  position: relative;
  flex: 0 0 100%;
  height: 100%;
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.ai-slide-panel {
  z-index: 2;
}

[data-ai-first] {
  opacity: 1;
  transform: translateX(0);
}

[data-ai-second] {
  opacity: 1;
  transform: translateX(0);
}

.openclaw {
  position: relative;
  z-index: 2;
  padding: 8vh 0 16vh;
}

.openclaw .section-heading {
  width: 33%;
  padding-left: 1%;
}

.orange-link {
  position: absolute;
  right: 3%;
  top: 3.2rem;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 10.5rem;
  height: 2.8rem;
  background: var(--orange);
  color: #0a0a0a;
  font-size: calc(40/3/16 * 1rem);
  font-weight: 400;
}

.orange-link span {
  margin-bottom: 0;
}

.carousel-shell {
  position: relative;
  width: 100%;
  margin-top: 3rem;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 0.5rem;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.carousel-slide {
  flex: 0 0 32.5vw;
  overflow: hidden;
  border-radius: 0.5833rem;
  background: #171717;
  transform-origin: center center;
}

.openclaw-carousel .carousel-slide {
  /* height: 30rem; */
}

.carousel-slide img {
  height: 100%;
  object-fit: cover;
}

.carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 3.3333rem;
  height: 3.3333rem;
  border: 0;
  border-radius: 0.25rem;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.75);
  font-size: 2rem;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 0.2s ease, color 0.2s ease;
}

.carousel-arrow:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.carousel-arrow--prev {
  left: 0.5rem;
}

.carousel-arrow--next {
  right: 0.5rem;
}

.carousel-tabs {
  display: flex;
  width: 33%;
  height: 2.5rem;
  margin: 2rem auto 0;
  padding: 0.25rem;
  border-radius: 1.25rem;
  background: #1b1b1b;
}

.carousel-tabs button {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: 1rem;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  font-size: calc(40/3/16 * 1rem);
  font-weight: 300;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.22s ease, color 0.22s ease;
}

.carousel-tabs button.is-active {
  background: #fff;
  color: #111;
  font-weight: 500;
  border-radius: 1px solid #fff;
}

.ai-model {
  display: grid;
  grid-template-columns: 34rem 1fr;
  gap: 5.5rem;
  align-items: center;
  padding: 8vh 0 8vh 7.8%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.ai-model .section-heading {
  width: auto;
  margin: 0;
}

.ai-model__copy {
  min-width: 0;
}

.chat-row,
.chat-preview-row {
  display: grid;
  grid-template-columns: 2.875rem minmax(0, 17rem) 2.875rem;
  align-items: flex-end;
  column-gap: 1.75rem;
  width: 25.25rem;
  margin-left: 0;
}

.chat-row--left {
  margin-top: 9rem;
}

.chat-row--right,
.chat-preview-row {
  margin-top: 3rem;
}

.chat-row--compact {
  margin-top: 1.75rem;
}

.chat-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  object-fit: cover;
}

.chat-row--media-left .chat-avatar {
  grid-column: 1;
  align-self: flex-start;
}

.chat-row--media-left .chat-bubble {
  grid-column: 2;
}

.chat-row--media-right .chat-bubble,
.chat-row--media-right .chat-preview {
  grid-column: 2;
}

.chat-row--media-right .chat-avatar {
  grid-column: 3;
  align-self: flex-end;
}

.chat-bubble {
  width: 100%;
  padding: 1.5rem 2rem;
  border-radius: 1.5rem;
  font-size: calc(40/3/16 * 1rem);
  line-height: 1.6;
}

.chat-bubble--blue {
  background: #28aafa;
  border-radius: 0rem 1.5rem 1.5rem 1.5rem;
}

.chat-bubble--orange {
  background: #ff9917;
  border-radius: 1.5rem 1.5rem 0rem 1.5rem;
}

.chat-bubble--white {
  background: #fff;
  color: #30343a;
  border-radius: 1.5rem 1.5rem 0 1.5rem;
}

.chat-preview {
  width: 100%;
  border-radius: 0.25rem;
}

.ai-model__visual {
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.ai-model__visual>img:first-child {
  display: block;
  width: 100%;
  height: 60.5rem;
  object-fit: contain;
}

.ai-model--openclaw .section-heading span {
  color: var(--orange);
}

.ai-model--openclaw .chat-row--left {
  margin-top: 4rem;
}

.ai-model--openclaw .chat-bubble {
  font-size: 0.9167rem;
  line-height: 1.55;
}

.ai-model--openclaw .chat-bubble--orange {
  border-radius: 0 1.25rem 1.25rem 1.25rem;
}

.ai-model--openclaw .chat-bubble--white {
  padding: 1.25rem 1.5rem;
  font-weight: 500;
}

.chat-avatar--openclaw {
  background: #fff;
}

.camera-section {
  position: relative;
  padding: 16vh 0 8vh;
  margin-top: -2px;
  box-shadow: 0 -2.5rem 3.5rem rgba(0, 0, 0, 0.96);
  z-index: 20;
  overflow: hidden;
}



.camera-section>* {
  position: relative;
  z-index: 1;
}

.camera-section .section-heading {
  width: calc(var(--safe-width) * 0.7);
  padding-left: 1%;
}

.camera-image {
  width: calc(var(--safe-width) * 0.7);
  margin: 3.5rem auto 0;
  border-radius: 0.5833rem;
}

.multimodal-visual {
  position: relative;
}

.multimodal-visual__main {
  border-radius: inherit;
}

.multimodal-visual__chat {
  position: absolute;
  z-index: 2;
  width: 50%;
  height: auto;
  pointer-events: none;
}

.multimodal-visual__chat--first {
  top: 10%;
  left: -40%;
}

.multimodal-visual__chat--second {
  top: 20%;
  left: -10%;
  width: 20%;
}

#course.algorithm {
  padding: 8vh 0 8vh;
  margin-top: -2px;
  z-index: 20;
  overflow: hidden;
}

#course.algorithm::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 42%;
  height: 100%;
  background:
    radial-gradient(ellipse at 0% 100%, rgba(165, 96, 27, 0.22) 0%, rgba(255, 133, 11, 0.1) 28%, rgba(255, 133, 11, 0.02) 56%, rgba(255, 133, 11, 0) 76%),
    linear-gradient(18deg, rgba(255, 133, 11, 0.18) 0%, rgba(255, 133, 11, 0.06) 28%, rgba(255, 133, 11, 0) 58%);
  pointer-events: none;
}

#course.algorithm>* {
  position: relative;
  z-index: 1;
}

.lidar-section {
  position: relative;
  isolation: isolate;
  margin-top: -2px;
  z-index: 20;
}

.lidar-stage {
  top: 0;
  height: 100vh;
  background: #000;
}

.zoom-frame {
  position: absolute;
  left: 50%;
  top: 56vh;
  z-index: 1;
  width: 34vw;
  overflow: hidden;
  transform: translateX(-50%) translateZ(0);
  will-change: top, width;
}

.zoom-frame.is-full {
  aspect-ratio: auto;
}

.zoom-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 5, 5, 0.45), rgba(5, 5, 5, 0.05) 42%, rgba(5, 5, 5, 0.08));
}

.zoom-bg {
  width: 100%;
  height: auto;
  object-fit: initial;
  object-position: center;
  will-change: height;
}

.floating-copy {
  z-index: 2;
  opacity: 1;
  will-change: transform, opacity;
}

.white-filter {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: 42vh;

  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.5) 0%,
      rgba(0, 0, 0, 0.4) 25%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0.2) 75%,
      rgba(0, 0, 0, 0.1) 100%);

  pointer-events: none;
  will-change: transform;
}

.lidar-section__copy {
  position: absolute;
  left: 35%;
  top: 12%;
  z-index: 6;
  width: var(--page);
}

.lidar-section__copy span {
  display: block;
  margin-bottom: 0.6667rem;
  color: var(--orange);
  font-size: 1rem;
  font-weight: 600;
}

.lidar-section__copy h2 {
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.15;
  font-weight: 600;
}

.lidar-section__copy p {
  margin-top: 1.5rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 300;
}

.lidar-section__copy [data-copy-line] {
  opacity: 0;
  will-change: transform, opacity;
}

.algorithm .section-heading {
  width: calc(var(--safe-width) * 0.7);
  padding-left: 1%;
}

.algorithm-carousel {
  margin-top: 3.6rem;
}

.algorithm .carousel-tabs {
  width: 28%;
}

.algorithm-carousel .carousel-track {
  gap: .5rem;
}

.algorithm-carousel .carousel-slide {
  flex-basis: calc(var(--safe-width) * 0.7);
  height: auto;
  background: #e6e6e6;
}

.carousel-tabs--light {
  background: #e5e5e5;
}

.carousel-tabs--light button {
  color: #8a8a8a;
}

.carousel-tabs--light button.is-active {
  background: #2d2d2d;
  color: #fff;
  border-radius: 1px solid #fff;
}

.section-cover-layer {
  position: relative;
  isolation: isolate;
}

.sticky-cover-content {
  position: relative;
  z-index: 10;
}

.traffic {
  z-index: 1;
  padding: 8vh 0 8vh;
}

.traffic .section-heading {
  width: var(--safe-width);
  padding-left: 1%;
}

.traffic-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: 1rem;
  width: var(--safe-width);
  margin: 3rem auto 0;
}

.traffic-grid img {
  align-self: start;
  height: auto;
  border-radius: 0.4167rem;
}

.traffic-grid__main {
  grid-column: span 2;
}

.traffic-grid__item {
  position: relative;
  border-radius: 0.4167rem;
  overflow: hidden;
}

.traffic-grid__item img {
  width: 100%;
  height: auto;
  display: block;
}

.traffic-grid__label {
  position: absolute;
  top: 1.5rem;
  left: 0.75rem;
  padding: 0.25rem 0.75rem;
  /* background: rgba(0, 0, 0, 0.65); */
  color: #fff;
  font-size: 1.2rem;
  font-weight: 400;
  /* border-radius: 0.25rem; */
  z-index: 2;
}

.gazebo {
  z-index: 2;
  padding: 8vh 0 13vh;
}

.gazebo .section-heading {
  width: var(--safe-width);
  padding-left: 1%;
}

.gazebo-layout {
  width: var(--safe-width);
  margin: 3.5rem auto 0;
}

.gazebo-layout img {
  border-radius: 0.4167rem;
}

.gazebo-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gazebo-row--top {
  gap: 5rem;
}

.gazebo-row--bottom {
  gap: 3.5rem;
  margin-top: 2.25rem;
  padding-left: 0;
}

.gazebo-layout__top {
  width: 70%;
}

.gazebo-layout__bottom {
  width: 70%;
}

.gazebo-copy {
  flex: 1;
}

.gazebo-copy h3 {
  color: inherit;
  font-size: 1.4167rem;
  line-height: 1.2;
  font-weight: 700;
}

.gazebo-copy p {
  margin-top: 0.8333rem;
  color: #5f636b;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 300;
  width: 14rem;
}

.gazebo.dark-section .gazebo-copy p {
  color: rgba(255, 255, 255, 0.72);
}

.gazebo-row--bottom .gazebo-copy {
  flex: 0 0 15rem;
  /* padding-left: 1.8rem; */
}

.specs {
  z-index: 3;
  padding: 8vh 0 5.5rem;
  background: #fff;
}

.specs__inner {
  width: var(--safe-width);
  margin: 0 auto;
}

.specs__heading {
  margin-bottom: 5.5rem;
}

.specs__heading h2 {
  color: #30343a;
  font-size: 2.3333rem;
  line-height: 1.15;
  font-weight: 700;
}

.specs__heading p {
  margin-top: 0.6667rem;
  color: #757a80;
  font-size: 1rem;
  font-weight: 300;
}

.specs-table {
  color: #4d535b;
  font-size: 1rem;
}

.specs-row {
  display: grid;
  grid-template-columns: 15.5rem repeat(3, 1fr);
  min-height: 5.5rem;
  border-bottom: 1px solid #d7d9dd;
}

.jetrove-page .specs-row:last-child {
  border-bottom: 0;
}

.specs-row>div {
  display: flex;
  align-items: center;
  min-width: 0;
  line-height: 1.45;
  padding-left: 30%;
  font-weight: 400;
}

.specs-row .specs-label {
  color: #424242;
  font-weight: 600;
  padding-left: 20%;
}

.specs-row .specs-value {
  grid-column: 2 / 5;
  padding-left: 10%;
}

.specs-row .specs-value--double {
  grid-column: 3 / 5;
}

.specs-row--models {
  min-height: 4.5rem;
}

.specs__image {
  width: 50vw;
  margin: 4rem auto 0;
}

.specs__captions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6.5rem;
  width: 50vw;
  margin: 1.5rem auto 0;
}

.specs__caption {
  color: #30343a;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
}

.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5rem max(1.5rem, calc((100vw - var(--page)) / 2));
  background: #050505;
  color: rgba(255, 255, 255, 0.68);
}

.site-footer a {
  color: var(--orange);
  font-weight: 800;
}

@media (max-width: 1919px) {
  :root {
    --safe-width: 60vw;
  }

}

@media (max-width: 1600px) {
  .hero {
    padding-bottom: 12rem;
  }

  .hero__content {
    top: 8%;
  }

  .hero h1 {
    font-size: 4.25rem;
  }

  .hero p {
    font-size: 1.25rem;
  }

  .mosaic-grid {
    width: var(--safe-width);
  }

  .feature-mosaic {
    bottom: 0;
  }

  .video-feature {
    margin-top: 12rem;
  }

  .algorithm-carousel .carousel-slide {
    flex-basis: 53vw;
  }

  .carousel-slide {
    flex: 0 0 53vw;
  }

  .openclaw .section-heading {
    width: 53%;
  }

  .carousel-tabs {
    width: 53%;
  }

  .chat-row--left {
    margin-top: 3rem;
  }

  .chat-row--right,
  .chat-preview-row {
    margin-top: 1rem;
  }

  .ai-model--openclaw .chat-row--left {
    margin-top: 1rem;
  }

  .ai-model--openclaw .chat-bubble--white {
    padding: 1rem 1.25rem;
  }

  .ai-model--openclaw .chat-bubble {
    font-size: 0.8333rem;
  }

  .algorithm .carousel-tabs {
    width: 53%;
  }

  :root {
    --safe-width: 75vw;
  }
}

@media (max-width: 900px) {
  :root {
    --page: calc(100vw - 2rem);
  }

  .site-header {
    height: 4.5rem;
  }

  .site-header__inner {
    width: calc(100vw - 2rem);
  }

  .site-header-placeholder {
    height: 4.5rem;
  }

  .site-nav {
    display: none;
  }

  .brand {
    font-size: 1.5rem;
  }

  .buy-link {
    min-width: auto;
    margin-left: 1rem;
    padding: 0 1rem;
  }

  .hero {
    min-height: 0;
  }

  .hero__content {
    top: 10%;
  }

  .hero h1 {
    font-size: 4.5rem;
  }

  .feature-mosaic {
    position: relative;
    bottom: auto;
    padding: 6rem 0;
    background: var(--black);
  }

  .mosaic-grid,
  .video-feature__row,
  .video-feature__row--bottom,
  .ai-model,
  .traffic-grid {
    width: calc(100vw - 2rem);
  }

  .mosaic-grid {
    flex-direction: column;
    height: auto;
    width: calc(100vw - 2rem);
  }

  .mosaic-stack,
  .mosaic-row {
    flex-direction: column;
  }

  .mosaic-card,
  .mosaic-card--tall {
    flex: 0 0 auto;
  }

  .mosaic-card--tall {
    aspect-ratio: 160 / 318;
  }

  .mosaic-copy--side-note {
    display: block;
  }

  .mosaic-copy--side-note p {
    max-width: none;
    margin-top: 0.5rem;
  }

  .video-feature,
  .ai-model,
  .camera-section,
  .algorithm,
  .traffic,
  .gazebo {
    padding: 6rem 1rem;
  }

  .video-feature__row,
  .video-feature__row--bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-top: 0;
  }

  .video-feature__row--bottom {
    margin-top: 5rem;
  }

  .video-placeholder {
    height: 22rem;
  }

  .video-player {
    width: 100%;
    height: 22rem;
  }

  .side-title,
  .side-title--right {
    width: 100%;
  }

  .sticky-stage {
    height: calc(100vh - var(--header-offset));
    min-height: 520px;
  }

  .stage-panel {
    overflow-y: auto;
  }

  .zoom-frame {
    top: 25vh;
    width: 76vw;
  }

  .section-heading,
  .openclaw .section-heading,
  .traffic .section-heading,
  .lidar-section__copy,
  .gazebo .section-heading,
  .camera-image,
  .specs__inner,
  .specs__image,
  .specs__captions,
  .gazebo-layout {
    width: calc(100vw - 2rem);
  }

  .specs__captions {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 1.25rem;
  }

  .section-heading h2,
  .side-title h2 {
    font-size: 2.6rem;
  }

  .orange-link {
    position: static;
    margin-top: 2rem;
  }

  .carousel-slide,
  .algorithm-carousel .carousel-slide {
    flex-basis: calc(100vw - 2rem);
    height: 22rem;
  }

  .carousel-shell {
    padding: 0 1rem;
  }

  .carousel-tabs {
    width: calc(100vw - 2rem);
    overflow-x: auto;
  }

  .carousel-tabs button {
    min-width: 8rem;
  }

  .ai-model__visual>img:first-child {
    height: auto;
  }

  .chat-row,
  .chat-preview-row {
    grid-template-columns: 2.875rem minmax(0, 1fr) 2.875rem;
    width: 100%;
  }

  .chat-preview {
    width: 100%;
  }

  .chat-bubble {
    width: 100%;
  }

  .chat-bubble--orange,
  .chat-preview {
    width: 100%;
  }

  .lidar-section__copy {
    top: 12%;
  }

  .lidar-section__copy p {
    width: auto;
  }

  .specs {
    padding: 5rem 1rem;
  }

  .specs__heading {
    margin-bottom: 3rem;
  }

  .specs-table {
    overflow-x: auto;
    padding-bottom: 0.5rem;
  }

  .specs-row {
    min-width: 54rem;
  }

  .traffic-grid__main,
  .traffic-grid img {
    grid-column: auto;
    height: auto !important;
  }

  .gazebo-layout {
    min-height: auto;
  }

  .gazebo-row,
  .gazebo-row--top,
  .gazebo-row--bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-top: 2rem;
    padding-left: 0;
  }

  .gazebo-row:first-child {
    margin-top: 0;
  }

  .gazebo-copy {
    width: 100%;
  }

  .gazebo-row--bottom .gazebo-copy {
    flex-basis: auto;
  }

  .gazebo-layout__top,
  .gazebo-layout__bottom {
    width: 100%;
  }
}

.jetrove-page .hero {
  min-height: 100vh;
  background: #050505;
}

.jetrove-page .hero__kv {
  min-height: 100vh;
  object-fit: cover;
}

.jetrove-page .hero__content {
  top: 18vh;
}

.jetrove-page .feature-mosaic {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 1;
  padding: 8vh 0 8vh;
  background: var(--black);
}

.jetrove-page .jetrove-mosaic-grid {
  --mosaic-left-col: 27%;
  --top-left: 34%;
  --bottom-left: 57%;
  align-items: stretch;
}

.jetrove-page .mosaic-card {
  min-height: 15rem;
}

.jetrove-page .mosaic-card--tall {
  min-height: 31.2rem;
}

.jetrove-page .mosaic-copy {
  top: 1.5rem;
  left: 1.6rem;
  max-width: calc(100% - 3.2rem);
}

.jetrove-page .mosaic-card h3 {
  font-size: 1.6rem;
  line-height: 1.4;
}

.jetrove-page .mosaic-card p {
  letter-spacing: 0;
}

.jetrove-page #navigation.algorithm {
  padding: 8vh 0;
}

.jetrove-page #navigation.algorithm::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 42vw;
  height: 42vw;
  pointer-events: none;
  background: radial-gradient(circle at 80% 10%, rgba(35, 35, 43, 0.96), rgba(35, 35, 43, 0) 64%);
}

.jetrove-page #navigation.algorithm>* {
  position: relative;
  z-index: 1;
}

.jetrove-page #ai-model,
.jetrove-page #depth {
  padding-bottom: 8vh;
}

.jetrove-page .camera-image {
  max-height: 72vh;
  object-fit: contain;
}

.jetrove-page .lidar-section__copy {
  width: calc(var(--safe-width) * 0.42);
}

.jetrove-page .traffic-grid__main {
  background: #101010;
}

.jetrove-page .specs__image,
.jetrove-page .specs__captions {
  display: none;
}

.jetrove-page .specs-drawings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: var(--safe-width);
  margin: 3.5rem auto 0;
}

.jetrove-page .specs-drawings figure {
  margin: 0;
  text-align: center;
}

.jetrove-page .specs-drawings img {
  width: 100%;
  object-fit: contain;
}

@media (max-width: 900px) {
  .jetrove-page .hero {
    min-height: 72vh;
  }

  .jetrove-page .hero__kv {
    min-height: 72vh;
  }

  .jetrove-page .feature-mosaic {
    padding: 6rem 1rem;
  }

  .jetrove-page .jetrove-mosaic-grid {
    width: calc(100vw - 2rem);
  }

  .jetrove-page .mosaic-card,
  .jetrove-page .mosaic-card--tall {
    min-height: 16rem;
  }

  .jetrove-page .specs-drawings {
    grid-template-columns: 1fr;
    width: calc(100vw - 2rem);
  }

  .multimodal-visual__chat--first {
    top: 8%;
    left: 2%;
    width: 58%;
  }

  .multimodal-visual__chat--second {
    top: 19%;
    left: 15%;
    width: 42%;
  }
}
