:root {
    --bg: #121418;           
    --bg-alt: #1A1D23;       
    --dark-card: #1E2228;    
    --border: #2A2F37;
    --blue: #2563EB;
    --white: #FFFFFF;
    --gray: #9CA3AF;
}

/* BASE */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--white); overflow-x: hidden; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 5%; }
.blue { color: var(--blue); }

/* HEADER INTELIGENTE */
.navbar { 
    padding: 5px 0;
    border-bottom: 1px solid var(--border); 
    position: fixed;
    width: 100%; top: 0; 
    background: var(--bg); 
    z-index: 1000; 
    transition: transform 0.4s ease;
}
.navbar--hidden { transform: translateY(-100%); }
.nav-container { display: flex; justify-content: space-between; align-items: center; }
.main-logo { height: 75px; width: auto; display: block; }
.nav-links { list-style: none; display: flex; gap: 30px; }
.nav-links a { color: var(--gray); text-decoration: none; font-weight: 700; transition: 0.3s; }
.nav-links a:hover { color: var(--blue); text-shadow: 0 0 10px rgba(37, 99, 235, 0.4); }

/* HERO */
.hero { padding-top: 100px; height: 90vh; display: flex; align-items: center; text-align: center; }
.hero h1 { font-size: clamp(2.2rem, 7vw, 4rem); font-weight: 900; line-height: 1.1; }
.hero-subhead { font-size: 1.2rem; color: var(--gray); margin-top: 25px; }
.hero-cta-wrapper { margin-top: 50px; }
.btn-zoom {
    display: inline-block; background: var(--blue); color: white; padding: 20px 45px;
    border-radius: 4px; text-decoration: none; font-weight: 900; transition: 0.4s;
}
.btn-zoom:hover { transform: scale(1.2); box-shadow: 0 10px 30px rgba(37, 99, 235, 0.4); }

/* UTILITÁRIOS */
.section-spacing { padding: 100px 0; }
.title-margin { margin-bottom: 60px !important; }
.center-text { text-align: center; border: none !important; padding: 0 !important; }
.center-content { text-align: center; display: flex; flex-direction: column; align-items: center; }
.bg-alt { background: var(--bg-alt); }
.section-title { font-size: clamp(1.8rem, 5vw, 2.5rem); font-weight: 900; border-left: 5px solid var(--blue); padding-left: 15px; text-transform: uppercase; }

/* GRIDS */
.grid-servicos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.flip-card { height: 260px; perspective: 1000px; cursor: pointer; }
.flip-card-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; }
.flip-card:hover .flip-card-inner, .flip-card.active .flip-card-inner { transform: rotateY(180deg); }
.flip-card-front, .flip-card-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; align-items: center; justify-content: center; padding: 30px; border-radius: 8px; background: var(--dark-card); border: 1px solid var(--border); }
.flip-card-back { background: var(--blue); transform: rotateY(180deg); }

.passos { display: flex; flex-wrap: wrap; gap: 30px; }
.glow-card { flex: 1; min-width: 280px; padding: 40px; background: var(--dark-card); border: 1px solid var(--border); transition: 0.4s; }
.glow-card span { font-size: 3rem; font-weight: 900; color: var(--blue); display: block; }
.glow-card:hover { box-shadow: 0 0 30px var(--blue); border-color: var(--blue); }

.grid-d9 { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 20px; }
.item-d9 { padding: 30px; border: 1px solid var(--border); text-align: center; background: var(--dark-card); transition: 0.3s; }
.item-d9:hover { background: var(--blue); transform: translateY(-10px); }

/* DEPOIMENTOS */
.slider-container { overflow: hidden; padding: 20px 0; }
.slider-track { display: flex; gap: 30px; animation: scrollDepo 40s linear infinite; width: max-content; }
.depo-card { width: 320px; background: var(--dark-card); border: 1px solid var(--border); padding: 30px; border-radius: 8px; flex-shrink: 0; }
@keyframes scrollDepo { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* SESSÃO 6 - ZOOM AZUL */
.zoom-text { font-size: clamp(1.1rem, 4vw, 1.5rem); font-weight: 700; margin: 20px 0; color: var(--gray); transition: 0.4s; }
.zoom-text:hover { color: var(--blue); transform: scale(1.15); text-shadow: 0 0 15px rgba(37, 99, 235, 0.4); }

/* CTA FINAL */
.h1-small { font-size: clamp(1.5rem, 6vw, 2.5rem); line-height: 1.2; }
.smaller-btn { background: var(--blue); color: #fff; padding: 18px 45px; border: none; font-weight: 900; border-radius: 50px; cursor: pointer; position: relative; overflow: hidden; transition: 0.4s; }
.whatsapp-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); font-size: 30px; transition: 0.4s; }
.smaller-btn:hover { background: #25D366; transform: scale(1.1); }
.smaller-btn:hover .btn-text { opacity: 0; }
.smaller-btn:hover .whatsapp-icon { transform: translate(-50%, -50%) scale(1); }

/* FOOTER DINÂMICO */
.footer { background: #0D0F12; padding: 80px 0 40px; border-top: 1px solid var(--border); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 60px; text-align: center; }
.footer h4 { margin-bottom: 25px; font-weight: 900; text-transform: uppercase; color: var(--white); }
.footer ul { list-style: none; }
.footer ul li a { color: var(--gray); text-decoration: none; transition: 0.3s; }
.footer ul li a:hover { color: var(--blue); text-shadow: 0 0 8px rgba(37, 99, 235, 0.5); }
.footer-email { color: var(--gray); margin-bottom: 30px; font-size: 1.1rem; }
.footer-socials a { color: var(--white); text-decoration: none; font-weight: 700; padding: 10px 25px; border: 1px solid var(--border); border-radius: 50px; transition: 0.3s; display: inline-block; }
.footer-socials a:hover { background: var(--blue); border-color: var(--blue); box-shadow: 0 0 20px rgba(37, 99, 235, 0.4); }
.footer-brand-central { text-align: center; border-top: 1px solid var(--border); padding-top: 50px; }
.footer-logo-centered { height: 90px; width: auto; margin-bottom: 25px; transition: 0.4s; }
.footer-bottom-info { color: #555; font-size: 0.85rem; }

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .section-spacing { padding: 60px 0; }
    .main-logo { height: 60px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-logo-centered { height: 70px; }
    .smaller-btn { width: 100%; }
}