html { scroll-behavior: smooth; }
.container-XL { max-width: 1200px; }
.fade-in { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s ease; }
.fade-in.show { opacity: 1; transform: translateY(0); }

/* Hero slider */
.hero-slider { position: relative; overflow: hidden; border-radius: 1rem; }
.hero-track { display: flex; transition: transform 0.6s ease-in-out; }
.hero-slide { min-width: 100%; height: 420px; object-fit: cover; }
.hero-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: #fff; border-radius: 50%; width: 40px; height: 40px; border: none; cursor: pointer; }
.hero-btn.prev { left: 10px; }
.hero-btn.next { right: 10px; }

/* Cards */
.service-card, .team-card, .project-card, .blog-card {
  background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.service-card img, .team-card img, .project-card img, .blog-card img {
  width: 100%; height: 200px; object-fit: cover;
}
.service-card h3, .team-card h3, .project-card h3, .blog-card h3 {
  font-weight: 600; margin: 12px;
}

/* Testimonials */
.testimonial {
  min-width: 320px; max-width: 380px; background: #fff; padding: 20px; border-radius: 1rem;
  border: 1px solid rgba(0,0,0,0.05); box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* Inputs & buttons */
.input-field { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: .75rem; margin-bottom: 10px; }
.btn { background: #252525; color: #fff; padding: 10px 20px; border-radius: .75rem; cursor: pointer; }
.btn:hover { background: #B8A06A; }

/* Back to top */
#backToTop {
  position: fixed; bottom: 20px; right: 20px; display: none;
  background: #B8A06A; color: white; border: none;
  border-radius: 50%; width: 40px; height: 40px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15); cursor: pointer;
}
