
:root{
  --navy:#0b3d91;
  --sky:#46b5ff;
  --gray:#f3f5f7;
  --accent: #0b82d6;
  --glass: rgba(255,255,255,0.85);
}

*{box-sizing: border-box}
body{
  font-family: 'Poppins', sans-serif;
  color:#223;
  background: #fff;
  -webkit-font-smoothing:antialiased;
}

/* TOP BAR */
.topbar{ background: linear-gradient(90deg,var(--navy),var(--accent)); }
.topbar a{ color: rgba(255,255,255,0.95); text-decoration:none; }
.topbar .small{ font-size:0.92rem; }

/* header brand */
.navbar-brand .brand-title{
  font-family: 'Montserrat', sans-serif;
  font-weight:700;
  color:var(--navy);
  font-size:1.25rem;
}
.logo-img{ width:56px; height:56px; object-fit:cover; border-radius:10px; }

/* HERO */
.hero-section{ position:relative; }
.hero-img{  object-fit:cover; filter:brightness(0.65); }
.carousel-caption{ bottom: 30%;  max-width: 100%; text-align:left; }
.carousel-caption h1{ font-family:'Montserrat',sans-serif; font-weight:700; color:white; text-shadow:0 4px 18px rgba(0,0,0,0.6); }
.carousel-caption p{ color:rgba(255,255,255,0.9); font-weight:500; }

/* Section titles */
.section-title{ font-family:'Montserrat',sans-serif; color:var(--navy); font-weight:700; margin-bottom:0.5rem; }

/* About card */
.about-card{ background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,250,0.9)); }

/* SERVICES */
.service-card{ transition: transform .35s ease, box-shadow .35s ease; border-radius:12px; }
.service-card:hover{ transform: translateY(-8px); box-shadow:0 18px 40px rgba(10,40,80,0.08); }
.icon-circle{ width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--navy),var(--accent)); color:white; font-size:1.4rem; }

/* WHY */
.why-list li{ margin-bottom:12px; font-size:1.05rem; }

/* ACHIEVEMENTS */
.bg-gradient{ background: linear-gradient(90deg,var(--navy),var(--accent)); }
.counter{ font-family:'Montserrat',sans-serif; color:white; font-size:2rem; margin-bottom:0; }

/* GALLERY grid */
#galleryGrid img{ width:100%; object-fit:cover; border-radius:8px; transition: transform .25s ease; }
#galleryGrid .col{ overflow:hidden; }
#galleryGrid img:hover{ transform: scale(1.05); }

/* CONTACT */
.card .form-label{ font-weight:600; }
#formAlert{}

/* FOOTER */
.footer{ background: linear-gradient(180deg,#061a4b, #0b3d91); }

/* FLOATING BUTTONS */
.float-whatsapp, .float-call{
  position: fixed;
  right: 20px;
  border-radius: 50%;
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  box-shadow: 0 10px 30px rgba(10,20,60,0.18);
  z-index: 1100;
  text-decoration:none;
}
.float-whatsapp{
  bottom: 100px;
  background: linear-gradient(135deg,#25D366,#128C7E);
  animation: glow 2.8s infinite;
}
.float-call{
  bottom: 20px;
  background: linear-gradient(135deg,#0b3d91,#46b5ff);
  animation: glow 3.2s infinite;
}
.float-whatsapp i, .float-call i{ font-size:1.45rem; }

/* Glow animation */
@keyframes glow{
  0%{ box-shadow: 0 6px 20px rgba(0,0,0,0.12); transform: translateY(0); }
  50%{ box-shadow: 0 16px 40px rgba(0,0,0,0.18); transform: translateY(-3px); }
  100%{ box-shadow: 0 6px 20px rgba(0,0,0,0.12); transform: translateY(0); }
}

/* Responsive tweaks */
@media (max-width: 991px){
  .carousel-caption{ left:0; right:0; bottom: 20%; text-align:center; }
  .carousel-caption h1{ font-size:1.6rem; }
  .hero-img{ height:320px; }
  .logo-img{ width:44px;height:44px;}
}
@media (max-width: 576px){
  .hero-img{ height:220px; }
  .carousel-caption p{ display:none; }
  .float-whatsapp, .float-call{ width:52px; height:52px; }
}

.cu-lg-wdth{
	width:280px;
}
.cu-bg{
	background: #0b3d91;
}
.fter-hd{
	background: #0d6efd;
    border-top-right-radius: 20px;
    padding-left: 7px;
    padding: 4px;
}
.ctc-ul li{
	border-bottom:1px dashed;
}
.bder-btm{
	border-bottom:1px dashed;
}
.tx-dc-nn{
	text-decoration: none;
}
.sub-hdng{
	background: #0d6efd;
	padding:2px 10px 2px 10px;
	border-radius:20px;
	color:#fff;
	display:inline-block;
	width:120px;
}
.cu-mb-5{
	margin-bottom:5px;
}
.cu-icn{
	margin: 0 auto;
    margin-top: -27px;
    position: relative;
}
#enu-st{
	background:#0d6efd;
	color:#fff;
	padding:8px 12px;
	display:block;
	width:100%;
}
@media(max-width:991px)
{
.sticky-top
{
	position:relative!important;
}

}
@media(max-width:767px)
{
	.mb-ds-nn{
		display:none;
	}
	.jf-cntr{
		justify-content: center !important;
	}
	.cu-lg-wdth {
    width: 207px;
}
}