/* --- HOME PAGE ANIMATION EXTENSIONS --- */

/* Spring Physics for Home Page Entrance */
.reveal-left, .reveal-right, .reveal-up {
    opacity: 0;
    transition: all 1.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.reveal-left { transform: translateX(-80px); }
.reveal-right { transform: translateX(80px); }
.reveal-up { transform: translateY(50px); }

.reveal-left.active, .reveal-right.active, .reveal-up.active {
    opacity: 1;
    transform: translate(0, 0);
}

/* Premium Profile Image Interaction */
.profile-wrap {
    position: relative;
    overflow: hidden;
    transition: transform 0.5s var(--spring-bounce), box-shadow 0.5s ease;
}

.profile-wrap:hover {
    transform: scale(1.03) rotate(1deg);
    box-shadow: 0 0 30px rgba(0, 255, 65, 0.2);
}

/* Hero Button Enhancements */
.btn-primary-tech {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.btn-primary-tech:hover {
    letter-spacing: 2px;
    box-shadow: 0 0 20px var(--neon-green);
    transform: translateY(-3px);
}

.btn-secondary-glass:hover {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    transform: translateY(-3px);
}

/* Pulse animation for the live status dot */
.pulse {
    animation: shadow-pulse 2s infinite;
}

@keyframes shadow-pulse {
    0% { box-shadow: 0 0 0 0px rgba(0, 255, 65, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(0, 255, 65, 0); }
    100% { box-shadow: 0 0 0 0px rgba(0, 255, 65, 0); }
}

/* Paragraph Typing Visibility */
.tech-type-p {
    min-height: 3em; /* Prevents layout shift during typing */
}