/* ---------- Hero media & visual polish ---------- */
.mnb-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--mnb-radius-lg, 18px);
  background: #0b1220;
  box-shadow: 0 20px 54px rgba(2,6,23,.22);
}
.mnb-media > iframe,
.mnb-media > video,
.mnb-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mnb-media__fx::before,
.mnb-media__fx::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.mnb-media__fx::before{
  background:
    radial-gradient(110% 70% at 15% 10%, rgba(99,102,241,.24), transparent 60%),
    radial-gradient(100% 65% at 85% 90%, rgba(34,197,94,.18), transparent 62%);
  mix-blend-mode: screen;
  opacity:.55;
}
.mnb-media__fx::after{
  background: radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,.18), transparent 60%);
}
.mnb-media__ph{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, #0b1220, #0f1a2b),
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 2px, transparent 2px 6px);
}

@keyframes mnb-kenburns-pan {
  0% { transform: scale(1.05) translate3d(0,0,0); }
  100% { transform: scale(1.12) translate3d(-1.5%,-1.5%,0); }
}
.mnb-kenburns img, .mnb-kenburns-start img {
  animation: mnb-kenburns-pan 9s ease-in-out both;
}
.mnb-kenburns-start img { animation-delay:.2s; }

/* Ensure layered sections sit over decorative backgrounds */
.mnb-hero,
.mnb-about--clean,
.mnb-service-section,
.mnb-why-chooseus,
.mnb-technologies-hub,
.mnb-testimonials {
  position: relative;
  z-index: 1;
}

/* About typography tweaks */
.mnb-about--clean .pv-rich :where(h1,h2,h3){
  font-weight:800;
  line-height:1.2;
  margin:.35rem 0 .5rem;
}
.mnb-about--clean .pv-rich p{ color:#344256; margin:.5rem 0; }
.mnb-about--clean .pv-rich ul{ margin:.4rem 0 .7rem; padding-left:1.1rem; }

/* Vision & Mission band */
.mnb-vm-band{
  position:relative;
  padding: 28px 0;
  color:#fff;
  background: radial-gradient(120% 140% at 0% 0%, #0f2d5a 0%, #0c2a55 45%, #0a2042 100%);
  overflow:hidden;
  isolation:isolate;
}
.mnb-vm-band::before{
  content:"";
  position:absolute; inset:-10%;
  background:
    radial-gradient(60% 50% at 15% 20%, rgba(99,102,241,.22), transparent 60%),
    radial-gradient(55% 45% at 85% 80%, rgba(34,197,94,.18), transparent 62%);
  filter: blur(18px);
  opacity:.85; pointer-events:none; z-index:0;
}
.mnb-vm-band::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity:.35; pointer-events:none; z-index:0;
}
.mnb-vm-band--two .vm-grid{
  position:relative; z-index:1;
  display:grid; align-items:center; gap:22px;
  grid-template-columns: 1fr 12px 1fr; /* Vision | divider | Mission */
}
.mnb-vm-band--two .vm-col{
  display:grid; grid-template-columns: 1fr auto; column-gap:16px; row-gap:6px; align-items:center;
}
.mnb-vm-band--two .vm-col--vision{ grid-template-columns: 1fr; }
.mnb-vm-band--two .vm-col-title{
  grid-column:1/-1; margin:0;
  display:flex; align-items:center; gap:.55rem;
  font-weight:800; letter-spacing:-.01em; line-height:1.15;
  font-size:clamp(1rem, .95rem + .5vw, 1.2rem);
}
.mnb-vm-band--two .vm-pill{
  width:8px; height:8px; border-radius:999px; display:inline-block;
  background:linear-gradient(135deg,#06b6d4,#22c55e);
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
}
.mnb-vm-band--two .vm-col-text{
  margin:0; color:rgba(255,255,255,.92);
  line-height:1.55; font-size:clamp(.9rem, .86rem + .3vw, 1rem);
}
.mnb-vm-band--two .vm-divider{
  width:2px; height:52px; justify-self:center; border-radius:2px;
  background:linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.08));
}
.mnb-vm-band--two .vm-actions{ grid-column:2/3; justify-self:end; }

.mnb-btn-light{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.7rem 1.05rem; border-radius:10px; border:0; text-decoration:none; font-weight:700;
  background:#fff; color:#0c2a55 !important; box-shadow:0 6px 16px rgba(0,0,0,.18);
  transition:transform .18s ease, filter .18s ease;
}
.mnb-btn-light i{ font-size:.95em; }
.mnb-btn-light:hover{ filter:brightness(1.03); transform:translateY(-1px); }

@media (max-width: 991.98px){
  .mnb-vm-band{ padding:22px 0; }
  .mnb-vm-band--two .vm-grid{ grid-template-columns: 1fr; gap:12px; }
  .mnb-vm-band--two .vm-divider{ display:none; }
  .mnb-vm-band--two .vm-col{ grid-template-columns: 1fr; }
  .mnb-vm-band--two .vm-actions{ grid-column:1/2; justify-self:start; margin-top:6px; }
}

/* CTAs (about/hero) */
.mnb-about-ctas{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.mnb-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.65rem 1rem; border-radius:10px; font-weight:600; text-decoration:none; border:0; }
.mnb-btn i{ font-size:.95em; }
.mnb-btn-primary{ color:#fff!important; background:linear-gradient(90deg,#164863,#1e3a8a); box-shadow:0 8px 20px rgba(22,72,99,.25); }
.mnb-btn-outline{ color:#164863!important; background:#fff; border:1px solid rgba(2,6,23,.18)!important; box-shadow:0 2px 8px rgba(2,6,23,.06); }
.mnb-btn-primary:hover{ filter:brightness(1.05); }
.mnb-btn-outline:hover{ background:#f8fafc; }

/* Optional accent image container */
.mnb-about-right .mnb-accent-img{
  border:1px solid rgba(2,6,23,.08);
  border-radius:14px; overflow:hidden; background:#fff;
  box-shadow:0 8px 24px rgba(2,6,23,.06);
}

/* Reveal animation safety (if JS misses) */
.mnb-about-left [data-reveal],
.mnb-kpi,
.mnb-icon-tile{
  opacity:0; transform:translateY(8px); transition:.48s var(--mnb-ease, ease);
}
.mnb-about-left [data-reveal].is-in,
.mnb-kpi.is-in,
.mnb-icon-tile.is-in { opacity:1; transform:none; }
/* Show testimonials even if JS never toggles .is-in */
.mnb-reveal { opacity: 0; transform: translateY(8px); transition: .48s ease; }
.mnb-reveal.is-in { opacity: 1; transform: none; }

/* Optional: stronger emphasis when the testimonials head/cards reveal */
.mnb-testimonials .mnb-testimonials-head.mnb-reveal.is-in,
.mnb-testimonials .mnb-testimonial-card.mnb-reveal.is-in {
  transition-duration: .6s;
}


/* ===== Testimonials core layout ===== */
.mnb-testimonials { position:relative; }
.mnb-testimonials-container{ max-width:1100px; margin:0 auto; padding:28px 16px; }
.mnb-testimonials-head{ text-align:center; margin-bottom:18px; }

/* Viewport / track */
.mnb-testimonials-viewport{
  position:relative;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:8px;
}
.mnb-testimonials-track{
  display:flex;
  gap:16px;
  list-style:none;
  padding:0;
  margin:0;
}

/* Each card snaps to start. Ensure consistent width for JS math. */
.mnb-testimonial-card{
  scroll-snap-align:start;
  flex:0 0 auto;
  width: clamp(280px, 85vw, 520px);
  border:1px solid rgba(2,6,23,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(2,6,23,.06);
  padding:16px;
}

/* Head */
.mnb-testimonial-head{ display:flex; gap:12px; align-items:center; margin-bottom:10px; }
.mnb-person-name{ font-weight:800; }
.mnb-person-role{ color:#64748b; }
.mnb-stars i{ font-style:normal; }

/* Dots / controls */
.mnb-testimonials-controls{
  display:flex; gap:8px; justify-content:center; align-items:center; margin:14px 0 4px;
}
.mnb-testimonials-btn{
  border:1px solid rgba(2,6,23,.15);
  background:#fff;
  border-radius:10px;
  padding:8px;
  line-height:0;
  cursor:pointer;
}
.mnb-testimonials-dots{
  display:flex; justify-content:center; gap:8px; margin-top:8px;
}
.mnb-testimonials-dot{
  width:8px; height:8px; border-radius:999px; border:0; background:#cbd5e1; cursor:pointer;
}
.mnb-testimonials-dot[aria-selected="true"]{ background:#0ea5e9; }

/* Avatar fallback style hook used by JS */
.mnb-avatar-fallback{ display:inline-flex; }

/* Reveal baseline (works with your site-wide .is-in toggling) */
.mnb-reveal{ opacity:0; transform:translateY(8px); transition:.48s ease; }
.mnb-reveal.is-in{ opacity:1; transform:none; }

