@font-face {
  font-family: 'Hero Geist Pixel';
  src: url('../../fonts/GeistPixel-Circle.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Standalone-inspired composition, scoped to the main homepage hero. */
.home-page .hero.hero-showcase {
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - 110px);
  background: #0b1730;
  overflow: hidden;
}
.hero-film {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse at 50% 35%, #263e60, #0b1730 75%);
  pointer-events: none;
}
.hero-background-video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) brightness(0.7);
  opacity: 0.85;
}
.hero-film-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 23, 48, 0.3),
    rgba(11, 23, 48, 0.46) 40%,
    rgba(11, 23, 48, 0.92) 100%
  );
  box-shadow: inset 0 0 160px rgba(11, 23, 48, 0.16);
}
.hero-matrix {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.45;
  pointer-events: none;
  mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.16) 32%, rgba(0, 0, 0, 0.16) 68%, #000);
}
.home-page .hero-showcase .hero-intelligent {
  color: #fff;
  text-shadow:
    0 0 10px rgba(255, 255, 255, 0.45),
    0 0 28px rgba(193, 176, 217, 0.5),
    0 0 55px rgba(129, 115, 151, 0.4);
}
.home-page .hero-showcase .hero-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  padding-top: 65px;
  padding-bottom: 24px;
}
.home-page .hero-showcase .hero-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin: auto 0;
  text-align: center;
  padding-bottom: 45px;
}
.home-page .hero-showcase .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 29px;
  padding: 9px 15px;
  border: 1px solid rgba(203, 213, 225, 0.3);
  border-radius: 2px;
  background: rgba(11, 23, 48, 0.46);
  color: #e2e8f0;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.hero-showcase .small-dot {
  width: 5px;
  height: 5px;
  background: #93c5fd;
  box-shadow: 0 0 10px rgba(147, 197, 253, 0.5);
}
.home-page .hero-showcase h1 {
  width: 100%;
  max-width: 1100px;
  margin: 0;
  color: #fff;
  font-family: 'BubbledotICG-FinePos', 'Brand Pixel', monospace;
  font-size: clamp(44px, 5.05vw, 74px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1.2;
}
.home-page .hero-showcase .hero-title-line {
  display: block;
  white-space: nowrap;
  color: #fff;
  -webkit-text-stroke: 0;
  text-shadow: 0 2px 24px rgba(11, 23, 48, 0.18);
}
.home-page .hero-showcase .hero-lead {
  max-width: 790px;
  margin: 27px auto 0;
  color: #e2e8f0;
  font-family: Inter, 'Segoe UI', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: -0.01em;
}
.home-page .hero-showcase .button-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-top: 30px;
}
.home-page .hero-showcase .btn-solid {
  background: #fff;
  border-color: #fff;
  color: #0b1730;
  min-height: 48px;
  padding: 0 24px;
  font-size: 12px;
  box-shadow: 0 0 28px rgba(255, 255, 255, 0.14);
}
.home-page .hero-showcase .btn-solid:hover {
  background: #eff6ff;
  border-color: #eff6ff;
  box-shadow: 0 0 36px rgba(219, 234, 254, 0.23);
}
.hero-demo-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #e2e8f0;
  font-size: 12px;
  line-height: 1.6;
  padding: 7px 0;
  border-bottom: 1px solid rgba(203, 213, 225, 0.45);
}
.hero-demo-link:hover {
  color: #fff;
  border-color: #fff;
}
.hero-foundations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 1000px);
  gap: 20px;
  padding: 27px 0 24px;
  border-top: 1px solid rgba(203, 213, 225, 0.17);
}
.hero-foundations > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  min-width: 0;
  text-align: center;
  color: #fff;
}
.hero-foundations .engineering-icon {
  width: 23px;
  height: 23px;
  stroke-width: 1.2;
  color: #bfdbfe;
}
.hero-foundations span {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.4;
}
.hero-foundations small {
  font-size: 10px;
  font-weight: 400;
  color: #a9bbd4;
  line-height: 1.5;
}
.hero-foundations > a:hover span {
  color: #bfdbfe;
}
.hero-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin-top: 13px;
  font-size: 8px;
  line-height: 1.5;
  letter-spacing: 0.09em;
  color: #94a3b8;
}
.hero-showcase-footer > a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-showcase-footer > a:hover {
  color: #e2e8f0;
}
.hero-video-toggle {
  font: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.4);
  padding: 3px 0;
  background: transparent;
  cursor: pointer;
  letter-spacing: 0.03em;
}
.hero-video-toggle:hover {
  color: #fff;
}
.hero-showcase a:focus-visible,
.hero-showcase button:focus-visible {
  outline: 2px solid #bfdbfe;
  outline-offset: 5px;
}
.hero-showcase-footer.hero-footer-scroll {
  justify-content: center;
}
@media (min-width: 761px) and (max-height: 800px) {
  .home-page .hero-showcase .hero-container {
    padding-top: 35px;
    padding-bottom: 18px;
  }
  .home-page .hero-showcase .hero-content {
    padding-bottom: 30px;
  }
  .home-page .hero-showcase .hero-eyebrow {
    margin-bottom: 20px;
  }
  .home-page .hero-showcase h1 {
    font-size: clamp(40px, 4.5vw, 62px);
  }
  .home-page .hero-showcase .hero-lead {
    font-size: 14px;
    margin-top: 20px;
    max-width: 760px;
  }
  .home-page .hero-showcase .button-row {
    margin-top: 22px;
  }
  .hero-foundations {
    padding: 20px 0 16px;
  }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .home-page .hero-showcase h1 {
    font-size: clamp(37px, 5.1vw, 52px);
  }
  .home-page .hero-showcase .hero-lead {
    max-width: 650px;
    font-size: 15px;
  }
  .hero-foundations {
    gap: 12px;
  }
  .hero-foundations span {
    font-size: 12px;
  }
  .hero-foundations small {
    font-size: 9px;
  }
}
@media (max-width: 760px) {
  .home-page .hero.hero-showcase {
    min-height: calc(100svh - 98px);
  }
  .home-page .hero-showcase .hero-container {
    min-height: inherit;
    padding-top: 44px;
    padding-bottom: 20px;
  }
  .home-page .hero-showcase .hero-content {
    padding-bottom: 34px;
  }
  .home-page .hero-showcase .hero-eyebrow {
    font-size: 7px;
    letter-spacing: 0.08em;
    margin-bottom: 24px;
    padding: 8px 10px;
  }
  .home-page .hero-showcase h1 {
    font-size: clamp(25px, 5.1vw, 38px);
    letter-spacing: -0.065em;
    line-height: 1.3;
  }
  .home-page .hero-showcase .hero-lead {
    font-size: 13px;
    line-height: 1.7;
    margin-top: 20px;
    max-width: 540px;
  }
  .home-page .hero-showcase .button-row {
    gap: 18px;
    margin-top: 25px;
    flex-direction: column;
    width: 100%;
  }
  .home-page .hero-showcase .btn-solid {
    width: auto;
    max-width: 100%;
    min-height: 46px;
    justify-content: center;
    font-size: 11px;
    padding-inline: 20px;
  }
  .hero-demo-link {
    font-size: 11px;
  }
  .hero-foundations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
    padding: 22px 0;
  }
  .hero-foundations span {
    font-size: 11px;
  }
  .hero-foundations small {
    font-size: 9px;
  }
  .hero-foundations .engineering-icon {
    width: 20px;
    height: 20px;
  }
  .hero-showcase-footer {
    font-size: 7px;
    gap: 12px;
  }
  .hero-showcase-footer > a {
    display: none;
  }
}
@media (max-width: 370px) {
  .home-page .hero-showcase h1 {
    font-size: 23px;
    letter-spacing: -0.075em;
  }
  .home-page .hero-showcase .hero-eyebrow {
    font-size: 6.5px;
  }
}
