*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --black: #000000;
  --white: #ffffff;
  --blue: #0071e3;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", sans-serif;
}

html {
  min-width: 320px;
  min-height: 100%;
  background: var(--black);
}

body {
  display: flex;
  min-width: 320px;
  min-height: 100svh;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--black);
  color: var(--white);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.site-header {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  height: 52px;
  align-items: center;
  padding: env(safe-area-inset-top) max(22px, env(safe-area-inset-right)) 0 max(22px, env(safe-area-inset-left));
  background: rgba(0, 0, 0, .72);
  border-bottom: 1px solid rgba(255, 255, 255, .025);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}

.brand,
.hero-wordmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.brand {
  color: rgba(255, 255, 255, .94);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1;
}

.brand-x {
  width: .91em;
  height: .91em;
  margin-left: -.025em;
  overflow: visible;
  transform: translateY(.035em);
}

.brand-x path,
.hero-x path {
  stroke: currentColor;
  stroke-linecap: round;
}

.brand-x path {
  stroke-width: 13.5;
}

.brand-crm {
  margin-left: .42em;
  color: rgba(255, 255, 255, .72);
  font-weight: 500;
  letter-spacing: -.025em;
}

.x-dot {
  fill: var(--blue);
  opacity: .96;
}

.x-dot-glow {
  fill: var(--blue);
  opacity: .18;
  filter: drop-shadow(0 0 10px rgba(0, 113, 227, .55));
}

.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: calc(100svh - 52px);
  flex: 1 0 auto;
  place-items: center;
  overflow: hidden;
  padding: 84px max(24px, env(safe-area-inset-right)) 58px max(24px, env(safe-area-inset-left));
  background: var(--black);
}

.network {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
}

.network::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 64% at 50% 48%, transparent 22%, rgba(0, 0, 0, .68) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .06), transparent 46%, rgba(0, 0, 0, .22));
  content: "";
}

.network svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.grid-lines path,
.network-lines path,
.signal path {
  fill: none;
  stroke: #ffffff;
}

.grid-lines path {
  stroke-width: .65;
  opacity: .075;
}

.network-lines path {
  stroke-width: 1;
  opacity: .095;
}

.signal path {
  stroke: var(--blue);
  stroke-width: 1.35;
  opacity: .3;
}

.nodes circle {
  fill: var(--blue);
  opacity: .38;
  transform-box: fill-box;
  transform-origin: center;
  animation: nodePulse 4.8s ease-in-out infinite;
}

.nodes circle:nth-child(2n) { animation-delay: -1.6s; }
.nodes circle:nth-child(3n) { animation-delay: -3.1s; }

.hero-content {
  display: flex;
  min-width: 0;
  width: min(100%, 1320px);
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.hero-wordmark {
  max-width: 100%;
  margin-bottom: clamp(2.2rem, 4.8vh, 3.5rem);
  color: rgba(255, 255, 255, .18);
  font-size: clamp(5rem, 9.5vw, 8.7rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .88;
  user-select: none;
  animation: wordmarkIn 1.5s cubic-bezier(.22, .8, .28, 1) both;
}

.hero-x {
  width: .91em;
  height: .91em;
  margin-left: -.035em;
  overflow: visible;
  color: inherit;
  transform: translateY(.045em);
}

.hero-x path {
  stroke-width: 13.5;
}

.hero-crm {
  margin-left: .28em;
  letter-spacing: -.035em;
}

h1 {
  margin-bottom: 1.35rem;
  color: rgba(255, 255, 255, .97);
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.08;
  animation: contentIn .9s .25s ease both;
}

.intro-copy {
  max-width: 640px;
  color: rgba(255, 255, 255, .58);
  font-size: clamp(1rem, 1.55vw, 1.24rem);
  font-weight: 400;
  line-height: 1.58;
  text-wrap: balance;
  animation: contentIn .9s .4s ease both;
}

.crm-info {
  width: min(100%, 1120px);
  margin-top: clamp(2.4rem, 5.2vh, 3.5rem);
  padding-top: clamp(1.8rem, 3.5vh, 2.5rem);
  border-top: 1px solid rgba(255, 255, 255, .12);
  animation: contentIn .9s .55s ease both;
}

.crm-info h2 {
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.2;
  text-wrap: balance;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  text-align: left;
}

.info-grid p {
  padding: 0 clamp(1.25rem, 2.3vw, 2rem);
  color: rgba(255, 255, 255, .56);
  font-size: clamp(.86rem, 1.1vw, .96rem);
  font-weight: 400;
  line-height: 1.68;
}

.info-grid p:first-child {
  padding-left: 0;
}

.info-grid p:last-child {
  padding-right: 0;
}

.info-grid p + p {
  border-left: 1px solid rgba(255, 255, 255, .1);
}

.info-grid strong {
  color: rgba(255, 255, 255, .86);
  font-weight: 600;
}

.site-footer {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  padding: 0 max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  color: rgba(255, 255, 255, .38);
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.2;
  text-align: center;
  animation: contentIn .9s .58s ease both;
}

@keyframes wordmarkIn {
  from { opacity: 0; transform: scale(.97); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes contentIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nodePulse {
  0%, 100% { opacity: .26; transform: scale(.8); }
  50% { opacity: .54; transform: scale(1.18); }
}

@media (max-width: 760px) {
  .hero {
    padding-top: 76px;
    padding-bottom: 52px;
  }

  .hero-wordmark {
    margin-bottom: clamp(2.8rem, 7vh, 3.8rem);
    font-size: clamp(3.8rem, 13.8vw, 6rem);
  }

  h1 {
    max-width: 10em;
    font-size: clamp(2.15rem, 9.6vw, 3rem);
  }

  .intro-copy {
    max-width: 31rem;
    font-size: 1rem;
    line-height: 1.62;
  }

  .crm-info {
    margin-top: 2.5rem;
    padding-top: 2rem;
  }

  .crm-info h2 {
    max-width: 18em;
    margin-right: auto;
    margin-bottom: 1.65rem;
    margin-left: auto;
    font-size: 1.45rem;
  }

  .info-grid {
    display: block;
  }

  .info-grid p {
    padding: 0;
    font-size: .94rem;
    line-height: 1.72;
    text-align: left;
  }

  .info-grid p + p {
    margin-top: 1.35rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-left: 0;
  }
}

@media (max-width: 430px) {
  .site-header {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hero {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hero-wordmark {
    margin-bottom: 3rem;
    font-size: clamp(3.15rem, 13.6vw, 3.8rem);
  }

  h1 {
    margin-bottom: 1.1rem;
    font-size: clamp(2rem, 9.4vw, 2.5rem);
  }

  .intro-copy {
    max-width: 22rem;
    color: rgba(255, 255, 255, .56);
    font-size: .98rem;
  }

  .site-footer {
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    font-size: .72rem;
  }
}

@media (max-width: 350px) {
  .hero-wordmark {
    font-size: 11.65vw;
  }

  h1 {
    max-width: calc(100vw - 40px);
    font-size: 1.78rem;
    letter-spacing: -.038em;
  }

  .intro-copy {
    max-width: calc(100vw - 40px);
    font-size: .92rem;
  }
}

@media (max-height: 620px) {
  .hero {
    padding-top: 66px;
    padding-bottom: 56px;
  }

  .hero-wordmark {
    margin-bottom: 1.8rem;
    font-size: clamp(3.3rem, 12vw, 7rem);
  }

  h1 {
    margin-bottom: .8rem;
    font-size: clamp(1.9rem, 7vh, 2.8rem);
  }

  .intro-copy {
    font-size: .92rem;
    line-height: 1.45;
  }

}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
