/* ==================== SCROLL INDICATOR ==================== */ .scroll-indicator { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; z-index: 10; opacity: 0.7; transition: opacity 0.3s ease; cursor: pointer; } .scroll-indicator:hover { opacity: 1; } .mouse { width: 26px; height: 42px; border: 2px solid rgba(255, 255, 255, 0.4); border-radius: 20px; position: relative; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); } .wheel { width: 4px; height: 8px; background: var(--accent-yellow, #E3F514); border-radius: 2px; position: absolute; top: 6px; left: 50%; transform: translateX(-50%); animation: scrollWheel 2s ease-in-out infinite; } .arrow-scroll { width: 10px; height: 10px; border-right: 2px solid rgba(255, 255, 255, 0.4); border-bottom: 2px solid rgba(255, 255, 255, 0.4); transform: rotate(45deg); animation: scrollArrow 2s ease-in-out infinite; animation-delay: 0.2s; } @keyframes scrollWheel { 0% { top: 6px; opacity: 1; height: 8px; } 100% { top: 24px; opacity: 0; height: 4px; } } @keyframes scrollArrow { 0% { transform: rotate(45deg) translate(0, 0); opacity: 0; } 50% { opacity: 1; } 100% { transform: rotate(45deg) translate(2px, 2px); opacity: 0; } } /* Reduced Motion */ @media (prefers-reduced-motion: reduce) { .wheel, .arrow-scroll { animation: none; } } /* Hide on small screens where height is limited */ @media (max-height: 700px) { .scroll-indicator { display: none; } }