





:root {
    --primary: #e4000f;
    --secondary: #000000;
    --accent: #ff2d2d;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--secondary);
    color: white;
    overflow-x: hidden;
}

.mask {
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(228, 0, 15, 0.3);
}

.glow {
    text-shadow: 0 0 10px var(--accent), 0 0 20px var(--accent);
}

.contact-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(228, 0, 15, 0.3);
}

.nav-link {
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--primary);
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.typewriter {
    overflow: hidden;
    border-right: .15em solid var(--primary);
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .15em;
    animation: 
        typing 3.5s steps(40, end),
        blink-caret .75s step-end infinite;
}

@keyframes typing {
    from { width: 0 }
    to { width: 100% }
}

@keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: var(--primary) }
}