/* LEIVOO — www.leivoo.com */
:root{--p:#A855F7;--pl:#C084FC;--pd:#7C3AED;--m:#D946EF;--ms:#E879F9;--b:#050508;--bd:#0A0A0F;--bc:#111118;--w:#fff;--s:#A1A1AA;--mu:#71717A;--bs:rgba(255,255,255,.06);--bg:rgba(168,85,247,.2);--r-sm:8px;--r-md:16px;--r-lg:24px;--r-xl:32px;--tf:.2s cubic-bezier(.4,0,.2,1);--ts:.4s cubic-bezier(.4,0,.2,1);--tl:.8s cubic-bezier(.4,0,.2,1);}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--b);color:var(--w);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--b)}::-webkit-scrollbar-thumb{background:var(--pd);border-radius:3px}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 36px;background:linear-gradient(135deg,var(--p),var(--m));color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.02em;border-radius:var(--r-xl);transition:all var(--tf);position:relative;overflow:hidden;box-shadow:0 4px 24px rgba(168,85,247,.3)}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--m),var(--p));opacity:0;transition:opacity var(--tf)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(168,85,247,.45)}.btn-primary:hover::before{opacity:1}
.btn-primary span{position:relative;z-index:1}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 36px;background:transparent;color:#fff;font-size:.95rem;font-weight:500;border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xl);transition:all var(--tf)}
.btn-secondary:hover{border-color:var(--pl);background:rgba(168,85,247,.08)}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 24px;transition:all var(--ts)}
.nav.scrolled{background:rgba(5,5,8,.85);backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--bs);padding:14px 24px}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:10px}.nav-logo img{height:36px;width:auto}
.nav-logo span{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,var(--pl));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--s);transition:color var(--tf);position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--pl);transition:width var(--tf)}
.nav-links a:hover{color:#fff}.nav-links a:hover::after{width:100%}
.nav-mobile-toggle{display:none;flex-direction:column;gap:5px;padding:8px}.nav-mobile-toggle span{display:block;width:24px;height:2px;background:#fff;transition:all var(--tf)}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-canvas{position:absolute;inset:0;z-index:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 0%,rgba(168,85,247,.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(217,70,239,.08) 0%,transparent 50%),linear-gradient(180deg,rgba(5,5,8,.3) 0%,rgba(5,5,8,.7) 60%,var(--b) 100%)}
.hero-vignette{position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 150px rgba(0,0,0,.6);pointer-events:none}
.hero-content{position:relative;z-index:10;text-align:center;max-width:900px;padding:0 24px;margin-top:60px}
.hero-logo{margin-bottom:40px;opacity:0;transform:translateY(20px);animation:fu 1s ease .3s forwards}
.hero-logo img{height:80px;width:auto;margin:0 auto}
.hero-headline{margin-bottom:24px;opacity:0;transform:translateY(30px);animation:fu 1s ease .5s forwards}
.hero-headline h1{font-size:clamp(3.5rem,12vw,8rem);font-weight:800;letter-spacing:-.05em;line-height:.9;background:linear-gradient(180deg,#fff 30%,var(--pl) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{margin-bottom:48px;opacity:0;transform:translateY(20px);animation:fu 1s ease .7s forwards}
.hero-sub p{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400;color:var(--s);letter-spacing:.01em}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:fu 1s ease .9s forwards}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fu 1s ease 1.2s forwards}
.hero-scroll span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--pl),transparent);animation:sp 2s ease-in-out infinite}
@keyframes fu{to{opacity:1;transform:translateY(0)}}@keyframes sp{0%,100%{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}

/* Sections */
.section{position:relative;padding:120px 24px}.section-inner{max-width:1200px;margin:0 auto}
.label{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--pl);margin-bottom:16px}
.display-section{font-size:clamp(2rem,5vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.body-large{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:400;line-height:1.6;color:var(--s)}

/* Problem */
.problem{background:var(--bd);overflow:hidden}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.problem-text{max-width:520px}.problem-text h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;margin-bottom:24px}
.problem-text p{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--s);line-height:1.7}
.problem-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.problem-visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--tl)}
.problem-visual:hover img{transform:scale(1.05)}.problem-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,10,15,.8) 100%)}

/* Insight */
.insight{background:var(--b);text-align:center;position:relative}.insight::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--p),transparent);opacity:.3}
.insight h2{font-size:clamp(2.5rem,7vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--pl),var(--ms));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:24px}
.insight p{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--s);max-width:600px;margin:0 auto}

/* How It Works */
.how{background:var(--bd);overflow:hidden}.how-header{text-align:center;margin-bottom:80px}.how-header h2{margin-bottom:16px}
.how-steps{display:flex;flex-direction:column;gap:100px}
.how-step{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.how-step:nth-child(even){direction:rtl}.how-step:nth-child(even)>*{direction:ltr}
.step-number{font-size:5rem;font-weight:800;background:linear-gradient(135deg,var(--p),var(--m));-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.25;line-height:1;margin-bottom:8px}
.step-title{font-size:1.8rem;font-weight:700;margin-bottom:12px;letter-spacing:-.02em}
.step-desc{font-size:1.05rem;color:var(--s);line-height:1.7}
.step-visual{position:relative;display:flex;justify-content:center}
.phone-mockup{width:280px;height:570px;background:#000;border-radius:40px;padding:10px;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 25px 80px rgba(0,0,0,.6),0 0 60px rgba(168,85,247,.15);position:relative;overflow:hidden}
.phone-mockup::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:100px;height:24px;background:#000;border-radius:0 0 16px 16px;z-index:5}
.phone-mockup img{width:100%;height:100%;object-fit:cover;border-radius:32px}

/* Magic */
.magic{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.magic-bg{position:absolute;inset:0;z-index:0}.magic-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(1.2)}
.magic-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--b) 0%,transparent 30%,transparent 70%,var(--b) 100%)}
.magic-content{position:relative;z-index:10;text-align:center;max-width:700px;padding:0 24px}
.magic-time{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--pl);margin-bottom:24px}
.magic h2{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin-bottom:20px}
.magic p{font-size:clamp(1rem,2vw,1.25rem);color:var(--s);line-height:1.7}

/* Manifesto */
.manifesto{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 50%,rgba(168,85,247,.08) 0%,transparent 60%),var(--b);position:relative;overflow:hidden}
.manifesto::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23A855F7' fill-opacity='.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");opacity:.5}
.manifesto-content{position:relative;z-index:2;max-width:900px;padding:0 24px}
.manifesto h2{font-size:clamp(2.5rem,8vw,6rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:32px}
.manifesto h2 span{background:linear-gradient(135deg,var(--pl),var(--ms));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.manifesto p{font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--s);max-width:560px;margin:0 auto;line-height:1.6}

/* Venues */
.venues{background:var(--bd);position:relative}.venues-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.venues-text h2{margin-bottom:20px}.venues-text p{margin-bottom:32px}
.venues-visual{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.venues-visual img{width:100%;height:100%;object-fit:cover}

/* Waitlist */
.waitlist{background:radial-gradient(ellipse at 30% 20%,rgba(168,85,247,.1) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(217,70,239,.08) 0%,transparent 50%),var(--b);position:relative}
.waitlist::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--p),transparent);opacity:.3}
.waitlist-header{text-align:center;margin-bottom:60px}.waitlist-header h2{margin-bottom:16px}
.waitlist-form-container{max-width:520px;margin:0 auto;background:var(--bc);border:1px solid var(--bs);border-radius:var(--r-lg);padding:48px;position:relative;overflow:hidden}
.waitlist-form-container::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--p),var(--m))}
.form-group{margin-bottom:24px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--s);margin-bottom:8px}
.form-group input,.form-group select{width:100%;padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid var(--bs);border-radius:var(--r-md);color:#fff;font-size:1rem;transition:all var(--tf);font-family:inherit}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--p);background:rgba(168,85,247,.05);box-shadow:0 0 0 3px rgba(168,85,247,.1)}
.form-group input::placeholder{color:var(--mu)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{width:100%;margin-top:8px}.form-privacy{margin-top:20px;text-align:center;font-size:.8rem;color:var(--mu)}
.form-privacy a{color:var(--pl);text-decoration:underline;text-underline-offset:2px}
.form-success{text-align:center;padding:40px 20px;display:none}.form-success.active{display:block}
.form-success h3{font-size:1.5rem;font-weight:700;margin-bottom:12px}.form-success p{color:var(--s)}

/* Footer */
.footer{background:var(--b);border-top:1px solid var(--bs);padding:60px 24px 40px}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:40px}
.footer-brand{max-width:280px}.footer-brand img{height:40px;margin-bottom:16px}.footer-brand p{font-size:.9rem;color:var(--mu);line-height:1.6}
.footer-links{display:flex;gap:60px;flex-wrap:wrap}.footer-col h4{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin-bottom:16px}
.footer-col a{display:block;font-size:.9rem;color:var(--s);margin-bottom:10px;transition:color var(--tf)}.footer-col a:hover{color:#fff}
.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--bs);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-bottom p{font-size:.8rem;color:var(--mu)}

/* Scroll Animations */
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}

/* Mobile Menu */
.mobile-menu{position:fixed;inset:0;z-index:999;background:rgba(5,5,8,.98);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity var(--ts)}
.mobile-menu.active{opacity:1;pointer-events:all}.mobile-menu a{font-size:1.5rem;font-weight:600;color:var(--s);transition:color var(--tf)}.mobile-menu a:hover{color:#fff}
.mobile-menu .btn-primary{margin-top:16px}.mobile-close{position:absolute;top:24px;right:24px;color:#fff;font-size:2rem}

/* Responsive */
@media(max-width:900px){.nav{padding:16px 18px}.nav.scrolled{padding:12px 18px}.nav-links{display:none}.nav-cta{display:none}.nav-mobile-toggle{display:flex}.problem-grid,.how-step,.venues-grid{grid-template-columns:1fr;gap:48px}.how-step:nth-child(even){direction:ltr}.section{padding:80px 20px}.phone-mockup{width:240px;height:490px}.waitlist-form-container{padding:32px 24px}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column}.footer-links{gap:40px}.mobile-menu .btn-primary{width:auto}}
@media(max-width:480px){.nav-logo img{height:32px}.nav-logo span{font-size:1.25rem}.hero-content{margin-top:48px;width:100%}.hero-logo{margin-bottom:28px}.hero-logo img{height:60px}.hero-headline{margin-bottom:20px}.hero-headline h1{font-size:clamp(2.2rem,11vw,3rem);line-height:1;padding-bottom:.1em;overflow:visible}.hero-sub{margin-bottom:36px}.hero-ctas{flex-direction:column;width:100%}.hero-ctas .btn-primary,.hero-ctas .btn-secondary{width:100%}.section{padding:64px 18px}.waitlist-form-container{padding:28px 18px}.form-submit{width:100%}.venues-text .btn-primary,.waitlist .btn-primary{width:100%}}
