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

.font-sans {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.font-display {
  font-family: "Orbitron", sans-serif;
}

.text-pn-text {
  color: #e2e8f0;
}

.text-pn-muted {
  color: #94a3b8;
}

.text-pn-dim {
  color: #64748b;
}

.text-pn-cyan {
  color: #00f2fe;
}

.text-pn-blue {
  color: #67b4ff;
}

.text-pn-mint {
  color: #4cf5aa;
}

.border-pn-border {
  border-color: rgba(79, 172, 254, 0.22);
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.min-h-screen {
  min-height: 100vh;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-col {
  flex-direction: column;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.items-stretch {
  align-items: stretch;
}

.justify-center {
  justify-content: center;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-x-4 {
  column-gap: 1rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-12 {
  margin-top: 3rem;
}

.mt-14 {
  margin-top: 3.5rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-xl {
  max-width: 36rem;
}

.w-fit {
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-auto {
  width: auto;
}

.w-20 {
  width: 5rem;
}

.h-9 {
  height: 2.25rem;
}

.h-11 {
  height: 2.75rem;
}

.h-px {
  height: 1px;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.text-center {
  text-align: center;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-\[0\.65rem\] {
  font-size: 0.65rem;
}

.text-\[0\.68rem\] {
  font-size: 0.68rem;
}

.text-\[0\.95rem\] {
  font-size: 0.95rem;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-black {
  font-weight: 900;
}

.uppercase {
  text-transform: uppercase;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}

.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}

.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}

.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}

.tracking-\[0\.26em\] {
  letter-spacing: 0.26em;
}

.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-relaxed {
  line-height: 1.625;
}

.no-underline {
  text-decoration: none;
}

.underline {
  text-decoration-line: underline;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.decoration-pn-border {
  text-decoration-color: rgba(79, 172, 254, 0.22);
}

.break-all {
  word-break: break-all;
}

.list-disc {
  list-style-type: disc;
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.5rem;
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 2.5rem;
}

.rounded-full {
  border-radius: 9999px;
}

.border {
  border-width: 1px;
  border-style: solid;
}

.border-b {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.border-t {
  border-top-width: 1px;
  border-top-style: solid;
}

.border-pn-cyan\/80 {
  border-color: rgba(0, 242, 254, 0.8);
}

.bg-white\/5 {
  background-color: rgba(255, 255, 255, 0.05);
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops, transparent, transparent));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops, transparent, transparent));
}

.from-transparent {
  --tw-gradient-from: transparent;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent);
}

.via-pn-cyan\/70 {
  --tw-gradient-stops: var(--tw-gradient-from, transparent), rgba(0, 242, 254, 0.7), var(--tw-gradient-to, transparent);
}

.to-transparent {
  --tw-gradient-to: transparent;
}

.via-pn-cyan\/70.to-transparent.bg-gradient-to-r.from-transparent,
.bg-gradient-to-r.from-transparent.via-pn-cyan\/70.to-transparent {
  background-image: linear-gradient(to right, transparent, rgba(0, 242, 254, 0.7), transparent);
}

.from-cyan-500\/20.to-pn-cyan\/10.bg-gradient-to-br,
.bg-gradient-to-br.from-cyan-500\/20.to-pn-cyan\/10 {
  background-image: linear-gradient(to bottom right, rgba(6, 182, 212, 0.2), rgba(0, 242, 254, 0.1));
}

.hover\:from-pn-cyan\/25.hover\:to-emerald-400\/15:hover.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, rgba(0, 242, 254, 0.25), rgba(52, 211, 153, 0.15));
}

.from-cyan-500\/20 {
  --tw-gradient-from: rgba(6, 182, 212, 0.2);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent);
}

.to-pn-cyan\/10 {
  --tw-gradient-to: rgba(0, 242, 254, 0.1);
}

.opacity-95 {
  opacity: 0.95;
}

.shadow-glow {
  box-shadow: 0 0 32px rgba(0, 242, 254, 0.16);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.hover\:border-pn-cyan\/45:hover {
  border-color: rgba(0, 242, 254, 0.45);
}

.hover\:border-pn-blue\/50:hover {
  border-color: rgba(103, 180, 255, 0.5);
}

.hover\:border-pn-mint:hover {
  border-color: #4cf5aa;
}

.hover\:text-pn-cyan:hover {
  color: #00f2fe;
}

.hover\:text-pn-text:hover {
  color: #e2e8f0;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:from-pn-cyan\/25:hover {
  --tw-gradient-from: rgba(0, 242, 254, 0.25);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent);
}

.hover\:to-emerald-400\/15:hover {
  --tw-gradient-to: rgba(52, 211, 153, 0.15);
}

@media (min-width: 640px) {
  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }
}
