* { scroll-behavior: smooth; }
body { font-family: 'Noto Sans Georgian', 'Inter', system-ui, sans-serif; }

.fade-up { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fade-up:nth-child(2) { transition-delay: 0.1s; }
.fade-up:nth-child(3) { transition-delay: 0.2s; }
.fade-up:nth-child(4) { transition-delay: 0.3s; }
.fade-up:nth-child(5) { transition-delay: 0.4s; }
.fade-up:nth-child(6) { transition-delay: 0.5s; }

.gradient-text {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

.hero-bg {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    position: relative; overflow: hidden;
}
.hero-bg::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at 30% 50%, rgba(30,64,175,0.15) 0%, transparent 50%),
                radial-gradient(circle at 70% 50%, rgba(59,130,246,0.1) 0%, transparent 50%);
    animation: pulse-bg 8s ease-in-out infinite;
}
@keyframes pulse-bg { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

.grid-pattern {
    background-image: linear-gradient(rgba(59,130,246,0.03) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(59,130,246,0.03) 1px, transparent 1px);
    background-size: 60px 60px;
}

.nav-scrolled { background: rgba(15,23,42,0.95) !important; backdrop-filter: blur(12px); box-shadow: 0 4px 30px rgba(0,0,0,0.3); }

.toggle-bg { transition: background-color 0.3s; }
.toggle-dot { transition: transform 0.3s; }
.toggle-active .toggle-dot { transform: translateX(24px); }
.toggle-active .toggle-bg { background-color: #3b82f6; }

.feature-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.feature-card:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(30,64,175,0.15); }

.pricing-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.pricing-card:hover { transform: translateY(-4px); }
.pricing-popular { border: 2px solid #3b82f6; position: relative; }

.step-connector { position: absolute; top: 32px; left: calc(50%+40px); width: calc(100%-80px); height: 2px; background: linear-gradient(90deg,#3b82f6,#8b5cf6); }

.lang-btn { transition: all 0.2s; }
.lang-btn.active { background: #3b82f6; color: white; }

.mobile-menu { transform: translateX(100%); transition: transform 0.3s ease; }
.mobile-menu.open { transform: translateX(0); }

.stat-value { font-variant-numeric: tabular-nums; }

.icon-box {
    width: 56px; height: 56px; display: flex; align-items: center; justify-content: center;
    border-radius: 12px; background: linear-gradient(135deg, rgba(59,130,246,0.1), rgba(139,92,246,0.1)); flex-shrink: 0;
}
.icon-box svg { width: 28px; height: 28px; stroke: #3b82f6; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }

.step-circle {
    width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1e40af, #3b82f6); color: white; font-size: 24px; font-weight: 700; flex-shrink: 0;
}
