/* --- Sticky nav that scrolls with the page (no overlap) --- */
.nav, body .nav, html body .nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* Compact nav spacing (desktop default) */
.nav {
  padding: 8px 16px;
}
.nav a {
  font-size: 0.95rem;
  line-height: 1.2;
  margin: 0 8px;
}
.logo {
  max-height: 40px;
  vertical-align: middle;
  display: inline-block;
}

/* Safety: avoid horizontal white gutters */
html, body {
  margin: 0;
  overflow-x: hidden;
}

/* Hero section height fix for mobile (avoids 100vh bug) */
.hero {
  min-height: 100vh;   /* fallback */
  min-height: 100dvh;  /* dynamic viewport on modern mobile browsers */
  min-height: 100svh;  /* small viewport unit fallback */
}

/* Media fit: keep images from causing overflow */
img, video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Optional: if any wrappers used 100vw, keep them at 100% */
.full-bleed, .page-wrapper, .section, [style*="100vw"] {
  width: 100% !important;
}

/* --- Mobile: more compact header spacing --- */
@media (max-width: 768px) {
  .nav {
    padding: 6px 12px;
  }
  .nav a {
    font-size: 0.9rem;
    margin: 0 6px;
  }
  .logo {
    max-height: 32px;
  }
}
/* --- Restore brand green for headings and section titles --- */
h1, h2, h3, h4, h5, h6 {
  color: #2f8f2f;   /* replace with your exact shade of green if different */
}

/* Optional: emphasize section titles */
.content h2, .content h3 {
  color: #2f8f2f;
  font-weight: 600;
}
/* --- Hero section text color fix --- */
.hero,
.hero h1,
.hero h2,
.hero-subtext {
  color: #ffffff !important;
}

.hero a {
  color: #ffffff;
  border: 1px solid #ffffff;
}

.hero a:hover {
  background: #ffffff;
  color: #2f8f2f; /* optional: green accent when hovered */
}
