        :root {
            --azul-marinho: #001A35;
            --laranja: #FF6A00;
            --prata: #E0E0E0;
            --dourado: #C5A059;
            --branco: #ffffff;
            --preto: #000000;
            --bg-body: #f8f9fa;
            --glass: rgba(255, 255, 255, 0.95);
        }

        /* --- CONFIGURAÇÕES GERAIS --- */
        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', 'Segoe UI', Roboto, sans-serif; }
        body { background-color: var(--bg-body); overflow-x: hidden; width: 100%; }
        .site-content { display: none; width: 100%; }
        .site-content.active { display: block; }

        /* --- BARRA CORPORATIVA SUPERIOR (Mestra - Parte 1) --- */
        .corporate-header {
            background: #000; color: white; padding: 0 5%;
            display: flex; justify-content: space-between; align-items: stretch;
            height: 60px; border-bottom: 3px solid var(--azul-marinho);
            position: sticky; top: 0; z-index: 3000;
        }
        .tabs-container { display: flex; align-items: flex-end; }
        .tab-btn {
            background: #1a1a1a; border: none; color: #888; padding: 12px 25px;
            cursor: pointer; font-weight: 600; font-size: 14px; display: flex;
            align-items: center; gap: 10px; transition: 0.4s; border-radius: 8px 8px 0 0;
            margin-right: 5px; text-transform: uppercase;
        }
        .tab-btn.active[data-target="construcao"] { background: var(--azul-marinho); color: var(--laranja); border-bottom: 3px solid var(--laranja); }
        .tab-btn.active[data-target="programacao"] { background: var(--azul-marinho); color: var(--prata); border-bottom: 3px solid var(--prata); }
        .tab-btn.active[data-target="internet"] { background: var(--azul-marinho); color: var(--dourado); border-bottom: 3px solid var(--dourado); }
        .corp-info { display: flex; align-items: center; gap: 20px; font-size: 12px; color: #bbb; }
        .corp-info span i { color: var(--laranja); margin-right: 5px; }

        /* --- MENU MOBILE (Universal) --- */
        .nav-sidebar {
            position: fixed; top: 0; right: -100%; width: 280px; height: 100vh;
            background: var(--azul-marinho); z-index: 4000; transition: 0.5s; padding: 40px 20px;
        }
        .nav-sidebar.active { right: 0; }
        .nav-sidebar a { display: block; color: #fff; padding: 15px 0; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.1); font-weight: bold; }
        .menu-mobile-btn { display: none; font-size: 25px; cursor: pointer; }

        /* --- LAYOUT 1: CONSTRUTORA (Parte 1) --- */
        #construcao .main-nav { background: var(--glass); backdrop-filter: blur(10px); display: flex; justify-content: space-between; align-items: center; padding: 15px 5%; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
        #construcao .logo-box h2 { font-weight: 900; color: var(--azul-marinho); letter-spacing: -1px; }
        #construcao .logo-box span { color: var(--laranja); }
        .nav-links { display: flex; gap: 25px; list-style: none; }
        .nav-links a { text-decoration: none; color: var(--azul-marinho); font-weight: 700; font-size: 13px; text-transform: uppercase; position: relative; padding: 5px 0; }
        .nav-links a:hover { color: var(--laranja); }
        /* SLIDER */
        .hero-slider {
            width: 100%;
            height: 500px;
            background: #222;
            position: relative;
            overflow: hidden;
        }
        .slide-item {
            position: absolute;
            width: 100%; height: 100%;
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            padding: 0 10%;
        }
        .slide-overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: linear-gradient(to right, rgba(0,26,53,0.9), transparent);
        }
        .slide-text { position: relative; color: white; max-width: 600px; z-index: 10; }
        .slide-text h1 { font-size: 48px; margin-bottom: 20px; line-height: 1.1; }
        .slide-text p { font-size: 18px; color: var(--prata); margin-bottom: 30px; }
        .btn-cta { 
            background: var(--laranja); color: white; padding: 15px 35px; 
            text-decoration: none; font-weight: bold; border-radius: 4px;
            transition: 0.3s; display: inline-block;
        }

        .section-padding { padding: 80px 10%; }
        .flex-about { display: flex; gap: 50px; align-items: center; }
        .about-text h2 { font-size: 36px; color: var(--azul-marinho); margin-bottom: 20px; }
        .about-text p { line-height: 1.8; color: #555; margin-bottom: 20px; text-align: justify; }

        .section-header { text-align: center; margin-bottom: 50px; }
        .section-header h2 { font-size: 32px; color: var(--azul-marinho); text-transform: uppercase; }
        .section-header .divider { width: 60px; height: 4px; background: var(--laranja); margin: 15px auto; }

        .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
        .pro-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 35px rgba(0,0,0,0.08); transition: 0.4s; }
        .pro-card img { width: 100%; height: 220px; object-fit: cover; }
        .pro-card-body { padding: 25px; }

        .testimonials { background: var(--azul-marinho); color: white; }
        .testimonial-container { display: flex; overflow-x: auto; gap: 30px; padding-bottom: 30px; }
        .testimonial-item { min-width: 300px; background: rgba(255,255,255,0.05); padding: 30px; border-radius: 15px; border-left: 5px solid var(--laranja); }

		footer { background: var(--azul-marinho); color: white; padding: 80px 10% 20px; }
        .footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 50px; margin-bottom: 50px; }
        .footer-col h4 { font-size: 18px; margin-bottom: 25px; color: var(--laranja); }
        .footer-col ul { list-style: none; }
        .footer-col a { color: #aaa; text-decoration: none; font-size: 14px; }

        .social-circle { display: flex; gap: 15px; margin-top: 20px; }
        .social-circle a { 
            width: 40px; height: 40px; background: #0b2545; border-radius: 50%; 
            display: flex; align-items: center; justify-content: center; color: white; transition: 0.3s;
        }
        .social-circle a:hover { background: var(--laranja); transform: rotate(360deg); }

        .fixed-actions { position: fixed; bottom: 30px; right: 30px; display: flex; flex-direction: column; gap: 15px; z-index: 2000; }
        .action-btn { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; color: white; text-decoration: none; }
        .btn-whatsapp { background: #25D366; }
        .btn-scroll { background: var(--azul-marinho); border: 2px solid var(--laranja); }

        
		/* --- LAYOUT 2: PROGRAMAÇÃO (Parte 2) --- */
		#prog-header { background: var(--branco); position: sticky; top: 60px; width: 100%; z-index: 1000; transition: 0.4s; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
        #prog-header.shrink { padding: 5px 0; }
        .prog-container { display: flex; justify-content: space-between; align-items: center; padding: 15px 5%; }
        .prog-logo h2 { color: var(--azul-marinho); }
        .prog-logo span { color: var(--prata); }
        .prog-links-desktop { display: flex; list-style: none; gap: 25px; }
        .prog-links-desktop a { text-decoration: none; color: var(--azul-marinho); font-weight: bold; text-transform: uppercase; font-size: 13px; }
        #prog-hero { height: 600px; background: var(--azul-marinho); position: relative; overflow: hidden; display: flex; align-items: center; }
        
		/* SLIDE PROGRAMAÇÃO COMPLEXO */
        .slider-prog { height: 600px; background: var(--azul-marinho); position: relative; overflow: hidden; }
        .slide-prog-item { 
            position: absolute; width: 100%; height: 100%; opacity: 0; visibility: hidden;
            transition: 1s all ease-in-out; display: flex; align-items: center; padding: 0 10%;
        }
        .slide-prog-item.active { opacity: 1; visibility: visible; }
        
        /* Elementos Animados do Slide */
        .prog-content { color: var(--branco); z-index: 10; max-width: 600px; }
        .prog-content h1 { font-size: 50px; line-height: 1.1; margin-bottom: 20px; transform: translateX(-50px); transition: 1s 0.3s; opacity: 0; }
        .prog-content p { font-size: 18px; color: var(--prata); transform: translateY(30px); transition: 1s 0.6s; opacity: 0; }
        .active .prog-content h1, .active .prog-content p { transform: translate(0); opacity: 1; }

        .prog-img-layer { position: absolute; right: 10%; width: 40%; height: auto; transform: scale(0.8); transition: 1.2s 0.5s; opacity: 0; }
        .active .prog-img-layer { transform: scale(1); opacity: 1; }
		
        /* PARALLAX */
        .parallax-section {
            height: 600px; width: 100%; background-attachment: fixed; background-position: center; background-size: cover;
            display: flex; align-items: center; justify-content: center; position: relative;
        }
        .parallax-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 26, 53, 0.85); }
        .parallax-content { position: relative; z-index: 5; text-align: center; color: var(--prata); padding: 0 15%; }

        /* FOOTER PROGRAMAÇÃO */
        .footer-prog { background: var(--azul-marinho); color: var(--branco); position: relative; }
        .footer-silver-line { height: 12px; background: var(--prata); width: 100%; box-shadow: 0 8px 20px rgba(0,0,0,0.5); }
        .footer-prog-content { padding: 60px 5% 30px; text-align: center; }
        .footer-prog-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 30px 0; }
        .footer-prog-links a { color: var(--prata); text-decoration: none; font-size: 14px; font-weight: 500; }

        /* --- LAYOUT 3: INTERNET (Parte 3) --- */
        .net-header { background: #fff; padding: 20px 5%; display: flex; justify-content: space-between; align-items: center; border-bottom: 4px solid var(--dourado); }
        .net-links-desktop { display: flex; list-style: none; gap: 20px; }
        .net-links-desktop a { text-decoration: none; color: var(--azul-marinho); font-weight: 800; font-size: 13px; text-transform: uppercase; }
        #net-hero { height: 600px; background: #000; position: relative; overflow: hidden; display: flex; align-items: center; }
        /* Slide Programação Elite */
        #prog-hero { height: 600px; background: var(--azul-marinho); position: relative; overflow: hidden; color: #fff; display: flex; align-items: center; }
        .prog-slide-item { position: absolute; width: 100%; padding: 0 10%; opacity: 0; transition: 1s; transform: scale(0.9); }
        .prog-slide-item.active { opacity: 1; transform: scale(1); }
        .prog-slide-item h1 { font-size: 50px; color: var(--prata); margin-bottom: 20px; }

        /* --- SITE INTERNET (DOURADO & MASCOTE) --- */
        #internet .net-header { background: #fff; padding: 20px 5%; display: flex; justify-content: space-between; align-items: center; border-bottom: 4px solid var(--dourado); }
        .net-links-desktop { display: flex; list-style: none; gap: 20px; }
        .net-links-desktop a { text-decoration: none; color: var(--azul-marinho); font-weight: 800; font-size: 13px; text-transform: uppercase; }

        /* SLIDE INTERNET COM MASCOTE */
        #net-hero { height: 600px; background: #000; position: relative; overflow: hidden; display: flex; align-items: center; }
        .net-slide-item { position: absolute; width: 100%; padding: 0 10%; opacity: 0; transition: 1s; color: #fff; z-index: 5; }
        .net-slide-item.active { opacity: 1; }
        .net-slide-item h1 { font-size: 55px; line-height: 1; margin-bottom: 15px; }
        .net-slide-item span { color: var(--dourado); }

        /* O MASCOTE FLUTUANTE */
        .mascote-float { 
            position: absolute; width: 250px; z-index: 10; pointer-events: none;
            transition: all 1.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
            filter: drop-shadow(0 0 20px var(--dourado));
            animation: floating 3s infinite ease-in-out;
        }
        @keyframes floating { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } }

        /* Posicionamentos do mascote por slide */
        .pos-1 { right: 10%; top: 20%; }
        .pos-2 { left: 10%; top: 40%; transform: rotate(-15deg); }
        .pos-3 { right: 20%; bottom: 10%; }

        /* ÁREA DE CONTEÚDO INTERNET */
        .net-services { padding: 80px 10%; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; background: #fff; }
        .service-card { padding: 40px; border: 1px solid #eee; border-radius: 15px; transition: 0.3s; border-top: 5px solid var(--dourado); }
        .service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
        .service-card i { font-size: 40px; color: var(--dourado); margin-bottom: 20px; }
		.branca {filter: brightness(100);}

        /* --- RESPONSIVIDADE (Consolidada) --- */
        @media (max-width: 992px) {
            html, body { width: 100vw; overflow-x: hidden; }
            .corporate-header { height: auto; flex-direction: column; padding: 0; }
            .tabs-container { width: 100%; overflow-x: auto; }
            .tab-btn { flex: 1; min-width: 130px; border-radius: 0; font-size: 11px; }
            .corp-info, .nav-links, .prog-links-desktop, .net-links-desktop { display: none; }
            .menu-mobile-btn { display: block; }
            .hero-slider, #prog-hero, #net-hero { height: 350px; }
            .slide-text h1, .prog-slide-item h1, .net-slide-item h1 { font-size: 28px; }
            .flex-about { flex-direction: column; text-align: center; }
            .card-grid { grid-template-columns: 1fr; }
            .mascote-float { width: 150px; }
			
			/* --- LAYOUT 1: CONSTRUTORA (Parte 1) --- */
            /* Ajuste do Slider para mobile */
            .hero-slider { height: 350px; }
            .slide-item { padding: 20px; }
            .slide-text h1 { font-size: 28px; }
            .slide-text p { font-size: 15px; }

            /* Ajuste das Seções e Grids para ocuparem 100% */
            .section-padding { padding: 40px 5%; width: 100%; }
            .flex-about { flex-direction: column; text-align: center; gap: 20px; }
            .about-text h2 { font-size: 26px; }
            .card-grid { grid-template-columns: 1fr; width: 100%; }
			
			/* Ajuste do Rodapé */
            .footer-main { grid-template-columns: 1fr; gap: 30px; text-align: center; }
            .social-circle { justify-content: center; }
            .footer-col h4 { margin-bottom: 15px; }
			
			/* --- LAYOUT 2: PROGRAMAÇÃO (Parte 2) --- */			
			.slide-prog-item { justify-content: center; text-align: center; }
            .parallax-section { height: 400px; background-attachment: scroll; }
            .footer-prog-links { flex-direction: column; gap: 10px; }
        }
		
		/* PÁGINAS INTERNAS */
        .internal-page { display: none; padding: 60px 10%; background: #fff; min-height: 500px; }
        .internal-page.active { display: block; }
        .form-contact { max-width: 600px; margin: 40px auto; }
        .form-contact input, .form-contact textarea { width: 100%; padding: 15px; margin-bottom: 20px; border: 1px solid #ddd; }
        .form-btn { padding: 15px 40px; border: none; color: #fff; font-weight: bold; cursor: pointer; }

        /* --- FIXOS --- */
        .fixed-actions { position: fixed; bottom: 30px; right: 30px; display: flex; flex-direction: column; gap: 15px; z-index: 2000; }
        .action-btn { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; color: white; text-decoration: none; box-shadow: 0 10px 20px rgba(0,0,0,0.2); }