/* ================= VARIÁVEIS ================= */
        :root {
            --primary: #672F8F; --secondary: #00B4EB; --bg-base: #030305;
            --glass-bg: rgba(255, 255, 255, 0.03); --glass-border: rgba(255, 255, 255, 0.08);
            --text-main: #f0f0f0; --text-muted: #a0a0ab; --whatsapp: #25D366;
            --btn: #672F8F; --btn-hover: #00B4EB; --btn-text: #ffffff;
            --btn-glow: rgba(103,47,143,.5); --btn-glow-h: rgba(0,180,235,.7);
        }

        /* ================= RESET E BASE ================= */
        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Outfit', sans-serif;
            background-color: var(--bg-base);
            color: var(--text-main);
            overflow-x: hidden;
            position: relative;
            scroll-behavior: smooth;
        }

        /* EFEITO DOS ORBES DE LUZ NO FUNDO */
        body::before, body::after {
            content: '';
            position: fixed;
            width: 600px;
            height: 600px;
            border-radius: 50%;
            filter: blur(150px);
            z-index: -1;
            opacity: 0.4;
            animation: floatOrb 10s infinite alternate ease-in-out;
        }

        body::before { background: var(--primary); top: -200px; left: -200px; }
        body::after { background: var(--secondary); bottom: -200px; right: -200px; animation-delay: -5s; }

        @keyframes floatOrb {
            0% { transform: translate(0, 0); }
            100% { transform: translate(50px, 50px); }
        }

        h1, h2, h3, .museo-font { font-family: 'MuseoModerno', sans-serif; }
        a { text-decoration: none; color: inherit; }

        /* ================= GLASSMORPHISM ================= */
        .glass-panel {
            background: var(--glass-bg);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid var(--glass-border);
            border-radius: 20px;
        }

        /* ================= HEADER FLUTUANTE ================= */
        header {
            position: fixed;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 1200px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 30px;
            z-index: 1000;
            flex-wrap: wrap;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .brand img { height: 40px; }
        .brand h2 { font-size: 1.6rem; letter-spacing: 1px; font-weight: 700; }

        /* ================= MENU HAMBÚRGUER (CSS PURO) ================= */
        #menu-toggle { display: none; }

        .hamburger {
            display: none;
            flex-direction: column;
            gap: 6px;
            cursor: pointer;
            z-index: 1001;
        }

        .hamburger span {
            width: 30px;
            height: 3px;
            background-color: var(--text-main);
            border-radius: 3px;
            transition: all 0.3s ease;
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 40px;
        }

        nav a {
            font-family: 'MuseoModerno', sans-serif;
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            position: relative;
            font-weight: 500;
        }

        nav a::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -5px;
            left: 0;
            background: var(--secondary);
            transition: width 0.3s ease;
        }

        nav a:hover::after { width: 100%; }

        /* ================= HERO SECTION (ALTERADO PARA CENTRALIZAÇÃO) ================= */
        .hero {
            min-height: 80vh; /* Aumentado para 100 para centralizar no viewport total */
            display: flex;
            align-items: center;
            justify-content: center; /* Centraliza horizontalmente o conteúdo */
            padding: 0 5%;
            max-width: 1300px;
            margin: 0 auto;
            text-align: center; /* Centraliza o texto */
        }

        .hero-content {
            max-width: 800px;
            z-index: 10;
            display: flex;
            flex-direction: column;
            align-items: center; /* Garante que elementos flex fiquem no meio */
        }

        .badge {
            display: inline-block;
            padding: 8px 16px;
            background: rgba(0, 180, 235, 0.1);
            border: 1px solid var(--secondary);
            color: var(--secondary);
            border-radius: 30px;
            font-size: 0.9rem;
            margin-bottom: 25px;
            letter-spacing: 1px;
            font-family: 'MuseoModerno', sans-serif;
        }

        .hero h1 {
            font-size: 4.5rem;
            line-height: 1.1;
            margin-bottom: 25px;
            text-transform: uppercase;
            font-weight: 900;
        }

        .text-gradient {
            background: linear-gradient(to right, var(--secondary), #b57bf8);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .hero p {
            font-size: 1.2rem;
            color: var(--text-muted);
            margin-bottom: 40px;
            max-width: 600px; /* Aumentado levemente para melhor equilíbrio visual centralizado */
        }

        .button-group { 
            display: flex; 
            gap: 20px; 
            flex-wrap: wrap; 
            justify-content: center; /* Centraliza os botões horizontalmente */
        }

        .btn {
            padding: 16px 32px;
            font-family: 'MuseoModerno', sans-serif;
            font-weight: 700;
            font-size: 1.1rem;
            border-radius: 12px;
            transition: all 0.3s ease;
            cursor: pointer;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .btn-glow { background: var(--btn); color: var(--btn-text); border: none; box-shadow: 0 0 20px var(--btn-glow); }

        .btn-glow:hover { background: var(--btn-hover); box-shadow: 0 0 30px var(--btn-glow-h); transform: translateY(-2px); }

        .btn-glass {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: white;
            backdrop-filter: blur(10px);
        }

        .btn-glass:hover {
            border-color: var(--secondary);
            background: rgba(0, 180, 235, 0.1);
        }

        /* ================= SESSÃO: COMO FUNCIONA ================= */
        .process-section {
            padding: 120px 5% 60px;
            max-width: 1300px;
            margin: 0 auto;
        }

        .section-header { text-align: center; margin-bottom: 70px; }
        .section-header h2 { font-size: 3rem; margin-bottom: 15px; font-weight: 700; }
        .section-header p { color: var(--text-muted); font-size: 1.1rem; }

        .steps-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
            gap: 30px;
        }

        .step-card { padding: 40px; text-align: left; transition: transform 0.4s ease; }
        .step-card:hover { transform: translateY(-10px); border-color: var(--secondary); }

        .step-number {
            font-family: 'MuseoModerno', sans-serif;
            font-size: 3.5rem;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.1);
            margin-bottom: 10px;
            display: block;
        }

        .step-card h3 { font-size: 1.6rem; margin-bottom: 15px; color: var(--secondary); }
        .step-card p { color: var(--text-muted); line-height: 1.7; }

        .contact-banner {
            margin-top: 60px;
            padding: 40px;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
            background: linear-gradient(135deg, rgba(103, 47, 143, 0.1), rgba(0, 180, 235, 0.1));
        }

        /* ================= GALERIA DE TRABALHOS ================= */
        .gallery-section {
            padding: 60px 5% 120px;
            max-width: 1300px;
            margin: 0 auto;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 25px;
        }

        .gallery-item {
            position: relative;
            height: 300px;
            border-radius: 20px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            text-align: center;
            padding: 20px;
            transition: all 0.3s ease;
        }

        .gallery-item:hover {
            border-color: var(--secondary);
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0, 180, 235, 0.2);
        }

        .gallery-item img {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            object-fit: cover;
            z-index: 1;
            opacity: 0.8;
            transition: transform 0.5s ease, opacity 0.3s ease;
        }

        .gallery-item:hover img { transform: scale(1.08); opacity: 1; }

        .gallery-item::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0; width: 100%; height: 60%;
            background: linear-gradient(to top, rgba(3, 3, 5, 0.95), transparent);
            z-index: 2;
        }

        .gallery-content {
            position: absolute;
            bottom: 25px; left: 25px; right: 25px;
            z-index: 3;
            text-align: left;
        }

        .gallery-content h3 { font-size: 1.3rem; color: white; margin-bottom: 5px; }
        .gallery-content p { font-size: 0.9rem; color: var(--secondary); font-family: 'Outfit', sans-serif; }

        .placeholder-text {
            position: relative;
            z-index: 3;
            color: rgba(255, 255, 255, 0.3);
            font-family: 'MuseoModerno', sans-serif;
            font-size: 1.2rem;
        }

        /* ================= BOTÃO WHATSAPP FLUTUANTE ================= */
        .whatsapp-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 60px;
            height: 60px;
            background-color: var(--whatsapp);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
            z-index: 9999;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            animation: pulseWpp 2s infinite;
        }

        .whatsapp-float:hover {
            transform: scale(1.1);
            animation: none;
            box-shadow: 0 6px 20px rgba(37, 211, 102, 0.6);
        }

        .whatsapp-float svg {
            width: 35px;
            height: 35px;
            fill: #ffffff;
        }

        @keyframes pulseWpp {
            0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); }
            70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
            100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
        }

        /* ================= FOOTER ================= */
        footer {
            padding: 40px 5%;
            text-align: center;
            border-top: 1px solid var(--glass-border);
            color: var(--text-muted);
            font-size: 0.95rem;
            backdrop-filter: blur(10px);
        }

        /* ================= RESPONSIVIDADE (INCLUINDO MENU MOBILE) ================= */
        @media (max-width: 900px) {
            .hero h1 { font-size: 3.5rem; }
        }

        @media (max-width: 768px) {
            header {
                padding: 15px 25px;
                border-radius: 15px;
            }
            
            .hamburger { display: flex; }
            
            nav {
                width: 100%;
                display: none;
                margin-top: 15px;
                padding-top: 15px;
                border-top: 1px solid var(--glass-border);
            }
            
            nav ul {
                flex-direction: column;
                gap: 20px;
                align-items: center;
            }

            #menu-toggle:checked ~ nav {
                display: block;
                animation: fadeIn 0.3s ease-in-out;
            }

            #menu-toggle:checked ~ .hamburger span:nth-child(1) {
                transform: translateY(9px) rotate(45deg);
            }
            #menu-toggle:checked ~ .hamburger span:nth-child(2) {
                opacity: 0;
            }
            #menu-toggle:checked ~ .hamburger span:nth-child(3) {
                transform: translateY(-9px) rotate(-45deg);
            }

            @keyframes fadeIn {
                from { opacity: 0; transform: translateY(-10px); }
                to { opacity: 1; transform: translateY(0); }
            }

            /* Ajustes gerais de layout mobile */
            .hero { padding-top: 150px; }
            .hero h1 { font-size: 2.8rem; }
            .step-card { text-align: center; }
            .whatsapp-float { width: 50px; height: 50px; bottom: 20px; right: 20px; }
            .whatsapp-float svg { width: 28px; height: 28px; }
        }
    
/* ===== CARROSSEL DA GALERIA ===== */
.carousel{position:relative}
.car-track{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 calc((100% - 50px)/3);height:440px;position:relative;scroll-snap-align:start;border-radius:20px;overflow:hidden;margin:0}
.car-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.car-slide::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:60%;background:linear-gradient(to top,rgba(3,3,5,.95),transparent)}
.car-slide figcaption{position:absolute;bottom:20px;left:22px;right:22px;z-index:2}
.car-slide h3{font-size:1.2rem;color:#fff;margin-bottom:4px}
.car-slide p{font-size:.9rem;color:var(--secondary)}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border);background:rgba(3,3,5,.7);color:#fff;font-size:1.6rem;cursor:pointer}
.car-btn:hover{border-color:var(--secondary)}.car-btn.prev{left:8px}.car-btn.next{right:8px}
.sec-body{padding:40px;line-height:1.8;color:var(--text-muted)}
.sec-body h3{color:var(--secondary);margin:15px 0 8px}.sec-body img{max-width:100%;height:auto;border-radius:12px}
#trabalhos{max-width:none;padding:60px 3% 120px}
@media(max-width:1000px){.car-slide{flex-basis:calc((100% - 25px)/2)}}
@media(max-width:640px){.car-slide{flex-basis:85%;height:340px}}
.hero-bg{width:100%;box-shadow:inset 0 -120px 100px -60px var(--bg-base)}
.perks{display:flex;justify-content:center;gap:14px 36px;flex-wrap:wrap;padding:0 5%;margin:0 auto 20px;max-width:1300px}
.perks span{color:var(--text-muted)}.perks span::before{content:"\2714";color:var(--secondary);margin-right:8px}
#produtos,#avaliacoes{max-width:none;padding:60px 3% 70px}
html{scroll-padding-top:110px}img{max-width:100%}
.btn.sm{padding:10px 16px;font-size:.88rem;text-align:center;display:inline-flex;align-items:center;justify-content:center}
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:-30px 0 28px}
.chip{padding:10px 20px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.95rem;transition:.25s;backdrop-filter:blur(10px)}
.chip:hover{border-color:var(--secondary)}.chip.on{background:var(--btn);color:var(--btn-text);border-color:var(--secondary);box-shadow:0 0 18px var(--btn-glow)}
.off{display:none!important}
.rev-sum{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:-30px 0 28px;text-align:center}
.rev-sum b{font-size:1.4rem}.muted{color:var(--text-muted)}
.stars{color:#fbbc04;letter-spacing:2px;font-size:1.1rem}
.rev-card{flex:0 0 calc((100% - 50px)/3);scroll-snap-align:start;padding:26px;display:flex;flex-direction:column;gap:12px;min-height:240px}
.rev-head{display:flex;align-items:center;gap:12px}.rev-head>div{flex:1;min-width:0}.rev-head b{display:block}.rev-head small{color:var(--text-muted)}
.rev-av{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.gmark{width:28px;height:28px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif}
.rev-card p{color:var(--text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1000px){.rev-card{flex-basis:calc((100% - 25px)/2)}}
@media(max-width:768px){
 html{scroll-padding-top:90px}
 header{top:10px;width:94%;padding:12px 18px}
 nav{max-height:70vh;overflow-y:auto}
 .hero{min-height:auto;padding:130px 5% 50px}
 .hero h1{font-size:2.3rem}.hero p{font-size:1rem}
 .button-group{flex-direction:column;width:100%}.button-group .btn{width:100%;text-align:center}
 .section-header{margin-bottom:36px}
 .section-header h2{font-size:clamp(1.8rem,8vw,2.4rem)}.section-header p{font-size:1rem}
 .process-section{padding:70px 5% 30px}
 .gallery-section,#trabalhos,#produtos,#avaliacoes{padding-bottom:60px}
 .step-card{padding:28px}.step-number{font-size:2.6rem}
 .sec-body{padding:22px}
 .contact-banner{padding:28px 20px}.contact-banner h3{font-size:1.5rem!important}
 .chips{margin-top:-14px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap}
 .car-btn{display:none}
 footer{padding:30px 5%}
}
@media(max-width:640px){.car-slide,.rev-card{flex-basis:84%}.car-slide{height:400px}.car-track{gap:16px}}

.about-hero{padding:170px 5% 30px;text-align:center;max-width:900px;margin:0 auto}
.about-hero h1{font-family:'MuseoModerno',sans-serif;font-size:clamp(2.2rem,6vw,3.6rem);margin-bottom:14px}
.about-hero p{color:var(--text-muted);font-size:1.15rem;line-height:1.7}
.about-story{max-width:960px!important;padding-top:30px!important}
.about-story .sec-body{font-size:1.05rem}.about-story p{margin-bottom:14px}
.about-img{float:right;width:min(42%,360px);margin:0 0 16px 24px;border-radius:18px;object-fit:cover}
.founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:30px;max-width:900px;margin:0 auto}
.founder{padding:34px 28px;text-align:center}
.founder img,.founder .ph{width:190px;height:190px;border-radius:50%;object-fit:cover;border:3px solid var(--secondary);box-shadow:0 0 30px var(--btn-glow);margin:0 auto 18px;display:block}
.founder .ph{display:flex;align-items:center;justify-content:center;background:var(--primary);font-size:4rem;font-weight:700}
.founder h3{font-size:1.5rem}.founder .role{color:var(--secondary);font-size:.95rem;display:block;margin:4px 0 14px}.founder p{color:var(--text-muted);line-height:1.7}
.team-teaser{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:40px 24px;max-width:760px;margin:0 auto}
.team-teaser p{color:var(--text-muted);line-height:1.7}
.faces{display:flex}.faces img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--secondary)}.faces img+img{margin-left:-22px}
@media(max-width:768px){.about-hero{padding-top:130px}.about-img{float:none;width:100%;margin:0 0 18px}.founder{padding:26px 20px}}

/* ===== Produtos (carrossel com card) ===== */
.prod-track{align-items:flex-start}
.prod-slide{height:auto;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s}
.prod-slide::after{display:none}
.prod-slide:hover{transform:translateY(-6px);border-color:var(--secondary);box-shadow:0 18px 44px rgba(0,0,0,.45)}
.prod-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b0b10;flex:none}
.prod-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.prod-slide:hover .prod-media img{transform:scale(1.06)}
.prod-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to top,rgba(3,3,5,.55),transparent);pointer-events:none}
.prod-ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary),#0b0b10);display:flex;align-items:center;justify-content:center;font-family:'MuseoModerno',sans-serif;font-size:2rem;color:rgba(255,255,255,.35)}
.prod-badge{position:absolute;top:14px;left:14px;z-index:3;padding:6px 13px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--secondary);color:#001018;text-transform:uppercase;letter-spacing:.6px}
.prod-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px}
.prod-body small{color:var(--secondary);text-transform:uppercase;letter-spacing:1.2px;font-size:.72rem;font-weight:600}
.prod-body h3{font-size:1.3rem;line-height:1.25;color:#fff;margin:0}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price strong{font-size:1.6rem;font-family:'MuseoModerno',sans-serif;color:#fff}.price s{color:var(--text-muted)}
.price em{font-style:normal;background:rgba(52,199,89,.2);color:#5be07f;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600}
.desc p{color:var(--text-muted);font-size:.95rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.desc.open p{display:block;-webkit-line-clamp:unset;overflow:visible}
.more{background:none;border:0;color:var(--secondary);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:8px 0 0}
.more[hidden]{display:none}
.prod-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.prod-acts .btn{flex:1 1 130px}
@media(max-width:640px){.prod-slide{height:auto!important}.prod-body{padding:18px}}
.prod-car .car-btn{top:140px}

/* ===== Página Produtos (catálogo) ===== */
.cat-hero{padding:150px 5% 20px;text-align:center;max-width:900px;margin:0 auto}
.cat-hero h1{font-family:'MuseoModerno',sans-serif;font-size:clamp(2.2rem,6vw,3.4rem);margin-bottom:12px}
.cat-hero p{color:var(--text-muted);font-size:1.1rem;line-height:1.7}
.cat-wrap{max-width:1300px;margin:0 auto;padding:10px 4% 90px}
.cat-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px 18px;margin-bottom:22px;background:rgba(10,10,16,.72)}
.cat-search{position:relative;flex:1 1 280px}
.cat-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:var(--text-muted);stroke-width:2}
.cat-search input{width:100%;padding:14px 44px 14px 46px;border-radius:999px;border:1px solid var(--glass-border);background:rgba(0,0,0,.35);color:var(--text-main);font-family:inherit;font-size:1rem;outline:0;transition:.2s;-webkit-appearance:none}
.cat-search input:focus{border-color:var(--secondary);box-shadow:0 0 0 4px var(--btn-glow)}
.cat-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;font-size:1.1rem;line-height:1}
.cat-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cat-tools select{padding:13px 18px;border-radius:999px;border:1px solid var(--glass-border);background:rgba(0,0,0,.35);color:var(--text-main);font-family:inherit;font-size:.95rem}
.cat-check{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.95rem;cursor:pointer;white-space:nowrap}
.cat-check input{accent-color:var(--secondary);width:18px;height:18px}
.cat-bar .chips{flex-basis:100%;margin:2px 0 0;justify-content:flex-start}
.cat-count{color:var(--text-muted);margin:0 4px 16px;font-size:.95rem}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.cat-card{display:flex;flex-direction:column;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.cat-card[hidden]{display:none!important}
.cat-card:hover{transform:translateY(-5px);border-color:var(--secondary);box-shadow:0 16px 40px rgba(0,0,0,.45)}
.cat-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#0b0b10}
.cat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card:hover .cat-media img{transform:scale(1.06)}
.stock-badge{position:absolute;top:12px;left:12px;z-index:3;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stock-badge.in{background:rgba(52,199,89,.88);color:#032b10}
.stock-badge.out{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28)}
.cat-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.cat-body small{color:var(--secondary);font-size:.7rem;letter-spacing:1px;text-transform:uppercase;font-weight:600;line-height:1.4}
.cat-body h3{font-size:1.05rem;line-height:1.3;color:#fff;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.cat-price{font-family:'MuseoModerno',sans-serif;font-size:1.5rem;color:#fff;margin-top:auto}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:12px;background:var(--whatsapp);color:#04210f;font-weight:600;font-size:.9rem;text-decoration:none;text-align:center;transition:.25s;box-shadow:0 0 18px rgba(37,211,102,.25);margin-top:6px}
.btn-wa:hover{filter:brightness(1.1);transform:translateY(-2px)}
.wa-ic{width:18px;height:18px;fill:currentColor;flex:none}
.cat-empty{text-align:center;color:var(--text-muted);padding:60px 0;font-size:1.1rem}
.cat-empty[hidden]{display:none}
@media(max-width:768px){
 .cat-hero{padding-top:125px}
 .cat-bar{position:static;padding:12px}
 .cat-tools{width:100%}.cat-tools select{flex:1}
 .cat-bar .chips{flex-wrap:nowrap;overflow-x:auto;margin-top:2px}
 .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px}
 .cat-body{padding:12px;gap:6px}.cat-body h3{font-size:.92rem}.cat-price{font-size:1.2rem}
 .btn-wa{font-size:.78rem;padding:10px 6px}.wa-ic{display:none}
 .stock-badge{top:8px;left:8px;font-size:.65rem;padding:4px 9px}
}
.more-wrap{text-align:center;margin-top:34px}

/* ===== Menu ativo, ordem da home e lightbox ===== */
header nav a.active{color:var(--secondary)!important}
.home-main>:first-child:not(.hero-bg){padding-top:140px!important}
.cat-media img,.prod-media img,#trabalhos .car-slide img{cursor:zoom-in}
.stock-badge,.prod-badge{pointer-events:none}
.lb{position:fixed;inset:0;z-index:3000;background:rgba(3,3,5,.95);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lbin .2s ease}
.lb[hidden]{display:none}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.lb button:hover{background:rgba(255,255,255,.25)}
.lb-x{top:16px;right:16px}.lb-p{left:14px;top:50%;margin-top:-24px}.lb-n{right:14px;top:50%;margin-top:-24px}
.lb.single .lb-p,.lb.single .lb-n{display:none}
.lb-c{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#d4d4dc;font-size:.95rem;padding:0 70px}
@media(max-width:640px){.lb-p,.lb-n{top:auto;bottom:16px;margin:0}.lb-p{left:16px}.lb-n{right:16px}.lb-c{bottom:80px}.lb img{max-height:76vh}}

/* ===== FAQ e formulário de orçamento ===== */
.faq-section,.quote-section{max-width:900px!important}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-item{padding:0;overflow:hidden;transition:border-color .3s}
.faq-item[open]{border-color:var(--secondary)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;font-size:1.1rem;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-ic{width:28px;height:28px;flex:none;border-radius:50%;border:1px solid var(--glass-border);position:relative}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--secondary);transform:translate(-50%,-50%);transition:.3s}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{padding:0 24px 22px;color:var(--text-muted);line-height:1.75}
.quote{padding:32px}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.q-grid .full{grid-column:1/-1}
.quote label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:6px}
.quote input:not([type=file]):not([type=hidden]),.quote textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--glass-border);background:rgba(0,0,0,.35);color:var(--text-main);font-family:inherit;font-size:1rem;outline:0;transition:.2s}
.quote input:focus,.quote textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 4px var(--btn-glow)}
.quote textarea{resize:vertical}
.quote .q-drop{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;padding:24px;border:2px dashed var(--glass-border);border-radius:16px;cursor:pointer;transition:.2s;color:var(--text-main);margin:0}
.q-drop:hover,.q-drop.has{border-color:var(--secondary);background:rgba(0,180,235,.07)}
.q-drop small{color:var(--text-muted)}
.quote input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.quote button.btn{width:100%;margin-top:20px;cursor:pointer;font-family:inherit;font-size:1rem}
.quote button.btn:disabled{opacity:.6;cursor:wait}
#qmsg{margin-top:14px;font-weight:500;text-align:center}#qmsg.ok{color:#5be07f}#qmsg.err{color:#ff8a80}
@media(max-width:640px){.q-grid{grid-template-columns:1fr}.quote{padding:20px}.faq-item summary{padding:16px 18px;font-size:1rem}.faq-a{padding:0 18px 18px}}

/* ===== Rodapé, aviso de cookies e chat ===== */
.foot-links{margin-top:10px;font-size:.9rem}.foot-links a{color:var(--text-muted);text-decoration:underline}.foot-links a:hover{color:var(--secondary)}
.lub-cookie{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(760px,94vw);z-index:2600;padding:18px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:rgba(10,10,16,.94)}
.lub-cookie[hidden]{display:none}
.lub-ck-body{flex:1 1 320px}.lub-ck-body strong{display:block;margin-bottom:4px}.lub-ck-body p{color:var(--text-muted);font-size:.9rem;line-height:1.55}.lub-ck-body a{color:var(--secondary)}
.lub-ck-opts{display:flex;flex-direction:column;gap:8px;margin-top:12px}.lub-ck-opts[hidden]{display:none}.lub-ck-opts label{display:flex;gap:10px;align-items:center;font-size:.9rem;cursor:pointer}.lub-ck-opts input{accent-color:var(--secondary);width:18px;height:18px}
.lub-ck-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lub-ck-link{background:none;border:0;color:var(--text-main);text-decoration:underline;cursor:pointer;font-family:inherit;font-size:.9rem;padding:8px}
button.whatsapp-float{border:0;cursor:pointer}
.lub-panel{position:fixed;right:24px;bottom:100px;width:min(360px,calc(100vw - 24px));z-index:2500;overflow:hidden;display:flex;flex-direction:column;background:rgba(10,10,16,.95);padding:0}
.lub-panel[hidden]{display:none}
.lub-ch{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,var(--primary),rgba(255,255,255,.04))}
.lub-ch>div:nth-child(2){flex:1;min-width:0}.lub-ch b{display:block}.lub-ch small{color:#e5e5ee;font-size:.78rem}
.lub-av{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.lub-av img{max-width:78%;max-height:78%;filter:invert(1)}
.lub-x{background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer;line-height:1;padding:4px 8px}
.lub-msgs{padding:16px;display:flex;flex-direction:column;gap:12px;max-height:44vh;overflow-y:auto}
.lub-bub{background:rgba(255,255,255,.1);padding:12px 14px;border-radius:14px 14px 14px 4px;line-height:1.5;font-size:.95rem;max-width:92%}
.lub-quick{display:flex;flex-wrap:wrap;gap:8px}.lub-quick button{border:1px solid var(--secondary);background:transparent;color:var(--text-main);border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.85rem;cursor:pointer;transition:.2s}.lub-quick button:hover{background:var(--secondary);color:#001018}
.lub-send{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px;border-top:1px solid var(--glass-border)}
.lub-send textarea{width:100%;resize:none;padding:12px 14px;border-radius:12px;border:1px solid var(--glass-border);background:rgba(0,0,0,.35);color:var(--text-main);font-family:inherit;font-size:1rem;outline:0}.lub-send textarea:focus{border-color:var(--secondary)}
.lub-send .btn-wa{border:0;cursor:pointer;font-family:inherit;margin-top:0}
.lub-teaser{position:fixed;right:24px;bottom:100px;z-index:2400;max-width:260px;background:#fff;color:#111;padding:12px 34px 12px 14px;border-radius:14px 14px 4px 14px;box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:.92rem;line-height:1.4;cursor:pointer}
.lub-teaser[hidden]{display:none}.lub-teaser button{position:absolute;top:4px;right:6px;border:0;background:none;font-size:1.2rem;cursor:pointer;color:#555}
@media(max-width:768px){.lub-cookie{bottom:84px}.lub-ck-act .btn{flex:1 1 140px}}
@media(max-width:480px){.lub-panel,.lub-teaser{right:12px;bottom:92px}}

/* ===== Catálogo: fotos no card e visualizador do produto ===== */
.cat-card{cursor:pointer}
.cat-strip{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cat-strip::-webkit-scrollbar{display:none}
.cat-strip img{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center}
.cat-strip .prod-ph{position:relative;flex:0 0 100%}
.cat-card:hover .cat-strip img{transform:none}
.cat-pg{position:absolute;right:10px;bottom:10px;z-index:3;background:rgba(3,3,5,.72);color:#fff;font-size:.72rem;padding:3px 10px;border-radius:999px;pointer-events:none}
.cat-ar{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;border:0;background:rgba(3,3,5,.66);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;opacity:0;transition:.2s}
.cat-ar.p{left:8px}.cat-ar.n{right:8px}.cat-media:hover .cat-ar{opacity:1}
@media(hover:none){.cat-ar{display:none}}
.cat-more{background:none;border:0;padding:0;margin:2px 0 0;color:var(--secondary);font-family:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-align:left}
.pv{position:fixed;inset:0;z-index:3100;background:#030305;display:grid;grid-template-columns:minmax(0,1fr) 380px;animation:lbin .2s ease}
.pv[hidden]{display:none}
.pv-stage{display:flex;flex-direction:column;min-width:0;min-height:0;padding:28px 24px 16px}
.pv-main{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.pv-big{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.pv-big[hidden],.pv-ph[hidden]{display:none}
.pv-ph{width:min(80%,420px);aspect-ratio:1/1;border-radius:16px;background:linear-gradient(135deg,var(--primary),#0b0b10);display:flex;align-items:center;justify-content:center;font-family:'MuseoModerno',sans-serif;font-size:2.4rem;color:rgba(255,255,255,.35)}
.pv-count{position:absolute;left:8px;top:0;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:999px;font-size:.8rem}
.pv-ar,.pv-x{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.pv-ar:hover,.pv-x:hover{background:rgba(255,255,255,.25)}
.pv-ar{top:50%;margin-top:-24px}.pv-p{left:8px}.pv-n{right:8px}
.pv-x{position:fixed;top:16px;right:16px;z-index:5}
.pv.single .pv-ar{display:none}
.pv-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 4px;justify-content:center;flex:none;scrollbar-width:thin}
.pv-thumbs[hidden]{display:none}
.pv-thumbs button{flex:none;width:76px;height:76px;border-radius:12px;border:2px solid transparent;padding:0;overflow:hidden;cursor:pointer;background:#111;opacity:.6;transition:.2s}
.pv-thumbs button.on{border-color:var(--secondary);opacity:1}
.pv-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.pv-side{padding:76px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--glass-border);background:rgba(255,255,255,.03)}
.pv-cat{color:var(--secondary);text-transform:uppercase;letter-spacing:1.2px;font-size:.75rem;font-weight:600}
.pv-name{font-size:1.6rem;line-height:1.25;margin:0;color:#fff}
.pv-price{font-family:'MuseoModerno',sans-serif;font-size:2rem;color:#fff}
.pv-stock{align-self:flex-start;padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:600;background:rgba(255,255,255,.14)}
.pv-stock.in{background:rgba(52,199,89,.88);color:#032b10}.pv-stock[hidden]{display:none}
@media(max-width:860px){
 .pv{display:block;overflow-y:auto}
 .pv-stage{height:66vh;padding:64px 12px 8px}
 .pv-thumbs{justify-content:flex-start}.pv-thumbs button{width:60px;height:60px}
 .pv-ar{width:42px;height:42px;margin-top:-21px}
 .pv-side{padding:18px 18px 40px;border-left:0;overflow:visible}
 .pv-name{font-size:1.35rem}
}

/* Descrição do produto no visualizador (v2) */
.pv-desc{margin:4px 0 0;color:var(--text-muted);line-height:1.6;white-space:pre-line}
.about-img{height:auto}
