.hero{padding-block:clamp(100px,16vw,200px);position:relative;overflow:hidden;border:none!important}.hero-center{text-align:center;z-index:2;max-width:38ch;margin-inline:auto;position:relative}.hero h1{margin-bottom:var(--gap-md)}.hero .lead{margin-bottom:var(--gap-lg);margin-inline:auto}.hero-cta{gap:var(--gap-sm);flex-wrap:wrap;justify-content:center;display:inline-flex}.hero-particles{z-index:1;position:absolute;inset:0;overflow:hidden}.hero-particles .orb{will-change:transform;border-radius:50%;position:absolute}.hero-particles .orb:first-child{background:radial-gradient(circle, color-mix(in oklch, var(--accent) 20%, transparent), transparent 70%);width:300px;height:300px;top:-80px;right:-60px}.hero-particles .orb:nth-child(2){background:radial-gradient(circle, color-mix(in oklch, var(--accent) 12%, transparent), transparent 70%);width:200px;height:200px;bottom:-40px;left:10%}.hero-particles .orb:nth-child(3){background:radial-gradient(circle, color-mix(in oklch, var(--accent) 15%, transparent), transparent 70%);width:150px;height:150px;top:30%;left:-40px}.hero-particles .orb:nth-child(4){background:radial-gradient(circle, color-mix(in oklch, var(--accent) 18%, transparent), transparent 70%);width:100px;height:100px;top:20%;right:20%}.hero-particles .orb:nth-child(5){background:radial-gradient(circle, color-mix(in oklch, var(--accent) 10%, transparent), transparent 70%);width:250px;height:250px;bottom:10%;right:-80px}.hero-grid{z-index:0;background-image:linear-gradient(to right, color-mix(in oklch, var(--border) 40%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--border) 40%, transparent) 1px, transparent 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 60%,#000 20%,#0000 70%);mask-image:radial-gradient(60% 60%,#000 20%,#0000 70%)}.typed-cursor{background:var(--accent);vertical-align:text-bottom;width:3px;height:1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.split-line{overflow:hidden}.split-line .line{transform:translateY(100%)}[data-animate]{opacity:0}[data-animate=fade-up]{transform:translateY(40px)}[data-animate=fade-left]{transform:translate(-40px)}[data-animate=fade-right]{transform:translate(40px)}[data-animate=scale-in]{transform:scale(.9)}[data-animate=stagger]>*{opacity:0;transform:translateY(30px)}
