body {
  margin: 0;
  background: #060a12;
}
a {
  color: #eaf2ff;
  text-decoration: none;
}
a:hover {
  color: #ffffff;
}
.tr {
  fill: none;
  stroke: #12294a;
  stroke-width: 1.4;
}
.via {
  fill: #060a12;
  stroke: #1e4a80;
  stroke-width: 1.4;
  animation: via 10s ease-in-out infinite;
}
.pl {
  fill: none;
  stroke: #5cc8ff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 80px var(--l);
  animation-name: run;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  filter: drop-shadow(0 0 4px #2e8bff);
}
@keyframes run {
  from {
    stroke-dashoffset: calc(var(--l) + 80px);
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes via {
  0%,
  100% {
    stroke: #1e4a80;
  }
  50% {
    stroke: #5cc8ff;
  }
}
.mq {
  display: flex;
  width: max-content;
  animation: mq 40s linear infinite;
}
@keyframes mq {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.cur {
  display: inline-block;
  width: 0.08em;
  height: 0.85em;
  background: #5cc8ff;
  margin-left: 0.08em;
  vertical-align: -0.05em;
  animation: blink 1s steps(1) infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
.ping {
  animation: ping 2s ease-out infinite;
}
@keyframes ping {
  0% {
    box-shadow: 0 0 0 0 rgba(61, 190, 122, 0.6);
  }
  100% {
    box-shadow: 0 0 0 10px rgba(61, 190, 122, 0);
  }
}
.lift {
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}
.lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(30, 120, 255, 0.18);
}
.float {
  animation: float 6s ease-in-out infinite;
}
@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
[id] {
  scroll-margin-top: 96px;
}
.lang-sel,
.burger,
.mnav,
.hero-face {
  display: none;
}
.hero-face {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(92, 200, 255, 0.45);
  box-shadow: 0 0 24px rgba(46, 139, 255, 0.25);
  opacity: 0.92;
  margin-bottom: -10px;
}
.lang-sel {
  -webkit-appearance: none;
  appearance: none;
  height: 36px;
  padding: 0 28px 0 14px;
  border: 1px solid rgba(92, 200, 255, 0.25);
  border-radius: 999px;
  background: rgba(10, 20, 36, 0.6)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235CC8FF' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 11px center;
  color: #eaf2ff;
  font-family: "Geist Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.lang-sel option {
  background: #0a1424;
  color: #eaf2ff;
}
.lang-sel:focus-visible,
.burger:focus-visible {
  outline: 2px solid #5cc8ff;
  outline-offset: 3px;
}
.burger {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(92, 200, 255, 0.25);
  border-radius: 999px;
  background: rgba(10, 20, 36, 0.6);
  color: #eaf2ff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.burger .i-close,
.burger[aria-expanded="true"] .i-open {
  display: none;
}
.burger[aria-expanded="true"] .i-close {
  display: block;
}
.mnav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  color: #c3d0e2;
  font-size: 17px;
  border-top: 1px solid rgba(92, 200, 255, 0.1);
}
.mnav a:hover {
  color: #ffffff;
}
@media (max-width: 720px) {
  .navl,
  .brand-face,
  .nav [role="group"] {
    display: none !important;
  }
  .lang-sel,
  .hero-face {
    display: block;
  }
  .burger {
    display: flex;
  }
  .mnav:not([hidden]) {
    display: block;
    padding: 0 16px 8px;
  }
  .hero-cta > * {
    flex: 1 1 0;
    min-width: max-content;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
  .navc {
    padding: 8px 14px !important;
    font-size: 14px;
    white-space: nowrap;
  }
  .nav {
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .nav > a {
    min-width: 0;
    flex: 1 1 auto;
  }
  .brand {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .navr {
    flex-wrap: nowrap !important;
    flex: 0 0 auto;
    gap: 8px !important;
  }
  .nav [role="group"] button {
    min-width: 38px !important;
    height: 36px !important;
  }
  .brand {
    font-size: 16px !important;
  }
  .hero {
    padding-top: 28px !important;
    padding-bottom: 40px !important;
  }
  .stage {
    height: 300px !important;
  }
  .ph-main {
    height: 260px !important;
  }
  .ph-side {
    height: 200px !important;
  }
  .ph-of {
    height: 210px !important;
    right: 12px !important;
  }
  .pad {
    padding: 24px !important;
  }
  .px {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .ovr {
    right: 20px !important;
  }
  .statc {
    padding: 18px 20px !important;
  }
  .sec {
    padding-top: 72px !important;
  }
  .slidefoot {
    padding: 18px !important;
  }
  .first-m {
    order: -1;
    border-left: none !important;
    border-bottom: 1px solid #262626;
    padding: 40px 16px !important;
  }
  .desk-only {
    display: none !important;
  }
  .mob-only {
    display: flex !important;
  }
  .tnum {
    font-size: 30px !important;
  }
  .span-m {
    grid-column: 1 / -1;
  }
  .bignum {
    font-size: 56px !important;
  }
}
@media (max-width: 380px) {
  .brand {
    font-size: 15px !important;
    letter-spacing: -0.02em !important;
  }
  .nav {
    gap: 8px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pl,
  .via,
  .mq,
  .cur,
  .ping,
  .float {
    animation: none;
  }
  .pl {
    display: none;
  }
}
html {
  scroll-behavior: smooth;
}
img {
  max-width: 100%;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid #5cc8ff;
  outline-offset: 3px;
}
html.vopen *,
html.vopen *::before,
html.vopen *::after {
  animation-play-state: paused !important;
}
html.vopen .pl {
  display: none;
}
html.vopen [style*="backdrop-filter"] {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#vmodal,
#vmodal * {
  -webkit-tap-highlight-color: transparent;
}
#vmodal .vbg {
  outline: none;
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
}
