/* Background */
html,body{background:#f4f6fb!important;color:#1a1a2e!important}
.page-wrap::before{display:none!important;background:none!important}

/* Footer - keep dark */
.site-footer{background:#000!important;color:#e8eef5!important}
.site-footer a{color:#dbe7ff!important}
.site-footer .foot-small,.site-footer .foot-list li{color:#b9c6d6!important}
.site-footer .fw-bold{color:#fff!important}

/* Sections text on light bg */
.section-kicker{color:#888}
.section-title{background:linear-gradient(90deg,#e07b00,#1a1a2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.card{background:#fff!important;border:1px solid #e8ecf3!important;box-shadow:0 4px 20px rgba(0,0,0,.06);overflow:hidden;border-radius:14px;transition:transform .3s ease,box-shadow .3s ease}
.card:hover{box-shadow:0 15px 30px rgba(0,0,0,.08);transform:translateY(-6px)}
.prod-card-img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s ease}
.card:hover .prod-card-img{transform:scale(1.05)}
.feature-list .list-group-item{background:transparent;color:#1a1a2e;border-color:rgba(0,0,0,.08)}
.cta{background:linear-gradient(135deg,#fff8e7,#f0f7ff);border:1px solid #e8ecf3}

/* Hero */
.hero{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background:center/cover no-repeat;transform:translateX(100%);transition:transform .9s cubic-bezier(.77,0,.175,1)}
.hero-slide.active{transform:translateX(0);animation:heroZoom 8s ease forwards}
.hero-slide.prev{transform:translateX(-100%)}
@keyframes heroZoom{from{scale:1}to{scale:1.06}}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,rgba(4,4,18,.9) 0%,rgba(4,4,18,.65) 50%,rgba(4,4,18,.15) 100%),linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 40%)}
.hero-accent-bar{position:absolute;left:0;top:18%;bottom:18%;width:4px;background:linear-gradient(to bottom,transparent,var(--brand),transparent);z-index:2;border-radius:2px}
/* Content */
.hero-content{position:relative;z-index:2;padding:8rem 0 6rem}
/* Kicker */
.hero-kicker-wrap{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.hero-kicker-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex-shrink:0;box-shadow:0 0 12px var(--brand)}
.hero-kicker{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:rgba(255,255,255,.6)}
/* Heading */
.hero-heading{font-family:'Montserrat',sans-serif;font-size:clamp(2rem,3.8vw,3.2rem);font-weight:900;color:#fff;line-height:1.08;margin-bottom:1.1rem;letter-spacing:-1.5px}
.hero-heading-accent{color:var(--brand)}
/* Sub & desc */
.hero-sub{font-size:1.08rem;font-weight:500;color:rgba(255,255,255,.7);margin-bottom:.5rem}
.hero-desc{font-size:.95rem;color:rgba(255,255,255,.5);line-height:1.85;margin-bottom:2.5rem;max-width:480px}
/* Buttons */
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-hero-primary{display:inline-flex;align-items:center;padding:.85rem 2rem;border-radius:.45rem;font-weight:700;font-size:.95rem;background:#ffcc00;color:#000;border:none;text-decoration:none;transition:all .25s;box-shadow:0 8px 28px rgba(255,204,0,.35);cursor:pointer}
.btn-hero-primary:hover{background:#e6b800;transform:translateY(-2px);box-shadow:0 14px 36px rgba(255,204,0,.5);color:#000}
.btn-outline-hero{display:inline-flex;align-items:center;padding:.85rem 2rem;border-radius:.45rem;font-weight:700;font-size:.95rem;color:#fff;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.07);backdrop-filter:blur(10px);text-decoration:none;transition:all .25s}
.btn-outline-hero:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.7);color:#fff}
/* Bottom bar: counter + progress bars */
.hero-bottom-bar{position:absolute;bottom:2.2rem;left:0;right:0;z-index:3;display:flex;align-items:center;gap:1.5rem;padding:0 3rem}
.hero-counter{display:flex;align-items:baseline;color:rgba(255,255,255,.45);font-size:.75rem;font-weight:600;letter-spacing:.1em;font-family:'Montserrat',sans-serif;white-space:nowrap}
.hero-counter-cur{font-size:1.6rem;font-weight:900;color:#fff;line-height:1}
.hero-bars{display:flex;gap:.5rem;align-items:center}
.hero-bar{height:3px;width:36px;background:rgba(255,255,255,.22);border:none;padding:0;cursor:pointer;position:relative;overflow:hidden;border-radius:2px;transition:width .3s ease}
.hero-bar.active{width:60px}
.hero-bar-fill{position:absolute;inset:0;width:0;background:var(--brand);border-radius:2px}
.hero-bar.active .hero-bar-fill{animation:barProgress 5s linear forwards}
@keyframes barProgress{from{width:0}to{width:100%}}
/* Scroll hint */
.hero-scroll-hint{position:absolute;right:2.5rem;bottom:2.5rem;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.45rem;color:rgba(255,255,255,.35);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.hero-scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent);animation:scrollPulse 2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:.35}50%{opacity:.9}}
/* Responsive */
@media(max-width:991.98px){.hero{min-height:100svh}.hero-content{padding:6rem 0 5rem;text-align:center}.hero-desc{max-width:100%}.hero-btns{justify-content:center}.hero-kicker-wrap{justify-content:center}.hero-accent-bar,.hero-scroll-hint{display:none}.hero-bottom-bar{padding:0 1.25rem;justify-content:center}}
@media(max-width:575.98px){.hero-bar{width:24px}.hero-bar.active{width:44px}}

/* Section Banner with Overlay */
.section-banner{position:relative;padding:5rem 0;background:center/cover no-repeat}
.section-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 100%)}
.section-banner-content{position:relative;z-index:2}
.section-banner-kicker{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--brand);margin-bottom:.75rem}
.section-banner-title{font-family:'Montserrat',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;color:#fff;margin-bottom:.75rem}
.section-banner-desc{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:0}

/* Stats Section */
.stats-section{background:#000;width:100%}
.stat-card{position:relative;padding:2.8rem 1.5rem;text-align:center;background:#000;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;transition:background .3s ease}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,204,102,.08),rgba(255,204,102,.02));opacity:0;transition:opacity .3s ease}
.stat-card:hover{background:#0a0a0a}
.stat-card:hover::before{opacity:1}
.stat-card:hover .stat-icon{color:#ffcc66;transform:translateY(-4px) scale(1.15)}
.stat-card:hover .stat-number{color:#ffcc66}
.stat-icon{font-size:2rem;color:rgba(255,255,255,.4);margin-bottom:1rem;transition:color .3s ease,transform .3s ease;display:block}
.stat-number{font-family:'Montserrat',sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:900;color:#fff;line-height:1;margin-bottom:.5rem;letter-spacing:-.5px;transition:color .3s ease}
.stat-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.45)}
@media(max-width:767.98px){.stat-card{padding:2rem 1rem}.col-6:nth-child(even) .stat-card{border-right:none}.col-6:nth-child(n+3) .stat-card{border-bottom:none}}
@media(min-width:768px){.col-md-3:last-child .stat-card{border-right:none}}

/* About Section */
.about-section{overflow:hidden}
.about-img-wrap{position:relative;height:100%;min-height:420px}
.about-img{width:100%;height:100%;object-fit:cover;display:block}
.about-img-badge{position:absolute;bottom:1.5rem;left:1.5rem;background:#000;color:#ffcc66;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.55rem 1rem;border-radius:999px;display:inline-flex;align-items:center}
.about-content{padding:3rem 3rem 3rem 3.5rem;height:100%;display:flex;flex-direction:column;justify-content:center;background:transparent}
.about-kicker{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#e07b00;margin-bottom:.75rem}
.about-title{font-family:'Montserrat',sans-serif;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:800;color:#1a1a2e;line-height:1.25;margin-bottom:1.25rem}
.about-desc{color:#555;font-size:1rem;line-height:1.8;margin-bottom:1.5rem}
.about-highlights{display:flex;flex-direction:column;gap:.75rem}
.about-highlight-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.93rem;color:#444}
.about-highlight-item .bi{color:#e07b00;font-size:1rem;margin-top:.15rem;flex-shrink:0}
@media(max-width:991.98px){.about-img-wrap{min-height:280px}.about-content{padding:2rem 1.5rem}}

/* Feature List */
.feature-list .list-group-item{background:transparent;color:var(--text);border-color:rgba(255,255,255,.08);padding:1rem 1.1rem;display:flex;align-items:center;gap:.75rem}
.feature-list .bi{color:var(--ok)}

/* Gallery */
.gallery img{width:100%;height:240px;object-fit:cover;border-radius:.95rem;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease}
.gallery img:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 36px rgba(0,0,0,.45)}

/* Why Us Section */
.why-us-section{background:transparent;border:none;overflow:hidden}
.why-us-text-col{
  padding:3rem;
  background:transparent;
  display:flex;flex-direction:column;justify-content:center;
}
.why-us-kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.72rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:#b07d00;margin-bottom:.9rem;
}
.why-us-kicker span{color:#ffcc66;font-size:1rem;line-height:1}
.why-us-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.75rem,2.8vw,2.5rem);
  font-weight:900;color:#0f0f0f;
  margin-bottom:.85rem;line-height:1.1;
  letter-spacing:-0.5px;
}
.why-us-intro{
  font-size:.9rem;color:#666;line-height:1.8;
  margin-bottom:1rem;
}
.why-us-features{display:flex;flex-direction:column;gap:1.25rem}
.why-us-feature{
  display:flex;align-items:flex-start;gap:1rem;
  padding:.75rem 0;
  border-bottom:1px solid #eef0f4;
}
.why-us-feature:last-child{border-bottom:none}
.why-us-feature::before{
  content:"";
  flex-shrink:0;
  width:4px;height:100%;
  min-height:2.5rem;
  background:#e07b00;
  border-radius:2px;
  margin-top:.15rem;
}
.why-us-feature-title{
  font-family:'Montserrat',sans-serif;
  font-size:.92rem;font-weight:700;color:#111;
  margin:0 0 .25rem;
}
.why-us-feature-desc{font-size:.82rem;color:#6b7280;margin:0;line-height:1.7}

/* Image side */
.why-us-img-col{padding:3rem;display:flex;align-items:center}
.why-us-img-wrap{
  position:relative;width:100%;
  border-radius:16px;overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.1);
}
.why-us-img-wrap img{
  width:100%;height:auto;max-height:460px;object-fit:cover;display:block;
  transition:transform .7s cubic-bezier(.25,.46,.45,.94);
}
.why-us-section:hover .why-us-img-wrap img{transform:scale(1.04)}
.why-us-img-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;
  background:#fff;padding:.8rem 1.2rem;
  border-left:4px solid #ffcc66;
  border-radius:0 8px 8px 0;
  box-shadow:0 6px 24px rgba(0,0,0,.13);
}
.why-us-img-badge strong{
  display:block;font-family:'Montserrat',sans-serif;
  font-size:1.4rem;font-weight:900;color:#111;line-height:1;
}
.why-us-img-badge span{font-size:.72rem;color:#777;letter-spacing:.04em;text-transform:uppercase}

@media(max-width:991px){
  .why-us-text-col{padding:2.2rem 1.5rem}
  .why-us-img-col{padding:0 1.5rem 2rem}
  .why-us-img-wrap img{height:300px}
  .why-us-features{grid-template-columns:1fr}
}

/* Product Section */
.prod-section-header{text-align:center;max-width:900px;margin:0 auto}
#products .section-kicker{color:#1a1a2e}
#products .section-title{background:none;-webkit-background-clip:unset;background-clip:unset;color:#1a1a2e}
.prod-section-sub{font-size:.95rem;color:#1a1a2e;margin-top:.5rem;line-height:1.7}
.prod-grid{border:1px solid #dde1e9}

/* Product Posters */
.prod-poster{overflow:hidden;border-right:1px solid #dde1e9;border-bottom:1px solid #dde1e9;transition:background .3s ease}
.prod-poster:hover{background:#fafafa}
.prod-poster-img-wrap{overflow:hidden;height:230px}
.prod-poster-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.prod-poster:hover .prod-poster-img-wrap img{transform:scale(1.06)}
.prod-poster-body{padding:1.6rem 1.5rem 1.8rem;position:relative}
.prod-poster-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.18em;color:#111;text-transform:uppercase;margin-bottom:.55rem}
.prod-poster-title{font-family:'Montserrat',sans-serif;font-size:1.05rem;font-weight:800;color:#111;margin-bottom:.6rem;letter-spacing:-.2px}
.prod-poster-body::before{content:'';display:block;width:32px;height:2px;background:var(--brand);margin-bottom:.75rem}
.prod-poster-desc{font-size:.875rem;color:#111;line-height:1.75;margin:0}

/* Services section heading overrides */
#services .section-kicker{color:#1a1a2e}
#services .section-title{background:none;-webkit-background-clip:unset;background-clip:unset;color:#1a1a2e}

/* Service Poster Cards — 3D flip */
.svc-poster-wrap{perspective:1000px;height:400px}
.svc-poster{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.4,.2,.2,1);
  cursor:pointer;border:1.5px solid #d0d5dd;
}
.svc-poster-wrap:hover .svc-poster{transform:rotateY(180deg)}

/* Front */
.svc-poster-front,.svc-poster-back{
  position:absolute;inset:0;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  overflow:hidden;
}
.svc-poster-front img{width:100%;height:100%;object-fit:cover;display:block}
/* always-visible bottom label on front */
.svc-poster-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.1rem 1.3rem .85rem;
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.25) 80%,transparent 100%);
  display:flex;align-items:center;gap:.7rem;
}
.svc-poster-label-icon{font-size:1.35rem;color:var(--brand);flex-shrink:0}
.svc-poster-label-title{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:800;color:#fff;margin:0}

/* Back */
.svc-poster-back{
  transform:rotateY(180deg);
  background:#4a4a4a;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:2.5rem 2rem;text-align:center;
  border:1.5px solid #d0d5dd;
}
.svc-poster-icon{font-size:3.2rem;color:var(--brand);margin-bottom:1rem;display:block;filter:drop-shadow(0 0 14px rgba(255,204,102,.55))}
.svc-poster-title{font-family:'Montserrat',sans-serif;font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:.7rem}
.svc-poster-desc{font-size:.92rem;color:rgba(255,255,255,.85);margin:0;line-height:1.75}

/* CTA */
.cta{border-radius:1.1rem;background:radial-gradient(1200px 600px at 10% -20%,rgba(255,216,142,.25),transparent 60%),radial-gradient(1000px 500px at 100% 120%,rgba(22,199,132,.18),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.10)}
