/* ============================================
   Antigravity — Hero, Footer, Animations,
   Utilities & Responsive
   ============================================ */

/* ---- Hero Section ---- */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-20) var(--space-6);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(108,99,255,0.15) 0%,transparent 70%);top:-200px;right:-200px;animation:float-slow 20s ease-in-out infinite}
.hero::after{content:'';position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,0.1) 0%,transparent 70%);bottom:-100px;left:-100px;animation:float-slow 15s ease-in-out infinite reverse}
.hero-content{text-align:center;max-width:800px;position:relative;z-index:2}
.hero-label{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 18px;background:rgba(108,99,255,0.1);border:1px solid rgba(108,99,255,0.2);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--primary-300);margin-bottom:var(--space-6);animation:fadeInUp 0.8s ease 0.2s both}
.hero-title{font-size:clamp(2.5rem,6vw,var(--text-7xl));font-weight:900;line-height:1.05;margin-bottom:var(--space-6);animation:fadeInUp 0.8s ease 0.4s both}
.hero-description{font-size:var(--text-lg);color:var(--text-tertiary);max-width:600px;margin:0 auto var(--space-10);line-height:1.8;animation:fadeInUp 0.8s ease 0.6s both}
.hero-actions{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;animation:fadeInUp 0.8s ease 0.8s both}
.hero-stats{display:flex;justify-content:center;gap:var(--space-12);margin-top:var(--space-16);animation:fadeInUp 0.8s ease 1s both}
.hero-stat{text-align:center}
.hero-stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;color:var(--text-primary)}
.hero-stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}

/* ---- Footer ---- */
.footer{background:var(--surface-1);border-top:1px solid var(--border-subtle);padding:var(--space-16) 0 var(--space-8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-12)}
.footer-brand{max-width:320px}
.footer-brand-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-4)}
.footer-brand p{color:var(--text-tertiary);font-size:var(--text-sm);line-height:1.8}
.footer-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:0.08em}
.footer-links a{display:block;color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-1) 0;transition:all var(--transition-fast)}
.footer-links a:hover{color:var(--primary-400);padding-left:var(--space-2)}
.footer-social{display:flex;gap:var(--space-3);margin-top:var(--space-4)}
.footer-social a{width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all var(--transition-base);font-size:var(--text-lg)}
.footer-social a:hover{background:var(--primary-400);border-color:var(--primary-400);color:#fff;transform:translateY(-3px)}
.footer-bottom{padding-top:var(--space-8);border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}
.footer-bottom p{font-size:var(--text-sm);color:var(--text-muted);margin:0}
.footer-bottom a{color:var(--primary-300);text-decoration:none;font-weight:500;transition:opacity var(--transition-fast)}
.footer-bottom a:hover{opacity:0.8;text-decoration:underline}

/* ---- Animations ---- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}
@keyframes slideInRight{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}
@keyframes float-slow{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,30px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes bg-drift{0%{transform:rotate(0deg) scale(1)}100%{transform:rotate(15deg) scale(1.1)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20px rgba(108,99,255,0.2)}50%{box-shadow:0 0 50px rgba(108,99,255,0.5), 0 0 20px rgba(0,212,255,0.3)}}
@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

.animate-on-scroll{opacity:0;transform:translateY(40px) scale(0.98);filter:blur(10px);transition:all 0.8s cubic-bezier(0.16, 1, 0.3, 1)}
.animate-on-scroll.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.stagger-1{transition-delay:0.1s}.stagger-2{transition-delay:0.2s}.stagger-3{transition-delay:0.3s}
.stagger-4{transition-delay:0.4s}.stagger-5{transition-delay:0.5s}.stagger-6{transition-delay:0.6s}

/* ---- Utilities ---- */
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.text-white{color:var(--text-primary)}.text-muted{color:var(--text-muted)}
.text-success{color:var(--success-500)}.text-danger{color:var(--danger-500)}.text-warning{color:var(--warning-500)}
.font-bold{font-weight:700}.font-medium{font-weight:500}
.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}
.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}
.hidden{display:none!important}
.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}
.w-full{width:100%}.relative{position:relative}.overflow-hidden{overflow:hidden}

/* ---- Responsive ---- */
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
    :root{--nav-height:64px}
    h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}
    .container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}
    .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
    .nav-links{position:fixed;top:var(--nav-height);left:0;right:0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);flex-direction:column;padding:var(--space-6);gap:var(--space-2);border-bottom:1px solid var(--glass-border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-base)}
    .nav-links.open{transform:translateY(0);opacity:1;visibility:visible}
    .nav-toggle{display:flex}.nav-actions{display:none}
    .hero-title{font-size:clamp(2rem,8vw,3.5rem)}.hero-stats{gap:var(--space-6);flex-wrap:wrap}
    .footer-grid{grid-template-columns:1fr;gap:var(--space-8)}.footer-bottom{flex-direction:column;text-align:center}
    .hero-actions{flex-direction:column;align-items:center}
    .toast{min-width:auto;max-width:calc(100vw - 48px)}.toast-container{left:var(--space-6)}
}
@media(max-width:480px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.btn-lg{padding:14px 28px;font-size:var(--text-sm)}.hero{padding:var(--space-16) var(--space-4)}}
