* {
    font-family: 'Inter', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    background: #111827;
}

/* Animated gradient background */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(6, 182, 212, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.6s ease-out;
}

/* Gradient text animation */
@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.bg-gradient-to-r {
    background-size: 200% 200%;
    animation: gradientShift 3s ease infinite;
}

/* Tech logo float animation */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

.tech-logo {
    animation: float 3s ease-in-out infinite;
}

.tech-logo:nth-child(2) {
    animation-delay: 0.2s;
}

.tech-logo:nth-child(3) {
    animation-delay: 0.4s;
}

.tech-logo:nth-child(4) {
    animation-delay: 0.6s;
}

.tech-logo:nth-child(5) {
    animation-delay: 0.8s;
}

/* Card hover effects with glassmorphism */
.bg-gray-800\/50 {
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.bg-gray-800\/50:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.hover\:border-blue-500:hover {
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.3);
    border-color: #3b82f6 !important;
}

/* Button effects */
button, a[href] {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

button:hover, a[href]:hover {
    transform: translateY(-2px);
}

.bg-gradient-to-r:hover {
    box-shadow: 0 10px 40px rgba(59, 130, 246, 0.4);
}

/* Pulse animation for urgency badges */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.8;
    }
}

.bg-red-500\/20, .bg-orange-500\/20 {
    animation: pulse 2s ease-in-out infinite;
}

/* Code block styling */
pre {
    background: #0a0f1e !important;
    border-radius: 8px;
}

code {
    line-height: 1.6;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #1f2937;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #3b82f6, #06b6d4);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #2563eb, #0891b2);
}

/* Navbar glassmorphism */
nav {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: all 0.3s ease;
}

/* Navbar shrink on scroll */
nav.nav-scrolled {
    padding: 0;
}

nav.nav-scrolled .h-16 {
    height: 3.5rem; /* 56px instead of 64px */
}

nav.nav-scrolled .text-2xl {
    font-size: 1.25rem; /* Slightly smaller logo */
}

/* Smooth nav transition */
nav .max-w-7xl > div {
    transition: height 0.3s ease;
}

/* Testimonial cards */
.bg-gray-800\/50:hover img {
    transform: scale(1.1);
}

.bg-gray-800\/50 img {
    transition: transform 0.3s ease;
}

/* Table responsive styling */
table {
    border-collapse: separate;
    border-spacing: 0;
}

table td, table th {
    border: none;
}

/* Pricing card MEGA glow effect */
.border-blue-500 {
    position: relative;
    box-shadow: 
        0 0 60px rgba(59, 130, 246, 0.3),
        0 0 100px rgba(6, 182, 212, 0.2),
        inset 0 0 60px rgba(59, 130, 246, 0.1);
    animation: priceGlow 3s ease-in-out infinite;
}

/* Animated border gradient */
.border-blue-500::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(
        45deg,
        #3b82f6,
        #06b6d4,
        #8b5cf6,
        #ec4899,
        #3b82f6
    );
    background-size: 400% 400%;
    border-radius: 1rem;
    z-index: -1;
    animation: gradientShift 8s ease infinite, priceGlow 3s ease-in-out infinite;
    filter: blur(8px);
}

@keyframes priceGlow {
    0%, 100% {
        box-shadow: 
            0 0 60px rgba(59, 130, 246, 0.3),
            0 0 100px rgba(6, 182, 212, 0.2),
            inset 0 0 60px rgba(59, 130, 246, 0.1);
        transform: scale(1);
    }
    50% {
        box-shadow: 
            0 0 100px rgba(59, 130, 246, 0.5),
            0 0 150px rgba(6, 182, 212, 0.3),
            inset 0 0 80px rgba(59, 130, 246, 0.15);
        transform: scale(1.01);
    }
}

/* Smooth accordion transitions */
.accordion-content, .faq-answer {
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

/* Mobile menu overlay */
#mobile-menu {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Selection color */
::selection {
    background: rgba(59, 130, 246, 0.3);
    color: white;
}

::-moz-selection {
    background: rgba(59, 130, 246, 0.3);
    color: white;
}

/* ===========================
   LIGHT MODE STYLES
   =========================== */

/* Light mode base */
body.light {
    background: #ffffff;
    color: #1f2937;
}

body.light::before {
    background: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(6, 182, 212, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(139, 92, 246, 0.05) 0%, transparent 50%);
}

/* Light mode navigation */
body.light nav {
    background: rgba(255, 255, 255, 0.8);
    border-bottom-color: #e5e7eb;
}

body.light nav a {
    color: #4b5563;
}

body.light nav a:hover {
    color: #111827;
}

body.light .text-gray-300 {
    color: #6b7280 !important;
}

body.light .text-gray-400 {
    color: #9ca3af !important;
}

body.light .text-gray-500 {
    color: #6b7280 !important;
}

body.light .text-white {
    color: #111827 !important;
}

/* Light mode sections */
body.light .bg-gray-800\/30 {
    background: rgba(243, 244, 246, 0.5);
}

body.light .bg-gray-800\/50 {
    background: rgba(255, 255, 255, 0.8);
    border-color: #e5e7eb;
}

body.light .bg-gray-800 {
    background: #f9fafb;
}

body.light .bg-gray-900 {
    background: #ffffff;
}

body.light .border-gray-700 {
    border-color: #e5e7eb;
}

body.light .border-gray-800 {
    border-color: #e5e7eb;
}

/* Light mode code block */
body.light pre {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb;
}

body.light code {
    color: #374151;
}

/* Light mode cards hover */
body.light .bg-gray-800\/50:hover {
    background: rgba(249, 250, 251, 0.9);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Light mode table */
body.light table {
    background: #ffffff;
}

body.light .bg-gray-700\/30 {
    background: #f3f4f6;
}

/* Light mode mobile menu */
body.light #mobile-menu {
    background: rgba(255, 255, 255, 0.95);
}

body.light #mobile-menu a {
    color: #4b5563;
}

/* Light mode scrollbar */
body.light ::-webkit-scrollbar-track {
    background: #f3f4f6;
}

body.light ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #3b82f6, #06b6d4);
}

/* Light mode selection */
body.light ::selection {
    background: rgba(59, 130, 246, 0.2);
    color: #111827;
}

body.light ::-moz-selection {
    background: rgba(59, 130, 246, 0.2);
    color: #111827;
}

/* Light mode footer */
body.light footer {
    border-top-color: #e5e7eb;
}

/* Light mode testimonial cards */
body.light .text-yellow-500 {
    color: #f59e0b !important;
}

/* Ensure gradients stay vibrant in light mode */
body.light .bg-gradient-to-r {
    /* Gradients remain the same */
}

body.light .text-red-400,
body.light .text-red-500 {
    color: #ef4444 !important;
}

body.light .text-green-400,
body.light .text-green-500 {
    color: #10b981 !important;
}

body.light .text-blue-500 {
    color: #3b82f6 !important;
}

body.light .text-cyan-500 {
    color: #06b6d4 !important;
}

body.light .text-purple-500 {
    color: #8b5cf6 !important;
}

body.light .text-orange-400 {
    color: #f97316 !important;
}

/* Light mode pricing card */
body.light .border-blue-500 {
    box-shadow: 0 0 60px rgba(59, 130, 246, 0.15);
}

/* Light mode urgency badges */
body.light .bg-red-500\/20 {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

body.light .bg-orange-500\/20 {
    background: rgba(249, 115, 22, 0.1);
    color: #ea580c;
}

/* Smooth theme transition */
body.light * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* ===========================
   LUCIDE ICON STYLES
   =========================== */

/* Lucide icon container */
[data-lucide] {
    stroke-width: 1.5;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Icon hover effect - slight lift and glow */
.bg-gray-800\/50:hover [data-lucide] {
    transform: scale(1.1);
    filter: drop-shadow(0 0 8px currentColor);
}

/* Ensure icons are properly sized */
i[data-lucide] {
    display: block;
    width: 100%;
    height: 100%;
}

/* Icon animation on scroll */
[data-aos] [data-lucide] {
    transition: all 0.3s ease;
}

/* ===========================
   PRICING SECTION ENHANCEMENTS
   =========================== */

/* Lifetime updates badge glow */
.bg-gradient-to-r.from-purple-500 {
    animation: badgeGlow 2s ease-in-out infinite;
}

@keyframes badgeGlow {
    0%, 100% {
        box-shadow: 0 0 10px rgba(168, 85, 247, 0.4);
    }
    50% {
        box-shadow: 0 0 20px rgba(168, 85, 247, 0.6);
    }
}

/* Customer avatar stack hover */
img[alt="Customer"] {
    transition: all 0.3s ease;
    cursor: pointer;
}

img[alt="Customer"]:hover {
    z-index: 10;
    transform: scale(1.15) translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* Trust badge hover */
.bg-gray-800\/50.rounded-lg:hover {
    transform: translateY(-2px);
    border-color: #3b82f6;
    box-shadow: 0 5px 15px rgba(59, 130, 246, 0.2);
}

/* Pricing CTA button extra shadow */
#pricing a[href="#"] {
    position: relative;
}

#pricing a[href="#"]:hover::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 0.5rem;
    background: linear-gradient(to right, rgba(37, 99, 235, 0.3), rgba(6, 182, 212, 0.3));
    filter: blur(20px);
    z-index: -1;
}

/* ===========================
   PARALLAX & SCROLL EFFECTS
   =========================== */

/* Parallax elements */
.parallax {
    transition: transform 0.3s ease-out;
    will-change: transform;
}

/* Enhanced card hover effects */
.bg-gray-800\/50 {
    position: relative;
    overflow: hidden;
}

.bg-gray-800\/50::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent);
    transition: left 0.5s ease;
}

.bg-gray-800\/50:hover::before {
    left: 100%;
}

/* Button glow on hover */
.bg-gradient-to-r:hover {
    animation: buttonPulse 1s ease-in-out;
}

@keyframes buttonPulse {
    0%, 100% {
        box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
    }
    50% {
        box-shadow: 0 0 40px rgba(59, 130, 246, 0.6);
    }
}

/* Smooth scale on card hover */
.hover\:scale-105:hover {
    transform: scale(1.05);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Feature card shine effect */
@keyframes shine {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}

/* Mobile menu slide-in animation */
#mobile-menu {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

#mobile-menu.hidden {
    animation: slideOut 0.3s ease-in;
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

/* ===========================
   PREMIUM MICRO-ANIMATIONS
   =========================== */

/* Smooth icon bounce on hover */
[data-lucide]:hover {
    animation: iconBounce 0.5s ease;
}

@keyframes iconBounce {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

/* Button press effect */
button:active, a[href]:active {
    transform: scale(0.95);
    transition: transform 0.1s ease;
}

/* Smooth underline on link hover */
a[href]:not(.bg-gradient-to-r) {
    position: relative;
}

a[href]:not(.bg-gradient-to-r)::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(to right, #3b82f6, #06b6d4);
    transition: width 0.3s ease;
}

a[href]:not(.bg-gradient-to-r):hover::after {
    width: 100%;
}

/* Badge hover lift */
.rounded-full {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rounded-full:hover {
    transform: translateY(-2px) scale(1.05);
}

/* Check icon pop animation */
.fa-check-circle, .fa-check {
    transition: all 0.3s ease;
}

.fa-check-circle:hover, .fa-check:hover {
    transform: scale(1.2) rotate(360deg);
}

/* Gradient text shimmer */
.bg-gradient-to-r.bg-clip-text {
    background-size: 200% auto;
    animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
    0% {
        background-position: 0% center;
    }
    100% {
        background-position: 200% center;
    }
}

/* Number counter pop when animating */
.counter {
    display: inline-block;
    transition: transform 0.1s ease;
}

.counter.animating {
    animation: numberPop 0.3s ease;
}

@keyframes numberPop {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* Testimonial card tilt on hover */
.bg-gray-800\/50:hover {
    transform: translateY(-5px) perspective(1000px) rotateX(2deg);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* CTA button magnetic effect */
.bg-gradient-to-r.from-blue-600 {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.bg-gradient-to-r.from-blue-600:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 
        0 20px 40px rgba(59, 130, 246, 0.4),
        0 0 60px rgba(6, 182, 212, 0.3);
}

.bg-gradient-to-r.from-blue-600:active {
    transform: translateY(-1px) scale(1.02);
}

/* Trust badge shimmer on hover */
.bg-gray-800\/50.rounded-lg:hover {
    animation: badgeShimmer 1s ease;
}

@keyframes badgeShimmer {
    0% {
        box-shadow: 0 0 0 rgba(59, 130, 246, 0);
    }
    50% {
        box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
    }
    100% {
        box-shadow: 0 0 0 rgba(59, 130, 246, 0);
    }
}

/* Smooth focus states */
input:focus, textarea:focus, button:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    transition: outline-offset 0.2s ease;
}

/* Stat number glow on hover */
.text-blue-500:hover,
.text-cyan-500:hover,
.text-purple-500:hover,
.text-yellow-500:hover {
    text-shadow: 0 0 20px currentColor;
    transition: text-shadow 0.3s ease;
}

/* Section divider animation */
section {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Accordion chevron rotation */
.fas.fa-chevron-down {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Price text pulse */
.text-6xl.font-bold {
    animation: pricePulse 2s ease-in-out infinite;
}

@keyframes pricePulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Table row hover */
tr:hover {
    background: rgba(59, 130, 246, 0.05);
    transition: background 0.2s ease;
}

/* Code block hover */
pre:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

/* Logo pulse on hover */
.text-2xl.font-bold:hover {
    animation: logoPulse 0.6s ease;
}

@keyframes logoPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* Smooth color transitions */
* {
    transition-property: color, background-color, border-color;
    transition-duration: 0.2s;
    transition-timing-function: ease;
}

/* Remove transition from animations */
[data-aos], .counter, .parallax {
    transition-property: none !important;
}

/* Button position for ripple effect */
.bg-gradient-to-r.from-blue-600 {
    position: relative;
    overflow: hidden;
}

/* Light mode pricing card glow */
body.light .border-blue-500 {
    box-shadow: 
        0 0 60px rgba(59, 130, 246, 0.15),
        0 0 100px rgba(6, 182, 212, 0.1),
        inset 0 0 60px rgba(59, 130, 246, 0.05);
}

/* Light mode CTA button */
body.light .bg-gradient-to-r.from-blue-600:hover {
    box-shadow: 
        0 20px 40px rgba(59, 130, 246, 0.2),
        0 0 60px rgba(6, 182, 212, 0.15);
}

/* Smooth badge transitions */
.rounded-full.bg-yellow-500,
.rounded-full.bg-blue-500,
.rounded-full.bg-green-500 {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rounded-full.bg-yellow-500:hover {
    box-shadow: 0 8px 20px rgba(234, 179, 8, 0.3);
}

.rounded-full.bg-blue-500:hover {
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
}

.rounded-full.bg-green-500:hover {
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}

/* Cursor pointer for interactive elements */
[data-lucide],
.counter,
.faq-question,
.accordion-btn {
    cursor: pointer;
}

/* Loading state animation */
@keyframes skeleton-loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Enhance link hover in light mode */
body.light a[href]:not(.bg-gradient-to-r)::after {
    background: linear-gradient(to right, #2563eb, #0891b2);
}

