:root{
  --blue-900:#061a3a;
  --blue-800:#0a2b63;
  --blue-700:#0b3a86;
  --blue-600:#114bb0;

  --yellow-500:#ffd000;
  --yellow-400:#ffe066;

  --text:#0e1b2b;
  --muted:#5a6a7e;

  --card:#ffffff;
  --soft:#f6f8ff;

  --shadow: 0 18px 50px rgba(6, 26, 58, .14);
  --shadow2: 0 10px 30px rgba(6, 26, 58, .10);

  --radius: 20px;
  --radius2: 28px;

  --font-head: "Montserrat", sans-serif;
  --font-body: "Poppins", sans-serif;
}

*{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  color: var(--text);
  background:#fff;
}

a{ text-decoration:none; }
.section{
  padding: 80px 0;
}
.section-soft{
  background: linear-gradient(180deg, #ffffff, var(--soft));
}
.section-head .kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.82rem;
  color: var(--blue-700);
  background: rgba(255, 208, 0, .25);
  border:1px solid rgba(255, 208, 0, .55);
  padding:.5rem .9rem;
  border-radius: 999px;
}
.kicker-light{
  color:#fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.section-title{
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  margin: 14px 0 10px;
}
.section-subtitle{
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.7;
}

/* Topbar */
.topbar{
  background: linear-gradient(90deg, var(--blue-900), var(--blue-800));
  color: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.topbar a{ color: rgba(255,255,255,.92); }
.topbar a:hover{ color: var(--yellow-400); }
.topbar-item i{ color: var(--yellow-500); }
.topbar-pill{
  background: rgba(255, 208, 0, .95);
  color: var(--blue-900);
  padding: .45rem .9rem;
  border-radius: 999px;
  font-weight: 700;
}
.topbar-pill:hover{
  filter: brightness(.95);
}

/* Navbar */
.site-header{ z-index: 999; }
.nav-glass{
  background: rgba(6, 26, 58, .78);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navbar .nav-link{
  color: rgba(255,255,255,.88);
  font-weight: 600;
  padding: .7rem .9rem;
  border-radius: 12px;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: #fff;
  background: rgba(255, 208, 0, .16);
}
.navbar-brand .brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: linear-gradient(145deg, var(--yellow-500), var(--yellow-400));
  color: var(--blue-900);
  box-shadow: 0 10px 25px rgba(255, 208, 0, .30);
}
.brand-text .brand-name{
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: .5px;
  line-height: 1;
}
.brand-text .brand-sub{
  font-size: .78rem;
  opacity: .85;
  line-height: 1.2;
}

.navbar-logo{
  height: 75px;              /* desktop size */
  width: auto;
  border-radius: 6px;
  transition: transform .25s ease;
}

.navbar-brand:hover .navbar-logo{
  transform: scale(1.05);
}

/* Mobile optimization */
@media (max-width: 575px){
  .navbar-logo{
    height: 40px;
  }
}


/* Buttons */
.btn-brand{
  background: linear-gradient(145deg, var(--yellow-500), var(--yellow-400));
  color: var(--blue-900);
  border: none;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(255, 208, 0, .28);
}
.btn-brand:hover{
  filter: brightness(.97);
  color: var(--blue-900);
}
.btn-outline-brand{
  border: 2px solid rgba(255, 208, 0, .85);
  color: #081b46;
  font-weight: 800;
}
.navbar .btn-outline-brand{
  color: rgba(255,255,255,.95);
}
.btn-outline-brand:hover{
  background: rgba(255, 208, 0, .15);
  color: #0f3ba1d7;
}

/* Hero */
.hero{ position: relative; }
.hero-slide{
  min-height: 84vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display:flex;
  align-items:center;
}
.hero-slide .overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 20% 30%, rgba(255,208,0,.18), transparent 60%),
    linear-gradient(90deg, rgba(6, 26, 58, .86), rgba(6, 26, 58, .45));
}
.hero-card{
  position: relative;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius2);
  padding: 28px 26px;
  box-shadow: var(--shadow);
  color: #fff;
}
.badge-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight: 800;
  background: rgba(255, 208, 0, .20);
  border: 1px solid rgba(255, 208, 0, .35);
  color: #fff;
  padding: .5rem .9rem;
  border-radius: 999px;
}
.hero-title{
  font-family: var(--font-head);
  font-weight: 900;
  line-height: 1.1;
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  margin: 10px 0 12px;
}
.hero-text{
  color: rgba(255,255,255,.86);
  font-size: 1.06rem;
  line-height: 1.7;
}
.hero-highlights{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  color: rgba(255,255,255,.88);
  font-weight: 600;
}
.hero-highlights i{
  color: var(--yellow-500);
  margin-right: 6px;
}

/* Media card */
.media-card{ position:relative; }
.media-card img{
  box-shadow: var(--shadow2);
}
.media-badge{
  position:absolute;
  left: 18px;
  bottom: 18px;
  background: rgba(6, 26, 58, .86);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  padding: .7rem .9rem;
  border-radius: 16px;
  font-weight: 700;
}
.media-badge i{ color: var(--yellow-500); }

/* Icon cards */
.icon-card{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  background: var(--card);
  border-radius: var(--radius);
  padding: 16px 16px;
  box-shadow: var(--shadow2);
  border: 1px solid rgba(10,43,99,.08);
}
.icon-card .icon{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(255, 208, 0, .25);
  border: 1px solid rgba(255, 208, 0, .45);
  color: var(--blue-800);
  font-size: 1.2rem;
}

/* Services */
.service-card{
  background: var(--card);
  border-radius: var(--radius2);
  border: 1px solid rgba(10,43,99,.08);
  box-shadow: var(--shadow2);
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.service-card::before{
  content:"";
  position:absolute;
  inset: -80px -80px auto auto;
  width: 160px;
  height: 160px;
  background: rgba(255, 208, 0, .18);
  border-radius: 50%;
  z-index: 0;
}

.service-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

/* NEW: Service image (top) */
.service-img{
  position: relative;
  width: 100%;
  height: 285px;
  overflow: hidden;
}

.service-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .5s ease;
}

.service-card:hover .service-img img{
  transform: scale(1.08);
}

/* Body spacing (below image) */
.service-body{
  position: relative;
  z-index: 1;
  padding: 22px 24px 24px;
}

/* Icon box */
.service-icon{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--blue-700), var(--blue-900));
  color: var(--yellow-500);
  font-size: 1.5rem;
  box-shadow: 0 16px 30px rgba(10,43,99,.18);
  margin-top: -34px; /* nice overlap on image */
  margin-bottom: 14px;
  border: 2px solid rgba(255,255,255,.65);
  transition: transform .6s ease, filter .25s ease;
}

/* NEW: 360 rotation on hover */
.service-card:hover .service-icon{
  transform: rotate(360deg);
  filter: brightness(1.05);
}

/* optional tiny shine on hover */
.service-card:hover .service-icon::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 20px;
  box-shadow: 0 0 22px rgba(255, 208, 0, .35);
  pointer-events:none;
}

/* Existing list styles */
.mini-list{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
}

.mini-list li{
  display:flex;
  gap: 10px;
  margin: 8px 0;
}

.mini-list i{
  color: var(--blue-700);
  background: rgba(255, 208, 0, .25);
  border: 1px solid rgba(255, 208, 0, .45);
  width: 26px;
  height: 26px;
  display:grid;
  place-items:center;
  border-radius: 10px;
}

/* Responsive: make image height smaller on mobile */
@media (max-width: 575px){
  .service-img{ height: 165px; }
  .service-body{ padding: 18px 18px 20px; }
}


/* Why choose */
.feature-list{ display:flex; flex-direction:column; gap: 14px; margin-top: 18px; }
.feature-item{
  display:flex; gap: 14px;
  background: #fff;
  border-radius: var(--radius);
  padding: 14px 14px;
  border: 1px solid rgba(10,43,99,.08);
  box-shadow: var(--shadow2);
}
.ficon{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(255, 208, 0, .25);
  border: 1px solid rgba(255, 208, 0, .45);
  color: var(--blue-800);
  font-size: 1.1rem;
}

.why-card{
  background: linear-gradient(145deg, #fff, #f9fbff);
  border: 1px solid rgba(10,43,99,.10);
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.why-card-top{
  padding: 24px;
  border-bottom: 1px solid rgba(10,43,99,.08);
  position: relative;
}
.why-badge{
  display:inline-flex;
  gap:10px;
  align-items:center;
  background: rgba(255, 208, 0, .25);
  border: 1px solid rgba(255, 208, 0, .55);
  padding:.55rem .9rem;
  border-radius: 999px;
  color: var(--blue-900);
  font-weight: 900;
  margin-bottom: 12px;
}
.why-metrics{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 18px 18px 6px;
}
.metric{
  background:#fff;
  border: 1px solid rgba(10,43,99,.08);
  border-radius: 18px;
  padding: 14px;
  text-align:center;
}
.metric .num{
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 1.4rem;
  color: var(--blue-800);
}
.metric .lbl{
  color: var(--muted);
  font-weight: 600;
  font-size: .92rem;
}
.why-card-bottom{
  padding: 18px;
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items:center;
  border-top: 1px solid rgba(10,43,99,.08);
  background: rgba(6,26,58,.04);
}
.why-card-bottom i{ color: var(--blue-800); }

/* Achievements */
.section-accent{
  background:
    radial-gradient(1200px 700px at 20% 20%, rgba(255,208,0,.20), transparent 55%),
    linear-gradient(145deg, var(--blue-900), var(--blue-700));
}
.stat-card{
  border-radius: var(--radius2);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  padding: 22px;
  color:#fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.20);
}
.stat-icon{
  width: 52px; height: 52px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: rgba(255, 208, 0, .20);
  border: 1px solid rgba(255, 208, 0, .32);
  color: var(--yellow-500);
  font-size: 1.45rem;
  margin-bottom: 14px;
}
.stat-number{
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1;
}
.stat-label{
  color: rgba(255,255,255,.78);
  font-weight: 600;
  margin-top: 8px;
}

/* Gallery */
.gallery-item{
  position: relative;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: var(--shadow2);
  border: 1px solid rgba(10,43,99,.08);
  background: #fff;
  transition: transform .25s ease;
}
.gallery-item:hover{
  transform: translateY(-5px);
}
.gallery-item img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform .35s ease;
}
.gallery-item:hover img{
  transform: scale(1.05);
}
.gallery-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, transparent 40%, rgba(6,26,58,.70));
  display:flex;
  align-items:flex-end;
  padding: 14px;
}
.gallery-overlay .tag{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  background: rgba(255,208,0,.20);
  border: 1px solid rgba(255,208,0,.35);
  color:#fff;
  padding: .45rem .75rem;
  border-radius: 999px;
  font-weight: 800;
}

/* Contact */
.contact-card, .form-card{
  background:#fff;
  border-radius: var(--radius2);
  padding: 24px;
  border: 1px solid rgba(10,43,99,.08);
  box-shadow: var(--shadow2);
}
.contact-item{
  display:flex;
  gap: 14px;
  padding: 12px 0;
}
.contact-item .cicon{
  width: 46px; height: 46px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: rgba(255, 208, 0, .25);
  border: 1px solid rgba(255, 208, 0, .45);
  color: var(--blue-800);
  font-size: 1.2rem;
}
.contact-item .label{
  font-weight: 800;
  color: var(--blue-800);
}
.contact-item .value{
  color: var(--muted);
}
.contact-item a{ color: var(--blue-700); font-weight: 700; }
.contact-item a:hover{ color: var(--blue-900); }

.form-hint{
  color: var(--muted);
  font-size: .92rem;
}

/* Map */
.map-wrap{ padding: 0 0 80px; }
.map-card{
  border-radius: var(--radius2);
  overflow:hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(10,43,99,.08);
  background:#fff;
}
.map-head{
  padding: 16px 18px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 12px;
  background: linear-gradient(90deg, rgba(6,26,58,.04), rgba(255,208,0,.10));
  border-bottom: 1px solid rgba(10,43,99,.08);
}
.ratio-map{ --bs-aspect-ratio: 42%; }

/* Footer */
.footer{
  background: linear-gradient(145deg, var(--blue-900), var(--blue-800));
  color: rgba(255,255,255,.88);
}
.footer .brand-mark{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: linear-gradient(145deg, var(--yellow-500), var(--yellow-400));
  color: var(--blue-900);
}
.footer-title{
  font-family: var(--font-head);
  font-weight: 900;
  margin-bottom: 14px;
  color:#fff;
}
.footer-text{ color: rgba(255,255,255,.78); line-height: 1.7; }
.footer-links{
  list-style:none;
  padding: 0;
  margin: 0;
}
.footer-links li{ margin: 10px 0; }
.footer-links a{
  color: rgba(255,255,255,.80);
  font-weight: 600;
}
.footer-links a:hover{ color: var(--yellow-400); }
.footer-contact a{ color: rgba(255,255,255,.88); font-weight: 700; }
.footer-contact a:hover{ color: var(--yellow-400); }
.footer-social .social{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.footer-social .social:hover{
  border-color: rgba(255, 208, 0, .45);
  background: rgba(255, 208, 0, .14);
}
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.78);
}

/* Floating buttons */
/* ================= FLOATING ACTIONS ================= */

html, body{
  overflow-x: hidden;
}

.floating-actions{
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  contain: layout paint;
}

/* Base button */
.float-btn{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  border: none;
  cursor: pointer;
  position: relative;

  /* ONE clean shadow only */
  box-shadow: 0 10px 22px rgba(0,0,0,.25);

  transition: transform .2s ease, box-shadow .2s ease;
}

.float-btn i{
  font-size: 1.4rem;
  position: relative;
  z-index: 2;
}

.float-btn:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0,0,0,.30);
}

/* ================= GLOW LAYER (SAFE) ================= */
.float-btn::after{
  content:"";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  opacity: 0;
  z-index: 1;
  transition: opacity .3s ease;
  pointer-events: none;
}

/* WhatsApp */
.float-whatsapp{
  background: linear-gradient(145deg, #1ebf5a, #0c8b3d);
}
.float-whatsapp::after{
  box-shadow: 0 0 24px rgba(30,191,90,.55);
}
.float-whatsapp:hover::after{
  opacity: 1;
}

/* Call */
.float-call{
  background: linear-gradient(145deg, var(--blue-600), var(--blue-900));
}
.float-call::after{
  box-shadow: 0 0 24px rgba(17,75,176,.55);
}
.float-call:hover::after{
  opacity: 1;
}

/* Back to top */
.float-top{
  background: linear-gradient(145deg, var(--yellow-500), var(--yellow-400));
  color: var(--blue-900);
  display: none;
}
.float-top::after{
  box-shadow: 0 0 22px rgba(255,208,0,.65);
}
.float-top:hover::after{
  opacity: 1;
}

/* ================= TOOLTIP ================= */
.float-tooltip{
  position: absolute;
  right: 62px;
  background: rgba(6,26,58,.92);
  color: #fff;
  padding: .35rem .6rem;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 700;
  opacity: 0;
  transform: translateX(8px);
  transition: all .2s ease;
  pointer-events: none;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.10);
}

.float-btn:hover .float-tooltip{
  opacity: 1;
  transform: translateX(0);
}

/* ================= MOBILE FIX ================= */
@media (max-width: 991px){
  .float-btn{
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  .float-btn i{
    font-size: 1.25rem;
  }

  /* Disable tooltip on touch devices */
  .float-tooltip{
    display: none !important;
  }
}

@media (max-width: 575px){
  .floating-actions{
    right: 12px;
    bottom: 12px;
    gap: 10px;
  }

  .float-btn{
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }
}




/* Responsive tweaks */
@media (max-width: 991px){
  .hero-slide{ min-height: 74vh; }
  .why-metrics{ grid-template-columns: 1fr; }
  .why-card-bottom{ flex-direction: column; align-items:flex-start; }
  .ratio-map{ --bs-aspect-ratio: 58%; }
}
@media(max-width:767px)
{
	.cu-mb-ds-nn{
		display:none!important
	}
	.cu-jf-cntr{
		justify-content:center!important
	}
}
@media (max-width: 575px){
  .section{ padding: 64px 0; }
  .hero-card{ padding: 22px; }
  .gallery-item img{ height: 190px; }
}
