/* ========== Global Reset & Base Styles ========== */
body {
  font-family: 'Open Sans', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #121212;
  color: #f8f9fa;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #00d4ff;
}

/* ========== Hero Section ========== */
.display-4 {
  font-weight: 800;
  letter-spacing: 0.5px;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.lead {
  font-size: 1.5rem;
  font-weight: 300;
  color: #ccc;
}

/* ========== Fancy Buttons ========== */
.btn-outline-light {
  border-radius: 30px;
  padding: 0.75rem 2rem;
  font-weight: 600;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}

.btn-outline-light:hover {
  background: linear-gradient(to right, #ffffff, #dddddd);
  color: #000;
  transform: scale(1.05);
}

/* ========== Feature Boxes ========== */
.feature-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 15px;
  padding: 2rem 1rem;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 30px rgba(0,0,0,0.1);
  backdrop-filter: blur(3px);
}

.feature-box:hover {
  transform: translateY(-7px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.feature-box i {
  transition: transform 0.3s ease;
}

.feature-box:hover i {
  transform: scale(1.2);
}

/* ========== Footer Quote ========== */
.wrapper small {
  font-style: italic;
  color: #999;
  font-weight: 300;
}

/* ========== Typed Text Animation Target ========== */
.typed-text {
  color: #f8f9fa;
  font-weight: 400;
}

/* ========== Responsive Touchups ========== */
@media (max-width: 767px) {
  .display-4 {
    font-size: 2.25rem;
  }

  .lead {
    font-size: 1.25rem;
  }

  .feature-box {
    padding: 1.5rem 1rem;
  }
}
