:root {
  color-scheme: dark;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  background:
    radial-gradient(circle at top, rgba(79, 70, 229, 0.18), transparent 35%),
    radial-gradient(circle at 80% 10%, rgba(59, 130, 246, 0.14), transparent 30%),
    linear-gradient(180deg, #020617 0%, #0f172a 100%);
}

.glass {
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(148, 163, 184, 0.10);
  box-shadow: 0 20px 45px rgba(2, 6, 23, 0.35);
}

.soft-card {
  background:
    linear-gradient(
      180deg,
      rgba(15, 23, 42, 0.84),
      rgba(15, 23, 42, 0.72)
    );
  border: 1px solid rgba(148, 163, 184, 0.10);
  box-shadow: 0 20px 45px rgba(2, 6, 23, 0.28);
}

.hero-grid {
  background-image:
    linear-gradient(rgba(99, 102, 241, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.08) 1px, transparent 1px);
  background-size: 34px 34px;
}

.shadow-brand {
  box-shadow: 0 18px 45px rgba(79, 70, 229, 0.18);
}

.btn-light {
  background: #ffffff !important;
  color: #020617 !important;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.btn-light:hover {
  background: #f1f5f9 !important;
  color: #020617 !important;
}

.btn-light span,
.btn-light i {
  color: #020617 !important;
}

@keyframes nh-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.35;
  }

  50% {
    transform: scale(1.16);
    opacity: 0.75;
  }
}

@keyframes nh-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-2px);
  }
}

.nh-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: rgba(99, 102, 241, 0.85);
  box-shadow: 0 0 14px rgba(99, 102, 241, 0.28);
  animation:
    nh-pulse 3.2s ease-in-out infinite,
    nh-float 4.8s ease-in-out infinite;
  pointer-events: none;
}

.nh-dot--soft {
  width: 5px;
  height: 5px;
  background: rgba(148, 163, 184, 0.55);
  box-shadow: 0 0 12px rgba(148, 163, 184, 0.18);
  animation-duration: 3.8s, 5.6s;
}

/* Homepage hero decoration positions */
.nh-index-dot-1 {
  top: 18%;
  left: 10%;
}

.nh-index-dot-2 {
  top: 28%;
  right: 14%;
}

.nh-index-dot-3 {
  bottom: 18%;
  left: 18%;
}

.nh-index-dot-4 {
  bottom: 24%;
  right: 22%;
}

/* Travel page hero decoration positions */
.nh-travel-dot-1 {
  top: 18%;
  left: 10%;
}

.nh-travel-dot-2 {
  top: 32%;
  right: 14%;
}

.nh-travel-dot-3 {
  bottom: 20%;
  left: 18%;
}

.nh-travel-dot-4 {
  bottom: 24%;
  right: 24%;
}

details summary::-webkit-details-marker {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .nh-dot {
    animation: none;
    opacity: 0.55;
  }
}
