 /* --- RESET & VARIÁVEIS --- */
        :root {
            --bg-color: #0a0a12;
            --card-bg: rgba(20, 20, 35, 0.7);
            --primary: #00ffcc;
            --secondary: #ff007f;
            --text: #e2e8f0;
        }
 

        .portfolio {
            background-color: var(--bg-color);
            color: var(--text);
            overflow-x: hidden;
            background-image: 
                radial-gradient(circle at 20% 30%, rgba(0, 255, 204, 0.05) 0%, transparent 40%),
                radial-gradient(circle at 80% 70%, rgba(255, 0, 127, 0.05) 0%, transparent 40%);
        }

       
        header {
            text-align: center;
            margin-bottom: 50px;
        }

        .fonte-h1 {   
             text-transform: uppercase;
            letter-spacing: 4px;
            color: #fff;
            text-shadow: 0 0 5px var(--primary), 0 0 10px var(--primary);
            margin-bottom: 1px;
        }

          .fonte-h2 {   
             text-transform: uppercase;
            letter-spacing: 4px;
            color: #181818;
            text-shadow: 0 0 5px var(--primary), 0 0 10px var(--primary);
            margin-bottom: 1px;
        }

        /* --- FILTROS --- */
        .filters {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 40px;
            flex-wrap: wrap;
        }

        .filter-btn {
            background: transparent;
            border: 2px solid var(--primary);
            color: var(--primary);
            padding: 8px 25px;
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            cursor: pointer;
            border-radius: 4px;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            box-shadow: 0 0 5px rgba(0, 255, 204, 0.2);
        }

        .filter-btn:hover, .filter-btn.active {
            background: var(--primary);
            color: var(--bg-color);
            box-shadow: 0 0 20px var(--primary);
            transform: translateY(-3px);
        }

        /* --- CONTÊINER DO SLIDER (3 POR LINHA) --- */
        .slider-wrapper {
            position: relative;
            max-width: 100%;
            margin: 0 auto 40px auto;
            padding: 0 10px;
        }

        .slider-container {
            overflow: hidden;
            border-radius: 12px;
            position: relative;
        }

        .slider-track {
            display: flex;
            /* Transição ultra suave com física customizada */
            transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);
            will-change: transform; /* Otimização de performance para aceleração de hardware */
        }

        .slider-item {
            min-width: 33.333%; 
            box-sizing: border-box;
            padding: 15px;
        }

        /* Responsividade */
        @media (max-width: 992px) {
            .slider-item { min-width: 50%; }
        }
        @media (max-width: 650px) {
            .slider-item { min-width: 100%; }
        }

        /* --- BOTÕES DO SLIDER --- */
        .slider-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(10, 10, 18, 0.9);
            border: 2px solid var(--primary);
            color: var(--primary);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            z-index: 10;
            transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
            box-shadow: 0 0 10px rgba(0, 255, 204, 0.3);
        }

        .slider-arrow:hover {
            background: var(--primary);
            color: var(--bg-color);
            box-shadow: 0 0 25px var(--primary);
            transform: translateY(-50%) scale(1.1);
        }

        .slider-arrow:active {
            transform: translateY(-50%) scale(0.95);
        }

        .slider-arrow.prev { left: -30px; }
        .slider-arrow.next { right: -30px; }

        @media (max-width: 1250px) {
            .slider-arrow.prev { left: 5px; }
            .slider-arrow.next { right: 5px; }
        }

        /* --- INDICADORES (DOTS BOOM) --- */
        .slider-dots {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-top: 25px;
        }

        .dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.15);
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            position: relative;
        }

        .dot:hover {
            background: rgba(0, 255, 204, 0.5);
            transform: scale(1.2);
        }

        .dot.active {
            background: var(--secondary);
            box-shadow: 0 0 15px var(--secondary), 0 0 5px #fff;
            width: 24px; /* Efeito "pílula" moderno e expansível quando ativo */
            border-radius: 6px;
        }

        /* --- CARD --- */
        .project-card {
            background: var(--card-bg);
            border-radius: 12px;
            overflow: hidden;
            position: relative;
            border: 1px solid rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(10px);
            transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        .project-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            border-radius: 12px;
            background: linear-gradient(45deg, var(--primary), var(--secondary));
            z-index: -1;
            opacity: 0;
            transition: opacity 0.5s ease;
        }

        .project-card:hover {
            transform: translateY(-8px);
            border-color: transparent;
            box-shadow: 0 15px 35px rgba(0, 255, 204, 0.15);
        }

        .project-card:hover::before { opacity: 0.8; }

        .card-img-wrapper {
            position: relative;
            height: 200px;
            overflow: hidden;
        }

        .card-img-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .project-card:hover .card-img-wrapper img {
            transform: scale(1.12) rotate(1deg);
        }

        .card-overlay {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(10, 10, 18, 0.85);
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            transition: opacity 0.4s ease;
        }

        .project-card:hover .card-overlay { opacity: 1; }

        .view-btn {
            background: var(--secondary);
            color: white;
            border: none;
            padding: 12px 25px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            border-radius: 4px;
            cursor: pointer;
            transform: translateY(15px);
            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .project-card:hover .view-btn {
            transform: translateY(0);
            box-shadow: 0 0 15px var(--secondary);
        }

        .card-content {
            padding: 25px;
            background: var(--card-bg);
            flex-grow: 1;
        }

        .project-tag {
            font-size: 0.8rem;
            text-transform: uppercase;
            color: var(--secondary);
            font-weight: bold;
            letter-spacing: 2px;
            margin-bottom: 8px;
            display: inline-block;
        }

        .project-title {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.4rem;
            color: #fff;
            margin-bottom: 10px;
        }

        .project-desc {
            font-size: 0.95rem;
            color: #a0aec0;
            line-height: 1.5;
        }