/* main.css */
*{
  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-sticky {
  transition: transform 0.4s ease, opacity 0.3s ease;
}
/* 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(222, 219, 219, 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(11, 11, 11, 0.9);
}
.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(0, 0, 0, 0.85);
}

/* shrink logo slightly when sticky */
.header.scrolled .header-logo img {
  height: 60px;
  
  margin: 0;               /* was margin-top:-5px margin-left:-2px — caused
                              logo to shift off-centre in the scrolled capsule */
  transition: height 0.4s ease;
}
.header-logo img {
  height: 80px;
  
  margin-bottom: 0;        /* was 5px — caused logo to hang lower than nav items */
  vertical-align: middle;
  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;
  margin-left:90px;
}

.header-menu ul li a{
  color:rgba(255,255,255,0.80);
  font-size:15px;
  transition:color 0.2s;
  margin-left:10px;
}

.header-menu ul li a:hover{
  color:#076FD2;
  font-style: italic;
}

.header-right{
  display:flex;
  align-items:center;
  gap:20px;
}

.talk-btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 9px 7px 20px;
  border-radius:40px;
  background:#0770d2;
  margin-right:10px;
  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(-105%);
}

.talk-btn:hover .btn-text span:last-child{
  transform:translateY(-105%);
}

.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;
  margin-right:15px;
}

.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:0px ;
  width:100%;
  height:120%;
  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.8;
  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 16px;   /* equal left/right — was 14px causing asymmetry */
    align-items: center; /* ensure logo and hamburger are vertically centred */
  }

  .header-logo {
    display: flex;
    align-items: center;
  }

  .header-logo img {
    height: 70px;
    margin: 0;           /* strip desktop margin-bottom:5px — was pushing
                            logo down relative to the hamburger on the right */
  }

  .search-circle{
    display:none;
  }

  .talk-btn{
    padding:6px 8px 6px 14px;
    font-size:12px;
  }

  /* HERO */
  .hero{
    height:60vh;
    margin:0px 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;
    margin-top:140px;
  }

  /* THUMBNAILS */

}

/* Small phones */
@media (max-width: 480px){
  .hero{
    height:60vh;
  }

  .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.8;
  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.8;
  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.8;
  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:80px;
}

/* 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);
}

.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.8;
  color:#2D4054;
  padding-bottom:80px; /* prevents overlap */
}

/* BUTTON (FIXED BOTTOM RIGHT) */
.abt-cta{
  position:absolute;
  bottom:30px;
  right:30px;
}

/* MD ABOUT TEXT */
.md-about{
  max-width:1150px;
  height: auto;
  margin:50px auto 0;
  text-align:left;
  padding:0 10px;
}

.md-about h3{
  font-size:clamp(32px, 3vw, 44px);
  margin-bottom:20px;
  line-height:1.2;
  font-weight:700;
  color:#111827;
}

/* subtle accent line */
.md-about h3::after{
  content:'';
  width:60px;
  height:3px;
  background:#076FD2;
  display:block;
  margin-top:8px;
  border-radius:2px;
}

.md-about p{
  font-size:16px;
  line-height:1.8;
  color:#4b5563;
  margin-bottom:1px;
}
/* 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: 60px;
  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.8;
  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.2;
  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.8;
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.webp") center/cover no-repeat;
}

.packaging-card{
background:url("../images/oil-dip.webp") center/cover no-repeat;
}

/* CTA SECTION */
/* EVENT BANNER */

.footer-event-wrap{
  padding:80px 20px;
  background:#f4f7f800;
}
/* 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.8;
}

/* 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: flex-start;
}

.footer-col.applications-col h4::after {
  left: 3%;
  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;
}
/* default: hidden on desktop */
.mobile-only {
  display: none;
}

/* show only on mobile */
@media (max-width: 768px) {
  .mobile-only {
    display: block;
  }
}
/* 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.8;
  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.8;
  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.8;
}
.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;
}


.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;
}
.see-btn:hover .btn-text span:first-child{
  transform:translateY(-105%);
}

.see-btn:hover .btn-text span:last-child{
  transform:translateY(-105%);
}

/* Sustainability */
.home-sustainability{
  padding:40px 0;
  background:#f4f7f8;
}

.sustain-container{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:80px;
}

.sustain-left{
  flex:1;
}

.sustain-tag{
  font-size:11px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#076FD2;
  font-weight:700;
  margin-bottom:20px;
  display:inline-block;
}

.sustain-left h2{
  font-size:42px;
  line-height:1.2;
  margin-bottom:20px;
  color:#242B33;
}

.sustain-left h2 span{
  color:#076FD2;
}

.sustain-left p{
  font-size:15px;
  line-height:1.8;
  color:#6b7280;
  margin-bottom:25px;
}

.sustain-points{
  list-style:none;
  margin-bottom:30px;
}

.sustain-points li{
  margin-bottom:10px;
  font-size:14px;
  color:#242B33;
  position:relative;
  padding-left:20px;
}

.sustain-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  background:#076FD2;
  border-radius:50%;
}

.sustain-right{
  flex:1;
}

.sustain-right img{
  width:100%;
  height:350px;
  border-radius:20px;
  object-fit:cover;
}
/* MOBILE */
@media (max-width: 768px){
  .home-sustainability{
    padding: 60px 16px;
  }

  .sustain-container{
    flex-direction: column;     /* stack */
    gap: 30px;                  /* reduce gap */
  }

  .sustain-left{
    width: 100%;
  }

  .sustain-left h2{
    font-size: 28px;            /* scale down */
    line-height: 1.3;
  }

  .sustain-left p{
    font-size: 14px;
  }

  .sustain-points li{
    font-size: 13.5px;
  }

  /* IMAGE SECTION */
  .sustain-right{
    width: 100%;
  }

  .sustain-right img{
    width: 100%;
    height: auto;               /* 🔥 important fix */
    border-radius: 16px;
  }

}

/* SUSTAINABILITY PAGE */

.sus-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom:25px;
  background:url('../images/sus.png') center/cover no-repeat;
}

.sus-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.sus-hero-content{
  position:relative;
  z-index:2;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.sus-hero h1{
  font-size:76px;
  font-weight:800;
  color:#fff;
  font-style:italic;
  margin-bottom:10px;
  letter-spacing:1px;
  white-space:nowrap;
}

.sus-hero p{
  font-size:16px;
  line-height:1.8;
  max-width:520px;
  margin-bottom:30px;
  color:rgba(255,255,255,0.85);
}

/* SECTION SHELL */
.sust-section {
  background: var(--proc-bg, #e0f4ff);
   font-family:'Poppins', sans-serif;
  color: var(--proc-white, #2D4054);
  overflow: hidden;
}

/* INTRO BAND */
.sust-intro {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 60px 72px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px;
  border-bottom: 1px solid rgba(36,43,51,0.12);
}

.sust-intro__label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--proc-blue, #076fd2);
  font-style: italic;
  margin-bottom: 20px;
}

.sust-intro__heading {
    font-family:'Poppins', sans-serif;
  font-size: clamp(56px, 8vw, 96px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 2px;
  color: var(--proc-white, #2D4054);
  margin-bottom: 28px;
}
.sust-intro__heading em {
  font-style: italic;
  color: var(--proc-blue, #076fd2);
}

.sust-intro__body {
  font-size: 16px;
  line-height: 1.8;
  color: var(--proc-muted, rgba(0,33,76,0.755));
  max-width: 620px;
}

.sust-intro__deco {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(80px, 12vw, 160px);
  color: var(--proc-blue, #076fd2);
  opacity: 0.06;
  line-height: 1;
  user-select: none;
  white-space: nowrap;
}

/* PILLARS GRID */
.sust-pillars {
  max-width: var(--proc-max, 1140px);
  margin: 0 auto;
  padding: 64px 60px 80px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* CARD */
.sust-card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(36,43,51,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sust-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(6, 88, 164, 0) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}
.sust-card:hover::before { opacity: 1; }
.sust-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(7, 112, 210, 0.253);
}
.sust-card > * { position: relative; z-index: 1; }

/* accent variant (solar card) */
.sust-card--accent {
  background: var(--proc-blue, #076fd2);
  color: #fff;
  border-color: transparent;
}
.sust-card--accent::before {
  background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 60%);
}
.sust-card--accent:hover {
  box-shadow: 0 24px 60px rgba(7,111,210,0.35);
}
.sust-card--accent .sust-card__num,
.sust-card--accent .sust-card__title,
.sust-card--accent .sust-card__stat-num { color: #fff; }
.sust-card--accent .sust-card__desc { color: rgba(255,255,255,0.82); }
.sust-card--accent .sust-card__stat-label { color: rgba(255,255,255,0.65); }
.sust-card--accent .sust-card__tag {
  background: rgba(255,255,255,0.18);
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}
.sust-card--accent .sust-card__icon { color: rgba(255,255,255,0.8); }

.sust-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4px;
}

.sust-card__num {
  font-family: 'Poppins', sans-serif;
  font-size: 52px;
  line-height: 1;
  color: var(--proc-blue, #076fd2);
  opacity: 0.3;
  letter-spacing: 1px;
}

.sust-card__icon {
  width: 40px;
  height: 40px;
  color: var(--proc-blue, #076fd2);
  opacity: 0.7;
  flex-shrink: 0;
}
.sust-card__icon svg { width: 100%; height: 100%; }

.sust-card__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(24px, 2.5vw, 32px);
  letter-spacing: 1px;
  color: var(--proc-white, #2D4054);
  line-height: 1.1;
}

.sust-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 13px;
  border: 1px solid var(--proc-blue, #076fd2);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  font-style: italic;
  text-transform: uppercase;
  color: var(--proc-blue, #076fd2);
  width: fit-content;
}

.sust-card__desc {
  font-size: 14px;
  line-height: 1.8;
  color: var(--proc-muted, rgba(0,33,76,0.755));
  flex: 1;
}

.sust-card__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 16px;
  border-top: 1px solid rgba(36,43,51,0.08);
  margin-top: auto;
}
.sust-card--accent .sust-card__stat { border-top-color: rgba(255,255,255,0.15); }

.sust-card__stat-num {
  font-family: 'Poppins', sans-serif;
  font-size: 38px;
  line-height: 1;
  color: var(--proc-blue, #076fd2);
  letter-spacing: 1px;
}
.sust-card__stat-unit {
  font-size: 22px;
  margin-left: 2px;
}
.sust-card__stat-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--proc-muted, rgba(0,33,76,0.755));
}

/* LOOKING AHEAD BANNER */
.sust-ahead {
  background: var(--proc-white, #2D4054);
  margin: 0 60px 80px;
  border-radius: 24px;
  padding: 72px 80px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 60px;
  align-items: center;
  position: relative;
  overflow: hidden;
  max-width: calc(var(--proc-max, 1140px) - 0px);
  margin-left: auto;
  margin-right: auto;
}

/* subtle triangle watermark */
.sust-ahead::after {
  content: '';
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 300px;
  height: 300px;
  background: var(--proc-blue, #076fd2);
  opacity: 0.06;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  pointer-events: none;
}

.sust-ahead__eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--proc-blue, #076fd2);
  font-style: italic;
  margin-bottom: 20px;
}

.sust-ahead__title {
  font-family: 'Poppins', sans-serif;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: 2px;
  color: #fff;
  margin-bottom: 24px;
}
.sust-ahead__title em {
  font-style: italic;
  color: var(--proc-blue, #076fd2);
}

.sust-ahead__body {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.65);
  max-width: 520px;
}

.sust-ahead__pillars {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
}

.sust-ahead__pillar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.8);
  white-space: nowrap;
  transition: border-color 0.3s, background 0.3s;
}
.sust-ahead__pillar:hover {
  border-color: var(--proc-blue, #076fd2);
  background: rgba(7,111,210,0.12);
  color: #fff;
}

.sust-ahead__pillar-icon { font-size: 18px; }
/* MOBILE RESPONSIVE */
@media (max-width: 768px){
  /* HERO */
  .sus-hero{
    height: 220px;
    border-radius: 14px;
    margin: 10px 10px 20px;
  }

  .sus-hero-content{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 0 16px;
  }

  .sus-hero h1{
    font-size: 24px;
    margin-bottom:-18px;
    white-space: normal;   /* 🔥 prevent overflow */
  }

  .sus-hero p{
    font-size: 12px;
    max-width: 100%;
    margin-bottom: 15px;
  }

  /* INTRO */
  .sust-intro{
    grid-template-columns: 1fr;   /* stack */
    padding: 30px 16px 40px;
    gap: 20px;
  }

  .sust-intro__heading{
    font-size: 42px;
    line-height: 1;
  }

  .sust-intro__body{
    font-size: 14px;
  }

  .sust-intro__deco{
    display: none;   /* remove big background text */
  }

  /* PILLARS GRID */
  .sust-pillars{
    grid-template-columns: 1fr;   /* 2 → 1 */
    padding: 40px 16px;
    gap: 16px;
  }

  .sust-card{
    padding: 24px;
  }

  .sust-card__title{
    font-size: 22px;
  }

  .sust-card__num{
    font-size: 36px;
  }

  .sust-card__stat-num{
    font-size: 28px;
  }

  /* LOOKING AHEAD SECTION */
  .sust-ahead{
    grid-template-columns: 1fr;   /* stack */
    padding: 40px 20px;
    margin: 0 16px 50px;
    gap: 30px;
  }

  .sust-ahead__title{
    font-size: 34px;
    line-height: 1.1;
  }

  .sust-ahead__body{
    font-size: 14px;
  }

  .sust-ahead__pillars{
    width: 100%;
  }

  .sust-ahead__pillar{
    width: 100%;
    justify-content: flex-start;
    font-size: 12.5px;
    padding: 12px 16px;
  }

}
/* SUSTAINABILITY INTRO IMAGE */
.sust-intro__img-wrap {
  width: 340px;
  flex-shrink: 0;
  border-radius: 16px;
  overflow: hidden;
}

.sust-intro__img-wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
  margin-top:30px;
  margin-left:0px;
}

@media (max-width: 900px) {
  .sust-intro__img-wrap {
    display: none;
  }
}
/* RESPONSIVE */
@media (max-width: 900px) {
  .sust-pillars {
    grid-template-columns: 1fr;
    padding: 48px 24px 60px;
  }
  .sust-intro {
    grid-template-columns: 1fr;
    padding: 48px 24px 56px;
  }
  .sust-intro__deco { display: none; }
  .sust-ahead {
    grid-template-columns: 1fr;
    padding: 48px 32px;
    margin: 0 24px 60px;
    gap: 36px;
  }
  .sust-ahead__pillars {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .sust-card { padding: 28px 24px; }
  .sust-card__num { font-size: 36px; }
  .sust-ahead__pillar { padding: 10px 16px; font-size: 12px; }
}

/* 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;
  }

 @media (max-width: 768px){
  .about-left{
    width: 100%;
    display: flex;
    justify-content: center;   /* 🔥 centers horizontally */
  }

  .about-md-image{
    width: 90%;                /* optional: keeps nice margin */
    max-width: 320px;          /* prevents it from becoming too wide */
    height: 220px;
    border-radius: 14px;
    margin: 0 auto;            /* fallback centering */
  }

}
/* 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; }
}
@media (max-width: 768px){
  .about-row{
    flex-direction:column;
    align-items:center;
  }

  .about-md-image{
    width:260px;
    height:260px;
  }

  .about-slider{
    height:auto;
  }

  .md-about{
    margin-top:40px;
    padding:0 20px;
  }

  .md-about h3{
    font-size:22px;
  }

  .md-about p{
    font-size:15px;
  }

}

/* 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: 24px; margin-left: -18px; }
  .product-hero .hero-content p { font-size: 12px; margin-left: 18px; margin-top: 5px;}

  .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: 24px; }
}

/* 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 */

    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:50%;
  }

  .carousel-arrow.right{
    right:6px;
    top:30%;
  }

}

/* 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 */
/* Bottom actions row */
.app-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:40px;
  gap:20px;
}

/* View More button */
.app-view-more{
  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;
}
@media (max-width:768px){

  .app-actions{
    flex-direction:column;
    align-items:flex-start;
  }

}
/* 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.8;
  }
}

/* 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 {
    display: none !important; /* hide list on mobile — heading links to section instead */
  }

  /* 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 {
    display: none !important; /* hidden on mobile */
  }

  .footer-logo-sm img {
    height: 54px !important;
  }
}
/* about.css */
.about-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom: 25px;
  background:url('../images/factory_machinery.png') center/cover no-repeat;
}

.about-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.about-hero-content{
  position:relative;
  z-index:2;
  width:70%;
  max-width:none;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.about-hero h1{
  font-size:84px;
  font-weight:800;
  color:#fff;
  font-style: italic;
  margin-bottom: 10px;
  letter-spacing:1px;
  white-space:nowrap;
}

.about-hero p{
  font-size:18px;
  color:rgba(255,255,255,0.85);
  line-height:1.8;
  max-width:920px;
  margin-bottom:40px;
}
/* STORY LINE */
.story-line-container{
  width:1200px;
  max-width:92%;
  padding:40px auto;
  margin:auto;
}
.story-line-container h2{
  font-weight:700;
  margin-bottom:40px;
}
.about-stry-img{
  margin-top:-25px;
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

/* PREMIUM ABOUT */

.about-section,
.about-capabilities,
.about-features,
.about-why,
.about-applications{
  padding:40px 0;
  position:relative;
}

/* subtle section divider */
.about-section::after,
.about-capabilities::after,
.about-features::after,
.about-why::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:80%;
  height:1px;
  background:linear-gradient(to right, transparent, #e5e7eb, transparent);
}

/* CONTAINER */

.about-container{
  max-width:1200px;
  width:92%;
  margin:0 auto;
}

/* GRID */

.about-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:80px;
  align-items:center;
}

/* TEXT */

.about-eyebrow{
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#076FD2;
  font-weight:600;
  margin-bottom:12px;
  display:inline-block;
}
.about-text  span{
  color: #076FD2;   
  font-style: italic;
}
.about-text h2{
  font-size:clamp(32px, 3vw, 44px);
  margin-bottom:20px;
  line-height:1.2;
  font-weight:700;
  color:#111827;
}

.about-text p{
  color:#6b7280;
  margin-bottom:16px;
  line-height:1.8;
  font-size:15px;
  max-width:520px;
}

/* IMAGE */

.about-image{
  position:relative;
}

.about-image img{
  width:100%;
  height: 380px;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
  transform:scale(1.02);
  transition:transform 0.6s ease;
}

.about-image:hover img{
  transform:scale(1.06);
}

/* subtle glow */
.about-image::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background:radial-gradient(circle at 70% 30%, rgba(7,111,210,0.15), transparent 60%);
}

/* CAPABILITIES */

.section-title{
  font-size:32px;
  font-weight:700;
  margin-bottom:40px;
}

.cap-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.cap-card{
  background: #0770d239;
  padding:26px;
  border-radius:16px;
  transition:all 0.35s ease;
  border:1px solid #f1f5f9;
  position:relative;
  overflow:hidden;
}

/* gradient hover glow */
.cap-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(56, 124, 187, 0.325), transparent);
  opacity:0;
  transition:0.4s;
}

.cap-card:hover::before{
  opacity:1;
}

.cap-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(11, 86, 166, 0.489);
}

.cap-card h3{
  margin-bottom:10px;
  font-size:16px;
}

/* FEATURES */

.features-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.features-grid h2{
  color: #076FD2;
    font-style: italic;
}

.feature-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.feature-list li{
  background:#0770d220;
  padding:12px 14px;
  border-radius:10px;
  font-size:14px;
  transition:0.3s;
}

.feature-list li:hover{
  background:#0770d248;
  transform:translateX(6px);
}

/* WHY */

.about-why{
  background:#c8e4ff;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.why-card{
  background:#ffffff;
  padding:26px;
  border-radius:16px;
  transition:all 0.35s ease;
  border:1px solid #f1f5f9;
}

.why-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 60px rgba(0, 0, 0, 0.286);
}

.why-card h4{
  margin-bottom:10px;
  font-size:16px;
  color:#076FD2;
    font-style: italic;
    }

/* APPLICATION */

.about-app-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.about-app-grid span{
  background:#ffffff;
  padding:14px;
  border-radius:12px;
  text-align:center;
  font-size:14px;
  border:1px solid #f1f5f9;
  transition:0.3s;
}

.about-app-grid span:hover{
  background:#076FD2;
  color:#fff;
  transform:translateY(-4px);
}

/* RESPONSIVE */

@media(max-width:1024px){
  .about-grid{
    grid-template-columns:1fr;
  }

  .cap-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .why-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .app-grid{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:600px){
  .feature-list{
    grid-template-columns:1fr;
  }

  .cap-grid,
  .why-grid,
  .app-grid{
    grid-template-columns:1fr;
  }

}

/* RESPONSIVE — MOBILE (appended, no existing code changed) */

@media (max-width: 768px) {
  /* Hero */
  .about-hero {
    height: 260px;
    margin: 8px;
    border-radius: 14px;
    margin-bottom: 16px;
  }

  .about-hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 20px;
    width: 100%;
  }

  .about-hero h1 {
    font-size: 24px;
    white-space: normal;
    margin-bottom: -18px;
  }

  .about-hero p {
    font-size: 12px;
    max-width: 100%;
    margin-bottom: 20px;
  }

  /* Sections */
  .about-section,
  .about-capabilities,
  .about-features,
  .about-why,
  .about-applications {
    padding: 50px 0;
  }

  /* Grid → single column */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .features-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .cap-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .why-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .about-app-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  /* Text */
  .about-text p {
    max-width: 100%;
  }

  /* Image */
  .about-image img {
    height: 260px;
  }

  /* Section title */
  .section-title {
    font-size: 24px;
    margin-bottom: 28px;
  }
}

@media (max-width: 480px) {
  .about-hero {
    height: 190px;
  }

  .about-hero h1 {
    font-size: 30px;
  }

  .cap-grid,
  .why-grid,
  .about-app-grid {
    grid-template-columns: 1fr;
  }

  .feature-list {
    grid-template-columns: 1fr;
  }

  .about-container {
    width: 96%;
  }
}
/* MOBILE */
@media (max-width: 768px){
  .feature-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 0;
  }

  .feature-list li{
    width: auto;                 /* 🔥 remove full width */
    display: inline-flex;
    align-items: center;
    justify-content: center;     /* 🔥 center text */
    padding: 10px 18px;
    border-radius: 12px;
    background: #b8c7d6;
    font-size: 13px;
    text-align: center;          /* 🔥 center text fallback */
    white-space: nowrap;         /* keep in one line */
  }

}
@media (max-width: 768px) {
  .story-line-img img {
    height: 180px;      /* 🔥 reduces that bulky look */
    width:80%;
  }
}
/* contact.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
    font-family:'Poppins', sans-serif;
  color: #333;
  line-height: 1.6;
  background: #ffffff;
}

/* contact-hero SECTION */
.contact-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom: 25px;
  background:url('../images/factory_machinery.png') center/cover no-repeat;
}

.contact-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.contact-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.contact-hero h1{
  font-size:84px;
  font-weight:800;
  color:#fff;
  font-style: italic;
  margin-bottom: 10px;
  letter-spacing:1px;
  white-space:nowrap;
}

.contact-hero p{
  font-size:18px;
  color:rgba(255,255,255,0.85);
  line-height:1.8;
  max-width:420px;
  margin-bottom:40px;
}
/* ================= CONTACT FORM ================= */
.contact-form-section {
  background: white;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
 
.contact-form-section h2 {
  font-size: 32px;
  margin-bottom: 35px;
  color: #076FD2;
  font-style: italic;
}
 
.form-group {
  margin-bottom: 25px;
}
 
.form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #076FD2;
  font-style: italic;
}
 
.form-group label .required {
  color: #e53e3e;
  margin-left: 3px;
}
 
.form-group input,
.form-group select,
.form-group textarea{
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 15px;
  font-family: inherit;
  transition: all 0.3s;
  background: white;
  cursor: text; /* FIX cursor */
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:#076FD2;
  font-style: italic;
  box-shadow:0 0 0 3px rgba(7,111,210,0.15);
}
 
.form-group textarea {
  resize: vertical;
  min-height: 140px;
}

/* ===== FORM LAYOUT ===== */
#contactForm{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:20px;
}

#contactForm .form-group:nth-child(1),
#contactForm .form-group:nth-child(2),
#contactForm .form-group:nth-child(3),
#contactForm .form-group:nth-child(4){
  grid-column:1;
}

#contactForm .form-group:nth-child(5){
  grid-column:2;
  grid-row:1;
}

#contactForm .form-group:nth-child(6){
  grid-column:2;
  grid-row:2 / span 3;
}

/* BUTTON BELOW MESSAGE */
.submit-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 0px 7px 20px;
  border-radius:40px;
  background:#076FD2;
  color:white;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  overflow:hidden;
  border:none;
  transition:background 0.3s, gap 0.3s;

  grid-column:2;     /* move to right column */
  grid-row:5;        /* place below message */
  margin-top:15px;
}
/* ===== FIX BUTTON POSITION + WIDTH ===== */

/* keep button in right column beside organization */


.form-actions{
  grid-column:2;
  grid-row:4;
  display:flex;
  align-items:center;
  gap:20px;
}

.submit-btn{
  width:auto;
}

#successMessage{
  width:auto;
  margin:0;
}
/* ensure it aligns properly under message */
#contactForm .form-group:nth-child(6){
  grid-column:2;
  grid-row:2 / span 3;
}

/* keep success message full width */

.submit-btn:hover{
  background:#0658A9;
  gap:16px;
  font-style: italic;
}

.submit-btn .btn-text{
  position:relative;
  overflow:hidden;
  height:1.2em;
  display:flex;
  flex-direction:column;
}

.submit-btn .btn-text span{
  display:block;
  line-height:1.2em;
  transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.submit-btn .btn-text span:last-child{
  position:absolute;
  top:100%;
  left:0;
}

.submit-btn:hover .btn-text span:first-child{
  transform:translateY(-100%);
}

.submit-btn:hover .btn-text span:last-child{
  transform:translateY(-100%);
}

.submit-btn i {
  width:64px;
  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;
}

.submit-btn:hover i{
  transform:rotate(0deg);
}

.success-message{
  display:none;
  background:#e6f4ea;
  color:#1e7e34;
  padding:12px 16px;
  border-radius:10px;
  margin-bottom:10px;
  margin-top:20px; 
  font-size:14px;
  align-items:center;
  gap:8px;
}

.success-message.show{
  display:flex;
}

#successMessage{
  grid-column:1 / -1;
}

/* ================= CORPORATE OFFICES ================= */
.corporate-offices {
  background: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
 
.corporate-offices h2 {
  font-size: 32px;
  margin-bottom: 35px;
  color: #076fd2;
  font-style: italic;
}
 
.office-card {
  margin-bottom: 0px;
   padding-left:100px;
}
 
.office-card:last-child {
  margin-bottom: 0;
}
 
.office-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 5px;
  color: #076fd2;
  font-style: italic;
}
 
.office-card p {
  font-size: 14px;
  color: #555;
  margin-bottom: 5px;
  line-height: 1.8;
}
 
.map-container {
  margin-top: 15px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  height: 280px;
  width: 480px;
  position: relative;
  background: #f0f0f0;
}
 
.map-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.open-maps-btn {
  position: absolute;
  top: 12px;
  left: 12px;
  background: white;
  border: none;
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #0066cc;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  z-index: 10;
  transition: all 0.3s;
}
 
.open-maps-btn:hover {
  background: #0066cc;
  color: white;
}
.offices-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

/* force maps to next row */
.offices-grid .office-card:nth-child(3),
.offices-grid .office-card:nth-child(4){
  grid-row:2;
}

.office-contact-info{
  margin-top: 20px;
}

/* RESPONSIVE */
@media (max-width:768px){
  #contactForm{
    grid-template-columns:1fr;
  }

  #contactForm .form-group{
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .submit-btn{
    grid-column:1;
  }
}

/* RESPONSIVE — MOBILE ONLY (appended, no existing code changed) */
@media (max-width: 768px) {
  /* Hero */
  .contact-hero {
    height: 220px;
    margin: 8px;
    border-radius: 14px;
  }

  .contact-hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 20px;
  }

  .contact-hero h1 {
    font-size: 24px;
    white-space: normal;
    margin-bottom: -15px;
  }

  .contact-hero p {
    font-size: 12px;
    max-width: 100%;
    margin-bottom: 20px;
  }

  /* Contact form section */
  .contact-form-section {
    padding: 28px 16px;
  }

  .contact-form-section h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  /* Form grid → single column (overrides the 2-col grid) */
  #contactForm {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  #contactForm .form-group:nth-child(1),
  #contactForm .form-group:nth-child(2),
  #contactForm .form-group:nth-child(3),
  #contactForm .form-group:nth-child(4),
  #contactForm .form-group:nth-child(5),
  #contactForm .form-group:nth-child(6) {
    grid-column: 1;
    grid-row: auto;
  }

  .submit-btn {
    grid-column: 1;
    grid-row: auto;
    margin-top: 10px;
    width: 100%;
    justify-content: center;
  }

  .form-actions {
    grid-column: 1;
    grid-row: auto;
    flex-direction: column;
    align-items: flex-start;
  }

  /* Offices grid → single column */
  .offices-grid {
    grid-template-columns: 1fr;
  }

  .offices-grid .office-card:nth-child(3),
  .offices-grid .office-card:nth-child(4) {
    grid-row: auto;
  }

  .office-card {
    padding-left: 0;
  }

  .corporate-offices {
    padding: 20px 16px;
  }

  .corporate-offices h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  /* Map */
  .map-container {
    width: 100%;
    height: 220px;
  }
}

@media (max-width: 480px) {
  .contact-hero h1 {
    font-size: 24px;
  }

  .contact-hero {
    height: 190px;
  }
}
/* manufacturing.css */
.proc-triangles-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:visible;
}

.proc-triangles-bg svg{
  width:100%;
  height:8%;
  display:block;
  margin-right:-150px;
}

.proc-triangles-bg{
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,0.086) 25%,
    rgba(0,0,0,0.150) 55%,
    rgba(0,0,0,0.300) 65%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,0.086) 25%,
    rgba(0,0,0,0.150) 55%,
    rgba(0,0,0,0.300) 65%
  );
}

.proc-triangles-bg polygon{
  opacity:0.9;
}

/* MANUFACTURING HERO */

.manu-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom:25px;
  background:url('../images/factory_machinery.png') center/cover no-repeat;
}

.manu-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.manu-hero-content{
  position:relative;
  z-index:2;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.manu-hero h1{
  font-size:76px;
  font-weight:800;
  color:#fff;
  font-style:italic;
  margin-bottom:10px;
  letter-spacing:1px;
  white-space:nowrap;
}

.manu-hero p{
  font-size:16px;
  line-height:1.8;
  max-width:520px;
  margin-bottom:30px;
  color:rgba(255,255,255,0.85);
}

/* PROCESS — Cinematic Storytelling Section */

:root {
  --proc-bg:        #e0f4ff;
  --proc-surface:   #ffffff;
  --proc-border:    #242b33;
  --proc-blue:      #076fd2;
  --proc-blue-dim:  #0770d24f;
  --proc-blue-glow: #0770d227;
  --proc-white:     #2D4054;
  --proc-muted:     rgba(0,33,76,0.755);
  --proc-accent:    #e05c2a;
  --proc-radius:    16px;
  --proc-max:       1140px;
}

.proc-cursor-glow {
  pointer-events:none;
  position:fixed;
  top:0; left:0;
  width:480px; height:480px;
  border-radius:50%;
  background:radial-gradient(circle, var(--proc-blue) 0%, transparent 70%);
  opacity:0.09;
  transform:translate(-50%,-50%);
  z-index:0;
  mix-blend-mode:screen;
  will-change:transform;
}

.proc-section {
  position:relative;
  background:var(--proc-bg);
  overflow:hidden;
  
  color:var(--proc-white);
}

.proc-orb {
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(90px);
  will-change:filter, transform; /* isolates blur to its own GPU layer —
                                    prevents blur recalc leaking into page
                                    repaints during parallax scroll */
}

/* INTRO */
.proc-intro {
  position: relative;
  z-index: 2;
  padding: 0px 60px 80px;
  max-width: var(--proc-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 48px;
}

/* text column — all existing children target this wrapper */
.proc-intro__text {
  display: flex;
  flex-direction: column;
}

/* image column */
.proc-intro__img-wrap {
  width: 300px;
  flex-shrink: 0;
  border-radius: 16px;
  overflow: hidden;
}

.proc-intro__img-wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
  margin-top:50px;
}

.proc-intro__line {
  display:block;
  height:3px;
  width:72px;
  background:var(--proc-blue);
  margin-bottom:28px;
  transform:scaleX(0);
  transform-origin:left;
  visibility:hidden;
}

.proc-intro__label {
  display:inline-block;

  font-size:11px;
  font-weight:600;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--proc-blue);
  font-style:italic;
  margin-bottom:20px;
  transform:translateY(20px);
}

.proc-intro__heading {

  font-size:clamp(56px, 8vw, 96px);
  font-weight:800;
  line-height:0.92;
  letter-spacing:2px;
  color:var(--proc-white);
  margin-bottom:28px;
  transform:translateY(30px);
}

.proc-intro__heading em {
  font-style:italic;
  color:var(--proc-blue);
}

.proc-step__glyph img{
  width:220px;
  height:220px;
  object-fit:cover;
  border-radius:10px;
}

.proc-intro__sub {
  font-size:17px;
  line-height:1.8;
  max-width:560px;
  margin-bottom:0;
  color:var(--proc-muted);
  transform:translateY(20px);
}

/* STEPS WRAPPER */
.proc-steps-wrap {
  position:relative;
  z-index:2;
  padding:0 40px 40px;
  max-width:var(--proc-max);
  margin:0 auto;
}

#proc-connector-svg {
  position:absolute;
  left:110px;
  top:0;
  width:4px;
  height:100%;
  pointer-events:none;
  z-index:1;
  overflow:visible;
}

#proc-connector-svg path {
  stroke:#5b5b5b55;
  stroke-width:2;
  /* drop-shadow removed — it forced a full SVG filter repaint on every
     animation frame while strokeDashoffset was being tweened (~60x/sec).
     That single filter was responsible for the mid-section stutter. */
}

/* INDIVIDUAL STEP */
.proc-step {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:80px 1fr auto;
  align-items:start;
  gap:0 36px;
  padding:52px 0;
  border-bottom:1px solid var(--proc-border);
  cursor:default;
  transition:background 0.3s;
}
.proc-step:last-child { border-bottom:none; }
.proc-step__num {

  font-size:64px;
  line-height:1;
  color:var(--proc-blue);
  
  letter-spacing:1px;
  align-self:start;
  transition:opacity 0.3s;
  margin-left:-50px;
}


.proc-step__body { display:flex; flex-direction:column; gap:10px; }

.proc-step__bar {
  height:2px;
  width:48px;
  background:var(--proc-blue);
  margin-bottom:4px;
  transform:scaleX(0);
  transform-origin:left;
}

.proc-step__name {

  font-size:clamp(32px, 4.5vw, 54px);
  letter-spacing:1.5px;
  color:var(--proc-white);
  line-height:1;
}

.proc-step__desc {
  font-size:15px;
  line-height:1.8;
  color:var(--proc-muted);
  max-width:520px;
}

.proc-step__tag {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
  padding:5px 14px;
  border:1px solid var(--proc-blue);
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  letter-spacing:2px;
  font-style:italic;
  text-transform:uppercase;
  color:var(--proc-blue);
  width:fit-content;
}

.proc-step__glyph {
  font-size:42px;
  line-height:1;
  opacity:0.18;
  align-self:center;
}
.proc-step:hover .proc-step__glyph { opacity:0.55; filter:grayscale(0); }

/* BRANCH */
.proc-branch {
  position:relative;
  z-index:2;
  max-width:var(--proc-max);
  margin:0 auto;
  padding:48px 60px;
  border-top:1px solid var(--proc-border);
  border-bottom:1px solid var(--proc-border);
}

.proc-branch__title {

  font-size:13px;
  letter-spacing:5px;
  color:var(--proc-blue);
  font-style:italic;
  text-transform:uppercase;
  margin-bottom:36px;
}

.proc-branch__grid {
  display:grid;
  grid-template-columns:1fr 80px 1fr;
  align-items:center;
}

.proc-branch__arm {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.proc-branch__arm--right { align-items:flex-end; text-align:right; }

.proc-branch__node {

  font-size:26px;
  letter-spacing:1px;
  color:var(--proc-white);
  padding:14px 22px;
  border:1px solid var(--proc-border);
  border-radius:var(--proc-radius);
  background:var(--proc-surface);
}

.proc-branch__node--blue {
  border-color:var(--proc-blue);
  color:var(--proc-blue);
  background:var(--proc-blue-dim);
}

.proc-branch__label {
  font-size:12px;
  letter-spacing:1px;
  color:var(--proc-muted);
  transform:translateY(8px);
}

.proc-branch__center {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.proc-branch__fork-line {
  width:2px;
  height:60px;
  background:linear-gradient(to bottom, var(--proc-blue), transparent);
  opacity:0.5;
}

.proc-branch__fork-icon {
  font-size:22px;
  color:var(--proc-blue);
  opacity:0.7;
}

/* STATS */

/* BENTO */
.proc-bento{
  padding:0px 0;
}

.bento-grid {
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.bento-card {
  background: #fff;
  border-radius: 18px;
  padding: 40px;
  position: relative;        /* FIX: ::before uses position:absolute inset:0 —
                                without this it escapes the card bounds and
                                intercepts mouse events elsewhere, making hover
                                feel random and only sometimes working */
  overflow: hidden;          /* clips ::before gradient to the card shape */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bento-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.bento-card h2{
  font-size:28px;
  font-weight:800;
  color:#076FD2;
 line-height: 1.4;
}

.bento-card span{
  display:block;
  font-size:18px;
  font-weight:700;
  color:#076FD2;
  margin-bottom:10px;
}

.bento-card p{
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#5b6b7c;
}

.bento-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(7,111,210,0.08), transparent);
  opacity:0;
  transition: opacity 0.3s ease;
  z-index: 0;        /* sits behind card content */
  pointer-events: none; /* never intercepts mouse events */
}
.bento-card:hover::before{ opacity:1; }

/* keep all direct children above the ::before overlay */
.bento-card > * {
  position: relative;
  z-index: 1;
}
@media (max-width: 600px) {
  .bento-grid {
    grid-template-columns: 1fr;
  }
}
/* OUTRO */
.proc-outro {
  position:relative;
  z-index:2;
  padding:40px 60px 100px;
  max-width:var(--proc-max);
  margin:0 auto;
  text-align:center;
}

.proc-outro__eyebrow {
  font-size:11px;
  font-weight:600;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--proc-blue);
  font-style:italic;
  margin-bottom:24px;
}

.proc-outro__title {
  font-weight: 900;
  font-size:clamp(44px, 6vw, 76px);
  letter-spacing:2px;
  line-height:0.95;
  color:#2D4054;
  margin-bottom:28px;
}

.proc-outro__body {
  font-size:17px;
  line-height:1.8;
  color:var(--proc-muted);
  max-width:560px;
  margin:0 auto 48px;
}

.proc-outro__badges {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

.proc-outro__badge {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border:1px solid var(--proc-border);
  border-radius:var(--proc-radius);
  background:var(--proc-surface);
  font-size:13px;
  font-weight:600;
  letter-spacing:1px;
  color:var(--proc-muted);
  transition:border-color 0.3s, color 0.3s;
}
.proc-outro__badge:hover {
  border-color:var(--proc-blue);
  color:var(--proc-blue);
}
.proc-outro__badge .badge-icon { font-size:20px; }

/* PRODUCT SLIDER */

.vigro-product-slider{
  padding:40px 0 0;
}

/* Outer breakout — clips the track */
.product-slider-full{
  width:110vw;
  overflow:hidden;       /* ONLY overflow:hidden here — no scroll */
  position:relative;
}

/* Wrapper — NO overflow/scroll; just aligns content & handles cursor */
.product-slider-wrapper{
  padding-left:calc((110vw - 1840px) / 2);
  cursor:grab;
  user-select:none;      /* prevents text highlight on drag */
  -webkit-user-select:none;
}
.product-slider-wrapper:active{
  cursor:grabbing;
}

/* Track — GPU-composited, no layout shift */
.product-slider{
  display:flex;
  gap:20px;
  will-change:transform;
}

/* CARD */
.product-slide{
  flex:0 0 auto;
  width:400px;
  background:#fff;
  border-radius:16px;
  padding:20px;
  text-decoration:none;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.product-slide img{
  width:100%;
  height:280px;
  object-fit:cover;
  border-radius:12px;
  margin-bottom:12px;
  pointer-events:none;   /* stops browser native image drag */
  user-select:none;
  -webkit-user-select:none;
}

.product-slide h3{
  font-size:16px;
  color:#1c2b3a;
}

.product-slide:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 40px rgba(0,0,0,0.08);
}
.proc-view-more-wrap{display: none;}
@media (max-width: 768px) {
  .proc-hidden-mobile {
    display: none;
  }

  .proc-view-more-wrap {
    display: block;
    text-align: center;
    margin-top: 20px;
  }

  .proc-view-more-wrap button {
    padding: 10px 20px;
    border-radius: 30px;
    border: none;
    background: #076FD2;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
  }
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .proc-intro,
  .proc-steps-wrap,
  .proc-branch,
  .proc-stats,
  .proc-outro { padding-left:24px; padding-right:24px; }

  .proc-step {
    grid-template-columns:56px 1fr;
  }
  .proc-step__glyph { display:none; }
  .proc-step__num { font-size:44px; }

  #proc-connector-svg { left:72px; }

  .proc-branch__grid { grid-template-columns:1fr 48px 1fr; }

  .proc-stats__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 480px) {
  .proc-stats__grid { grid-template-columns:1fr; }
  .proc-branch__grid { display:flex; flex-direction:column; gap:24px; }
  .proc-branch__arm--right { align-items:flex-start; text-align:left; }
}

/* EXTENDED MOBILE RESPONSIVE — appended (original CSS untouched) */

/* HERO */
@media (max-width: 768px) {
  .manu-hero {
    height: 220px;
    margin: 8px;
    border-radius: 14px;
    margin-bottom: 18px;
    align-items: flex-end;
  }

  .manu-hero-content {
    padding: 0 20px 18px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .manu-hero h1 {
    font-size: 24px;
    white-space: normal;
    margin-bottom: -14px;
  }

  .manu-hero p {
    font-size: 12px;
    margin-bottom: -5px;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .manu-hero {
    height: 180px;
    margin: 6px;
    border-radius: 10px;
  }

  .manu-hero h1 {
    font-size: 24px;
  }

  .manu-hero p {
    font-size: 10px;
    line-height: 1.8;
  }
}

/* PROCESS INTRO */
@media (max-width: 768px) {
  .proc-intro {
    padding: 28px 24px 48px;
    grid-template-columns: 1fr;   /* stack text above, hide image */
  }

  .proc-intro__img-wrap {
    display: none;                /* hide on mobile — text only */
  }

  .proc-intro__heading {
    font-size: clamp(40px, 11vw, 64px);
  }

  .proc-intro__sub {
    font-size: 15px;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .proc-intro__heading {
    font-size: clamp(34px, 13vw, 52px);
  }

  .proc-intro__label {
    font-size: 10px;
  }
}

/* PROCESS STEPS */
@media (max-width: 768px) {
  .proc-steps-wrap {
    padding: 0 24px 50px;
  }

  .proc-step {
    gap: 0 20px;
    padding: 36px 0;
  }

  .proc-step__name {
    font-size: clamp(26px, 6vw, 40px);
  }

  .proc-step__desc {
    font-size: 14px;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .proc-step {
    grid-template-columns: 44px 1fr;
    gap: 0 14px;
    padding: 28px 0;
  }

  .proc-step__num {
    font-size: 36px;
    margin-left: -10px;
  }

  .proc-step__name {
    font-size: clamp(22px, 7vw, 34px);
  }

  #proc-connector-svg {
    left: 54px;
  }
}

/* BRANCH */
@media (max-width: 768px) {
  .proc-branch {
    padding: 32px 24px;
  }

  .proc-branch__node {
    font-size: 18px;
    padding: 10px 14px;
  }
}

/* BENTO GRID */
@media (max-width: 1024px) {
  .bento-grid {
    margin-right: 0;
    grid-template-columns: repeat(6, 1fr);
    padding: 0 24px;
  }

  .bento-big  { grid-column: span 6; grid-row: span 1; }
  .bento-mid  { grid-column: span 3; }
  .bento-wide { grid-column: span 3; }

  .bento-card:not(.bento-big):not(.bento-mid):not(.bento-wide) {
    grid-column: span 3;
  }
}

@media (max-width: 768px) {
  .proc-bento {
    padding: 40px 0;
  }

    .bento-grid{
    grid-template-columns: repeat(3, 1fr);
    gap:10px;
  }

  /* Keep big + 892 full width */
  .bento-big,
  .bento-892{
    grid-column: span 3;
  }

  /* 👇 These 3 become 1 column each */
  .bento-card:not(.bento-big):not(.bento-892){
    grid-column: span 1;
  }

  .bento-card {
    padding: 24px 20px;
    border-radius: 14px;
    z-index: 5;
  }

  .bento-card h2 {
    font-size: 34px;
  }

  .bento-card span {
    font-size: 20px;
  }

  .bento-card p {
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  .bento-grid {
    grid-template-columns: 21fr;
    gap: 10px;
  }

  .bento-big,
  .bento-mid,
  .bento-wide,
  .bento-card:not(.bento-big):not(.bento-mid):not(.bento-wide) {
    grid-column: span 1;
  }
}

/* PRODUCT SLIDER */
@media (max-width: 768px) {
  .vigro-product-slider {
    padding: 24px 0 0;
  }

  .product-slider-full {
    width: 100vw;
  }

  .product-slider-wrapper {
    padding-left: 16px;
  }

  .product-slide {
    width: 260px;
  }

  .product-slide img {
    height: 180px;
  }

  .product-slide h3 {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .product-slide {
    width: 220px;
    padding: 14px;
  }

  .product-slide img {
    height: 150px;
    border-radius: 8px;
  }
}

/* STEP GLYPH IMAGE */
@media (max-width: 768px) {
  .proc-step__glyph img {
    width: 120px;
    height: 120px;
  }
}

/* OUTRO */
@media (max-width: 768px) {
  .proc-outro {
    padding: 32px 24px 60px;
  }

  .proc-outro__title {
    font-size: clamp(36px, 9vw, 56px);
  }

  .proc-outro__body {
    font-size: 15px;
    max-width: 100%;
  }

  .proc-outro__badges {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .proc-outro__badge {
    padding: 10px 20px;
    font-size: 12px;
  }
}

/* TRIANGLES BG */
@media (max-width: 768px) {
  .proc-triangles-bg svg {
    height: 6%;
    margin-right: 0;
  }
}

/* CURSOR GLOW (disable on touch) */
@media (hover: none) {
  .proc-cursor-glow {
    display: none;
  }
}

/* BENTO SMALL CARDS — 3 IN 1 ROW ON MOBILE (appended) */
@media (max-width: 480px) {
  /* Fix the typo (21fr → 3 cols) and keep 3-col grid */
  .bento-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  /* Big cards stay full width */
  .bento-big,
  .bento-mid,
  .bento-892 {
    grid-column: span 3 !important;
  }

  /* 130+, 2, 5 — each takes 1 column → 3 in a row */
  .bento-card:not(.bento-big):not(.bento-mid):not(.bento-892) {
    grid-column: span 1 !important;
    padding: 16px 10px !important;
  }

  .bento-card:not(.bento-big):not(.bento-mid):not(.bento-892) h2 {
    font-size: 24px !important;
  }

  .bento-card:not(.bento-big):not(.bento-mid):not(.bento-892) p {
    font-size: 10px !important;
  }
}

/* BENTO-BIG INNER CARDS — 2 IN 1 ROW ON MOBILE */
@media (max-width: 768px) {
  .bento-big {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .bento-big .bento-card {
    grid-column: span 1 !important;
    margin: 0 !important;
  }
}

/* BENTO-892 CENTERED CONTENT */
.bento-892 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* hide by default */
.prod-arrow{
  display:none;
}

/* mobile only */
@media (max-width: 768px){
  .product-slider-full{
    position:relative;
  }

  .prod-arrow{
    display:flex;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:36px;
    border-radius:50%;
    border:none;
    background:rgba(0,0,0,0.5);
    color:#fff;
    font-size:18px;
    z-index:10;
    align-items:center;
    justify-content:center;
    cursor:pointer;
  }

  .prod-arrow.left{ left:8px; }
  .prod-arrow.right{ right:8px; }

}
/* pac.css */
/* PAC */

.pac-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom:25px;
  background:url('../images/oil-dip.webp') center/cover no-repeat;
}

.pac-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.pac-hero-content{
  position:relative;
  z-index:2;
  width:70%;
  max-width:none;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.pac-hero h1{
  font-size:74px;
  font-weight:800;
  color:#fff;
  font-style:italic;
  margin-bottom:20px;
  letter-spacing:1px;
  white-space:nowrap;
  line-height:1.1;
}

.pac-hero p{
  font-size:18px;
  color:rgba(255,255,255,0.85);
  line-height:1.8;
  max-width:420px;
  margin-bottom:40px;
}

/* PACKAGING PAGE */

.pac-section{
  padding:20px 0;
  background:#fff;
}

.pac-container{
  max-width:1700px;
  width:70%;
  margin:auto;
}

/* QUALITY PROMISE */

.pac-section-inner{
  display:flex;
  align-items:center;
  gap:60px;
}

.pac-title{
  font-size:28px;
  font-weight:700;
  margin-bottom:20px;
  color:#076fd2;
  font-style:italic;
}

.pac-text{
  font-size:14px;
  color:#6b7280;
  line-height:1.7;
  margin-bottom:14px;
}

.pac-list{
  margin-top:15px;
}

.pac-list li{
  font-size:14px;
  margin-bottom:10px;
  padding-left:18px;
  position:relative;
  color:#374151;
}

.pac-list li::before{
  content:"";
  width:6px;
  height:6px;
  background:#2d4054;
  border-radius:50%;
  position:absolute;
  left:0;
  top:7px;
}

/* PACKAGING TYPES */

.pac-types{
  padding:90px 0;
  background:#ffffff;
}

/* PACKAGING DETAILS */

.pac-details{
  padding:100px 0;
  background:#cdeaff;
}
.badge-icon i{
  font-size:22px;
  color:#076fd2;
}
/* RESPONSIVE (MOBILE + WEBVIEW) */

/* TABLET (1024px and below) */
@media (max-width:1024px){
  .pac-container{
    width:90%;
  }

  .pac-hero-content{
    width:100%;
    flex-direction:column;
    gap:20px;
    padding:0 20px;
  }

  .pac-hero h1{
    font-size:48px;
    white-space:normal;
  }

  .pac-section-inner{
    flex-direction:column;
    gap:30px;
  }

}

/* MOBILE (768px and below) */
@media (max-width:768px){
  /* HERO */
 .pac-hero{
    height: 220px;
    margin: 8px;
    border-radius: 14px;
  }

  .pac-hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 20px;
  }

   .pac-hero h1{ 
    font-size: 10px;
    white-space: normal;
    margin-bottom: 4px;
  }

  .pac-hero p{
    font-size: 4px;
    max-width: 100%;
    margin-bottom: 20px;
  }
  /* CONTENT */
  .pac-title{
    font-size:22px;
  }

  .pac-text{
    font-size:13px;
  }

  .pac-list li{
    font-size:13px;
  }

}

/* SMALL MOBILE (480px and below) */
@media (max-width:480px){
  .pac-hero{
    height:220px;
  }

  .pac-hero h1{
    font-size:26px;
  }

  .pac-hero p{
    font-size:13px;
  }

  .pac-container{
    width:92%;
  }

}
/* qac.css */
.qac-hero{
    position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom: 25px;
  background:url('../images/factory_machinery.png') center/cover no-repeat;
}

.qac-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.qac-hero-content{
 position:relative;
  z-index:2;
  width:70%;
  max-width:none;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.qac-hero h1{
  font-size:74px;
  font-weight:800;
  color:#fff;
  font-style: italic;
  margin-bottom: 20px;
  letter-spacing:1px;
  white-space:nowrap;
  line-height: 1.1;
}

.qac-hero p{
 font-size:18px;
  color:rgba(255,255,255,0.85);
  line-height:1.8;
  max-width:420px;
  margin-bottom:40px;
}

/* QUALITY PAGE */

.qac-section{
  padding:20px 0;
  background:#fff ;
}

.qac-container{
  max-width:1700px;
  width:70%;
  margin:auto;
}

/* STATS STRIP */

.stats-strip{
  background:#103e6a;
  color:#fff;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.stat-item{
  text-align:center;
  padding:28px 10px;
  border-right:1px solid rgba(255,255,255,0.08);
}

.stat-item:last-child{border-right:none;}

.stat-num{
  display:block;
  font-size:22px;
  font-weight:700;
}

.stat-label{
  font-size:12px;
  opacity:.7;
}

/* QUALITY PROMISE */

.qac-section-inner{
  display:flex;
  align-items:center;
  gap:60px;
}

.qac-title{
  font-size:28px;
  font-weight:700;
  margin-bottom:20px;
  color:#076fd2;
  font-style: italic;
}

.qac-text{
  font-size:16px;
  color:#2d4054;
  line-height:1.8;
  margin-bottom:14px;
}

.qac-list{
  margin-top:15px;
}

.qac-list li{
  font-size:14px;
  margin-bottom:10px;
  padding-left:18px;
  position:relative;
  color:#374151;
}

.qac-list li::before{
  content:"";
  width:6px;
  height:6px;
  background:#2d4054;
  border-radius:50%;
  position:absolute;
  left:0;
  top:7px;
}

/* IMAGE */

.section-img{
  width:880px;
  height:350px;
  border-radius:14px;
  overflow:hidden;
  position:relative;
}

.section-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.img-badge{
  position:absolute;
  bottom:10px;
  left:10px;
  background:#2d4054;
  color:#fff;
  font-size:11px;
  padding:6px 10px;
  border-radius:6px;
}

/* CERTIFICATIONS */

.qac-cert{
  padding:90px 0;
  background:#ffffff;
}

.cert-inner{
  display:flex;
  gap:80px;
  align-items:center;
}

.cert-badges{
  display:grid;
  grid-template-columns:repeat(2,140px);
  gap:14px;
}

.cert-badge{
  background:#f1f5f9;
  border-radius:12px;
  padding:20px;
  text-align:center;
  transition:0.3s;
}

.cert-badge:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.badge-icon{
  display:block;
  font-weight:700;
  font-size:16px;
  margin-bottom:6px;
}

.badge-label{
  font-size:11px;
  color:#6b7280;
}

/* RIGHT */

.cert-content p{
  font-size:16px;
  color:#2d4054;
  line-height:1.8;
  margin-bottom:12px;
}

.cert-highlight{
  margin-top:20px;
  display:flex;
  gap:12px;
  background:#f1f5f9;
  padding:14px;
  border-radius:10px;
}

/* TESTING EQUIPMENT */

.qac-testing{
  padding:100px 0;
  background:#cdeaff;
}

.testing-header{
  display:flex;
  justify-content:space-between;
  margin-bottom:40px;
}

.testing-header p{
  max-width:420px;
  font-size:14px;
  color:#2d4054;
}

/* NEW GROUPED GRID */

.testing-groups{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
}

.testing-group{
  background:#ffffff;
  border-radius:14px;
  padding:22px;
}

.testing-group h3{
  font-size:16px;
  margin-bottom:14px;
  color:#2d4054;
}

/* INNER GRID */

.testing-items{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.testing-card{
  background:#f1f5f9;
  border-radius:10px;
  padding:12px;
  font-size:12px;
  transition:0.25s;
}

.testing-card:hover{
  transform:translateY(-4px);
  background:#e2e8f0;
}

/* REVEAL */

.reveal{
  opacity:0;
  transform:translateY(30px);
}

/* RESPONSIVE (MOBILE + WEBVIEW) */

/* TABLET (1024px and below) */
@media (max-width:1024px){
  .qac-container{
    width:90%;
  }

  .qac-hero-content{
    width:100%;
    flex-direction:column;
    gap:20px;
    padding:0 20px;
  }

  .qac-hero h1{
    font-size:48px;
    white-space:normal;
  }

  .qac-section-inner{
    flex-direction:column;
    gap:30px;
  }

  .section-img{
    width:100%;
    height:260px;
  }

  .cert-inner{
    flex-direction:column;
    gap:40px;
  }

  .testing-groups{
    grid-template-columns:1fr;
  }

}

/* MOBILE (768px and below) */
@media (max-width:768px){
  /* HERO */
  .qac-hero{
    height: 220px;
    margin: 8px;
    border-radius: 14px;
  }

  .qac-hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 20px;
  }

   .qac-hero h1{ 
    font-size: 10px;
    white-space: normal;
    margin-bottom: 4px;
  }

  .qac-hero p{
    font-size: 4px;
    max-width: 100%;
    margin-bottom: 20px;
  }

  /* STATS */
  .stats-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .stat-item{
    padding:20px 8px;
  }

  /* CONTENT */
  .qac-title{
    font-size:22px;
  }

  .qac-text{
    font-size:13px;
  }

  /* CERT BADGES */
  .cert-badges{
    grid-template-columns:repeat(2,1fr);
    width:100%;
  }

  /* TESTING GRID */
  .testing-items{
    grid-template-columns:1fr;
  }

}

/* SMALL MOBILE (480px and below) */
@media (max-width:480px){
  .qac-hero{
    height:220px;
  }

  .qac-hero h1{
    font-size:26px;
  }

  .qac-hero p{
    font-size:13px;
  }

  .stats-grid{
    grid-template-columns:1fr;
  }

  .stat-item{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }

  .stat-item:last-child{
    border-bottom:none;
  }

  .qac-container{
    width:92%;
  }

}
/* product.css */
/* product-hero SECTION */
    .product-hero{
  position:relative;
  height:320px;
  border-radius:20px;
  margin:10px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  margin-bottom: 25px;
  background:url('../images/factory_machinery.png') center/cover no-repeat;
}

.product-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.2) 100%
  );
}

.product-hero-content{
  position:relative;
  z-index:2;
  width:90%;
  max-width:none;
  padding:0 40px;
  display:flex;
  align-items:flex-end;
  gap:40px;
}

.product-hero h1{
  font-size:74px;
  font-weight:800;
  color:#fff;
  font-style: italic;
  margin-bottom: 10px;
  letter-spacing:1px;
  white-space:nowrap;
}

.product-hero p{
  font-size:18px;
  color:rgba(255,255,255,0.85);
  line-height:1.8;
  max-width:720px;
  margin-bottom:40px;
}
/* RESPONSIVE — MOBILE ONLY (appended, no existing code changed) */
@media (max-width: 768px) {
  .product-hero {
    height: 220px;
    margin: 8px;
    border-radius: 14px;
  }

  .product-hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 20px;
    width: 100%;
  }

  .product-hero h1 {
    font-size: 28px;
    white-space: normal;
    margin-bottom: 4px;
  }

  .product-hero p {
    font-size: 10px;
    max-width: 100%;
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .product-hero {
    height: 190px;
  }

  .product-hero h1 {
    font-size: 30px;
  }
}