       :root {
           --dark: #000;
           --accent: #ffffff;
           --gray-deep: #111;
           --gray-med: #333;
           --gray-light: #888;
           --text-ghost: rgba(255, 255, 255, 0.06);
       }

       * {
           margin: 0;
           padding: 0;
           box-sizing: border-box;
           font-family: 'Inter', sans-serif;
       }

       body {
           background: var(--dark);
           color: #fff;
           overflow-x: hidden;
       }

       #main-nav {
           position: fixed;
           top: 0;
           left: 0;
           width: 100%;
           height: 90px;
           padding: 0 8%;
           display: flex;
           justify-content: space-between;
           align-items: center;
           z-index: 1000;
           background: rgba(0, 0, 0, 0);
           border-radius: 0;
           border: 1px solid transparent;
           transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
       }

      
       #main-nav.is-sticky {
           top: 20px;
           width: 90%;
           left: 5%;
           height: 70px;
           padding: 0 40px;
           background: rgba(15, 15, 15, 0.85);
           backdrop-filter: blur(15px);
           border-radius: 100px;
           border: 1px solid rgba(255, 255, 255, 0.1);
           box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
       }

       .nav-links {
           display: flex;
           gap: 35px;
           list-style: none;
       }

       .nav-links a {
           color: var(--gray-light);
           text-decoration: none;
           font-size: 0.55rem;
           font-weight: 700;
           text-transform: uppercase;
           letter-spacing: 2px;
           transition: color 0.3s;
       }

       .nav-links a:hover {
           color: #fff;
       }

       .nav-btn {
           padding: 12px 24px;
           border: 1px solid var(--gray-med);
           color: #fff;
           text-transform: uppercase;
           font-size: 0.65rem;
           font-weight: 700;
           text-decoration: none;
           border-radius: 4px;
           transition: 0.4s;
       }

       #main-nav.is-sticky .nav-btn {
           border-radius: 50px;
           background: #fff;
           color: #000;
       }

       .bg-visual-element {
           position: absolute;
           font-size: 28vw;
           font-weight: 900;
           color: rgba(255, 255, 255, 0.04);
           z-index: -1;
           pointer-events: none;
           line-height: 0.8;
           user-select: none;
       }

      
       .initial-hero {
           height: 100vh;
           display: flex;
           flex-direction: column;
           justify-content: center;
           align-items: center;
           text-align: center;
       }

       .initial-hero h1 {
           font-size: 9vw;
           font-weight: 900;
           color: var(--text-ghost);
           line-height: 1;
       }

       .char {
           display: inline-block;
           white-space: pre;

       }



       .initial-hero h1 {
    font-size: 8vw; /* Reduzi levemente para caber melhor o texto novo */
    font-weight: 900;
    color: var(--text-ghost);
    line-height: 1.1;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.hero-subtitle {
    font-size: 1.2rem;
    max-width: 700px;
    margin: 0 auto 40px;
    color: #a0a0a0; /* Um cinza claro para dar contraste ao H1 branco */
    line-height: 1.6;
    font-weight: 400;
}

/* Ajuste no botão para garantir o estilo que você enviou */
.nav-btn {
    border-radius: 50px;
    background: #fff;
    color: #000;
    padding: 15px 35px;
    text-decoration: none;
    font-weight: bold;
    transition: transform 0.3s ease;
    display: inline-block;
}

.nav-btn:hover {
    transform: scale(1.05);
}
      
       .main-wrapper {
           position: relative;
           z-index: 20;
          
           background: var(--dark);
          
       }

       .sticky-container {
           height: 100vh;
           width: 100%;
           display: flex;
           flex-direction: column;
           background: var(--dark);
       }

       .content-area {
           height: 100vh;
           width: 100%;
           position: relative;
           overflow: hidden;
       }

       .service-panel {
           position: absolute;
           inset: 0;
           display: flex;
           align-items: center;
           opacity: 0;
           visibility: hidden;
       }

       .service-grid {
           display: grid;
           grid-template-columns: 1fr 1fr;
           width: 100%;
           padding: 0 10%;
           gap: 100px;
           align-items: center;
           position: relative;
       }

       .ghost-title {
           font-size: clamp(3rem, 7vw, 7.5rem);
           font-weight: 900;
           line-height: 0.85;
           text-transform: uppercase;
           letter-spacing: 5px;
           filter: blur(15px);
           opacity: 0;
       }

       .text-main .tag {
           color: #fff;
           font-size: 0.55rem;
           font-weight: 700;
           letter-spacing: 5px;
           border-bottom: 1px solid #333;
           padding-bottom: 5px;
           margin-bottom: 15px;
           display: inline-block;
       }

       .text-main p {
           font-size: 0.85rem;
           color: #888;
           line-height: 1.6;
           max-width: 450px;
       }

       .progress-bar-fill {
           height: 2px;
           width: 0%;
           background: #fff;
           position: absolute;
           bottom: 0;
           left: 0;
       }

      
       .portfolio-section {
           padding: 120px 0;
           background: #000;
           border-top: 1px solid #111;
       }

       .portfolio-viewport {
           width: 100%;
           overflow: hidden;
           padding: 40px 0;
           cursor: grab;
       }

       .portfolio-track {
           display: flex;
           gap: 30px;
           padding-left: 8%;
           width: max-content;
       }

       .project-item {
           flex: 0 0 400px;
           height: 500px;
           background: #0a0a0a;
           border: 1px solid #1a1a1a;
           position: relative;
           overflow: hidden;
           transform: skewX(-2deg);
           transition: 0.5s;
           text-decoration: none;
       }

       .project-item img {
           width: 100%;
           height: 100%;
           object-fit: cover;
           opacity: 0.2;
           filter: grayscale(1);
           transition: 0.8s;
       }

       .project-item:hover {
           border-color: #fff;
           transform: skewX(0deg) translateY(-15px);
           z-index: 10;
       }

       .project-item:hover img {
           opacity: 0.7;
           filter: grayscale(0);
       }

       .project-overlay {
           position: absolute;
           bottom: 0;
           left: 0;
           width: 100%;
           padding: 40px;
           background: linear-gradient(to top, #000, transparent);
       }

       .project-overlay h3 {
           color: #fff;
           font-weight: 900;
           font-size: 1.8rem;
       }

       .portfolio-timeline {
           width: 84%;
           height: 1px;
           background: #222;
           margin: 60px auto 0;
           position: relative;
       }

       .timeline-progress {
           position: absolute;
           top: 0;
           left: 0;
           width: 100%;
           height: 100%;
           background: #fff;
           transform: translateX(-100%);
       }

       .initial-hero {
           position: relative;
           height: 100vh;
           width: 100vw;
           display: flex;
           flex-direction: column;
           justify-content: center;
           align-items: center;
           background: #000;
           perspective: 1500px;
           overflow: hidden;
       }

       #grid-blocks-container {
           position: absolute;
           inset: 0;
           display: grid;
           grid-template-columns: repeat(6, 1fr);
           grid-template-rows: repeat(4, 1fr);
           padding: 30px;
           z-index: 1;
           transform-style: preserve-3d;
           pointer-events: none;
       }


       .block-item {
           background: #080808;
           transform-style: preserve-3d;
           transition: transform 2.5s cubic-bezier(0.4, 0, 0.2, 1),
               background 2s ease,
               filter 2s ease,
               box-shadow 2.5s ease;
       }

       .block-item.elevated {
           background: #080808;
           box-shadow:
               -15px -15px 40px rgba(255, 255, 255, 0.02),
               25px 25px 60px rgba(0, 0, 0, 0.9);
       }

       .block-item.elevated::after {
           content: '';
           position: absolute;
           top: 0;
           left: 0;
           right: 0;
           height: 1px;
           background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
           z-index: 2;
       }

       .hero-content {
           position: relative;
           z-index: 10;
           pointer-events: none;
           filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 1));
       }

       .methodology-timeline {
           padding: 150px 0;
           position: relative;
           background: #000;
       }

       .timeline-wrapper {
           position: relative;
           margin-top: 80px;
       }

      
       .timeline-line-main {
           position: absolute;
           left: 50%;
           top: 0;
           bottom: 0;
           width: 1px;
           background: rgba(255, 255, 255, 0.05);
           transform: translateX(-50%);
       }

       .timeline-line-progress {
           position: absolute;
           top: 0;
           width: 100%;
           height: 0;
           background: linear-gradient(to bottom, transparent, #fff, transparent);
           box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
       }

       .timeline-item {
           position: relative;
           width: 100%;
           margin-bottom: 150px;
           display: flex;
           justify-content: center;
       }

       .timeline-dot {
           position: absolute;
           left: 50%;
           top: 0;
           width: 10px;
           height: 10px;
           background: #fff;
           border-radius: 50%;
           transform: translateX(-50%);
           z-index: 10;
           box-shadow: 0 0 15px #fff;
           opacity: 0;
          
       }

       .timeline-content {
           width: 40%;
           opacity: 0;
          
           position: relative;
       }

       .timeline-content.left {
           margin-right: 50%;
           text-align: right;
           padding-right: 40px;
       }

       .timeline-content.right {
           margin-left: 50%;
           text-align: left;
           padding-left: 40px;
       }

      
       .step-num {
           position: absolute;
           top: 50%;
           transform: translateY(-50%);
           font-size: 8rem;
          
           font-weight: 900;
           font-family: 'Inter', sans-serif;
           color: rgba(255, 255, 255, 0.08);
          
           pointer-events: none;
           z-index: 1;
           line-height: 1;
           opacity: 0;
          
           transition: color 0.4s ease;
       }

      
       .step-num.side-right {
           left: 60%;
          
           text-align: left;
           top: 50px;
       }

      
       .step-num.side-left {
           right: 60%;
           text-align: right;
           top: 50px;
       }

       .timeline-dot:before,
       .timeline-dot:after {
           content: '';
           width: 10px;
           height: 1px;
           background: var(--accent);
       }

      
       @media (max-width: 768px) {
           .step-num {
               display: none;
           }
       }

       .timeline-content h3 {
           font-size: 2.4rem;
           font-weight: 900;
           text-transform: uppercase;
           margin-bottom: 15px;
           color: #fff;
       }

       .timeline-content p {
           font-size: 0.85rem;
           color: #666;
           line-height: 1.6;
       }


      
       @media (max-width: 768px) {
           .timeline-line-main {
               left: 20px;
           }

           .timeline-dot {
               left: 20px;
           }

           .timeline-content {
               width: 85%;
               margin-left: 40px !important;
               text-align: left !important;
           }
       }

       .connector-line {
           position: absolute;
           top: 5px;
          
           height: 1px;
           width: 80px;
           z-index: 1;
           transform: scaleX(0);
          
           opacity: 0;
       }

      
       .timeline-item:has(.left) .connector-line {
           right: 50%;
          
           transform-origin: right center;
          
          
           background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0.05));
       }

      
       .timeline-item:has(.right) .connector-line {
           left: 50%;
          
           transform-origin: left center;
          
          
           background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.05));
       }



       .services-intro {
    height: 60vh; /* Não precisa de uma tela inteira */
    display: flex;
    align-items: center;
    padding: 0 8%;
    background: #000;
}

.intro-content .eyebrow {
    color: var(--gray-light);
    text-transform: uppercase;
    letter-spacing: 5px;
    font-size: 0.7rem;
}

.intro-content h2 {
    font-size: 5vw;
    font-weight: 900;
    margin-top: 10px;
    color: #fff;
}


/* --- STACK CARROSSEL --- */
.stack-carousel-section {
    background: #000;
    padding: 60px 0;
    border-top: 1px solid var(--gray-deep);
    border-bottom: 1px solid var(--gray-deep);
    overflow: hidden;
}
.carousel-track {
    display: flex;
    width: max-content;
    animation: scrollStack 30s linear infinite;
}
.carousel-item {
    padding: 0 50px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--gray-light);
    filter: grayscale(1);
    transition: 0.4s;
}
.carousel-item:hover { filter: grayscale(0); color: #fff; }
.carousel-item i { font-size: 1.8rem; }
.carousel-item span { font-weight: 900; letter-spacing: 2px; font-size: 0.8rem; }

@keyframes scrollStack {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --- SEÇÃO DE CONTATO REESTRUTURADA --- */
.contact-briefing {
    padding: 140px 8%;
    background: #000;
    border-top: 1px solid var(--gray-deep);
}

.briefing-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Divide em 2 colunas */
    gap: 80px;
    align-items: start;
}

/* Coluna de Texto */
.briefing-info {
    position: sticky;
    top: 140px; /* Mantém o texto visível enquanto rola o form */
}

.briefing-info .eyebrow {
    display: block;
    font-size: 0.7rem;
    letter-spacing: 4px;
    color: var(--gray-light);
    margin-bottom: 20px;
}

.briefing-info h2 {
    font-size: clamp(2.5rem, 4vw, 4.5rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -2px;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.briefing-info p {
    font-size: 1.1rem;
    color: var(--gray-light);
    max-width: 400px;
    line-height: 1.6;
}

.direct-contact-minimal {
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 0.8rem;
    color: var(--gray-med);
    font-weight: 600;
    text-transform: uppercase;
}

/* Formulário e Chips */
.section-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 2px;
    color: #fff;
    margin-bottom: 25px;
    opacity: 0.8;
}

/* --- ESTILO DOS CHIPS (BOTÕES DE SELEÇÃO) --- */

/* Esconde o checkbox real */
.chip-label input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Estilo do botão (o span que o usuário vê) */
.chip-btn {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid var(--gray-med); /* Usa sua variável cinza */
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    background: transparent;
    text-transform: uppercase;
}

/* Efeito de Hover */
.chip-btn:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

/* Quando o input estiver marcado, estiliza o span vizinho (+) */
.chip-label input:checked + .chip-btn {
    background: #fff;
    color: #000;
    border-color: #fff;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
}

/* Ajuste do container para não quebrar a linha de forma feia */
.chips-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 60px;
}

/* Inputs Minimalistas */
.form-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.input-box {
    position: relative;
    margin-bottom: 45px;
    border-bottom: 1px solid var(--gray-med);
}

.input-box input, 
.input-box textarea {
    width: 100%;
    background: none;
    border: none;
    padding: 15px 0;
    color: #fff;
    font-size: 1rem;
    outline: none;
    transition: 0.3s;
}

.input-box label {
    position: absolute;
    left: 0;
    top: 15px;
    color: var(--gray-med);
    font-size: 0.75rem;
    font-weight: 700;
    transition: 0.3s;
    pointer-events: none;
}

/* Animação do Label ao Digitar */
.input-box input:focus + label,
.input-box input:not(:placeholder-shown) + label,
.input-box textarea:focus + label,
.input-box textarea:not(:placeholder-shown) + label {
    top: -15px;
    font-size: 0.6rem;
    color: #fff;
    letter-spacing: 1px;
}

.input-box:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #fff;
    transition: 0.5s ease;
}

.input-box:focus-within:after {
    width: 100%;
}

/* Botão de Envio */
.form-footer {
    margin-top: 20px;
}

.form-submit {
    background: #fff;
    color: #000;
    padding: 22px 60px;
    font-weight: 900;
    font-size: 0.85rem;
    letter-spacing: 2px;
    border: none;
    cursor: pointer;
    transition: 0.4s;
    display: flex;
    align-items: center;
    gap: 15px;
}

.form-submit:hover {
    background: #e0e0e0;
    padding-right: 70px;
}

/* Responsividade */
@media (max-width: 1024px) {
    .briefing-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .briefing-info {
        position: relative;
        top: 0;
    }
}

@media (max-width: 600px) {
    .form-inputs {
        grid-template-columns: 1fr;
    }
}

/* --- FOOTER CONSISTENTE --- */
.site-footer { border-top: 1px solid var(--gray-deep); padding-top: 100px; background: #000; }
.footer-main { padding: 0 8% 80px; display: flex; justify-content: space-between; gap: 60px; }
.footer-col-brand { max-width: 400px; }
.footer-logo { font-size: 3.5rem; font-weight: 900; margin-bottom: 20px; text-transform: uppercase; }
.footer-col-brand p { color: var(--gray-light); line-height: 1.6; font-size: 0.9rem; }

.footer-nav-group { display: flex; gap: 80px; }
.footer-col { flex: 1; min-width: 150px; }
.footer-col h4 { font-size: 0.7rem; color: var(--gray-med); letter-spacing: 3px; margin-bottom: 25px; }

/* Estilo APENAS para links de texto da navegação */
.footer-col a:not(.social-icons a) { 
    display: block; 
    color: #fff; 
    text-decoration: none; 
    margin-bottom: 12px; 
    font-size: 0.65rem; 
    font-weight: 600; 
    transition: 0.3s; 
    padding-left: 0;
}

.footer-col a:not(.social-icons a):hover { 
    color: var(--gray-light); 
    padding-left: 5px; 
}

/* --- REDES SOCIAIS (ISOLADAS) --- */
.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 5px;
    align-items: center;
    justify-content: flex-start;
}

.social-icons a {
    color: #fff !important; /* Força a cor branca para sobrescrever regras genéricas */
    font-size: 1.5rem !important; /* Garante o tamanho maior */
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex !important; /* Sobrescreve o display: block anterior */
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding-left: 0 !important; /* Remove o deslocamento do hover anterior */
}

.social-icons a:hover {
    color: var(--gray-light) !important;
    padding-left: 0 !important; /* Garante que não desloque para a esquerda */
}

/* --- BARRA LEGAL (70PX) --- */
.footer-legal-bar {
    height: 70px; 
    border-top: 1px solid var(--gray-deep);
    display: flex; 
    align-items: center; 
    padding: 0 8%;
}
.legal-content { 
    width: 100%; 
    display: flex; 
    justify-content: space-between; 
    font-size: 0.6rem; 
    color: var(--gray-med); 
    letter-spacing: 1px; 
}

/* --- BOTÃO WHATSAPP (FIXO) --- */
.gh-whatsapp {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 60px;
    height: 60px;
    background-color: #fff !important; /* Fundo branco fixo */
    color: #000 !important; /* Ícone preto para contraste */
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 28px !important;
    z-index: 9999;
    text-decoration: none !important;
    transition: transform 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.gh-whatsapp:hover {
    transform: scale(1.1);
    color: #000 !important;
}

/* Forçar o ícone dentro do botão a ignorar estilos de lista */
.gh-whatsapp i {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- EFEITO PULSE (BRANCO) --- */
.pulse-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #fff; /* Pulso branco */
    pointer-events: none;
    animation: ringPulseAnimation 2s infinite;
}

@keyframes ringPulseAnimation {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}