/* General Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Body Styling */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height: 1.6;
  color:#fff;
  background: url('Media/Novasphere\ logo.png') center center / cover no-repeat fixed;
  background-color: #0f2027; /* fallback color */
  min-height: 100vh;
}

/* Dark Overlay */
.overlay {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* dark overlay */
  z-index: -1;
}

/* Navbar */
.navbar {
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.navbar-brand {
  font-weight: bold;
  font-size: 1.5rem;
}

.nav-link {
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: #00d4ff;
}

/* Hero Section */
.hero {
  height: 100vh;
  background: url('hero-tech.jpg') center/cover no-repeat;
  color: white;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.hero h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.hero p {
  font-size: 1.25rem;
}

.hero .btn {
  border-radius: 30px;
  padding: 10px 25px;
}

/* Typewriter Animation */
.typewriter {
  overflow: hidden;
  border-right: .15em solid white;
  white-space: nowrap;
  animation: typing 3s steps(30, end), blink .75s step-end infinite;
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

@keyframes blink {
  from, to { border-color: transparent }
  50% { border-color: white }
}

/* Services Section */
.service-card {
  transition: transform 0.3s ease;
  border-radius: 10px;
}

.service-card:hover {
  transform: translateY(-5px);
}

.card-title {
  font-weight: bold;
  color: #203a43;
}

.card-text {
  font-size: 0.95rem;
}

/* Team Section */
.card.text-center {
  border: none;
  background-color: #ffffff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.card.text-center:hover {
  transform: scale(1.05);
}

.card-title {
  font-size: 1.2rem;
  color: #2c5364;
}

/* Contact Form */
form .form-control:focus {
  border-color: #00d4ff;
  box-shadow: 0 0 5px rgba(0,212,255,0.5);
}

/* Footer */
footer {
  background: #203a43;
  color: white;
  text-align: center;
  padding: 20px 0;
  font-size: 0.9rem;
}

/* AOS Animations */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos].aos-animate {
  opacity: 1;
}


