*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Poppins', sans-serif;
  background:#ffffff;
  color:#242B33;
  overflow-x:hidden;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

ul{
  list-style:none;
}
/* ===== CUSTOM SCROLLBAR ===== */

::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:#2D4054;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(
    180deg,
    
    #076FD2
  );
  border-radius:40px;
 
}

::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(
    180deg,
   
    #076FD2
  );
}
/* ===================== HEADER ===================== */

/* ── HEADER BASE ── */
.header {
  position: fixed;          /* always visible */
  top: 0px;
  left: 0;
  width: 100%;
  z-index: 999;
  padding: 0 20px;
  transition: padding 0.4s ease, top 0.4s ease;
}

.header-container {
  width: 100%;
  padding: 8px 30px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: 
    margin 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.4s ease,
    backdrop-filter 0.4s ease,
    box-shadow 0.4s ease,
    border-radius 0.4s ease,
    padding 0.4s ease;
}

/* ── SCROLLED STATE — glassmorphic capsule that shrinks from both sides ── */
.header.scrolled {
  top: 10px;
}

.header.scrolled .header-container {
  width: calc(100% - 20px);      /* shrinks equally from both sides */
  margin: 0 auto;
  padding: 6px 20px;
  border-radius: 50px;           /* full capsule */
  background: rgba(33, 32, 32, 0.59);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(59, 59, 59, 0.22);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.18),
    0 2px 8px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

/* Make nav links readable on glass */
.header.scrolled .header-menu ul li a {
  color: rgba(255, 255, 255, 0.90);
}
.header.scrolled .header-menu ul li a:hover {
  color: #076FD2;
  font-style: italic;
}
.header.scrolled .header-menu a.active {
  color: #076FD2;
  font-style: italic;
}
.header.scrolled .hamburger span {
  background: rgba(255, 255, 255, 0.85);
}

/* ── shrink logo slightly when sticky ── */
.header.scrolled .header-logo img {
  height: 54px;
  transition: height 0.4s ease;
}

.header.scrolled .header-logo img {
  height: 60px;
  margin-top:-5px;
  margin-left:-2px;
  transition: height 0.4s ease;
}
.header-logo img {
  height: 80px;
  margin-bottom: 5px;
  transition: height 0.4s ease;
}

.header-menu{
  display:flex;
  align-items:center;
  gap:10px;
}
.header-menu a.active{
 color:#076FD2;
  font-style: italic;
 
}
.header-menu ul{
  display:flex;
  gap:36px;
  list-style:none;
}

.header-menu ul li a{
  color:rgba(255,255,255,0.80);
  
  font-size:15px;
  transition:color 0.2s;
}

.header-menu ul li a:hover{
  color:#076FD2;
  font-style: italic;
 
}

.header-right{
  display:flex;
  align-items:center;
  gap:20px;
}

.search-circle{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  color:rgba(255,255,255,0.8);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:0.2s;
}

.search-circle:hover{
  border-color:rgba(255,255,255,0.6);
  color:#fff;
}

.talk-btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 9px 7px 20px;
  border-radius:40px;
  background:#0770d2;
  
  color:white;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  overflow:hidden;
  transition:background 0.3s, gap 0.3s;
}

.talk-btn:hover{
  background:#0658A9;
  gap:16px;
  font-style: italic;
}

/* Text slide-up clone */
.talk-btn .btn-text{
  position:relative;
  overflow:hidden;
  height:1.2em;
  display:flex;
  flex-direction:column;
}

.talk-btn .btn-text span{
  display:block;
  line-height:1.2em;
  transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.talk-btn .btn-text span:last-child{
  position:absolute;
  top:100%;
  left:0;
}

.talk-btn:hover .btn-text span:first-child{
  transform:translateY(-100%);
}

.talk-btn:hover .btn-text span:last-child{
  transform:translateY(-100%);
}

.talk-btn i{
  width:34px;
  height:34px;
 
  
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  flex-shrink:0;
  transform:rotate(-45deg);
  transition:transform 0.3s ease, background 0.3s;
}

.talk-btn:hover i{
  transform:rotate(0deg);
  
}

.hamburger{
  width:26px;
  display:flex;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.hamburger span{
  height:2px;
  background:rgba(0, 0, 0, 0.75);
  width:100%;
  border-radius:2px;
}

.header-sticky{
  will-change:transform, opacity;   /* GPU layer for smooth parallax */
  transition:none;                   /* JS controls movement — no CSS transition fighting it */
}

@keyframes slideDown{
  from{ transform:translateY(-110%); opacity:0; }
  to{   transform:translateY(0);     opacity:1; }
}


/* ===================== HERO ===================== */

.hero{
  position:relative;
  width:100%;      /* 20px gap left + right */
  margin:0px auto 0;           /* 16px gap at top, flush at bottom */
  height:80vh;    /* subtract top gap so it fits exactly in viewport */
  overflow:hidden;
  border-radius:0px;
}

.hero-slider{
  width:100%;
  height:100%;
  will-change:transform;
}

.hero-slider .swiper-wrapper{
  height:100%;
}

.hero-slider .swiper-slide{
  width:100%;
  height:100%;
  position:relative;
}

.hero-bg{
  position:absolute;
  inset:0;
  margin-top:100px ;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(8, 12, 20, 0.62);
  z-index:1;
}

.hero-container{
  position:relative;
  z-index:2;
  max-width:1300px;
  width:100%;
  margin:auto;
  height:100%;
  padding:0 80px;
  display:flex;
  align-items:center;
}

.hero-content{
  max-width:680px;             /* wider so each line has room */
  color:white;
}

/* ---- TEXT ANIMATION ---- */

/* Default state — hidden, shifted down slightly */
.hero-content h1,
.hero-content p,
.hero-content .hero-btn{
  opacity:0;
  transform:translateY(30px);
}

/* When JS adds .animate-in, each child plays its own staggered keyframe */
.hero-content.animate-in h1{
  animation: heroFadeUp 0.7s ease forwards;
  animation-delay: 0s;
}

.hero-content.animate-in p{
  animation: heroFadeUp 0.7s ease forwards;
  animation-delay: 0.18s;
}

.hero-content.animate-in .hero-btn{
  animation: heroFadeUp 0.7s ease forwards;
  animation-delay: 0.34s;
}

@keyframes heroFadeUp{
  from{
    opacity:0;
    transform:translateY(30px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ---- TYPOGRAPHY ---- */

.hero-content h1{
  font-size:clamp(32px, 3.8vw, 58px);   /* smaller so 2 lines fit cleanly */
  line-height:1.15;
  font-weight:700;
  margin-bottom:18px;
  white-space:nowrap;                    /* prevents any mid-word wrapping */
}

.hero-content h1 span{
  color:#076FD2;
  font-style: italic;
}

.hero-content p{
  font-size:16px;
  opacity:.70;
  margin-bottom:34px;
  line-height:1.65;
  max-width:460px;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:8px 8px 8px 26px;
  background:#0770d200;
  border-radius:40px;
  color:white;
  border:1px solid rgb(255, 255, 255);
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  overflow:hidden;
  transition:background 0.3s, gap 0.3s;
}
 
.hero-btn:hover{
  background:#0658A9;
  gap:18px;
  font-style: italic;
  border:none;
}

/* Text slide-up clone */
.hero-btn .btn-text{
  position:relative;
  overflow:hidden;
  height:1.2em;
  display:flex;
  flex-direction:column;
}

.hero-btn .btn-text span{
  display:block;
  line-height:1.2em;
  transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-btn .btn-text span:last-child{
  position:absolute;
  top:100%;
  left:0;
}

.hero-btn:hover .btn-text span:first-child{
  transform:translateY(-100%);
}

.hero-btn:hover .btn-text span:last-child{
  transform:translateY(-100%);
}

 .talk-btn i,
.hero-btn i{
  width:36px;
  height:36px;
  

  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  flex-shrink:0;
  transform:rotate(-45deg);
  transition:transform 0.3s ease, background 0.3s;
}

.talk-btn:hover i,
.hero-btn:hover i{
  transform:rotate(0deg);
  
  
}

/* ---- Arrows ---- */
.slider-prev,
.slider-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.30);
  background:transparent;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:10;
  font-size:24px;
  transition:0.2s;
}

.slider-prev:hover,
.slider-next:hover{
  background:rgba(255,255,255,0.12);
}

.slider-prev{ left:28px; }
.slider-next{ right:28px; }

/* ---- Thumbs ---- */
.hero-thumb{
  position:absolute;
  bottom:80px;
  left:80px;
  width:260px;
  z-index:10;
}

.hero-thumb .swiper-slide{
  border-radius:8px;
  
  overflow:hidden;
  cursor:pointer;
  opacity:0.42;
  border:2px solid transparent;
  transition:opacity 0.3s, border-color 0.3s, transform 0.3s;
}

.hero-thumb .swiper-slide-thumb-active{
  opacity:1;
  border-color:#ffffff;
  transform:scale(1.06);
}

.hero-thumb .swiper-slide img{
  width:100%;
  height:56px;
  object-fit:cover;
  display:block;
}

/* ===================== MOBILE RESPONSIVE ===================== */

/* Tablets */
@media (max-width: 1024px){

  .header-container{
    padding:10px 20px;
  }

  .header-menu ul{
    display:none; /* hide desktop menu */
  }

  .hamburger{
    display:flex;
  }

  .hero-container{
    padding:0 40px;
  }

  .hero-content h1{
    white-space:normal; /* allow wrapping on smaller screens */
  }

  .hero-thumb{
    left:40px;
    bottom:50px;
    width:200px;
  }

}


/* Mobile */
@media (max-width: 768px){

  /* HEADER */
  .header{
    top:10px;
    padding:0 10px;
  }

  .header-container{
    padding:5px 14px;
  }

  .header-logo img{
    height:70px;
    margin:0;
  }

  .search-circle{
    display:none;
  }

  .talk-btn{
    padding:6px 8px 6px 14px;
    font-size:12px;
  }

  /* HERO */
  .hero{
    height:65svh;
    margin:10px auto 0;
  }

  .hero-container{
    padding:0 20px;
  }

  .hero-content{
    max-width:100%;
  }

  .hero-content h1{
    font-size:28px;
    line-height:1.25;
    white-space:normal;
  }

  .hero-content p{
    font-size:14px;
    max-width:100%;
  }

  .hero-btn{
    font-size:13px;
    padding:8px 10px 8px 18px;
  }

  /* SLIDER ARROWS */
  .slider-prev,
  .slider-next{
    width:40px;
    height:40px;
    font-size:18px;
  }

  /* THUMBNAILS */
 

}


/* Small phones */
@media (max-width: 480px){

  .hero{
    height:70vh;
  }

  .hero-content h1{
    font-size:24px;
  }

  .hero-content p{
    font-size:13px;
  }

}





/* ===================== WHY CHOOSE US — BENTO ===================== */

.whyus{
  background:#f0f2f5;
  padding:40px 0;
  overflow:hidden;
}

.whyus-container{
  max-width:1300px;
  width:92%;
  margin:auto;
}

.whyus-label{
  margin-bottom:28px;
}

.whyus-tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  font-style: italic;
  background:rgba(7,111,210,0.08);
  padding:7px 16px;
  border-radius:40px;
}

/* ---- BENTO GRID ---- */
.whyus-bento{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-template-rows:auto;
  gap:16px;
}

/* Card base */
.wb-card{
  background:#ffffff;
  border-radius:20px;
  padding:36px;
  overflow:hidden;
  position:relative;
   transition: 
    transform 0.35s cubic-bezier(0.4,0,0.2,1),
    box-shadow 0.35s cubic-bezier(0.4,0,0.2,1);
}
.wb-card:hover{
  transform: translateY(-8px);
  box-shadow: 
    0 20px 50px rgba(0,0,0,0.12),
    0 8px 20px rgba(0,0,0,0.08);
}

/* A — large title card: spans 5 cols, 2 rows */
.wb-a{
  grid-column: 1 / 6;
  grid-row: 1 / 3;
  background:#ffffff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:420px;
}

.wb-eyebrow{
  font-size:11px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  margin-bottom:20px;
  font-style: italic;
}

.wb-title{
  font-size:clamp(26px, 2.6vw, 40px);
  font-weight:700;
  color:#242B33;
  line-height:1.2;
  margin-bottom:18px;
  flex:1;
}

.wb-title span{
  color:#076FD2;
  font-style: italic;
}

.wb-sub{
  font-size:14px;
  color:#6b7280;
  line-height:1.75;
  margin-bottom:32px;
  max-width:380px;
}

.wb-cta{
  align-self:flex-start;
}

/* B — 200m stat card: 4 cols, 1 row */
.wb-b{
  grid-column: 6 / 10;
  grid-row: 1;
}

/* C — teal highlight: 4 cols, 1 row */
.wb-c{
  grid-column: 10 / 13;
  grid-row: 1 / 3;
  background:#076FD2;
  font-style: italic;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
}

.wb-c-inner{
  text-align:center;
}

.wb-c-icons{
  display:flex;
  gap:14px;
  justify-content:center;
  margin-bottom:28px;
}

.wb-c-icons span{
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(255,255,255,0.15);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ffffff;
  font-size:18px;
}

.wb-c-inner h3{
  font-size:20px;
  font-weight:700;
  color:#ffffff;
  line-height:1.4;
  margin-bottom:16px;
}

.wb-c-inner p{
  font-size:12px;
  color:rgba(255,255,255,0.65);
  letter-spacing:1px;
  line-height:1.8;
}

/* C — teal highlight: 3 cols × 2 rows */
.wb-c{
  grid-column: 10 / 13;
  grid-row: 1 / 3;
  background:#076FD2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
  overflow:hidden;
  position:relative;
}

/* Image overlay on blue card */
.wb-c-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0.18;
  z-index:0;
  display:block;
}

.wb-c-inner{
  position:relative;
  z-index:1;
  text-align:center;
  padding:20px;
}

/* D — 400gsm stat card: 4 cols, 1 row */
.wb-d{
  grid-column: 6 / 10;
  grid-row: 2;
}

/* E — Est. year card: 3 cols, 1 row — row 3 */
.wb-e{
  grid-column: 10 / 13;
  grid-row: 3;
}

/* F — pillars wide card: 9 cols, row 3 */
.wb-f{
  grid-column: 1 / 10;
  grid-row: 3;
  padding:32px 36px;
  display:flex;
  align-items:center;
}

/* ---- STAT CARDS SHARED ---- */
.wb-card-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#EBF3FC;
  color:#076FD2;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  margin-bottom:16px;
}

.wb-card-label{
  font-size:12px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#9ca3af;
  margin-bottom:8px;
}

.wb-big-num{
  font-size:clamp(44px, 4.5vw, 64px);
  font-weight:800;
  color:#242B33;
  line-height:1;
  margin-bottom:12px;
}

.wb-big-num span{
  font-size:22px;
  color:#0770d270;
  font-weight:700;
  margin-left:3px;
}

.wb-card-sub{
  font-size:13px;
  color:#9ca3af;
  line-height:1.6;
}
/* ---- PILLARS ROW ---- */
.wb-pillars{
  display:flex;
  gap:20px; /* spacing between cards */
  width:100%;
}

/* EACH CARD */
.wb-pillar{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px 16px;
  border-radius:16px;

  /* GLASS EFFECT */
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.15);

  transition:
    transform 0.35s cubic-bezier(0.4,0,0.2,1),
    box-shadow 0.35s cubic-bezier(0.4,0,0.2,1),
    background 0.35s ease;
}

/* HOVER EFFECT */
.wb-pillar:hover{
  transform:translateY(-8px);
  background:rgba(255, 255, 255, 0);

  box-shadow:
    0 20px 40px rgba(0,0,0,0.25),
    0 10px 20px rgba(0,0,0,0.15);
}

/* ICON */
.wb-pillar svg{
  width:22px;
  height:22px;
  stroke:#ffffff;
  margin-bottom:12px;
}

/* TITLE */
.wb-pillar strong{
  font-size:14px;
  font-weight:700;
  color:#ffffff;
  margin-bottom:6px;
}

/* DESCRIPTION */
.wb-pillar small{
  font-size:12px;
  color:rgba(255,255,255,0.85);
  line-height:1.4;
}
/* ---- GSAP initial states ---- */
.wb-card{
  opacity:0;
  transform:translateY(30px);
}
.wb-f{
  position:relative;
  overflow:hidden;
  background-color: #076FD2;
}

/* Background image */
.wb-f-bg{
    position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0.18;
  z-index:0;
  display:block;
}

/* BLUE OVERLAY */
.wb-f::before{
  content:'';
  position:absolute;
  inset:0;
  background:#0770d2;
  opacity:0.18; /* control strength */
  z-index:1;
}

/* Content on top */
.wb-f-inner{
  position:relative;
  width:100%;
  z-index:2;
}
/* ===================== SOLID STICKY NAV ===================== */

.header-sticky.nav-solid{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  z-index:9999 !important;
  padding:0 !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:all !important;
  animation:navSolidReveal 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes navSolidReveal{
  from{
    transform:translateY(-100%) !important;
    opacity:0;
  }
  to{
    transform:translateY(0) !important;
    opacity:1;
  }
}

.header-sticky.nav-solid .header-container{
  border-radius:0;
  padding:5px 12px 14px 12px;
  background:#ffffff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border:none;
  border-bottom:1px solid #e8eaed;
  width:100%;
  box-shadow:0 2px 20px rgba(0,0,0,0.07);
}

/* Nav links go dark on white bg */
.header-sticky.nav-solid .header-menu ul li a{
  color:#2D4054;
  font-weight: 500;
}

.header-sticky.nav-solid .header-menu ul li a.active{
  color:#076FD2;
  font-style: italic;
  font-weight: 500;
}


.header-sticky.nav-solid .header-menu ul li a:hover{
  color:#076FD2;
  font-style: italic;
}


/* Search circle adapts */
.header-sticky.nav-solid .search-circle{
  border-color:rgba(36,43,51,0.2);
  color:#2D4054;
}

/* Hamburger lines go dark */
.header-sticky.nav-solid .hamburger span{
  background:#2D4054;
}

/* Chevrons in dropdowns */
.header-sticky.nav-solid .drop-arrow{
  color:#2D4054;
}


/* ===================== SIDEBAR PANEL ===================== */

/* GROUP COMPANY LINK */
.sidebar-company-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-radius:10px;
  background:rgba(255, 255, 255, 0);
 
  color:rgb(8, 88, 181);
  font-size:14px;
  text-decoration:none;
  transition:all 0.25s ease;
}

.sidebar-company-link i{
  font-size:12px;
  opacity:0.6;
  transition:transform 0.25s ease;
}

.sidebar-company-link:hover{
  background:rgba(239, 239, 239, 0);
  color:#076FD2;

}

.sidebar-company-link:hover i{
  transform:translateX(4px);
  opacity:1;
}



/* Overlay — blurs + darkens the background */
.sidebar-overlay{
  position:fixed;
  inset:0;
  background:rgba(8,12,20,0.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:10000;
  opacity:0;
  visibility:hidden;
  transition:opacity 0.4s ease, visibility 0.4s;
}

.sidebar-overlay.active{
  opacity:1;
  visibility:visible;
}

/* Panel */
.sidebar-panel{
  position:fixed;
  top:0;
  right:0;
  width:380px;
  max-width:90vw;
  height:100vh;
  background:#0d1b2a;
  z-index:10001;
  padding:36px 40px;
  display:flex;
  flex-direction:column;
  gap:32px;
  overflow-y:auto;

  transform:translateX(100%);
  transition:transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-panel.active{
  transform:translateX(0);
}

/* Top row */
.sidebar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.sidebar-logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.sidebar-logo img{
  height:40px;
}

.sidebar-logo span{
  font-size:18px;
  font-weight:700;
  color:#ffffff;
  letter-spacing:0.5px;
}

.sidebar-close{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.15);
  background:transparent;
  color:rgba(255,255,255,0.7);
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.2s, color 0.2s, border-color 0.2s;
}

.sidebar-close:hover{
  background:rgba(255,255,255,0.1);
  color:#fff;
  border-color:rgba(255,255,255,0.3);
}

/* Tagline */
.sidebar-tagline{
  font-size:14px;
  color:rgba(255,255,255,0.45);
  line-height:1.75;
  padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  margin:0;
}

/* Section blocks */
.sidebar-section{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.sidebar-section h4{
  font-size:16px;
  font-weight:700;
  color:#ffffff;
  margin:0;
}

/* Search */
.sidebar-search{
  display:flex;
  align-items:center;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;
  overflow:hidden;
  transition:border-color 0.2s;
}

.sidebar-search:focus-within{
  border-color:rgba(7,111,210,0.6);
}

.sidebar-search input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  padding:13px 16px;
  font-size:14px;
  color:#ffffff;
  font-family:'Poppins', sans-serif;
}

.sidebar-search input::placeholder{
  color:rgba(255,255,255,0.3);
}

.sidebar-search button{
  background:transparent;
  border:none;
  padding:13px 16px;
  color:rgba(255,255,255,0.4);
  cursor:pointer;
  font-size:15px;
  transition:color 0.2s;
}

.sidebar-search button:hover{
  color:#076FD2;
}

/* Contact */
.sidebar-contact{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.sidebar-contact-item small{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.3);
  margin-bottom:4px;
}

.sidebar-contact-item a,
.sidebar-contact-item span{
  font-size:14px;
  color:rgba(255,255,255,0.75);
  text-decoration:none;
  line-height:1.6;
  transition:color 0.2s;
}

.sidebar-contact-item a:hover{
  color:#076FD2;
}

/* Socials */
.sidebar-socials{
  display:flex;
  gap:10px;
}

.sidebar-socials a{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  text-decoration:none;
  transition:background 0.2s, color 0.2s, border-color 0.2s;
}

.sidebar-socials a:hover{
  background:#076FD2;
  color:#ffffff;
  border-color:#076FD2;
}


/* ===== SECTION ===== */
.about-story-section{
  padding:60px 0 120px;
  background:#ffffff;
}

/* ===== HEADING ===== */
.about-head{
  max-width:1200px;
  margin:0 auto 60px;
  text-align:center;
}

.about-tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  font-style: italic;
  background:rgba(7,111,210,0.08);
  padding:7px 18px;
  border-radius:40px;
  margin-bottom:16px;
}

.about-title{
  font-size:clamp(28px,3vw,44px);
  font-weight:700;
  color:#242B33;
}

.about-title span{
  color:#076FD2;
  font-style: italic;
}

/* ===== LAYOUT ===== */
.about-row{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:flex-start;
  gap:50px;
}

/* ===== LEFT ===== */
.about-left{
  flex:0 0 auto;
}

.about-md-image{
  width:300px;
  height:300px;
  border-radius:20px;
  overflow:hidden;
  position:relative;
  box-shadow:0 30px 60px rgba(0,0,0,0.2);
}

.about-md-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* OVERLAY */
.md-overlay{
  position:absolute;
  bottom:15px;
  left:20px;
}

.md-overlay h4{
  font-size:20px;
  color:#fff;
  font-style:italic;
}

.md-overlay span{
  font-size:14px;
  color:#fff;
}

/* ===== RIGHT ===== */
.about-right{
  flex:1;
}

.about-slider{
  width:100%;
  max-width:800px;
  height:300px;
  background:#cde6fb;
  border-radius:20px;
  overflow:hidden;
  position:relative;
}

.about-track{
  display:flex;
  height:100%;
  transition:transform .8s ease;
}

/* ===== SLIDE ===== */
.about-slide{
  min-width:100%;
  padding:40px;
  position:relative;
  display:flex;
  flex-direction:column;
}

.about-slide h3{
  font-size:26px;
  color:#1688F7;
  margin-bottom:15px;
  font-style:italic;
}

.about-slide p{
  font-size:17px;
  line-height:1.7;
  color:#2D4054;
  padding-bottom:80px; /* prevents overlap */
}

/* ===== BUTTON (FIXED BOTTOM RIGHT) ===== */
.abt-cta{
  position:absolute;
  bottom:30px;
  right:30px;
}
/* ==========PRODUCT=========== */

.vigro-products{
  position:relative;
  overflow:initial;
  padding:40px 0;
  background:#f0f2f5;   /* LIGHT CORPORATE BG */
  color:#242B33;
}

.vigro-products-row{
  max-width:2200px;
  align-items:flex-start;
  margin:auto;
  display:flex;
  gap:100px;
}

/* LEFT */

.vigro-products-left{
  width:40%;
  position:sticky;
  left:40px;
  top:140px;
  padding-bottom: 120px;
  
  align-self:flex-start;
  height:fit-content;
}

.vigro-reveal-title .line{
   display:block;
    position:relative;
   }

.vigro-reveal-title .base{ 
  color:#2d40545c;
 } 
 
 .vigro-reveal-title .fill{
   position:absolute; 
   left:0;
    top:0; 
    color:#076FD2;

     clip-path: inset(0 100% 0 0); /* hidden from right */
     }



.vigro-products-left .label{
   display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  font-style: italic;
  background:rgba(7,111,210,0.08);
  padding:7px 18px;
  border-radius:40px;
  margin-bottom:8px;
}

.vigro-products-left h2{
  font-size:54px;
  margin:25px 0;
  line-height:1.32;
  color:#242B33;
}

.vigro-products-left h2 span{
  color:#076FD2;   /* highlight word */
  
}

.vigro-products-left p{
  color:#2D4054;
  
  
 
}

/* RIGHT */

.vigro-products-right{
  width:60%;
}

.vigro-product-item{
  background:#0770d22b;
  padding:40px;
  border-radius:18px;
  margin-bottom:60px;
  min-height: 400px;
  border-left:5px solid #076FD2;   /* PREMIUM ACCENT */
  box-shadow:0 20px 40px rgba(0,0,0,0.06);

  transform:translateX(200px);
  opacity:.2;
}

.vigro-product-item h3{
  font-size:28px;
  margin-bottom:10px;
  color:#242B33;
}

.vigro-product-item p{
  color:#076FD2;
  font-style: italic;
  font-weight: 600;
}

.vigro-product-item ul{
  margin-top:0px;
  color:#2D4054;
  
}

.vigro-product-item li{
  margin-bottom:8px;
}

.vigro-product-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.vigro-product-content{
  flex:1;
}

.vigro-product-img{
  width:280px;
  height:280px;
  flex-shrink:0;
  border-radius:12px;
  overflow:hidden;
}

.vigro-product-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}


.vigro-product-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

/* HOVER HIGHLIGHT */
.vigro-product-item{
  cursor:pointer;
  
}

.vigro-product-item:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 30px 60px rgba(7,111,210,0.25);
  border-left:5px solid #2D4054;
  background:#0770d216;
}

/* LEARN MORE COLOR */
.learn-more{
  color:#076FD2;
  font-weight:600;
  transition:all 0.3s ease;
}

.vigro-product-item:hover .learn-more{
 
  transform:translateX(6px);
}
/* ===================== APPLICATION SECTION ===================== */
 
.app-section{
  background:#CDE6FB;
  padding:40px 0;
  overflow:hidden;
}
 
.app-container{
  max-width:1300px;
  width:92%;
  margin:auto;
}
 
/* ---- Heading ---- */
.app-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:56px;
}
 
.app-tag{
   display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  font-style: italic;
  background:rgba(2, 118, 226, 0.249);
  padding:7px 18px;
  border-radius:40px;
  margin-bottom:16px;
}
 
.app-title{
  font-size:clamp(28px, 3vw, 46px);
  font-weight:700;
  color:#242B33;
  line-height:1.15;
  margin:0;
}
 
.app-title span{
  color:#076FD2;
  font-style: italic;
}
 
.app-desc{
  font-size:15px;
  color:#242B33;
  line-height:1.75;
  max-width:360px;
  text-align:right;
  flex-shrink:0;
}
 
/* ---- Grid — 4 equal columns ---- */
.app-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}
 
/* ---- Card ---- */
.app-card{
  border-radius:16px;
  overflow:hidden;
  background:#ffffff00;
  cursor:pointer;
  opacity:0;
  transform:translateY(40px);
  transition:transform 0.3s ease, box-shadow 0.3s;
}

.app-card.visible{
  opacity:1;
  transform:translateY(0);
}
 
.app-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(7, 112, 210, 0.234);
}
 
/* Image area */
.app-card-img{
  position:relative;
  border-radius: 16px ;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
}
 
.app-card-img img{
  width:100%;
  height:100%;
  
  object-fit:cover;
  display:block;
  transition:transform 0.5s ease;
}
 
.app-card:hover .app-card-img img{
  transform:scale(1.07);
}
 
.app-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    transparent 30%,
    rgba(8,12,20,0.55) 100%
  );
  z-index:1;
  transition:opacity 0.3s;
}
 
.app-card:hover .app-card-overlay{
  opacity:0.7;
}
 
/* Text body */
.app-card-body{
  padding:20px 22px 24px;
  position:relative;
}
 
.app-card-num{
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  color:#076FD2;
  display:block;
  margin-bottom:8px;
}

.app-card-body h4{
  font-size:15px;
  font-weight:700;
  color:#076FD2;
  line-height:1.3;
  margin-bottom:8px;
}
 
.app-card-body p{
  font-size:12.5px;
  color:#000000;
  line-height:1.6;
}
 
/* Blue line appears at bottom on hover */
.app-card::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:3px;
  background:#076FD2;
  transition:width 0.35s ease;
  border-radius:0 0 16px 16px;
}
 
.app-card:hover::after{
  width:100%;
}




/* ================= INFO CARDS ================= */

.vigro-info-cards{
padding:40px 0;
background:#CDE6FB;;
}

.vigro-info-grid{
max-width:1300px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

/* CARD */

.vigro-info-card{
position:relative;
height:420px;
border-radius:26px;
overflow:hidden;
color:white;
cursor:pointer;
}

/* overlay */
.vigro-info-overlay{
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.75));
z-index:1;
}

/* content wrapper FULL WIDTH */
.vigro-info-content{


  position:absolute;
left:40px;
right:40px;
bottom:40px;
z-index:2;
}

/* BUTTON — FIXED */
.vigro-info-content .hero-btn{
position:relative;
z-index:3;
}

/* TITLE */
.vigro-info-content h3{
font-size:34px;
margin-bottom:4px;
transition:.5s cubic-bezier(.22,.61,.36,1);
transform:translateY(40px);
}

.vigro-info-content p{
opacity:0;
transform:translateY(30px);
max-width:620px;
line-height:1.7;
margin-bottom:14px;
transition:.5s cubic-bezier(.22,.61,.36,1);
}

/* ===== HOVER ===== */

.vigro-info-card:hover h3{
transform:translateY(0px);
}

.vigro-info-card:hover p{
opacity:1;
transform:translateY(0);
}


.qa-card{
background:url("../images/quality_lab.png") center/cover no-repeat;
}

.packaging-card{
background:url("../images/packaging_coils.png") center/cover no-repeat;
}

/* ================= CTA SECTION ================= */
/* ================= EVENT BANNER ================= */

.footer-event-wrap{
  padding:80px 20px;
  background:#f4f7f8;
}
/* MAP CARD */
.event-map-card{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  margin-right:20px;
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
}

/* IMAGE */
.event-map-card img{
  width:95%;
  height:95%;
 
  transition:transform 0.5s ease;
}

/* OVERLAY */
.map-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.45);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transition:opacity 0.3s ease;
}

/* TEXT */
.map-overlay span{
  color:#fff;
  font-size:16px;
  font-weight:600;
  border:1px solid rgba(255,255,255,0.6);
  padding:10px 18px;
  border-radius:30px;
  backdrop-filter:blur(4px);
}

/* HOVER EFFECT */
.event-map-card:hover img{
  transform:scale(1.08);
}

.event-map-card:hover .map-overlay{
  opacity:1;
}
.footer-event{
  max-width:1200px;
  margin:auto;
  background:#076FD2;
  border-radius:20px;
  padding:50px 60px;
  display:flex;
  align-items:center;
  gap:40px;
  overflow:hidden;
}

/* LEFT 60% */
.footer-event-left{
  flex:0 0 60%;
  color:#fff;
}

.footer-event-left h3{
  font-size:28px;
  margin-bottom:14px;
}

.footer-event-left p{
  font-size:15px;
  opacity:0.9;
  margin-bottom:16px;
  line-height:1.6;
}

/* DETAILS */
.event-details p{
  margin-bottom:6px;
  font-size:14px;
}

/* LINK */
.event-link{
  display:inline-block;
  margin-top:14px;
  color:#fff;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.4);
  padding-bottom:2px;
  transition:0.2s;
}

.event-link:hover{
  color:#242b33;
  border-color:#242b33;
}

/* RIGHT 40% */
.footer-event-right{
  flex:0 0 40%;
  height:260px;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin-left:-40px;/
}

.footer-event-right iframe{
  width:100%;
  height:100%;
  border:none;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

  .footer-event{
    flex-direction:column;
    padding:40px 25px;
  }

  .footer-event-left,
  .footer-event-right{
    flex:100%;
    width:100%;
  }

  .footer-event-right{
    height:220px;
  }

}



/* ===================== NAV ACTIVE HIGHLIGHT ===================== */
/* Paste these rules into your main CSS, inside the .header-menu block */

/* Active link — transparent/hero nav (white text + blue underline) */
.header-menu ul li a.nav-active{
  color:#ffffff;
  position:relative;
}

.header-menu ul li a.nav-active::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:100%;
  height:2px;
  background:#076FD2;
  border-radius:2px;
  animation:navUnderlineIn 0.3s ease forwards;
}

@keyframes navUnderlineIn{
  from{ transform:scaleX(0); transform-origin:left; }
  to{   transform:scaleX(1); transform-origin:left; }
}

/* Active link — solid (white bg) nav switches to blue text */
.header-sticky.nav-solid .header-menu ul li a.nav-active{
  color:#076FD2;
}

.msg-btn{
  border:none;
}
/* ===================== FOOTER ===================== */
 
.footer{
  background:#ffffff;
  position:relative;
  overflow:hidden;
}
 
/* Subtle diagonal lines texture */
.footer::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 40px,
    rgba(255,255,255,0.015) 40px,
    rgba(255,255,255,0.015) 41px
  );
  pointer-events:none;
  z-index:0;
}
 

/* ---- MAIN BODY ---- */
.footer-body{
  position:relative;
  z-index:1;
  padding:40px 0 40px;
}
 
.footer-container{
  max-width:1300px;
  width:92%;
  margin:auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.4fr;
  gap:48px;
}
 
/* ---- COLUMNS ---- */
.footer-col h4{
  font-size:15px;
  font-weight:700;
  color:#076FD2;
  font-style: italic;
  margin-bottom:22px;
  position:relative;
  padding-bottom:12px;
}
 
.footer-col h4::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:32px;
  height:2px;
  background:#076FD2;
  
  border-radius:2px;
}
 
.footer-col ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
 
.footer-col ul li a{
  font-size:14px;
  color:rgba(44, 44, 44, 0.781);
  text-decoration:none;
  transition:color 0.2s, padding-left 0.2s;
  display:block;
}
 
.footer-col ul li a:hover{
  color:#076FD2;
  font-style: italic;
  padding-left:6px;
}
.footer-col:nth-child(2){
  margin-left:-180px; /* 👈 adjust (try -30px to -60px) */
}
.footer-col:nth-child(3){
  margin-left:-250px; /* 👈 adjust (try -30px to -60px) */
}

/* Applications col — 2-column grid */
.footer-col.applications-col {
  min-width: 340px;
}

.footer-col.applications-col h4 {
  text-align: center;
}

.footer-col.applications-col h4::after {
  left: 50%;
  transform: translateX(-50%);
}

.footer-col.applications-col ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
}
.footer-col.applications-col .footer-app-last{
  color:#076FD2;
}
/* Brand col */

 
.footer-logo-sm{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  margin-bottom:18px;
}
 
.footer-logo-sm img{
  height:100px;
}
 
.footer-logo-sm span{
  font-size:18px;
  font-weight:700;
  color:#076FD2;
  font-style: italic;
  
}
 
.footer-brand p{
  font-size:14.5px;
  color:rgba(45, 45, 45, 0.816);
  line-height:1.75;
  margin-bottom:24px;
}
 
.footer-certs{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-left:10px;
}
 
.footer-cert{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:rgba(0, 0, 0, 0.55);
}
 
.footer-cert i{
  color:#076FD2;
  font-size:14px;
}
 
/* Contact col */
.footer-contact-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
 
.footer-contact-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
 
.footer-contact-item > i{
  color:#076FD2;
  font-size:14px;
  margin-top:3px;
  flex-shrink:0;
}
 
.footer-contact-item div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
 
.footer-contact-item strong{
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#242B33
}
 
.footer-contact-item span,
.footer-contact-item a{
  font-size:13px;
  color:rgba(0, 0, 0, 0.649);
  line-height:1.6;
  text-decoration:none;
  transition:color 0.2s;
}
 
.footer-contact-item a:hover{
  color:#076FD2;
}
 
/* ---- BOTTOM BAR ---- */
.footer-bottom{
  position:relative;
  z-index:1;
  border-top:1px solid rgba(0, 0, 0, 0.285);
  padding:20px 0 30px ;
}
 
.footer-bottom .footer-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  grid-template-columns:unset;
  gap:0;
}
 
.footer-copy{
  font-size:13px;
  color:rgba(0, 0, 0, 0.37);
  margin:0;
}
 
.footer-socials{
  display:flex;
  gap:20px;
  
}
 
.footer-socials a{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(29, 50, 81, 0.19);
  color:rgba(19, 49, 95, 0.595);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  text-decoration:none;
  transition:background 0.2s, color 0.2s, border-color 0.2s;
}
 
.footer-socials a:hover{
  background:#076FD2;
  color:#ffffff;
  border-color:#076FD2;
}
 
/* ---- SCROLL TO TOP ---- */
.scroll-top{
  position:fixed;
  bottom:80px;
  right:30px;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#076FD2;
  color:#ffffff;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  z-index:9999;
  opacity:0;
  transform:translateY(20px);
  transition:opacity 0.3s, transform 0.3s, background 0.2s;
  
  pointer-events:none;
}
 
.scroll-top.visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:all;
}
 
.scroll-top:hover{
  background:#0658A9;
} 
/* ===== SCROLL PROGRESS RING ===== */

.scroll-top{
  width:60px;
  height:60px;
  background:transparent;
  
}

.progress-ring{
  position:absolute;
  top:0px;
  left:0;
  transform:rotate(-90deg);
}

.progress-ring-bg{
  fill:none;
  stroke:#e6e6e6;
  stroke-width:4;
}

.progress-ring-fill{
  fill:none;
  stroke:#076FD2;
  stroke-width:4;
  stroke-linecap:round;

  stroke-dasharray:163;
  stroke-dashoffset:163;

  transition:stroke-dashoffset .15s linear;
}

.scroll-icon{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:50%;
  width:42px;
  height:42px;
  margin:auto;
  color:#076FD2;
  font-size:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}


.nav-floating{
position:fixed;
top:0px;
left:0;
width:100%;
z-index:9998;

opacity:0;
pointer-events:none;
transition:.35s ease;
}

.nav-floating.show{
opacity:1;
pointer-events:auto;
}

.nav-floating-inner{
width:99%;
margin:auto;
padding:5px 12px 14px 5px;

display:flex;
align-items:center;
justify-content:space-between;
}

.nav-float-logo img{
height: 80px;
}

.nav-float-hamburger{
width:26px;
display:flex;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.nav-float-hamburger span{
height:2px;
background:rgb(0, 0, 0);
border-radius:2px;
}






/* ===========================product-details.php======================================= */



.hero-blue{
  position:absolute;
  inset:0;
  background:#076FD2; /* 👈 your brand blue */
  z-index:0;
  overflow:hidden;
}

/* IMAGE INSIDE BLUE */
.hero-blue .hero-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.15; /* 👈 your requirement */
}

/* OVERLAY (keep above image) */
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(8,12,20,0.6) 0%,
    rgba(8,12,20,0.3) 50%,
    rgba(8,12,20,0.1) 100%
  );
  z-index:1;
}

/* CONTENT ABOVE EVERYTHING */
.hero-container{
  position:relative;
  z-index:2;
}
.product-hero{
padding-top:180px;
}

/* background image */
.product-hero .hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* dark overlay */
.product-hero .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(8,12,20,0.75) 0%,
    rgba(8,12,20,0.4) 40%,
    rgba(8,12,20,0.2) 100%
  );
  z-index:1;
}

/* content wrapper */
.product-hero .hero-container{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:flex-start;
  padding:0 0px;
}

/* content */
.product-hero .hero-content{
  max-width:600px;
  text-align:left;
}

/* title */
.product-hero .hero-content h1{
  font-size:50px; /* 👈 reduced scale */
  font-weight:900;
  color:#fff;
  margin-bottom:20px;
  margin-left: 0;
  line-height:1.1;
  max-width:500px; /* 👈 prevents stretching */
}

/* description */
.product-hero .hero-content p{
  font-size:18px;
  color:rgba(255,255,255,0.8);
  line-height:1.6;
}
.container{
  width:92%;
  max-width:1300px;
  margin:auto;
}



/* PRODUCT INFO */
.product-image{
  width:120vw;
  height: 26vw;
  border-radius:40px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,0.2);
}
.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-info{
  padding:50px 0;
}

.product-grid{
  display:flex;
  gap:60px;
  align-items:center;
}

/* APPLICATION */
.product-applications{
  padding:50px 0;
 background:#CDE6FB;
}

/* OTHER PRODUCTS */
.other-products{
  padding:40px 0;
}
.section-title{
  font-size:32px;
  font-weight:700;
  color:#076FD2;
  font-style: italic;
  margin-bottom:40px;
  
}
.other-products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
}

.other-card{
  display:block;
  background:#cae5fead;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  transition:0.3s;
 
}
.product-text ul{
  padding-left:0;
  margin-top:20px;
}

.product-text li{
  list-style:none;
  margin-bottom:10px;
  position:relative;
  padding-left:14px;
}

.product-text li::before{
  content:"-";
  position:absolute;
  left:0;
  top:0;
  color:#076FD2;
}
.other-card img{
  width:100%;
  height:180px;
  object-fit:cover;
}

.other-content{
  padding:20px;
}

.other-content h3{
  color:#076FD2;
  margin-bottom:10px;
}

.other-card:hover{
  transform:translateY(-6px);
   box-shadow: #0770d261 0px 20px 40px -10px;
}

.product-text h2{
  color:#076FD2;
  font-style: italic;
} 

.product-actions{
  display:flex;
  gap:16px;
  margin-top:30px;
}

/* POPUP */
.enquiry-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:0.3s;
  z-index:99999;
}

.enquiry-overlay.active{
  opacity:1;
  visibility:visible;
}

.enquiry-modal{
  background:#fff;
  width:500px;
  max-width:90%;
  padding:30px;
  border-radius:16px;
}

.enquiry-header{
  display:flex;
  justify-content:space-between;
  margin-bottom:20px;
}

.close-enquiry{
  cursor:pointer;
  font-size:26px;
    margin-top: -25px;
  margin-right: -15px;
}
.close-enquiry:hover {
  color: #e53935;
}
.product-row{
  display:flex;
  gap:10px;
  margin-bottom:10px;
}

.product-row input[type="text"]{
  flex:1;
}

textarea{
  width:100%;
  margin-top:15px;
  padding:10px;
}

.submit-btn{
  margin-top:15px;
  width:auto;
  padding:12px 5px;
  background:#076FD2;
  color:#fff;
  border:none;
  border-radius:8px;
}
.product-row{
  display:grid;
  grid-template-columns: 20px 1fr 100px;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}

.product-row input[type="text"]{
  background:#f5f7fb;
  border:1px solid #ddd;
  padding:8px;
  border-radius:6px;
}

.product-row input[type="number"]{
  padding:8px;
  border:1px solid #ddd;
  border-radius:6px;
}
#addMoreProduct{
  margin-top:10px;
  background:#f1f5fb;
  border:1px dashed #076FD2;
  padding:8px 12px;
  border-radius:8px;
  cursor:pointer;
  font-weight:500;
}

#addMoreProduct:hover{
  background:#e7f0ff;
}


.product-select{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  padding:6px 8px;
  border-radius:6px;
  transition:0.2s;
}

.product-select:hover{
  background:#f5f7fb;
}

.product-name-text{
  font-size:14px;
  cursor: pointer;
}


/* ============lets talk enquiry */

.contact-overlay{
  position:fixed;
  inset:0;
  background:rgba(8,12,20,0.75);
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:0.4s;
  z-index:9999;
}

.contact-overlay.active{
  opacity:1;
  visibility:visible;
}

.contact-modal{
  width:900px;
  max-width:95%;
  background:#fff;
  border-radius:16px;
  display:flex;
  overflow:hidden;
}

/* LEFT PANEL */
.contact-left{
  width:40%;
  background:#0d1b2a;
  color:#fff;
  padding:40px;
}

.contact-left h3{
  font-size:26px;
  margin-bottom:15px;
}

.contact-left p{
  font-size:14px;
  opacity:.7;
  margin-bottom:30px;
}

.contact-info div{
  margin-bottom:20px;
}

.contact-info strong{
  display:block;
  font-size:12px;
  opacity:.6;
}

.contact-info span{
  font-size:15px;
}

/* RIGHT */
.contact-right{
  width:60%;
  padding:40px;
}

.contact-header{
  display:flex;
  justify-content:space-between;
  margin-bottom:20px;
}

.close-contact{
  cursor:pointer;
  font-size:20px;
}

/* FORM */
.form-row{
  display:flex;
  gap:12px;
  margin-bottom:12px;
}

input, select, textarea{
  width:100%;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-family:inherit;
}

textarea{
  min-height:100px;
  margin-top:10px;
}

.see-btn{

  background:#ffffff;
  color:#000000;

  cursor:pointer;

}
.see-btn i{
  color: #000000;
}
.see-btn:hover{
  background:#ffffff;
}




/* ══════════════════════════════════════════════════════════════════
   EXTENDED MOBILE RESPONSIVE — appended (original CSS untouched)
   Covers: Why Us Bento, Products, Applications, Info Cards,
           Footer CTA, Footer, Contact Modal, Product Details,
           Sidebar, About Story, Floating Nav
   ══════════════════════════════════════════════════════════════════ */

/* ── WHY CHOOSE US BENTO ── */
@media (min-width: 769px) {
  .sidebar-section-nav {
    display: none;
  }
}
/* ===== TABLET ===== */
@media (max-width: 1024px) {
  .whyus-bento {
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
  }
  

  .wb-a { grid-column: 1 / 7; grid-row: auto; min-height: auto; }
  .wb-b { grid-column: 1 / 4; grid-row: auto; }
  .wb-c { grid-column: 4 / 7; grid-row: auto; min-height: 260px; }
  .wb-d { grid-column: 1 / 4; grid-row: auto; }
  .wb-e { grid-column: 4 / 7; grid-row: auto; }
  .wb-f { grid-column: 1 / 7; grid-row: auto; }
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .whyus { padding: 28px 0; }

  .whyus-container { width: 94%; }

  .whyus-bento {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  /* FULL WIDTH (except D & E) */
  .wb-a,
  .wb-b,
  .wb-c,
  .wb-f {
    grid-column: span 2;
  }

  /* ✅ FIX: keep these side-by-side */
  .wb-d,
  .wb-e {
    grid-column: span 1;
  }

  .wb-card { padding: 24px 20px; border-radius: 14px; }
  .wb-title { font-size: clamp(22px, 5vw, 32px); }
  .wb-big-num { font-size: clamp(36px, 8vw, 52px); }
  .wb-sub { max-width: 100%; }

  .wb-pillars { flex-wrap: wrap; gap: 10px; }
  .wb-pillar { flex: 1 1 calc(50% - 5px); min-width: 120px; }
}
 /* ================= PILLARS 2×2 — MOBILE ONLY ================= */
@media (max-width: 768px) {
 
  .wb-pillars {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    flex-wrap: unset;
  }
 
  .wb-pillar {
    flex: unset !important;
    padding: 18px 12px !important;
    border-radius: 14px !important;
  }
 
  .wb-pillar-div {
    display: none !important;
  }
}

  
/* ===== SMALL MOBILE ===== */
@media (max-width: 480px) {

  .whyus-bento {
    grid-template-columns: 1fr;
  }

  .wb-a,
  .wb-b,
  .wb-c,
  .wb-d,
  .wb-e,
  .wb-f {
    grid-column: span 1;
  }

  .wb-pillar {
    grid-column: span 1;
  }

  .wb-c { min-height: 220px; }
}

/* ── ABOUT STORY ── */
@media (max-width: 768px) {
  .about-story-section { padding: 40px 0 60px; }

  .about-head { margin-bottom: 36px; padding: 0 20px; }

  .about-row {
    flex-direction: column;
    gap: 28px;
    padding: 0 20px;
  }

  .about-left { width: 100%; }

  .about-md-image {
    width: 100%;
    height: 220px;
    border-radius: 14px;
    
  }
/* ===== FIX MD IMAGE POSITION ON MOBILE ===== */

@media (max-width: 768px){

  .about-md-image img{
    object-position: center 30%; 
    /* moves image DOWN (face becomes visible) */
  }

}
  .about-slider {
    height: 220px;
    max-width: 100%;
    margin-right: -12px;
    
    
  }

  .about-slide { padding: 24px; }
  .about-slide h3 { font-size: 20px; }
  .about-slide p { font-size: 14px; padding-bottom: 60px; }
}


/* ── PRODUCTS (STICKY SCROLL) ── */
@media (max-width: 1024px) {
  .vigro-products-row {
    gap: 40px;
    max-width: 100%;
    padding: 0 24px;
  }

  .vigro-products-left {
    width: 40%;
    position: sticky;
  }

  .vigro-products-left h2 { font-size: 38px; }
  .vigro-products-right { width: 60%; }
}

@media (max-width: 768px) {
  .vigro-products { padding: 28px 0; }

  .vigro-products-row {
    flex-direction: column;
    gap: 28px;
    padding: 0 20px;
  }

  .vigro-products-left {
    width: 100%;
    position: static;  /* unstick on mobile */
    top: auto;
    padding-bottom: 0;
  }

  .vigro-products-left h2 { font-size: clamp(28px, 7vw, 40px); margin: 16px 0; }

  .vigro-products-right { width: 100%; }

  .vigro-product-item {
    flex-direction: column;
    padding: 28px 20px;
    margin-bottom: 24px;
    align-items: flex-start;
    transform: none !important;  /* disable GSAP enter-from on small screens */
    opacity: 1 !important;
  }

  .vigro-product-img {
    width: 100%;
    height: 180px;
    border-radius: 10px;
  }
}

@media (max-width: 480px) {
  .vigro-product-item { padding: 20px 16px; }
  .vigro-product-item h3 { font-size: 20px; }
  .vigro-product-img { height: 150px; }
}


/* ── APPLICATION SECTION ── */

/* Tablet + Mobile → always 2 cards */


/* Mobile adjustments */
@media (max-width: 768px) {

  .app-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
  }

  .app-desc {
    text-align: left;
    max-width: 100%;
  }

  
}
@media (max-width: 768px){

  .app-grid{
    display:grid; /* ensure grid */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  .app-card{
    min-width:0;
    opacity:1;              /* 👈 FIX */
    transform:none;         /* 👈 FIX */
  }

}

/* ── INFO CARDS (QA / PACKAGING) ── */
@media (max-width: 1024px) {
  .vigro-info-grid {
    max-width: 96%;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .vigro-info-cards { padding: 60px 0; }

  .vigro-info-grid {
    grid-template-columns: 1fr;
    max-width: 94%;
    gap: 16px;
  }

  .vigro-info-card { height: 300px; }

  .vigro-info-content {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .vigro-info-content h3 { font-size: 24px; }
}

@media (max-width: 480px) {
  .vigro-info-card { height: 240px; }
  .vigro-info-content h3 { font-size: 20px; }
}


/* ── FOOTER CTA ── */
@media (max-width: 1024px) {
  .footer-event { gap: 32px; padding: 40px; }
  .footer-logo img { height: 100px; }
}

@media (max-width: 768px) {
  .footer-event-wrap { padding: 48px 0 0; }

  .footer-event {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 28px 24px;
    margin: 0 16px;
 
  .footer-logo img { height: 80px; }
  .footer-logo strong { font-size: 22px; }
  .footer-event-right h3 { font-size: 20px; }
  .footer-event-right p { font-size: 14px; max-width: 100%; }

  .footer-event-form { flex-direction: column; gap: 10px; }
  .footer-event-form input { width: 100%; }
}
}
@media (max-width: 768px){

  .msg-btn, .enquiry-btn, .see-btn{
    width:100%;                 /* full width button */
    justify-content:center;     /* center text + icon */
    text-align:center;
    padding:8px 0px;          /* better spacing */
  }

}
/* ── FOOTER ── */
@media (max-width: 1024px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 28px;
    width: 88%;
  }

  .footer-logo-sm img { height: 50px; }

  .footer-bottom .footer-container {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
     padding:0px 0;
  }

  .footer-copy { font-size: 8px; 
  margin:0;
}
}
@media (max-width: 768px){

  .footer-brand{
    display:flex;
    align-items:center;
    justify-content:space-between;
     justify-content:flex-start;  /* 👈 FIX */
    gap:32px;  
  }

  .footer-certs{
    display:flex;
    flex-direction:column;   /* keep ISO + ZLD stacked */
    gap:8px;
  }

  .footer-logo-sm img{
    height:70px; /* slightly smaller to fit nicely */
  }
.footer-col ul, .footer-contact-list {
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:6px 15px; /* row gap, column gap */
}
}

/* ── FOOTER OFFICE — MOBILE FIXES ── */
@media (max-width: 1024px) {
  .footer-col-office {
    grid-column: span 2; /* full width on tablet 2-col grid */
  }

  .footer-contact-list {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px;
    grid-template-columns: unset;
  }
}

@media (max-width: 768px) {
  .footer-col-office {
    grid-column: span 1; /* reset — single col grid on mobile */
  }

  .footer-contact-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
    grid-template-columns: unset;
  }

  .footer-office-contacts {
    border-left: none;
    border-top: 1px solid rgba(0,0,0,0.10);
    padding-left: 0;
    padding-top: 16px;
  }
}

/* ── CONTACT MODAL (LETS TALK) ── */
@media (max-width: 768px) {
  .contact-modal {
    flex-direction: column;
    width: 95%;
    max-height: 92vh;
    overflow-y: auto;
  }

  .contact-left {
    width: 100%;
    padding: 24px;
  }

  .contact-right {
    width: 100%;
    padding: 24px;
  }

  .contact-left h3 { font-size: 20px; }
  .form-row { flex-direction: column; gap: 8px; }
}


/* ── PRODUCT DETAILS PAGE ── */
@media (max-width: 1024px) {
  .product-grid { gap: 32px; }
  .product-image { width: 100%; height: 35vw; }
}

@media (max-width: 768px) {
  .product-hero { padding-top: 100px; }

  .product-hero .hero-content h1 { font-size: 28px; margin-left: 15px; }
  .product-hero .hero-content p { font-size: 10px; margin-left: 18px; margin-top: -15px;}

  .product-grid {
    flex-direction: column;
    gap: 24px;
  }

  .product-image {
    width: 100%;
    height: 52vw;
    border-radius: 20px;
  }

  .product-actions { flex-direction: column; gap: 12px; }

  .other-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .section-title { font-size: 24px; margin-bottom: 24px; }
}

@media (max-width: 480px) {
  .product-image { height: 60vw; border-radius: 14px; }
  .other-products-grid { grid-template-columns: 1fr; }

  .product-hero .hero-content h1 { font-size: 26px; }
}


/* ── ENQUIRY MODAL ── */
@media (max-width: 480px) {
  .enquiry-modal {
    padding: 20px 16px;
    border-radius: 12px;
    max-width: 98%;
  }

  .product-row {
    grid-template-columns: 20px 1fr 80px;
    gap: 8px;
  }
}


/* ── FLOATING NAV ── */
@media (max-width: 768px) {
  .nav-floating-inner { padding: 6px 14px 10px; }
  .nav-float-logo img { height: 56px; }
}


/* ── SCROLL-TO-TOP BUTTON ── */
@media (max-width: 480px) {
  .scroll-top { bottom: 20px; right: 16px; }
}


/* ── TALK BUTTON — hide text on very small screens ── */
@media (max-width: 380px) {
  .talk-btn .btn-text { display: none; }
  .talk-btn { padding: 6px; border-radius: 50%; }
}

/* ── SIDEBAR NAV LINKS ── */
.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sidebar-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s, padding-left 0.2s;
}

.sidebar-nav-link i {
  font-size: 11px;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.2s, transform 0.2s;
}

.sidebar-nav-link:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #ffffff;
  padding-left: 20px;
  border-color: rgba(255, 255, 255, 0.08);
}

.sidebar-nav-link:hover i {
  opacity: 1;
  transform: translateX(0);
}

.sidebar-nav-link.active {
  background: rgba(7, 111, 210, 0.18);
  color: #076FD2;
  border-color: rgba(7, 111, 210, 0.3);
  font-style: italic;
}

.sidebar-nav-link.active i {
  opacity: 1;
  transform: translateX(0);
  color: #076FD2;
}

/* ================= PRODUCTS — 2 CARDS PER ROW ON MOBILE (appended) ================= */
@media (max-width: 768px) {
.vigro-products-right{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}

.vigro-product-item{
  display:flex;
  flex-direction:column;
  height:100%;
}
  

  .vigro-product-img {
    width: 100%;
    height: 130px;
  }

  .vigro-product-item h3 {
    font-size: 12px;
    margin-bottom: 6px;
  }

  .vigro-product-item p {
    font-size: 12px;
  }

  .vigro-product-item li,
  .vigro-product-item ul {
    font-size: 12px;
  }
}

@media (max-width: 480px) {

  .vigro-products-right {
    gap: 10px;
  }

  .vigro-product-img {
    height: 110px;
  }

  .vigro-product-item {
    padding: 12px;
  }
}


/* ================= MOBILE FIXES (appended) ================= */
@media (max-width: 768px) {

  /* 1. Hide product feature details (ul/li) on mobile */
  .vigro-product-item ul,
  .vigro-product-item li {
    display: none;
  }

  /* 2. Fix app cards — force visible since JS scroll trigger may not fire on mobile */
  .app-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

/* ================= APP CARDS + PRODUCT GRID — FINAL MOBILE FIX ================= */
@media (max-width: 768px) {

  /* Force 2-column grid on app section */
  .app-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Override JS inline styles that keep cards invisible */
  .app-card {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    min-width: 0 !important;
  }

  /* Force 2-column grid on product items */
  .vigro-products-right {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .vigro-product-link {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .vigro-product-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 12px !important;
    margin-bottom: 0 !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .vigro-product-img {
    width: 100% !important;
    height: 120px !important;
  }

  .vigro-product-item h3  { font-size: 13px !important; }
  .vigro-product-item p   { display: none !important; }
  .vigro-product-item ul,
  .vigro-product-item li  { display: none !important; }
}


/* ================= HIDE APP CARD DESCRIPTION ON MOBILE ================= */
@media (max-width: 768px) {
  .app-card-body p {
    display: none !important;
  }
}

/* ================= WB-D + WB-E — 2 IN 1 ROW ON MOBILE ================= */
@media (max-width: 768px) {

  .wb-d,
  .wb-e {
    grid-column: span 1 !important;
  }

  /* Wrap them in a shared 2-col row by targeting their parent grid */
  .whyus-bento {
    /* ensure the grid can accommodate 2 cols for these cards */
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Keep the other cards full width */
  .wb-a,
  .wb-b,
  .wb-c,
  .wb-f {
    grid-column: span 2 !important;
  }
}

/* ================= PRODUCT CAROUSEL (MOBILE ONLY) ================= */
@media (max-width: 768px){

  /* REMOVE GRID */
  .vigro-products-right{
    display:block !important;
    overflow:hidden;
  }

  /* SCROLL CONTAINER */
  .product-carousel{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  /* TRACK */
  .product-track{
    display:flex;
    gap:14px;
    padding:0 16px;
  }

  /* CARD */
  .vigro-product-link{
    flex:0 0 85%; /* 👈 card width */
    scroll-snap-align:start;
  }

  .vigro-product-item{
    width:100%;
    margin-bottom:0 !important;
  }
  .product-carousel::-webkit-scrollbar{
    display: none;                /* Chrome, Safari */
  }
}
/* HIDE by default (desktop) */
.carousel-arrow{
  display:none;
}

/* SHOW ONLY ON MOBILE */
@media (max-width: 768px){

  /* The right column needs relative positioning so arrows anchor to it */
  .vigro-products-right{
    position: relative;
  }

  .carousel-arrow{
    display:flex;
    position:absolute;
    /* align vertically to the card track — cards start after padding-top of section,
       so we push the arrows down to roughly the vertical center of the card height */
    top: auto;
    bottom: 50%;
    transform: translateY(50%);
    width:36px;
    height:36px;
    border-radius:50%;
    border:none;
    background:rgba(7,111,210,0.75);
    color:#fff;
    font-size:18px;
    cursor:pointer;
    z-index:10;
    align-items:center;
    justify-content:center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  }

  .carousel-arrow.left{
    left:6px;
    top:70%;
  }

  .carousel-arrow.right{
    right:6px;
     top:70%;
  }

}

/* ===== APPLICATION REVEAL — ALL SCREEN SIZES ===== */

/* Desktop: hide cards after first 8 (2 rows × 4 cols) */
.app-card:nth-child(n+5){
  display:none;
}

/* When expanded, show all */
.app-grid.expanded .app-card{
  display:block;
}

/* Mobile: hide cards after first 4 */
@media (max-width: 768px){

  .app-card{
    display:none;
  }

  .app-card:nth-child(-n+2){
    display:block;
  }

  .app-grid.expanded .app-card{
    display:block;
  }
}

.app-card{
  transition: all 0.3s ease;
}

/* View More button — visible on ALL screen sizes */
.app-view-more{
  display:block;
  margin:32px auto 0;
  padding:11px 28px;
  border-radius:30px;
  border:none;
  background:#076FD2;
  color:#fff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition: background 0.2s, transform 0.2s;
}

.app-view-more:hover{
  background:#0558a9;
  transform: translateY(-2px);
}
 .contact-group{
  display:flex;
  flex-direction:column;   /* 🔥 stacks vertically */
  gap:4px;
}

.contact-group a{
  display:block;
  line-height:1.2;
}

/* =====================================================================
   MOBILE RESPONSIVE — FOOTER, PRODUCT CAROUSEL, EVENT CARD
   Appended — does NOT change desktop/webview appearance
   ===================================================================== */

/* ── 1. QA / PACKAGING INFO CARDS — always show content (no hover needed on touch) ── */
@media (max-width: 768px) {
  .vigro-info-cards {
    padding: 32px 0;
  }

  .vigro-info-grid {
    grid-template-columns: 1fr;
    max-width: 92%;
    gap: 16px;
    padding: 0 4px;
  }

  .vigro-info-card {
    height: 280px;
    border-radius: 18px;
  }

  /* Always show title & text on mobile — no hover needed */
  .vigro-info-content h3 {
    transform: translateY(0) !important;
    font-size: 22px;
  }

  .vigro-info-content p {
    opacity: 1 !important;
    transform: translateY(0) !important;
    font-size: 13px;
    margin-bottom: 12px;
  }

  .vigro-info-content {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .vigro-info-content .hero-btn {
    font-size: 13px;
    padding: 7px 8px 7px 16px;
  }
}

@media (max-width: 480px) {
  .vigro-info-card {
    height: 260px;
  }

  .vigro-info-content h3 {
    font-size: 19px;
  }

  .vigro-info-content p {
    font-size: 12px;
    line-height: 1.55;
  }
}


/* ── 2. PRODUCT SECTION — left panel stacks above carousel on mobile ── */
@media (max-width: 768px) {
  .vigro-products-row {
    flex-direction: column !important;
    gap: 24px !important;
  }

  .vigro-products-left {
    width: 100% !important;
    padding: 0 16px !important;
    position: static !important; /* un-pin the sticky left panel */
  }

  .vigro-products-left h2 {
    font-size: clamp(26px, 7vw, 36px) !important;
  }

  .vigro-products-left p {
    font-size: 13px;
  }

  /* Carousel wrapper */
  .vigro-products-right {
    width: 100% !important;
    padding-bottom: 8px;
  }

  /* Product track horizontal scroll */
  .product-track {
    padding: 0 16px 4px !important;
  }

  /* Each card — show image + heading, hide bullet list */
  .vigro-product-link {
    flex: 0 0 80% !important;
  }

  .vigro-product-item {
    min-height: auto;
    padding: 14px !important;
    gap: 10px !important;
  }

  .vigro-product-img {
    height: 150px !important;
    border-radius: 12px;
    overflow: hidden;
  }

  .vigro-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .vigro-product-content h3 {
    font-size: 14px !important;
    line-height: 1.3;
  }

  .vigro-product-content p {
    font-size: 12px !important;
    display: block !important; /* show tagline */
    margin-bottom: 0;
  }

  .vigro-product-item ul,
  .vigro-product-item li {
    display: none !important; /* hide spec list */
  }

  .learn-more {
    font-size: 12px;
  }

  /* Arrow buttons — centered vertically over card area */
  .carousel-arrow {
    top: 65% !important;
    bottom: auto !important;
  }
}

@media (max-width: 480px) {
  .vigro-product-link {
    flex: 0 0 88% !important;
  }

  .vigro-product-img {
    height: 130px !important;
  }
}


/* ── 3. FOOTER EVENT CARD — full mobile treatment ── */
@media (max-width: 768px) {
  .footer-event-wrap {
    padding: 32px 16px;
  }

  .footer-event {
    flex-direction: column !important;
    padding: 28px 22px !important;
    gap: 24px !important;
    margin: 0 !important;
    border-radius: 16px;
  }

  .footer-event-left {
    flex: unset !important;
    width: 100% !important;
  }

  .footer-event-left h3 {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 10px;
  }

  .footer-event-left p {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .event-details p {
    font-size: 13px;
  }

  .event-link {
    font-size: 13px;
    margin-top: 10px;
  }

  .footer-event-right {
    flex: unset !important;
    width: 100% !important;
    height: 200px !important;
    margin-left: 0 !important;
    border-radius: 10px;
  }

  .event-map-card {
    margin-right: 0;
    height: 100%;
  }

  .event-map-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 480px) {
  .footer-event-right {
    height: 170px !important;
  }

  .footer-event-left h3 {
    font-size: 17px;
  }
}


/* ── 4. FOOTER COLUMNS — clean single-column stacking ── */
@media (max-width: 768px) {
  .footer-body {
    padding: 36px 0 28px;
  }

  .footer-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    width: 88% !important;
  }

  /* Reset the negative margin offsets used for desktop layout */
  .footer-col:nth-child(2),
  .footer-col:nth-child(3) {
    margin-left: 0 !important;
  }

  /* Applications col — revert to single column list on mobile */
  .footer-col.applications-col {
    min-width: unset !important;
  }

  .footer-col.applications-col h4 {
    text-align: left;
  }

  .footer-col.applications-col h4::after {
    left: 0;
    transform: none;
  }

  .footer-col.applications-col ul {
    grid-template-columns: 1fr 1fr; /* keep 2-col on mobile too — readable */
    gap: 8px 16px;
  }

  /* Contact list — single column on mobile */
  .footer-contact-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: unset !important;
  }

  /* Products list — single column */
  .footer-col ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    grid-template-columns: unset !important;
  }

  /* Bottom bar */
  .footer-bottom .footer-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    grid-template-columns: unset !important;
  }

  .footer-copy {
    font-size: 11px !important;
  }

  /* Brand col — logo + certs side by side */
  .footer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
  }

  .footer-logo-sm img {
    height: 64px !important;
  }

  .footer-certs {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
}

@media (max-width: 480px) {
  .footer-col.applications-col ul {
    grid-template-columns: 1fr; /* single col on very small screens */
  }

  .footer-logo-sm img {
    height: 54px !important;
  }
}