/* =============================
   MAIN PAGE LAYOUT & COMPONENTS
============================= */

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  padding-top: 70px; /* Fix navbar overlap */
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Add extra padding on mobile because navbar is taller */
@media (max-width: 768px) {
  body {
    padding-top: 82px;
  }
}

/* Hero section */
.hero {
  background: linear-gradient(180deg, #0d6efd22, #ffffff);
  padding: 3.5rem 0;
}

@media (max-width: 768px) {
  .hero {
    padding: 2.2rem 0; /* Optimize for mobile screens */
  }
}

/* Hover cards */
.card-cta {
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.card-cta:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 30px rgba(13, 110, 253, 0.08);
}

/* Feature icons */
.feature-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f1f5ff;
}

/* Container width control */
.site-max {
  max-width: 1200px;
  width: 100%;            /* FIXED — required for mobile */
  padding-left: 12px;     /* FIXED — prevent overflow */
  padding-right: 12px;    /* FIXED */
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 576px) {
  .site-max {
    padding-left: 16px;
    padding-right: 16px;
  }
  body {
    padding-top: 90px; /* match the mobile menu height */
  }

  section {
    scroll-margin-top: 90px; /* ensures headings stay visible after anchor jump */
  }
}
@media (max-width: 768px) {
  body {
    padding-top: 90px; /* match the mobile menu height */
  }

  section {
    scroll-margin-top: 90px; /* ensures headings stay visible after anchor jump */
  }
}
