/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Base */
body {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/* Layout container */
.container {
    width: 90%;
    max-width: 1100px;
    margin: auto;
}


/* Sections */
section {
    padding: 3rem 0;
}

/* Footer */
footer {
    background: #171717;
    text-align: center;
    padding: 2rem 0;
    color: #ffffff;
}


/* --------------HEADER--------------- */

.hero {
  padding: 0; /* override your generic section padding */
}

/* Shared hero styles */
.hero-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Overlay to ensure text is readable */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

/* Content on top of overlay */
.hero-content {
  position: relative;
  z-index: 1;
  padding: 1.5rem 0;
  color: #fff;
}

.hero-content h2 {
  font-weight: 800;
  line-height: 1.15;
  font-size: clamp(2rem, 4vw, 3.25rem);
  margin-bottom: 0.75rem;
}

.hero-content p {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

/* Desktop variant */
.hero-desktop {
  height: 80vh;
  min-height: 520px;
  background-image: url("../images/banner-desktop.jpg");
}

/* Mobile variant */
.hero-mobile {
  height: 100vh;
  min-height: 600px;
  background-image: url("../images/banner-mobile.jpg");
}

/* Show/hide based on page width */
.hero-desktop { display: flex; }
.hero-mobile { display: none; }


/* ===============================
   MOBILE TWEAKS
================================= */

@media (max-width: 768px) {
    .hero-desktop { display: none; }
    .hero-mobile { display: flex; }
}





