/* ================= REGRAS GERAIS ================= */
* {margin:0; padding:0; box-sizing:border-box;}
html { scroll-padding-top: 100px; } 
body { 
    font-family:'Roboto', sans-serif; 
    scroll-behavior: smooth; 
    background-color: rgba(40,44,91,1); 
    color:#fff; 
    overflow-x: hidden; 
	max-width: 100vw;
}
h1, h2, h3, h4 { font-family: 'Poppins', sans-serif; }

/* ================= CABEÇALHO ================= */
header {
    position: fixed; top: 0; left: 0; width: 100%; height: 90px;
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 50px; z-index: 1000;
    background-color: rgba(40, 44, 91, 0.95); 
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);      
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.logo { display: flex; align-items: center; height: 100%; }
.logo img { height: 50px; width: auto; display: block; }

nav.main-nav { height: 100%; display: flex; align-items: center; }
nav.main-nav ul { display: flex; list-style:none; align-items: center; gap: 25px; margin: 0; padding: 0; }
nav.main-nav ul li { margin: 0; display: flex; align-items: center; }
nav.main-nav ul li a { text-decoration:none; color:#fff; font-weight:500; transition:color 0.3s; font-size: 0.95em; }
nav.main-nav ul li a:hover { color:#7F8CFF; }

.btn-agendar-menu {
    background-color: #25d366; padding: 10px 25px; border-radius: 30px; 
    font-weight: 700 !important; color: #fff !important; 
    transition: transform 0.3s, background-color 0.3s; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}
.btn-agendar-menu:hover { background-color: #20ba5a; transform: scale(1.05); }

/* DROPDOWN IDIOMAS */
.lang-dropdown { position: relative; display: inline-block; }
.lang-dropbtn { 
    background-color: rgba(255, 255, 255, 0.1); 
    color: white; 
    padding: 8px 12px; 
    font-size: 14px; 
    border: 1px solid rgba(255, 255, 255, 0.2); 
    cursor: pointer; 
    border-radius: 20px; 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    font-family: 'Poppins', sans-serif; 
    transition: all 0.3s ease; 
}
.lang-dropbtn:hover { background-color: rgba(255, 255, 255, 0.2); }
.lang-dropbtn img { width: 20px; height: auto; border-radius: 2px; display: block; }

.dropdown-content { 
    visibility: hidden; opacity: 0; 
    position: absolute; right: 0; top: 100%; margin-top: 10px;
    background-color: #151730; 
    min-width: 160px; 
    box-shadow: 0px 8px 25px 0px rgba(0,0,0,0.5); 
    z-index: 2000; 
    border-radius: 12px; 
    border: 1px solid rgba(255,255,255,0.1); 
    display: flex; 
    flex-direction: column; 
    padding: 5px 0;
    transition: all 0.3s ease;
}
.lang-dropdown:hover .dropdown-content { visibility: visible; opacity: 1; margin-top: 5px; }

.dropdown-content a { 
    color: #e0e0e0; 
    padding: 10px 15px; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    font-size: 14px; 
    transition: background 0.2s; 
    width: 100%;
}
.dropdown-content a:hover { background-color: #5A6BD8; color: #fff; }
.dropdown-content a img { width: 20px; border-radius: 2px; }

.mobile-menu-icon { display: none; cursor: pointer; z-index: 1001; }
.mobile-menu-icon div { width: 30px; height: 3px; background-color: #fff; margin: 6px 0; transition: 0.4s; }
.mobile-menu-icon.open .bar1 { transform: rotate(-45deg) translate(-7px, 7px); }
.mobile-menu-icon.open .bar2 { opacity: 0; }
.mobile-menu-icon.open .bar3 { transform: rotate(45deg) translate(-7px, -7px); }

/* ================= SEÇÃO HERO (INÍCIO) ================= */
main { padding-top: 90px; position: relative; z-index: 2; } 
section { min-height:100vh; padding:80px 50px; position: relative; }

#inicio { 
    position:relative; 
    overflow:hidden; 
    display:flex; 
    flex-direction:column; 
    justify-content:center; 
    align-items:center; 
    text-align:center; 
    background: radial-gradient(circle at center, #2a2e5e 0%, #151730 100%); 
    padding: 0; 
}

#particles-js { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 0; }
.hero-content { position: relative; z-index: 1; max-width: 900px; display: flex; flex-direction: column; align-items: center; padding: 60px 20px; } 

.selo-moderno { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); padding: 8px 20px; border-radius: 50px; font-size: 0.9em; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #a5b4fc; margin-bottom: 25px; backdrop-filter: blur(5px); display: inline-block; animation: float 3s ease-in-out infinite; }

.hero-logo-img { width: 480px; max-width: 90%; height: auto; margin-bottom: 30px; filter: drop-shadow(0 0 20px rgba(90, 107, 216, 0.4)); animation: float 6s ease-in-out infinite; }

#inicio p { font-size: 1.3em; color: #e0e7ff; max-width: 700px; margin-bottom: 50px; line-height: 1.6; }
.hero-buttons { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.btn-hero { padding: 16px 40px; border-radius: 50px; font-size: 1.1em; font-weight: 600; text-decoration: none; transition: all 0.3s ease; }
.btn-primary { background: linear-gradient(135deg, #5A6BD8 0%, #4338ca 100%); color: #fff; box-shadow: 0 10px 25px rgba(90, 107, 216, 0.4); border: 1px solid transparent; }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(90, 107, 216, 0.6); }
.btn-outline { background: rgba(255, 255, 255, 0.05); color: #fff; border: 1px solid rgba(255, 255, 255, 0.2); backdrop-filter: blur(5px); }
.btn-outline:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; transform: translateY(-3px); }
@keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } }

/* ================= SLIDER CLIENTES (CORRIGIDO) ================= */
.clientes-wrapper { 
    width: 100%; 
    position: relative; 
    z-index: 3; 
    margin-top: 50px; 
    background-color: rgba(0,0,0,0.2); 
    border-top: 1px solid rgba(255,255,255,0.05); 
    padding: 30px 0;
    overflow: hidden; /* Garante que não crie barra de rolagem */
}

.clientes-wrapper h3 { 
    text-align: center; 
    color: #a5b4fc; 
    font-size: 0.9em; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    margin-bottom: 20px; 
}

.slider { 
    width: 100%; 
    height: 80px; 
    position: relative; 
    overflow: hidden; 
    margin: auto;
}

.slide-track { 
    display: flex; 
    /* CÁLCULO: 15 logos originais + 15 cópia + 15 cópia = 45 slides no total */
    /* 45 slides x 200px cada = 9000px de largura total */
    width: calc(200px * 45); 
    animation: scroll 40s linear infinite; 
}

.slide-track:hover { 
    animation-play-state: paused; /* Para quando passa o mouse */
}

.slide { 
    width: 200px; 
    height: 80px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.slide img { 
    width: 120px; /* Tamanho da logo */
    /* Filtro para deixar as logos visíveis no fundo escuro (opcional) */
    filter: grayscale(100%) brightness(200%); 
    opacity: 0.7;
    transition: all 0.3s; 
    cursor: pointer; 
    object-fit: contain;
}

.slide img:hover { 
    filter: grayscale(0%) brightness(100%); /* Volta a cor original ao passar o mouse */
    opacity: 1; 
    transform: scale(1.1); 
}

.slide a { 
    display: flex; 
    width: 100%; 
    height: 100%; 
    align-items: center; 
    justify-content: center; 
}

/* A MÁGICA DO LOOP INFINITO */
@keyframes scroll { 
    0% { transform: translateX(0); } 
    /* Move exatamente a largura de 1 CONJUNTO de logos (15 slides) */
    /* Quando chegar no final do 15º, ele volta pro 0 instantaneamente */
    100% { transform: translateX(calc(-200px * 15)); } 
}


/* ================= SERVIÇOS & FERRAMENTAS ================= */
#servicos, #ferramentas { background-color: #f4f6ff; color: #282c5b; padding: 100px 50px; min-height: auto; }
#servicos h2, #ferramentas h2 {text-align:center; font-size: 3em; margin-bottom: 60px; font-weight: 700;}
.cards-container, .ferramentas-grid { display: flex; flex-wrap: wrap; gap: 30px; justify-content: center; max-width: 1200px; margin: 0 auto; perspective: 1000px; }
.ferramentas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

.card, .ferramenta-card { background: #fff; border-radius: 18px; padding: 35px; text-align: center; transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.3s ease; box-shadow: 0 10px 25px rgba(40, 44, 91, 0.1); }
.card { background-color:#5A6BD8; color:#fff; flex: 1 1 300px; min-width: 280px; max-width: 350px; display:flex; flex-direction:column; align-items:center; }
.card img { width:65px; height:65px; margin-bottom:20px; }
.ferramenta-card:hover { box-shadow: 0 15px 30px rgba(40, 44, 91, 0.15); }
.ferramenta-card img { width: 70px; height: 70px; margin-bottom: 20px; }
.ferramenta-card h3 { color: #5A6BD8; margin-bottom: 15px; font-size: 1.4em; }
.ferramenta-card p { font-size: 0.95em; line-height: 1.6; margin-bottom: 25px; }
.ferramenta-card a { text-decoration: none; background-color: #5A6BD8; color: #fff; padding: 12px 25px; border-radius: 8px; font-weight: 500; display: inline-block; transition: background-color 0.3s; cursor: pointer; }
.ferramenta-card a:hover { background-color: #7F8CFF; }

/* ================= QUEM SOMOS ================= */
#quem-somos { background: #fff; padding: 100px 50px; color: #333; min-height: auto; }
.qs-wrapper { max-width: 1200px; margin: auto; display: flex; align-items: center; gap: 60px; }
.qs-img { flex: 0 0 550px; margin-top: -50px; }
.qs-img img { width: 75%; aspect-ratio: 9 / 16; height: auto; border-radius: 30px; object-fit: cover; box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
.qs-text { flex: 3; }
.qs-text h2 {font-size: 4em; margin-bottom: 20px; color: #282c5b;}
.qs-text p {font-size: 2em; line-height: 1.5;}
.qs-numbers { display: flex; gap: 30px; margin-top: 40px; }
.qs-card { flex: 1; background: #f4f6ff; padding: 30px 20px; border-radius: 14px; box-shadow: 0 6px 20px rgba(30, 60, 120, 0.3); text-align: center; }
.qs-card h2 { margin: 0; font-size: 36px; color: #1b2cc1; }
.qs-card p { margin-top: 6px; font-weight: 600; font-size: 1em; }

/* --- DEPOIMENTOS --- */
#depoimentos { background-color: #edf1ff; color: #282c5b; padding: 100px 50px; min-height: auto; text-align: center; }
#depoimentos h2 { font-size: 2.5em; margin-bottom: 50px; font-weight: 700; }
.depoimentos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; max-width: 1200px; margin: 0 auto; }
.depoimento-card { background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); text-align: left; transition: transform 0.3s; }
.depoimento-card:hover { transform: translateY(-5px); }
.quote-icon { font-size: 40px; color: #5A6BD8; margin-bottom: 15px; opacity: 0.3; }
.depoimento-texto { font-size: 1em; line-height: 1.6; font-style: italic; color: #555; margin-bottom: 20px; }
.cliente-info h4 { color: #282c5b; font-size: 1.1em; margin-bottom: 3px; }
.cliente-info span { font-size: 0.9em; color: #888; }
.stars { color: #FFD700; margin-bottom: 10px; }

/* ================= BLOG ================= */
#blog { background-color: #1c1f4a; color: #fff; padding: 80px 50px; min-height: auto; position: relative; z-index: 500; }
#blog h2 { text-align: center; font-size: 2.5em; margin-bottom: 50px; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; max-width: 1200px; margin: 0 auto; }
.blog-card { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 15px; overflow: hidden; transition: transform 0.3s ease; }
.blog-card:hover { transform: translateY(-5px); background: rgba(255, 255, 255, 0.08); }
.blog-img { width: 100%; height: 180px; background-color: #5A6BD8; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5); font-weight: bold; background-size: cover; background-position: center; }
.blog-content { padding: 25px; }
.blog-tag { background-color: #5A6BD8; color: #fff; padding: 5px 12px; border-radius: 6px; font-size: 0.8em; text-transform: uppercase; font-weight: 700; margin-bottom: 12px; display: inline-block; }
.blog-content h3 { font-size: 1.4em; margin-bottom: 15px; line-height: 1.4; }
.blog-content p { font-size: 0.95em; color: #ccc; line-height: 1.6; margin-bottom: 25px; }
.blog-link { color: #7F8CFF; text-decoration: none; font-weight: 600; display: flex; align-items: center; gap: 5px; position: relative; z-index: 501; cursor: pointer; }
.blog-link:hover { text-decoration: underline; }

/* ================= FAQ ================= */
#faq { background-color: #fff; color: #282c5b; padding: 80px 50px; min-height: auto; position: relative; z-index: 500; }
#faq h2 { text-align: center; font-size: 2.5em; margin-bottom: 50px; }
.faq-container { max-width: 800px; margin: 0 auto; }
.faq-item { background: #f4f6ff; border-radius: 10px; margin-bottom: 15px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.05); transition: all 0.3s ease; }
.faq-question { width: 100%; text-align: left; padding: 20px; background: none; border: none; font-size: 1.2em; font-weight: 700; color: #282c5b; cursor: pointer; display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 501; }
.faq-question:hover { background-color: #edf1ff; }
.faq-question .icon { font-size: 1.5em; color: #5A6BD8; transition: transform 0.3s; }
.faq-answer { max-height: 0; overflow: hidden; padding: 0 20px; color: #555; line-height: 1.6; transition: max-height 0.3s ease, padding 0.3s ease; }
.faq-item.active .faq-answer { max-height: 200px; padding-bottom: 20px; }
.faq-item.active .icon { transform: rotate(45deg); }

/* ================= CONTATO ================= */
#contato { padding: 80px 50px; background-color: #282c5b; min-height: auto; position: relative; z-index: 500; }
#contato h2 {text-align:center; font-size: 2.5em; margin-bottom: 50px; color: #fff;}
.contato-wrapper { display: flex; flex-wrap: wrap; gap: 40px; max-width: 1200px; margin: 0 auto; background: #fff; border-radius: 15px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.contato-form { flex: 2; min-width: 300px; color: #333; }
.contato-form h3 { font-size: 1.8em; color: #282c5b; margin-bottom: 25px; }
.contato-info { flex: 1; min-width: 300px; background-color: #f4f6ff; border-radius: 10px; padding: 40px 30px; color: #282c5b; }
.contato-info h3 { font-size: 1.8em; margin-bottom: 30px; font-weight: 700; }
.info-item { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; font-size: 0.95em; line-height: 1.5; }
.info-item svg { width: 24px; height: 24px; min-width: 24px; margin-top: 3px; stroke: #5A6BD8; }
.info-item a, .info-item span { color: #444; text-decoration: none; transition: color 0.3s; word-break: break-word; overflow-wrap: anywhere; }
.contato-info a:hover { color: #5A6BD8; }

/* Estilos Form */
.contato-form .form-group { margin-bottom: 25px; }
.contato-form label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 1em; color: #282c5b; }
.contato-form input[type="text"], .contato-form input[type="email"], .contato-form textarea { width: 100%; padding: 12px 15px; border: 1px solid #c9c9d8; border-radius: 8px; font-size: 1em; font-family: 'Inter', sans-serif; color: #333; background-color: #f9faff; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.contato-form input:focus, .contato-form textarea:focus { border-color: #5A6BD8; box-shadow: 0 0 0 3px rgba(90, 107, 216, 0.2); outline: none; }
.contato-form textarea { resize: vertical; min-height: 120px; }
.contato-form button { background-color: #5A6BD8; color: #fff; padding: 15px 35px; border: none; border-radius: 8px; font-size: 1.1em; font-weight: 700; transition: background-color 0.3s; cursor: pointer; display: inline-block; }
.contato-form button:hover { background-color: #7F8CFF; }

/* ================= ELEMENTOS FLUTUANTES ================= */
.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 30px; right: 30px; background-color: #25d366; color: #FFF; border-radius: 50px; text-align: center; font-size: 30px; box-shadow: 2px 2px 3px #999; z-index: 5000; display: flex; align-items: center; justify-content: center; transition: transform 0.3s; animation: pulse-green 2s infinite; }
.whatsapp-float:hover { background-color: #20ba5a; transform: scale(1.1); }
.whatsapp-float img { width: 35px; height: 35px; }
@keyframes pulse-green { 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); } }

#btn-back-to-top { position: fixed; bottom: 100px; right: 35px; width: 45px; height: 45px; border-radius: 50%; background-color: #5A6BD8; color: #fff; border: none; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,0.3); display: none; align-items: center; justify-content: center; font-size: 20px; z-index: 4999; transition: all 0.3s; }
#btn-back-to-top:hover { background-color: #7F8CFF; transform: translateY(-3px); }

/* ================= FOOTER ================= */
footer { background-color: rgb(10, 11, 26); color: #e0e0e0; padding: 60px 50px 60px 50px; border-top: 1px solid rgba(255, 255, 255, 0.1); position: relative; z-index: 3; }
.footer-container { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; padding-bottom: 40px; }
.footer-col { flex: 1; min-width: 250px; }
.footer-col h4 { font-size: 1.2em; color: #fff; margin-bottom: 20px; position: relative; }
.footer-col h4::after { content: ''; position: absolute; left: 0; bottom: -8px; width: 50px; height: 2px; background-color: #5A6BD8; }
.footer-col .footer-logo img { height: 50px; margin-bottom: 15px; }
.footer-col p { font-size: 0.9em; line-height: 1.6; margin-bottom: 10px; }
.footer-links ul { list-style: none !important; padding: 0 !important; margin: 0; }
.footer-links ul li { margin-bottom: 12px; }
.footer-links ul li a, .footer-links ul li a:visited { text-decoration: none !important; color: #ffffff !important; transition: color 0.3s, padding-left 0.3s; }
.footer-links ul li a:hover { color: #7F8CFF !important; padding-left: 5px; }
.social-links a { display: inline-block; margin-right: 15px; text-decoration: none !important; font-size: 1.1em; color: #ffffff !important; transition: color 0.3s, transform 0.3s; }
.social-links a:hover { transform: translateY(-2px); }
.footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); text-align: center; font-size: 0.85em; color: #aaa; }

/* ================= MODAIS E BANNERS ================= */
.cookie-banner { position: fixed; bottom: 20px; left: 20px; max-width: 350px; background: rgba(21, 23, 48, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); padding: 25px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 10001; color: #fff; font-size: 0.9em; display: none; animation: slideIn 0.5s ease; }
.cookie-banner h5 { font-size: 1.1em; margin-bottom: 10px; color: #fff; }
.cookie-buttons { display: flex; gap: 10px; margin-top: 10px; }
.cookie-banner button { flex: 1; padding: 10px; border-radius: 8px; cursor: pointer; font-weight: bold; transition: 0.3s; font-size: 0.9em; }
#accept-cookies { background: #5A6BD8; color: #fff; border: none; }
#reject-cookies { background: transparent; color: #ddd; border: 1px solid #555; }
@keyframes slideIn { from { transform: translateY(100px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* Modais */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); z-index: 10000; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease; }
.modal-overlay.active { display: flex; opacity: 1; }
.modal-calculadora { background-color: #fff; color: #333; padding: 35px; border-radius: 15px; max-width: 650px; width: 90%; position: relative; transform: translateY(-50px); opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease; }
.modal-overlay.active .modal-calculadora { transform: translateY(0); opacity: 1; }
.modal-calculadora h3 { color: #282c5b; font-size: 1.8em; text-align: center; margin-bottom: 20px;}
.modal-close-button { position: absolute; top: 15px; right: 15px; background: none; border: none; font-size: 1.8em; cursor: pointer; }
.modal-form-group { margin-bottom: 15px; }
.modal-form-group label { display: block; margin-bottom: 5px; font-weight: 500; }
.modal-form-group input, .modal-form-group textarea, .modal-form-group select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; }
.modal-buttons { display: flex; gap: 10px; justify-content: center; margin-top: 20px; }
.modal-buttons button { padding: 10px 20px; border-radius: 5px; border: none; cursor: pointer; font-weight: bold; }
.modal-buttons button:first-child { background: #5A6BD8; color: #fff; }
.modal-buttons .btn-secondary { background: #ccc; color: #333; }
.resultado-calculo { margin-top: 20px; padding: 15px; background: #f0f4ff; border-radius: 5px; display: none; text-align: center; }
.resultado-regime-box { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.resultado-regime-item { flex: 1 1 150px; padding: 10px; background: #fff; border: 1px solid #5A6BD8; border-radius: 8px; }

.modal-politica { max-width: 800px; max-height: 80vh; overflow-y: auto; }
.modal-politica h4 { color: #282c5b; font-size: 1.2em; margin-top: 20px; margin-bottom: 10px; }
.modal-politica p { font-size: 0.95em; line-height: 1.6; margin-bottom: 10px; }

/* Animações */
.fade-up, .fade-right, .zoom-in { opacity: 0; transform: translateY(40px); transition: 0.8s ease; }
.fade-right { transform: translateX(-40px); } .zoom-in { transform: scale(.92); }
.show { opacity: 1; transform: translateY(0) translateX(0) scale(1); }

/* ================= MEDIA QUERIES (VERSÃO PROFISSIONAL FINAL) ================= */
@media (max-width: 950px) {
    
    /* 1. TRAVA GERAL E SEGURANÇA */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative;
        -webkit-text-size-adjust: 100%; /* Evita zoom indesejado no texto em iOS girado */
    }
    main { overflow-x: hidden; }

    /* 2. HEADER E MENU */
    header { padding: 10px 20px; height: 80px; }
    .logo img { height: 35px; }
    .mobile-menu-icon { display: block; z-index: 2001; }
    
    nav.main-nav {
        position: fixed; 
        top: 0; left: 0; 
        width: 100%; 
        /* CORREÇÃO PROFISSIONAL: dvh evita corte em navegadores mobile */
        height: 100dvh; 
        background: rgba(40,44,91,0.99); /* Levemente mais opaco */
        transform: translateX(-100%); 
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* Transição mais natural */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 2000;
        overscroll-behavior: contain; /* Evita rolar a página de fundo */
    }
    
    nav.main-nav.menu-aberto { transform: translateX(0); }
    
    nav.main-nav ul { 
        flex-direction: column; 
        padding: 0; 
        gap: 25px; 
        width: 100%;
        text-align: center; 
    }
    
    nav.main-nav ul li a { font-size: 1.4rem; display: block; width: 100%; padding: 10px 0; }
    
    /* Bandeiras */
    .lang-dropdown { display: block !important; margin-top: 20px; }
    .lang-dropbtn { display: none !important; }
    .dropdown-content {
        position: static !important;
        visibility: visible !important; 
        opacity: 1 !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 15px;
        padding: 0;
    }
    .dropdown-content a {
        width: auto !important;
        font-size: 1rem !important;
        background: rgba(255,255,255,0.1);
        padding: 8px 15px !important;
        border-radius: 50px;
    }
    .btn-agendar-menu { display: none !important; }

    /* 3. TIPOGRAFIA E ESPAÇAMENTO */
    section { padding: 50px 20px; }
    h1, h2, .qs-text h2, #servicos h2, #ferramentas h2, #depoimentos h2, #blog h2, #faq h2, #contato h2 {
        font-size: 2rem !important;
        line-height: 1.2;
        margin-bottom: 30px;
        word-wrap: break-word;
    }
    p, .qs-text p, .hero-content p { font-size: 1rem !important; line-height: 1.5; }

    /* 4. HERO */
    .hero-content { padding: 40px 15px; }
    .hero-logo-img { width: 220px; max-width: 80%; }
    .hero-buttons { flex-direction: column; width: 100%; gap: 15px; }
    .btn-hero { width: 100%; text-align: center; padding: 15px; }

    /* 5. SLIDER DE CLIENTES (PERFORMANCE) */
    .clientes-wrapper {
        width: 100vw; margin-left: -20px; padding: 20px 0;
        overflow: hidden !important;
    }
    .slider { width: 100%; overflow: hidden; }
    .slide-track {
        /* CORREÇÃO PROFISSIONAL: Força aceleração de Hardware (GPU) */
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .slide img { width: 90px; }

    /* 6. FORMULÁRIO (USABILIDADE iOS) */
    #contato { padding: 40px 15px; }
    .contato-wrapper { 
        flex-direction: column; 
        padding: 25px 15px !important; 
        width: 100% !important; 
        box-sizing: border-box; 
        overflow: hidden;
    }
    .contato-form, .contato-info { width: 100% !important; min-width: 0 !important; }
    
    .contato-form input, 
    .contato-form textarea, 
    .contato-form button { 
        width: 100% !important; 
        box-sizing: border-box !important;
        margin: 0 0 15px 0 !important;
        /* CORREÇÃO PROFISSIONAL: Evita zoom no iPhone */
        font-size: 16px !important; 
    }
    .contato-info iframe { width: 100% !important; }

    /* 7. GRIDS E LAYOUT */
    .qs-wrapper { flex-direction: column; gap: 30px; }
    .qs-img { margin-top: 0; width: 100%; }
    .qs-img img { width: 100%; height: auto; }
    .qs-numbers { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 15px; }
    .qs-card { flex: 1 1 100%; min-width: 200px; }
    .cards-container, .ferramentas-grid, .blog-grid, .depoimentos-grid { grid-template-columns: 1fr !important; gap: 25px; }

    /* 8. RODAPÉ E UX */
    .footer-container { flex-direction: column; text-align: center; gap: 30px; }
    .social-links { justify-content: center; display: flex; }
    .footer-col h4::after { left: 50%; transform: translateX(-50%); }
    
    /* Botões grandes o suficiente para toque (Min 44px) */
    .modal-calculadora { width: 92%; padding: 20px; max-height: 80vh; overflow-y: auto; }
    .whatsapp-float { bottom: 20px; right: 15px; width: 55px; height: 55px; }
    #btn-back-to-top { bottom: 85px; right: 20px; width: 45px; height: 45px; }
}