@keyframes floatCard{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.card-float{animation:floatCard 6s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.blog-card-animate{animation:fadeInUp .6s ease-out forwards;opacity:0}.blog-card-animate-delay-1{animation-delay:.15s}.blog-card-animate-delay-2{animation-delay:.3s}.blog-card-animate-delay-3{animation-delay:.45s}@keyframes faviconBounce{0%{transform:translateY(0) scale(1)}18%{transform:translateY(6px) scaleX(1.05) scaleY(.95)}36%{transform:translateY(-12px) scale(1.02)}54%{transform:translateY(4px) scaleX(1.03) scaleY(.97)}72%{transform:translateY(-6px) scale(1.01)}90%{transform:translateY(2px) scaleX(1.02) scaleY(.98)}to{transform:translateY(0) scale(1)}}.favicon-bounce{transform-origin:bottom center}.group:hover .favicon-bounce{animation:faviconBounce .7s cubic-bezier(.28,.84,.42,1) 1 both}.hero-grid-container{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:-10}.hero-vertical-lines{background-image:repeating-linear-gradient(to right,transparent,transparent calc(14.28% - 1px),hsl(var(--foreground)/.05) calc(14.28% - 1px),hsl(var(--foreground)/.05) 14.28%);inset:0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);position:absolute}.hero-horizontal-lines{background-image:linear-gradient(to bottom,hsl(var(--foreground)/.03) 1px,transparent 1px);background-size:100% 80px;inset:0;-webkit-mask-image:radial-gradient(ellipse at center,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 40%,transparent 80%);position:absolute}.hero-glow{background:radial-gradient(circle at center,hsl(var(--primary)/.55),transparent 40%);filter:blur(60px);height:80%;left:50%;opacity:.8;position:absolute;top:40%;transform:translate(-50%,-50%) translateZ(0);width:120%;will-change:transform}@media (max-width:768px){.hero-glow{display:none}}