.hero-home{position:relative;overflow:hidden;isolation:isolate;background-color:hsl(var(--background))}.hero-home:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,hsl(var(--grid)/.9) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--grid)/.9) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 0,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 0,transparent 80%);z-index:-2;pointer-events:none}.hero-home:after{content:"";top:-20%;transform:translateX(-50%);width:120%;height:90%;background:radial-gradient(ellipse at center,hsl(var(--highlight)/.18) 0,hsl(var(--highlight)/.06) 30%,transparent 65%);filter:blur(20px)}.hero-home:after,.hero-orbit{position:absolute;left:50%;z-index:-1;pointer-events:none}.hero-orbit,.hero-orbit div{top:50%;transform:translate(-50%,-50%)}.hero-orbit div{position:absolute;left:50%;border:1px solid hsl(var(--border));border-radius:9999px;opacity:.5}.ascii-corner{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.3em;color:hsl(var(--muted-foreground)/.6);text-transform:uppercase}.section-divider{position:relative;height:1px;background:linear-gradient(to right,transparent,hsl(var(--border)) 20%,hsl(var(--border)) 80%,transparent)}.card-hover{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsl(var(--highlight)/.08) 0,transparent 50%);opacity:0;transition:opacity .3s;pointer-events:none}.card-hover:hover:before{opacity:1}.marquee{display:flex;width:max-content;animation:marquee 40s linear infinite}.scroll-indicator{width:1px;height:60px;background:linear-gradient(to bottom,transparent,hsl(var(--highlight)),transparent);animation:scroll-pulse 2.5s ease-in-out infinite}@keyframes scroll-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(12px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .8s cubic-bezier(.22,1,.36,1) backwards}