:root{
  --bg:#07090d;
  --bg-soft:#0d1118;
  --panel:#111722;
  --panel-2:#151d2a;
  --text:#f5f7fb;
  --muted:#9ba7b8;
  --line:rgba(255,255,255,.09);
  --accent:#0f8fff;
  --accent-2:#00c2ff;
  --success:#41d17a;
  --shadow:0 24px 80px rgba(0,0,0,.35);
  --radius:24px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 75% 8%,rgba(15,143,255,.10),transparent 26%),
    var(--bg);
  color:var(--text);
  line-height:1.55;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin:0 auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:999;padding:10px 14px;background:#fff;color:#000;border-radius:8px}

.site-header{
  position:sticky;top:0;z-index:70;
  backdrop-filter:blur(18px);
  background:rgba(7,9,13,.82);
  border-bottom:1px solid var(--line)
}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:block}
.brand img{width:136px;height:50px;object-fit:cover;object-position:center;background:#000}
.desktop-nav{display:flex;gap:25px;color:#c8d0dc;font-size:14px}
.desktop-nav a{position:relative}
.desktop-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:.2s
}
.desktop-nav a:hover{color:#fff}
.desktop-nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:10px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 20px;border-radius:14px;
  font-weight:800;letter-spacing:.01em;border:1px solid transparent;
  transition:.2s ease;text-align:center
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;box-shadow:0 12px 30px rgba(15,143,255,.28)
}
.btn-primary:hover{box-shadow:0 16px 34px rgba(15,143,255,.36)}
.btn-ghost{border-color:var(--line);background:rgba(255,255,255,.03);color:#e6edf7}
.btn-small{min-height:42px;padding:0 16px;font-size:13px}
.btn-large{min-height:56px;padding:0 26px;font-size:15px}

.menu-toggle{
  display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:#0e141d;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px
}
.menu-toggle span{width:18px;height:2px;background:#fff;border-radius:2px;transition:.2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-menu{
  display:none;position:absolute;left:0;right:0;top:100%;
  background:rgba(7,9,13,.98);border-bottom:1px solid var(--line);
  padding:12px 20px 20px
}
.mobile-menu.open{display:grid;gap:4px}
.mobile-menu>a:not(.btn){padding:14px 6px;border-bottom:1px solid rgba(255,255,255,.06);color:#d9e1ec}
.mobile-menu-wa{margin-top:10px}

.hero{position:relative;overflow:hidden;padding:86px 0 76px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.hero-copy{position:relative;z-index:2}
.eyebrow,.section-kicker{
  display:inline-block;color:#76c9ff;font-size:12px;letter-spacing:.14em;font-weight:900;margin-bottom:18px
}
.hero h1{
  font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em;
  max-width:780px;margin:0 0 24px
}
.hero-sub{font-size:19px;color:#b4bfce;max-width:650px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#8fa0b4;font-size:13px}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25}
.hero-glow-a{width:380px;height:380px;background:#0877ff;right:4%;top:4%}
.hero-glow-b{width:260px;height:260px;background:#00c7ff;left:20%;bottom:-15%}

.hero-visual{position:relative;min-height:580px;display:grid;place-items:center}
.phone{
  width:320px;padding:14px;border-radius:42px;background:linear-gradient(180deg,#1a2230,#090d14);
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);position:relative;z-index:3
}
.phone-top{height:28px;display:flex;gap:5px;align-items:center;justify-content:center}
.phone-top span{width:6px;height:6px;border-radius:50%;background:#343e4d}
.screen{
  min-height:500px;border-radius:30px;padding:18px;background:linear-gradient(180deg,#0e141e,#0b1018);
  border:1px solid rgba(255,255,255,.05)
}
.screen-head,.dash-top{display:flex;justify-content:space-between;align-items:center}
.screen-head small,.dash-top small{display:block;color:#6f8095;font-size:10px;letter-spacing:.12em}
.screen-head strong,.dash-top strong{display:block;font-size:17px;margin-top:2px}
.status{
  color:#6ff1a0;background:rgba(65,209,122,.12);border:1px solid rgba(65,209,122,.2);
  border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800
}
.map-card,.dash-map{
  position:relative;overflow:hidden;margin-top:18px;border-radius:22px;background:#0a1119;
  border:1px solid rgba(255,255,255,.06)
}
.map-card{height:290px}
.map-grid{
  position:absolute;inset:0;opacity:.35;
  background-image:linear-gradient(rgba(52,92,128,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(52,92,128,.15) 1px,transparent 1px);
  background-size:36px 36px
}
.road{position:absolute;height:12px;border-radius:999px;background:rgba(121,146,173,.18);transform-origin:left center}
.road-a{width:290px;left:15px;top:120px;transform:rotate(20deg)}
.road-b{width:270px;left:50px;top:215px;transform:rotate(-28deg)}
.marker{position:absolute;left:48%;top:48%;width:28px;height:28px}
.pin{position:absolute;inset:7px;border-radius:50%;background:#31a9ff;box-shadow:0 0 0 5px rgba(49,169,255,.18)}
.pulse{position:absolute;inset:-8px;border:1px solid rgba(49,169,255,.35);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.location-card{
  position:absolute;left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:16px;
  background:rgba(9,14,22,.86);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)
}
.location-card small{display:block;color:#6f8095}
.location-card strong{display:block;margin-top:1px}
.location-card span{color:#9bb0c8;font-size:11px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.quick{padding:12px 8px;border-radius:14px;background:#111924;border:1px solid rgba(255,255,255,.05);text-align:center;color:#9fb0c3}
.quick-icon{display:block;color:#6ec7ff;font-size:18px;margin-bottom:4px}
.quick small{font-size:10px}
.floating-card{
  position:absolute;z-index:4;display:flex;align-items:center;gap:10px;background:rgba(15,21,31,.86);
  backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);
  border-radius:16px;padding:12px 14px
}
.floating-card small{display:block;color:#72849a;font-size:10px}
.floating-card strong{display:block;font-size:12px}
.fc-top{right:0;top:110px}.fc-bottom{left:0;bottom:120px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(65,209,122,.12)}

.section{padding:82px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.section-head>div{max-width:720px}
.section-head>p{max-width:420px;color:#99a7b8;margin:0}
.section-head h2,.product-copy h2,.split-message h2,.final-cta h2{
  font-size:clamp(34px,4.4vw,58px);line-height:1.03;letter-spacing:-.045em;margin:0
}
.centered-head{justify-content:center;text-align:center}

.emotional-section{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}
.split-message{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}
.split-copy p{color:#a6b2c1;font-size:18px;margin:0 0 14px}
.split-copy .strong-copy{color:#e2e8f0;font-weight:700}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feature-card{
  padding:26px;border-radius:22px;background:linear-gradient(180deg,#111721,#0c1119);
  border:1px solid var(--line);min-height:220px
}
.feature-icon{font-size:28px;margin-bottom:30px}
.feature-card h3{font-size:19px;margin:0 0 10px}
.feature-card p{margin:0;color:#8f9bad}

.product-section{background:linear-gradient(180deg,#09101a,#07090d)}
.product-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.product-copy p{color:#a6b3c2;font-size:18px}
.check-list{list-style:none;padding:0;margin:26px 0 30px}
.check-list li{margin:10px 0;color:#c4ced9}
.check-list li::before{content:"✓";color:#66c7ff;font-weight:900;margin-right:10px}
.dashboard-mock{
  padding:22px;border-radius:26px;background:#101723;border:1px solid var(--line);box-shadow:var(--shadow)
}
.mock-label{color:#66c7ff;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:12px}
.dash-map{height:310px}
.vehicle-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:#2eafff;box-shadow:0 0 0 8px rgba(46,175,255,.12)}
.v1{left:28%;top:38%}.v2{left:62%;top:54%}.v3{left:75%;top:24%}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.dash-stats>div{padding:14px;border-radius:14px;background:#0b1119}
.dash-stats small{display:block;color:#728399}
.dash-stats strong{font-size:22px}
.mock-note{color:#718095;font-size:10px;margin:13px 2px 0}

.audience-section{background:radial-gradient(circle at 50% 10%,rgba(15,143,255,.12),transparent 34%)}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.audience-card{
  padding:28px 24px;border:1px solid var(--line);background:#0d131d;border-radius:22px;min-height:230px
}
.audience-icon{display:block;font-size:28px;margin-bottom:28px}
.audience-card h3{font-size:19px;margin:0 0 10px}
.audience-card p{margin:0;color:#8f9bad}
.audience-cta{text-align:center;margin-top:28px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{padding:26px;border-top:1px solid #2a3646;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.step-number{display:block;color:#55b9ff;font-size:12px;letter-spacing:.14em;font-weight:900;margin-bottom:30px}
.step h3{font-size:20px;margin:0 0 8px}
.step p{margin:0;color:#8f9bad}

.trust-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-intro{max-width:770px;text-align:center;margin:0 auto 32px;color:#9daabc;font-size:18px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-grid article{padding:25px;border:1px solid var(--line);border-radius:20px;background:#0c121a}
.trust-grid article>span{font-size:11px;color:#56b9ff;font-weight:900;letter-spacing:.14em}
.trust-grid h3{margin:26px 0 8px;font-size:20px}
.trust-grid p{margin:0;color:#8e9bad}

.faq-list{display:grid;gap:10px}
details{border:1px solid var(--line);border-radius:18px;background:#0d131c;padding:0 20px}
summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:800}
summary::-webkit-details-marker{display:none}
details p{color:#93a1b2;margin:0;padding:0 0 20px}

.final-cta{
  padding:90px 0;background:radial-gradient(circle at 50% 0,rgba(15,143,255,.22),transparent 36%),linear-gradient(180deg,#0b111a,#07090d)
}
.final-cta-inner{text-align:center;max-width:850px}
.final-cta p{color:#9fabb9;font-size:18px;margin:18px 0 28px}

.site-footer{padding:44px 0 22px;border-top:1px solid var(--line);background:#06080b}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-brand img{width:126px;height:48px;object-fit:cover;background:#000}
.footer-brand p{color:#79889b;margin-top:10px}
.footer-grid strong{display:block;margin-bottom:12px}
.footer-grid a{display:block;color:#8d9caf;margin:8px 0}
.footer-grid a:hover{color:#fff}
.footer-bottom{
  margin-top:30px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:30px;color:#68778a;font-size:11px
}

.floating-wa{
  position:fixed;right:18px;bottom:18px;z-index:60;
  display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;
  background:#1bbf65;color:#fff;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.38)
}
.wa-symbol{font-size:16px}

@media(max-width:980px){
  .desktop-nav{display:none}
  .menu-toggle{display:flex}
  .hero{padding-top:64px}
  .hero-grid,.product-grid,.split-message{grid-template-columns:1fr}
  .hero-visual{min-height:520px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .audience-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .section-head{align-items:start;flex-direction:column}
}

@media(max-width:640px){
  html{scroll-padding-top:70px}
  .container{width:min(calc(100% - 28px),var(--container))}
  .header-inner{height:68px}
  .brand img{width:126px;height:46px}
  .header-wa{min-height:40px;padding:0 12px;font-size:12px}
  .menu-toggle{width:40px;height:40px}
  .hero{padding:50px 0 42px}
  .hero h1{font-size:44px;line-height:1.02}
  .hero-sub{font-size:17px;line-height:1.55}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .trust-row{display:grid;gap:8px;margin-top:24px}
  .hero-visual{min-height:470px;margin-top:0}
  .phone{width:min(86vw,300px)}
  .screen{min-height:450px}
  .map-card{height:250px}
  .fc-top{right:0;top:85px}
  .fc-bottom{left:0;bottom:88px}
  .section{padding:60px 0}
  .section-head{margin-bottom:24px}
  .section-head h2,.product-copy h2,.split-message h2,.final-cta h2{font-size:36px}
  .split-message{gap:22px}
  .split-copy p{font-size:16px}
  .feature-grid{grid-template-columns:1fr 1fr;gap:10px}
  .feature-card{padding:18px 16px;min-height:185px}
  .feature-icon{font-size:23px;margin-bottom:18px}
  .feature-card h3{font-size:16px;line-height:1.2}
  .feature-card p{font-size:13px;line-height:1.45}
  .product-grid{gap:34px}
  .dashboard-mock{padding:16px}
  .dash-map{height:230px}
  .audience-grid{grid-template-columns:1fr 1fr;gap:10px}
  .audience-card{padding:18px 16px;min-height:190px}
  .audience-icon{font-size:24px;margin-bottom:18px}
  .audience-card h3{font-size:16px;line-height:1.2}
  .audience-card p{font-size:13px;line-height:1.45}
  .steps{grid-template-columns:1fr;gap:0}
  .step{padding:20px 4px 22px}
  .step-number{margin-bottom:10px}
  .step h3{font-size:18px}
  .step p{font-size:14px}
  .trust-grid{grid-template-columns:1fr;gap:10px}
  .trust-grid article{padding:20px}
  .trust-grid h3{margin-top:14px}
  details{padding:0 16px}
  summary{padding:17px 0;font-size:15px}
  .final-cta{padding:66px 0}
  .site-footer{padding-top:34px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-brand img{width:112px;height:42px}
  .footer-bottom{flex-direction:column;gap:12px}
  .floating-wa{right:14px;bottom:14px;padding:12px 15px}
  .floating-wa strong{display:inline}
}

@media(max-width:380px){
  .header-wa{display:none}
  .feature-grid,.audience-grid{grid-template-columns:1fr}
  .feature-card,.audience-card{min-height:auto}
}

.legal-page{padding:80px 0;max-width:850px}
.legal-page h1{font-size:clamp(42px,6vw,70px);letter-spacing:-.05em;margin:0 0 24px}
.legal-page p{color:#a7b3c2;font-size:18px;line-height:1.75}
.legal-page a{color:#68c6ff}

/* FIX V2.0.1 — menu mobile nunca aparece no desktop */
.mobile-menu {
  display: none !important;
}

@media (max-width: 980px) {
  .mobile-menu.open {
    display: grid !important;
  }
}


/* =========================================================
   MXONE LANDING V2.0.2 — ACABAMENTO MOBILE
   ========================================================= */

/* Transição do botão flutuante */
.floating-wa {
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

/* Quando o rodapé entra na tela, evita sobreposição */
.floating-wa.footer-visible {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
}

@media (max-width: 980px) {

  /* Menu mobile com fundo totalmente sólido */
  .mobile-menu {
    background: #07090d !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.42);
  }

}

@media (max-width: 640px) {

  /* Hero aproximadamente 9% menor no celular */
  .hero h1 {
    font-size: 40px;
    line-height: 1.04;
  }

  /* Rodapé mais compacto */
  .site-footer {
    padding-top: 28px;
    padding-bottom: 18px;
  }

  .footer-grid {
    gap: 18px;
  }

  .footer-brand p {
    margin-top: 7px;
    margin-bottom: 0;
  }

  .footer-grid strong {
    margin-bottom: 8px;
  }

  .footer-grid a {
    margin: 6px 0;
  }

  .footer-bottom {
    margin-top: 22px;
    padding-top: 14px;
    gap: 9px;
  }

}


/* =========================================================
   MXONE LANDING V2.0.3 — WHATSAPP x RODAPÉ
   Oculta o botão flutuante antes de sobrepor o footer.
   ========================================================= */

.floating-wa.footer-visible {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(18px) !important;
}


/* MXONE LANDING V2.0.4 — CANAIS OFICIAIS */
.header-canais{
  display:none;
}

@media(max-width:980px){
  .header-canais{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:58px;
    height:40px;
    padding:4px 8px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    color:#fff;
    font-size:11px;
    line-height:1.05;
    font-weight:700;
    text-align:center;
    letter-spacing:.01em;
    background:rgba(255,255,255,.04);
  }

  .header-canais:hover{
    background:rgba(255,255,255,.08);
  }
}

/* V2.0.4 — ajuste final logo mobile */
@media(max-width:640px){
  .brand img{
    width:136px;
    height:50px;
  }
}


/* =========================================================
   MXONE — LOGO OFICIAL PNG
   Única alteração visual após homologação V2.0.4
   ========================================================= */

.brand img{
  width:160px;
  height:auto;
  object-fit:contain;
  background:transparent;
}

@media(max-width:640px){
  .brand img{
    width:150px;
    height:auto;
    background:transparent;
  }
}


/* FIX MOBILE — preserva logo oficial completa + selo BR */
@media(max-width:640px){
  .brand{
    flex-shrink:0;
    overflow:visible;
  }

  .brand img{
    width:145px;
    height:auto;
    max-width:none;
    object-fit:contain;
    padding-right:6px;
    box-sizing:border-box;
    background:transparent;
  }
}


/* FIX MOBILE — preserva logo oficial completa + selo BR */
@media(max-width:640px){
  .brand{
    flex-shrink:0;
    overflow:visible;
  }

  .brand img{
    width:145px;
    height:auto;
    max-width:none;
    object-fit:contain;
    padding-right:6px;
    box-sizing:border-box;
    background:transparent;
  }
}


/* =========================================================
   MXONE — AJUSTE FINAL MOBILE
   1. Preserva integralmente logo + selo BR
   2. Menu mobile mais opaco e fosco
   ========================================================= */

@media(max-width:640px){

  /* Reserva largura suficiente para a logo oficial completa */
  .brand{
    width:148px;
    min-width:148px;
    flex:0 0 148px;
    overflow:visible !important;
  }

  .brand img{
    display:block;
    width:140px !important;
    max-width:none !important;
    height:auto !important;
    padding:0 8px 0 0 !important;
    margin:0 !important;
    object-fit:contain;
    object-position:left center;
    box-sizing:content-box;
    overflow:visible !important;
    background:transparent;
  }

  /* Menu aberto: fundo mais sólido + efeito fosco */
  .mobile-menu{
    background:rgba(5,8,12,.96) !important;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    box-shadow:0 18px 40px rgba(0,0,0,.55);
  }

}

