/* SCROLL REVEAL */
.reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 0; transform: translateX(-40px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 0; transform: translateX(40px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal-right.visible { opacity: 1; transform: translateX(0); }
.reveal-scale { opacity: 0; transform: scale(0.9); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal-scale.visible { opacity: 1; transform: scale(1); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* HERO ANIMATIONS */
@keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeInLeft { from { opacity:0; transform:translateX(-30px); } to { opacity:1; transform:translateX(0); } }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes shimmer { 0%{background-position:200% center} 100%{background-position:-200% center} }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes counter-pop { 0%{transform:scale(1)} 50%{transform:scale(1.15)} 100%{transform:scale(1)} }

.hero-animate-1 { animation: fadeInUp 0.8s ease 0.1s both; }
.hero-animate-2 { animation: fadeInUp 0.8s ease 0.25s both; }
.hero-animate-3 { animation: fadeInUp 0.8s ease 0.4s both; }
.hero-animate-4 { animation: fadeInUp 0.8s ease 0.55s both; }
.float-card { animation: float 4s ease-in-out infinite; }
.float-card-2 { animation: float 4s ease-in-out 1.5s infinite; }

/* GOLD SHIMMER TEXT */
.text-shimmer { background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold)); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: shimmer 3s linear infinite; }

/* COUNTER */
.counter-num { display: inline-block; }
.counter-pop { animation: counter-pop 0.3s ease; }

/* CARD HOVER EFFECTS */
.card-hover-gold { transition: all 0.3s ease; }
.card-hover-gold:hover { border-top: 3px solid var(--gold); }

/* PROCESS STEP LINE */
.process-steps { display: flex; gap: 0; position: relative; }
.process-steps::before { content:''; position:absolute; top:32px; left:5%; right:5%; height:2px; background:linear-gradient(90deg, var(--gold), var(--gold-light)); z-index:0; }
.process-step { flex:1; text-align:center; position:relative; z-index:1; padding:0 16px; }
.step-num { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:var(--navy); font-family:'Poppins',sans-serif; font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; box-shadow:var(--shadow-gold); }
.step-title { font-family:'Poppins',sans-serif; font-weight:600; font-size:0.95rem; color:var(--navy); margin-bottom:8px; }
.step-desc { font-size:0.82rem; color:var(--text-muted); }

/* TESTIMONIAL CAROUSEL */
.testimonial-carousel { position:relative; overflow:hidden; }
.testimonial-track { display:flex; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1); }
.testimonial-slide { min-width:100%; padding:0 8px; }
.testimonial-card { background:var(--white); border-radius:var(--radius-md); padding:36px; box-shadow:var(--shadow-md); border:1px solid var(--grey-200); position:relative; }
.testimonial-card::before { content:'"'; position:absolute; top:16px; right:24px; font-size:5rem; color:var(--gold); opacity:0.12; font-family:'Poppins',sans-serif; font-weight:800; line-height:1; }
.testimonial-author { display:flex; align-items:center; gap:14px; margin-top:24px; }
.testimonial-avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg, var(--navy), var(--navy-light)); display:flex; align-items:center; justify-content:center; color:var(--white); font-weight:700; font-size:1.1rem; font-family:'Poppins',sans-serif; flex-shrink:0; }
.testimonial-name { font-family:'Poppins',sans-serif; font-weight:600; font-size:0.95rem; color:var(--navy); }
.testimonial-role { font-size:0.8rem; color:var(--text-muted); }
.carousel-dots { display:flex; gap:8px; justify-content:center; margin-top:32px; }
.carousel-dot { width:8px; height:8px; border-radius:50%; background:var(--grey-300); cursor:pointer; transition:all 0.3s; border:none; }
.carousel-dot.active { background:var(--gold); width:24px; border-radius:4px; }
.carousel-btn { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.3s; z-index:2; }
.carousel-btn.prev { left:-22px; background:var(--white); box-shadow:var(--shadow-md); }
.carousel-btn.next { right:-22px; background:var(--navy); color:var(--white); box-shadow:var(--shadow-md); }
.carousel-btn:hover { transform:translateY(-50%) scale(1.1); }

/* FAQ */
.faq-item { border:1.5px solid var(--grey-200); border-radius:var(--radius-sm); margin-bottom:12px; overflow:hidden; transition:all 0.3s; }
.faq-item.open { border-color:var(--gold); box-shadow:0 4px 16px rgba(212,175,55,0.1); }
.faq-question { width:100%; background:none; border:none; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-family:'Poppins',sans-serif; font-size:0.95rem; font-weight:600; color:var(--navy); text-align:left; gap:16px; }
.faq-icon { width:28px; height:28px; border-radius:50%; background:var(--grey-100); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.3s; color:var(--navy); font-size:1.2rem; font-weight:300; }
.faq-item.open .faq-icon { background:var(--gold); color:var(--navy); transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.3s; }
.faq-answer-inner { padding:0 24px 20px; font-size:0.9rem; color:var(--text-muted); line-height:1.7; }

/* STATS ROW */
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.1); border-radius:var(--radius-md); overflow:hidden; }
.stat-item { padding:28px; text-align:center; background:rgba(255,255,255,0.06); }
.stat-num { font-family:'Poppins',sans-serif; font-weight:800; font-size:2rem; color:var(--gold); display:block; }
.stat-label { font-size:0.82rem; color:rgba(255,255,255,0.65); margin-top:4px; }

/* TRUST BAR SLIDER */
.trust-bar { border-top:1px solid var(--grey-200); border-bottom:1px solid var(--grey-200); padding:32px 0; overflow:hidden; background: var(--white); }
.trust-slider { display:flex; gap:80px; width:max-content; animation: trustMarquee 30s linear infinite; align-items: center; }
.trust-item { display:flex; align-items:center; gap:16px; font-family:'Poppins',sans-serif; font-size:1.1rem; font-weight:700; color:var(--navy); opacity:0.85; white-space:nowrap; transition: all 0.3s; }
.trust-item:hover { opacity:1; color: var(--gold); }
.trust-icon { font-size:2.4rem; color:var(--gold); }

@keyframes trustMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media(max-width: 768px) {
  .trust-bar { padding: 24px 0; }
  .trust-slider { gap: 50px; animation-duration: 20s; }
  .trust-item { font-size: 0.95rem; gap: 12px; }
  .trust-icon { font-size: 1.8rem; }
}

/* REVIEW CARD */
.review-card { background:var(--white); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-sm); border:1px solid var(--grey-200); transition:all 0.3s; }
.review-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.review-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
.reviewer-info { display:flex; align-items:center; gap:12px; }
.reviewer-avatar { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:1rem; color:var(--white); flex-shrink:0; }
.reviewer-name { font-family:'Poppins',sans-serif; font-weight:600; font-size:0.92rem; color:var(--navy); }
.reviewer-date { font-size:0.78rem; color:var(--text-muted); }
.review-source { display:flex; align-items:center; gap:6px; font-size:0.78rem; color:var(--text-muted); }
.review-text { font-size:0.875rem; line-height:1.7; color:var(--text-muted); }
.google-g { width:16px; height:16px; }

/* CASE STUDY CARD */
.case-card { background:var(--white); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--grey-200); transition:all 0.3s; }
.case-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.case-header { padding:24px; background:linear-gradient(135deg, var(--navy), #1a3a6b); color:var(--white); }
.case-tag { font-size:0.72rem; font-weight:600; font-family:'Poppins',sans-serif; background:rgba(212,175,55,0.2); color:var(--gold); padding:3px 10px; border-radius:50px; display:inline-block; margin-bottom:10px; }
.case-company { font-family:'Poppins',sans-serif; font-weight:700; font-size:1.05rem; }
.case-body { padding:24px; }
.case-challenge { font-size:0.82rem; color:var(--text-muted); margin-bottom:16px; line-height:1.6; }
.case-results { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.case-result-item { text-align:center; padding:12px 8px; background:var(--grey-50); border-radius:8px; }
.case-result-num { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.1rem; color:var(--navy); display:block; }
.case-result-label { font-size:0.7rem; color:var(--text-muted); margin-top:2px; }

@media(max-width:768px){
  .process-steps{flex-direction:column;gap:24px;}
  .process-steps::before{display:none;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .carousel-btn{display:none;}
  .case-results{grid-template-columns:repeat(2,1fr);}
}
