/* ===== Demo Hero ===== */
#hero-particles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.page-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 5% 4rem;position:relative;z-index:1}
.page-hero .label{font-size:.75rem;text-transform:uppercase;letter-spacing:4px;color:rgba(76,78,168,.7);margin-bottom:1.8rem}
.page-hero h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:800;letter-spacing:-3px;line-height:1.05;margin-bottom:1.5rem}
.page-hero h1 .gradient{background:linear-gradient(135deg,#4C4EA8,#7a7cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero p{color:var(--text-muted);font-size:1.05rem;max-width:560px;margin:0 auto;line-height:1.75;font-weight:300}
.page-hero .hero-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2.5rem}

/* ===== Scroll Mouse Indicator ===== */
.scroll-mouse{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:1}
.scroll-mouse-body{width:26px;height:40px;border:2px solid var(--primary);border-radius:14px;display:flex;justify-content:center;padding-top:8px;opacity:.6}
.scroll-mouse-dot{width:4px;height:8px;background:var(--primary);border-radius:2px;animation:scrollMouseBounce 1.8s ease-in-out infinite}
@keyframes scrollMouseBounce{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(12px);opacity:.3}}

/* ===== Features Grid ===== */
.features-section{padding:4rem 5% 6rem;max-width:1200px;margin:0 auto;position:relative;z-index:1}
.features-header{text-align:center;margin-bottom:4rem}
.features-header .label{font-size:.75rem;text-transform:uppercase;letter-spacing:4px;color:rgba(76,78,168,.7);margin-bottom:1.8rem}
.features-header h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;letter-spacing:-1.5px}
.features-header h2 .gradient{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.feature-card{padding:2.5rem;border:1px solid var(--border);border-radius:18px;background:var(--bg-card);transition:.4s}
.feature-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:0 8px 30px var(--shadow)}
.feature-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(76,78,168,.08),rgba(122,124,255,.08));display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary)}
.feature-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.8rem;letter-spacing:-.3px}
.feature-card p{font-size:.92rem;color:var(--text-body);line-height:1.8;font-weight:300}

/* ===== Screenshot Carousel ===== */
.screenshot-section{padding:4rem 5% 6rem;max-width:1200px;margin:0 auto;position:relative;z-index:1;text-align:center}
.screenshot-section .label{font-size:.75rem;text-transform:uppercase;letter-spacing:4px;color:rgba(76,78,168,.7);margin-bottom:1.8rem}
.screenshot-section h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;letter-spacing:-1.5px;margin-bottom:3rem}
.screenshot-section h2 .gradient{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.carousel{position:relative;width:100%;max-width:900px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 8px 40px rgba(76,78,168,.12)}
.carousel-track{position:relative;width:100%;aspect-ratio:16/9}
.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:translateX(100%);transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s ease;pointer-events:none}
.carousel-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}
.carousel-slide.exit-left{opacity:0;transform:translateX(-100%)}
.carousel-slide.exit-right{opacity:0;transform:translateX(100%)}
.carousel-slide.enter-left{transform:translateX(-100%)}
.carousel-slide.enter-right{transform:translateX(100%)}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-caption{position:absolute;bottom:0;left:0;width:100%;padding:2rem 1.5rem 1.2rem;background:linear-gradient(transparent,rgba(26,26,46,.7));color:#fff;font-size:.9rem;font-weight:500;text-align:left;letter-spacing:.3px}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:.2s;z-index:2}
.carousel-btn:hover{background:#fff;box-shadow:0 4px 15px rgba(0,0,0,.2)}
.carousel-prev{left:1rem}
.carousel-next{right:1rem}
.carousel-dots{position:absolute;bottom:1rem;right:1.5rem;display:flex;gap:.5rem;z-index:2}
.carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.2s}
.carousel-dot.active{background:#fff;transform:scale(1.2)}

/* ===== How It Works ===== */
.how-section{padding:4rem 5% 6rem;max-width:1000px;margin:0 auto;position:relative;z-index:1}
.how-header{text-align:center;margin-bottom:4rem}
.how-header .label{font-size:.75rem;text-transform:uppercase;letter-spacing:4px;color:rgba(76,78,168,.7);margin-bottom:1.8rem}
.how-header h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;letter-spacing:-1.5px}
.how-header h2 .gradient{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.steps{display:flex;flex-direction:column;gap:2.5rem}
.step{display:flex;gap:2rem;align-items:flex-start;padding:2rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);transition:.4s}
.step:hover{border-color:var(--border-hover);box-shadow:0 4px 20px var(--shadow)}
.step-num{width:48px;height:48px;min-width:48px;border-radius:12px;background:var(--gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}
.step-content h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.step-content p{font-size:.9rem;color:var(--text-body);line-height:1.7;font-weight:300}

/* ===== Demo Responsive ===== */
@media(max-width:900px){
    .features-grid{grid-template-columns:1fr}
    .page-hero{min-height:100vh;min-height:100dvh;padding:7rem 5% 2.5rem}
    .features-section{padding:3rem 5% 4rem}
    .screenshot-section{padding:3rem 5% 4rem}
    .how-section{padding:3rem 5% 4rem}
    .step{flex-direction:column;gap:1rem}
}
@media(max-width:600px){
    .page-hero{min-height:100vh;min-height:100dvh;padding:6rem 5% 2rem}
    .features-section{padding:2rem 5% 3rem}
    .screenshot-section{padding:2rem 5% 3rem}
    .how-section{padding:2rem 5% 3rem}
}
