:root {
  --app-ink: #0f172a;
  --app-sky: #22d3ee;
  --app-mint: #34d399;
  --app-sun: #f97316;
  --app-panel: #ffffff;
}

body {
  font-family: "Sora", "Segoe UI", sans-serif;
  color: var(--app-ink);
  background:
    radial-gradient(circle at 0% 0%, rgba(34, 211, 238, 0.12), transparent 42%),
    radial-gradient(circle at 100% 20%, rgba(249, 115, 22, 0.12), transparent 38%),
    #f4f8ff;
}

h1,
h2,
h3,
.navbar-brand,
.display-1 {
  font-family: "Outfit", "Trebuchet MS", sans-serif;
}

#mainNav {
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.45);
  background: rgba(2, 6, 23, 0.75);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

#mainNav .container.nav-shell {
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 999px;
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.8), rgba(2, 6, 23, 0.82));
}

#mainNav .navbar-brand {
  color: #f8fafc;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

#mainNav .brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: #04212e;
  font-size: 0.86rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--app-sky), var(--app-mint));
}

#mainNav .navbar-nav .nav-link {
  color: #cbd5e1;
  letter-spacing: 0.02em;
  font-weight: 600;
}

#mainNav .navbar-nav .nav-link:hover,
#mainNav .navbar-nav .nav-link.active {
  color: #fb923c;
}

#mainNav .navbar-toggler {
  border-color: rgba(203, 213, 225, 0.45);
}

#mainNav .navbar-toggler-icon {
  filter: invert(1) brightness(1.2);
}

.masthead {
  background:
    linear-gradient(112deg, rgba(2, 6, 23, 0.88), rgba(15, 23, 42, 0.7)),
    radial-gradient(circle at 15% 10%, rgba(34, 211, 238, 0.22), transparent 40%) !important;
  min-height: 72vh;
  padding-top: 10rem;
  padding-bottom: 4rem;
}

.masthead .lead {
  color: rgba(226, 232, 240, 0.95) !important;
}

.app-badge {
  border-radius: 0.7rem;
  box-shadow: 0 12px 24px rgba(2, 6, 23, 0.28);
}

aside.bg-gradient-primary-to-secondary,
section.bg-gradient-primary-to-secondary {
  background: linear-gradient(120deg, #0284c7, #0f766e 52%, #ea580c) !important;
}

#features,
section.bg-light {
  position: relative;
}

#features .container,
section.bg-light .container {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1.3rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.icon-feature {
  transition: transform 0.24s ease;
}

.text-center:hover .icon-feature {
  transform: translateY(-3px) scale(1.02);
}

.site-footer {
  background: linear-gradient(135deg, #0b1222, #111c34) !important;
  border-top: 1px solid rgba(148, 163, 184, 0.24);
}

.site-footer .footer-title {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #93c5fd;
  margin-bottom: 0.55rem;
}

.site-footer .footer-note {
  color: #cbd5e1;
  max-width: 26rem;
}

.site-footer a {
  color: #dbeafe;
  font-weight: 600;
  text-decoration: none;
}

.site-footer a:hover {
  color: #fb923c;
}

.site-footer .footer-divider {
  width: 100%;
  max-width: 100%;
  margin-top: 1.2rem;
  margin-bottom: 0.9rem;
  background: rgba(148, 163, 184, 0.3);
}

.site-footer .text-muted,
.site-footer .text-white-50 {
  color: rgba(203, 213, 225, 0.78) !important;
}

@media (max-width: 991.98px) {
  #mainNav .container.nav-shell {
    border-radius: 1rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }

  #mainNav {
    background: rgba(2, 6, 23, 0.92);
  }

  .masthead {
    min-height: 78vh;
    padding-top: 8.8rem;
  }
}
