*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

/* MARQUEE */
.top-marquee{
  background:#000;
  color:#fff;
  padding:8px 0;
  font-weight:600;
  letter-spacing:1px;
}

/* HERO SECTION */
.hero{
  position:relative;
  height:100vh; /* desktop height */
  background:url("https://images.unsplash.com/photo-1544620347-c4fd4a3d5957") center center / cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
}

.overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.15); /* lighter overlay for visible image */
}

.hero-content{
  position:relative;
  color:#fff;
  text-align:center;
  padding:20px;
}

.hero-content h1{
  font-size:56px;
  font-weight:900;
  letter-spacing:3px;
}

.hero-content h2{
  font-size:32px;
  margin:10px 0;
}

.hero-content p{
  opacity:0.9;
  margin-bottom:30px;
}

/* CENTRAL CALL NOW BUTTON */
.call-now{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  background:#fff;
  color:#000;
  padding:20px 40px;
  border-radius:20px;
  font-size:26px;
  font-weight:800;
  text-decoration:none;
  animation:pulse 1.2s infinite;
}

.call-now span{
  font-size:13px;
  font-weight:500;
  margin-top:6px;
  opacity:0.8;
}

/* SIDE FLOATING CALL */
.side-call{
  position:fixed;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  background:#000;
  color:#fff;
  text-decoration:none;
  padding:14px 16px;
  border-radius:50px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:8px;
  z-index:999;
  box-shadow:0 6px 18px rgba(0,0,0,0.4);
}

.side-call span{
  font-size:14px;
}

/* TRUST */
.trust{
  display:flex;
  justify-content:center;
  gap:15px;
  padding:20px;
  background:#f5f5f5;
  font-weight:600;
  flex-wrap:wrap;
}

/* FLEET SECTION (4 IMAGES) */
.fleet{
  padding:50px 20px;
  text-align:center;
  background:#fff;
}

.fleet h2{
  font-size:36px;
  margin-bottom:8px;
}

.fleet p{
  color:#666;
  margin-bottom:25px;
}

/* GRID */
.fleet-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px; /* reduced gap */
  max-width:1000px;
  margin:auto;
}

.fleet-card{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,0.12);
  transition:transform 0.3s ease;
}

.fleet-card:hover{
  transform:translateY(-6px);
}

.fleet-card img{
  width:100%;
  height:180px;
  object-fit:cover;
}

.fleet-card h3{
  padding:15px;
  font-size:18px;
  background:#000;
  color:#fff;
}

/* BUS TYPES / SLEEPER COACHES */
.buses{
  padding:50px 20px;
  text-align:center;
}

.bus-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:15px;
  margin-top:25px;
}

.bus-card{
  border:2px solid #000;
  padding:25px;
  border-radius:18px;
  font-weight:700;
  background:#f9f9f9;
}

.bus-card h3{
  margin-bottom:10px;
}

.bus-card p{
  font-weight:400;
  font-size:14px;
  color:#333;
}

/* OFFER */
.offer{
  background:#000;
  color:#fff;
  text-align:center;
  padding:50px 20px;
}

.offer-call{
  display:inline-block;
  margin-top:20px;
  background:#fff;
  color:#000;
  padding:14px 28px;
  border-radius:30px;
  font-weight:700;
  text-decoration:none;
}

/* FOOTER */
footer{
  background:#000;
  color:#fff;
  text-align:center;
  padding:15px;
  font-size:13px;
}

/* ANIMATION */
@keyframes pulse{
  0%{transform:scale(1);}
  50%{transform:scale(1.08);}
  100%{transform:scale(1);}
}

/* MOBILE */
@media(max-width:768px){
  .hero{
    height:70vh; /* mobile hero height */
    background-position: center top;
    background-size: cover;
    background-attachment: scroll;
  }

  .hero-content{
    padding:15px;
  }

  .hero-content h1{font-size:32px;}
  .hero-content h2{font-size:20px;}
  .call-now{font-size:18px; padding:14px 28px;}
  .side-call{
    top:auto;
    bottom:20px;
    right:20px;
  }
  .fleet-card img{
    height:150px;
  }
  .bus-card{
    padding:18px;
  }
}
