/* =======================
   FOOTER
   ======================= */
.nl-footer{
  --aside-w: clamp(240px, 23vw, 320px);
  --aside-bg: #0e1a28;
  --heading: #3bc0db;         /* cyan/teal like the comp */
  --ink-on-dark: #eaf2f7;
  --muted-on-dark: rgba(255,255,255,.78);
  --footer-bg: url('../img/footer-bg.webp'); /* <-- starfield/planet image */
  position: relative;
  color: #fff;
  overflow: hidden;
  background: #000;           /* fallback under the bg image */
}

/* background image on the right */
.nl-footer__bg{
  position: absolute; inset: 0;
  background-image: var(--footer-bg);
  background-size: cover;
  background-position: right center;
  opacity: .9;
  z-index: 0;
}

/* dark left panel */
.nl-footer__aside{
  position: relative;
  z-index: 1;
  padding: clamp(20px, 3vw, 28px);
  display: grid;
  align-content: center;
  gap: clamp(20px, 3vw, 28px);
  min-height: clamp(220px, 32vh, 360px);
}

/* 3-column grid (aside + two cols); stacks nicely on smaller screens */
.nl-footer__wrap{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: var(--aside-w) 1fr 1fr;
  gap: clamp(24px, 3vw, 40px);
  padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 44px);
}

/* brand */
.nl-footer__brand{
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; color: #fff;
}
.nl-footer__logo{
  width: clamp(200px, 4vw, 400px); height: auto; display: block;
}
.nl-footer__brand-text{
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-weight: 800; letter-spacing: .2px; font-size: clamp(20px, 2.2vw, 28px);
}

/* italic tagline */
.nl-footer__tagline{
  margin: 0;
  color: var(--ink-on-dark);
  font-family: Georgia, "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: .9px;
  text-align: left;
  line-height: 1.35;
  font-size: clamp(16px, 1.7vw, 20px);
}

/* column headings */
.nl-footer__heading{
  margin: clamp(6px, 1vw, 10px) 0 10px 0;
  font: 700 clamp(13px, 1.1vw, 14px)/1 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--heading);
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
}

/* list styles */
.nl-footer__col{
  position: relative; z-index: 1;
  padding: clamp(10px, 1.2vw, 12px) 0 clamp(18px, 2vw, 22px);
  color: var(--muted-on-dark);
}
.nl-footer__list{
  margin: 0; padding: 0; list-style: none;
  display: grid; gap: 8px;
  font: 400 clamp(14px, 1.2vw, 16px)/1.7 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.nl-footer__list li{ position: relative; padding-left: 14px; }
.nl-footer__list li::before{
  content:"•"; position: absolute; left: 0; top: 0; line-height: 1.7; opacity: .85;
}

.nl-footer__links a{
  color: var(--muted-on-dark);
  text-decoration: none;
}
.nl-footer__links a:hover{ text-decoration: underline; color: #fff; }

/* email line */
.nl-footer__email{
  margin: 0 0 12px 0;
  font: 700 clamp(14px, 1.4vw, 18px)/1.4 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.nl-footer__email a{ color:#fff; text-decoration: none; }
.nl-footer__email a:hover{ text-decoration: underline; }

/* legal strip */
.nl-footer__legal{
  position: relative; z-index: 1;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(16px, 6vw, 140px);
  padding: clamp(12px, 2.4vw, 16px) clamp(20px, 4vw, 44px);
  color: rgba(255,255,255,.85);
  font: 400 clamp(12px, 1.1vw, 14px)/1.6 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: linear-gradient(to right, rgba(14,26,40,.82) 0, rgba(14,26,40,.0) 38%);
}

/* remove bullets + left indents in footer lists */
.nl-footer__list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.nl-footer__list li{
  padding-left: 0;
}
.nl-footer__list li::before{
  content: none;
}

/* --- overlay on top of the bg image Start --- */

.nl-footer__wrap,
.nl-footer__aside,
.nl-footer__legal{ position: relative; z-index: 2; }


.nl-footer__bg::after{
  content: "";
  position: absolute; inset: 0;
  /* left is darker (under lists), fades right toward the planet */
  background:
    linear-gradient(
      to right,
      rgba(8, 20, 32, .85) 0%,
      rgba(8, 20, 32, .70) 35%,
      rgba(8, 20, 32, .45) 65%,
      rgba(8, 20, 32, .30) 100%
    );
  z-index: 1;
}

/* slightly stronger overlay on small screens for readability */
@media (max-width: 640px){
  .nl-footer__bg::after{
    background:
      linear-gradient(
        to bottom,
        rgba(8, 20, 32, .88) 0%,
        rgba(8, 20, 32, .88) 100%
      );
  }
}

/* --- overlay on top of the bg image Start --- */


/* ---- RESPONSIVE ---- */
@media (max-width: 1024px){
  .nl-footer__wrap{
    grid-template-columns: 1fr 1fr; /* aside goes full width on its own row */
  }
  .nl-footer__aside{
    grid-column: 1 / -1;
    min-height: auto;
  }
}

@media (max-width: 640px){
  .nl-footer__wrap{
    grid-template-columns: 1fr;
  }
  .nl-footer__col{
    padding-top: 0;
  }
  .nl-footer__tagline{ text-align: center; }
  .nl-footer__brand{ justify-content: center; }
  .nl-footer__bg{ background-position: 70% center; }
}

