:root {
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --primary-color: #11E44F;
    --primary-hover-color: #0db33f;
    --header-bg-color: #121212;
    --secondary-bg-color: #1e1e1e;
    --card-bg-color: #181818;
    --border-color: #2c2c2c;
    --text-on-primary: #000000;
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Open Sans', sans-serif;
}
body { margin: 0; font-family: var(--font-secondary); background-color: var(--bg-color); color: var(--text-color); line-height: 1.7; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.container { width: 90%; max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.section-padding { padding: 70px 0; }
.section-padding-small { padding: 60px 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-primary); margin-top: 0; line-height: 1.3; font-weight: 700; color: var(--text-color); }
h1 { font-size: 2.6rem; margin-bottom: 12px; }
h2 { font-size: 2rem; margin-bottom: 40px; text-align: center; }
h3 { font-size: 1.3rem; margin-bottom: 12px; }
p { margin-bottom: 1.5em; }
a { color: var(--primary-color); text-decoration: none; }
a:hover { text-decoration: underline; color: var(--primary-hover-color); }
.btn { display: inline-block; padding: 14px 32px; border-radius: 6px; font-family: var(--font-primary); font-weight: 700; text-decoration: none; transition: background-color 0.3s ease, transform 0.2s ease, color 0.3s ease; font-size: 1rem; cursor: pointer; border: none; text-align: center; }
.btn-primary { background-color: var(--primary-color); color: var(--text-on-primary); }
.btn-primary:hover { background-color: var(--primary-hover-color); color: var(--text-on-primary); transform: translateY(-2px); text-decoration: none;}
.site-header { background-color: var(--header-bg-color); padding: 15px 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.site-header .logo img { max-height: 45px; width: auto; }
.site-header nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
.site-header nav ul li { margin-left: 30px; }
.site-header nav ul li a { color: var(--text-color); font-weight: 700; font-family: var(--font-primary); text-transform: uppercase; font-size: 0.9rem; padding-bottom: 5px; border-bottom: 2px solid transparent; transition: color 0.3s ease, border-color 0.3s ease; }
.site-header nav ul li a:hover, .site-header nav ul li a.active { color: var(--primary-color); border-bottom-color: var(--primary-color); text-decoration: none; }
.mobile-menu-icon { display: none; font-size: 24px; color: var(--text-color); cursor: pointer; }
#mobile-menu-close { position: fixed; top: 20px; right: 20px; font-size: 30px; color: var(--text-color); cursor: pointer; display: none; z-index: 1002; }
.hero-section { background-color: #0a0a0a; background-image: linear-gradient(rgba(18, 18, 18, 0.85), rgba(18, 18, 18, 0.95)), url('imagens/agencia-seo-hero.webp'); background-size: cover; background-position: center; padding: 100px 0; text-align: center; color: var(--text-color); }
.hero-section .subtitle { font-size: 1.1rem; margin: 0 auto 24px; max-width: 700px; }
.hero-section .hero-meta { color: var(--primary-color); font-size: 0.9rem; margin-top: 18px; font-weight: 600;}
.logo-wrapper { display: flex; justify-content: center; }
.client-logos-grid, .tools-logos-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 40px; }
.client-logos-grid .logo-item img { max-height: 50px; width: auto; height: auto; filter: grayscale(80%) brightness(1.5) contrast(0.9); opacity: 0.6; transition: filter 0.3s, opacity 0.3s; }
.client-logos-grid .logo-item img:hover { filter: grayscale(0%) brightness(1) contrast(1); opacity: 1;}
.client-logos-section .section-outro { font-size: 1rem; margin-top: 32px; text-align:center; color: var(--text-color); }
.tools-section { background-color: var(--secondary-bg-color); }
.tools-section .tools-banner { text-align: center; margin-bottom: 40px; }
.tools-section .tools-banner img { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.3); }
.tools-logos-grid .tool-logo img { max-height: 44px; width: auto; filter: grayscale(50%) brightness(1.2); opacity: 0.7; transition: filter 0.3s, opacity 0.3s; }
.tools-logos-grid .tool-logo img:hover { filter: grayscale(0%) brightness(1); opacity: 1;}
.diferenciais-section { background-color: var(--secondary-bg-color); }
.diferenciais-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.diferencial-card { background-color: var(--card-bg-color); padding: 25px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.3); border: 1px solid var(--border-color); }
.diferencial-card img { width: 100%; height: 180px; object-fit: cover; border-radius: 6px; margin-bottom: 15px;}
.diferencial-card h3 { color: var(--primary-color); font-size: 1.2rem; }
.testimonials-section { background-color: var(--bg-color); }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.testimonial-card.text-based { background-color: var(--card-bg-color); padding: 25px; border: 1px solid var(--border-color); border-radius: 8px; display: flex; flex-direction: column; text-align: left; }
.testimonial-quote { font-style: italic; color: var(--text-color); margin: 0 0 20px 0; flex-grow: 1; }
.testimonial-quote::before { content: '“'; font-size: 2.5rem; color: var(--primary-color); font-weight: 800; line-height: 0; display: block; margin-bottom: 10px; }
.testimonial-author { font-style: normal; }
.testimonial-author strong { display: block; color: var(--text-color); font-weight: 700; }
.testimonial-author span { font-size: 0.9rem; color: #a0a0a0; }
.metodologia-section { background-color: var(--bg-color); }
.metodologia-list { list-style: none; padding-left: 0; }
.metodologia-item { margin-bottom: 35px; padding: 20px; background-color: var(--card-bg-color); border-radius: 8px; border-left: 4px solid var(--primary-color); box-shadow: 0 2px 8px rgba(0,0,0,0.2);}
.metodologia-item .step-number-badge { font-family: var(--font-primary); font-weight: 800; color: var(--primary-color); font-size: 1.5rem; display: block; margin-bottom: 8px; }
.metodologia-item h3 { color: var(--text-color); margin-bottom: 8px; font-size: 1.2rem; display: flex; align-items: center; }
.metodologia-item h3 .badge-text { margin-left: 10px; }
.metodologia-item p { color: var(--text-color); font-size: 0.95rem; margin-bottom: 0;}
.metodologia-section .methodology-image-container { text-align: center; margin-top: 40px;}
.metodologia-section .methodology-image-container img { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.3); }
.stats-section { background-color: var(--secondary-bg-color); color: var(--text-color); text-align: center; }
.stats-grid { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 30px; font-size: 1.2rem; }
.stat-item strong { font-size: 2.5rem; display: block; color: var(--primary-color); font-weight: 800; margin-bottom: 5px;}
.plans-section { background-color: var(--bg-color); }
.plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.plan-card { border: 1px solid var(--border-color); border-radius: 8px; padding: 28px; text-align: center; background-color: var(--card-bg-color); display: flex; flex-direction: column; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.plan-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.4); }
.plan-card.featured { border: 2px solid var(--primary-color); box-shadow: 0 0 15px rgba(17, 228, 79, 0.3); }
.plan-card h3 { color: var(--primary-color); font-size: 1.5rem; margin-bottom: 6px; }
.plan-card .plan-description { font-size: 0.95rem; color: #a0a0a0; margin-bottom: 18px; min-height: 3em; }
.plan-card ul { list-style: none; padding-left: 0; text-align: left; font-size: 0.9rem; line-height: 1.8; margin-bottom: 25px; flex-grow: 1; }
.plan-card ul li { margin-bottom: 8px; padding-left: 25px; position: relative; color: var(--text-color); }
.plan-card ul li::before { content: "✓"; color: var(--primary-color); position: absolute; left: 0; font-weight: bold; }
.plans-section .plans-footnote { text-align: center; font-size: 0.9rem; margin-top: 28px; color: #a0a0a0; }
.guarantee-section { background: linear-gradient(135deg, #011c0f 0%, #121212 100%); color: var(--text-color); text-align: center; }
.guarantee-section h2 { color: var(--text-color); margin-bottom: 18px; }
.guarantee-section p { max-width: 700px; margin: 0 auto 25px; font-size: 1rem; }
.guarantee-section .guarantee-icon { font-size: 3rem; color: var(--primary-color); margin-bottom: 15px; }
.faq-section { background-color: var(--bg-color); }
.faq-item { margin-bottom: 16px; border: 1px solid var(--border-color); border-radius: 6px; overflow: hidden; background-color: var(--card-bg-color); }
.faq-item summary { cursor: pointer; font-weight: 700; padding: 15px 20px; background-color: var(--secondary-bg-color); color: var(--text-color); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; } 
.faq-item summary::after { content: '+'; font-size: 1.5em; color: var(--primary-color); transition: transform 0.2s ease-out; }
.faq-item[open] summary { background-color: var(--primary-color); color: var(--text-on-primary); }
.faq-item[open] summary::after { transform: rotate(45deg); color: var(--text-on-primary); }
.faq-item .faq-answer { padding: 20px; font-size: 0.95rem; color: var(--text-color); background-color: var(--card-bg-color);}
.cta-final-section { background: var(--primary-color); text-align: center; }
.cta-final-section h2 { color: var(--text-on-primary); margin-bottom: 18px; }
.cta-final-section p { color: var(--text-on-primary); font-size: 1.05rem; margin-bottom: 28px; }
.cta-final-section .btn-dark-bg-primary-text { background-color: #000; color: var(--primary-color); border: 1px solid var(--primary-color); }
.cta-final-section .btn-dark-bg-primary-text:hover { background-color: #222; color: var(--primary-hover-color); border-color: var(--primary-hover-color); text-decoration: none; }
.site-footer { background-color: #0c0c0c; color: #a0a0a0; padding: 50px 0 20px; font-size: 0.9rem; }
.site-footer .container { display: flex; flex-direction: column; align-items: center;}
.footer-content { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin-bottom: 30px; gap: 30px;}
.footer-column { flex: 1; min-width: 220px; }
.footer-column.logo-column { flex-basis: 100%; text-align: center; margin-bottom: 20px; }
@media (min-width: 768px) { .footer-column.logo-column { flex-basis: auto; text-align: left; margin-bottom: 0;} }
.footer-column .footer-logo img { max-height: 50px; margin-bottom: 15px;}
.footer-column h3 { font-family: var(--font-primary); color: var(--text-color); font-size: 1.1rem; margin-bottom: 15px; }
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column ul li { margin-bottom: 8px; }
.footer-column ul li a, .footer-column p a { color: #a0a0a0; }
.footer-column ul li a:hover, .footer-column p a:hover { color: var(--primary-color); text-decoration: underline; }
.footer-social-icons { margin-top: 15px; }
.footer-social-icons a { color: var(--text-color); margin-right: 15px; font-size: 1.5rem; transition: color 0.3s; }
.footer-social-icons a:hover { color: var(--primary-color); }
.copyright { text-align: center; padding-top: 20px; border-top: 1px solid var(--border-color); font-size: 0.85rem; width:100%; color: #888; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
@media (max-width: 992px) {
    .site-header nav ul li { margin-left: 20px; }
    .site-header nav ul li a { font-size: 0.85rem; }
    .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.7rem; margin-bottom: 30px; }
    .section-padding { padding: 50px 0; }
    .section-padding-small { padding: 40px 0; }
    .site-header .container {padding: 0 15px;}
    .site-header .logo { margin: 0; padding: 10px 0;}
    .site-header nav { display: none; flex-direction: column; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: var(--bg-color); padding-top: 70px; text-align: center; overflow-y: auto; z-index: 1001; }
    .site-header nav.active { display: flex; }
    .site-header nav ul { flex-direction: column; }
    .site-header nav ul li { margin: 18px 0; }
    .mobile-menu-icon { display: block; }
    #mobile-menu-close.active { display: block; }
    .hero-section { padding: 60px 15px; }
    .logo-wrapper { overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent); mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent); }
    .logo-wrapper:hover .is-carousel { animation-play-state: paused; }
    .client-logos-grid.is-carousel, .tools-logos-grid.is-carousel { display: flex; flex-wrap: nowrap; gap: 0; animation: scroll 20s linear infinite; will-change: transform; }
    .client-logos-grid.is-carousel .logo-item, .tools-logos-grid.is-carousel .tool-logo { flex-shrink: 0; padding: 0 25px; }
    .client-logos-grid .logo-item img { max-height: 40px; }
    .tools-logos-grid .tool-logo img { max-height: 35px; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .stats-grid { flex-direction: column; gap: 25px; }
    .footer-content { flex-direction: column; text-align: center; }
}
