/* AlliedTech Solutions - Custom Styles */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

.hero-gradient { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.hero-gradient::before { content: ''; position: absolute; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 196, 154, 0.15) 0%, transparent 70%); top: -200px; right: -100px; animation: float 8s ease-in-out infinite; }
.hero-gradient::after { content: ''; position: absolute; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 0, 255, 0.1) 0%, transparent 70%); bottom: -150px; left: -100px; animation: float 10s ease-in-out infinite reverse; }

.glow-line { height: 1px; background: linear-gradient(90deg, transparent, #00C49A, transparent); opacity: 0.5; }
.glow-dot { width: 6px; height: 6px; border-radius: 50%; background: #00C49A; box-shadow: 0 0 10px rgba(0, 196, 154, 0.6), 0 0 30px rgba(0, 196, 154, 0.3); }

.card-glow { position: relative; overflow: hidden; }
.card-glow::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; background: linear-gradient(135deg, transparent 40%, rgba(0, 196, 154, 0.3), transparent 60%); opacity: 0; transition: opacity 0.5s ease; z-index: -1; }
.card-glow:hover::before { opacity: 1; }

.split-reveal .line { overflow: hidden; }
.split-reveal .line > div { transform: translateY(100%) rotateX(-80deg); opacity: 0; filter: blur(10px); }

.navbar-scrolled { background-color: rgba(26, 26, 26, 0.95) !important; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255, 255, 255, 0.05); }

.marquee-container { mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent); }

.counter-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transition: all 0.4s ease; }
.counter-dot.active { background: #00C49A; box-shadow: 0 0 10px rgba(0, 196, 154, 0.6); transform: scale(1.3); }

.testimonial-progress { height: 2px; background: rgba(255, 255, 255, 0.1); border-radius: 1px; overflow: hidden; }
.testimonial-progress-bar { height: 100%; background: linear-gradient(90deg, #00C49A, #FF00FF); border-radius: 1px; width: 0%; transition: width linear; }

.faq-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, opacity 0.3s ease; opacity: 0; }
.faq-item.open .faq-content { opacity: 1; }
.faq-icon { transition: transform 0.3s ease; }
.faq-item.open .faq-icon { transform: rotate(45deg); }

@keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } }

.section-divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent); }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1A1A1A; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #00C49A; }
::selection { background: rgba(0, 196, 154, 0.3); color: white; }

.tech-badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 1rem; background: rgba(0, 196, 154, 0.1); border: 1px solid rgba(0, 196, 154, 0.2); border-radius: 9999px; font-size: 0.875rem; color: #00C49A; transition: all 0.3s ease; }
.tech-badge:hover { background: rgba(0, 196, 154, 0.2); border-color: rgba(0, 196, 154, 0.4); }

.mobile-menu-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); z-index: 40; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.mobile-menu-overlay.active { opacity: 1; visibility: visible; }

.breadcrumb a { color: rgba(255, 255, 255, 0.5); transition: color 0.3s ease; }
.breadcrumb a:hover { color: #00C49A; }
.breadcrumb span { color: #00C49A; }

@media (max-width: 768px) {
  .hero-gradient::before { width: 300px; height: 300px; }
  .hero-gradient::after { width: 250px; height: 250px; }
}
