.dot-grid{background-image:radial-gradient(circle,#d1d5db 1px,transparent 0)}.dot-grid,.dot-grid-dark{background-size:24px 24px}.dot-grid-dark{background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 0)}@keyframes shimmer{0%{background-position:0}to{background-position:200%}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{0%{top:0;opacity:.6}to{top:100%;opacity:0}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.btn-shimmer{background:linear-gradient(90deg,#fb9c2d,#f97316 30%,#fb9c2d 60%,#f97316 90%);background-size:200% auto;animation:shimmer 3s linear infinite}.text-gradient{background:linear-gradient(135deg,#fb9c2d,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-line{background:linear-gradient(90deg,transparent,#fb9c2d 50%,transparent)}.glow-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.catalog-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(251,156,45,.12);border-color:#fb9c2d}.catalog-card.sold-out{opacity:.58;pointer-events:none}.compare-col{transition:transform .2s ease,box-shadow .2s ease}.compare-col:hover{transform:translateY(-3px)}.filter-chip{cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-chip.active,.filter-chip:hover{background-color:#fb9c2d;color:#000;border-color:#fb9c2d}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-item.open .faq-answer{max-height:500px}.faq-chevron{transition:transform .3s ease}.faq-item.open .faq-chevron{transform:rotate(180deg)}