﻿

/* Extracted from portfolio.html */
:root {
            --primary: #1B2A22;
            --secondary: #2D4A3A;
            --accent: #C5A880;
            --neutralLight: #F9F8F6;
            --neutralAlt: #e6ece8;
        }

        body {
            background-color: var(--neutralLight);
            color: var(--primary);
            overflow-x: hidden;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        body::-webkit-scrollbar { display: none; }

        /* Glass Panel */
        .glass-panel {
            background: rgba(255, 255, 255, 0.65);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
        }

        /* Reveal animations */
        .reveal-scroll {
            opacity: 0;
            transform: translateY(40px);
            filter: blur(10px);
            will-change: transform, opacity, filter;
        }

        .reveal-up {
            opacity: 0;
            transform: translateY(30px);
            filter: blur(15px);
            will-change: transform, opacity, filter;
            transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-up.active {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

        /* Hero overlay */
        .hero-overlay-multi {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(to bottom, rgba(27,42,34,0.55) 0%, rgba(27,42,34,0.1) 40%, rgba(27,42,34,0.0) 60%, rgba(27,42,34,0.0) 75%),
                linear-gradient(to top, var(--neutralLight) 0%, transparent 30%);
        }

        /* Shimmer */
        @keyframes shimmer {
            from { transform: translateX(-100%) skewX(-15deg); }
            to   { transform: translateX(200%) skewX(-15deg); }
        }

        /* Floating particles */
        .particle {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            animation: floatParticle linear infinite;
        }
        @keyframes floatParticle {
            0%   { transform: translateY(100vh) scale(0); opacity: 0; }
            10%  { opacity: 0.6; }
            90%  { opacity: 0.3; }
            100% { transform: translateY(-10vh) scale(1.2); opacity: 0; }
        }

        /* Horizontal line decoration */
        .line-accent {
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--accent), transparent);
        }

        /* ─── PORTFOLIO GRID: ANTES E DEPOIS ─── */

        /* Card wrapper */
        .portfolio-card {
            width: 100%;
            aspect-ratio: 4/3;
            border-radius: 1.5rem;
            overflow: hidden;
            position: relative;
            cursor: default;
        }

        /* Slide overlay + info */
        .slide-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(27,42,34,0.75) 0%, transparent 55%);
            z-index: 5;
            pointer-events: none;
        }
        .slide-info {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            padding: 1.5rem;
            z-index: 6;
            transform: translateY(8px);
            opacity: 0;
            transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
            pointer-events: none;
        }
        .portfolio-card:hover .slide-info {
            transform: translateY(0);
            opacity: 1;
        }
        /* Row section alternating backgrounds */
        .portfolio-row { padding: 5rem 0; }
        .portfolio-row:nth-child(even) { background-color: var(--neutralAlt); }
        .portfolio-row:nth-child(odd)  { background-color: var(--neutralLight); }

@media (min-width: 1024px) {
                        #cta-yellow-bg { left: 0; width: 100vw; clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%); margin-left: -15px; }
                    }
                    @media (max-width: 1023px) {
                        #cta-yellow-bg { left: 50%; transform: translateX(-50%); width: 100vw; clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 100%); margin-top: -15px; }
                    }
                

        /* WhatsApp Floating Button */
        .whatsapp-float {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 60px;
            height: 60px;
            background-color: #25D366;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
            z-index: 1000;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            animation: pulse-wa 2s infinite cubic-bezier(0.66, 0, 0, 1);
        }

        .whatsapp-float:hover {
            transform: translateY(-5px) scale(1.05);
            box-shadow: 0 8px 25px rgba(37, 211, 102, 0.6);
            background-color: #20BA56;
        }

        .whatsapp-float svg {
            width: 32px;
            height: 32px;
            fill: currentColor;
        }
        
        @keyframes pulse-wa {
            0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
            70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
            100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
        }
        
        @media (max-width: 768px) {
            .whatsapp-float {
                bottom: 1.5rem;
                right: 1.5rem;
                width: 50px;
                height: 50px;
            }
            .whatsapp-float svg {
                width: 28px;
                height: 28px;
            }
        }
