/* =========================
   Base & Typography
   ========================= */
body {
  font-family: 'Manrope', sans-serif;
}
h1, h3, h4, h5, h6 {
  font-weight: 600;
}
h1 {
  font-size: 76px;
}
h2 {
  font-size: 48px;
}
h3 {
  font-size: 36px;
}
h4 {
  font-size: 24px;
}
h5 {
  font-size: 25px;
}
.fw-extra-bold {
  font-weight: 800;
}

/* =========================
   Utilities (Colors, Spacing, Font)
   ========================= */
.text-green { color: #00B16D; }
.text-grey { color: #E0E0E0; }
.text-ash { color: #ECECEC; }
.text-dk-green { color: #0D623A; }
.py-custom {
  padding-top: 9rem;
  padding-bottom: 9rem;
}

/* =========================
   Buttons
   ========================= */
.btn {
  border-radius: 10px;
}
.btn:hover {
  background: transparent;
}
.btn-lg {
  padding: 20px 33px;
  font-size: 16px;
  border-radius: 4px;
}
.btn-hero {
  background: linear-gradient(to right, rgba(65, 199, 111, 1), rgba(51, 142, 82, 1));
  color: #fff;
  padding: 10px 20px;
  font-size: 16px;
}
.btn-hero:hover {
  border: solid 1px  rgba(51, 142, 82, 1);
  color: #fff;
  padding: 10px 20px;
  font-size: 16px;
}
.btn-about {
  background: white;
  color: #0D623A;
  padding: 20px 33px;
}
.btn-about:hover {
  border: solid 1px white;
}
.btn-legal {
  background: #27A469;
  color: white;
  padding: 20px 52px;
}
.btn-legal:hover {
  border: solid 1px #27A469;
  color: #27A469;
}
.btn-footer {
  background: #27A469;
  color: white;
  padding: 11px 11px;
}
.btn-footer:hover {
  background-color: #24905d;
}

/* =========================
   Navbar
   ========================= */
.bg-nav {
  background-color: #03162C;
  border-radius: 11px;
}
.bg-footer {
  background-color: #042142;
}
nav .container {
    padding: 22px 42px 22px 42px;
}
.navbar-brand img {
  max-width: 372px;
  height: 62px;
  width: auto;
}
.navbar-brand {
  display: flex;
  align-items: center;
}
.nav-link {
  font-weight: 700;
  color: #E0E0E0;
  font-size: 13px;
}
.btn-navbar {
  background-color: #E0E0E0;
  color: #1B1B1B;
  padding: 12px 25px;
  font-size: 13px;
}
.btn-navbar:hover {
  background-color:  transparent;
  color: #ffff;
  border: solid 1px white;
}

/* =========================
   Media Queries
   ========================= */
@media screen and (max-width: 768px) {
  h1 {
    font-size: 36px;
  }
  h2 {
    font-size: 24px;
  }
}
@media (max-width: 767.98px) {
  .navbar-brand img {
    max-width: 180px; /* Increased logo size for mobile */
    height: auto;
  }
  h1 .text-white {
    text-align: center;
  }
}

.custom-hr {
  border: none;
  border-top: 2px solid #03162C;
  width: 80%;
  margin: 2em 0;
}