:root{
  /* Palette: blue, sky blue, bluish gray, bluish green */
  --blue-900:#071a2b;
  --blue-800:#0b2a45;
  --blue-700:#0f3a63;

  --sky-500:#2aa8ff;
  --sky-400:#57c2ff;

  --teal-500:#1fc7b6;     /* bluish green */
  --teal-400:#5fe0d3;

  --slate-100:#f5f8fc;
  --slate-200:#e9f0f7;
  --slate-300:#d5e2ee;
  --slate-600:#5b6b7c;
  --slate-800:#243241;

  --white:#ffffff;

  --radius-xl:22px;
  --shadow-lg: 0 18px 55px rgba(7, 26, 43, .18);
  --shadow-md: 0 12px 30px rgba(7, 26, 43, .14);
  --shadow-sm: 0 10px 22px rgba(7, 26, 43, .10);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Plus Jakarta Sans","Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color: var(--slate-800);
  background: radial-gradient(1200px 600px at 15% -10%, rgba(42,168,255,.18), transparent 70%),
              radial-gradient(900px 500px at 85% 0%, rgba(31,199,182,.18), transparent 70%),
              #ffffff;
}

/* Utility */
.section-pad{ padding: 88px 0; }
.section-alt{
  background: linear-gradient(180deg, rgba(233,240,247,.85), rgba(245,248,252,.8));
}
.lead-muted{ color: var(--slate-600); font-size: 1.05rem; }
.fw-extrabold{ font-weight: 800; }
.text-accent{ color: var(--sky-400) !important; }

.kicker{
  display:inline-flex; align-items:center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(42,168,255,.12);
  color: var(--blue-700);
  font-weight: 700;
  letter-spacing:.2px;
  margin-bottom: 12px;
}

.section-title h2{ font-weight: 800; letter-spacing: -.4px; }
.section-title p{ margin-bottom:0; }

/* Topbar */
.topbar{
  background: linear-gradient(90deg, rgba(11,42,69,.96), rgba(15,58,99,.92));
  color: rgba(255,255,255,.92);
}
.topbar-item{ font-size: .88rem; opacity:.95; }
.topbar-link{
  color: rgba(255,255,255,.95);
  text-decoration:none;
  font-size:.9rem;
  font-weight:600;
}
.topbar-link:hover{ color: var(--sky-400); }

/* Header & navbar */

/* Navbar Logo */
.navbar-logo{

  width: 220px;
  border-radius: 5px;
  object-fit: contain;
  transition: transform .3s ease;
}

/* subtle hover effect */
.navbar-brand:hover .navbar-logo{
  transform: scale(1.05);
}

/* mobile optimization */
@media (max-width: 575.98px){
  .navbar-logo{
    /* height: 42px; */
    width: 200px;
  }
}



.site-header{
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(7,26,43,.55);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navbar{ padding: 14px 0; }
.navbar .nav-link{
  color: rgba(255,255,255,.86);
  font-weight: 700;
  border-radius: 999px;
  padding: .55rem .9rem;
}
.navbar .nav-link:hover{ color: #fff; background: rgba(87,194,255,.14); }
.navbar .nav-link.active{ color:#fff; background: rgba(31,199,182,.18); }

.navbar-brand .brand-mark{
  width: 42px; height: 42px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(42,168,255,.95), rgba(31,199,182,.95));
  color: #061627;
  box-shadow: 0 10px 25px rgba(42,168,255,.25);
}
.brand-name{ font-weight: 900; color:#fff; letter-spacing:-.3px; }
.brand-sub{ font-size:.85rem; color: rgba(255,255,255,.72); margin-top:-2px; }

/* Buttons */
.btn-accent{
  background: linear-gradient(135deg, var(--sky-500), var(--teal-500));
  border: none;
  color: #061627;
  font-weight: 800;
  box-shadow: 0 16px 40px rgba(42,168,255,.25);
}
.btn-accent:hover{ filter: brightness(1.02); transform: translateY(-1px); }

.btn-primary-soft{
  background: rgba(87,194,255,.15);
  border: 1px solid rgba(87,194,255,.35);
  color: #1e2022;
  font-weight: 800;
}
.btn-primary-soft:hover{ background: rgba(87,194,255,.22); color:#0b445a; }

.btn-outline-primary-soft{
  background: rgba(31,199,182,.10);
  border: 1px solid rgba(31,199,182,.35);
  color: var(--blue-700);
  font-weight: 800;
}
.btn-outline-primary-soft:hover{ background: rgba(31,199,182,.16); }

.btn-glass{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  font-weight: 800;
}
.btn-glass:hover{ background: rgba(255,255,255,.14); color:#fff; }

/* Hero / Carousel */
.hero{ position: relative; }
.hero-img{
  height: min(76vh, 720px);
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05);
}
.carousel-caption{
  left: 0; right: 0;
  bottom: 30;
  padding-bottom: 40px;
  text-align: left;
}
.hero-card{
  max-width: 760px;
  padding: 26px 26px;
  border-radius: var(--radius-xl);
  justify-content:center;
  text-align:center;
  margin:0 auto;
  background: rgba(7,26,43,.56);
  border: 1px solid rgba(255,255,255,.14);
  /* backdrop-filter: blur(14px); */
  box-shadow: var(--shadow-lg);
}
.badge-neo{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.95);
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 999px;
}

/* About */
.icon-card{
  display:flex; gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-sm);
}
.icon-bubble{
  width: 42px; height: 42px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(42,168,255,.18), rgba(31,199,182,.16));
  color: var(--blue-700);
  flex: 0 0 auto;
}
.about-visual{ position: relative; }
.about-glow{
  position:absolute; inset: -20px;
  background: radial-gradient(360px 260px at 30% 25%, rgba(42,168,255,.26), transparent 70%),
              radial-gradient(360px 260px at 75% 70%, rgba(31,199,182,.22), transparent 70%);
  filter: blur(12px);
  z-index: 0;
}
.about-card{
  position: relative;
  z-index: 1;
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-lg);
}
.fancy-progress{
  height: 10px;
  border-radius: 999px;
  background: rgba(213,226,238,.8);
}
.fancy-progress .progress-bar{
  border-radius: 999px;
  background: linear-gradient(135deg, var(--sky-500), var(--teal-500));
}
.info-strip{
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(42,168,255,.12), rgba(31,199,182,.10));
  border: 1px solid rgba(42,168,255,.18);
}
.strip-icon{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(42,168,255,.14);
  color: var(--blue-700);
}

.about-image-wrapper{
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(7,26,43,.22);
}

.about-image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease, filter .6s ease;
  filter: saturate(1.05) contrast(1.05);
}

/* subtle hover zoom */
.about-image-wrapper:hover .about-image{
  transform: scale(1.05);
  filter: saturate(1.12) contrast(1.08);
}

/* mobile spacing */
@media (max-width: 991.98px){
  .about-image-wrapper{
    margin-top: 20px;
  }
}


/* Services */
.service-card{
  padding: 0;
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  margin-bottom:30px;
}

.service-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 70px rgba(7,26,43,.18);
}

/* image area */
.service-media{
  position: relative;
  overflow: hidden;
}

.service-media img{
  width: 100%;
  /* height: 210px; */
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
  filter: saturate(1.05) contrast(1.04);
}

.service-card:hover .service-media img{
  transform: scale(1.06);
  filter: saturate(1.15) contrast(1.08);
}

/* icon bubble over image */
.service-icon{
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(42,168,255,.92), rgba(31,199,182,.92));
  color: #061627;
  font-size: 1.7rem;
  position: sticky;
  left: 18px;
  bottom: -22px;
  box-shadow: 0 18px 45px rgba(7,26,43,.22);
  border: 1px solid rgba(255,255,255,.45);

  /* smooth rotation */
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

/* ✅ 360 rotation on hover (when hovering the whole card) */
.service-card:hover .service-icon{
  transform: rotate(360deg);
}

/* body padding after image */
.service-body{
  padding: 16px;
  padding-top: 30px; /* extra because icon overlaps */
  text-align:center
}

/* checklist and cta (your existing styles kept) */
.checklist{
  list-style:none;
  padding-left:0;
  margin: 0;
  color: var(--slate-600);
}
.checklist li{
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
}
.checklist li::before{
  content:"\F26E"; /* bootstrap icon check2-circle */
  font-family: "bootstrap-icons";
  position:absolute; left:0; top: 1px;
  color: var(--teal-500);
}
.cta-band{
  padding: 22px 22px;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(7,26,43,.92), rgba(15,58,99,.90));
  border: 1px solid rgba(255,255,255,.10);
  color:#fff;
  box-shadow: var(--shadow-lg);
}

/* mobile image height */
@media (max-width: 575.98px){
  .service-media img{ height: 190px; }
}



/* Why */
.why-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.why-item{
  display:flex; gap: 12px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-sm);
}
.why-ico{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(31,199,182,.12);
  color: var(--blue-700);
}
.why-visual .glass-panel{
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-lg);
}
.highlight{
  display:flex; gap: 12px;
  align-items:flex-start;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(42,168,255,.12), rgba(31,199,182,.10));
  border: 1px solid rgba(42,168,255,.16);
}
.highlight i{ font-size: 1.25rem; color: var(--blue-700); margin-top: 2px; }

/* Stats */
.stat-card{
  padding: 22px;
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-md);
  text-align:center;
}
.stat-icon{
  width: 56px; height:56px;
  margin: 0 auto 12px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(42,168,255,.18), rgba(31,199,182,.16));
  color: var(--blue-700);
  font-size: 1.5rem;
}
.stat-number{
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -.5px;
  color: var(--blue-800);
}
.stat-label{ color: var(--slate-600); font-weight: 700; }

/* Gallery */
.gallery-card{
  position: relative;
  border-radius: 18px;
  overflow:hidden;
  background: #fff;
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease;
}
.gallery-card:hover{ transform: translateY(-3px); }
.gallery-card img{
  width:100%;
  height: 220px;
  object-fit: cover;
  transition: transform .4s ease;
}
.gallery-card:hover img{ transform: scale(1.05); }
.gallery-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent, rgba(7,26,43,.62));
  opacity: 0;
  transition: opacity .25s ease;
  display:flex;
  align-items:flex-end;
  padding: 14px;
}
.gallery-card:hover .gallery-overlay{ opacity:1; }
.gallery-overlay .cap{
  color:#fff;
  font-weight: 800;
  display:flex;
  align-items:center;
  gap: 8px;
}

/* Contact */
.contact-card, .form-card{
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(213,226,238,.9);
  box-shadow: var(--shadow-lg);
  padding: 26px;
}
.contact-item{
  display:flex; gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(213,226,238,.9);
  background: rgba(245,248,252,.75);
  margin-bottom: 12px;
}
.contact-ico{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(42,168,255,.14);
  color: var(--blue-700);
}
.mini-note{
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(31,199,182,.10);
  border: 1px solid rgba(31,199,182,.22);
  color: var(--blue-700);
  font-weight: 700;
}

/* Map */
.map-wrap iframe{
  width: 100%;
  height: 420px;
  border: 0;
  display:block;
  filter: saturate(1.05) contrast(1.02);
}

/* Footer */
.footer{
  background: linear-gradient(180deg, rgba(7,26,43,.98), rgba(11,42,69,.98));
  color: rgba(255,255,255,.92);
  padding: 68px 0 0;
}
.footer .text-muted{ color: rgba(255,255,255,.68) !important; }
.footer-title{
  font-weight: 900;
  margin-bottom: 14px;
  background: blue;
    padding: 4px;
    border-top-right-radius: 20px;
}
.footer-links{
  list-style:none; padding-left:0; margin:0;
}
.footer-links li{ margin-bottom: 10px; 
border-bottom:1px dashed;
padding-bottom:4px;
}
.footer-links a{
  color: rgba(255,255,255,.78);
  text-decoration:none;
  font-weight: 700;
}
.footer-links a:hover{ color: var(--sky-400); }
.footer-contact{
  list-style:none; padding-left:0; margin:0;
  display:grid; gap: 10px;
}
.footer-contact li{
  display:flex; gap: 10px; align-items:flex-start;
  color: rgba(255,255,255,.78);
  font-weight: 700;
}
.footer-contact a{ color: rgba(255,255,255,.85); text-decoration:none; }
.footer-contact a:hover{ color: var(--sky-400); }
.footer-line{
  border-color: rgba(255,255,255,.10);
}
.social-btn{
  width: 40px; height: 40px;
  border-radius: 14px;
  display:grid; place-items:center;
  color: rgba(255,255,255,.92);
  text-decoration:none;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  transition: transform .2s ease, background .2s ease;
}
.social-btn:hover{
  transform: translateY(-2px);
  background: rgba(87,194,255,.16);
}

/* Floating action buttons */
/* ---------- FIX: prevent horizontal overflow from fixed tooltip ---------- */
html, body{
  overflow-x: hidden;
}

/* ---------- Floating action buttons (default desktop) ---------- */
.floating-actions{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;

  /* helps ensure it never makes page wider */
  max-width: 70px;
  pointer-events: none; /* only children clickable */
}
.floating-actions .fab{
  pointer-events: auto;
}

.fab{
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  text-decoration: none;
  color: #061627;
  font-size: 1.35rem;
  box-shadow: 0 18px 45px rgba(7,26,43,.25);
  border: 1px solid rgba(255,255,255,.35);
  overflow: hidden;
}

.fab::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(120px 80px at 30% 25%, rgba(255,255,255,.55), transparent 55%),
    radial-gradient(120px 80px at 70% 70%, rgba(255,255,255,.35), transparent 60%);
  opacity: .55;
}
.fab i{ position: relative; z-index: 1; }

.fab-whatsapp{
  background: linear-gradient(135deg, #25D366, #1fc7b6);
  animation: glowGreen 2.1s ease-in-out infinite;
}
.fab-call{
  background: linear-gradient(135deg, var(--sky-500), var(--teal-500));
  animation: glowBlue 2.1s ease-in-out infinite;
}

/* Tooltip (desktop only) */
.fab-tooltip{
  position:absolute;
  right: 64px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(7,26,43,.92);
  color:#fff;
  font-weight: 800;
  font-size:.85rem;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  opacity: 0;
  pointer-events:none;
  transition: opacity .2s ease, transform .2s ease;
  white-space: nowrap;

  /* keep it from stretching layout */
  max-width: 180px;
}
.fab:hover .fab-tooltip{
  opacity: 1;
  transform: translateY(-50%) translateX(-2px);
}

/* ---------- MOBILE / RESPONSIVE FIXES ---------- */
@media (max-width: 991.98px){
  .floating-actions{
    right: 12px;
    bottom: 12px;
    gap: 10px;
  }
  .fab{
    width: 50px;
    height: 50px;
    border-radius: 16px;
    font-size: 1.2rem;
  }

  /* ✅ TOOLTIP OFF on mobile (prevents extra width/scroll) */
  .fab-tooltip{
    display: none !important;
  }
}

/* Extra small phones */
@media (max-width: 575.98px){
  .floating-actions{
    right: 10px;
    bottom: 10px;
  }
  .fab{
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }
}

/* Safe area for iPhones with notch */
@supports (padding: max(0px)) {
  .floating-actions{
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
}

@keyframes glowGreen{
  0%,100%{ box-shadow: 0 18px 45px rgba(37,211,102,.30), 0 0 0 rgba(37,211,102,0); }
  50%{ box-shadow: 0 18px 55px rgba(37,211,102,.38), 0 0 18px rgba(37,211,102,.35); }
}
@keyframes glowBlue{
  0%,100%{ box-shadow: 0 18px 45px rgba(42,168,255,.30), 0 0 0 rgba(42,168,255,0); }
  50%{ box-shadow: 0 18px 55px rgba(42,168,255,.38), 0 0 18px rgba(42,168,255,.35); }
}


/* Responsive tweaks */
.cu-mb-30{
	margin-bottom:30px;
}
#callme1 img {
    width: 52px;
}
#callme1 {
    position: fixed;
    right: 15px;
    bottom: 248px;
    width: 52px;
    height: 70px;
    cursor: pointer;
    z-index: 99990;
}
.whatsup {
    position: fixed;
    right: 10px;
    width: 50px;
    bottom: 180px;
    z-index: 9999;
}
.whatsup img {
    width: 50px;
}
#enu-st{
	    background:linear-gradient(180deg, rgba(7, 26, 43, .98), rgba(11, 42, 69, .98));
    display: block;
    width: 100%;
    padding: 7px;
    color: #fff;
}
@media (max-width: 991.98px){
  .section-pad{ padding: 70px 0; }
  .hero-img{ height: 72vh; }
  .carousel-caption{ padding-bottom: 20px; }
  .hero-card{ padding: 20px; }
  .why-grid{ grid-template-columns: 1fr; }
}
@media(max-width:767px)
{
	.cu-mb-ds-nn{
		display:none!important
	}
	.cu-fon-12{
		font-size:12px;
	}
}
@media (max-width: 575.98px){
  .topbar-item{ font-size: .83rem; }
  .topbar-link{ font-size: .86rem; }
  .hero-img{ height: 70vh; }
  .stat-number{ font-size: 1.7rem; }
  .gallery-card img{ height: 200px; }
}
