.landing{--dot-base:150 4% 82%;--dot-lit:var(--brand)}.dark .landing{--dot-base:150 2% 34%}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}.landing .rise{animation:landing-rise .52s var(--ease) both}.landing .grid-backdrop{background-image:linear-gradient(to right, hsl(var(--border) / .55) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--border) / .55) 1px, transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 40%,#000 20%,#0000 75%)}.landing .tilt-scene{flex-direction:column;align-items:center;gap:1rem;display:flex}.landing .tilt-frame{perspective:900px;aspect-ratio:1.66;width:min(20rem,100%)}.landing .tilt-card{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(calc(var(--ry,0deg) + var(--flip,0deg)));transition:transform .32s var(--ease);will-change:transform;position:relative}.landing .tilt-card.is-flipped{--flip:180deg}.landing .tilt-face{border-radius:var(--radius-panel);border:1px solid hsl(var(--border));background:linear-gradient(160deg, hsl(var(--card)) 0%, hsl(var(--background)) 100%);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 60px -24px #000000b3}.landing .tilt-back{transform:rotateY(180deg)}.landing .tilt-glare{background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), hsl(var(--brand) / .16), transparent 55%);opacity:0;transition:opacity var(--fast) var(--ease);position:absolute;inset:0}.landing .tilt-frame:hover .tilt-glare{opacity:1}.landing .tilt-flip{border-radius:var(--radius);border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.75rem;display:inline-flex}.landing .tilt-flip:hover{color:hsl(var(--foreground));border-color:hsl(var(--brand) / .5)}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.landing .tilt-card{transform:none}.landing .tilt-card.is-flipped{transform:rotateY(180deg)}}
