:root {
    --primary: #405189;
    --secondary: #0ab39c;
    --dark: #0a0e1a;
    --light: #f3f6f9;
    --glass: rgba(255,255,255,0.06);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; overflow-x:hidden; }
body { font-family:'Inter',sans-serif; color:#495057; overflow-x:hidden; max-width:100vw; }

/* ===== NAVBAR ===== */
.navbar-landing { background:transparent; padding:1rem 0; transition:all .3s; position:fixed; width:100%; top:0; z-index:1000; }
.navbar-landing.scrolled { background:rgba(10,14,26,.95); backdrop-filter:blur(20px); box-shadow:0 4px 30px rgba(0,0,0,.3); padding:.5rem 0; }
.navbar-landing .navbar-brand img { height:45px; transition:all .3s; }
.navbar-landing.scrolled .navbar-brand img { height:38px; }
.navbar-landing .nav-link { color:rgba(255,255,255,.75); font-weight:600; padding:.5rem 1rem; transition:all .3s; position:relative; }
.navbar-landing .nav-link:hover { color:#fff; }
.navbar-landing .nav-link::after { content:''; position:absolute; bottom:0; left:50%; width:0; height:2px; background:var(--secondary); transition:all .3s; transform:translateX(-50%); }
.navbar-landing .nav-link:hover::after { width:60%; }
.navbar-landing.scrolled .nav-link { color:rgba(255,255,255,.7); }
.navbar-landing.scrolled .nav-link:hover { color:#fff; }

.btn-entrar, .btn-entrar:link, .btn-entrar:visited { background:rgba(255,255,255,.1) !important; border:2px solid rgba(255,255,255,.3) !important; color:#fff !important; padding:.4rem 1.5rem; border-radius:50px; font-weight:600; transition:all .3s; backdrop-filter:blur(10px); }
.btn-entrar:hover, .btn-entrar:focus, .btn-entrar:active { background:var(--secondary) !important; border-color:var(--secondary) !important; color:#fff !important; transform:translateY(-2px); box-shadow:0 5px 20px rgba(10,179,156,.4); }

/* ===== HERO ===== */
.hero-section { min-height:100vh; background:linear-gradient(135deg,#0a0e1a 0%,#111b2e 30%,#1a2a45 60%,#0d1a2d 100%); display:flex; align-items:center; position:relative; overflow:hidden; }
.hero-section::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(ellipse at 20% 80%,rgba(10,179,156,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(64,81,137,.2) 0%,transparent 50%),radial-gradient(ellipse at 60% 60%,rgba(99,102,241,.08) 0%,transparent 50%); animation:meshPulse 10s ease-in-out infinite alternate; z-index:0; pointer-events:none; }
@keyframes meshPulse { 0%{transform:scale(1) rotate(0)} 100%{transform:scale(1.08) rotate(2deg)} }

.hero-grid { position:absolute; top:0; left:0; width:100%; height:100%; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:60px 60px; z-index:0; }

.hero-particles { position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; overflow:hidden; }
.hero-particles span { position:absolute; display:block; animation:particleFloat linear infinite; }
.hero-particles .p-circle { border:2px solid rgba(255,255,255,.04); border-radius:50%; }
.hero-particles .p-dot { width:3px!important; height:3px!important; background:rgba(10,179,156,.4); border-radius:50%; }
.hero-particles span:nth-child(1){width:80px;height:80px;left:5%;animation-duration:22s}
.hero-particles span:nth-child(2){width:50px;height:50px;left:20%;animation-duration:16s;animation-delay:3s}
.hero-particles span:nth-child(3){width:60px;height:60px;left:40%;animation-duration:20s;animation-delay:1s}
.hero-particles span:nth-child(4){width:90px;height:90px;left:60%;animation-duration:24s;animation-delay:5s}
.hero-particles span:nth-child(5){width:40px;height:40px;left:75%;animation-duration:18s;animation-delay:2s}
.hero-particles span:nth-child(6){width:70px;height:70px;left:90%;animation-duration:21s;animation-delay:4s}
.hero-particles span:nth-child(7){left:12%;animation-duration:14s;animation-delay:6s}
.hero-particles span:nth-child(8){left:35%;animation-duration:12s;animation-delay:1s}
.hero-particles span:nth-child(9){left:55%;animation-duration:16s;animation-delay:3s}
.hero-particles span:nth-child(10){left:82%;animation-duration:13s;animation-delay:7s}
@keyframes particleFloat { 0%{transform:translateY(100vh) rotate(0);opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{transform:translateY(-100vh) rotate(720deg);opacity:0} }

.hero-glow { position:absolute; top:-150px; left:50%; transform:translateX(-50%); width:800px; max-width:200vw; height:500px; background:radial-gradient(ellipse,rgba(10,179,156,.1) 0%,transparent 70%); z-index:0; pointer-events:none; }

.hero-content { position:relative; z-index:1; }
.hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(10,179,156,.1); border:1px solid rgba(10,179,156,.2); color:var(--secondary); padding:.4rem 1.2rem; border-radius:50px; font-weight:600; font-size:.85rem; margin-bottom:1.5rem; backdrop-filter:blur(10px); animation:fadeSlideDown .8s ease; }
.hero-badge .pulse-dot { width:8px; height:8px; background:var(--secondary); border-radius:50%; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.5)} }

.hero-title { font-size:3.5rem; font-weight:900; color:#fff; line-height:1.15; animation:fadeSlideUp .8s ease; }
.hero-title .gradient-text { background:linear-gradient(135deg,#0ab39c,#67e8d4,#0ab39c); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:gradientShift 3s ease infinite; }
@keyframes gradientShift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

.hero-subtitle { font-size:1.15rem; color:rgba(255,255,255,.6); margin-top:1.5rem; line-height:1.8; max-width:540px; animation:fadeSlideUp 1s ease; }
.hero-buttons { animation:fadeSlideUp 1.2s ease; }
.hero-buttons .btn { padding:.8rem 2rem; border-radius:50px; font-weight:700; font-size:1rem; transition:all .3s; }

.btn-hero-primary,.btn-hero-primary:link,.btn-hero-primary:visited { background:linear-gradient(135deg,var(--secondary),#099b87) !important; border:none; color:#fff !important; box-shadow:0 4px 15px rgba(10,179,156,.3); }
.btn-hero-primary:hover,.btn-hero-primary:focus,.btn-hero-primary:active { transform:translateY(-3px) !important; box-shadow:0 8px 30px rgba(10,179,156,.5) !important; color:#fff !important; }
.btn-hero-outline,.btn-hero-outline:link,.btn-hero-outline:visited { background:rgba(255,255,255,.05) !important; border:2px solid rgba(255,255,255,.2); color:#fff !important; backdrop-filter:blur(10px); }
.btn-hero-outline:hover,.btn-hero-outline:focus,.btn-hero-outline:active { background:rgba(255,255,255,.12) !important; border-color:rgba(255,255,255,.4); color:#fff !important; transform:translateY(-2px); }

@keyframes fadeSlideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeSlideDown { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:translateY(0)} }

/* Hero Stats */
.hero-stats-row { animation:fadeSlideUp 1.4s ease; }
.hero-stat-card { background:var(--glass); border:1px solid rgba(255,255,255,.08); border-radius:1rem; padding:1.5rem; text-align:center; backdrop-filter:blur(10px); transition:all .3s; }
.hero-stat-card:hover { background:rgba(255,255,255,.1); transform:translateY(-3px); border-color:rgba(10,179,156,.3); }
.hero-stat-card h3 { font-size:2rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--secondary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:.25rem; }
.hero-stat-card p { color:rgba(255,255,255,.5); font-size:.8rem; text-transform:uppercase; letter-spacing:1.5px; margin:0; font-weight:600; }

/* Hero mockup */
.hero-mockup { position:relative; animation:fadeSlideUp 1s ease; }
.mockup-window { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:1rem; overflow:hidden; backdrop-filter:blur(10px); }
.mockup-bar { background:rgba(0,0,0,.3); padding:.6rem 1rem; display:flex; align-items:center; gap:.4rem; }
.mockup-dot { width:10px; height:10px; border-radius:50%; }
.mockup-body { padding:1.5rem; }
.mockup-line { height:10px; border-radius:5px; background:rgba(255,255,255,.06); margin-bottom:.75rem; }
.mockup-chart-bar { display:flex; align-items:flex-end; gap:8px; height:100px; margin-top:1rem; }
.mockup-bar-item { flex:1; border-radius:4px 4px 0 0; animation:barGrow 2s ease forwards; transform-origin:bottom; }
@keyframes barGrow { from{transform:scaleY(0)} to{transform:scaleY(1)} }

/* ===== SECTIONS ===== */
section { padding:6rem 0; }
.section-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(10,179,156,.08); color:var(--secondary); padding:.4rem 1.2rem; border-radius:50px; font-weight:700; font-size:.8rem; margin-bottom:1rem; letter-spacing:1px; text-transform:uppercase; }
.section-title { font-size:2.5rem; font-weight:900; color:#1a1d21; margin-bottom:.5rem; }
.section-subtitle { color:#878a99; font-size:1.05rem; margin-bottom:3rem; }

/* Logos/Trust */
.trust-section { padding:3rem 0; background:#fff; border-bottom:1px solid #f0f0f0; }
.trust-item { text-align:center; opacity:.4; transition:all .3s; }
.trust-item:hover { opacity:.8; }
.trust-item i { font-size:2.5rem; color:#878a99; }
.trust-item p { font-size:.75rem; color:#878a99; margin-top:.25rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; }

/* Features */
.feature-card { background:#fff; border:1px solid #e9ebec; border-radius:1rem; padding:2rem; transition:all .4s; height:100%; position:relative; overflow:hidden; }
.feature-card::before { content:''; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--primary),var(--secondary)); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.feature-card:hover { transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,.08); border-color:transparent; }
.feature-card:hover::before { transform:scaleX(1); }
.feature-icon { width:60px; height:60px; border-radius:.75rem; display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1.25rem; transition:all .3s; }
.feature-card:hover .feature-icon { transform:scale(1.1) rotate(-5deg); }
.feature-icon.blue { background:rgba(64,81,137,.1); color:var(--primary); }
.feature-icon.green { background:rgba(10,179,156,.1); color:var(--secondary); }
.feature-icon.orange { background:rgba(247,184,75,.1); color:#f7b84b; }
.feature-icon.red { background:rgba(240,101,72,.1); color:#f06548; }
.feature-icon.purple { background:rgba(135,97,241,.1); color:#8761f1; }
.feature-icon.cyan { background:rgba(41,156,219,.1); color:#299cdb; }
.feature-card h5 { font-weight:700; color:#1a1d21; margin-bottom:.75rem; }
.feature-card p { color:#878a99; font-size:.95rem; margin:0; }

/* How it works */
.how-section { background:linear-gradient(180deg,#f8f9fb 0%,#fff 100%); }
.step-card { text-align:center; position:relative; }
.step-number { width:70px; height:70px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; font-size:1.5rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; position:relative; box-shadow:0 10px 30px rgba(64,81,137,.2); transition:all .3s; }
.step-card:hover .step-number { transform:scale(1.1); box-shadow:0 15px 40px rgba(10,179,156,.3); }
.step-connector { position:absolute; top:35px; left:60%; width:80%; height:2px; background:linear-gradient(90deg,var(--secondary),transparent); opacity:.3; }
.step-card h5 { font-weight:700; color:#1a1d21; }
.step-card p { color:#878a99; font-size:.95rem; }

/* Benefits */
.benefit-item { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; padding:1rem; border-radius:.75rem; transition:all .3s; }
.benefit-item:hover { background:rgba(10,179,156,.03); }
.benefit-icon { flex-shrink:0; width:50px; height:50px; border-radius:.75rem; background:rgba(10,179,156,.1); color:var(--secondary); display:flex; align-items:center; justify-content:center; font-size:1.3rem; transition:all .3s; }
.benefit-item:hover .benefit-icon { background:var(--secondary); color:#fff; transform:rotate(-5deg); }
.benefit-item h6 { font-weight:700; color:#1a1d21; margin-bottom:.25rem; }
.benefit-item p { color:#878a99; font-size:.9rem; margin:0; }

/* Stats counter */
.stats-section { background:linear-gradient(135deg,#0a0e1a,#1a2a45); padding:4rem 0; position:relative; overflow:hidden; }
.stats-section::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:60px 60px; }
.stat-counter { text-align:center; position:relative; z-index:1; }
.stat-counter .counter { font-size:3rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--secondary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat-counter p { color:rgba(255,255,255,.5); font-size:.85rem; text-transform:uppercase; letter-spacing:1.5px; font-weight:600; margin-top:.25rem; }

/* Testimonials / Diferenciais */
.testimonial-card { background:#f8f9fb; border-radius:1rem; padding:2rem; height:100%; border:1px solid transparent; transition:all .3s; }
.testimonial-card:hover { border-color:rgba(10,179,156,.2); box-shadow:0 10px 30px rgba(0,0,0,.05); }

/* Pricing */
.pricing-section { background:linear-gradient(180deg,#f8f9fb 0%,#fff 100%); }
.pricing-card { background:#fff; border:2px solid #e9ebec; border-radius:1.25rem; padding:2.5rem 2rem; text-align:center; transition:all .4s; height:100%; position:relative; }
.pricing-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.1); }
.pricing-card.featured { border-color:var(--primary); box-shadow:0 10px 40px rgba(64,81,137,.15); transform:scale(1.03); }
.pricing-card.featured:hover { transform:scale(1.03) translateY(-8px); }
.pricing-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; padding:.35rem 1.5rem; border-radius:50px; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.pricing-card h4 { font-weight:800; color:#1a1d21; margin-bottom:.5rem; }
.pricing-price { font-size:3rem; font-weight:900; color:var(--primary); line-height:1; margin:1.5rem 0; }
.pricing-price small { font-size:1rem; font-weight:600; color:#878a99; }
.pricing-price .currency { font-size:1.4rem; vertical-align:super; }
.pricing-features { list-style:none; padding:0; margin:1.5rem 0 2rem; text-align:left; }
.pricing-features li { padding:.5rem 0; color:#495057; font-size:.93rem; display:flex; align-items:center; gap:.75rem; }
.pricing-features li i { font-size:1.1rem; flex-shrink:0; }
.pricing-features li i.ri-check-line { color:var(--secondary); }
.pricing-features li i.ri-close-line { color:#ddd; }
.pricing-features li.disabled { color:#bbb; }
.btn-pricing { padding:.7rem 2rem; border-radius:50px; font-weight:700; width:100%; transition:all .3s; }
.btn-pricing-primary { background:linear-gradient(135deg,var(--primary),var(--secondary)); border:none; color:#fff; }
.btn-pricing-primary:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(64,81,137,.3); color:#fff; }
.btn-pricing-outline { background:transparent; border:2px solid var(--primary); color:var(--primary); }
.btn-pricing-outline:hover { background:var(--primary); color:#fff; }

/* FAQ */
.faq-accordion .accordion-item { border:1px solid #e9ebec; border-radius:1rem !important; margin-bottom:1rem; overflow:hidden; transition:all .3s; }
.faq-accordion .accordion-item:hover { box-shadow:0 5px 15px rgba(0,0,0,.05); }
.faq-accordion .accordion-button { font-weight:600; color:#1a1d21; font-size:1rem; padding:1.25rem 1.5rem; background:#fff; box-shadow:none; }
.faq-accordion .accordion-button:not(.collapsed) { background:rgba(64,81,137,.03); color:var(--primary); }
.faq-accordion .accordion-button::after { background-image:none; content:'\ea6e'; font-family:'remixicon'; font-size:1.2rem; transition:transform .3s; }
.faq-accordion .accordion-button:not(.collapsed)::after { transform:rotate(180deg); }
.faq-accordion .accordion-body { padding:0 1.5rem 1.25rem; color:#878a99; line-height:1.8; }

/* Contact */
.contact-section { background:linear-gradient(180deg,#f8f9fb 0%,#fff 100%); }
.contact-card { background:#fff; border-radius:1rem; padding:2.5rem; box-shadow:0 5px 20px rgba(0,0,0,.05); border:1px solid #e9ebec; }
.contact-info-card { background:linear-gradient(135deg,#0a0e1a,#1a2a45); border-radius:1rem; padding:2.5rem; color:#fff; height:100%; position:relative; overflow:hidden; }
.contact-info-card::before { content:''; position:absolute; top:-50%; right:-50%; width:200%; height:200%; background:radial-gradient(ellipse at 30% 70%,rgba(10,179,156,.15) 0%,transparent 50%); }
.contact-info-item { display:flex; align-items:flex-start; gap:1rem; margin-bottom:2rem; position:relative; z-index:1; }
.contact-info-icon { width:45px; height:45px; border-radius:.75rem; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info-icon i { font-size:1.2rem; color:var(--secondary); }
.contact-info-item h6 { color:#fff; font-weight:700; margin-bottom:.25rem; }
.contact-info-item p { color:rgba(255,255,255,.6); margin:0; font-size:.93rem; }
.form-control-landing { border:1px solid #e9ebec; border-radius:.5rem; padding:.75rem 1rem; font-size:.95rem; transition:all .3s; }
.form-control-landing:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(64,81,137,.1); }
.btn-submit { background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; padding:.75rem 2rem; border-radius:50px; border:none; font-weight:700; transition:all .3s; }
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(64,81,137,.3); color:#fff; }

/* CTA */
.cta-section { background:linear-gradient(135deg,#0a0e1a,#1a2a45); position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:-50%; right:-20%; width:500px; height:500px; background:radial-gradient(circle,rgba(10,179,156,.15),transparent 70%); }
.cta-section::after { content:''; position:absolute; bottom:-40%; left:-10%; width:400px; height:400px; background:radial-gradient(circle,rgba(64,81,137,.15),transparent 70%); }
.cta-section h2 { font-size:2.5rem; font-weight:900; color:#fff; }
.cta-section p { color:rgba(255,255,255,.6); font-size:1.1rem; }
.btn-cta { background:linear-gradient(135deg,var(--secondary),#099b87); color:#fff; padding:.8rem 2.5rem; border-radius:50px; font-weight:700; font-size:1rem; border:none; transition:all .3s; box-shadow:0 4px 15px rgba(10,179,156,.3); }
.btn-cta:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(10,179,156,.5); color:#fff; }

/* Footer */
.footer-landing { background:#0a0e1a; padding:4rem 0 1.5rem; }
.footer-landing h5 { color:#fff; font-weight:700; margin-bottom:1rem; }
.footer-landing p,.footer-landing a { color:rgba(255,255,255,.4); font-size:.9rem; }
.footer-landing a:hover { color:var(--secondary); text-decoration:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding-top:1.5rem; margin-top:2.5rem; }
.footer-social a { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06); color:rgba(255,255,255,.4); display:inline-flex; align-items:center; justify-content:center; margin-right:.5rem; transition:all .3s; }
.footer-social a:hover { background:var(--secondary); color:#fff; transform:translateY(-3px); }

/* Brazil Map Section */
.map-section { background:linear-gradient(135deg,#0a0e1a 0%,#111b2e 50%,#0d1a2d 100%); position:relative; overflow:hidden; }
.map-section::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:60px 60px; }
.map-section .section-title { color:#fff; }
.map-section .section-subtitle { color:rgba(255,255,255,.5); margin-bottom:1.5rem; }
.map-text { position:relative; z-index:1; }
.map-text .lead { color:rgba(255,255,255,.55); font-size:1rem; line-height:1.8; }
.map-years { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 2rem; }
.map-year { background:rgba(10,179,156,.1); border:1px solid rgba(10,179,156,.25); color:var(--secondary); padding:.5rem 1.25rem; border-radius:50px; font-weight:800; font-size:.95rem; transition:all .3s; text-align:center; }
.map-year:hover { background:rgba(10,179,156,.2); transform:translateY(-2px); }
.map-year span { display:block; font-size:.65rem; font-weight:600; color:rgba(10,179,156,.6); text-transform:uppercase; letter-spacing:.5px; }
.map-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.map-info-item { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:.75rem; padding:1.25rem; backdrop-filter:blur(10px); transition:all .3s; }
.map-info-item:hover { background:rgba(255,255,255,.08); border-color:rgba(10,179,156,.3); transform:translateY(-3px); }
.map-info-item h4 { font-size:1.6rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--secondary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:.15rem; }
.map-info-item p { color:rgba(255,255,255,.45); font-size:.75rem; text-transform:uppercase; letter-spacing:1.5px; font-weight:600; margin:0; }
.brasil-map-wrap { position:relative; z-index:1; }
.brasil-map-svg { width:100%; height:auto; filter:drop-shadow(0 0 40px rgba(10,179,156,.1)); }
.brasil-map-svg .map-line { stroke:rgba(10,179,156,.12); stroke-width:.8; }
.brasil-map-svg .dot-pulse { fill:var(--secondary); opacity:0; animation:dotPulse 3s ease-in-out infinite; }
.brasil-map-svg .dot-glow { fill:var(--secondary); opacity:.2; }
.brasil-map-svg .dot-core { fill:var(--secondary); transition:all .3s; }
.brasil-map-svg .state-dot { cursor:default; }
.brasil-map-svg .state-dot:hover .dot-core { fill:#67e8d4; }
.brasil-map-svg .state-dot:hover .dot-glow { opacity:.5; }
.brasil-map-svg .state-label { fill:rgba(255,255,255,.3); font-size:8px; font-weight:700; font-family:'Inter',sans-serif; text-anchor:middle; pointer-events:none; }
.brasil-map-svg .state-dot:hover .state-label { fill:rgba(255,255,255,.9); }
@keyframes dotPulse { 0%,100%{ opacity:0; } 50%{ opacity:.5; } }

/* WhatsApp floating button */
.whatsapp-float { position:fixed; bottom:24px; right:24px; z-index:999; width:60px; height:60px; border-radius:50%; background:#25d366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.4); transition:all .3s; text-decoration:none; }
.whatsapp-float:hover { transform:scale(1.1); box-shadow:0 6px 30px rgba(37,211,102,.6); }
.whatsapp-float i { font-size:1.8rem; color:#fff; }
.whatsapp-float .notif-dot { position:absolute; top:2px; right:2px; width:14px; height:14px; background:#f06548; border:2px solid #fff; border-radius:50%; }

/* Scroll indicator */
.scroll-indicator { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2; text-align:center; animation:fadeSlideUp 2s ease; }
.scroll-indicator a { color:rgba(255,255,255,.4); text-decoration:none; transition:color .3s; }
.scroll-indicator a:hover { color:rgba(255,255,255,.8); }
.scroll-indicator i { font-size:1.5rem; animation:scrollBounce 2s ease-in-out infinite; }
@keyframes scrollBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }

/* Toast de sucesso */
.toast-success { position:fixed; top:20px; right:20px; z-index:9999; background:#0ab39c; color:#fff; padding:1rem 1.5rem; border-radius:.75rem; box-shadow:0 10px 30px rgba(0,0,0,.2); animation:slideInRight .5s ease; font-weight:600; display:flex; align-items:center; gap:.5rem; }
@keyframes slideInRight { from{transform:translateX(100%);opacity:0} to{transform:translateX(0);opacity:1} }

/* Hero mobile mockup alternative */
.hero-mobile-stats { display:none; }
@media(max-width:991px) { .hero-mobile-stats { display:block; margin-top:2rem; } }

/* Animations */
.fade-up { opacity:0; transform:translateY(40px); transition:all .7s cubic-bezier(.4,0,.2,1); }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* Responsive - Tablet */
@media(max-width:991px) {
    .hero-title { font-size:2.5rem; }
    .section-title { font-size:2rem; }
    .step-connector { display:none; }
    .navbar-collapse { background:rgba(10,14,26,.95); backdrop-filter:blur(20px); padding:1rem; border-radius:.75rem; margin-top:.5rem; }
    .pricing-card.featured { transform:none; }
    .pricing-card.featured:hover { transform:translateY(-8px); }
    .brasil-map-wrap { max-width:400px; margin:2.5rem auto 0; }
}

/* Responsive - Mobile */
@media(max-width:576px) {
    .hero-section { min-height:auto; padding:7rem 0 3rem; }
    .hero-title { font-size:1.65rem; line-height:1.3; word-break:break-word; }
    .hero-subtitle { font-size:.95rem; line-height:1.6; max-width:100%; }
    .hero-badge { font-size:.75rem; padding:.3rem .9rem; }
    .hero-buttons .btn { padding:.65rem 1.5rem; font-size:.9rem; width:100%; text-align:center; }
    .hero-buttons { flex-direction:column; }
    .hero-stats-row .col-4 { flex:0 0 100%; max-width:100%; }
    .hero-stat-card { padding:1rem; display:flex; align-items:center; gap:1rem; text-align:left; }
    .hero-stat-card h3 { font-size:1.5rem; margin-bottom:0; }
    .hero-stat-card p { margin:0; }
    section { padding:3.5rem 0; }
    .section-title { font-size:1.5rem; word-break:break-word; }
    .section-subtitle { font-size:.9rem; margin-bottom:2rem; }
    .section-badge { font-size:.7rem; padding:.3rem .9rem; }
    .trust-section .row.g-4.mt-2 { flex-wrap:wrap; }
    .trust-item i { font-size:1.8rem; }
    .trust-item p { font-size:.65rem; }
    .feature-card { padding:1.5rem; }
    .feature-card h5 { font-size:1rem; }
    .feature-card p { font-size:.85rem; }
    .feature-icon { width:48px; height:48px; font-size:1.2rem; }
    .step-number { width:55px; height:55px; font-size:1.2rem; }
    .step-card h5 { font-size:1rem; }
    .step-card p { font-size:.85rem; }
    .stats-section { padding:3rem 0; }
    .stat-counter .counter { font-size:2rem; }
    .stat-counter p { font-size:.7rem; letter-spacing:1px; }
    .benefit-item { padding:.75rem; flex-direction:column; text-align:center; align-items:center; }
    .benefit-icon { width:44px; height:44px; font-size:1.1rem; }
    .benefit-item h6 { font-size:.95rem; }
    .benefit-item p { font-size:.85rem; }
    .testimonial-card { padding:1.5rem; }
    .pricing-card { padding:1.75rem 1.25rem; }
    .pricing-card h4 { font-size:1.1rem; }
    .pricing-price { font-size:2rem; margin:1rem 0; }
    .pricing-features li { font-size:.85rem; padding:.4rem 0; }
    .btn-pricing { padding:.6rem 1.5rem; font-size:.9rem; }
    .faq-accordion .accordion-button { font-size:.9rem; padding:1rem 1.25rem; }
    .faq-accordion .accordion-body { font-size:.85rem; padding:0 1.25rem 1rem; line-height:1.7; }
    .contact-card { padding:1.5rem; }
    .contact-info-card { padding:1.5rem; }
    .contact-info-card h4 { font-size:1.1rem; }
    .contact-info-item h6 { font-size:.9rem; }
    .contact-info-item p { font-size:.85rem; }
    .form-control-landing { font-size:.9rem; padding:.6rem .8rem; }
    .cta-section h2 { font-size:1.5rem; word-break:break-word; }
    .cta-section p { font-size:.9rem; }
    .btn-cta { padding:.7rem 1.8rem; font-size:.9rem; width:100%; }
    .footer-landing { padding:2.5rem 0 1rem; }
    .footer-landing h5 { font-size:1rem; }
    .footer-landing p, .footer-landing a { font-size:.82rem; }
    .footer-bottom { flex-direction:column; gap:.75rem; text-align:center; }
    .footer-social { text-align:center; }
    .map-section { padding:3rem 0; }
    .map-info-grid { gap:.75rem; }
    .map-info-item { padding:1rem; }
    .map-info-item h4 { font-size:1.2rem; }
    .map-info-item p { font-size:.65rem; }
    .map-years { justify-content:center; }
    .map-year { padding:.4rem 1rem; font-size:.85rem; }
    .brasil-map-wrap { max-width:280px; margin:2rem auto 0; }
    .container { padding-left:1rem; padding-right:1rem; }
    h1, h2, h3, h4, h5, h6, p { overflow-wrap:break-word; word-wrap:break-word; }
    .whatsapp-float { width:50px; height:50px; bottom:16px; right:16px; }
    .whatsapp-float i { font-size:1.4rem; }
}
