body { font-family:'Poppins',sans-serif; }
html { scroll-behavior:smooth; }

/* TOP BAR */
.top-bar {
  background:#1f3c88;
  color:#fff;
  padding:6px 0;
  font-size:14px;
}

/* NAVBAR */
.navbar-nav .nav-link {
  position:relative;
  font-weight:600;
  margin-left:24px;
  padding:8px 0;
}
.navbar-nav .nav-link::after {
  content:'';
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:3px;
  background:#1f3c88;
  transition:.3s;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  width:100%;
}

/* Logo image in navbar */
.navbar-brand img {
  max-height:150px;
  max-width:300px;
  height:auto;
  width:auto;
}
.subhead {
  color :darkred;
}
/* HERO */
.hero {
  height:80vh;
  background:url('../images/herosec.png') center/cover no-repeat;
}
.hero-text-box {
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:24px 30px;
  max-width:520px;
  border-radius:6px;
}
.hero-text-box h1 {
  font-size:clamp(28px,5vw,48px);
  font-weight:600;
  margin-bottom:10px;
}
.hero-text-box p {
  font-size:clamp(14px,2.5vw,18px);
  margin:0;
}

/* SERVICES */
.service-card {
  cursor:pointer;
  border:none;
  position:relative;
  overflow:hidden;
}
.service-card img {
  height:240px;
  object-fit:cover;
}
.service-title {
  position:absolute;
  bottom:15px;
  left:15px;
  background:rgba(0,0,0,.65);
  color:#fff;
  padding:6px 12px;
  font-weight:600;
  border-radius:4px;
}

/* CONTACT */
.map-box {
  height:260px;
  background:#eee;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ADDRESS */
.address-card {
  background:#f8f9fa;
  padding:20px;
  border-radius:6px;
  height:100%;
}
.address-card i {
  color:#1f3c88;
  margin-right:6px;
}

/* FOOTER */
.footer-dark {
  background:#0b1d3a;
  color:#fff;
  padding:50px 0 0;
}
.footer-title {
  font-size:18px;
  font-weight:600;
  margin-bottom:15px;
}
.footer-text {
  font-size:14px;
  opacity:.85;
}
.footer-links {
  list-style:none;
  padding:0;
  margin:0;
}
.footer-links li {
  margin-bottom:8px;
}
.footer-links a {
  color:#fff;
  text-decoration:none;
  font-size:14px;
  opacity:.85;
}
.footer-links a:hover { opacity:1; }
.footer-bottom {
  background:#07152b;
  text-align:center;
  padding:15px;
  margin-top:40px;
  font-size:14px;
  opacity:.85;
}
/* ===============================
   MOBILE REAL-DEVICE FIXES
   =============================== */

/* Safe-area support (real phones vs dev tools) */
.top-bar,
.navbar {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* MOBILE ONLY */
@media (max-width: 576px) {

  /* TOP BAR */
  .top-bar {
    font-size: 12px;
    padding: 4px 0;
  }

  .top-bar i {
    font-size: 13px;
  }

  .top-bar .container {
    flex-wrap: nowrap;
  }

  /* NAVBAR HEIGHT FIX */
  .navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  /* LOGO FIX (MOST IMPORTANT) */
  .navbar-brand img {
    max-height: 42px;     /* controls navbar height */
    max-width: 180px;
  }

  /* HAMBURGER BUTTON */
  .navbar-toggler {
    padding: 4px 6px;
    font-size: 18px;
  }

  /* NAV LINKS (collapsed menu) */
  .navbar-nav .nav-link {
    margin-left: 0;
    padding: 10px 0;
  }
}

